{
  "@context": "https://spdx.org/rdf/3.0.1/spdx-context.jsonld",
  "@graph": [
    {
      "@id": "_:creationInfo_1",
      "type": "CreationInfo",
      "specVersion": "3.0.1",
      "createdBy": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd2"
      ],
      "createdUsing": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/additionalToolSPDXRef-gnrtd3"
      ],
      "created": "2026-10-02T06:03:36Z"
    },
    {
      "@id": "_:creationInfo_0",
      "type": "CreationInfo",
      "specVersion": "3.0.1",
      "createdBy": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd0"
      ],
      "createdUsing": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/additionalToolSPDXRef-gnrtd1"
      ],
      "created": "2026-10-02T06:03:36Z"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10122",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd518"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10113",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9990",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd518"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9974",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11636",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd518"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11621",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10036",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd518"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10026",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11616",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd518"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11610",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9983",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd518"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9979",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10087",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd518"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10082",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10020",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd518"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10013",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9993",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd518"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9972",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10070",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd518"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10064",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9986",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd518"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9976",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9984",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd518"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9976",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9995",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd518"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9972",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10068",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd518"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10064",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10018",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd518"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10013",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10124",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd518"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10113",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10089",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd518"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10082",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10024",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd518"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10008",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10034",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd518"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10026",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11618",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd518"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11610",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9988",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd518"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9974",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10005",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd518"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9999",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9981",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd518"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9979",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10003",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd518"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9999",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10022",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd518"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10008",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11634",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd518"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11621",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11628",
      "type": "LifecycleScopedRelationship",
      "relationshipType": "dependsOn",
      "scope": "build",
      "completeness": "noAssertion",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10064"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11621",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11629",
      "type": "LifecycleScopedRelationship",
      "relationshipType": "dependsOn",
      "scope": "build",
      "completeness": "noAssertion",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10013"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11621",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11626",
      "type": "LifecycleScopedRelationship",
      "relationshipType": "dependsOn",
      "scope": "build",
      "completeness": "noAssertion",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9976"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11621",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11632",
      "type": "LifecycleScopedRelationship",
      "relationshipType": "dependsOn",
      "scope": "build",
      "completeness": "noAssertion",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9979"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11621",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11633",
      "type": "LifecycleScopedRelationship",
      "relationshipType": "dependsOn",
      "scope": "build",
      "completeness": "noAssertion",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9974"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11621",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11631",
      "type": "LifecycleScopedRelationship",
      "relationshipType": "dependsOn",
      "scope": "build",
      "completeness": "noAssertion",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9972"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11621",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11623",
      "type": "LifecycleScopedRelationship",
      "relationshipType": "dependsOn",
      "scope": "build",
      "completeness": "noAssertion",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10082"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11621",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11630",
      "type": "LifecycleScopedRelationship",
      "relationshipType": "dependsOn",
      "scope": "build",
      "completeness": "noAssertion",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10113"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11621",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11627",
      "type": "LifecycleScopedRelationship",
      "relationshipType": "dependsOn",
      "scope": "build",
      "completeness": "noAssertion",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9999"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11621",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11625",
      "type": "LifecycleScopedRelationship",
      "relationshipType": "dependsOn",
      "scope": "build",
      "completeness": "noAssertion",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11610"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11621",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11624",
      "type": "LifecycleScopedRelationship",
      "relationshipType": "dependsOn",
      "scope": "build",
      "completeness": "noAssertion",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10026"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11621",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11622",
      "type": "LifecycleScopedRelationship",
      "relationshipType": "dependsOn",
      "scope": "build",
      "completeness": "noAssertion",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10008"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11621",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd518",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "BSD-3-Clause",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10088",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10123",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10023",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10035",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11635",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10004",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9989",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9994",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9985",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10069",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9982",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11617",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10019",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10064",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10069",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Haskell transformers library",
      "software_packageVersion": "0:0.6.1.1-3.oe2609",
      "software_homePage": "https://hackage.haskell.org/package/transformers",
      "description": "This package provides the Haskell transformers library.",
      "name": "ghc-transformers",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/990c95f76c332921344ade71cf5efd2de15c1dfb334722c45587e48547e2e1d6-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/ghc-transformers@0.6.1.1-3.oe2609?arch=x86_64&epoch=0&upstream=ghc-9.10.1-3.oe2609.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9974",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9989",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Haskell ghc-internal library",
      "software_packageVersion": "0:9.1001.0-3.oe2609",
      "software_homePage": "https://hackage.haskell.org/package/ghc-internal",
      "description": "This package provides the Haskell ghc-internal library.",
      "name": "ghc-ghc-internal",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/990c95f76c332921344ade71cf5efd2de15c1dfb334722c45587e48547e2e1d6-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/ghc-ghc-internal@9.1001.0-3.oe2609?arch=x86_64&epoch=0&upstream=ghc-9.10.1-3.oe2609.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10113",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10123",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Haskell bytestring library",
      "software_packageVersion": "0:0.12.1.0-3.oe2609",
      "software_homePage": "https://hackage.haskell.org/package/bytestring",
      "description": "This package provides the Haskell bytestring library.",
      "name": "ghc-bytestring",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/990c95f76c332921344ade71cf5efd2de15c1dfb334722c45587e48547e2e1d6-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/ghc-bytestring@0.12.1.0-3.oe2609?arch=x86_64&epoch=0&upstream=ghc-9.10.1-3.oe2609.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10013",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10019",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Haskell deepseq library",
      "software_packageVersion": "0:1.5.0.0-3.oe2609",
      "software_homePage": "https://hackage.haskell.org/package/deepseq",
      "description": "This package provides the Haskell deepseq library.",
      "name": "ghc-deepseq",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/990c95f76c332921344ade71cf5efd2de15c1dfb334722c45587e48547e2e1d6-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/ghc-deepseq@1.5.0.0-3.oe2609?arch=x86_64&epoch=0&upstream=ghc-9.10.1-3.oe2609.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9999",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10004",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Haskell array library",
      "software_packageVersion": "0:0.5.7.0-3.oe2609",
      "software_homePage": "https://hackage.haskell.org/package/array",
      "description": "This package provides the Haskell array library.",
      "name": "ghc-array",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/990c95f76c332921344ade71cf5efd2de15c1dfb334722c45587e48547e2e1d6-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/ghc-array@0.5.7.0-3.oe2609?arch=x86_64&epoch=0&upstream=ghc-9.10.1-3.oe2609.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9976",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9985",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Haskell base library",
      "software_packageVersion": "0:4.20.0.0-3.oe2609",
      "software_homePage": "https://hackage.haskell.org/package/base",
      "description": "This package provides the Haskell base library.",
      "name": "ghc-base",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/990c95f76c332921344ade71cf5efd2de15c1dfb334722c45587e48547e2e1d6-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/ghc-base@4.20.0.0-3.oe2609?arch=x86_64&epoch=0&upstream=ghc-9.10.1-3.oe2609.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10026",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10035",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Haskell template-haskell library",
      "software_packageVersion": "0:2.22.0.0-3.oe2609",
      "software_homePage": "https://hackage.haskell.org/package/template-haskell",
      "description": "This package provides the Haskell template-haskell library.",
      "name": "ghc-template-haskell",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/990c95f76c332921344ade71cf5efd2de15c1dfb334722c45587e48547e2e1d6-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/ghc-template-haskell@2.22.0.0-3.oe2609?arch=x86_64&epoch=0&upstream=ghc-9.10.1-3.oe2609.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11621",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11635",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Pseudo-random number generation",
      "software_packageVersion": "0:1.2.1.2-1.oe2609",
      "software_homePage": "https://hackage.haskell.org/package/random",
      "description": "This package provides basic pseudo-random number generation, including the\nability to split random number generators.\n\n== \"System.Random\": pure pseudo-random number interface\n\nIn pure code, use 'System.Random.uniform' and 'System.Random.uniformR' from\n\"System.Random\" to generate pseudo-random numbers with a pure pseudo-random\nnumber generator like 'System.Random.StdGen'.\n\nAs an example, here is how you can simulate rolls of a six-sided die using\n'System.Random.uniformR':\n\n>>> let roll = uniformR (1, 6) :: RandomGen g => g -> (Word, g) >>> let rolls =\nunfoldr (Just . roll) :: RandomGen g => g -> [Word] >>> let pureGen = mkStdGen\n42 >>> take 10 (rolls pureGen) :: [Word] [1,1,3,2,4,5,3,4,6,2]\n\nSee \"System.Random\" for more details.\n\n== \"System.Random.Stateful\": monadic pseudo-random number interface\n\nIn monadic code, use 'System.Random.Stateful.uniformM' and\n'System.Random.Stateful.uniformRM' from \"System.Random.Stateful\" to generate\npseudo-random numbers with a monadic pseudo-random number generator, or using a\nmonadic adapter.\n\nAs an example, here is how you can simulate rolls of a six-sided die using\n'System.Random.Stateful.uniformRM':\n\n>>> let rollM = uniformRM (1, 6) :: StatefulGen g m => g -> m Word >>> let\npureGen = mkStdGen 42 >>> runStateGen_ pureGen (replicateM 10 . rollM) ::\n[Word] [1,1,3,2,4,5,3,4,6,2]\n\nThe monadic adapter 'System.Random.Stateful.runStateGen_' is used here to lift\nthe pure pseudo-random number generator 'pureGen' into the\n'System.Random.Stateful.StatefulGen' context.\n\nThe monadic interface can also be used with existing monadic pseudo-random\nnumber generators. In this example, we use the one provided in the\n<https://hackage.haskell.org/package/mwc-random mwc-random> package:\n\n>>> import System.Random.MWC as MWC >>> let rollM = uniformRM (1, 6) ::\nStatefulGen g m => g -> m Word >>> monadicGen <- MWC.create >>> replicateM 10\n(rollM monadicGen) :: IO [Word] [2,3,6,6,4,4,3,1,5,4]\n\nSee \"System.Random.Stateful\" for more details.",
      "name": "ghc-random",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/990c95f76c332921344ade71cf5efd2de15c1dfb334722c45587e48547e2e1d6-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/ghc-random@1.2.1.2-1.oe2609?arch=x86_64&epoch=0&upstream=ghc-random-1.2.1.2-1.oe2609.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10082",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10088",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Haskell mtl library",
      "software_packageVersion": "0:2.3.1-3.oe2609",
      "software_homePage": "https://hackage.haskell.org/package/mtl",
      "description": "This package provides the Haskell mtl library.",
      "name": "ghc-mtl",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/990c95f76c332921344ade71cf5efd2de15c1dfb334722c45587e48547e2e1d6-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/ghc-mtl@2.3.1-3.oe2609?arch=x86_64&epoch=0&upstream=ghc-9.10.1-3.oe2609.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9972",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9994",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Haskell ghc-boot-th library",
      "software_packageVersion": "0:9.10.1-3.oe2609",
      "software_homePage": "https://hackage.haskell.org/package/ghc-boot-th",
      "description": "This package provides the Haskell ghc-boot-th library.",
      "name": "ghc-ghc-boot-th",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/990c95f76c332921344ade71cf5efd2de15c1dfb334722c45587e48547e2e1d6-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/ghc-ghc-boot-th@9.10.1-3.oe2609?arch=x86_64&epoch=0&upstream=ghc-9.10.1-3.oe2609.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11610",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd11617",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Fast Splittable PRNG",
      "software_packageVersion": "0:0.1.3.1-1.oe2609",
      "software_homePage": "https://hackage.haskell.org/package/splitmix",
      "description": "Pure Haskell implementation of SplitMix described in\n\nGuy L. Steele, Jr., Doug Lea, and Christine H. Flood. 2014. Fast splittable\npseudorandom number generators. In Proceedings of the 2014 ACM International\nConference on Object Oriented Programming Systems Languages & Applications\n(OOPSLA '14). ACM, New York, NY, USA, 453-472. DOI:\n<https://doi.org/10.1145/2660193.2660195>\n\nThe paper describes a new algorithm /SplitMix/ for /splittable/ pseudorandom\nnumber generator that is quite fast: 9 64 bit arithmetic/logical operations per\n64 bits generated.\n\n/SplitMix/ is tested with two standard statistical test suites (DieHarder and\nTestU01, this implementation only using the former) and it appears to be\nadequate for \"everyday\" use, such as Monte Carlo algorithms and randomized data\nstructures where speed is important.\n\nIn particular, it __should not be used for cryptographic or security\napplications__, because generated sequences of pseudorandom values are too\npredictable (the mixing functions are easily inverted, and two successive\noutputs suffice to reconstruct the internal state).",
      "name": "ghc-splitmix",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/990c95f76c332921344ade71cf5efd2de15c1dfb334722c45587e48547e2e1d6-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/ghc-splitmix@0.1.3.1-1.oe2609?arch=x86_64&epoch=0&upstream=ghc-splitmix-0.1.3.1-1.oe2609.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9979",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd9982",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Haskell ghc-bignum library",
      "software_packageVersion": "0:1.3-3.oe2609",
      "software_homePage": "https://hackage.haskell.org/package/ghc-bignum",
      "description": "This package provides the Haskell ghc-bignum library.",
      "name": "ghc-ghc-bignum",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/990c95f76c332921344ade71cf5efd2de15c1dfb334722c45587e48547e2e1d6-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/ghc-ghc-bignum@1.3-3.oe2609?arch=x86_64&epoch=0&upstream=ghc-9.10.1-3.oe2609.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10008",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/SPDXRef-gnrtd10023",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Haskell pretty library",
      "software_packageVersion": "0:1.1.3.6-3.oe2609",
      "software_homePage": "https://hackage.haskell.org/package/pretty",
      "description": "This package provides the Haskell pretty library.",
      "name": "ghc-pretty",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/990c95f76c332921344ade71cf5efd2de15c1dfb334722c45587e48547e2e1d6-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/ghc-pretty@1.1.3.6-3.oe2609?arch=x86_64&epoch=0&upstream=ghc-9.10.1-3.oe2609.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/additionalToolSPDXRef-gnrtd1",
      "type": "Tool",
      "name": "syft-[not provided]",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/x86_64-85092eb9-238c-4041-8231-2c02fc366ef2-specv3/additionalToolSPDXRef-gnrtd3",
      "type": "Tool",
      "name": "syft-[not provided]",
      "creationInfo": "_:creationInfo_1"
    }
  ]
}