ModSecurity/apache2/libinjection/libinjection_sqli_data.h
2013-05-27 18:04:04 +04:00

5758 lines
84 KiB
C

#ifndef _LIBINJECTION_SQLI_DATA_H
#define _LIBINJECTION_SQLI_DATA_H
#include "libinjection.h"
typedef struct {
const char *word;
char type;
} keyword_t;
static size_t parse_money(sfilter * sf);
static size_t parse_other(sfilter * sf);
static size_t parse_white(sfilter * sf);
static size_t parse_operator1(sfilter *sf);
static size_t parse_char(sfilter *sf);
static size_t parse_eol_comment(sfilter *sf);
static size_t parse_dash(sfilter *sf);
static size_t parse_slash(sfilter *sf);
static size_t parse_backslash(sfilter * sf);
static size_t parse_operator2(sfilter *sf);
static size_t parse_string(sfilter *sf);
static size_t parse_word(sfilter * sf);
static size_t parse_var(sfilter * sf);
static size_t parse_number(sfilter * sf);
static size_t parse_tick(sfilter * sf);
static const char* operators2[] = {
"!!",
"!<",
"!=",
"!>",
"!~",
"%=",
"&&",
"&=",
"*=",
"+=",
"-=",
"/=",
":=",
"<<",
"<=",
"<>",
"<@",
">=",
">>",
"@>",
"^=",
"|/",
"|=",
"||",
"~*",
};
static const size_t operators2_sz = 25;
static const keyword_t sql_keywords[] = {
{"ABORT", 'k'},
{"ABS", 'f'},
{"ACCESSIBLE", 'k'},
{"ACOS", 'f'},
{"ADD", 'k'},
{"ADDDATE", 'f'},
{"ADDTIME", 'f'},
{"AES_DECRYPT", 'f'},
{"AES_ENCRYPT", 'f'},
{"AGAINST", 'k'},
{"AGE", 'f'},
{"ALL_USERS", 'k'},
{"ALTER", 'k'},
{"ANALYZE", 'k'},
{"AND", '&'},
{"APPLOCK_MODE", 'f'},
{"APPLOCK_TEST", 'f'},
{"APP_NAME", 'f'},
{"ARRAY_AGG", 'f'},
{"ARRAY_CAT", 'f'},
{"ARRAY_DIM", 'f'},
{"ARRAY_FILL", 'f'},
{"ARRAY_LENGTH", 'f'},
{"ARRAY_LOWER", 'f'},
{"ARRAY_NDIMS", 'f'},
{"ARRAY_PREPEND", 'f'},
{"ARRAY_TO_JSON", 'f'},
{"ARRAY_TO_STRING", 'f'},
{"ARRAY_UPPER", 'f'},
{"AS", 'n'},
{"ASC", 'k'},
{"ASCII", 'f'},
{"ASENSITIVE", 'k'},
{"ASIN", 'f'},
{"ASSEMBLYPROPERTY", 'f'},
{"ASYMKEY_ID", 'f'},
{"ATAN", 'f'},
{"ATAN2", 'f'},
{"AUTOINCREMENT", 'k'},
{"AVG", 'f'},
{"BEFORE", 'k'},
{"BEGIN", 'E'},
{"BENCHMARK", 'f'},
{"BETWEEN", 'k'},
{"BIGINT", 'k'},
{"BIN", 'f'},
{"BINARY", 'k'},
{"BINARY_DOUBLE_INFINITY", '1'},
{"BINARY_DOUBLE_NAN", '1'},
{"BINARY_FLOAT_INFINITY", '1'},
{"BINARY_FLOAT_NAN", '1'},
{"BINBINARY", 'f'},
{"BIT_AND", 'f'},
{"BIT_COUNT", 'f'},
{"BIT_LENGTH", 'f'},
{"BIT_OR", 'f'},
{"BIT_XOR", 'f'},
{"BLOB", 'k'},
{"BOOLEAN", 'k'},
{"BOOL_AND", 'f'},
{"BOOL_OR", 'f'},
{"BOTH", 'k'},
{"BTRIM", 'f'},
{"BY", 'n'},
{"CALL", 'k'},
{"CASCADE", 'k'},
{"CASE", 'E'},
{"CAST", 'f'},
{"CBOOL", 'f'},
{"CBRT", 'f'},
{"CBYTE", 'f'},
{"CCUR", 'f'},
{"CDATE", 'f'},
{"CDBL", 'f'},
{"CEIL", 'f'},
{"CEILING", 'f'},
{"CERTENCODED", 'f'},
{"CERTPRIVATEKEY", 'f'},
{"CERT_ID", 'f'},
{"CERT_PROPERTY", 'f'},
{"CHANGE", 'k'},
{"CHANGES", 'f'},
{"CHAR", 'f'},
{"CHARACTER", 'k'},
{"CHARACTER_LENGTH", 'f'},
{"CHARINDEX", 'f'},
{"CHARSET", 'f'},
{"CHAR_LENGTH", 'f'},
{"CHDIR", 'f'},
{"CHDRIVE", 'f'},
{"CHECK", 'k'},
{"CHECKSUM_AGG", 'f'},
{"CHOOSE", 'f'},
{"CHR", 'f'},
{"CINT", 'f'},
{"CLNG", 'f'},
{"CLOCK_TIMESTAMP", 'f'},
{"COALESCE", 'k'},
{"COERCIBILITY", 'f'},
{"COLLATE", 'k'},
{"COLLATION", 'f'},
{"COLLATIONPROPERTY", 'f'},
{"COLUMN", 'k'},
{"COLUMNPROPERTY", 'f'},
{"COLUMNS_UPDATED", 'f'},
{"COL_LENGTH", 'f'},
{"COL_NAME", 'f'},
{"COMPRESS", 'f'},
{"CONCAT", 'f'},
{"CONCAT_WS", 'f'},
{"CONDITION", 'k'},
{"CONNECTION_ID", 'f'},
{"CONSTRAINT", 'k'},
{"CONTINUE", 'k'},
{"CONV", 'f'},
{"CONVERT", 'f'},
{"CONVERT_FROM", 'f'},
{"CONVERT_TO", 'f'},
{"CONVERT_TZ", 'f'},
{"COS", 'f'},
{"COT", 'f'},
{"COUNT", 'f'},
{"COUNT_BIG", 'k'},
{"CRC32", 'f'},
{"CREATE", 'E'},
{"CROSS", 'n'},
{"CSNG", 'f'},
{"CTXSYS.DRITHSX.SN", 'f'},
{"CUME_DIST", 'f'},
{"CURDATE", 'f'},
{"CURDIR", 'f'},
{"CURRENTUSER", 'f'},
{"CURRENT_DATABASE", 'f'},
{"CURRENT_DATE", 'k'},
{"CURRENT_QUERY", 'f'},
{"CURRENT_SCHEMA", 'f'},
{"CURRENT_SCHEMAS", 'f'},
{"CURRENT_SETTING", 'p'},
{"CURRENT_TIME", 'k'},
{"CURRENT_TIMESTAMP", 'k'},
{"CURRENT_USER", 'k'},
{"CURRVAL", 'f'},
{"CURSOR", 'k'},
{"CURSOR_STATUS", 'f'},
{"CURTIME", 'f'},
{"CVAR", 'f'},
{"DATABASE", 'n'},
{"DATABASEPROPERTYEX", 'f'},
{"DATABASES", 'k'},
{"DATABASE_PRINCIPAL_ID", 'f'},
{"DATALENGTH", 'f'},
{"DATE", 'f'},
{"DATEADD", 'f'},
{"DATEDIFF", 'f'},
{"DATEFROMPARTS", 'f'},
{"DATENAME", 'f'},
{"DATEPART", 'f'},
{"DATESERIAL", 'f'},
{"DATETIME2FROMPARTS", 'f'},
{"DATETIMEFROMPARTS", 'f'},
{"DATETIMEOFFSETFROMPARTS", 'f'},
{"DATEVALUE", 'f'},
{"DATE_ADD", 'f'},
{"DATE_FORMAT", 'f'},
{"DATE_PART", 'f'},
{"DATE_SUB", 'f'},
{"DATE_TRUNC", 'f'},
{"DAVG", 'f'},
{"DAY", 'f'},
{"DAYNAME", 'f'},
{"DAYOFMONTH", 'f'},
{"DAYOFWEEK", 'f'},
{"DAYOFYEAR", 'f'},
{"DAY_HOUR", 'k'},
{"DAY_MICROSECOND", 'k'},
{"DAY_MINUTE", 'k'},
{"DAY_SECOND", 'k'},
{"DBMS_LOCK.SLEEP", 'f'},
{"DBMS_PIPE.RECEIVE_MESSAGE", 'f'},
{"DB_ID", 'f'},
{"DB_NAME", 'f'},
{"DCOUNT", 'f'},
{"DEC", 'k'},
{"DECIMAL", 'k'},
{"DECLARE", 'E'},
{"DECODE", 'f'},
{"DECRYPTBYASMKEY", 'f'},
{"DECRYPTBYCERT", 'f'},
{"DECRYPTBYKEY", 'f'},
{"DECRYPTBYKEYAUTOCERT", 'f'},
{"DECRYPTBYPASSPHRASE", 'f'},
{"DEFAULT", 'k'},
{"DEGREES", 'f'},
{"DELAY", 'k'},
{"DELAYED", 'k'},
{"DELETE", 'k'},
{"DENSE_RANK", 'f'},
{"DESC", 'k'},
{"DESCRIBE", 'k'},
{"DES_DECRYPT", 'f'},
{"DES_ENCRYPT", 'f'},
{"DETERMINISTIC", 'k'},
{"DFIRST", 'f'},
{"DIFFERENCE", 'f'},
{"DISTINCROW", 'k'},
{"DISTINCT", 'k'},
{"DIV", 'o'},
{"DLAST", 'f'},
{"DLOOKUP", 'f'},
{"DMAX", 'f'},
{"DMIN", 'f'},
{"DROP", 'E'},
{"DSUM", 'f'},
{"DUAL", 'k'},
{"EACH", 'k'},
{"ELSE", 'k'},
{"ELSEIF", 'k'},
{"ELT", 'f'},
{"ENCLOSED", 'k'},
{"ENCODE", 'f'},
{"ENCRYPT", 'f'},
{"ENCRYPTBYASMKEY", 'f'},
{"ENCRYPTBYCERT", 'f'},
{"ENCRYPTBYKEY", 'f'},
{"ENCRYPTBYPASSPHRASE", 'f'},
{"ENUM_FIRST", 'f'},
{"ENUM_LAST", 'f'},
{"ENUM_RANGE", 'f'},
{"EOMONTH", 'f'},
{"ESCAPED", 'k'},
{"EVENTDATA", 'f'},
{"EXEC", 'E'},
{"EXECUTE", 'k'},
{"EXISTS", 'k'},
{"EXIT", 'k'},
{"EXP", 'f'},
{"EXPLAIN", 'k'},
{"EXPORT_SET", 'f'},
{"EXTRACT", 'f'},
{"EXTRACTVALUE", 'f'},
{"EXTRACT_VALUE", 'f'},
{"FALSE", '1'},
{"FETCH", 'k'},
{"FIELD", 'f'},
{"FILEDATETIME", 'f'},
{"FILEGROUPPROPERTY", 'f'},
{"FILEGROUP_ID", 'f'},
{"FILEGROUP_NAME", 'f'},
{"FILELEN", 'f'},
{"FILEPROPERTY", 'f'},
{"FILE_ID", 'f'},
{"FILE_IDEX", 'f'},
{"FILE_NAME", 'f'},
{"FIND_IN_SET", 'f'},
{"FIRST_VALUE", 'f'},
{"FLOOR", 'f'},
{"FN_VIRTUALFILESTATS", 'f'},
{"FOR", 'n'},
{"FORCE", 'k'},
{"FOREIGN", 'k'},
{"FORMAT", 'f'},
{"FOUND_ROWS", 'f'},
{"FROM", 'k'},
{"FROM_DAYS", 'f'},
{"FROM_UNIXTIME", 'f'},
{"FULLTEXT", 'k'},
{"FULLTEXTCATALOGPROPERTY", 'f'},
{"FULLTEXTSERVICEPROPERTY", 'f'},
{"GENERATE_SERIES", 'f'},
{"GENERATE_SUBSCRIPTS", 'f'},
{"GETATTR", 'f'},
{"GETDATE", 'f'},
{"GETUTCDATE", 'f'},
{"GET_BIT", 'f'},
{"GET_BYTE", 'f'},
{"GET_FORMAT", 'f'},
{"GET_LOCK", 'f'},
{"GOTO", 'k'},
{"GRANT", 'k'},
{"GREATEST", 'f'},
{"GROUP", 'n'},
{"GROUPING", 'f'},
{"GROUPING_ID", 'f'},
{"GROUP_CONCAT", 'f'},
{"HASHBYTES", 'f'},
{"HAS_PERMS_BY_NAME", 'f'},
{"HAVING", 'k'},
{"HEX", 'f'},
{"HIGH_PRIORITY", 'k'},
{"HOST_NAME", 'f'},
{"HOUR", 'f'},
{"HOUR_MICROSECOND", 'k'},
{"HOUR_MINUTE", 'k'},
{"HOUR_SECOND", 'k'},
{"IDENTIFY", 'f'},
{"IDENT_CURRENT", 'f'},
{"IDENT_INCR", 'f'},
{"IDENT_SEED", 'f'},
{"IF", 'E'},
{"IFF", 'f'},
{"IFNULL", 'f'},
{"IGNORE", 'k'},
{"IIF", 'f'},
{"IN", 'n'},
{"INDEX", 'k'},
{"INDEXKEY_PROPERTY", 'f'},
{"INDEXPROPERTY", 'f'},
{"INDEX_COL", 'f'},
{"INET_ATON", 'f'},
{"INET_NTOA", 'f'},
{"INFILE", 'k'},
{"INITCAP", 'f'},
{"INNER", 'k'},
{"INOUT", 'k'},
{"INSENSITIVE", 'k'},
{"INSERT", 'E'},
{"INSTR", 'f'},
{"INSTRREV", 'f'},
{"INT", 'k'},
{"INT1", 'k'},
{"INT2", 'k'},
{"INT3", 'k'},
{"INT4", 'k'},
{"INT8", 'k'},
{"INTEGER", 'k'},
{"INTERVAL", 'k'},
{"INTO", 'k'},
{"IS", 'o'},
{"ISDATE", 'f'},
{"ISEMPTY", 'f'},
{"ISFINITE", 'f'},
{"ISNULL", 'f'},
{"ISNUMERIC", 'f'},
{"IS_FREE_LOCK", 'f'},
{"IS_MEMBER", 'f'},
{"IS_OBJECTSIGNED", 'f'},
{"IS_ROLEMEMBER", 'f'},
{"IS_SRVROLEMEMBER", 'f'},
{"IS_USED_LOCK", 'f'},
{"ITERATE", 'k'},
{"JOIN", 'k'},
{"JULIANDAY", 'f'},
{"JUSTIFY_DAYS", 'f'},
{"JUSTIFY_HOURS", 'f'},
{"JUSTIFY_INTERVAL", 'f'},
{"KEYS", 'k'},
{"KEY_GUID", 'f'},
{"KEY_ID", 'f'},
{"KILL", 'k'},
{"LAG", 'f'},
{"LASTVAL", 'f'},
{"LAST_INSERT_ID", 'f'},
{"LAST_INSERT_ROWID", 'f'},
{"LAST_VALUE", 'f'},
{"LCASE", 'f'},
{"LEAD", 'f'},
{"LEADING", 'k'},
{"LEAST", 'f'},
{"LEAVE", 'k'},
{"LEFT", 'n'},
{"LENGTH", 'f'},
{"LIKE", 'o'},
{"LIMIT", 'k'},
{"LINEAR", 'k'},
{"LINES", 'k'},
{"LN", 'f'},
{"LOAD", 'k'},
{"LOAD_EXTENSION", 'f'},
{"LOAD_FILE", 'f'},
{"LOCALTIME", 'k'},
{"LOCALTIMESTAMP", 'k'},
{"LOCATE", 'f'},
{"LOCK", 'n'},
{"LOG", 'f'},
{"LOG10", 'f'},
{"LOG2", 'f'},
{"LONGBLOB", 'k'},
{"LONGTEXT", 'k'},
{"LOOP", 'k'},
{"LOWER", 'f'},
{"LOWER_INC", 'f'},
{"LOWER_INF", 'f'},
{"LOW_PRIORITY", 'k'},
{"LPAD", 'f'},
{"LTRIM", 'f'},
{"MAKEDATE", 'f'},
{"MAKE_SET", 'f'},
{"MASKLEN", 'f'},
{"MASTER_BIND", 'k'},
{"MASTER_POS_WAIT", 'f'},
{"MASTER_SSL_VERIFY_SERVER_CERT", 'k'},
{"MATCH", 'k'},
{"MAX", 'f'},
{"MAXVALUE", 'k'},
{"MD5", 'f'},
{"MEDIUMBLOB", 'k'},
{"MEDIUMINT", 'k'},
{"MEDIUMTEXT", 'k'},
{"MERGE", 'k'},
{"MICROSECOND", 'f'},
{"MID", 'f'},
{"MIDDLEINT", 'k'},
{"MIN", 'f'},
{"MINUTE", 'f'},
{"MINUTE_MICROSECOND", 'k'},
{"MINUTE_SECOND", 'k'},
{"MKDIR", 'f'},
{"MOD", 'o'},
{"MODE", 'n'},
{"MODIFIES", 'k'},
{"MONTH", 'f'},
{"MONTHNAME", 'f'},
{"NAME_CONST", 'f'},
{"NATURAL", 'n'},
{"NETMASK", 'f'},
{"NEXTVAL", 'f'},
{"NOT", 'o'},
{"NOTNULL", 'k'},
{"NOW", 'f'},
{"NO_WRITE_TO_BINLOG", 'k'},
{"NTH_VALUE", 'f'},
{"NTILE", 'f'},
{"NULL", 'v'},
{"NULLIF", 'f'},
{"NUMERIC", 'k'},
{"NZ", 'f'},
{"OBJECTPROPERTY", 'f'},
{"OBJECTPROPERTYEX", 'f'},
{"OBJECT_DEFINITION", 'f'},
{"OBJECT_ID", 'f'},
{"OBJECT_NAME", 'f'},
{"OBJECT_SCHEMA_NAME", 'f'},
{"OCT", 'f'},
{"OCTET_LENGTH", 'f'},
{"OFFSET", 'k'},
{"OLD_PASSWORD", 'f'},
{"ONE_SHOT", 'k'},
{"OPEN", 'k'},
{"OPENDATASOURCE", 'f'},
{"OPENQUERY", 'f'},
{"OPENROWSET", 'f'},
{"OPENXML", 'f'},
{"OPTIMIZE", 'k'},
{"OPTION", 'k'},
{"OPTIONALLY", 'k'},
{"OR", '&'},
{"ORD", 'f'},
{"ORDER", 'n'},
{"ORIGINAL_DB_NAME", 'f'},
{"ORIGINAL_LOGIN", 'f'},
{"OUT", 'k'},
{"OUTER", 'n'},
{"OUTFILE", 'k'},
{"OVERLAPS", 'f'},
{"OVERLAY", 'f'},
{"OWN3D", 'k'},
{"PARSENAME", 'f'},
{"PARTITION", 'k'},
{"PASSWORD", 'n'},
{"PATHINDEX", 'f'},
{"PATINDEX", 'f'},
{"PERCENTILE_COUNT", 'f'},
{"PERCENTILE_DISC", 'f'},
{"PERCENTILE_RANK", 'f'},
{"PERCENT_RANK", 'f'},
{"PERIOD_ADD", 'f'},
{"PERIOD_DIFF", 'f'},
{"PERMISSIONS", 'f'},
{"PG_ADVISORY_LOCK", 'f'},
{"PG_BACKEND_PID", 'f'},
{"PG_CANCEL_BACKEND", 'f'},
{"PG_CLIENT_ENCODING", 'f'},
{"PG_CONF_LOAD_TIME", 'f'},
{"PG_CREATE_RESTORE_POINT", 'f'},
{"PG_HAS_ROLE", 'f'},
{"PG_IS_IN_RECOVERY", 'f'},
{"PG_IS_OTHER_TEMP_SCHEMA", 'f'},
{"PG_LISTENING_CHANNELS", 'f'},
{"PG_LS_DIR", 'f'},
{"PG_MY_TEMP_SCHEMA", 'f'},
{"PG_POSTMASTER_START_TIME", 'f'},
{"PG_READ_BINARY_FILE", 'f'},
{"PG_READ_FILE", 'f'},
{"PG_RELOAD_CONF", 'f'},
{"PG_ROTATE_LOGFILE", 'f'},
{"PG_SLEEP", 'f'},
{"PG_START_BACKUP", 'f'},
{"PG_STAT_FILE", 'f'},
{"PG_STOP_BACKUP", 'f'},
{"PG_SWITCH_XLOG", 'f'},
{"PG_TERMINATE_BACKEND", 'f'},
{"PG_TRIGGER_DEPTH", 'f'},
{"PI", 'f'},
{"POSITION", 'f'},
{"POW", 'f'},
{"POWER", 'f'},
{"PRECISION", 'k'},
{"PRIMARY", 'k'},
{"PROCEDURE", 'k'},
{"PUBLISHINGSERVERNAME", 'f'},
{"PURGE", 'k'},
{"PWDCOMPARE", 'f'},
{"PWDENCRYPT", 'f'},
{"QUARTER", 'f'},
{"QUOTE", 'f'},
{"QUOTENAME", 'f'},
{"QUOTE_IDENT", 'f'},
{"QUOTE_LITERAL", 'f'},
{"QUOTE_NULLABLE", 'f'},
{"RADIANS", 'f'},
{"RAND", 'f'},
{"RANDOM", 'f'},
{"RANDOMBLOB", 'f'},
{"RANGE", 'k'},
{"RANK", 'f'},
{"READ", 'k'},
{"READS", 'k'},
{"READ_WRITE", 'k'},
{"REAL", 'n'},
{"REFERENCES", 'k'},
{"REGEXP", 'o'},
{"REGEXP_MATCHES", 'f'},
{"REGEXP_REPLACE", 'f'},
{"REGEXP_SPLIT_TO_ARRAY", 'f'},
{"REGEXP_SPLIT_TO_TABLE", 'f'},
{"RELEASE", 'k'},
{"RELEASE_LOCK", 'f'},
{"RENAME", 'k'},
{"REPEAT", 'k'},
{"REPLACE", 'k'},
{"REPLICATE", 'f'},
{"REQUIRE", 'k'},
{"RESIGNAL", 'k'},
{"RESTRICT", 'k'},
{"RETURN", 'k'},
{"REVERSE", 'f'},
{"REVOKE", 'k'},
{"RIGHT", 'n'},
{"RLIKE", 'o'},
{"ROUND", 'f'},
{"ROW", 'f'},
{"ROW_COUNT", 'f'},
{"ROW_NUMBER", 'f'},
{"ROW_TO_JSON", 'f'},
{"RPAD", 'f'},
{"RTRIM", 'f'},
{"SCHAMA_NAME", 'f'},
{"SCHEMA", 'k'},
{"SCHEMAS", 'k'},
{"SCHEMA_ID", 'f'},
{"SCOPE_IDENTITY", 'f'},
{"SECOND_MICROSECOND", 'k'},
{"SEC_TO_TIME", 'f'},
{"SELECT", 'E'},
{"SENSITIVE", 'k'},
{"SEPARATOR", 'k'},
{"SESSION_USER", 'f'},
{"SET", 'E'},
{"SETATTR", 'f'},
{"SETSEED", 'f'},
{"SETVAL", 'f'},
{"SET_BIT", 'f'},
{"SET_BYTE", 'f'},
{"SET_CONFIG", 'f'},
{"SET_MASKLEN", 'f'},
{"SHA", 'f'},
{"SHA1", 'f'},
{"SHA2", 'f'},
{"SHOW", 'n'},
{"SHUTDOWN", 'E'},
{"SIGN", 'f'},
{"SIGNAL", 'k'},
{"SIGNBYASMKEY", 'f'},
{"SIGNBYCERT", 'f'},
{"SIMILAR", 'k'},
{"SIN", 'f'},
{"SLEEP", 'f'},
{"SMALLDATETIMEFROMPARTS", 'f'},
{"SMALLINT", 'k'},
{"SOUNDEX", 'f'},
{"SOUNDS", 'o'},
{"SPACE", 'f'},
{"SPATIAL", 'k'},
{"SPECIFIC", 'k'},
{"SPLIT_PART", 'f'},
{"SQL", 'k'},
{"SQLEXCEPTION", 'k'},
{"SQLSTATE", 'k'},
{"SQLWARNING", 'k'},
{"SQL_BIG_RESULT", 'k'},
{"SQL_CALC_FOUND_ROWS", 'k'},
{"SQL_SMALL_RESULT", 'k'},
{"SQL_VARIANT_PROPERTY", 'f'},
{"SQRT", 'f'},
{"SSL", 'k'},
{"STARTING", 'k'},
{"STATEMENT_TIMESTAMP", 'f'},
{"STATS_DATE", 'f'},
{"STDDEV", 'f'},
{"STDDEV_POP", 'f'},
{"STDDEV_SAMP", 'f'},
{"STRAIGHT_JOIN", 'k'},
{"STRCMP", 'f'},
{"STRCONV", 'f'},
{"STRING_AGG", 'f'},
{"STRING_TO_ARRAY", 'f'},
{"STRPOS", 'f'},
{"STR_TO_DATE", 'f'},
{"STUFF", 'f'},
{"SUBDATE", 'f'},
{"SUBSTR", 'f'},
{"SUBSTRING", 'f'},
{"SUBSTRING_INDEX", 'f'},
{"SUBTIME", 'f'},
{"SUM", 'f'},
{"SUSER_ID", 'f'},
{"SUSER_NAME", 'f'},
{"SUSER_SID", 'f'},
{"SUSER_SNAME", 'f'},
{"SWITCHOFFET", 'f'},
{"SYS.FN_BUILTIN_PERMISSIONS", 'f'},
{"SYS.FN_GET_AUDIT_FILE", 'f'},
{"SYS.FN_MY_PERMISSIONS", 'f'},
{"SYS.STRAGG", 'f'},
{"SYSCOLUMNS", 'k'},
{"SYSDATE", 'f'},
{"SYSDATETIME", 'f'},
{"SYSDATETIMEOFFSET", 'f'},
{"SYSOBJECTS", 'k'},
{"SYSTEM_USER", 'f'},
{"SYSUSERS", 'k'},
{"SYSUTCDATETME", 'f'},
{"TABLE", 'k'},
{"TAN", 'f'},
{"TERMINATED", 'k'},
{"TERTIARY_WEIGHTS", 'f'},
{"TEXTPOS", 'f'},
{"TEXTPTR", 'f'},
{"TEXTVALID", 'f'},
{"THEN", 'k'},
{"TIME", 'k'},
{"TIMEDIFF", 'f'},
{"TIMEFROMPARTS", 'f'},
{"TIMEOFDAY", 'f'},
{"TIMESERIAL", 'f'},
{"TIMESTAMP", 'f'},
{"TIMESTAMPADD", 'f'},
{"TIMEVALUE", 'f'},
{"TIME_FORMAT", 'f'},
{"TIME_TO_SEC", 'f'},
{"TINYBLOB", 'k'},
{"TINYINT", 'k'},
{"TINYTEXT", 'k'},
{"TODATETIMEOFFSET", 'f'},
{"TOP", 'k'},
{"TOTAL", 'f'},
{"TOTAL_CHANGES", 'f'},
{"TO_ASCII", 'f'},
{"TO_CHAR", 'f'},
{"TO_DATE", 'f'},
{"TO_DAYS", 'f'},
{"TO_HEX", 'f'},
{"TO_NUMBER", 'f'},
{"TO_SECONDS", 'f'},
{"TO_TIMESTAMP", 'f'},
{"TRAILING", 'n'},
{"TRANSACTION_TIMESTAMP", 'f'},
{"TRANSLATE", 'f'},
{"TRIGGER", 'k'},
{"TRIGGER_NESTLEVEL", 'f'},
{"TRIM", 'f'},
{"TRUE", '1'},
{"TRUNC", 'f'},
{"TRUNCATE", 'f'},
{"TRY_CAST", 'f'},
{"TRY_CONVERT", 'f'},
{"TRY_PARSE", 'f'},
{"TYPEOF", 'f'},
{"TYPEPROPERTY", 'f'},
{"TYPE_ID", 'f'},
{"TYPE_NAME", 'f'},
{"UCASE", 'f'},
{"UNCOMPRESS", 'f'},
{"UNCOMPRESS_LENGTH", 'f'},
{"UNDO", 'k'},
{"UNHEX", 'f'},
{"UNICODE", 'f'},
{"UNION", 'U'},
{"UNIQUE", 'n'},
{"UNIX_TIMESTAMP", 'f'},
{"UNI_ON", 'U'},
{"UNKNOWN", 'k'},
{"UNLOCK", 'k'},
{"UNNEST", 'f'},
{"UNSIGNED", 'k'},
{"UPDATE", 'E'},
{"UPDATEXML", 'f'},
{"UPPER", 'f'},
{"UPPER_INC", 'f'},
{"UPPER_INF", 'f'},
{"USAGE", 'k'},
{"USE", 'E'},
{"USER_ID", 'n'},
{"USER_LOCK.SLEEP", 'f'},
{"USER_NAME", 'f'},
{"USING", 'f'},
{"UTC_DATE", 'k'},
{"UTC_TIME", 'k'},
{"UTC_TIMESTAMP", 'k'},
{"UTL_INADDR.GET_HOST_ADDRESS", 'f'},
{"UUID", 'f'},
{"UUID_SHORT", 'f'},
{"VALUES", 'k'},
{"VAR", 'f'},
{"VARBINARY", 'k'},
{"VARCHAR", 'k'},
{"VARCHARACTER", 'k'},
{"VARIANCE", 'f'},
{"VARP", 'f'},
{"VARYING", 'k'},
{"VAR_POP", 'f'},
{"VAR_SAMP", 'f'},
{"VERIFYSIGNEDBYASMKEY", 'f'},
{"VERIFYSIGNEDBYCERT", 'f'},
{"VERSION", 'f'},
{"WAITFOR", 'n'},
{"WEEK", 'f'},
{"WEEKDAY", 'f'},
{"WEEKDAYNAME", 'f'},
{"WEEKOFYEAR", 'f'},
{"WHEN", 'k'},
{"WHERE", 'k'},
{"WHILE", 'E'},
{"WIDTH_BUCKET", 'f'},
{"WITH", 'k'},
{"XMLAGG", 'f'},
{"XMLCOMMENT", 'f'},
{"XMLCONCAT", 'f'},
{"XMLELEMENT", 'f'},
{"XMLEXISTS", 'f'},
{"XMLFOREST", 'f'},
{"XMLFORMAT", 'f'},
{"XMLPI", 'f'},
{"XMLROOT", 'f'},
{"XMLTYPE", 'f'},
{"XML_IS_WELL_FORMED", 'f'},
{"XOR", 'o'},
{"XPATH", 'f'},
{"XPATH_EXISTS", 'f'},
{"XP_EXECRESULTSET", 'k'},
{"YEAR", 'f'},
{"YEARWEEK", 'f'},
{"YEAR_MONTH", 'k'},
{"ZEROBLOB", 'f'},
{"ZEROFILL", 'k'},
};
static const size_t sql_keywords_sz = 755;
static const char* multikeywords_start[] = {
"ALTER",
"AT",
"AT TIME",
"CREATE",
"CREATE OR",
"CROSS",
"FULL",
"GROUP",
"IN",
"IN BOOLEAN",
"INTERSECT",
"INTO",
"IS",
"IS DISTINCT",
"IS NOT",
"LEFT",
"LOCK",
"NATURAL",
"NEXT",
"NEXT VALUE",
"NOT",
"NOT SIMILAR",
"ORDER",
"OWN3D",
"READ",
"RIGHT",
"SELECT",
"SIMILAR",
"SOUNDS",
"UNION",
"WAITFOR",
};
static const size_t multikeywords_start_sz = 31;
static const keyword_t multikeywords[] = {
{"ALTER DOMAIN", 'k'},
{"ALTER TABLE", 'k'},
{"AT TIME", 'n'},
{"AT TIME ZONE", 'k'},
{"CREATE OR REPLACE", 'E'},
{"CROSS JOIN", 'k'},
{"FULL OUTER", 'k'},
{"GROUP BY", 'B'},
{"IN BOOLEAN", 'n'},
{"IN BOOLEAN MODE", 'k'},
{"INTERSECT ALL", 'o'},
{"INTO OUTFILE", 'k'},
{"IS DISTINCT", 'n'},
{"IS DISTINCT FROM", 'k'},
{"IS NOT", 'o'},
{"IS NOT DISTINCT", 'n'},
{"IS NOT DISTINCT FROM", 'k'},
{"LEFT JOIN", 'k'},
{"LEFT OUTER", 'k'},
{"LOCK TABLE", 'k'},
{"LOCK TABLES", 'k'},
{"NATURAL FULL", 'k'},
{"NATURAL INNER", 'k'},
{"NATURAL JOIN", 'k'},
{"NATURAL LEFT", 'k'},
{"NATURAL OUTER", 'k'},
{"NATURAL RIGHT", 'k'},
{"NEXT VALUE", 'n'},
{"NEXT VALUE FOR", 'k'},
{"NOT BETWEEN", 'o'},
{"NOT IN", 'o'},
{"NOT LIKE", 'o'},
{"NOT REGEXP", 'o'},
{"NOT RLIKE", 'o'},
{"NOT SIMILAR", 'o'},
{"NOT SIMILAR TO", 'o'},
{"ORDER BY", 'B'},
{"OWN3D BY", 'B'},
{"READ WRITE", 'k'},
{"RIGHT JOIN", 'k'},
{"RIGHT OUTER", 'k'},
{"SELECT ALL", 'E'},
{"SIMILAR TO", 'o'},
{"SOUNDS LIKE", 'o'},
{"UNION ALL", 'U'},
{"WAITFOR DELAY", 'E'},
{"WAITFOR RECEIVE", 'E'},
{"WAITFOR TIME", 'E'},
};
static const size_t multikeywords_sz = 48;
typedef size_t (*pt2Function)(sfilter *sf);
static const pt2Function char_parse_map[] = {
&parse_white, /* 0 */
&parse_white, /* 1 */
&parse_white, /* 2 */
&parse_white, /* 3 */
&parse_white, /* 4 */
&parse_white, /* 5 */
&parse_white, /* 6 */
&parse_white, /* 7 */
&parse_white, /* 8 */
&parse_white, /* 9 */
&parse_white, /* 10 */
&parse_white, /* 11 */
&parse_white, /* 12 */
&parse_white, /* 13 */
&parse_white, /* 14 */
&parse_white, /* 15 */
&parse_white, /* 16 */
&parse_white, /* 17 */
&parse_white, /* 18 */
&parse_white, /* 19 */
&parse_white, /* 20 */
&parse_white, /* 21 */
&parse_white, /* 22 */
&parse_white, /* 23 */
&parse_white, /* 24 */
&parse_white, /* 25 */
&parse_white, /* 26 */
&parse_white, /* 27 */
&parse_white, /* 28 */
&parse_white, /* 29 */
&parse_white, /* 30 */
&parse_white, /* 31 */
&parse_white, /* 32 */
&parse_operator2, /* 33 */
&parse_string, /* 34 */
&parse_eol_comment, /* 35 */
&parse_money, /* 36 */
&parse_operator1, /* 37 */
&parse_operator2, /* 38 */
&parse_string, /* 39 */
&parse_char, /* 40 */
&parse_char, /* 41 */
&parse_operator2, /* 42 */
&parse_operator1, /* 43 */
&parse_char, /* 44 */
&parse_dash, /* 45 */
&parse_number, /* 46 */
&parse_slash, /* 47 */
&parse_number, /* 48 */
&parse_number, /* 49 */
&parse_number, /* 50 */
&parse_number, /* 51 */
&parse_number, /* 52 */
&parse_number, /* 53 */
&parse_number, /* 54 */
&parse_number, /* 55 */
&parse_number, /* 56 */
&parse_number, /* 57 */
&parse_operator2, /* 58 */
&parse_char, /* 59 */
&parse_operator2, /* 60 */
&parse_operator2, /* 61 */
&parse_operator2, /* 62 */
&parse_other, /* 63 */
&parse_var, /* 64 */
&parse_word, /* 65 */
&parse_word, /* 66 */
&parse_word, /* 67 */
&parse_word, /* 68 */
&parse_word, /* 69 */
&parse_word, /* 70 */
&parse_word, /* 71 */
&parse_word, /* 72 */
&parse_word, /* 73 */
&parse_word, /* 74 */
&parse_word, /* 75 */
&parse_word, /* 76 */
&parse_word, /* 77 */
&parse_word, /* 78 */
&parse_word, /* 79 */
&parse_word, /* 80 */
&parse_word, /* 81 */
&parse_word, /* 82 */
&parse_word, /* 83 */
&parse_word, /* 84 */
&parse_word, /* 85 */
&parse_word, /* 86 */
&parse_word, /* 87 */
&parse_word, /* 88 */
&parse_word, /* 89 */
&parse_word, /* 90 */
&parse_other, /* 91 */
&parse_backslash, /* 92 */
&parse_other, /* 93 */
&parse_operator1, /* 94 */
&parse_word, /* 95 */
&parse_tick, /* 96 */
&parse_word, /* 97 */
&parse_word, /* 98 */
&parse_word, /* 99 */
&parse_word, /* 100 */
&parse_word, /* 101 */
&parse_word, /* 102 */
&parse_word, /* 103 */
&parse_word, /* 104 */
&parse_word, /* 105 */
&parse_word, /* 106 */
&parse_word, /* 107 */
&parse_word, /* 108 */
&parse_word, /* 109 */
&parse_word, /* 110 */
&parse_word, /* 111 */
&parse_word, /* 112 */
&parse_word, /* 113 */
&parse_word, /* 114 */
&parse_word, /* 115 */
&parse_word, /* 116 */
&parse_word, /* 117 */
&parse_word, /* 118 */
&parse_word, /* 119 */
&parse_word, /* 120 */
&parse_word, /* 121 */
&parse_word, /* 122 */
&parse_other, /* 123 */
&parse_operator2, /* 124 */
&parse_other, /* 125 */
&parse_operator1, /* 126 */
&parse_white, /* 127 */
};
static const char* sql_fingerprints[] = {
"&1UE1",
"&1UEf",
"&1UEs",
"&1UEv",
"&1of(",
"&1os1",
"&1osf",
"&1oso",
"&1osv",
"&1ovf",
"&1ovo",
"&1ovs",
"&f(((",
"&f(()",
"&f((1",
"&f((f",
"&f((s",
"&f((v",
"&f())",
"&f()o",
"&f(1)",
"&f(1o",
"&f(f(",
"&f(s)",
"&f(so",
"&f(v)",
"&f(vo",
"&sUE1",
"&sUEf",
"&sUEs",
"&sUEv",
"&so1f",
"&so1o",
"&so1s",
"&so1v",
"&sof(",
"&son1",
"&sonf",
"&sos1",
"&sosf",
"&soso",
"&sosv",
"&sovf",
"&sovo",
"&sovs",
"&vUE1",
"&vUEf",
"&vUEs",
"&vUEv",
"&vo1f",
"&vo1o",
"&vo1s",
"&vo1v",
"&vof(",
"&von1",
"&vonf",
"&vos1",
"&vosf",
"&voso",
"&vosv",
"&vovf",
"&vovo",
"&vovs",
"1&(((",
"1&((1",
"1&((E",
"1&((f",
"1&((s",
"1&((v",
"1&(1)",
"1&(1,",
"1&(1o",
"1&(E1",
"1&(Ef",
"1&(Ek",
"1&(En",
"1&(Eo",
"1&(Es",
"1&(Ev",
"1&(f(",
"1&(s)",
"1&(s,",
"1&(so",
"1&(v)",
"1&(v,",
"1&(vo",
"1&1",
"1&1&(",
"1&1&1",
"1&1&f",
"1&1&n",
"1&1&s",
"1&1&v",
"1&1B1",
"1&1Bf",
"1&1Bs",
"1&1Bv",
"1&1En",
"1&1U",
"1&1U(",
"1&1UE",
"1&1Uc",
"1&1c",
"1&1f(",
"1&1k1",
"1&1kf",
"1&1ks",
"1&1kv",
"1&1o(",
"1&1oE",
"1&1of",
"1&1oo",
"1&1os",
"1&1ov",
"1&1so",
"1&1vo",
"1&E((",
"1&E(1",
"1&E(f",
"1&E(o",
"1&E(s",
"1&E(v",
"1&E1k",
"1&E1o",
"1&Ef(",
"1&Ek1",
"1&Ekf",
"1&Eks",
"1&Ekv",
"1&Esk",
"1&Eso",
"1&Evk",
"1&Evo",
"1&f((",
"1&f()",
"1&f(1",
"1&f(f",
"1&f(n",
"1&f(s",
"1&f(v",
"1&k&1",
"1&k&f",
"1&k&s",
"1&k&v",
"1&k1o",
"1&kf(",
"1&knk",
"1&ko(",
"1&ko1",
"1&kof",
"1&kok",
"1&kon",
"1&kos",
"1&kov",
"1&kso",
"1&kvo",
"1&n&1",
"1&n&f",
"1&n&n",
"1&n&s",
"1&n&v",
"1&nc",
"1&nk1",
"1&nkf",
"1&nks",
"1&nkv",
"1&nof",
"1&nos",
"1&nov",
"1&o((",
"1&o(1",
"1&o(f",
"1&o(s",
"1&o(v",
"1&o1",
"1&o1c",
"1&o1o",
"1&of(",
"1&oko",
"1&os",
"1&osc",
"1&oso",
"1&ov",
"1&ovc",
"1&ovo",
"1&s",
"1&s&(",
"1&s&1",
"1&s&f",
"1&s&n",
"1&s&s",
"1&s&v",
"1&s1o",
"1&sB1",
"1&sBf",
"1&sBs",
"1&sBv",
"1&sEn",
"1&sU",
"1&sU(",
"1&sUE",
"1&sUc",
"1&sc",
"1&sf(",
"1&sk1",
"1&skf",
"1&sks",
"1&skv",
"1&so(",
"1&so1",
"1&soE",
"1&sof",
"1&son",
"1&soo",
"1&sos",
"1&sov",
"1&svo",
"1&v",
"1&v&(",
"1&v&1",
"1&v&f",
"1&v&n",
"1&v&s",
"1&v&v",
"1&vB1",
"1&vBf",
"1&vBs",
"1&vBv",
"1&vEn",
"1&vU",
"1&vU(",
"1&vUE",
"1&vUc",
"1&vc",
"1&vf(",
"1&vk1",
"1&vkf",
"1&vks",
"1&vkv",
"1&vo(",
"1&vo1",
"1&voE",
"1&vof",
"1&von",
"1&voo",
"1&vos",
"1&vov",
"1&vso",
"1((((",
"1(((E",
"1(((U",
"1((En",
"1((U(",
"1(Enk",
"1(U((",
"1(U(E",
"1)&((",
"1)&(1",
"1)&(E",
"1)&(f",
"1)&(s",
"1)&(v",
"1)&1",
"1)&1&",
"1)&1B",
"1)&1U",
"1)&1c",
"1)&1f",
"1)&1o",
"1)&f(",
"1)&o(",
"1)&s",
"1)&s&",
"1)&sB",
"1)&sU",
"1)&sc",
"1)&sf",
"1)&so",
"1)&v",
"1)&v&",
"1)&vB",
"1)&vU",
"1)&vc",
"1)&vf",
"1)&vo",
"1))&(",
"1))&1",
"1))&f",
"1))&n",
"1))&o",
"1))&s",
"1))&v",
"1)))&",
"1))))",
"1))),",
"1)));",
"1)))B",
"1)))E",
"1)))U",
"1)))k",
"1)))o",
"1)),(",
"1));E",
"1))B1",
"1))Bf",
"1))Bs",
"1))Bv",
"1))E1",
"1))Ef",
"1))Es",
"1))Ev",
"1))U(",
"1))UE",
"1))k1",
"1))kf",
"1))kn",
"1))ks",
"1))kv",
"1))o(",
"1))o1",
"1))oE",
"1))of",
"1))on",
"1))os",
"1))ov",
"1),((",
"1),(1",
"1),(f",
"1),(s",
"1),(v",
"1);E&",
"1);E(",
"1);E1",
"1);Ef",
"1);Eo",
"1);Es",
"1);Ev",
"1)B1",
"1)B1&",
"1)B1c",
"1)B1o",
"1)Bf(",
"1)Bs",
"1)Bs&",
"1)Bsc",
"1)Bso",
"1)Bv",
"1)Bv&",
"1)Bvc",
"1)Bvo",
"1)E1c",
"1)E1o",
"1)Ef(",
"1)Esc",
"1)Eso",
"1)Evc",
"1)Evo",
"1)U((",
"1)U(E",
"1)UE(",
"1)UE1",
"1)UEf",
"1)UEk",
"1)UEn",
"1)UEs",
"1)UEv",
"1)k1&",
"1)k1;",
"1)k1B",
"1)k1E",
"1)k1U",
"1)k1o",
"1)kf(",
"1)knk",
"1)ks&",
"1)ks;",
"1)ksB",
"1)ksE",
"1)ksU",
"1)kso",
"1)kv&",
"1)kv;",
"1)kvB",
"1)kvE",
"1)kvU",
"1)kvo",
"1)o((",
"1)o(n",
"1)o1",
"1)o1)",
"1)o1U",
"1)o1c",
"1)o1o",
"1)oE(",
"1)of(",
"1)on",
"1)on&",
"1)onc",
"1)os",
"1)os)",
"1)osU",
"1)osc",
"1)oso",
"1)ov",
"1)ov)",
"1)ovU",
"1)ovc",
"1)ovo",
"1,(((",
"1,((E",
"1,((f",
"1,(E(",
"1,(E1",
"1,(Ef",
"1,(Es",
"1,(Ev",
"1,(f(",
"1,1))",
"1,1),",
"1,1)o",
"1,1B1",
"1,1Bf",
"1,1Bs",
"1,1Bv",
"1,1UE",
"1,1of",
"1,1os",
"1,1ov",
"1,f((",
"1,f(1",
"1,f(f",
"1,f(s",
"1,f(v",
"1,s))",
"1,s),",
"1,s)o",
"1,sB1",
"1,sBf",
"1,sBs",
"1,sBv",
"1,sUE",
"1,so1",
"1,sof",
"1,son",
"1,sos",
"1,sov",
"1,v))",
"1,v),",
"1,v)o",
"1,vB1",
"1,vBf",
"1,vBs",
"1,vBv",
"1,vUE",
"1,vo1",
"1,vof",
"1,von",
"1,vos",
"1,vov",
"1:n:1",
"1:n:f",
"1:n:s",
"1:n:v",
"1;E&k",
"1;E((",
"1;E(1",
"1;E(E",
"1;E(f",
"1;E(s",
"1;E(v",
"1;E1,",
"1;E1;",
"1;E1E",
"1;E1c",
"1;E1o",
"1;E;",
"1;E;c",
"1;EEn",
"1;Ef(",
"1;En,",
"1;EnE",
"1;Enc",
"1;Enk",
"1;Eo(",
"1;Es,",
"1;Es;",
"1;EsE",
"1;Esc",
"1;Eso",
"1;Ev,",
"1;Ev;",
"1;EvE",
"1;Evc",
"1;Evo",
"1;n:k",
"1B1",
"1B1&1",
"1B1&f",
"1B1&s",
"1B1&v",
"1B1,1",
"1B1,f",
"1B1,n",
"1B1,s",
"1B1,v",
"1B1UE",
"1B1c",
"1B1k1",
"1B1kf",
"1B1ks",
"1B1kv",
"1B1of",
"1B1os",
"1B1ov",
"1BE((",
"1BE(1",
"1BE(f",
"1BE(s",
"1BE(v",
"1Bf((",
"1Bf(1",
"1Bf(f",
"1Bf(s",
"1Bf(v",
"1Bn,n",
"1Bnk1",
"1Bnkf",
"1Bnks",
"1Bnkv",
"1Bs",
"1Bs&1",
"1Bs&f",
"1Bs&s",
"1Bs&v",
"1Bs,1",
"1Bs,f",
"1Bs,n",
"1Bs,s",
"1Bs,v",
"1BsUE",
"1Bsc",
"1Bsk1",
"1Bskf",
"1Bsks",
"1Bskv",
"1Bso1",
"1Bsof",
"1Bson",
"1Bsos",
"1Bsov",
"1Bv",
"1Bv&1",
"1Bv&f",
"1Bv&s",
"1Bv&v",
"1Bv,1",
"1Bv,f",
"1Bv,n",
"1Bv,s",
"1Bv,v",
"1BvUE",
"1Bvc",
"1Bvk1",
"1Bvkf",
"1Bvks",
"1Bvkv",
"1Bvo1",
"1Bvof",
"1Bvon",
"1Bvos",
"1Bvov",
"1E1c",
"1E1of",
"1E1os",
"1E1ov",
"1EU1,",
"1EU1o",
"1EUEf",
"1EUf(",
"1EUs,",
"1EUso",
"1EUv,",
"1EUvo",
"1Ef((",
"1Ef(1",
"1Ef(f",
"1Ef(s",
"1Ef(v",
"1EnEn",
"1Eokn",
"1Esc",
"1Eso1",
"1Esof",
"1Eson",
"1Esos",
"1Esov",
"1Evc",
"1Evo1",
"1Evof",
"1Evon",
"1Evos",
"1Evov",
"1U",
"1U(((",
"1U((E",
"1U(E(",
"1U(E1",
"1U(Ef",
"1U(En",
"1U(Es",
"1U(Ev",
"1U1,1",
"1U1,f",
"1U1,s",
"1U1,v",
"1U1of",
"1U1os",
"1U1ov",
"1UE",
"1UE((",
"1UE(1",
"1UE(E",
"1UE(f",
"1UE(s",
"1UE(v",
"1UE1",
"1UE1&",
"1UE1,",
"1UE1c",
"1UE1f",
"1UE1k",
"1UE1n",
"1UE1o",
"1UEc",
"1UEf",
"1UEf(",
"1UEf,",
"1UEfc",
"1UEk1",
"1UEkf",
"1UEkn",
"1UEks",
"1UEkv",
"1UEn&",
"1UEn,",
"1UEn1",
"1UEnc",
"1UEnf",
"1UEnk",
"1UEno",
"1UEns",
"1UEok",
"1UEs",
"1UEs&",
"1UEs,",
"1UEsc",
"1UEsf",
"1UEsk",
"1UEsn",
"1UEso",
"1UEv",
"1UEv&",
"1UEv,",
"1UEvc",
"1UEvf",
"1UEvk",
"1UEvn",
"1UEvo",
"1Uc",
"1Uf((",
"1Uf(1",
"1Uf(f",
"1Uf(s",
"1Uf(v",
"1Uk((",
"1Uk(E",
"1Un,1",
"1Un,f",
"1Un,s",
"1Un,v",
"1Un1,",
"1Un1o",
"1UnE1",
"1UnEf",
"1UnEs",
"1UnEv",
"1Unc",
"1Unf(",
"1Uo((",
"1Uo(E",
"1Uon1",
"1Uonf",
"1Us,1",
"1Us,f",
"1Us,s",
"1Us,v",
"1Uso1",
"1Usof",
"1Uson",
"1Usos",
"1Usov",
"1Uv,1",
"1Uv,f",
"1Uv,s",
"1Uv,v",
"1Uvo1",
"1Uvof",
"1Uvon",
"1Uvos",
"1Uvov",
"1c",
"1f(((",
"1f(()",
"1f((1",
"1f((f",
"1f((n",
"1f((s",
"1f((v",
"1f())",
"1f()k",
"1f(1)",
"1f(1o",
"1f(f(",
"1f(n,",
"1f(s)",
"1f(so",
"1f(v)",
"1f(vo",
"1k(((",
"1k((1",
"1k((f",
"1k((s",
"1k((v",
"1k(1)",
"1k(1o",
"1k(f(",
"1k(s)",
"1k(so",
"1k(v)",
"1k(vo",
"1k)&(",
"1k)&1",
"1k)&f",
"1k)&s",
"1k)&v",
"1k))&",
"1k)))",
"1k));",
"1k))B",
"1k))E",
"1k))U",
"1k))k",
"1k))o",
"1k);E",
"1k)B1",
"1k)Bf",
"1k)Bs",
"1k)Bv",
"1k)E1",
"1k)Ef",
"1k)Es",
"1k)Ev",
"1k)UE",
"1k)oE",
"1k1",
"1k1&(",
"1k1&1",
"1k1&f",
"1k1&o",
"1k1&s",
"1k1&v",
"1k1;E",
"1k1B1",
"1k1Bf",
"1k1Bs",
"1k1Bv",
"1k1E1",
"1k1Ef",
"1k1Es",
"1k1Ev",
"1k1U(",
"1k1UE",
"1k1c",
"1k1oE",
"1k1of",
"1k1os",
"1k1ov",
"1kf((",
"1kf(1",
"1kf(f",
"1kf(s",
"1kf(v",
"1knc",
"1ks",
"1ks&(",
"1ks&1",
"1ks&f",
"1ks&o",
"1ks&s",
"1ks&v",
"1ks;E",
"1ksB1",
"1ksBf",
"1ksBs",
"1ksBv",
"1ksE1",
"1ksEf",
"1ksEs",
"1ksEv",
"1ksU(",
"1ksUE",
"1ksc",
"1kso1",
"1ksoE",
"1ksof",
"1kson",
"1ksos",
"1ksov",
"1kv",
"1kv&(",
"1kv&1",
"1kv&f",
"1kv&o",
"1kv&s",
"1kv&v",
"1kv;E",
"1kvB1",
"1kvBf",
"1kvBs",
"1kvBv",
"1kvE1",
"1kvEf",
"1kvEs",
"1kvEv",
"1kvU(",
"1kvUE",
"1kvc",
"1kvo1",
"1kvoE",
"1kvof",
"1kvon",
"1kvos",
"1kvov",
"1n&f(",
"1n)))",
"1n))U",
"1n))n",
"1n)UE",
"1n,f(",
"1n1c",
"1n1of",
"1n1os",
"1n1ov",
"1nE1c",
"1nE1o",
"1nEf(",
"1nEsc",
"1nEso",
"1nEvc",
"1nEvo",
"1nU((",
"1nU(E",
"1nUE1",
"1nUEf",
"1nUEs",
"1nUEv",
"1nf((",
"1nf(1",
"1nf(f",
"1nf(s",
"1nf(v",
"1no((",
"1no(1",
"1no(f",
"1no(s",
"1no(v",
"1nof(",
"1nosU",
"1noso",
"1novU",
"1novo",
"1o(((",
"1o((1",
"1o((E",
"1o((f",
"1o((n",
"1o((o",
"1o((s",
"1o((v",
"1o(1)",
"1o(1o",
"1o(E(",
"1o(E1",
"1o(EE",
"1o(Ef",
"1o(En",
"1o(Es",
"1o(Ev",
"1o(f(",
"1o(n)",
"1o(o1",
"1o(of",
"1o(os",
"1o(ov",
"1o(s)",
"1o(so",
"1o(v)",
"1o(vo",
"1oE((",
"1oE(1",
"1oE(f",
"1oE(s",
"1oE(v",
"1oEUE",
"1oU((",
"1oU(E",
"1of((",
"1of()",
"1of(1",
"1of(f",
"1of(s",
"1of(v",
"1ok&1",
"1ok&f",
"1ok&s",
"1ok&v",
"1ok((",
"1ok(1",
"1ok(f",
"1ok(s",
"1ok(v",
"1ok1c",
"1ok1o",
"1okf(",
"1oko1",
"1okof",
"1okos",
"1okov",
"1oksc",
"1okso",
"1okvc",
"1okvo",
"1os&(",
"1os&1",
"1os&E",
"1os&U",
"1os&f",
"1os&k",
"1os&n",
"1os&o",
"1os&s",
"1os&v",
"1os((",
"1os(E",
"1os(U",
"1os)&",
"1os))",
"1os),",
"1os);",
"1os)B",
"1os)E",
"1os)U",
"1os)k",
"1os)o",
"1os,(",
"1os,1",
"1os,f",
"1os,s",
"1os,v",
"1os1:",
"1os1f",
"1os1o",
"1os1s",
"1os1v",
"1os:n",
"1os;E",
"1os;n",
"1osB1",
"1osBE",
"1osBf",
"1osBn",
"1osBs",
"1osBv",
"1osE1",
"1osEU",
"1osEf",
"1osEn",
"1osEo",
"1osEs",
"1osEv",
"1osU",
"1osU(",
"1osU1",
"1osUE",
"1osUc",
"1osUf",
"1osUk",
"1osUn",
"1osUo",
"1osUs",
"1osUv",
"1osc",
"1osf(",
"1osk(",
"1osk)",
"1osk1",
"1oskf",
"1oskn",
"1osks",
"1oskv",
"1osn&",
"1osn)",
"1osn,",
"1osn1",
"1osnE",
"1osnU",
"1osnf",
"1osno",
"1oso(",
"1oso1",
"1osoE",
"1osoU",
"1osof",
"1osok",
"1oson",
"1osos",
"1osov",
"1osv:",
"1osvf",
"1osvo",
"1osvs",
"1ov",
"1ov&(",
"1ov&1",
"1ov&E",
"1ov&U",
"1ov&f",
"1ov&k",
"1ov&n",
"1ov&o",
"1ov&s",
"1ov&v",
"1ov((",
"1ov(E",
"1ov(U",
"1ov)&",
"1ov))",
"1ov),",
"1ov);",
"1ov)B",
"1ov)E",
"1ov)U",
"1ov)k",
"1ov)o",
"1ov,(",
"1ov,1",
"1ov,f",
"1ov,s",
"1ov,v",
"1ov:n",
"1ov;E",
"1ov;n",
"1ovB1",
"1ovBE",
"1ovBf",
"1ovBn",
"1ovBs",
"1ovBv",
"1ovE1",
"1ovEU",
"1ovEf",
"1ovEn",
"1ovEo",
"1ovEs",
"1ovEv",
"1ovU",
"1ovU(",
"1ovU1",
"1ovUE",
"1ovUc",
"1ovUf",
"1ovUk",
"1ovUn",
"1ovUo",
"1ovUs",
"1ovUv",
"1ovc",
"1ovf(",
"1ovk(",
"1ovk)",
"1ovk1",
"1ovkf",
"1ovkn",
"1ovks",
"1ovkv",
"1ovn&",
"1ovn)",
"1ovn,",
"1ovn1",
"1ovnE",
"1ovnU",
"1ovnf",
"1ovno",
"1ovo(",
"1ovo1",
"1ovoE",
"1ovoU",
"1ovof",
"1ovok",
"1ovon",
"1ovos",
"1ovov",
"1ovs1",
"1ovs:",
"1ovsf",
"1ovso",
"1ovsv",
"1s1",
"1s1c",
"1s1of",
"1s1os",
"1s1ov",
"1s:1:",
"1s:1o",
"1s:f(",
"1s:s:",
"1s:so",
"1s:v:",
"1s:vo",
"1sf((",
"1sf(1",
"1sf(f",
"1sf(s",
"1sf(v",
"1so1f",
"1so1o",
"1so1s",
"1so1v",
"1sof(",
"1son1",
"1sonf",
"1sos1",
"1sosf",
"1soso",
"1sosv",
"1sovf",
"1sovo",
"1sovs",
"1sv",
"1svc",
"1svo1",
"1svof",
"1svon",
"1svos",
"1svov",
"1v:1:",
"1v:1o",
"1v:f(",
"1v:s:",
"1v:so",
"1v:v:",
"1v:vo",
"1vf((",
"1vf(1",
"1vf(f",
"1vf(s",
"1vf(v",
"1vo1f",
"1vo1o",
"1vo1s",
"1vo1v",
"1vof(",
"1von1",
"1vonf",
"1vos1",
"1vosf",
"1voso",
"1vosv",
"1vovf",
"1vovo",
"1vovs",
"1vs",
"1vsc",
"1vso1",
"1vsof",
"1vson",
"1vsos",
"1vsov",
";Eknc",
"E((((",
"E(((1",
"E(((E",
"E(((f",
"E(((n",
"E(((s",
"E(((v",
"E((1)",
"E((1f",
"E((1o",
"E((1s",
"E((1v",
"E((Ek",
"E((f(",
"E((n)",
"E((s)",
"E((s1",
"E((sf",
"E((so",
"E((sv",
"E((v)",
"E((vf",
"E((vo",
"E((vs",
"E(1))",
"E(1),",
"E(1f(",
"E(1of",
"E(1os",
"E(1ov",
"E(1s)",
"E(1so",
"E(1v)",
"E(1vo",
"E(Ek(",
"E(f((",
"E(f(1",
"E(f(f",
"E(f(s",
"E(f(v",
"E(n))",
"E(n),",
"E(s))",
"E(s),",
"E(s1)",
"E(s1o",
"E(sf(",
"E(so1",
"E(sof",
"E(son",
"E(sos",
"E(sov",
"E(sv)",
"E(svo",
"E(v))",
"E(v),",
"E(vf(",
"E(vo1",
"E(vof",
"E(von",
"E(vos",
"E(vov",
"E(vs)",
"E(vso",
"E(vv)",
"E1&((",
"E1&(E",
"E1)",
"E1))",
"E1)))",
"E1))1",
"E1))c",
"E1))f",
"E1))s",
"E1))v",
"E1)c",
"E1,((",
"E1,(1",
"E1,(f",
"E1,(s",
"E1,(v",
"E1,1,",
"E1,1k",
"E1,1o",
"E1,f(",
"E1,n,",
"E1,s,",
"E1,sk",
"E1,so",
"E1,v,",
"E1,vk",
"E1,vo",
"E1f((",
"E1f(1",
"E1f(f",
"E1f(s",
"E1f(v",
"E1k((",
"E1k(E",
"E1k1k",
"E1k1o",
"E1kf(",
"E1knk",
"E1ksk",
"E1kso",
"E1kvk",
"E1kvo",
"E1o((",
"E1o(1",
"E1o(f",
"E1o(s",
"E1o(v",
"E1of(",
"E1os1",
"E1osf",
"E1oso",
"E1osv",
"E1ovf",
"E1ovo",
"E1ovs",
"EE(((",
"EE((f",
"EE(f(",
"Ef(((",
"Ef((1",
"Ef((f",
"Ef((n",
"Ef((o",
"Ef((s",
"Ef((v",
"Ef(1)",
"Ef(1,",
"Ef(1o",
"Ef(f(",
"Ef(n)",
"Ef(n,",
"Ef(o)",
"Ef(s)",
"Ef(s,",
"Ef(so",
"Ef(v)",
"Ef(v,",
"Ef(vo",
"Ek1f(",
"Ek1k1",
"Ek1kf",
"Ek1kn",
"Ek1ks",
"Ek1kv",
"Ek1nk",
"Ek1of",
"Ek1os",
"Ek1ov",
"Ek1sf",
"Ek1sk",
"Ek1so",
"Ek1vf",
"Ek1vk",
"Ek1vo",
"Ekf((",
"Ekf(1",
"Ekf(f",
"Ekf(s",
"Ekf(v",
"Eks1f",
"Eks1k",
"Eks1o",
"Eksf(",
"Eksk1",
"Ekskf",
"Ekskn",
"Eksks",
"Ekskv",
"Eksnk",
"Ekso1",
"Eksof",
"Ekson",
"Eksos",
"Eksov",
"Eksvf",
"Eksvk",
"Eksvo",
"Ekvf(",
"Ekvk1",
"Ekvkf",
"Ekvkn",
"Ekvks",
"Ekvkv",
"Ekvnk",
"Ekvo1",
"Ekvof",
"Ekvon",
"Ekvos",
"Ekvov",
"Ekvsf",
"Ekvsk",
"Ekvso",
"En,f(",
"En,n,",
"Enk((",
"Enk(E",
"Enknk",
"Eo(((",
"Eo((1",
"Eo((f",
"Eo((s",
"Eo((v",
"Eo(1,",
"Eo(1o",
"Eo(f(",
"Eo(s,",
"Eo(so",
"Eo(v,",
"Eo(vo",
"Eok((",
"Eok(E",
"Es&((",
"Es&(E",
"Es)",
"Es))",
"Es)))",
"Es))1",
"Es))c",
"Es))f",
"Es))s",
"Es))v",
"Es)c",
"Es,((",
"Es,(1",
"Es,(f",
"Es,(s",
"Es,(v",
"Es,1,",
"Es,1k",
"Es,1o",
"Es,f(",
"Es,n,",
"Es,s,",
"Es,sk",
"Es,so",
"Es,v,",
"Es,vk",
"Es,vo",
"Esf((",
"Esf(1",
"Esf(f",
"Esf(s",
"Esf(v",
"Esk((",
"Esk(E",
"Esk1k",
"Esk1o",
"Eskf(",
"Esknk",
"Esksk",
"Eskso",
"Eskvk",
"Eskvo",
"Eso((",
"Eso(1",
"Eso(f",
"Eso(s",
"Eso(v",
"Eso1f",
"Eso1o",
"Eso1s",
"Eso1v",
"Esof(",
"Eson1",
"Esonf",
"Esos1",
"Esosf",
"Esoso",
"Esosv",
"Esovf",
"Esovo",
"Esovs",
"Ev&((",
"Ev&(E",
"Ev)",
"Ev))",
"Ev)))",
"Ev))1",
"Ev))c",
"Ev))f",
"Ev))s",
"Ev))v",
"Ev)c",
"Ev,((",
"Ev,(1",
"Ev,(f",
"Ev,(s",
"Ev,(v",
"Ev,1,",
"Ev,1k",
"Ev,1o",
"Ev,f(",
"Ev,n,",
"Ev,s,",
"Ev,sk",
"Ev,so",
"Ev,v,",
"Ev,vk",
"Ev,vo",
"Evf((",
"Evf(1",
"Evf(f",
"Evf(s",
"Evf(v",
"Evk((",
"Evk(E",
"Evk1k",
"Evk1o",
"Evkf(",
"Evknk",
"Evksk",
"Evkso",
"Evkvk",
"Evkvo",
"Evo((",
"Evo(1",
"Evo(f",
"Evo(s",
"Evo(v",
"Evo1f",
"Evo1o",
"Evo1s",
"Evo1v",
"Evof(",
"Evon1",
"Evonf",
"Evos1",
"Evosf",
"Evoso",
"Evosv",
"Evovf",
"Evovo",
"Evovs",
"U((((",
"U(((E",
"U((En",
"U(Enk",
"UE(((",
"UE((1",
"UE((f",
"UE((s",
"UE((v",
"UE(1,",
"UE(1o",
"UE(f(",
"UE(s,",
"UE(so",
"UE(v,",
"UE(vo",
"UE1,1",
"UE1,f",
"UE1,n",
"UE1,s",
"UE1,v",
"UE1of",
"UE1os",
"UE1ov",
"UEf((",
"UEf(1",
"UEf(f",
"UEf(s",
"UEf(v",
"UEnkn",
"UEs,1",
"UEs,f",
"UEs,n",
"UEs,s",
"UEs,v",
"UEso1",
"UEsof",
"UEson",
"UEsos",
"UEsov",
"UEv,1",
"UEv,f",
"UEv,n",
"UEv,s",
"UEv,v",
"UEvo1",
"UEvof",
"UEvon",
"UEvos",
"UEvov",
"Uf(((",
"Uf((1",
"Uf((f",
"Uf((s",
"Uf((v",
"Uf(1)",
"Uf(1o",
"Uf(f(",
"Uf(s)",
"Uf(so",
"Uf(v)",
"Uf(vo",
"f((((",
"f((()",
"f(((1",
"f(((E",
"f(((f",
"f(((k",
"f(((s",
"f(((v",
"f(()&",
"f(())",
"f(()o",
"f((1)",
"f((1,",
"f((1o",
"f((E(",
"f((Ef",
"f((f(",
"f((k(",
"f((k,",
"f((s)",
"f((s,",
"f((so",
"f((v)",
"f((v,",
"f((vo",
"f()&f",
"f())&",
"f()))",
"f())o",
"f()ok",
"f(1)&",
"f(1))",
"f(1),",
"f(1)1",
"f(1):",
"f(1);",
"f(1)B",
"f(1)E",
"f(1)U",
"f(1)c",
"f(1)f",
"f(1)k",
"f(1)n",
"f(1)o",
"f(1)s",
"f(1)v",
"f(1,1",
"f(1,f",
"f(1,n",
"f(1,s",
"f(1,v",
"f(1of",
"f(1os",
"f(1ov",
"f(f((",
"f(f()",
"f(f(1",
"f(f(f",
"f(f(s",
"f(f(v",
"f(k((",
"f(k()",
"f(k,(",
"f(k,f",
"f(s)&",
"f(s))",
"f(s),",
"f(s)1",
"f(s):",
"f(s);",
"f(s)B",
"f(s)E",
"f(s)U",
"f(s)c",
"f(s)f",
"f(s)k",
"f(s)n",
"f(s)o",
"f(s)s",
"f(s)v",
"f(s,1",
"f(s,f",
"f(s,n",
"f(s,s",
"f(s,v",
"f(so1",
"f(sof",
"f(son",
"f(sos",
"f(sov",
"f(v)&",
"f(v))",
"f(v),",
"f(v)1",
"f(v):",
"f(v);",
"f(v)B",
"f(v)E",
"f(v)U",
"f(v)c",
"f(v)f",
"f(v)k",
"f(v)n",
"f(v)o",
"f(v)s",
"f(v)v",
"f(v,1",
"f(v,f",
"f(v,n",
"f(v,s",
"f(v,v",
"f(vo1",
"f(vof",
"f(von",
"f(vos",
"f(vov",
"ff(((",
"ff((1",
"ff((f",
"ff((s",
"ff((v",
"ff(1)",
"ff(1o",
"ff(f(",
"ff(s)",
"ff(so",
"ff(v)",
"ff(vo",
"k1,1c",
"k1,1o",
"k1,f(",
"k1,sc",
"k1,so",
"k1,vc",
"k1,vo",
"k1of(",
"k1os1",
"k1osf",
"k1oso",
"k1osv",
"k1ovf",
"k1ovo",
"k1ovs",
"kf(((",
"kf((1",
"kf((f",
"kf((s",
"kf((v",
"kf(1)",
"kf(1o",
"kf(f(",
"kf(s)",
"kf(so",
"kf(v)",
"kf(vo",
"ks,1c",
"ks,1o",
"ks,f(",
"ks,sc",
"ks,so",
"ks,vc",
"ks,vo",
"kso1f",
"kso1o",
"kso1s",
"kso1v",
"ksof(",
"kson1",
"ksonf",
"ksos1",
"ksosf",
"ksoso",
"ksosv",
"ksovf",
"ksovo",
"ksovs",
"kv,1c",
"kv,1o",
"kv,f(",
"kv,sc",
"kv,so",
"kv,vc",
"kv,vo",
"kvo1f",
"kvo1o",
"kvo1s",
"kvo1v",
"kvof(",
"kvon1",
"kvonf",
"kvos1",
"kvosf",
"kvoso",
"kvosv",
"kvovf",
"kvovo",
"kvovs",
"n&(((",
"n&((1",
"n&((E",
"n&((f",
"n&((o",
"n&((s",
"n&((v",
"n&(1)",
"n&(1,",
"n&(1o",
"n&(E1",
"n&(Ef",
"n&(Es",
"n&(Ev",
"n&(f(",
"n&(o1",
"n&(of",
"n&(os",
"n&(ov",
"n&(s)",
"n&(s,",
"n&(so",
"n&(v)",
"n&(v,",
"n&(vo",
"n&1",
"n&1&n",
"n&1Bf",
"n&1UE",
"n&1c",
"n&1f(",
"n&1o(",
"n&1of",
"n&1oo",
"n&1os",
"n&1ov",
"n&E((",
"n&E(1",
"n&E(f",
"n&E(s",
"n&E(v",
"n&f((",
"n&f(1",
"n&f(f",
"n&f(s",
"n&f(v",
"n&nUE",
"n&nof",
"n&nos",
"n&nov",
"n&o1",
"n&o1c",
"n&o1o",
"n&of(",
"n&os",
"n&osc",
"n&oso",
"n&ov",
"n&ovc",
"n&ovo",
"n&s",
"n&s&n",
"n&sBf",
"n&sUE",
"n&sc",
"n&sf(",
"n&so(",
"n&so1",
"n&sof",
"n&son",
"n&soo",
"n&sos",
"n&sov",
"n&v",
"n&v&n",
"n&vBf",
"n&vUE",
"n&vc",
"n&vf(",
"n&vo(",
"n&vo1",
"n&vof",
"n&von",
"n&voo",
"n&vos",
"n&vov",
"n)&((",
"n)&(E",
"n)&1",
"n)&1&",
"n)&1c",
"n)&1f",
"n)&1o",
"n)&f(",
"n)&s",
"n)&s&",
"n)&sc",
"n)&sf",
"n)&so",
"n)&v",
"n)&v&",
"n)&vc",
"n)&vf",
"n)&vo",
"n))&(",
"n))&1",
"n))&f",
"n))&s",
"n))&v",
"n)))&",
"n))))",
"n)));",
"n)))B",
"n)))E",
"n)))U",
"n)))k",
"n)))o",
"n));E",
"n))B1",
"n))Bf",
"n))Bs",
"n))Bv",
"n))E1",
"n))Ef",
"n))Es",
"n))Ev",
"n))UE",
"n))k1",
"n))kf",
"n))ks",
"n))kv",
"n))o1",
"n))oE",
"n))of",
"n))os",
"n))ov",
"n);E&",
"n);E(",
"n);E1",
"n);Ef",
"n);Eo",
"n);Es",
"n);Ev",
"n)B1c",
"n)B1o",
"n)Bf(",
"n)Bsc",
"n)Bso",
"n)Bvc",
"n)Bvo",
"n)E1c",
"n)E1o",
"n)Ef(",
"n)Esc",
"n)Eso",
"n)Evc",
"n)Evo",
"n)UE1",
"n)UEf",
"n)UEs",
"n)UEv",
"n)k1&",
"n)k1;",
"n)k1B",
"n)k1U",
"n)k1o",
"n)kf(",
"n)ks&",
"n)ks;",
"n)ksB",
"n)ksU",
"n)kso",
"n)kv&",
"n)kv;",
"n)kvB",
"n)kvU",
"n)kvo",
"n)o1&",
"n)o1o",
"n)oE(",
"n)of(",
"n)os&",
"n)oso",
"n)ov&",
"n)ovo",
"n,(((",
"n,((E",
"n,((f",
"n,(E(",
"n,(E1",
"n,(Ef",
"n,(Es",
"n,(Ev",
"n,(f(",
"n,1,1",
"n,1,f",
"n,1,s",
"n,1,v",
"n,1of",
"n,1os",
"n,1ov",
"n,f((",
"n,f(1",
"n,f(f",
"n,f(s",
"n,f(v",
"n,s,1",
"n,s,f",
"n,s,s",
"n,s,v",
"n,so1",
"n,sof",
"n,son",
"n,sos",
"n,sov",
"n,v,1",
"n,v,f",
"n,v,s",
"n,v,v",
"n,vo1",
"n,vof",
"n,von",
"n,vos",
"n,vov",
"n:o1U",
"n:o1o",
"n:of(",
"n:osU",
"n:oso",
"n:ovU",
"n:ovo",
"n;E&k",
"n;E((",
"n;E(1",
"n;E(f",
"n;E(s",
"n;E(v",
"n;E1;",
"n;E1c",
"n;E1o",
"n;Ef(",
"n;Eo(",
"n;Es;",
"n;Esc",
"n;Eso",
"n;Ev;",
"n;Evc",
"n;Evo",
"nB1c",
"nB1of",
"nB1os",
"nB1ov",
"nBf((",
"nBf(1",
"nBf(f",
"nBf(s",
"nBf(v",
"nBsc",
"nBso1",
"nBsof",
"nBson",
"nBsos",
"nBsov",
"nBvc",
"nBvo1",
"nBvof",
"nBvon",
"nBvos",
"nBvov",
"nE1c",
"nE1of",
"nE1os",
"nE1ov",
"nEf((",
"nEf(1",
"nEf(f",
"nEf(s",
"nEf(v",
"nEsc",
"nEso1",
"nEsof",
"nEson",
"nEsos",
"nEsov",
"nEvc",
"nEvo1",
"nEvof",
"nEvon",
"nEvos",
"nEvov",
"nU(((",
"nU((E",
"nU(E1",
"nU(Ef",
"nU(En",
"nU(Es",
"nU(Ev",
"nUE((",
"nUE(E",
"nUE1,",
"nUE1c",
"nUE1o",
"nUEf(",
"nUEn,",
"nUEs,",
"nUEsc",
"nUEso",
"nUEv,",
"nUEvc",
"nUEvo",
"nc",
"nf(((",
"nf((1",
"nf((f",
"nf((s",
"nf((v",
"nf(1)",
"nf(1o",
"nf(f(",
"nf(s)",
"nf(so",
"nf(v)",
"nf(vo",
"nk1&(",
"nk1&1",
"nk1&f",
"nk1&s",
"nk1&v",
"nk1;E",
"nk1B1",
"nk1Bf",
"nk1Bs",
"nk1Bv",
"nk1UE",
"nk1oE",
"nk1of",
"nk1os",
"nk1ov",
"nkf((",
"nkf(1",
"nkf(f",
"nkf(s",
"nkf(v",
"nks&(",
"nks&1",
"nks&f",
"nks&s",
"nks&v",
"nks;E",
"nksB1",
"nksBf",
"nksBs",
"nksBv",
"nksUE",
"nkso1",
"nksoE",
"nksof",
"nkson",
"nksos",
"nksov",
"nkv&(",
"nkv&1",
"nkv&f",
"nkv&s",
"nkv&v",
"nkv;E",
"nkvB1",
"nkvBf",
"nkvBs",
"nkvBv",
"nkvUE",
"nkvo1",
"nkvoE",
"nkvof",
"nkvon",
"nkvos",
"nkvov",
"no(((",
"no((E",
"no(E1",
"no(Ef",
"no(Es",
"no(Ev",
"noE((",
"noE(1",
"noE(f",
"noE(s",
"noE(v",
"nof((",
"nof(1",
"nof(f",
"nof(s",
"nof(v",
"nosUE",
"noso1",
"nosof",
"noson",
"nosos",
"nosov",
"novUE",
"novo1",
"novof",
"novon",
"novos",
"novov",
"oUE1,",
"oUE1o",
"oUEf(",
"oUEs,",
"oUEso",
"oUEv,",
"oUEvo",
"of(((",
"of((1",
"of((f",
"of((s",
"of((v",
"of(1)",
"of(1o",
"of(f(",
"of(s)",
"of(so",
"of(v)",
"of(vo",
"ooE1,",
"ooE1o",
"ooEf(",
"ooEs,",
"ooEso",
"ooEv,",
"ooEvo",
"s&(((",
"s&((1",
"s&((E",
"s&((f",
"s&((s",
"s&((v",
"s&(1)",
"s&(1,",
"s&(1o",
"s&(E1",
"s&(Ef",
"s&(Ek",
"s&(En",
"s&(Eo",
"s&(Es",
"s&(Ev",
"s&(f(",
"s&(s)",
"s&(s,",
"s&(so",
"s&(v)",
"s&(v,",
"s&(vo",
"s&1",
"s&1&(",
"s&1&1",
"s&1&f",
"s&1&n",
"s&1&s",
"s&1&v",
"s&1B1",
"s&1Bf",
"s&1Bs",
"s&1Bv",
"s&1En",
"s&1U",
"s&1U(",
"s&1UE",
"s&1Uc",
"s&1c",
"s&1f(",
"s&1k1",
"s&1kf",
"s&1ks",
"s&1kv",
"s&1o(",
"s&1oE",
"s&1of",
"s&1oo",
"s&1os",
"s&1ov",
"s&1so",
"s&1vo",
"s&E((",
"s&E(1",
"s&E(f",
"s&E(o",
"s&E(s",
"s&E(v",
"s&E1k",
"s&E1o",
"s&Ef(",
"s&Ek1",
"s&Ekf",
"s&Eks",
"s&Ekv",
"s&Esk",
"s&Eso",
"s&Evk",
"s&Evo",
"s&f((",
"s&f()",
"s&f(1",
"s&f(f",
"s&f(n",
"s&f(s",
"s&f(v",
"s&k&1",
"s&k&f",
"s&k&s",
"s&k&v",
"s&k1o",
"s&kf(",
"s&knk",
"s&ko(",
"s&ko1",
"s&kof",
"s&kok",
"s&kon",
"s&kos",
"s&kov",
"s&kso",
"s&kvo",
"s&n",
"s&n&1",
"s&n&f",
"s&n&n",
"s&n&s",
"s&n&v",
"s&nc",
"s&nk1",
"s&nkf",
"s&nks",
"s&nkv",
"s&nof",
"s&nos",
"s&nov",
"s&o((",
"s&o(1",
"s&o(f",
"s&o(s",
"s&o(v",
"s&o1",
"s&o1c",
"s&o1o",
"s&of(",
"s&oko",
"s&os",
"s&osc",
"s&oso",
"s&ov",
"s&ovc",
"s&ovo",
"s&s",
"s&s&(",
"s&s&1",
"s&s&f",
"s&s&n",
"s&s&s",
"s&s&v",
"s&s1o",
"s&sB1",
"s&sBf",
"s&sBs",
"s&sBv",
"s&sEn",
"s&sU",
"s&sU(",
"s&sUE",
"s&sUc",
"s&sc",
"s&sf(",
"s&sk1",
"s&skf",
"s&sks",
"s&skv",
"s&so(",
"s&so1",
"s&soE",
"s&sof",
"s&son",
"s&soo",
"s&sos",
"s&sov",
"s&svo",
"s&v",
"s&v&(",
"s&v&1",
"s&v&f",
"s&v&n",
"s&v&s",
"s&v&v",
"s&vB1",
"s&vBf",
"s&vBs",
"s&vBv",
"s&vEn",
"s&vU",
"s&vU(",
"s&vUE",
"s&vUc",
"s&vc",
"s&vf(",
"s&vk1",
"s&vkf",
"s&vks",
"s&vkv",
"s&vo(",
"s&vo1",
"s&voE",
"s&vof",
"s&von",
"s&voo",
"s&vos",
"s&vov",
"s&vso",
"s((((",
"s(((E",
"s(((U",
"s((En",
"s((U(",
"s(Enk",
"s(U((",
"s(U(E",
"s)&((",
"s)&(1",
"s)&(E",
"s)&(f",
"s)&(s",
"s)&(v",
"s)&1",
"s)&1&",
"s)&1B",
"s)&1U",
"s)&1c",
"s)&1f",
"s)&1o",
"s)&f(",
"s)&o(",
"s)&s",
"s)&s&",
"s)&sB",
"s)&sU",
"s)&sc",
"s)&sf",
"s)&so",
"s)&v",
"s)&v&",
"s)&vB",
"s)&vU",
"s)&vc",
"s)&vf",
"s)&vo",
"s))&(",
"s))&1",
"s))&f",
"s))&n",
"s))&o",
"s))&s",
"s))&v",
"s)))&",
"s))))",
"s))),",
"s)));",
"s)))B",
"s)))E",
"s)))U",
"s)))k",
"s)))o",
"s)),(",
"s));E",
"s))B1",
"s))Bf",
"s))Bs",
"s))Bv",
"s))E1",
"s))Ef",
"s))Es",
"s))Ev",
"s))U(",
"s))UE",
"s))k1",
"s))kf",
"s))kn",
"s))ks",
"s))kv",
"s))o(",
"s))o1",
"s))oE",
"s))of",
"s))on",
"s))os",
"s))ov",
"s),((",
"s),(1",
"s),(f",
"s),(s",
"s),(v",
"s);E&",
"s);E(",
"s);E1",
"s);Ef",
"s);Eo",
"s);Es",
"s);Ev",
"s)B1",
"s)B1&",
"s)B1c",
"s)B1o",
"s)Bf(",
"s)Bs",
"s)Bs&",
"s)Bsc",
"s)Bso",
"s)Bv",
"s)Bv&",
"s)Bvc",
"s)Bvo",
"s)E1c",
"s)E1o",
"s)Ef(",
"s)Esc",
"s)Eso",
"s)Evc",
"s)Evo",
"s)U((",
"s)U(E",
"s)UE(",
"s)UE1",
"s)UEf",
"s)UEk",
"s)UEn",
"s)UEs",
"s)UEv",
"s)k1&",
"s)k1;",
"s)k1B",
"s)k1E",
"s)k1U",
"s)k1o",
"s)kf(",
"s)knk",
"s)ks&",
"s)ks;",
"s)ksB",
"s)ksE",
"s)ksU",
"s)kso",
"s)kv&",
"s)kv;",
"s)kvB",
"s)kvE",
"s)kvU",
"s)kvo",
"s)o((",
"s)o(n",
"s)o1",
"s)o1)",
"s)o1U",
"s)o1c",
"s)o1o",
"s)oE(",
"s)of(",
"s)on",
"s)on&",
"s)onc",
"s)os",
"s)os)",
"s)osU",
"s)osc",
"s)oso",
"s)ov",
"s)ov)",
"s)ovU",
"s)ovc",
"s)ovo",
"s,(((",
"s,((E",
"s,((f",
"s,(E(",
"s,(E1",
"s,(Ef",
"s,(Es",
"s,(Ev",
"s,(f(",
"s,1))",
"s,1),",
"s,1)o",
"s,1B1",
"s,1Bf",
"s,1Bs",
"s,1Bv",
"s,1UE",
"s,1of",
"s,1os",
"s,1ov",
"s,f((",
"s,f(1",
"s,f(f",
"s,f(s",
"s,f(v",
"s,s))",
"s,s),",
"s,s)o",
"s,sB1",
"s,sBf",
"s,sBs",
"s,sBv",
"s,sUE",
"s,so1",
"s,sof",
"s,son",
"s,sos",
"s,sov",
"s,v))",
"s,v),",
"s,v)o",
"s,vB1",
"s,vBf",
"s,vBs",
"s,vBv",
"s,vUE",
"s,vo1",
"s,vof",
"s,von",
"s,vos",
"s,vov",
"s1:1:",
"s1:1o",
"s1:f(",
"s1:s:",
"s1:so",
"s1:v:",
"s1:vo",
"s1f((",
"s1f(1",
"s1f(f",
"s1f(s",
"s1f(v",
"s1of(",
"s1os1",
"s1osf",
"s1oso",
"s1osv",
"s1ovf",
"s1ovo",
"s1ovs",
"s1sc",
"s1so1",
"s1sof",
"s1son",
"s1sos",
"s1sov",
"s1v",
"s1vc",
"s1vo1",
"s1vof",
"s1von",
"s1vos",
"s1vov",
"s:n:1",
"s:n:f",
"s:n:s",
"s:n:v",
"s;E&k",
"s;E((",
"s;E(1",
"s;E(E",
"s;E(f",
"s;E(s",
"s;E(v",
"s;E1,",
"s;E1;",
"s;E1E",
"s;E1c",
"s;E1o",
"s;E;",
"s;E;c",
"s;EEn",
"s;Ef(",
"s;En,",
"s;EnE",
"s;Enc",
"s;Enk",
"s;Eo(",
"s;Es,",
"s;Es;",
"s;EsE",
"s;Esc",
"s;Eso",
"s;Ev,",
"s;Ev;",
"s;EvE",
"s;Evc",
"s;Evo",
"s;n:k",
"sB1",
"sB1&1",
"sB1&f",
"sB1&s",
"sB1&v",
"sB1,1",
"sB1,f",
"sB1,n",
"sB1,s",
"sB1,v",
"sB1UE",
"sB1c",
"sB1k1",
"sB1kf",
"sB1ks",
"sB1kv",
"sB1of",
"sB1os",
"sB1ov",
"sBE((",
"sBE(1",
"sBE(f",
"sBE(s",
"sBE(v",
"sBf((",
"sBf(1",
"sBf(f",
"sBf(s",
"sBf(v",
"sBn,n",
"sBnk1",
"sBnkf",
"sBnks",
"sBnkv",
"sBs",
"sBs&1",
"sBs&f",
"sBs&s",
"sBs&v",
"sBs,1",
"sBs,f",
"sBs,n",
"sBs,s",
"sBs,v",
"sBsUE",
"sBsc",
"sBsk1",
"sBskf",
"sBsks",
"sBskv",
"sBso1",
"sBsof",
"sBson",
"sBsos",
"sBsov",
"sBv",
"sBv&1",
"sBv&f",
"sBv&s",
"sBv&v",
"sBv,1",
"sBv,f",
"sBv,n",
"sBv,s",
"sBv,v",
"sBvUE",
"sBvc",
"sBvk1",
"sBvkf",
"sBvks",
"sBvkv",
"sBvo1",
"sBvof",
"sBvon",
"sBvos",
"sBvov",
"sE1c",
"sE1of",
"sE1os",
"sE1ov",
"sEU1,",
"sEU1o",
"sEUEf",
"sEUf(",
"sEUs,",
"sEUso",
"sEUv,",
"sEUvo",
"sEf((",
"sEf(1",
"sEf(f",
"sEf(s",
"sEf(v",
"sEnEn",
"sEokn",
"sEsc",
"sEso1",
"sEsof",
"sEson",
"sEsos",
"sEsov",
"sEvc",
"sEvo1",
"sEvof",
"sEvon",
"sEvos",
"sEvov",
"sU",
"sU(((",
"sU((E",
"sU(E(",
"sU(E1",
"sU(Ef",
"sU(En",
"sU(Es",
"sU(Ev",
"sU1,1",
"sU1,f",
"sU1,s",
"sU1,v",
"sU1of",
"sU1os",
"sU1ov",
"sUE",
"sUE((",
"sUE(1",
"sUE(E",
"sUE(f",
"sUE(s",
"sUE(v",
"sUE1",
"sUE1&",
"sUE1,",
"sUE1c",
"sUE1f",
"sUE1k",
"sUE1n",
"sUE1o",
"sUEc",
"sUEf",
"sUEf(",
"sUEf,",
"sUEfc",
"sUEk1",
"sUEkf",
"sUEkn",
"sUEks",
"sUEkv",
"sUEn&",
"sUEn,",
"sUEn1",
"sUEnc",
"sUEnf",
"sUEnk",
"sUEno",
"sUEok",
"sUEs",
"sUEs&",
"sUEs,",
"sUEsc",
"sUEsf",
"sUEsk",
"sUEsn",
"sUEso",
"sUEv",
"sUEv&",
"sUEv,",
"sUEvc",
"sUEvf",
"sUEvk",
"sUEvn",
"sUEvo",
"sUc",
"sUf((",
"sUf(1",
"sUf(f",
"sUf(s",
"sUf(v",
"sUk((",
"sUk(E",
"sUn,1",
"sUn,f",
"sUn,s",
"sUn,v",
"sUn1,",
"sUn1o",
"sUnE1",
"sUnEf",
"sUnEs",
"sUnEv",
"sUnc",
"sUnf(",
"sUo((",
"sUo(E",
"sUon1",
"sUonf",
"sUs,1",
"sUs,f",
"sUs,s",
"sUs,v",
"sUso1",
"sUsof",
"sUson",
"sUsos",
"sUsov",
"sUv,1",
"sUv,f",
"sUv,s",
"sUv,v",
"sUvo1",
"sUvof",
"sUvon",
"sUvos",
"sUvov",
"sc",
"sf(((",
"sf(()",
"sf((1",
"sf((f",
"sf((n",
"sf((s",
"sf((v",
"sf())",
"sf()k",
"sf(1)",
"sf(1o",
"sf(f(",
"sf(n,",
"sf(s)",
"sf(so",
"sf(v)",
"sf(vo",
"sk(((",
"sk((1",
"sk((f",
"sk((s",
"sk((v",
"sk(1)",
"sk(1o",
"sk(f(",
"sk(s)",
"sk(so",
"sk(v)",
"sk(vo",
"sk)&(",
"sk)&1",
"sk)&f",
"sk)&s",
"sk)&v",
"sk))&",
"sk)))",
"sk));",
"sk))B",
"sk))E",
"sk))U",
"sk))k",
"sk))o",
"sk);E",
"sk)B1",
"sk)Bf",
"sk)Bs",
"sk)Bv",
"sk)E1",
"sk)Ef",
"sk)Es",
"sk)Ev",
"sk)UE",
"sk)oE",
"sk1",
"sk1&(",
"sk1&1",
"sk1&f",
"sk1&o",
"sk1&s",
"sk1&v",
"sk1;E",
"sk1B1",
"sk1Bf",
"sk1Bs",
"sk1Bv",
"sk1E1",
"sk1Ef",
"sk1Es",
"sk1Ev",
"sk1U(",
"sk1UE",
"sk1c",
"sk1oE",
"sk1of",
"sk1os",
"sk1ov",
"skf((",
"skf(1",
"skf(f",
"skf(s",
"skf(v",
"sknc",
"sks",
"sks&(",
"sks&1",
"sks&f",
"sks&o",
"sks&s",
"sks&v",
"sks;E",
"sksB1",
"sksBf",
"sksBs",
"sksBv",
"sksE1",
"sksEf",
"sksEs",
"sksEv",
"sksU(",
"sksUE",
"sksc",
"skso1",
"sksoE",
"sksof",
"skson",
"sksos",
"sksov",
"skv",
"skv&(",
"skv&1",
"skv&f",
"skv&o",
"skv&s",
"skv&v",
"skv;E",
"skvB1",
"skvBf",
"skvBs",
"skvBv",
"skvE1",
"skvEf",
"skvEs",
"skvEv",
"skvU(",
"skvUE",
"skvc",
"skvo1",
"skvoE",
"skvof",
"skvon",
"skvos",
"skvov",
"sn&f(",
"sn)))",
"sn))U",
"sn))n",
"sn)UE",
"sn,f(",
"sn1",
"sn1c",
"sn1of",
"sn1os",
"sn1ov",
"snE1c",
"snE1o",
"snEf(",
"snEsc",
"snEso",
"snEvc",
"snEvo",
"snU((",
"snU(E",
"snUE1",
"snUEf",
"snUEs",
"snUEv",
"snf((",
"snf(1",
"snf(f",
"snf(s",
"snf(v",
"sno((",
"sno(1",
"sno(f",
"sno(s",
"sno(v",
"snof(",
"snosU",
"snoso",
"snovU",
"snovo",
"so(((",
"so((1",
"so((E",
"so((f",
"so((n",
"so((o",
"so((s",
"so((v",
"so(1)",
"so(1o",
"so(E(",
"so(E1",
"so(EE",
"so(Ef",
"so(En",
"so(Es",
"so(Ev",
"so(f(",
"so(n)",
"so(o1",
"so(of",
"so(os",
"so(ov",
"so(s)",
"so(so",
"so(v)",
"so(vo",
"so1",
"so1&(",
"so1&1",
"so1&E",
"so1&U",
"so1&f",
"so1&k",
"so1&n",
"so1&o",
"so1&s",
"so1&v",
"so1((",
"so1(E",
"so1(U",
"so1)&",
"so1))",
"so1),",
"so1);",
"so1)B",
"so1)E",
"so1)U",
"so1)k",
"so1)o",
"so1,(",
"so1,1",
"so1,f",
"so1,s",
"so1,v",
"so1:n",
"so1;E",
"so1;n",
"so1B1",
"so1BE",
"so1Bf",
"so1Bn",
"so1Bs",
"so1Bv",
"so1E1",
"so1EU",
"so1Ef",
"so1En",
"so1Eo",
"so1Es",
"so1Ev",
"so1U",
"so1U(",
"so1U1",
"so1UE",
"so1Uc",
"so1Uf",
"so1Uk",
"so1Un",
"so1Uo",
"so1Us",
"so1Uv",
"so1c",
"so1f(",
"so1k(",
"so1k)",
"so1k1",
"so1kf",
"so1kn",
"so1ks",
"so1kv",
"so1n&",
"so1n,",
"so1n1",
"so1nE",
"so1nU",
"so1nf",
"so1no",
"so1o(",
"so1oE",
"so1oU",
"so1of",
"so1ok",
"so1os",
"so1ov",
"so1s1",
"so1s:",
"so1sf",
"so1so",
"so1sv",
"so1v:",
"so1vf",
"so1vo",
"so1vs",
"soE((",
"soE(1",
"soE(f",
"soE(s",
"soE(v",
"soEUE",
"soU((",
"soU(E",
"sof((",
"sof()",
"sof(1",
"sof(f",
"sof(s",
"sof(v",
"sok&1",
"sok&f",
"sok&s",
"sok&v",
"sok((",
"sok(1",
"sok(f",
"sok(s",
"sok(v",
"sok1c",
"sok1o",
"sokf(",
"soko1",
"sokof",
"sokos",
"sokov",
"soksc",
"sokso",
"sokvc",
"sokvo",
"son&(",
"son&1",
"son&E",
"son&U",
"son&f",
"son&k",
"son&n",
"son&o",
"son&s",
"son&v",
"son((",
"son(E",
"son(U",
"son)&",
"son))",
"son),",
"son);",
"son)B",
"son)E",
"son)U",
"son)k",
"son)o",
"son,(",
"son,1",
"son,f",
"son,s",
"son,v",
"son1:",
"son1f",
"son1o",
"son1s",
"son1v",
"son:n",
"son;E",
"son;n",
"sonB1",
"sonBE",
"sonBf",
"sonBn",
"sonBs",
"sonBv",
"sonE1",
"sonEU",
"sonEf",
"sonEn",
"sonEo",
"sonEs",
"sonEv",
"sonU",
"sonU(",
"sonU1",
"sonUE",
"sonUc",
"sonUf",
"sonUk",
"sonUn",
"sonUo",
"sonUs",
"sonUv",
"sonc",
"sonf(",
"sonk(",
"sonk)",
"sonk1",
"sonkf",
"sonkn",
"sonks",
"sonkv",
"sono(",
"sonoU",
"sonof",
"sonok",
"sonos",
"sonov",
"sos",
"sos&(",
"sos&1",
"sos&E",
"sos&U",
"sos&f",
"sos&k",
"sos&n",
"sos&o",
"sos&s",
"sos&v",
"sos((",
"sos(E",
"sos(U",
"sos)&",
"sos))",
"sos),",
"sos);",
"sos)B",
"sos)E",
"sos)U",
"sos)k",
"sos)o",
"sos,(",
"sos,1",
"sos,f",
"sos,s",
"sos,v",
"sos1:",
"sos1f",
"sos1o",
"sos1s",
"sos1v",
"sos:n",
"sos;E",
"sos;n",
"sosB1",
"sosBE",
"sosBf",
"sosBn",
"sosBs",
"sosBv",
"sosE1",
"sosEU",
"sosEf",
"sosEn",
"sosEo",
"sosEs",
"sosEv",
"sosU",
"sosU(",
"sosU1",
"sosUE",
"sosUc",
"sosUf",
"sosUk",
"sosUn",
"sosUo",
"sosUs",
"sosUv",
"sosc",
"sosf(",
"sosk(",
"sosk)",
"sosk1",
"soskf",
"soskn",
"sosks",
"soskv",
"sosn&",
"sosn)",
"sosn,",
"sosn1",
"sosnE",
"sosnU",
"sosnf",
"sosno",
"soso(",
"soso1",
"sosoE",
"sosoU",
"sosof",
"sosok",
"soson",
"sosos",
"sosov",
"sosv:",
"sosvf",
"sosvo",
"sosvs",
"sov",
"sov&(",
"sov&1",
"sov&E",
"sov&U",
"sov&f",
"sov&k",
"sov&n",
"sov&o",
"sov&s",
"sov&v",
"sov((",
"sov(E",
"sov(U",
"sov)&",
"sov))",
"sov),",
"sov);",
"sov)B",
"sov)E",
"sov)U",
"sov)k",
"sov)o",
"sov,(",
"sov,1",
"sov,f",
"sov,s",
"sov,v",
"sov:n",
"sov;E",
"sov;n",
"sovB1",
"sovBE",
"sovBf",
"sovBn",
"sovBs",
"sovBv",
"sovE1",
"sovEU",
"sovEf",
"sovEn",
"sovEo",
"sovEs",
"sovEv",
"sovU",
"sovU(",
"sovU1",
"sovUE",
"sovUc",
"sovUf",
"sovUk",
"sovUn",
"sovUo",
"sovUs",
"sovUv",
"sovc",
"sovf(",
"sovk(",
"sovk)",
"sovk1",
"sovkf",
"sovkn",
"sovks",
"sovkv",
"sovn&",
"sovn)",
"sovn,",
"sovn1",
"sovnE",
"sovnU",
"sovnf",
"sovno",
"sovo(",
"sovo1",
"sovoE",
"sovoU",
"sovof",
"sovok",
"sovon",
"sovos",
"sovov",
"sovs1",
"sovs:",
"sovsf",
"sovso",
"sovsv",
"sv:1:",
"sv:1o",
"sv:f(",
"sv:s:",
"sv:so",
"sv:v:",
"sv:vo",
"svf((",
"svf(1",
"svf(f",
"svf(s",
"svf(v",
"svo1f",
"svo1o",
"svo1s",
"svo1v",
"svof(",
"svon1",
"svonf",
"svos1",
"svosf",
"svoso",
"svosv",
"svovf",
"svovo",
"svovs",
"svs",
"svsc",
"svso1",
"svsof",
"svson",
"svsos",
"svsov",
"v&(((",
"v&((1",
"v&((E",
"v&((f",
"v&((s",
"v&((v",
"v&(1)",
"v&(1,",
"v&(1o",
"v&(E1",
"v&(Ef",
"v&(Ek",
"v&(En",
"v&(Eo",
"v&(Es",
"v&(Ev",
"v&(f(",
"v&(s)",
"v&(s,",
"v&(so",
"v&(v)",
"v&(v,",
"v&(vo",
"v&1",
"v&1&(",
"v&1&1",
"v&1&f",
"v&1&n",
"v&1&s",
"v&1&v",
"v&1B1",
"v&1Bf",
"v&1Bs",
"v&1Bv",
"v&1En",
"v&1U",
"v&1U(",
"v&1UE",
"v&1Uc",
"v&1c",
"v&1f(",
"v&1k1",
"v&1kf",
"v&1ks",
"v&1kv",
"v&1o(",
"v&1oE",
"v&1of",
"v&1oo",
"v&1os",
"v&1ov",
"v&1so",
"v&1vo",
"v&E((",
"v&E(1",
"v&E(f",
"v&E(o",
"v&E(s",
"v&E(v",
"v&E1k",
"v&E1o",
"v&Ef(",
"v&Ek1",
"v&Ekf",
"v&Eks",
"v&Ekv",
"v&Esk",
"v&Eso",
"v&Evk",
"v&Evo",
"v&f((",
"v&f()",
"v&f(1",
"v&f(f",
"v&f(n",
"v&f(s",
"v&f(v",
"v&k&1",
"v&k&f",
"v&k&s",
"v&k&v",
"v&k1o",
"v&kf(",
"v&knk",
"v&ko(",
"v&ko1",
"v&kof",
"v&kok",
"v&kon",
"v&kos",
"v&kov",
"v&kso",
"v&kvo",
"v&n",
"v&n&1",
"v&n&f",
"v&n&n",
"v&n&s",
"v&n&v",
"v&nc",
"v&nk1",
"v&nkf",
"v&nks",
"v&nkv",
"v&nof",
"v&nos",
"v&nov",
"v&o((",
"v&o(1",
"v&o(f",
"v&o(s",
"v&o(v",
"v&o1",
"v&o1c",
"v&o1o",
"v&of(",
"v&oko",
"v&os",
"v&osc",
"v&oso",
"v&ov",
"v&ovc",
"v&ovo",
"v&s",
"v&s&(",
"v&s&1",
"v&s&f",
"v&s&n",
"v&s&s",
"v&s&v",
"v&s1o",
"v&sB1",
"v&sBf",
"v&sBs",
"v&sBv",
"v&sEn",
"v&sU",
"v&sU(",
"v&sUE",
"v&sUc",
"v&sc",
"v&sf(",
"v&sk1",
"v&skf",
"v&sks",
"v&skv",
"v&so(",
"v&so1",
"v&soE",
"v&sof",
"v&son",
"v&soo",
"v&sos",
"v&sov",
"v&svo",
"v&v",
"v&v&(",
"v&v&1",
"v&v&f",
"v&v&n",
"v&v&s",
"v&v&v",
"v&vB1",
"v&vBf",
"v&vBs",
"v&vBv",
"v&vEn",
"v&vU",
"v&vU(",
"v&vUE",
"v&vUc",
"v&vc",
"v&vf(",
"v&vk1",
"v&vkf",
"v&vks",
"v&vkv",
"v&vo(",
"v&vo1",
"v&voE",
"v&vof",
"v&von",
"v&voo",
"v&vos",
"v&vov",
"v&vso",
"v((((",
"v(((E",
"v(((U",
"v((En",
"v((U(",
"v(Enk",
"v(U((",
"v(U(E",
"v)&((",
"v)&(1",
"v)&(E",
"v)&(f",
"v)&(s",
"v)&(v",
"v)&1",
"v)&1&",
"v)&1B",
"v)&1U",
"v)&1c",
"v)&1f",
"v)&1o",
"v)&f(",
"v)&o(",
"v)&s",
"v)&s&",
"v)&sB",
"v)&sU",
"v)&sc",
"v)&sf",
"v)&so",
"v)&v",
"v)&v&",
"v)&vB",
"v)&vU",
"v)&vc",
"v)&vf",
"v)&vo",
"v))&(",
"v))&1",
"v))&f",
"v))&n",
"v))&o",
"v))&s",
"v))&v",
"v)))&",
"v))))",
"v))),",
"v)));",
"v)))B",
"v)))E",
"v)))U",
"v)))k",
"v)))o",
"v)),(",
"v));E",
"v))B1",
"v))Bf",
"v))Bs",
"v))Bv",
"v))E1",
"v))Ef",
"v))Es",
"v))Ev",
"v))U(",
"v))UE",
"v))k1",
"v))kf",
"v))kn",
"v))ks",
"v))kv",
"v))o(",
"v))o1",
"v))oE",
"v))of",
"v))on",
"v))os",
"v))ov",
"v),((",
"v),(1",
"v),(f",
"v),(s",
"v),(v",
"v);E&",
"v);E(",
"v);E1",
"v);Ef",
"v);Eo",
"v);Es",
"v);Ev",
"v)B1",
"v)B1&",
"v)B1c",
"v)B1o",
"v)Bf(",
"v)Bs",
"v)Bs&",
"v)Bsc",
"v)Bso",
"v)Bv",
"v)Bv&",
"v)Bvc",
"v)Bvo",
"v)E1c",
"v)E1o",
"v)Ef(",
"v)Esc",
"v)Eso",
"v)Evc",
"v)Evo",
"v)U((",
"v)U(E",
"v)UE(",
"v)UE1",
"v)UEf",
"v)UEk",
"v)UEn",
"v)UEs",
"v)UEv",
"v)k1&",
"v)k1;",
"v)k1B",
"v)k1E",
"v)k1U",
"v)k1o",
"v)kf(",
"v)knk",
"v)ks&",
"v)ks;",
"v)ksB",
"v)ksE",
"v)ksU",
"v)kso",
"v)kv&",
"v)kv;",
"v)kvB",
"v)kvE",
"v)kvU",
"v)kvo",
"v)o((",
"v)o(n",
"v)o1",
"v)o1)",
"v)o1U",
"v)o1c",
"v)o1o",
"v)oE(",
"v)of(",
"v)on",
"v)on&",
"v)onc",
"v)os",
"v)os)",
"v)osU",
"v)osc",
"v)oso",
"v)ov",
"v)ov)",
"v)ovU",
"v)ovc",
"v)ovo",
"v,(((",
"v,((E",
"v,((f",
"v,(E(",
"v,(E1",
"v,(Ef",
"v,(Es",
"v,(Ev",
"v,(f(",
"v,1))",
"v,1),",
"v,1)o",
"v,1B1",
"v,1Bf",
"v,1Bs",
"v,1Bv",
"v,1UE",
"v,1of",
"v,1os",
"v,1ov",
"v,f((",
"v,f(1",
"v,f(f",
"v,f(s",
"v,f(v",
"v,s))",
"v,s),",
"v,s)o",
"v,sB1",
"v,sBf",
"v,sBs",
"v,sBv",
"v,sUE",
"v,so1",
"v,sof",
"v,son",
"v,sos",
"v,sov",
"v,v))",
"v,v),",
"v,v)o",
"v,vB1",
"v,vBf",
"v,vBs",
"v,vBv",
"v,vUE",
"v,vo1",
"v,vof",
"v,von",
"v,vos",
"v,vov",
"v:n:1",
"v:n:f",
"v:n:s",
"v:n:v",
"v;E&k",
"v;E((",
"v;E(1",
"v;E(E",
"v;E(f",
"v;E(s",
"v;E(v",
"v;E1,",
"v;E1;",
"v;E1E",
"v;E1c",
"v;E1o",
"v;E;",
"v;E;c",
"v;EEn",
"v;Ef(",
"v;En,",
"v;EnE",
"v;Enc",
"v;Enk",
"v;Eo(",
"v;Es,",
"v;Es;",
"v;EsE",
"v;Esc",
"v;Eso",
"v;Ev,",
"v;Ev;",
"v;EvE",
"v;Evc",
"v;Evo",
"v;n:k",
"vB1",
"vB1&1",
"vB1&f",
"vB1&s",
"vB1&v",
"vB1,1",
"vB1,f",
"vB1,n",
"vB1,s",
"vB1,v",
"vB1UE",
"vB1c",
"vB1k1",
"vB1kf",
"vB1ks",
"vB1kv",
"vB1of",
"vB1os",
"vB1ov",
"vBE((",
"vBE(1",
"vBE(f",
"vBE(s",
"vBE(v",
"vBf((",
"vBf(1",
"vBf(f",
"vBf(s",
"vBf(v",
"vBn,n",
"vBnk1",
"vBnkf",
"vBnks",
"vBnkv",
"vBs",
"vBs&1",
"vBs&f",
"vBs&s",
"vBs&v",
"vBs,1",
"vBs,f",
"vBs,n",
"vBs,s",
"vBs,v",
"vBsUE",
"vBsc",
"vBsk1",
"vBskf",
"vBsks",
"vBskv",
"vBso1",
"vBsof",
"vBson",
"vBsos",
"vBsov",
"vBv",
"vBv&1",
"vBv&f",
"vBv&s",
"vBv&v",
"vBv,1",
"vBv,f",
"vBv,n",
"vBv,s",
"vBv,v",
"vBvUE",
"vBvc",
"vBvk1",
"vBvkf",
"vBvks",
"vBvkv",
"vBvo1",
"vBvof",
"vBvon",
"vBvos",
"vBvov",
"vE1c",
"vE1of",
"vE1os",
"vE1ov",
"vEU1,",
"vEU1o",
"vEUEf",
"vEUf(",
"vEUs,",
"vEUso",
"vEUv,",
"vEUvo",
"vEf((",
"vEf(1",
"vEf(f",
"vEf(s",
"vEf(v",
"vEnEn",
"vEokn",
"vEsc",
"vEso1",
"vEsof",
"vEson",
"vEsos",
"vEsov",
"vEvc",
"vEvo1",
"vEvof",
"vEvon",
"vEvos",
"vEvov",
"vU",
"vU(((",
"vU((E",
"vU(E(",
"vU(E1",
"vU(Ef",
"vU(En",
"vU(Es",
"vU(Ev",
"vU1,1",
"vU1,f",
"vU1,s",
"vU1,v",
"vU1of",
"vU1os",
"vU1ov",
"vUE",
"vUE((",
"vUE(1",
"vUE(E",
"vUE(f",
"vUE(s",
"vUE(v",
"vUE1",
"vUE1&",
"vUE1,",
"vUE1c",
"vUE1f",
"vUE1k",
"vUE1n",
"vUE1o",
"vUEc",
"vUEf",
"vUEf(",
"vUEf,",
"vUEfc",
"vUEk1",
"vUEkf",
"vUEkn",
"vUEks",
"vUEkv",
"vUEn&",
"vUEn,",
"vUEn1",
"vUEnc",
"vUEnf",
"vUEnk",
"vUEno",
"vUEok",
"vUEs",
"vUEs&",
"vUEs,",
"vUEsc",
"vUEsf",
"vUEsk",
"vUEsn",
"vUEso",
"vUEv",
"vUEv&",
"vUEv,",
"vUEvc",
"vUEvf",
"vUEvk",
"vUEvn",
"vUEvo",
"vUc",
"vUf((",
"vUf(1",
"vUf(f",
"vUf(s",
"vUf(v",
"vUk((",
"vUk(E",
"vUn,1",
"vUn,f",
"vUn,s",
"vUn,v",
"vUn1,",
"vUn1o",
"vUnE1",
"vUnEf",
"vUnEs",
"vUnEv",
"vUnc",
"vUnf(",
"vUo((",
"vUo(E",
"vUon1",
"vUonf",
"vUs,1",
"vUs,f",
"vUs,s",
"vUs,v",
"vUso1",
"vUsof",
"vUson",
"vUsos",
"vUsov",
"vUv,1",
"vUv,f",
"vUv,s",
"vUv,v",
"vUvo1",
"vUvof",
"vUvon",
"vUvos",
"vUvov",
"vc",
"vf(((",
"vf(()",
"vf((1",
"vf((f",
"vf((n",
"vf((s",
"vf((v",
"vf())",
"vf()k",
"vf(1)",
"vf(1o",
"vf(f(",
"vf(n,",
"vf(s)",
"vf(so",
"vf(v)",
"vf(vo",
"vk(((",
"vk((1",
"vk((f",
"vk((s",
"vk((v",
"vk(1)",
"vk(1o",
"vk(f(",
"vk(s)",
"vk(so",
"vk(v)",
"vk(vo",
"vk)&(",
"vk)&1",
"vk)&f",
"vk)&s",
"vk)&v",
"vk))&",
"vk)))",
"vk));",
"vk))B",
"vk))E",
"vk))U",
"vk))k",
"vk))o",
"vk);E",
"vk)B1",
"vk)Bf",
"vk)Bs",
"vk)Bv",
"vk)E1",
"vk)Ef",
"vk)Es",
"vk)Ev",
"vk)UE",
"vk)oE",
"vk1",
"vk1&(",
"vk1&1",
"vk1&f",
"vk1&o",
"vk1&s",
"vk1&v",
"vk1;E",
"vk1B1",
"vk1Bf",
"vk1Bs",
"vk1Bv",
"vk1E1",
"vk1Ef",
"vk1Es",
"vk1Ev",
"vk1U(",
"vk1UE",
"vk1c",
"vk1oE",
"vk1of",
"vk1os",
"vk1ov",
"vkf((",
"vkf(1",
"vkf(f",
"vkf(s",
"vkf(v",
"vknc",
"vks",
"vks&(",
"vks&1",
"vks&f",
"vks&o",
"vks&s",
"vks&v",
"vks;E",
"vksB1",
"vksBf",
"vksBs",
"vksBv",
"vksE1",
"vksEf",
"vksEs",
"vksEv",
"vksU(",
"vksUE",
"vksc",
"vkso1",
"vksoE",
"vksof",
"vkson",
"vksos",
"vksov",
"vkv",
"vkv&(",
"vkv&1",
"vkv&f",
"vkv&o",
"vkv&s",
"vkv&v",
"vkv;E",
"vkvB1",
"vkvBf",
"vkvBs",
"vkvBv",
"vkvE1",
"vkvEf",
"vkvEs",
"vkvEv",
"vkvU(",
"vkvUE",
"vkvc",
"vkvo1",
"vkvoE",
"vkvof",
"vkvon",
"vkvos",
"vkvov",
"vn&f(",
"vn)))",
"vn))U",
"vn))n",
"vn)UE",
"vn,f(",
"vn1",
"vn1c",
"vn1of",
"vn1os",
"vn1ov",
"vnE1c",
"vnE1o",
"vnEf(",
"vnEsc",
"vnEso",
"vnEvc",
"vnEvo",
"vnU((",
"vnU(E",
"vnUE1",
"vnUEf",
"vnUEs",
"vnUEv",
"vnf((",
"vnf(1",
"vnf(f",
"vnf(s",
"vnf(v",
"vno((",
"vno(1",
"vno(f",
"vno(s",
"vno(v",
"vnof(",
"vnosU",
"vnoso",
"vnovU",
"vnovo",
"vo(((",
"vo((1",
"vo((E",
"vo((f",
"vo((n",
"vo((o",
"vo((s",
"vo((v",
"vo(1)",
"vo(1o",
"vo(E(",
"vo(E1",
"vo(EE",
"vo(Ef",
"vo(En",
"vo(Es",
"vo(Ev",
"vo(f(",
"vo(n)",
"vo(o1",
"vo(of",
"vo(os",
"vo(ov",
"vo(s)",
"vo(so",
"vo(v)",
"vo(vo",
"vo1",
"vo1&(",
"vo1&1",
"vo1&E",
"vo1&U",
"vo1&f",
"vo1&k",
"vo1&n",
"vo1&o",
"vo1&s",
"vo1&v",
"vo1((",
"vo1(E",
"vo1(U",
"vo1)&",
"vo1))",
"vo1),",
"vo1);",
"vo1)B",
"vo1)E",
"vo1)U",
"vo1)k",
"vo1)o",
"vo1,(",
"vo1,1",
"vo1,f",
"vo1,s",
"vo1,v",
"vo1:n",
"vo1;E",
"vo1;n",
"vo1B1",
"vo1BE",
"vo1Bf",
"vo1Bn",
"vo1Bs",
"vo1Bv",
"vo1E1",
"vo1EU",
"vo1Ef",
"vo1En",
"vo1Eo",
"vo1Es",
"vo1Ev",
"vo1U",
"vo1U(",
"vo1U1",
"vo1UE",
"vo1Uc",
"vo1Uf",
"vo1Uk",
"vo1Un",
"vo1Uo",
"vo1Us",
"vo1Uv",
"vo1c",
"vo1f(",
"vo1k(",
"vo1k)",
"vo1k1",
"vo1kf",
"vo1kn",
"vo1ks",
"vo1kv",
"vo1n&",
"vo1n)",
"vo1n,",
"vo1n1",
"vo1nE",
"vo1nU",
"vo1nf",
"vo1no",
"vo1o(",
"vo1oE",
"vo1oU",
"vo1of",
"vo1ok",
"vo1os",
"vo1ov",
"vo1s1",
"vo1s:",
"vo1sf",
"vo1so",
"vo1sv",
"vo1v:",
"vo1vf",
"vo1vo",
"vo1vs",
"voE((",
"voE(1",
"voE(f",
"voE(s",
"voE(v",
"voEUE",
"voU((",
"voU(E",
"vof((",
"vof()",
"vof(1",
"vof(f",
"vof(s",
"vof(v",
"vok&1",
"vok&f",
"vok&s",
"vok&v",
"vok((",
"vok(1",
"vok(f",
"vok(s",
"vok(v",
"vok1c",
"vok1o",
"vokf(",
"voko1",
"vokof",
"vokos",
"vokov",
"voksc",
"vokso",
"vokvc",
"vokvo",
"von&(",
"von&1",
"von&E",
"von&U",
"von&f",
"von&k",
"von&n",
"von&o",
"von&s",
"von&v",
"von((",
"von(E",
"von(U",
"von)&",
"von))",
"von),",
"von);",
"von)B",
"von)E",
"von)U",
"von)k",
"von)o",
"von,(",
"von,1",
"von,f",
"von,s",
"von,v",
"von1:",
"von1f",
"von1o",
"von1s",
"von1v",
"von:n",
"von;E",
"von;n",
"vonB1",
"vonBE",
"vonBf",
"vonBn",
"vonBs",
"vonBv",
"vonE1",
"vonEU",
"vonEf",
"vonEn",
"vonEo",
"vonEs",
"vonEv",
"vonU",
"vonU(",
"vonU1",
"vonUE",
"vonUc",
"vonUf",
"vonUk",
"vonUn",
"vonUo",
"vonUs",
"vonUv",
"vonc",
"vonf(",
"vonk(",
"vonk)",
"vonk1",
"vonkf",
"vonkn",
"vonks",
"vonkv",
"vono(",
"vonoE",
"vonoU",
"vonof",
"vonok",
"vonos",
"vonov",
"vos",
"vos&(",
"vos&1",
"vos&E",
"vos&U",
"vos&f",
"vos&k",
"vos&n",
"vos&o",
"vos&s",
"vos&v",
"vos((",
"vos(E",
"vos(U",
"vos)&",
"vos))",
"vos),",
"vos);",
"vos)B",
"vos)E",
"vos)U",
"vos)k",
"vos)o",
"vos,(",
"vos,1",
"vos,f",
"vos,s",
"vos,v",
"vos1:",
"vos1f",
"vos1o",
"vos1s",
"vos1v",
"vos:n",
"vos;E",
"vos;n",
"vosB1",
"vosBE",
"vosBf",
"vosBn",
"vosBs",
"vosBv",
"vosE1",
"vosEU",
"vosEf",
"vosEn",
"vosEo",
"vosEs",
"vosEv",
"vosU",
"vosU(",
"vosU1",
"vosUE",
"vosUc",
"vosUf",
"vosUk",
"vosUn",
"vosUo",
"vosUs",
"vosUv",
"vosc",
"vosf(",
"vosk(",
"vosk)",
"vosk1",
"voskf",
"voskn",
"vosks",
"voskv",
"vosn&",
"vosn)",
"vosn,",
"vosn1",
"vosnE",
"vosnU",
"vosnf",
"vosno",
"voso(",
"voso1",
"vosoE",
"vosoU",
"vosof",
"vosok",
"voson",
"vosos",
"vosov",
"vosv:",
"vosvf",
"vosvo",
"vosvs",
"vov",
"vov&(",
"vov&1",
"vov&E",
"vov&U",
"vov&f",
"vov&k",
"vov&n",
"vov&o",
"vov&s",
"vov&v",
"vov((",
"vov(E",
"vov(U",
"vov)&",
"vov))",
"vov),",
"vov);",
"vov)B",
"vov)E",
"vov)U",
"vov)k",
"vov)o",
"vov,(",
"vov,1",
"vov,f",
"vov,s",
"vov,v",
"vov:n",
"vov;E",
"vov;n",
"vovB1",
"vovBE",
"vovBf",
"vovBn",
"vovBs",
"vovBv",
"vovE1",
"vovEU",
"vovEf",
"vovEn",
"vovEo",
"vovEs",
"vovEv",
"vovU",
"vovU(",
"vovU1",
"vovUE",
"vovUc",
"vovUf",
"vovUk",
"vovUn",
"vovUo",
"vovUs",
"vovUv",
"vovc",
"vovf(",
"vovk(",
"vovk)",
"vovk1",
"vovkf",
"vovkn",
"vovks",
"vovkv",
"vovn&",
"vovn)",
"vovn,",
"vovn1",
"vovnE",
"vovnU",
"vovnf",
"vovno",
"vovo(",
"vovo1",
"vovoE",
"vovoU",
"vovof",
"vovok",
"vovon",
"vovos",
"vovov",
"vovs1",
"vovs:",
"vovsf",
"vovso",
"vovsv",
};
static const size_t sqli_fingerprints_sz = 4719;
#endif