CVE-2022-23496: Improper Handling of Exceptional Conditions (CWE-755)
value:  Yet Another UserAgent Analyzer (Yauaa) is a java library that tries to parse and analyze the useragent string and extract as many relevant attributes as possible. Applications using the Client Hints analysis feature introduced with 7.0.0 can crash because the Yauaa library throws an ArrayIndexOutOfBoundsException. If uncaught the exception will result in a program crash. Applications that do not use this feature are not affected. Users are advised to upgrade to version 7.9.0. Users unable to upgrade may catch and discard any ArrayIndexOutOfBoundsException thrown by the Yauaa library.
CWE description: The product does not handle or incorrectly handles an exceptional condition.
CVSS v3 base score: 7.5
Published: 2022-12-08T22:15Z
Repository: https://github.com/nielsbasjes/yauaa
Language: YAML
Files changed: CHANGELOG.md, analyzer/src/main/java/nl/basjes/parse/useragent/clienthints/ClientHintsAnalyzer.java, analyzer/src/main/resources/UserAgents/Anonymize-Kamo.yaml, analyzer/src/main/resources/UserAgents/ClientHints-Tests.yaml, analyzer/src/main/resources/UserAgents/ExtendedAgents.yaml, analyzer/src/main/resources/UserAgents/FederatedSocialMedia.yaml, analyzer/src/main/resources/UserAgents/GeckoFirefox.yaml, analyzer/src/main/resources/UserAgents/GoogleChrome.yaml, analyzer/src/main/resources/UserAgents/GoogleChromeFrozen.yaml, analyzer/src/main/resources/UserAgents/Robots.yaml
Commit date: 2022-12-03 15:12:30 +0100
Commit message: feat: Better clienthint handling, ignore Kamo tags.

Diff: diff --git a/CHANGELOG.md b/CHANGELOG.md
index 12e442ed..b830cb59 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,10 +5,12 @@ v7.9.0-SNAPSHOT
 ===
 - Analyzer:
   - Support having multiple places to define a lookup or set which are then merged.
 - New/improved detections
   - Non standard Apple device tags.
+  - Ignore the tags created by Kamo
+  - Slightly better analysis of the Client Hints
 
 v7.8.0
 ===
 - New/improved detections
   - Samsung Browser: DeviceBrand & WebViews.
diff --git a/analyzer/src/main/java/nl/basjes/parse/useragent/clienthints/ClientHintsAnalyzer.java b/analyzer/src/main/java/nl/basjes/parse/useragent/clienthints/ClientHintsAnalyzer.java
index 7c64ddd2..5ff3d641 100644
--- a/analyzer/src/main/java/nl/basjes/parse/useragent/clienthints/ClientHintsAnalyzer.java
+++ b/analyzer/src/main/java/nl/basjes/parse/useragent/clienthints/ClientHintsAnalyzer.java
@@ -295,160 +295,166 @@ public class ClientHintsAnalyzer extends ClientHintsHeadersParser {
                     break;
             }
         }
     }
 
-    private static final Set<String> CHROMIUM = new HashSet<>();
-    static {
-        CHROMIUM.add("Chromium");
-        CHROMIUM.add("Chrome");
+    private boolean newVersionIsBetter(MutableAgentField currentVersion, String version) {
+        boolean currentVersionHasMinor = currentVersion.getValue().contains(".");
+        boolean versionHasMinor = version.contains(".");
+        return currentVersion.isDefaultValue() ||
+            (!versionHasMinor && !currentVersionHasMinor) ||
+            (versionHasMinor);
     }
 
     public void improveLayoutEngineAndAgentInfo(MutableUserAgent userAgent, ClientHints clientHints) {
         // Improve the Agent info.
-        List<Brand> fullVersionList = clientHints.getFullVersionList();
-        if (fullVersionList != null && !fullVersionList.isEmpty()) {
-            String version;
-            String majorVersion;
-
-            String agentName;
-            for (Brand brand : fullVersionList) {
-                String[] versionSplits;
-                switch (brand.getName()) {
-                    case "Chromium":
-                        version = brand.getVersion();
-                        versionSplits = version.split("\\.");
-                        if (versionSplits.length == 4) {
-                            if (!"0".equals(versionSplits[1])) {
-                                continue;
-                            }
-                        }
-                        version = versionSplits[0] + '.' + versionSplits[1];
-                        majorVersion = versionSplits[0];
-                        overrideValue(userAgent.get(LAYOUT_ENGINE_NAME), "Blink");
-                        overrideValue(userAgent.get(LAYOUT_ENGINE_VERSION), version);
-                        overrideValue(userAgent.get(LAYOUT_ENGINE_NAME_VERSION), "Blink " + version);
-                        overrideValue(userAgent.get(LAYOUT_ENGINE_VERSION_MAJOR), majorVersion);
-                        overrideValue(userAgent.get(LAYOUT_ENGINE_NAME_VERSION_MAJOR), "Blink "+ majorVersion);
-
-                        if (fullVersionList.size() == 1) { // NOTE: The grease was filtered out !
-                            // So we have "Chromium" and not "Chrome" or "Edge" or something else
-                            if (CHROMIUM.contains(userAgent.getValue(AGENT_NAME))) {
-                                agentName = "Chromium";
-                                version = brand.getVersion();
-                                overrideValue(userAgent.get(AGENT_NAME), agentName);
-                                overrideValue(userAgent.get(AGENT_VERSION), version);
-                                overrideValue(userAgent.get(AGENT_NAME_VERSION), agentName + " " + version);
-                                overrideValue(userAgent.get(AGENT_VERSION_MAJOR), majorVersion);
-                                overrideValue(userAgent.get(AGENT_NAME_VERSION_MAJOR), agentName + " " + majorVersion);
-                            }
-                        }
-
-                        break;
-
-                    case "Google Chrome":
-                    case "Chrome":
-                        agentName = "Chrome";
-                        version = brand.getVersion();
-                        versionSplits = version.split("\\.");
-                        if (versionSplits.length == 4) {
-                            if (!"0".equals(versionSplits[1])) {
-                                continue;
-                            }
-                        }
-                        majorVersion = versionSplits[0];
-
-                        overrideValue(userAgent.get(AGENT_NAME), agentName);
-                        overrideValue(userAgent.get(AGENT_VERSION), version);
-                        overrideValue(userAgent.get(AGENT_NAME_VERSION), agentName + " " + version);
-                        overrideValue(userAgent.get(AGENT_VERSION_MAJOR), majorVersion);
-                        overrideValue(userAgent.get(AGENT_NAME_VERSION_MAJOR), agentName + " " + majorVersion);
-                        break;
-
-                    case "Microsoft Edge":
-                    case "Edge":
-                        agentName = "Edge";
-                        version = brand.getVersion();
-                        versionSplits = version.split("\\.");
-                        if (versionSplits.length == 4) {
-                            if (!"0".equals(versionSplits[1])) {
-                                continue;
-                            }
-                        }
-                        majorVersion = versionSplits[0];
-
-                        overrideValue(userAgent.get(AGENT_NAME), agentName);
-                        overrideValue(userAgent.get(AGENT_VERSION), version);
-                        overrideValue(userAgent.get(AGENT_NAME_VERSION), agentName + " " + version);
-                        overrideValue(userAgent.get(AGENT_VERSION_MAJOR), majorVersion);
-                        overrideValue(userAgent.get(AGENT_NAME_VERSION_MAJOR), agentName + " " + majorVersion);
-                        break;
-                    default:
-                        // Ignore
-                }
-            }
-        } else {
-            // No full versions available, only the major versions
-            ArrayList<Brand> brands = clientHints.getBrands();
-            if (brands == null) {
-                return;
-            }
+        boolean usingFullVersions = true;
+        List<Brand> versionList = clientHints.getFullVersionList();
+        if (versionList == null) {
+            versionList = clientHints.getBrands();
+            usingFullVersions = false;
+        }
 
-            if (brands.size() == 1) { // NOTE: The grease was filtered out !
-                Brand brand = brands.get(0);
-                if ("Chromium".equals(brand.getName())) {
-                    // So we have "Chromium" and not "Chrome", "Edge", "Opera" or something else
-                    String version = brand.getVersion();
-                    // NOTE: No full version available, only the major version
-                    // We trust the Client hints more than the version we derived from the User-Agent.
+        if (versionList == null) {
+            return; // Nothing to do
+        }
+
+        final Map<String, Brand> versionMap = new TreeMap<>();
+        versionList.forEach(v -> versionMap.put(v.getName(), v));
 
-                    overrideValue(userAgent.get(LAYOUT_ENGINE_NAME), "Blink");
-                    overrideValue(userAgent.get(LAYOUT_ENGINE_VERSION), version);
-                    overrideValue(userAgent.get(LAYOUT_ENGINE_NAME_VERSION), "Blink " + version);
-                    overrideValue(userAgent.get(LAYOUT_ENGINE_VERSION_MAJOR), version);
-                    overrideValue(userAgent.get(LAYOUT_ENGINE_NAME_VERSION_MAJOR), "Blink " + version);
+        // ========================
+        Brand chromium = versionMap.get("Chromium");
+        if (chromium != null) {
+            String version = chromium.getVersion();
+            String[] versionSplits = version.split("\\.");
+            String majorVersion = versionSplits[0];
 
-                    // So we have "Chromium" and not "Chrome" or "Edge" or something else
-                    if (CHROMIUM.contains(userAgent.getValue(AGENT_NAME))) {
+            // Work around the major in minor hack/feature of Chrome ~v99
+            if (versionSplits.length==4 && !"0".equals(versionSplits[1])) {
+                version = versionSplits[1] + ".0." + versionSplits[2] + '.' + versionSplits[3];
+                majorVersion = versionSplits[1];
+            }
+
+            // ==== Blink ?
+            MutableAgentField engineName = userAgent.get(LAYOUT_ENGINE_NAME);
+            if (engineName.isDefaultValue() || !"Blink".equals(engineName.getValue())) {
+                overrideValue(engineName, "Blink");
+            }
+            MutableAgentField engineVersion = userAgent.get(LAYOUT_ENGINE_VERSION);
+            MutableAgentField engineMajorVersion = userAgent.get(LAYOUT_ENGINE_VERSION_MAJOR);
+            String blinkVersion = majorVersion;
+            if (versionSplits.length>1) {
+                blinkVersion = majorVersion + ".0";
+            }
+            if (newVersionIsBetter(engineVersion, blinkVersion)) {
+                overrideValue(engineVersion, blinkVersion);
+                overrideValue(engineMajorVersion, majorVersion);
+            }
+
+            overrideValue(userAgent.get(LAYOUT_ENGINE_NAME_VERSION), engineName.getValue() + " " + engineVersion.getValue());
+            overrideValue(userAgent.get(LAYOUT_ENGINE_NAME_VERSION_MAJOR), engineName.getValue() + " " + engineMajorVersion.getValue());
+
+            // ===== Chromium browser?
+            if (versionList.size() == 1) { // NOTE: The grease was filtered out !
+                // So we have "Chromium" and not "Chrome" or "Edge" or something else
+                MutableAgentField currentVersion = userAgent.get(AGENT_VERSION);
+                if (newVersionIsBetter(currentVersion, version)) {
+                    overrideValue(userAgent.get(AGENT_NAME), "Chromium");
+                    overrideValue(userAgent.get(AGENT_VERSION), version);
+                    overrideValue(userAgent.get(AGENT_NAME_VERSION), "Chromium " + version);
+                    overrideValue(userAgent.get(AGENT_VERSION_MAJOR), majorVersion);
+                    overrideValue(userAgent.get(AGENT_NAME_VERSION_MAJOR), "Chromium " + majorVersion);
+                } else {
+                    // We ONLY update the name of the agent to Chromium in some cases
+                    if ("Chrome".equals(userAgent.getValue(AGENT_NAME))) {
                         overrideValue(userAgent.get(AGENT_NAME), "Chromium");
-                        overrideValue(userAgent.get(AGENT_VERSION), version);
-                        overrideValue(userAgent.get(AGENT_NAME_VERSION), "Chromium " + version);
-                        overrideValue(userAgent.get(AGENT_VERSION_MAJOR), version);
-                        overrideValue(userAgent.get(AGENT_NAME_VERSION_MAJOR), "Chromium " + version);
+                        overrideValue(userAgent.get(AGENT_NAME_VERSION), "Chromium " + currentVersion.getValue());
+
+                        String currentMajorVersion = userAgent.getValue(AGENT_VERSION_MAJOR);
+                        overrideValue(userAgent.get(AGENT_NAME_VERSION_MAJOR), "Chromium " + currentMajorVersion);
                     }
                 }
+
                 return;
             }
+        }
+        versionMap.remove("Chromium");
 
-            for (Brand brand : brands) {
-                String[] versionSplits;
-                switch (brand.getName()) {
-                    case "Microsoft Edge":
-                    case "Edge":
-                        MutableAgentField agentName = userAgent.get(AGENT_NAME);
-                        if (agentName.getValue().equals("Edge")) {
-                            continue;
-                        }
-                        String version = brand.getVersion();
-                        versionSplits = version.split("\\.");
-                        if (versionSplits.length == 4) {
-                            if (!"0".equals(versionSplits[1])) {
-                                continue;
-                            }
-                        }
-                        String majorVersion = versionSplits[0];
-
-                        overrideValue(agentName, "Edge");
-                        overrideValue(userAgent.get(AGENT_VERSION), version);
-                        overrideValue(userAgent.get(AGENT_NAME_VERSION), "Edge " + version);
-                        overrideValue(userAgent.get(AGENT_VERSION_MAJOR), majorVersion);
-                        overrideValue(userAgent.get(AGENT_NAME_VERSION_MAJOR), "Edge " + majorVersion);
-                        break;
-                    default:
+        // ========================
+        Brand chrome = versionMap.get("Chrome");
+        if (chrome == null) {
+            chrome = versionMap.get("Google Chrome");
+        }
+        if (chrome != null) {
+            if (versionMap.size() == 1) {
+                // So we have "Chrome" and nothing else
+                MutableAgentField currentVersion = userAgent.get(AGENT_VERSION);
+                String version = chrome.getVersion();
+                String[] versionSplits = version.split("\\.");
+                String majorVersion = versionSplits[0];
+
+                // Work around the major in minor hack/feature of Chrome ~v99
+                // 99.100.x.y is really 100.0.x.y
+                if (versionSplits.length==4 && !"0".equals(versionSplits[1])) {
+                    version = versionSplits[1] + ".0." + versionSplits[2] + '.' + versionSplits[3];
+                    majorVersion = versionSplits[1];
+                }
+
+//                if (currentVersion.isDefaultValue()  ||
+//                    (!currentVersion.getValue().contains(".") && usingFullVersions)) {
+                if (newVersionIsBetter(currentVersion, version)) {
+                    overrideValue(userAgent.get(AGENT_NAME), "Chrome");
+                    overrideValue(currentVersion, version);
+                    overrideValue(userAgent.get(AGENT_NAME_VERSION), "Chrome " + version);
+                    overrideValue(userAgent.get(AGENT_VERSION_MAJOR), majorVersion);
+                    overrideValue(userAgent.get(AGENT_NAME_VERSION_MAJOR), "Chrome " + majorVersion);
+                    return;
                 }
             }
         }
+        versionMap.remove("Chrome");
+        versionMap.remove("Google Chrome");
+        // ========================
+
+        // If anything remains then (we think) THAT is the truth...
+        for (Map.Entry<String, Brand> brandEntry : versionMap.entrySet()) {
+            Brand brand = brandEntry.getValue();
+            String rawBrandName = brand.getName();
+            String agentName = rawBrandName;
+
+            // Sanitize the common yet unwanted names
+            switch (rawBrandName) {
+                case "Microsoft Edge":
+                    agentName = "Edge";
+                    break;
+                default:
+            }
+
+            MutableAgentField agentNameField = userAgent.get(AGENT_NAME);
+            MutableAgentField agentVersionField = userAgent.get(AGENT_VERSION);
+
+            switch (agentName) {
+                case "Opera":
+                    // There is a bug in Opera which puts the wrong version in the client hints.
+                    break;
+
+                default:
+                    // Only do this if the existing in only a major version, and we have received full versions
+                    if (agentVersionField.getValue().contains(".") && !usingFullVersions){
+                        continue;
+                    }
+                    // In all other cases the client hint is expected to be "more" true.
+                    String version = brand.getVersion();
+                    String majorVersion = version.split("\\.")[0];
+                    overrideValue(agentNameField, agentName);
+                    overrideValue(userAgent.get(AGENT_VERSION), version);
+                    overrideValue(userAgent.get(AGENT_NAME_VERSION), agentName + " " + version);
+                    overrideValue(userAgent.get(AGENT_VERSION_MAJOR), majorVersion);
+                    overrideValue(userAgent.get(AGENT_NAME_VERSION_MAJOR), agentName + " " + majorVersion);
+                    break;
+            }
+        }
     }
 
     // In the above calculations there are fields that require additional input fields.
     private static final Map<String, Set<String>> EXTRA_FIELD_DEPENDENCIES = new TreeMap<>();
     static {
diff --git a/analyzer/src/main/resources/UserAgents/Anonymize-Kamo.yaml b/analyzer/src/main/resources/UserAgents/Anonymize-Kamo.yaml
new file mode 100644
index 00000000..79322450
--- /dev/null
+++ b/analyzer/src/main/resources/UserAgents/Anonymize-Kamo.yaml
@@ -0,0 +1,1455 @@
+config:
+
+# Tags used by https://www.ccleaner.com/kamo that must be ignored
+- set:
+    name: 'KamoAgents'
+    values:
+    - 'Agency'
+    - 'AtContent'
+    - 'Config'
+    - 'GLS'
+    - 'Herring'
+    - 'LikeWise'
+    - 'OpenWave'
+    - 'Trailer'
+    - 'Unique'
+    - 'Viewer'
+
+
+- test:
+    input:
+      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.0.0 Safari/537.36 Trailer/98.3.7512.13'
+      Sec-Ch-Ua                            : '" Not A;Brand";v="99", "Chromium";v="100", "Google Chrome";v="100"'
+      Sec-Ch-Ua-Mobile                     : '?0'
+      Sec-Ch-Ua-Platform                   : '"Windows"'
+    expected:
+      DeviceClass                          : 'Desktop'
+      DeviceName                           : 'Desktop'
+      DeviceBrand                          : 'Unknown'
+      DeviceCpu                            : 'Intel x86_64'
+      DeviceCpuBits                        : '64'
+      OperatingSystemClass                 : 'Desktop'
+      OperatingSystemName                  : 'Windows NT'
+      OperatingSystemVersion               : '??'
+      OperatingSystemVersionMajor          : '??'
+      OperatingSystemNameVersion           : 'Windows NT ??'
+      OperatingSystemNameVersionMajor      : 'Windows NT ??'
+      LayoutEngineClass                    : 'Browser'
+      LayoutEngineName                     : 'Blink'
+      LayoutEngineVersion                  : '100'
+      LayoutEngineVersionMajor             : '100'
+      LayoutEngineNameVersion              : 'Blink 100'
+      LayoutEngineNameVersionMajor         : 'Blink 100'
+      AgentClass                           : 'Browser'
+      AgentName                            : 'Chrome'
+      AgentVersion                         : '100'
+      AgentVersionMajor                    : '100'
+      AgentNameVersion                     : 'Chrome 100'
+      AgentNameVersionMajor                : 'Chrome 100'
+      UAClientHintBrands_0_Brand           : 'Chromium'
+      UAClientHintBrands_0_Version         : '100'
+      UAClientHintBrands_1_Brand           : 'Google Chrome'
+      UAClientHintBrands_1_Version         : '100'
+      UAClientHintMobile                   : 'false'
+      UAClientHintPlatform                 : 'Windows'
+
+
+- test:
+    input:
+      User-Agent                                 : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.0.0 Safari/537.36 Trailer/98.3.7512.13'
+      Sec-Ch-Ua                                  : '" Not A;Brand";v="99", "Chromium";v="100", "Google Chrome";v="100"'
+      Sec-Ch-Ua-Arch                             : '"x86"'
+      Sec-Ch-Ua-Bitness                          : '"64"'
+      Sec-Ch-Ua-Full-Version                     : '"100.0.4896.127"'
+      Sec-Ch-Ua-Full-Version-List                : '" Not A;Brand";v="99.0.0.0", "Chromium";v="100.0.4896.127", "Google Chrome";v="100.0.4896.127"'
+      Sec-Ch-Ua-Mobile                           : '?0'
+      Sec-Ch-Ua-Model                            : '""'
+      Sec-Ch-Ua-Platform                         : '"Windows"'
+      Sec-Ch-Ua-Platform-Version                 : '"0.1.0"'
+      Sec-Ch-Ua-Wow64                            : '?0'
+    expected:
+      DeviceClass                                : 'Desktop'
+      DeviceName                                 : 'Desktop'
+      DeviceBrand                                : 'Unknown'
+      DeviceCpu                                  : 'Intel x86_64'
+      DeviceCpuBits                              : '64'
+      OperatingSystemClass                       : 'Desktop'
+      OperatingSystemName                        : 'Windows NT'
+      OperatingSystemVersion                     : '7'
+      OperatingSystemVersionMajor                : '7'
+      OperatingSystemNameVersion                 : 'Windows 7'
+      OperatingSystemNameVersionMajor            : 'Windows 7'
+      LayoutEngineClass                          : 'Browser'
+      LayoutEngineName                           : 'Blink'
+      LayoutEngineVersion                        : '100.0'
+      LayoutEngineVersionMajor                   : '100'
+      LayoutEngineNameVersion                    : 'Blink 100.0'
+      LayoutEngineNameVersionMajor               : 'Blink 100'
+      AgentClass                                 : 'Browser'
+      AgentName                                  : 'Chrome'
+      AgentVersion                               : '100.0.4896.127'
+      AgentVersionMajor                          : '100'
+      AgentNameVersion                           : 'Chrome 100.0.4896.127'
+      AgentNameVersionMajor                      : 'Chrome 100'
+
+      UAClientHintArchitecture                   : 'x86'
+      UAClientHintBitness                        : '64'
+      UAClientHintBrands_0_Brand                 : 'Chromium'
+      UAClientHintBrands_0_Version               : '100'
+      UAClientHintBrands_1_Brand                 : 'Google Chrome'
+      UAClientHintBrands_1_Version               : '100'
+      UAClientHintFullVersion                    : '100.0.4896.127'
+      UAClientHintFullVersionList_0_Brand        : 'Chromium'
+      UAClientHintFullVersionList_0_Version      : '100.0.4896.127'
+      UAClientHintFullVersionList_1_Brand        : 'Google Chrome'
+      UAClientHintFullVersionList_1_Version      : '100.0.4896.127'
+      UAClientHintMobile                         : 'false'
+      UAClientHintPlatform                       : 'Windows'
+      UAClientHintPlatformVersion                : '0.1.0'
+      UAClientHintWow64                          : 'false'
+
+
+- test:
+    input:
+      User-Agent                                 : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 GLS/93.10.5259.60'
+      Sec-Ch-Ua                                  : '"Not?A_Brand";v="8", "Chromium";v="108", "Google Chrome";v="108"'
+      Sec-Ch-Ua-Arch                             : '"x86"'
+      Sec-Ch-Ua-Bitness                          : '"64"'
+      Sec-Ch-Ua-Full-Version                     : '"108.0.5359.72"'
+      Sec-Ch-Ua-Full-Version-List                : '"Not?A_Brand";v="8.0.0.0", "Chromium";v="108.0.5359.72", "Google Chrome";v="108.0.5359.72"'
+      Sec-Ch-Ua-Mobile                           : '?0'
+      Sec-Ch-Ua-Model                            : '""'
+      Sec-Ch-Ua-Platform                         : '"Windows"'
+      Sec-Ch-Ua-Platform-Version                 : '"0.1.0"'
+      Sec-Ch-Ua-Wow64                            : '?0'
+    expected:
+      DeviceClass                                : 'Desktop'
+      DeviceName                                 : 'Desktop'
+      DeviceBrand                                : 'Unknown'
+      DeviceCpu                                  : 'Intel x86_64'
+      DeviceCpuBits                              : '64'
+      OperatingSystemClass                       : 'Desktop'
+      OperatingSystemName                        : 'Windows NT'
+      OperatingSystemVersion                     : '7'
+      OperatingSystemVersionMajor                : '7'
+      OperatingSystemNameVersion                 : 'Windows 7'
+      OperatingSystemNameVersionMajor            : 'Windows 7'
+      LayoutEngineClass                          : 'Browser'
+      LayoutEngineName                           : 'Blink'
+      LayoutEngineVersion                        : '108.0'
+      LayoutEngineVersionMajor                   : '108'
+      LayoutEngineNameVersion                    : 'Blink 108.0'
+      LayoutEngineNameVersionMajor               : 'Blink 108'
+      AgentClass                                 : 'Browser'
+      AgentName                                  : 'Chrome'
+      AgentVersion                               : '108.0.5359.72'
+      AgentVersionMajor                          : '108'
+      AgentNameVersion                           : 'Chrome 108.0.5359.72'
+      AgentNameVersionMajor                      : 'Chrome 108'
+
+      UAClientHintArchitecture                   : 'x86'
+      UAClientHintBitness                        : '64'
+      UAClientHintBrands_0_Brand                 : 'Chromium'
+      UAClientHintBrands_0_Version               : '108'
+      UAClientHintBrands_1_Brand                 : 'Google Chrome'
+      UAClientHintBrands_1_Version               : '108'
+      UAClientHintFullVersion                    : '108.0.5359.72'
+      UAClientHintFullVersionList_0_Brand        : 'Chromium'
+      UAClientHintFullVersionList_0_Version      : '108.0.5359.72'
+      UAClientHintFullVersionList_1_Brand        : 'Google Chrome'
+      UAClientHintFullVersionList_1_Version      : '108.0.5359.72'
+      UAClientHintMobile                         : 'false'
+      UAClientHintPlatform                       : 'Windows'
+      UAClientHintPlatformVersion                : '0.1.0'
+      UAClientHintWow64                          : 'false'
+
+
+- test:
+    input:
+      User-Agent                                 : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 LikeWise/94.6.5565.66'
+      Sec-Ch-Ua                                  : '"Not?A_Brand";v="8", "Chromium";v="108", "Google Chrome";v="108"'
+      Sec-Ch-Ua-Arch                             : '"x86"'
+      Sec-Ch-Ua-Bitness                          : '"64"'
+      Sec-Ch-Ua-Full-Version                     : '"108.0.5359.72"'
+      Sec-Ch-Ua-Full-Version-List                : '"Not?A_Brand";v="8.0.0.0", "Chromium";v="108.0.5359.72", "Google Chrome";v="108.0.5359.72"'
+      Sec-Ch-Ua-Mobile                           : '?0'
+      Sec-Ch-Ua-Model                            : '""'
+      Sec-Ch-Ua-Platform                         : '"Windows"'
+      Sec-Ch-Ua-Platform-Version                 : '"0.1.0"'
+      Sec-Ch-Ua-Wow64                            : '?0'
+    expected:
+      DeviceClass                                : 'Desktop'
+      DeviceName                                 : 'Desktop'
+      DeviceBrand                                : 'Unknown'
+      DeviceCpu                                  : 'Intel x86_64'
+      DeviceCpuBits                              : '64'
+      OperatingSystemClass                       : 'Desktop'
+      OperatingSystemName                        : 'Windows NT'
+      OperatingSystemVersion                     : '7'
+      OperatingSystemVersionMajor                : '7'
+      OperatingSystemNameVersion                 : 'Windows 7'
+      OperatingSystemNameVersionMajor            : 'Windows 7'
+      LayoutEngineClass                          : 'Browser'
+      LayoutEngineName                           : 'Blink'
+      LayoutEngineVersion                        : '108.0'
+      LayoutEngineVersionMajor                   : '108'
+      LayoutEngineNameVersion                    : 'Blink 108.0'
+      LayoutEngineNameVersionMajor               : 'Blink 108'
+      AgentClass                                 : 'Browser'
+      AgentName                                  : 'Chrome'
+      AgentVersion                               : '108.0.5359.72'
+      AgentVersionMajor                          : '108'
+      AgentNameVersion                           : 'Chrome 108.0.5359.72'
+      AgentNameVersionMajor                      : 'Chrome 108'
+
+      UAClientHintArchitecture                   : 'x86'
+      UAClientHintBitness                        : '64'
+      UAClientHintBrands_0_Brand                 : 'Chromium'
+      UAClientHintBrands_0_Version               : '108'
+      UAClientHintBrands_1_Brand                 : 'Google Chrome'
+      UAClientHintBrands_1_Version               : '108'
+      UAClientHintFullVersion                    : '108.0.5359.72'
+      UAClientHintFullVersionList_0_Brand        : 'Chromium'
+      UAClientHintFullVersionList_0_Version      : '108.0.5359.72'
+      UAClientHintFullVersionList_1_Brand        : 'Google Chrome'
+      UAClientHintFullVersionList_1_Version      : '108.0.5359.72'
+      UAClientHintMobile                         : 'false'
+      UAClientHintPlatform                       : 'Windows'
+      UAClientHintPlatformVersion                : '0.1.0'
+      UAClientHintWow64                          : 'false'
+
+
+- test:
+    input:
+      User-Agent                                 : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 LikeWise/95.6.7405.6'
+      Sec-Ch-Ua                                  : '"Not?A_Brand";v="8", "Chromium";v="108", "Google Chrome";v="108"'
+      Sec-Ch-Ua-Arch                             : '"x86"'
+      Sec-Ch-Ua-Bitness                          : '"64"'
+      Sec-Ch-Ua-Full-Version                     : '"108.0.5359.72"'
+      Sec-Ch-Ua-Full-Version-List                : '"Not?A_Brand";v="8.0.0.0", "Chromium";v="108.0.5359.72", "Google Chrome";v="108.0.5359.72"'
+      Sec-Ch-Ua-Mobile                           : '?0'
+      Sec-Ch-Ua-Model                            : '""'
+      Sec-Ch-Ua-Platform                         : '"Windows"'
+      Sec-Ch-Ua-Platform-Version                 : '"0.1.0"'
+      Sec-Ch-Ua-Wow64                            : '?0'
+    expected:
+      DeviceClass                                : 'Desktop'
+      DeviceName                                 : 'Desktop'
+      DeviceBrand                                : 'Unknown'
+      DeviceCpu                                  : 'Intel x86_64'
+      DeviceCpuBits                              : '64'
+      OperatingSystemClass                       : 'Desktop'
+      OperatingSystemName                        : 'Windows NT'
+      OperatingSystemVersion                     : '7'
+      OperatingSystemVersionMajor                : '7'
+      OperatingSystemNameVersion                 : 'Windows 7'
+      OperatingSystemNameVersionMajor            : 'Windows 7'
+      LayoutEngineClass                          : 'Browser'
+      LayoutEngineName                           : 'Blink'
+      LayoutEngineVersion                        : '108.0'
+      LayoutEngineVersionMajor                   : '108'
+      LayoutEngineNameVersion                    : 'Blink 108.0'
+      LayoutEngineNameVersionMajor               : 'Blink 108'
+      AgentClass                                 : 'Browser'
+      AgentName                                  : 'Chrome'
+      AgentVersion                               : '108.0.5359.72'
+      AgentVersionMajor                          : '108'
+      AgentNameVersion                           : 'Chrome 108.0.5359.72'
+      AgentNameVersionMajor                      : 'Chrome 108'
+
+      UAClientHintArchitecture                   : 'x86'
+      UAClientHintBitness                        : '64'
+      UAClientHintBrands_0_Brand                 : 'Chromium'
+      UAClientHintBrands_0_Version               : '108'
+      UAClientHintBrands_1_Brand                 : 'Google Chrome'
+      UAClientHintBrands_1_Version               : '108'
+      UAClientHintFullVersion                    : '108.0.5359.72'
+      UAClientHintFullVersionList_0_Brand        : 'Chromium'
+      UAClientHintFullVersionList_0_Version      : '108.0.5359.72'
+      UAClientHintFullVersionList_1_Brand        : 'Google Chrome'
+      UAClientHintFullVersionList_1_Version      : '108.0.5359.72'
+      UAClientHintMobile                         : 'false'
+      UAClientHintPlatform                       : 'Windows'
+      UAClientHintPlatformVersion                : '0.1.0'
+      UAClientHintWow64                          : 'false'
+
+
+- test:
+    input:
+      User-Agent                                 : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 OpenWave/98.4.3033.34'
+      Sec-Ch-Ua                                  : '"Not?A_Brand";v="8", "Chromium";v="108", "Google Chrome";v="108"'
+      Sec-Ch-Ua-Arch                             : '"x86"'
+      Sec-Ch-Ua-Bitness                          : '"64"'
+      Sec-Ch-Ua-Full-Version                     : '"108.0.5359.72"'
+      Sec-Ch-Ua-Full-Version-List                : '"Not?A_Brand";v="8.0.0.0", "Chromium";v="108.0.5359.72", "Google Chrome";v="108.0.5359.72"'
+      Sec-Ch-Ua-Mobile                           : '?0'
+      Sec-Ch-Ua-Model                            : '""'
+      Sec-Ch-Ua-Platform                         : '"Windows"'
+      Sec-Ch-Ua-Platform-Version                 : '"0.1.0"'
+      Sec-Ch-Ua-Wow64                            : '?0'
+    expected:
+      DeviceClass                                : 'Desktop'
+      DeviceName                                 : 'Desktop'
+      DeviceBrand                                : 'Unknown'
+      DeviceCpu                                  : 'Intel x86_64'
+      DeviceCpuBits                              : '64'
+      OperatingSystemClass                       : 'Desktop'
+      OperatingSystemName                        : 'Windows NT'
+      OperatingSystemVersion                     : '7'
+      OperatingSystemVersionMajor                : '7'
+      OperatingSystemNameVersion                 : 'Windows 7'
+      OperatingSystemNameVersionMajor            : 'Windows 7'
+      LayoutEngineClass                          : 'Browser'
+      LayoutEngineName                           : 'Blink'
+      LayoutEngineVersion                        : '108.0'
+      LayoutEngineVersionMajor                   : '108'
+      LayoutEngineNameVersion                    : 'Blink 108.0'
+      LayoutEngineNameVersionMajor               : 'Blink 108'
+      AgentClass                                 : 'Browser'
+      AgentName                                  : 'Chrome'
+      AgentVersion                               : '108.0.5359.72'
+      AgentVersionMajor                          : '108'
+      AgentNameVersion                           : 'Chrome 108.0.5359.72'
+      AgentNameVersionMajor                      : 'Chrome 108'
+
+      UAClientHintArchitecture                   : 'x86'
+      UAClientHintBitness                        : '64'
+      UAClientHintBrands_0_Brand                 : 'Chromium'
+      UAClientHintBrands_0_Version               : '108'
+      UAClientHintBrands_1_Brand                 : 'Google Chrome'
+      UAClientHintBrands_1_Version               : '108'
+      UAClientHintFullVersion                    : '108.0.5359.72'
+      UAClientHintFullVersionList_0_Brand        : 'Chromium'
+      UAClientHintFullVersionList_0_Version      : '108.0.5359.72'
+      UAClientHintFullVersionList_1_Brand        : 'Google Chrome'
+      UAClientHintFullVersionList_1_Version      : '108.0.5359.72'
+      UAClientHintMobile                         : 'false'
+      UAClientHintPlatform                       : 'Windows'
+      UAClientHintPlatformVersion                : '0.1.0'
+      UAClientHintWow64                          : 'false'
+
+
+- test:
+    input:
+      User-Agent                           : 'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko GLS/93.10.5259.60'
+    expected:
+      DeviceClass                          : 'Desktop'
+      DeviceName                           : 'Desktop'
+      DeviceBrand                          : 'Unknown'
+      DeviceCpu                            : 'Intel x86_64'
+      DeviceCpuBits                        : '64'
+      OperatingSystemClass                 : 'Desktop'
+      OperatingSystemName                  : 'Windows NT'
+      OperatingSystemVersion               : '7'
+      OperatingSystemVersionMajor          : '7'
+      OperatingSystemNameVersion           : 'Windows 7'
+      OperatingSystemNameVersionMajor      : 'Windows 7'
+      LayoutEngineClass                    : 'Browser'
+      LayoutEngineName                     : 'Trident'
+      LayoutEngineVersion                  : '7.0'
+      LayoutEngineVersionMajor             : '7'
+      LayoutEngineNameVersion              : 'Trident 7.0'
+      LayoutEngineNameVersionMajor         : 'Trident 7'
+      AgentClass                           : 'Browser'
+      AgentName                            : 'Internet Explorer'
+      AgentVersion                         : '11.0'
+      AgentVersionMajor                    : '11'
+      AgentNameVersion                     : 'Internet Explorer 11.0'
+      AgentNameVersionMajor                : 'Internet Explorer 11'
+
+
+- test:
+    input:
+      User-Agent                           : 'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko LikeWise/94.6.5565.66'
+    expected:
+      DeviceClass                          : 'Desktop'
+      DeviceName                           : 'Desktop'
+      DeviceBrand                          : 'Unknown'
+      DeviceCpu                            : 'Intel x86_64'
+      DeviceCpuBits                        : '64'
+      OperatingSystemClass                 : 'Desktop'
+      OperatingSystemName                  : 'Windows NT'
+      OperatingSystemVersion               : '7'
+      OperatingSystemVersionMajor          : '7'
+      OperatingSystemNameVersion           : 'Windows 7'
+      OperatingSystemNameVersionMajor      : 'Windows 7'
+      LayoutEngineClass                    : 'Browser'
+      LayoutEngineName                     : 'Trident'
+      LayoutEngineVersion                  : '7.0'
+      LayoutEngineVersionMajor             : '7'
+      LayoutEngineNameVersion              : 'Trident 7.0'
+      LayoutEngineNameVersionMajor         : 'Trident 7'
+      AgentClass                           : 'Browser'
+      AgentName                            : 'Internet Explorer'
+      AgentVersion                         : '11.0'
+      AgentVersionMajor                    : '11'
+      AgentNameVersion                     : 'Internet Explorer 11.0'
+      AgentNameVersionMajor                : 'Internet Explorer 11'
+
+
+- test:
+    input:
+      User-Agent                           : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36'
+    expected:
+      DeviceClass                          : 'Desktop'
+      DeviceName                           : 'Desktop'
+      DeviceBrand                          : 'Unknown'
+      DeviceCpu                            : 'Intel x86_64'
+      DeviceCpuBits                        : '64'
+      OperatingSystemClass                 : 'Desktop'
+      OperatingSystemName                  : 'Windows NT'
+      OperatingSystemVersion               : '7'
+      OperatingSystemVersionMajor          : '7'
+      OperatingSystemNameVersion           : 'Windows 7'
+      OperatingSystemNameVersionMajor      : 'Windows 7'
+      LayoutEngineClass                    : 'Browser'
+      LayoutEngineName                     : 'Blink'
+      LayoutEngineVersion                  : '107'
+      LayoutEngineVersionMajor             : '107'
+      LayoutEngineNameVersion              : 'Blink 107'
+      LayoutEngineNameVersionMajor         : 'Blink 107'
+      AgentClass                           : 'Browser'
+      AgentName                            : 'Chrome'
+      AgentVersion                         : '107'
+      AgentVersionMajor                    : '107'
+      AgentNameVersion                     : 'Chrome 107'
+      AgentNameVersionMajor                : 'Chrome 107'
+
+
+- test:
+    input:
+      User-Agent                                 : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.62'
+      Sec-Ch-Ua                                  : '"Microsoft Edge";v="107", "Chromium";v="107", "Not=A?Brand";v="24"'
+      Sec-Ch-Ua-Arch                             : '"x86"'
+      Sec-Ch-Ua-Bitness                          : '"64"'
+      Sec-Ch-Ua-Full-Version                     : '"107.0.1418.62"'
+      Sec-Ch-Ua-Full-Version-List                : '"Microsoft Edge";v="107.0.1418.62", "Chromium";v="107.0.5304.150", "Not=A?Brand";v="24.0.0.0"'
+      Sec-Ch-Ua-Mobile                           : '?0'
+      Sec-Ch-Ua-Model                            : '""'
+      Sec-Ch-Ua-Platform                         : '"Windows"'
+      Sec-Ch-Ua-Platform-Version                 : '"0.1.0"'
+      Sec-Ch-Ua-Wow64                            : '?0'
+    expected:
+      DeviceClass                                : 'Desktop'
+      DeviceName                                 : 'Desktop'
+      DeviceBrand                                : 'Unknown'
+      DeviceCpu                                  : 'Intel x86_64'
+      DeviceCpuBits                              : '64'
+      OperatingSystemClass                       : 'Desktop'
+      OperatingSystemName                        : 'Windows NT'
+      OperatingSystemVersion                     : '7'
+      OperatingSystemVersionMajor                : '7'
+      OperatingSystemNameVersion                 : 'Windows 7'
+      OperatingSystemNameVersionMajor            : 'Windows 7'
+      LayoutEngineClass                          : 'Browser'
+      LayoutEngineName                           : 'Blink'
+      LayoutEngineVersion                        : '107.0'
+      LayoutEngineVersionMajor                   : '107'
+      LayoutEngineNameVersion                    : 'Blink 107.0'
+      LayoutEngineNameVersionMajor               : 'Blink 107'
+      AgentClass                                 : 'Browser'
+      AgentName                                  : 'Edge'
+      AgentVersion                               : '107.0.1418.62'
+      AgentVersionMajor                          : '107'
+      AgentNameVersion                           : 'Edge 107.0.1418.62'
+      AgentNameVersionMajor                      : 'Edge 107'
+
+      UAClientHintArchitecture                   : 'x86'
+      UAClientHintBitness                        : '64'
+      UAClientHintBrands_0_Brand                 : 'Microsoft Edge'
+      UAClientHintBrands_0_Version               : '107'
+      UAClientHintBrands_1_Brand                 : 'Chromium'
+      UAClientHintBrands_1_Version               : '107'
+      UAClientHintFullVersion                    : '107.0.1418.62'
+      UAClientHintFullVersionList_0_Brand        : 'Microsoft Edge'
+      UAClientHintFullVersionList_0_Version      : '107.0.1418.62'
+      UAClientHintFullVersionList_1_Brand        : 'Chromium'
+      UAClientHintFullVersionList_1_Version      : '107.0.5304.150'
+      UAClientHintMobile                         : 'false'
+      UAClientHintPlatform                       : 'Windows'
+      UAClientHintPlatformVersion                : '0.1.0'
+      UAClientHintWow64                          : 'false'
+
+
+- test:
+    input:
+      User-Agent                                 : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.62 GLS/93.10.5259.60'
+      Sec-Ch-Ua                                  : '"Microsoft Edge";v="107", "Chromium";v="107", "Not=A?Brand";v="24"'
+      Sec-Ch-Ua-Arch                             : '"x86"'
+      Sec-Ch-Ua-Bitness                          : '"64"'
+      Sec-Ch-Ua-Full-Version                     : '"107.0.1418.62"'
+      Sec-Ch-Ua-Full-Version-List                : '"Microsoft Edge";v="107.0.1418.62", "Chromium";v="107.0.5304.150", "Not=A?Brand";v="24.0.0.0"'
+      Sec-Ch-Ua-Mobile                           : '?0'
+      Sec-Ch-Ua-Model                            : '""'
+      Sec-Ch-Ua-Platform                         : '"Windows"'
+      Sec-Ch-Ua-Platform-Version                 : '"0.1.0"'
+      Sec-Ch-Ua-Wow64                            : '?0'
+    expected:
+      DeviceClass                                : 'Desktop'
+      DeviceName                                 : 'Desktop'
+      DeviceBrand                                : 'Unknown'
+      DeviceCpu                                  : 'Intel x86_64'
+      DeviceCpuBits                              : '64'
+      OperatingSystemClass                       : 'Desktop'
+      OperatingSystemName                        : 'Windows NT'
+      OperatingSystemVersion                     : '7'
+      OperatingSystemVersionMajor                : '7'
+      OperatingSystemNameVersion                 : 'Windows 7'
+      OperatingSystemNameVersionMajor            : 'Windows 7'
+      LayoutEngineClass                          : 'Browser'
+      LayoutEngineName                           : 'Blink'
+      LayoutEngineVersion                        : '107.0'
+      LayoutEngineVersionMajor                   : '107'
+      LayoutEngineNameVersion                    : 'Blink 107.0'
+      LayoutEngineNameVersionMajor               : 'Blink 107'
+      AgentClass                                 : 'Browser'
+      AgentName                                  : 'Edge'
+      AgentVersion                               : '107.0.1418.62'
+      AgentVersionMajor                          : '107'
+      AgentNameVersion                           : 'Edge 107.0.1418.62'
+      AgentNameVersionMajor                      : 'Edge 107'
+
+      UAClientHintArchitecture                   : 'x86'
+      UAClientHintBitness                        : '64'
+      UAClientHintBrands_0_Brand                 : 'Microsoft Edge'
+      UAClientHintBrands_0_Version               : '107'
+      UAClientHintBrands_1_Brand                 : 'Chromium'
+      UAClientHintBrands_1_Version               : '107'
+      UAClientHintFullVersion                    : '107.0.1418.62'
+      UAClientHintFullVersionList_0_Brand        : 'Microsoft Edge'
+      UAClientHintFullVersionList_0_Version      : '107.0.1418.62'
+      UAClientHintFullVersionList_1_Brand        : 'Chromium'
+      UAClientHintFullVersionList_1_Version      : '107.0.5304.150'
+      UAClientHintMobile                         : 'false'
+      UAClientHintPlatform                       : 'Windows'
+      UAClientHintPlatformVersion                : '0.1.0'
+      UAClientHintWow64                          : 'false'
+
+
+- test:
+    input:
+      User-Agent                                 : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.62 LikeWise/94.6.5565.66'
+      Sec-Ch-Ua                                  : '"Microsoft Edge";v="107", "Chromium";v="107", "Not=A?Brand";v="24"'
+      Sec-Ch-Ua-Arch                             : '"x86"'
+      Sec-Ch-Ua-Bitness                          : '"64"'
+      Sec-Ch-Ua-Full-Version                     : '"107.0.1418.62"'
+      Sec-Ch-Ua-Full-Version-List                : '"Microsoft Edge";v="107.0.1418.62", "Chromium";v="107.0.5304.150", "Not=A?Brand";v="24.0.0.0"'
+      Sec-Ch-Ua-Mobile                           : '?0'
+      Sec-Ch-Ua-Model                            : '""'
+      Sec-Ch-Ua-Platform                         : '"Windows"'
+      Sec-Ch-Ua-Platform-Version                 : '"0.1.0"'
+      Sec-Ch-Ua-Wow64                            : '?0'
+    expected:
+      DeviceClass                                : 'Desktop'
+      DeviceName                                 : 'Desktop'
+      DeviceBrand                                : 'Unknown'
+      DeviceCpu                                  : 'Intel x86_64'
+      DeviceCpuBits                              : '64'
+      OperatingSystemClass                       : 'Desktop'
+      OperatingSystemName                        : 'Windows NT'
+      OperatingSystemVersion                     : '7'
+      OperatingSystemVersionMajor                : '7'
+      OperatingSystemNameVersion                 : 'Windows 7'
+      OperatingSystemNameVersionMajor            : 'Windows 7'
+      LayoutEngineClass                          : 'Browser'
+      LayoutEngineName                           : 'Blink'
+      LayoutEngineVersion                        : '107.0'
+      LayoutEngineVersionMajor                   : '107'
+      LayoutEngineNameVersion                    : 'Blink 107.0'
+      LayoutEngineNameVersionMajor               : 'Blink 107'
+      AgentClass                                 : 'Browser'
+      AgentName                                  : 'Edge'
+      AgentVersion                               : '107.0.1418.62'
+      AgentVersionMajor                          : '107'
+      AgentNameVersion                           : 'Edge 107.0.1418.62'
+      AgentNameVersionMajor                      : 'Edge 107'
+
+      UAClientHintArchitecture                   : 'x86'
+      UAClientHintBitness                        : '64'
+      UAClientHintBrands_0_Brand                 : 'Microsoft Edge'
+      UAClientHintBrands_0_Version               : '107'
+      UAClientHintBrands_1_Brand                 : 'Chromium'
+      UAClientHintBrands_1_Version               : '107'
+      UAClientHintFullVersion                    : '107.0.1418.62'
+      UAClientHintFullVersionList_0_Brand        : 'Microsoft Edge'
+      UAClientHintFullVersionList_0_Version      : '107.0.1418.62'
+      UAClientHintFullVersionList_1_Brand        : 'Chromium'
+      UAClientHintFullVersionList_1_Version      : '107.0.5304.150'
+      UAClientHintMobile                         : 'false'
+      UAClientHintPlatform                       : 'Windows'
+      UAClientHintPlatformVersion                : '0.1.0'
+      UAClientHintWow64                          : 'false'
+
+
+- test:
+    input:
+      User-Agent                                 : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.62 LikeWise/95.6.7405.6'
+      Sec-Ch-Ua                                  : '"Microsoft Edge";v="107", "Chromium";v="107", "Not=A?Brand";v="24"'
+      Sec-Ch-Ua-Arch                             : '"x86"'
+      Sec-Ch-Ua-Bitness                          : '"64"'
+      Sec-Ch-Ua-Full-Version                     : '"107.0.1418.62"'
+      Sec-Ch-Ua-Full-Version-List                : '"Microsoft Edge";v="107.0.1418.62", "Chromium";v="107.0.5304.150", "Not=A?Brand";v="24.0.0.0"'
+      Sec-Ch-Ua-Mobile                           : '?0'
+      Sec-Ch-Ua-Model                            : '""'
+      Sec-Ch-Ua-Platform                         : '"Windows"'
+      Sec-Ch-Ua-Platform-Version                 : '"0.1.0"'
+      Sec-Ch-Ua-Wow64                            : '?0'
+    expected:
+      DeviceClass                                : 'Desktop'
+      DeviceName                                 : 'Desktop'
+      DeviceBrand                                : 'Unknown'
+      DeviceCpu                                  : 'Intel x86_64'
+      DeviceCpuBits                              : '64'
+      OperatingSystemClass                       : 'Desktop'
+      OperatingSystemName                        : 'Windows NT'
+      OperatingSystemVersion                     : '7'
+      OperatingSystemVersionMajor                : '7'
+      OperatingSystemNameVersion                 : 'Windows 7'
+      OperatingSystemNameVersionMajor            : 'Windows 7'
+      LayoutEngineClass                          : 'Browser'
+      LayoutEngineName                           : 'Blink'
+      LayoutEngineVersion                        : '107.0'
+      LayoutEngineVersionMajor                   : '107'
+      LayoutEngineNameVersion                    : 'Blink 107.0'
+      LayoutEngineNameVersionMajor               : 'Blink 107'
+      AgentClass                                 : 'Browser'
+      AgentName                                  : 'Edge'
+      AgentVersion                               : '107.0.1418.62'
+      AgentVersionMajor                          : '107'
+      AgentNameVersion                           : 'Edge 107.0.1418.62'
+      AgentNameVersionMajor                      : 'Edge 107'
+
+      UAClientHintArchitecture                   : 'x86'
+      UAClientHintBitness                        : '64'
+      UAClientHintBrands_0_Brand                 : 'Microsoft Edge'
+      UAClientHintBrands_0_Version               : '107'
+      UAClientHintBrands_1_Brand                 : 'Chromium'
+      UAClientHintBrands_1_Version               : '107'
+      UAClientHintFullVersion                    : '107.0.1418.62'
+      UAClientHintFullVersionList_0_Brand        : 'Microsoft Edge'
+      UAClientHintFullVersionList_0_Version      : '107.0.1418.62'
+      UAClientHintFullVersionList_1_Brand        : 'Chromium'
+      UAClientHintFullVersionList_1_Version      : '107.0.5304.150'
+      UAClientHintMobile                         : 'false'
+      UAClientHintPlatform                       : 'Windows'
+      UAClientHintPlatformVersion                : '0.1.0'
+      UAClientHintWow64                          : 'false'
+
+
+- test:
+    input:
+      User-Agent                                 : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.62 OpenWave/98.4.3033.34'
+      Sec-Ch-Ua                                  : '"Microsoft Edge";v="107", "Chromium";v="107", "Not=A?Brand";v="24"'
+      Sec-Ch-Ua-Arch                             : '"x86"'
+      Sec-Ch-Ua-Bitness                          : '"64"'
+      Sec-Ch-Ua-Full-Version                     : '"107.0.1418.62"'
+      Sec-Ch-Ua-Full-Version-List                : '"Microsoft Edge";v="107.0.1418.62", "Chromium";v="107.0.5304.150", "Not=A?Brand";v="24.0.0.0"'
+      Sec-Ch-Ua-Mobile                           : '?0'
+      Sec-Ch-Ua-Model                            : '""'
+      Sec-Ch-Ua-Platform                         : '"Windows"'
+      Sec-Ch-Ua-Platform-Version                 : '"0.1.0"'
+      Sec-Ch-Ua-Wow64                            : '?0'
+    expected:
+      DeviceClass                                : 'Desktop'
+      DeviceName                                 : 'Desktop'
+      DeviceBrand                                : 'Unknown'
+      DeviceCpu                                  : 'Intel x86_64'
+      DeviceCpuBits                              : '64'
+      OperatingSystemClass                       : 'Desktop'
+      OperatingSystemName                        : 'Windows NT'
+      OperatingSystemVersion                     : '7'
+      OperatingSystemVersionMajor                : '7'
+      OperatingSystemNameVersion                 : 'Windows 7'
+      OperatingSystemNameVersionMajor            : 'Windows 7'
+      LayoutEngineClass                          : 'Browser'
+      LayoutEngineName                           : 'Blink'
+      LayoutEngineVersion                        : '107.0'
+      LayoutEngineVersionMajor                   : '107'
+      LayoutEngineNameVersion                    : 'Blink 107.0'
+      LayoutEngineNameVersionMajor               : 'Blink 107'
+      AgentClass                                 : 'Browser'
+      AgentName                                  : 'Edge'
+      AgentVersion                               : '107.0.1418.62'
+      AgentVersionMajor                          : '107'
+      AgentNameVersion                           : 'Edge 107.0.1418.62'
+      AgentNameVersionMajor                      : 'Edge 107'
+
+      UAClientHintArchitecture                   : 'x86'
+      UAClientHintBitness                        : '64'
+      UAClientHintBrands_0_Brand                 : 'Microsoft Edge'
+      UAClientHintBrands_0_Version               : '107'
+      UAClientHintBrands_1_Brand                 : 'Chromium'
+      UAClientHintBrands_1_Version               : '107'
+      UAClientHintFullVersion                    : '107.0.1418.62'
+      UAClientHintFullVersionList_0_Brand        : 'Microsoft Edge'
+      UAClientHintFullVersionList_0_Version      : '107.0.1418.62'
+      UAClientHintFullVersionList_1_Brand        : 'Chromium'
+      UAClientHintFullVersionList_1_Version      : '107.0.5304.150'
+      UAClientHintMobile                         : 'false'
+      UAClientHintPlatform                       : 'Windows'
+      UAClientHintPlatformVersion                : '0.1.0'
+      UAClientHintWow64                          : 'false'
+
+
+- test:
+    input:
+      User-Agent                           : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.62 Trailer/98.3.7512.13'
+      Sec-Ch-Ua                            : '"Microsoft Edge";v="107", "Chromium";v="107", "Not=A?Brand";v="24"'
+      Sec-Ch-Ua-Mobile                     : '?0'
+      Sec-Ch-Ua-Platform                   : '"Windows"'
+    expected:
+      DeviceClass                          : 'Desktop'
+      DeviceName                           : 'Desktop'
+      DeviceBrand                          : 'Unknown'
+      DeviceCpu                            : 'Intel x86_64'
+      DeviceCpuBits                        : '64'
+      OperatingSystemClass                 : 'Desktop'
+      OperatingSystemName                  : 'Windows NT'
+      OperatingSystemVersion               : '7'
+      OperatingSystemVersionMajor          : '7'
+      OperatingSystemNameVersion           : 'Windows 7'
+      OperatingSystemNameVersionMajor      : 'Windows 7'
+      LayoutEngineClass                    : 'Browser'
+      LayoutEngineName                     : 'Blink'
+      LayoutEngineVersion                  : '107'
+      LayoutEngineVersionMajor             : '107'
+      LayoutEngineNameVersion              : 'Blink 107'
+      LayoutEngineNameVersionMajor         : 'Blink 107'
+      AgentClass                           : 'Browser'
+      AgentName                            : 'Edge'
+      AgentVersion                         : '107'
+      AgentVersionMajor                    : '107'
+      AgentNameVersion                     : 'Edge 107'
+      AgentNameVersionMajor                : 'Edge 107'
+
+      UAClientHintBrands_0_Brand           : 'Microsoft Edge'
+      UAClientHintBrands_0_Version         : '107'
+      UAClientHintBrands_1_Brand           : 'Chromium'
+      UAClientHintBrands_1_Version         : '107'
+      UAClientHintMobile                   : 'false'
+      UAClientHintPlatform                 : 'Windows'
+
+
+- test:
+    input:
+      User-Agent                                 : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.62 Trailer/98.3.7512.13'
+      Sec-Ch-Ua                                  : '"Microsoft Edge";v="107", "Chromium";v="107", "Not=A?Brand";v="24"'
+      Sec-Ch-Ua-Arch                             : '"x86"'
+      Sec-Ch-Ua-Bitness                          : '"64"'
+      Sec-Ch-Ua-Full-Version                     : '"107.0.1418.62"'
+      Sec-Ch-Ua-Full-Version-List                : '"Microsoft Edge";v="107.0.1418.62", "Chromium";v="107.0.5304.150", "Not=A?Brand";v="24.0.0.0"'
+      Sec-Ch-Ua-Mobile                           : '?0'
+      Sec-Ch-Ua-Model                            : '""'
+      Sec-Ch-Ua-Platform                         : '"Windows"'
+      Sec-Ch-Ua-Platform-Version                 : '"0.1.0"'
+      Sec-Ch-Ua-Wow64                            : '?0'
+    expected:
+      DeviceClass                                : 'Desktop'
+      DeviceName                                 : 'Desktop'
+      DeviceBrand                                : 'Unknown'
+      DeviceCpu                                  : 'Intel x86_64'
+      DeviceCpuBits                              : '64'
+      OperatingSystemClass                       : 'Desktop'
+      OperatingSystemName                        : 'Windows NT'
+      OperatingSystemVersion                     : '7'
+      OperatingSystemVersionMajor                : '7'
+      OperatingSystemNameVersion                 : 'Windows 7'
+      OperatingSystemNameVersionMajor            : 'Windows 7'
+      LayoutEngineClass                          : 'Browser'
+      LayoutEngineName                           : 'Blink'
+      LayoutEngineVersion                        : '107.0'
+      LayoutEngineVersionMajor                   : '107'
+      LayoutEngineNameVersion                    : 'Blink 107.0'
+      LayoutEngineNameVersionMajor               : 'Blink 107'
+      AgentClass                                 : 'Browser'
+      AgentName                                  : 'Edge'
+      AgentVersion                               : '107.0.1418.62'
+      AgentVersionMajor                          : '107'
+      AgentNameVersion                           : 'Edge 107.0.1418.62'
+      AgentNameVersionMajor                      : 'Edge 107'
+
+      UAClientHintArchitecture                   : 'x86'
+      UAClientHintBitness                        : '64'
+      UAClientHintBrands_0_Brand                 : 'Microsoft Edge'
+      UAClientHintBrands_0_Version               : '107'
+      UAClientHintBrands_1_Brand                 : 'Chromium'
+      UAClientHintBrands_1_Version               : '107'
+      UAClientHintFullVersion                    : '107.0.1418.62'
+      UAClientHintFullVersionList_0_Brand        : 'Microsoft Edge'
+      UAClientHintFullVersionList_0_Version      : '107.0.1418.62'
+      UAClientHintFullVersionList_1_Brand        : 'Chromium'
+      UAClientHintFullVersionList_1_Version      : '107.0.5304.150'
+      UAClientHintMobile                         : 'false'
+      UAClientHintPlatform                       : 'Windows'
+      UAClientHintPlatformVersion                : '0.1.0'
+      UAClientHintWow64                          : 'false'
+
+
+- test:
+    input:
+      User-Agent                                 : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 OPR/85.0.4341.60'
+      Sec-Ch-Ua                                  : '" Not A;Brand";v="99", "Chromium";v="99", "Opera";v="85"'
+      Sec-Ch-Ua-Arch                             : '"x86"'
+      Sec-Ch-Ua-Bitness                          : '"64"'
+      Sec-Ch-Ua-Full-Version                     : '"99.0.4844.84"'
+      Sec-Ch-Ua-Full-Version-List                : '" Not A;Brand";v="99.0.0.0", "Chromium";v="99.0.4844.84", "Opera";v="99.0.4844.84"'
+      Sec-Ch-Ua-Mobile                           : '?0'
+      Sec-Ch-Ua-Model                            : '""'
+      Sec-Ch-Ua-Platform                         : '"Windows"'
+      Sec-Ch-Ua-Platform-Version                 : '"0.0.0"'
+    expected:
+      DeviceClass                                : 'Desktop'
+      DeviceName                                 : 'Desktop'
+      DeviceBrand                                : 'Unknown'
+      DeviceCpu                                  : 'Intel x86_64'
+      DeviceCpuBits                              : '64'
+      OperatingSystemClass                       : 'Desktop'
+      OperatingSystemName                        : 'Windows NT'
+      OperatingSystemVersion                     : '7'
+      OperatingSystemVersionMajor                : '7'
+      OperatingSystemNameVersion                 : 'Windows 7'
+      OperatingSystemNameVersionMajor            : 'Windows 7'
+      LayoutEngineClass                          : 'Browser'
+      LayoutEngineName                           : 'Blink'
+      LayoutEngineVersion                        : '99.0'
+      LayoutEngineVersionMajor                   : '99'
+      LayoutEngineNameVersion                    : 'Blink 99.0'
+      LayoutEngineNameVersionMajor               : 'Blink 99'
+      AgentClass                                 : 'Browser'
+      AgentName                                  : 'Opera'
+      AgentVersion                               : '85.0.4341.60'
+      AgentVersionMajor                          : '85'
+      AgentNameVersion                           : 'Opera 85.0.4341.60'
+      AgentNameVersionMajor                      : 'Opera 85'
+      UAClientHintArchitecture                   : 'x86'
+      UAClientHintBitness                        : '64'
+      UAClientHintBrands_0_Brand                 : 'Chromium'
+      UAClientHintBrands_0_Version               : '99'
+      UAClientHintBrands_1_Brand                 : 'Opera'
+      UAClientHintBrands_1_Version               : '85'
+      UAClientHintFullVersion                    : '99.0.4844.84'
+      UAClientHintFullVersionList_0_Brand        : 'Chromium'
+      UAClientHintFullVersionList_0_Version      : '99.0.4844.84'
+      UAClientHintFullVersionList_1_Brand        : 'Opera'
+      UAClientHintFullVersionList_1_Version      : '99.0.4844.84'
+      UAClientHintMobile                         : 'false'
+      UAClientHintPlatform                       : 'Windows'
+      UAClientHintPlatformVersion                : '0.0.0'
+
+
+- test:
+    input:
+      User-Agent                                 : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 OPR/85.0.4341.60 GLS/93.10.5259.60'
+      Sec-Ch-Ua                                  : '" Not A;Brand";v="99", "Chromium";v="99", "Opera";v="85"'
+      Sec-Ch-Ua-Arch                             : '"x86"'
+      Sec-Ch-Ua-Bitness                          : '"64"'
+      Sec-Ch-Ua-Full-Version                     : '"99.0.4844.84"'
+      Sec-Ch-Ua-Full-Version-List                : '" Not A;Brand";v="99.0.0.0", "Chromium";v="99.0.4844.84", "Opera";v="99.0.4844.84"'
+      Sec-Ch-Ua-Mobile                           : '?0'
+      Sec-Ch-Ua-Model                            : '""'
+      Sec-Ch-Ua-Platform                         : '"Windows"'
+      Sec-Ch-Ua-Platform-Version                 : '"0.0.0"'
+    expected:
+      DeviceClass                                : 'Desktop'
+      DeviceName                                 : 'Desktop'
+      DeviceBrand                                : 'Unknown'
+      DeviceCpu                                  : 'Intel x86_64'
+      DeviceCpuBits                              : '64'
+      OperatingSystemClass                       : 'Desktop'
+      OperatingSystemName                        : 'Windows NT'
+      OperatingSystemVersion                     : '7'
+      OperatingSystemVersionMajor                : '7'
+      OperatingSystemNameVersion                 : 'Windows 7'
+      OperatingSystemNameVersionMajor            : 'Windows 7'
+      LayoutEngineClass                          : 'Browser'
+      LayoutEngineName                           : 'Blink'
+      LayoutEngineVersion                        : '99.0'
+      LayoutEngineVersionMajor                   : '99'
+      LayoutEngineNameVersion                    : 'Blink 99.0'
+      LayoutEngineNameVersionMajor               : 'Blink 99'
+      AgentClass                                 : 'Browser'
+      AgentName                                  : 'Opera'
+      AgentVersion                               : '85.0.4341.60'
+      AgentVersionMajor                          : '85'
+      AgentNameVersion                           : 'Opera 85.0.4341.60'
+      AgentNameVersionMajor                      : 'Opera 85'
+
+      UAClientHintArchitecture                   : 'x86'
+      UAClientHintBitness                        : '64'
+      UAClientHintBrands_0_Brand                 : 'Chromium'
+      UAClientHintBrands_0_Version               : '99'
+      UAClientHintBrands_1_Brand                 : 'Opera'
+      UAClientHintBrands_1_Version               : '85'
+      UAClientHintFullVersion                    : '99.0.4844.84'
+      UAClientHintFullVersionList_0_Brand        : 'Chromium'
+      UAClientHintFullVersionList_0_Version      : '99.0.4844.84'
+      UAClientHintFullVersionList_1_Brand        : 'Opera'
+      UAClientHintFullVersionList_1_Version      : '99.0.4844.84'
+      UAClientHintMobile                         : 'false'
+      UAClientHintPlatform                       : 'Windows'
+      UAClientHintPlatformVersion                : '0.0.0'
+
+
+- test:
+    input:
+      User-Agent                                 : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 OPR/85.0.4341.60 LikeWise/94.6.5565.66'
+      Sec-Ch-Ua                                  : '" Not A;Brand";v="99", "Chromium";v="99", "Opera";v="85"'
+      Sec-Ch-Ua-Arch                             : '"x86"'
+      Sec-Ch-Ua-Bitness                          : '"64"'
+      Sec-Ch-Ua-Full-Version                     : '"99.0.4844.84"'
+      Sec-Ch-Ua-Full-Version-List                : '" Not A;Brand";v="99.0.0.0", "Chromium";v="99.0.4844.84", "Opera";v="99.0.4844.84"'
+      Sec-Ch-Ua-Mobile                           : '?0'
+      Sec-Ch-Ua-Model                            : '""'
+      Sec-Ch-Ua-Platform                         : '"Windows"'
+      Sec-Ch-Ua-Platform-Version                 : '"0.0.0"'
+    expected:
+      DeviceClass                                : 'Desktop'
+      DeviceName                                 : 'Desktop'
+      DeviceBrand                                : 'Unknown'
+      DeviceCpu                                  : 'Intel x86_64'
+      DeviceCpuBits                              : '64'
+      OperatingSystemClass                       : 'Desktop'
+      OperatingSystemName                        : 'Windows NT'
+      OperatingSystemVersion                     : '7'
+      OperatingSystemVersionMajor                : '7'
+      OperatingSystemNameVersion                 : 'Windows 7'
+      OperatingSystemNameVersionMajor            : 'Windows 7'
+      LayoutEngineClass                          : 'Browser'
+      LayoutEngineName                           : 'Blink'
+      LayoutEngineVersion                        : '99.0'
+      LayoutEngineVersionMajor                   : '99'
+      LayoutEngineNameVersion                    : 'Blink 99.0'
+      LayoutEngineNameVersionMajor               : 'Blink 99'
+      AgentClass                                 : 'Browser'
+      AgentName                                  : 'Opera'
+      AgentVersion                               : '85.0.4341.60'
+      AgentVersionMajor                          : '85'
+      AgentNameVersion                           : 'Opera 85.0.4341.60'
+      AgentNameVersionMajor                      : 'Opera 85'
+
+      UAClientHintArchitecture                   : 'x86'
+      UAClientHintBitness                        : '64'
+      UAClientHintBrands_0_Brand                 : 'Chromium'
+      UAClientHintBrands_0_Version               : '99'
+      UAClientHintBrands_1_Brand                 : 'Opera'
+      UAClientHintBrands_1_Version               : '85'
+      UAClientHintFullVersion                    : '99.0.4844.84'
+      UAClientHintFullVersionList_0_Brand        : 'Chromium'
+      UAClientHintFullVersionList_0_Version      : '99.0.4844.84'
+      UAClientHintFullVersionList_1_Brand        : 'Opera'
+      UAClientHintFullVersionList_1_Version      : '99.0.4844.84'
+      UAClientHintMobile                         : 'false'
+      UAClientHintPlatform                       : 'Windows'
+      UAClientHintPlatformVersion                : '0.0.0'
+
+
+- test:
+    input:
+      User-Agent                                 : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 OPR/85.0.4341.60 LikeWise/95.6.7405.6'
+      Sec-Ch-Ua                                  : '" Not A;Brand";v="99", "Chromium";v="99", "Opera";v="85"'
+      Sec-Ch-Ua-Arch                             : '"x86"'
+      Sec-Ch-Ua-Bitness                          : '"64"'
+      Sec-Ch-Ua-Full-Version                     : '"99.0.4844.84"'
+      Sec-Ch-Ua-Full-Version-List                : '" Not A;Brand";v="99.0.0.0", "Chromium";v="99.0.4844.84", "Opera";v="99.0.4844.84"'
+      Sec-Ch-Ua-Mobile                           : '?0'
+      Sec-Ch-Ua-Model                            : '""'
+      Sec-Ch-Ua-Platform                         : '"Windows"'
+      Sec-Ch-Ua-Platform-Version                 : '"0.0.0"'
+    expected:
+      DeviceClass                                : 'Desktop'
+      DeviceName                                 : 'Desktop'
+      DeviceBrand                                : 'Unknown'
+      DeviceCpu                                  : 'Intel x86_64'
+      DeviceCpuBits                              : '64'
+      OperatingSystemClass                       : 'Desktop'
+      OperatingSystemName                        : 'Windows NT'
+      OperatingSystemVersion                     : '7'
+      OperatingSystemVersionMajor                : '7'
+      OperatingSystemNameVersion                 : 'Windows 7'
+      OperatingSystemNameVersionMajor            : 'Windows 7'
+      LayoutEngineClass                          : 'Browser'
+      LayoutEngineName                           : 'Blink'
+      LayoutEngineVersion                        : '99.0'
+      LayoutEngineVersionMajor                   : '99'
+      LayoutEngineNameVersion                    : 'Blink 99.0'
+      LayoutEngineNameVersionMajor               : 'Blink 99'
+      AgentClass                                 : 'Browser'
+      AgentName                                  : 'Opera'
+      AgentVersion                               : '85.0.4341.60'
+      AgentVersionMajor                          : '85'
+      AgentNameVersion                           : 'Opera 85.0.4341.60'
+      AgentNameVersionMajor                      : 'Opera 85'
+
+      UAClientHintArchitecture                   : 'x86'
+      UAClientHintBitness                        : '64'
+      UAClientHintBrands_0_Brand                 : 'Chromium'
+      UAClientHintBrands_0_Version               : '99'
+      UAClientHintBrands_1_Brand                 : 'Opera'
+      UAClientHintBrands_1_Version               : '85'
+      UAClientHintFullVersion                    : '99.0.4844.84'
+      UAClientHintFullVersionList_0_Brand        : 'Chromium'
+      UAClientHintFullVersionList_0_Version      : '99.0.4844.84'
+      UAClientHintFullVersionList_1_Brand        : 'Opera'
+      UAClientHintFullVersionList_1_Version      : '99.0.4844.84'
+      UAClientHintMobile                         : 'false'
+      UAClientHintPlatform                       : 'Windows'
+      UAClientHintPlatformVersion                : '0.0.0'
+
+
+- test:
+    input:
+      User-Agent                                 : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 OPR/85.0.4341.60 Trailer/98.3.7512.13'
+      Sec-Ch-Ua                                  : '" Not A;Brand";v="99", "Chromium";v="99", "Opera";v="85"'
+      Sec-Ch-Ua-Arch                             : '"x86"'
+      Sec-Ch-Ua-Full-Version                     : '"99.0.4844.84"'
+      Sec-Ch-Ua-Full-Version-List                : '" Not A;Brand";v="99.0.0.0", "Chromium";v="99.0.4844.84", "Opera";v="99.0.4844.84"'
+      Sec-Ch-Ua-Mobile                           : '?0'
+      Sec-Ch-Ua-Model                            : '""'
+      Sec-Ch-Ua-Platform                         : '"Windows"'
+      Sec-Ch-Ua-Platform-Version                 : '"0.0.0"'
+    expected:
+      DeviceClass                                : 'Desktop'
+      DeviceName                                 : 'Desktop'
+      DeviceBrand                                : 'Unknown'
+      DeviceCpu                                  : 'Intel x86_64'
+      DeviceCpuBits                              : '64'
+      OperatingSystemClass                       : 'Desktop'
+      OperatingSystemName                        : 'Windows NT'
+      OperatingSystemVersion                     : '7'
+      OperatingSystemVersionMajor                : '7'
+      OperatingSystemNameVersion                 : 'Windows 7'
+      OperatingSystemNameVersionMajor            : 'Windows 7'
+      LayoutEngineClass                          : 'Browser'
+      LayoutEngineName                           : 'Blink'
+      LayoutEngineVersion                        : '99.0'
+      LayoutEngineVersionMajor                   : '99'
+      LayoutEngineNameVersion                    : 'Blink 99.0'
+      LayoutEngineNameVersionMajor               : 'Blink 99'
+      AgentClass                                 : 'Browser'
+      AgentName                                  : 'Opera'
+      AgentVersion                               : '85.0.4341.60'
+      AgentVersionMajor                          : '85'
+      AgentNameVersion                           : 'Opera 85.0.4341.60'
+      AgentNameVersionMajor                      : 'Opera 85'
+
+      UAClientHintArchitecture                   : 'x86'
+      UAClientHintBrands_0_Brand                 : 'Chromium'
+      UAClientHintBrands_0_Version               : '99'
+      UAClientHintBrands_1_Brand                 : 'Opera'
+      UAClientHintBrands_1_Version               : '85'
+      UAClientHintFullVersion                    : '99.0.4844.84'
+      UAClientHintFullVersionList_0_Brand        : 'Chromium'
+      UAClientHintFullVersionList_0_Version      : '99.0.4844.84'
+      UAClientHintFullVersionList_1_Brand        : 'Opera'
+      UAClientHintFullVersionList_1_Version      : '99.0.4844.84'
+      UAClientHintMobile                         : 'false'
+      UAClientHintPlatform                       : 'Windows'
+      UAClientHintPlatformVersion                : '0.0.0'
+
+
+- test:
+    input:
+      User-Agent                           : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:94.0) Gecko/20100101 Firefox/94.0 Herring/583.19.9'
+    expected:
+      DeviceClass                          : 'Desktop'
+      DeviceName                           : 'Apple Macintosh'
+      DeviceBrand                          : 'Apple'
+      DeviceCpu                            : 'Intel'
+      DeviceCpuBits                        : '64'
+      OperatingSystemClass                 : 'Desktop'
+      OperatingSystemName                  : 'Mac OS'
+      OperatingSystemVersion               : '10.13'
+      OperatingSystemVersionMajor          : '10.13'
+      OperatingSystemNameVersion           : 'Mac OS 10.13'
+      OperatingSystemNameVersionMajor      : 'Mac OS 10.13'
+      LayoutEngineClass                    : 'Browser'
+      LayoutEngineName                     : 'Gecko'
+      LayoutEngineVersion                  : '94.0'
+      LayoutEngineVersionMajor             : '94'
+      LayoutEngineNameVersion              : 'Gecko 94.0'
+      LayoutEngineNameVersionMajor         : 'Gecko 94'
+      LayoutEngineBuild                    : '20100101'
+      AgentClass                           : 'Browser'
+      AgentName                            : 'Firefox'
+      AgentVersion                         : '94.0'
+      AgentVersionMajor                    : '94'
+      AgentNameVersion                     : 'Firefox 94.0'
+      AgentNameVersionMajor                : 'Firefox 94'
+
+
+- test:
+    input:
+      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 Agency/100.8.7507.8'
+    expected:
+      DeviceClass                          : 'Desktop'
+      DeviceName                           : 'Desktop'
+      DeviceBrand                          : 'Unknown'
+      DeviceCpu                            : 'Intel x86_64'
+      DeviceCpuBits                        : '64'
+      OperatingSystemClass                 : 'Desktop'
+      OperatingSystemName                  : 'Windows NT'
+      OperatingSystemVersion               : '>=10'
+      OperatingSystemVersionMajor          : '>=10'
+      OperatingSystemNameVersion           : 'Windows >=10'
+      OperatingSystemNameVersionMajor      : 'Windows >=10'
+      LayoutEngineClass                    : 'Browser'
+      LayoutEngineName                     : 'Blink'
+      LayoutEngineVersion                  : '103.0'
+      LayoutEngineVersionMajor             : '103'
+      LayoutEngineNameVersion              : 'Blink 103.0'
+      LayoutEngineNameVersionMajor         : 'Blink 103'
+      AgentClass                           : 'Browser'
+      AgentName                            : 'Edge'
+      AgentVersion                         : '103.0.1264.44'
+      AgentVersionMajor                    : '103'
+      AgentNameVersion                     : 'Edge 103.0.1264.44'
+      AgentNameVersionMajor                : 'Edge 103'
+
+
+- test:
+    input:
+      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 AtContent/95.5.6374.75'
+    expected:
+      DeviceClass                          : 'Desktop'
+      DeviceName                           : 'Desktop'
+      DeviceBrand                          : 'Unknown'
+      DeviceCpu                            : 'Intel x86_64'
+      DeviceCpuBits                        : '64'
+      OperatingSystemClass                 : 'Desktop'
+      OperatingSystemName                  : 'Windows NT'
+      OperatingSystemVersion               : '>=10'
+      OperatingSystemVersionMajor          : '>=10'
+      OperatingSystemNameVersion           : 'Windows >=10'
+      OperatingSystemNameVersionMajor      : 'Windows >=10'
+      LayoutEngineClass                    : 'Browser'
+      LayoutEngineName                     : 'Blink'
+      LayoutEngineVersion                  : '103.0'
+      LayoutEngineVersionMajor             : '103'
+      LayoutEngineNameVersion              : 'Blink 103.0'
+      LayoutEngineNameVersionMajor         : 'Blink 103'
+      AgentClass                           : 'Browser'
+      AgentName                            : 'Edge'
+      AgentVersion                         : '103.0.1264.44'
+      AgentVersionMajor                    : '103'
+      AgentNameVersion                     : 'Edge 103.0.1264.44'
+      AgentNameVersionMajor                : 'Edge 103'
+
+
+- test:
+    input:
+      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 Config/99.2.4311.12'
+    expected:
+      DeviceClass                          : 'Desktop'
+      DeviceName                           : 'Desktop'
+      DeviceBrand                          : 'Unknown'
+      DeviceCpu                            : 'Intel x86_64'
+      DeviceCpuBits                        : '64'
+      OperatingSystemClass                 : 'Desktop'
+      OperatingSystemName                  : 'Windows NT'
+      OperatingSystemVersion               : '>=10'
+      OperatingSystemVersionMajor          : '>=10'
+      OperatingSystemNameVersion           : 'Windows >=10'
+      OperatingSystemNameVersionMajor      : 'Windows >=10'
+      LayoutEngineClass                    : 'Browser'
+      LayoutEngineName                     : 'Blink'
+      LayoutEngineVersion                  : '103.0'
+      LayoutEngineVersionMajor             : '103'
+      LayoutEngineNameVersion              : 'Blink 103.0'
+      LayoutEngineNameVersionMajor         : 'Blink 103'
+      AgentClass                           : 'Browser'
+      AgentName                            : 'Edge'
+      AgentVersion                         : '103.0.1264.44'
+      AgentVersionMajor                    : '103'
+      AgentNameVersion                     : 'Edge 103.0.1264.44'
+      AgentNameVersionMajor                : 'Edge 103'
+
+
+- test:
+    input:
+      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 GLS/90.10.6209.10'
+    expected:
+      DeviceClass                          : 'Desktop'
+      DeviceName                           : 'Desktop'
+      DeviceBrand                          : 'Unknown'
+      DeviceCpu                            : 'Intel x86_64'
+      DeviceCpuBits                        : '64'
+      OperatingSystemClass                 : 'Desktop'
+      OperatingSystemName                  : 'Windows NT'
+      OperatingSystemVersion               : '>=10'
+      OperatingSystemVersionMajor          : '>=10'
+      OperatingSystemNameVersion           : 'Windows >=10'
+      OperatingSystemNameVersionMajor      : 'Windows >=10'
+      LayoutEngineClass                    : 'Browser'
+      LayoutEngineName                     : 'Blink'
+      LayoutEngineVersion                  : '103.0'
+      LayoutEngineVersionMajor             : '103'
+      LayoutEngineNameVersion              : 'Blink 103.0'
+      LayoutEngineNameVersionMajor         : 'Blink 103'
+      AgentClass                           : 'Browser'
+      AgentName                            : 'Edge'
+      AgentVersion                         : '103.0.1264.44'
+      AgentVersionMajor                    : '103'
+      AgentNameVersion                     : 'Edge 103.0.1264.44'
+      AgentNameVersionMajor                : 'Edge 103'
+
+
+- test:
+    input:
+      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 Herring/96.1.1770.71'
+    expected:
+      DeviceClass                          : 'Desktop'
+      DeviceName                           : 'Desktop'
+      DeviceBrand                          : 'Unknown'
+      DeviceCpu                            : 'Intel x86_64'
+      DeviceCpuBits                        : '64'
+      OperatingSystemClass                 : 'Desktop'
+      OperatingSystemName                  : 'Windows NT'
+      OperatingSystemVersion               : '>=10'
+      OperatingSystemVersionMajor          : '>=10'
+      OperatingSystemNameVersion           : 'Windows >=10'
+      OperatingSystemNameVersionMajor      : 'Windows >=10'
+      LayoutEngineClass                    : 'Browser'
+      LayoutEngineName                     : 'Blink'
+      LayoutEngineVersion                  : '103.0'
+      LayoutEngineVersionMajor             : '103'
+      LayoutEngineNameVersion              : 'Blink 103.0'
+      LayoutEngineNameVersionMajor         : 'Blink 103'
+      AgentClass                           : 'Browser'
+      AgentName                            : 'Edge'
+      AgentVersion                         : '103.0.1264.44'
+      AgentVersionMajor                    : '103'
+      AgentNameVersion                     : 'Edge 103.0.1264.44'
+      AgentNameVersionMajor                : 'Edge 103'
+
+
+- test:
+    input:
+      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 LikeWise/91.6.3585.86'
+    expected:
+      DeviceClass                          : 'Desktop'
+      DeviceName                           : 'Desktop'
+      DeviceBrand                          : 'Unknown'
+      DeviceCpu                            : 'Intel x86_64'
+      DeviceCpuBits                        : '64'
+      OperatingSystemClass                 : 'Desktop'
+      OperatingSystemName                  : 'Windows NT'
+      OperatingSystemVersion               : '>=10'
+      OperatingSystemVersionMajor          : '>=10'
+      OperatingSystemNameVersion           : 'Windows >=10'
+      OperatingSystemNameVersionMajor      : 'Windows >=10'
+      LayoutEngineClass                    : 'Browser'
+      LayoutEngineName                     : 'Blink'
+      LayoutEngineVersion                  : '103.0'
+      LayoutEngineVersionMajor             : '103'
+      LayoutEngineNameVersion              : 'Blink 103.0'
+      LayoutEngineNameVersionMajor         : 'Blink 103'
+      AgentClass                           : 'Browser'
+      AgentName                            : 'Edge'
+      AgentVersion                         : '103.0.1264.44'
+      AgentVersionMajor                    : '103'
+      AgentNameVersion                     : 'Edge 103.0.1264.44'
+      AgentNameVersionMajor                : 'Edge 103'
+
+
+- test:
+    input:
+      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 OpenWave/95.4.2243.44'
+    expected:
+      DeviceClass                          : 'Desktop'
+      DeviceName                           : 'Desktop'
+      DeviceBrand                          : 'Unknown'
+      DeviceCpu                            : 'Intel x86_64'
+      DeviceCpuBits                        : '64'
+      OperatingSystemClass                 : 'Desktop'
+      OperatingSystemName                  : 'Windows NT'
+      OperatingSystemVersion               : '>=10'
+      OperatingSystemVersionMajor          : '>=10'
+      OperatingSystemNameVersion           : 'Windows >=10'
+      OperatingSystemNameVersionMajor      : 'Windows >=10'
+      LayoutEngineClass                    : 'Browser'
+      LayoutEngineName                     : 'Blink'
+      LayoutEngineVersion                  : '103.0'
+      LayoutEngineVersionMajor             : '103'
+      LayoutEngineNameVersion              : 'Blink 103.0'
+      LayoutEngineNameVersionMajor         : 'Blink 103'
+      AgentClass                           : 'Browser'
+      AgentName                            : 'Edge'
+      AgentVersion                         : '103.0.1264.44'
+      AgentVersionMajor                    : '103'
+      AgentNameVersion                     : 'Edge 103.0.1264.44'
+      AgentNameVersionMajor                : 'Edge 103'
+
+
+- test:
+    input:
+      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 Trailer/92.3.8742.43'
+    expected:
+      DeviceClass                          : 'Desktop'
+      DeviceName                           : 'Desktop'
+      DeviceBrand                          : 'Unknown'
+      DeviceCpu                            : 'Intel x86_64'
+      DeviceCpuBits                        : '64'
+      OperatingSystemClass                 : 'Desktop'
+      OperatingSystemName                  : 'Windows NT'
+      OperatingSystemVersion               : '>=10'
+      OperatingSystemVersionMajor          : '>=10'
+      OperatingSystemNameVersion           : 'Windows >=10'
+      OperatingSystemNameVersionMajor      : 'Windows >=10'
+      LayoutEngineClass                    : 'Browser'
+      LayoutEngineName                     : 'Blink'
+      LayoutEngineVersion                  : '103.0'
+      LayoutEngineVersionMajor             : '103'
+      LayoutEngineNameVersion              : 'Blink 103.0'
+      LayoutEngineNameVersionMajor         : 'Blink 103'
+      AgentClass                           : 'Browser'
+      AgentName                            : 'Edge'
+      AgentVersion                         : '103.0.1264.44'
+      AgentVersionMajor                    : '103'
+      AgentNameVersion                     : 'Edge 103.0.1264.44'
+      AgentNameVersionMajor                : 'Edge 103'
+
+
+- test:
+    input:
+      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 Viewer/96.9.4198.99'
+    expected:
+      DeviceClass                          : 'Desktop'
+      DeviceName                           : 'Desktop'
+      DeviceBrand                          : 'Unknown'
+      DeviceCpu                            : 'Intel x86_64'
+      DeviceCpuBits                        : '64'
+      OperatingSystemClass                 : 'Desktop'
+      OperatingSystemName                  : 'Windows NT'
+      OperatingSystemVersion               : '>=10'
+      OperatingSystemVersionMajor          : '>=10'
+      OperatingSystemNameVersion           : 'Windows >=10'
+      OperatingSystemNameVersionMajor      : 'Windows >=10'
+      LayoutEngineClass                    : 'Browser'
+      LayoutEngineName                     : 'Blink'
+      LayoutEngineVersion                  : '103.0'
+      LayoutEngineVersionMajor             : '103'
+      LayoutEngineNameVersion              : 'Blink 103.0'
+      LayoutEngineNameVersionMajor         : 'Blink 103'
+      AgentClass                           : 'Browser'
+      AgentName                            : 'Edge'
+      AgentVersion                         : '103.0.1264.44'
+      AgentVersionMajor                    : '103'
+      AgentNameVersion                     : 'Edge 103.0.1264.44'
+      AgentNameVersionMajor                : 'Edge 103'
+
+
+- test:
+    input:
+      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36 Edg/103.0.1264.62 Herring/98.1.5870.71'
+    expected:
+      DeviceClass                          : 'Desktop'
+      DeviceName                           : 'Desktop'
+      DeviceBrand                          : 'Unknown'
+      DeviceCpu                            : 'Intel x86_64'
+      DeviceCpuBits                        : '64'
+      OperatingSystemClass                 : 'Desktop'
+      OperatingSystemName                  : 'Windows NT'
+      OperatingSystemVersion               : '>=10'
+      OperatingSystemVersionMajor          : '>=10'
+      OperatingSystemNameVersion           : 'Windows >=10'
+      OperatingSystemNameVersionMajor      : 'Windows >=10'
+      LayoutEngineClass                    : 'Browser'
+      LayoutEngineName                     : 'Blink'
+      LayoutEngineVersion                  : '103.0'
+      LayoutEngineVersionMajor             : '103'
+      LayoutEngineNameVersion              : 'Blink 103.0'
+      LayoutEngineNameVersionMajor         : 'Blink 103'
+      AgentClass                           : 'Browser'
+      AgentName                            : 'Edge'
+      AgentVersion                         : '103.0.1264.62'
+      AgentVersionMajor                    : '103'
+      AgentNameVersion                     : 'Edge 103.0.1264.62'
+      AgentNameVersionMajor                : 'Edge 103'
+
+
+- test:
+    input:
+      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36 OPR/89.0.4447.48 Herring/95.1.6890.91'
+    expected:
+      DeviceClass                          : 'Desktop'
+      DeviceName                           : 'Desktop'
+      DeviceBrand                          : 'Unknown'
+      DeviceCpu                            : 'Intel x86_64'
+      DeviceCpuBits                        : '64'
+      OperatingSystemClass                 : 'Desktop'
+      OperatingSystemName                  : 'Windows NT'
+      OperatingSystemVersion               : '10.0'
+      OperatingSystemVersionMajor          : '10'
+      OperatingSystemNameVersion           : 'Windows 10.0'
+      OperatingSystemNameVersionMajor      : 'Windows 10'
+      LayoutEngineClass                    : 'Browser'
+      LayoutEngineName                     : 'Blink'
+      LayoutEngineVersion                  : '103.0'
+      LayoutEngineVersionMajor             : '103'
+      LayoutEngineNameVersion              : 'Blink 103.0'
+      LayoutEngineNameVersionMajor         : 'Blink 103'
+      AgentClass                           : 'Browser'
+      AgentName                            : 'Opera'
+      AgentVersion                         : '89.0.4447.48'
+      AgentVersionMajor                    : '89'
+      AgentNameVersion                     : 'Opera 89.0.4447.48'
+      AgentNameVersionMajor                : 'Opera 89'
+
+
+- test:
+    input:
+      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36 Herring/100.1.7540.41'
+    expected:
+      DeviceClass                          : 'Desktop'
+      DeviceName                           : 'Desktop'
+      DeviceBrand                          : 'Unknown'
+      DeviceCpu                            : 'Intel x86_64'
+      DeviceCpuBits                        : '64'
+      OperatingSystemClass                 : 'Desktop'
+      OperatingSystemName                  : 'Windows NT'
+      OperatingSystemVersion               : '??'
+      OperatingSystemVersionMajor          : '??'
+      OperatingSystemNameVersion           : 'Windows NT ??'
+      OperatingSystemNameVersionMajor      : 'Windows NT ??'
+      LayoutEngineClass                    : 'Browser'
+      LayoutEngineName                     : 'Blink'
+      LayoutEngineVersion                  : '103'
+      LayoutEngineVersionMajor             : '103'
+      LayoutEngineNameVersion              : 'Blink 103'
+      LayoutEngineNameVersionMajor         : 'Blink 103'
+      AgentClass                           : 'Browser'
+      AgentName                            : 'Chrome'
+      AgentVersion                         : '103'
+      AgentVersionMajor                    : '103'
+      AgentNameVersion                     : 'Chrome 103'
+      AgentNameVersionMajor                : 'Chrome 103'
+
+
+- test:
+    input:
+      User-Agent                           : 'Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0 Agency/95.8.7917.18'
+    expected:
+      DeviceClass                          : 'Desktop'
+      DeviceName                           : 'Desktop'
+      DeviceBrand                          : 'Unknown'
+      DeviceCpu                            : 'Intel x86_64'
+      DeviceCpuBits                        : '64'
+      OperatingSystemClass                 : 'Desktop'
+      OperatingSystemName                  : 'Windows NT'
+      OperatingSystemVersion               : '8.1'
+      OperatingSystemVersionMajor          : '8'
+      OperatingSystemNameVersion           : 'Windows 8.1'
+      OperatingSystemNameVersionMajor      : 'Windows 8'
+      LayoutEngineClass                    : 'Browser'
+      LayoutEngineName                     : 'Gecko'
+      LayoutEngineVersion                  : '101.0'
+      LayoutEngineVersionMajor             : '101'
+      LayoutEngineNameVersion              : 'Gecko 101.0'
+      LayoutEngineNameVersionMajor         : 'Gecko 101'
+      LayoutEngineBuild                    : '20100101'
+      AgentClass                           : 'Browser'
+      AgentName                            : 'Firefox'
+      AgentVersion                         : '101.0'
+      AgentVersionMajor                    : '101'
+      AgentNameVersion                     : 'Firefox 101.0'
+      AgentNameVersionMajor                : 'Firefox 101'
diff --git a/analyzer/src/main/resources/UserAgents/ClientHints-Tests.yaml b/analyzer/src/main/resources/UserAgents/ClientHints-Tests.yaml
index 85f69f5d..19c4a5f7 100644
--- a/analyzer/src/main/resources/UserAgents/ClientHints-Tests.yaml
+++ b/analyzer/src/main/resources/UserAgents/ClientHints-Tests.yaml
@@ -384,13 +384,13 @@ config:
       LayoutEngineVersionMajor                   : '100'
       LayoutEngineNameVersion                    : 'Blink 100.0'
       LayoutEngineNameVersionMajor               : 'Blink 100'
       AgentClass                                 : 'Browser'
       AgentName                                  : 'Chrome'
-      AgentVersion                               : '100.0'
+      AgentVersion                               : '100.0.4896.75'
       AgentVersionMajor                          : '100'
-      AgentNameVersion                           : 'Chrome 100.0'
+      AgentNameVersion                           : 'Chrome 100.0.4896.75'
       AgentNameVersionMajor                      : 'Chrome 100'
       UAClientHintArchitecture                   : 'x86'
       UAClientHintBrands_0_Brand                 : 'Chromium'
       UAClientHintBrands_0_Version               : '99'
       UAClientHintBrands_1_Brand                 : 'Google Chrome'
@@ -1228,11 +1228,11 @@ config:
       AgentNameVersion                     : 'Chrome 101.0.4951.64'
       AgentNameVersionMajor                : 'Chrome 101'
 
 
 # Chromium Version 101.0.4951.64 (Official Build) snap (64-bit) on Ubuntu 20.04 LTS
-# NOTE: There is no Chromium tag so we use the Sec-Ch-Ua provided version.
+# NOTE: There is no Chromium tag so it is a bit unclear which version tag is to be used.
 - test:
     input:
       User-Agent                           : 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36'
       Sec-Ch-Ua                            : '" Not A;Brand";v="99", "Chromium";v="101"'
       Sec-Ch-Ua-Mobile                     : '?0'
@@ -1249,19 +1249,19 @@ config:
       OperatingSystemVersionMajor          : '??'
       OperatingSystemNameVersion           : 'Linux ??'
       OperatingSystemNameVersionMajor      : 'Linux ??'
       LayoutEngineClass                    : 'Browser'
       LayoutEngineName                     : 'Blink'
-      LayoutEngineVersion                  : '101'
+      LayoutEngineVersion                  : '101.0'
       LayoutEngineVersionMajor             : '101'
-      LayoutEngineNameVersion              : 'Blink 101'
+      LayoutEngineNameVersion              : 'Blink 101.0'
       LayoutEngineNameVersionMajor         : 'Blink 101'
       AgentClass                           : 'Browser'
       AgentName                            : 'Chromium'
-      AgentVersion                         : '101' #.0.4951.64'
+      AgentVersion                         : '101.0.4951.64'
       AgentVersionMajor                    : '101'
-      AgentNameVersion                     : 'Chromium 101' #.0.4951.64'
+      AgentNameVersion                     : 'Chromium 101.0.4951.64'
       AgentNameVersionMajor                : 'Chromium 101'
       UAClientHintBrands_0_Brand           : 'Chromium'
       UAClientHintBrands_0_Version         : '101'
       UAClientHintMobile                   : 'false'
       UAClientHintPlatform                 : 'Linux'
@@ -1338,19 +1338,19 @@ config:
       OperatingSystemVersionMajor                : '??'
       OperatingSystemNameVersion                 : 'Linux ??'
       OperatingSystemNameVersionMajor            : 'Linux ??'
       LayoutEngineClass                          : 'Browser'
       LayoutEngineName                           : 'Blink'
-      LayoutEngineVersion                        : '95'
+      LayoutEngineVersion                        : '95.0'
       LayoutEngineVersionMajor                   : '95'
-      LayoutEngineNameVersion                    : 'Blink 95'
+      LayoutEngineNameVersion                    : 'Blink 95.0'
       LayoutEngineNameVersionMajor               : 'Blink 95'
       AgentClass                                 : 'Browser'
       AgentName                                  : 'Chromium'
-      AgentVersion                               : '95'
+      AgentVersion                               : '95.0.4638.69'
       AgentVersionMajor                          : '95'
-      AgentNameVersion                           : 'Chromium 95'
+      AgentNameVersion                           : 'Chromium 95.0.4638.69'
       AgentNameVersionMajor                      : 'Chromium 95'
 
       UAClientHintBrands_0_Brand                 : 'Chromium'
       UAClientHintBrands_0_Version               : '95'
       UAClientHintMobile                         : 'false'
@@ -1380,19 +1380,19 @@ config:
       OperatingSystemVersionMajor                : '5'
       OperatingSystemNameVersion                 : 'Linux 5.15.0'
       OperatingSystemNameVersionMajor            : 'Linux 5'
       LayoutEngineClass                          : 'Browser'
       LayoutEngineName                           : 'Blink'
-      LayoutEngineVersion                        : '95'
+      LayoutEngineVersion                        : '95.0'
       LayoutEngineVersionMajor                   : '95'
-      LayoutEngineNameVersion                    : 'Blink 95'
+      LayoutEngineNameVersion                    : 'Blink 95.0'
       LayoutEngineNameVersionMajor               : 'Blink 95'
       AgentClass                                 : 'Browser'
       AgentName                                  : 'Chromium'
-      AgentVersion                               : '95'
+      AgentVersion                               : '95.0.4638.69'
       AgentVersionMajor                          : '95'
-      AgentNameVersion                           : 'Chromium 95'
+      AgentNameVersion                           : 'Chromium 95.0.4638.69'
       AgentNameVersionMajor                      : 'Chromium 95'
 
       UAClientHintArchitecture                   : 'x86'
       UAClientHintBitness                        : '64'
       UAClientHintBrands_0_Brand                 : 'Chromium'
diff --git a/analyzer/src/main/resources/UserAgents/ExtendedAgents.yaml b/analyzer/src/main/resources/UserAgents/ExtendedAgents.yaml
index b6c0f94a..26e58a08 100644
--- a/analyzer/src/main/resources/UserAgents/ExtendedAgents.yaml
+++ b/analyzer/src/main/resources/UserAgents/ExtendedAgents.yaml
@@ -26,10 +26,11 @@ config:
     - 'NormalProductNames'
     - 'OSPatterns'
     - 'HardwareTags'
     - 'SpecialChromeBrowserNames'
     - 'BrowserPluginNames'
+    - 'KamoAgents'
     values:
     - 'anonym'
     - 'OMI'  # Seen in some Sony TVs
 
 - matcher:
@@ -72,11 +73,11 @@ config:
     - 'AgentVersion                        :   3020 :@NextProduct.version'
 
 
 - test:
     input:
-      User-Agent                           : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:94.0) Gecko/20100101 Firefox/94.0 Herring/583.19.9'
+      User-Agent                           : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:94.0) Gecko/20100101 Firefox/94.0 Basjes/1.2.3'
     expected:
       DeviceClass                          : 'Desktop'
       DeviceName                           : 'Apple Macintosh'
       DeviceBrand                          : 'Apple'
       DeviceCpu                            : 'Intel'
@@ -93,388 +94,11 @@ config:
       LayoutEngineVersionMajor             : '94'
       LayoutEngineNameVersion              : 'Gecko 94.0'
       LayoutEngineNameVersionMajor         : 'Gecko 94'
       LayoutEngineBuild                    : '20100101'
       AgentClass                           : 'Browser'
-      AgentName                            : 'Herring'
-      AgentVersion                         : '583.19.9'
-      AgentVersionMajor                    : '583'
-      AgentNameVersion                     : 'Herring 583.19.9'
-      AgentNameVersionMajor                : 'Herring 583'
+      AgentName                            : 'Basjes'
+      AgentVersion                         : '1.2.3'
+      AgentVersionMajor                    : '1'
+      AgentNameVersion                     : 'Basjes 1.2.3'
+      AgentNameVersionMajor                : 'Basjes 1'
 
-
-- test:
-    input:
-      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 Agency/100.8.7507.8'
-    expected:
-      DeviceClass                          : 'Desktop'
-      DeviceName                           : 'Desktop'
-      DeviceBrand                          : 'Unknown'
-      DeviceCpu                            : 'Intel x86_64'
-      DeviceCpuBits                        : '64'
-      OperatingSystemClass                 : 'Desktop'
-      OperatingSystemName                  : 'Windows NT'
-      OperatingSystemVersion               : '>=10'
-      OperatingSystemVersionMajor          : '>=10'
-      OperatingSystemNameVersion           : 'Windows >=10'
-      OperatingSystemNameVersionMajor      : 'Windows >=10'
-      LayoutEngineClass                    : 'Browser'
-      LayoutEngineName                     : 'Blink'
-      LayoutEngineVersion                  : '103.0'
-      LayoutEngineVersionMajor             : '103'
-      LayoutEngineNameVersion              : 'Blink 103.0'
-      LayoutEngineNameVersionMajor         : 'Blink 103'
-      AgentClass                           : 'Browser'
-      AgentName                            : 'Agency'
-      AgentVersion                         : '100.8.7507.8'
-      AgentVersionMajor                    : '100'
-      AgentNameVersion                     : 'Agency 100.8.7507.8'
-      AgentNameVersionMajor                : 'Agency 100'
-
-
-- test:
-    input:
-      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 AtContent/95.5.6374.75'
-    expected:
-      DeviceClass                          : 'Desktop'
-      DeviceName                           : 'Desktop'
-      DeviceBrand                          : 'Unknown'
-      DeviceCpu                            : 'Intel x86_64'
-      DeviceCpuBits                        : '64'
-      OperatingSystemClass                 : 'Desktop'
-      OperatingSystemName                  : 'Windows NT'
-      OperatingSystemVersion               : '>=10'
-      OperatingSystemVersionMajor          : '>=10'
-      OperatingSystemNameVersion           : 'Windows >=10'
-      OperatingSystemNameVersionMajor      : 'Windows >=10'
-      LayoutEngineClass                    : 'Browser'
-      LayoutEngineName                     : 'Blink'
-      LayoutEngineVersion                  : '103.0'
-      LayoutEngineVersionMajor             : '103'
-      LayoutEngineNameVersion              : 'Blink 103.0'
-      LayoutEngineNameVersionMajor         : 'Blink 103'
-      AgentClass                           : 'Browser'
-      AgentName                            : 'AtContent'
-      AgentVersion                         : '95.5.6374.75'
-      AgentVersionMajor                    : '95'
-      AgentNameVersion                     : 'AtContent 95.5.6374.75'
-      AgentNameVersionMajor                : 'AtContent 95'
-
-
-- test:
-    input:
-      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 Config/99.2.4311.12'
-    expected:
-      DeviceClass                          : 'Desktop'
-      DeviceName                           : 'Desktop'
-      DeviceBrand                          : 'Unknown'
-      DeviceCpu                            : 'Intel x86_64'
-      DeviceCpuBits                        : '64'
-      OperatingSystemClass                 : 'Desktop'
-      OperatingSystemName                  : 'Windows NT'
-      OperatingSystemVersion               : '>=10'
-      OperatingSystemVersionMajor          : '>=10'
-      OperatingSystemNameVersion           : 'Windows >=10'
-      OperatingSystemNameVersionMajor      : 'Windows >=10'
-      LayoutEngineClass                    : 'Browser'
-      LayoutEngineName                     : 'Blink'
-      LayoutEngineVersion                  : '103.0'
-      LayoutEngineVersionMajor             : '103'
-      LayoutEngineNameVersion              : 'Blink 103.0'
-      LayoutEngineNameVersionMajor         : 'Blink 103'
-      AgentClass                           : 'Browser'
-      AgentName                            : 'Config'
-      AgentVersion                         : '99.2.4311.12'
-      AgentVersionMajor                    : '99'
-      AgentNameVersion                     : 'Config 99.2.4311.12'
-      AgentNameVersionMajor                : 'Config 99'
-
-
-- test:
-    input:
-      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 GLS/90.10.6209.10'
-    expected:
-      DeviceClass                          : 'Desktop'
-      DeviceName                           : 'Desktop'
-      DeviceBrand                          : 'Unknown'
-      DeviceCpu                            : 'Intel x86_64'
-      DeviceCpuBits                        : '64'
-      OperatingSystemClass                 : 'Desktop'
-      OperatingSystemName                  : 'Windows NT'
-      OperatingSystemVersion               : '>=10'
-      OperatingSystemVersionMajor          : '>=10'
-      OperatingSystemNameVersion           : 'Windows >=10'
-      OperatingSystemNameVersionMajor      : 'Windows >=10'
-      LayoutEngineClass                    : 'Browser'
-      LayoutEngineName                     : 'Blink'
-      LayoutEngineVersion                  : '103.0'
-      LayoutEngineVersionMajor             : '103'
-      LayoutEngineNameVersion              : 'Blink 103.0'
-      LayoutEngineNameVersionMajor         : 'Blink 103'
-      AgentClass                           : 'Browser'
-      AgentName                            : 'GLS'
-      AgentVersion                         : '90.10.6209.10'
-      AgentVersionMajor                    : '90'
-      AgentNameVersion                     : 'GLS 90.10.6209.10'
-      AgentNameVersionMajor                : 'GLS 90'
-
-
-- test:
-    input:
-      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 Herring/96.1.1770.71'
-    expected:
-      DeviceClass                          : 'Desktop'
-      DeviceName                           : 'Desktop'
-      DeviceBrand                          : 'Unknown'
-      DeviceCpu                            : 'Intel x86_64'
-      DeviceCpuBits                        : '64'
-      OperatingSystemClass                 : 'Desktop'
-      OperatingSystemName                  : 'Windows NT'
-      OperatingSystemVersion               : '>=10'
-      OperatingSystemVersionMajor          : '>=10'
-      OperatingSystemNameVersion           : 'Windows >=10'
-      OperatingSystemNameVersionMajor      : 'Windows >=10'
-      LayoutEngineClass                    : 'Browser'
-      LayoutEngineName                     : 'Blink'
-      LayoutEngineVersion                  : '103.0'
-      LayoutEngineVersionMajor             : '103'
-      LayoutEngineNameVersion              : 'Blink 103.0'
-      LayoutEngineNameVersionMajor         : 'Blink 103'
-      AgentClass                           : 'Browser'
-      AgentName                            : 'Herring'
-      AgentVersion                         : '96.1.1770.71'
-      AgentVersionMajor                    : '96'
-      AgentNameVersion                     : 'Herring 96.1.1770.71'
-      AgentNameVersionMajor                : 'Herring 96'
-
-
-- test:
-    input:
-      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 LikeWise/91.6.3585.86'
-    expected:
-      DeviceClass                          : 'Desktop'
-      DeviceName                           : 'Desktop'
-      DeviceBrand                          : 'Unknown'
-      DeviceCpu                            : 'Intel x86_64'
-      DeviceCpuBits                        : '64'
-      OperatingSystemClass                 : 'Desktop'
-      OperatingSystemName                  : 'Windows NT'
-      OperatingSystemVersion               : '>=10'
-      OperatingSystemVersionMajor          : '>=10'
-      OperatingSystemNameVersion           : 'Windows >=10'
-      OperatingSystemNameVersionMajor      : 'Windows >=10'
-      LayoutEngineClass                    : 'Browser'
-      LayoutEngineName                     : 'Blink'
-      LayoutEngineVersion                  : '103.0'
-      LayoutEngineVersionMajor             : '103'
-      LayoutEngineNameVersion              : 'Blink 103.0'
-      LayoutEngineNameVersionMajor         : 'Blink 103'
-      AgentClass                           : 'Browser'
-      AgentName                            : 'LikeWise'
-      AgentVersion                         : '91.6.3585.86'
-      AgentVersionMajor                    : '91'
-      AgentNameVersion                     : 'LikeWise 91.6.3585.86'
-      AgentNameVersionMajor                : 'LikeWise 91'
-
-
-- test:
-    input:
-      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 OpenWave/95.4.2243.44'
-    expected:
-      DeviceClass                          : 'Desktop'
-      DeviceName                           : 'Desktop'
-      DeviceBrand                          : 'Unknown'
-      DeviceCpu                            : 'Intel x86_64'
-      DeviceCpuBits                        : '64'
-      OperatingSystemClass                 : 'Desktop'
-      OperatingSystemName                  : 'Windows NT'
-      OperatingSystemVersion               : '>=10'
-      OperatingSystemVersionMajor          : '>=10'
-      OperatingSystemNameVersion           : 'Windows >=10'
-      OperatingSystemNameVersionMajor      : 'Windows >=10'
-      LayoutEngineClass                    : 'Browser'
-      LayoutEngineName                     : 'Blink'
-      LayoutEngineVersion                  : '103.0'
-      LayoutEngineVersionMajor             : '103'
-      LayoutEngineNameVersion              : 'Blink 103.0'
-      LayoutEngineNameVersionMajor         : 'Blink 103'
-      AgentClass                           : 'Browser'
-      AgentName                            : 'OpenWave'
-      AgentVersion                         : '95.4.2243.44'
-      AgentVersionMajor                    : '95'
-      AgentNameVersion                     : 'OpenWave 95.4.2243.44'
-      AgentNameVersionMajor                : 'OpenWave 95'
-
-
-- test:
-    input:
-      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 Trailer/92.3.8742.43'
-    expected:
-      DeviceClass                          : 'Desktop'
-      DeviceName                           : 'Desktop'
-      DeviceBrand                          : 'Unknown'
-      DeviceCpu                            : 'Intel x86_64'
-      DeviceCpuBits                        : '64'
-      OperatingSystemClass                 : 'Desktop'
-      OperatingSystemName                  : 'Windows NT'
-      OperatingSystemVersion               : '>=10'
-      OperatingSystemVersionMajor          : '>=10'
-      OperatingSystemNameVersion           : 'Windows >=10'
-      OperatingSystemNameVersionMajor      : 'Windows >=10'
-      LayoutEngineClass                    : 'Browser'
-      LayoutEngineName                     : 'Blink'
-      LayoutEngineVersion                  : '103.0'
-      LayoutEngineVersionMajor             : '103'
-      LayoutEngineNameVersion              : 'Blink 103.0'
-      LayoutEngineNameVersionMajor         : 'Blink 103'
-      AgentClass                           : 'Browser'
-      AgentName                            : 'Trailer'
-      AgentVersion                         : '92.3.8742.43'
-      AgentVersionMajor                    : '92'
-      AgentNameVersion                     : 'Trailer 92.3.8742.43'
-      AgentNameVersionMajor                : 'Trailer 92'
-
-
-- test:
-    input:
-      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 Viewer/96.9.4198.99'
-    expected:
-      DeviceClass                          : 'Desktop'
-      DeviceName                           : 'Desktop'
-      DeviceBrand                          : 'Unknown'
-      DeviceCpu                            : 'Intel x86_64'
-      DeviceCpuBits                        : '64'
-      OperatingSystemClass                 : 'Desktop'
-      OperatingSystemName                  : 'Windows NT'
-      OperatingSystemVersion               : '>=10'
-      OperatingSystemVersionMajor          : '>=10'
-      OperatingSystemNameVersion           : 'Windows >=10'
-      OperatingSystemNameVersionMajor      : 'Windows >=10'
-      LayoutEngineClass                    : 'Browser'
-      LayoutEngineName                     : 'Blink'
-      LayoutEngineVersion                  : '103.0'
-      LayoutEngineVersionMajor             : '103'
-      LayoutEngineNameVersion              : 'Blink 103.0'
-      LayoutEngineNameVersionMajor         : 'Blink 103'
-      AgentClass                           : 'Browser'
-      AgentName                            : 'Viewer'
-      AgentVersion                         : '96.9.4198.99'
-      AgentVersionMajor                    : '96'
-      AgentNameVersion                     : 'Viewer 96.9.4198.99'
-      AgentNameVersionMajor                : 'Viewer 96'
-
-
-- test:
-    input:
-      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36 Edg/103.0.1264.62 Herring/98.1.5870.71'
-    expected:
-      DeviceClass                          : 'Desktop'
-      DeviceName                           : 'Desktop'
-      DeviceBrand                          : 'Unknown'
-      DeviceCpu                            : 'Intel x86_64'
-      DeviceCpuBits                        : '64'
-      OperatingSystemClass                 : 'Desktop'
-      OperatingSystemName                  : 'Windows NT'
-      OperatingSystemVersion               : '>=10'
-      OperatingSystemVersionMajor          : '>=10'
-      OperatingSystemNameVersion           : 'Windows >=10'
-      OperatingSystemNameVersionMajor      : 'Windows >=10'
-      LayoutEngineClass                    : 'Browser'
-      LayoutEngineName                     : 'Blink'
-      LayoutEngineVersion                  : '103.0'
-      LayoutEngineVersionMajor             : '103'
-      LayoutEngineNameVersion              : 'Blink 103.0'
-      LayoutEngineNameVersionMajor         : 'Blink 103'
-      AgentClass                           : 'Browser'
-      AgentName                            : 'Herring'
-      AgentVersion                         : '98.1.5870.71'
-      AgentVersionMajor                    : '98'
-      AgentNameVersion                     : 'Herring 98.1.5870.71'
-      AgentNameVersionMajor                : 'Herring 98'
-
-
-- test:
-    input:
-      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36 OPR/89.0.4447.48 Herring/95.1.6890.91'
-    expected:
-      DeviceClass                          : 'Desktop'
-      DeviceName                           : 'Desktop'
-      DeviceBrand                          : 'Unknown'
-      DeviceCpu                            : 'Intel x86_64'
-      DeviceCpuBits                        : '64'
-      OperatingSystemClass                 : 'Desktop'
-      OperatingSystemName                  : 'Windows NT'
-      OperatingSystemVersion               : '10.0'
-      OperatingSystemVersionMajor          : '10'
-      OperatingSystemNameVersion           : 'Windows 10.0'
-      OperatingSystemNameVersionMajor      : 'Windows 10'
-      LayoutEngineClass                    : 'Browser'
-      LayoutEngineName                     : 'Blink'
-      LayoutEngineVersion                  : '103.0'
-      LayoutEngineVersionMajor             : '103'
-      LayoutEngineNameVersion              : 'Blink 103.0'
-      LayoutEngineNameVersionMajor         : 'Blink 103'
-      AgentClass                           : 'Browser'
-      AgentName                            : 'Herring'
-      AgentVersion                         : '95.1.6890.91'
-      AgentVersionMajor                    : '95'
-      AgentNameVersion                     : 'Herring 95.1.6890.91'
-      AgentNameVersionMajor                : 'Herring 95'
-
-
-- test:
-    input:
-      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36 Herring/100.1.7540.41'
-    expected:
-      DeviceClass                          : 'Desktop'
-      DeviceName                           : 'Desktop'
-      DeviceBrand                          : 'Unknown'
-      DeviceCpu                            : 'Intel x86_64'
-      DeviceCpuBits                        : '64'
-      OperatingSystemClass                 : 'Desktop'
-      OperatingSystemName                  : 'Windows NT'
-      OperatingSystemVersion               : '??'
-      OperatingSystemVersionMajor          : '??'
-      OperatingSystemNameVersion           : 'Windows NT ??'
-      OperatingSystemNameVersionMajor      : 'Windows NT ??'
-      LayoutEngineClass                    : 'Browser'
-      LayoutEngineName                     : 'Blink'
-      LayoutEngineVersion                  : '103'
-      LayoutEngineVersionMajor             : '103'
-      LayoutEngineNameVersion              : 'Blink 103'
-      LayoutEngineNameVersionMajor         : 'Blink 103'
-      AgentClass                           : 'Browser'
-      AgentName                            : 'Herring'
-      AgentVersion                         : '100.1.7540.41'
-      AgentVersionMajor                    : '100'
-      AgentNameVersion                     : 'Herring 100.1.7540.41'
-      AgentNameVersionMajor                : 'Herring 100'
-
-
-- test:
-    input:
-      User-Agent                           : 'Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0 Agency/95.8.7917.18'
-    expected:
-      DeviceClass                          : 'Desktop'
-      DeviceName                           : 'Desktop'
-      DeviceBrand                          : 'Unknown'
-      DeviceCpu                            : 'Intel x86_64'
-      DeviceCpuBits                        : '64'
-      OperatingSystemClass                 : 'Desktop'
-      OperatingSystemName                  : 'Windows NT'
-      OperatingSystemVersion               : '8.1'
-      OperatingSystemVersionMajor          : '8'
-      OperatingSystemNameVersion           : 'Windows 8.1'
-      OperatingSystemNameVersionMajor      : 'Windows 8'
-      LayoutEngineClass                    : 'Browser'
-      LayoutEngineName                     : 'Gecko'
-      LayoutEngineVersion                  : '101.0'
-      LayoutEngineVersionMajor             : '101'
-      LayoutEngineNameVersion              : 'Gecko 101.0'
-      LayoutEngineNameVersionMajor         : 'Gecko 101'
-      LayoutEngineBuild                    : '20100101'
-      AgentClass                           : 'Browser'
-      AgentName                            : 'Agency'
-      AgentVersion                         : '95.8.7917.18'
-      AgentVersionMajor                    : '95'
-      AgentNameVersion                     : 'Agency 95.8.7917.18'
-      AgentNameVersionMajor                : 'Agency 95'
diff --git a/analyzer/src/main/resources/UserAgents/FederatedSocialMedia.yaml b/analyzer/src/main/resources/UserAgents/FederatedSocialMedia.yaml
index d4d38542..cd240530 100644
--- a/analyzer/src/main/resources/UserAgents/FederatedSocialMedia.yaml
+++ b/analyzer/src/main/resources/UserAgents/FederatedSocialMedia.yaml
@@ -242,13 +242,13 @@ config:
       OperatingSystemVersionMajor          : '??'
       OperatingSystemNameVersion           : 'Linux ??'
       OperatingSystemNameVersionMajor      : 'Linux ??'
       LayoutEngineClass                    : 'Browser'
       LayoutEngineName                     : 'Blink'
-      LayoutEngineVersion                  : '104'
+      LayoutEngineVersion                  : '104.0'
       LayoutEngineVersionMajor             : '104'
-      LayoutEngineNameVersion              : 'Blink 104'
+      LayoutEngineNameVersion              : 'Blink 104.0'
       LayoutEngineNameVersionMajor         : 'Blink 104'
       AgentClass                           : 'Desktop App'
       AgentName                            : 'Element'
       AgentVersion                         : '1.11.5'
       AgentVersionMajor                    : '1'
diff --git a/analyzer/src/main/resources/UserAgents/GeckoFirefox.yaml b/analyzer/src/main/resources/UserAgents/GeckoFirefox.yaml
index 8d9dc437..70625673 100644
--- a/analyzer/src/main/resources/UserAgents/GeckoFirefox.yaml
+++ b/analyzer/src/main/resources/UserAgents/GeckoFirefox.yaml
@@ -24,10 +24,11 @@ config:
     - 'MobileBrands'
     - 'MobileBrandPrefixes'
     - 'ExactMatchMobileBrands'
     - 'BrowserPluginNames'
     - 'GenericUnwantedNames'
+    - 'KamoAgents'
     values:
     - 'AppleWebKit'
 
 - set:
     name: 'BadGeckoPrefixes'
diff --git a/analyzer/src/main/resources/UserAgents/GoogleChrome.yaml b/analyzer/src/main/resources/UserAgents/GoogleChrome.yaml
index 6593fd0c..e27d1f78 100644
--- a/analyzer/src/main/resources/UserAgents/GoogleChrome.yaml
+++ b/analyzer/src/main/resources/UserAgents/GoogleChrome.yaml
@@ -3205,5 +3205,78 @@ config:
       AgentName                            : 'Brave'
       AgentVersion                         : '80.0.3987.149'
       AgentVersionMajor                    : '80'
       AgentNameVersion                     : 'Brave 80.0.3987.149'
       AgentNameVersionMajor                : 'Brave 80'
+
+- test:
+    input:
+      User-Agent                           : 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Mobile Safari/537.36'
+      Sec-Ch-Ua                            : '"Brave";v="107", "Chromium";v="107", "Not=A?Brand";v="24"'
+      Sec-Ch-Ua-Mobile                     : '?1'
+      Sec-Ch-Ua-Platform                   : '"Android"'
+    expected:
+      DeviceClass                          : 'Phone'
+      DeviceName                           : 'Unknown'
+      DeviceBrand                          : 'Unknown'
+      OperatingSystemClass                 : 'Mobile'
+      OperatingSystemName                  : 'Android'
+      OperatingSystemVersion               : '??'
+      OperatingSystemVersionMajor          : '??'
+      OperatingSystemNameVersion           : 'Android ??'
+      OperatingSystemNameVersionMajor      : 'Android ??'
+      LayoutEngineClass                    : 'Browser'
+      LayoutEngineName                     : 'Blink'
+      LayoutEngineVersion                  : '107'
+      LayoutEngineVersionMajor             : '107'
+      LayoutEngineNameVersion              : 'Blink 107'
+      LayoutEngineNameVersionMajor         : 'Blink 107'
+      AgentClass                           : 'Browser'
+      AgentName                            : 'Brave'
+      AgentVersion                         : '107'
+      AgentVersionMajor                    : '107'
+      AgentNameVersion                     : 'Brave 107'
+      AgentNameVersionMajor                : 'Brave 107'
+
+      UAClientHintBrands_0_Brand           : 'Brave'
+      UAClientHintBrands_0_Version         : '107'
+      UAClientHintBrands_1_Brand           : 'Chromium'
+      UAClientHintBrands_1_Version         : '107'
+      UAClientHintMobile                   : 'true'
+      UAClientHintPlatform                 : 'Android'
+
+- test:
+    input:
+      User-Agent                           : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36'
+      Sec-Ch-Ua                            : '"Google Chrome";v="107", "Chromium";v="107", "Not=A?Brand";v="24"'
+      Sec-Ch-Ua-Mobile                     : '?0'
+      Sec-Ch-Ua-Platform                   : '"macOS"'
+    expected:
+      DeviceClass                          : 'Desktop'
+      DeviceName                           : 'Apple Macintosh'
+      DeviceBrand                          : 'Apple'
+      DeviceCpu                            : 'Intel'
+      DeviceCpuBits                        : '64'
+      OperatingSystemClass                 : 'Desktop'
+      OperatingSystemName                  : 'Mac OS'
+      OperatingSystemVersion               : '>=10.15.7'
+      OperatingSystemVersionMajor          : '>=10.15'
+      OperatingSystemNameVersion           : 'Mac OS >=10.15.7'
+      OperatingSystemNameVersionMajor      : 'Mac OS >=10.15'
+      LayoutEngineClass                    : 'Browser'
+      LayoutEngineName                     : 'Blink'
+      LayoutEngineVersion                  : '107'
+      LayoutEngineVersionMajor             : '107'
+      LayoutEngineNameVersion              : 'Blink 107'
+      LayoutEngineNameVersionMajor         : 'Blink 107'
+      AgentClass                           : 'Browser'
+      AgentName                            : 'Chrome'
+      AgentVersion                         : '107'
+      AgentVersionMajor                    : '107'
+      AgentNameVersion                     : 'Chrome 107'
+      AgentNameVersionMajor                : 'Chrome 107'
+      UAClientHintBrands_0_Brand           : 'Google Chrome'
+      UAClientHintBrands_0_Version         : '107'
+      UAClientHintBrands_1_Brand           : 'Chromium'
+      UAClientHintBrands_1_Version         : '107'
+      UAClientHintMobile                   : 'false'
+      UAClientHintPlatform                 : 'macOS'
diff --git a/analyzer/src/main/resources/UserAgents/GoogleChromeFrozen.yaml b/analyzer/src/main/resources/UserAgents/GoogleChromeFrozen.yaml
index d14579c6..1ddc9fcf 100644
--- a/analyzer/src/main/resources/UserAgents/GoogleChromeFrozen.yaml
+++ b/analyzer/src/main/resources/UserAgents/GoogleChromeFrozen.yaml
@@ -1811,5 +1811,151 @@ config:
       AgentName                            : 'Chrome'
       AgentVersion                         : '102'
       AgentVersionMajor                    : '102'
       AgentNameVersion                     : 'Chrome 102'
       AgentNameVersionMajor                : 'Chrome 102'
+
+- test:
+    input:
+      User-Agent                                 : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36'
+      Sec-Ch-Ua                                  : '"Google Chrome";v="107", "Chromium";v="107", "Not=A?Brand";v="24"'
+      Sec-Ch-Ua-Arch                             : '"arm"'
+      Sec-Ch-Ua-Bitness                          : '"64"'
+      Sec-Ch-Ua-Full-Version                     : '"107.0.5304.121"'
+      Sec-Ch-Ua-Full-Version-List                : '"Google Chrome";v="107.0.5304.121", "Chromium";v="107.0.5304.121", "Not=A?Brand";v="24.0.0.0"'
+      Sec-Ch-Ua-Mobile                           : '?0'
+      Sec-Ch-Ua-Model                            : '""'
+      Sec-Ch-Ua-Platform                         : '"macOS"'
+      Sec-Ch-Ua-Platform-Version                 : '"12.6.0"'
+      Sec-Ch-Ua-Wow64                            : '?0'
+    expected:
+      DeviceClass                                : 'Desktop'
+      DeviceName                                 : 'Apple Macintosh'
+      DeviceBrand                                : 'Apple'
+      DeviceCpu                                  : 'ARM'
+      DeviceCpuBits                              : '64'
+      OperatingSystemClass                       : 'Desktop'
+      OperatingSystemName                        : 'Mac OS'
+      OperatingSystemVersion                     : '12.6.0'
+      OperatingSystemVersionMajor                : '12'
+      OperatingSystemNameVersion                 : 'Mac OS 12.6.0'
+      OperatingSystemNameVersionMajor            : 'Mac OS 12'
+      LayoutEngineClass                          : 'Browser'
+      LayoutEngineName                           : 'Blink'
+      LayoutEngineVersion                        : '107.0'
+      LayoutEngineVersionMajor                   : '107'
+      LayoutEngineNameVersion                    : 'Blink 107.0'
+      LayoutEngineNameVersionMajor               : 'Blink 107'
+      AgentClass                                 : 'Browser'
+      AgentName                                  : 'Chrome'
+      AgentVersion                               : '107.0.5304.121'
+      AgentVersionMajor                          : '107'
+      AgentNameVersion                           : 'Chrome 107.0.5304.121'
+      AgentNameVersionMajor                      : 'Chrome 107'
+      UAClientHintArchitecture                   : 'arm'
+      UAClientHintBitness                        : '64'
+      UAClientHintBrands_0_Brand                 : 'Google Chrome'
+      UAClientHintBrands_0_Version               : '107'
+      UAClientHintBrands_1_Brand                 : 'Chromium'
+      UAClientHintBrands_1_Version               : '107'
+      UAClientHintFullVersion                    : '107.0.5304.121'
+      UAClientHintFullVersionList_0_Brand        : 'Google Chrome'
+      UAClientHintFullVersionList_0_Version      : '107.0.5304.121'
+      UAClientHintFullVersionList_1_Brand        : 'Chromium'
+      UAClientHintFullVersionList_1_Version      : '107.0.5304.121'
+      UAClientHintMobile                         : 'false'
+      UAClientHintPlatform                       : 'macOS'
+      UAClientHintPlatformVersion                : '12.6.0'
+      UAClientHintWow64                          : 'false'
+
+
+- test:
+    input:
+      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.52'
+      Sec-Ch-Ua                            : '"Microsoft Edge";v="107", "Chromium";v="107", "Not=A?Brand";v="24"'
+      Sec-Ch-Ua-Mobile                     : '?0'
+      Sec-Ch-Ua-Platform                   : '"Windows"'
+    expected:
+      DeviceClass                          : 'Desktop'
+      DeviceName                           : 'Desktop'
+      DeviceBrand                          : 'Unknown'
+      DeviceCpu                            : 'Intel x86_64'
+      DeviceCpuBits                        : '64'
+      OperatingSystemClass                 : 'Desktop'
+      OperatingSystemName                  : 'Windows NT'
+      OperatingSystemVersion               : '??'
+      OperatingSystemVersionMajor          : '??'
+      OperatingSystemNameVersion           : 'Windows NT ??'
+      OperatingSystemNameVersionMajor      : 'Windows NT ??'
+      LayoutEngineClass                    : 'Browser'
+      LayoutEngineName                     : 'Blink'
+      LayoutEngineVersion                  : '107'
+      LayoutEngineVersionMajor             : '107'
+      LayoutEngineNameVersion              : 'Blink 107'
+      LayoutEngineNameVersionMajor         : 'Blink 107'
+      AgentClass                           : 'Browser'
+      AgentName                            : 'Edge'
+      AgentVersion                         : '107'
+      AgentVersionMajor                    : '107'
+      AgentNameVersion                     : 'Edge 107'
+      AgentNameVersionMajor                : 'Edge 107'
+      UAClientHintBrands_0_Brand           : 'Microsoft Edge'
+      UAClientHintBrands_0_Version         : '107'
+      UAClientHintBrands_1_Brand           : 'Chromium'
+      UAClientHintBrands_1_Version         : '107'
+      UAClientHintMobile                   : 'false'
+      UAClientHintPlatform                 : 'Windows'
+
+
+- test:
+    input:
+      User-Agent                                 : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36'
+      Sec-Ch-Ua                                  : '"Not?A_Brand";v="8", "Chromium";v="108", "Google Chrome";v="108"'
+      Sec-Ch-Ua-Arch                             : '"x86"'
+      Sec-Ch-Ua-Bitness                          : '"64"'
+      Sec-Ch-Ua-Full-Version                     : '"108.0.5359.72"'
+      Sec-Ch-Ua-Full-Version-List                : '"Not?A_Brand";v="8.0.0.0", "Chromium";v="108.0.5359.72", "Google Chrome";v="108.0.5359.72"'
+      Sec-Ch-Ua-Mobile                           : '?0'
+      Sec-Ch-Ua-Model                            : '""'
+      Sec-Ch-Ua-Platform                         : '"Windows"'
+      Sec-Ch-Ua-Platform-Version                 : '"0.1.0"'
+      Sec-Ch-Ua-Wow64                            : '?0'
+    expected:
+      DeviceClass                                : 'Desktop'
+      DeviceName                                 : 'Desktop'
+      DeviceBrand                                : 'Unknown'
+      DeviceCpu                                  : 'Intel x86_64'
+      DeviceCpuBits                              : '64'
+      OperatingSystemClass                       : 'Desktop'
+      OperatingSystemName                        : 'Windows NT'
+      OperatingSystemVersion                     : '7'
+      OperatingSystemVersionMajor                : '7'
+      OperatingSystemNameVersion                 : 'Windows 7'
+      OperatingSystemNameVersionMajor            : 'Windows 7'
+      LayoutEngineClass                          : 'Browser'
+      LayoutEngineName                           : 'Blink'
+      LayoutEngineVersion                        : '108.0'
+      LayoutEngineVersionMajor                   : '108'
+      LayoutEngineNameVersion                    : 'Blink 108.0'
+      LayoutEngineNameVersionMajor               : 'Blink 108'
+      AgentClass                                 : 'Browser'
+      AgentName                                  : 'Chrome'
+      AgentVersion                               : '108.0.5359.72'
+      AgentVersionMajor                          : '108'
+      AgentNameVersion                           : 'Chrome 108.0.5359.72'
+      AgentNameVersionMajor                      : 'Chrome 108'
+      UAClientHintArchitecture                   : 'x86'
+      UAClientHintBitness                        : '64'
+      UAClientHintBrands_0_Brand                 : 'Chromium'
+      UAClientHintBrands_0_Version               : '108'
+      UAClientHintBrands_1_Brand                 : 'Google Chrome'
+      UAClientHintBrands_1_Version               : '108'
+      UAClientHintFullVersion                    : '108.0.5359.72'
+      UAClientHintFullVersionList_0_Brand        : 'Chromium'
+      UAClientHintFullVersionList_0_Version      : '108.0.5359.72'
+      UAClientHintFullVersionList_1_Brand        : 'Google Chrome'
+      UAClientHintFullVersionList_1_Version      : '108.0.5359.72'
+      UAClientHintMobile                         : 'false'
+      UAClientHintPlatform                       : 'Windows'
+      UAClientHintPlatformVersion                : '0.1.0'
+      UAClientHintWow64                          : 'false'
+
diff --git a/analyzer/src/main/resources/UserAgents/Robots.yaml b/analyzer/src/main/resources/UserAgents/Robots.yaml
index 1dc68c1e..fdc365b5 100644
--- a/analyzer/src/main/resources/UserAgents/Robots.yaml
+++ b/analyzer/src/main/resources/UserAgents/Robots.yaml
@@ -10713,20 +10713,20 @@ config:
       OperatingSystemVersionMajor          : '>=10'
       OperatingSystemNameVersion           : 'Windows >=10'
       OperatingSystemNameVersionMajor      : 'Windows >=10'
       LayoutEngineClass                    : 'Browser'
       LayoutEngineName                     : 'Blink'
-      LayoutEngineVersion                  : '98'
-      LayoutEngineVersionMajor             : '98'
-      LayoutEngineNameVersion              : 'Blink 98'
-      LayoutEngineNameVersionMajor         : 'Blink 98'
+      LayoutEngineVersion                  : '97.0'
+      LayoutEngineVersionMajor             : '97'
+      LayoutEngineNameVersion              : 'Blink 97.0'
+      LayoutEngineNameVersionMajor         : 'Blink 97'
       AgentClass                           : 'Browser'
       AgentName                            : 'Chromium'
-      AgentVersion                         : '98'
-      AgentVersionMajor                    : '98'
-      AgentNameVersion                     : 'Chromium 98'
-      AgentNameVersionMajor                : 'Chromium 98'
+      AgentVersion                         : '97.0.4692.99'
+      AgentVersionMajor                    : '97'
+      AgentNameVersion                     : 'Chromium 97.0.4692.99'
+      AgentNameVersionMajor                : 'Chromium 97'
 
       UAClientHintBrands_0_Brand           : 'Chromium'
       UAClientHintBrands_0_Version         : '98'
       UAClientHintMobile                   : 'false'
       UAClientHintPlatform                 : 'Windows'

Vulnerable code:     private static final Set<String> CHROMIUM = new HashSet<>();
    static {
        CHROMIUM.add("Chromium");
        CHROMIUM.add("Chrome");
        List<Brand> fullVersionList = clientHints.getFullVersionList();
        if (fullVersionList != null && !fullVersionList.isEmpty()) {
            String version;
            String majorVersion;

            String agentName;
            for (Brand brand : fullVersionList) {
                String[] versionSplits;
                switch (brand.getName()) {
                    case "Chromium":
                        version = brand.getVersion();
                        versionSplits = version.split("\\.");
                        if (versionSplits.length == 4) {
                            if (!"0".equals(versionSplits[1])) {
                                continue;
                            }
                        }
                        version = versionSplits[0] + '.' + versionSplits[1];
                        majorVersion = versionSplits[0];
                        overrideValue(userAgent.get(LAYOUT_ENGINE_NAME), "Blink");
                        overrideValue(userAgent.get(LAYOUT_ENGINE_VERSION), version);
                        overrideValue(userAgent.get(LAYOUT_ENGINE_NAME_VERSION), "Blink " + version);
                        overrideValue(userAgent.get(LAYOUT_ENGINE_VERSION_MAJOR), majorVersion);
                        overrideValue(userAgent.get(LAYOUT_ENGINE_NAME_VERSION_MAJOR), "Blink "+ majorVersion);

                        if (fullVersionList.size() == 1) { // NOTE: The grease was filtered out !
                            // So we have "Chromium" and not "Chrome" or "Edge" or something else
                            if (CHROMIUM.contains(userAgent.getValue(AGENT_NAME))) {
                                agentName = "Chromium";
                                version = brand.getVersion();
                                overrideValue(userAgent.get(AGENT_NAME), agentName);
                                overrideValue(userAgent.get(AGENT_VERSION), version);
                                overrideValue(userAgent.get(AGENT_NAME_VERSION), agentName + " " + version);
                                overrideValue(userAgent.get(AGENT_VERSION_MAJOR), majorVersion);
                                overrideValue(userAgent.get(AGENT_NAME_VERSION_MAJOR), agentName + " " + majorVersion);
                            }
                        }

                        break;

                    case "Google Chrome":
                    case "Chrome":
                        agentName = "Chrome";
                        version = brand.getVersion();
                        versionSplits = version.split("\\.");
                        if (versionSplits.length == 4) {
                            if (!"0".equals(versionSplits[1])) {
                                continue;
                            }
                        }
                        majorVersion = versionSplits[0];

                        overrideValue(userAgent.get(AGENT_NAME), agentName);
                        overrideValue(userAgent.get(AGENT_VERSION), version);
                        overrideValue(userAgent.get(AGENT_NAME_VERSION), agentName + " " + version);
                        overrideValue(userAgent.get(AGENT_VERSION_MAJOR), majorVersion);
                        overrideValue(userAgent.get(AGENT_NAME_VERSION_MAJOR), agentName + " " + majorVersion);
                        break;

                    case "Microsoft Edge":
                    case "Edge":
                        agentName = "Edge";
                        version = brand.getVersion();
                        versionSplits = version.split("\\.");
                        if (versionSplits.length == 4) {
                            if (!"0".equals(versionSplits[1])) {
                                continue;
                            }
                        }
                        majorVersion = versionSplits[0];

                        overrideValue(userAgent.get(AGENT_NAME), agentName);
                        overrideValue(userAgent.get(AGENT_VERSION), version);
                        overrideValue(userAgent.get(AGENT_NAME_VERSION), agentName + " " + version);
                        overrideValue(userAgent.get(AGENT_VERSION_MAJOR), majorVersion);
                        overrideValue(userAgent.get(AGENT_NAME_VERSION_MAJOR), agentName + " " + majorVersion);
                        break;
                    default:
                        // Ignore
                }
            }
        } else {
            // No full versions available, only the major versions
            ArrayList<Brand> brands = clientHints.getBrands();
            if (brands == null) {
                return;
            }
            if (brands.size() == 1) { // NOTE: The grease was filtered out !
                Brand brand = brands.get(0);
                if ("Chromium".equals(brand.getName())) {
                    // So we have "Chromium" and not "Chrome", "Edge", "Opera" or something else
                    String version = brand.getVersion();
                    // NOTE: No full version available, only the major version
                    // We trust the Client hints more than the version we derived from the User-Agent.
                    overrideValue(userAgent.get(LAYOUT_ENGINE_NAME), "Blink");
                    overrideValue(userAgent.get(LAYOUT_ENGINE_VERSION), version);
                    overrideValue(userAgent.get(LAYOUT_ENGINE_NAME_VERSION), "Blink " + version);
                    overrideValue(userAgent.get(LAYOUT_ENGINE_VERSION_MAJOR), version);
                    overrideValue(userAgent.get(LAYOUT_ENGINE_NAME_VERSION_MAJOR), "Blink " + version);
                    // So we have "Chromium" and not "Chrome" or "Edge" or something else
                    if (CHROMIUM.contains(userAgent.getValue(AGENT_NAME))) {
                        overrideValue(userAgent.get(AGENT_VERSION), version);
                        overrideValue(userAgent.get(AGENT_NAME_VERSION), "Chromium " + version);
                        overrideValue(userAgent.get(AGENT_VERSION_MAJOR), version);
                        overrideValue(userAgent.get(AGENT_NAME_VERSION_MAJOR), "Chromium " + version);
            for (Brand brand : brands) {
                String[] versionSplits;
                switch (brand.getName()) {
                    case "Microsoft Edge":
                    case "Edge":
                        MutableAgentField agentName = userAgent.get(AGENT_NAME);
                        if (agentName.getValue().equals("Edge")) {
                            continue;
                        }
                        String version = brand.getVersion();
                        versionSplits = version.split("\\.");
                        if (versionSplits.length == 4) {
                            if (!"0".equals(versionSplits[1])) {
                                continue;
                            }
                        }
                        String majorVersion = versionSplits[0];

                        overrideValue(agentName, "Edge");
                        overrideValue(userAgent.get(AGENT_VERSION), version);
                        overrideValue(userAgent.get(AGENT_NAME_VERSION), "Edge " + version);
                        overrideValue(userAgent.get(AGENT_VERSION_MAJOR), majorVersion);
                        overrideValue(userAgent.get(AGENT_NAME_VERSION_MAJOR), "Edge " + majorVersion);
                        break;
                    default:
      AgentVersion                               : '100.0'
      AgentNameVersion                           : 'Chrome 100.0'
# NOTE: There is no Chromium tag so we use the Sec-Ch-Ua provided version.
      LayoutEngineVersion                  : '101'
      LayoutEngineNameVersion              : 'Blink 101'
      AgentVersion                         : '101' #.0.4951.64'
      AgentNameVersion                     : 'Chromium 101' #.0.4951.64'
      LayoutEngineVersion                        : '95'
      LayoutEngineNameVersion                    : 'Blink 95'
      AgentVersion                               : '95'
      AgentNameVersion                           : 'Chromium 95'
      LayoutEngineVersion                        : '95'
      LayoutEngineNameVersion                    : 'Blink 95'
      AgentVersion                               : '95'
      AgentNameVersion                           : 'Chromium 95'
      User-Agent                           : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:94.0) Gecko/20100101 Firefox/94.0 Herring/583.19.9'
      AgentName                            : 'Herring'
      AgentVersion                         : '583.19.9'
      AgentVersionMajor                    : '583'
      AgentNameVersion                     : 'Herring 583.19.9'
      AgentNameVersionMajor                : 'Herring 583'

- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 Agency/100.8.7507.8'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '>=10'
      OperatingSystemVersionMajor          : '>=10'
      OperatingSystemNameVersion           : 'Windows >=10'
      OperatingSystemNameVersionMajor      : 'Windows >=10'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Blink'
      LayoutEngineVersion                  : '103.0'
      LayoutEngineVersionMajor             : '103'
      LayoutEngineNameVersion              : 'Blink 103.0'
      LayoutEngineNameVersionMajor         : 'Blink 103'
      AgentClass                           : 'Browser'
      AgentName                            : 'Agency'
      AgentVersion                         : '100.8.7507.8'
      AgentVersionMajor                    : '100'
      AgentNameVersion                     : 'Agency 100.8.7507.8'
      AgentNameVersionMajor                : 'Agency 100'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 AtContent/95.5.6374.75'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '>=10'
      OperatingSystemVersionMajor          : '>=10'
      OperatingSystemNameVersion           : 'Windows >=10'
      OperatingSystemNameVersionMajor      : 'Windows >=10'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Blink'
      LayoutEngineVersion                  : '103.0'
      LayoutEngineVersionMajor             : '103'
      LayoutEngineNameVersion              : 'Blink 103.0'
      LayoutEngineNameVersionMajor         : 'Blink 103'
      AgentClass                           : 'Browser'
      AgentName                            : 'AtContent'
      AgentVersion                         : '95.5.6374.75'
      AgentVersionMajor                    : '95'
      AgentNameVersion                     : 'AtContent 95.5.6374.75'
      AgentNameVersionMajor                : 'AtContent 95'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 Config/99.2.4311.12'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '>=10'
      OperatingSystemVersionMajor          : '>=10'
      OperatingSystemNameVersion           : 'Windows >=10'
      OperatingSystemNameVersionMajor      : 'Windows >=10'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Blink'
      LayoutEngineVersion                  : '103.0'
      LayoutEngineVersionMajor             : '103'
      LayoutEngineNameVersion              : 'Blink 103.0'
      LayoutEngineNameVersionMajor         : 'Blink 103'
      AgentClass                           : 'Browser'
      AgentName                            : 'Config'
      AgentVersion                         : '99.2.4311.12'
      AgentVersionMajor                    : '99'
      AgentNameVersion                     : 'Config 99.2.4311.12'
      AgentNameVersionMajor                : 'Config 99'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 GLS/90.10.6209.10'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '>=10'
      OperatingSystemVersionMajor          : '>=10'
      OperatingSystemNameVersion           : 'Windows >=10'
      OperatingSystemNameVersionMajor      : 'Windows >=10'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Blink'
      LayoutEngineVersion                  : '103.0'
      LayoutEngineVersionMajor             : '103'
      LayoutEngineNameVersion              : 'Blink 103.0'
      LayoutEngineNameVersionMajor         : 'Blink 103'
      AgentClass                           : 'Browser'
      AgentName                            : 'GLS'
      AgentVersion                         : '90.10.6209.10'
      AgentVersionMajor                    : '90'
      AgentNameVersion                     : 'GLS 90.10.6209.10'
      AgentNameVersionMajor                : 'GLS 90'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 Herring/96.1.1770.71'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '>=10'
      OperatingSystemVersionMajor          : '>=10'
      OperatingSystemNameVersion           : 'Windows >=10'
      OperatingSystemNameVersionMajor      : 'Windows >=10'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Blink'
      LayoutEngineVersion                  : '103.0'
      LayoutEngineVersionMajor             : '103'
      LayoutEngineNameVersion              : 'Blink 103.0'
      LayoutEngineNameVersionMajor         : 'Blink 103'
      AgentClass                           : 'Browser'
      AgentName                            : 'Herring'
      AgentVersion                         : '96.1.1770.71'
      AgentVersionMajor                    : '96'
      AgentNameVersion                     : 'Herring 96.1.1770.71'
      AgentNameVersionMajor                : 'Herring 96'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 LikeWise/91.6.3585.86'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '>=10'
      OperatingSystemVersionMajor          : '>=10'
      OperatingSystemNameVersion           : 'Windows >=10'
      OperatingSystemNameVersionMajor      : 'Windows >=10'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Blink'
      LayoutEngineVersion                  : '103.0'
      LayoutEngineVersionMajor             : '103'
      LayoutEngineNameVersion              : 'Blink 103.0'
      LayoutEngineNameVersionMajor         : 'Blink 103'
      AgentClass                           : 'Browser'
      AgentName                            : 'LikeWise'
      AgentVersion                         : '91.6.3585.86'
      AgentVersionMajor                    : '91'
      AgentNameVersion                     : 'LikeWise 91.6.3585.86'
      AgentNameVersionMajor                : 'LikeWise 91'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 OpenWave/95.4.2243.44'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '>=10'
      OperatingSystemVersionMajor          : '>=10'
      OperatingSystemNameVersion           : 'Windows >=10'
      OperatingSystemNameVersionMajor      : 'Windows >=10'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Blink'
      LayoutEngineVersion                  : '103.0'
      LayoutEngineVersionMajor             : '103'
      LayoutEngineNameVersion              : 'Blink 103.0'
      LayoutEngineNameVersionMajor         : 'Blink 103'
      AgentClass                           : 'Browser'
      AgentName                            : 'OpenWave'
      AgentVersion                         : '95.4.2243.44'
      AgentVersionMajor                    : '95'
      AgentNameVersion                     : 'OpenWave 95.4.2243.44'
      AgentNameVersionMajor                : 'OpenWave 95'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 Trailer/92.3.8742.43'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '>=10'
      OperatingSystemVersionMajor          : '>=10'
      OperatingSystemNameVersion           : 'Windows >=10'
      OperatingSystemNameVersionMajor      : 'Windows >=10'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Blink'
      LayoutEngineVersion                  : '103.0'
      LayoutEngineVersionMajor             : '103'
      LayoutEngineNameVersion              : 'Blink 103.0'
      LayoutEngineNameVersionMajor         : 'Blink 103'
      AgentClass                           : 'Browser'
      AgentName                            : 'Trailer'
      AgentVersion                         : '92.3.8742.43'
      AgentVersionMajor                    : '92'
      AgentNameVersion                     : 'Trailer 92.3.8742.43'
      AgentNameVersionMajor                : 'Trailer 92'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 Viewer/96.9.4198.99'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '>=10'
      OperatingSystemVersionMajor          : '>=10'
      OperatingSystemNameVersion           : 'Windows >=10'
      OperatingSystemNameVersionMajor      : 'Windows >=10'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Blink'
      LayoutEngineVersion                  : '103.0'
      LayoutEngineVersionMajor             : '103'
      LayoutEngineNameVersion              : 'Blink 103.0'
      LayoutEngineNameVersionMajor         : 'Blink 103'
      AgentClass                           : 'Browser'
      AgentName                            : 'Viewer'
      AgentVersion                         : '96.9.4198.99'
      AgentVersionMajor                    : '96'
      AgentNameVersion                     : 'Viewer 96.9.4198.99'
      AgentNameVersionMajor                : 'Viewer 96'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36 Edg/103.0.1264.62 Herring/98.1.5870.71'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '>=10'
      OperatingSystemVersionMajor          : '>=10'
      OperatingSystemNameVersion           : 'Windows >=10'
      OperatingSystemNameVersionMajor      : 'Windows >=10'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Blink'
      LayoutEngineVersion                  : '103.0'
      LayoutEngineVersionMajor             : '103'
      LayoutEngineNameVersion              : 'Blink 103.0'
      LayoutEngineNameVersionMajor         : 'Blink 103'
      AgentClass                           : 'Browser'
      AgentName                            : 'Herring'
      AgentVersion                         : '98.1.5870.71'
      AgentVersionMajor                    : '98'
      AgentNameVersion                     : 'Herring 98.1.5870.71'
      AgentNameVersionMajor                : 'Herring 98'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36 OPR/89.0.4447.48 Herring/95.1.6890.91'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '10.0'
      OperatingSystemVersionMajor          : '10'
      OperatingSystemNameVersion           : 'Windows 10.0'
      OperatingSystemNameVersionMajor      : 'Windows 10'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Blink'
      LayoutEngineVersion                  : '103.0'
      LayoutEngineVersionMajor             : '103'
      LayoutEngineNameVersion              : 'Blink 103.0'
      LayoutEngineNameVersionMajor         : 'Blink 103'
      AgentClass                           : 'Browser'
      AgentName                            : 'Herring'
      AgentVersion                         : '95.1.6890.91'
      AgentVersionMajor                    : '95'
      AgentNameVersion                     : 'Herring 95.1.6890.91'
      AgentNameVersionMajor                : 'Herring 95'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36 Herring/100.1.7540.41'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'Windows NT ??'
      OperatingSystemNameVersionMajor      : 'Windows NT ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Blink'
      LayoutEngineVersion                  : '103'
      LayoutEngineVersionMajor             : '103'
      LayoutEngineNameVersion              : 'Blink 103'
      LayoutEngineNameVersionMajor         : 'Blink 103'
      AgentClass                           : 'Browser'
      AgentName                            : 'Herring'
      AgentVersion                         : '100.1.7540.41'
      AgentVersionMajor                    : '100'
      AgentNameVersion                     : 'Herring 100.1.7540.41'
      AgentNameVersionMajor                : 'Herring 100'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0 Agency/95.8.7917.18'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '8.1'
      OperatingSystemVersionMajor          : '8'
      OperatingSystemNameVersion           : 'Windows 8.1'
      OperatingSystemNameVersionMajor      : 'Windows 8'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Gecko'
      LayoutEngineVersion                  : '101.0'
      LayoutEngineVersionMajor             : '101'
      LayoutEngineNameVersion              : 'Gecko 101.0'
      LayoutEngineNameVersionMajor         : 'Gecko 101'
      LayoutEngineBuild                    : '20100101'
      AgentClass                           : 'Browser'
      AgentName                            : 'Agency'
      AgentVersion                         : '95.8.7917.18'
      AgentVersionMajor                    : '95'
      AgentNameVersion                     : 'Agency 95.8.7917.18'
      AgentNameVersionMajor                : 'Agency 95'
      LayoutEngineVersion                  : '104'
      LayoutEngineNameVersion              : 'Blink 104'
      LayoutEngineVersion                  : '98'
      LayoutEngineVersionMajor             : '98'
      LayoutEngineNameVersion              : 'Blink 98'
      LayoutEngineNameVersionMajor         : 'Blink 98'
      AgentVersion                         : '98'
      AgentVersionMajor                    : '98'
      AgentNameVersion                     : 'Chromium 98'
      AgentNameVersionMajor                : 'Chromium 98'
Fixed code:   - Ignore the tags created by Kamo
  - Slightly better analysis of the Client Hints
    private boolean newVersionIsBetter(MutableAgentField currentVersion, String version) {
        boolean currentVersionHasMinor = currentVersion.getValue().contains(".");
        boolean versionHasMinor = version.contains(".");
        return currentVersion.isDefaultValue() ||
            (!versionHasMinor && !currentVersionHasMinor) ||
            (versionHasMinor);
        boolean usingFullVersions = true;
        List<Brand> versionList = clientHints.getFullVersionList();
        if (versionList == null) {
            versionList = clientHints.getBrands();
            usingFullVersions = false;
        }
        if (versionList == null) {
            return; // Nothing to do
        }

        final Map<String, Brand> versionMap = new TreeMap<>();
        versionList.forEach(v -> versionMap.put(v.getName(), v));
        // ========================
        Brand chromium = versionMap.get("Chromium");
        if (chromium != null) {
            String version = chromium.getVersion();
            String[] versionSplits = version.split("\\.");
            String majorVersion = versionSplits[0];
            // Work around the major in minor hack/feature of Chrome ~v99
            if (versionSplits.length==4 && !"0".equals(versionSplits[1])) {
                version = versionSplits[1] + ".0." + versionSplits[2] + '.' + versionSplits[3];
                majorVersion = versionSplits[1];
            }

            // ==== Blink ?
            MutableAgentField engineName = userAgent.get(LAYOUT_ENGINE_NAME);
            if (engineName.isDefaultValue() || !"Blink".equals(engineName.getValue())) {
                overrideValue(engineName, "Blink");
            }
            MutableAgentField engineVersion = userAgent.get(LAYOUT_ENGINE_VERSION);
            MutableAgentField engineMajorVersion = userAgent.get(LAYOUT_ENGINE_VERSION_MAJOR);
            String blinkVersion = majorVersion;
            if (versionSplits.length>1) {
                blinkVersion = majorVersion + ".0";
            }
            if (newVersionIsBetter(engineVersion, blinkVersion)) {
                overrideValue(engineVersion, blinkVersion);
                overrideValue(engineMajorVersion, majorVersion);
            }

            overrideValue(userAgent.get(LAYOUT_ENGINE_NAME_VERSION), engineName.getValue() + " " + engineVersion.getValue());
            overrideValue(userAgent.get(LAYOUT_ENGINE_NAME_VERSION_MAJOR), engineName.getValue() + " " + engineMajorVersion.getValue());

            // ===== Chromium browser?
            if (versionList.size() == 1) { // NOTE: The grease was filtered out !
                // So we have "Chromium" and not "Chrome" or "Edge" or something else
                MutableAgentField currentVersion = userAgent.get(AGENT_VERSION);
                if (newVersionIsBetter(currentVersion, version)) {
                    overrideValue(userAgent.get(AGENT_NAME), "Chromium");
                    overrideValue(userAgent.get(AGENT_VERSION), version);
                    overrideValue(userAgent.get(AGENT_NAME_VERSION), "Chromium " + version);
                    overrideValue(userAgent.get(AGENT_VERSION_MAJOR), majorVersion);
                    overrideValue(userAgent.get(AGENT_NAME_VERSION_MAJOR), "Chromium " + majorVersion);
                } else {
                    // We ONLY update the name of the agent to Chromium in some cases
                    if ("Chrome".equals(userAgent.getValue(AGENT_NAME))) {
                        overrideValue(userAgent.get(AGENT_NAME_VERSION), "Chromium " + currentVersion.getValue());

                        String currentMajorVersion = userAgent.getValue(AGENT_VERSION_MAJOR);
                        overrideValue(userAgent.get(AGENT_NAME_VERSION_MAJOR), "Chromium " + currentMajorVersion);

        }
        versionMap.remove("Chromium");
        // ========================
        Brand chrome = versionMap.get("Chrome");
        if (chrome == null) {
            chrome = versionMap.get("Google Chrome");
        }
        if (chrome != null) {
            if (versionMap.size() == 1) {
                // So we have "Chrome" and nothing else
                MutableAgentField currentVersion = userAgent.get(AGENT_VERSION);
                String version = chrome.getVersion();
                String[] versionSplits = version.split("\\.");
                String majorVersion = versionSplits[0];

                // Work around the major in minor hack/feature of Chrome ~v99
                // 99.100.x.y is really 100.0.x.y
                if (versionSplits.length==4 && !"0".equals(versionSplits[1])) {
                    version = versionSplits[1] + ".0." + versionSplits[2] + '.' + versionSplits[3];
                    majorVersion = versionSplits[1];
                }

//                if (currentVersion.isDefaultValue()  ||
//                    (!currentVersion.getValue().contains(".") && usingFullVersions)) {
                if (newVersionIsBetter(currentVersion, version)) {
                    overrideValue(userAgent.get(AGENT_NAME), "Chrome");
                    overrideValue(currentVersion, version);
                    overrideValue(userAgent.get(AGENT_NAME_VERSION), "Chrome " + version);
                    overrideValue(userAgent.get(AGENT_VERSION_MAJOR), majorVersion);
                    overrideValue(userAgent.get(AGENT_NAME_VERSION_MAJOR), "Chrome " + majorVersion);
                    return;
        versionMap.remove("Chrome");
        versionMap.remove("Google Chrome");
        // ========================

        // If anything remains then (we think) THAT is the truth...
        for (Map.Entry<String, Brand> brandEntry : versionMap.entrySet()) {
            Brand brand = brandEntry.getValue();
            String rawBrandName = brand.getName();
            String agentName = rawBrandName;

            // Sanitize the common yet unwanted names
            switch (rawBrandName) {
                case "Microsoft Edge":
                    agentName = "Edge";
                    break;
                default:
            }

            MutableAgentField agentNameField = userAgent.get(AGENT_NAME);
            MutableAgentField agentVersionField = userAgent.get(AGENT_VERSION);

            switch (agentName) {
                case "Opera":
                    // There is a bug in Opera which puts the wrong version in the client hints.
                    break;

                default:
                    // Only do this if the existing in only a major version, and we have received full versions
                    if (agentVersionField.getValue().contains(".") && !usingFullVersions){
                        continue;
                    }
                    // In all other cases the client hint is expected to be "more" true.
                    String version = brand.getVersion();
                    String majorVersion = version.split("\\.")[0];
                    overrideValue(agentNameField, agentName);
                    overrideValue(userAgent.get(AGENT_VERSION), version);
                    overrideValue(userAgent.get(AGENT_NAME_VERSION), agentName + " " + version);
                    overrideValue(userAgent.get(AGENT_VERSION_MAJOR), majorVersion);
                    overrideValue(userAgent.get(AGENT_NAME_VERSION_MAJOR), agentName + " " + majorVersion);
                    break;
            }
        }
config:

# Tags used by https://www.ccleaner.com/kamo that must be ignored
- set:
    name: 'KamoAgents'
    values:
    - 'Agency'
    - 'AtContent'
    - 'Config'
    - 'GLS'
    - 'Herring'
    - 'LikeWise'
    - 'OpenWave'
    - 'Trailer'
    - 'Unique'
    - 'Viewer'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.0.0 Safari/537.36 Trailer/98.3.7512.13'
      Sec-Ch-Ua                            : '" Not A;Brand";v="99", "Chromium";v="100", "Google Chrome";v="100"'
      Sec-Ch-Ua-Mobile                     : '?0'
      Sec-Ch-Ua-Platform                   : '"Windows"'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'Windows NT ??'
      OperatingSystemNameVersionMajor      : 'Windows NT ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Blink'
      LayoutEngineVersion                  : '100'
      LayoutEngineVersionMajor             : '100'
      LayoutEngineNameVersion              : 'Blink 100'
      LayoutEngineNameVersionMajor         : 'Blink 100'
      AgentClass                           : 'Browser'
      AgentName                            : 'Chrome'
      AgentVersion                         : '100'
      AgentVersionMajor                    : '100'
      AgentNameVersion                     : 'Chrome 100'
      AgentNameVersionMajor                : 'Chrome 100'
      UAClientHintBrands_0_Brand           : 'Chromium'
      UAClientHintBrands_0_Version         : '100'
      UAClientHintBrands_1_Brand           : 'Google Chrome'
      UAClientHintBrands_1_Version         : '100'
      UAClientHintMobile                   : 'false'
      UAClientHintPlatform                 : 'Windows'


- test:
    input:
      User-Agent                                 : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.0.0 Safari/537.36 Trailer/98.3.7512.13'
      Sec-Ch-Ua                                  : '" Not A;Brand";v="99", "Chromium";v="100", "Google Chrome";v="100"'
      Sec-Ch-Ua-Arch                             : '"x86"'
      Sec-Ch-Ua-Bitness                          : '"64"'
      Sec-Ch-Ua-Full-Version                     : '"100.0.4896.127"'
      Sec-Ch-Ua-Full-Version-List                : '" Not A;Brand";v="99.0.0.0", "Chromium";v="100.0.4896.127", "Google Chrome";v="100.0.4896.127"'
      Sec-Ch-Ua-Mobile                           : '?0'
      Sec-Ch-Ua-Model                            : '""'
      Sec-Ch-Ua-Platform                         : '"Windows"'
      Sec-Ch-Ua-Platform-Version                 : '"0.1.0"'
      Sec-Ch-Ua-Wow64                            : '?0'
    expected:
      DeviceClass                                : 'Desktop'
      DeviceName                                 : 'Desktop'
      DeviceBrand                                : 'Unknown'
      DeviceCpu                                  : 'Intel x86_64'
      DeviceCpuBits                              : '64'
      OperatingSystemClass                       : 'Desktop'
      OperatingSystemName                        : 'Windows NT'
      OperatingSystemVersion                     : '7'
      OperatingSystemVersionMajor                : '7'
      OperatingSystemNameVersion                 : 'Windows 7'
      OperatingSystemNameVersionMajor            : 'Windows 7'
      LayoutEngineClass                          : 'Browser'
      LayoutEngineName                           : 'Blink'
      LayoutEngineVersion                        : '100.0'
      LayoutEngineVersionMajor                   : '100'
      LayoutEngineNameVersion                    : 'Blink 100.0'
      LayoutEngineNameVersionMajor               : 'Blink 100'
      AgentClass                                 : 'Browser'
      AgentName                                  : 'Chrome'
      AgentVersion                               : '100.0.4896.127'
      AgentVersionMajor                          : '100'
      AgentNameVersion                           : 'Chrome 100.0.4896.127'
      AgentNameVersionMajor                      : 'Chrome 100'

      UAClientHintArchitecture                   : 'x86'
      UAClientHintBitness                        : '64'
      UAClientHintBrands_0_Brand                 : 'Chromium'
      UAClientHintBrands_0_Version               : '100'
      UAClientHintBrands_1_Brand                 : 'Google Chrome'
      UAClientHintBrands_1_Version               : '100'
      UAClientHintFullVersion                    : '100.0.4896.127'
      UAClientHintFullVersionList_0_Brand        : 'Chromium'
      UAClientHintFullVersionList_0_Version      : '100.0.4896.127'
      UAClientHintFullVersionList_1_Brand        : 'Google Chrome'
      UAClientHintFullVersionList_1_Version      : '100.0.4896.127'
      UAClientHintMobile                         : 'false'
      UAClientHintPlatform                       : 'Windows'
      UAClientHintPlatformVersion                : '0.1.0'
      UAClientHintWow64                          : 'false'


- test:
    input:
      User-Agent                                 : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 GLS/93.10.5259.60'
      Sec-Ch-Ua                                  : '"Not?A_Brand";v="8", "Chromium";v="108", "Google Chrome";v="108"'
      Sec-Ch-Ua-Arch                             : '"x86"'
      Sec-Ch-Ua-Bitness                          : '"64"'
      Sec-Ch-Ua-Full-Version                     : '"108.0.5359.72"'
      Sec-Ch-Ua-Full-Version-List                : '"Not?A_Brand";v="8.0.0.0", "Chromium";v="108.0.5359.72", "Google Chrome";v="108.0.5359.72"'
      Sec-Ch-Ua-Mobile                           : '?0'
      Sec-Ch-Ua-Model                            : '""'
      Sec-Ch-Ua-Platform                         : '"Windows"'
      Sec-Ch-Ua-Platform-Version                 : '"0.1.0"'
      Sec-Ch-Ua-Wow64                            : '?0'
    expected:
      DeviceClass                                : 'Desktop'
      DeviceName                                 : 'Desktop'
      DeviceBrand                                : 'Unknown'
      DeviceCpu                                  : 'Intel x86_64'
      DeviceCpuBits                              : '64'
      OperatingSystemClass                       : 'Desktop'
      OperatingSystemName                        : 'Windows NT'
      OperatingSystemVersion                     : '7'
      OperatingSystemVersionMajor                : '7'
      OperatingSystemNameVersion                 : 'Windows 7'
      OperatingSystemNameVersionMajor            : 'Windows 7'
      LayoutEngineClass                          : 'Browser'
      LayoutEngineName                           : 'Blink'
      LayoutEngineVersion                        : '108.0'
      LayoutEngineVersionMajor                   : '108'
      LayoutEngineNameVersion                    : 'Blink 108.0'
      LayoutEngineNameVersionMajor               : 'Blink 108'
      AgentClass                                 : 'Browser'
      AgentName                                  : 'Chrome'
      AgentVersion                               : '108.0.5359.72'
      AgentVersionMajor                          : '108'
      AgentNameVersion                           : 'Chrome 108.0.5359.72'
      AgentNameVersionMajor                      : 'Chrome 108'

      UAClientHintArchitecture                   : 'x86'
      UAClientHintBitness                        : '64'
      UAClientHintBrands_0_Brand                 : 'Chromium'
      UAClientHintBrands_0_Version               : '108'
      UAClientHintBrands_1_Brand                 : 'Google Chrome'
      UAClientHintBrands_1_Version               : '108'
      UAClientHintFullVersion                    : '108.0.5359.72'
      UAClientHintFullVersionList_0_Brand        : 'Chromium'
      UAClientHintFullVersionList_0_Version      : '108.0.5359.72'
      UAClientHintFullVersionList_1_Brand        : 'Google Chrome'
      UAClientHintFullVersionList_1_Version      : '108.0.5359.72'
      UAClientHintMobile                         : 'false'
      UAClientHintPlatform                       : 'Windows'
      UAClientHintPlatformVersion                : '0.1.0'
      UAClientHintWow64                          : 'false'


- test:
    input:
      User-Agent                                 : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 LikeWise/94.6.5565.66'
      Sec-Ch-Ua                                  : '"Not?A_Brand";v="8", "Chromium";v="108", "Google Chrome";v="108"'
      Sec-Ch-Ua-Arch                             : '"x86"'
      Sec-Ch-Ua-Bitness                          : '"64"'
      Sec-Ch-Ua-Full-Version                     : '"108.0.5359.72"'
      Sec-Ch-Ua-Full-Version-List                : '"Not?A_Brand";v="8.0.0.0", "Chromium";v="108.0.5359.72", "Google Chrome";v="108.0.5359.72"'
      Sec-Ch-Ua-Mobile                           : '?0'
      Sec-Ch-Ua-Model                            : '""'
      Sec-Ch-Ua-Platform                         : '"Windows"'
      Sec-Ch-Ua-Platform-Version                 : '"0.1.0"'
      Sec-Ch-Ua-Wow64                            : '?0'
    expected:
      DeviceClass                                : 'Desktop'
      DeviceName                                 : 'Desktop'
      DeviceBrand                                : 'Unknown'
      DeviceCpu                                  : 'Intel x86_64'
      DeviceCpuBits                              : '64'
      OperatingSystemClass                       : 'Desktop'
      OperatingSystemName                        : 'Windows NT'
      OperatingSystemVersion                     : '7'
      OperatingSystemVersionMajor                : '7'
      OperatingSystemNameVersion                 : 'Windows 7'
      OperatingSystemNameVersionMajor            : 'Windows 7'
      LayoutEngineClass                          : 'Browser'
      LayoutEngineName                           : 'Blink'
      LayoutEngineVersion                        : '108.0'
      LayoutEngineVersionMajor                   : '108'
      LayoutEngineNameVersion                    : 'Blink 108.0'
      LayoutEngineNameVersionMajor               : 'Blink 108'
      AgentClass                                 : 'Browser'
      AgentName                                  : 'Chrome'
      AgentVersion                               : '108.0.5359.72'
      AgentVersionMajor                          : '108'
      AgentNameVersion                           : 'Chrome 108.0.5359.72'
      AgentNameVersionMajor                      : 'Chrome 108'

      UAClientHintArchitecture                   : 'x86'
      UAClientHintBitness                        : '64'
      UAClientHintBrands_0_Brand                 : 'Chromium'
      UAClientHintBrands_0_Version               : '108'
      UAClientHintBrands_1_Brand                 : 'Google Chrome'
      UAClientHintBrands_1_Version               : '108'
      UAClientHintFullVersion                    : '108.0.5359.72'
      UAClientHintFullVersionList_0_Brand        : 'Chromium'
      UAClientHintFullVersionList_0_Version      : '108.0.5359.72'
      UAClientHintFullVersionList_1_Brand        : 'Google Chrome'
      UAClientHintFullVersionList_1_Version      : '108.0.5359.72'
      UAClientHintMobile                         : 'false'
      UAClientHintPlatform                       : 'Windows'
      UAClientHintPlatformVersion                : '0.1.0'
      UAClientHintWow64                          : 'false'


- test:
    input:
      User-Agent                                 : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 LikeWise/95.6.7405.6'
      Sec-Ch-Ua                                  : '"Not?A_Brand";v="8", "Chromium";v="108", "Google Chrome";v="108"'
      Sec-Ch-Ua-Arch                             : '"x86"'
      Sec-Ch-Ua-Bitness                          : '"64"'
      Sec-Ch-Ua-Full-Version                     : '"108.0.5359.72"'
      Sec-Ch-Ua-Full-Version-List                : '"Not?A_Brand";v="8.0.0.0", "Chromium";v="108.0.5359.72", "Google Chrome";v="108.0.5359.72"'
      Sec-Ch-Ua-Mobile                           : '?0'
      Sec-Ch-Ua-Model                            : '""'
      Sec-Ch-Ua-Platform                         : '"Windows"'
      Sec-Ch-Ua-Platform-Version                 : '"0.1.0"'
      Sec-Ch-Ua-Wow64                            : '?0'
    expected:
      DeviceClass                                : 'Desktop'
      DeviceName                                 : 'Desktop'
      DeviceBrand                                : 'Unknown'
      DeviceCpu                                  : 'Intel x86_64'
      DeviceCpuBits                              : '64'
      OperatingSystemClass                       : 'Desktop'
      OperatingSystemName                        : 'Windows NT'
      OperatingSystemVersion                     : '7'
      OperatingSystemVersionMajor                : '7'
      OperatingSystemNameVersion                 : 'Windows 7'
      OperatingSystemNameVersionMajor            : 'Windows 7'
      LayoutEngineClass                          : 'Browser'
      LayoutEngineName                           : 'Blink'
      LayoutEngineVersion                        : '108.0'
      LayoutEngineVersionMajor                   : '108'
      LayoutEngineNameVersion                    : 'Blink 108.0'
      LayoutEngineNameVersionMajor               : 'Blink 108'
      AgentClass                                 : 'Browser'
      AgentName                                  : 'Chrome'
      AgentVersion                               : '108.0.5359.72'
      AgentVersionMajor                          : '108'
      AgentNameVersion                           : 'Chrome 108.0.5359.72'
      AgentNameVersionMajor                      : 'Chrome 108'

      UAClientHintArchitecture                   : 'x86'
      UAClientHintBitness                        : '64'
      UAClientHintBrands_0_Brand                 : 'Chromium'
      UAClientHintBrands_0_Version               : '108'
      UAClientHintBrands_1_Brand                 : 'Google Chrome'
      UAClientHintBrands_1_Version               : '108'
      UAClientHintFullVersion                    : '108.0.5359.72'
      UAClientHintFullVersionList_0_Brand        : 'Chromium'
      UAClientHintFullVersionList_0_Version      : '108.0.5359.72'
      UAClientHintFullVersionList_1_Brand        : 'Google Chrome'
      UAClientHintFullVersionList_1_Version      : '108.0.5359.72'
      UAClientHintMobile                         : 'false'
      UAClientHintPlatform                       : 'Windows'
      UAClientHintPlatformVersion                : '0.1.0'
      UAClientHintWow64                          : 'false'


- test:
    input:
      User-Agent                                 : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 OpenWave/98.4.3033.34'
      Sec-Ch-Ua                                  : '"Not?A_Brand";v="8", "Chromium";v="108", "Google Chrome";v="108"'
      Sec-Ch-Ua-Arch                             : '"x86"'
      Sec-Ch-Ua-Bitness                          : '"64"'
      Sec-Ch-Ua-Full-Version                     : '"108.0.5359.72"'
      Sec-Ch-Ua-Full-Version-List                : '"Not?A_Brand";v="8.0.0.0", "Chromium";v="108.0.5359.72", "Google Chrome";v="108.0.5359.72"'
      Sec-Ch-Ua-Mobile                           : '?0'
      Sec-Ch-Ua-Model                            : '""'
      Sec-Ch-Ua-Platform                         : '"Windows"'
      Sec-Ch-Ua-Platform-Version                 : '"0.1.0"'
      Sec-Ch-Ua-Wow64                            : '?0'
    expected:
      DeviceClass                                : 'Desktop'
      DeviceName                                 : 'Desktop'
      DeviceBrand                                : 'Unknown'
      DeviceCpu                                  : 'Intel x86_64'
      DeviceCpuBits                              : '64'
      OperatingSystemClass                       : 'Desktop'
      OperatingSystemName                        : 'Windows NT'
      OperatingSystemVersion                     : '7'
      OperatingSystemVersionMajor                : '7'
      OperatingSystemNameVersion                 : 'Windows 7'
      OperatingSystemNameVersionMajor            : 'Windows 7'
      LayoutEngineClass                          : 'Browser'
      LayoutEngineName                           : 'Blink'
      LayoutEngineVersion                        : '108.0'
      LayoutEngineVersionMajor                   : '108'
      LayoutEngineNameVersion                    : 'Blink 108.0'
      LayoutEngineNameVersionMajor               : 'Blink 108'
      AgentClass                                 : 'Browser'
      AgentName                                  : 'Chrome'
      AgentVersion                               : '108.0.5359.72'
      AgentVersionMajor                          : '108'
      AgentNameVersion                           : 'Chrome 108.0.5359.72'
      AgentNameVersionMajor                      : 'Chrome 108'

      UAClientHintArchitecture                   : 'x86'
      UAClientHintBitness                        : '64'
      UAClientHintBrands_0_Brand                 : 'Chromium'
      UAClientHintBrands_0_Version               : '108'
      UAClientHintBrands_1_Brand                 : 'Google Chrome'
      UAClientHintBrands_1_Version               : '108'
      UAClientHintFullVersion                    : '108.0.5359.72'
      UAClientHintFullVersionList_0_Brand        : 'Chromium'
      UAClientHintFullVersionList_0_Version      : '108.0.5359.72'
      UAClientHintFullVersionList_1_Brand        : 'Google Chrome'
      UAClientHintFullVersionList_1_Version      : '108.0.5359.72'
      UAClientHintMobile                         : 'false'
      UAClientHintPlatform                       : 'Windows'
      UAClientHintPlatformVersion                : '0.1.0'
      UAClientHintWow64                          : 'false'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko GLS/93.10.5259.60'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '7'
      OperatingSystemVersionMajor          : '7'
      OperatingSystemNameVersion           : 'Windows 7'
      OperatingSystemNameVersionMajor      : 'Windows 7'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Trident'
      LayoutEngineVersion                  : '7.0'
      LayoutEngineVersionMajor             : '7'
      LayoutEngineNameVersion              : 'Trident 7.0'
      LayoutEngineNameVersionMajor         : 'Trident 7'
      AgentClass                           : 'Browser'
      AgentName                            : 'Internet Explorer'
      AgentVersion                         : '11.0'
      AgentVersionMajor                    : '11'
      AgentNameVersion                     : 'Internet Explorer 11.0'
      AgentNameVersionMajor                : 'Internet Explorer 11'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko LikeWise/94.6.5565.66'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '7'
      OperatingSystemVersionMajor          : '7'
      OperatingSystemNameVersion           : 'Windows 7'
      OperatingSystemNameVersionMajor      : 'Windows 7'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Trident'
      LayoutEngineVersion                  : '7.0'
      LayoutEngineVersionMajor             : '7'
      LayoutEngineNameVersion              : 'Trident 7.0'
      LayoutEngineNameVersionMajor         : 'Trident 7'
      AgentClass                           : 'Browser'
      AgentName                            : 'Internet Explorer'
      AgentVersion                         : '11.0'
      AgentVersionMajor                    : '11'
      AgentNameVersion                     : 'Internet Explorer 11.0'
      AgentNameVersionMajor                : 'Internet Explorer 11'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '7'
      OperatingSystemVersionMajor          : '7'
      OperatingSystemNameVersion           : 'Windows 7'
      OperatingSystemNameVersionMajor      : 'Windows 7'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Blink'
      LayoutEngineVersion                  : '107'
      LayoutEngineVersionMajor             : '107'
      LayoutEngineNameVersion              : 'Blink 107'
      LayoutEngineNameVersionMajor         : 'Blink 107'
      AgentClass                           : 'Browser'
      AgentName                            : 'Chrome'
      AgentVersion                         : '107'
      AgentVersionMajor                    : '107'
      AgentNameVersion                     : 'Chrome 107'
      AgentNameVersionMajor                : 'Chrome 107'


- test:
    input:
      User-Agent                                 : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.62'
      Sec-Ch-Ua                                  : '"Microsoft Edge";v="107", "Chromium";v="107", "Not=A?Brand";v="24"'
      Sec-Ch-Ua-Arch                             : '"x86"'
      Sec-Ch-Ua-Bitness                          : '"64"'
      Sec-Ch-Ua-Full-Version                     : '"107.0.1418.62"'
      Sec-Ch-Ua-Full-Version-List                : '"Microsoft Edge";v="107.0.1418.62", "Chromium";v="107.0.5304.150", "Not=A?Brand";v="24.0.0.0"'
      Sec-Ch-Ua-Mobile                           : '?0'
      Sec-Ch-Ua-Model                            : '""'
      Sec-Ch-Ua-Platform                         : '"Windows"'
      Sec-Ch-Ua-Platform-Version                 : '"0.1.0"'
      Sec-Ch-Ua-Wow64                            : '?0'
    expected:
      DeviceClass                                : 'Desktop'
      DeviceName                                 : 'Desktop'
      DeviceBrand                                : 'Unknown'
      DeviceCpu                                  : 'Intel x86_64'
      DeviceCpuBits                              : '64'
      OperatingSystemClass                       : 'Desktop'
      OperatingSystemName                        : 'Windows NT'
      OperatingSystemVersion                     : '7'
      OperatingSystemVersionMajor                : '7'
      OperatingSystemNameVersion                 : 'Windows 7'
      OperatingSystemNameVersionMajor            : 'Windows 7'
      LayoutEngineClass                          : 'Browser'
      LayoutEngineName                           : 'Blink'
      LayoutEngineVersion                        : '107.0'
      LayoutEngineVersionMajor                   : '107'
      LayoutEngineNameVersion                    : 'Blink 107.0'
      LayoutEngineNameVersionMajor               : 'Blink 107'
      AgentClass                                 : 'Browser'
      AgentName                                  : 'Edge'
      AgentVersion                               : '107.0.1418.62'
      AgentVersionMajor                          : '107'
      AgentNameVersion                           : 'Edge 107.0.1418.62'
      AgentNameVersionMajor                      : 'Edge 107'

      UAClientHintArchitecture                   : 'x86'
      UAClientHintBitness                        : '64'
      UAClientHintBrands_0_Brand                 : 'Microsoft Edge'
      UAClientHintBrands_0_Version               : '107'
      UAClientHintBrands_1_Brand                 : 'Chromium'
      UAClientHintBrands_1_Version               : '107'
      UAClientHintFullVersion                    : '107.0.1418.62'
      UAClientHintFullVersionList_0_Brand        : 'Microsoft Edge'
      UAClientHintFullVersionList_0_Version      : '107.0.1418.62'
      UAClientHintFullVersionList_1_Brand        : 'Chromium'
      UAClientHintFullVersionList_1_Version      : '107.0.5304.150'
      UAClientHintMobile                         : 'false'
      UAClientHintPlatform                       : 'Windows'
      UAClientHintPlatformVersion                : '0.1.0'
      UAClientHintWow64                          : 'false'


- test:
    input:
      User-Agent                                 : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.62 GLS/93.10.5259.60'
      Sec-Ch-Ua                                  : '"Microsoft Edge";v="107", "Chromium";v="107", "Not=A?Brand";v="24"'
      Sec-Ch-Ua-Arch                             : '"x86"'
      Sec-Ch-Ua-Bitness                          : '"64"'
      Sec-Ch-Ua-Full-Version                     : '"107.0.1418.62"'
      Sec-Ch-Ua-Full-Version-List                : '"Microsoft Edge";v="107.0.1418.62", "Chromium";v="107.0.5304.150", "Not=A?Brand";v="24.0.0.0"'
      Sec-Ch-Ua-Mobile                           : '?0'
      Sec-Ch-Ua-Model                            : '""'
      Sec-Ch-Ua-Platform                         : '"Windows"'
      Sec-Ch-Ua-Platform-Version                 : '"0.1.0"'
      Sec-Ch-Ua-Wow64                            : '?0'
    expected:
      DeviceClass                                : 'Desktop'
      DeviceName                                 : 'Desktop'
      DeviceBrand                                : 'Unknown'
      DeviceCpu                                  : 'Intel x86_64'
      DeviceCpuBits                              : '64'
      OperatingSystemClass                       : 'Desktop'
      OperatingSystemName                        : 'Windows NT'
      OperatingSystemVersion                     : '7'
      OperatingSystemVersionMajor                : '7'
      OperatingSystemNameVersion                 : 'Windows 7'
      OperatingSystemNameVersionMajor            : 'Windows 7'
      LayoutEngineClass                          : 'Browser'
      LayoutEngineName                           : 'Blink'
      LayoutEngineVersion                        : '107.0'
      LayoutEngineVersionMajor                   : '107'
      LayoutEngineNameVersion                    : 'Blink 107.0'
      LayoutEngineNameVersionMajor               : 'Blink 107'
      AgentClass                                 : 'Browser'
      AgentName                                  : 'Edge'
      AgentVersion                               : '107.0.1418.62'
      AgentVersionMajor                          : '107'
      AgentNameVersion                           : 'Edge 107.0.1418.62'
      AgentNameVersionMajor                      : 'Edge 107'

      UAClientHintArchitecture                   : 'x86'
      UAClientHintBitness                        : '64'
      UAClientHintBrands_0_Brand                 : 'Microsoft Edge'
      UAClientHintBrands_0_Version               : '107'
      UAClientHintBrands_1_Brand                 : 'Chromium'
      UAClientHintBrands_1_Version               : '107'
      UAClientHintFullVersion                    : '107.0.1418.62'
      UAClientHintFullVersionList_0_Brand        : 'Microsoft Edge'
      UAClientHintFullVersionList_0_Version      : '107.0.1418.62'
      UAClientHintFullVersionList_1_Brand        : 'Chromium'
      UAClientHintFullVersionList_1_Version      : '107.0.5304.150'
      UAClientHintMobile                         : 'false'
      UAClientHintPlatform                       : 'Windows'
      UAClientHintPlatformVersion                : '0.1.0'
      UAClientHintWow64                          : 'false'


- test:
    input:
      User-Agent                                 : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.62 LikeWise/94.6.5565.66'
      Sec-Ch-Ua                                  : '"Microsoft Edge";v="107", "Chromium";v="107", "Not=A?Brand";v="24"'
      Sec-Ch-Ua-Arch                             : '"x86"'
      Sec-Ch-Ua-Bitness                          : '"64"'
      Sec-Ch-Ua-Full-Version                     : '"107.0.1418.62"'
      Sec-Ch-Ua-Full-Version-List                : '"Microsoft Edge";v="107.0.1418.62", "Chromium";v="107.0.5304.150", "Not=A?Brand";v="24.0.0.0"'
      Sec-Ch-Ua-Mobile                           : '?0'
      Sec-Ch-Ua-Model                            : '""'
      Sec-Ch-Ua-Platform                         : '"Windows"'
      Sec-Ch-Ua-Platform-Version                 : '"0.1.0"'
      Sec-Ch-Ua-Wow64                            : '?0'
    expected:
      DeviceClass                                : 'Desktop'
      DeviceName                                 : 'Desktop'
      DeviceBrand                                : 'Unknown'
      DeviceCpu                                  : 'Intel x86_64'
      DeviceCpuBits                              : '64'
      OperatingSystemClass                       : 'Desktop'
      OperatingSystemName                        : 'Windows NT'
      OperatingSystemVersion                     : '7'
      OperatingSystemVersionMajor                : '7'
      OperatingSystemNameVersion                 : 'Windows 7'
      OperatingSystemNameVersionMajor            : 'Windows 7'
      LayoutEngineClass                          : 'Browser'
      LayoutEngineName                           : 'Blink'
      LayoutEngineVersion                        : '107.0'
      LayoutEngineVersionMajor                   : '107'
      LayoutEngineNameVersion                    : 'Blink 107.0'
      LayoutEngineNameVersionMajor               : 'Blink 107'
      AgentClass                                 : 'Browser'
      AgentName                                  : 'Edge'
      AgentVersion                               : '107.0.1418.62'
      AgentVersionMajor                          : '107'
      AgentNameVersion                           : 'Edge 107.0.1418.62'
      AgentNameVersionMajor                      : 'Edge 107'

      UAClientHintArchitecture                   : 'x86'
      UAClientHintBitness                        : '64'
      UAClientHintBrands_0_Brand                 : 'Microsoft Edge'
      UAClientHintBrands_0_Version               : '107'
      UAClientHintBrands_1_Brand                 : 'Chromium'
      UAClientHintBrands_1_Version               : '107'
      UAClientHintFullVersion                    : '107.0.1418.62'
      UAClientHintFullVersionList_0_Brand        : 'Microsoft Edge'
      UAClientHintFullVersionList_0_Version      : '107.0.1418.62'
      UAClientHintFullVersionList_1_Brand        : 'Chromium'
      UAClientHintFullVersionList_1_Version      : '107.0.5304.150'
      UAClientHintMobile                         : 'false'
      UAClientHintPlatform                       : 'Windows'
      UAClientHintPlatformVersion                : '0.1.0'
      UAClientHintWow64                          : 'false'


- test:
    input:
      User-Agent                                 : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.62 LikeWise/95.6.7405.6'
      Sec-Ch-Ua                                  : '"Microsoft Edge";v="107", "Chromium";v="107", "Not=A?Brand";v="24"'
      Sec-Ch-Ua-Arch                             : '"x86"'
      Sec-Ch-Ua-Bitness                          : '"64"'
      Sec-Ch-Ua-Full-Version                     : '"107.0.1418.62"'
      Sec-Ch-Ua-Full-Version-List                : '"Microsoft Edge";v="107.0.1418.62", "Chromium";v="107.0.5304.150", "Not=A?Brand";v="24.0.0.0"'
      Sec-Ch-Ua-Mobile                           : '?0'
      Sec-Ch-Ua-Model                            : '""'
      Sec-Ch-Ua-Platform                         : '"Windows"'
      Sec-Ch-Ua-Platform-Version                 : '"0.1.0"'
      Sec-Ch-Ua-Wow64                            : '?0'
    expected:
      DeviceClass                                : 'Desktop'
      DeviceName                                 : 'Desktop'
      DeviceBrand                                : 'Unknown'
      DeviceCpu                                  : 'Intel x86_64'
      DeviceCpuBits                              : '64'
      OperatingSystemClass                       : 'Desktop'
      OperatingSystemName                        : 'Windows NT'
      OperatingSystemVersion                     : '7'
      OperatingSystemVersionMajor                : '7'
      OperatingSystemNameVersion                 : 'Windows 7'
      OperatingSystemNameVersionMajor            : 'Windows 7'
      LayoutEngineClass                          : 'Browser'
      LayoutEngineName                           : 'Blink'
      LayoutEngineVersion                        : '107.0'
      LayoutEngineVersionMajor                   : '107'
      LayoutEngineNameVersion                    : 'Blink 107.0'
      LayoutEngineNameVersionMajor               : 'Blink 107'
      AgentClass                                 : 'Browser'
      AgentName                                  : 'Edge'
      AgentVersion                               : '107.0.1418.62'
      AgentVersionMajor                          : '107'
      AgentNameVersion                           : 'Edge 107.0.1418.62'
      AgentNameVersionMajor                      : 'Edge 107'

      UAClientHintArchitecture                   : 'x86'
      UAClientHintBitness                        : '64'
      UAClientHintBrands_0_Brand                 : 'Microsoft Edge'
      UAClientHintBrands_0_Version               : '107'
      UAClientHintBrands_1_Brand                 : 'Chromium'
      UAClientHintBrands_1_Version               : '107'
      UAClientHintFullVersion                    : '107.0.1418.62'
      UAClientHintFullVersionList_0_Brand        : 'Microsoft Edge'
      UAClientHintFullVersionList_0_Version      : '107.0.1418.62'
      UAClientHintFullVersionList_1_Brand        : 'Chromium'
      UAClientHintFullVersionList_1_Version      : '107.0.5304.150'
      UAClientHintMobile                         : 'false'
      UAClientHintPlatform                       : 'Windows'
      UAClientHintPlatformVersion                : '0.1.0'
      UAClientHintWow64                          : 'false'


- test:
    input:
      User-Agent                                 : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.62 OpenWave/98.4.3033.34'
      Sec-Ch-Ua                                  : '"Microsoft Edge";v="107", "Chromium";v="107", "Not=A?Brand";v="24"'
      Sec-Ch-Ua-Arch                             : '"x86"'
      Sec-Ch-Ua-Bitness                          : '"64"'
      Sec-Ch-Ua-Full-Version                     : '"107.0.1418.62"'
      Sec-Ch-Ua-Full-Version-List                : '"Microsoft Edge";v="107.0.1418.62", "Chromium";v="107.0.5304.150", "Not=A?Brand";v="24.0.0.0"'
      Sec-Ch-Ua-Mobile                           : '?0'
      Sec-Ch-Ua-Model                            : '""'
      Sec-Ch-Ua-Platform                         : '"Windows"'
      Sec-Ch-Ua-Platform-Version                 : '"0.1.0"'
      Sec-Ch-Ua-Wow64                            : '?0'
    expected:
      DeviceClass                                : 'Desktop'
      DeviceName                                 : 'Desktop'
      DeviceBrand                                : 'Unknown'
      DeviceCpu                                  : 'Intel x86_64'
      DeviceCpuBits                              : '64'
      OperatingSystemClass                       : 'Desktop'
      OperatingSystemName                        : 'Windows NT'
      OperatingSystemVersion                     : '7'
      OperatingSystemVersionMajor                : '7'
      OperatingSystemNameVersion                 : 'Windows 7'
      OperatingSystemNameVersionMajor            : 'Windows 7'
      LayoutEngineClass                          : 'Browser'
      LayoutEngineName                           : 'Blink'
      LayoutEngineVersion                        : '107.0'
      LayoutEngineVersionMajor                   : '107'
      LayoutEngineNameVersion                    : 'Blink 107.0'
      LayoutEngineNameVersionMajor               : 'Blink 107'
      AgentClass                                 : 'Browser'
      AgentName                                  : 'Edge'
      AgentVersion                               : '107.0.1418.62'
      AgentVersionMajor                          : '107'
      AgentNameVersion                           : 'Edge 107.0.1418.62'
      AgentNameVersionMajor                      : 'Edge 107'

      UAClientHintArchitecture                   : 'x86'
      UAClientHintBitness                        : '64'
      UAClientHintBrands_0_Brand                 : 'Microsoft Edge'
      UAClientHintBrands_0_Version               : '107'
      UAClientHintBrands_1_Brand                 : 'Chromium'
      UAClientHintBrands_1_Version               : '107'
      UAClientHintFullVersion                    : '107.0.1418.62'
      UAClientHintFullVersionList_0_Brand        : 'Microsoft Edge'
      UAClientHintFullVersionList_0_Version      : '107.0.1418.62'
      UAClientHintFullVersionList_1_Brand        : 'Chromium'
      UAClientHintFullVersionList_1_Version      : '107.0.5304.150'
      UAClientHintMobile                         : 'false'
      UAClientHintPlatform                       : 'Windows'
      UAClientHintPlatformVersion                : '0.1.0'
      UAClientHintWow64                          : 'false'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.62 Trailer/98.3.7512.13'
      Sec-Ch-Ua                            : '"Microsoft Edge";v="107", "Chromium";v="107", "Not=A?Brand";v="24"'
      Sec-Ch-Ua-Mobile                     : '?0'
      Sec-Ch-Ua-Platform                   : '"Windows"'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '7'
      OperatingSystemVersionMajor          : '7'
      OperatingSystemNameVersion           : 'Windows 7'
      OperatingSystemNameVersionMajor      : 'Windows 7'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Blink'
      LayoutEngineVersion                  : '107'
      LayoutEngineVersionMajor             : '107'
      LayoutEngineNameVersion              : 'Blink 107'
      LayoutEngineNameVersionMajor         : 'Blink 107'
      AgentClass                           : 'Browser'
      AgentName                            : 'Edge'
      AgentVersion                         : '107'
      AgentVersionMajor                    : '107'
      AgentNameVersion                     : 'Edge 107'
      AgentNameVersionMajor                : 'Edge 107'

      UAClientHintBrands_0_Brand           : 'Microsoft Edge'
      UAClientHintBrands_0_Version         : '107'
      UAClientHintBrands_1_Brand           : 'Chromium'
      UAClientHintBrands_1_Version         : '107'
      UAClientHintMobile                   : 'false'
      UAClientHintPlatform                 : 'Windows'


- test:
    input:
      User-Agent                                 : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.62 Trailer/98.3.7512.13'
      Sec-Ch-Ua                                  : '"Microsoft Edge";v="107", "Chromium";v="107", "Not=A?Brand";v="24"'
      Sec-Ch-Ua-Arch                             : '"x86"'
      Sec-Ch-Ua-Bitness                          : '"64"'
      Sec-Ch-Ua-Full-Version                     : '"107.0.1418.62"'
      Sec-Ch-Ua-Full-Version-List                : '"Microsoft Edge";v="107.0.1418.62", "Chromium";v="107.0.5304.150", "Not=A?Brand";v="24.0.0.0"'
      Sec-Ch-Ua-Mobile                           : '?0'
      Sec-Ch-Ua-Model                            : '""'
      Sec-Ch-Ua-Platform                         : '"Windows"'
      Sec-Ch-Ua-Platform-Version                 : '"0.1.0"'
      Sec-Ch-Ua-Wow64                            : '?0'
    expected:
      DeviceClass                                : 'Desktop'
      DeviceName                                 : 'Desktop'
      DeviceBrand                                : 'Unknown'
      DeviceCpu                                  : 'Intel x86_64'
      DeviceCpuBits                              : '64'
      OperatingSystemClass                       : 'Desktop'
      OperatingSystemName                        : 'Windows NT'
      OperatingSystemVersion                     : '7'
      OperatingSystemVersionMajor                : '7'
      OperatingSystemNameVersion                 : 'Windows 7'
      OperatingSystemNameVersionMajor            : 'Windows 7'
      LayoutEngineClass                          : 'Browser'
      LayoutEngineName                           : 'Blink'
      LayoutEngineVersion                        : '107.0'
      LayoutEngineVersionMajor                   : '107'
      LayoutEngineNameVersion                    : 'Blink 107.0'
      LayoutEngineNameVersionMajor               : 'Blink 107'
      AgentClass                                 : 'Browser'
      AgentName                                  : 'Edge'
      AgentVersion                               : '107.0.1418.62'
      AgentVersionMajor                          : '107'
      AgentNameVersion                           : 'Edge 107.0.1418.62'
      AgentNameVersionMajor                      : 'Edge 107'

      UAClientHintArchitecture                   : 'x86'
      UAClientHintBitness                        : '64'
      UAClientHintBrands_0_Brand                 : 'Microsoft Edge'
      UAClientHintBrands_0_Version               : '107'
      UAClientHintBrands_1_Brand                 : 'Chromium'
      UAClientHintBrands_1_Version               : '107'
      UAClientHintFullVersion                    : '107.0.1418.62'
      UAClientHintFullVersionList_0_Brand        : 'Microsoft Edge'
      UAClientHintFullVersionList_0_Version      : '107.0.1418.62'
      UAClientHintFullVersionList_1_Brand        : 'Chromium'
      UAClientHintFullVersionList_1_Version      : '107.0.5304.150'
      UAClientHintMobile                         : 'false'
      UAClientHintPlatform                       : 'Windows'
      UAClientHintPlatformVersion                : '0.1.0'
      UAClientHintWow64                          : 'false'


- test:
    input:
      User-Agent                                 : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 OPR/85.0.4341.60'
      Sec-Ch-Ua                                  : '" Not A;Brand";v="99", "Chromium";v="99", "Opera";v="85"'
      Sec-Ch-Ua-Arch                             : '"x86"'
      Sec-Ch-Ua-Bitness                          : '"64"'
      Sec-Ch-Ua-Full-Version                     : '"99.0.4844.84"'
      Sec-Ch-Ua-Full-Version-List                : '" Not A;Brand";v="99.0.0.0", "Chromium";v="99.0.4844.84", "Opera";v="99.0.4844.84"'
      Sec-Ch-Ua-Mobile                           : '?0'
      Sec-Ch-Ua-Model                            : '""'
      Sec-Ch-Ua-Platform                         : '"Windows"'
      Sec-Ch-Ua-Platform-Version                 : '"0.0.0"'
    expected:
      DeviceClass                                : 'Desktop'
      DeviceName                                 : 'Desktop'
      DeviceBrand                                : 'Unknown'
      DeviceCpu                                  : 'Intel x86_64'
      DeviceCpuBits                              : '64'
      OperatingSystemClass                       : 'Desktop'
      OperatingSystemName                        : 'Windows NT'
      OperatingSystemVersion                     : '7'
      OperatingSystemVersionMajor                : '7'
      OperatingSystemNameVersion                 : 'Windows 7'
      OperatingSystemNameVersionMajor            : 'Windows 7'
      LayoutEngineClass                          : 'Browser'
      LayoutEngineName                           : 'Blink'
      LayoutEngineVersion                        : '99.0'
      LayoutEngineVersionMajor                   : '99'
      LayoutEngineNameVersion                    : 'Blink 99.0'
      LayoutEngineNameVersionMajor               : 'Blink 99'
      AgentClass                                 : 'Browser'
      AgentName                                  : 'Opera'
      AgentVersion                               : '85.0.4341.60'
      AgentVersionMajor                          : '85'
      AgentNameVersion                           : 'Opera 85.0.4341.60'
      AgentNameVersionMajor                      : 'Opera 85'
      UAClientHintArchitecture                   : 'x86'
      UAClientHintBitness                        : '64'
      UAClientHintBrands_0_Brand                 : 'Chromium'
      UAClientHintBrands_0_Version               : '99'
      UAClientHintBrands_1_Brand                 : 'Opera'
      UAClientHintBrands_1_Version               : '85'
      UAClientHintFullVersion                    : '99.0.4844.84'
      UAClientHintFullVersionList_0_Brand        : 'Chromium'
      UAClientHintFullVersionList_0_Version      : '99.0.4844.84'
      UAClientHintFullVersionList_1_Brand        : 'Opera'
      UAClientHintFullVersionList_1_Version      : '99.0.4844.84'
      UAClientHintMobile                         : 'false'
      UAClientHintPlatform                       : 'Windows'
      UAClientHintPlatformVersion                : '0.0.0'


- test:
    input:
      User-Agent                                 : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 OPR/85.0.4341.60 GLS/93.10.5259.60'
      Sec-Ch-Ua                                  : '" Not A;Brand";v="99", "Chromium";v="99", "Opera";v="85"'
      Sec-Ch-Ua-Arch                             : '"x86"'
      Sec-Ch-Ua-Bitness                          : '"64"'
      Sec-Ch-Ua-Full-Version                     : '"99.0.4844.84"'
      Sec-Ch-Ua-Full-Version-List                : '" Not A;Brand";v="99.0.0.0", "Chromium";v="99.0.4844.84", "Opera";v="99.0.4844.84"'
      Sec-Ch-Ua-Mobile                           : '?0'
      Sec-Ch-Ua-Model                            : '""'
      Sec-Ch-Ua-Platform                         : '"Windows"'
      Sec-Ch-Ua-Platform-Version                 : '"0.0.0"'
    expected:
      DeviceClass                                : 'Desktop'
      DeviceName                                 : 'Desktop'
      DeviceBrand                                : 'Unknown'
      DeviceCpu                                  : 'Intel x86_64'
      DeviceCpuBits                              : '64'
      OperatingSystemClass                       : 'Desktop'
      OperatingSystemName                        : 'Windows NT'
      OperatingSystemVersion                     : '7'
      OperatingSystemVersionMajor                : '7'
      OperatingSystemNameVersion                 : 'Windows 7'
      OperatingSystemNameVersionMajor            : 'Windows 7'
      LayoutEngineClass                          : 'Browser'
      LayoutEngineName                           : 'Blink'
      LayoutEngineVersion                        : '99.0'
      LayoutEngineVersionMajor                   : '99'
      LayoutEngineNameVersion                    : 'Blink 99.0'
      LayoutEngineNameVersionMajor               : 'Blink 99'
      AgentClass                                 : 'Browser'
      AgentName                                  : 'Opera'
      AgentVersion                               : '85.0.4341.60'
      AgentVersionMajor                          : '85'
      AgentNameVersion                           : 'Opera 85.0.4341.60'
      AgentNameVersionMajor                      : 'Opera 85'

      UAClientHintArchitecture                   : 'x86'
      UAClientHintBitness                        : '64'
      UAClientHintBrands_0_Brand                 : 'Chromium'
      UAClientHintBrands_0_Version               : '99'
      UAClientHintBrands_1_Brand                 : 'Opera'
      UAClientHintBrands_1_Version               : '85'
      UAClientHintFullVersion                    : '99.0.4844.84'
      UAClientHintFullVersionList_0_Brand        : 'Chromium'
      UAClientHintFullVersionList_0_Version      : '99.0.4844.84'
      UAClientHintFullVersionList_1_Brand        : 'Opera'
      UAClientHintFullVersionList_1_Version      : '99.0.4844.84'
      UAClientHintMobile                         : 'false'
      UAClientHintPlatform                       : 'Windows'
      UAClientHintPlatformVersion                : '0.0.0'


- test:
    input:
      User-Agent                                 : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 OPR/85.0.4341.60 LikeWise/94.6.5565.66'
      Sec-Ch-Ua                                  : '" Not A;Brand";v="99", "Chromium";v="99", "Opera";v="85"'
      Sec-Ch-Ua-Arch                             : '"x86"'
      Sec-Ch-Ua-Bitness                          : '"64"'
      Sec-Ch-Ua-Full-Version                     : '"99.0.4844.84"'
      Sec-Ch-Ua-Full-Version-List                : '" Not A;Brand";v="99.0.0.0", "Chromium";v="99.0.4844.84", "Opera";v="99.0.4844.84"'
      Sec-Ch-Ua-Mobile                           : '?0'
      Sec-Ch-Ua-Model                            : '""'
      Sec-Ch-Ua-Platform                         : '"Windows"'
      Sec-Ch-Ua-Platform-Version                 : '"0.0.0"'
    expected:
      DeviceClass                                : 'Desktop'
      DeviceName                                 : 'Desktop'
      DeviceBrand                                : 'Unknown'
      DeviceCpu                                  : 'Intel x86_64'
      DeviceCpuBits                              : '64'
      OperatingSystemClass                       : 'Desktop'
      OperatingSystemName                        : 'Windows NT'
      OperatingSystemVersion                     : '7'
      OperatingSystemVersionMajor                : '7'
      OperatingSystemNameVersion                 : 'Windows 7'
      OperatingSystemNameVersionMajor            : 'Windows 7'
      LayoutEngineClass                          : 'Browser'
      LayoutEngineName                           : 'Blink'
      LayoutEngineVersion                        : '99.0'
      LayoutEngineVersionMajor                   : '99'
      LayoutEngineNameVersion                    : 'Blink 99.0'
      LayoutEngineNameVersionMajor               : 'Blink 99'
      AgentClass                                 : 'Browser'
      AgentName                                  : 'Opera'
      AgentVersion                               : '85.0.4341.60'
      AgentVersionMajor                          : '85'
      AgentNameVersion                           : 'Opera 85.0.4341.60'
      AgentNameVersionMajor                      : 'Opera 85'

      UAClientHintArchitecture                   : 'x86'
      UAClientHintBitness                        : '64'
      UAClientHintBrands_0_Brand                 : 'Chromium'
      UAClientHintBrands_0_Version               : '99'
      UAClientHintBrands_1_Brand                 : 'Opera'
      UAClientHintBrands_1_Version               : '85'
      UAClientHintFullVersion                    : '99.0.4844.84'
      UAClientHintFullVersionList_0_Brand        : 'Chromium'
      UAClientHintFullVersionList_0_Version      : '99.0.4844.84'
      UAClientHintFullVersionList_1_Brand        : 'Opera'
      UAClientHintFullVersionList_1_Version      : '99.0.4844.84'
      UAClientHintMobile                         : 'false'
      UAClientHintPlatform                       : 'Windows'
      UAClientHintPlatformVersion                : '0.0.0'


- test:
    input:
      User-Agent                                 : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 OPR/85.0.4341.60 LikeWise/95.6.7405.6'
      Sec-Ch-Ua                                  : '" Not A;Brand";v="99", "Chromium";v="99", "Opera";v="85"'
      Sec-Ch-Ua-Arch                             : '"x86"'
      Sec-Ch-Ua-Bitness                          : '"64"'
      Sec-Ch-Ua-Full-Version                     : '"99.0.4844.84"'
      Sec-Ch-Ua-Full-Version-List                : '" Not A;Brand";v="99.0.0.0", "Chromium";v="99.0.4844.84", "Opera";v="99.0.4844.84"'
      Sec-Ch-Ua-Mobile                           : '?0'
      Sec-Ch-Ua-Model                            : '""'
      Sec-Ch-Ua-Platform                         : '"Windows"'
      Sec-Ch-Ua-Platform-Version                 : '"0.0.0"'
    expected:
      DeviceClass                                : 'Desktop'
      DeviceName                                 : 'Desktop'
      DeviceBrand                                : 'Unknown'
      DeviceCpu                                  : 'Intel x86_64'
      DeviceCpuBits                              : '64'
      OperatingSystemClass                       : 'Desktop'
      OperatingSystemName                        : 'Windows NT'
      OperatingSystemVersion                     : '7'
      OperatingSystemVersionMajor                : '7'
      OperatingSystemNameVersion                 : 'Windows 7'
      OperatingSystemNameVersionMajor            : 'Windows 7'
      LayoutEngineClass                          : 'Browser'
      LayoutEngineName                           : 'Blink'
      LayoutEngineVersion                        : '99.0'
      LayoutEngineVersionMajor                   : '99'
      LayoutEngineNameVersion                    : 'Blink 99.0'
      LayoutEngineNameVersionMajor               : 'Blink 99'
      AgentClass                                 : 'Browser'
      AgentName                                  : 'Opera'
      AgentVersion                               : '85.0.4341.60'
      AgentVersionMajor                          : '85'
      AgentNameVersion                           : 'Opera 85.0.4341.60'
      AgentNameVersionMajor                      : 'Opera 85'

      UAClientHintArchitecture                   : 'x86'
      UAClientHintBitness                        : '64'
      UAClientHintBrands_0_Brand                 : 'Chromium'
      UAClientHintBrands_0_Version               : '99'
      UAClientHintBrands_1_Brand                 : 'Opera'
      UAClientHintBrands_1_Version               : '85'
      UAClientHintFullVersion                    : '99.0.4844.84'
      UAClientHintFullVersionList_0_Brand        : 'Chromium'
      UAClientHintFullVersionList_0_Version      : '99.0.4844.84'
      UAClientHintFullVersionList_1_Brand        : 'Opera'
      UAClientHintFullVersionList_1_Version      : '99.0.4844.84'
      UAClientHintMobile                         : 'false'
      UAClientHintPlatform                       : 'Windows'
      UAClientHintPlatformVersion                : '0.0.0'


- test:
    input:
      User-Agent                                 : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 OPR/85.0.4341.60 Trailer/98.3.7512.13'
      Sec-Ch-Ua                                  : '" Not A;Brand";v="99", "Chromium";v="99", "Opera";v="85"'
      Sec-Ch-Ua-Arch                             : '"x86"'
      Sec-Ch-Ua-Full-Version                     : '"99.0.4844.84"'
      Sec-Ch-Ua-Full-Version-List                : '" Not A;Brand";v="99.0.0.0", "Chromium";v="99.0.4844.84", "Opera";v="99.0.4844.84"'
      Sec-Ch-Ua-Mobile                           : '?0'
      Sec-Ch-Ua-Model                            : '""'
      Sec-Ch-Ua-Platform                         : '"Windows"'
      Sec-Ch-Ua-Platform-Version                 : '"0.0.0"'
    expected:
      DeviceClass                                : 'Desktop'
      DeviceName                                 : 'Desktop'
      DeviceBrand                                : 'Unknown'
      DeviceCpu                                  : 'Intel x86_64'
      DeviceCpuBits                              : '64'
      OperatingSystemClass                       : 'Desktop'
      OperatingSystemName                        : 'Windows NT'
      OperatingSystemVersion                     : '7'
      OperatingSystemVersionMajor                : '7'
      OperatingSystemNameVersion                 : 'Windows 7'
      OperatingSystemNameVersionMajor            : 'Windows 7'
      LayoutEngineClass                          : 'Browser'
      LayoutEngineName                           : 'Blink'
      LayoutEngineVersion                        : '99.0'
      LayoutEngineVersionMajor                   : '99'
      LayoutEngineNameVersion                    : 'Blink 99.0'
      LayoutEngineNameVersionMajor               : 'Blink 99'
      AgentClass                                 : 'Browser'
      AgentName                                  : 'Opera'
      AgentVersion                               : '85.0.4341.60'
      AgentVersionMajor                          : '85'
      AgentNameVersion                           : 'Opera 85.0.4341.60'
      AgentNameVersionMajor                      : 'Opera 85'

      UAClientHintArchitecture                   : 'x86'
      UAClientHintBrands_0_Brand                 : 'Chromium'
      UAClientHintBrands_0_Version               : '99'
      UAClientHintBrands_1_Brand                 : 'Opera'
      UAClientHintBrands_1_Version               : '85'
      UAClientHintFullVersion                    : '99.0.4844.84'
      UAClientHintFullVersionList_0_Brand        : 'Chromium'
      UAClientHintFullVersionList_0_Version      : '99.0.4844.84'
      UAClientHintFullVersionList_1_Brand        : 'Opera'
      UAClientHintFullVersionList_1_Version      : '99.0.4844.84'
      UAClientHintMobile                         : 'false'
      UAClientHintPlatform                       : 'Windows'
      UAClientHintPlatformVersion                : '0.0.0'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:94.0) Gecko/20100101 Firefox/94.0 Herring/583.19.9'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Apple Macintosh'
      DeviceBrand                          : 'Apple'
      DeviceCpu                            : 'Intel'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Mac OS'
      OperatingSystemVersion               : '10.13'
      OperatingSystemVersionMajor          : '10.13'
      OperatingSystemNameVersion           : 'Mac OS 10.13'
      OperatingSystemNameVersionMajor      : 'Mac OS 10.13'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Gecko'
      LayoutEngineVersion                  : '94.0'
      LayoutEngineVersionMajor             : '94'
      LayoutEngineNameVersion              : 'Gecko 94.0'
      LayoutEngineNameVersionMajor         : 'Gecko 94'
      LayoutEngineBuild                    : '20100101'
      AgentClass                           : 'Browser'
      AgentName                            : 'Firefox'
      AgentVersion                         : '94.0'
      AgentVersionMajor                    : '94'
      AgentNameVersion                     : 'Firefox 94.0'
      AgentNameVersionMajor                : 'Firefox 94'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 Agency/100.8.7507.8'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '>=10'
      OperatingSystemVersionMajor          : '>=10'
      OperatingSystemNameVersion           : 'Windows >=10'
      OperatingSystemNameVersionMajor      : 'Windows >=10'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Blink'
      LayoutEngineVersion                  : '103.0'
      LayoutEngineVersionMajor             : '103'
      LayoutEngineNameVersion              : 'Blink 103.0'
      LayoutEngineNameVersionMajor         : 'Blink 103'
      AgentClass                           : 'Browser'
      AgentName                            : 'Edge'
      AgentVersion                         : '103.0.1264.44'
      AgentVersionMajor                    : '103'
      AgentNameVersion                     : 'Edge 103.0.1264.44'
      AgentNameVersionMajor                : 'Edge 103'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 AtContent/95.5.6374.75'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '>=10'
      OperatingSystemVersionMajor          : '>=10'
      OperatingSystemNameVersion           : 'Windows >=10'
      OperatingSystemNameVersionMajor      : 'Windows >=10'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Blink'
      LayoutEngineVersion                  : '103.0'
      LayoutEngineVersionMajor             : '103'
      LayoutEngineNameVersion              : 'Blink 103.0'
      LayoutEngineNameVersionMajor         : 'Blink 103'
      AgentClass                           : 'Browser'
      AgentName                            : 'Edge'
      AgentVersion                         : '103.0.1264.44'
      AgentVersionMajor                    : '103'
      AgentNameVersion                     : 'Edge 103.0.1264.44'
      AgentNameVersionMajor                : 'Edge 103'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 Config/99.2.4311.12'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '>=10'
      OperatingSystemVersionMajor          : '>=10'
      OperatingSystemNameVersion           : 'Windows >=10'
      OperatingSystemNameVersionMajor      : 'Windows >=10'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Blink'
      LayoutEngineVersion                  : '103.0'
      LayoutEngineVersionMajor             : '103'
      LayoutEngineNameVersion              : 'Blink 103.0'
      LayoutEngineNameVersionMajor         : 'Blink 103'
      AgentClass                           : 'Browser'
      AgentName                            : 'Edge'
      AgentVersion                         : '103.0.1264.44'
      AgentVersionMajor                    : '103'
      AgentNameVersion                     : 'Edge 103.0.1264.44'
      AgentNameVersionMajor                : 'Edge 103'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 GLS/90.10.6209.10'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '>=10'
      OperatingSystemVersionMajor          : '>=10'
      OperatingSystemNameVersion           : 'Windows >=10'
      OperatingSystemNameVersionMajor      : 'Windows >=10'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Blink'
      LayoutEngineVersion                  : '103.0'
      LayoutEngineVersionMajor             : '103'
      LayoutEngineNameVersion              : 'Blink 103.0'
      LayoutEngineNameVersionMajor         : 'Blink 103'
      AgentClass                           : 'Browser'
      AgentName                            : 'Edge'
      AgentVersion                         : '103.0.1264.44'
      AgentVersionMajor                    : '103'
      AgentNameVersion                     : 'Edge 103.0.1264.44'
      AgentNameVersionMajor                : 'Edge 103'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 Herring/96.1.1770.71'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '>=10'
      OperatingSystemVersionMajor          : '>=10'
      OperatingSystemNameVersion           : 'Windows >=10'
      OperatingSystemNameVersionMajor      : 'Windows >=10'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Blink'
      LayoutEngineVersion                  : '103.0'
      LayoutEngineVersionMajor             : '103'
      LayoutEngineNameVersion              : 'Blink 103.0'
      LayoutEngineNameVersionMajor         : 'Blink 103'
      AgentClass                           : 'Browser'
      AgentName                            : 'Edge'
      AgentVersion                         : '103.0.1264.44'
      AgentVersionMajor                    : '103'
      AgentNameVersion                     : 'Edge 103.0.1264.44'
      AgentNameVersionMajor                : 'Edge 103'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 LikeWise/91.6.3585.86'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '>=10'
      OperatingSystemVersionMajor          : '>=10'
      OperatingSystemNameVersion           : 'Windows >=10'
      OperatingSystemNameVersionMajor      : 'Windows >=10'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Blink'
      LayoutEngineVersion                  : '103.0'
      LayoutEngineVersionMajor             : '103'
      LayoutEngineNameVersion              : 'Blink 103.0'
      LayoutEngineNameVersionMajor         : 'Blink 103'
      AgentClass                           : 'Browser'
      AgentName                            : 'Edge'
      AgentVersion                         : '103.0.1264.44'
      AgentVersionMajor                    : '103'
      AgentNameVersion                     : 'Edge 103.0.1264.44'
      AgentNameVersionMajor                : 'Edge 103'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 OpenWave/95.4.2243.44'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '>=10'
      OperatingSystemVersionMajor          : '>=10'
      OperatingSystemNameVersion           : 'Windows >=10'
      OperatingSystemNameVersionMajor      : 'Windows >=10'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Blink'
      LayoutEngineVersion                  : '103.0'
      LayoutEngineVersionMajor             : '103'
      LayoutEngineNameVersion              : 'Blink 103.0'
      LayoutEngineNameVersionMajor         : 'Blink 103'
      AgentClass                           : 'Browser'
      AgentName                            : 'Edge'
      AgentVersion                         : '103.0.1264.44'
      AgentVersionMajor                    : '103'
      AgentNameVersion                     : 'Edge 103.0.1264.44'
      AgentNameVersionMajor                : 'Edge 103'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 Trailer/92.3.8742.43'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '>=10'
      OperatingSystemVersionMajor          : '>=10'
      OperatingSystemNameVersion           : 'Windows >=10'
      OperatingSystemNameVersionMajor      : 'Windows >=10'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Blink'
      LayoutEngineVersion                  : '103.0'
      LayoutEngineVersionMajor             : '103'
      LayoutEngineNameVersion              : 'Blink 103.0'
      LayoutEngineNameVersionMajor         : 'Blink 103'
      AgentClass                           : 'Browser'
      AgentName                            : 'Edge'
      AgentVersion                         : '103.0.1264.44'
      AgentVersionMajor                    : '103'
      AgentNameVersion                     : 'Edge 103.0.1264.44'
      AgentNameVersionMajor                : 'Edge 103'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44 Viewer/96.9.4198.99'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '>=10'
      OperatingSystemVersionMajor          : '>=10'
      OperatingSystemNameVersion           : 'Windows >=10'
      OperatingSystemNameVersionMajor      : 'Windows >=10'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Blink'
      LayoutEngineVersion                  : '103.0'
      LayoutEngineVersionMajor             : '103'
      LayoutEngineNameVersion              : 'Blink 103.0'
      LayoutEngineNameVersionMajor         : 'Blink 103'
      AgentClass                           : 'Browser'
      AgentName                            : 'Edge'
      AgentVersion                         : '103.0.1264.44'
      AgentVersionMajor                    : '103'
      AgentNameVersion                     : 'Edge 103.0.1264.44'
      AgentNameVersionMajor                : 'Edge 103'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36 Edg/103.0.1264.62 Herring/98.1.5870.71'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '>=10'
      OperatingSystemVersionMajor          : '>=10'
      OperatingSystemNameVersion           : 'Windows >=10'
      OperatingSystemNameVersionMajor      : 'Windows >=10'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Blink'
      LayoutEngineVersion                  : '103.0'
      LayoutEngineVersionMajor             : '103'
      LayoutEngineNameVersion              : 'Blink 103.0'
      LayoutEngineNameVersionMajor         : 'Blink 103'
      AgentClass                           : 'Browser'
      AgentName                            : 'Edge'
      AgentVersion                         : '103.0.1264.62'
      AgentVersionMajor                    : '103'
      AgentNameVersion                     : 'Edge 103.0.1264.62'
      AgentNameVersionMajor                : 'Edge 103'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36 OPR/89.0.4447.48 Herring/95.1.6890.91'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '10.0'
      OperatingSystemVersionMajor          : '10'
      OperatingSystemNameVersion           : 'Windows 10.0'
      OperatingSystemNameVersionMajor      : 'Windows 10'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Blink'
      LayoutEngineVersion                  : '103.0'
      LayoutEngineVersionMajor             : '103'
      LayoutEngineNameVersion              : 'Blink 103.0'
      LayoutEngineNameVersionMajor         : 'Blink 103'
      AgentClass                           : 'Browser'
      AgentName                            : 'Opera'
      AgentVersion                         : '89.0.4447.48'
      AgentVersionMajor                    : '89'
      AgentNameVersion                     : 'Opera 89.0.4447.48'
      AgentNameVersionMajor                : 'Opera 89'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36 Herring/100.1.7540.41'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'Windows NT ??'
      OperatingSystemNameVersionMajor      : 'Windows NT ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Blink'
      LayoutEngineVersion                  : '103'
      LayoutEngineVersionMajor             : '103'
      LayoutEngineNameVersion              : 'Blink 103'
      LayoutEngineNameVersionMajor         : 'Blink 103'
      AgentClass                           : 'Browser'
      AgentName                            : 'Chrome'
      AgentVersion                         : '103'
      AgentVersionMajor                    : '103'
      AgentNameVersion                     : 'Chrome 103'
      AgentNameVersionMajor                : 'Chrome 103'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0 Agency/95.8.7917.18'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '8.1'
      OperatingSystemVersionMajor          : '8'
      OperatingSystemNameVersion           : 'Windows 8.1'
      OperatingSystemNameVersionMajor      : 'Windows 8'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Gecko'
      LayoutEngineVersion                  : '101.0'
      LayoutEngineVersionMajor             : '101'
      LayoutEngineNameVersion              : 'Gecko 101.0'
      LayoutEngineNameVersionMajor         : 'Gecko 101'
      LayoutEngineBuild                    : '20100101'
      AgentClass                           : 'Browser'
      AgentName                            : 'Firefox'
      AgentVersion                         : '101.0'
      AgentVersionMajor                    : '101'
      AgentNameVersion                     : 'Firefox 101.0'
      AgentNameVersionMajor                : 'Firefox 101'
      AgentVersion                               : '100.0.4896.75'
      AgentNameVersion                           : 'Chrome 100.0.4896.75'
# NOTE: There is no Chromium tag so it is a bit unclear which version tag is to be used.
      LayoutEngineVersion                  : '101.0'
      LayoutEngineNameVersion              : 'Blink 101.0'
      AgentVersion                         : '101.0.4951.64'
      AgentNameVersion                     : 'Chromium 101.0.4951.64'
      LayoutEngineVersion                        : '95.0'
      LayoutEngineNameVersion                    : 'Blink 95.0'
      AgentVersion                               : '95.0.4638.69'
      AgentNameVersion                           : 'Chromium 95.0.4638.69'
      LayoutEngineVersion                        : '95.0'
      LayoutEngineNameVersion                    : 'Blink 95.0'
      AgentVersion                               : '95.0.4638.69'
      AgentNameVersion                           : 'Chromium 95.0.4638.69'
    - 'KamoAgents'
      User-Agent                           : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:94.0) Gecko/20100101 Firefox/94.0 Basjes/1.2.3'
      AgentName                            : 'Basjes'
      AgentVersion                         : '1.2.3'
      AgentVersionMajor                    : '1'
      AgentNameVersion                     : 'Basjes 1.2.3'
      AgentNameVersionMajor                : 'Basjes 1'
      LayoutEngineVersion                  : '104.0'
      LayoutEngineNameVersion              : 'Blink 104.0'
    - 'KamoAgents'

- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Mobile Safari/537.36'
      Sec-Ch-Ua                            : '"Brave";v="107", "Chromium";v="107", "Not=A?Brand";v="24"'
      Sec-Ch-Ua-Mobile                     : '?1'
      Sec-Ch-Ua-Platform                   : '"Android"'
    expected:
      DeviceClass                          : 'Phone'
      DeviceName                           : 'Unknown'
      DeviceBrand                          : 'Unknown'
      OperatingSystemClass                 : 'Mobile'
      OperatingSystemName                  : 'Android'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'Android ??'
      OperatingSystemNameVersionMajor      : 'Android ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Blink'
      LayoutEngineVersion                  : '107'
      LayoutEngineVersionMajor             : '107'
      LayoutEngineNameVersion              : 'Blink 107'
      LayoutEngineNameVersionMajor         : 'Blink 107'
      AgentClass                           : 'Browser'
      AgentName                            : 'Brave'
      AgentVersion                         : '107'
      AgentVersionMajor                    : '107'
      AgentNameVersion                     : 'Brave 107'
      AgentNameVersionMajor                : 'Brave 107'

      UAClientHintBrands_0_Brand           : 'Brave'
      UAClientHintBrands_0_Version         : '107'
      UAClientHintBrands_1_Brand           : 'Chromium'
      UAClientHintBrands_1_Version         : '107'
      UAClientHintMobile                   : 'true'
      UAClientHintPlatform                 : 'Android'

- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36'
      Sec-Ch-Ua                            : '"Google Chrome";v="107", "Chromium";v="107", "Not=A?Brand";v="24"'
      Sec-Ch-Ua-Mobile                     : '?0'
      Sec-Ch-Ua-Platform                   : '"macOS"'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Apple Macintosh'
      DeviceBrand                          : 'Apple'
      DeviceCpu                            : 'Intel'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Mac OS'
      OperatingSystemVersion               : '>=10.15.7'
      OperatingSystemVersionMajor          : '>=10.15'
      OperatingSystemNameVersion           : 'Mac OS >=10.15.7'
      OperatingSystemNameVersionMajor      : 'Mac OS >=10.15'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Blink'
      LayoutEngineVersion                  : '107'
      LayoutEngineVersionMajor             : '107'
      LayoutEngineNameVersion              : 'Blink 107'
      LayoutEngineNameVersionMajor         : 'Blink 107'
      AgentClass                           : 'Browser'
      AgentName                            : 'Chrome'
      AgentVersion                         : '107'
      AgentVersionMajor                    : '107'
      AgentNameVersion                     : 'Chrome 107'
      AgentNameVersionMajor                : 'Chrome 107'
      UAClientHintBrands_0_Brand           : 'Google Chrome'
      UAClientHintBrands_0_Version         : '107'
      UAClientHintBrands_1_Brand           : 'Chromium'
      UAClientHintBrands_1_Version         : '107'
      UAClientHintMobile                   : 'false'
      UAClientHintPlatform                 : 'macOS'

- test:
    input:
      User-Agent                                 : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36'
      Sec-Ch-Ua                                  : '"Google Chrome";v="107", "Chromium";v="107", "Not=A?Brand";v="24"'
      Sec-Ch-Ua-Arch                             : '"arm"'
      Sec-Ch-Ua-Bitness                          : '"64"'
      Sec-Ch-Ua-Full-Version                     : '"107.0.5304.121"'
      Sec-Ch-Ua-Full-Version-List                : '"Google Chrome";v="107.0.5304.121", "Chromium";v="107.0.5304.121", "Not=A?Brand";v="24.0.0.0"'
      Sec-Ch-Ua-Mobile                           : '?0'
      Sec-Ch-Ua-Model                            : '""'
      Sec-Ch-Ua-Platform                         : '"macOS"'
      Sec-Ch-Ua-Platform-Version                 : '"12.6.0"'
      Sec-Ch-Ua-Wow64                            : '?0'
    expected:
      DeviceClass                                : 'Desktop'
      DeviceName                                 : 'Apple Macintosh'
      DeviceBrand                                : 'Apple'
      DeviceCpu                                  : 'ARM'
      DeviceCpuBits                              : '64'
      OperatingSystemClass                       : 'Desktop'
      OperatingSystemName                        : 'Mac OS'
      OperatingSystemVersion                     : '12.6.0'
      OperatingSystemVersionMajor                : '12'
      OperatingSystemNameVersion                 : 'Mac OS 12.6.0'
      OperatingSystemNameVersionMajor            : 'Mac OS 12'
      LayoutEngineClass                          : 'Browser'
      LayoutEngineName                           : 'Blink'
      LayoutEngineVersion                        : '107.0'
      LayoutEngineVersionMajor                   : '107'
      LayoutEngineNameVersion                    : 'Blink 107.0'
      LayoutEngineNameVersionMajor               : 'Blink 107'
      AgentClass                                 : 'Browser'
      AgentName                                  : 'Chrome'
      AgentVersion                               : '107.0.5304.121'
      AgentVersionMajor                          : '107'
      AgentNameVersion                           : 'Chrome 107.0.5304.121'
      AgentNameVersionMajor                      : 'Chrome 107'
      UAClientHintArchitecture                   : 'arm'
      UAClientHintBitness                        : '64'
      UAClientHintBrands_0_Brand                 : 'Google Chrome'
      UAClientHintBrands_0_Version               : '107'
      UAClientHintBrands_1_Brand                 : 'Chromium'
      UAClientHintBrands_1_Version               : '107'
      UAClientHintFullVersion                    : '107.0.5304.121'
      UAClientHintFullVersionList_0_Brand        : 'Google Chrome'
      UAClientHintFullVersionList_0_Version      : '107.0.5304.121'
      UAClientHintFullVersionList_1_Brand        : 'Chromium'
      UAClientHintFullVersionList_1_Version      : '107.0.5304.121'
      UAClientHintMobile                         : 'false'
      UAClientHintPlatform                       : 'macOS'
      UAClientHintPlatformVersion                : '12.6.0'
      UAClientHintWow64                          : 'false'


- test:
    input:
      User-Agent                           : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.52'
      Sec-Ch-Ua                            : '"Microsoft Edge";v="107", "Chromium";v="107", "Not=A?Brand";v="24"'
      Sec-Ch-Ua-Mobile                     : '?0'
      Sec-Ch-Ua-Platform                   : '"Windows"'
    expected:
      DeviceClass                          : 'Desktop'
      DeviceName                           : 'Desktop'
      DeviceBrand                          : 'Unknown'
      DeviceCpu                            : 'Intel x86_64'
      DeviceCpuBits                        : '64'
      OperatingSystemClass                 : 'Desktop'
      OperatingSystemName                  : 'Windows NT'
      OperatingSystemVersion               : '??'
      OperatingSystemVersionMajor          : '??'
      OperatingSystemNameVersion           : 'Windows NT ??'
      OperatingSystemNameVersionMajor      : 'Windows NT ??'
      LayoutEngineClass                    : 'Browser'
      LayoutEngineName                     : 'Blink'
      LayoutEngineVersion                  : '107'
      LayoutEngineVersionMajor             : '107'
      LayoutEngineNameVersion              : 'Blink 107'
      LayoutEngineNameVersionMajor         : 'Blink 107'
      AgentClass                           : 'Browser'
      AgentName                            : 'Edge'
      AgentVersion                         : '107'
      AgentVersionMajor                    : '107'
      AgentNameVersion                     : 'Edge 107'
      AgentNameVersionMajor                : 'Edge 107'
      UAClientHintBrands_0_Brand           : 'Microsoft Edge'
      UAClientHintBrands_0_Version         : '107'
      UAClientHintBrands_1_Brand           : 'Chromium'
      UAClientHintBrands_1_Version         : '107'
      UAClientHintMobile                   : 'false'
      UAClientHintPlatform                 : 'Windows'


- test:
    input:
      User-Agent                                 : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36'
      Sec-Ch-Ua                                  : '"Not?A_Brand";v="8", "Chromium";v="108", "Google Chrome";v="108"'
      Sec-Ch-Ua-Arch                             : '"x86"'
      Sec-Ch-Ua-Bitness                          : '"64"'
      Sec-Ch-Ua-Full-Version                     : '"108.0.5359.72"'
      Sec-Ch-Ua-Full-Version-List                : '"Not?A_Brand";v="8.0.0.0", "Chromium";v="108.0.5359.72", "Google Chrome";v="108.0.5359.72"'
      Sec-Ch-Ua-Mobile                           : '?0'
      Sec-Ch-Ua-Model                            : '""'
      Sec-Ch-Ua-Platform                         : '"Windows"'
      Sec-Ch-Ua-Platform-Version                 : '"0.1.0"'
      Sec-Ch-Ua-Wow64                            : '?0'
    expected:
      DeviceClass                                : 'Desktop'
      DeviceName                                 : 'Desktop'
      DeviceBrand                                : 'Unknown'
      DeviceCpu                                  : 'Intel x86_64'
      DeviceCpuBits                              : '64'
      OperatingSystemClass                       : 'Desktop'
      OperatingSystemName                        : 'Windows NT'
      OperatingSystemVersion                     : '7'
      OperatingSystemVersionMajor                : '7'
      OperatingSystemNameVersion                 : 'Windows 7'
      OperatingSystemNameVersionMajor            : 'Windows 7'
      LayoutEngineClass                          : 'Browser'
      LayoutEngineName                           : 'Blink'
      LayoutEngineVersion                        : '108.0'
      LayoutEngineVersionMajor                   : '108'
      LayoutEngineNameVersion                    : 'Blink 108.0'
      LayoutEngineNameVersionMajor               : 'Blink 108'
      AgentClass                                 : 'Browser'
      AgentName                                  : 'Chrome'
      AgentVersion                               : '108.0.5359.72'
      AgentVersionMajor                          : '108'
      AgentNameVersion                           : 'Chrome 108.0.5359.72'
      AgentNameVersionMajor                      : 'Chrome 108'
      UAClientHintArchitecture                   : 'x86'
      UAClientHintBitness                        : '64'
      UAClientHintBrands_0_Brand                 : 'Chromium'
      UAClientHintBrands_0_Version               : '108'
      UAClientHintBrands_1_Brand                 : 'Google Chrome'
      UAClientHintBrands_1_Version               : '108'
      UAClientHintFullVersion                    : '108.0.5359.72'
      UAClientHintFullVersionList_0_Brand        : 'Chromium'
      UAClientHintFullVersionList_0_Version      : '108.0.5359.72'
      UAClientHintFullVersionList_1_Brand        : 'Google Chrome'
      UAClientHintFullVersionList_1_Version      : '108.0.5359.72'
      UAClientHintMobile                         : 'false'
      UAClientHintPlatform                       : 'Windows'
      UAClientHintPlatformVersion                : '0.1.0'
      UAClientHintWow64                          : 'false'

      LayoutEngineVersion                  : '97.0'
      LayoutEngineVersionMajor             : '97'
      LayoutEngineNameVersion              : 'Blink 97.0'
      LayoutEngineNameVersionMajor         : 'Blink 97'
      AgentVersion                         : '97.0.4692.99'
      AgentVersionMajor                    : '97'
      AgentNameVersion                     : 'Chromium 97.0.4692.99'
      AgentNameVersionMajor                : 'Chromium 97'