{
  "bomFormat": "CycloneDX",
  "specVersion": "1.7",
  "serialNumber": "urn:uuid:9983454d-810a-4250-9bae-34d25f7e6fb4",
  "version": 1,
  "metadata": {
    "timestamp": "2026-10-21T18:11:10Z",
    "tools": {
      "components": [
        {
          "group": "@cyclonedx",
          "name": "cdxgen",
          "version": "12.8.7",
          "purl": "pkg:npm/%40cyclonedx/cdxgen@12.8.7",
          "type": "application",
          "bom-ref": "pkg:npm/@cyclonedx/cdxgen@12.8.7",
          "publisher": "OWASP Foundation",
          "authors": [
            {
              "name": "OWASP Foundation"
            }
          ]
        }
      ]
    },
    "authors": [
      {
        "name": "OWASP Foundation"
      }
    ],
    "lifecycles": [
      {
        "phase": "pre-build"
      }
    ],
    "component": {
      "name": "detergent",
      "group": "",
      "version": "9.4.5",
      "description": "Extract, clean, encode text and fix English style",
      "purl": "pkg:npm/detergent@9.4.5",
      "bom-ref": "pkg:npm/detergent@9.4.5",
      "author": "Roy Revelt <roy@codsen.com> (https://codsen.com)",
      "properties": [
        {
          "name": "cdx:npm:scripts",
          "value": "build, coverage, dev, devtest, dts, examples, lect, lect:check, lint, lint:fix, perf, prep, prettier, prettier:format, pretest, test, typecheck, unit"
        },
        {
          "name": "cdx:npm:buildScripts",
          "value": "build"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "type": "application",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "externalReferences": [
        {
          "type": "website",
          "url": "https://codsen.com/os/detergent"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/codsen/codsen.git"
        }
      ]
    },
    "properties": [
      {
        "name": "cdx:bom:componentTypes",
        "value": "npm"
      },
      {
        "name": "cdx:bom:componentSrcFiles",
        "value": "package-lock.json"
      }
    ]
  },
  "components": [
    {
      "group": "",
      "name": "all-named-html-entities",
      "version": "3.2.1",
      "scope": "required",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "8d162a0eef9f62fb129e2bf51b64a657a217fbaefda4d3709e5d2f031d7b57810fabd58b8ed2eb4f98f05045571a2841c20573fc6528ef292f3a794c5a2a2689"
        }
      ],
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/all-named-html-entities@3.2.1",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/all-named-html-entities/-/all-named-html-entities-3.2.1.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/all-named-html-entities@3.2.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/all-named-html-entities/-/all-named-html-entities-3.2.1.tgz"
        },
        {
          "name": "ImportedModules",
          "value": "all-named-html-entities,entStartsWith,all-named-html-entities/entStartsWith"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/detergent.esm.js",
            "line": 10
          },
          {
            "location": "src/processCharacter.ts",
            "line": 1
          }
        ]
      }
    },
    {
      "group": "",
      "name": "ansi-regex",
      "version": "6.4.0",
      "scope": "required",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "2b34d5936b425801ed62bbefbda3fc6c9289ab6a558a784b70611076d2c860f6e634637261ef10c0d693518429d89effbc8b142ade500aa01f5246321bd0e43b"
        }
      ],
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/ansi-regex@6.4.0",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.4.0.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/ansi-regex@6.4.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.4.0.tgz"
        },
        {
          "name": "ImportedModules",
          "value": "ansi-regex"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/detergent.esm.js",
            "line": 10
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 40
          },
          {
            "location": "src/main.ts",
            "line": 1
          },
          {
            "location": "src/main.ts",
            "line": 40
          }
        ]
      }
    },
    {
      "group": "",
      "name": "codsen-utils",
      "version": "1.10.3",
      "scope": "required",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "e795112b114093edebb0bcb4fcd216dd84a203d80ed1bf2013319c7c2af6dfdbdeef7c5632e8cfc6ed1c1be1c5df2409a3018ed13752bbeae832aa9a6794ece3"
        }
      ],
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/codsen-utils@1.10.3",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/codsen-utils/-/codsen-utils-1.10.3.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/codsen-utils@1.10.3",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/codsen-utils/-/codsen-utils-1.10.3.tgz"
        },
        {
          "name": "ImportedModules",
          "value": "codsen-utils,formatDiagnosticValue,codsen-utils/formatDiagnosticValue,isLetter,codsen-utils/isLetter,isLowercaseLetter,codsen-utils/isLowercaseLetter,isNumberChar,codsen-utils/isNumberChar,isPlainObject,codsen-utils/isPlainObject,rawMDash,codsen-utils/rawMDash,removeTrailingSlash,codsen-utils/removeTrailingSlash,resolveEolSetting,codsen-utils/resolveEolSetting,rightSingleQuote,codsen-utils/rightSingleQuote,voidTags,codsen-utils/voidTags,ellipsis,codsen-utils/ellipsis,isUppercaseLetter,codsen-utils/isUppercaseLetter,leftDoubleQuote,codsen-utils/leftDoubleQuote,leftSingleQuote,codsen-utils/leftSingleQuote,punctuationChars,codsen-utils/punctuationChars,rawNbsp,codsen-utils/rawNbsp,rawNDash,codsen-utils/rawNDash,rightDoubleQuote,codsen-utils/rightDoubleQuote,EolChar,codsen-utils/EolChar,EolSetting,codsen-utils/EolSetting"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/detergent.esm.js",
            "line": 10
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 12
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 16
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 36
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 37
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 40
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 41
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 42
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 43
          },
          {
            "location": "src/main.ts",
            "line": 14
          },
          {
            "location": "src/main.ts",
            "line": 87
          },
          {
            "location": "src/main.ts",
            "line": 95
          },
          {
            "location": "src/main.ts",
            "line": 103
          },
          {
            "location": "src/main.ts",
            "line": 134
          },
          {
            "location": "src/main.ts",
            "line": 281
          },
          {
            "location": "src/main.ts",
            "line": 318
          },
          {
            "location": "src/main.ts",
            "line": 319
          },
          {
            "location": "src/main.ts",
            "line": 345
          },
          {
            "location": "src/main.ts",
            "line": 348
          },
          {
            "location": "src/main.ts",
            "line": 574
          },
          {
            "location": "src/main.ts",
            "line": 685
          },
          {
            "location": "src/main.ts",
            "line": 923
          },
          {
            "location": "src/processCharacter.ts",
            "line": 17
          },
          {
            "location": "src/processCharacter.ts",
            "line": 304
          },
          {
            "location": "src/processCharacter.ts",
            "line": 504
          },
          {
            "location": "src/processCharacter.ts",
            "line": 726
          },
          {
            "location": "src/processCharacter.ts",
            "line": 885
          },
          {
            "location": "src/processCharacter.ts",
            "line": 1004
          },
          {
            "location": "src/processCharacter.ts",
            "line": 1186
          },
          {
            "location": "src/processCharacter.ts",
            "line": 1190
          },
          {
            "location": "src/processCharacter.ts",
            "line": 1206
          },
          {
            "location": "src/processCharacter.ts",
            "line": 1208
          },
          {
            "location": "src/processCharacter.ts",
            "line": 1209
          },
          {
            "location": "src/processCharacter.ts",
            "line": 1210
          },
          {
            "location": "src/processCharacter.ts",
            "line": 1211
          },
          {
            "location": "src/processCharacter.ts",
            "line": 1633
          },
          {
            "location": "src/processCharacter.ts",
            "line": 1672
          },
          {
            "location": "src/processCharacter.ts",
            "line": 1717
          },
          {
            "location": "src/processCharacter.ts",
            "line": 1821
          },
          {
            "location": "src/processCharacter.ts",
            "line": 1822
          },
          {
            "location": "src/processCharacter.ts",
            "line": 1847
          },
          {
            "location": "src/processCharacter.ts",
            "line": 1919
          },
          {
            "location": "src/util.ts",
            "line": 3
          }
        ]
      }
    },
    {
      "group": "",
      "name": "codsen-format-diagnostic-value",
      "version": "1.1.1",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "87fe706375a250254e62f246e5a5aef6487ff8893eaefdea12f33450d9deaf81386cf3dbb3a618cef22dfc8973f609e4369ed3c39682d6732a0e4506439ee4ee"
        }
      ],
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/codsen-format-diagnostic-value@1.1.1",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/codsen-format-diagnostic-value/-/codsen-format-diagnostic-value-1.1.1.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/codsen-format-diagnostic-value@1.1.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/codsen-format-diagnostic-value/-/codsen-format-diagnostic-value-1.1.1.tgz"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "html-entities-not-email-friendly",
      "version": "0.10.1",
      "scope": "required",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "ab63724b78798505a9e58b97aa3665d680e20f6fc9983f3da5c410882ab52e0e6dbd7fcd6a8b44a79b5323c0e9b89680e80e9851eb57395b88f45942de7e4f09"
        }
      ],
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/html-entities-not-email-friendly@0.10.1",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/html-entities-not-email-friendly/-/html-entities-not-email-friendly-0.10.1.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/html-entities-not-email-friendly@0.10.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/html-entities-not-email-friendly/-/html-entities-not-email-friendly-0.10.1.tgz"
        },
        {
          "name": "ImportedModules",
          "value": "html-entities-not-email-friendly,notEmailFriendly,html-entities-not-email-friendly/notEmailFriendly"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/detergent.esm.js",
            "line": 10
          },
          {
            "location": "src/processCharacter.ts",
            "line": 18
          }
        ]
      }
    },
    {
      "group": "",
      "name": "html-entity-codec",
      "version": "1.1.0",
      "scope": "required",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "e01c390a92e6d8b19b31736655f492315987db456e043b0fe8c9f04488d59cec700bbc33e17fd15423d27880793a6d27d726103d2b5f5d40c0b2ec05dc144514"
        }
      ],
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/html-entity-codec@1.1.0",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/html-entity-codec/-/html-entity-codec-1.1.0.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/html-entity-codec@1.1.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/html-entity-codec/-/html-entity-codec-1.1.0.tgz"
        },
        {
          "name": "ImportedModules",
          "value": "html-entity-codec"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/detergent.esm.js",
            "line": 10
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 36
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 42
          },
          {
            "location": "src/main.ts",
            "line": 15
          },
          {
            "location": "src/main.ts",
            "line": 233
          },
          {
            "location": "src/processCharacter.ts",
            "line": 19
          },
          {
            "location": "src/processCharacter.ts",
            "line": 840
          },
          {
            "location": "src/processCharacter.ts",
            "line": 850
          },
          {
            "location": "src/processCharacter.ts",
            "line": 860
          },
          {
            "location": "src/processCharacter.ts",
            "line": 889
          },
          {
            "location": "src/processCharacter.ts",
            "line": 890
          },
          {
            "location": "src/util.ts",
            "line": 4
          },
          {
            "location": "src/util.ts",
            "line": 458
          },
          {
            "location": "src/util.ts",
            "line": 467
          }
        ]
      }
    },
    {
      "group": "",
      "name": "ranges-apply",
      "version": "7.2.6",
      "scope": "required",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "0853a36053ef5ffacce9cadec0a421113561c36f73ae1057ca641fe163c92ff55307e2ac1004648149a2e7e9b5ae57187aabf3495c8231d54992beb7dd5e7e4c"
        }
      ],
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/ranges-apply@7.2.6",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/ranges-apply/-/ranges-apply-7.2.6.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/ranges-apply@7.2.6",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/ranges-apply/-/ranges-apply-7.2.6.tgz"
        },
        {
          "name": "ImportedModules",
          "value": "ranges-apply,rApply,ranges-apply/rApply"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/detergent.esm.js",
            "line": 10
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 42
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 43
          },
          {
            "location": "src/main.ts",
            "line": 16
          },
          {
            "location": "src/main.ts",
            "line": 366
          },
          {
            "location": "src/main.ts",
            "line": 396
          },
          {
            "location": "src/main.ts",
            "line": 464
          },
          {
            "location": "src/main.ts",
            "line": 1167
          }
        ]
      }
    },
    {
      "group": "",
      "name": "ranges-merge",
      "version": "9.2.6",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "9ab644ef7d7e98445e86762095810a0cfe961f4f68472dab389bb9e9be49422913ea32e49cf6f565eda7cd0fcde8ea7751cfdb42cd56abfdcf0d9864bbfea4fe"
        }
      ],
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/ranges-merge@9.2.6",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/ranges-merge/-/ranges-merge-9.2.6.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/ranges-merge@9.2.6",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/ranges-merge/-/ranges-merge-9.2.6.tgz"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "ranges-sort",
      "version": "6.2.5",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "933508d6e7349bca79d93987f86573e4a6c99efa61f0f53b0e83417a8d02b8220dab01cfe3ac083bc4af120a70919d6d3b5613a0bc7e540e64827020aa2ded1e"
        }
      ],
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/ranges-sort@6.2.5",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/ranges-sort/-/ranges-sort-6.2.5.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/ranges-sort@6.2.5",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/ranges-sort/-/ranges-sort-6.2.5.tgz"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "ranges-invert",
      "version": "6.2.6",
      "scope": "required",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "1d07efe8afe2a49f91cb831504d3c55371fe6f00db3fa1ea61adf8625c5711cd73b72c999c487dfe60ef88b6a70530f004ec924692a503c42c0cb17458745268"
        }
      ],
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/ranges-invert@6.2.6",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/ranges-invert/-/ranges-invert-6.2.6.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/ranges-invert@6.2.6",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/ranges-invert/-/ranges-invert-6.2.6.tgz"
        },
        {
          "name": "ImportedModules",
          "value": "ranges-invert,rInvert,ranges-invert/rInvert"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/detergent.esm.js",
            "line": 10
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 42
          },
          {
            "location": "src/main.ts",
            "line": 17
          },
          {
            "location": "src/main.ts",
            "line": 437
          }
        ]
      }
    },
    {
      "group": "",
      "name": "ranges-crop",
      "version": "6.2.6",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "cb7cb852263be9490da8942366bf5dcfe06f17433bd85988906981e01edd7ec7d3492f278e9e5ac0408fbd91bde1f95893de333fb4a478db1ee133aaf10a6a19"
        }
      ],
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/ranges-crop@6.2.6",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/ranges-crop/-/ranges-crop-6.2.6.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/ranges-crop@6.2.6",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/ranges-crop/-/ranges-crop-6.2.6.tgz"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "ranges-process-outside",
      "version": "6.2.6",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "a9d3dac2828c9c577a7411cb19789be0cff2c01e7c3dac0c89cb27ef014eb9e158ba49af33d81cb53a459d01793b77a91a79abb1dc40f03f7a24e5c03df2a3d1"
        }
      ],
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/ranges-process-outside@6.2.6",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/ranges-process-outside/-/ranges-process-outside-6.2.6.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/ranges-process-outside@6.2.6",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/ranges-process-outside/-/ranges-process-outside-6.2.6.tgz"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "ranges-push",
      "version": "7.3.3",
      "scope": "required",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "86851f6f9222c1a45bce85c5286b2612f5e2296cddb0c40ec415c200ceae77d5ed4c485f55bedbb283b2b8becda98c34f82fb5bd52a8ae64a512f4577cbd13c0"
        }
      ],
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/ranges-push@7.3.3",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/ranges-push/-/ranges-push-7.3.3.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/ranges-push@7.3.3",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/ranges-push/-/ranges-push-7.3.3.tgz"
        },
        {
          "name": "ImportedModules",
          "value": "ranges-push,Ranges,ranges-push/Ranges"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/detergent.esm.js",
            "line": 10
          },
          {
            "location": "src/main.ts",
            "line": 18
          },
          {
            "location": "src/processCharacter.ts",
            "line": 20
          }
        ]
      }
    },
    {
      "group": "",
      "name": "string-collapse-leading-whitespace",
      "version": "7.3.1",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "bbe116dfbdf0b911c1ca3f77b2a94ec7d852217028d0f62cd56fdd80ce6b737572978211cec2c74b5711ccc36b7be48411c73ab027bce10475da786dcd57780c"
        }
      ],
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/string-collapse-leading-whitespace@7.3.1",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/string-collapse-leading-whitespace/-/string-collapse-leading-whitespace-7.3.1.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/string-collapse-leading-whitespace@7.3.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/string-collapse-leading-whitespace/-/string-collapse-leading-whitespace-7.3.1.tgz"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "string-apostrophes",
      "version": "4.2.7",
      "scope": "required",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "bee32e54aecd2420ccede967cef423a4d445fad9dda311ea6b59297323070b0376f3a194eb2770c51084a766bea2bed5698fad8394d8ad9a0e45b131d9f622ed"
        }
      ],
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/string-apostrophes@4.2.7",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/string-apostrophes/-/string-apostrophes-4.2.7.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/string-apostrophes@4.2.7",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/string-apostrophes/-/string-apostrophes-4.2.7.tgz"
        },
        {
          "name": "ImportedModules",
          "value": "string-apostrophes,convertOne,string-apostrophes/convertOne"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/detergent.esm.js",
            "line": 10
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 36
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 40
          },
          {
            "location": "src/processCharacter.ts",
            "line": 21
          },
          {
            "location": "src/processCharacter.ts",
            "line": 703
          },
          {
            "location": "src/processCharacter.ts",
            "line": 767
          },
          {
            "location": "src/processCharacter.ts",
            "line": 948
          },
          {
            "location": "src/processCharacter.ts",
            "line": 973
          },
          {
            "location": "src/processCharacter.ts",
            "line": 1993
          },
          {
            "location": "src/processCharacter.ts",
            "line": 2010
          },
          {
            "location": "src/processCharacter.ts",
            "line": 2030
          }
        ]
      }
    },
    {
      "group": "",
      "name": "string-collapse-white-space",
      "version": "11.2.7",
      "scope": "required",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "e005a069333cd3fe2c342ae53b8b4db59ad7652d2316ee4103bce8bad8876647e8859ef9385994fdbc207c80c4c9b0496a2f99bc7822e380faf2d40e9d7e2043"
        }
      ],
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/string-collapse-white-space@11.2.7",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/string-collapse-white-space/-/string-collapse-white-space-11.2.7.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/string-collapse-white-space@11.2.7",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/string-collapse-white-space/-/string-collapse-white-space-11.2.7.tgz"
        },
        {
          "name": "ImportedModules",
          "value": "string-collapse-white-space,collapse,string-collapse-white-space/collapse"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/detergent.esm.js",
            "line": 10
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 42
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 44
          },
          {
            "location": "src/main.ts",
            "line": 19
          },
          {
            "location": "src/main.ts",
            "line": 249
          },
          {
            "location": "src/main.ts",
            "line": 1351
          }
        ]
      }
    },
    {
      "group": "",
      "name": "string-dashes",
      "version": "1.4.7",
      "scope": "required",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "0a5c07a80a249da74e3220c86f7f381f2e2fa61bb2f972fd75591f7dfb81e1e4a634f2087359e53b01f945ccca5bc03715cb2001eea7b0a174f0984bd771817d"
        }
      ],
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/string-dashes@1.4.7",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/string-dashes/-/string-dashes-1.4.7.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/string-dashes@1.4.7",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/string-dashes/-/string-dashes-1.4.7.tgz"
        },
        {
          "name": "ImportedModules",
          "value": "string-dashes,convertOne,string-dashes/convertOne"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/detergent.esm.js",
            "line": 10
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 37
          },
          {
            "location": "src/processCharacter.ts",
            "line": 22
          },
          {
            "location": "src/processCharacter.ts",
            "line": 1074
          },
          {
            "location": "src/processCharacter.ts",
            "line": 1099
          }
        ]
      }
    },
    {
      "group": "",
      "name": "string-left-right",
      "version": "6.2.5",
      "scope": "required",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "a1cec149aecb5893050117ceb534b95f47076a8f975461a9ed8ad3f9f066237b7b1cc62501c870481c2e8369b208e6f6642016039ffcb47e30270b62b19f7a33"
        }
      ],
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/string-left-right@6.2.5",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/string-left-right/-/string-left-right-6.2.5.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/string-left-right@6.2.5",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/string-left-right/-/string-left-right-6.2.5.tgz"
        },
        {
          "name": "ImportedModules",
          "value": "string-left-right,chompLeft,string-left-right/chompLeft,left,string-left-right/left,leftStopAtNewLines,string-left-right/leftStopAtNewLines,right,string-left-right/right,rightStopAtNewLines,string-left-right/rightStopAtNewLines"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/detergent.esm.js",
            "line": 10
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 12
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 13
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 15
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 16
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 17
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 32
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 35
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 36
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 38
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 39
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 40
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 43
          },
          {
            "location": "src/main.ts",
            "line": 21
          },
          {
            "location": "src/main.ts",
            "line": 700
          },
          {
            "location": "src/main.ts",
            "line": 753
          },
          {
            "location": "src/main.ts",
            "line": 758
          },
          {
            "location": "src/main.ts",
            "line": 772
          },
          {
            "location": "src/main.ts",
            "line": 779
          },
          {
            "location": "src/main.ts",
            "line": 794
          },
          {
            "location": "src/main.ts",
            "line": 806
          },
          {
            "location": "src/main.ts",
            "line": 818
          },
          {
            "location": "src/main.ts",
            "line": 820
          },
          {
            "location": "src/main.ts",
            "line": 825
          },
          {
            "location": "src/main.ts",
            "line": 854
          },
          {
            "location": "src/main.ts",
            "line": 858
          },
          {
            "location": "src/main.ts",
            "line": 885
          },
          {
            "location": "src/main.ts",
            "line": 886
          },
          {
            "location": "src/main.ts",
            "line": 890
          },
          {
            "location": "src/main.ts",
            "line": 894
          },
          {
            "location": "src/main.ts",
            "line": 976
          },
          {
            "location": "src/main.ts",
            "line": 981
          },
          {
            "location": "src/main.ts",
            "line": 988
          },
          {
            "location": "src/main.ts",
            "line": 1001
          },
          {
            "location": "src/main.ts",
            "line": 1004
          },
          {
            "location": "src/main.ts",
            "line": 1011
          },
          {
            "location": "src/processCharacter.ts",
            "line": 30
          },
          {
            "location": "src/processCharacter.ts",
            "line": 258
          },
          {
            "location": "src/processCharacter.ts",
            "line": 304
          },
          {
            "location": "src/processCharacter.ts",
            "line": 322
          },
          {
            "location": "src/processCharacter.ts",
            "line": 333
          },
          {
            "location": "src/processCharacter.ts",
            "line": 335
          },
          {
            "location": "src/processCharacter.ts",
            "line": 359
          },
          {
            "location": "src/processCharacter.ts",
            "line": 361
          },
          {
            "location": "src/processCharacter.ts",
            "line": 396
          },
          {
            "location": "src/processCharacter.ts",
            "line": 462
          },
          {
            "location": "src/processCharacter.ts",
            "line": 504
          },
          {
            "location": "src/processCharacter.ts",
            "line": 524
          },
          {
            "location": "src/processCharacter.ts",
            "line": 531
          },
          {
            "location": "src/processCharacter.ts",
            "line": 533
          },
          {
            "location": "src/processCharacter.ts",
            "line": 620
          },
          {
            "location": "src/processCharacter.ts",
            "line": 648
          },
          {
            "location": "src/processCharacter.ts",
            "line": 691
          },
          {
            "location": "src/processCharacter.ts",
            "line": 692
          },
          {
            "location": "src/processCharacter.ts",
            "line": 881
          },
          {
            "location": "src/processCharacter.ts",
            "line": 884
          },
          {
            "location": "src/processCharacter.ts",
            "line": 986
          },
          {
            "location": "src/processCharacter.ts",
            "line": 1268
          },
          {
            "location": "src/processCharacter.ts",
            "line": 1269
          },
          {
            "location": "src/processCharacter.ts",
            "line": 1424
          },
          {
            "location": "src/processCharacter.ts",
            "line": 1435
          },
          {
            "location": "src/processCharacter.ts",
            "line": 1884
          },
          {
            "location": "src/processCharacter.ts",
            "line": 1904
          },
          {
            "location": "src/processCharacter.ts",
            "line": 1906
          },
          {
            "location": "src/processCharacter.ts",
            "line": 1914
          }
        ]
      }
    },
    {
      "group": "",
      "name": "string-fix-broken-named-entities",
      "version": "7.2.6",
      "scope": "required",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "35de655c5ff1dbb91b01ba855d405fdd3691d857ae8a9c1f7421b2ceaf33101168114f6a64715f05510c40154b6e0eb73c629be35718cb360377e78ffcff3c99"
        }
      ],
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/string-fix-broken-named-entities@7.2.6",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/string-fix-broken-named-entities/-/string-fix-broken-named-entities-7.2.6.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/string-fix-broken-named-entities@7.2.6",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/string-fix-broken-named-entities/-/string-fix-broken-named-entities-7.2.6.tgz"
        },
        {
          "name": "ImportedModules",
          "value": "string-fix-broken-named-entities,fixEnt,string-fix-broken-named-entities/fixEnt"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/detergent.esm.js",
            "line": 10
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 42
          },
          {
            "location": "src/main.ts",
            "line": 20
          },
          {
            "location": "src/main.ts",
            "line": 380
          }
        ]
      }
    },
    {
      "group": "",
      "name": "string-typo-match",
      "version": "1.1.0",
      "scope": "optional",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "e9e49ad4d46169ccf85764dbf60e1630f4bfab14d44231db262f7518bf37b515966fefda41d9bca4142f9cd090f4231379f4543ed2232e0ef6db602f5606a253"
        }
      ],
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/string-typo-match@1.1.0",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/string-typo-match/-/string-typo-match-1.1.0.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/string-typo-match@1.1.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/string-typo-match/-/string-typo-match-1.1.0.tgz"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "string-range-expander",
      "version": "4.2.6",
      "scope": "required",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "93337acacb351b0b72af5697e2e06888f73ff6a0f396f97b1be2d1b99decf463966d8f3724e076fa53400924dbec1b9820c7d76da8853249a570f913d93d3458"
        }
      ],
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/string-range-expander@4.2.6",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/string-range-expander/-/string-range-expander-4.2.6.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/string-range-expander@4.2.6",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/string-range-expander/-/string-range-expander-4.2.6.tgz"
        },
        {
          "name": "ImportedModules",
          "value": "string-range-expander,expander,string-range-expander/expander"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/detergent.esm.js",
            "line": 10
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 40
          },
          {
            "location": "src/processCharacter.ts",
            "line": 31
          },
          {
            "location": "src/processCharacter.ts",
            "line": 1594
          }
        ]
      }
    },
    {
      "group": "",
      "name": "string-remove-widows",
      "version": "4.2.10",
      "scope": "required",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "36940cbbc780a366e557f1f32fbbe8d4683acdb25874ac6e7aa48724f420be6a4c3f2f909dce247652e41409c337cb427d1dc759ec051413dc2384cc2caf6396"
        }
      ],
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/string-remove-widows@4.2.10",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/string-remove-widows/-/string-remove-widows-4.2.10.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/string-remove-widows@4.2.10",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/string-remove-widows/-/string-remove-widows-4.2.10.tgz"
        },
        {
          "name": "ImportedModules",
          "value": "string-remove-widows,removeWidows,string-remove-widows/removeWidows"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/detergent.esm.js",
            "line": 10
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 43
          },
          {
            "location": "src/main.ts",
            "line": 22
          },
          {
            "location": "src/main.ts",
            "line": 1227
          }
        ]
      }
    },
    {
      "group": "",
      "name": "string-strip-html",
      "version": "13.7.7",
      "scope": "required",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "86d66eb259fb3892c013db9123276cd1b183982ff996833471564cf039ced3ac9946d5d6dbdf91a1c2df0f97c14dfefc5384893cb75964d3102ddf42161dd812"
        }
      ],
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/string-strip-html@13.7.7",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/string-strip-html/-/string-strip-html-13.7.7.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/string-strip-html@13.7.7",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/string-strip-html/-/string-strip-html-13.7.7.tgz"
        },
        {
          "name": "ImportedModules",
          "value": "string-strip-html,stripHtml,string-strip-html/stripHtml,CbObj,string-strip-html/CbObj"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/detergent.esm.js",
            "line": 10
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 42
          },
          {
            "location": "dist/detergent.esm.js",
            "line": 43
          },
          {
            "location": "src/main.ts",
            "line": 23
          },
          {
            "location": "src/main.ts",
            "line": 421
          },
          {
            "location": "src/main.ts",
            "line": 1041
          },
          {
            "location": "src/main.ts",
            "line": 1222
          }
        ]
      }
    },
    {
      "group": "",
      "name": "test-mixer",
      "version": "4.4.3",
      "scope": "required",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "5fc5213faa584c343af7eba72f47d09b3a19dcd28bf51799b87f32dc74b7e66d87fa773a76493d28ad9aff16858bdf8e60d6b3cf6dde0836ad2d84b715fd93ce"
        }
      ],
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/test-mixer@4.4.3",
      "externalReferences": [
        {
          "type": "distribution",
          "url": "https://registry.npmjs.org/test-mixer/-/test-mixer-4.4.3.tgz"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/test-mixer@4.4.3",
      "properties": [
        {
          "name": "SrcFile",
          "value": "package-lock.json"
        },
        {
          "name": "cdx:npm:package:development",
          "value": "true"
        },
        {
          "name": "ResolvedUrl",
          "value": "https://registry.npmjs.org/test-mixer/-/test-mixer-4.4.3.tgz"
        },
        {
          "name": "ImportedModules",
          "value": "test-mixer,mixer,test-mixer/mixer"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 1,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 1,
                "value": "package-lock.json"
              }
            ],
            "concludedValue": "package-lock.json"
          }
        ],
        "occurrences": [
          {
            "location": "t-util/util.js",
            "line": 2
          },
          {
            "location": "t-util/util.js",
            "line": 368
          }
        ]
      }
    }
  ],
  "dependencies": [
    {
      "ref": "pkg:npm/all-named-html-entities@3.2.1",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/ansi-regex@6.4.0",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/codsen-format-diagnostic-value@1.1.1",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/codsen-utils@1.10.3",
      "dependsOn": [
        "pkg:npm/codsen-format-diagnostic-value@1.1.1"
      ]
    },
    {
      "ref": "pkg:npm/html-entities-not-email-friendly@0.10.1",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/html-entity-codec@1.1.0",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/ranges-sort@6.2.5",
      "dependsOn": [
        "pkg:npm/codsen-utils@1.10.3"
      ]
    },
    {
      "ref": "pkg:npm/ranges-merge@9.2.6",
      "dependsOn": [
        "pkg:npm/codsen-utils@1.10.3",
        "pkg:npm/ranges-sort@6.2.5"
      ]
    },
    {
      "ref": "pkg:npm/ranges-apply@7.2.6",
      "dependsOn": [
        "pkg:npm/codsen-utils@1.10.3",
        "pkg:npm/ranges-merge@9.2.6"
      ]
    },
    {
      "ref": "pkg:npm/ranges-crop@6.2.6",
      "dependsOn": [
        "pkg:npm/codsen-utils@1.10.3",
        "pkg:npm/ranges-merge@9.2.6"
      ]
    },
    {
      "ref": "pkg:npm/ranges-invert@6.2.6",
      "dependsOn": [
        "pkg:npm/codsen-utils@1.10.3",
        "pkg:npm/ranges-crop@6.2.6",
        "pkg:npm/ranges-merge@9.2.6"
      ]
    },
    {
      "ref": "pkg:npm/ranges-process-outside@6.2.6",
      "dependsOn": [
        "pkg:npm/codsen-utils@1.10.3",
        "pkg:npm/ranges-crop@6.2.6",
        "pkg:npm/ranges-invert@6.2.6"
      ]
    },
    {
      "ref": "pkg:npm/string-collapse-leading-whitespace@7.3.1",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/ranges-push@7.3.3",
      "dependsOn": [
        "pkg:npm/codsen-utils@1.10.3",
        "pkg:npm/ranges-sort@6.2.5",
        "pkg:npm/string-collapse-leading-whitespace@7.3.1"
      ]
    },
    {
      "ref": "pkg:npm/string-apostrophes@4.2.7",
      "dependsOn": [
        "pkg:npm/codsen-utils@1.10.3",
        "pkg:npm/ranges-apply@7.2.6"
      ]
    },
    {
      "ref": "pkg:npm/string-collapse-white-space@11.2.7",
      "dependsOn": [
        "pkg:npm/codsen-utils@1.10.3",
        "pkg:npm/ranges-apply@7.2.6",
        "pkg:npm/ranges-push@7.3.3"
      ]
    },
    {
      "ref": "pkg:npm/string-left-right@6.2.5",
      "dependsOn": [
        "pkg:npm/codsen-utils@1.10.3"
      ]
    },
    {
      "ref": "pkg:npm/string-dashes@1.4.7",
      "dependsOn": [
        "pkg:npm/codsen-utils@1.10.3",
        "pkg:npm/ranges-apply@7.2.6",
        "pkg:npm/string-left-right@6.2.5"
      ]
    },
    {
      "ref": "pkg:npm/string-typo-match@1.1.0",
      "dependsOn": []
    },
    {
      "ref": "pkg:npm/string-fix-broken-named-entities@7.2.6",
      "dependsOn": [
        "pkg:npm/all-named-html-entities@3.2.1",
        "pkg:npm/codsen-utils@1.10.3",
        "pkg:npm/string-left-right@6.2.5",
        "pkg:npm/string-typo-match@1.1.0"
      ]
    },
    {
      "ref": "pkg:npm/string-range-expander@4.2.6",
      "dependsOn": [
        "pkg:npm/codsen-utils@1.10.3"
      ]
    },
    {
      "ref": "pkg:npm/string-remove-widows@4.2.10",
      "dependsOn": [
        "pkg:npm/codsen-utils@1.10.3",
        "pkg:npm/ranges-apply@7.2.6",
        "pkg:npm/ranges-push@7.3.3",
        "pkg:npm/string-left-right@6.2.5"
      ]
    },
    {
      "ref": "pkg:npm/string-strip-html@13.7.7",
      "dependsOn": [
        "pkg:npm/codsen-utils@1.10.3",
        "pkg:npm/html-entity-codec@1.1.0",
        "pkg:npm/ranges-apply@7.2.6",
        "pkg:npm/ranges-push@7.3.3",
        "pkg:npm/string-left-right@6.2.5"
      ]
    },
    {
      "ref": "pkg:npm/test-mixer@4.4.3",
      "dependsOn": [
        "pkg:npm/codsen-utils@1.10.3"
      ]
    },
    {
      "ref": "pkg:npm/detergent@9.4.5",
      "dependsOn": [
        "pkg:npm/all-named-html-entities@3.2.1",
        "pkg:npm/ansi-regex@6.4.0",
        "pkg:npm/codsen-utils@1.10.3",
        "pkg:npm/html-entities-not-email-friendly@0.10.1",
        "pkg:npm/html-entity-codec@1.1.0",
        "pkg:npm/ranges-apply@7.2.6",
        "pkg:npm/ranges-invert@6.2.6",
        "pkg:npm/ranges-process-outside@6.2.6",
        "pkg:npm/ranges-push@7.3.3",
        "pkg:npm/string-apostrophes@4.2.7",
        "pkg:npm/string-collapse-white-space@11.2.7",
        "pkg:npm/string-dashes@1.4.7",
        "pkg:npm/string-fix-broken-named-entities@7.2.6",
        "pkg:npm/string-left-right@6.2.5",
        "pkg:npm/string-range-expander@4.2.6",
        "pkg:npm/string-remove-widows@4.2.10",
        "pkg:npm/string-strip-html@13.7.7",
        "pkg:npm/test-mixer@4.4.3"
      ]
    }
  ],
  "annotations": [
    {
      "bom-ref": "metadata-annotations",
      "subjects": [
        "pkg:npm/detergent@9.4.5"
      ],
      "annotator": {
        "component": {
          "group": "@cyclonedx",
          "name": "cdxgen",
          "version": "12.8.7",
          "purl": "pkg:npm/%40cyclonedx/cdxgen@12.8.7",
          "type": "application",
          "bom-ref": "pkg:npm/@cyclonedx/cdxgen@12.8.7",
          "publisher": "OWASP Foundation",
          "authors": [
            {
              "name": "OWASP Foundation"
            }
          ]
        }
      },
      "timestamp": "2026-10-21T18:11:10Z",
      "text": "This Software Bill-of-Materials (SBOM) document was created on Wednesday, October 21, 2026 with cdxgen. The data was captured during the pre-build lifecycle phase without building the application. The document describes an application named 'detergent' with version '9.4.5'."
    }
  ]
}