# Functions
ParseUserAgent processes a raw user agent string and returned a structured instance.
WhatSoftwareHTTP TODO: pass in the device profile.
WriteSoftware can be used to write software to the software audit record writer.
# Variables
CMSCookies contains the names of identifying cookies for CMSs and frontend frameworks nolint.
CMSHeaders cmsHeadersList is the list of identifying headers for Content Management Systems and Web Servers.
Decoder for protocol analysis and writing audit records to disk.
HashDBMap contains HASSH digests mapped to software products at runtime.
RegexGenericVersion is a regular expression for anything that could be a product / version indicator.
Store SoftwareStore hold all connections.
UserAgentCache contains parsed user agents at runtime.
UserAgentParserMutex ensures atomic access to the user agent parser.
# Structs
AtomicSoftware wraps a types.Software to provide atomic access.