public interface  nl.basjes.parse.useragent.UserAgent extends java.lang.Object implements java.io.Serializable
{
public static final java.lang.String DEVICE_CLASS;
public static final java.lang.String DEVICE_NAME;
public static final java.lang.String DEVICE_BRAND;
public static final java.lang.String DEVICE_CPU;
public static final java.lang.String DEVICE_CPU_BITS;
public static final java.lang.String DEVICE_FIRMWARE_VERSION;
public static final java.lang.String DEVICE_VERSION;
public static final java.lang.String OPERATING_SYSTEM_CLASS;
public static final java.lang.String OPERATING_SYSTEM_NAME;
public static final java.lang.String OPERATING_SYSTEM_VERSION;
public static final java.lang.String OPERATING_SYSTEM_VERSION_MAJOR;
public static final java.lang.String OPERATING_SYSTEM_NAME_VERSION;
public static final java.lang.String OPERATING_SYSTEM_NAME_VERSION_MAJOR;
public static final java.lang.String OPERATING_SYSTEM_VERSION_BUILD;
public static final java.lang.String LAYOUT_ENGINE_CLASS;
public static final java.lang.String LAYOUT_ENGINE_NAME;
public static final java.lang.String LAYOUT_ENGINE_VERSION;
public static final java.lang.String LAYOUT_ENGINE_VERSION_MAJOR;
public static final java.lang.String LAYOUT_ENGINE_NAME_VERSION;
public static final java.lang.String LAYOUT_ENGINE_NAME_VERSION_MAJOR;
public static final java.lang.String LAYOUT_ENGINE_BUILD;
public static final java.lang.String AGENT_CLASS;
public static final java.lang.String AGENT_NAME;
public static final java.lang.String AGENT_VERSION;
public static final java.lang.String AGENT_VERSION_MAJOR;
public static final java.lang.String AGENT_NAME_VERSION;
public static final java.lang.String AGENT_NAME_VERSION_MAJOR;
public static final java.lang.String AGENT_BUILD;
public static final java.lang.String AGENT_LANGUAGE;
public static final java.lang.String AGENT_LANGUAGE_CODE;
public static final java.lang.String AGENT_INFORMATION_EMAIL;
public static final java.lang.String AGENT_INFORMATION_URL;
public static final java.lang.String AGENT_SECURITY;
public static final java.lang.String AGENT_UUID;
public static final java.lang.String WEBVIEW_APP_NAME;
public static final java.lang.String WEBVIEW_APP_VERSION;
public static final java.lang.String WEBVIEW_APP_VERSION_MAJOR;
public static final java.lang.String WEBVIEW_APP_NAME_VERSION;
public static final java.lang.String WEBVIEW_APP_NAME_VERSION_MAJOR;
public static final java.lang.String FACEBOOK_CARRIER;
public static final java.lang.String FACEBOOK_DEVICE_CLASS;
public static final java.lang.String FACEBOOK_DEVICE_NAME;
public static final java.lang.String FACEBOOK_DEVICE_VERSION;
public static final java.lang.String FACEBOOK_F_B_O_P;
public static final java.lang.String FACEBOOK_F_B_S_S;
public static final java.lang.String FACEBOOK_OPERATING_SYSTEM_NAME;
public static final java.lang.String FACEBOOK_OPERATING_SYSTEM_VERSION;
public static final java.lang.String HACKER_ATTACK_VECTOR;
public static final java.lang.String HACKER_TOOLKIT;
public static final java.lang.String KOBO_AFFILIATE;
public static final java.lang.String KOBO_PLATFORM_ID;
public static final java.lang.String IE_COMPATIBILITY_VERSION;
public static final java.lang.String IE_COMPATIBILITY_VERSION_MAJOR;
public static final java.lang.String IE_COMPATIBILITY_NAME_VERSION;
public static final java.lang.String IE_COMPATIBILITY_NAME_VERSION_MAJOR;
public static final java.lang.String SYNTAX_ERROR;
public static final java.lang.String USERAGENT_FIELDNAME;
public static final java.lang.String USERAGENT_HEADER;
public static final java.lang.String USERAGENT_HEADER_SPEC_URL;
public static final java.lang.String USERAGENT_HEADER_SPEC;
public static final java.lang.String USERAGENT_HEADER_FIELDNAME;
public static final java.lang.String NETWORK_TYPE;
public static final java.lang.String UACLIENT_HINT_BRANDS;
public static final java.lang.String UACLIENT_HINT_ARCHITECTURE;
public static final java.lang.String UACLIENT_HINT_BITNESS;
public static final java.lang.String UACLIENT_HINT_FORMFACTOR;
public static final java.lang.String UACLIENT_HINT_FULL_VERSION;
public static final java.lang.String UACLIENT_HINT_FULL_VERSION_LIST;
public static final java.lang.String UACLIENT_HINT_MOBILE;
public static final java.lang.String UACLIENT_HINT_MODEL;
public static final java.lang.String UACLIENT_HINT_PLATFORM;
public static final java.lang.String UACLIENT_HINT_PLATFORM_VERSION;
public static final java.lang.String UACLIENT_HINT_WOW_64;
public static final java.lang.String REMARKABLE_PATTERN;
public static final java.lang.String SET_ALL_FIELDS;
public static final java.lang.String NULL_VALUE;
public static final java.lang.String UNKNOWN_VALUE;
public static final java.lang.String UNKNOWN_VERSION;
public static final java.lang.String UNKNOWN_NAME_VERSION;
public static final java.util.List STANDARD_FIELDS;
public static final java.util.List PRE_SORTED_FIELDS_LIST;
public abstract java.lang.String getUserAgentString();
public abstract java.util.Map getHeaders();
public abstract nl.basjes.parse.useragent.AgentField get(java.lang.String);
public abstract java.lang.String getValue(java.lang.String);
public abstract java.lang.Long getConfidence(java.lang.String);
public abstract boolean hasSyntaxError();
public abstract boolean hasAmbiguity();
public abstract int getAmbiguityCount();
public abstract java.util.List getAvailableFieldNamesSorted();
public java.util.List getCleanedAvailableFieldNamesSorted()
{
java.util.Iterator v;
nl.basjes.parse.useragent.UserAgent v;
java.util.ArrayList v;
java.util.List v, v;
nl.basjes.parse.useragent.AgentField v;
java.lang.Object v;
boolean v, v, v;
v := @this: nl.basjes.parse.useragent.UserAgent;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.util.List getAvailableFieldNamesSorted()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = <nl.basjes.parse.useragent.UserAgent: java.util.List STANDARD_FIELDS>;
v = interfaceinvoke v.<java.util.List: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: nl.basjes.parse.useragent.AgentField get(java.lang.String)>(v);
v = interfaceinvoke v.<nl.basjes.parse.useragent.AgentField: boolean isDefaultValue()>();
if v != 0 goto label;
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
return v;
}
public java.lang.String escapeYaml(java.lang.String)
{
nl.basjes.parse.useragent.UserAgent v;
java.lang.String v, v;
v := @this: nl.basjes.parse.useragent.UserAgent;
v := @parameter: java.lang.String;
if v != null goto label;
return "<<<null>>>";
label:
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("\'", "\'\'");
return v;
}
public java.lang.String toYamlTestCase()
{
nl.basjes.parse.useragent.UserAgent v;
java.util.List v;
java.lang.String v;
v := @this: nl.basjes.parse.useragent.UserAgent;
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.util.List getCleanedAvailableFieldNamesSorted()>();
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.lang.String toYamlTestCase(boolean,java.util.List,java.util.Map)>(0, v, null);
return v;
}
public java.lang.String toYamlTestCase(java.util.List)
{
nl.basjes.parse.useragent.UserAgent v;
java.util.List v;
java.lang.String v;
v := @this: nl.basjes.parse.useragent.UserAgent;
v := @parameter: java.util.List;
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.lang.String toYamlTestCase(boolean,java.util.List,java.util.Map)>(0, v, null);
return v;
}
public java.lang.String toYamlTestCase(boolean)
{
java.util.List v;
nl.basjes.parse.useragent.UserAgent v;
java.lang.String v;
boolean v;
v := @this: nl.basjes.parse.useragent.UserAgent;
v := @parameter: boolean;
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.util.List getCleanedAvailableFieldNamesSorted()>();
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.lang.String toYamlTestCase(boolean,java.util.List,java.util.Map)>(v, v, null);
return v;
}
public java.lang.String toYamlTestCase(boolean, java.util.Map)
{
java.util.List v;
java.util.Map v;
nl.basjes.parse.useragent.UserAgent v;
java.lang.String v;
boolean v;
v := @this: nl.basjes.parse.useragent.UserAgent;
v := @parameter: boolean;
v := @parameter: java.util.Map;
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.util.List getCleanedAvailableFieldNamesSorted()>();
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.lang.String toYamlTestCase(boolean,java.util.List,java.util.Map)>(v, v, v);
return v;
}
public java.lang.String toYamlTestCase(boolean, java.util.List)
{
java.util.List v;
nl.basjes.parse.useragent.UserAgent v;
java.lang.String v;
boolean v;
v := @this: nl.basjes.parse.useragent.UserAgent;
v := @parameter: boolean;
v := @parameter: java.util.List;
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.lang.String toYamlTestCase(boolean,java.util.List,java.util.Map)>(v, v, null);
return v;
}
public java.lang.String toYamlTestCase(boolean, java.util.List, java.util.Map)
{
java.lang.Integer v, v;
java.lang.Long v;
java.util.Map v, v, v;
java.util.Set v, v;
java.util.stream.Stream v, v, v, v;
java.lang.StringBuilder v, v, v, v, v, v, v, v, v, v, v;
java.lang.Object[] v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v;
nl.basjes.parse.useragent.UserAgent v;
char[] v, v;
boolean v, v, v, v, v, v, v;
java.util.List v;
java.util.Optional v, v;
java.util.function.Function v, v;
nl.basjes.parse.useragent.AgentField v;
int v, v, v, v, v, v, v, v, v, v, v, v;
java.util.Iterator v, v, v;
java.lang.Object v, v, v, v, v, v, v, v, v, v;
java.util.Comparator v, v;
v := @this: nl.basjes.parse.useragent.UserAgent;
v := @parameter: boolean;
v := @parameter: java.util.List;
v := @parameter: java.util.Map;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(10240);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("- test:\n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("    input:\n");
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <nl.basjes.parse.useragent.UserAgent$length__515: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <nl.basjes.parse.useragent.UserAgent$compareTo__516: java.util.Comparator bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.Optional max(java.util.Comparator)>(v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(0);
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.util.Map getHeaders()>();
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.stream.Stream stream()>();
v = staticinvoke <nl.basjes.parse.useragent.UserAgent$length__517: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <nl.basjes.parse.useragent.UserAgent$compareTo__518: java.util.Comparator bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.Optional max(java.util.Comparator)>(v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(0);
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = staticinvoke <java.lang.Math: int max(int,int)>(v, v);
v = staticinvoke <java.lang.Math: int max(int,int)>(30, v);
v = v + 6;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("      ");
v = newarray (char)[2];
v[0] = 32;
v[1] = 45;
v = staticinvoke <nl.basjes.parse.useragent.yauaa.shaded.org.apache.commons.text.WordUtils: java.lang.String capitalizeFully(java.lang.String,char[])>("User-Agent", v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = "User-Agent";
v = virtualinvoke v.<java.lang.String: int length()>();
label:
if v >= v goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(32);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(": \'");
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.lang.String getUserAgentString()>();
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.lang.String escapeYaml(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\'\n");
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.util.Map getHeaders()>();
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = "User-Agent";
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("      ");
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = newarray (char)[2];
v[0] = 32;
v[1] = 45;
v = staticinvoke <nl.basjes.parse.useragent.yauaa.shaded.org.apache.commons.text.WordUtils: java.lang.String capitalizeFully(java.lang.String,char[])>(v, v);
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.lang.String escapeYaml(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = virtualinvoke v.<java.lang.String: int length()>();
label:
if v >= v goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(32);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(": \'");
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.lang.String escapeYaml(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\'\n");
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("    expected:\n");
v = 0;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.lang.String getValue(java.lang.String)>(v);
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.lang.String escapeYaml(java.lang.String)>(v);
if v == null goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
v = staticinvoke <java.lang.Math: int max(int,int)>(v, v);
goto label;
label:
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: nl.basjes.parse.useragent.AgentField get(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("      ");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.String: int length()>();
label:
if v >= v goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(32);
v = v + 1;
goto label;
label:
v = interfaceinvoke v.<nl.basjes.parse.useragent.AgentField: java.lang.String getValue()>();
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.lang.String escapeYaml(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(": \'");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(39);
if v != 0 goto label;
if v == null goto label;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
label:
v = v + 4;
if v >= v goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(32);
v = v + 1;
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("# ");
if v == 0 goto label;
v = newarray (java.lang.Object)[1];
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.lang.Long getConfidence(java.lang.String)>(v);
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("%8d", v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = interfaceinvoke v.<nl.basjes.parse.useragent.AgentField: boolean isDefaultValue()>();
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" [Default]");
label:
if v == null goto label;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = interfaceinvoke v.<nl.basjes.parse.useragent.AgentField: boolean isDefaultValue()>();
if v != 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("          ");
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" | ");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(10);
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public java.util.Map toMap()
{
java.util.List v;
java.util.Map v;
nl.basjes.parse.useragent.UserAgent v;
java.util.ArrayList v;
v := @this: nl.basjes.parse.useragent.UserAgent;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>("Useragent");
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.util.List getAvailableFieldNamesSorted()>();
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.util.Map toMap(java.util.List)>(v);
return v;
}
public transient java.util.Map toMap(java.lang.String[])
{
java.util.List v;
java.util.Map v;
nl.basjes.parse.useragent.UserAgent v;
java.lang.String[] v;
v := @this: nl.basjes.parse.useragent.UserAgent;
v := @parameter: java.lang.String[];
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.util.Map toMap(java.util.List)>(v);
return v;
}
public java.util.Map toMap(java.util.List)
{
java.util.Iterator v;
nl.basjes.parse.useragent.UserAgent v;
java.util.List v;
java.util.TreeMap v;
nl.basjes.parse.useragent.AgentField v;
java.lang.Object v;
java.lang.String v, v, v, v;
boolean v, v, v;
v := @this: nl.basjes.parse.useragent.UserAgent;
v := @parameter: java.util.List;
v = new java.util.TreeMap;
specialinvoke v.<java.util.TreeMap: void <init>()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = "Useragent";
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v != 0 goto label;
v = "User-Agent";
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v == 0 goto label;
label:
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.lang.String getUserAgentString()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("Useragent", v);
goto label;
label:
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: nl.basjes.parse.useragent.AgentField get(java.lang.String)>(v);
v = interfaceinvoke v.<nl.basjes.parse.useragent.AgentField: java.lang.String getValue()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
return v;
}
public java.lang.String toJson()
{
java.util.List v;
nl.basjes.parse.useragent.UserAgent v;
java.lang.String v;
java.util.ArrayList v;
v := @this: nl.basjes.parse.useragent.UserAgent;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>("Useragent");
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.util.List getAvailableFieldNamesSorted()>();
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.lang.String toJson(java.util.List)>(v);
return v;
}
public transient java.lang.String toJson(java.lang.String[])
{
java.util.List v;
nl.basjes.parse.useragent.UserAgent v;
java.lang.String[] v;
java.lang.String v;
v := @this: nl.basjes.parse.useragent.UserAgent;
v := @parameter: java.lang.String[];
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.lang.String toJson(java.util.List)>(v);
return v;
}
public java.lang.String toJson(java.util.List)
{
nl.basjes.parse.useragent.AgentField v;
java.lang.String v, v, v, v, v, v, v;
boolean v, v, v;
java.util.Iterator v;
nl.basjes.parse.useragent.UserAgent v;
java.util.List v;
java.lang.Object v;
java.lang.StringBuilder v, v, v, v, v, v, v, v, v, v, v;
v := @this: nl.basjes.parse.useragent.UserAgent;
v := @parameter: java.util.List;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(10240);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("{");
v = 0;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(44);
goto label;
label:
v = 1;
label:
v = "Useragent";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\"Useragent\"");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(58);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(34);
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.lang.String getUserAgentString()>();
v = staticinvoke <nl.basjes.parse.useragent.yauaa.shaded.org.apache.commons.text.StringEscapeUtils: java.lang.String escapeJson(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(34);
goto label;
label:
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: nl.basjes.parse.useragent.AgentField get(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(34);
v = staticinvoke <nl.basjes.parse.useragent.yauaa.shaded.org.apache.commons.text.StringEscapeUtils: java.lang.String escapeJson(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(34);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(58);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(34);
v = interfaceinvoke v.<nl.basjes.parse.useragent.AgentField: java.lang.String getValue()>();
v = staticinvoke <nl.basjes.parse.useragent.yauaa.shaded.org.apache.commons.text.StringEscapeUtils: java.lang.String escapeJson(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(34);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("}");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public java.lang.String toXML()
{
java.util.List v;
nl.basjes.parse.useragent.UserAgent v;
java.lang.String v;
java.util.ArrayList v;
v := @this: nl.basjes.parse.useragent.UserAgent;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>("Useragent");
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.util.List getAvailableFieldNamesSorted()>();
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.lang.String toXML(java.util.List)>(v);
return v;
}
public transient java.lang.String toXML(java.lang.String[])
{
java.util.List v;
nl.basjes.parse.useragent.UserAgent v;
java.lang.String[] v;
java.lang.String v;
v := @this: nl.basjes.parse.useragent.UserAgent;
v := @parameter: java.lang.String[];
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.lang.String toXML(java.util.List)>(v);
return v;
}
public java.lang.String toXML(java.util.List)
{
nl.basjes.parse.useragent.AgentField v;
java.lang.String v, v, v, v, v, v, v, v;
boolean v, v;
java.util.Iterator v;
nl.basjes.parse.useragent.UserAgent v;
java.util.List v;
java.lang.Object v;
java.lang.StringBuilder v, v, v, v;
v := @this: nl.basjes.parse.useragent.UserAgent;
v := @parameter: java.util.List;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(10240);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = "Useragent";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.lang.String getUserAgentString()>();
v = staticinvoke <nl.basjes.parse.useragent.yauaa.shaded.org.apache.commons.text.StringEscapeUtils: java.lang.String escapeXml10(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("</Useragent>");
goto label;
label:
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: nl.basjes.parse.useragent.AgentField get(java.lang.String)>(v);
v = staticinvoke <nl.basjes.parse.useragent.yauaa.shaded.org.apache.commons.text.StringEscapeUtils: java.lang.String escapeXml10(java.lang.String)>(v);
v = interfaceinvoke v.<nl.basjes.parse.useragent.AgentField: java.lang.String getValue()>();
v = staticinvoke <nl.basjes.parse.useragent.yauaa.shaded.org.apache.commons.text.StringEscapeUtils: java.lang.String escapeXml10(java.lang.String)>(v);
v = staticinvoke <nl.basjes.parse.useragent.yauaa.shaded.org.apache.commons.text.StringEscapeUtils: java.lang.String escapeXml10(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(62);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("</Yauaa>");
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String,java.lang.String)>(v, v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("<Yauaa><Useragent>\u0001<\u0001>\u0001</\u0001");
return v;
}
public transient java.lang.String toString(java.lang.String[])
{
java.util.List v;
nl.basjes.parse.useragent.UserAgent v;
java.lang.String[] v;
java.lang.String v;
v := @this: nl.basjes.parse.useragent.UserAgent;
v := @parameter: java.lang.String[];
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.lang.String toString(java.util.List)>(v);
return v;
}
public java.lang.String toString(java.util.List)
{
nl.basjes.parse.useragent.UserAgent v;
java.util.List v;
java.lang.String v;
v := @this: nl.basjes.parse.useragent.UserAgent;
v := @parameter: java.util.List;
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.lang.String toYamlTestCase(java.util.List)>(v);
return v;
}
public java.lang.String toJavaTestCase()
{
nl.basjes.parse.useragent.UserAgent v;
java.util.List v;
java.lang.String v;
v := @this: nl.basjes.parse.useragent.UserAgent;
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.util.List getCleanedAvailableFieldNamesSorted()>();
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.lang.String toJavaTestCase(java.util.List)>(v);
return v;
}
public java.lang.String toJavaTestCase(java.util.List)
{
nl.basjes.parse.useragent.AgentField v;
int v, v, v, v;
java.lang.String v, v, v, v, v, v, v;
boolean v, v, v;
java.util.Iterator v, v;
nl.basjes.parse.useragent.UserAgent v;
java.util.List v;
java.lang.Object v, v;
java.lang.StringBuilder v, v, v, v, v;
v := @this: nl.basjes.parse.useragent.UserAgent;
v := @parameter: java.util.List;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = 0;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.lang.String getValue(java.lang.String)>(v);
v = staticinvoke <nl.basjes.parse.useragent.yauaa.shaded.org.apache.commons.text.StringEscapeUtils: java.lang.String escapeJava(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.String: int length()>();
v = staticinvoke <java.lang.Math: int max(int,int)>(v, v);
goto label;
label:
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = "Useragent";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: nl.basjes.parse.useragent.AgentField get(java.lang.String)>(v);
if v == null goto label;
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.lang.String getValue(java.lang.String)>(v);
v = staticinvoke <nl.basjes.parse.useragent.yauaa.shaded.org.apache.commons.text.StringEscapeUtils: java.lang.String escapeJava(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("    assertEquals(\"");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\", ");
v = virtualinvoke v.<java.lang.String: int length()>();
label:
v = v + 2;
if v >= v goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(32);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("userAgent.getValue(\"");
v = staticinvoke <nl.basjes.parse.useragent.yauaa.shaded.org.apache.commons.text.StringEscapeUtils: java.lang.String escapeJava(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\"));");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(10);
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public java.lang.String toJavaExpectationsList()
{
nl.basjes.parse.useragent.UserAgent v;
java.util.List v;
java.lang.String v;
v := @this: nl.basjes.parse.useragent.UserAgent;
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.util.List getCleanedAvailableFieldNamesSorted()>();
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.lang.String toJavaExpectationsList(java.util.List)>(v);
return v;
}
public java.lang.String toJavaExpectationsList(java.util.List)
{
nl.basjes.parse.useragent.AgentField v;
int v, v, v, v;
java.lang.String v, v, v, v;
boolean v, v, v;
java.util.Iterator v, v;
nl.basjes.parse.useragent.UserAgent v;
java.util.List v;
java.lang.Object v, v;
java.lang.StringBuilder v, v, v, v, v;
v := @this: nl.basjes.parse.useragent.UserAgent;
v := @parameter: java.util.List;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = 0;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<java.lang.String: int length()>();
v = staticinvoke <java.lang.Math: int max(int,int)>(v, v);
goto label;
label:
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = "Useragent";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: nl.basjes.parse.useragent.AgentField get(java.lang.String)>(v);
if v == null goto label;
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.lang.String getValue(java.lang.String)>(v);
v = staticinvoke <nl.basjes.parse.useragent.yauaa.shaded.org.apache.commons.text.StringEscapeUtils: java.lang.String escapeJava(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("    expectations.put(\"");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\", ");
v = virtualinvoke v.<java.lang.String: int length()>();
label:
v = v + 2;
if v >= v goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(32);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\"");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\");");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(10);
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public boolean uaEquals(java.lang.Object)
{
java.util.Iterator v;
nl.basjes.parse.useragent.UserAgent v;
java.util.List v, v;
nl.basjes.parse.useragent.AgentField v, v;
java.util.Map v, v;
java.lang.Object v, v;
boolean v, v, v, v, v;
v := @this: nl.basjes.parse.useragent.UserAgent;
v := @parameter: java.lang.Object;
if v != v goto label;
return 1;
label:
v = v instanceof nl.basjes.parse.useragent.UserAgent;
if v != 0 goto label;
return 0;
label:
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.util.Map getHeaders()>();
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.util.Map getHeaders()>();
v = staticinvoke <java.util.Objects: boolean equals(java.lang.Object,java.lang.Object)>(v, v);
if v != 0 goto label;
return 0;
label:
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.util.List getAvailableFieldNamesSorted()>();
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.util.List getAvailableFieldNamesSorted()>();
v = staticinvoke <java.util.Objects: boolean equals(java.lang.Object,java.lang.Object)>(v, v);
if v != 0 goto label;
return 0;
label:
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: nl.basjes.parse.useragent.AgentField get(java.lang.String)>(v);
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: nl.basjes.parse.useragent.AgentField get(java.lang.String)>(v);
v = staticinvoke <java.util.Objects: boolean equals(java.lang.Object,java.lang.Object)>(v, v);
if v != 0 goto label;
return 0;
label:
return 1;
}
public int uaHashCode()
{
java.lang.Object[] v;
java.util.Iterator v;
nl.basjes.parse.useragent.UserAgent v;
java.util.List v;
nl.basjes.parse.useragent.AgentField v;
int v, v, v;
java.lang.Object v;
java.lang.String v;
boolean v;
v := @this: nl.basjes.parse.useragent.UserAgent;
v = newarray (java.lang.Object)[1];
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.lang.String getUserAgentString()>();
v[0] = v;
v = staticinvoke <java.util.Objects: int hash(java.lang.Object[])>(v);
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: java.util.List getAvailableFieldNamesSorted()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = 31 * v;
v = interfaceinvoke v.<nl.basjes.parse.useragent.UserAgent: nl.basjes.parse.useragent.AgentField get(java.lang.String)>(v);
v = interfaceinvoke v.<nl.basjes.parse.useragent.AgentField: int hashCode()>();
v = v + v;
goto label;
label:
return v;
}
static void <clinit>()
{
java.util.List v, v, v, v;
java.lang.String[] v, v;
v = newarray (java.lang.String)[21];
v[0] = "DeviceClass";
v[1] = "DeviceBrand";
v[2] = "DeviceName";
v[3] = "OperatingSystemClass";
v[4] = "OperatingSystemName";
v[5] = "OperatingSystemVersion";
v[6] = "OperatingSystemVersionMajor";
v[7] = "OperatingSystemNameVersion";
v[8] = "OperatingSystemNameVersionMajor";
v[9] = "LayoutEngineClass";
v[10] = "LayoutEngineName";
v[11] = "LayoutEngineVersion";
v[12] = "LayoutEngineVersionMajor";
v[13] = "LayoutEngineNameVersion";
v[14] = "LayoutEngineNameVersionMajor";
v[15] = "AgentClass";
v[16] = "AgentName";
v[17] = "AgentVersion";
v[18] = "AgentVersionMajor";
v[19] = "AgentNameVersion";
v[20] = "AgentNameVersionMajor";
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = staticinvoke <java.util.Collections: java.util.List unmodifiableList(java.util.List)>(v);
<nl.basjes.parse.useragent.UserAgent: java.util.List STANDARD_FIELDS> = v;
v = newarray (java.lang.String)[57];
v[0] = "DeviceClass";
v[1] = "DeviceName";
v[2] = "DeviceBrand";
v[3] = "DeviceCpu";
v[4] = "DeviceCpuBits";
v[5] = "DeviceFirmwareVersion";
v[6] = "DeviceVersion";
v[7] = "OperatingSystemClass";
v[8] = "OperatingSystemName";
v[9] = "OperatingSystemVersion";
v[10] = "OperatingSystemVersionMajor";
v[11] = "OperatingSystemNameVersion";
v[12] = "OperatingSystemNameVersionMajor";
v[13] = "OperatingSystemVersionBuild";
v[14] = "LayoutEngineClass";
v[15] = "LayoutEngineName";
v[16] = "LayoutEngineVersion";
v[17] = "LayoutEngineVersionMajor";
v[18] = "LayoutEngineNameVersion";
v[19] = "LayoutEngineNameVersionMajor";
v[20] = "LayoutEngineBuild";
v[21] = "AgentClass";
v[22] = "AgentName";
v[23] = "AgentVersion";
v[24] = "AgentVersionMajor";
v[25] = "AgentNameVersion";
v[26] = "AgentNameVersionMajor";
v[27] = "AgentBuild";
v[28] = "AgentLanguage";
v[29] = "AgentLanguageCode";
v[30] = "AgentInformationEmail";
v[31] = "AgentInformationUrl";
v[32] = "AgentSecurity";
v[33] = "AgentUuid";
v[34] = "WebviewAppName";
v[35] = "WebviewAppVersion";
v[36] = "WebviewAppVersionMajor";
v[37] = "WebviewAppNameVersion";
v[38] = "WebviewAppNameVersionMajor";
v[39] = "FacebookCarrier";
v[40] = "FacebookDeviceClass";
v[41] = "FacebookDeviceName";
v[42] = "FacebookDeviceVersion";
v[43] = "FacebookFBOP";
v[44] = "FacebookFBSS";
v[45] = "FacebookOperatingSystemName";
v[46] = "FacebookOperatingSystemVersion";
v[47] = "RemarkablePattern";
v[48] = "HackerAttackVector";
v[49] = "HackerToolkit";
v[50] = "KoboAffiliate";
v[51] = "KoboPlatformId";
v[52] = "IECompatibilityVersion";
v[53] = "IECompatibilityVersionMajor";
v[54] = "IECompatibilityNameVersion";
v[55] = "IECompatibilityNameVersionMajor";
v[56] = "__SyntaxError__";
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = staticinvoke <java.util.Collections: java.util.List unmodifiableList(java.util.List)>(v);
<nl.basjes.parse.useragent.UserAgent: java.util.List PRE_SORTED_FIELDS_LIST> = v;
return;
}
}