summaryrefslogtreecommitdiffstats
path: root/src/libserver
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2019-07-08 15:22:05 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2019-07-08 15:22:05 +0100
commitc271eb36656a4ff88a9c8c1d59934949260275a3 (patch)
tree3dd586e38b5b37cfebc7c12b6ff6f434904167c7 /src/libserver
parentb266445f47dec06392a7e058f499325fa3c052b9 (diff)
downloadrspamd-c271eb36656a4ff88a9c8c1d59934949260275a3.tar.gz
rspamd-c271eb36656a4ff88a9c8c1d59934949260275a3.zip
[Rework] Add C++ guards to all headers
Diffstat (limited to 'src/libserver')
-rw-r--r--src/libserver/async_session.h41
-rw-r--r--src/libserver/cfg_file.h189
-rw-r--r--src/libserver/cfg_file_private.h8
-rw-r--r--src/libserver/cfg_rcl.h9
-rw-r--r--src/libserver/composites.h8
-rw-r--r--src/libserver/dkim.h90
-rw-r--r--src/libserver/dns.h28
-rw-r--r--src/libserver/dynamic_cfg.h29
-rw-r--r--src/libserver/fuzzy_backend.h45
-rw-r--r--src/libserver/fuzzy_backend_redis.h52
-rw-r--r--src/libserver/fuzzy_backend_sqlite.h25
-rw-r--r--src/libserver/fuzzy_wire.h8
-rw-r--r--src/libserver/html.h28
-rw-r--r--src/libserver/html_colors.h1360
-rw-r--r--src/libserver/html_entities.h4258
-rw-r--r--src/libserver/html_tags.h10
-rw-r--r--src/libserver/milter.h43
-rw-r--r--src/libserver/milter_internal.h63
-rw-r--r--src/libserver/monitored.h33
-rw-r--r--src/libserver/protocol.h38
-rw-r--r--src/libserver/protocol_internal.h8
-rw-r--r--src/libserver/re_cache.h50
-rw-r--r--src/libserver/redis_pool.h19
-rw-r--r--src/libserver/roll_history.h18
-rw-r--r--src/libserver/rspamd_control.h47
-rw-r--r--src/libserver/rspamd_symcache.h83
-rw-r--r--src/libserver/spf.h23
-rw-r--r--src/libserver/task.h200
-rw-r--r--src/libserver/url.h26
-rw-r--r--src/libserver/worker_util.h48
30 files changed, 3601 insertions, 3286 deletions
diff --git a/src/libserver/async_session.h b/src/libserver/async_session.h
index 92454158a..ad79769e9 100644
--- a/src/libserver/async_session.h
+++ b/src/libserver/async_session.h
@@ -19,11 +19,16 @@
#include "config.h"
#include "mem_pool.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct rspamd_async_event;
struct rspamd_async_session;
-typedef void (*event_finalizer_t)(gpointer ud);
-typedef gboolean (*session_finalizer_t)(gpointer user_data);
+typedef void (*event_finalizer_t) (gpointer ud);
+
+typedef gboolean (*session_finalizer_t) (gpointer user_data);
/**
* Make new async session
@@ -34,9 +39,9 @@ typedef gboolean (*session_finalizer_t)(gpointer user_data);
* @param user_data abstract user data
* @return
*/
-struct rspamd_async_session * rspamd_session_create (rspamd_mempool_t *pool,
- session_finalizer_t fin, event_finalizer_t restore,
- event_finalizer_t cleanup, gpointer user_data);
+struct rspamd_async_session *rspamd_session_create (rspamd_mempool_t *pool,
+ session_finalizer_t fin, event_finalizer_t restore,
+ event_finalizer_t cleanup, gpointer user_data);
/**
* Insert new event to the session
@@ -47,12 +52,13 @@ struct rspamd_async_session * rspamd_session_create (rspamd_mempool_t *pool,
*/
struct rspamd_async_event *
rspamd_session_add_event_full (struct rspamd_async_session *session,
- event_finalizer_t fin,
- gpointer user_data,
- const gchar *subsystem,
- const gchar *loc);
+ event_finalizer_t fin,
+ gpointer user_data,
+ const gchar *subsystem,
+ const gchar *loc);
+
#define rspamd_session_add_event(session, fin, user_data, subsystem) \
- rspamd_session_add_event_full(session, fin, user_data, subsystem, G_STRLOC)
+ rspamd_session_add_event_full(session, fin, user_data, subsystem, G_STRLOC)
/**
* Remove normal event
@@ -61,11 +67,12 @@ rspamd_session_add_event_full (struct rspamd_async_session *session,
* @param ud user data object
*/
void rspamd_session_remove_event_full (struct rspamd_async_session *session,
- event_finalizer_t fin,
- gpointer ud,
- const gchar *loc);
+ event_finalizer_t fin,
+ gpointer ud,
+ const gchar *loc);
+
#define rspamd_session_remove_event(session, fin, user_data) \
- rspamd_session_remove_event_full(session, fin, user_data, G_STRLOC)
+ rspamd_session_remove_event_full(session, fin, user_data, G_STRLOC)
/**
* Must be called at the end of session, it calls fin functions for all non-forced callbacks
@@ -83,7 +90,7 @@ void rspamd_session_cleanup (struct rspamd_async_session *session);
* @param session
* @return
*/
-rspamd_mempool_t * rspamd_session_mempool (struct rspamd_async_session *session);
+rspamd_mempool_t *rspamd_session_mempool (struct rspamd_async_session *session);
/**
* Check session for events pending and call fin callback if no events are pending
@@ -107,4 +114,8 @@ guint rspamd_session_events_pending (struct rspamd_async_session *session);
*/
gboolean rspamd_session_blocked (struct rspamd_async_session *s);
+#ifdef __cplusplus
+}
+#endif
+
#endif /*RSPAMD_ASYNC_SESSION_H*/
diff --git a/src/libserver/cfg_file.h b/src/libserver/cfg_file.h
index 5f70ccda8..de00ab128 100644
--- a/src/libserver/cfg_file.h
+++ b/src/libserver/cfg_file.h
@@ -25,7 +25,7 @@
#include "ucl.h"
#include "regexp.h"
#include "libserver/re_cache.h"
-#include "ref.h"
+#include "libutil/ref.h"
#include "libutil/radix.h"
#include "monitored.h"
#include "redis_pool.h"
@@ -36,6 +36,10 @@
/* Default metric name */
#define DEFAULT_METRIC "default"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct expression;
struct tokenizer;
struct rspamd_stat_classifier;
@@ -149,13 +153,13 @@ struct rspamd_statfile_config {
gchar *label; /**< label of this statfile */
ucl_object_t *opts; /**< other options */
gboolean is_spam; /**< spam flag */
- struct rspamd_classifier_config *clcf; /**< parent pointer of classifier configuration */
- gpointer data; /**< opaque data */
+ struct rspamd_classifier_config *clcf; /**< parent pointer of classifier configuration */
+ gpointer data; /**< opaque data */
};
struct rspamd_tokenizer_config {
const ucl_object_t *opts; /**< other options */
- const gchar *name; /**< name of tokenizer */
+ const gchar *name; /**< name of tokenizer */
};
@@ -344,7 +348,7 @@ struct rspamd_config {
gdouble grow_factor; /**< grow factor for metric */
GHashTable *symbols; /**< weights of symbols in metric */
const gchar *subject; /**< subject rewrite string */
- GHashTable * groups; /**< groups of symbols */
+ GHashTable *groups; /**< groups of symbols */
struct rspamd_action *actions; /**< all actions of the metric */
gboolean raw_mode; /**< work in raw mode instead of utf one */
@@ -399,17 +403,17 @@ struct rspamd_config {
ucl_object_t *config_comments; /**< comments saved from the config */
ucl_object_t *doc_strings; /**< documentation strings for config options */
GPtrArray *c_modules; /**< list of C modules */
- GHashTable * composite_symbols; /**< hash of composite symbols indexed by its name */
+ GHashTable *composite_symbols; /**< hash of composite symbols indexed by its name */
GList *classifiers; /**< list of all classifiers defined */
GList *statfiles; /**< list of all statfiles in config file order */
GHashTable *classifiers_symbols; /**< hashtable indexed by symbol name of classifiers */
- GHashTable * cfg_params; /**< all cfg params indexed by its name in this structure */
+ GHashTable *cfg_params; /**< all cfg params indexed by its name in this structure */
gchar *dynamic_conf; /**< path to dynamic configuration */
ucl_object_t *current_dynamic_conf; /**< currently loaded dynamic configuration */
- GHashTable * domain_settings; /**< settings per-domains */
- GHashTable * user_settings; /**< settings per-user */
- gchar * domain_settings_str; /**< string representation of settings */
- gchar * user_settings_str;
+ GHashTable *domain_settings; /**< settings per-domains */
+ GHashTable *user_settings; /**< settings per-user */
+ gchar *domain_settings_str; /**< string representation of settings */
+ gchar *user_settings_str;
gint clock_res; /**< resolution of clock used */
GList *maps; /**< maps active */
@@ -423,16 +427,16 @@ struct rspamd_config {
struct rspamd_symcache *cache; /**< symbols cache object */
gchar *cache_filename; /**< filename of cache file */
gdouble cache_reload_time; /**< how often cache reload should be performed */
- gchar * checksum; /**< real checksum of config file */
- gchar * dump_checksum; /**< dump checksum of config file */
+ gchar *checksum; /**< real checksum of config file */
+ gchar *dump_checksum; /**< dump checksum of config file */
gpointer lua_state; /**< pointer to lua state */
gpointer lua_thread_pool; /**< pointer to lua thread (coroutine) pool */
- gchar * rrd_file; /**< rrd file to store statistics */
- gchar * history_file; /**< file to save rolling history */
- gchar * tld_file; /**< file to load effective tld list from */
- gchar * hs_cache_dir; /**< directory to save hyperscan databases */
- gchar * magic_file; /**< file to initialize libmagic */
+ gchar *rrd_file; /**< rrd file to store statistics */
+ gchar *history_file; /**< file to save rolling history */
+ gchar *tld_file; /**< file to load effective tld list from */
+ gchar *hs_cache_dir; /**< directory to save hyperscan databases */
+ gchar *magic_file; /**< file to initialize libmagic */
gdouble dns_timeout; /**< timeout in milliseconds for waiting for dns reply */
guint32 dns_retransmits; /**< maximum retransmits count */
@@ -443,49 +447,49 @@ struct rspamd_config {
guint32 dns_max_requests; /**< limit of DNS requests per task */
gboolean enable_dnssec; /**< enable dnssec stub resolver */
- guint upstream_max_errors; /**< upstream max errors before shutting off */
- gdouble upstream_error_time; /**< rate of upstream errors */
- gdouble upstream_revive_time; /**< revive timeout for upstreams */
- struct upstream_ctx *ups_ctx; /**< upstream context */
- struct rspamd_dns_resolver *dns_resolver; /**< dns resolver if loaded */
+ guint upstream_max_errors; /**< upstream max errors before shutting off */
+ gdouble upstream_error_time; /**< rate of upstream errors */
+ gdouble upstream_revive_time; /**< revive timeout for upstreams */
+ struct upstream_ctx *ups_ctx; /**< upstream context */
+ struct rspamd_dns_resolver *dns_resolver; /**< dns resolver if loaded */
- guint min_word_len; /**< minimum length of the word to be considered */
- guint max_word_len; /**< maximum length of the word to be considered */
- guint words_decay; /**< limit for words for starting adaptive ignoring */
- guint history_rows; /**< number of history rows stored */
+ guint min_word_len; /**< minimum length of the word to be considered */
+ guint max_word_len; /**< maximum length of the word to be considered */
+ guint words_decay; /**< limit for words for starting adaptive ignoring */
+ guint history_rows; /**< number of history rows stored */
guint max_sessions_cache; /**< maximum number of sessions cache elts */
- guint lua_gc_step; /**< lua gc step */
- guint lua_gc_pause; /**< lua gc pause */
- guint full_gc_iters; /**< iterations between full gc cycle */
+ guint lua_gc_step; /**< lua gc step */
+ guint lua_gc_pause; /**< lua gc pause */
+ guint full_gc_iters; /**< iterations between full gc cycle */
- GList *classify_headers; /**< list of headers using for statistics */
- struct module_s **compiled_modules; /**< list of compiled C modules */
- struct worker_s **compiled_workers; /**< list of compiled C modules */struct rspamd_log_format *log_format; /**< parsed log format */
- gchar *log_format_str; /**< raw log format string */
+ GList *classify_headers; /**< list of headers using for statistics */
+ struct module_s **compiled_modules; /**< list of compiled C modules */
+ struct worker_s **compiled_workers; /**< list of compiled C modules */struct rspamd_log_format *log_format; /**< parsed log format */
+ gchar *log_format_str; /**< raw log format string */
- struct rspamd_external_libs_ctx *libs_ctx; /**< context for external libraries */
- struct rspamd_monitored_ctx *monitored_ctx; /**< context for monitored resources */
- struct rspamd_redis_pool *redis_pool; /**< redis connectiosn pool */
+ struct rspamd_external_libs_ctx *libs_ctx; /**< context for external libraries */
+ struct rspamd_monitored_ctx *monitored_ctx; /**< context for monitored resources */
+ struct rspamd_redis_pool *redis_pool; /**< redis connectiosn pool */
- struct rspamd_re_cache *re_cache; /**< static regexp cache */
+ struct rspamd_re_cache *re_cache; /**< static regexp cache */
- GHashTable *trusted_keys; /**< list of trusted public keys */
+ GHashTable *trusted_keys; /**< list of trusted public keys */
- struct rspamd_config_cfg_lua_script *on_load_scripts; /**< list of scripts executed on workers load */
- struct rspamd_config_cfg_lua_script *post_init_scripts; /**< list of scripts executed on config being fully loaded */
+ struct rspamd_config_cfg_lua_script *on_load_scripts; /**< list of scripts executed on workers load */
+ struct rspamd_config_cfg_lua_script *post_init_scripts; /**< list of scripts executed on config being fully loaded */
struct rspamd_config_cfg_lua_script *on_term_scripts; /**< list of callbacks called on worker's termination */
- struct rspamd_config_cfg_lua_script *config_unload_scripts; /**< list of scripts executed on config unload */
+ struct rspamd_config_cfg_lua_script *config_unload_scripts; /**< list of scripts executed on config unload */
- gchar *ssl_ca_path; /**< path to CA certs */
- gchar *ssl_ciphers; /**< set of preferred ciphers */
- gchar *zstd_input_dictionary; /**< path to zstd input dictionary */
- gchar *zstd_output_dictionary; /**< path to zstd output dictionary */
- ucl_object_t *neighbours; /**< other servers in the cluster */
+ gchar *ssl_ca_path; /**< path to CA certs */
+ gchar *ssl_ciphers; /**< set of preferred ciphers */
+ gchar *zstd_input_dictionary; /**< path to zstd input dictionary */
+ gchar *zstd_output_dictionary; /**< path to zstd output dictionary */
+ ucl_object_t *neighbours; /**< other servers in the cluster */
- struct rspamd_config_settings_elt *setting_ids; /**< preprocessed settings ids */
- struct rspamd_lang_detector *lang_det; /**< language detector */
+ struct rspamd_config_settings_elt *setting_ids; /**< preprocessed settings ids */
+ struct rspamd_lang_detector *lang_det; /**< language detector */
- ref_entry_t ref; /**< reference counter */
+ ref_entry_t ref; /**< reference counter */
};
@@ -497,7 +501,7 @@ struct rspamd_config {
* @return 1 if line was successfully parsed and 0 in case of error
*/
gboolean rspamd_parse_bind_line (struct rspamd_config *cfg,
- struct rspamd_worker_conf *cf, const gchar *str);
+ struct rspamd_worker_conf *cf, const gchar *str);
enum rspamd_config_init_flags {
@@ -505,6 +509,7 @@ enum rspamd_config_init_flags {
RSPAMD_CONFIG_INIT_SKIP_LUA = (1u << 0u),
RSPAMD_CONFIG_INIT_WIPE_LUA_MEM = (1u << 1u),
};
+
/**
* Init default values
* @param cfg config file
@@ -524,9 +529,9 @@ void rspamd_config_free (struct rspamd_config *cfg);
* @param opt_name name of option to get
* @return module value or NULL if option does not defined
*/
-const ucl_object_t * rspamd_config_get_module_opt (struct rspamd_config *cfg,
- const gchar *module_name,
- const gchar *opt_name);
+const ucl_object_t *rspamd_config_get_module_opt (struct rspamd_config *cfg,
+ const gchar *module_name,
+ const gchar *opt_name);
/**
@@ -547,18 +552,18 @@ enum rspamd_post_load_options {
};
#define RSPAMD_CONFIG_LOAD_ALL (RSPAMD_CONFIG_INIT_URL| \
- RSPAMD_CONFIG_INIT_LIBS| \
- RSPAMD_CONFIG_INIT_SYMCACHE| \
- RSPAMD_CONFIG_INIT_VALIDATE| \
- RSPAMD_CONFIG_INIT_PRELOAD_MAPS| \
- RSPAMD_CONFIG_INIT_POST_LOAD_LUA)
+ RSPAMD_CONFIG_INIT_LIBS| \
+ RSPAMD_CONFIG_INIT_SYMCACHE| \
+ RSPAMD_CONFIG_INIT_VALIDATE| \
+ RSPAMD_CONFIG_INIT_PRELOAD_MAPS| \
+ RSPAMD_CONFIG_INIT_POST_LOAD_LUA)
/**
* Do post load actions for config
* @param cfg config file
*/
gboolean rspamd_config_post_load (struct rspamd_config *cfg,
- enum rspamd_post_load_options opts);
+ enum rspamd_post_load_options opts);
/**
* Calculate checksum for config file
@@ -576,20 +581,22 @@ void rspamd_config_unescape_quotes (gchar *line);
/*
* Convert comma separated string to a list of strings
*/
-GList * rspamd_config_parse_comma_list (rspamd_mempool_t *pool,
- const gchar *line);
+GList *rspamd_config_parse_comma_list (rspamd_mempool_t *pool,
+ const gchar *line);
/*
* Return a new classifier_config structure, setting default and non-conflicting attributes
*/
-struct rspamd_classifier_config * rspamd_config_new_classifier (
- struct rspamd_config *cfg,
- struct rspamd_classifier_config *c);
+struct rspamd_classifier_config *rspamd_config_new_classifier (
+ struct rspamd_config *cfg,
+ struct rspamd_classifier_config *c);
+
/*
* Return a new worker_conf structure, setting default and non-conflicting attributes
*/
-struct rspamd_worker_conf * rspamd_config_new_worker (struct rspamd_config *cfg,
- struct rspamd_worker_conf *c);
+struct rspamd_worker_conf *rspamd_config_new_worker (struct rspamd_config *cfg,
+ struct rspamd_worker_conf *c);
+
/*
* Return a new metric structure, setting default and non-conflicting attributes
*/
@@ -598,15 +605,16 @@ void rspamd_config_init_metric (struct rspamd_config *cfg);
/*
* Return new symbols group definition
*/
-struct rspamd_symbols_group * rspamd_config_new_group (
+struct rspamd_symbols_group *rspamd_config_new_group (
struct rspamd_config *cfg,
const gchar *name);
+
/*
* Return a new statfile structure, setting default and non-conflicting attributes
*/
-struct rspamd_statfile_config * rspamd_config_new_statfile (
- struct rspamd_config *cfg,
- struct rspamd_statfile_config *c);
+struct rspamd_statfile_config *rspamd_config_new_statfile (
+ struct rspamd_config *cfg,
+ struct rspamd_statfile_config *c);
/*
* Register symbols of classifiers inside metrics
@@ -621,12 +629,12 @@ gboolean rspamd_config_check_statfiles (struct rspamd_classifier_config *cf);
/*
* Find classifier config by name
*/
-struct rspamd_classifier_config * rspamd_config_find_classifier (
- struct rspamd_config *cfg,
- const gchar *name);
+struct rspamd_classifier_config *rspamd_config_find_classifier (
+ struct rspamd_config *cfg,
+ const gchar *name);
void rspamd_ucl_add_conf_macros (struct ucl_parser *parser,
- struct rspamd_config *cfg);
+ struct rspamd_config *cfg);
void rspamd_ucl_add_conf_variables (struct ucl_parser *parser, GHashTable *vars);
@@ -681,8 +689,8 @@ gboolean rspamd_config_add_symbol_group (struct rspamd_config *cfg,
* @return TRUE if symbol has been inserted or FALSE if action already exists with higher priority
*/
gboolean rspamd_config_set_action_score (struct rspamd_config *cfg,
- const gchar *action_name,
- const ucl_object_t *obj);
+ const gchar *action_name,
+ const ucl_object_t *obj);
/**
* Check priority and maybe disable action completely
@@ -709,7 +717,7 @@ gboolean rspamd_config_maybe_disable_action (struct rspamd_config *cfg,
* @return TRUE if a module is enabled
*/
gboolean rspamd_config_is_module_enabled (struct rspamd_config *cfg,
- const gchar *module_name);
+ const gchar *module_name);
/*
* Get action from a string
@@ -719,8 +727,9 @@ gboolean rspamd_action_from_str (const gchar *data, gint *result);
/*
* Return textual representation of action enumeration
*/
-const gchar * rspamd_action_to_str (enum rspamd_action_type action);
-const gchar * rspamd_action_to_str_alt (enum rspamd_action_type action);
+const gchar *rspamd_action_to_str (enum rspamd_action_type action);
+
+const gchar *rspamd_action_to_str_alt (enum rspamd_action_type action);
/*
* Resort all actions (needed to operate with thresholds)
@@ -736,11 +745,12 @@ void rspamd_actions_sort (struct rspamd_config *cfg);
* @return
*/
struct rspamd_radix_map_helper;
+
gboolean rspamd_config_radix_from_ucl (struct rspamd_config *cfg,
- const ucl_object_t *obj,
- const gchar *description,
- struct rspamd_radix_map_helper **target,
- GError **err);
+ const ucl_object_t *obj,
+ const gchar *description,
+ struct rspamd_radix_map_helper **target,
+ GError **err);
/**
* Adds new settings id to be preprocessed
@@ -789,11 +799,11 @@ struct rspamd_config_settings_elt *rspamd_config_find_settings_name_ref (
* @param name
* @return
*/
-struct rspamd_action * rspamd_config_get_action (struct rspamd_config *cfg,
- const gchar *name);
+struct rspamd_action *rspamd_config_get_action (struct rspamd_config *cfg,
+ const gchar *name);
-struct rspamd_action * rspamd_config_get_action_by_type (struct rspamd_config *cfg,
- enum rspamd_action_type type);
+struct rspamd_action *rspamd_config_get_action_by_type (struct rspamd_config *cfg,
+ enum rspamd_action_type type);
#define msg_err_config(...) rspamd_default_log_function (G_LOG_LEVEL_CRITICAL, \
cfg->cfg_pool->tag.tagname, cfg->checksum, \
@@ -817,5 +827,8 @@ extern guint rspamd_config_log_id;
G_STRFUNC, \
__VA_ARGS__)
+#ifdef __cplusplus
+}
+#endif
#endif /* ifdef CFG_FILE_H */
diff --git a/src/libserver/cfg_file_private.h b/src/libserver/cfg_file_private.h
index 94cb9aa08..8a88f6e3e 100644
--- a/src/libserver/cfg_file_private.h
+++ b/src/libserver/cfg_file_private.h
@@ -22,6 +22,10 @@
#define HASH_CASELESS
#include "uthash_strcase.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* Action config definition
*/
@@ -35,4 +39,8 @@ struct rspamd_action {
struct UT_hash_handle hh; /* Index by name */
};
+#ifdef __cplusplus
+}
+#endif
+
#endif
diff --git a/src/libserver/cfg_rcl.h b/src/libserver/cfg_rcl.h
index 8d957a402..7f97b100d 100644
--- a/src/libserver/cfg_rcl.h
+++ b/src/libserver/cfg_rcl.h
@@ -28,6 +28,10 @@ cfg_rcl_error_quark (void)
return g_quark_from_static_string ("cfg-rcl-error-quark");
}
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct rspamd_rcl_section;
struct rspamd_config;
struct rspamd_rcl_default_handler_data;
@@ -491,4 +495,9 @@ gboolean rspamd_config_read (struct rspamd_config *cfg,
GHashTable *vars,
gboolean skip_jinja,
gchar **lua_env);
+
+#ifdef __cplusplus
+}
+#endif
+
#endif /* CFG_RCL_H_ */
diff --git a/src/libserver/composites.h b/src/libserver/composites.h
index a72effdf2..d9947a7dd 100644
--- a/src/libserver/composites.h
+++ b/src/libserver/composites.h
@@ -18,6 +18,10 @@
#include "config.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct rspamd_task;
/**
@@ -52,4 +56,8 @@ void rspamd_make_composites (struct rspamd_task *task);
enum rspamd_composite_policy rspamd_composite_policy_from_str (const gchar *string);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* SRC_LIBSERVER_COMPOSITES_H_ */
diff --git a/src/libserver/dkim.h b/src/libserver/dkim.h
index 57f761895..adc68403a 100644
--- a/src/libserver/dkim.h
+++ b/src/libserver/dkim.h
@@ -21,6 +21,7 @@
#include "dns.h"
#include "ref.h"
+
/* Main types and definitions */
#define RSPAMD_DKIM_SIGNHEADER "DKIM-Signature"
@@ -80,6 +81,10 @@
#define DKIM_SIGERROR_MISSING_V 44 /* v= tag missing */
#define DKIM_SIGERROR_EMPTY_V 45 /* v= tag empty */
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* Check results */
enum rspamd_dkim_check_rcode {
DKIM_CONTINUE = 0,
@@ -148,8 +153,8 @@ struct rspamd_dkim_check_result {
/* Err MUST be freed if it is not NULL, key is allocated by slice allocator */
-typedef void (*dkim_key_handler_f)(rspamd_dkim_key_t *key, gsize keylen,
- rspamd_dkim_context_t *ctx, gpointer ud, GError *err);
+typedef void (*dkim_key_handler_f) (rspamd_dkim_key_t *key, gsize keylen,
+ rspamd_dkim_context_t *ctx, gpointer ud, GError *err);
/**
* Create new dkim context from signature
@@ -159,11 +164,11 @@ typedef void (*dkim_key_handler_f)(rspamd_dkim_key_t *key, gsize keylen,
* @param err pointer to error object
* @return new context or NULL
*/
-rspamd_dkim_context_t * rspamd_create_dkim_context (const gchar *sig,
- rspamd_mempool_t *pool,
- guint time_jitter,
- enum rspamd_dkim_type type,
- GError **err);
+rspamd_dkim_context_t *rspamd_create_dkim_context (const gchar *sig,
+ rspamd_mempool_t *pool,
+ guint time_jitter,
+ enum rspamd_dkim_type type,
+ GError **err);
/**
* Create new dkim context for making a signature
@@ -172,13 +177,13 @@ rspamd_dkim_context_t * rspamd_create_dkim_context (const gchar *sig,
* @param err
* @return
*/
-rspamd_dkim_sign_context_t * rspamd_create_dkim_sign_context (struct rspamd_task *task,
- rspamd_dkim_sign_key_t *priv_key,
- gint headers_canon,
- gint body_canon,
- const gchar *dkim_headers,
- enum rspamd_dkim_type type,
- GError **err);
+rspamd_dkim_sign_context_t *rspamd_create_dkim_sign_context (struct rspamd_task *task,
+ rspamd_dkim_sign_key_t *priv_key,
+ gint headers_canon,
+ gint body_canon,
+ const gchar *dkim_headers,
+ enum rspamd_dkim_type type,
+ GError **err);
/**
* Load dkim key
@@ -186,9 +191,9 @@ rspamd_dkim_sign_context_t * rspamd_create_dkim_sign_context (struct rspamd_task
* @param err
* @return
*/
-rspamd_dkim_sign_key_t* rspamd_dkim_sign_key_load (const gchar *what, gsize len,
- enum rspamd_dkim_key_format type,
- GError **err);
+rspamd_dkim_sign_key_t *rspamd_dkim_sign_key_load (const gchar *what, gsize len,
+ enum rspamd_dkim_key_format type,
+ GError **err);
/**
* Invalidate modified sign key
@@ -196,7 +201,7 @@ rspamd_dkim_sign_key_t* rspamd_dkim_sign_key_load (const gchar *what, gsize len,
* @return
*/
gboolean rspamd_dkim_sign_key_maybe_invalidate (rspamd_dkim_sign_key_t *key,
- time_t mtime);
+ time_t mtime);
/**
* Make DNS request for specified context and obtain and parse key
@@ -206,9 +211,9 @@ gboolean rspamd_dkim_sign_key_maybe_invalidate (rspamd_dkim_sign_key_t *key,
* @return
*/
gboolean rspamd_get_dkim_key (rspamd_dkim_context_t *ctx,
- struct rspamd_task *task,
- dkim_key_handler_f handler,
- gpointer ud);
+ struct rspamd_task *task,
+ dkim_key_handler_f handler,
+ gpointer ud);
/**
* Check task for dkim context using dkim key
@@ -217,9 +222,9 @@ gboolean rspamd_get_dkim_key (rspamd_dkim_context_t *ctx,
* @param task task to check
* @return
*/
-struct rspamd_dkim_check_result * rspamd_dkim_check (rspamd_dkim_context_t *ctx,
- rspamd_dkim_key_t *key,
- struct rspamd_task *task);
+struct rspamd_dkim_check_result *rspamd_dkim_check (rspamd_dkim_context_t *ctx,
+ rspamd_dkim_key_t *key,
+ struct rspamd_task *task);
struct rspamd_dkim_check_result *
rspamd_dkim_create_result (rspamd_dkim_context_t *ctx,
@@ -235,13 +240,20 @@ GString *rspamd_dkim_sign (struct rspamd_task *task,
const gchar *arc_cv,
rspamd_dkim_sign_context_t *ctx);
-rspamd_dkim_key_t * rspamd_dkim_key_ref (rspamd_dkim_key_t *k);
+rspamd_dkim_key_t *rspamd_dkim_key_ref (rspamd_dkim_key_t *k);
+
void rspamd_dkim_key_unref (rspamd_dkim_key_t *k);
-rspamd_dkim_sign_key_t * rspamd_dkim_sign_key_ref (rspamd_dkim_sign_key_t *k);
+
+rspamd_dkim_sign_key_t *rspamd_dkim_sign_key_ref (rspamd_dkim_sign_key_t *k);
+
void rspamd_dkim_sign_key_unref (rspamd_dkim_sign_key_t *k);
-const gchar* rspamd_dkim_get_domain (rspamd_dkim_context_t *ctx);
-const gchar* rspamd_dkim_get_selector (rspamd_dkim_context_t *ctx);
-const gchar* rspamd_dkim_get_dns_key (rspamd_dkim_context_t *ctx);
+
+const gchar *rspamd_dkim_get_domain (rspamd_dkim_context_t *ctx);
+
+const gchar *rspamd_dkim_get_selector (rspamd_dkim_context_t *ctx);
+
+const gchar *rspamd_dkim_get_dns_key (rspamd_dkim_context_t *ctx);
+
guint rspamd_dkim_key_get_ttl (rspamd_dkim_key_t *k);
/**
@@ -252,9 +264,9 @@ guint rspamd_dkim_key_get_ttl (rspamd_dkim_key_t *k);
* @param err
* @return
*/
-rspamd_dkim_key_t * rspamd_dkim_make_key (const gchar *keydata, guint keylen,
- enum rspamd_dkim_key_type type,
- GError **err);
+rspamd_dkim_key_t *rspamd_dkim_make_key (const gchar *keydata, guint keylen,
+ enum rspamd_dkim_key_type type,
+ GError **err);
/**
* Parse DKIM public key from a TXT record
@@ -263,8 +275,8 @@ rspamd_dkim_key_t * rspamd_dkim_make_key (const gchar *keydata, guint keylen,
* @param err
* @return
*/
-rspamd_dkim_key_t * rspamd_dkim_parse_key (const gchar *txt, gsize *keylen,
- GError **err);
+rspamd_dkim_key_t *rspamd_dkim_parse_key (const gchar *txt, gsize *keylen,
+ GError **err);
/**
* Canonocalise header using relaxed algorithm
@@ -275,9 +287,9 @@ rspamd_dkim_key_t * rspamd_dkim_parse_key (const gchar *txt, gsize *keylen,
* @return
*/
goffset rspamd_dkim_canonize_header_relaxed_str (const gchar *hname,
- const gchar *hvalue,
- gchar *out,
- gsize outlen);
+ const gchar *hvalue,
+ gchar *out,
+ gsize outlen);
/**
* Checks public and private keys for match
@@ -296,4 +308,8 @@ gboolean rspamd_dkim_match_keys (rspamd_dkim_key_t *pk,
*/
void rspamd_dkim_key_free (rspamd_dkim_key_t *key);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* DKIM_H_ */
diff --git a/src/libserver/dns.h b/src/libserver/dns.h
index c744ac42e..a9d822703 100644
--- a/src/libserver/dns.h
+++ b/src/libserver/dns.h
@@ -24,7 +24,12 @@
#include "rdns.h"
#include "upstream.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct rspamd_config;
+struct rspamd_task;
struct rspamd_dns_resolver {
struct rdns_resolver *r;
@@ -40,10 +45,11 @@ struct rspamd_dns_resolver {
/**
* Init DNS resolver, params are obtained from a config file or system file /etc/resolv.conf
*/
-struct rspamd_dns_resolver * rspamd_dns_resolver_init (rspamd_logger_t *logger,
- struct ev_loop *ev_base, struct rspamd_config *cfg);
+struct rspamd_dns_resolver *rspamd_dns_resolver_init (rspamd_logger_t *logger,
+ struct ev_loop *ev_base, struct rspamd_config *cfg);
struct rspamd_dns_request_ud;
+
/**
* Make a DNS request
* @param resolver resolver object
@@ -55,13 +61,13 @@ struct rspamd_dns_request_ud;
* @param ... string or ip address based on a request type
* @return TRUE if request was sent.
*/
-struct rspamd_dns_request_ud * rspamd_dns_resolver_request (struct rspamd_dns_resolver *resolver,
- struct rspamd_async_session *session,
- rspamd_mempool_t *pool,
- dns_callback_type cb,
- gpointer ud,
- enum rdns_request_type type,
- const char *name);
+struct rspamd_dns_request_ud *rspamd_dns_resolver_request (struct rspamd_dns_resolver *resolver,
+ struct rspamd_async_session *session,
+ rspamd_mempool_t *pool,
+ dns_callback_type cb,
+ gpointer ud,
+ enum rdns_request_type type,
+ const char *name);
gboolean rspamd_dns_resolver_request_task (struct rspamd_task *task,
dns_callback_type cb,
@@ -75,4 +81,8 @@ gboolean rspamd_dns_resolver_request_task_forced (struct rspamd_task *task,
enum rdns_request_type type,
const char *name);
+#ifdef __cplusplus
+}
+#endif
+
#endif
diff --git a/src/libserver/dynamic_cfg.h b/src/libserver/dynamic_cfg.h
index ebbc8b650..938fbb074 100644
--- a/src/libserver/dynamic_cfg.h
+++ b/src/libserver/dynamic_cfg.h
@@ -19,6 +19,11 @@
#include "config.h"
#include "cfg_file.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* Init dynamic configuration using map logic and specific configuration
* @param cfg config file
@@ -41,13 +46,13 @@ gboolean dump_dynamic_config (struct rspamd_config *cfg);
* @return
*/
gboolean add_dynamic_symbol (struct rspamd_config *cfg,
- const gchar *metric,
- const gchar *symbol,
- gdouble value);
+ const gchar *metric,
+ const gchar *symbol,
+ gdouble value);
gboolean remove_dynamic_symbol (struct rspamd_config *cfg,
- const gchar *metric,
- const gchar *symbol);
+ const gchar *metric,
+ const gchar *symbol);
/**
* Add action for specified metric
@@ -58,15 +63,19 @@ gboolean remove_dynamic_symbol (struct rspamd_config *cfg,
* @return
*/
gboolean add_dynamic_action (struct rspamd_config *cfg,
- const gchar *metric,
- guint action,
- gdouble value);
+ const gchar *metric,
+ guint action,
+ gdouble value);
/**
* Removes dynamic action
*/
gboolean remove_dynamic_action (struct rspamd_config *cfg,
- const gchar *metric,
- guint action);
+ const gchar *metric,
+ guint action);
+
+#ifdef __cplusplus
+}
+#endif
#endif /* DYNAMIC_CFG_H_ */
diff --git a/src/libserver/fuzzy_backend.h b/src/libserver/fuzzy_backend.h
index 1519761e0..23b9b68ef 100644
--- a/src/libserver/fuzzy_backend.h
+++ b/src/libserver/fuzzy_backend.h
@@ -20,6 +20,10 @@
#include "contrib/libev/ev.h"
#include "fuzzy_wire.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct rspamd_fuzzy_backend;
struct rspamd_config;
@@ -27,14 +31,18 @@ struct rspamd_config;
* Callbacks for fuzzy methods
*/
typedef void (*rspamd_fuzzy_check_cb) (struct rspamd_fuzzy_reply *rep, void *ud);
+
typedef void (*rspamd_fuzzy_update_cb) (gboolean success,
guint nadded,
guint ndeleted,
guint nextended,
guint nignored,
void *ud);
+
typedef void (*rspamd_fuzzy_version_cb) (guint64 rev, void *ud);
+
typedef void (*rspamd_fuzzy_count_cb) (guint64 count, void *ud);
+
typedef gboolean (*rspamd_fuzzy_periodic_cb) (void *ud);
/**
@@ -44,10 +52,10 @@ typedef gboolean (*rspamd_fuzzy_periodic_cb) (void *ud);
* @param err
* @return
*/
-struct rspamd_fuzzy_backend * rspamd_fuzzy_backend_create (struct ev_loop *ev_base,
- const ucl_object_t *config,
- struct rspamd_config *cfg,
- GError **err);
+struct rspamd_fuzzy_backend *rspamd_fuzzy_backend_create (struct ev_loop *ev_base,
+ const ucl_object_t *config,
+ struct rspamd_config *cfg,
+ GError **err);
/**
@@ -57,8 +65,8 @@ struct rspamd_fuzzy_backend * rspamd_fuzzy_backend_create (struct ev_loop *ev_ba
* @param ud
*/
void rspamd_fuzzy_backend_check (struct rspamd_fuzzy_backend *bk,
- const struct rspamd_fuzzy_cmd *cmd,
- rspamd_fuzzy_check_cb cb, void *ud);
+ const struct rspamd_fuzzy_cmd *cmd,
+ rspamd_fuzzy_check_cb cb, void *ud);
/**
* Process updates for a specific queue
@@ -67,8 +75,8 @@ void rspamd_fuzzy_backend_check (struct rspamd_fuzzy_backend *bk,
* @param src
*/
void rspamd_fuzzy_backend_process_updates (struct rspamd_fuzzy_backend *bk,
- GArray *updates, const gchar *src, rspamd_fuzzy_update_cb cb,
- void *ud);
+ GArray *updates, const gchar *src, rspamd_fuzzy_update_cb cb,
+ void *ud);
/**
* Gets number of hashes from the backend
@@ -77,7 +85,7 @@ void rspamd_fuzzy_backend_process_updates (struct rspamd_fuzzy_backend *bk,
* @param ud
*/
void rspamd_fuzzy_backend_count (struct rspamd_fuzzy_backend *bk,
- rspamd_fuzzy_count_cb cb, void *ud);
+ rspamd_fuzzy_count_cb cb, void *ud);
/**
* Returns number of revision for a specific source
@@ -87,26 +95,27 @@ void rspamd_fuzzy_backend_count (struct rspamd_fuzzy_backend *bk,
* @param ud
*/
void rspamd_fuzzy_backend_version (struct rspamd_fuzzy_backend *bk,
- const gchar *src,
- rspamd_fuzzy_version_cb cb, void *ud);
+ const gchar *src,
+ rspamd_fuzzy_version_cb cb, void *ud);
/**
* Returns unique id for backend
* @param backend
* @return
*/
-const gchar * rspamd_fuzzy_backend_id (struct rspamd_fuzzy_backend *backend);
+const gchar *rspamd_fuzzy_backend_id (struct rspamd_fuzzy_backend *backend);
/**
* Starts expire process for the backend
* @param backend
*/
void rspamd_fuzzy_backend_start_update (struct rspamd_fuzzy_backend *backend,
- gdouble timeout,
- rspamd_fuzzy_periodic_cb cb,
- void *ud);
+ gdouble timeout,
+ rspamd_fuzzy_periodic_cb cb,
+ void *ud);
+
+struct ev_loop *rspamd_fuzzy_backend_event_base (struct rspamd_fuzzy_backend *backend);
-struct ev_loop* rspamd_fuzzy_backend_event_base (struct rspamd_fuzzy_backend *backend);
gdouble rspamd_fuzzy_backend_get_expire (struct rspamd_fuzzy_backend *backend);
/**
@@ -115,4 +124,8 @@ gdouble rspamd_fuzzy_backend_get_expire (struct rspamd_fuzzy_backend *backend);
*/
void rspamd_fuzzy_backend_close (struct rspamd_fuzzy_backend *backend);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* SRC_LIBSERVER_FUZZY_BACKEND_H_ */
diff --git a/src/libserver/fuzzy_backend_redis.h b/src/libserver/fuzzy_backend_redis.h
index b10ac332d..544b20f60 100644
--- a/src/libserver/fuzzy_backend_redis.h
+++ b/src/libserver/fuzzy_backend_redis.h
@@ -19,31 +19,49 @@
#include "config.h"
#include "fuzzy_backend.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/*
* Subroutines for fuzzy_backend
*/
-void* rspamd_fuzzy_backend_init_redis (struct rspamd_fuzzy_backend *bk,
- const ucl_object_t *obj, struct rspamd_config *cfg, GError **err);
+void *rspamd_fuzzy_backend_init_redis (struct rspamd_fuzzy_backend *bk,
+ const ucl_object_t *obj,
+ struct rspamd_config *cfg,
+ GError **err);
+
void rspamd_fuzzy_backend_check_redis (struct rspamd_fuzzy_backend *bk,
- const struct rspamd_fuzzy_cmd *cmd,
- rspamd_fuzzy_check_cb cb, void *ud,
- void *subr_ud);
+ const struct rspamd_fuzzy_cmd *cmd,
+ rspamd_fuzzy_check_cb cb, void *ud,
+ void *subr_ud);
+
void rspamd_fuzzy_backend_update_redis (struct rspamd_fuzzy_backend *bk,
- GArray *updates, const gchar *src,
- rspamd_fuzzy_update_cb cb, void *ud,
- void *subr_ud);
+ GArray *updates, const gchar *src,
+ rspamd_fuzzy_update_cb cb, void *ud,
+ void *subr_ud);
+
void rspamd_fuzzy_backend_count_redis (struct rspamd_fuzzy_backend *bk,
- rspamd_fuzzy_count_cb cb, void *ud,
- void *subr_ud);
+ rspamd_fuzzy_count_cb cb, void *ud,
+ void *subr_ud);
+
void rspamd_fuzzy_backend_version_redis (struct rspamd_fuzzy_backend *bk,
- const gchar *src,
- rspamd_fuzzy_version_cb cb, void *ud,
- void *subr_ud);
-const gchar* rspamd_fuzzy_backend_id_redis (struct rspamd_fuzzy_backend *bk,
- void *subr_ud);
+ const gchar *src,
+ rspamd_fuzzy_version_cb cb, void *ud,
+ void *subr_ud);
+
+const gchar *rspamd_fuzzy_backend_id_redis (struct rspamd_fuzzy_backend *bk,
+ void *subr_ud);
+
void rspamd_fuzzy_backend_expire_redis (struct rspamd_fuzzy_backend *bk,
- void *subr_ud);
+ void *subr_ud);
+
void rspamd_fuzzy_backend_close_redis (struct rspamd_fuzzy_backend *bk,
- void *subr_ud);
+ void *subr_ud);
+
+#ifdef __cplusplus
+}
+#endif
#endif /* SRC_LIBSERVER_FUZZY_BACKEND_REDIS_H_ */
diff --git a/src/libserver/fuzzy_backend_sqlite.h b/src/libserver/fuzzy_backend_sqlite.h
index 032d1e3cd..33dc94f30 100644
--- a/src/libserver/fuzzy_backend_sqlite.h
+++ b/src/libserver/fuzzy_backend_sqlite.h
@@ -19,6 +19,9 @@
#include "config.h"
#include "fuzzy_wire.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
struct rspamd_fuzzy_backend_sqlite;
@@ -29,8 +32,8 @@ struct rspamd_fuzzy_backend_sqlite;
* @return backend structure or NULL
*/
struct rspamd_fuzzy_backend_sqlite *rspamd_fuzzy_backend_sqlite_open (const gchar *path,
- gboolean vacuum,
- GError **err);
+ gboolean vacuum,
+ GError **err);
/**
* Check specified fuzzy in the backend
@@ -47,7 +50,7 @@ struct rspamd_fuzzy_reply rspamd_fuzzy_backend_sqlite_check (
* Prepare storage for updates (by starting transaction)
*/
gboolean rspamd_fuzzy_backend_sqlite_prepare_update (struct rspamd_fuzzy_backend_sqlite *backend,
- const gchar *source);
+ const gchar *source);
/**
* Add digest to the database
@@ -56,7 +59,7 @@ gboolean rspamd_fuzzy_backend_sqlite_prepare_update (struct rspamd_fuzzy_backend
* @return
*/
gboolean rspamd_fuzzy_backend_sqlite_add (struct rspamd_fuzzy_backend_sqlite *backend,
- const struct rspamd_fuzzy_cmd *cmd);
+ const struct rspamd_fuzzy_cmd *cmd);
/**
* Delete digest from the database
@@ -72,7 +75,7 @@ gboolean rspamd_fuzzy_backend_sqlite_del (
* Commit updates to storage
*/
gboolean rspamd_fuzzy_backend_sqlite_finish_update (struct rspamd_fuzzy_backend_sqlite *backend,
- const gchar *source, gboolean version_bump);
+ const gchar *source, gboolean version_bump);
/**
* Sync storage
@@ -80,8 +83,8 @@ gboolean rspamd_fuzzy_backend_sqlite_finish_update (struct rspamd_fuzzy_backend_
* @return
*/
gboolean rspamd_fuzzy_backend_sqlite_sync (struct rspamd_fuzzy_backend_sqlite *backend,
- gint64 expire,
- gboolean clean_orphaned);
+ gint64 expire,
+ gboolean clean_orphaned);
/**
* Close storage
@@ -90,9 +93,15 @@ gboolean rspamd_fuzzy_backend_sqlite_sync (struct rspamd_fuzzy_backend_sqlite *b
void rspamd_fuzzy_backend_sqlite_close (struct rspamd_fuzzy_backend_sqlite *backend);
gsize rspamd_fuzzy_backend_sqlite_count (struct rspamd_fuzzy_backend_sqlite *backend);
+
gint rspamd_fuzzy_backend_sqlite_version (struct rspamd_fuzzy_backend_sqlite *backend, const gchar *source);
+
gsize rspamd_fuzzy_backend_sqlite_expired (struct rspamd_fuzzy_backend_sqlite *backend);
-const gchar * rspamd_fuzzy_sqlite_backend_id (struct rspamd_fuzzy_backend_sqlite *backend);
+const gchar *rspamd_fuzzy_sqlite_backend_id (struct rspamd_fuzzy_backend_sqlite *backend);
+
+#ifdef __cplusplus
+}
+#endif
#endif /* FUZZY_BACKEND_H_ */
diff --git a/src/libserver/fuzzy_wire.h b/src/libserver/fuzzy_wire.h
index 4a1dc3ed4..1723370e9 100644
--- a/src/libserver/fuzzy_wire.h
+++ b/src/libserver/fuzzy_wire.h
@@ -6,6 +6,10 @@
#include "shingles.h"
#include "cryptobox.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#define RSPAMD_FUZZY_VERSION 4
#define RSPAMD_FUZZY_KEYLEN 8
@@ -103,4 +107,8 @@ RSPAMD_PACKED(fuzzy_peer_cmd) {
} cmd;
};
+#ifdef __cplusplus
+}
+#endif
+
#endif
diff --git a/src/libserver/html.h b/src/libserver/html.h
index ada6dca68..86a266a62 100644
--- a/src/libserver/html.h
+++ b/src/libserver/html.h
@@ -8,6 +8,10 @@
#include "config.h"
#include "mem_pool.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/*
* HTML content flags
*/
@@ -130,13 +134,13 @@ struct html_content {
*/
guint rspamd_html_decode_entitles_inplace (gchar *s, gsize len);
-GByteArray* rspamd_html_process_part (rspamd_mempool_t *pool,
- struct html_content *hc,
- GByteArray *in);
+GByteArray *rspamd_html_process_part (rspamd_mempool_t *pool,
+ struct html_content *hc,
+ GByteArray *in);
-GByteArray* rspamd_html_process_part_full (rspamd_mempool_t *pool,
- struct html_content *hc,
- GByteArray *in, GList **exceptions, GHashTable *urls, GHashTable *emails);
+GByteArray *rspamd_html_process_part_full (rspamd_mempool_t *pool,
+ struct html_content *hc,
+ GByteArray *in, GList **exceptions, GHashTable *urls, GHashTable *emails);
/*
* Returns true if a specified tag has been seen in a part
@@ -148,7 +152,7 @@ gboolean rspamd_html_tag_seen (struct html_content *hc, const gchar *tagname);
* @param id
* @return
*/
-const gchar* rspamd_html_tag_by_id (gint id);
+const gchar *rspamd_html_tag_by_id (gint id);
/**
* Returns HTML tag id by name
@@ -165,8 +169,12 @@ gint rspamd_html_tag_by_name (const gchar *name);
* @param comp
* @return
*/
-struct rspamd_url * rspamd_html_process_url (rspamd_mempool_t *pool,
- const gchar *start, guint len,
- struct html_tag_component *comp);
+struct rspamd_url *rspamd_html_process_url (rspamd_mempool_t *pool,
+ const gchar *start, guint len,
+ struct html_tag_component *comp);
+
+#ifdef __cplusplus
+}
+#endif
#endif
diff --git a/src/libserver/html_colors.h b/src/libserver/html_colors.h
index 00fa6fed5..a22c5dc16 100644
--- a/src/libserver/html_colors.h
+++ b/src/libserver/html_colors.h
@@ -16,6 +16,10 @@
#ifndef SRC_LIBSERVER_HTML_COLORS_H_
#define SRC_LIBSERVER_HTML_COLORS_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct rspamd_html_colorname {
struct {
guint8 r;
@@ -26,682 +30,686 @@ struct rspamd_html_colorname {
};
static const struct rspamd_html_colorname html_colornames[] = {
- { {240, 248, 255}, "aliceblue"},
- { {250, 235, 215}, "antiquewhite"},
- { {255, 239, 219}, "antiquewhite1"},
- { {238, 223, 204}, "antiquewhite2"},
- { {205, 192, 176}, "antiquewhite3"},
- { {139, 131, 120}, "antiquewhite4"},
- { {0, 255, 255}, "aqua"},
- { {127, 255, 212}, "aquamarine"},
- { {127, 255, 212}, "aquamarine1"},
- { {118, 238, 198}, "aquamarine2"},
- { {102, 205, 170}, "aquamarine3"},
- { {69, 139, 116}, "aquamarine4"},
- { {240, 255, 255}, "azure"},
- { {240, 255, 255}, "azure1"},
- { {224, 238, 238}, "azure2"},
- { {193, 205, 205}, "azure3"},
- { {131, 139, 139}, "azure4"},
- { {245, 245, 220}, "beige"},
- { {255, 228, 196}, "bisque"},
- { {255, 228, 196}, "bisque1"},
- { {238, 213, 183}, "bisque2"},
- { {205, 183, 158}, "bisque3"},
- { {139, 125, 107}, "bisque4"},
- { {0, 0, 0}, "black"},
- { {255, 235, 205}, "blanchedalmond"},
- { {0, 0, 255}, "blue"},
- { {0, 0, 255}, "blue1"},
- { {0, 0, 238}, "blue2"},
- { {0, 0, 205}, "blue3"},
- { {0, 0, 139}, "blue4"},
- { {138, 43, 226}, "blueviolet"},
- { {165, 42, 42}, "brown"},
- { {255, 64, 64}, "brown1"},
- { {238, 59, 59}, "brown2"},
- { {205, 51, 51}, "brown3"},
- { {139, 35, 35}, "brown4"},
- { {222, 184, 135}, "burlywood"},
- { {255, 211, 155}, "burlywood1"},
- { {238, 197, 145}, "burlywood2"},
- { {205, 170, 125}, "burlywood3"},
- { {139, 115, 85}, "burlywood4"},
- { {95, 158, 160}, "cadetblue"},
- { {152, 245, 255}, "cadetblue1"},
- { {142, 229, 238}, "cadetblue2"},
- { {122, 197, 205}, "cadetblue3"},
- { {83, 134, 139}, "cadetblue4"},
- { {127, 255, 0}, "chartreuse"},
- { {127, 255, 0}, "chartreuse1"},
- { {118, 238, 0}, "chartreuse2"},
- { {102, 205, 0}, "chartreuse3"},
- { {69, 139, 0}, "chartreuse4"},
- { {210, 105, 30}, "chocolate"},
- { {255, 127, 36}, "chocolate1"},
- { {238, 118, 33}, "chocolate2"},
- { {205, 102, 29}, "chocolate3"},
- { {139, 69, 19}, "chocolate4"},
- { {255, 127, 80}, "coral"},
- { {255, 114, 86}, "coral1"},
- { {238, 106, 80}, "coral2"},
- { {205, 91, 69}, "coral3"},
- { {139, 62, 47}, "coral4"},
- { {100, 149, 237}, "cornflowerblue"},
- { {255, 248, 220}, "cornsilk"},
- { {255, 248, 220}, "cornsilk1"},
- { {238, 232, 205}, "cornsilk2"},
- { {205, 200, 177}, "cornsilk3"},
- { {139, 136, 120}, "cornsilk4"},
- { {220, 20, 60}, "crimson"},
- { {0, 255, 255}, "cyan"},
- { {0, 255, 255}, "cyan1"},
- { {0, 238, 238}, "cyan2"},
- { {0, 205, 205}, "cyan3"},
- { {0, 139, 139}, "cyan4"},
- { {0, 0, 139}, "darkblue"},
- { {0, 139, 139}, "darkcyan"},
- { {184, 134, 11}, "darkgoldenrod"},
- { {255, 185, 15}, "darkgoldenrod1"},
- { {238, 173, 14}, "darkgoldenrod2"},
- { {205, 149, 12}, "darkgoldenrod3"},
- { {139, 101, 8}, "darkgoldenrod4"},
- { {169, 169, 169}, "darkgray"},
- { {0, 100, 0}, "darkgreen"},
- { {169, 169, 169}, "darkgrey"},
- { {189, 183, 107}, "darkkhaki"},
- { {139, 0, 139}, "darkmagenta"},
- { {85, 107, 47}, "darkolivegreen"},
- { {202, 255, 112}, "darkolivegreen1"},
- { {188, 238, 104}, "darkolivegreen2"},
- { {162, 205, 90}, "darkolivegreen3"},
- { {110, 139, 61}, "darkolivegreen4"},
- { {255, 140, 0}, "darkorange"},
- { {255, 127, 0}, "darkorange1"},
- { {238, 118, 0}, "darkorange2"},
- { {205, 102, 0}, "darkorange3"},
- { {139, 69, 0}, "darkorange4"},
- { {153, 50, 204}, "darkorchid"},
- { {191, 62, 255}, "darkorchid1"},
- { {178, 58, 238}, "darkorchid2"},
- { {154, 50, 205}, "darkorchid3"},
- { {104, 34, 139}, "darkorchid4"},
- { {139, 0, 0}, "darkred"},
- { {233, 150, 122}, "darksalmon"},
- { {143, 188, 143}, "darkseagreen"},
- { {193, 255, 193}, "darkseagreen1"},
- { {180, 238, 180}, "darkseagreen2"},
- { {155, 205, 155}, "darkseagreen3"},
- { {105, 139, 105}, "darkseagreen4"},
- { {72, 61, 139}, "darkslateblue"},
- { {47, 79, 79}, "darkslategray"},
- { {151, 255, 255}, "darkslategray1"},
- { {141, 238, 238}, "darkslategray2"},
- { {121, 205, 205}, "darkslategray3"},
- { {82, 139, 139}, "darkslategray4"},
- { {47, 79, 79}, "darkslategrey"},
- { {0, 206, 209}, "darkturquoise"},
- { {148, 0, 211}, "darkviolet"},
- { {255, 20, 147}, "deeppink"},
- { {255, 20, 147}, "deeppink1"},
- { {238, 18, 137}, "deeppink2"},
- { {205, 16, 118}, "deeppink3"},
- { {139, 10, 80}, "deeppink4"},
- { {0, 191, 255}, "deepskyblue"},
- { {0, 191, 255}, "deepskyblue1"},
- { {0, 178, 238}, "deepskyblue2"},
- { {0, 154, 205}, "deepskyblue3"},
- { {0, 104, 139}, "deepskyblue4"},
- { {105, 105, 105}, "dimgray"},
- { {105, 105, 105}, "dimgrey"},
- { {30, 144, 255}, "dodgerblue"},
- { {30, 144, 255}, "dodgerblue1"},
- { {28, 134, 238}, "dodgerblue2"},
- { {24, 116, 205}, "dodgerblue3"},
- { {16, 78, 139}, "dodgerblue4"},
- { {178, 34, 34}, "firebrick"},
- { {255, 48, 48}, "firebrick1"},
- { {238, 44, 44}, "firebrick2"},
- { {205, 38, 38}, "firebrick3"},
- { {139, 26, 26}, "firebrick4"},
- { {255, 250, 240}, "floralwhite"},
- { {34, 139, 34}, "forestgreen"},
- { {255, 0, 255}, "fuchsia"},
- { {220, 220, 220}, "gainsboro"},
- { {248, 248, 255}, "ghostwhite"},
- { {255, 215, 0}, "gold"},
- { {255, 215, 0}, "gold1"},
- { {238, 201, 0}, "gold2"},
- { {205, 173, 0}, "gold3"},
- { {139, 117, 0}, "gold4"},
- { {218, 165, 32}, "goldenrod"},
- { {255, 193, 37}, "goldenrod1"},
- { {238, 180, 34}, "goldenrod2"},
- { {205, 155, 29}, "goldenrod3"},
- { {139, 105, 20}, "goldenrod4"},
- { {190, 190, 190}, "gray"},
- { {0, 0, 0}, "gray0"},
- { {3, 3, 3}, "gray1"},
- { {26, 26, 26}, "gray10"},
- { {255, 255, 255}, "gray100"},
- { {28, 28, 28}, "gray11"},
- { {31, 31, 31}, "gray12"},
- { {33, 33, 33}, "gray13"},
- { {36, 36, 36}, "gray14"},
- { {38, 38, 38}, "gray15"},
- { {41, 41, 41}, "gray16"},
- { {43, 43, 43}, "gray17"},
- { {46, 46, 46}, "gray18"},
- { {48, 48, 48}, "gray19"},
- { {5, 5, 5}, "gray2"},
- { {51, 51, 51}, "gray20"},
- { {54, 54, 54}, "gray21"},
- { {56, 56, 56}, "gray22"},
- { {59, 59, 59}, "gray23"},
- { {61, 61, 61}, "gray24"},
- { {64, 64, 64}, "gray25"},
- { {66, 66, 66}, "gray26"},
- { {69, 69, 69}, "gray27"},
- { {71, 71, 71}, "gray28"},
- { {74, 74, 74}, "gray29"},
- { {8, 8, 8}, "gray3"},
- { {77, 77, 77}, "gray30"},
- { {79, 79, 79}, "gray31"},
- { {82, 82, 82}, "gray32"},
- { {84, 84, 84}, "gray33"},
- { {87, 87, 87}, "gray34"},
- { {89, 89, 89}, "gray35"},
- { {92, 92, 92}, "gray36"},
- { {94, 94, 94}, "gray37"},
- { {97, 97, 97}, "gray38"},
- { {99, 99, 99}, "gray39"},
- { {10, 10, 10}, "gray4"},
- { {102, 102, 102}, "gray40"},
- { {105, 105, 105}, "gray41"},
- { {107, 107, 107}, "gray42"},
- { {110, 110, 110}, "gray43"},
- { {112, 112, 112}, "gray44"},
- { {115, 115, 115}, "gray45"},
- { {117, 117, 117}, "gray46"},
- { {120, 120, 120}, "gray47"},
- { {122, 122, 122}, "gray48"},
- { {125, 125, 125}, "gray49"},
- { {13, 13, 13}, "gray5"},
- { {127, 127, 127}, "gray50"},
- { {130, 130, 130}, "gray51"},
- { {133, 133, 133}, "gray52"},
- { {135, 135, 135}, "gray53"},
- { {138, 138, 138}, "gray54"},
- { {140, 140, 140}, "gray55"},
- { {143, 143, 143}, "gray56"},
- { {145, 145, 145}, "gray57"},
- { {148, 148, 148}, "gray58"},
- { {150, 150, 150}, "gray59"},
- { {15, 15, 15}, "gray6"},
- { {153, 153, 153}, "gray60"},
- { {156, 156, 156}, "gray61"},
- { {158, 158, 158}, "gray62"},
- { {161, 161, 161}, "gray63"},
- { {163, 163, 163}, "gray64"},
- { {166, 166, 166}, "gray65"},
- { {168, 168, 168}, "gray66"},
- { {171, 171, 171}, "gray67"},
- { {173, 173, 173}, "gray68"},
- { {176, 176, 176}, "gray69"},
- { {18, 18, 18}, "gray7"},
- { {179, 179, 179}, "gray70"},
- { {181, 181, 181}, "gray71"},
- { {184, 184, 184}, "gray72"},
- { {186, 186, 186}, "gray73"},
- { {189, 189, 189}, "gray74"},
- { {191, 191, 191}, "gray75"},
- { {194, 194, 194}, "gray76"},
- { {196, 196, 196}, "gray77"},
- { {199, 199, 199}, "gray78"},
- { {201, 201, 201}, "gray79"},
- { {20, 20, 20}, "gray8"},
- { {204, 204, 204}, "gray80"},
- { {207, 207, 207}, "gray81"},
- { {209, 209, 209}, "gray82"},
- { {212, 212, 212}, "gray83"},
- { {214, 214, 214}, "gray84"},
- { {217, 217, 217}, "gray85"},
- { {219, 219, 219}, "gray86"},
- { {222, 222, 222}, "gray87"},
- { {224, 224, 224}, "gray88"},
- { {227, 227, 227}, "gray89"},
- { {23, 23, 23}, "gray9"},
- { {229, 229, 229}, "gray90"},
- { {232, 232, 232}, "gray91"},
- { {235, 235, 235}, "gray92"},
- { {237, 237, 237}, "gray93"},
- { {240, 240, 240}, "gray94"},
- { {242, 242, 242}, "gray95"},
- { {245, 245, 245}, "gray96"},
- { {247, 247, 247}, "gray97"},
- { {250, 250, 250}, "gray98"},
- { {252, 252, 252}, "gray99"},
- { {0, 255, 0}, "green"},
- { {0, 255, 0}, "green1"},
- { {0, 238, 0}, "green2"},
- { {0, 205, 0}, "green3"},
- { {0, 139, 0}, "green4"},
- { {173, 255, 47}, "greenyellow"},
- { {190, 190, 190}, "grey"},
- { {0, 0, 0}, "grey0"},
- { {3, 3, 3}, "grey1"},
- { {26, 26, 26}, "grey10"},
- { {255, 255, 255}, "grey100"},
- { {28, 28, 28}, "grey11"},
- { {31, 31, 31}, "grey12"},
- { {33, 33, 33}, "grey13"},
- { {36, 36, 36}, "grey14"},
- { {38, 38, 38}, "grey15"},
- { {41, 41, 41}, "grey16"},
- { {43, 43, 43}, "grey17"},
- { {46, 46, 46}, "grey18"},
- { {48, 48, 48}, "grey19"},
- { {5, 5, 5}, "grey2"},
- { {51, 51, 51}, "grey20"},
- { {54, 54, 54}, "grey21"},
- { {56, 56, 56}, "grey22"},
- { {59, 59, 59}, "grey23"},
- { {61, 61, 61}, "grey24"},
- { {64, 64, 64}, "grey25"},
- { {66, 66, 66}, "grey26"},
- { {69, 69, 69}, "grey27"},
- { {71, 71, 71}, "grey28"},
- { {74, 74, 74}, "grey29"},
- { {8, 8, 8}, "grey3"},
- { {77, 77, 77}, "grey30"},
- { {79, 79, 79}, "grey31"},
- { {82, 82, 82}, "grey32"},
- { {84, 84, 84}, "grey33"},
- { {87, 87, 87}, "grey34"},
- { {89, 89, 89}, "grey35"},
- { {92, 92, 92}, "grey36"},
- { {94, 94, 94}, "grey37"},
- { {97, 97, 97}, "grey38"},
- { {99, 99, 99}, "grey39"},
- { {10, 10, 10}, "grey4"},
- { {102, 102, 102}, "grey40"},
- { {105, 105, 105}, "grey41"},
- { {107, 107, 107}, "grey42"},
- { {110, 110, 110}, "grey43"},
- { {112, 112, 112}, "grey44"},
- { {115, 115, 115}, "grey45"},
- { {117, 117, 117}, "grey46"},
- { {120, 120, 120}, "grey47"},
- { {122, 122, 122}, "grey48"},
- { {125, 125, 125}, "grey49"},
- { {13, 13, 13}, "grey5"},
- { {127, 127, 127}, "grey50"},
- { {130, 130, 130}, "grey51"},
- { {133, 133, 133}, "grey52"},
- { {135, 135, 135}, "grey53"},
- { {138, 138, 138}, "grey54"},
- { {140, 140, 140}, "grey55"},
- { {143, 143, 143}, "grey56"},
- { {145, 145, 145}, "grey57"},
- { {148, 148, 148}, "grey58"},
- { {150, 150, 150}, "grey59"},
- { {15, 15, 15}, "grey6"},
- { {153, 153, 153}, "grey60"},
- { {156, 156, 156}, "grey61"},
- { {158, 158, 158}, "grey62"},
- { {161, 161, 161}, "grey63"},
- { {163, 163, 163}, "grey64"},
- { {166, 166, 166}, "grey65"},
- { {168, 168, 168}, "grey66"},
- { {171, 171, 171}, "grey67"},
- { {173, 173, 173}, "grey68"},
- { {176, 176, 176}, "grey69"},
- { {18, 18, 18}, "grey7"},
- { {179, 179, 179}, "grey70"},
- { {181, 181, 181}, "grey71"},
- { {184, 184, 184}, "grey72"},
- { {186, 186, 186}, "grey73"},
- { {189, 189, 189}, "grey74"},
- { {191, 191, 191}, "grey75"},
- { {194, 194, 194}, "grey76"},
- { {196, 196, 196}, "grey77"},
- { {199, 199, 199}, "grey78"},
- { {201, 201, 201}, "grey79"},
- { {20, 20, 20}, "grey8"},
- { {204, 204, 204}, "grey80"},
- { {207, 207, 207}, "grey81"},
- { {209, 209, 209}, "grey82"},
- { {212, 212, 212}, "grey83"},
- { {214, 214, 214}, "grey84"},
- { {217, 217, 217}, "grey85"},
- { {219, 219, 219}, "grey86"},
- { {222, 222, 222}, "grey87"},
- { {224, 224, 224}, "grey88"},
- { {227, 227, 227}, "grey89"},
- { {23, 23, 23}, "grey9"},
- { {229, 229, 229}, "grey90"},
- { {232, 232, 232}, "grey91"},
- { {235, 235, 235}, "grey92"},
- { {237, 237, 237}, "grey93"},
- { {240, 240, 240}, "grey94"},
- { {242, 242, 242}, "grey95"},
- { {245, 245, 245}, "grey96"},
- { {247, 247, 247}, "grey97"},
- { {250, 250, 250}, "grey98"},
- { {252, 252, 252}, "grey99"},
- { {240, 255, 240}, "honeydew"},
- { {240, 255, 240}, "honeydew1"},
- { {224, 238, 224}, "honeydew2"},
- { {193, 205, 193}, "honeydew3"},
- { {131, 139, 131}, "honeydew4"},
- { {255, 105, 180}, "hotpink"},
- { {255, 110, 180}, "hotpink1"},
- { {238, 106, 167}, "hotpink2"},
- { {205, 96, 144}, "hotpink3"},
- { {139, 58, 98}, "hotpink4"},
- { {205, 92, 92}, "indianred"},
- { {255, 106, 106}, "indianred1"},
- { {238, 99, 99}, "indianred2"},
- { {205, 85, 85}, "indianred3"},
- { {139, 58, 58}, "indianred4"},
- { {75, 0, 130}, "indigo"},
- { {255, 255, 240}, "ivory"},
- { {255, 255, 240}, "ivory1"},
- { {238, 238, 224}, "ivory2"},
- { {205, 205, 193}, "ivory3"},
- { {139, 139, 131}, "ivory4"},
- { {240, 230, 140}, "khaki"},
- { {255, 246, 143}, "khaki1"},
- { {238, 230, 133}, "khaki2"},
- { {205, 198, 115}, "khaki3"},
- { {139, 134, 78}, "khaki4"},
- { {230, 230, 250}, "lavender"},
- { {255, 240, 245}, "lavenderblush"},
- { {255, 240, 245}, "lavenderblush1"},
- { {238, 224, 229}, "lavenderblush2"},
- { {205, 193, 197}, "lavenderblush3"},
- { {139, 131, 134}, "lavenderblush4"},
- { {124, 252, 0}, "lawngreen"},
- { {255, 250, 205}, "lemonchiffon"},
- { {255, 250, 205}, "lemonchiffon1"},
- { {238, 233, 191}, "lemonchiffon2"},
- { {205, 201, 165}, "lemonchiffon3"},
- { {139, 137, 112}, "lemonchiffon4"},
- { {173, 216, 230}, "lightblue"},
- { {191, 239, 255}, "lightblue1"},
- { {178, 223, 238}, "lightblue2"},
- { {154, 192, 205}, "lightblue3"},
- { {104, 131, 139}, "lightblue4"},
- { {240, 128, 128}, "lightcoral"},
- { {224, 255, 255}, "lightcyan"},
- { {224, 255, 255}, "lightcyan1"},
- { {209, 238, 238}, "lightcyan2"},
- { {180, 205, 205}, "lightcyan3"},
- { {122, 139, 139}, "lightcyan4"},
- { {238, 221, 130}, "lightgoldenrod"},
- { {255, 236, 139}, "lightgoldenrod1"},
- { {238, 220, 130}, "lightgoldenrod2"},
- { {205, 190, 112}, "lightgoldenrod3"},
- { {139, 129, 76}, "lightgoldenrod4"},
- { {250, 250, 210}, "lightgoldenrodyellow"},
- { {211, 211, 211}, "lightgray"},
- { {144, 238, 144}, "lightgreen"},
- { {211, 211, 211}, "lightgrey"},
- { {255, 182, 193}, "lightpink"},
- { {255, 174, 185}, "lightpink1"},
- { {238, 162, 173}, "lightpink2"},
- { {205, 140, 149}, "lightpink3"},
- { {139, 95, 101}, "lightpink4"},
- { {255, 160, 122}, "lightsalmon"},
- { {255, 160, 122}, "lightsalmon1"},
- { {238, 149, 114}, "lightsalmon2"},
- { {205, 129, 98}, "lightsalmon3"},
- { {139, 87, 66}, "lightsalmon4"},
- { {32, 178, 170}, "lightseagreen"},
- { {135, 206, 250}, "lightskyblue"},
- { {176, 226, 255}, "lightskyblue1"},
- { {164, 211, 238}, "lightskyblue2"},
- { {141, 182, 205}, "lightskyblue3"},
- { {96, 123, 139}, "lightskyblue4"},
- { {132, 112, 255}, "lightslateblue"},
- { {119, 136, 153}, "lightslategray"},
- { {119, 136, 153}, "lightslategrey"},
- { {176, 196, 222}, "lightsteelblue"},
- { {202, 225, 255}, "lightsteelblue1"},
- { {188, 210, 238}, "lightsteelblue2"},
- { {162, 181, 205}, "lightsteelblue3"},
- { {110, 123, 139}, "lightsteelblue4"},
- { {255, 255, 224}, "lightyellow"},
- { {255, 255, 224}, "lightyellow1"},
- { {238, 238, 209}, "lightyellow2"},
- { {205, 205, 180}, "lightyellow3"},
- { {139, 139, 122}, "lightyellow4"},
- { {0, 255, 0}, "lime"},
- { {50, 205, 50}, "limegreen"},
- { {250, 240, 230}, "linen"},
- { {255, 0, 255}, "magenta"},
- { {255, 0, 255}, "magenta1"},
- { {238, 0, 238}, "magenta2"},
- { {205, 0, 205}, "magenta3"},
- { {139, 0, 139}, "magenta4"},
- { {176, 48, 96}, "maroon"},
- { {255, 52, 179}, "maroon1"},
- { {238, 48, 167}, "maroon2"},
- { {205, 41, 144}, "maroon3"},
- { {139, 28, 98}, "maroon4"},
- { {102, 205, 170}, "mediumaquamarine"},
- { {0, 0, 205}, "mediumblue"},
- { {186, 85, 211}, "mediumorchid"},
- { {224, 102, 255}, "mediumorchid1"},
- { {209, 95, 238}, "mediumorchid2"},
- { {180, 82, 205}, "mediumorchid3"},
- { {122, 55, 139}, "mediumorchid4"},
- { {147, 112, 219}, "mediumpurple"},
- { {171, 130, 255}, "mediumpurple1"},
- { {159, 121, 238}, "mediumpurple2"},
- { {137, 104, 205}, "mediumpurple3"},
- { {93, 71, 139}, "mediumpurple4"},
- { {60, 179, 113}, "mediumseagreen"},
- { {123, 104, 238}, "mediumslateblue"},
- { {0, 250, 154}, "mediumspringgreen"},
- { {72, 209, 204}, "mediumturquoise"},
- { {199, 21, 133}, "mediumvioletred"},
- { {25, 25, 112}, "midnightblue"},
- { {245, 255, 250}, "mintcream"},
- { {255, 228, 225}, "mistyrose"},
- { {255, 228, 225}, "mistyrose1"},
- { {238, 213, 210}, "mistyrose2"},
- { {205, 183, 181}, "mistyrose3"},
- { {139, 125, 123}, "mistyrose4"},
- { {255, 228, 181}, "moccasin"},
- { {255, 222, 173}, "navajowhite"},
- { {255, 222, 173}, "navajowhite1"},
- { {238, 207, 161}, "navajowhite2"},
- { {205, 179, 139}, "navajowhite3"},
- { {139, 121, 94}, "navajowhite4"},
- { {0, 0, 128}, "navy"},
- { {0, 0, 128}, "navyblue"},
- { {253, 245, 230}, "oldlace"},
- { {128, 128, 0}, "olive"},
- { {107, 142, 35}, "olivedrab"},
- { {192, 255, 62}, "olivedrab1"},
- { {179, 238, 58}, "olivedrab2"},
- { {154, 205, 50}, "olivedrab3"},
- { {105, 139, 34}, "olivedrab4"},
- { {255, 165, 0}, "orange"},
- { {255, 165, 0}, "orange1"},
- { {238, 154, 0}, "orange2"},
- { {205, 133, 0}, "orange3"},
- { {139, 90, 0}, "orange4"},
- { {255, 69, 0}, "orangered"},
- { {255, 69, 0}, "orangered1"},
- { {238, 64, 0}, "orangered2"},
- { {205, 55, 0}, "orangered3"},
- { {139, 37, 0}, "orangered4"},
- { {218, 112, 214}, "orchid"},
- { {255, 131, 250}, "orchid1"},
- { {238, 122, 233}, "orchid2"},
- { {205, 105, 201}, "orchid3"},
- { {139, 71, 137}, "orchid4"},
- { {238, 232, 170}, "palegoldenrod"},
- { {152, 251, 152}, "palegreen"},
- { {154, 255, 154}, "palegreen1"},
- { {144, 238, 144}, "palegreen2"},
- { {124, 205, 124}, "palegreen3"},
- { {84, 139, 84}, "palegreen4"},
- { {175, 238, 238}, "paleturquoise"},
- { {187, 255, 255}, "paleturquoise1"},
- { {174, 238, 238}, "paleturquoise2"},
- { {150, 205, 205}, "paleturquoise3"},
- { {102, 139, 139}, "paleturquoise4"},
- { {219, 112, 147}, "palevioletred"},
- { {255, 130, 171}, "palevioletred1"},
- { {238, 121, 159}, "palevioletred2"},
- { {205, 104, 137}, "palevioletred3"},
- { {139, 71, 93}, "palevioletred4"},
- { {255, 239, 213}, "papayawhip"},
- { {255, 218, 185}, "peachpuff"},
- { {255, 218, 185}, "peachpuff1"},
- { {238, 203, 173}, "peachpuff2"},
- { {205, 175, 149}, "peachpuff3"},
- { {139, 119, 101}, "peachpuff4"},
- { {205, 133, 63}, "peru"},
- { {255, 192, 203}, "pink"},
- { {255, 181, 197}, "pink1"},
- { {238, 169, 184}, "pink2"},
- { {205, 145, 158}, "pink3"},
- { {139, 99, 108}, "pink4"},
- { {221, 160, 221}, "plum"},
- { {255, 187, 255}, "plum1"},
- { {238, 174, 238}, "plum2"},
- { {205, 150, 205}, "plum3"},
- { {139, 102, 139}, "plum4"},
- { {176, 224, 230}, "powderblue"},
- { {160, 32, 240}, "purple"},
- { {155, 48, 255}, "purple1"},
- { {145, 44, 238}, "purple2"},
- { {125, 38, 205}, "purple3"},
- { {85, 26, 139}, "purple4"},
- { {102, 51, 153}, "rebeccapurple"},
- { {255, 0, 0}, "red"},
- { {255, 0, 0}, "red1"},
- { {238, 0, 0}, "red2"},
- { {205, 0, 0}, "red3"},
- { {139, 0, 0}, "red4"},
- { {188, 143, 143}, "rosybrown"},
- { {255, 193, 193}, "rosybrown1"},
- { {238, 180, 180}, "rosybrown2"},
- { {205, 155, 155}, "rosybrown3"},
- { {139, 105, 105}, "rosybrown4"},
- { {65, 105, 225}, "royalblue"},
- { {72, 118, 255}, "royalblue1"},
- { {67, 110, 238}, "royalblue2"},
- { {58, 95, 205}, "royalblue3"},
- { {39, 64, 139}, "royalblue4"},
- { {139, 69, 19}, "saddlebrown"},
- { {250, 128, 114}, "salmon"},
- { {255, 140, 105}, "salmon1"},
- { {238, 130, 98}, "salmon2"},
- { {205, 112, 84}, "salmon3"},
- { {139, 76, 57}, "salmon4"},
- { {244, 164, 96}, "sandybrown"},
- { {46, 139, 87}, "seagreen"},
- { {84, 255, 159}, "seagreen1"},
- { {78, 238, 148}, "seagreen2"},
- { {67, 205, 128}, "seagreen3"},
- { {46, 139, 87}, "seagreen4"},
- { {255, 245, 238}, "seashell"},
- { {255, 245, 238}, "seashell1"},
- { {238, 229, 222}, "seashell2"},
- { {205, 197, 191}, "seashell3"},
- { {139, 134, 130}, "seashell4"},
- { {160, 82, 45}, "sienna"},
- { {255, 130, 71}, "sienna1"},
- { {238, 121, 66}, "sienna2"},
- { {205, 104, 57}, "sienna3"},
- { {139, 71, 38}, "sienna4"},
- { {192, 192, 192}, "silver"},
- { {135, 206, 235}, "skyblue"},
- { {135, 206, 255}, "skyblue1"},
- { {126, 192, 238}, "skyblue2"},
- { {108, 166, 205}, "skyblue3"},
- { {74, 112, 139}, "skyblue4"},
- { {106, 90, 205}, "slateblue"},
- { {131, 111, 255}, "slateblue1"},
- { {122, 103, 238}, "slateblue2"},
- { {105, 89, 205}, "slateblue3"},
- { {71, 60, 139}, "slateblue4"},
- { {112, 128, 144}, "slategray"},
- { {198, 226, 255}, "slategray1"},
- { {185, 211, 238}, "slategray2"},
- { {159, 182, 205}, "slategray3"},
- { {108, 123, 139}, "slategray4"},
- { {112, 128, 144}, "slategrey"},
- { {255, 250, 250}, "snow"},
- { {255, 250, 250}, "snow1"},
- { {238, 233, 233}, "snow2"},
- { {205, 201, 201}, "snow3"},
- { {139, 137, 137}, "snow4"},
- { {0, 255, 127}, "springgreen"},
- { {0, 255, 127}, "springgreen1"},
- { {0, 238, 118}, "springgreen2"},
- { {0, 205, 102}, "springgreen3"},
- { {0, 139, 69}, "springgreen4"},
- { {70, 130, 180}, "steelblue"},
- { {99, 184, 255}, "steelblue1"},
- { {92, 172, 238}, "steelblue2"},
- { {79, 148, 205}, "steelblue3"},
- { {54, 100, 139}, "steelblue4"},
- { {210, 180, 140}, "tan"},
- { {255, 165, 79}, "tan1"},
- { {238, 154, 73}, "tan2"},
- { {205, 133, 63}, "tan3"},
- { {139, 90, 43}, "tan4"},
- { {0, 128, 128}, "teal"},
- { {216, 191, 216}, "thistle"},
- { {255, 225, 255}, "thistle1"},
- { {238, 210, 238}, "thistle2"},
- { {205, 181, 205}, "thistle3"},
- { {139, 123, 139}, "thistle4"},
- { {255, 99, 71}, "tomato"},
- { {255, 99, 71}, "tomato1"},
- { {238, 92, 66}, "tomato2"},
- { {205, 79, 57}, "tomato3"},
- { {139, 54, 38}, "tomato4"},
- { {64, 224, 208}, "turquoise"},
- { {0, 245, 255}, "turquoise1"},
- { {0, 229, 238}, "turquoise2"},
- { {0, 197, 205}, "turquoise3"},
- { {0, 134, 139}, "turquoise4"},
- { {238, 130, 238}, "violet"},
- { {208, 32, 144}, "violetred"},
- { {255, 62, 150}, "violetred1"},
- { {238, 58, 140}, "violetred2"},
- { {205, 50, 120}, "violetred3"},
- { {139, 34, 82}, "violetred4"},
- { {128, 128, 128}, "webgray"},
- { {0, 128, 0}, "webgreen"},
- { {128, 128, 128}, "webgrey"},
- { {128, 0, 0}, "webmaroon"},
- { {128, 0, 128}, "webpurple"},
- { {245, 222, 179}, "wheat"},
- { {255, 231, 186}, "wheat1"},
- { {238, 216, 174}, "wheat2"},
- { {205, 186, 150}, "wheat3"},
- { {139, 126, 102}, "wheat4"},
- { {255, 255, 255}, "white"},
- { {245, 245, 245}, "whitesmoke"},
- { {190, 190, 190}, "x11gray"},
- { {0, 255, 0}, "x11green"},
- { {190, 190, 190}, "x11grey"},
- { {176, 48, 96}, "x11maroon"},
- { {160, 32, 240}, "x11purple"},
- { {255, 255, 0}, "yellow"},
- { {255, 255, 0}, "yellow1"},
- { {238, 238, 0}, "yellow2"},
- { {205, 205, 0}, "yellow3"},
- { {139, 139, 0}, "yellow4"},
- { {154, 205, 50}, "yellowgreen"},
+ {{240, 248, 255}, "aliceblue"},
+ {{250, 235, 215}, "antiquewhite"},
+ {{255, 239, 219}, "antiquewhite1"},
+ {{238, 223, 204}, "antiquewhite2"},
+ {{205, 192, 176}, "antiquewhite3"},
+ {{139, 131, 120}, "antiquewhite4"},
+ {{0, 255, 255}, "aqua"},
+ {{127, 255, 212}, "aquamarine"},
+ {{127, 255, 212}, "aquamarine1"},
+ {{118, 238, 198}, "aquamarine2"},
+ {{102, 205, 170}, "aquamarine3"},
+ {{69, 139, 116}, "aquamarine4"},
+ {{240, 255, 255}, "azure"},
+ {{240, 255, 255}, "azure1"},
+ {{224, 238, 238}, "azure2"},
+ {{193, 205, 205}, "azure3"},
+ {{131, 139, 139}, "azure4"},
+ {{245, 245, 220}, "beige"},
+ {{255, 228, 196}, "bisque"},
+ {{255, 228, 196}, "bisque1"},
+ {{238, 213, 183}, "bisque2"},
+ {{205, 183, 158}, "bisque3"},
+ {{139, 125, 107}, "bisque4"},
+ {{0, 0, 0}, "black"},
+ {{255, 235, 205}, "blanchedalmond"},
+ {{0, 0, 255}, "blue"},
+ {{0, 0, 255}, "blue1"},
+ {{0, 0, 238}, "blue2"},
+ {{0, 0, 205}, "blue3"},
+ {{0, 0, 139}, "blue4"},
+ {{138, 43, 226}, "blueviolet"},
+ {{165, 42, 42}, "brown"},
+ {{255, 64, 64}, "brown1"},
+ {{238, 59, 59}, "brown2"},
+ {{205, 51, 51}, "brown3"},
+ {{139, 35, 35}, "brown4"},
+ {{222, 184, 135}, "burlywood"},
+ {{255, 211, 155}, "burlywood1"},
+ {{238, 197, 145}, "burlywood2"},
+ {{205, 170, 125}, "burlywood3"},
+ {{139, 115, 85}, "burlywood4"},
+ {{95, 158, 160}, "cadetblue"},
+ {{152, 245, 255}, "cadetblue1"},
+ {{142, 229, 238}, "cadetblue2"},
+ {{122, 197, 205}, "cadetblue3"},
+ {{83, 134, 139}, "cadetblue4"},
+ {{127, 255, 0}, "chartreuse"},
+ {{127, 255, 0}, "chartreuse1"},
+ {{118, 238, 0}, "chartreuse2"},
+ {{102, 205, 0}, "chartreuse3"},
+ {{69, 139, 0}, "chartreuse4"},
+ {{210, 105, 30}, "chocolate"},
+ {{255, 127, 36}, "chocolate1"},
+ {{238, 118, 33}, "chocolate2"},
+ {{205, 102, 29}, "chocolate3"},
+ {{139, 69, 19}, "chocolate4"},
+ {{255, 127, 80}, "coral"},
+ {{255, 114, 86}, "coral1"},
+ {{238, 106, 80}, "coral2"},
+ {{205, 91, 69}, "coral3"},
+ {{139, 62, 47}, "coral4"},
+ {{100, 149, 237}, "cornflowerblue"},
+ {{255, 248, 220}, "cornsilk"},
+ {{255, 248, 220}, "cornsilk1"},
+ {{238, 232, 205}, "cornsilk2"},
+ {{205, 200, 177}, "cornsilk3"},
+ {{139, 136, 120}, "cornsilk4"},
+ {{220, 20, 60}, "crimson"},
+ {{0, 255, 255}, "cyan"},
+ {{0, 255, 255}, "cyan1"},
+ {{0, 238, 238}, "cyan2"},
+ {{0, 205, 205}, "cyan3"},
+ {{0, 139, 139}, "cyan4"},
+ {{0, 0, 139}, "darkblue"},
+ {{0, 139, 139}, "darkcyan"},
+ {{184, 134, 11}, "darkgoldenrod"},
+ {{255, 185, 15}, "darkgoldenrod1"},
+ {{238, 173, 14}, "darkgoldenrod2"},
+ {{205, 149, 12}, "darkgoldenrod3"},
+ {{139, 101, 8}, "darkgoldenrod4"},
+ {{169, 169, 169}, "darkgray"},
+ {{0, 100, 0}, "darkgreen"},
+ {{169, 169, 169}, "darkgrey"},
+ {{189, 183, 107}, "darkkhaki"},
+ {{139, 0, 139}, "darkmagenta"},
+ {{85, 107, 47}, "darkolivegreen"},
+ {{202, 255, 112}, "darkolivegreen1"},
+ {{188, 238, 104}, "darkolivegreen2"},
+ {{162, 205, 90}, "darkolivegreen3"},
+ {{110, 139, 61}, "darkolivegreen4"},
+ {{255, 140, 0}, "darkorange"},
+ {{255, 127, 0}, "darkorange1"},
+ {{238, 118, 0}, "darkorange2"},
+ {{205, 102, 0}, "darkorange3"},
+ {{139, 69, 0}, "darkorange4"},
+ {{153, 50, 204}, "darkorchid"},
+ {{191, 62, 255}, "darkorchid1"},
+ {{178, 58, 238}, "darkorchid2"},
+ {{154, 50, 205}, "darkorchid3"},
+ {{104, 34, 139}, "darkorchid4"},
+ {{139, 0, 0}, "darkred"},
+ {{233, 150, 122}, "darksalmon"},
+ {{143, 188, 143}, "darkseagreen"},
+ {{193, 255, 193}, "darkseagreen1"},
+ {{180, 238, 180}, "darkseagreen2"},
+ {{155, 205, 155}, "darkseagreen3"},
+ {{105, 139, 105}, "darkseagreen4"},
+ {{72, 61, 139}, "darkslateblue"},
+ {{47, 79, 79}, "darkslategray"},
+ {{151, 255, 255}, "darkslategray1"},
+ {{141, 238, 238}, "darkslategray2"},
+ {{121, 205, 205}, "darkslategray3"},
+ {{82, 139, 139}, "darkslategray4"},
+ {{47, 79, 79}, "darkslategrey"},
+ {{0, 206, 209}, "darkturquoise"},
+ {{148, 0, 211}, "darkviolet"},
+ {{255, 20, 147}, "deeppink"},
+ {{255, 20, 147}, "deeppink1"},
+ {{238, 18, 137}, "deeppink2"},
+ {{205, 16, 118}, "deeppink3"},
+ {{139, 10, 80}, "deeppink4"},
+ {{0, 191, 255}, "deepskyblue"},
+ {{0, 191, 255}, "deepskyblue1"},
+ {{0, 178, 238}, "deepskyblue2"},
+ {{0, 154, 205}, "deepskyblue3"},
+ {{0, 104, 139}, "deepskyblue4"},
+ {{105, 105, 105}, "dimgray"},
+ {{105, 105, 105}, "dimgrey"},
+ {{30, 144, 255}, "dodgerblue"},
+ {{30, 144, 255}, "dodgerblue1"},
+ {{28, 134, 238}, "dodgerblue2"},
+ {{24, 116, 205}, "dodgerblue3"},
+ {{16, 78, 139}, "dodgerblue4"},
+ {{178, 34, 34}, "firebrick"},
+ {{255, 48, 48}, "firebrick1"},
+ {{238, 44, 44}, "firebrick2"},
+ {{205, 38, 38}, "firebrick3"},
+ {{139, 26, 26}, "firebrick4"},
+ {{255, 250, 240}, "floralwhite"},
+ {{34, 139, 34}, "forestgreen"},
+ {{255, 0, 255}, "fuchsia"},
+ {{220, 220, 220}, "gainsboro"},
+ {{248, 248, 255}, "ghostwhite"},
+ {{255, 215, 0}, "gold"},
+ {{255, 215, 0}, "gold1"},
+ {{238, 201, 0}, "gold2"},
+ {{205, 173, 0}, "gold3"},
+ {{139, 117, 0}, "gold4"},
+ {{218, 165, 32}, "goldenrod"},
+ {{255, 193, 37}, "goldenrod1"},
+ {{238, 180, 34}, "goldenrod2"},
+ {{205, 155, 29}, "goldenrod3"},
+ {{139, 105, 20}, "goldenrod4"},
+ {{190, 190, 190}, "gray"},
+ {{0, 0, 0}, "gray0"},
+ {{3, 3, 3}, "gray1"},
+ {{26, 26, 26}, "gray10"},
+ {{255, 255, 255}, "gray100"},
+ {{28, 28, 28}, "gray11"},
+ {{31, 31, 31}, "gray12"},
+ {{33, 33, 33}, "gray13"},
+ {{36, 36, 36}, "gray14"},
+ {{38, 38, 38}, "gray15"},
+ {{41, 41, 41}, "gray16"},
+ {{43, 43, 43}, "gray17"},
+ {{46, 46, 46}, "gray18"},
+ {{48, 48, 48}, "gray19"},
+ {{5, 5, 5}, "gray2"},
+ {{51, 51, 51}, "gray20"},
+ {{54, 54, 54}, "gray21"},
+ {{56, 56, 56}, "gray22"},
+ {{59, 59, 59}, "gray23"},
+ {{61, 61, 61}, "gray24"},
+ {{64, 64, 64}, "gray25"},
+ {{66, 66, 66}, "gray26"},
+ {{69, 69, 69}, "gray27"},
+ {{71, 71, 71}, "gray28"},
+ {{74, 74, 74}, "gray29"},
+ {{8, 8, 8}, "gray3"},
+ {{77, 77, 77}, "gray30"},
+ {{79, 79, 79}, "gray31"},
+ {{82, 82, 82}, "gray32"},
+ {{84, 84, 84}, "gray33"},
+ {{87, 87, 87}, "gray34"},
+ {{89, 89, 89}, "gray35"},
+ {{92, 92, 92}, "gray36"},
+ {{94, 94, 94}, "gray37"},
+ {{97, 97, 97}, "gray38"},
+ {{99, 99, 99}, "gray39"},
+ {{10, 10, 10}, "gray4"},
+ {{102, 102, 102}, "gray40"},
+ {{105, 105, 105}, "gray41"},
+ {{107, 107, 107}, "gray42"},
+ {{110, 110, 110}, "gray43"},
+ {{112, 112, 112}, "gray44"},
+ {{115, 115, 115}, "gray45"},
+ {{117, 117, 117}, "gray46"},
+ {{120, 120, 120}, "gray47"},
+ {{122, 122, 122}, "gray48"},
+ {{125, 125, 125}, "gray49"},
+ {{13, 13, 13}, "gray5"},
+ {{127, 127, 127}, "gray50"},
+ {{130, 130, 130}, "gray51"},
+ {{133, 133, 133}, "gray52"},
+ {{135, 135, 135}, "gray53"},
+ {{138, 138, 138}, "gray54"},
+ {{140, 140, 140}, "gray55"},
+ {{143, 143, 143}, "gray56"},
+ {{145, 145, 145}, "gray57"},
+ {{148, 148, 148}, "gray58"},
+ {{150, 150, 150}, "gray59"},
+ {{15, 15, 15}, "gray6"},
+ {{153, 153, 153}, "gray60"},
+ {{156, 156, 156}, "gray61"},
+ {{158, 158, 158}, "gray62"},
+ {{161, 161, 161}, "gray63"},
+ {{163, 163, 163}, "gray64"},
+ {{166, 166, 166}, "gray65"},
+ {{168, 168, 168}, "gray66"},
+ {{171, 171, 171}, "gray67"},
+ {{173, 173, 173}, "gray68"},
+ {{176, 176, 176}, "gray69"},
+ {{18, 18, 18}, "gray7"},
+ {{179, 179, 179}, "gray70"},
+ {{181, 181, 181}, "gray71"},
+ {{184, 184, 184}, "gray72"},
+ {{186, 186, 186}, "gray73"},
+ {{189, 189, 189}, "gray74"},
+ {{191, 191, 191}, "gray75"},
+ {{194, 194, 194}, "gray76"},
+ {{196, 196, 196}, "gray77"},
+ {{199, 199, 199}, "gray78"},
+ {{201, 201, 201}, "gray79"},
+ {{20, 20, 20}, "gray8"},
+ {{204, 204, 204}, "gray80"},
+ {{207, 207, 207}, "gray81"},
+ {{209, 209, 209}, "gray82"},
+ {{212, 212, 212}, "gray83"},
+ {{214, 214, 214}, "gray84"},
+ {{217, 217, 217}, "gray85"},
+ {{219, 219, 219}, "gray86"},
+ {{222, 222, 222}, "gray87"},
+ {{224, 224, 224}, "gray88"},
+ {{227, 227, 227}, "gray89"},
+ {{23, 23, 23}, "gray9"},
+ {{229, 229, 229}, "gray90"},
+ {{232, 232, 232}, "gray91"},
+ {{235, 235, 235}, "gray92"},
+ {{237, 237, 237}, "gray93"},
+ {{240, 240, 240}, "gray94"},
+ {{242, 242, 242}, "gray95"},
+ {{245, 245, 245}, "gray96"},
+ {{247, 247, 247}, "gray97"},
+ {{250, 250, 250}, "gray98"},
+ {{252, 252, 252}, "gray99"},
+ {{0, 255, 0}, "green"},
+ {{0, 255, 0}, "green1"},
+ {{0, 238, 0}, "green2"},
+ {{0, 205, 0}, "green3"},
+ {{0, 139, 0}, "green4"},
+ {{173, 255, 47}, "greenyellow"},
+ {{190, 190, 190}, "grey"},
+ {{0, 0, 0}, "grey0"},
+ {{3, 3, 3}, "grey1"},
+ {{26, 26, 26}, "grey10"},
+ {{255, 255, 255}, "grey100"},
+ {{28, 28, 28}, "grey11"},
+ {{31, 31, 31}, "grey12"},
+ {{33, 33, 33}, "grey13"},
+ {{36, 36, 36}, "grey14"},
+ {{38, 38, 38}, "grey15"},
+ {{41, 41, 41}, "grey16"},
+ {{43, 43, 43}, "grey17"},
+ {{46, 46, 46}, "grey18"},
+ {{48, 48, 48}, "grey19"},
+ {{5, 5, 5}, "grey2"},
+ {{51, 51, 51}, "grey20"},
+ {{54, 54, 54}, "grey21"},
+ {{56, 56, 56}, "grey22"},
+ {{59, 59, 59}, "grey23"},
+ {{61, 61, 61}, "grey24"},
+ {{64, 64, 64}, "grey25"},
+ {{66, 66, 66}, "grey26"},
+ {{69, 69, 69}, "grey27"},
+ {{71, 71, 71}, "grey28"},
+ {{74, 74, 74}, "grey29"},
+ {{8, 8, 8}, "grey3"},
+ {{77, 77, 77}, "grey30"},
+ {{79, 79, 79}, "grey31"},
+ {{82, 82, 82}, "grey32"},
+ {{84, 84, 84}, "grey33"},
+ {{87, 87, 87}, "grey34"},
+ {{89, 89, 89}, "grey35"},
+ {{92, 92, 92}, "grey36"},
+ {{94, 94, 94}, "grey37"},
+ {{97, 97, 97}, "grey38"},
+ {{99, 99, 99}, "grey39"},
+ {{10, 10, 10}, "grey4"},
+ {{102, 102, 102}, "grey40"},
+ {{105, 105, 105}, "grey41"},
+ {{107, 107, 107}, "grey42"},
+ {{110, 110, 110}, "grey43"},
+ {{112, 112, 112}, "grey44"},
+ {{115, 115, 115}, "grey45"},
+ {{117, 117, 117}, "grey46"},
+ {{120, 120, 120}, "grey47"},
+ {{122, 122, 122}, "grey48"},
+ {{125, 125, 125}, "grey49"},
+ {{13, 13, 13}, "grey5"},
+ {{127, 127, 127}, "grey50"},
+ {{130, 130, 130}, "grey51"},
+ {{133, 133, 133}, "grey52"},
+ {{135, 135, 135}, "grey53"},
+ {{138, 138, 138}, "grey54"},
+ {{140, 140, 140}, "grey55"},
+ {{143, 143, 143}, "grey56"},
+ {{145, 145, 145}, "grey57"},
+ {{148, 148, 148}, "grey58"},
+ {{150, 150, 150}, "grey59"},
+ {{15, 15, 15}, "grey6"},
+ {{153, 153, 153}, "grey60"},
+ {{156, 156, 156}, "grey61"},
+ {{158, 158, 158}, "grey62"},
+ {{161, 161, 161}, "grey63"},
+ {{163, 163, 163}, "grey64"},
+ {{166, 166, 166}, "grey65"},
+ {{168, 168, 168}, "grey66"},
+ {{171, 171, 171}, "grey67"},
+ {{173, 173, 173}, "grey68"},
+ {{176, 176, 176}, "grey69"},
+ {{18, 18, 18}, "grey7"},
+ {{179, 179, 179}, "grey70"},
+ {{181, 181, 181}, "grey71"},
+ {{184, 184, 184}, "grey72"},
+ {{186, 186, 186}, "grey73"},
+ {{189, 189, 189}, "grey74"},
+ {{191, 191, 191}, "grey75"},
+ {{194, 194, 194}, "grey76"},
+ {{196, 196, 196}, "grey77"},
+ {{199, 199, 199}, "grey78"},
+ {{201, 201, 201}, "grey79"},
+ {{20, 20, 20}, "grey8"},
+ {{204, 204, 204}, "grey80"},
+ {{207, 207, 207}, "grey81"},
+ {{209, 209, 209}, "grey82"},
+ {{212, 212, 212}, "grey83"},
+ {{214, 214, 214}, "grey84"},
+ {{217, 217, 217}, "grey85"},
+ {{219, 219, 219}, "grey86"},
+ {{222, 222, 222}, "grey87"},
+ {{224, 224, 224}, "grey88"},
+ {{227, 227, 227}, "grey89"},
+ {{23, 23, 23}, "grey9"},
+ {{229, 229, 229}, "grey90"},
+ {{232, 232, 232}, "grey91"},
+ {{235, 235, 235}, "grey92"},
+ {{237, 237, 237}, "grey93"},
+ {{240, 240, 240}, "grey94"},
+ {{242, 242, 242}, "grey95"},
+ {{245, 245, 245}, "grey96"},
+ {{247, 247, 247}, "grey97"},
+ {{250, 250, 250}, "grey98"},
+ {{252, 252, 252}, "grey99"},
+ {{240, 255, 240}, "honeydew"},
+ {{240, 255, 240}, "honeydew1"},
+ {{224, 238, 224}, "honeydew2"},
+ {{193, 205, 193}, "honeydew3"},
+ {{131, 139, 131}, "honeydew4"},
+ {{255, 105, 180}, "hotpink"},
+ {{255, 110, 180}, "hotpink1"},
+ {{238, 106, 167}, "hotpink2"},
+ {{205, 96, 144}, "hotpink3"},
+ {{139, 58, 98}, "hotpink4"},
+ {{205, 92, 92}, "indianred"},
+ {{255, 106, 106}, "indianred1"},
+ {{238, 99, 99}, "indianred2"},
+ {{205, 85, 85}, "indianred3"},
+ {{139, 58, 58}, "indianred4"},
+ {{75, 0, 130}, "indigo"},
+ {{255, 255, 240}, "ivory"},
+ {{255, 255, 240}, "ivory1"},
+ {{238, 238, 224}, "ivory2"},
+ {{205, 205, 193}, "ivory3"},
+ {{139, 139, 131}, "ivory4"},
+ {{240, 230, 140}, "khaki"},
+ {{255, 246, 143}, "khaki1"},
+ {{238, 230, 133}, "khaki2"},
+ {{205, 198, 115}, "khaki3"},
+ {{139, 134, 78}, "khaki4"},
+ {{230, 230, 250}, "lavender"},
+ {{255, 240, 245}, "lavenderblush"},
+ {{255, 240, 245}, "lavenderblush1"},
+ {{238, 224, 229}, "lavenderblush2"},
+ {{205, 193, 197}, "lavenderblush3"},
+ {{139, 131, 134}, "lavenderblush4"},
+ {{124, 252, 0}, "lawngreen"},
+ {{255, 250, 205}, "lemonchiffon"},
+ {{255, 250, 205}, "lemonchiffon1"},
+ {{238, 233, 191}, "lemonchiffon2"},
+ {{205, 201, 165}, "lemonchiffon3"},
+ {{139, 137, 112}, "lemonchiffon4"},
+ {{173, 216, 230}, "lightblue"},
+ {{191, 239, 255}, "lightblue1"},
+ {{178, 223, 238}, "lightblue2"},
+ {{154, 192, 205}, "lightblue3"},
+ {{104, 131, 139}, "lightblue4"},
+ {{240, 128, 128}, "lightcoral"},
+ {{224, 255, 255}, "lightcyan"},
+ {{224, 255, 255}, "lightcyan1"},
+ {{209, 238, 238}, "lightcyan2"},
+ {{180, 205, 205}, "lightcyan3"},
+ {{122, 139, 139}, "lightcyan4"},
+ {{238, 221, 130}, "lightgoldenrod"},
+ {{255, 236, 139}, "lightgoldenrod1"},
+ {{238, 220, 130}, "lightgoldenrod2"},
+ {{205, 190, 112}, "lightgoldenrod3"},
+ {{139, 129, 76}, "lightgoldenrod4"},
+ {{250, 250, 210}, "lightgoldenrodyellow"},
+ {{211, 211, 211}, "lightgray"},
+ {{144, 238, 144}, "lightgreen"},
+ {{211, 211, 211}, "lightgrey"},
+ {{255, 182, 193}, "lightpink"},
+ {{255, 174, 185}, "lightpink1"},
+ {{238, 162, 173}, "lightpink2"},
+ {{205, 140, 149}, "lightpink3"},
+ {{139, 95, 101}, "lightpink4"},
+ {{255, 160, 122}, "lightsalmon"},
+ {{255, 160, 122}, "lightsalmon1"},
+ {{238, 149, 114}, "lightsalmon2"},
+ {{205, 129, 98}, "lightsalmon3"},
+ {{139, 87, 66}, "lightsalmon4"},
+ {{32, 178, 170}, "lightseagreen"},
+ {{135, 206, 250}, "lightskyblue"},
+ {{176, 226, 255}, "lightskyblue1"},
+ {{164, 211, 238}, "lightskyblue2"},
+ {{141, 182, 205}, "lightskyblue3"},
+ {{96, 123, 139}, "lightskyblue4"},
+ {{132, 112, 255}, "lightslateblue"},
+ {{119, 136, 153}, "lightslategray"},
+ {{119, 136, 153}, "lightslategrey"},
+ {{176, 196, 222}, "lightsteelblue"},
+ {{202, 225, 255}, "lightsteelblue1"},
+ {{188, 210, 238}, "lightsteelblue2"},
+ {{162, 181, 205}, "lightsteelblue3"},
+ {{110, 123, 139}, "lightsteelblue4"},
+ {{255, 255, 224}, "lightyellow"},
+ {{255, 255, 224}, "lightyellow1"},
+ {{238, 238, 209}, "lightyellow2"},
+ {{205, 205, 180}, "lightyellow3"},
+ {{139, 139, 122}, "lightyellow4"},
+ {{0, 255, 0}, "lime"},
+ {{50, 205, 50}, "limegreen"},
+ {{250, 240, 230}, "linen"},
+ {{255, 0, 255}, "magenta"},
+ {{255, 0, 255}, "magenta1"},
+ {{238, 0, 238}, "magenta2"},
+ {{205, 0, 205}, "magenta3"},
+ {{139, 0, 139}, "magenta4"},
+ {{176, 48, 96}, "maroon"},
+ {{255, 52, 179}, "maroon1"},
+ {{238, 48, 167}, "maroon2"},
+ {{205, 41, 144}, "maroon3"},
+ {{139, 28, 98}, "maroon4"},
+ {{102, 205, 170}, "mediumaquamarine"},
+ {{0, 0, 205}, "mediumblue"},
+ {{186, 85, 211}, "mediumorchid"},
+ {{224, 102, 255}, "mediumorchid1"},
+ {{209, 95, 238}, "mediumorchid2"},
+ {{180, 82, 205}, "mediumorchid3"},
+ {{122, 55, 139}, "mediumorchid4"},
+ {{147, 112, 219}, "mediumpurple"},
+ {{171, 130, 255}, "mediumpurple1"},
+ {{159, 121, 238}, "mediumpurple2"},
+ {{137, 104, 205}, "mediumpurple3"},
+ {{93, 71, 139}, "mediumpurple4"},
+ {{60, 179, 113}, "mediumseagreen"},
+ {{123, 104, 238}, "mediumslateblue"},
+ {{0, 250, 154}, "mediumspringgreen"},
+ {{72, 209, 204}, "mediumturquoise"},
+ {{199, 21, 133}, "mediumvioletred"},
+ {{25, 25, 112}, "midnightblue"},
+ {{245, 255, 250}, "mintcream"},
+ {{255, 228, 225}, "mistyrose"},
+ {{255, 228, 225}, "mistyrose1"},
+ {{238, 213, 210}, "mistyrose2"},
+ {{205, 183, 181}, "mistyrose3"},
+ {{139, 125, 123}, "mistyrose4"},
+ {{255, 228, 181}, "moccasin"},
+ {{255, 222, 173}, "navajowhite"},
+ {{255, 222, 173}, "navajowhite1"},
+ {{238, 207, 161}, "navajowhite2"},
+ {{205, 179, 139}, "navajowhite3"},
+ {{139, 121, 94}, "navajowhite4"},
+ {{0, 0, 128}, "navy"},
+ {{0, 0, 128}, "navyblue"},
+ {{253, 245, 230}, "oldlace"},
+ {{128, 128, 0}, "olive"},
+ {{107, 142, 35}, "olivedrab"},
+ {{192, 255, 62}, "olivedrab1"},
+ {{179, 238, 58}, "olivedrab2"},
+ {{154, 205, 50}, "olivedrab3"},
+ {{105, 139, 34}, "olivedrab4"},
+ {{255, 165, 0}, "orange"},
+ {{255, 165, 0}, "orange1"},
+ {{238, 154, 0}, "orange2"},
+ {{205, 133, 0}, "orange3"},
+ {{139, 90, 0}, "orange4"},
+ {{255, 69, 0}, "orangered"},
+ {{255, 69, 0}, "orangered1"},
+ {{238, 64, 0}, "orangered2"},
+ {{205, 55, 0}, "orangered3"},
+ {{139, 37, 0}, "orangered4"},
+ {{218, 112, 214}, "orchid"},
+ {{255, 131, 250}, "orchid1"},
+ {{238, 122, 233}, "orchid2"},
+ {{205, 105, 201}, "orchid3"},
+ {{139, 71, 137}, "orchid4"},
+ {{238, 232, 170}, "palegoldenrod"},
+ {{152, 251, 152}, "palegreen"},
+ {{154, 255, 154}, "palegreen1"},
+ {{144, 238, 144}, "palegreen2"},
+ {{124, 205, 124}, "palegreen3"},
+ {{84, 139, 84}, "palegreen4"},
+ {{175, 238, 238}, "paleturquoise"},
+ {{187, 255, 255}, "paleturquoise1"},
+ {{174, 238, 238}, "paleturquoise2"},
+ {{150, 205, 205}, "paleturquoise3"},
+ {{102, 139, 139}, "paleturquoise4"},
+ {{219, 112, 147}, "palevioletred"},
+ {{255, 130, 171}, "palevioletred1"},
+ {{238, 121, 159}, "palevioletred2"},
+ {{205, 104, 137}, "palevioletred3"},
+ {{139, 71, 93}, "palevioletred4"},
+ {{255, 239, 213}, "papayawhip"},
+ {{255, 218, 185}, "peachpuff"},
+ {{255, 218, 185}, "peachpuff1"},
+ {{238, 203, 173}, "peachpuff2"},
+ {{205, 175, 149}, "peachpuff3"},
+ {{139, 119, 101}, "peachpuff4"},
+ {{205, 133, 63}, "peru"},
+ {{255, 192, 203}, "pink"},
+ {{255, 181, 197}, "pink1"},
+ {{238, 169, 184}, "pink2"},
+ {{205, 145, 158}, "pink3"},
+ {{139, 99, 108}, "pink4"},
+ {{221, 160, 221}, "plum"},
+ {{255, 187, 255}, "plum1"},
+ {{238, 174, 238}, "plum2"},
+ {{205, 150, 205}, "plum3"},
+ {{139, 102, 139}, "plum4"},
+ {{176, 224, 230}, "powderblue"},
+ {{160, 32, 240}, "purple"},
+ {{155, 48, 255}, "purple1"},
+ {{145, 44, 238}, "purple2"},
+ {{125, 38, 205}, "purple3"},
+ {{85, 26, 139}, "purple4"},
+ {{102, 51, 153}, "rebeccapurple"},
+ {{255, 0, 0}, "red"},
+ {{255, 0, 0}, "red1"},
+ {{238, 0, 0}, "red2"},
+ {{205, 0, 0}, "red3"},
+ {{139, 0, 0}, "red4"},
+ {{188, 143, 143}, "rosybrown"},
+ {{255, 193, 193}, "rosybrown1"},
+ {{238, 180, 180}, "rosybrown2"},
+ {{205, 155, 155}, "rosybrown3"},
+ {{139, 105, 105}, "rosybrown4"},
+ {{65, 105, 225}, "royalblue"},
+ {{72, 118, 255}, "royalblue1"},
+ {{67, 110, 238}, "royalblue2"},
+ {{58, 95, 205}, "royalblue3"},
+ {{39, 64, 139}, "royalblue4"},
+ {{139, 69, 19}, "saddlebrown"},
+ {{250, 128, 114}, "salmon"},
+ {{255, 140, 105}, "salmon1"},
+ {{238, 130, 98}, "salmon2"},
+ {{205, 112, 84}, "salmon3"},
+ {{139, 76, 57}, "salmon4"},
+ {{244, 164, 96}, "sandybrown"},
+ {{46, 139, 87}, "seagreen"},
+ {{84, 255, 159}, "seagreen1"},
+ {{78, 238, 148}, "seagreen2"},
+ {{67, 205, 128}, "seagreen3"},
+ {{46, 139, 87}, "seagreen4"},
+ {{255, 245, 238}, "seashell"},
+ {{255, 245, 238}, "seashell1"},
+ {{238, 229, 222}, "seashell2"},
+ {{205, 197, 191}, "seashell3"},
+ {{139, 134, 130}, "seashell4"},
+ {{160, 82, 45}, "sienna"},
+ {{255, 130, 71}, "sienna1"},
+ {{238, 121, 66}, "sienna2"},
+ {{205, 104, 57}, "sienna3"},
+ {{139, 71, 38}, "sienna4"},
+ {{192, 192, 192}, "silver"},
+ {{135, 206, 235}, "skyblue"},
+ {{135, 206, 255}, "skyblue1"},
+ {{126, 192, 238}, "skyblue2"},
+ {{108, 166, 205}, "skyblue3"},
+ {{74, 112, 139}, "skyblue4"},
+ {{106, 90, 205}, "slateblue"},
+ {{131, 111, 255}, "slateblue1"},
+ {{122, 103, 238}, "slateblue2"},
+ {{105, 89, 205}, "slateblue3"},
+ {{71, 60, 139}, "slateblue4"},
+ {{112, 128, 144}, "slategray"},
+ {{198, 226, 255}, "slategray1"},
+ {{185, 211, 238}, "slategray2"},
+ {{159, 182, 205}, "slategray3"},
+ {{108, 123, 139}, "slategray4"},
+ {{112, 128, 144}, "slategrey"},
+ {{255, 250, 250}, "snow"},
+ {{255, 250, 250}, "snow1"},
+ {{238, 233, 233}, "snow2"},
+ {{205, 201, 201}, "snow3"},
+ {{139, 137, 137}, "snow4"},
+ {{0, 255, 127}, "springgreen"},
+ {{0, 255, 127}, "springgreen1"},
+ {{0, 238, 118}, "springgreen2"},
+ {{0, 205, 102}, "springgreen3"},
+ {{0, 139, 69}, "springgreen4"},
+ {{70, 130, 180}, "steelblue"},
+ {{99, 184, 255}, "steelblue1"},
+ {{92, 172, 238}, "steelblue2"},
+ {{79, 148, 205}, "steelblue3"},
+ {{54, 100, 139}, "steelblue4"},
+ {{210, 180, 140}, "tan"},
+ {{255, 165, 79}, "tan1"},
+ {{238, 154, 73}, "tan2"},
+ {{205, 133, 63}, "tan3"},
+ {{139, 90, 43}, "tan4"},
+ {{0, 128, 128}, "teal"},
+ {{216, 191, 216}, "thistle"},
+ {{255, 225, 255}, "thistle1"},
+ {{238, 210, 238}, "thistle2"},
+ {{205, 181, 205}, "thistle3"},
+ {{139, 123, 139}, "thistle4"},
+ {{255, 99, 71}, "tomato"},
+ {{255, 99, 71}, "tomato1"},
+ {{238, 92, 66}, "tomato2"},
+ {{205, 79, 57}, "tomato3"},
+ {{139, 54, 38}, "tomato4"},
+ {{64, 224, 208}, "turquoise"},
+ {{0, 245, 255}, "turquoise1"},
+ {{0, 229, 238}, "turquoise2"},
+ {{0, 197, 205}, "turquoise3"},
+ {{0, 134, 139}, "turquoise4"},
+ {{238, 130, 238}, "violet"},
+ {{208, 32, 144}, "violetred"},
+ {{255, 62, 150}, "violetred1"},
+ {{238, 58, 140}, "violetred2"},
+ {{205, 50, 120}, "violetred3"},
+ {{139, 34, 82}, "violetred4"},
+ {{128, 128, 128}, "webgray"},
+ {{0, 128, 0}, "webgreen"},
+ {{128, 128, 128}, "webgrey"},
+ {{128, 0, 0}, "webmaroon"},
+ {{128, 0, 128}, "webpurple"},
+ {{245, 222, 179}, "wheat"},
+ {{255, 231, 186}, "wheat1"},
+ {{238, 216, 174}, "wheat2"},
+ {{205, 186, 150}, "wheat3"},
+ {{139, 126, 102}, "wheat4"},
+ {{255, 255, 255}, "white"},
+ {{245, 245, 245}, "whitesmoke"},
+ {{190, 190, 190}, "x11gray"},
+ {{0, 255, 0}, "x11green"},
+ {{190, 190, 190}, "x11grey"},
+ {{176, 48, 96}, "x11maroon"},
+ {{160, 32, 240}, "x11purple"},
+ {{255, 255, 0}, "yellow"},
+ {{255, 255, 0}, "yellow1"},
+ {{238, 238, 0}, "yellow2"},
+ {{205, 205, 0}, "yellow3"},
+ {{139, 139, 0}, "yellow4"},
+ {{154, 205, 50}, "yellowgreen"},
};
+#ifdef __cplusplus
+}
+#endif
+
#endif /* SRC_LIBSERVER_HTML_COLORS_H_ */
diff --git a/src/libserver/html_entities.h b/src/libserver/html_entities.h
index 1079f2b0e..d659fc4aa 100644
--- a/src/libserver/html_entities.h
+++ b/src/libserver/html_entities.h
@@ -17,6 +17,10 @@
#ifndef RSPAMD_HTML_ENTITIES_H
#define RSPAMD_HTML_ENTITIES_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct _entity;
typedef struct _entity entity;
@@ -27,2131 +31,2135 @@ struct _entity {
};
static entity entities_defs[] = {
- {"szlig", 223, "\xc3\x9f"},
- {"prime", 8242, "\xe2\x80\xb2"},
- {"lnsim", 8934, "\xe2\x8b\xa6"},
- {"nvDash", 8877, "\xe2\x8a\xad"},
- {"isinsv", 8947, "\xe2\x8b\xb3"},
- {"notin", 8713, "\xe2\x88\x89"},
- {"becaus", 8757, "\xe2\x88\xb5"},
- {"Leftrightarrow", 8660, "\xe2\x87\x94"},
- {"EmptySmallSquare", 9723, "\xe2\x97\xbb"},
- {"SquareUnion", 8852, "\xe2\x8a\x94"},
- {"subdot", 10941, "\xe2\xaa\xbd"},
- {"Dstrok", 272, "\xc4\x90"},
- {"rrarr", 8649, "\xe2\x87\x89"},
- {"rArr", 8658, "\xe2\x87\x92"},
- {"Aacute", 193, "\xc3\x81"},
- {"kappa", 954, "\xce\xba"},
- {"Iopf", 120128, "\xf0\x9d\x95\x80"},
- {"hyphen", 8208, "\xe2\x80\x90"},
- {"rarrbfs", 10528, "\xe2\xa4\xa0"},
- {"supsetneqq", 10956, "\xe2\xab\x8c"},
- {"gacute", 501, "\xc7\xb5"},
- {"VeryThinSpace", 8202, "\xe2\x80\x8a"},
- {"tint", 8749, "\xe2\x88\xad"},
- {"ffr", 120099, "\xf0\x9d\x94\xa3"},
- {"kgreen", 312, "\xc4\xb8"},
- {"nis", 8956, "\xe2\x8b\xbc"},
- {"NotRightTriangleBar", 10704, "\xe2\xa7\x90\xcc\xb8"},
- {"Eogon", 280, "\xc4\x98"},
- {"lbrke", 10635, "\xe2\xa6\x8b"},
- {"phi", 966, "\xcf\x86"},
- {"notnivc", 8957, "\xe2\x8b\xbd"},
- {"utilde", 361, "\xc5\xa9"},
- {"Fopf", 120125, "\xf0\x9d\x94\xbd"},
- {"Vcy", 1042, "\xd0\x92"},
- {"erDot", 8787, "\xe2\x89\x93"},
- {"nsubE", 10949, "\xe2\xab\x85\xcc\xb8"},
- {"egrave", 232, "\xc3\xa8"},
- {"Lcedil", 315, "\xc4\xbb"},
- {"lharul", 10602, "\xe2\xa5\xaa"},
- {"middot", 183, "\xc2\xb7"},
- {"ggg", 8921, "\xe2\x8b\x99"},
- {"NestedLessLess", 8810, "\xe2\x89\xaa"},
- {"tau", 964, "\xcf\x84"},
- {"setmn", 8726, "\xe2\x88\x96"},
- {"frac78", 8542, "\xe2\x85\x9e"},
- {"para", 182, "\xc2\xb6"},
- {"Rcedil", 342, "\xc5\x96"},
- {"propto", 8733, "\xe2\x88\x9d"},
- {"sqsubset", 8847, "\xe2\x8a\x8f"},
- {"ensp", 8194, "\xe2\x80\x82"},
- {"boxvH", 9578, "\xe2\x95\xaa"},
- {"NotGreaterTilde", 8821, "\xe2\x89\xb5"},
- {"ffllig", 64260, "\xef\xac\x84"},
- {"kcedil", 311, "\xc4\xb7"},
- {"omega", 969, "\xcf\x89"},
- {"sime", 8771, "\xe2\x89\x83"},
- {"LeftTriangleEqual", 8884, "\xe2\x8a\xb4"},
- {"bsemi", 8271, "\xe2\x81\x8f"},
- {"rdquor", 8221, "\xe2\x80\x9d"},
- {"Utilde", 360, "\xc5\xa8"},
- {"bsol", 92, "\x5c"},
- {"risingdotseq", 8787, "\xe2\x89\x93"},
- {"ultri", 9720, "\xe2\x97\xb8"},
- {"rhov", 1009, "\xcf\xb1"},
- {"TildeEqual", 8771, "\xe2\x89\x83"},
- {"jukcy", 1108, "\xd1\x94"},
- {"perp", 8869, "\xe2\x8a\xa5"},
- {"capbrcup", 10825, "\xe2\xa9\x89"},
- {"ltrie", 8884, "\xe2\x8a\xb4"},
- {"LessTilde", 8818, "\xe2\x89\xb2"},
- {"popf", 120161, "\xf0\x9d\x95\xa1"},
- {"dbkarow", 10511, "\xe2\xa4\x8f"},
- {"roang", 10221, "\xe2\x9f\xad"},
- {"brvbar", 166, "\xc2\xa6"},
- {"CenterDot", 183, "\xc2\xb7"},
- {"notindot", 8949, "\xe2\x8b\xb5\xcc\xb8"},
- {"supmult", 10946, "\xe2\xab\x82"},
- {"multimap", 8888, "\xe2\x8a\xb8"},
- {"frac34", 190, "\xc2\xbe"},
- {"mapsto", 8614, "\xe2\x86\xa6"},
- {"flat", 9837, "\xe2\x99\xad"},
- {"updownarrow", 8597, "\xe2\x86\x95"},
- {"gne", 10888, "\xe2\xaa\x88"},
- {"nrarrc", 10547, "\xe2\xa4\xb3\xcc\xb8"},
- {"suphsol", 10185, "\xe2\x9f\x89"},
- {"nGtv", 8811, "\xe2\x89\xab\xcc\xb8"},
- {"hopf", 120153, "\xf0\x9d\x95\x99"},
- {"pointint", 10773, "\xe2\xa8\x95"},
- {"glj", 10916, "\xe2\xaa\xa4"},
- {"LeftDoubleBracket", 10214, "\xe2\x9f\xa6"},
- {"NotSupersetEqual", 8841, "\xe2\x8a\x89"},
- {"dot", 729, "\xcb\x99"},
- {"tbrk", 9140, "\xe2\x8e\xb4"},
- {"LeftUpDownVector", 10577, "\xe2\xa5\x91"},
- {"uml", 168, "\xc2\xa8"},
- {"bbrk", 9141, "\xe2\x8e\xb5"},
- {"nearrow", 8599, "\xe2\x86\x97"},
- {"backsimeq", 8909, "\xe2\x8b\x8d"},
- {"dblac", 733, "\xcb\x9d"},
- {"circleddash", 8861, "\xe2\x8a\x9d"},
- {"ldsh", 8626, "\xe2\x86\xb2"},
- {"sce", 10928, "\xe2\xaa\xb0"},
- {"angst", 197, "\xc3\x85"},
- {"yen", 165, "\xc2\xa5"},
- {"nsupE", 10950, "\xe2\xab\x86\xcc\xb8"},
- {"Uscr", 119984, "\xf0\x9d\x92\xb0"},
- {"subplus", 10943, "\xe2\xaa\xbf"},
- {"nleqq", 8806, "\xe2\x89\xa6\xcc\xb8"},
- {"nprcue", 8928, "\xe2\x8b\xa0"},
- {"Ocirc", 212, "\xc3\x94"},
- {"disin", 8946, "\xe2\x8b\xb2"},
- {"EqualTilde", 8770, "\xe2\x89\x82"},
- {"YUcy", 1070, "\xd0\xae"},
- {"Kscr", 119974, "\xf0\x9d\x92\xa6"},
- {"lg", 8822, "\xe2\x89\xb6"},
- {"nLeftrightarrow", 8654, "\xe2\x87\x8e"},
- {"eplus", 10865, "\xe2\xa9\xb1"},
- {"les", 10877, "\xe2\xa9\xbd"},
- {"sfr", 120112, "\xf0\x9d\x94\xb0"},
- {"HumpDownHump", 8782, "\xe2\x89\x8e"},
- {"Fouriertrf", 8497, "\xe2\x84\xb1"},
- {"Updownarrow", 8661, "\xe2\x87\x95"},
- {"nrarr", 8603, "\xe2\x86\x9b"},
- {"radic", 8730, "\xe2\x88\x9a"},
- {"gnap", 10890, "\xe2\xaa\x8a"},
- {"zeta", 950, "\xce\xb6"},
- {"Qscr", 119980, "\xf0\x9d\x92\xac"},
- {"NotRightTriangleEqual", 8941, "\xe2\x8b\xad"},
- {"nshortmid", 8740, "\xe2\x88\xa4"},
- {"SHCHcy", 1065, "\xd0\xa9"},
- {"piv", 982, "\xcf\x96"},
- {"angmsdaa", 10664, "\xe2\xa6\xa8"},
- {"curlywedge", 8911, "\xe2\x8b\x8f"},
- {"sqcaps", 8851, "\xe2\x8a\x93\xef\xb8\x80"},
- {"sum", 8721, "\xe2\x88\x91"},
- {"rarrtl", 8611, "\xe2\x86\xa3"},
- {"gescc", 10921, "\xe2\xaa\xa9"},
- {"sup", 8835, "\xe2\x8a\x83"},
- {"smid", 8739, "\xe2\x88\xa3"},
- {"cularr", 8630, "\xe2\x86\xb6"},
- {"olcross", 10683, "\xe2\xa6\xbb"},
- {"GT", 62, "\x3e"},
- {"scap", 10936, "\xe2\xaa\xb8"},
- {"capcup", 10823, "\xe2\xa9\x87"},
- {"NotSquareSubsetEqual", 8930, "\xe2\x8b\xa2"},
- {"uhblk", 9600, "\xe2\x96\x80"},
- {"latail", 10521, "\xe2\xa4\x99"},
- {"smtes", 10924, "\xe2\xaa\xac\xef\xb8\x80"},
- {"RoundImplies", 10608, "\xe2\xa5\xb0"},
- {"wreath", 8768, "\xe2\x89\x80"},
- {"curlyvee", 8910, "\xe2\x8b\x8e"},
- {"uscr", 120010, "\xf0\x9d\x93\x8a"},
- {"nleftrightarrow", 8622, "\xe2\x86\xae"},
- {"ucy", 1091, "\xd1\x83"},
- {"nvge", 8805, "\xe2\x89\xa5\xe2\x83\x92"},
- {"bnot", 8976, "\xe2\x8c\x90"},
- {"alefsym", 8501, "\xe2\x84\xb5"},
- {"star", 9734, "\xe2\x98\x86"},
- {"boxHd", 9572, "\xe2\x95\xa4"},
- {"vsubnE", 10955, "\xe2\xab\x8b\xef\xb8\x80"},
- {"Popf", 8473, "\xe2\x84\x99"},
- {"simgE", 10912, "\xe2\xaa\xa0"},
- {"upsilon", 965, "\xcf\x85"},
- {"NoBreak", 8288, "\xe2\x81\xa0"},
- {"realine", 8475, "\xe2\x84\x9b"},
- {"frac38", 8540, "\xe2\x85\x9c"},
- {"YAcy", 1071, "\xd0\xaf"},
- {"bnequiv", 8801, "\xe2\x89\xa1\xe2\x83\xa5"},
- {"cudarrr", 10549, "\xe2\xa4\xb5"},
- {"lsime", 10893, "\xe2\xaa\x8d"},
- {"lowbar", 95, "\x5f"},
- {"utdot", 8944, "\xe2\x8b\xb0"},
- {"ReverseElement", 8715, "\xe2\x88\x8b"},
- {"nshortparallel", 8742, "\xe2\x88\xa6"},
- {"DJcy", 1026, "\xd0\x82"},
- {"nsube", 8840, "\xe2\x8a\x88"},
- {"VDash", 8875, "\xe2\x8a\xab"},
- {"Ncaron", 327, "\xc5\x87"},
- {"LeftUpVector", 8639, "\xe2\x86\xbf"},
- {"Kcy", 1050, "\xd0\x9a"},
- {"NotLeftTriangleEqual", 8940, "\xe2\x8b\xac"},
- {"nvHarr", 10500, "\xe2\xa4\x84"},
- {"lotimes", 10804, "\xe2\xa8\xb4"},
- {"RightFloor", 8971, "\xe2\x8c\x8b"},
- {"succ", 8827, "\xe2\x89\xbb"},
- {"Ucy", 1059, "\xd0\xa3"},
- {"darr", 8595, "\xe2\x86\x93"},
- {"lbarr", 10508, "\xe2\xa4\x8c"},
- {"xfr", 120117, "\xf0\x9d\x94\xb5"},
- {"zopf", 120171, "\xf0\x9d\x95\xab"},
- {"Phi", 934, "\xce\xa6"},
- {"ord", 10845, "\xe2\xa9\x9d"},
- {"iinfin", 10716, "\xe2\xa7\x9c"},
- {"Xfr", 120091, "\xf0\x9d\x94\x9b"},
- {"qint", 10764, "\xe2\xa8\x8c"},
- {"Upsilon", 933, "\xce\xa5"},
- {"NotSubset", 8834, "\xe2\x8a\x82\xe2\x83\x92"},
- {"gfr", 120100, "\xf0\x9d\x94\xa4"},
- {"notnivb", 8958, "\xe2\x8b\xbe"},
- {"Afr", 120068, "\xf0\x9d\x94\x84"},
- {"ge", 8805, "\xe2\x89\xa5"},
- {"iexcl", 161, "\xc2\xa1"},
- {"dfr", 120097, "\xf0\x9d\x94\xa1"},
- {"rsaquo", 8250, "\xe2\x80\xba"},
- {"xcap", 8898, "\xe2\x8b\x82"},
- {"Jopf", 120129, "\xf0\x9d\x95\x81"},
- {"Hstrok", 294, "\xc4\xa6"},
- {"ldca", 10550, "\xe2\xa4\xb6"},
- {"lmoust", 9136, "\xe2\x8e\xb0"},
- {"wcirc", 373, "\xc5\xb5"},
- {"DownRightVector", 8641, "\xe2\x87\x81"},
- {"LessFullEqual", 8806, "\xe2\x89\xa6"},
- {"dotsquare", 8865, "\xe2\x8a\xa1"},
- {"zhcy", 1078, "\xd0\xb6"},
- {"mDDot", 8762, "\xe2\x88\xba"},
- {"Prime", 8243, "\xe2\x80\xb3"},
- {"prec", 8826, "\xe2\x89\xba"},
- {"swnwar", 10538, "\xe2\xa4\xaa"},
- {"COPY", 169, "\xc2\xa9"},
- {"cong", 8773, "\xe2\x89\x85"},
- {"sacute", 347, "\xc5\x9b"},
- {"Nopf", 8469, "\xe2\x84\x95"},
- {"it", 8290, "\xe2\x81\xa2"},
- {"SOFTcy", 1068, "\xd0\xac"},
- {"uuarr", 8648, "\xe2\x87\x88"},
- {"iota", 953, "\xce\xb9"},
- {"notinE", 8953, "\xe2\x8b\xb9\xcc\xb8"},
- {"jfr", 120103, "\xf0\x9d\x94\xa7"},
- {"QUOT", 34, "\x22"},
- {"vsupnE", 10956, "\xe2\xab\x8c\xef\xb8\x80"},
- {"igrave", 236, "\xc3\xac"},
- {"bsim", 8765, "\xe2\x88\xbd"},
- {"npreceq", 10927, "\xe2\xaa\xaf\xcc\xb8"},
- {"zcaron", 382, "\xc5\xbe"},
- {"DD", 8517, "\xe2\x85\x85"},
- {"gamma", 947, "\xce\xb3"},
- {"homtht", 8763, "\xe2\x88\xbb"},
- {"NonBreakingSpace", 160, "\xc2\xa0"},
- {"Proportion", 8759, "\xe2\x88\xb7"},
- {"nedot", 8784, "\xe2\x89\x90\xcc\xb8"},
- {"nabla", 8711, "\xe2\x88\x87"},
- {"ac", 8766, "\xe2\x88\xbe"},
- {"nsupe", 8841, "\xe2\x8a\x89"},
- {"ell", 8467, "\xe2\x84\x93"},
- {"boxvR", 9566, "\xe2\x95\x9e"},
- {"LowerRightArrow", 8600, "\xe2\x86\x98"},
- {"boxHu", 9575, "\xe2\x95\xa7"},
- {"lE", 8806, "\xe2\x89\xa6"},
- {"dzigrarr", 10239, "\xe2\x9f\xbf"},
- {"rfloor", 8971, "\xe2\x8c\x8b"},
- {"gneq", 10888, "\xe2\xaa\x88"},
- {"rightleftharpoons", 8652, "\xe2\x87\x8c"},
- {"gtquest", 10876, "\xe2\xa9\xbc"},
- {"searhk", 10533, "\xe2\xa4\xa5"},
- {"gesdoto", 10882, "\xe2\xaa\x82"},
- {"cross", 10007, "\xe2\x9c\x97"},
- {"rdquo", 8221, "\xe2\x80\x9d"},
- {"sqsupset", 8848, "\xe2\x8a\x90"},
- {"divonx", 8903, "\xe2\x8b\x87"},
- {"lat", 10923, "\xe2\xaa\xab"},
- {"rmoustache", 9137, "\xe2\x8e\xb1"},
- {"succapprox", 10936, "\xe2\xaa\xb8"},
- {"nhpar", 10994, "\xe2\xab\xb2"},
- {"sharp", 9839, "\xe2\x99\xaf"},
- {"lrcorner", 8991, "\xe2\x8c\x9f"},
- {"Vscr", 119985, "\xf0\x9d\x92\xb1"},
- {"varsigma", 962, "\xcf\x82"},
- {"bsolb", 10693, "\xe2\xa7\x85"},
- {"cupcap", 10822, "\xe2\xa9\x86"},
- {"leftrightarrow", 8596, "\xe2\x86\x94"},
- {"LeftTee", 8867, "\xe2\x8a\xa3"},
- {"Sqrt", 8730, "\xe2\x88\x9a"},
- {"Odblac", 336, "\xc5\x90"},
- {"ocir", 8858, "\xe2\x8a\x9a"},
- {"eqslantless", 10901, "\xe2\xaa\x95"},
- {"supedot", 10948, "\xe2\xab\x84"},
- {"intercal", 8890, "\xe2\x8a\xba"},
- {"Gbreve", 286, "\xc4\x9e"},
- {"xrArr", 10233, "\xe2\x9f\xb9"},
- {"NotTildeEqual", 8772, "\xe2\x89\x84"},
- {"Bfr", 120069, "\xf0\x9d\x94\x85"},
- {"Iuml", 207, "\xc3\x8f"},
- {"leg", 8922, "\xe2\x8b\x9a"},
- {"boxhU", 9576, "\xe2\x95\xa8"},
- {"Gopf", 120126, "\xf0\x9d\x94\xbe"},
- {"af", 8289, "\xe2\x81\xa1"},
- {"xwedge", 8896, "\xe2\x8b\x80"},
- {"precapprox", 10935, "\xe2\xaa\xb7"},
- {"lcedil", 316, "\xc4\xbc"},
- {"between", 8812, "\xe2\x89\xac"},
- {"Oslash", 216, "\xc3\x98"},
- {"breve", 728, "\xcb\x98"},
- {"caps", 8745, "\xe2\x88\xa9\xef\xb8\x80"},
- {"vangrt", 10652, "\xe2\xa6\x9c"},
- {"lagran", 8466, "\xe2\x84\x92"},
- {"kopf", 120156, "\xf0\x9d\x95\x9c"},
- {"ReverseUpEquilibrium", 10607, "\xe2\xa5\xaf"},
- {"nlsim", 8820, "\xe2\x89\xb4"},
- {"Cap", 8914, "\xe2\x8b\x92"},
- {"angmsdac", 10666, "\xe2\xa6\xaa"},
- {"iocy", 1105, "\xd1\x91"},
- {"seswar", 10537, "\xe2\xa4\xa9"},
- {"dzcy", 1119, "\xd1\x9f"},
- {"nsubset", 8834, "\xe2\x8a\x82\xe2\x83\x92"},
- {"cup", 8746, "\xe2\x88\xaa"},
- {"npar", 8742, "\xe2\x88\xa6"},
- {"late", 10925, "\xe2\xaa\xad"},
- {"plussim", 10790, "\xe2\xa8\xa6"},
- {"Darr", 8609, "\xe2\x86\xa1"},
- {"nexist", 8708, "\xe2\x88\x84"},
- {"cent", 162, "\xc2\xa2"},
- {"khcy", 1093, "\xd1\x85"},
- {"smallsetminus", 8726, "\xe2\x88\x96"},
- {"ycirc", 375, "\xc5\xb7"},
- {"lharu", 8636, "\xe2\x86\xbc"},
- {"upuparrows", 8648, "\xe2\x87\x88"},
- {"sigmaf", 962, "\xcf\x82"},
- {"nltri", 8938, "\xe2\x8b\xaa"},
- {"mstpos", 8766, "\xe2\x88\xbe"},
- {"Zopf", 8484, "\xe2\x84\xa4"},
- {"dwangle", 10662, "\xe2\xa6\xa6"},
- {"bowtie", 8904, "\xe2\x8b\x88"},
- {"Dfr", 120071, "\xf0\x9d\x94\x87"},
- {"iacute", 237, "\xc3\xad"},
- {"njcy", 1114, "\xd1\x9a"},
- {"cfr", 120096, "\xf0\x9d\x94\xa0"},
- {"TripleDot", 8411, "\xe2\x83\x9b"},
- {"Or", 10836, "\xe2\xa9\x94"},
- {"blk34", 9619, "\xe2\x96\x93"},
- {"equiv", 8801, "\xe2\x89\xa1"},
- {"fflig", 64256, "\xef\xac\x80"},
- {"Rang", 10219, "\xe2\x9f\xab"},
- {"Wopf", 120142, "\xf0\x9d\x95\x8e"},
- {"boxUl", 9564, "\xe2\x95\x9c"},
- {"frac12", 189, "\xc2\xbd"},
- {"clubs", 9827, "\xe2\x99\xa3"},
- {"amalg", 10815, "\xe2\xa8\xbf"},
- {"Lang", 10218, "\xe2\x9f\xaa"},
- {"asymp", 8776, "\xe2\x89\x88"},
- {"models", 8871, "\xe2\x8a\xa7"},
- {"emptyset", 8709, "\xe2\x88\x85"},
- {"Tscr", 119983, "\xf0\x9d\x92\xaf"},
- {"nleftarrow", 8602, "\xe2\x86\x9a"},
- {"Omacr", 332, "\xc5\x8c"},
- {"gtrarr", 10616, "\xe2\xa5\xb8"},
- {"excl", 33, "\x21"},
- {"rarrw", 8605, "\xe2\x86\x9d"},
- {"abreve", 259, "\xc4\x83"},
- {"CircleTimes", 8855, "\xe2\x8a\x97"},
- {"aopf", 120146, "\xf0\x9d\x95\x92"},
- {"eqvparsl", 10725, "\xe2\xa7\xa5"},
- {"boxv", 9474, "\xe2\x94\x82"},
- {"SuchThat", 8715, "\xe2\x88\x8b"},
- {"varphi", 981, "\xcf\x95"},
- {"Ropf", 8477, "\xe2\x84\x9d"},
- {"rscr", 120007, "\xf0\x9d\x93\x87"},
- {"Rrightarrow", 8667, "\xe2\x87\x9b"},
- {"equest", 8799, "\xe2\x89\x9f"},
- {"ntilde", 241, "\xc3\xb1"},
- {"Escr", 8496, "\xe2\x84\xb0"},
- {"Lopf", 120131, "\xf0\x9d\x95\x83"},
- {"GreaterGreater", 10914, "\xe2\xaa\xa2"},
- {"pluscir", 10786, "\xe2\xa8\xa2"},
- {"nsupset", 8835, "\xe2\x8a\x83\xe2\x83\x92"},
- {"uArr", 8657, "\xe2\x87\x91"},
- {"nwarhk", 10531, "\xe2\xa4\xa3"},
- {"Ycirc", 374, "\xc5\xb6"},
- {"tdot", 8411, "\xe2\x83\x9b"},
- {"circledS", 9416, "\xe2\x93\x88"},
- {"lhard", 8637, "\xe2\x86\xbd"},
- {"iukcy", 1110, "\xd1\x96"},
- {"PrecedesSlantEqual", 8828, "\xe2\x89\xbc"},
- {"Sfr", 120086, "\xf0\x9d\x94\x96"},
- {"egs", 10902, "\xe2\xaa\x96"},
- {"oelig", 339, "\xc5\x93"},
- {"bigtriangledown", 9661, "\xe2\x96\xbd"},
- {"EmptyVerySmallSquare", 9643, "\xe2\x96\xab"},
- {"Backslash", 8726, "\xe2\x88\x96"},
- {"nscr", 120003, "\xf0\x9d\x93\x83"},
- {"uogon", 371, "\xc5\xb3"},
- {"circeq", 8791, "\xe2\x89\x97"},
- {"check", 10003, "\xe2\x9c\x93"},
- {"Sup", 8913, "\xe2\x8b\x91"},
- {"Rcaron", 344, "\xc5\x98"},
- {"lneqq", 8808, "\xe2\x89\xa8"},
- {"lrhar", 8651, "\xe2\x87\x8b"},
- {"ulcorn", 8988, "\xe2\x8c\x9c"},
- {"timesd", 10800, "\xe2\xa8\xb0"},
- {"Sum", 8721, "\xe2\x88\x91"},
- {"varpropto", 8733, "\xe2\x88\x9d"},
- {"Lcaron", 317, "\xc4\xbd"},
- {"lbrkslu", 10637, "\xe2\xa6\x8d"},
- {"AElig", 198, "\xc3\x86"},
- {"varr", 8597, "\xe2\x86\x95"},
- {"nvinfin", 10718, "\xe2\xa7\x9e"},
- {"leq", 8804, "\xe2\x89\xa4"},
- {"biguplus", 10756, "\xe2\xa8\x84"},
- {"rpar", 41, "\x29"},
- {"eng", 331, "\xc5\x8b"},
- {"NegativeThinSpace", 8203, "\xe2\x80\x8b"},
- {"lesssim", 8818, "\xe2\x89\xb2"},
- {"lBarr", 10510, "\xe2\xa4\x8e"},
- {"LeftUpTeeVector", 10592, "\xe2\xa5\xa0"},
- {"gnE", 8809, "\xe2\x89\xa9"},
- {"efr", 120098, "\xf0\x9d\x94\xa2"},
- {"barvee", 8893, "\xe2\x8a\xbd"},
- {"ee", 8519, "\xe2\x85\x87"},
- {"Uogon", 370, "\xc5\xb2"},
- {"gnapprox", 10890, "\xe2\xaa\x8a"},
- {"olcir", 10686, "\xe2\xa6\xbe"},
- {"boxUL", 9565, "\xe2\x95\x9d"},
- {"Gg", 8921, "\xe2\x8b\x99"},
- {"CloseCurlyQuote", 8217, "\xe2\x80\x99"},
- {"leftharpoondown", 8637, "\xe2\x86\xbd"},
- {"vfr", 120115, "\xf0\x9d\x94\xb3"},
- {"gvertneqq", 8809, "\xe2\x89\xa9\xef\xb8\x80"},
- {"ouml", 246, "\xc3\xb6"},
- {"raemptyv", 10675, "\xe2\xa6\xb3"},
- {"Zcaron", 381, "\xc5\xbd"},
- {"scE", 10932, "\xe2\xaa\xb4"},
- {"boxvh", 9532, "\xe2\x94\xbc"},
- {"ominus", 8854, "\xe2\x8a\x96"},
- {"oopf", 120160, "\xf0\x9d\x95\xa0"},
- {"nsucceq", 10928, "\xe2\xaa\xb0\xcc\xb8"},
- {"RBarr", 10512, "\xe2\xa4\x90"},
- {"iprod", 10812, "\xe2\xa8\xbc"},
- {"lvnE", 8808, "\xe2\x89\xa8\xef\xb8\x80"},
- {"andand", 10837, "\xe2\xa9\x95"},
- {"upharpoonright", 8638, "\xe2\x86\xbe"},
- {"ncongdot", 10861, "\xe2\xa9\xad\xcc\xb8"},
- {"drcrop", 8972, "\xe2\x8c\x8c"},
- {"nsimeq", 8772, "\xe2\x89\x84"},
- {"subsub", 10965, "\xe2\xab\x95"},
- {"hardcy", 1098, "\xd1\x8a"},
- {"leqslant", 10877, "\xe2\xa9\xbd"},
- {"uharl", 8639, "\xe2\x86\xbf"},
- {"expectation", 8496, "\xe2\x84\xb0"},
- {"mdash", 8212, "\xe2\x80\x94"},
- {"VerticalTilde", 8768, "\xe2\x89\x80"},
- {"rdldhar", 10601, "\xe2\xa5\xa9"},
- {"leftharpoonup", 8636, "\xe2\x86\xbc"},
- {"mu", 956, "\xce\xbc"},
- {"curarrm", 10556, "\xe2\xa4\xbc"},
- {"Cdot", 266, "\xc4\x8a"},
- {"NotTildeTilde", 8777, "\xe2\x89\x89"},
- {"boxul", 9496, "\xe2\x94\x98"},
- {"planckh", 8462, "\xe2\x84\x8e"},
- {"CapitalDifferentialD", 8517, "\xe2\x85\x85"},
- {"boxDL", 9559, "\xe2\x95\x97"},
- {"cupbrcap", 10824, "\xe2\xa9\x88"},
- {"boxdL", 9557, "\xe2\x95\x95"},
- {"supe", 8839, "\xe2\x8a\x87"},
- {"nvlt", 60, "\x3c\xe2\x83\x92"},
- {"par", 8741, "\xe2\x88\xa5"},
- {"InvisibleComma", 8291, "\xe2\x81\xa3"},
- {"ring", 730, "\xcb\x9a"},
- {"nvap", 8781, "\xe2\x89\x8d\xe2\x83\x92"},
- {"veeeq", 8794, "\xe2\x89\x9a"},
- {"Hfr", 8460, "\xe2\x84\x8c"},
- {"dstrok", 273, "\xc4\x91"},
- {"gesles", 10900, "\xe2\xaa\x94"},
- {"dash", 8208, "\xe2\x80\x90"},
- {"SHcy", 1064, "\xd0\xa8"},
- {"congdot", 10861, "\xe2\xa9\xad"},
- {"imagline", 8464, "\xe2\x84\x90"},
- {"ncy", 1085, "\xd0\xbd"},
- {"bigstar", 9733, "\xe2\x98\x85"},
- {"REG", 174, "\xc2\xae"},
- {"triangleq", 8796, "\xe2\x89\x9c"},
- {"rsqb", 93, "\x5d"},
- {"ddarr", 8650, "\xe2\x87\x8a"},
- {"csub", 10959, "\xe2\xab\x8f"},
- {"quest", 63, "\x3f"},
- {"Star", 8902, "\xe2\x8b\x86"},
- {"LT", 60, "\x3c"},
- {"ncong", 8775, "\xe2\x89\x87"},
- {"prnE", 10933, "\xe2\xaa\xb5"},
- {"bigtriangleup", 9651, "\xe2\x96\xb3"},
- {"Tilde", 8764, "\xe2\x88\xbc"},
- {"ltrif", 9666, "\xe2\x97\x82"},
- {"ldrdhar", 10599, "\xe2\xa5\xa7"},
- {"lcaron", 318, "\xc4\xbe"},
- {"equivDD", 10872, "\xe2\xa9\xb8"},
- {"lHar", 10594, "\xe2\xa5\xa2"},
- {"vBar", 10984, "\xe2\xab\xa8"},
- {"Mopf", 120132, "\xf0\x9d\x95\x84"},
- {"LeftArrow", 8592, "\xe2\x86\x90"},
- {"Rho", 929, "\xce\xa1"},
- {"Ccirc", 264, "\xc4\x88"},
- {"ifr", 120102, "\xf0\x9d\x94\xa6"},
- {"cacute", 263, "\xc4\x87"},
- {"centerdot", 183, "\xc2\xb7"},
- {"dollar", 36, "\x24"},
- {"lang", 10216, "\xe2\x9f\xa8"},
- {"curvearrowright", 8631, "\xe2\x86\xb7"},
- {"half", 189, "\xc2\xbd"},
- {"Ecy", 1069, "\xd0\xad"},
- {"rcub", 125, "\x7d"},
- {"rcy", 1088, "\xd1\x80"},
- {"isins", 8948, "\xe2\x8b\xb4"},
- {"bsolhsub", 10184, "\xe2\x9f\x88"},
- {"boxuL", 9563, "\xe2\x95\x9b"},
- {"shchcy", 1097, "\xd1\x89"},
- {"cwconint", 8754, "\xe2\x88\xb2"},
- {"euro", 8364, "\xe2\x82\xac"},
- {"lesseqqgtr", 10891, "\xe2\xaa\x8b"},
- {"sim", 8764, "\xe2\x88\xbc"},
- {"rarrc", 10547, "\xe2\xa4\xb3"},
- {"boxdl", 9488, "\xe2\x94\x90"},
- {"Epsilon", 917, "\xce\x95"},
- {"iiiint", 10764, "\xe2\xa8\x8c"},
- {"Rightarrow", 8658, "\xe2\x87\x92"},
- {"conint", 8750, "\xe2\x88\xae"},
- {"boxDl", 9558, "\xe2\x95\x96"},
- {"kappav", 1008, "\xcf\xb0"},
- {"profsurf", 8979, "\xe2\x8c\x93"},
- {"auml", 228, "\xc3\xa4"},
- {"heartsuit", 9829, "\xe2\x99\xa5"},
- {"eacute", 233, "\xc3\xa9"},
- {"gt", 62, "\x3e"},
- {"Gcedil", 290, "\xc4\xa2"},
- {"easter", 10862, "\xe2\xa9\xae"},
- {"Tcy", 1058, "\xd0\xa2"},
- {"swarrow", 8601, "\xe2\x86\x99"},
- {"lopf", 120157, "\xf0\x9d\x95\x9d"},
- {"Agrave", 192, "\xc3\x80"},
- {"Aring", 197, "\xc3\x85"},
- {"fpartint", 10765, "\xe2\xa8\x8d"},
- {"xoplus", 10753, "\xe2\xa8\x81"},
- {"LeftDownTeeVector", 10593, "\xe2\xa5\xa1"},
- {"int", 8747, "\xe2\x88\xab"},
- {"Zeta", 918, "\xce\x96"},
- {"loz", 9674, "\xe2\x97\x8a"},
- {"ncup", 10818, "\xe2\xa9\x82"},
- {"napE", 10864, "\xe2\xa9\xb0\xcc\xb8"},
- {"csup", 10960, "\xe2\xab\x90"},
- {"Ncedil", 325, "\xc5\x85"},
- {"cuwed", 8911, "\xe2\x8b\x8f"},
- {"Dot", 168, "\xc2\xa8"},
- {"SquareIntersection", 8851, "\xe2\x8a\x93"},
- {"map", 8614, "\xe2\x86\xa6"},
- {"aelig", 230, "\xc3\xa6"},
- {"RightArrow", 8594, "\xe2\x86\x92"},
- {"rightharpoondown", 8641, "\xe2\x87\x81"},
- {"bNot", 10989, "\xe2\xab\xad"},
- {"nsccue", 8929, "\xe2\x8b\xa1"},
- {"zigrarr", 8669, "\xe2\x87\x9d"},
- {"Sacute", 346, "\xc5\x9a"},
- {"orv", 10843, "\xe2\xa9\x9b"},
- {"RightVectorBar", 10579, "\xe2\xa5\x93"},
- {"nrarrw", 8605, "\xe2\x86\x9d\xcc\xb8"},
- {"nbump", 8782, "\xe2\x89\x8e\xcc\xb8"},
- {"iquest", 191, "\xc2\xbf"},
- {"wr", 8768, "\xe2\x89\x80"},
- {"UpArrow", 8593, "\xe2\x86\x91"},
- {"notinva", 8713, "\xe2\x88\x89"},
- {"ddagger", 8225, "\xe2\x80\xa1"},
- {"nLeftarrow", 8653, "\xe2\x87\x8d"},
- {"rbbrk", 10099, "\xe2\x9d\xb3"},
- {"RightTriangle", 8883, "\xe2\x8a\xb3"},
- {"leqq", 8806, "\xe2\x89\xa6"},
- {"Vert", 8214, "\xe2\x80\x96"},
- {"gesl", 8923, "\xe2\x8b\x9b\xef\xb8\x80"},
- {"LeftTeeVector", 10586, "\xe2\xa5\x9a"},
- {"Union", 8899, "\xe2\x8b\x83"},
- {"sc", 8827, "\xe2\x89\xbb"},
- {"ofr", 120108, "\xf0\x9d\x94\xac"},
- {"quatint", 10774, "\xe2\xa8\x96"},
- {"apacir", 10863, "\xe2\xa9\xaf"},
- {"profalar", 9006, "\xe2\x8c\xae"},
- {"subsetneq", 8842, "\xe2\x8a\x8a"},
- {"Vvdash", 8874, "\xe2\x8a\xaa"},
- {"ohbar", 10677, "\xe2\xa6\xb5"},
- {"Gt", 8811, "\xe2\x89\xab"},
- {"exist", 8707, "\xe2\x88\x83"},
- {"gtrapprox", 10886, "\xe2\xaa\x86"},
- {"euml", 235, "\xc3\xab"},
- {"Equilibrium", 8652, "\xe2\x87\x8c"},
- {"aacute", 225, "\xc3\xa1"},
- {"omid", 10678, "\xe2\xa6\xb6"},
- {"loarr", 8701, "\xe2\x87\xbd"},
- {"SucceedsSlantEqual", 8829, "\xe2\x89\xbd"},
- {"angsph", 8738, "\xe2\x88\xa2"},
- {"nsmid", 8740, "\xe2\x88\xa4"},
- {"lsquor", 8218, "\xe2\x80\x9a"},
- {"cemptyv", 10674, "\xe2\xa6\xb2"},
- {"rAarr", 8667, "\xe2\x87\x9b"},
- {"searr", 8600, "\xe2\x86\x98"},
- {"complexes", 8450, "\xe2\x84\x82"},
- {"UnderParenthesis", 9181, "\xe2\x8f\x9d"},
- {"nparsl", 11005, "\xe2\xab\xbd\xe2\x83\xa5"},
- {"Lacute", 313, "\xc4\xb9"},
- {"deg", 176, "\xc2\xb0"},
- {"Racute", 340, "\xc5\x94"},
- {"Verbar", 8214, "\xe2\x80\x96"},
- {"sqcups", 8852, "\xe2\x8a\x94\xef\xb8\x80"},
- {"Hopf", 8461, "\xe2\x84\x8d"},
- {"naturals", 8469, "\xe2\x84\x95"},
- {"Cedilla", 184, "\xc2\xb8"},
- {"exponentiale", 8519, "\xe2\x85\x87"},
- {"vnsup", 8835, "\xe2\x8a\x83\xe2\x83\x92"},
- {"leftrightarrows", 8646, "\xe2\x87\x86"},
- {"Laplacetrf", 8466, "\xe2\x84\x92"},
- {"vartriangleright", 8883, "\xe2\x8a\xb3"},
- {"rtri", 9657, "\xe2\x96\xb9"},
- {"gE", 8807, "\xe2\x89\xa7"},
- {"SmallCircle", 8728, "\xe2\x88\x98"},
- {"diamondsuit", 9830, "\xe2\x99\xa6"},
- {"Otilde", 213, "\xc3\x95"},
- {"lneq", 10887, "\xe2\xaa\x87"},
- {"lesdoto", 10881, "\xe2\xaa\x81"},
- {"ltquest", 10875, "\xe2\xa9\xbb"},
- {"thinsp", 8201, "\xe2\x80\x89"},
- {"barwed", 8965, "\xe2\x8c\x85"},
- {"elsdot", 10903, "\xe2\xaa\x97"},
- {"circ", 710, "\xcb\x86"},
- {"ni", 8715, "\xe2\x88\x8b"},
- {"mlcp", 10971, "\xe2\xab\x9b"},
- {"Vdash", 8873, "\xe2\x8a\xa9"},
- {"ShortRightArrow", 8594, "\xe2\x86\x92"},
- {"upharpoonleft", 8639, "\xe2\x86\xbf"},
- {"UnderBracket", 9141, "\xe2\x8e\xb5"},
- {"rAtail", 10524, "\xe2\xa4\x9c"},
- {"iopf", 120154, "\xf0\x9d\x95\x9a"},
- {"longleftarrow", 10229, "\xe2\x9f\xb5"},
- {"Zacute", 377, "\xc5\xb9"},
- {"duhar", 10607, "\xe2\xa5\xaf"},
- {"Mfr", 120080, "\xf0\x9d\x94\x90"},
- {"prnap", 10937, "\xe2\xaa\xb9"},
- {"eqcirc", 8790, "\xe2\x89\x96"},
- {"rarrlp", 8620, "\xe2\x86\xac"},
- {"le", 8804, "\xe2\x89\xa4"},
- {"Oscr", 119978, "\xf0\x9d\x92\xaa"},
- {"langd", 10641, "\xe2\xa6\x91"},
- {"Ucirc", 219, "\xc3\x9b"},
- {"precnapprox", 10937, "\xe2\xaa\xb9"},
- {"succcurlyeq", 8829, "\xe2\x89\xbd"},
- {"Tau", 932, "\xce\xa4"},
- {"larr", 8592, "\xe2\x86\x90"},
- {"neArr", 8663, "\xe2\x87\x97"},
- {"subsim", 10951, "\xe2\xab\x87"},
- {"DScy", 1029, "\xd0\x85"},
- {"preccurlyeq", 8828, "\xe2\x89\xbc"},
- {"NotLessLess", 8810, "\xe2\x89\xaa\xcc\xb8"},
- {"succnapprox", 10938, "\xe2\xaa\xba"},
- {"prcue", 8828, "\xe2\x89\xbc"},
- {"Downarrow", 8659, "\xe2\x87\x93"},
- {"angmsdah", 10671, "\xe2\xa6\xaf"},
- {"Emacr", 274, "\xc4\x92"},
- {"lsh", 8624, "\xe2\x86\xb0"},
- {"simne", 8774, "\xe2\x89\x86"},
- {"Bumpeq", 8782, "\xe2\x89\x8e"},
- {"RightUpTeeVector", 10588, "\xe2\xa5\x9c"},
- {"Sigma", 931, "\xce\xa3"},
- {"nvltrie", 8884, "\xe2\x8a\xb4\xe2\x83\x92"},
- {"lfr", 120105, "\xf0\x9d\x94\xa9"},
- {"emsp13", 8196, "\xe2\x80\x84"},
- {"parsl", 11005, "\xe2\xab\xbd"},
- {"ucirc", 251, "\xc3\xbb"},
- {"gsiml", 10896, "\xe2\xaa\x90"},
- {"xsqcup", 10758, "\xe2\xa8\x86"},
- {"Omicron", 927, "\xce\x9f"},
- {"gsime", 10894, "\xe2\xaa\x8e"},
- {"circlearrowleft", 8634, "\xe2\x86\xba"},
- {"sqsupe", 8850, "\xe2\x8a\x92"},
- {"supE", 10950, "\xe2\xab\x86"},
- {"dlcrop", 8973, "\xe2\x8c\x8d"},
- {"RightDownTeeVector", 10589, "\xe2\xa5\x9d"},
- {"Colone", 10868, "\xe2\xa9\xb4"},
- {"awconint", 8755, "\xe2\x88\xb3"},
- {"smte", 10924, "\xe2\xaa\xac"},
- {"lEg", 10891, "\xe2\xaa\x8b"},
- {"circledast", 8859, "\xe2\x8a\x9b"},
- {"ecolon", 8789, "\xe2\x89\x95"},
- {"rect", 9645, "\xe2\x96\xad"},
- {"Equal", 10869, "\xe2\xa9\xb5"},
- {"nwnear", 10535, "\xe2\xa4\xa7"},
- {"capdot", 10816, "\xe2\xa9\x80"},
- {"straightphi", 981, "\xcf\x95"},
- {"forkv", 10969, "\xe2\xab\x99"},
- {"ZHcy", 1046, "\xd0\x96"},
- {"Element", 8712, "\xe2\x88\x88"},
- {"rthree", 8908, "\xe2\x8b\x8c"},
- {"vzigzag", 10650, "\xe2\xa6\x9a"},
- {"hybull", 8259, "\xe2\x81\x83"},
- {"intprod", 10812, "\xe2\xa8\xbc"},
- {"HumpEqual", 8783, "\xe2\x89\x8f"},
- {"bigsqcup", 10758, "\xe2\xa8\x86"},
- {"mp", 8723, "\xe2\x88\x93"},
- {"lescc", 10920, "\xe2\xaa\xa8"},
- {"NotPrecedes", 8832, "\xe2\x8a\x80"},
- {"wedge", 8743, "\xe2\x88\xa7"},
- {"Supset", 8913, "\xe2\x8b\x91"},
- {"pm", 177, "\xc2\xb1"},
- {"kfr", 120104, "\xf0\x9d\x94\xa8"},
- {"ufisht", 10622, "\xe2\xa5\xbe"},
- {"ecaron", 283, "\xc4\x9b"},
- {"chcy", 1095, "\xd1\x87"},
- {"Esim", 10867, "\xe2\xa9\xb3"},
- {"fltns", 9649, "\xe2\x96\xb1"},
- {"nsce", 10928, "\xe2\xaa\xb0\xcc\xb8"},
- {"hookrightarrow", 8618, "\xe2\x86\xaa"},
- {"semi", 59, "\x3b"},
- {"ges", 10878, "\xe2\xa9\xbe"},
- {"approxeq", 8778, "\xe2\x89\x8a"},
- {"rarrsim", 10612, "\xe2\xa5\xb4"},
- {"boxhD", 9573, "\xe2\x95\xa5"},
- {"varpi", 982, "\xcf\x96"},
- {"larrb", 8676, "\xe2\x87\xa4"},
- {"copf", 120148, "\xf0\x9d\x95\x94"},
- {"Dopf", 120123, "\xf0\x9d\x94\xbb"},
- {"LeftVector", 8636, "\xe2\x86\xbc"},
- {"iff", 8660, "\xe2\x87\x94"},
- {"lnap", 10889, "\xe2\xaa\x89"},
- {"NotGreaterFullEqual", 8807, "\xe2\x89\xa7\xcc\xb8"},
- {"varrho", 1009, "\xcf\xb1"},
- {"NotSucceeds", 8833, "\xe2\x8a\x81"},
- {"ltrPar", 10646, "\xe2\xa6\x96"},
- {"nlE", 8806, "\xe2\x89\xa6\xcc\xb8"},
- {"Zfr", 8488, "\xe2\x84\xa8"},
- {"LeftArrowBar", 8676, "\xe2\x87\xa4"},
- {"boxplus", 8862, "\xe2\x8a\x9e"},
- {"sqsube", 8849, "\xe2\x8a\x91"},
- {"Re", 8476, "\xe2\x84\x9c"},
- {"Wfr", 120090, "\xf0\x9d\x94\x9a"},
- {"epsi", 949, "\xce\xb5"},
- {"oacute", 243, "\xc3\xb3"},
- {"bdquo", 8222, "\xe2\x80\x9e"},
- {"wscr", 120012, "\xf0\x9d\x93\x8c"},
- {"bullet", 8226, "\xe2\x80\xa2"},
- {"frown", 8994, "\xe2\x8c\xa2"},
- {"siml", 10909, "\xe2\xaa\x9d"},
- {"Rarr", 8608, "\xe2\x86\xa0"},
- {"Scaron", 352, "\xc5\xa0"},
- {"gtreqqless", 10892, "\xe2\xaa\x8c"},
- {"Larr", 8606, "\xe2\x86\x9e"},
- {"notniva", 8716, "\xe2\x88\x8c"},
- {"gg", 8811, "\xe2\x89\xab"},
- {"phmmat", 8499, "\xe2\x84\xb3"},
- {"boxVL", 9571, "\xe2\x95\xa3"},
- {"sigmav", 962, "\xcf\x82"},
- {"order", 8500, "\xe2\x84\xb4"},
- {"subsup", 10963, "\xe2\xab\x93"},
- {"afr", 120094, "\xf0\x9d\x94\x9e"},
- {"lbrace", 123, "\x7b"},
- {"urcorn", 8989, "\xe2\x8c\x9d"},
- {"Im", 8465, "\xe2\x84\x91"},
- {"CounterClockwiseContourIntegral", 8755, "\xe2\x88\xb3"},
- {"lne", 10887, "\xe2\xaa\x87"},
- {"chi", 967, "\xcf\x87"},
- {"cudarrl", 10552, "\xe2\xa4\xb8"},
- {"ang", 8736, "\xe2\x88\xa0"},
- {"isindot", 8949, "\xe2\x8b\xb5"},
- {"Lfr", 120079, "\xf0\x9d\x94\x8f"},
- {"Rsh", 8625, "\xe2\x86\xb1"},
- {"Ocy", 1054, "\xd0\x9e"},
- {"nvrArr", 10499, "\xe2\xa4\x83"},
- {"otimes", 8855, "\xe2\x8a\x97"},
- {"eqslantgtr", 10902, "\xe2\xaa\x96"},
- {"Rfr", 8476, "\xe2\x84\x9c"},
- {"blacktriangleleft", 9666, "\xe2\x97\x82"},
- {"Lsh", 8624, "\xe2\x86\xb0"},
- {"boxvr", 9500, "\xe2\x94\x9c"},
- {"scedil", 351, "\xc5\x9f"},
- {"iuml", 239, "\xc3\xaf"},
- {"NJcy", 1034, "\xd0\x8a"},
- {"Dagger", 8225, "\xe2\x80\xa1"},
- {"rarrap", 10613, "\xe2\xa5\xb5"},
- {"udblac", 369, "\xc5\xb1"},
- {"Sopf", 120138, "\xf0\x9d\x95\x8a"},
- {"scnsim", 8937, "\xe2\x8b\xa9"},
- {"hbar", 8463, "\xe2\x84\x8f"},
- {"frac15", 8533, "\xe2\x85\x95"},
- {"sup3", 179, "\xc2\xb3"},
- {"NegativeThickSpace", 8203, "\xe2\x80\x8b"},
- {"npr", 8832, "\xe2\x8a\x80"},
- {"doteq", 8784, "\xe2\x89\x90"},
- {"subrarr", 10617, "\xe2\xa5\xb9"},
- {"SquareSubset", 8847, "\xe2\x8a\x8f"},
- {"vprop", 8733, "\xe2\x88\x9d"},
- {"OpenCurlyQuote", 8216, "\xe2\x80\x98"},
- {"supseteq", 8839, "\xe2\x8a\x87"},
- {"nRightarrow", 8655, "\xe2\x87\x8f"},
- {"Longleftarrow", 10232, "\xe2\x9f\xb8"},
- {"lsquo", 8216, "\xe2\x80\x98"},
- {"hstrok", 295, "\xc4\xa7"},
- {"NotTilde", 8769, "\xe2\x89\x81"},
- {"ogt", 10689, "\xe2\xa7\x81"},
- {"block", 9608, "\xe2\x96\x88"},
- {"minusd", 8760, "\xe2\x88\xb8"},
- {"esdot", 8784, "\xe2\x89\x90"},
- {"nsim", 8769, "\xe2\x89\x81"},
- {"scsim", 8831, "\xe2\x89\xbf"},
- {"boxVl", 9570, "\xe2\x95\xa2"},
- {"ltimes", 8905, "\xe2\x8b\x89"},
- {"thkap", 8776, "\xe2\x89\x88"},
- {"vnsub", 8834, "\xe2\x8a\x82\xe2\x83\x92"},
- {"thetasym", 977, "\xcf\x91"},
- {"eopf", 120150, "\xf0\x9d\x95\x96"},
- {"image", 8465, "\xe2\x84\x91"},
- {"doteqdot", 8785, "\xe2\x89\x91"},
- {"Udblac", 368, "\xc5\xb0"},
- {"gnsim", 8935, "\xe2\x8b\xa7"},
- {"yicy", 1111, "\xd1\x97"},
- {"vopf", 120167, "\xf0\x9d\x95\xa7"},
- {"DDotrahd", 10513, "\xe2\xa4\x91"},
- {"Iota", 921, "\xce\x99"},
- {"GJcy", 1027, "\xd0\x83"},
- {"rightthreetimes", 8908, "\xe2\x8b\x8c"},
- {"nrtri", 8939, "\xe2\x8b\xab"},
- {"TildeFullEqual", 8773, "\xe2\x89\x85"},
- {"Dcaron", 270, "\xc4\x8e"},
- {"ccaron", 269, "\xc4\x8d"},
- {"lacute", 314, "\xc4\xba"},
- {"VerticalBar", 8739, "\xe2\x88\xa3"},
- {"Igrave", 204, "\xc3\x8c"},
- {"boxH", 9552, "\xe2\x95\x90"},
- {"Pfr", 120083, "\xf0\x9d\x94\x93"},
- {"equals", 61, "\x3d"},
- {"rbrack", 93, "\x5d"},
- {"OverParenthesis", 9180, "\xe2\x8f\x9c"},
- {"in", 8712, "\xe2\x88\x88"},
- {"llcorner", 8990, "\xe2\x8c\x9e"},
- {"mcomma", 10793, "\xe2\xa8\xa9"},
- {"NotGreater", 8815, "\xe2\x89\xaf"},
- {"midcir", 10992, "\xe2\xab\xb0"},
- {"Edot", 278, "\xc4\x96"},
- {"oplus", 8853, "\xe2\x8a\x95"},
- {"geqq", 8807, "\xe2\x89\xa7"},
- {"curvearrowleft", 8630, "\xe2\x86\xb6"},
- {"Poincareplane", 8460, "\xe2\x84\x8c"},
- {"yscr", 120014, "\xf0\x9d\x93\x8e"},
- {"ccaps", 10829, "\xe2\xa9\x8d"},
- {"rpargt", 10644, "\xe2\xa6\x94"},
- {"topfork", 10970, "\xe2\xab\x9a"},
- {"Gamma", 915, "\xce\x93"},
- {"umacr", 363, "\xc5\xab"},
- {"frac13", 8531, "\xe2\x85\x93"},
- {"cirfnint", 10768, "\xe2\xa8\x90"},
- {"xlArr", 10232, "\xe2\x9f\xb8"},
- {"digamma", 989, "\xcf\x9d"},
- {"Hat", 94, "\x5e"},
- {"lates", 10925, "\xe2\xaa\xad\xef\xb8\x80"},
- {"lgE", 10897, "\xe2\xaa\x91"},
- {"commat", 64, "\x40"},
- {"NotPrecedesSlantEqual", 8928, "\xe2\x8b\xa0"},
- {"phone", 9742, "\xe2\x98\x8e"},
- {"Ecirc", 202, "\xc3\x8a"},
- {"lt", 60, "\x3c"},
- {"intcal", 8890, "\xe2\x8a\xba"},
- {"xdtri", 9661, "\xe2\x96\xbd"},
- {"Abreve", 258, "\xc4\x82"},
- {"gopf", 120152, "\xf0\x9d\x95\x98"},
- {"Xopf", 120143, "\xf0\x9d\x95\x8f"},
- {"Iacute", 205, "\xc3\x8d"},
- {"Aopf", 120120, "\xf0\x9d\x94\xb8"},
- {"gbreve", 287, "\xc4\x9f"},
- {"nleq", 8816, "\xe2\x89\xb0"},
- {"xopf", 120169, "\xf0\x9d\x95\xa9"},
- {"SquareSupersetEqual", 8850, "\xe2\x8a\x92"},
- {"NotLessTilde", 8820, "\xe2\x89\xb4"},
- {"SubsetEqual", 8838, "\xe2\x8a\x86"},
- {"Sc", 10940, "\xe2\xaa\xbc"},
- {"sdote", 10854, "\xe2\xa9\xa6"},
- {"loplus", 10797, "\xe2\xa8\xad"},
- {"zfr", 120119, "\xf0\x9d\x94\xb7"},
- {"subseteqq", 10949, "\xe2\xab\x85"},
- {"Vdashl", 10982, "\xe2\xab\xa6"},
- {"integers", 8484, "\xe2\x84\xa4"},
- {"Umacr", 362, "\xc5\xaa"},
- {"dopf", 120149, "\xf0\x9d\x95\x95"},
- {"RightDownVectorBar", 10581, "\xe2\xa5\x95"},
- {"angmsdaf", 10669, "\xe2\xa6\xad"},
- {"Jfr", 120077, "\xf0\x9d\x94\x8d"},
- {"bernou", 8492, "\xe2\x84\xac"},
- {"lceil", 8968, "\xe2\x8c\x88"},
- {"nvsim", 8764, "\xe2\x88\xbc\xe2\x83\x92"},
- {"NotSucceedsSlantEqual", 8929, "\xe2\x8b\xa1"},
- {"hearts", 9829, "\xe2\x99\xa5"},
- {"vee", 8744, "\xe2\x88\xa8"},
- {"LJcy", 1033, "\xd0\x89"},
- {"nlt", 8814, "\xe2\x89\xae"},
- {"because", 8757, "\xe2\x88\xb5"},
- {"hairsp", 8202, "\xe2\x80\x8a"},
- {"comma", 44, "\x2c"},
- {"iecy", 1077, "\xd0\xb5"},
- {"npre", 10927, "\xe2\xaa\xaf\xcc\xb8"},
- {"NotSquareSubset", 8847, "\xe2\x8a\x8f\xcc\xb8"},
- {"mscr", 120002, "\xf0\x9d\x93\x82"},
- {"jopf", 120155, "\xf0\x9d\x95\x9b"},
- {"bumpE", 10926, "\xe2\xaa\xae"},
- {"thicksim", 8764, "\xe2\x88\xbc"},
- {"Nfr", 120081, "\xf0\x9d\x94\x91"},
- {"yucy", 1102, "\xd1\x8e"},
- {"notinvc", 8950, "\xe2\x8b\xb6"},
- {"lstrok", 322, "\xc5\x82"},
- {"robrk", 10215, "\xe2\x9f\xa7"},
- {"LeftTriangleBar", 10703, "\xe2\xa7\x8f"},
- {"hksearow", 10533, "\xe2\xa4\xa5"},
- {"bigcap", 8898, "\xe2\x8b\x82"},
- {"udhar", 10606, "\xe2\xa5\xae"},
- {"Yscr", 119988, "\xf0\x9d\x92\xb4"},
- {"smeparsl", 10724, "\xe2\xa7\xa4"},
- {"NotLess", 8814, "\xe2\x89\xae"},
- {"dcaron", 271, "\xc4\x8f"},
- {"ange", 10660, "\xe2\xa6\xa4"},
- {"dHar", 10597, "\xe2\xa5\xa5"},
- {"UpperRightArrow", 8599, "\xe2\x86\x97"},
- {"trpezium", 9186, "\xe2\x8f\xa2"},
- {"boxminus", 8863, "\xe2\x8a\x9f"},
- {"notni", 8716, "\xe2\x88\x8c"},
- {"dtrif", 9662, "\xe2\x96\xbe"},
- {"nhArr", 8654, "\xe2\x87\x8e"},
- {"larrpl", 10553, "\xe2\xa4\xb9"},
- {"simeq", 8771, "\xe2\x89\x83"},
- {"geqslant", 10878, "\xe2\xa9\xbe"},
- {"RightUpVectorBar", 10580, "\xe2\xa5\x94"},
- {"nsc", 8833, "\xe2\x8a\x81"},
- {"div", 247, "\xc3\xb7"},
- {"orslope", 10839, "\xe2\xa9\x97"},
- {"lparlt", 10643, "\xe2\xa6\x93"},
- {"trie", 8796, "\xe2\x89\x9c"},
- {"cirmid", 10991, "\xe2\xab\xaf"},
- {"wp", 8472, "\xe2\x84\x98"},
- {"dagger", 8224, "\xe2\x80\xa0"},
- {"utri", 9653, "\xe2\x96\xb5"},
- {"supnE", 10956, "\xe2\xab\x8c"},
- {"eg", 10906, "\xe2\xaa\x9a"},
- {"LeftDownVector", 8643, "\xe2\x87\x83"},
- {"NotLessEqual", 8816, "\xe2\x89\xb0"},
- {"Bopf", 120121, "\xf0\x9d\x94\xb9"},
- {"LongLeftRightArrow", 10231, "\xe2\x9f\xb7"},
- {"Gfr", 120074, "\xf0\x9d\x94\x8a"},
- {"sqsubseteq", 8849, "\xe2\x8a\x91"},
- {"ograve", 242, "\xc3\xb2"},
- {"larrhk", 8617, "\xe2\x86\xa9"},
- {"sigma", 963, "\xcf\x83"},
- {"NotSquareSupersetEqual", 8931, "\xe2\x8b\xa3"},
- {"gvnE", 8809, "\xe2\x89\xa9\xef\xb8\x80"},
- {"timesbar", 10801, "\xe2\xa8\xb1"},
- {"Iukcy", 1030, "\xd0\x86"},
- {"bscr", 119991, "\xf0\x9d\x92\xb7"},
- {"Exists", 8707, "\xe2\x88\x83"},
- {"tscr", 120009, "\xf0\x9d\x93\x89"},
- {"tcy", 1090, "\xd1\x82"},
- {"nwarr", 8598, "\xe2\x86\x96"},
- {"hoarr", 8703, "\xe2\x87\xbf"},
- {"lnapprox", 10889, "\xe2\xaa\x89"},
- {"nu", 957, "\xce\xbd"},
- {"bcy", 1073, "\xd0\xb1"},
- {"ndash", 8211, "\xe2\x80\x93"},
- {"smt", 10922, "\xe2\xaa\xaa"},
- {"scaron", 353, "\xc5\xa1"},
- {"IOcy", 1025, "\xd0\x81"},
- {"Ifr", 8465, "\xe2\x84\x91"},
- {"cularrp", 10557, "\xe2\xa4\xbd"},
- {"lvertneqq", 8808, "\xe2\x89\xa8\xef\xb8\x80"},
- {"nlarr", 8602, "\xe2\x86\x9a"},
- {"colon", 58, "\x3a"},
- {"ddotseq", 10871, "\xe2\xa9\xb7"},
- {"zacute", 378, "\xc5\xba"},
- {"DoubleVerticalBar", 8741, "\xe2\x88\xa5"},
- {"larrfs", 10525, "\xe2\xa4\x9d"},
- {"NotExists", 8708, "\xe2\x88\x84"},
- {"geq", 8805, "\xe2\x89\xa5"},
- {"Ffr", 120073, "\xf0\x9d\x94\x89"},
- {"divide", 247, "\xc3\xb7"},
- {"blank", 9251, "\xe2\x90\xa3"},
- {"IEcy", 1045, "\xd0\x95"},
- {"ordm", 186, "\xc2\xba"},
- {"fopf", 120151, "\xf0\x9d\x95\x97"},
- {"ecir", 8790, "\xe2\x89\x96"},
- {"complement", 8705, "\xe2\x88\x81"},
- {"top", 8868, "\xe2\x8a\xa4"},
- {"DoubleContourIntegral", 8751, "\xe2\x88\xaf"},
- {"nisd", 8954, "\xe2\x8b\xba"},
- {"bcong", 8780, "\xe2\x89\x8c"},
- {"plusdu", 10789, "\xe2\xa8\xa5"},
- {"TildeTilde", 8776, "\xe2\x89\x88"},
- {"lnE", 8808, "\xe2\x89\xa8"},
- {"DoubleLongRightArrow", 10233, "\xe2\x9f\xb9"},
- {"nsubseteqq", 10949, "\xe2\xab\x85\xcc\xb8"},
- {"DownTeeArrow", 8615, "\xe2\x86\xa7"},
- {"Cscr", 119966, "\xf0\x9d\x92\x9e"},
- {"NegativeVeryThinSpace", 8203, "\xe2\x80\x8b"},
- {"emsp", 8195, "\xe2\x80\x83"},
- {"vartriangleleft", 8882, "\xe2\x8a\xb2"},
- {"ropar", 10630, "\xe2\xa6\x86"},
- {"checkmark", 10003, "\xe2\x9c\x93"},
- {"Ycy", 1067, "\xd0\xab"},
- {"supset", 8835, "\xe2\x8a\x83"},
- {"gneqq", 8809, "\xe2\x89\xa9"},
- {"Lstrok", 321, "\xc5\x81"},
- {"AMP", 38, "\x26"},
- {"acE", 8766, "\xe2\x88\xbe\xcc\xb3"},
- {"sqsupseteq", 8850, "\xe2\x8a\x92"},
- {"nle", 8816, "\xe2\x89\xb0"},
- {"nesear", 10536, "\xe2\xa4\xa8"},
- {"LeftDownVectorBar", 10585, "\xe2\xa5\x99"},
- {"Integral", 8747, "\xe2\x88\xab"},
- {"Beta", 914, "\xce\x92"},
- {"nvdash", 8876, "\xe2\x8a\xac"},
- {"nges", 10878, "\xe2\xa9\xbe\xcc\xb8"},
- {"demptyv", 10673, "\xe2\xa6\xb1"},
- {"eta", 951, "\xce\xb7"},
- {"GreaterSlantEqual", 10878, "\xe2\xa9\xbe"},
- {"ccedil", 231, "\xc3\xa7"},
- {"pfr", 120109, "\xf0\x9d\x94\xad"},
- {"bbrktbrk", 9142, "\xe2\x8e\xb6"},
- {"mcy", 1084, "\xd0\xbc"},
- {"Not", 10988, "\xe2\xab\xac"},
- {"qscr", 120006, "\xf0\x9d\x93\x86"},
- {"zwj", 8205, "\xe2\x80\x8d"},
- {"ntrianglerighteq", 8941, "\xe2\x8b\xad"},
- {"permil", 8240, "\xe2\x80\xb0"},
- {"squarf", 9642, "\xe2\x96\xaa"},
- {"apos", 39, "\x27"},
- {"lrm", 8206, "\xe2\x80\x8e"},
- {"male", 9794, "\xe2\x99\x82"},
- {"agrave", 224, "\xc3\xa0"},
- {"Lt", 8810, "\xe2\x89\xaa"},
- {"capand", 10820, "\xe2\xa9\x84"},
- {"aring", 229, "\xc3\xa5"},
- {"Jukcy", 1028, "\xd0\x84"},
- {"bumpe", 8783, "\xe2\x89\x8f"},
- {"dd", 8518, "\xe2\x85\x86"},
- {"tscy", 1094, "\xd1\x86"},
- {"oS", 9416, "\xe2\x93\x88"},
- {"succeq", 10928, "\xe2\xaa\xb0"},
- {"xharr", 10231, "\xe2\x9f\xb7"},
- {"pluse", 10866, "\xe2\xa9\xb2"},
- {"rfisht", 10621, "\xe2\xa5\xbd"},
- {"HorizontalLine", 9472, "\xe2\x94\x80"},
- {"DiacriticalAcute", 180, "\xc2\xb4"},
- {"hfr", 120101, "\xf0\x9d\x94\xa5"},
- {"preceq", 10927, "\xe2\xaa\xaf"},
- {"rationals", 8474, "\xe2\x84\x9a"},
- {"Auml", 196, "\xc3\x84"},
- {"LeftRightArrow", 8596, "\xe2\x86\x94"},
- {"blacktriangleright", 9656, "\xe2\x96\xb8"},
- {"dharr", 8642, "\xe2\x87\x82"},
- {"isin", 8712, "\xe2\x88\x88"},
- {"ldrushar", 10571, "\xe2\xa5\x8b"},
- {"squ", 9633, "\xe2\x96\xa1"},
- {"rbrksld", 10638, "\xe2\xa6\x8e"},
- {"bigwedge", 8896, "\xe2\x8b\x80"},
- {"swArr", 8665, "\xe2\x87\x99"},
- {"IJlig", 306, "\xc4\xb2"},
- {"harr", 8596, "\xe2\x86\x94"},
- {"range", 10661, "\xe2\xa6\xa5"},
- {"urtri", 9721, "\xe2\x97\xb9"},
- {"NotVerticalBar", 8740, "\xe2\x88\xa4"},
- {"ic", 8291, "\xe2\x81\xa3"},
- {"solbar", 9023, "\xe2\x8c\xbf"},
- {"approx", 8776, "\xe2\x89\x88"},
- {"SquareSuperset", 8848, "\xe2\x8a\x90"},
- {"numsp", 8199, "\xe2\x80\x87"},
- {"nLt", 8810, "\xe2\x89\xaa\xe2\x83\x92"},
- {"tilde", 732, "\xcb\x9c"},
- {"rlarr", 8644, "\xe2\x87\x84"},
- {"langle", 10216, "\xe2\x9f\xa8"},
- {"nleqslant", 10877, "\xe2\xa9\xbd\xcc\xb8"},
- {"Nacute", 323, "\xc5\x83"},
- {"NotLeftTriangle", 8938, "\xe2\x8b\xaa"},
- {"sopf", 120164, "\xf0\x9d\x95\xa4"},
- {"xmap", 10236, "\xe2\x9f\xbc"},
- {"supne", 8843, "\xe2\x8a\x8b"},
- {"Int", 8748, "\xe2\x88\xac"},
- {"nsupseteqq", 10950, "\xe2\xab\x86\xcc\xb8"},
- {"circlearrowright", 8635, "\xe2\x86\xbb"},
- {"NotCongruent", 8802, "\xe2\x89\xa2"},
- {"Scedil", 350, "\xc5\x9e"},
- {"raquo", 187, "\xc2\xbb"},
- {"ycy", 1099, "\xd1\x8b"},
- {"notinvb", 8951, "\xe2\x8b\xb7"},
- {"andv", 10842, "\xe2\xa9\x9a"},
- {"nap", 8777, "\xe2\x89\x89"},
- {"shcy", 1096, "\xd1\x88"},
- {"ssetmn", 8726, "\xe2\x88\x96"},
- {"downarrow", 8595, "\xe2\x86\x93"},
- {"gesdotol", 10884, "\xe2\xaa\x84"},
- {"Congruent", 8801, "\xe2\x89\xa1"},
- {"pound", 163, "\xc2\xa3"},
- {"ZeroWidthSpace", 8203, "\xe2\x80\x8b"},
- {"rdca", 10551, "\xe2\xa4\xb7"},
- {"rmoust", 9137, "\xe2\x8e\xb1"},
- {"zcy", 1079, "\xd0\xb7"},
- {"Square", 9633, "\xe2\x96\xa1"},
- {"subE", 10949, "\xe2\xab\x85"},
- {"infintie", 10717, "\xe2\xa7\x9d"},
- {"Cayleys", 8493, "\xe2\x84\xad"},
- {"lsaquo", 8249, "\xe2\x80\xb9"},
- {"realpart", 8476, "\xe2\x84\x9c"},
- {"nprec", 8832, "\xe2\x8a\x80"},
- {"RightTriangleBar", 10704, "\xe2\xa7\x90"},
- {"Kopf", 120130, "\xf0\x9d\x95\x82"},
- {"Ubreve", 364, "\xc5\xac"},
- {"Uopf", 120140, "\xf0\x9d\x95\x8c"},
- {"trianglelefteq", 8884, "\xe2\x8a\xb4"},
- {"rotimes", 10805, "\xe2\xa8\xb5"},
- {"qfr", 120110, "\xf0\x9d\x94\xae"},
- {"gtcc", 10919, "\xe2\xaa\xa7"},
- {"fnof", 402, "\xc6\x92"},
- {"tritime", 10811, "\xe2\xa8\xbb"},
- {"andslope", 10840, "\xe2\xa9\x98"},
- {"harrw", 8621, "\xe2\x86\xad"},
- {"NotSquareSuperset", 8848, "\xe2\x8a\x90\xcc\xb8"},
- {"Amacr", 256, "\xc4\x80"},
- {"OpenCurlyDoubleQuote", 8220, "\xe2\x80\x9c"},
- {"thorn", 254, "\xc3\xbe"},
- {"ordf", 170, "\xc2\xaa"},
- {"natur", 9838, "\xe2\x99\xae"},
- {"xi", 958, "\xce\xbe"},
- {"infin", 8734, "\xe2\x88\x9e"},
- {"nspar", 8742, "\xe2\x88\xa6"},
- {"Jcy", 1049, "\xd0\x99"},
- {"DownLeftTeeVector", 10590, "\xe2\xa5\x9e"},
- {"rbarr", 10509, "\xe2\xa4\x8d"},
- {"Xi", 926, "\xce\x9e"},
- {"bull", 8226, "\xe2\x80\xa2"},
- {"cuesc", 8927, "\xe2\x8b\x9f"},
- {"backcong", 8780, "\xe2\x89\x8c"},
- {"frac35", 8535, "\xe2\x85\x97"},
- {"hscr", 119997, "\xf0\x9d\x92\xbd"},
- {"LessEqualGreater", 8922, "\xe2\x8b\x9a"},
- {"Implies", 8658, "\xe2\x87\x92"},
- {"ETH", 208, "\xc3\x90"},
- {"Yacute", 221, "\xc3\x9d"},
- {"shy", 173, "\xc2\xad"},
- {"Rarrtl", 10518, "\xe2\xa4\x96"},
- {"sup1", 185, "\xc2\xb9"},
- {"reals", 8477, "\xe2\x84\x9d"},
- {"blacklozenge", 10731, "\xe2\xa7\xab"},
- {"ncedil", 326, "\xc5\x86"},
- {"Lambda", 923, "\xce\x9b"},
- {"uopf", 120166, "\xf0\x9d\x95\xa6"},
- {"bigodot", 10752, "\xe2\xa8\x80"},
- {"ubreve", 365, "\xc5\xad"},
- {"drbkarow", 10512, "\xe2\xa4\x90"},
- {"els", 10901, "\xe2\xaa\x95"},
- {"shortparallel", 8741, "\xe2\x88\xa5"},
- {"Pcy", 1055, "\xd0\x9f"},
- {"dsol", 10742, "\xe2\xa7\xb6"},
- {"supsim", 10952, "\xe2\xab\x88"},
- {"Longrightarrow", 10233, "\xe2\x9f\xb9"},
- {"ThickSpace", 8287, "\xe2\x81\x9f\xe2\x80\x8a"},
- {"Itilde", 296, "\xc4\xa8"},
- {"nparallel", 8742, "\xe2\x88\xa6"},
- {"And", 10835, "\xe2\xa9\x93"},
- {"boxhd", 9516, "\xe2\x94\xac"},
- {"Dashv", 10980, "\xe2\xab\xa4"},
- {"NotSuperset", 8835, "\xe2\x8a\x83\xe2\x83\x92"},
- {"Eta", 919, "\xce\x97"},
- {"Qopf", 8474, "\xe2\x84\x9a"},
- {"period", 46, "\x2e"},
- {"angmsd", 8737, "\xe2\x88\xa1"},
- {"fllig", 64258, "\xef\xac\x82"},
- {"cuvee", 8910, "\xe2\x8b\x8e"},
- {"wedbar", 10847, "\xe2\xa9\x9f"},
- {"Fscr", 8497, "\xe2\x84\xb1"},
- {"veebar", 8891, "\xe2\x8a\xbb"},
- {"Longleftrightarrow", 10234, "\xe2\x9f\xba"},
- {"reg", 174, "\xc2\xae"},
- {"NegativeMediumSpace", 8203, "\xe2\x80\x8b"},
- {"Upsi", 978, "\xcf\x92"},
- {"Mellintrf", 8499, "\xe2\x84\xb3"},
- {"boxHU", 9577, "\xe2\x95\xa9"},
- {"bne", 61, "\x3d\xe2\x83\xa5"},
- {"frac56", 8538, "\xe2\x85\x9a"},
- {"utrif", 9652, "\xe2\x96\xb4"},
- {"LeftTriangle", 8882, "\xe2\x8a\xb2"},
- {"nsime", 8772, "\xe2\x89\x84"},
- {"rcedil", 343, "\xc5\x97"},
- {"aogon", 261, "\xc4\x85"},
- {"uHar", 10595, "\xe2\xa5\xa3"},
- {"ForAll", 8704, "\xe2\x88\x80"},
- {"prE", 10931, "\xe2\xaa\xb3"},
- {"boxV", 9553, "\xe2\x95\x91"},
- {"softcy", 1100, "\xd1\x8c"},
- {"hercon", 8889, "\xe2\x8a\xb9"},
- {"lmoustache", 9136, "\xe2\x8e\xb0"},
- {"Product", 8719, "\xe2\x88\x8f"},
- {"lsimg", 10895, "\xe2\xaa\x8f"},
- {"verbar", 124, "\x7c"},
- {"ofcir", 10687, "\xe2\xa6\xbf"},
- {"curlyeqprec", 8926, "\xe2\x8b\x9e"},
- {"ldquo", 8220, "\xe2\x80\x9c"},
- {"bot", 8869, "\xe2\x8a\xa5"},
- {"Psi", 936, "\xce\xa8"},
- {"OElig", 338, "\xc5\x92"},
- {"DownRightVectorBar", 10583, "\xe2\xa5\x97"},
- {"minusb", 8863, "\xe2\x8a\x9f"},
- {"Iscr", 8464, "\xe2\x84\x90"},
- {"Tcedil", 354, "\xc5\xa2"},
- {"ffilig", 64259, "\xef\xac\x83"},
- {"Gcy", 1043, "\xd0\x93"},
- {"oline", 8254, "\xe2\x80\xbe"},
- {"bottom", 8869, "\xe2\x8a\xa5"},
- {"nVDash", 8879, "\xe2\x8a\xaf"},
- {"lessdot", 8918, "\xe2\x8b\x96"},
- {"cups", 8746, "\xe2\x88\xaa\xef\xb8\x80"},
- {"gla", 10917, "\xe2\xaa\xa5"},
- {"hellip", 8230, "\xe2\x80\xa6"},
- {"hookleftarrow", 8617, "\xe2\x86\xa9"},
- {"Cup", 8915, "\xe2\x8b\x93"},
- {"upsi", 965, "\xcf\x85"},
- {"DownArrowBar", 10515, "\xe2\xa4\x93"},
- {"lowast", 8727, "\xe2\x88\x97"},
- {"profline", 8978, "\xe2\x8c\x92"},
- {"ngsim", 8821, "\xe2\x89\xb5"},
- {"boxhu", 9524, "\xe2\x94\xb4"},
- {"operp", 10681, "\xe2\xa6\xb9"},
- {"cap", 8745, "\xe2\x88\xa9"},
- {"Hcirc", 292, "\xc4\xa4"},
- {"Ncy", 1053, "\xd0\x9d"},
- {"zeetrf", 8488, "\xe2\x84\xa8"},
- {"cuepr", 8926, "\xe2\x8b\x9e"},
- {"supsetneq", 8843, "\xe2\x8a\x8b"},
- {"lfloor", 8970, "\xe2\x8c\x8a"},
- {"ngtr", 8815, "\xe2\x89\xaf"},
- {"ccups", 10828, "\xe2\xa9\x8c"},
- {"pscr", 120005, "\xf0\x9d\x93\x85"},
- {"Cfr", 8493, "\xe2\x84\xad"},
- {"dtri", 9663, "\xe2\x96\xbf"},
- {"icirc", 238, "\xc3\xae"},
- {"leftarrow", 8592, "\xe2\x86\x90"},
- {"vdash", 8866, "\xe2\x8a\xa2"},
- {"leftrightharpoons", 8651, "\xe2\x87\x8b"},
- {"rightrightarrows", 8649, "\xe2\x87\x89"},
- {"strns", 175, "\xc2\xaf"},
- {"intlarhk", 10775, "\xe2\xa8\x97"},
- {"downharpoonright", 8642, "\xe2\x87\x82"},
- {"yacute", 253, "\xc3\xbd"},
- {"boxUr", 9561, "\xe2\x95\x99"},
- {"triangleleft", 9667, "\xe2\x97\x83"},
- {"DiacriticalDot", 729, "\xcb\x99"},
- {"thetav", 977, "\xcf\x91"},
- {"OverBracket", 9140, "\xe2\x8e\xb4"},
- {"PrecedesTilde", 8830, "\xe2\x89\xbe"},
- {"rtrie", 8885, "\xe2\x8a\xb5"},
- {"Scirc", 348, "\xc5\x9c"},
- {"vsupne", 8843, "\xe2\x8a\x8b\xef\xb8\x80"},
- {"OverBrace", 9182, "\xe2\x8f\x9e"},
- {"Yfr", 120092, "\xf0\x9d\x94\x9c"},
- {"scnE", 10934, "\xe2\xaa\xb6"},
- {"simlE", 10911, "\xe2\xaa\x9f"},
- {"Proportional", 8733, "\xe2\x88\x9d"},
- {"edot", 279, "\xc4\x97"},
- {"loang", 10220, "\xe2\x9f\xac"},
- {"gesdot", 10880, "\xe2\xaa\x80"},
- {"DownBreve", 785, "\xcc\x91"},
- {"pcy", 1087, "\xd0\xbf"},
- {"Succeeds", 8827, "\xe2\x89\xbb"},
- {"mfr", 120106, "\xf0\x9d\x94\xaa"},
- {"Leftarrow", 8656, "\xe2\x87\x90"},
- {"boxDr", 9555, "\xe2\x95\x93"},
- {"Nscr", 119977, "\xf0\x9d\x92\xa9"},
- {"diam", 8900, "\xe2\x8b\x84"},
- {"CHcy", 1063, "\xd0\xa7"},
- {"boxdr", 9484, "\xe2\x94\x8c"},
- {"rlm", 8207, "\xe2\x80\x8f"},
- {"Coproduct", 8720, "\xe2\x88\x90"},
- {"RightTeeArrow", 8614, "\xe2\x86\xa6"},
- {"tridot", 9708, "\xe2\x97\xac"},
- {"ldquor", 8222, "\xe2\x80\x9e"},
- {"sol", 47, "\x2f"},
- {"ecirc", 234, "\xc3\xaa"},
- {"DoubleLeftArrow", 8656, "\xe2\x87\x90"},
- {"Gscr", 119970, "\xf0\x9d\x92\xa2"},
- {"ap", 8776, "\xe2\x89\x88"},
- {"rbrke", 10636, "\xe2\xa6\x8c"},
- {"LeftFloor", 8970, "\xe2\x8c\x8a"},
- {"blk12", 9618, "\xe2\x96\x92"},
- {"Conint", 8751, "\xe2\x88\xaf"},
- {"triangledown", 9663, "\xe2\x96\xbf"},
- {"Icy", 1048, "\xd0\x98"},
- {"backprime", 8245, "\xe2\x80\xb5"},
- {"longleftrightarrow", 10231, "\xe2\x9f\xb7"},
- {"ntriangleleft", 8938, "\xe2\x8b\xaa"},
- {"copy", 169, "\xc2\xa9"},
- {"mapstodown", 8615, "\xe2\x86\xa7"},
- {"seArr", 8664, "\xe2\x87\x98"},
- {"ENG", 330, "\xc5\x8a"},
- {"DoubleRightArrow", 8658, "\xe2\x87\x92"},
- {"tfr", 120113, "\xf0\x9d\x94\xb1"},
- {"rharul", 10604, "\xe2\xa5\xac"},
- {"bfr", 120095, "\xf0\x9d\x94\x9f"},
- {"origof", 8886, "\xe2\x8a\xb6"},
- {"Therefore", 8756, "\xe2\x88\xb4"},
- {"glE", 10898, "\xe2\xaa\x92"},
- {"leftarrowtail", 8610, "\xe2\x86\xa2"},
- {"NotEqual", 8800, "\xe2\x89\xa0"},
- {"LeftCeiling", 8968, "\xe2\x8c\x88"},
- {"lArr", 8656, "\xe2\x87\x90"},
- {"subseteq", 8838, "\xe2\x8a\x86"},
- {"larrbfs", 10527, "\xe2\xa4\x9f"},
- {"Gammad", 988, "\xcf\x9c"},
- {"rtriltri", 10702, "\xe2\xa7\x8e"},
- {"Fcy", 1060, "\xd0\xa4"},
- {"Vopf", 120141, "\xf0\x9d\x95\x8d"},
- {"lrarr", 8646, "\xe2\x87\x86"},
- {"delta", 948, "\xce\xb4"},
- {"xodot", 10752, "\xe2\xa8\x80"},
- {"larrtl", 8610, "\xe2\x86\xa2"},
- {"gsim", 8819, "\xe2\x89\xb3"},
- {"ratail", 10522, "\xe2\xa4\x9a"},
- {"vsubne", 8842, "\xe2\x8a\x8a\xef\xb8\x80"},
- {"boxur", 9492, "\xe2\x94\x94"},
- {"succsim", 8831, "\xe2\x89\xbf"},
- {"triplus", 10809, "\xe2\xa8\xb9"},
- {"nless", 8814, "\xe2\x89\xae"},
- {"uharr", 8638, "\xe2\x86\xbe"},
- {"lambda", 955, "\xce\xbb"},
- {"uuml", 252, "\xc3\xbc"},
- {"horbar", 8213, "\xe2\x80\x95"},
- {"ccirc", 265, "\xc4\x89"},
- {"sqcup", 8852, "\xe2\x8a\x94"},
- {"Pscr", 119979, "\xf0\x9d\x92\xab"},
- {"supsup", 10966, "\xe2\xab\x96"},
- {"Cacute", 262, "\xc4\x86"},
- {"upsih", 978, "\xcf\x92"},
- {"precsim", 8830, "\xe2\x89\xbe"},
- {"longrightarrow", 10230, "\xe2\x9f\xb6"},
- {"circledR", 174, "\xc2\xae"},
- {"UpTeeArrow", 8613, "\xe2\x86\xa5"},
- {"bepsi", 1014, "\xcf\xb6"},
- {"oast", 8859, "\xe2\x8a\x9b"},
- {"yfr", 120118, "\xf0\x9d\x94\xb6"},
- {"rdsh", 8627, "\xe2\x86\xb3"},
- {"Ograve", 210, "\xc3\x92"},
- {"LeftVectorBar", 10578, "\xe2\xa5\x92"},
- {"NotNestedLessLess", 10913, "\xe2\xaa\xa1\xcc\xb8"},
- {"Jscr", 119973, "\xf0\x9d\x92\xa5"},
- {"psi", 968, "\xcf\x88"},
- {"orarr", 8635, "\xe2\x86\xbb"},
- {"Subset", 8912, "\xe2\x8b\x90"},
- {"curarr", 8631, "\xe2\x86\xb7"},
- {"CirclePlus", 8853, "\xe2\x8a\x95"},
- {"gtrless", 8823, "\xe2\x89\xb7"},
- {"nvle", 8804, "\xe2\x89\xa4\xe2\x83\x92"},
- {"prop", 8733, "\xe2\x88\x9d"},
- {"gEl", 10892, "\xe2\xaa\x8c"},
- {"gtlPar", 10645, "\xe2\xa6\x95"},
- {"frasl", 8260, "\xe2\x81\x84"},
- {"nearr", 8599, "\xe2\x86\x97"},
- {"NotSubsetEqual", 8840, "\xe2\x8a\x88"},
- {"planck", 8463, "\xe2\x84\x8f"},
- {"Uuml", 220, "\xc3\x9c"},
- {"spadesuit", 9824, "\xe2\x99\xa0"},
- {"sect", 167, "\xc2\xa7"},
- {"cdot", 267, "\xc4\x8b"},
- {"boxVh", 9579, "\xe2\x95\xab"},
- {"zscr", 120015, "\xf0\x9d\x93\x8f"},
- {"nsqsube", 8930, "\xe2\x8b\xa2"},
- {"grave", 96, "\x60"},
- {"angrtvb", 8894, "\xe2\x8a\xbe"},
- {"MediumSpace", 8287, "\xe2\x81\x9f"},
- {"Ntilde", 209, "\xc3\x91"},
- {"solb", 10692, "\xe2\xa7\x84"},
- {"angzarr", 9084, "\xe2\x8d\xbc"},
- {"nopf", 120159, "\xf0\x9d\x95\x9f"},
- {"rtrif", 9656, "\xe2\x96\xb8"},
- {"nrightarrow", 8603, "\xe2\x86\x9b"},
- {"Kappa", 922, "\xce\x9a"},
- {"simrarr", 10610, "\xe2\xa5\xb2"},
- {"imacr", 299, "\xc4\xab"},
- {"vrtri", 8883, "\xe2\x8a\xb3"},
- {"part", 8706, "\xe2\x88\x82"},
- {"esim", 8770, "\xe2\x89\x82"},
- {"atilde", 227, "\xc3\xa3"},
- {"DownRightTeeVector", 10591, "\xe2\xa5\x9f"},
- {"jcirc", 309, "\xc4\xb5"},
- {"Ecaron", 282, "\xc4\x9a"},
- {"VerticalSeparator", 10072, "\xe2\x9d\x98"},
- {"rHar", 10596, "\xe2\xa5\xa4"},
- {"rcaron", 345, "\xc5\x99"},
- {"subnE", 10955, "\xe2\xab\x8b"},
- {"ii", 8520, "\xe2\x85\x88"},
- {"Cconint", 8752, "\xe2\x88\xb0"},
- {"Mcy", 1052, "\xd0\x9c"},
- {"eqcolon", 8789, "\xe2\x89\x95"},
- {"cupor", 10821, "\xe2\xa9\x85"},
- {"DoubleUpArrow", 8657, "\xe2\x87\x91"},
- {"boxbox", 10697, "\xe2\xa7\x89"},
- {"setminus", 8726, "\xe2\x88\x96"},
- {"Lleftarrow", 8666, "\xe2\x87\x9a"},
- {"nang", 8736, "\xe2\x88\xa0\xe2\x83\x92"},
- {"TRADE", 8482, "\xe2\x84\xa2"},
- {"urcorner", 8989, "\xe2\x8c\x9d"},
- {"lsqb", 91, "\x5b"},
- {"cupcup", 10826, "\xe2\xa9\x8a"},
- {"kjcy", 1116, "\xd1\x9c"},
- {"llhard", 10603, "\xe2\xa5\xab"},
- {"mumap", 8888, "\xe2\x8a\xb8"},
- {"iiint", 8749, "\xe2\x88\xad"},
- {"RightTee", 8866, "\xe2\x8a\xa2"},
- {"Tcaron", 356, "\xc5\xa4"},
- {"bigcirc", 9711, "\xe2\x97\xaf"},
- {"trianglerighteq", 8885, "\xe2\x8a\xb5"},
- {"NotLessGreater", 8824, "\xe2\x89\xb8"},
- {"hArr", 8660, "\xe2\x87\x94"},
- {"ocy", 1086, "\xd0\xbe"},
- {"tosa", 10537, "\xe2\xa4\xa9"},
- {"twixt", 8812, "\xe2\x89\xac"},
- {"square", 9633, "\xe2\x96\xa1"},
- {"Otimes", 10807, "\xe2\xa8\xb7"},
- {"Kcedil", 310, "\xc4\xb6"},
- {"beth", 8502, "\xe2\x84\xb6"},
- {"triminus", 10810, "\xe2\xa8\xba"},
- {"nlArr", 8653, "\xe2\x87\x8d"},
- {"Oacute", 211, "\xc3\x93"},
- {"zwnj", 8204, "\xe2\x80\x8c"},
- {"ll", 8810, "\xe2\x89\xaa"},
- {"smashp", 10803, "\xe2\xa8\xb3"},
- {"ngeqq", 8807, "\xe2\x89\xa7\xcc\xb8"},
- {"rnmid", 10990, "\xe2\xab\xae"},
- {"nwArr", 8662, "\xe2\x87\x96"},
- {"RightUpDownVector", 10575, "\xe2\xa5\x8f"},
- {"lbbrk", 10098, "\xe2\x9d\xb2"},
- {"compfn", 8728, "\xe2\x88\x98"},
- {"eDDot", 10871, "\xe2\xa9\xb7"},
- {"Jsercy", 1032, "\xd0\x88"},
- {"HARDcy", 1066, "\xd0\xaa"},
- {"nexists", 8708, "\xe2\x88\x84"},
- {"theta", 952, "\xce\xb8"},
- {"plankv", 8463, "\xe2\x84\x8f"},
- {"sup2", 178, "\xc2\xb2"},
- {"lessapprox", 10885, "\xe2\xaa\x85"},
- {"gdot", 289, "\xc4\xa1"},
- {"angmsdae", 10668, "\xe2\xa6\xac"},
- {"Superset", 8835, "\xe2\x8a\x83"},
- {"prap", 10935, "\xe2\xaa\xb7"},
- {"Zscr", 119989, "\xf0\x9d\x92\xb5"},
- {"nsucc", 8833, "\xe2\x8a\x81"},
- {"supseteqq", 10950, "\xe2\xab\x86"},
- {"UpTee", 8869, "\xe2\x8a\xa5"},
- {"LowerLeftArrow", 8601, "\xe2\x86\x99"},
- {"ssmile", 8995, "\xe2\x8c\xa3"},
- {"niv", 8715, "\xe2\x88\x8b"},
- {"bigvee", 8897, "\xe2\x8b\x81"},
- {"kscr", 120000, "\xf0\x9d\x93\x80"},
- {"xutri", 9651, "\xe2\x96\xb3"},
- {"caret", 8257, "\xe2\x81\x81"},
- {"caron", 711, "\xcb\x87"},
- {"Wedge", 8896, "\xe2\x8b\x80"},
- {"sdotb", 8865, "\xe2\x8a\xa1"},
- {"bigoplus", 10753, "\xe2\xa8\x81"},
- {"Breve", 728, "\xcb\x98"},
- {"ImaginaryI", 8520, "\xe2\x85\x88"},
- {"longmapsto", 10236, "\xe2\x9f\xbc"},
- {"boxVH", 9580, "\xe2\x95\xac"},
- {"lozenge", 9674, "\xe2\x97\x8a"},
- {"toea", 10536, "\xe2\xa4\xa8"},
- {"nbumpe", 8783, "\xe2\x89\x8f\xcc\xb8"},
- {"gcirc", 285, "\xc4\x9d"},
- {"NotHumpEqual", 8783, "\xe2\x89\x8f\xcc\xb8"},
- {"pre", 10927, "\xe2\xaa\xaf"},
- {"ascr", 119990, "\xf0\x9d\x92\xb6"},
- {"Acirc", 194, "\xc3\x82"},
- {"questeq", 8799, "\xe2\x89\x9f"},
- {"ncaron", 328, "\xc5\x88"},
- {"LeftTeeArrow", 8612, "\xe2\x86\xa4"},
- {"xcirc", 9711, "\xe2\x97\xaf"},
- {"swarr", 8601, "\xe2\x86\x99"},
- {"MinusPlus", 8723, "\xe2\x88\x93"},
- {"plus", 43, "\x2b"},
- {"NotDoubleVerticalBar", 8742, "\xe2\x88\xa6"},
- {"rppolint", 10770, "\xe2\xa8\x92"},
- {"NotTildeFullEqual", 8775, "\xe2\x89\x87"},
- {"ltdot", 8918, "\xe2\x8b\x96"},
- {"NotNestedGreaterGreater", 10914, "\xe2\xaa\xa2\xcc\xb8"},
- {"Lscr", 8466, "\xe2\x84\x92"},
- {"pitchfork", 8916, "\xe2\x8b\x94"},
- {"Eopf", 120124, "\xf0\x9d\x94\xbc"},
- {"ropf", 120163, "\xf0\x9d\x95\xa3"},
- {"Delta", 916, "\xce\x94"},
- {"lozf", 10731, "\xe2\xa7\xab"},
- {"RightTeeVector", 10587, "\xe2\xa5\x9b"},
- {"UpDownArrow", 8597, "\xe2\x86\x95"},
- {"bump", 8782, "\xe2\x89\x8e"},
- {"Rscr", 8475, "\xe2\x84\x9b"},
- {"slarr", 8592, "\xe2\x86\x90"},
- {"lcy", 1083, "\xd0\xbb"},
- {"Vee", 8897, "\xe2\x8b\x81"},
- {"Iogon", 302, "\xc4\xae"},
- {"minus", 8722, "\xe2\x88\x92"},
- {"GreaterFullEqual", 8807, "\xe2\x89\xa7"},
- {"xhArr", 10234, "\xe2\x9f\xba"},
- {"shortmid", 8739, "\xe2\x88\xa3"},
- {"DoubleDownArrow", 8659, "\xe2\x87\x93"},
- {"Wscr", 119986, "\xf0\x9d\x92\xb2"},
- {"rang", 10217, "\xe2\x9f\xa9"},
- {"lcub", 123, "\x7b"},
- {"mnplus", 8723, "\xe2\x88\x93"},
- {"ulcrop", 8975, "\xe2\x8c\x8f"},
- {"wfr", 120116, "\xf0\x9d\x94\xb4"},
- {"DifferentialD", 8518, "\xe2\x85\x86"},
- {"ThinSpace", 8201, "\xe2\x80\x89"},
- {"NotGreaterGreater", 8811, "\xe2\x89\xab\xcc\xb8"},
- {"Topf", 120139, "\xf0\x9d\x95\x8b"},
- {"sbquo", 8218, "\xe2\x80\x9a"},
- {"sdot", 8901, "\xe2\x8b\x85"},
- {"DoubleLeftTee", 10980, "\xe2\xab\xa4"},
- {"vBarv", 10985, "\xe2\xab\xa9"},
- {"subne", 8842, "\xe2\x8a\x8a"},
- {"gtrdot", 8919, "\xe2\x8b\x97"},
- {"opar", 10679, "\xe2\xa6\xb7"},
- {"apid", 8779, "\xe2\x89\x8b"},
- {"Cross", 10799, "\xe2\xa8\xaf"},
- {"lhblk", 9604, "\xe2\x96\x84"},
- {"capcap", 10827, "\xe2\xa9\x8b"},
- {"midast", 42, "\x2a"},
- {"lscr", 120001, "\xf0\x9d\x93\x81"},
- {"nGt", 8811, "\xe2\x89\xab\xe2\x83\x92"},
- {"Euml", 203, "\xc3\x8b"},
- {"blacktriangledown", 9662, "\xe2\x96\xbe"},
- {"Rcy", 1056, "\xd0\xa0"},
- {"dfisht", 10623, "\xe2\xa5\xbf"},
- {"dashv", 8867, "\xe2\x8a\xa3"},
- {"ast", 42, "\x2a"},
- {"ContourIntegral", 8750, "\xe2\x88\xae"},
- {"Ofr", 120082, "\xf0\x9d\x94\x92"},
- {"Lcy", 1051, "\xd0\x9b"},
- {"nltrie", 8940, "\xe2\x8b\xac"},
- {"ShortUpArrow", 8593, "\xe2\x86\x91"},
- {"acy", 1072, "\xd0\xb0"},
- {"rightarrow", 8594, "\xe2\x86\x92"},
- {"UnderBar", 95, "\x5f"},
- {"LongLeftArrow", 10229, "\xe2\x9f\xb5"},
- {"andd", 10844, "\xe2\xa9\x9c"},
- {"xlarr", 10229, "\xe2\x9f\xb5"},
- {"percnt", 37, "\x25"},
- {"rharu", 8640, "\xe2\x87\x80"},
- {"plusdo", 8724, "\xe2\x88\x94"},
- {"TScy", 1062, "\xd0\xa6"},
- {"kcy", 1082, "\xd0\xba"},
- {"boxVR", 9568, "\xe2\x95\xa0"},
- {"looparrowleft", 8619, "\xe2\x86\xab"},
- {"scirc", 349, "\xc5\x9d"},
- {"drcorn", 8991, "\xe2\x8c\x9f"},
- {"iiota", 8489, "\xe2\x84\xa9"},
- {"Zcy", 1047, "\xd0\x97"},
- {"frac58", 8541, "\xe2\x85\x9d"},
- {"alpha", 945, "\xce\xb1"},
- {"daleth", 8504, "\xe2\x84\xb8"},
- {"gtreqless", 8923, "\xe2\x8b\x9b"},
- {"tstrok", 359, "\xc5\xa7"},
- {"plusb", 8862, "\xe2\x8a\x9e"},
- {"odsold", 10684, "\xe2\xa6\xbc"},
- {"varsupsetneqq", 10956, "\xe2\xab\x8c\xef\xb8\x80"},
- {"otilde", 245, "\xc3\xb5"},
- {"gtcir", 10874, "\xe2\xa9\xba"},
- {"lltri", 9722, "\xe2\x97\xba"},
- {"rx", 8478, "\xe2\x84\x9e"},
- {"ljcy", 1113, "\xd1\x99"},
- {"parsim", 10995, "\xe2\xab\xb3"},
- {"NotElement", 8713, "\xe2\x88\x89"},
- {"plusmn", 177, "\xc2\xb1"},
- {"varsubsetneq", 8842, "\xe2\x8a\x8a\xef\xb8\x80"},
- {"subset", 8834, "\xe2\x8a\x82"},
- {"awint", 10769, "\xe2\xa8\x91"},
- {"laemptyv", 10676, "\xe2\xa6\xb4"},
- {"phiv", 981, "\xcf\x95"},
- {"sfrown", 8994, "\xe2\x8c\xa2"},
- {"DoubleUpDownArrow", 8661, "\xe2\x87\x95"},
- {"lpar", 40, "\x28"},
- {"frac45", 8536, "\xe2\x85\x98"},
- {"rBarr", 10511, "\xe2\xa4\x8f"},
- {"npolint", 10772, "\xe2\xa8\x94"},
- {"emacr", 275, "\xc4\x93"},
- {"maltese", 10016, "\xe2\x9c\xa0"},
- {"PlusMinus", 177, "\xc2\xb1"},
- {"ReverseEquilibrium", 8651, "\xe2\x87\x8b"},
- {"oscr", 8500, "\xe2\x84\xb4"},
- {"blacksquare", 9642, "\xe2\x96\xaa"},
- {"TSHcy", 1035, "\xd0\x8b"},
- {"gap", 10886, "\xe2\xaa\x86"},
- {"xnis", 8955, "\xe2\x8b\xbb"},
- {"Ll", 8920, "\xe2\x8b\x98"},
- {"PrecedesEqual", 10927, "\xe2\xaa\xaf"},
- {"incare", 8453, "\xe2\x84\x85"},
- {"nharr", 8622, "\xe2\x86\xae"},
- {"varnothing", 8709, "\xe2\x88\x85"},
- {"ShortDownArrow", 8595, "\xe2\x86\x93"},
- {"nbsp", 160, " "},
- {"asympeq", 8781, "\xe2\x89\x8d"},
- {"rbrkslu", 10640, "\xe2\xa6\x90"},
- {"rho", 961, "\xcf\x81"},
- {"Mscr", 8499, "\xe2\x84\xb3"},
- {"eth", 240, "\xc3\xb0"},
- {"suplarr", 10619, "\xe2\xa5\xbb"},
- {"Tab", 9, "\x09"},
- {"omicron", 959, "\xce\xbf"},
- {"blacktriangle", 9652, "\xe2\x96\xb4"},
- {"nldr", 8229, "\xe2\x80\xa5"},
- {"downharpoonleft", 8643, "\xe2\x87\x83"},
- {"circledcirc", 8858, "\xe2\x8a\x9a"},
- {"leftleftarrows", 8647, "\xe2\x87\x87"},
- {"NotHumpDownHump", 8782, "\xe2\x89\x8e\xcc\xb8"},
- {"nvgt", 62, "\x3e\xe2\x83\x92"},
- {"rhard", 8641, "\xe2\x87\x81"},
- {"nGg", 8921, "\xe2\x8b\x99\xcc\xb8"},
- {"lurdshar", 10570, "\xe2\xa5\x8a"},
- {"cirE", 10691, "\xe2\xa7\x83"},
- {"isinE", 8953, "\xe2\x8b\xb9"},
- {"eparsl", 10723, "\xe2\xa7\xa3"},
- {"RightAngleBracket", 10217, "\xe2\x9f\xa9"},
- {"hcirc", 293, "\xc4\xa5"},
- {"bumpeq", 8783, "\xe2\x89\x8f"},
- {"cire", 8791, "\xe2\x89\x97"},
- {"dotplus", 8724, "\xe2\x88\x94"},
- {"itilde", 297, "\xc4\xa9"},
- {"uwangle", 10663, "\xe2\xa6\xa7"},
- {"rlhar", 8652, "\xe2\x87\x8c"},
- {"rbrace", 125, "\x7d"},
- {"mid", 8739, "\xe2\x88\xa3"},
- {"el", 10905, "\xe2\xaa\x99"},
- {"KJcy", 1036, "\xd0\x8c"},
- {"odiv", 10808, "\xe2\xa8\xb8"},
- {"amacr", 257, "\xc4\x81"},
- {"qprime", 8279, "\xe2\x81\x97"},
- {"tcedil", 355, "\xc5\xa3"},
- {"UpArrowDownArrow", 8645, "\xe2\x87\x85"},
- {"spades", 9824, "\xe2\x99\xa0"},
- {"napos", 329, "\xc5\x89"},
- {"straightepsilon", 1013, "\xcf\xb5"},
- {"CupCap", 8781, "\xe2\x89\x8d"},
- {"Oopf", 120134, "\xf0\x9d\x95\x86"},
- {"sub", 8834, "\xe2\x8a\x82"},
- {"ohm", 937, "\xce\xa9"},
- {"UnderBrace", 9183, "\xe2\x8f\x9f"},
- {"looparrowright", 8620, "\xe2\x86\xac"},
- {"xotime", 10754, "\xe2\xa8\x82"},
- {"ntgl", 8825, "\xe2\x89\xb9"},
- {"minusdu", 10794, "\xe2\xa8\xaa"},
- {"rarrb", 8677, "\xe2\x87\xa5"},
- {"nvlArr", 10498, "\xe2\xa4\x82"},
- {"triangle", 9653, "\xe2\x96\xb5"},
- {"nacute", 324, "\xc5\x84"},
- {"boxHD", 9574, "\xe2\x95\xa6"},
- {"ratio", 8758, "\xe2\x88\xb6"},
- {"larrsim", 10611, "\xe2\xa5\xb3"},
- {"LessLess", 10913, "\xe2\xaa\xa1"},
- {"yacy", 1103, "\xd1\x8f"},
- {"ctdot", 8943, "\xe2\x8b\xaf"},
- {"and", 8743, "\xe2\x88\xa7"},
- {"lrtri", 8895, "\xe2\x8a\xbf"},
- {"eDot", 8785, "\xe2\x89\x91"},
- {"sqsub", 8847, "\xe2\x8a\x8f"},
- {"real", 8476, "\xe2\x84\x9c"},
- {"Dcy", 1044, "\xd0\x94"},
- {"vartheta", 977, "\xcf\x91"},
- {"nsub", 8836, "\xe2\x8a\x84"},
- {"DownTee", 8868, "\xe2\x8a\xa4"},
- {"acute", 180, "\xc2\xb4"},
- {"GreaterLess", 8823, "\xe2\x89\xb7"},
- {"supplus", 10944, "\xe2\xab\x80"},
- {"Vbar", 10987, "\xe2\xab\xab"},
- {"divideontimes", 8903, "\xe2\x8b\x87"},
- {"lsim", 8818, "\xe2\x89\xb2"},
- {"nearhk", 10532, "\xe2\xa4\xa4"},
- {"nLtv", 8810, "\xe2\x89\xaa\xcc\xb8"},
- {"RuleDelayed", 10740, "\xe2\xa7\xb4"},
- {"smile", 8995, "\xe2\x8c\xa3"},
- {"coprod", 8720, "\xe2\x88\x90"},
- {"imof", 8887, "\xe2\x8a\xb7"},
- {"ecy", 1101, "\xd1\x8d"},
- {"RightCeiling", 8969, "\xe2\x8c\x89"},
- {"dlcorn", 8990, "\xe2\x8c\x9e"},
- {"Nu", 925, "\xce\x9d"},
- {"frac18", 8539, "\xe2\x85\x9b"},
- {"diamond", 8900, "\xe2\x8b\x84"},
- {"Icirc", 206, "\xc3\x8e"},
- {"ngeq", 8817, "\xe2\x89\xb1"},
- {"epsilon", 949, "\xce\xb5"},
- {"fork", 8916, "\xe2\x8b\x94"},
- {"xrarr", 10230, "\xe2\x9f\xb6"},
- {"racute", 341, "\xc5\x95"},
- {"ntlg", 8824, "\xe2\x89\xb8"},
- {"xvee", 8897, "\xe2\x8b\x81"},
- {"LeftArrowRightArrow", 8646, "\xe2\x87\x86"},
- {"DownLeftRightVector", 10576, "\xe2\xa5\x90"},
- {"Eacute", 201, "\xc3\x89"},
- {"gimel", 8503, "\xe2\x84\xb7"},
- {"rtimes", 8906, "\xe2\x8b\x8a"},
- {"forall", 8704, "\xe2\x88\x80"},
- {"DiacriticalDoubleAcute", 733, "\xcb\x9d"},
- {"dArr", 8659, "\xe2\x87\x93"},
- {"fallingdotseq", 8786, "\xe2\x89\x92"},
- {"Aogon", 260, "\xc4\x84"},
- {"PartialD", 8706, "\xe2\x88\x82"},
- {"mapstoup", 8613, "\xe2\x86\xa5"},
- {"die", 168, "\xc2\xa8"},
- {"ngt", 8815, "\xe2\x89\xaf"},
- {"vcy", 1074, "\xd0\xb2"},
- {"fjlig", 0, "\x66\x6a"},
- {"submult", 10945, "\xe2\xab\x81"},
- {"ubrcy", 1118, "\xd1\x9e"},
- {"ovbar", 9021, "\xe2\x8c\xbd"},
- {"bsime", 8909, "\xe2\x8b\x8d"},
- {"precnsim", 8936, "\xe2\x8b\xa8"},
- {"DiacriticalTilde", 732, "\xcb\x9c"},
- {"cwint", 8753, "\xe2\x88\xb1"},
- {"Scy", 1057, "\xd0\xa1"},
- {"NotGreaterEqual", 8817, "\xe2\x89\xb1"},
- {"boxUR", 9562, "\xe2\x95\x9a"},
- {"LessSlantEqual", 10877, "\xe2\xa9\xbd"},
- {"Barwed", 8966, "\xe2\x8c\x86"},
- {"supdot", 10942, "\xe2\xaa\xbe"},
- {"gel", 8923, "\xe2\x8b\x9b"},
- {"iscr", 119998, "\xf0\x9d\x92\xbe"},
- {"doublebarwedge", 8966, "\xe2\x8c\x86"},
- {"Idot", 304, "\xc4\xb0"},
- {"DoubleDot", 168, "\xc2\xa8"},
- {"rsquo", 8217, "\xe2\x80\x99"},
- {"subsetneqq", 10955, "\xe2\xab\x8b"},
- {"UpEquilibrium", 10606, "\xe2\xa5\xae"},
- {"copysr", 8471, "\xe2\x84\x97"},
- {"RightDoubleBracket", 10215, "\xe2\x9f\xa7"},
- {"LeftRightVector", 10574, "\xe2\xa5\x8e"},
- {"DownLeftVectorBar", 10582, "\xe2\xa5\x96"},
- {"suphsub", 10967, "\xe2\xab\x97"},
- {"cedil", 184, "\xc2\xb8"},
- {"prurel", 8880, "\xe2\x8a\xb0"},
- {"imagpart", 8465, "\xe2\x84\x91"},
- {"Hscr", 8459, "\xe2\x84\x8b"},
- {"jmath", 567, "\xc8\xb7"},
- {"nrtrie", 8941, "\xe2\x8b\xad"},
- {"nsup", 8837, "\xe2\x8a\x85"},
- {"Ubrcy", 1038, "\xd0\x8e"},
- {"succnsim", 8937, "\xe2\x8b\xa9"},
- {"nesim", 8770, "\xe2\x89\x82\xcc\xb8"},
- {"varepsilon", 1013, "\xcf\xb5"},
- {"DoubleRightTee", 8872, "\xe2\x8a\xa8"},
- {"not", 172, "\xc2\xac"},
- {"lesdot", 10879, "\xe2\xa9\xbf"},
- {"backepsilon", 1014, "\xcf\xb6"},
- {"srarr", 8594, "\xe2\x86\x92"},
- {"varsubsetneqq", 10955, "\xe2\xab\x8b\xef\xb8\x80"},
- {"sqcap", 8851, "\xe2\x8a\x93"},
- {"rightleftarrows", 8644, "\xe2\x87\x84"},
- {"diams", 9830, "\xe2\x99\xa6"},
- {"boxdR", 9554, "\xe2\x95\x92"},
- {"ngeqslant", 10878, "\xe2\xa9\xbe\xcc\xb8"},
- {"boxDR", 9556, "\xe2\x95\x94"},
- {"sext", 10038, "\xe2\x9c\xb6"},
- {"backsim", 8765, "\xe2\x88\xbd"},
- {"nfr", 120107, "\xf0\x9d\x94\xab"},
- {"CloseCurlyDoubleQuote", 8221, "\xe2\x80\x9d"},
- {"npart", 8706, "\xe2\x88\x82\xcc\xb8"},
- {"dharl", 8643, "\xe2\x87\x83"},
- {"NewLine", 10, "\x0a"},
- {"bigotimes", 10754, "\xe2\xa8\x82"},
- {"lAtail", 10523, "\xe2\xa4\x9b"},
- {"frac14", 188, "\xc2\xbc"},
- {"or", 8744, "\xe2\x88\xa8"},
- {"subedot", 10947, "\xe2\xab\x83"},
- {"nmid", 8740, "\xe2\x88\xa4"},
- {"DownArrowUpArrow", 8693, "\xe2\x87\xb5"},
- {"icy", 1080, "\xd0\xb8"},
- {"num", 35, "\x23"},
- {"Gdot", 288, "\xc4\xa0"},
- {"urcrop", 8974, "\xe2\x8c\x8e"},
- {"epsiv", 1013, "\xcf\xb5"},
- {"topcir", 10993, "\xe2\xab\xb1"},
- {"ne", 8800, "\xe2\x89\xa0"},
- {"osol", 8856, "\xe2\x8a\x98"},
- {"amp", 38, "\x26"},
- {"ncap", 10819, "\xe2\xa9\x83"},
- {"Sscr", 119982, "\xf0\x9d\x92\xae"},
- {"sung", 9834, "\xe2\x99\xaa"},
- {"ltri", 9667, "\xe2\x97\x83"},
- {"frac25", 8534, "\xe2\x85\x96"},
- {"DZcy", 1039, "\xd0\x8f"},
- {"RightUpVector", 8638, "\xe2\x86\xbe"},
- {"rsquor", 8217, "\xe2\x80\x99"},
- {"uplus", 8846, "\xe2\x8a\x8e"},
- {"triangleright", 9657, "\xe2\x96\xb9"},
- {"lAarr", 8666, "\xe2\x87\x9a"},
- {"HilbertSpace", 8459, "\xe2\x84\x8b"},
- {"there4", 8756, "\xe2\x88\xb4"},
- {"vscr", 120011, "\xf0\x9d\x93\x8b"},
- {"cirscir", 10690, "\xe2\xa7\x82"},
- {"roarr", 8702, "\xe2\x87\xbe"},
- {"hslash", 8463, "\xe2\x84\x8f"},
- {"supdsub", 10968, "\xe2\xab\x98"},
- {"simg", 10910, "\xe2\xaa\x9e"},
- {"trade", 8482, "\xe2\x84\xa2"},
- {"searrow", 8600, "\xe2\x86\x98"},
- {"DownLeftVector", 8637, "\xe2\x86\xbd"},
- {"FilledSmallSquare", 9724, "\xe2\x97\xbc"},
- {"prod", 8719, "\xe2\x88\x8f"},
- {"oror", 10838, "\xe2\xa9\x96"},
- {"udarr", 8645, "\xe2\x87\x85"},
- {"jsercy", 1112, "\xd1\x98"},
- {"tprime", 8244, "\xe2\x80\xb4"},
- {"bprime", 8245, "\xe2\x80\xb5"},
- {"malt", 10016, "\xe2\x9c\xa0"},
- {"bigcup", 8899, "\xe2\x8b\x83"},
- {"oint", 8750, "\xe2\x88\xae"},
- {"female", 9792, "\xe2\x99\x80"},
- {"omacr", 333, "\xc5\x8d"},
- {"SquareSubsetEqual", 8849, "\xe2\x8a\x91"},
- {"SucceedsEqual", 10928, "\xe2\xaa\xb0"},
- {"plusacir", 10787, "\xe2\xa8\xa3"},
- {"Gcirc", 284, "\xc4\x9c"},
- {"lesdotor", 10883, "\xe2\xaa\x83"},
- {"escr", 8495, "\xe2\x84\xaf"},
- {"THORN", 222, "\xc3\x9e"},
- {"UpArrowBar", 10514, "\xe2\xa4\x92"},
- {"nvrtrie", 8885, "\xe2\x8a\xb5\xe2\x83\x92"},
- {"varkappa", 1008, "\xcf\xb0"},
- {"NotReverseElement", 8716, "\xe2\x88\x8c"},
- {"zdot", 380, "\xc5\xbc"},
- {"ExponentialE", 8519, "\xe2\x85\x87"},
- {"lesseqgtr", 8922, "\xe2\x8b\x9a"},
- {"cscr", 119992, "\xf0\x9d\x92\xb8"},
- {"Dscr", 119967, "\xf0\x9d\x92\x9f"},
- {"lthree", 8907, "\xe2\x8b\x8b"},
- {"Ccedil", 199, "\xc3\x87"},
- {"nge", 8817, "\xe2\x89\xb1"},
- {"UpperLeftArrow", 8598, "\xe2\x86\x96"},
- {"vDash", 8872, "\xe2\x8a\xa8"},
- {"efDot", 8786, "\xe2\x89\x92"},
- {"telrec", 8981, "\xe2\x8c\x95"},
- {"vellip", 8942, "\xe2\x8b\xae"},
- {"nrArr", 8655, "\xe2\x87\x8f"},
- {"ugrave", 249, "\xc3\xb9"},
- {"uring", 367, "\xc5\xaf"},
- {"Bernoullis", 8492, "\xe2\x84\xac"},
- {"nles", 10877, "\xe2\xa9\xbd\xcc\xb8"},
- {"macr", 175, "\xc2\xaf"},
- {"boxuR", 9560, "\xe2\x95\x98"},
- {"clubsuit", 9827, "\xe2\x99\xa3"},
- {"rightarrowtail", 8611, "\xe2\x86\xa3"},
- {"epar", 8917, "\xe2\x8b\x95"},
- {"ltcc", 10918, "\xe2\xaa\xa6"},
- {"twoheadleftarrow", 8606, "\xe2\x86\x9e"},
- {"aleph", 8501, "\xe2\x84\xb5"},
- {"Colon", 8759, "\xe2\x88\xb7"},
- {"vltri", 8882, "\xe2\x8a\xb2"},
- {"quaternions", 8461, "\xe2\x84\x8d"},
- {"rfr", 120111, "\xf0\x9d\x94\xaf"},
- {"Ouml", 214, "\xc3\x96"},
- {"rsh", 8625, "\xe2\x86\xb1"},
- {"emptyv", 8709, "\xe2\x88\x85"},
- {"sqsup", 8848, "\xe2\x8a\x90"},
- {"marker", 9646, "\xe2\x96\xae"},
- {"Efr", 120072, "\xf0\x9d\x94\x88"},
- {"DotEqual", 8784, "\xe2\x89\x90"},
- {"eqsim", 8770, "\xe2\x89\x82"},
- {"NotSucceedsEqual", 10928, "\xe2\xaa\xb0\xcc\xb8"},
- {"primes", 8473, "\xe2\x84\x99"},
- {"times", 215, "\xc3\x97"},
- {"rangd", 10642, "\xe2\xa6\x92"},
- {"rightharpoonup", 8640, "\xe2\x87\x80"},
- {"lrhard", 10605, "\xe2\xa5\xad"},
- {"ape", 8778, "\xe2\x89\x8a"},
- {"varsupsetneq", 8843, "\xe2\x8a\x8b\xef\xb8\x80"},
- {"larrlp", 8619, "\xe2\x86\xab"},
- {"NotPrecedesEqual", 10927, "\xe2\xaa\xaf\xcc\xb8"},
- {"ulcorner", 8988, "\xe2\x8c\x9c"},
- {"acd", 8767, "\xe2\x88\xbf"},
- {"Hacek", 711, "\xcb\x87"},
- {"xuplus", 10756, "\xe2\xa8\x84"},
- {"therefore", 8756, "\xe2\x88\xb4"},
- {"YIcy", 1031, "\xd0\x87"},
- {"Tfr", 120087, "\xf0\x9d\x94\x97"},
- {"Jcirc", 308, "\xc4\xb4"},
- {"LessGreater", 8822, "\xe2\x89\xb6"},
- {"Uring", 366, "\xc5\xae"},
- {"Ugrave", 217, "\xc3\x99"},
- {"rarr", 8594, "\xe2\x86\x92"},
- {"wopf", 120168, "\xf0\x9d\x95\xa8"},
- {"imath", 305, "\xc4\xb1"},
- {"Yopf", 120144, "\xf0\x9d\x95\x90"},
- {"colone", 8788, "\xe2\x89\x94"},
- {"csube", 10961, "\xe2\xab\x91"},
- {"odash", 8861, "\xe2\x8a\x9d"},
- {"olarr", 8634, "\xe2\x86\xba"},
- {"angrt", 8735, "\xe2\x88\x9f"},
- {"NotLeftTriangleBar", 10703, "\xe2\xa7\x8f\xcc\xb8"},
- {"GreaterEqual", 8805, "\xe2\x89\xa5"},
- {"scnap", 10938, "\xe2\xaa\xba"},
- {"pi", 960, "\xcf\x80"},
- {"lesg", 8922, "\xe2\x8b\x9a\xef\xb8\x80"},
- {"orderof", 8500, "\xe2\x84\xb4"},
- {"uacute", 250, "\xc3\xba"},
- {"Barv", 10983, "\xe2\xab\xa7"},
- {"Theta", 920, "\xce\x98"},
- {"leftrightsquigarrow", 8621, "\xe2\x86\xad"},
- {"Atilde", 195, "\xc3\x83"},
- {"cupdot", 8845, "\xe2\x8a\x8d"},
- {"ntriangleright", 8939, "\xe2\x8b\xab"},
- {"measuredangle", 8737, "\xe2\x88\xa1"},
- {"jscr", 119999, "\xf0\x9d\x92\xbf"},
- {"inodot", 305, "\xc4\xb1"},
- {"mopf", 120158, "\xf0\x9d\x95\x9e"},
- {"hkswarow", 10534, "\xe2\xa4\xa6"},
- {"lopar", 10629, "\xe2\xa6\x85"},
- {"thksim", 8764, "\xe2\x88\xbc"},
- {"bkarow", 10509, "\xe2\xa4\x8d"},
- {"rarrfs", 10526, "\xe2\xa4\x9e"},
- {"ntrianglelefteq", 8940, "\xe2\x8b\xac"},
- {"Bscr", 8492, "\xe2\x84\xac"},
- {"topf", 120165, "\xf0\x9d\x95\xa5"},
- {"Uacute", 218, "\xc3\x9a"},
- {"lap", 10885, "\xe2\xaa\x85"},
- {"djcy", 1106, "\xd1\x92"},
- {"bopf", 120147, "\xf0\x9d\x95\x93"},
- {"empty", 8709, "\xe2\x88\x85"},
- {"LeftAngleBracket", 10216, "\xe2\x9f\xa8"},
- {"Imacr", 298, "\xc4\xaa"},
- {"ltcir", 10873, "\xe2\xa9\xb9"},
- {"trisb", 10701, "\xe2\xa7\x8d"},
- {"gjcy", 1107, "\xd1\x93"},
- {"pr", 8826, "\xe2\x89\xba"},
- {"Mu", 924, "\xce\x9c"},
- {"ogon", 731, "\xcb\x9b"},
- {"pertenk", 8241, "\xe2\x80\xb1"},
- {"plustwo", 10791, "\xe2\xa8\xa7"},
- {"Vfr", 120089, "\xf0\x9d\x94\x99"},
- {"ApplyFunction", 8289, "\xe2\x81\xa1"},
- {"Sub", 8912, "\xe2\x8b\x90"},
- {"DoubleLeftRightArrow", 8660, "\xe2\x87\x94"},
- {"Lmidot", 319, "\xc4\xbf"},
- {"nwarrow", 8598, "\xe2\x86\x96"},
- {"angrtvbd", 10653, "\xe2\xa6\x9d"},
- {"fcy", 1092, "\xd1\x84"},
- {"ltlarr", 10614, "\xe2\xa5\xb6"},
- {"CircleMinus", 8854, "\xe2\x8a\x96"},
- {"angmsdab", 10665, "\xe2\xa6\xa9"},
- {"wedgeq", 8793, "\xe2\x89\x99"},
- {"iogon", 303, "\xc4\xaf"},
- {"laquo", 171, "\xc2\xab"},
- {"NestedGreaterGreater", 8811, "\xe2\x89\xab"},
- {"UnionPlus", 8846, "\xe2\x8a\x8e"},
- {"CircleDot", 8857, "\xe2\x8a\x99"},
- {"coloneq", 8788, "\xe2\x89\x94"},
- {"csupe", 10962, "\xe2\xab\x92"},
- {"tcaron", 357, "\xc5\xa5"},
- {"GreaterTilde", 8819, "\xe2\x89\xb3"},
- {"Map", 10501, "\xe2\xa4\x85"},
- {"DoubleLongLeftArrow", 10232, "\xe2\x9f\xb8"},
- {"Uparrow", 8657, "\xe2\x87\x91"},
- {"scy", 1089, "\xd1\x81"},
- {"llarr", 8647, "\xe2\x87\x87"},
- {"rangle", 10217, "\xe2\x9f\xa9"},
- {"sstarf", 8902, "\xe2\x8b\x86"},
- {"InvisibleTimes", 8290, "\xe2\x81\xa2"},
- {"egsdot", 10904, "\xe2\xaa\x98"},
- {"target", 8982, "\xe2\x8c\x96"},
- {"lesges", 10899, "\xe2\xaa\x93"},
- {"curren", 164, "\xc2\xa4"},
- {"yopf", 120170, "\xf0\x9d\x95\xaa"},
- {"frac23", 8532, "\xe2\x85\x94"},
- {"NotSucceedsTilde", 8831, "\xe2\x89\xbf\xcc\xb8"},
- {"napprox", 8777, "\xe2\x89\x89"},
- {"odblac", 337, "\xc5\x91"},
- {"gammad", 989, "\xcf\x9d"},
- {"dscr", 119993, "\xf0\x9d\x92\xb9"},
- {"SupersetEqual", 8839, "\xe2\x8a\x87"},
- {"squf", 9642, "\xe2\x96\xaa"},
- {"Because", 8757, "\xe2\x88\xb5"},
- {"sccue", 8829, "\xe2\x89\xbd"},
- {"KHcy", 1061, "\xd0\xa5"},
- {"Wcirc", 372, "\xc5\xb4"},
- {"uparrow", 8593, "\xe2\x86\x91"},
- {"lessgtr", 8822, "\xe2\x89\xb6"},
- {"thickapprox", 8776, "\xe2\x89\x88"},
- {"lbrksld", 10639, "\xe2\xa6\x8f"},
- {"oslash", 248, "\xc3\xb8"},
- {"NotCupCap", 8813, "\xe2\x89\xad"},
- {"elinters", 9191, "\xe2\x8f\xa7"},
- {"Assign", 8788, "\xe2\x89\x94"},
- {"ClockwiseContourIntegral", 8754, "\xe2\x88\xb2"},
- {"lfisht", 10620, "\xe2\xa5\xbc"},
- {"DownArrow", 8595, "\xe2\x86\x93"},
- {"Zdot", 379, "\xc5\xbb"},
- {"xscr", 120013, "\xf0\x9d\x93\x8d"},
- {"DiacriticalGrave", 96, "\x60"},
- {"DoubleLongLeftRightArrow", 10234, "\xe2\x9f\xba"},
- {"angle", 8736, "\xe2\x88\xa0"},
- {"race", 8765, "\xe2\x88\xbd\xcc\xb1"},
- {"Ascr", 119964, "\xf0\x9d\x92\x9c"},
- {"Xscr", 119987, "\xf0\x9d\x92\xb3"},
- {"acirc", 226, "\xc3\xa2"},
- {"otimesas", 10806, "\xe2\xa8\xb6"},
- {"gscr", 8458, "\xe2\x84\x8a"},
- {"gcy", 1075, "\xd0\xb3"},
- {"angmsdag", 10670, "\xe2\xa6\xae"},
- {"tshcy", 1115, "\xd1\x9b"},
- {"Acy", 1040, "\xd0\x90"},
- {"NotGreaterLess", 8825, "\xe2\x89\xb9"},
- {"dtdot", 8945, "\xe2\x8b\xb1"},
- {"quot", 34, "\x22"},
- {"micro", 181, "\xc2\xb5"},
- {"simplus", 10788, "\xe2\xa8\xa4"},
- {"nsupseteq", 8841, "\xe2\x8a\x89"},
- {"Ufr", 120088, "\xf0\x9d\x94\x98"},
- {"Pr", 10939, "\xe2\xaa\xbb"},
- {"napid", 8779, "\xe2\x89\x8b\xcc\xb8"},
- {"rceil", 8969, "\xe2\x8c\x89"},
- {"boxtimes", 8864, "\xe2\x8a\xa0"},
- {"erarr", 10609, "\xe2\xa5\xb1"},
- {"downdownarrows", 8650, "\xe2\x87\x8a"},
- {"Kfr", 120078, "\xf0\x9d\x94\x8e"},
- {"mho", 8487, "\xe2\x84\xa7"},
- {"scpolint", 10771, "\xe2\xa8\x93"},
- {"vArr", 8661, "\xe2\x87\x95"},
- {"Ccaron", 268, "\xc4\x8c"},
- {"NotRightTriangle", 8939, "\xe2\x8b\xab"},
- {"topbot", 9014, "\xe2\x8c\xb6"},
- {"qopf", 120162, "\xf0\x9d\x95\xa2"},
- {"eogon", 281, "\xc4\x99"},
- {"luruhar", 10598, "\xe2\xa5\xa6"},
- {"gtdot", 8919, "\xe2\x8b\x97"},
- {"Egrave", 200, "\xc3\x88"},
- {"roplus", 10798, "\xe2\xa8\xae"},
- {"Intersection", 8898, "\xe2\x8b\x82"},
- {"Uarr", 8607, "\xe2\x86\x9f"},
- {"dcy", 1076, "\xd0\xb4"},
- {"boxvl", 9508, "\xe2\x94\xa4"},
- {"RightArrowBar", 8677, "\xe2\x87\xa5"},
- {"yuml", 255, "\xc3\xbf"},
- {"parallel", 8741, "\xe2\x88\xa5"},
- {"succneqq", 10934, "\xe2\xaa\xb6"},
- {"bemptyv", 10672, "\xe2\xa6\xb0"},
- {"starf", 9733, "\xe2\x98\x85"},
- {"OverBar", 8254, "\xe2\x80\xbe"},
- {"Alpha", 913, "\xce\x91"},
- {"LeftUpVectorBar", 10584, "\xe2\xa5\x98"},
- {"ufr", 120114, "\xf0\x9d\x94\xb2"},
- {"swarhk", 10534, "\xe2\xa4\xa6"},
- {"GreaterEqualLess", 8923, "\xe2\x8b\x9b"},
- {"sscr", 120008, "\xf0\x9d\x93\x88"},
- {"Pi", 928, "\xce\xa0"},
- {"boxh", 9472, "\xe2\x94\x80"},
- {"frac16", 8537, "\xe2\x85\x99"},
- {"lbrack", 91, "\x5b"},
- {"vert", 124, "\x7c"},
- {"precneqq", 10933, "\xe2\xaa\xb5"},
- {"NotGreaterSlantEqual", 10878, "\xe2\xa9\xbe\xcc\xb8"},
- {"Omega", 937, "\xce\xa9"},
- {"uarr", 8593, "\xe2\x86\x91"},
- {"boxVr", 9567, "\xe2\x95\x9f"},
- {"ruluhar", 10600, "\xe2\xa5\xa8"},
- {"ShortLeftArrow", 8592, "\xe2\x86\x90"},
- {"Qfr", 120084, "\xf0\x9d\x94\x94"},
- {"olt", 10688, "\xe2\xa7\x80"},
- {"nequiv", 8802, "\xe2\x89\xa2"},
- {"fscr", 119995, "\xf0\x9d\x92\xbb"},
- {"rarrhk", 8618, "\xe2\x86\xaa"},
- {"nsqsupe", 8931, "\xe2\x8b\xa3"},
- {"nsubseteq", 8840, "\xe2\x8a\x88"},
- {"numero", 8470, "\xe2\x84\x96"},
- {"emsp14", 8197, "\xe2\x80\x85"},
- {"gl", 8823, "\xe2\x89\xb7"},
- {"ocirc", 244, "\xc3\xb4"},
- {"weierp", 8472, "\xe2\x84\x98"},
- {"boxvL", 9569, "\xe2\x95\xa1"},
- {"RightArrowLeftArrow", 8644, "\xe2\x87\x84"},
- {"Precedes", 8826, "\xe2\x89\xba"},
- {"RightVector", 8640, "\xe2\x87\x80"},
- {"xcup", 8899, "\xe2\x8b\x83"},
- {"angmsdad", 10667, "\xe2\xa6\xab"},
- {"gtrsim", 8819, "\xe2\x89\xb3"},
- {"natural", 9838, "\xe2\x99\xae"},
- {"nVdash", 8878, "\xe2\x8a\xae"},
- {"RightTriangleEqual", 8885, "\xe2\x8a\xb5"},
- {"dscy", 1109, "\xd1\x95"},
- {"leftthreetimes", 8907, "\xe2\x8b\x8b"},
- {"prsim", 8830, "\xe2\x89\xbe"},
- {"Bcy", 1041, "\xd0\x91"},
- {"Chi", 935, "\xce\xa7"},
- {"timesb", 8864, "\xe2\x8a\xa0"},
- {"Del", 8711, "\xe2\x88\x87"},
- {"lmidot", 320, "\xc5\x80"},
- {"RightDownVector", 8642, "\xe2\x87\x82"},
- {"simdot", 10858, "\xe2\xa9\xaa"},
- {"FilledVerySmallSquare", 9642, "\xe2\x96\xaa"},
- {"NotLessSlantEqual", 10877, "\xe2\xa9\xbd\xcc\xb8"},
- {"SucceedsTilde", 8831, "\xe2\x89\xbf"},
- {"duarr", 8693, "\xe2\x87\xb5"},
- {"apE", 10864, "\xe2\xa9\xb0"},
- {"odot", 8857, "\xe2\x8a\x99"},
- {"mldr", 8230, "\xe2\x80\xa6"},
- {"Uarrocir", 10569, "\xe2\xa5\x89"},
- {"nLl", 8920, "\xe2\x8b\x98\xcc\xb8"},
- {"rarrpl", 10565, "\xe2\xa5\x85"},
- {"cir", 9675, "\xe2\x97\x8b"},
- {"blk14", 9617, "\xe2\x96\x91"},
- {"VerticalLine", 124, "\x7c"},
- {"jcy", 1081, "\xd0\xb9"},
- {"filig", 64257, "\xef\xac\x81"},
- {"LongRightArrow", 10230, "\xe2\x9f\xb6"},
- {"beta", 946, "\xce\xb2"},
- {"ccupssm", 10832, "\xe2\xa9\x90"},
- {"supsub", 10964, "\xe2\xab\x94"},
- {"spar", 8741, "\xe2\x88\xa5"},
- {"Tstrok", 358, "\xc5\xa6"},
- {"isinv", 8712, "\xe2\x88\x88"},
- {"rightsquigarrow", 8605, "\xe2\x86\x9d"},
- {"Diamond", 8900, "\xe2\x8b\x84"},
- {"curlyeqsucc", 8927, "\xe2\x8b\x9f"},
- {"ijlig", 307, "\xc4\xb3"},
- {"puncsp", 8200, "\xe2\x80\x88"},
- {"hamilt", 8459, "\xe2\x84\x8b"},
- {"mapstoleft", 8612, "\xe2\x86\xa4"},
- {"Copf", 8450, "\xe2\x84\x82"},
- {"prnsim", 8936, "\xe2\x8b\xa8"},
- {"DotDot", 8412, "\xe2\x83\x9c"},
- {"lobrk", 10214, "\xe2\x9f\xa6"},
- {"twoheadrightarrow", 8608, "\xe2\x86\xa0"},
- {"ngE", 8807, "\xe2\x89\xa7\xcc\xb8"},
- {"cylcty", 9005, "\xe2\x8c\xad"},
- {"sube", 8838, "\xe2\x8a\x86"},
- {"NotEqualTilde", 8770, "\xe2\x89\x82\xcc\xb8"},
- {"Yuml", 376, "\xc5\xb8"},
- {"comp", 8705, "\xe2\x88\x81"},
- {"dotminus", 8760, "\xe2\x88\xb8"},
- {"crarr", 8629, "\xe2\x86\xb5"},
- {"imped", 437, "\xc6\xb5"},
- {"barwedge", 8965, "\xe2\x8c\x85"},
- {"harrcir", 10568, "\xe2\xa5\x88"},
+ {"szlig", 223, "\xc3\x9f"},
+ {"prime", 8242, "\xe2\x80\xb2"},
+ {"lnsim", 8934, "\xe2\x8b\xa6"},
+ {"nvDash", 8877, "\xe2\x8a\xad"},
+ {"isinsv", 8947, "\xe2\x8b\xb3"},
+ {"notin", 8713, "\xe2\x88\x89"},
+ {"becaus", 8757, "\xe2\x88\xb5"},
+ {"Leftrightarrow", 8660, "\xe2\x87\x94"},
+ {"EmptySmallSquare", 9723, "\xe2\x97\xbb"},
+ {"SquareUnion", 8852, "\xe2\x8a\x94"},
+ {"subdot", 10941, "\xe2\xaa\xbd"},
+ {"Dstrok", 272, "\xc4\x90"},
+ {"rrarr", 8649, "\xe2\x87\x89"},
+ {"rArr", 8658, "\xe2\x87\x92"},
+ {"Aacute", 193, "\xc3\x81"},
+ {"kappa", 954, "\xce\xba"},
+ {"Iopf", 120128, "\xf0\x9d\x95\x80"},
+ {"hyphen", 8208, "\xe2\x80\x90"},
+ {"rarrbfs", 10528, "\xe2\xa4\xa0"},
+ {"supsetneqq", 10956, "\xe2\xab\x8c"},
+ {"gacute", 501, "\xc7\xb5"},
+ {"VeryThinSpace", 8202, "\xe2\x80\x8a"},
+ {"tint", 8749, "\xe2\x88\xad"},
+ {"ffr", 120099, "\xf0\x9d\x94\xa3"},
+ {"kgreen", 312, "\xc4\xb8"},
+ {"nis", 8956, "\xe2\x8b\xbc"},
+ {"NotRightTriangleBar", 10704, "\xe2\xa7\x90\xcc\xb8"},
+ {"Eogon", 280, "\xc4\x98"},
+ {"lbrke", 10635, "\xe2\xa6\x8b"},
+ {"phi", 966, "\xcf\x86"},
+ {"notnivc", 8957, "\xe2\x8b\xbd"},
+ {"utilde", 361, "\xc5\xa9"},
+ {"Fopf", 120125, "\xf0\x9d\x94\xbd"},
+ {"Vcy", 1042, "\xd0\x92"},
+ {"erDot", 8787, "\xe2\x89\x93"},
+ {"nsubE", 10949, "\xe2\xab\x85\xcc\xb8"},
+ {"egrave", 232, "\xc3\xa8"},
+ {"Lcedil", 315, "\xc4\xbb"},
+ {"lharul", 10602, "\xe2\xa5\xaa"},
+ {"middot", 183, "\xc2\xb7"},
+ {"ggg", 8921, "\xe2\x8b\x99"},
+ {"NestedLessLess", 8810, "\xe2\x89\xaa"},
+ {"tau", 964, "\xcf\x84"},
+ {"setmn", 8726, "\xe2\x88\x96"},
+ {"frac78", 8542, "\xe2\x85\x9e"},
+ {"para", 182, "\xc2\xb6"},
+ {"Rcedil", 342, "\xc5\x96"},
+ {"propto", 8733, "\xe2\x88\x9d"},
+ {"sqsubset", 8847, "\xe2\x8a\x8f"},
+ {"ensp", 8194, "\xe2\x80\x82"},
+ {"boxvH", 9578, "\xe2\x95\xaa"},
+ {"NotGreaterTilde", 8821, "\xe2\x89\xb5"},
+ {"ffllig", 64260, "\xef\xac\x84"},
+ {"kcedil", 311, "\xc4\xb7"},
+ {"omega", 969, "\xcf\x89"},
+ {"sime", 8771, "\xe2\x89\x83"},
+ {"LeftTriangleEqual", 8884, "\xe2\x8a\xb4"},
+ {"bsemi", 8271, "\xe2\x81\x8f"},
+ {"rdquor", 8221, "\xe2\x80\x9d"},
+ {"Utilde", 360, "\xc5\xa8"},
+ {"bsol", 92, "\x5c"},
+ {"risingdotseq", 8787, "\xe2\x89\x93"},
+ {"ultri", 9720, "\xe2\x97\xb8"},
+ {"rhov", 1009, "\xcf\xb1"},
+ {"TildeEqual", 8771, "\xe2\x89\x83"},
+ {"jukcy", 1108, "\xd1\x94"},
+ {"perp", 8869, "\xe2\x8a\xa5"},
+ {"capbrcup", 10825, "\xe2\xa9\x89"},
+ {"ltrie", 8884, "\xe2\x8a\xb4"},
+ {"LessTilde", 8818, "\xe2\x89\xb2"},
+ {"popf", 120161, "\xf0\x9d\x95\xa1"},
+ {"dbkarow", 10511, "\xe2\xa4\x8f"},
+ {"roang", 10221, "\xe2\x9f\xad"},
+ {"brvbar", 166, "\xc2\xa6"},
+ {"CenterDot", 183, "\xc2\xb7"},
+ {"notindot", 8949, "\xe2\x8b\xb5\xcc\xb8"},
+ {"supmult", 10946, "\xe2\xab\x82"},
+ {"multimap", 8888, "\xe2\x8a\xb8"},
+ {"frac34", 190, "\xc2\xbe"},
+ {"mapsto", 8614, "\xe2\x86\xa6"},
+ {"flat", 9837, "\xe2\x99\xad"},
+ {"updownarrow", 8597, "\xe2\x86\x95"},
+ {"gne", 10888, "\xe2\xaa\x88"},
+ {"nrarrc", 10547, "\xe2\xa4\xb3\xcc\xb8"},
+ {"suphsol", 10185, "\xe2\x9f\x89"},
+ {"nGtv", 8811, "\xe2\x89\xab\xcc\xb8"},
+ {"hopf", 120153, "\xf0\x9d\x95\x99"},
+ {"pointint", 10773, "\xe2\xa8\x95"},
+ {"glj", 10916, "\xe2\xaa\xa4"},
+ {"LeftDoubleBracket", 10214, "\xe2\x9f\xa6"},
+ {"NotSupersetEqual", 8841, "\xe2\x8a\x89"},
+ {"dot", 729, "\xcb\x99"},
+ {"tbrk", 9140, "\xe2\x8e\xb4"},
+ {"LeftUpDownVector", 10577, "\xe2\xa5\x91"},
+ {"uml", 168, "\xc2\xa8"},
+ {"bbrk", 9141, "\xe2\x8e\xb5"},
+ {"nearrow", 8599, "\xe2\x86\x97"},
+ {"backsimeq", 8909, "\xe2\x8b\x8d"},
+ {"dblac", 733, "\xcb\x9d"},
+ {"circleddash", 8861, "\xe2\x8a\x9d"},
+ {"ldsh", 8626, "\xe2\x86\xb2"},
+ {"sce", 10928, "\xe2\xaa\xb0"},
+ {"angst", 197, "\xc3\x85"},
+ {"yen", 165, "\xc2\xa5"},
+ {"nsupE", 10950, "\xe2\xab\x86\xcc\xb8"},
+ {"Uscr", 119984, "\xf0\x9d\x92\xb0"},
+ {"subplus", 10943, "\xe2\xaa\xbf"},
+ {"nleqq", 8806, "\xe2\x89\xa6\xcc\xb8"},
+ {"nprcue", 8928, "\xe2\x8b\xa0"},
+ {"Ocirc", 212, "\xc3\x94"},
+ {"disin", 8946, "\xe2\x8b\xb2"},
+ {"EqualTilde", 8770, "\xe2\x89\x82"},
+ {"YUcy", 1070, "\xd0\xae"},
+ {"Kscr", 119974, "\xf0\x9d\x92\xa6"},
+ {"lg", 8822, "\xe2\x89\xb6"},
+ {"nLeftrightarrow", 8654, "\xe2\x87\x8e"},
+ {"eplus", 10865, "\xe2\xa9\xb1"},
+ {"les", 10877, "\xe2\xa9\xbd"},
+ {"sfr", 120112, "\xf0\x9d\x94\xb0"},
+ {"HumpDownHump", 8782, "\xe2\x89\x8e"},
+ {"Fouriertrf", 8497, "\xe2\x84\xb1"},
+ {"Updownarrow", 8661, "\xe2\x87\x95"},
+ {"nrarr", 8603, "\xe2\x86\x9b"},
+ {"radic", 8730, "\xe2\x88\x9a"},
+ {"gnap", 10890, "\xe2\xaa\x8a"},
+ {"zeta", 950, "\xce\xb6"},
+ {"Qscr", 119980, "\xf0\x9d\x92\xac"},
+ {"NotRightTriangleEqual", 8941, "\xe2\x8b\xad"},
+ {"nshortmid", 8740, "\xe2\x88\xa4"},
+ {"SHCHcy", 1065, "\xd0\xa9"},
+ {"piv", 982, "\xcf\x96"},
+ {"angmsdaa", 10664, "\xe2\xa6\xa8"},
+ {"curlywedge", 8911, "\xe2\x8b\x8f"},
+ {"sqcaps", 8851, "\xe2\x8a\x93\xef\xb8\x80"},
+ {"sum", 8721, "\xe2\x88\x91"},
+ {"rarrtl", 8611, "\xe2\x86\xa3"},
+ {"gescc", 10921, "\xe2\xaa\xa9"},
+ {"sup", 8835, "\xe2\x8a\x83"},
+ {"smid", 8739, "\xe2\x88\xa3"},
+ {"cularr", 8630, "\xe2\x86\xb6"},
+ {"olcross", 10683, "\xe2\xa6\xbb"},
+ {"GT", 62, "\x3e"},
+ {"scap", 10936, "\xe2\xaa\xb8"},
+ {"capcup", 10823, "\xe2\xa9\x87"},
+ {"NotSquareSubsetEqual", 8930, "\xe2\x8b\xa2"},
+ {"uhblk", 9600, "\xe2\x96\x80"},
+ {"latail", 10521, "\xe2\xa4\x99"},
+ {"smtes", 10924, "\xe2\xaa\xac\xef\xb8\x80"},
+ {"RoundImplies", 10608, "\xe2\xa5\xb0"},
+ {"wreath", 8768, "\xe2\x89\x80"},
+ {"curlyvee", 8910, "\xe2\x8b\x8e"},
+ {"uscr", 120010, "\xf0\x9d\x93\x8a"},
+ {"nleftrightarrow", 8622, "\xe2\x86\xae"},
+ {"ucy", 1091, "\xd1\x83"},
+ {"nvge", 8805, "\xe2\x89\xa5\xe2\x83\x92"},
+ {"bnot", 8976, "\xe2\x8c\x90"},
+ {"alefsym", 8501, "\xe2\x84\xb5"},
+ {"star", 9734, "\xe2\x98\x86"},
+ {"boxHd", 9572, "\xe2\x95\xa4"},
+ {"vsubnE", 10955, "\xe2\xab\x8b\xef\xb8\x80"},
+ {"Popf", 8473, "\xe2\x84\x99"},
+ {"simgE", 10912, "\xe2\xaa\xa0"},
+ {"upsilon", 965, "\xcf\x85"},
+ {"NoBreak", 8288, "\xe2\x81\xa0"},
+ {"realine", 8475, "\xe2\x84\x9b"},
+ {"frac38", 8540, "\xe2\x85\x9c"},
+ {"YAcy", 1071, "\xd0\xaf"},
+ {"bnequiv", 8801, "\xe2\x89\xa1\xe2\x83\xa5"},
+ {"cudarrr", 10549, "\xe2\xa4\xb5"},
+ {"lsime", 10893, "\xe2\xaa\x8d"},
+ {"lowbar", 95, "\x5f"},
+ {"utdot", 8944, "\xe2\x8b\xb0"},
+ {"ReverseElement", 8715, "\xe2\x88\x8b"},
+ {"nshortparallel", 8742, "\xe2\x88\xa6"},
+ {"DJcy", 1026, "\xd0\x82"},
+ {"nsube", 8840, "\xe2\x8a\x88"},
+ {"VDash", 8875, "\xe2\x8a\xab"},
+ {"Ncaron", 327, "\xc5\x87"},
+ {"LeftUpVector", 8639, "\xe2\x86\xbf"},
+ {"Kcy", 1050, "\xd0\x9a"},
+ {"NotLeftTriangleEqual", 8940, "\xe2\x8b\xac"},
+ {"nvHarr", 10500, "\xe2\xa4\x84"},
+ {"lotimes", 10804, "\xe2\xa8\xb4"},
+ {"RightFloor", 8971, "\xe2\x8c\x8b"},
+ {"succ", 8827, "\xe2\x89\xbb"},
+ {"Ucy", 1059, "\xd0\xa3"},
+ {"darr", 8595, "\xe2\x86\x93"},
+ {"lbarr", 10508, "\xe2\xa4\x8c"},
+ {"xfr", 120117, "\xf0\x9d\x94\xb5"},
+ {"zopf", 120171, "\xf0\x9d\x95\xab"},
+ {"Phi", 934, "\xce\xa6"},
+ {"ord", 10845, "\xe2\xa9\x9d"},
+ {"iinfin", 10716, "\xe2\xa7\x9c"},
+ {"Xfr", 120091, "\xf0\x9d\x94\x9b"},
+ {"qint", 10764, "\xe2\xa8\x8c"},
+ {"Upsilon", 933, "\xce\xa5"},
+ {"NotSubset", 8834, "\xe2\x8a\x82\xe2\x83\x92"},
+ {"gfr", 120100, "\xf0\x9d\x94\xa4"},
+ {"notnivb", 8958, "\xe2\x8b\xbe"},
+ {"Afr", 120068, "\xf0\x9d\x94\x84"},
+ {"ge", 8805, "\xe2\x89\xa5"},
+ {"iexcl", 161, "\xc2\xa1"},
+ {"dfr", 120097, "\xf0\x9d\x94\xa1"},
+ {"rsaquo", 8250, "\xe2\x80\xba"},
+ {"xcap", 8898, "\xe2\x8b\x82"},
+ {"Jopf", 120129, "\xf0\x9d\x95\x81"},
+ {"Hstrok", 294, "\xc4\xa6"},
+ {"ldca", 10550, "\xe2\xa4\xb6"},
+ {"lmoust", 9136, "\xe2\x8e\xb0"},
+ {"wcirc", 373, "\xc5\xb5"},
+ {"DownRightVector", 8641, "\xe2\x87\x81"},
+ {"LessFullEqual", 8806, "\xe2\x89\xa6"},
+ {"dotsquare", 8865, "\xe2\x8a\xa1"},
+ {"zhcy", 1078, "\xd0\xb6"},
+ {"mDDot", 8762, "\xe2\x88\xba"},
+ {"Prime", 8243, "\xe2\x80\xb3"},
+ {"prec", 8826, "\xe2\x89\xba"},
+ {"swnwar", 10538, "\xe2\xa4\xaa"},
+ {"COPY", 169, "\xc2\xa9"},
+ {"cong", 8773, "\xe2\x89\x85"},
+ {"sacute", 347, "\xc5\x9b"},
+ {"Nopf", 8469, "\xe2\x84\x95"},
+ {"it", 8290, "\xe2\x81\xa2"},
+ {"SOFTcy", 1068, "\xd0\xac"},
+ {"uuarr", 8648, "\xe2\x87\x88"},
+ {"iota", 953, "\xce\xb9"},
+ {"notinE", 8953, "\xe2\x8b\xb9\xcc\xb8"},
+ {"jfr", 120103, "\xf0\x9d\x94\xa7"},
+ {"QUOT", 34, "\x22"},
+ {"vsupnE", 10956, "\xe2\xab\x8c\xef\xb8\x80"},
+ {"igrave", 236, "\xc3\xac"},
+ {"bsim", 8765, "\xe2\x88\xbd"},
+ {"npreceq", 10927, "\xe2\xaa\xaf\xcc\xb8"},
+ {"zcaron", 382, "\xc5\xbe"},
+ {"DD", 8517, "\xe2\x85\x85"},
+ {"gamma", 947, "\xce\xb3"},
+ {"homtht", 8763, "\xe2\x88\xbb"},
+ {"NonBreakingSpace", 160, "\xc2\xa0"},
+ {"Proportion", 8759, "\xe2\x88\xb7"},
+ {"nedot", 8784, "\xe2\x89\x90\xcc\xb8"},
+ {"nabla", 8711, "\xe2\x88\x87"},
+ {"ac", 8766, "\xe2\x88\xbe"},
+ {"nsupe", 8841, "\xe2\x8a\x89"},
+ {"ell", 8467, "\xe2\x84\x93"},
+ {"boxvR", 9566, "\xe2\x95\x9e"},
+ {"LowerRightArrow", 8600, "\xe2\x86\x98"},
+ {"boxHu", 9575, "\xe2\x95\xa7"},
+ {"lE", 8806, "\xe2\x89\xa6"},
+ {"dzigrarr", 10239, "\xe2\x9f\xbf"},
+ {"rfloor", 8971, "\xe2\x8c\x8b"},
+ {"gneq", 10888, "\xe2\xaa\x88"},
+ {"rightleftharpoons", 8652, "\xe2\x87\x8c"},
+ {"gtquest", 10876, "\xe2\xa9\xbc"},
+ {"searhk", 10533, "\xe2\xa4\xa5"},
+ {"gesdoto", 10882, "\xe2\xaa\x82"},
+ {"cross", 10007, "\xe2\x9c\x97"},
+ {"rdquo", 8221, "\xe2\x80\x9d"},
+ {"sqsupset", 8848, "\xe2\x8a\x90"},
+ {"divonx", 8903, "\xe2\x8b\x87"},
+ {"lat", 10923, "\xe2\xaa\xab"},
+ {"rmoustache", 9137, "\xe2\x8e\xb1"},
+ {"succapprox", 10936, "\xe2\xaa\xb8"},
+ {"nhpar", 10994, "\xe2\xab\xb2"},
+ {"sharp", 9839, "\xe2\x99\xaf"},
+ {"lrcorner", 8991, "\xe2\x8c\x9f"},
+ {"Vscr", 119985, "\xf0\x9d\x92\xb1"},
+ {"varsigma", 962, "\xcf\x82"},
+ {"bsolb", 10693, "\xe2\xa7\x85"},
+ {"cupcap", 10822, "\xe2\xa9\x86"},
+ {"leftrightarrow", 8596, "\xe2\x86\x94"},
+ {"LeftTee", 8867, "\xe2\x8a\xa3"},
+ {"Sqrt", 8730, "\xe2\x88\x9a"},
+ {"Odblac", 336, "\xc5\x90"},
+ {"ocir", 8858, "\xe2\x8a\x9a"},
+ {"eqslantless", 10901, "\xe2\xaa\x95"},
+ {"supedot", 10948, "\xe2\xab\x84"},
+ {"intercal", 8890, "\xe2\x8a\xba"},
+ {"Gbreve", 286, "\xc4\x9e"},
+ {"xrArr", 10233, "\xe2\x9f\xb9"},
+ {"NotTildeEqual", 8772, "\xe2\x89\x84"},
+ {"Bfr", 120069, "\xf0\x9d\x94\x85"},
+ {"Iuml", 207, "\xc3\x8f"},
+ {"leg", 8922, "\xe2\x8b\x9a"},
+ {"boxhU", 9576, "\xe2\x95\xa8"},
+ {"Gopf", 120126, "\xf0\x9d\x94\xbe"},
+ {"af", 8289, "\xe2\x81\xa1"},
+ {"xwedge", 8896, "\xe2\x8b\x80"},
+ {"precapprox", 10935, "\xe2\xaa\xb7"},
+ {"lcedil", 316, "\xc4\xbc"},
+ {"between", 8812, "\xe2\x89\xac"},
+ {"Oslash", 216, "\xc3\x98"},
+ {"breve", 728, "\xcb\x98"},
+ {"caps", 8745, "\xe2\x88\xa9\xef\xb8\x80"},
+ {"vangrt", 10652, "\xe2\xa6\x9c"},
+ {"lagran", 8466, "\xe2\x84\x92"},
+ {"kopf", 120156, "\xf0\x9d\x95\x9c"},
+ {"ReverseUpEquilibrium", 10607, "\xe2\xa5\xaf"},
+ {"nlsim", 8820, "\xe2\x89\xb4"},
+ {"Cap", 8914, "\xe2\x8b\x92"},
+ {"angmsdac", 10666, "\xe2\xa6\xaa"},
+ {"iocy", 1105, "\xd1\x91"},
+ {"seswar", 10537, "\xe2\xa4\xa9"},
+ {"dzcy", 1119, "\xd1\x9f"},
+ {"nsubset", 8834, "\xe2\x8a\x82\xe2\x83\x92"},
+ {"cup", 8746, "\xe2\x88\xaa"},
+ {"npar", 8742, "\xe2\x88\xa6"},
+ {"late", 10925, "\xe2\xaa\xad"},
+ {"plussim", 10790, "\xe2\xa8\xa6"},
+ {"Darr", 8609, "\xe2\x86\xa1"},
+ {"nexist", 8708, "\xe2\x88\x84"},
+ {"cent", 162, "\xc2\xa2"},
+ {"khcy", 1093, "\xd1\x85"},
+ {"smallsetminus", 8726, "\xe2\x88\x96"},
+ {"ycirc", 375, "\xc5\xb7"},
+ {"lharu", 8636, "\xe2\x86\xbc"},
+ {"upuparrows", 8648, "\xe2\x87\x88"},
+ {"sigmaf", 962, "\xcf\x82"},
+ {"nltri", 8938, "\xe2\x8b\xaa"},
+ {"mstpos", 8766, "\xe2\x88\xbe"},
+ {"Zopf", 8484, "\xe2\x84\xa4"},
+ {"dwangle", 10662, "\xe2\xa6\xa6"},
+ {"bowtie", 8904, "\xe2\x8b\x88"},
+ {"Dfr", 120071, "\xf0\x9d\x94\x87"},
+ {"iacute", 237, "\xc3\xad"},
+ {"njcy", 1114, "\xd1\x9a"},
+ {"cfr", 120096, "\xf0\x9d\x94\xa0"},
+ {"TripleDot", 8411, "\xe2\x83\x9b"},
+ {"Or", 10836, "\xe2\xa9\x94"},
+ {"blk34", 9619, "\xe2\x96\x93"},
+ {"equiv", 8801, "\xe2\x89\xa1"},
+ {"fflig", 64256, "\xef\xac\x80"},
+ {"Rang", 10219, "\xe2\x9f\xab"},
+ {"Wopf", 120142, "\xf0\x9d\x95\x8e"},
+ {"boxUl", 9564, "\xe2\x95\x9c"},
+ {"frac12", 189, "\xc2\xbd"},
+ {"clubs", 9827, "\xe2\x99\xa3"},
+ {"amalg", 10815, "\xe2\xa8\xbf"},
+ {"Lang", 10218, "\xe2\x9f\xaa"},
+ {"asymp", 8776, "\xe2\x89\x88"},
+ {"models", 8871, "\xe2\x8a\xa7"},
+ {"emptyset", 8709, "\xe2\x88\x85"},
+ {"Tscr", 119983, "\xf0\x9d\x92\xaf"},
+ {"nleftarrow", 8602, "\xe2\x86\x9a"},
+ {"Omacr", 332, "\xc5\x8c"},
+ {"gtrarr", 10616, "\xe2\xa5\xb8"},
+ {"excl", 33, "\x21"},
+ {"rarrw", 8605, "\xe2\x86\x9d"},
+ {"abreve", 259, "\xc4\x83"},
+ {"CircleTimes", 8855, "\xe2\x8a\x97"},
+ {"aopf", 120146, "\xf0\x9d\x95\x92"},
+ {"eqvparsl", 10725, "\xe2\xa7\xa5"},
+ {"boxv", 9474, "\xe2\x94\x82"},
+ {"SuchThat", 8715, "\xe2\x88\x8b"},
+ {"varphi", 981, "\xcf\x95"},
+ {"Ropf", 8477, "\xe2\x84\x9d"},
+ {"rscr", 120007, "\xf0\x9d\x93\x87"},
+ {"Rrightarrow", 8667, "\xe2\x87\x9b"},
+ {"equest", 8799, "\xe2\x89\x9f"},
+ {"ntilde", 241, "\xc3\xb1"},
+ {"Escr", 8496, "\xe2\x84\xb0"},
+ {"Lopf", 120131, "\xf0\x9d\x95\x83"},
+ {"GreaterGreater", 10914, "\xe2\xaa\xa2"},
+ {"pluscir", 10786, "\xe2\xa8\xa2"},
+ {"nsupset", 8835, "\xe2\x8a\x83\xe2\x83\x92"},
+ {"uArr", 8657, "\xe2\x87\x91"},
+ {"nwarhk", 10531, "\xe2\xa4\xa3"},
+ {"Ycirc", 374, "\xc5\xb6"},
+ {"tdot", 8411, "\xe2\x83\x9b"},
+ {"circledS", 9416, "\xe2\x93\x88"},
+ {"lhard", 8637, "\xe2\x86\xbd"},
+ {"iukcy", 1110, "\xd1\x96"},
+ {"PrecedesSlantEqual", 8828, "\xe2\x89\xbc"},
+ {"Sfr", 120086, "\xf0\x9d\x94\x96"},
+ {"egs", 10902, "\xe2\xaa\x96"},
+ {"oelig", 339, "\xc5\x93"},
+ {"bigtriangledown", 9661, "\xe2\x96\xbd"},
+ {"EmptyVerySmallSquare", 9643, "\xe2\x96\xab"},
+ {"Backslash", 8726, "\xe2\x88\x96"},
+ {"nscr", 120003, "\xf0\x9d\x93\x83"},
+ {"uogon", 371, "\xc5\xb3"},
+ {"circeq", 8791, "\xe2\x89\x97"},
+ {"check", 10003, "\xe2\x9c\x93"},
+ {"Sup", 8913, "\xe2\x8b\x91"},
+ {"Rcaron", 344, "\xc5\x98"},
+ {"lneqq", 8808, "\xe2\x89\xa8"},
+ {"lrhar", 8651, "\xe2\x87\x8b"},
+ {"ulcorn", 8988, "\xe2\x8c\x9c"},
+ {"timesd", 10800, "\xe2\xa8\xb0"},
+ {"Sum", 8721, "\xe2\x88\x91"},
+ {"varpropto", 8733, "\xe2\x88\x9d"},
+ {"Lcaron", 317, "\xc4\xbd"},
+ {"lbrkslu", 10637, "\xe2\xa6\x8d"},
+ {"AElig", 198, "\xc3\x86"},
+ {"varr", 8597, "\xe2\x86\x95"},
+ {"nvinfin", 10718, "\xe2\xa7\x9e"},
+ {"leq", 8804, "\xe2\x89\xa4"},
+ {"biguplus", 10756, "\xe2\xa8\x84"},
+ {"rpar", 41, "\x29"},
+ {"eng", 331, "\xc5\x8b"},
+ {"NegativeThinSpace", 8203, "\xe2\x80\x8b"},
+ {"lesssim", 8818, "\xe2\x89\xb2"},
+ {"lBarr", 10510, "\xe2\xa4\x8e"},
+ {"LeftUpTeeVector", 10592, "\xe2\xa5\xa0"},
+ {"gnE", 8809, "\xe2\x89\xa9"},
+ {"efr", 120098, "\xf0\x9d\x94\xa2"},
+ {"barvee", 8893, "\xe2\x8a\xbd"},
+ {"ee", 8519, "\xe2\x85\x87"},
+ {"Uogon", 370, "\xc5\xb2"},
+ {"gnapprox", 10890, "\xe2\xaa\x8a"},
+ {"olcir", 10686, "\xe2\xa6\xbe"},
+ {"boxUL", 9565, "\xe2\x95\x9d"},
+ {"Gg", 8921, "\xe2\x8b\x99"},
+ {"CloseCurlyQuote", 8217, "\xe2\x80\x99"},
+ {"leftharpoondown", 8637, "\xe2\x86\xbd"},
+ {"vfr", 120115, "\xf0\x9d\x94\xb3"},
+ {"gvertneqq", 8809, "\xe2\x89\xa9\xef\xb8\x80"},
+ {"ouml", 246, "\xc3\xb6"},
+ {"raemptyv", 10675, "\xe2\xa6\xb3"},
+ {"Zcaron", 381, "\xc5\xbd"},
+ {"scE", 10932, "\xe2\xaa\xb4"},
+ {"boxvh", 9532, "\xe2\x94\xbc"},
+ {"ominus", 8854, "\xe2\x8a\x96"},
+ {"oopf", 120160, "\xf0\x9d\x95\xa0"},
+ {"nsucceq", 10928, "\xe2\xaa\xb0\xcc\xb8"},
+ {"RBarr", 10512, "\xe2\xa4\x90"},
+ {"iprod", 10812, "\xe2\xa8\xbc"},
+ {"lvnE", 8808, "\xe2\x89\xa8\xef\xb8\x80"},
+ {"andand", 10837, "\xe2\xa9\x95"},
+ {"upharpoonright", 8638, "\xe2\x86\xbe"},
+ {"ncongdot", 10861, "\xe2\xa9\xad\xcc\xb8"},
+ {"drcrop", 8972, "\xe2\x8c\x8c"},
+ {"nsimeq", 8772, "\xe2\x89\x84"},
+ {"subsub", 10965, "\xe2\xab\x95"},
+ {"hardcy", 1098, "\xd1\x8a"},
+ {"leqslant", 10877, "\xe2\xa9\xbd"},
+ {"uharl", 8639, "\xe2\x86\xbf"},
+ {"expectation", 8496, "\xe2\x84\xb0"},
+ {"mdash", 8212, "\xe2\x80\x94"},
+ {"VerticalTilde", 8768, "\xe2\x89\x80"},
+ {"rdldhar", 10601, "\xe2\xa5\xa9"},
+ {"leftharpoonup", 8636, "\xe2\x86\xbc"},
+ {"mu", 956, "\xce\xbc"},
+ {"curarrm", 10556, "\xe2\xa4\xbc"},
+ {"Cdot", 266, "\xc4\x8a"},
+ {"NotTildeTilde", 8777, "\xe2\x89\x89"},
+ {"boxul", 9496, "\xe2\x94\x98"},
+ {"planckh", 8462, "\xe2\x84\x8e"},
+ {"CapitalDifferentialD", 8517, "\xe2\x85\x85"},
+ {"boxDL", 9559, "\xe2\x95\x97"},
+ {"cupbrcap", 10824, "\xe2\xa9\x88"},
+ {"boxdL", 9557, "\xe2\x95\x95"},
+ {"supe", 8839, "\xe2\x8a\x87"},
+ {"nvlt", 60, "\x3c\xe2\x83\x92"},
+ {"par", 8741, "\xe2\x88\xa5"},
+ {"InvisibleComma", 8291, "\xe2\x81\xa3"},
+ {"ring", 730, "\xcb\x9a"},
+ {"nvap", 8781, "\xe2\x89\x8d\xe2\x83\x92"},
+ {"veeeq", 8794, "\xe2\x89\x9a"},
+ {"Hfr", 8460, "\xe2\x84\x8c"},
+ {"dstrok", 273, "\xc4\x91"},
+ {"gesles", 10900, "\xe2\xaa\x94"},
+ {"dash", 8208, "\xe2\x80\x90"},
+ {"SHcy", 1064, "\xd0\xa8"},
+ {"congdot", 10861, "\xe2\xa9\xad"},
+ {"imagline", 8464, "\xe2\x84\x90"},
+ {"ncy", 1085, "\xd0\xbd"},
+ {"bigstar", 9733, "\xe2\x98\x85"},
+ {"REG", 174, "\xc2\xae"},
+ {"triangleq", 8796, "\xe2\x89\x9c"},
+ {"rsqb", 93, "\x5d"},
+ {"ddarr", 8650, "\xe2\x87\x8a"},
+ {"csub", 10959, "\xe2\xab\x8f"},
+ {"quest", 63, "\x3f"},
+ {"Star", 8902, "\xe2\x8b\x86"},
+ {"LT", 60, "\x3c"},
+ {"ncong", 8775, "\xe2\x89\x87"},
+ {"prnE", 10933, "\xe2\xaa\xb5"},
+ {"bigtriangleup", 9651, "\xe2\x96\xb3"},
+ {"Tilde", 8764, "\xe2\x88\xbc"},
+ {"ltrif", 9666, "\xe2\x97\x82"},
+ {"ldrdhar", 10599, "\xe2\xa5\xa7"},
+ {"lcaron", 318, "\xc4\xbe"},
+ {"equivDD", 10872, "\xe2\xa9\xb8"},
+ {"lHar", 10594, "\xe2\xa5\xa2"},
+ {"vBar", 10984, "\xe2\xab\xa8"},
+ {"Mopf", 120132, "\xf0\x9d\x95\x84"},
+ {"LeftArrow", 8592, "\xe2\x86\x90"},
+ {"Rho", 929, "\xce\xa1"},
+ {"Ccirc", 264, "\xc4\x88"},
+ {"ifr", 120102, "\xf0\x9d\x94\xa6"},
+ {"cacute", 263, "\xc4\x87"},
+ {"centerdot", 183, "\xc2\xb7"},
+ {"dollar", 36, "\x24"},
+ {"lang", 10216, "\xe2\x9f\xa8"},
+ {"curvearrowright", 8631, "\xe2\x86\xb7"},
+ {"half", 189, "\xc2\xbd"},
+ {"Ecy", 1069, "\xd0\xad"},
+ {"rcub", 125, "\x7d"},
+ {"rcy", 1088, "\xd1\x80"},
+ {"isins", 8948, "\xe2\x8b\xb4"},
+ {"bsolhsub", 10184, "\xe2\x9f\x88"},
+ {"boxuL", 9563, "\xe2\x95\x9b"},
+ {"shchcy", 1097, "\xd1\x89"},
+ {"cwconint", 8754, "\xe2\x88\xb2"},
+ {"euro", 8364, "\xe2\x82\xac"},
+ {"lesseqqgtr", 10891, "\xe2\xaa\x8b"},
+ {"sim", 8764, "\xe2\x88\xbc"},
+ {"rarrc", 10547, "\xe2\xa4\xb3"},
+ {"boxdl", 9488, "\xe2\x94\x90"},
+ {"Epsilon", 917, "\xce\x95"},
+ {"iiiint", 10764, "\xe2\xa8\x8c"},
+ {"Rightarrow", 8658, "\xe2\x87\x92"},
+ {"conint", 8750, "\xe2\x88\xae"},
+ {"boxDl", 9558, "\xe2\x95\x96"},
+ {"kappav", 1008, "\xcf\xb0"},
+ {"profsurf", 8979, "\xe2\x8c\x93"},
+ {"auml", 228, "\xc3\xa4"},
+ {"heartsuit", 9829, "\xe2\x99\xa5"},
+ {"eacute", 233, "\xc3\xa9"},
+ {"gt", 62, "\x3e"},
+ {"Gcedil", 290, "\xc4\xa2"},
+ {"easter", 10862, "\xe2\xa9\xae"},
+ {"Tcy", 1058, "\xd0\xa2"},
+ {"swarrow", 8601, "\xe2\x86\x99"},
+ {"lopf", 120157, "\xf0\x9d\x95\x9d"},
+ {"Agrave", 192, "\xc3\x80"},
+ {"Aring", 197, "\xc3\x85"},
+ {"fpartint", 10765, "\xe2\xa8\x8d"},
+ {"xoplus", 10753, "\xe2\xa8\x81"},
+ {"LeftDownTeeVector", 10593, "\xe2\xa5\xa1"},
+ {"int", 8747, "\xe2\x88\xab"},
+ {"Zeta", 918, "\xce\x96"},
+ {"loz", 9674, "\xe2\x97\x8a"},
+ {"ncup", 10818, "\xe2\xa9\x82"},
+ {"napE", 10864, "\xe2\xa9\xb0\xcc\xb8"},
+ {"csup", 10960, "\xe2\xab\x90"},
+ {"Ncedil", 325, "\xc5\x85"},
+ {"cuwed", 8911, "\xe2\x8b\x8f"},
+ {"Dot", 168, "\xc2\xa8"},
+ {"SquareIntersection", 8851, "\xe2\x8a\x93"},
+ {"map", 8614, "\xe2\x86\xa6"},
+ {"aelig", 230, "\xc3\xa6"},
+ {"RightArrow", 8594, "\xe2\x86\x92"},
+ {"rightharpoondown", 8641, "\xe2\x87\x81"},
+ {"bNot", 10989, "\xe2\xab\xad"},
+ {"nsccue", 8929, "\xe2\x8b\xa1"},
+ {"zigrarr", 8669, "\xe2\x87\x9d"},
+ {"Sacute", 346, "\xc5\x9a"},
+ {"orv", 10843, "\xe2\xa9\x9b"},
+ {"RightVectorBar", 10579, "\xe2\xa5\x93"},
+ {"nrarrw", 8605, "\xe2\x86\x9d\xcc\xb8"},
+ {"nbump", 8782, "\xe2\x89\x8e\xcc\xb8"},
+ {"iquest", 191, "\xc2\xbf"},
+ {"wr", 8768, "\xe2\x89\x80"},
+ {"UpArrow", 8593, "\xe2\x86\x91"},
+ {"notinva", 8713, "\xe2\x88\x89"},
+ {"ddagger", 8225, "\xe2\x80\xa1"},
+ {"nLeftarrow", 8653, "\xe2\x87\x8d"},
+ {"rbbrk", 10099, "\xe2\x9d\xb3"},
+ {"RightTriangle", 8883, "\xe2\x8a\xb3"},
+ {"leqq", 8806, "\xe2\x89\xa6"},
+ {"Vert", 8214, "\xe2\x80\x96"},
+ {"gesl", 8923, "\xe2\x8b\x9b\xef\xb8\x80"},
+ {"LeftTeeVector", 10586, "\xe2\xa5\x9a"},
+ {"Union", 8899, "\xe2\x8b\x83"},
+ {"sc", 8827, "\xe2\x89\xbb"},
+ {"ofr", 120108, "\xf0\x9d\x94\xac"},
+ {"quatint", 10774, "\xe2\xa8\x96"},
+ {"apacir", 10863, "\xe2\xa9\xaf"},
+ {"profalar", 9006, "\xe2\x8c\xae"},
+ {"subsetneq", 8842, "\xe2\x8a\x8a"},
+ {"Vvdash", 8874, "\xe2\x8a\xaa"},
+ {"ohbar", 10677, "\xe2\xa6\xb5"},
+ {"Gt", 8811, "\xe2\x89\xab"},
+ {"exist", 8707, "\xe2\x88\x83"},
+ {"gtrapprox", 10886, "\xe2\xaa\x86"},
+ {"euml", 235, "\xc3\xab"},
+ {"Equilibrium", 8652, "\xe2\x87\x8c"},
+ {"aacute", 225, "\xc3\xa1"},
+ {"omid", 10678, "\xe2\xa6\xb6"},
+ {"loarr", 8701, "\xe2\x87\xbd"},
+ {"SucceedsSlantEqual", 8829, "\xe2\x89\xbd"},
+ {"angsph", 8738, "\xe2\x88\xa2"},
+ {"nsmid", 8740, "\xe2\x88\xa4"},
+ {"lsquor", 8218, "\xe2\x80\x9a"},
+ {"cemptyv", 10674, "\xe2\xa6\xb2"},
+ {"rAarr", 8667, "\xe2\x87\x9b"},
+ {"searr", 8600, "\xe2\x86\x98"},
+ {"complexes", 8450, "\xe2\x84\x82"},
+ {"UnderParenthesis", 9181, "\xe2\x8f\x9d"},
+ {"nparsl", 11005, "\xe2\xab\xbd\xe2\x83\xa5"},
+ {"Lacute", 313, "\xc4\xb9"},
+ {"deg", 176, "\xc2\xb0"},
+ {"Racute", 340, "\xc5\x94"},
+ {"Verbar", 8214, "\xe2\x80\x96"},
+ {"sqcups", 8852, "\xe2\x8a\x94\xef\xb8\x80"},
+ {"Hopf", 8461, "\xe2\x84\x8d"},
+ {"naturals", 8469, "\xe2\x84\x95"},
+ {"Cedilla", 184, "\xc2\xb8"},
+ {"exponentiale", 8519, "\xe2\x85\x87"},
+ {"vnsup", 8835, "\xe2\x8a\x83\xe2\x83\x92"},
+ {"leftrightarrows", 8646, "\xe2\x87\x86"},
+ {"Laplacetrf", 8466, "\xe2\x84\x92"},
+ {"vartriangleright", 8883, "\xe2\x8a\xb3"},
+ {"rtri", 9657, "\xe2\x96\xb9"},
+ {"gE", 8807, "\xe2\x89\xa7"},
+ {"SmallCircle", 8728, "\xe2\x88\x98"},
+ {"diamondsuit", 9830, "\xe2\x99\xa6"},
+ {"Otilde", 213, "\xc3\x95"},
+ {"lneq", 10887, "\xe2\xaa\x87"},
+ {"lesdoto", 10881, "\xe2\xaa\x81"},
+ {"ltquest", 10875, "\xe2\xa9\xbb"},
+ {"thinsp", 8201, "\xe2\x80\x89"},
+ {"barwed", 8965, "\xe2\x8c\x85"},
+ {"elsdot", 10903, "\xe2\xaa\x97"},
+ {"circ", 710, "\xcb\x86"},
+ {"ni", 8715, "\xe2\x88\x8b"},
+ {"mlcp", 10971, "\xe2\xab\x9b"},
+ {"Vdash", 8873, "\xe2\x8a\xa9"},
+ {"ShortRightArrow", 8594, "\xe2\x86\x92"},
+ {"upharpoonleft", 8639, "\xe2\x86\xbf"},
+ {"UnderBracket", 9141, "\xe2\x8e\xb5"},
+ {"rAtail", 10524, "\xe2\xa4\x9c"},
+ {"iopf", 120154, "\xf0\x9d\x95\x9a"},
+ {"longleftarrow", 10229, "\xe2\x9f\xb5"},
+ {"Zacute", 377, "\xc5\xb9"},
+ {"duhar", 10607, "\xe2\xa5\xaf"},
+ {"Mfr", 120080, "\xf0\x9d\x94\x90"},
+ {"prnap", 10937, "\xe2\xaa\xb9"},
+ {"eqcirc", 8790, "\xe2\x89\x96"},
+ {"rarrlp", 8620, "\xe2\x86\xac"},
+ {"le", 8804, "\xe2\x89\xa4"},
+ {"Oscr", 119978, "\xf0\x9d\x92\xaa"},
+ {"langd", 10641, "\xe2\xa6\x91"},
+ {"Ucirc", 219, "\xc3\x9b"},
+ {"precnapprox", 10937, "\xe2\xaa\xb9"},
+ {"succcurlyeq", 8829, "\xe2\x89\xbd"},
+ {"Tau", 932, "\xce\xa4"},
+ {"larr", 8592, "\xe2\x86\x90"},
+ {"neArr", 8663, "\xe2\x87\x97"},
+ {"subsim", 10951, "\xe2\xab\x87"},
+ {"DScy", 1029, "\xd0\x85"},
+ {"preccurlyeq", 8828, "\xe2\x89\xbc"},
+ {"NotLessLess", 8810, "\xe2\x89\xaa\xcc\xb8"},
+ {"succnapprox", 10938, "\xe2\xaa\xba"},
+ {"prcue", 8828, "\xe2\x89\xbc"},
+ {"Downarrow", 8659, "\xe2\x87\x93"},
+ {"angmsdah", 10671, "\xe2\xa6\xaf"},
+ {"Emacr", 274, "\xc4\x92"},
+ {"lsh", 8624, "\xe2\x86\xb0"},
+ {"simne", 8774, "\xe2\x89\x86"},
+ {"Bumpeq", 8782, "\xe2\x89\x8e"},
+ {"RightUpTeeVector", 10588, "\xe2\xa5\x9c"},
+ {"Sigma", 931, "\xce\xa3"},
+ {"nvltrie", 8884, "\xe2\x8a\xb4\xe2\x83\x92"},
+ {"lfr", 120105, "\xf0\x9d\x94\xa9"},
+ {"emsp13", 8196, "\xe2\x80\x84"},
+ {"parsl", 11005, "\xe2\xab\xbd"},
+ {"ucirc", 251, "\xc3\xbb"},
+ {"gsiml", 10896, "\xe2\xaa\x90"},
+ {"xsqcup", 10758, "\xe2\xa8\x86"},
+ {"Omicron", 927, "\xce\x9f"},
+ {"gsime", 10894, "\xe2\xaa\x8e"},
+ {"circlearrowleft", 8634, "\xe2\x86\xba"},
+ {"sqsupe", 8850, "\xe2\x8a\x92"},
+ {"supE", 10950, "\xe2\xab\x86"},
+ {"dlcrop", 8973, "\xe2\x8c\x8d"},
+ {"RightDownTeeVector", 10589, "\xe2\xa5\x9d"},
+ {"Colone", 10868, "\xe2\xa9\xb4"},
+ {"awconint", 8755, "\xe2\x88\xb3"},
+ {"smte", 10924, "\xe2\xaa\xac"},
+ {"lEg", 10891, "\xe2\xaa\x8b"},
+ {"circledast", 8859, "\xe2\x8a\x9b"},
+ {"ecolon", 8789, "\xe2\x89\x95"},
+ {"rect", 9645, "\xe2\x96\xad"},
+ {"Equal", 10869, "\xe2\xa9\xb5"},
+ {"nwnear", 10535, "\xe2\xa4\xa7"},
+ {"capdot", 10816, "\xe2\xa9\x80"},
+ {"straightphi", 981, "\xcf\x95"},
+ {"forkv", 10969, "\xe2\xab\x99"},
+ {"ZHcy", 1046, "\xd0\x96"},
+ {"Element", 8712, "\xe2\x88\x88"},
+ {"rthree", 8908, "\xe2\x8b\x8c"},
+ {"vzigzag", 10650, "\xe2\xa6\x9a"},
+ {"hybull", 8259, "\xe2\x81\x83"},
+ {"intprod", 10812, "\xe2\xa8\xbc"},
+ {"HumpEqual", 8783, "\xe2\x89\x8f"},
+ {"bigsqcup", 10758, "\xe2\xa8\x86"},
+ {"mp", 8723, "\xe2\x88\x93"},
+ {"lescc", 10920, "\xe2\xaa\xa8"},
+ {"NotPrecedes", 8832, "\xe2\x8a\x80"},
+ {"wedge", 8743, "\xe2\x88\xa7"},
+ {"Supset", 8913, "\xe2\x8b\x91"},
+ {"pm", 177, "\xc2\xb1"},
+ {"kfr", 120104, "\xf0\x9d\x94\xa8"},
+ {"ufisht", 10622, "\xe2\xa5\xbe"},
+ {"ecaron", 283, "\xc4\x9b"},
+ {"chcy", 1095, "\xd1\x87"},
+ {"Esim", 10867, "\xe2\xa9\xb3"},
+ {"fltns", 9649, "\xe2\x96\xb1"},
+ {"nsce", 10928, "\xe2\xaa\xb0\xcc\xb8"},
+ {"hookrightarrow", 8618, "\xe2\x86\xaa"},
+ {"semi", 59, "\x3b"},
+ {"ges", 10878, "\xe2\xa9\xbe"},
+ {"approxeq", 8778, "\xe2\x89\x8a"},
+ {"rarrsim", 10612, "\xe2\xa5\xb4"},
+ {"boxhD", 9573, "\xe2\x95\xa5"},
+ {"varpi", 982, "\xcf\x96"},
+ {"larrb", 8676, "\xe2\x87\xa4"},
+ {"copf", 120148, "\xf0\x9d\x95\x94"},
+ {"Dopf", 120123, "\xf0\x9d\x94\xbb"},
+ {"LeftVector", 8636, "\xe2\x86\xbc"},
+ {"iff", 8660, "\xe2\x87\x94"},
+ {"lnap", 10889, "\xe2\xaa\x89"},
+ {"NotGreaterFullEqual", 8807, "\xe2\x89\xa7\xcc\xb8"},
+ {"varrho", 1009, "\xcf\xb1"},
+ {"NotSucceeds", 8833, "\xe2\x8a\x81"},
+ {"ltrPar", 10646, "\xe2\xa6\x96"},
+ {"nlE", 8806, "\xe2\x89\xa6\xcc\xb8"},
+ {"Zfr", 8488, "\xe2\x84\xa8"},
+ {"LeftArrowBar", 8676, "\xe2\x87\xa4"},
+ {"boxplus", 8862, "\xe2\x8a\x9e"},
+ {"sqsube", 8849, "\xe2\x8a\x91"},
+ {"Re", 8476, "\xe2\x84\x9c"},
+ {"Wfr", 120090, "\xf0\x9d\x94\x9a"},
+ {"epsi", 949, "\xce\xb5"},
+ {"oacute", 243, "\xc3\xb3"},
+ {"bdquo", 8222, "\xe2\x80\x9e"},
+ {"wscr", 120012, "\xf0\x9d\x93\x8c"},
+ {"bullet", 8226, "\xe2\x80\xa2"},
+ {"frown", 8994, "\xe2\x8c\xa2"},
+ {"siml", 10909, "\xe2\xaa\x9d"},
+ {"Rarr", 8608, "\xe2\x86\xa0"},
+ {"Scaron", 352, "\xc5\xa0"},
+ {"gtreqqless", 10892, "\xe2\xaa\x8c"},
+ {"Larr", 8606, "\xe2\x86\x9e"},
+ {"notniva", 8716, "\xe2\x88\x8c"},
+ {"gg", 8811, "\xe2\x89\xab"},
+ {"phmmat", 8499, "\xe2\x84\xb3"},
+ {"boxVL", 9571, "\xe2\x95\xa3"},
+ {"sigmav", 962, "\xcf\x82"},
+ {"order", 8500, "\xe2\x84\xb4"},
+ {"subsup", 10963, "\xe2\xab\x93"},
+ {"afr", 120094, "\xf0\x9d\x94\x9e"},
+ {"lbrace", 123, "\x7b"},
+ {"urcorn", 8989, "\xe2\x8c\x9d"},
+ {"Im", 8465, "\xe2\x84\x91"},
+ {"CounterClockwiseContourIntegral", 8755, "\xe2\x88\xb3"},
+ {"lne", 10887, "\xe2\xaa\x87"},
+ {"chi", 967, "\xcf\x87"},
+ {"cudarrl", 10552, "\xe2\xa4\xb8"},
+ {"ang", 8736, "\xe2\x88\xa0"},
+ {"isindot", 8949, "\xe2\x8b\xb5"},
+ {"Lfr", 120079, "\xf0\x9d\x94\x8f"},
+ {"Rsh", 8625, "\xe2\x86\xb1"},
+ {"Ocy", 1054, "\xd0\x9e"},
+ {"nvrArr", 10499, "\xe2\xa4\x83"},
+ {"otimes", 8855, "\xe2\x8a\x97"},
+ {"eqslantgtr", 10902, "\xe2\xaa\x96"},
+ {"Rfr", 8476, "\xe2\x84\x9c"},
+ {"blacktriangleleft", 9666, "\xe2\x97\x82"},
+ {"Lsh", 8624, "\xe2\x86\xb0"},
+ {"boxvr", 9500, "\xe2\x94\x9c"},
+ {"scedil", 351, "\xc5\x9f"},
+ {"iuml", 239, "\xc3\xaf"},
+ {"NJcy", 1034, "\xd0\x8a"},
+ {"Dagger", 8225, "\xe2\x80\xa1"},
+ {"rarrap", 10613, "\xe2\xa5\xb5"},
+ {"udblac", 369, "\xc5\xb1"},
+ {"Sopf", 120138, "\xf0\x9d\x95\x8a"},
+ {"scnsim", 8937, "\xe2\x8b\xa9"},
+ {"hbar", 8463, "\xe2\x84\x8f"},
+ {"frac15", 8533, "\xe2\x85\x95"},
+ {"sup3", 179, "\xc2\xb3"},
+ {"NegativeThickSpace", 8203, "\xe2\x80\x8b"},
+ {"npr", 8832, "\xe2\x8a\x80"},
+ {"doteq", 8784, "\xe2\x89\x90"},
+ {"subrarr", 10617, "\xe2\xa5\xb9"},
+ {"SquareSubset", 8847, "\xe2\x8a\x8f"},
+ {"vprop", 8733, "\xe2\x88\x9d"},
+ {"OpenCurlyQuote", 8216, "\xe2\x80\x98"},
+ {"supseteq", 8839, "\xe2\x8a\x87"},
+ {"nRightarrow", 8655, "\xe2\x87\x8f"},
+ {"Longleftarrow", 10232, "\xe2\x9f\xb8"},
+ {"lsquo", 8216, "\xe2\x80\x98"},
+ {"hstrok", 295, "\xc4\xa7"},
+ {"NotTilde", 8769, "\xe2\x89\x81"},
+ {"ogt", 10689, "\xe2\xa7\x81"},
+ {"block", 9608, "\xe2\x96\x88"},
+ {"minusd", 8760, "\xe2\x88\xb8"},
+ {"esdot", 8784, "\xe2\x89\x90"},
+ {"nsim", 8769, "\xe2\x89\x81"},
+ {"scsim", 8831, "\xe2\x89\xbf"},
+ {"boxVl", 9570, "\xe2\x95\xa2"},
+ {"ltimes", 8905, "\xe2\x8b\x89"},
+ {"thkap", 8776, "\xe2\x89\x88"},
+ {"vnsub", 8834, "\xe2\x8a\x82\xe2\x83\x92"},
+ {"thetasym", 977, "\xcf\x91"},
+ {"eopf", 120150, "\xf0\x9d\x95\x96"},
+ {"image", 8465, "\xe2\x84\x91"},
+ {"doteqdot", 8785, "\xe2\x89\x91"},
+ {"Udblac", 368, "\xc5\xb0"},
+ {"gnsim", 8935, "\xe2\x8b\xa7"},
+ {"yicy", 1111, "\xd1\x97"},
+ {"vopf", 120167, "\xf0\x9d\x95\xa7"},
+ {"DDotrahd", 10513, "\xe2\xa4\x91"},
+ {"Iota", 921, "\xce\x99"},
+ {"GJcy", 1027, "\xd0\x83"},
+ {"rightthreetimes", 8908, "\xe2\x8b\x8c"},
+ {"nrtri", 8939, "\xe2\x8b\xab"},
+ {"TildeFullEqual", 8773, "\xe2\x89\x85"},
+ {"Dcaron", 270, "\xc4\x8e"},
+ {"ccaron", 269, "\xc4\x8d"},
+ {"lacute", 314, "\xc4\xba"},
+ {"VerticalBar", 8739, "\xe2\x88\xa3"},
+ {"Igrave", 204, "\xc3\x8c"},
+ {"boxH", 9552, "\xe2\x95\x90"},
+ {"Pfr", 120083, "\xf0\x9d\x94\x93"},
+ {"equals", 61, "\x3d"},
+ {"rbrack", 93, "\x5d"},
+ {"OverParenthesis", 9180, "\xe2\x8f\x9c"},
+ {"in", 8712, "\xe2\x88\x88"},
+ {"llcorner", 8990, "\xe2\x8c\x9e"},
+ {"mcomma", 10793, "\xe2\xa8\xa9"},
+ {"NotGreater", 8815, "\xe2\x89\xaf"},
+ {"midcir", 10992, "\xe2\xab\xb0"},
+ {"Edot", 278, "\xc4\x96"},
+ {"oplus", 8853, "\xe2\x8a\x95"},
+ {"geqq", 8807, "\xe2\x89\xa7"},
+ {"curvearrowleft", 8630, "\xe2\x86\xb6"},
+ {"Poincareplane", 8460, "\xe2\x84\x8c"},
+ {"yscr", 120014, "\xf0\x9d\x93\x8e"},
+ {"ccaps", 10829, "\xe2\xa9\x8d"},
+ {"rpargt", 10644, "\xe2\xa6\x94"},
+ {"topfork", 10970, "\xe2\xab\x9a"},
+ {"Gamma", 915, "\xce\x93"},
+ {"umacr", 363, "\xc5\xab"},
+ {"frac13", 8531, "\xe2\x85\x93"},
+ {"cirfnint", 10768, "\xe2\xa8\x90"},
+ {"xlArr", 10232, "\xe2\x9f\xb8"},
+ {"digamma", 989, "\xcf\x9d"},
+ {"Hat", 94, "\x5e"},
+ {"lates", 10925, "\xe2\xaa\xad\xef\xb8\x80"},
+ {"lgE", 10897, "\xe2\xaa\x91"},
+ {"commat", 64, "\x40"},
+ {"NotPrecedesSlantEqual", 8928, "\xe2\x8b\xa0"},
+ {"phone", 9742, "\xe2\x98\x8e"},
+ {"Ecirc", 202, "\xc3\x8a"},
+ {"lt", 60, "\x3c"},
+ {"intcal", 8890, "\xe2\x8a\xba"},
+ {"xdtri", 9661, "\xe2\x96\xbd"},
+ {"Abreve", 258, "\xc4\x82"},
+ {"gopf", 120152, "\xf0\x9d\x95\x98"},
+ {"Xopf", 120143, "\xf0\x9d\x95\x8f"},
+ {"Iacute", 205, "\xc3\x8d"},
+ {"Aopf", 120120, "\xf0\x9d\x94\xb8"},
+ {"gbreve", 287, "\xc4\x9f"},
+ {"nleq", 8816, "\xe2\x89\xb0"},
+ {"xopf", 120169, "\xf0\x9d\x95\xa9"},
+ {"SquareSupersetEqual", 8850, "\xe2\x8a\x92"},
+ {"NotLessTilde", 8820, "\xe2\x89\xb4"},
+ {"SubsetEqual", 8838, "\xe2\x8a\x86"},
+ {"Sc", 10940, "\xe2\xaa\xbc"},
+ {"sdote", 10854, "\xe2\xa9\xa6"},
+ {"loplus", 10797, "\xe2\xa8\xad"},
+ {"zfr", 120119, "\xf0\x9d\x94\xb7"},
+ {"subseteqq", 10949, "\xe2\xab\x85"},
+ {"Vdashl", 10982, "\xe2\xab\xa6"},
+ {"integers", 8484, "\xe2\x84\xa4"},
+ {"Umacr", 362, "\xc5\xaa"},
+ {"dopf", 120149, "\xf0\x9d\x95\x95"},
+ {"RightDownVectorBar", 10581, "\xe2\xa5\x95"},
+ {"angmsdaf", 10669, "\xe2\xa6\xad"},
+ {"Jfr", 120077, "\xf0\x9d\x94\x8d"},
+ {"bernou", 8492, "\xe2\x84\xac"},
+ {"lceil", 8968, "\xe2\x8c\x88"},
+ {"nvsim", 8764, "\xe2\x88\xbc\xe2\x83\x92"},
+ {"NotSucceedsSlantEqual", 8929, "\xe2\x8b\xa1"},
+ {"hearts", 9829, "\xe2\x99\xa5"},
+ {"vee", 8744, "\xe2\x88\xa8"},
+ {"LJcy", 1033, "\xd0\x89"},
+ {"nlt", 8814, "\xe2\x89\xae"},
+ {"because", 8757, "\xe2\x88\xb5"},
+ {"hairsp", 8202, "\xe2\x80\x8a"},
+ {"comma", 44, "\x2c"},
+ {"iecy", 1077, "\xd0\xb5"},
+ {"npre", 10927, "\xe2\xaa\xaf\xcc\xb8"},
+ {"NotSquareSubset", 8847, "\xe2\x8a\x8f\xcc\xb8"},
+ {"mscr", 120002, "\xf0\x9d\x93\x82"},
+ {"jopf", 120155, "\xf0\x9d\x95\x9b"},
+ {"bumpE", 10926, "\xe2\xaa\xae"},
+ {"thicksim", 8764, "\xe2\x88\xbc"},
+ {"Nfr", 120081, "\xf0\x9d\x94\x91"},
+ {"yucy", 1102, "\xd1\x8e"},
+ {"notinvc", 8950, "\xe2\x8b\xb6"},
+ {"lstrok", 322, "\xc5\x82"},
+ {"robrk", 10215, "\xe2\x9f\xa7"},
+ {"LeftTriangleBar", 10703, "\xe2\xa7\x8f"},
+ {"hksearow", 10533, "\xe2\xa4\xa5"},
+ {"bigcap", 8898, "\xe2\x8b\x82"},
+ {"udhar", 10606, "\xe2\xa5\xae"},
+ {"Yscr", 119988, "\xf0\x9d\x92\xb4"},
+ {"smeparsl", 10724, "\xe2\xa7\xa4"},
+ {"NotLess", 8814, "\xe2\x89\xae"},
+ {"dcaron", 271, "\xc4\x8f"},
+ {"ange", 10660, "\xe2\xa6\xa4"},
+ {"dHar", 10597, "\xe2\xa5\xa5"},
+ {"UpperRightArrow", 8599, "\xe2\x86\x97"},
+ {"trpezium", 9186, "\xe2\x8f\xa2"},
+ {"boxminus", 8863, "\xe2\x8a\x9f"},
+ {"notni", 8716, "\xe2\x88\x8c"},
+ {"dtrif", 9662, "\xe2\x96\xbe"},
+ {"nhArr", 8654, "\xe2\x87\x8e"},
+ {"larrpl", 10553, "\xe2\xa4\xb9"},
+ {"simeq", 8771, "\xe2\x89\x83"},
+ {"geqslant", 10878, "\xe2\xa9\xbe"},
+ {"RightUpVectorBar", 10580, "\xe2\xa5\x94"},
+ {"nsc", 8833, "\xe2\x8a\x81"},
+ {"div", 247, "\xc3\xb7"},
+ {"orslope", 10839, "\xe2\xa9\x97"},
+ {"lparlt", 10643, "\xe2\xa6\x93"},
+ {"trie", 8796, "\xe2\x89\x9c"},
+ {"cirmid", 10991, "\xe2\xab\xaf"},
+ {"wp", 8472, "\xe2\x84\x98"},
+ {"dagger", 8224, "\xe2\x80\xa0"},
+ {"utri", 9653, "\xe2\x96\xb5"},
+ {"supnE", 10956, "\xe2\xab\x8c"},
+ {"eg", 10906, "\xe2\xaa\x9a"},
+ {"LeftDownVector", 8643, "\xe2\x87\x83"},
+ {"NotLessEqual", 8816, "\xe2\x89\xb0"},
+ {"Bopf", 120121, "\xf0\x9d\x94\xb9"},
+ {"LongLeftRightArrow", 10231, "\xe2\x9f\xb7"},
+ {"Gfr", 120074, "\xf0\x9d\x94\x8a"},
+ {"sqsubseteq", 8849, "\xe2\x8a\x91"},
+ {"ograve", 242, "\xc3\xb2"},
+ {"larrhk", 8617, "\xe2\x86\xa9"},
+ {"sigma", 963, "\xcf\x83"},
+ {"NotSquareSupersetEqual", 8931, "\xe2\x8b\xa3"},
+ {"gvnE", 8809, "\xe2\x89\xa9\xef\xb8\x80"},
+ {"timesbar", 10801, "\xe2\xa8\xb1"},
+ {"Iukcy", 1030, "\xd0\x86"},
+ {"bscr", 119991, "\xf0\x9d\x92\xb7"},
+ {"Exists", 8707, "\xe2\x88\x83"},
+ {"tscr", 120009, "\xf0\x9d\x93\x89"},
+ {"tcy", 1090, "\xd1\x82"},
+ {"nwarr", 8598, "\xe2\x86\x96"},
+ {"hoarr", 8703, "\xe2\x87\xbf"},
+ {"lnapprox", 10889, "\xe2\xaa\x89"},
+ {"nu", 957, "\xce\xbd"},
+ {"bcy", 1073, "\xd0\xb1"},
+ {"ndash", 8211, "\xe2\x80\x93"},
+ {"smt", 10922, "\xe2\xaa\xaa"},
+ {"scaron", 353, "\xc5\xa1"},
+ {"IOcy", 1025, "\xd0\x81"},
+ {"Ifr", 8465, "\xe2\x84\x91"},
+ {"cularrp", 10557, "\xe2\xa4\xbd"},
+ {"lvertneqq", 8808, "\xe2\x89\xa8\xef\xb8\x80"},
+ {"nlarr", 8602, "\xe2\x86\x9a"},
+ {"colon", 58, "\x3a"},
+ {"ddotseq", 10871, "\xe2\xa9\xb7"},
+ {"zacute", 378, "\xc5\xba"},
+ {"DoubleVerticalBar", 8741, "\xe2\x88\xa5"},
+ {"larrfs", 10525, "\xe2\xa4\x9d"},
+ {"NotExists", 8708, "\xe2\x88\x84"},
+ {"geq", 8805, "\xe2\x89\xa5"},
+ {"Ffr", 120073, "\xf0\x9d\x94\x89"},
+ {"divide", 247, "\xc3\xb7"},
+ {"blank", 9251, "\xe2\x90\xa3"},
+ {"IEcy", 1045, "\xd0\x95"},
+ {"ordm", 186, "\xc2\xba"},
+ {"fopf", 120151, "\xf0\x9d\x95\x97"},
+ {"ecir", 8790, "\xe2\x89\x96"},
+ {"complement", 8705, "\xe2\x88\x81"},
+ {"top", 8868, "\xe2\x8a\xa4"},
+ {"DoubleContourIntegral", 8751, "\xe2\x88\xaf"},
+ {"nisd", 8954, "\xe2\x8b\xba"},
+ {"bcong", 8780, "\xe2\x89\x8c"},
+ {"plusdu", 10789, "\xe2\xa8\xa5"},
+ {"TildeTilde", 8776, "\xe2\x89\x88"},
+ {"lnE", 8808, "\xe2\x89\xa8"},
+ {"DoubleLongRightArrow", 10233, "\xe2\x9f\xb9"},
+ {"nsubseteqq", 10949, "\xe2\xab\x85\xcc\xb8"},
+ {"DownTeeArrow", 8615, "\xe2\x86\xa7"},
+ {"Cscr", 119966, "\xf0\x9d\x92\x9e"},
+ {"NegativeVeryThinSpace", 8203, "\xe2\x80\x8b"},
+ {"emsp", 8195, "\xe2\x80\x83"},
+ {"vartriangleleft", 8882, "\xe2\x8a\xb2"},
+ {"ropar", 10630, "\xe2\xa6\x86"},
+ {"checkmark", 10003, "\xe2\x9c\x93"},
+ {"Ycy", 1067, "\xd0\xab"},
+ {"supset", 8835, "\xe2\x8a\x83"},
+ {"gneqq", 8809, "\xe2\x89\xa9"},
+ {"Lstrok", 321, "\xc5\x81"},
+ {"AMP", 38, "\x26"},
+ {"acE", 8766, "\xe2\x88\xbe\xcc\xb3"},
+ {"sqsupseteq", 8850, "\xe2\x8a\x92"},
+ {"nle", 8816, "\xe2\x89\xb0"},
+ {"nesear", 10536, "\xe2\xa4\xa8"},
+ {"LeftDownVectorBar", 10585, "\xe2\xa5\x99"},
+ {"Integral", 8747, "\xe2\x88\xab"},
+ {"Beta", 914, "\xce\x92"},
+ {"nvdash", 8876, "\xe2\x8a\xac"},
+ {"nges", 10878, "\xe2\xa9\xbe\xcc\xb8"},
+ {"demptyv", 10673, "\xe2\xa6\xb1"},
+ {"eta", 951, "\xce\xb7"},
+ {"GreaterSlantEqual", 10878, "\xe2\xa9\xbe"},
+ {"ccedil", 231, "\xc3\xa7"},
+ {"pfr", 120109, "\xf0\x9d\x94\xad"},
+ {"bbrktbrk", 9142, "\xe2\x8e\xb6"},
+ {"mcy", 1084, "\xd0\xbc"},
+ {"Not", 10988, "\xe2\xab\xac"},
+ {"qscr", 120006, "\xf0\x9d\x93\x86"},
+ {"zwj", 8205, "\xe2\x80\x8d"},
+ {"ntrianglerighteq", 8941, "\xe2\x8b\xad"},
+ {"permil", 8240, "\xe2\x80\xb0"},
+ {"squarf", 9642, "\xe2\x96\xaa"},
+ {"apos", 39, "\x27"},
+ {"lrm", 8206, "\xe2\x80\x8e"},
+ {"male", 9794, "\xe2\x99\x82"},
+ {"agrave", 224, "\xc3\xa0"},
+ {"Lt", 8810, "\xe2\x89\xaa"},
+ {"capand", 10820, "\xe2\xa9\x84"},
+ {"aring", 229, "\xc3\xa5"},
+ {"Jukcy", 1028, "\xd0\x84"},
+ {"bumpe", 8783, "\xe2\x89\x8f"},
+ {"dd", 8518, "\xe2\x85\x86"},
+ {"tscy", 1094, "\xd1\x86"},
+ {"oS", 9416, "\xe2\x93\x88"},
+ {"succeq", 10928, "\xe2\xaa\xb0"},
+ {"xharr", 10231, "\xe2\x9f\xb7"},
+ {"pluse", 10866, "\xe2\xa9\xb2"},
+ {"rfisht", 10621, "\xe2\xa5\xbd"},
+ {"HorizontalLine", 9472, "\xe2\x94\x80"},
+ {"DiacriticalAcute", 180, "\xc2\xb4"},
+ {"hfr", 120101, "\xf0\x9d\x94\xa5"},
+ {"preceq", 10927, "\xe2\xaa\xaf"},
+ {"rationals", 8474, "\xe2\x84\x9a"},
+ {"Auml", 196, "\xc3\x84"},
+ {"LeftRightArrow", 8596, "\xe2\x86\x94"},
+ {"blacktriangleright", 9656, "\xe2\x96\xb8"},
+ {"dharr", 8642, "\xe2\x87\x82"},
+ {"isin", 8712, "\xe2\x88\x88"},
+ {"ldrushar", 10571, "\xe2\xa5\x8b"},
+ {"squ", 9633, "\xe2\x96\xa1"},
+ {"rbrksld", 10638, "\xe2\xa6\x8e"},
+ {"bigwedge", 8896, "\xe2\x8b\x80"},
+ {"swArr", 8665, "\xe2\x87\x99"},
+ {"IJlig", 306, "\xc4\xb2"},
+ {"harr", 8596, "\xe2\x86\x94"},
+ {"range", 10661, "\xe2\xa6\xa5"},
+ {"urtri", 9721, "\xe2\x97\xb9"},
+ {"NotVerticalBar", 8740, "\xe2\x88\xa4"},
+ {"ic", 8291, "\xe2\x81\xa3"},
+ {"solbar", 9023, "\xe2\x8c\xbf"},
+ {"approx", 8776, "\xe2\x89\x88"},
+ {"SquareSuperset", 8848, "\xe2\x8a\x90"},
+ {"numsp", 8199, "\xe2\x80\x87"},
+ {"nLt", 8810, "\xe2\x89\xaa\xe2\x83\x92"},
+ {"tilde", 732, "\xcb\x9c"},
+ {"rlarr", 8644, "\xe2\x87\x84"},
+ {"langle", 10216, "\xe2\x9f\xa8"},
+ {"nleqslant", 10877, "\xe2\xa9\xbd\xcc\xb8"},
+ {"Nacute", 323, "\xc5\x83"},
+ {"NotLeftTriangle", 8938, "\xe2\x8b\xaa"},
+ {"sopf", 120164, "\xf0\x9d\x95\xa4"},
+ {"xmap", 10236, "\xe2\x9f\xbc"},
+ {"supne", 8843, "\xe2\x8a\x8b"},
+ {"Int", 8748, "\xe2\x88\xac"},
+ {"nsupseteqq", 10950, "\xe2\xab\x86\xcc\xb8"},
+ {"circlearrowright", 8635, "\xe2\x86\xbb"},
+ {"NotCongruent", 8802, "\xe2\x89\xa2"},
+ {"Scedil", 350, "\xc5\x9e"},
+ {"raquo", 187, "\xc2\xbb"},
+ {"ycy", 1099, "\xd1\x8b"},
+ {"notinvb", 8951, "\xe2\x8b\xb7"},
+ {"andv", 10842, "\xe2\xa9\x9a"},
+ {"nap", 8777, "\xe2\x89\x89"},
+ {"shcy", 1096, "\xd1\x88"},
+ {"ssetmn", 8726, "\xe2\x88\x96"},
+ {"downarrow", 8595, "\xe2\x86\x93"},
+ {"gesdotol", 10884, "\xe2\xaa\x84"},
+ {"Congruent", 8801, "\xe2\x89\xa1"},
+ {"pound", 163, "\xc2\xa3"},
+ {"ZeroWidthSpace", 8203, "\xe2\x80\x8b"},
+ {"rdca", 10551, "\xe2\xa4\xb7"},
+ {"rmoust", 9137, "\xe2\x8e\xb1"},
+ {"zcy", 1079, "\xd0\xb7"},
+ {"Square", 9633, "\xe2\x96\xa1"},
+ {"subE", 10949, "\xe2\xab\x85"},
+ {"infintie", 10717, "\xe2\xa7\x9d"},
+ {"Cayleys", 8493, "\xe2\x84\xad"},
+ {"lsaquo", 8249, "\xe2\x80\xb9"},
+ {"realpart", 8476, "\xe2\x84\x9c"},
+ {"nprec", 8832, "\xe2\x8a\x80"},
+ {"RightTriangleBar", 10704, "\xe2\xa7\x90"},
+ {"Kopf", 120130, "\xf0\x9d\x95\x82"},
+ {"Ubreve", 364, "\xc5\xac"},
+ {"Uopf", 120140, "\xf0\x9d\x95\x8c"},
+ {"trianglelefteq", 8884, "\xe2\x8a\xb4"},
+ {"rotimes", 10805, "\xe2\xa8\xb5"},
+ {"qfr", 120110, "\xf0\x9d\x94\xae"},
+ {"gtcc", 10919, "\xe2\xaa\xa7"},
+ {"fnof", 402, "\xc6\x92"},
+ {"tritime", 10811, "\xe2\xa8\xbb"},
+ {"andslope", 10840, "\xe2\xa9\x98"},
+ {"harrw", 8621, "\xe2\x86\xad"},
+ {"NotSquareSuperset", 8848, "\xe2\x8a\x90\xcc\xb8"},
+ {"Amacr", 256, "\xc4\x80"},
+ {"OpenCurlyDoubleQuote", 8220, "\xe2\x80\x9c"},
+ {"thorn", 254, "\xc3\xbe"},
+ {"ordf", 170, "\xc2\xaa"},
+ {"natur", 9838, "\xe2\x99\xae"},
+ {"xi", 958, "\xce\xbe"},
+ {"infin", 8734, "\xe2\x88\x9e"},
+ {"nspar", 8742, "\xe2\x88\xa6"},
+ {"Jcy", 1049, "\xd0\x99"},
+ {"DownLeftTeeVector", 10590, "\xe2\xa5\x9e"},
+ {"rbarr", 10509, "\xe2\xa4\x8d"},
+ {"Xi", 926, "\xce\x9e"},
+ {"bull", 8226, "\xe2\x80\xa2"},
+ {"cuesc", 8927, "\xe2\x8b\x9f"},
+ {"backcong", 8780, "\xe2\x89\x8c"},
+ {"frac35", 8535, "\xe2\x85\x97"},
+ {"hscr", 119997, "\xf0\x9d\x92\xbd"},
+ {"LessEqualGreater", 8922, "\xe2\x8b\x9a"},
+ {"Implies", 8658, "\xe2\x87\x92"},
+ {"ETH", 208, "\xc3\x90"},
+ {"Yacute", 221, "\xc3\x9d"},
+ {"shy", 173, "\xc2\xad"},
+ {"Rarrtl", 10518, "\xe2\xa4\x96"},
+ {"sup1", 185, "\xc2\xb9"},
+ {"reals", 8477, "\xe2\x84\x9d"},
+ {"blacklozenge", 10731, "\xe2\xa7\xab"},
+ {"ncedil", 326, "\xc5\x86"},
+ {"Lambda", 923, "\xce\x9b"},
+ {"uopf", 120166, "\xf0\x9d\x95\xa6"},
+ {"bigodot", 10752, "\xe2\xa8\x80"},
+ {"ubreve", 365, "\xc5\xad"},
+ {"drbkarow", 10512, "\xe2\xa4\x90"},
+ {"els", 10901, "\xe2\xaa\x95"},
+ {"shortparallel", 8741, "\xe2\x88\xa5"},
+ {"Pcy", 1055, "\xd0\x9f"},
+ {"dsol", 10742, "\xe2\xa7\xb6"},
+ {"supsim", 10952, "\xe2\xab\x88"},
+ {"Longrightarrow", 10233, "\xe2\x9f\xb9"},
+ {"ThickSpace", 8287, "\xe2\x81\x9f\xe2\x80\x8a"},
+ {"Itilde", 296, "\xc4\xa8"},
+ {"nparallel", 8742, "\xe2\x88\xa6"},
+ {"And", 10835, "\xe2\xa9\x93"},
+ {"boxhd", 9516, "\xe2\x94\xac"},
+ {"Dashv", 10980, "\xe2\xab\xa4"},
+ {"NotSuperset", 8835, "\xe2\x8a\x83\xe2\x83\x92"},
+ {"Eta", 919, "\xce\x97"},
+ {"Qopf", 8474, "\xe2\x84\x9a"},
+ {"period", 46, "\x2e"},
+ {"angmsd", 8737, "\xe2\x88\xa1"},
+ {"fllig", 64258, "\xef\xac\x82"},
+ {"cuvee", 8910, "\xe2\x8b\x8e"},
+ {"wedbar", 10847, "\xe2\xa9\x9f"},
+ {"Fscr", 8497, "\xe2\x84\xb1"},
+ {"veebar", 8891, "\xe2\x8a\xbb"},
+ {"Longleftrightarrow", 10234, "\xe2\x9f\xba"},
+ {"reg", 174, "\xc2\xae"},
+ {"NegativeMediumSpace", 8203, "\xe2\x80\x8b"},
+ {"Upsi", 978, "\xcf\x92"},
+ {"Mellintrf", 8499, "\xe2\x84\xb3"},
+ {"boxHU", 9577, "\xe2\x95\xa9"},
+ {"bne", 61, "\x3d\xe2\x83\xa5"},
+ {"frac56", 8538, "\xe2\x85\x9a"},
+ {"utrif", 9652, "\xe2\x96\xb4"},
+ {"LeftTriangle", 8882, "\xe2\x8a\xb2"},
+ {"nsime", 8772, "\xe2\x89\x84"},
+ {"rcedil", 343, "\xc5\x97"},
+ {"aogon", 261, "\xc4\x85"},
+ {"uHar", 10595, "\xe2\xa5\xa3"},
+ {"ForAll", 8704, "\xe2\x88\x80"},
+ {"prE", 10931, "\xe2\xaa\xb3"},
+ {"boxV", 9553, "\xe2\x95\x91"},
+ {"softcy", 1100, "\xd1\x8c"},
+ {"hercon", 8889, "\xe2\x8a\xb9"},
+ {"lmoustache", 9136, "\xe2\x8e\xb0"},
+ {"Product", 8719, "\xe2\x88\x8f"},
+ {"lsimg", 10895, "\xe2\xaa\x8f"},
+ {"verbar", 124, "\x7c"},
+ {"ofcir", 10687, "\xe2\xa6\xbf"},
+ {"curlyeqprec", 8926, "\xe2\x8b\x9e"},
+ {"ldquo", 8220, "\xe2\x80\x9c"},
+ {"bot", 8869, "\xe2\x8a\xa5"},
+ {"Psi", 936, "\xce\xa8"},
+ {"OElig", 338, "\xc5\x92"},
+ {"DownRightVectorBar", 10583, "\xe2\xa5\x97"},
+ {"minusb", 8863, "\xe2\x8a\x9f"},
+ {"Iscr", 8464, "\xe2\x84\x90"},
+ {"Tcedil", 354, "\xc5\xa2"},
+ {"ffilig", 64259, "\xef\xac\x83"},
+ {"Gcy", 1043, "\xd0\x93"},
+ {"oline", 8254, "\xe2\x80\xbe"},
+ {"bottom", 8869, "\xe2\x8a\xa5"},
+ {"nVDash", 8879, "\xe2\x8a\xaf"},
+ {"lessdot", 8918, "\xe2\x8b\x96"},
+ {"cups", 8746, "\xe2\x88\xaa\xef\xb8\x80"},
+ {"gla", 10917, "\xe2\xaa\xa5"},
+ {"hellip", 8230, "\xe2\x80\xa6"},
+ {"hookleftarrow", 8617, "\xe2\x86\xa9"},
+ {"Cup", 8915, "\xe2\x8b\x93"},
+ {"upsi", 965, "\xcf\x85"},
+ {"DownArrowBar", 10515, "\xe2\xa4\x93"},
+ {"lowast", 8727, "\xe2\x88\x97"},
+ {"profline", 8978, "\xe2\x8c\x92"},
+ {"ngsim", 8821, "\xe2\x89\xb5"},
+ {"boxhu", 9524, "\xe2\x94\xb4"},
+ {"operp", 10681, "\xe2\xa6\xb9"},
+ {"cap", 8745, "\xe2\x88\xa9"},
+ {"Hcirc", 292, "\xc4\xa4"},
+ {"Ncy", 1053, "\xd0\x9d"},
+ {"zeetrf", 8488, "\xe2\x84\xa8"},
+ {"cuepr", 8926, "\xe2\x8b\x9e"},
+ {"supsetneq", 8843, "\xe2\x8a\x8b"},
+ {"lfloor", 8970, "\xe2\x8c\x8a"},
+ {"ngtr", 8815, "\xe2\x89\xaf"},
+ {"ccups", 10828, "\xe2\xa9\x8c"},
+ {"pscr", 120005, "\xf0\x9d\x93\x85"},
+ {"Cfr", 8493, "\xe2\x84\xad"},
+ {"dtri", 9663, "\xe2\x96\xbf"},
+ {"icirc", 238, "\xc3\xae"},
+ {"leftarrow", 8592, "\xe2\x86\x90"},
+ {"vdash", 8866, "\xe2\x8a\xa2"},
+ {"leftrightharpoons", 8651, "\xe2\x87\x8b"},
+ {"rightrightarrows", 8649, "\xe2\x87\x89"},
+ {"strns", 175, "\xc2\xaf"},
+ {"intlarhk", 10775, "\xe2\xa8\x97"},
+ {"downharpoonright", 8642, "\xe2\x87\x82"},
+ {"yacute", 253, "\xc3\xbd"},
+ {"boxUr", 9561, "\xe2\x95\x99"},
+ {"triangleleft", 9667, "\xe2\x97\x83"},
+ {"DiacriticalDot", 729, "\xcb\x99"},
+ {"thetav", 977, "\xcf\x91"},
+ {"OverBracket", 9140, "\xe2\x8e\xb4"},
+ {"PrecedesTilde", 8830, "\xe2\x89\xbe"},
+ {"rtrie", 8885, "\xe2\x8a\xb5"},
+ {"Scirc", 348, "\xc5\x9c"},
+ {"vsupne", 8843, "\xe2\x8a\x8b\xef\xb8\x80"},
+ {"OverBrace", 9182, "\xe2\x8f\x9e"},
+ {"Yfr", 120092, "\xf0\x9d\x94\x9c"},
+ {"scnE", 10934, "\xe2\xaa\xb6"},
+ {"simlE", 10911, "\xe2\xaa\x9f"},
+ {"Proportional", 8733, "\xe2\x88\x9d"},
+ {"edot", 279, "\xc4\x97"},
+ {"loang", 10220, "\xe2\x9f\xac"},
+ {"gesdot", 10880, "\xe2\xaa\x80"},
+ {"DownBreve", 785, "\xcc\x91"},
+ {"pcy", 1087, "\xd0\xbf"},
+ {"Succeeds", 8827, "\xe2\x89\xbb"},
+ {"mfr", 120106, "\xf0\x9d\x94\xaa"},
+ {"Leftarrow", 8656, "\xe2\x87\x90"},
+ {"boxDr", 9555, "\xe2\x95\x93"},
+ {"Nscr", 119977, "\xf0\x9d\x92\xa9"},
+ {"diam", 8900, "\xe2\x8b\x84"},
+ {"CHcy", 1063, "\xd0\xa7"},
+ {"boxdr", 9484, "\xe2\x94\x8c"},
+ {"rlm", 8207, "\xe2\x80\x8f"},
+ {"Coproduct", 8720, "\xe2\x88\x90"},
+ {"RightTeeArrow", 8614, "\xe2\x86\xa6"},
+ {"tridot", 9708, "\xe2\x97\xac"},
+ {"ldquor", 8222, "\xe2\x80\x9e"},
+ {"sol", 47, "\x2f"},
+ {"ecirc", 234, "\xc3\xaa"},
+ {"DoubleLeftArrow", 8656, "\xe2\x87\x90"},
+ {"Gscr", 119970, "\xf0\x9d\x92\xa2"},
+ {"ap", 8776, "\xe2\x89\x88"},
+ {"rbrke", 10636, "\xe2\xa6\x8c"},
+ {"LeftFloor", 8970, "\xe2\x8c\x8a"},
+ {"blk12", 9618, "\xe2\x96\x92"},
+ {"Conint", 8751, "\xe2\x88\xaf"},
+ {"triangledown", 9663, "\xe2\x96\xbf"},
+ {"Icy", 1048, "\xd0\x98"},
+ {"backprime", 8245, "\xe2\x80\xb5"},
+ {"longleftrightarrow", 10231, "\xe2\x9f\xb7"},
+ {"ntriangleleft", 8938, "\xe2\x8b\xaa"},
+ {"copy", 169, "\xc2\xa9"},
+ {"mapstodown", 8615, "\xe2\x86\xa7"},
+ {"seArr", 8664, "\xe2\x87\x98"},
+ {"ENG", 330, "\xc5\x8a"},
+ {"DoubleRightArrow", 8658, "\xe2\x87\x92"},
+ {"tfr", 120113, "\xf0\x9d\x94\xb1"},
+ {"rharul", 10604, "\xe2\xa5\xac"},
+ {"bfr", 120095, "\xf0\x9d\x94\x9f"},
+ {"origof", 8886, "\xe2\x8a\xb6"},
+ {"Therefore", 8756, "\xe2\x88\xb4"},
+ {"glE", 10898, "\xe2\xaa\x92"},
+ {"leftarrowtail", 8610, "\xe2\x86\xa2"},
+ {"NotEqual", 8800, "\xe2\x89\xa0"},
+ {"LeftCeiling", 8968, "\xe2\x8c\x88"},
+ {"lArr", 8656, "\xe2\x87\x90"},
+ {"subseteq", 8838, "\xe2\x8a\x86"},
+ {"larrbfs", 10527, "\xe2\xa4\x9f"},
+ {"Gammad", 988, "\xcf\x9c"},
+ {"rtriltri", 10702, "\xe2\xa7\x8e"},
+ {"Fcy", 1060, "\xd0\xa4"},
+ {"Vopf", 120141, "\xf0\x9d\x95\x8d"},
+ {"lrarr", 8646, "\xe2\x87\x86"},
+ {"delta", 948, "\xce\xb4"},
+ {"xodot", 10752, "\xe2\xa8\x80"},
+ {"larrtl", 8610, "\xe2\x86\xa2"},
+ {"gsim", 8819, "\xe2\x89\xb3"},
+ {"ratail", 10522, "\xe2\xa4\x9a"},
+ {"vsubne", 8842, "\xe2\x8a\x8a\xef\xb8\x80"},
+ {"boxur", 9492, "\xe2\x94\x94"},
+ {"succsim", 8831, "\xe2\x89\xbf"},
+ {"triplus", 10809, "\xe2\xa8\xb9"},
+ {"nless", 8814, "\xe2\x89\xae"},
+ {"uharr", 8638, "\xe2\x86\xbe"},
+ {"lambda", 955, "\xce\xbb"},
+ {"uuml", 252, "\xc3\xbc"},
+ {"horbar", 8213, "\xe2\x80\x95"},
+ {"ccirc", 265, "\xc4\x89"},
+ {"sqcup", 8852, "\xe2\x8a\x94"},
+ {"Pscr", 119979, "\xf0\x9d\x92\xab"},
+ {"supsup", 10966, "\xe2\xab\x96"},
+ {"Cacute", 262, "\xc4\x86"},
+ {"upsih", 978, "\xcf\x92"},
+ {"precsim", 8830, "\xe2\x89\xbe"},
+ {"longrightarrow", 10230, "\xe2\x9f\xb6"},
+ {"circledR", 174, "\xc2\xae"},
+ {"UpTeeArrow", 8613, "\xe2\x86\xa5"},
+ {"bepsi", 1014, "\xcf\xb6"},
+ {"oast", 8859, "\xe2\x8a\x9b"},
+ {"yfr", 120118, "\xf0\x9d\x94\xb6"},
+ {"rdsh", 8627, "\xe2\x86\xb3"},
+ {"Ograve", 210, "\xc3\x92"},
+ {"LeftVectorBar", 10578, "\xe2\xa5\x92"},
+ {"NotNestedLessLess", 10913, "\xe2\xaa\xa1\xcc\xb8"},
+ {"Jscr", 119973, "\xf0\x9d\x92\xa5"},
+ {"psi", 968, "\xcf\x88"},
+ {"orarr", 8635, "\xe2\x86\xbb"},
+ {"Subset", 8912, "\xe2\x8b\x90"},
+ {"curarr", 8631, "\xe2\x86\xb7"},
+ {"CirclePlus", 8853, "\xe2\x8a\x95"},
+ {"gtrless", 8823, "\xe2\x89\xb7"},
+ {"nvle", 8804, "\xe2\x89\xa4\xe2\x83\x92"},
+ {"prop", 8733, "\xe2\x88\x9d"},
+ {"gEl", 10892, "\xe2\xaa\x8c"},
+ {"gtlPar", 10645, "\xe2\xa6\x95"},
+ {"frasl", 8260, "\xe2\x81\x84"},
+ {"nearr", 8599, "\xe2\x86\x97"},
+ {"NotSubsetEqual", 8840, "\xe2\x8a\x88"},
+ {"planck", 8463, "\xe2\x84\x8f"},
+ {"Uuml", 220, "\xc3\x9c"},
+ {"spadesuit", 9824, "\xe2\x99\xa0"},
+ {"sect", 167, "\xc2\xa7"},
+ {"cdot", 267, "\xc4\x8b"},
+ {"boxVh", 9579, "\xe2\x95\xab"},
+ {"zscr", 120015, "\xf0\x9d\x93\x8f"},
+ {"nsqsube", 8930, "\xe2\x8b\xa2"},
+ {"grave", 96, "\x60"},
+ {"angrtvb", 8894, "\xe2\x8a\xbe"},
+ {"MediumSpace", 8287, "\xe2\x81\x9f"},
+ {"Ntilde", 209, "\xc3\x91"},
+ {"solb", 10692, "\xe2\xa7\x84"},
+ {"angzarr", 9084, "\xe2\x8d\xbc"},
+ {"nopf", 120159, "\xf0\x9d\x95\x9f"},
+ {"rtrif", 9656, "\xe2\x96\xb8"},
+ {"nrightarrow", 8603, "\xe2\x86\x9b"},
+ {"Kappa", 922, "\xce\x9a"},
+ {"simrarr", 10610, "\xe2\xa5\xb2"},
+ {"imacr", 299, "\xc4\xab"},
+ {"vrtri", 8883, "\xe2\x8a\xb3"},
+ {"part", 8706, "\xe2\x88\x82"},
+ {"esim", 8770, "\xe2\x89\x82"},
+ {"atilde", 227, "\xc3\xa3"},
+ {"DownRightTeeVector", 10591, "\xe2\xa5\x9f"},
+ {"jcirc", 309, "\xc4\xb5"},
+ {"Ecaron", 282, "\xc4\x9a"},
+ {"VerticalSeparator", 10072, "\xe2\x9d\x98"},
+ {"rHar", 10596, "\xe2\xa5\xa4"},
+ {"rcaron", 345, "\xc5\x99"},
+ {"subnE", 10955, "\xe2\xab\x8b"},
+ {"ii", 8520, "\xe2\x85\x88"},
+ {"Cconint", 8752, "\xe2\x88\xb0"},
+ {"Mcy", 1052, "\xd0\x9c"},
+ {"eqcolon", 8789, "\xe2\x89\x95"},
+ {"cupor", 10821, "\xe2\xa9\x85"},
+ {"DoubleUpArrow", 8657, "\xe2\x87\x91"},
+ {"boxbox", 10697, "\xe2\xa7\x89"},
+ {"setminus", 8726, "\xe2\x88\x96"},
+ {"Lleftarrow", 8666, "\xe2\x87\x9a"},
+ {"nang", 8736, "\xe2\x88\xa0\xe2\x83\x92"},
+ {"TRADE", 8482, "\xe2\x84\xa2"},
+ {"urcorner", 8989, "\xe2\x8c\x9d"},
+ {"lsqb", 91, "\x5b"},
+ {"cupcup", 10826, "\xe2\xa9\x8a"},
+ {"kjcy", 1116, "\xd1\x9c"},
+ {"llhard", 10603, "\xe2\xa5\xab"},
+ {"mumap", 8888, "\xe2\x8a\xb8"},
+ {"iiint", 8749, "\xe2\x88\xad"},
+ {"RightTee", 8866, "\xe2\x8a\xa2"},
+ {"Tcaron", 356, "\xc5\xa4"},
+ {"bigcirc", 9711, "\xe2\x97\xaf"},
+ {"trianglerighteq", 8885, "\xe2\x8a\xb5"},
+ {"NotLessGreater", 8824, "\xe2\x89\xb8"},
+ {"hArr", 8660, "\xe2\x87\x94"},
+ {"ocy", 1086, "\xd0\xbe"},
+ {"tosa", 10537, "\xe2\xa4\xa9"},
+ {"twixt", 8812, "\xe2\x89\xac"},
+ {"square", 9633, "\xe2\x96\xa1"},
+ {"Otimes", 10807, "\xe2\xa8\xb7"},
+ {"Kcedil", 310, "\xc4\xb6"},
+ {"beth", 8502, "\xe2\x84\xb6"},
+ {"triminus", 10810, "\xe2\xa8\xba"},
+ {"nlArr", 8653, "\xe2\x87\x8d"},
+ {"Oacute", 211, "\xc3\x93"},
+ {"zwnj", 8204, "\xe2\x80\x8c"},
+ {"ll", 8810, "\xe2\x89\xaa"},
+ {"smashp", 10803, "\xe2\xa8\xb3"},
+ {"ngeqq", 8807, "\xe2\x89\xa7\xcc\xb8"},
+ {"rnmid", 10990, "\xe2\xab\xae"},
+ {"nwArr", 8662, "\xe2\x87\x96"},
+ {"RightUpDownVector", 10575, "\xe2\xa5\x8f"},
+ {"lbbrk", 10098, "\xe2\x9d\xb2"},
+ {"compfn", 8728, "\xe2\x88\x98"},
+ {"eDDot", 10871, "\xe2\xa9\xb7"},
+ {"Jsercy", 1032, "\xd0\x88"},
+ {"HARDcy", 1066, "\xd0\xaa"},
+ {"nexists", 8708, "\xe2\x88\x84"},
+ {"theta", 952, "\xce\xb8"},
+ {"plankv", 8463, "\xe2\x84\x8f"},
+ {"sup2", 178, "\xc2\xb2"},
+ {"lessapprox", 10885, "\xe2\xaa\x85"},
+ {"gdot", 289, "\xc4\xa1"},
+ {"angmsdae", 10668, "\xe2\xa6\xac"},
+ {"Superset", 8835, "\xe2\x8a\x83"},
+ {"prap", 10935, "\xe2\xaa\xb7"},
+ {"Zscr", 119989, "\xf0\x9d\x92\xb5"},
+ {"nsucc", 8833, "\xe2\x8a\x81"},
+ {"supseteqq", 10950, "\xe2\xab\x86"},
+ {"UpTee", 8869, "\xe2\x8a\xa5"},
+ {"LowerLeftArrow", 8601, "\xe2\x86\x99"},
+ {"ssmile", 8995, "\xe2\x8c\xa3"},
+ {"niv", 8715, "\xe2\x88\x8b"},
+ {"bigvee", 8897, "\xe2\x8b\x81"},
+ {"kscr", 120000, "\xf0\x9d\x93\x80"},
+ {"xutri", 9651, "\xe2\x96\xb3"},
+ {"caret", 8257, "\xe2\x81\x81"},
+ {"caron", 711, "\xcb\x87"},
+ {"Wedge", 8896, "\xe2\x8b\x80"},
+ {"sdotb", 8865, "\xe2\x8a\xa1"},
+ {"bigoplus", 10753, "\xe2\xa8\x81"},
+ {"Breve", 728, "\xcb\x98"},
+ {"ImaginaryI", 8520, "\xe2\x85\x88"},
+ {"longmapsto", 10236, "\xe2\x9f\xbc"},
+ {"boxVH", 9580, "\xe2\x95\xac"},
+ {"lozenge", 9674, "\xe2\x97\x8a"},
+ {"toea", 10536, "\xe2\xa4\xa8"},
+ {"nbumpe", 8783, "\xe2\x89\x8f\xcc\xb8"},
+ {"gcirc", 285, "\xc4\x9d"},
+ {"NotHumpEqual", 8783, "\xe2\x89\x8f\xcc\xb8"},
+ {"pre", 10927, "\xe2\xaa\xaf"},
+ {"ascr", 119990, "\xf0\x9d\x92\xb6"},
+ {"Acirc", 194, "\xc3\x82"},
+ {"questeq", 8799, "\xe2\x89\x9f"},
+ {"ncaron", 328, "\xc5\x88"},
+ {"LeftTeeArrow", 8612, "\xe2\x86\xa4"},
+ {"xcirc", 9711, "\xe2\x97\xaf"},
+ {"swarr", 8601, "\xe2\x86\x99"},
+ {"MinusPlus", 8723, "\xe2\x88\x93"},
+ {"plus", 43, "\x2b"},
+ {"NotDoubleVerticalBar", 8742, "\xe2\x88\xa6"},
+ {"rppolint", 10770, "\xe2\xa8\x92"},
+ {"NotTildeFullEqual", 8775, "\xe2\x89\x87"},
+ {"ltdot", 8918, "\xe2\x8b\x96"},
+ {"NotNestedGreaterGreater", 10914, "\xe2\xaa\xa2\xcc\xb8"},
+ {"Lscr", 8466, "\xe2\x84\x92"},
+ {"pitchfork", 8916, "\xe2\x8b\x94"},
+ {"Eopf", 120124, "\xf0\x9d\x94\xbc"},
+ {"ropf", 120163, "\xf0\x9d\x95\xa3"},
+ {"Delta", 916, "\xce\x94"},
+ {"lozf", 10731, "\xe2\xa7\xab"},
+ {"RightTeeVector", 10587, "\xe2\xa5\x9b"},
+ {"UpDownArrow", 8597, "\xe2\x86\x95"},
+ {"bump", 8782, "\xe2\x89\x8e"},
+ {"Rscr", 8475, "\xe2\x84\x9b"},
+ {"slarr", 8592, "\xe2\x86\x90"},
+ {"lcy", 1083, "\xd0\xbb"},
+ {"Vee", 8897, "\xe2\x8b\x81"},
+ {"Iogon", 302, "\xc4\xae"},
+ {"minus", 8722, "\xe2\x88\x92"},
+ {"GreaterFullEqual", 8807, "\xe2\x89\xa7"},
+ {"xhArr", 10234, "\xe2\x9f\xba"},
+ {"shortmid", 8739, "\xe2\x88\xa3"},
+ {"DoubleDownArrow", 8659, "\xe2\x87\x93"},
+ {"Wscr", 119986, "\xf0\x9d\x92\xb2"},
+ {"rang", 10217, "\xe2\x9f\xa9"},
+ {"lcub", 123, "\x7b"},
+ {"mnplus", 8723, "\xe2\x88\x93"},
+ {"ulcrop", 8975, "\xe2\x8c\x8f"},
+ {"wfr", 120116, "\xf0\x9d\x94\xb4"},
+ {"DifferentialD", 8518, "\xe2\x85\x86"},
+ {"ThinSpace", 8201, "\xe2\x80\x89"},
+ {"NotGreaterGreater", 8811, "\xe2\x89\xab\xcc\xb8"},
+ {"Topf", 120139, "\xf0\x9d\x95\x8b"},
+ {"sbquo", 8218, "\xe2\x80\x9a"},
+ {"sdot", 8901, "\xe2\x8b\x85"},
+ {"DoubleLeftTee", 10980, "\xe2\xab\xa4"},
+ {"vBarv", 10985, "\xe2\xab\xa9"},
+ {"subne", 8842, "\xe2\x8a\x8a"},
+ {"gtrdot", 8919, "\xe2\x8b\x97"},
+ {"opar", 10679, "\xe2\xa6\xb7"},
+ {"apid", 8779, "\xe2\x89\x8b"},
+ {"Cross", 10799, "\xe2\xa8\xaf"},
+ {"lhblk", 9604, "\xe2\x96\x84"},
+ {"capcap", 10827, "\xe2\xa9\x8b"},
+ {"midast", 42, "\x2a"},
+ {"lscr", 120001, "\xf0\x9d\x93\x81"},
+ {"nGt", 8811, "\xe2\x89\xab\xe2\x83\x92"},
+ {"Euml", 203, "\xc3\x8b"},
+ {"blacktriangledown", 9662, "\xe2\x96\xbe"},
+ {"Rcy", 1056, "\xd0\xa0"},
+ {"dfisht", 10623, "\xe2\xa5\xbf"},
+ {"dashv", 8867, "\xe2\x8a\xa3"},
+ {"ast", 42, "\x2a"},
+ {"ContourIntegral", 8750, "\xe2\x88\xae"},
+ {"Ofr", 120082, "\xf0\x9d\x94\x92"},
+ {"Lcy", 1051, "\xd0\x9b"},
+ {"nltrie", 8940, "\xe2\x8b\xac"},
+ {"ShortUpArrow", 8593, "\xe2\x86\x91"},
+ {"acy", 1072, "\xd0\xb0"},
+ {"rightarrow", 8594, "\xe2\x86\x92"},
+ {"UnderBar", 95, "\x5f"},
+ {"LongLeftArrow", 10229, "\xe2\x9f\xb5"},
+ {"andd", 10844, "\xe2\xa9\x9c"},
+ {"xlarr", 10229, "\xe2\x9f\xb5"},
+ {"percnt", 37, "\x25"},
+ {"rharu", 8640, "\xe2\x87\x80"},
+ {"plusdo", 8724, "\xe2\x88\x94"},
+ {"TScy", 1062, "\xd0\xa6"},
+ {"kcy", 1082, "\xd0\xba"},
+ {"boxVR", 9568, "\xe2\x95\xa0"},
+ {"looparrowleft", 8619, "\xe2\x86\xab"},
+ {"scirc", 349, "\xc5\x9d"},
+ {"drcorn", 8991, "\xe2\x8c\x9f"},
+ {"iiota", 8489, "\xe2\x84\xa9"},
+ {"Zcy", 1047, "\xd0\x97"},
+ {"frac58", 8541, "\xe2\x85\x9d"},
+ {"alpha", 945, "\xce\xb1"},
+ {"daleth", 8504, "\xe2\x84\xb8"},
+ {"gtreqless", 8923, "\xe2\x8b\x9b"},
+ {"tstrok", 359, "\xc5\xa7"},
+ {"plusb", 8862, "\xe2\x8a\x9e"},
+ {"odsold", 10684, "\xe2\xa6\xbc"},
+ {"varsupsetneqq", 10956, "\xe2\xab\x8c\xef\xb8\x80"},
+ {"otilde", 245, "\xc3\xb5"},
+ {"gtcir", 10874, "\xe2\xa9\xba"},
+ {"lltri", 9722, "\xe2\x97\xba"},
+ {"rx", 8478, "\xe2\x84\x9e"},
+ {"ljcy", 1113, "\xd1\x99"},
+ {"parsim", 10995, "\xe2\xab\xb3"},
+ {"NotElement", 8713, "\xe2\x88\x89"},
+ {"plusmn", 177, "\xc2\xb1"},
+ {"varsubsetneq", 8842, "\xe2\x8a\x8a\xef\xb8\x80"},
+ {"subset", 8834, "\xe2\x8a\x82"},
+ {"awint", 10769, "\xe2\xa8\x91"},
+ {"laemptyv", 10676, "\xe2\xa6\xb4"},
+ {"phiv", 981, "\xcf\x95"},
+ {"sfrown", 8994, "\xe2\x8c\xa2"},
+ {"DoubleUpDownArrow", 8661, "\xe2\x87\x95"},
+ {"lpar", 40, "\x28"},
+ {"frac45", 8536, "\xe2\x85\x98"},
+ {"rBarr", 10511, "\xe2\xa4\x8f"},
+ {"npolint", 10772, "\xe2\xa8\x94"},
+ {"emacr", 275, "\xc4\x93"},
+ {"maltese", 10016, "\xe2\x9c\xa0"},
+ {"PlusMinus", 177, "\xc2\xb1"},
+ {"ReverseEquilibrium", 8651, "\xe2\x87\x8b"},
+ {"oscr", 8500, "\xe2\x84\xb4"},
+ {"blacksquare", 9642, "\xe2\x96\xaa"},
+ {"TSHcy", 1035, "\xd0\x8b"},
+ {"gap", 10886, "\xe2\xaa\x86"},
+ {"xnis", 8955, "\xe2\x8b\xbb"},
+ {"Ll", 8920, "\xe2\x8b\x98"},
+ {"PrecedesEqual", 10927, "\xe2\xaa\xaf"},
+ {"incare", 8453, "\xe2\x84\x85"},
+ {"nharr", 8622, "\xe2\x86\xae"},
+ {"varnothing", 8709, "\xe2\x88\x85"},
+ {"ShortDownArrow", 8595, "\xe2\x86\x93"},
+ {"nbsp", 160, " "},
+ {"asympeq", 8781, "\xe2\x89\x8d"},
+ {"rbrkslu", 10640, "\xe2\xa6\x90"},
+ {"rho", 961, "\xcf\x81"},
+ {"Mscr", 8499, "\xe2\x84\xb3"},
+ {"eth", 240, "\xc3\xb0"},
+ {"suplarr", 10619, "\xe2\xa5\xbb"},
+ {"Tab", 9, "\x09"},
+ {"omicron", 959, "\xce\xbf"},
+ {"blacktriangle", 9652, "\xe2\x96\xb4"},
+ {"nldr", 8229, "\xe2\x80\xa5"},
+ {"downharpoonleft", 8643, "\xe2\x87\x83"},
+ {"circledcirc", 8858, "\xe2\x8a\x9a"},
+ {"leftleftarrows", 8647, "\xe2\x87\x87"},
+ {"NotHumpDownHump", 8782, "\xe2\x89\x8e\xcc\xb8"},
+ {"nvgt", 62, "\x3e\xe2\x83\x92"},
+ {"rhard", 8641, "\xe2\x87\x81"},
+ {"nGg", 8921, "\xe2\x8b\x99\xcc\xb8"},
+ {"lurdshar", 10570, "\xe2\xa5\x8a"},
+ {"cirE", 10691, "\xe2\xa7\x83"},
+ {"isinE", 8953, "\xe2\x8b\xb9"},
+ {"eparsl", 10723, "\xe2\xa7\xa3"},
+ {"RightAngleBracket", 10217, "\xe2\x9f\xa9"},
+ {"hcirc", 293, "\xc4\xa5"},
+ {"bumpeq", 8783, "\xe2\x89\x8f"},
+ {"cire", 8791, "\xe2\x89\x97"},
+ {"dotplus", 8724, "\xe2\x88\x94"},
+ {"itilde", 297, "\xc4\xa9"},
+ {"uwangle", 10663, "\xe2\xa6\xa7"},
+ {"rlhar", 8652, "\xe2\x87\x8c"},
+ {"rbrace", 125, "\x7d"},
+ {"mid", 8739, "\xe2\x88\xa3"},
+ {"el", 10905, "\xe2\xaa\x99"},
+ {"KJcy", 1036, "\xd0\x8c"},
+ {"odiv", 10808, "\xe2\xa8\xb8"},
+ {"amacr", 257, "\xc4\x81"},
+ {"qprime", 8279, "\xe2\x81\x97"},
+ {"tcedil", 355, "\xc5\xa3"},
+ {"UpArrowDownArrow", 8645, "\xe2\x87\x85"},
+ {"spades", 9824, "\xe2\x99\xa0"},
+ {"napos", 329, "\xc5\x89"},
+ {"straightepsilon", 1013, "\xcf\xb5"},
+ {"CupCap", 8781, "\xe2\x89\x8d"},
+ {"Oopf", 120134, "\xf0\x9d\x95\x86"},
+ {"sub", 8834, "\xe2\x8a\x82"},
+ {"ohm", 937, "\xce\xa9"},
+ {"UnderBrace", 9183, "\xe2\x8f\x9f"},
+ {"looparrowright", 8620, "\xe2\x86\xac"},
+ {"xotime", 10754, "\xe2\xa8\x82"},
+ {"ntgl", 8825, "\xe2\x89\xb9"},
+ {"minusdu", 10794, "\xe2\xa8\xaa"},
+ {"rarrb", 8677, "\xe2\x87\xa5"},
+ {"nvlArr", 10498, "\xe2\xa4\x82"},
+ {"triangle", 9653, "\xe2\x96\xb5"},
+ {"nacute", 324, "\xc5\x84"},
+ {"boxHD", 9574, "\xe2\x95\xa6"},
+ {"ratio", 8758, "\xe2\x88\xb6"},
+ {"larrsim", 10611, "\xe2\xa5\xb3"},
+ {"LessLess", 10913, "\xe2\xaa\xa1"},
+ {"yacy", 1103, "\xd1\x8f"},
+ {"ctdot", 8943, "\xe2\x8b\xaf"},
+ {"and", 8743, "\xe2\x88\xa7"},
+ {"lrtri", 8895, "\xe2\x8a\xbf"},
+ {"eDot", 8785, "\xe2\x89\x91"},
+ {"sqsub", 8847, "\xe2\x8a\x8f"},
+ {"real", 8476, "\xe2\x84\x9c"},
+ {"Dcy", 1044, "\xd0\x94"},
+ {"vartheta", 977, "\xcf\x91"},
+ {"nsub", 8836, "\xe2\x8a\x84"},
+ {"DownTee", 8868, "\xe2\x8a\xa4"},
+ {"acute", 180, "\xc2\xb4"},
+ {"GreaterLess", 8823, "\xe2\x89\xb7"},
+ {"supplus", 10944, "\xe2\xab\x80"},
+ {"Vbar", 10987, "\xe2\xab\xab"},
+ {"divideontimes", 8903, "\xe2\x8b\x87"},
+ {"lsim", 8818, "\xe2\x89\xb2"},
+ {"nearhk", 10532, "\xe2\xa4\xa4"},
+ {"nLtv", 8810, "\xe2\x89\xaa\xcc\xb8"},
+ {"RuleDelayed", 10740, "\xe2\xa7\xb4"},
+ {"smile", 8995, "\xe2\x8c\xa3"},
+ {"coprod", 8720, "\xe2\x88\x90"},
+ {"imof", 8887, "\xe2\x8a\xb7"},
+ {"ecy", 1101, "\xd1\x8d"},
+ {"RightCeiling", 8969, "\xe2\x8c\x89"},
+ {"dlcorn", 8990, "\xe2\x8c\x9e"},
+ {"Nu", 925, "\xce\x9d"},
+ {"frac18", 8539, "\xe2\x85\x9b"},
+ {"diamond", 8900, "\xe2\x8b\x84"},
+ {"Icirc", 206, "\xc3\x8e"},
+ {"ngeq", 8817, "\xe2\x89\xb1"},
+ {"epsilon", 949, "\xce\xb5"},
+ {"fork", 8916, "\xe2\x8b\x94"},
+ {"xrarr", 10230, "\xe2\x9f\xb6"},
+ {"racute", 341, "\xc5\x95"},
+ {"ntlg", 8824, "\xe2\x89\xb8"},
+ {"xvee", 8897, "\xe2\x8b\x81"},
+ {"LeftArrowRightArrow", 8646, "\xe2\x87\x86"},
+ {"DownLeftRightVector", 10576, "\xe2\xa5\x90"},
+ {"Eacute", 201, "\xc3\x89"},
+ {"gimel", 8503, "\xe2\x84\xb7"},
+ {"rtimes", 8906, "\xe2\x8b\x8a"},
+ {"forall", 8704, "\xe2\x88\x80"},
+ {"DiacriticalDoubleAcute", 733, "\xcb\x9d"},
+ {"dArr", 8659, "\xe2\x87\x93"},
+ {"fallingdotseq", 8786, "\xe2\x89\x92"},
+ {"Aogon", 260, "\xc4\x84"},
+ {"PartialD", 8706, "\xe2\x88\x82"},
+ {"mapstoup", 8613, "\xe2\x86\xa5"},
+ {"die", 168, "\xc2\xa8"},
+ {"ngt", 8815, "\xe2\x89\xaf"},
+ {"vcy", 1074, "\xd0\xb2"},
+ {"fjlig", 0, "\x66\x6a"},
+ {"submult", 10945, "\xe2\xab\x81"},
+ {"ubrcy", 1118, "\xd1\x9e"},
+ {"ovbar", 9021, "\xe2\x8c\xbd"},
+ {"bsime", 8909, "\xe2\x8b\x8d"},
+ {"precnsim", 8936, "\xe2\x8b\xa8"},
+ {"DiacriticalTilde", 732, "\xcb\x9c"},
+ {"cwint", 8753, "\xe2\x88\xb1"},
+ {"Scy", 1057, "\xd0\xa1"},
+ {"NotGreaterEqual", 8817, "\xe2\x89\xb1"},
+ {"boxUR", 9562, "\xe2\x95\x9a"},
+ {"LessSlantEqual", 10877, "\xe2\xa9\xbd"},
+ {"Barwed", 8966, "\xe2\x8c\x86"},
+ {"supdot", 10942, "\xe2\xaa\xbe"},
+ {"gel", 8923, "\xe2\x8b\x9b"},
+ {"iscr", 119998, "\xf0\x9d\x92\xbe"},
+ {"doublebarwedge", 8966, "\xe2\x8c\x86"},
+ {"Idot", 304, "\xc4\xb0"},
+ {"DoubleDot", 168, "\xc2\xa8"},
+ {"rsquo", 8217, "\xe2\x80\x99"},
+ {"subsetneqq", 10955, "\xe2\xab\x8b"},
+ {"UpEquilibrium", 10606, "\xe2\xa5\xae"},
+ {"copysr", 8471, "\xe2\x84\x97"},
+ {"RightDoubleBracket", 10215, "\xe2\x9f\xa7"},
+ {"LeftRightVector", 10574, "\xe2\xa5\x8e"},
+ {"DownLeftVectorBar", 10582, "\xe2\xa5\x96"},
+ {"suphsub", 10967, "\xe2\xab\x97"},
+ {"cedil", 184, "\xc2\xb8"},
+ {"prurel", 8880, "\xe2\x8a\xb0"},
+ {"imagpart", 8465, "\xe2\x84\x91"},
+ {"Hscr", 8459, "\xe2\x84\x8b"},
+ {"jmath", 567, "\xc8\xb7"},
+ {"nrtrie", 8941, "\xe2\x8b\xad"},
+ {"nsup", 8837, "\xe2\x8a\x85"},
+ {"Ubrcy", 1038, "\xd0\x8e"},
+ {"succnsim", 8937, "\xe2\x8b\xa9"},
+ {"nesim", 8770, "\xe2\x89\x82\xcc\xb8"},
+ {"varepsilon", 1013, "\xcf\xb5"},
+ {"DoubleRightTee", 8872, "\xe2\x8a\xa8"},
+ {"not", 172, "\xc2\xac"},
+ {"lesdot", 10879, "\xe2\xa9\xbf"},
+ {"backepsilon", 1014, "\xcf\xb6"},
+ {"srarr", 8594, "\xe2\x86\x92"},
+ {"varsubsetneqq", 10955, "\xe2\xab\x8b\xef\xb8\x80"},
+ {"sqcap", 8851, "\xe2\x8a\x93"},
+ {"rightleftarrows", 8644, "\xe2\x87\x84"},
+ {"diams", 9830, "\xe2\x99\xa6"},
+ {"boxdR", 9554, "\xe2\x95\x92"},
+ {"ngeqslant", 10878, "\xe2\xa9\xbe\xcc\xb8"},
+ {"boxDR", 9556, "\xe2\x95\x94"},
+ {"sext", 10038, "\xe2\x9c\xb6"},
+ {"backsim", 8765, "\xe2\x88\xbd"},
+ {"nfr", 120107, "\xf0\x9d\x94\xab"},
+ {"CloseCurlyDoubleQuote", 8221, "\xe2\x80\x9d"},
+ {"npart", 8706, "\xe2\x88\x82\xcc\xb8"},
+ {"dharl", 8643, "\xe2\x87\x83"},
+ {"NewLine", 10, "\x0a"},
+ {"bigotimes", 10754, "\xe2\xa8\x82"},
+ {"lAtail", 10523, "\xe2\xa4\x9b"},
+ {"frac14", 188, "\xc2\xbc"},
+ {"or", 8744, "\xe2\x88\xa8"},
+ {"subedot", 10947, "\xe2\xab\x83"},
+ {"nmid", 8740, "\xe2\x88\xa4"},
+ {"DownArrowUpArrow", 8693, "\xe2\x87\xb5"},
+ {"icy", 1080, "\xd0\xb8"},
+ {"num", 35, "\x23"},
+ {"Gdot", 288, "\xc4\xa0"},
+ {"urcrop", 8974, "\xe2\x8c\x8e"},
+ {"epsiv", 1013, "\xcf\xb5"},
+ {"topcir", 10993, "\xe2\xab\xb1"},
+ {"ne", 8800, "\xe2\x89\xa0"},
+ {"osol", 8856, "\xe2\x8a\x98"},
+ {"amp", 38, "\x26"},
+ {"ncap", 10819, "\xe2\xa9\x83"},
+ {"Sscr", 119982, "\xf0\x9d\x92\xae"},
+ {"sung", 9834, "\xe2\x99\xaa"},
+ {"ltri", 9667, "\xe2\x97\x83"},
+ {"frac25", 8534, "\xe2\x85\x96"},
+ {"DZcy", 1039, "\xd0\x8f"},
+ {"RightUpVector", 8638, "\xe2\x86\xbe"},
+ {"rsquor", 8217, "\xe2\x80\x99"},
+ {"uplus", 8846, "\xe2\x8a\x8e"},
+ {"triangleright", 9657, "\xe2\x96\xb9"},
+ {"lAarr", 8666, "\xe2\x87\x9a"},
+ {"HilbertSpace", 8459, "\xe2\x84\x8b"},
+ {"there4", 8756, "\xe2\x88\xb4"},
+ {"vscr", 120011, "\xf0\x9d\x93\x8b"},
+ {"cirscir", 10690, "\xe2\xa7\x82"},
+ {"roarr", 8702, "\xe2\x87\xbe"},
+ {"hslash", 8463, "\xe2\x84\x8f"},
+ {"supdsub", 10968, "\xe2\xab\x98"},
+ {"simg", 10910, "\xe2\xaa\x9e"},
+ {"trade", 8482, "\xe2\x84\xa2"},
+ {"searrow", 8600, "\xe2\x86\x98"},
+ {"DownLeftVector", 8637, "\xe2\x86\xbd"},
+ {"FilledSmallSquare", 9724, "\xe2\x97\xbc"},
+ {"prod", 8719, "\xe2\x88\x8f"},
+ {"oror", 10838, "\xe2\xa9\x96"},
+ {"udarr", 8645, "\xe2\x87\x85"},
+ {"jsercy", 1112, "\xd1\x98"},
+ {"tprime", 8244, "\xe2\x80\xb4"},
+ {"bprime", 8245, "\xe2\x80\xb5"},
+ {"malt", 10016, "\xe2\x9c\xa0"},
+ {"bigcup", 8899, "\xe2\x8b\x83"},
+ {"oint", 8750, "\xe2\x88\xae"},
+ {"female", 9792, "\xe2\x99\x80"},
+ {"omacr", 333, "\xc5\x8d"},
+ {"SquareSubsetEqual", 8849, "\xe2\x8a\x91"},
+ {"SucceedsEqual", 10928, "\xe2\xaa\xb0"},
+ {"plusacir", 10787, "\xe2\xa8\xa3"},
+ {"Gcirc", 284, "\xc4\x9c"},
+ {"lesdotor", 10883, "\xe2\xaa\x83"},
+ {"escr", 8495, "\xe2\x84\xaf"},
+ {"THORN", 222, "\xc3\x9e"},
+ {"UpArrowBar", 10514, "\xe2\xa4\x92"},
+ {"nvrtrie", 8885, "\xe2\x8a\xb5\xe2\x83\x92"},
+ {"varkappa", 1008, "\xcf\xb0"},
+ {"NotReverseElement", 8716, "\xe2\x88\x8c"},
+ {"zdot", 380, "\xc5\xbc"},
+ {"ExponentialE", 8519, "\xe2\x85\x87"},
+ {"lesseqgtr", 8922, "\xe2\x8b\x9a"},
+ {"cscr", 119992, "\xf0\x9d\x92\xb8"},
+ {"Dscr", 119967, "\xf0\x9d\x92\x9f"},
+ {"lthree", 8907, "\xe2\x8b\x8b"},
+ {"Ccedil", 199, "\xc3\x87"},
+ {"nge", 8817, "\xe2\x89\xb1"},
+ {"UpperLeftArrow", 8598, "\xe2\x86\x96"},
+ {"vDash", 8872, "\xe2\x8a\xa8"},
+ {"efDot", 8786, "\xe2\x89\x92"},
+ {"telrec", 8981, "\xe2\x8c\x95"},
+ {"vellip", 8942, "\xe2\x8b\xae"},
+ {"nrArr", 8655, "\xe2\x87\x8f"},
+ {"ugrave", 249, "\xc3\xb9"},
+ {"uring", 367, "\xc5\xaf"},
+ {"Bernoullis", 8492, "\xe2\x84\xac"},
+ {"nles", 10877, "\xe2\xa9\xbd\xcc\xb8"},
+ {"macr", 175, "\xc2\xaf"},
+ {"boxuR", 9560, "\xe2\x95\x98"},
+ {"clubsuit", 9827, "\xe2\x99\xa3"},
+ {"rightarrowtail", 8611, "\xe2\x86\xa3"},
+ {"epar", 8917, "\xe2\x8b\x95"},
+ {"ltcc", 10918, "\xe2\xaa\xa6"},
+ {"twoheadleftarrow", 8606, "\xe2\x86\x9e"},
+ {"aleph", 8501, "\xe2\x84\xb5"},
+ {"Colon", 8759, "\xe2\x88\xb7"},
+ {"vltri", 8882, "\xe2\x8a\xb2"},
+ {"quaternions", 8461, "\xe2\x84\x8d"},
+ {"rfr", 120111, "\xf0\x9d\x94\xaf"},
+ {"Ouml", 214, "\xc3\x96"},
+ {"rsh", 8625, "\xe2\x86\xb1"},
+ {"emptyv", 8709, "\xe2\x88\x85"},
+ {"sqsup", 8848, "\xe2\x8a\x90"},
+ {"marker", 9646, "\xe2\x96\xae"},
+ {"Efr", 120072, "\xf0\x9d\x94\x88"},
+ {"DotEqual", 8784, "\xe2\x89\x90"},
+ {"eqsim", 8770, "\xe2\x89\x82"},
+ {"NotSucceedsEqual", 10928, "\xe2\xaa\xb0\xcc\xb8"},
+ {"primes", 8473, "\xe2\x84\x99"},
+ {"times", 215, "\xc3\x97"},
+ {"rangd", 10642, "\xe2\xa6\x92"},
+ {"rightharpoonup", 8640, "\xe2\x87\x80"},
+ {"lrhard", 10605, "\xe2\xa5\xad"},
+ {"ape", 8778, "\xe2\x89\x8a"},
+ {"varsupsetneq", 8843, "\xe2\x8a\x8b\xef\xb8\x80"},
+ {"larrlp", 8619, "\xe2\x86\xab"},
+ {"NotPrecedesEqual", 10927, "\xe2\xaa\xaf\xcc\xb8"},
+ {"ulcorner", 8988, "\xe2\x8c\x9c"},
+ {"acd", 8767, "\xe2\x88\xbf"},
+ {"Hacek", 711, "\xcb\x87"},
+ {"xuplus", 10756, "\xe2\xa8\x84"},
+ {"therefore", 8756, "\xe2\x88\xb4"},
+ {"YIcy", 1031, "\xd0\x87"},
+ {"Tfr", 120087, "\xf0\x9d\x94\x97"},
+ {"Jcirc", 308, "\xc4\xb4"},
+ {"LessGreater", 8822, "\xe2\x89\xb6"},
+ {"Uring", 366, "\xc5\xae"},
+ {"Ugrave", 217, "\xc3\x99"},
+ {"rarr", 8594, "\xe2\x86\x92"},
+ {"wopf", 120168, "\xf0\x9d\x95\xa8"},
+ {"imath", 305, "\xc4\xb1"},
+ {"Yopf", 120144, "\xf0\x9d\x95\x90"},
+ {"colone", 8788, "\xe2\x89\x94"},
+ {"csube", 10961, "\xe2\xab\x91"},
+ {"odash", 8861, "\xe2\x8a\x9d"},
+ {"olarr", 8634, "\xe2\x86\xba"},
+ {"angrt", 8735, "\xe2\x88\x9f"},
+ {"NotLeftTriangleBar", 10703, "\xe2\xa7\x8f\xcc\xb8"},
+ {"GreaterEqual", 8805, "\xe2\x89\xa5"},
+ {"scnap", 10938, "\xe2\xaa\xba"},
+ {"pi", 960, "\xcf\x80"},
+ {"lesg", 8922, "\xe2\x8b\x9a\xef\xb8\x80"},
+ {"orderof", 8500, "\xe2\x84\xb4"},
+ {"uacute", 250, "\xc3\xba"},
+ {"Barv", 10983, "\xe2\xab\xa7"},
+ {"Theta", 920, "\xce\x98"},
+ {"leftrightsquigarrow", 8621, "\xe2\x86\xad"},
+ {"Atilde", 195, "\xc3\x83"},
+ {"cupdot", 8845, "\xe2\x8a\x8d"},
+ {"ntriangleright", 8939, "\xe2\x8b\xab"},
+ {"measuredangle", 8737, "\xe2\x88\xa1"},
+ {"jscr", 119999, "\xf0\x9d\x92\xbf"},
+ {"inodot", 305, "\xc4\xb1"},
+ {"mopf", 120158, "\xf0\x9d\x95\x9e"},
+ {"hkswarow", 10534, "\xe2\xa4\xa6"},
+ {"lopar", 10629, "\xe2\xa6\x85"},
+ {"thksim", 8764, "\xe2\x88\xbc"},
+ {"bkarow", 10509, "\xe2\xa4\x8d"},
+ {"rarrfs", 10526, "\xe2\xa4\x9e"},
+ {"ntrianglelefteq", 8940, "\xe2\x8b\xac"},
+ {"Bscr", 8492, "\xe2\x84\xac"},
+ {"topf", 120165, "\xf0\x9d\x95\xa5"},
+ {"Uacute", 218, "\xc3\x9a"},
+ {"lap", 10885, "\xe2\xaa\x85"},
+ {"djcy", 1106, "\xd1\x92"},
+ {"bopf", 120147, "\xf0\x9d\x95\x93"},
+ {"empty", 8709, "\xe2\x88\x85"},
+ {"LeftAngleBracket", 10216, "\xe2\x9f\xa8"},
+ {"Imacr", 298, "\xc4\xaa"},
+ {"ltcir", 10873, "\xe2\xa9\xb9"},
+ {"trisb", 10701, "\xe2\xa7\x8d"},
+ {"gjcy", 1107, "\xd1\x93"},
+ {"pr", 8826, "\xe2\x89\xba"},
+ {"Mu", 924, "\xce\x9c"},
+ {"ogon", 731, "\xcb\x9b"},
+ {"pertenk", 8241, "\xe2\x80\xb1"},
+ {"plustwo", 10791, "\xe2\xa8\xa7"},
+ {"Vfr", 120089, "\xf0\x9d\x94\x99"},
+ {"ApplyFunction", 8289, "\xe2\x81\xa1"},
+ {"Sub", 8912, "\xe2\x8b\x90"},
+ {"DoubleLeftRightArrow", 8660, "\xe2\x87\x94"},
+ {"Lmidot", 319, "\xc4\xbf"},
+ {"nwarrow", 8598, "\xe2\x86\x96"},
+ {"angrtvbd", 10653, "\xe2\xa6\x9d"},
+ {"fcy", 1092, "\xd1\x84"},
+ {"ltlarr", 10614, "\xe2\xa5\xb6"},
+ {"CircleMinus", 8854, "\xe2\x8a\x96"},
+ {"angmsdab", 10665, "\xe2\xa6\xa9"},
+ {"wedgeq", 8793, "\xe2\x89\x99"},
+ {"iogon", 303, "\xc4\xaf"},
+ {"laquo", 171, "\xc2\xab"},
+ {"NestedGreaterGreater", 8811, "\xe2\x89\xab"},
+ {"UnionPlus", 8846, "\xe2\x8a\x8e"},
+ {"CircleDot", 8857, "\xe2\x8a\x99"},
+ {"coloneq", 8788, "\xe2\x89\x94"},
+ {"csupe", 10962, "\xe2\xab\x92"},
+ {"tcaron", 357, "\xc5\xa5"},
+ {"GreaterTilde", 8819, "\xe2\x89\xb3"},
+ {"Map", 10501, "\xe2\xa4\x85"},
+ {"DoubleLongLeftArrow", 10232, "\xe2\x9f\xb8"},
+ {"Uparrow", 8657, "\xe2\x87\x91"},
+ {"scy", 1089, "\xd1\x81"},
+ {"llarr", 8647, "\xe2\x87\x87"},
+ {"rangle", 10217, "\xe2\x9f\xa9"},
+ {"sstarf", 8902, "\xe2\x8b\x86"},
+ {"InvisibleTimes", 8290, "\xe2\x81\xa2"},
+ {"egsdot", 10904, "\xe2\xaa\x98"},
+ {"target", 8982, "\xe2\x8c\x96"},
+ {"lesges", 10899, "\xe2\xaa\x93"},
+ {"curren", 164, "\xc2\xa4"},
+ {"yopf", 120170, "\xf0\x9d\x95\xaa"},
+ {"frac23", 8532, "\xe2\x85\x94"},
+ {"NotSucceedsTilde", 8831, "\xe2\x89\xbf\xcc\xb8"},
+ {"napprox", 8777, "\xe2\x89\x89"},
+ {"odblac", 337, "\xc5\x91"},
+ {"gammad", 989, "\xcf\x9d"},
+ {"dscr", 119993, "\xf0\x9d\x92\xb9"},
+ {"SupersetEqual", 8839, "\xe2\x8a\x87"},
+ {"squf", 9642, "\xe2\x96\xaa"},
+ {"Because", 8757, "\xe2\x88\xb5"},
+ {"sccue", 8829, "\xe2\x89\xbd"},
+ {"KHcy", 1061, "\xd0\xa5"},
+ {"Wcirc", 372, "\xc5\xb4"},
+ {"uparrow", 8593, "\xe2\x86\x91"},
+ {"lessgtr", 8822, "\xe2\x89\xb6"},
+ {"thickapprox", 8776, "\xe2\x89\x88"},
+ {"lbrksld", 10639, "\xe2\xa6\x8f"},
+ {"oslash", 248, "\xc3\xb8"},
+ {"NotCupCap", 8813, "\xe2\x89\xad"},
+ {"elinters", 9191, "\xe2\x8f\xa7"},
+ {"Assign", 8788, "\xe2\x89\x94"},
+ {"ClockwiseContourIntegral", 8754, "\xe2\x88\xb2"},
+ {"lfisht", 10620, "\xe2\xa5\xbc"},
+ {"DownArrow", 8595, "\xe2\x86\x93"},
+ {"Zdot", 379, "\xc5\xbb"},
+ {"xscr", 120013, "\xf0\x9d\x93\x8d"},
+ {"DiacriticalGrave", 96, "\x60"},
+ {"DoubleLongLeftRightArrow", 10234, "\xe2\x9f\xba"},
+ {"angle", 8736, "\xe2\x88\xa0"},
+ {"race", 8765, "\xe2\x88\xbd\xcc\xb1"},
+ {"Ascr", 119964, "\xf0\x9d\x92\x9c"},
+ {"Xscr", 119987, "\xf0\x9d\x92\xb3"},
+ {"acirc", 226, "\xc3\xa2"},
+ {"otimesas", 10806, "\xe2\xa8\xb6"},
+ {"gscr", 8458, "\xe2\x84\x8a"},
+ {"gcy", 1075, "\xd0\xb3"},
+ {"angmsdag", 10670, "\xe2\xa6\xae"},
+ {"tshcy", 1115, "\xd1\x9b"},
+ {"Acy", 1040, "\xd0\x90"},
+ {"NotGreaterLess", 8825, "\xe2\x89\xb9"},
+ {"dtdot", 8945, "\xe2\x8b\xb1"},
+ {"quot", 34, "\x22"},
+ {"micro", 181, "\xc2\xb5"},
+ {"simplus", 10788, "\xe2\xa8\xa4"},
+ {"nsupseteq", 8841, "\xe2\x8a\x89"},
+ {"Ufr", 120088, "\xf0\x9d\x94\x98"},
+ {"Pr", 10939, "\xe2\xaa\xbb"},
+ {"napid", 8779, "\xe2\x89\x8b\xcc\xb8"},
+ {"rceil", 8969, "\xe2\x8c\x89"},
+ {"boxtimes", 8864, "\xe2\x8a\xa0"},
+ {"erarr", 10609, "\xe2\xa5\xb1"},
+ {"downdownarrows", 8650, "\xe2\x87\x8a"},
+ {"Kfr", 120078, "\xf0\x9d\x94\x8e"},
+ {"mho", 8487, "\xe2\x84\xa7"},
+ {"scpolint", 10771, "\xe2\xa8\x93"},
+ {"vArr", 8661, "\xe2\x87\x95"},
+ {"Ccaron", 268, "\xc4\x8c"},
+ {"NotRightTriangle", 8939, "\xe2\x8b\xab"},
+ {"topbot", 9014, "\xe2\x8c\xb6"},
+ {"qopf", 120162, "\xf0\x9d\x95\xa2"},
+ {"eogon", 281, "\xc4\x99"},
+ {"luruhar", 10598, "\xe2\xa5\xa6"},
+ {"gtdot", 8919, "\xe2\x8b\x97"},
+ {"Egrave", 200, "\xc3\x88"},
+ {"roplus", 10798, "\xe2\xa8\xae"},
+ {"Intersection", 8898, "\xe2\x8b\x82"},
+ {"Uarr", 8607, "\xe2\x86\x9f"},
+ {"dcy", 1076, "\xd0\xb4"},
+ {"boxvl", 9508, "\xe2\x94\xa4"},
+ {"RightArrowBar", 8677, "\xe2\x87\xa5"},
+ {"yuml", 255, "\xc3\xbf"},
+ {"parallel", 8741, "\xe2\x88\xa5"},
+ {"succneqq", 10934, "\xe2\xaa\xb6"},
+ {"bemptyv", 10672, "\xe2\xa6\xb0"},
+ {"starf", 9733, "\xe2\x98\x85"},
+ {"OverBar", 8254, "\xe2\x80\xbe"},
+ {"Alpha", 913, "\xce\x91"},
+ {"LeftUpVectorBar", 10584, "\xe2\xa5\x98"},
+ {"ufr", 120114, "\xf0\x9d\x94\xb2"},
+ {"swarhk", 10534, "\xe2\xa4\xa6"},
+ {"GreaterEqualLess", 8923, "\xe2\x8b\x9b"},
+ {"sscr", 120008, "\xf0\x9d\x93\x88"},
+ {"Pi", 928, "\xce\xa0"},
+ {"boxh", 9472, "\xe2\x94\x80"},
+ {"frac16", 8537, "\xe2\x85\x99"},
+ {"lbrack", 91, "\x5b"},
+ {"vert", 124, "\x7c"},
+ {"precneqq", 10933, "\xe2\xaa\xb5"},
+ {"NotGreaterSlantEqual", 10878, "\xe2\xa9\xbe\xcc\xb8"},
+ {"Omega", 937, "\xce\xa9"},
+ {"uarr", 8593, "\xe2\x86\x91"},
+ {"boxVr", 9567, "\xe2\x95\x9f"},
+ {"ruluhar", 10600, "\xe2\xa5\xa8"},
+ {"ShortLeftArrow", 8592, "\xe2\x86\x90"},
+ {"Qfr", 120084, "\xf0\x9d\x94\x94"},
+ {"olt", 10688, "\xe2\xa7\x80"},
+ {"nequiv", 8802, "\xe2\x89\xa2"},
+ {"fscr", 119995, "\xf0\x9d\x92\xbb"},
+ {"rarrhk", 8618, "\xe2\x86\xaa"},
+ {"nsqsupe", 8931, "\xe2\x8b\xa3"},
+ {"nsubseteq", 8840, "\xe2\x8a\x88"},
+ {"numero", 8470, "\xe2\x84\x96"},
+ {"emsp14", 8197, "\xe2\x80\x85"},
+ {"gl", 8823, "\xe2\x89\xb7"},
+ {"ocirc", 244, "\xc3\xb4"},
+ {"weierp", 8472, "\xe2\x84\x98"},
+ {"boxvL", 9569, "\xe2\x95\xa1"},
+ {"RightArrowLeftArrow", 8644, "\xe2\x87\x84"},
+ {"Precedes", 8826, "\xe2\x89\xba"},
+ {"RightVector", 8640, "\xe2\x87\x80"},
+ {"xcup", 8899, "\xe2\x8b\x83"},
+ {"angmsdad", 10667, "\xe2\xa6\xab"},
+ {"gtrsim", 8819, "\xe2\x89\xb3"},
+ {"natural", 9838, "\xe2\x99\xae"},
+ {"nVdash", 8878, "\xe2\x8a\xae"},
+ {"RightTriangleEqual", 8885, "\xe2\x8a\xb5"},
+ {"dscy", 1109, "\xd1\x95"},
+ {"leftthreetimes", 8907, "\xe2\x8b\x8b"},
+ {"prsim", 8830, "\xe2\x89\xbe"},
+ {"Bcy", 1041, "\xd0\x91"},
+ {"Chi", 935, "\xce\xa7"},
+ {"timesb", 8864, "\xe2\x8a\xa0"},
+ {"Del", 8711, "\xe2\x88\x87"},
+ {"lmidot", 320, "\xc5\x80"},
+ {"RightDownVector", 8642, "\xe2\x87\x82"},
+ {"simdot", 10858, "\xe2\xa9\xaa"},
+ {"FilledVerySmallSquare", 9642, "\xe2\x96\xaa"},
+ {"NotLessSlantEqual", 10877, "\xe2\xa9\xbd\xcc\xb8"},
+ {"SucceedsTilde", 8831, "\xe2\x89\xbf"},
+ {"duarr", 8693, "\xe2\x87\xb5"},
+ {"apE", 10864, "\xe2\xa9\xb0"},
+ {"odot", 8857, "\xe2\x8a\x99"},
+ {"mldr", 8230, "\xe2\x80\xa6"},
+ {"Uarrocir", 10569, "\xe2\xa5\x89"},
+ {"nLl", 8920, "\xe2\x8b\x98\xcc\xb8"},
+ {"rarrpl", 10565, "\xe2\xa5\x85"},
+ {"cir", 9675, "\xe2\x97\x8b"},
+ {"blk14", 9617, "\xe2\x96\x91"},
+ {"VerticalLine", 124, "\x7c"},
+ {"jcy", 1081, "\xd0\xb9"},
+ {"filig", 64257, "\xef\xac\x81"},
+ {"LongRightArrow", 10230, "\xe2\x9f\xb6"},
+ {"beta", 946, "\xce\xb2"},
+ {"ccupssm", 10832, "\xe2\xa9\x90"},
+ {"supsub", 10964, "\xe2\xab\x94"},
+ {"spar", 8741, "\xe2\x88\xa5"},
+ {"Tstrok", 358, "\xc5\xa6"},
+ {"isinv", 8712, "\xe2\x88\x88"},
+ {"rightsquigarrow", 8605, "\xe2\x86\x9d"},
+ {"Diamond", 8900, "\xe2\x8b\x84"},
+ {"curlyeqsucc", 8927, "\xe2\x8b\x9f"},
+ {"ijlig", 307, "\xc4\xb3"},
+ {"puncsp", 8200, "\xe2\x80\x88"},
+ {"hamilt", 8459, "\xe2\x84\x8b"},
+ {"mapstoleft", 8612, "\xe2\x86\xa4"},
+ {"Copf", 8450, "\xe2\x84\x82"},
+ {"prnsim", 8936, "\xe2\x8b\xa8"},
+ {"DotDot", 8412, "\xe2\x83\x9c"},
+ {"lobrk", 10214, "\xe2\x9f\xa6"},
+ {"twoheadrightarrow", 8608, "\xe2\x86\xa0"},
+ {"ngE", 8807, "\xe2\x89\xa7\xcc\xb8"},
+ {"cylcty", 9005, "\xe2\x8c\xad"},
+ {"sube", 8838, "\xe2\x8a\x86"},
+ {"NotEqualTilde", 8770, "\xe2\x89\x82\xcc\xb8"},
+ {"Yuml", 376, "\xc5\xb8"},
+ {"comp", 8705, "\xe2\x88\x81"},
+ {"dotminus", 8760, "\xe2\x88\xb8"},
+ {"crarr", 8629, "\xe2\x86\xb5"},
+ {"imped", 437, "\xc6\xb5"},
+ {"barwedge", 8965, "\xe2\x8c\x85"},
+ {"harrcir", 10568, "\xe2\xa5\x88"},
};
+#ifdef __cplusplus
+}
+#endif
+
#endif
diff --git a/src/libserver/html_tags.h b/src/libserver/html_tags.h
index c865fa21a..8f430204e 100644
--- a/src/libserver/html_tags.h
+++ b/src/libserver/html_tags.h
@@ -16,9 +16,12 @@
#ifndef SRC_LIBSERVER_HTML_TAGS_H_
#define SRC_LIBSERVER_HTML_TAGS_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* Known HTML tags */
-typedef enum
-{
+typedef enum {
Tag_UNKNOWN, /**< Unknown tag! */
Tag_A, /**< A */
Tag_ABBR, /**< ABBR */
@@ -196,5 +199,8 @@ typedef enum
/* Unique elements */
#define CM_UNIQUE (1 << 22)
+#ifdef __cplusplus
+}
+#endif
#endif /* SRC_LIBSERVER_HTML_TAGS_H_ */
diff --git a/src/libserver/milter.h b/src/libserver/milter.h
index 7906aeadf..00fd38488 100644
--- a/src/libserver/milter.h
+++ b/src/libserver/milter.h
@@ -23,6 +23,10 @@
#include "contrib/libev/ev.h"
#include "ref.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
enum rspamd_milter_reply {
RSPAMD_MILTER_ADDRCPT = '+',
RSPAMD_MILTER_DELRCPT = '-',
@@ -69,10 +73,11 @@ struct rspamd_milter_session {
};
typedef void (*rspamd_milter_finish) (gint fd,
- struct rspamd_milter_session *session, void *ud);
+ struct rspamd_milter_session *session, void *ud);
+
typedef void (*rspamd_milter_error) (gint fd,
- struct rspamd_milter_session *session,
- void *ud, GError *err);
+ struct rspamd_milter_session *session,
+ void *ud, GError *err);
/**
* Handles socket with milter protocol
@@ -83,9 +88,9 @@ typedef void (*rspamd_milter_error) (gint fd,
* @return
*/
gboolean rspamd_milter_handle_socket (gint fd, ev_tstamp timeout,
- rspamd_mempool_t *pool,
- struct ev_loop *ev_base, rspamd_milter_finish finish_cb,
- rspamd_milter_error error_cb, void *ud);
+ rspamd_mempool_t *pool,
+ struct ev_loop *ev_base, rspamd_milter_finish finish_cb,
+ rspamd_milter_error error_cb, void *ud);
/**
* Updates userdata for a session, returns previous userdata
@@ -93,8 +98,8 @@ gboolean rspamd_milter_handle_socket (gint fd, ev_tstamp timeout,
* @param ud
* @return
*/
-void * rspamd_milter_update_userdata (struct rspamd_milter_session *session,
- void *ud);
+void *rspamd_milter_update_userdata (struct rspamd_milter_session *session,
+ void *ud);
/**
* Sets SMTP reply string
@@ -105,9 +110,9 @@ void * rspamd_milter_update_userdata (struct rspamd_milter_session *session,
* @return
*/
gboolean rspamd_milter_set_reply (struct rspamd_milter_session *session,
- rspamd_fstring_t *rcode,
- rspamd_fstring_t *xcode,
- rspamd_fstring_t *reply);
+ rspamd_fstring_t *rcode,
+ rspamd_fstring_t *xcode,
+ rspamd_fstring_t *reply);
/**
* Send some action to the MTA
@@ -117,7 +122,7 @@ gboolean rspamd_milter_set_reply (struct rspamd_milter_session *session,
* @return
*/
gboolean rspamd_milter_send_action (struct rspamd_milter_session *session,
- enum rspamd_milter_reply act, ...);
+ enum rspamd_milter_reply act, ...);
/**
* Adds some header
@@ -127,7 +132,7 @@ gboolean rspamd_milter_send_action (struct rspamd_milter_session *session,
* @return
*/
gboolean rspamd_milter_add_header (struct rspamd_milter_session *session,
- GString *name, GString *value);
+ GString *name, GString *value);
/**
* Removes some header
@@ -136,11 +141,11 @@ gboolean rspamd_milter_add_header (struct rspamd_milter_session *session,
* @return
*/
gboolean rspamd_milter_del_header (struct rspamd_milter_session *session,
- GString *name);
+ GString *name);
void rspamd_milter_session_unref (struct rspamd_milter_session *session);
-struct rspamd_milter_session * rspamd_milter_session_ref (
+struct rspamd_milter_session *rspamd_milter_session_ref (
struct rspamd_milter_session *session);
/**
@@ -148,7 +153,7 @@ struct rspamd_milter_session * rspamd_milter_session_ref (
* @param session
* @return
*/
-struct rspamd_http_message * rspamd_milter_to_http (
+struct rspamd_http_message *rspamd_milter_to_http (
struct rspamd_milter_session *session);
/**
@@ -157,7 +162,7 @@ struct rspamd_http_message * rspamd_milter_to_http (
* @param results
*/
void rspamd_milter_send_task_results (struct rspamd_milter_session *session,
- const ucl_object_t *results);
+ const ucl_object_t *results);
/**
* Init internal milter context
@@ -173,4 +178,8 @@ void rspamd_milter_init_library (const struct rspamd_milter_context *ctx);
rspamd_mempool_t *rspamd_milter_get_session_pool (
struct rspamd_milter_session *session);
+#ifdef __cplusplus
+}
+#endif
+
#endif
diff --git a/src/libserver/milter_internal.h b/src/libserver/milter_internal.h
index 41862a169..fff6de38f 100644
--- a/src/libserver/milter_internal.h
+++ b/src/libserver/milter_internal.h
@@ -24,6 +24,10 @@
#include "libutil/str_util.h"
#include "libutil/libev_helper.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
enum rspamd_milter_state {
st_len_1 = 0,
st_len_2,
@@ -97,45 +101,45 @@ enum rspamd_milter_io_cmd {
/*
* Protocol flags
*/
-#define RSPAMD_MILTER_FLAG_NOUNKNOWN (1L<<8) /* filter does not want unknown cmd */
-#define RSPAMD_MILTER_FLAG_NODATA (1L<<9) /* filter does not want DATA */
-#define RSPAMD_MILTER_FLAG_NR_HDR (1L<<7) /* filter won't reply for header */
-#define RSPAMD_MILTER_FLAG_SKIP (1L<<10)/* MTA supports SMFIR_SKIP */
-#define RSPAMD_MILTER_FLAG_RCPT_REJ (1L<<11)/* filter wants rejected RCPTs */
-#define RSPAMD_MILTER_FLAG_NR_CONN (1L<<12)/* filter won't reply for connect */
-#define RSPAMD_MILTER_FLAG_NR_HELO (1L<<13)/* filter won't reply for HELO */
-#define RSPAMD_MILTER_FLAG_NR_MAIL (1L<<14)/* filter won't reply for MAIL */
-#define RSPAMD_MILTER_FLAG_NR_RCPT (1L<<15)/* filter won't reply for RCPT */
-#define RSPAMD_MILTER_FLAG_NR_DATA (1L<<16)/* filter won't reply for DATA */
-#define RSPAMD_MILTER_FLAG_NR_UNKN (1L<<17)/* filter won't reply for UNKNOWN */
-#define RSPAMD_MILTER_FLAG_NR_EOH (1L<<18)/* filter won't reply for eoh */
-#define RSPAMD_MILTER_FLAG_NR_BODY (1L<<19)/* filter won't reply for body chunk */
+#define RSPAMD_MILTER_FLAG_NOUNKNOWN (1L<<8) /* filter does not want unknown cmd */
+#define RSPAMD_MILTER_FLAG_NODATA (1L<<9) /* filter does not want DATA */
+#define RSPAMD_MILTER_FLAG_NR_HDR (1L<<7) /* filter won't reply for header */
+#define RSPAMD_MILTER_FLAG_SKIP (1L<<10)/* MTA supports SMFIR_SKIP */
+#define RSPAMD_MILTER_FLAG_RCPT_REJ (1L<<11)/* filter wants rejected RCPTs */
+#define RSPAMD_MILTER_FLAG_NR_CONN (1L<<12)/* filter won't reply for connect */
+#define RSPAMD_MILTER_FLAG_NR_HELO (1L<<13)/* filter won't reply for HELO */
+#define RSPAMD_MILTER_FLAG_NR_MAIL (1L<<14)/* filter won't reply for MAIL */
+#define RSPAMD_MILTER_FLAG_NR_RCPT (1L<<15)/* filter won't reply for RCPT */
+#define RSPAMD_MILTER_FLAG_NR_DATA (1L<<16)/* filter won't reply for DATA */
+#define RSPAMD_MILTER_FLAG_NR_UNKN (1L<<17)/* filter won't reply for UNKNOWN */
+#define RSPAMD_MILTER_FLAG_NR_EOH (1L<<18)/* filter won't reply for eoh */
+#define RSPAMD_MILTER_FLAG_NR_BODY (1L<<19)/* filter won't reply for body chunk */
/*
* For now, we specify that we want to reply just after EOM
*/
#define RSPAMD_MILTER_FLAG_NOREPLY_MASK \
- (RSPAMD_MILTER_FLAG_NR_CONN | RSPAMD_MILTER_FLAG_NR_HELO | \
- RSPAMD_MILTER_FLAG_NR_MAIL | RSPAMD_MILTER_FLAG_NR_RCPT | \
- RSPAMD_MILTER_FLAG_NR_DATA | RSPAMD_MILTER_FLAG_NR_UNKN | \
- RSPAMD_MILTER_FLAG_NR_HDR | RSPAMD_MILTER_FLAG_NR_EOH | \
- RSPAMD_MILTER_FLAG_NR_BODY)
+ (RSPAMD_MILTER_FLAG_NR_CONN | RSPAMD_MILTER_FLAG_NR_HELO | \
+ RSPAMD_MILTER_FLAG_NR_MAIL | RSPAMD_MILTER_FLAG_NR_RCPT | \
+ RSPAMD_MILTER_FLAG_NR_DATA | RSPAMD_MILTER_FLAG_NR_UNKN | \
+ RSPAMD_MILTER_FLAG_NR_HDR | RSPAMD_MILTER_FLAG_NR_EOH | \
+ RSPAMD_MILTER_FLAG_NR_BODY)
/*
* Options that the filter may send at initial handshake time, and message
* modifications that the filter may request at the end of the message body.
*/
-#define RSPAMD_MILTER_FLAG_ADDHDRS (1L<<0) /* filter may add headers */
-#define RSPAMD_MILTER_FLAG_CHGBODY (1L<<1) /* filter may replace body */
-#define RSPAMD_MILTER_FLAG_ADDRCPT (1L<<2) /* filter may add recipients */
-#define RSPAMD_MILTER_FLAG_DELRCPT (1L<<3) /* filter may delete recipients */
-#define RSPAMD_MILTER_FLAG_CHGHDRS (1L<<4) /* filter may change/delete headers */
-#define RSPAMD_MILTER_FLAG_QUARANTINE (1L<<5) /* filter may request quarantine */
+#define RSPAMD_MILTER_FLAG_ADDHDRS (1L<<0) /* filter may add headers */
+#define RSPAMD_MILTER_FLAG_CHGBODY (1L<<1) /* filter may replace body */
+#define RSPAMD_MILTER_FLAG_ADDRCPT (1L<<2) /* filter may add recipients */
+#define RSPAMD_MILTER_FLAG_DELRCPT (1L<<3) /* filter may delete recipients */
+#define RSPAMD_MILTER_FLAG_CHGHDRS (1L<<4) /* filter may change/delete headers */
+#define RSPAMD_MILTER_FLAG_QUARANTINE (1L<<5) /* filter may request quarantine */
#define RSPAMD_MILTER_ACTIONS_MASK \
- (RSPAMD_MILTER_FLAG_ADDHDRS | RSPAMD_MILTER_FLAG_ADDRCPT | \
- RSPAMD_MILTER_FLAG_DELRCPT | RSPAMD_MILTER_FLAG_CHGHDRS | \
- RSPAMD_MILTER_FLAG_QUARANTINE)
+ (RSPAMD_MILTER_FLAG_ADDHDRS | RSPAMD_MILTER_FLAG_ADDRCPT | \
+ RSPAMD_MILTER_FLAG_DELRCPT | RSPAMD_MILTER_FLAG_CHGHDRS | \
+ RSPAMD_MILTER_FLAG_QUARANTINE)
enum rspamd_milter_connect_proto {
RSPAMD_MILTER_CONN_UNKNOWN = 'U',
@@ -163,4 +167,9 @@ enum rspamd_milter_connect_proto {
#define RSPAMD_MILTER_SPAM_HEADER "X-Spam"
#define RSPAMD_MILTER_DKIM_HEADER "DKIM-Signature"
#define RSPAMD_MILTER_ACTION_HEADER "X-Rspamd-Action"
+
+#ifdef __cplusplus
+}
#endif
+
+#endif \ No newline at end of file
diff --git a/src/libserver/monitored.h b/src/libserver/monitored.h
index 0189e0e6c..5b2b60d11 100644
--- a/src/libserver/monitored.h
+++ b/src/libserver/monitored.h
@@ -19,6 +19,10 @@
#include "config.h"
#include "rdns.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct rspamd_monitored;
struct rspamd_monitored_ctx;
struct rspamd_config;
@@ -41,8 +45,9 @@ enum rspamd_monitored_flags {
struct rspamd_monitored_ctx *rspamd_monitored_ctx_init (void);
typedef void (*mon_change_cb) (struct rspamd_monitored_ctx *ctx,
- struct rspamd_monitored *m, gboolean alive,
- void *ud);
+ struct rspamd_monitored *m, gboolean alive,
+ void *ud);
+
/**
* Configure context for monitored objects
* @param ctx context
@@ -51,11 +56,11 @@ typedef void (*mon_change_cb) (struct rspamd_monitored_ctx *ctx,
* @param resolver resolver object
*/
void rspamd_monitored_ctx_config (struct rspamd_monitored_ctx *ctx,
- struct rspamd_config *cfg,
- struct ev_loop *ev_base,
- struct rdns_resolver *resolver,
- mon_change_cb change_cb,
- gpointer ud);
+ struct rspamd_config *cfg,
+ struct ev_loop *ev_base,
+ struct rdns_resolver *resolver,
+ mon_change_cb change_cb,
+ gpointer ud);
struct ev_loop *rspamd_monitored_ctx_get_ev_base (struct rspamd_monitored_ctx *ctx);
@@ -74,8 +79,9 @@ struct rspamd_monitored *rspamd_monitored_create_ (
enum rspamd_monitored_flags flags,
const ucl_object_t *opts,
const gchar *loc);
+
#define rspamd_monitored_create(ctx, line, type, flags, opts) \
- rspamd_monitored_create_(ctx, line, type, flags, opts, G_STRFUNC)
+ rspamd_monitored_create_(ctx, line, type, flags, opts, G_STRFUNC)
/**
* Return monitored by its tag
@@ -83,8 +89,8 @@ struct rspamd_monitored *rspamd_monitored_create_ (
* @param tag
* @return
*/
-struct rspamd_monitored * rspamd_monitored_by_tag (struct rspamd_monitored_ctx *ctx,
- guchar tag[RSPAMD_MONITORED_TAG_LEN]);
+struct rspamd_monitored *rspamd_monitored_by_tag (struct rspamd_monitored_ctx *ctx,
+ guchar tag[RSPAMD_MONITORED_TAG_LEN]);
/**
* Sets `tag_out` to the monitored tag
@@ -92,7 +98,7 @@ struct rspamd_monitored * rspamd_monitored_by_tag (struct rspamd_monitored_ctx *
* @param tag_out
*/
void rspamd_monitored_get_tag (struct rspamd_monitored *m,
- guchar tag_out[RSPAMD_MONITORED_TAG_LEN]);
+ guchar tag_out[RSPAMD_MONITORED_TAG_LEN]);
/**
* Return TRUE if monitored object is alive
@@ -134,6 +140,7 @@ gdouble rspamd_monitored_latency (struct rspamd_monitored *m);
* @param m
*/
void rspamd_monitored_stop (struct rspamd_monitored *m);
+
/**
* Explicitly enable monitored object
* @param m
@@ -146,4 +153,8 @@ void rspamd_monitored_start (struct rspamd_monitored *m);
*/
void rspamd_monitored_ctx_destroy (struct rspamd_monitored_ctx *ctx);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* SRC_LIBSERVER_MONITORED_H_ */
diff --git a/src/libserver/protocol.h b/src/libserver/protocol.h
index 2059110fb..280ceedcb 100644
--- a/src/libserver/protocol.h
+++ b/src/libserver/protocol.h
@@ -11,6 +11,10 @@
#include "http_connection.h"
#include "task.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#define RSPAMD_BASE_ERROR 500
#define RSPAMD_FILTER_ERROR RSPAMD_BASE_ERROR + 1
#define RSPAMD_NETWORK_ERROR RSPAMD_BASE_ERROR + 2
@@ -40,7 +44,7 @@ struct rspamd_metric;
* @return
*/
gboolean rspamd_protocol_handle_headers (struct rspamd_task *task,
- struct rspamd_http_message *msg);
+ struct rspamd_http_message *msg);
/**
* Process control chunk and update task structure accordingly
@@ -49,7 +53,7 @@ gboolean rspamd_protocol_handle_headers (struct rspamd_task *task,
* @return
*/
gboolean rspamd_protocol_handle_control (struct rspamd_task *task,
- const ucl_object_t *control);
+ const ucl_object_t *control);
/**
* Process HTTP request to the task structure
@@ -58,7 +62,7 @@ gboolean rspamd_protocol_handle_control (struct rspamd_task *task,
* @return
*/
gboolean rspamd_protocol_handle_request (struct rspamd_task *task,
- struct rspamd_http_message *msg);
+ struct rspamd_http_message *msg);
/**
* Write task results to http message
@@ -66,7 +70,8 @@ gboolean rspamd_protocol_handle_request (struct rspamd_task *task,
* @param task
*/
void rspamd_protocol_http_reply (struct rspamd_http_message *msg,
- struct rspamd_task *task, ucl_object_t **pobj);
+ struct rspamd_task *task, ucl_object_t **pobj);
+
/**
* Write data to log pipes
* @param task
@@ -84,19 +89,20 @@ enum rspamd_protocol_flags {
};
#define RSPAMD_PROTOCOL_DEFAULT (RSPAMD_PROTOCOL_BASIC| \
- RSPAMD_PROTOCOL_METRICS| \
- RSPAMD_PROTOCOL_MESSAGES| \
- RSPAMD_PROTOCOL_RMILTER| \
- RSPAMD_PROTOCOL_DKIM| \
- RSPAMD_PROTOCOL_EXTRA)
+ RSPAMD_PROTOCOL_METRICS| \
+ RSPAMD_PROTOCOL_MESSAGES| \
+ RSPAMD_PROTOCOL_RMILTER| \
+ RSPAMD_PROTOCOL_DKIM| \
+ RSPAMD_PROTOCOL_EXTRA)
+
/**
* Write reply to ucl object filling log buffer
* @param task
* @param logbuf
* @return
*/
-ucl_object_t * rspamd_protocol_write_ucl (struct rspamd_task *task,
- enum rspamd_protocol_flags flags);
+ucl_object_t *rspamd_protocol_write_ucl (struct rspamd_task *task,
+ enum rspamd_protocol_flags flags);
/**
* Write reply for specified task command
@@ -112,9 +118,13 @@ void rspamd_protocol_write_reply (struct rspamd_task *task, ev_tstamp timeout);
* @param out
*/
void rspamd_ucl_torspamc_output (const ucl_object_t *top,
- rspamd_fstring_t **out);
+ rspamd_fstring_t **out);
+
+void rspamd_ucl_tospamc_output (const ucl_object_t *top,
+ rspamd_fstring_t **out);
-void rspamd_ucl_tospamc_output (const ucl_object_t *top,
- rspamd_fstring_t **out);
+#ifdef __cplusplus
+}
+#endif
#endif
diff --git a/src/libserver/protocol_internal.h b/src/libserver/protocol_internal.h
index fb2ee115a..1c49a04f2 100644
--- a/src/libserver/protocol_internal.h
+++ b/src/libserver/protocol_internal.h
@@ -17,6 +17,10 @@
#ifndef RSPAMD_PROTOCOL_INTERNAL_H
#define RSPAMD_PROTOCOL_INTERNAL_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/*
* Just check if the passed message is spam or not and reply as
* described below
@@ -85,4 +89,8 @@
#define MAILER_HEADER "Mailer"
#define RAW_DATA_HEADER "Raw"
+#ifdef __cplusplus
+}
+#endif
+
#endif //RSPAMD_PROTOCOL_INTERNAL_H
diff --git a/src/libserver/re_cache.h b/src/libserver/re_cache.h
index 15146c5dd..b9f80375e 100644
--- a/src/libserver/re_cache.h
+++ b/src/libserver/re_cache.h
@@ -19,6 +19,10 @@
#include "config.h"
#include "libutil/regexp.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct rspamd_re_cache;
struct rspamd_re_runtime;
struct rspamd_task;
@@ -76,14 +80,14 @@ rspamd_re_cache_add (struct rspamd_re_cache *cache, rspamd_regexp_t *re,
* @param with regexp object to replace the origin
*/
void rspamd_re_cache_replace (struct rspamd_re_cache *cache,
- rspamd_regexp_t *what,
- rspamd_regexp_t *with);
+ rspamd_regexp_t *what,
+ rspamd_regexp_t *with);
/**
* Initialize and optimize re cache structure
*/
void rspamd_re_cache_init (struct rspamd_re_cache *cache,
- struct rspamd_config *cfg);
+ struct rspamd_config *cfg);
/**
* Returns true when hyperscan is loaded
@@ -95,13 +99,13 @@ gboolean rspamd_re_cache_is_hs_loaded (struct rspamd_re_cache *cache);
/**
* Get runtime data for a cache
*/
-struct rspamd_re_runtime* rspamd_re_cache_runtime_new (struct rspamd_re_cache *cache);
+struct rspamd_re_runtime *rspamd_re_cache_runtime_new (struct rspamd_re_cache *cache);
/**
* Get runtime statistics
*/
const struct rspamd_re_cache_stat *
- rspamd_re_cache_get_stat (struct rspamd_re_runtime *rt);
+rspamd_re_cache_get_stat (struct rspamd_re_runtime *rt);
/**
* Process regexp runtime and return the result for a specific regexp
@@ -114,17 +118,17 @@ const struct rspamd_re_cache_stat *
* @param is_strong use case sensitive match when looking for headers
*/
gint rspamd_re_cache_process (struct rspamd_task *task,
- rspamd_regexp_t *re,
- enum rspamd_re_type type,
- gconstpointer type_data,
- gsize datalen,
- gboolean is_strong);
+ rspamd_regexp_t *re,
+ enum rspamd_re_type type,
+ gconstpointer type_data,
+ gsize datalen,
+ gboolean is_strong);
int rspamd_re_cache_process_ffi (void *ptask,
- void *pre,
- int type,
- void *type_data,
- int is_strong);
+ void *pre,
+ int type,
+ void *type_data,
+ int is_strong);
/**
* Destroy runtime data
@@ -135,6 +139,7 @@ void rspamd_re_cache_runtime_destroy (struct rspamd_re_runtime *rt);
* Unref re cache
*/
void rspamd_re_cache_unref (struct rspamd_re_cache *cache);
+
/**
* Retain reference to re cache
*/
@@ -148,7 +153,7 @@ guint rspamd_re_cache_set_limit (struct rspamd_re_cache *cache, guint limit);
/**
* Convert re type to a human readable string (constant one)
*/
-const gchar * rspamd_re_cache_type_to_string (enum rspamd_re_type type);
+const gchar *rspamd_re_cache_type_to_string (enum rspamd_re_type type);
/**
* Convert re type string to the type enum
@@ -159,25 +164,30 @@ enum rspamd_re_type rspamd_re_cache_type_from_string (const char *str);
* Compile expressions to the hyperscan tree and store in the `cache_dir`
*/
gint rspamd_re_cache_compile_hyperscan (struct rspamd_re_cache *cache,
- const char *cache_dir, gdouble max_time, gboolean silent,
- GError **err);
+ const char *cache_dir, gdouble max_time, gboolean silent,
+ GError **err);
/**
* Returns TRUE if the specified file is valid hyperscan cache
*/
gboolean rspamd_re_cache_is_valid_hyperscan_file (struct rspamd_re_cache *cache,
- const char *path, gboolean silent, gboolean try_load);
+ const char *path, gboolean silent, gboolean try_load);
/**
* Loads all hyperscan regexps precompiled
*/
gboolean rspamd_re_cache_load_hyperscan (struct rspamd_re_cache *cache,
- const char *cache_dir);
+ const char *cache_dir);
/**
* Registers lua selector in the cache
*/
void rspamd_re_cache_add_selector (struct rspamd_re_cache *cache,
- const gchar *sname, gint ref);
+ const gchar *sname, gint ref);
+
+#ifdef __cplusplus
+}
+#endif
+
#endif
diff --git a/src/libserver/redis_pool.h b/src/libserver/redis_pool.h
index 7a9bf99ab..0df650326 100644
--- a/src/libserver/redis_pool.h
+++ b/src/libserver/redis_pool.h
@@ -18,6 +18,10 @@
#include "config.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct rspamd_redis_pool;
struct rspamd_config;
struct redisAsyncContext;
@@ -35,8 +39,8 @@ struct rspamd_redis_pool *rspamd_redis_pool_init (void);
* @param ev_base
*/
void rspamd_redis_pool_config (struct rspamd_redis_pool *pool,
- struct rspamd_config *cfg,
- struct ev_loop *ev_base);
+ struct rspamd_config *cfg,
+ struct ev_loop *ev_base);
/**
@@ -48,7 +52,7 @@ void rspamd_redis_pool_config (struct rspamd_redis_pool *pool,
* @param port
* @return
*/
-struct redisAsyncContext* rspamd_redis_pool_connect (
+struct redisAsyncContext *rspamd_redis_pool_connect (
struct rspamd_redis_pool *pool,
const gchar *db, const gchar *password,
const char *ip, int port);
@@ -65,7 +69,8 @@ enum rspamd_redis_pool_release_type {
* @param ctx
*/
void rspamd_redis_pool_release_connection (struct rspamd_redis_pool *pool,
- struct redisAsyncContext *ctx, enum rspamd_redis_pool_release_type how);
+ struct redisAsyncContext *ctx,
+ enum rspamd_redis_pool_release_type how);
/**
* Stops redis pool and destroys it
@@ -78,6 +83,10 @@ void rspamd_redis_pool_destroy (struct rspamd_redis_pool *pool);
* @param type
* @return
*/
-const gchar* rspamd_redis_type_to_string (int type);
+const gchar *rspamd_redis_type_to_string (int type);
+
+#ifdef __cplusplus
+}
+#endif
#endif /* SRC_LIBSERVER_REDIS_POOL_H_ */
diff --git a/src/libserver/roll_history.h b/src/libserver/roll_history.h
index d0f140098..aeb731e82 100644
--- a/src/libserver/roll_history.h
+++ b/src/libserver/roll_history.h
@@ -19,6 +19,10 @@
#include "config.h"
#include "mem_pool.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/*
* Roll history is a special cycled buffer for checked messages, it is designed for writing history messages
* and displaying them in webui
@@ -58,8 +62,8 @@ struct roll_history {
* @param pool pool for shared memory
* @return new structure
*/
-struct roll_history * rspamd_roll_history_new (rspamd_mempool_t *pool,
- guint max_rows, struct rspamd_config *cfg);
+struct roll_history *rspamd_roll_history_new (rspamd_mempool_t *pool,
+ guint max_rows, struct rspamd_config *cfg);
/**
* Update roll history with data from task
@@ -67,7 +71,7 @@ struct roll_history * rspamd_roll_history_new (rspamd_mempool_t *pool,
* @param task task object
*/
void rspamd_roll_history_update (struct roll_history *history,
- struct rspamd_task *task);
+ struct rspamd_task *task);
/**
* Load previously saved history from file
@@ -76,7 +80,7 @@ void rspamd_roll_history_update (struct roll_history *history,
* @return TRUE if history has been loaded
*/
gboolean rspamd_roll_history_load (struct roll_history *history,
- const gchar *filename);
+ const gchar *filename);
/**
* Save history to file
@@ -85,6 +89,10 @@ gboolean rspamd_roll_history_load (struct roll_history *history,
* @return TRUE if history has been saved
*/
gboolean rspamd_roll_history_save (struct roll_history *history,
- const gchar *filename);
+ const gchar *filename);
+
+#ifdef __cplusplus
+}
+#endif
#endif /* ROLL_HISTORY_H_ */
diff --git a/src/libserver/rspamd_control.h b/src/libserver/rspamd_control.h
index 1928ab00f..08d3946c7 100644
--- a/src/libserver/rspamd_control.h
+++ b/src/libserver/rspamd_control.h
@@ -20,6 +20,10 @@
#include "mem_pool.h"
#include "contrib/libev/ev.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct rspamd_main;
struct rspamd_worker;
@@ -179,42 +183,42 @@ struct rspamd_srv_reply {
};
typedef gboolean (*rspamd_worker_control_handler) (struct rspamd_main *rspamd_main,
- struct rspamd_worker *worker,
- gint fd,
- gint attached_fd,
- struct rspamd_control_command *cmd,
- gpointer ud);
+ struct rspamd_worker *worker,
+ gint fd,
+ gint attached_fd,
+ struct rspamd_control_command *cmd,
+ gpointer ud);
typedef void (*rspamd_srv_reply_handler) (struct rspamd_worker *worker,
- struct rspamd_srv_reply *rep, gint rep_fd,
- gpointer ud);
+ struct rspamd_srv_reply *rep, gint rep_fd,
+ gpointer ud);
/**
* Process client socket connection
*/
void rspamd_control_process_client_socket (struct rspamd_main *rspamd_main,
- gint fd, rspamd_inet_addr_t *addr);
+ gint fd, rspamd_inet_addr_t *addr);
/**
* Register default handlers for a worker
*/
void rspamd_control_worker_add_default_handler (struct rspamd_worker *worker,
- struct ev_loop *ev_base);
+ struct ev_loop *ev_base);
/**
* Register custom handler for a specific control command for this worker
*/
void rspamd_control_worker_add_cmd_handler (struct rspamd_worker *worker,
- enum rspamd_control_type type,
- rspamd_worker_control_handler handler,
- gpointer ud);
+ enum rspamd_control_type type,
+ rspamd_worker_control_handler handler,
+ gpointer ud);
/**
* Start watching on srv pipe
*/
void rspamd_srv_start_watching (struct rspamd_main *srv,
- struct rspamd_worker *worker,
- struct ev_loop *ev_base);
+ struct rspamd_worker *worker,
+ struct ev_loop *ev_base);
/**
@@ -222,9 +226,14 @@ void rspamd_srv_start_watching (struct rspamd_main *srv,
* end
*/
void rspamd_srv_send_command (struct rspamd_worker *worker,
- struct ev_loop *ev_base,
- struct rspamd_srv_command *cmd,
- gint attached_fd,
- rspamd_srv_reply_handler handler,
- gpointer ud);
+ struct ev_loop *ev_base,
+ struct rspamd_srv_command *cmd,
+ gint attached_fd,
+ rspamd_srv_reply_handler handler,
+ gpointer ud);
+
+#ifdef __cplusplus
+}
+#endif
+
#endif
diff --git a/src/libserver/rspamd_symcache.h b/src/libserver/rspamd_symcache.h
index 640a1c898..ce2f3f7bf 100644
--- a/src/libserver/rspamd_symcache.h
+++ b/src/libserver/rspamd_symcache.h
@@ -19,9 +19,14 @@
#include "config.h"
#include "ucl.h"
#include "cfg_file.h"
-#include <lua.h>
#include "contrib/libev/ev.h"
+#include <lua.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct rspamd_task;
struct rspamd_config;
struct rspamd_symcache;
@@ -29,9 +34,9 @@ struct rspamd_worker;
struct rspamd_symcache_item;
struct rspamd_config_settings_elt;
-typedef void (*symbol_func_t)(struct rspamd_task *task,
- struct rspamd_symcache_item *item,
- gpointer user_data);
+typedef void (*symbol_func_t) (struct rspamd_task *task,
+ struct rspamd_symcache_item *item,
+ gpointer user_data);
enum rspamd_symbol_type {
SYMBOL_TYPE_NORMAL = (1u << 0u),
@@ -67,7 +72,7 @@ struct rspamd_abstract_callback_data {
* Creates new cache structure
* @return
*/
-struct rspamd_symcache* rspamd_symcache_new (struct rspamd_config *cfg);
+struct rspamd_symcache *rspamd_symcache_new (struct rspamd_config *cfg);
/**
* Remove the cache structure syncing data if needed
@@ -112,6 +117,7 @@ gint rspamd_symcache_add_symbol (struct rspamd_symcache *cache,
*/
void rspamd_symcache_set_peak_callback (struct rspamd_symcache *cache,
gint cbref);
+
/**
* Add delayed condition to the specific symbol in cache. So symbol can be absent
* to the moment of addition
@@ -149,14 +155,15 @@ gboolean rspamd_symcache_stat_symbol (struct rspamd_symcache *cache,
gdouble *freq_stddev,
gdouble *tm,
guint *nhits);
+
/**
* Find symbol in cache by its id
* @param cache
* @param id
* @return symbol's name or NULL
*/
-const gchar * rspamd_symcache_symbol_by_id (struct rspamd_symcache *cache,
- gint id);
+const gchar *rspamd_symcache_symbol_by_id (struct rspamd_symcache *cache,
+ gint id);
/**
* Returns number of symbols registered in symbols cache
@@ -243,13 +250,14 @@ void rspamd_symcache_disable_symbol_perm (struct rspamd_symcache *cache,
*/
void rspamd_symcache_enable_symbol_perm (struct rspamd_symcache *cache,
const gchar *symbol);
+
/**
* Get abstract callback data for a symbol (or its parent symbol)
* @param cache cache object
* @param symbol symbol name
* @return abstract callback data or NULL if symbol is absent or has no data attached
*/
-struct rspamd_abstract_callback_data* rspamd_symcache_get_cbdata (
+struct rspamd_abstract_callback_data *rspamd_symcache_get_cbdata (
struct rspamd_symcache *cache, const gchar *symbol);
/**
@@ -259,7 +267,7 @@ struct rspamd_abstract_callback_data* rspamd_symcache_get_cbdata (
* @return
*/
const gchar *rspamd_symcache_get_parent (struct rspamd_symcache *cache,
- const gchar *symbol);
+ const gchar *symbol);
/**
* Adds flags to a symbol
@@ -269,15 +277,16 @@ const gchar *rspamd_symcache_get_parent (struct rspamd_symcache *cache,
* @return
*/
gboolean rspamd_symcache_add_symbol_flags (struct rspamd_symcache *cache,
- const gchar *symbol,
- guint flags);
+ const gchar *symbol,
+ guint flags);
gboolean rspamd_symcache_set_symbol_flags (struct rspamd_symcache *cache,
const gchar *symbol,
guint flags);
guint rspamd_symcache_get_symbol_flags (struct rspamd_symcache *cache,
- const gchar *symbol);
+ const gchar *symbol);
+
/**
* Process settings for task
* @param task
@@ -338,6 +347,7 @@ gboolean rspamd_symcache_enable_symbol (struct rspamd_task *task,
gboolean rspamd_symcache_disable_symbol (struct rspamd_task *task,
struct rspamd_symcache *cache,
const gchar *symbol);
+
/**
* Process specific function for each cache element (in order they are added)
* @param cache
@@ -377,20 +387,24 @@ void rspamd_symcache_finalize_item (struct rspamd_task *task,
* Increase number of async events pending for an item
*/
guint rspamd_symcache_item_async_inc_full (struct rspamd_task *task,
- struct rspamd_symcache_item *item,
- const gchar *subsystem,
- const gchar *loc);
+ struct rspamd_symcache_item *item,
+ const gchar *subsystem,
+ const gchar *loc);
+
#define rspamd_symcache_item_async_inc(task, item, subsystem) \
- rspamd_symcache_item_async_inc_full(task, item, subsystem, G_STRLOC)
+ rspamd_symcache_item_async_inc_full(task, item, subsystem, G_STRLOC)
+
/*
* Decrease number of async events pending for an item, asserts if no events pending
*/
guint rspamd_symcache_item_async_dec_full (struct rspamd_task *task,
- struct rspamd_symcache_item *item,
- const gchar *subsystem,
- const gchar *loc);
+ struct rspamd_symcache_item *item,
+ const gchar *subsystem,
+ const gchar *loc);
+
#define rspamd_symcache_item_async_dec(task, item, subsystem) \
- rspamd_symcache_item_async_dec_full(task, item, subsystem, G_STRLOC)
+ rspamd_symcache_item_async_dec_full(task, item, subsystem, G_STRLOC)
+
/**
* Decrease number of async events pending for an item, asserts if no events pending
* If no events are left, this function calls `rspamd_symbols_cache_finalize_item` and returns TRUE
@@ -399,11 +413,12 @@ guint rspamd_symcache_item_async_dec_full (struct rspamd_task *task,
* @return
*/
gboolean rspamd_symcache_item_async_dec_check_full (struct rspamd_task *task,
- struct rspamd_symcache_item *item,
- const gchar *subsystem,
- const gchar *loc);
+ struct rspamd_symcache_item *item,
+ const gchar *subsystem,
+ const gchar *loc);
+
#define rspamd_symcache_item_async_dec_check(task, item, subsystem) \
- rspamd_symcache_item_async_dec_check_full(task, item, subsystem, G_STRLOC)
+ rspamd_symcache_item_async_dec_check_full(task, item, subsystem, G_STRLOC)
/**
* Disables execution of all symbols, excluding those specified in `skip_mask`
@@ -446,9 +461,9 @@ bool rspamd_symcache_set_allowed_settings_ids (struct rspamd_symcache *cache,
* @param nids
*/
bool rspamd_symcache_set_forbidden_settings_ids (struct rspamd_symcache *cache,
- const gchar *symbol,
- const guint32 *ids,
- guint nids);
+ const gchar *symbol,
+ const guint32 *ids,
+ guint nids);
/**
* Returns allowed ids for a symbol as a constant array
@@ -457,9 +472,10 @@ bool rspamd_symcache_set_forbidden_settings_ids (struct rspamd_symcache *cache,
* @param nids
* @return
*/
-const guint32* rspamd_symcache_get_allowed_settings_ids (struct rspamd_symcache *cache,
+const guint32 *rspamd_symcache_get_allowed_settings_ids (struct rspamd_symcache *cache,
const gchar *symbol,
guint *nids);
+
/**
* Returns denied ids for a symbol as a constant array
* @param cache
@@ -467,9 +483,9 @@ const guint32* rspamd_symcache_get_allowed_settings_ids (struct rspamd_symcache
* @param nids
* @return
*/
-const guint32* rspamd_symcache_get_forbidden_settings_ids (struct rspamd_symcache *cache,
- const gchar *symbol,
- guint *nids);
+const guint32 *rspamd_symcache_get_forbidden_settings_ids (struct rspamd_symcache *cache,
+ const gchar *symbol,
+ guint *nids);
/**
@@ -499,4 +515,9 @@ gboolean rspamd_symcache_is_item_allowed (struct rspamd_task *task,
* @return
*/
enum rspamd_symbol_type rspamd_symcache_item_flags (struct rspamd_symcache_item *item);
+
+#ifdef __cplusplus
+}
+#endif
+
#endif
diff --git a/src/libserver/spf.h b/src/libserver/spf.h
index 722e98c03..725d84fe4 100644
--- a/src/libserver/spf.h
+++ b/src/libserver/spf.h
@@ -5,11 +5,15 @@
#include "ref.h"
#include "addr.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct rspamd_task;
struct spf_resolved;
-typedef void (*spf_cb_t)(struct spf_resolved *record,
- struct rspamd_task *task, gpointer cbdata);
+typedef void (*spf_cb_t) (struct spf_resolved *record,
+ struct rspamd_task *task, gpointer cbdata);
typedef enum spf_mech_e {
SPF_FAIL,
@@ -74,18 +78,18 @@ struct spf_resolved {
* Resolve spf record for specified task and call a callback after resolution fails/succeed
*/
gboolean rspamd_spf_resolve (struct rspamd_task *task, spf_cb_t callback,
- gpointer cbdata);
+ gpointer cbdata);
/*
* Get a domain for spf for specified task
*/
-const gchar * rspamd_spf_get_domain (struct rspamd_task *task);
+const gchar *rspamd_spf_get_domain (struct rspamd_task *task);
/*
* Increase refcount
*/
-struct spf_resolved * spf_record_ref (struct spf_resolved *rec);
+struct spf_resolved *spf_record_ref (struct spf_resolved *rec);
/*
* Decrease refcount
@@ -105,6 +109,11 @@ gchar *spf_addr_mask_to_string (struct spf_addr *addr);
* @param rec
* @return
*/
-struct spf_addr * spf_addr_match_task (struct rspamd_task *task,
- struct spf_resolved *rec);
+struct spf_addr *spf_addr_match_task (struct rspamd_task *task,
+ struct spf_resolved *rec);
+
+#ifdef __cplusplus
+}
+#endif
+
#endif
diff --git a/src/libserver/task.h b/src/libserver/task.h
index d581378b7..ac55dd910 100644
--- a/src/libserver/task.h
+++ b/src/libserver/task.h
@@ -24,6 +24,10 @@
#include "dns.h"
#include "re_cache.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
enum rspamd_command {
CMD_CHECK,
CMD_SYMBOLS,
@@ -58,33 +62,33 @@ enum rspamd_task_stage {
};
#define RSPAMD_TASK_PROCESS_ALL (RSPAMD_TASK_STAGE_CONNECT | \
- RSPAMD_TASK_STAGE_ENVELOPE | \
- RSPAMD_TASK_STAGE_READ_MESSAGE | \
- RSPAMD_TASK_STAGE_PRE_FILTERS | \
- RSPAMD_TASK_STAGE_PROCESS_MESSAGE | \
- RSPAMD_TASK_STAGE_FILTERS | \
- RSPAMD_TASK_STAGE_CLASSIFIERS_PRE | \
- RSPAMD_TASK_STAGE_CLASSIFIERS | \
- RSPAMD_TASK_STAGE_CLASSIFIERS_POST | \
- RSPAMD_TASK_STAGE_COMPOSITES | \
- RSPAMD_TASK_STAGE_POST_FILTERS | \
- RSPAMD_TASK_STAGE_LEARN_PRE | \
- RSPAMD_TASK_STAGE_LEARN | \
- RSPAMD_TASK_STAGE_LEARN_POST | \
- RSPAMD_TASK_STAGE_COMPOSITES_POST | \
- RSPAMD_TASK_STAGE_IDEMPOTENT | \
- RSPAMD_TASK_STAGE_DONE)
+ RSPAMD_TASK_STAGE_ENVELOPE | \
+ RSPAMD_TASK_STAGE_READ_MESSAGE | \
+ RSPAMD_TASK_STAGE_PRE_FILTERS | \
+ RSPAMD_TASK_STAGE_PROCESS_MESSAGE | \
+ RSPAMD_TASK_STAGE_FILTERS | \
+ RSPAMD_TASK_STAGE_CLASSIFIERS_PRE | \
+ RSPAMD_TASK_STAGE_CLASSIFIERS | \
+ RSPAMD_TASK_STAGE_CLASSIFIERS_POST | \
+ RSPAMD_TASK_STAGE_COMPOSITES | \
+ RSPAMD_TASK_STAGE_POST_FILTERS | \
+ RSPAMD_TASK_STAGE_LEARN_PRE | \
+ RSPAMD_TASK_STAGE_LEARN | \
+ RSPAMD_TASK_STAGE_LEARN_POST | \
+ RSPAMD_TASK_STAGE_COMPOSITES_POST | \
+ RSPAMD_TASK_STAGE_IDEMPOTENT | \
+ RSPAMD_TASK_STAGE_DONE)
#define RSPAMD_TASK_PROCESS_LEARN (RSPAMD_TASK_STAGE_CONNECT | \
- RSPAMD_TASK_STAGE_ENVELOPE | \
- RSPAMD_TASK_STAGE_READ_MESSAGE | \
- RSPAMD_TASK_STAGE_PROCESS_MESSAGE | \
- RSPAMD_TASK_STAGE_CLASSIFIERS_PRE | \
- RSPAMD_TASK_STAGE_CLASSIFIERS | \
- RSPAMD_TASK_STAGE_CLASSIFIERS_POST | \
- RSPAMD_TASK_STAGE_LEARN_PRE | \
- RSPAMD_TASK_STAGE_LEARN | \
- RSPAMD_TASK_STAGE_LEARN_POST | \
- RSPAMD_TASK_STAGE_DONE)
+ RSPAMD_TASK_STAGE_ENVELOPE | \
+ RSPAMD_TASK_STAGE_READ_MESSAGE | \
+ RSPAMD_TASK_STAGE_PROCESS_MESSAGE | \
+ RSPAMD_TASK_STAGE_CLASSIFIERS_PRE | \
+ RSPAMD_TASK_STAGE_CLASSIFIERS | \
+ RSPAMD_TASK_STAGE_CLASSIFIERS_POST | \
+ RSPAMD_TASK_STAGE_LEARN_PRE | \
+ RSPAMD_TASK_STAGE_LEARN | \
+ RSPAMD_TASK_STAGE_LEARN_POST | \
+ RSPAMD_TASK_STAGE_DONE)
#define RSPAMD_TASK_FLAG_MIME (1u << 0u)
#define RSPAMD_TASK_FLAG_JSON (1u << 1u)
@@ -135,80 +139,82 @@ enum rspamd_newlines_type;
* Worker task structure
*/
struct rspamd_task {
- struct rspamd_worker *worker; /**< pointer to worker object */
- enum rspamd_command cmd; /**< command */
- gint sock; /**< socket descriptor */
- guint32 flags; /**< Bit flags */
- guint32 dns_requests; /**< number of DNS requests per this task */
- gulong message_len; /**< Message length */
- gchar *helo; /**< helo header value */
- gchar *queue_id; /**< queue id if specified */
- const gchar *message_id; /**< message id */
- rspamd_inet_addr_t *from_addr; /**< from addr for a task */
- rspamd_inet_addr_t *client_addr; /**< address of connected socket */
- gchar *deliver_to; /**< address to deliver */
- gchar *user; /**< user to deliver */
- gchar *subject; /**< subject (for non-mime) */
- const gchar *hostname; /**< hostname reported by MTA */
- GHashTable *request_headers; /**< HTTP headers in a request */
- GHashTable *reply_headers; /**< Custom reply headers */
+ struct rspamd_worker *worker; /**< pointer to worker object */
+ enum rspamd_command cmd; /**< command */
+ gint sock; /**< socket descriptor */
+ guint32 flags; /**< Bit flags */
+ guint32 dns_requests; /**< number of DNS requests per this task */
+ gulong message_len; /**< Message length */
+ gchar *helo; /**< helo header value */
+ gchar *queue_id; /**< queue id if specified */
+ const gchar *message_id; /**< message id */
+ rspamd_inet_addr_t *from_addr; /**< from addr for a task */
+ rspamd_inet_addr_t *client_addr; /**< address of connected socket */
+ gchar *deliver_to; /**< address to deliver */
+ gchar *user; /**< user to deliver */
+ gchar *subject; /**< subject (for non-mime) */
+ const gchar *hostname; /**< hostname reported by MTA */
+ GHashTable *request_headers; /**< HTTP headers in a request */
+ GHashTable *reply_headers; /**< Custom reply headers */
struct {
const gchar *begin;
gsize len;
gchar *fpath;
- } msg; /**< message buffer */
- struct rspamd_http_connection *http_conn; /**< HTTP server connection */
- struct rspamd_async_session * s; /**< async session object */
- GPtrArray *parts; /**< list of parsed parts */
- GPtrArray *text_parts; /**< list of text parts */
+ } msg; /**< message buffer */
+ struct rspamd_http_connection *http_conn; /**< HTTP server connection */
+ struct rspamd_async_session *s; /**< async session object */
+ GPtrArray *parts; /**< list of parsed parts */
+ GPtrArray *text_parts; /**< list of text parts */
struct {
const gchar *begin;
gsize len;
const gchar *body_start;
- } raw_headers_content; /**< list of raw headers */
- GPtrArray *received; /**< list of received headers */
- GHashTable *urls; /**< list of parsed urls */
- GHashTable *emails; /**< list of parsed emails */
- GHashTable *raw_headers; /**< list of raw headers */
- GQueue *headers_order; /**< order of raw headers */
- struct rspamd_metric_result *result; /**< Metric result */
- GHashTable *lua_cache; /**< cache of lua objects */
- GPtrArray *tokens; /**< statistics tokens */
- GArray *meta_words; /**< rspamd_stat_token_t produced from meta headers
+ } raw_headers_content; /**< list of raw headers */
+ GPtrArray *received; /**< list of received headers */
+ GHashTable *urls; /**< list of parsed urls */
+ GHashTable *emails; /**< list of parsed emails */
+ GHashTable *raw_headers; /**< list of raw headers */
+ GQueue *headers_order; /**< order of raw headers */
+ struct rspamd_metric_result *result; /**< Metric result */
+ GHashTable *lua_cache; /**< cache of lua objects */
+ GPtrArray *tokens; /**< statistics tokens */
+ GArray *meta_words; /**< rspamd_stat_token_t produced from meta headers
(e.g. Subject) */
GPtrArray *rcpt_mime;
- GPtrArray *rcpt_envelope; /**< array of rspamd_email_address */
+ GPtrArray *rcpt_envelope; /**< array of rspamd_email_address */
GPtrArray *from_mime;
struct rspamd_email_address *from_envelope;
- enum rspamd_newlines_type nlines_type; /**< type of newlines (detected on most of headers */
+ enum rspamd_newlines_type nlines_type; /**< type of newlines (detected on most of headers */
- ucl_object_t *messages; /**< list of messages that would be reported */
- struct rspamd_re_runtime *re_rt; /**< regexp runtime */
- GPtrArray *stat_runtimes; /**< backend runtime */
- struct rspamd_config *cfg; /**< pointer to config object */
+ ucl_object_t *messages; /**< list of messages that would be reported */
+ struct rspamd_re_runtime *re_rt; /**< regexp runtime */
+ GPtrArray *stat_runtimes; /**< backend runtime */
+ struct rspamd_config *cfg; /**< pointer to config object */
GError *err;
- rspamd_mempool_t *task_pool; /**< memory pool for task */
+ rspamd_mempool_t *task_pool; /**< memory pool for task */
double time_virtual;
double time_real_finish;
double time_virtual_finish;
ev_tstamp task_timestamp;
- gboolean (*fin_callback)(struct rspamd_task *task, void *arg);
- /**< callback for filters finalizing */
- void *fin_arg; /**< argument for fin callback */
-
- struct rspamd_dns_resolver *resolver; /**< DNS resolver */
- struct ev_loop *event_loop; /**< Event base */
- struct ev_timer timeout_ev; /**< Global task timeout */
- struct ev_io guard_ev; /**< Event for input sanity guard */
-
- gpointer checkpoint; /**< Opaque checkpoint data */
- ucl_object_t *settings; /**< Settings applied to task */
- guint32 processed_stages; /**< bits of stages that are processed */
- struct rspamd_config_settings_elt *settings_elt; /**< preprocessed settings id elt */
-
- const gchar *classifier; /**< Classifier to learn (if needed) */
- struct rspamd_lang_detector *lang_det; /**< Languages detector */
+
+ gboolean (*fin_callback) (struct rspamd_task *task, void *arg);
+
+ /**< callback for filters finalizing */
+ void *fin_arg; /**< argument for fin callback */
+
+ struct rspamd_dns_resolver *resolver; /**< DNS resolver */
+ struct ev_loop *event_loop; /**< Event base */
+ struct ev_timer timeout_ev; /**< Global task timeout */
+ struct ev_io guard_ev; /**< Event for input sanity guard */
+
+ gpointer checkpoint; /**< Opaque checkpoint data */
+ ucl_object_t *settings; /**< Settings applied to task */
+ guint32 processed_stages; /**< bits of stages that are processed */
+ struct rspamd_config_settings_elt *settings_elt; /**< preprocessed settings id elt */
+
+ const gchar *classifier; /**< Classifier to learn (if needed) */
+ struct rspamd_lang_detector *lang_det; /**< Languages detector */
guchar digest[16];
};
@@ -220,6 +226,7 @@ struct rspamd_task *rspamd_task_new (struct rspamd_worker *worker,
rspamd_mempool_t *pool,
struct rspamd_lang_detector *lang_det,
struct ev_loop *event_loop);
+
/**
* Destroy task object and remove its IO dispatcher if it exists
*/
@@ -245,7 +252,7 @@ gboolean rspamd_task_fin (void *arg);
* @return
*/
gboolean rspamd_task_load_message (struct rspamd_task *task,
- struct rspamd_http_message *msg, const gchar *start, gsize len);
+ struct rspamd_http_message *msg, const gchar *start, gsize len);
/**
* Process task
@@ -259,7 +266,7 @@ gboolean rspamd_task_process (struct rspamd_task *task, guint stages);
* @param task
* @return
*/
-struct rspamd_email_address* rspamd_task_get_sender (struct rspamd_task *task);
+struct rspamd_email_address *rspamd_task_get_sender (struct rspamd_task *task);
/**
* Return addresses in the following precedence:
@@ -287,9 +294,9 @@ gboolean rspamd_task_add_recipient (struct rspamd_task *task, const gchar *rcpt)
* @return true if learn succeed
*/
gboolean rspamd_learn_task_spam (struct rspamd_task *task,
- gboolean is_spam,
- const gchar *classifier,
- GError **err);
+ gboolean is_spam,
+ const gchar *classifier,
+ GError **err);
/**
* Returns required score for a message (usually reject score)
@@ -298,8 +305,9 @@ gboolean rspamd_learn_task_spam (struct rspamd_task *task,
* @return
*/
struct rspamd_metric_result;
+
gdouble rspamd_task_get_required_score (struct rspamd_task *task,
- struct rspamd_metric_result *m);
+ struct rspamd_metric_result *m);
/**
* Returns the first header as value for a header
@@ -307,8 +315,8 @@ gdouble rspamd_task_get_required_score (struct rspamd_task *task,
* @param name
* @return
*/
-rspamd_ftok_t * rspamd_task_get_request_header (struct rspamd_task *task,
- const gchar *name);
+rspamd_ftok_t *rspamd_task_get_request_header (struct rspamd_task *task,
+ const gchar *name);
/**
* Returns all headers with the specific name
@@ -316,8 +324,8 @@ rspamd_ftok_t * rspamd_task_get_request_header (struct rspamd_task *task,
* @param name
* @return
*/
-GPtrArray* rspamd_task_get_request_header_multiple (struct rspamd_task *task,
- const gchar *name);
+GPtrArray *rspamd_task_get_request_header_multiple (struct rspamd_task *task,
+ const gchar *name);
/**
* Adds a new request header to task (name and value should be mapped to fstring)
@@ -326,7 +334,7 @@ GPtrArray* rspamd_task_get_request_header_multiple (struct rspamd_task *task,
* @param value
*/
void rspamd_task_add_request_header (struct rspamd_task *task,
- rspamd_ftok_t *name, rspamd_ftok_t *value);
+ rspamd_ftok_t *name, rspamd_ftok_t *value);
/**
* Write log line about the specified task if needed
@@ -340,7 +348,7 @@ void rspamd_task_write_log (struct rspamd_task *task);
* @param value
*/
void rspamd_task_profile_set (struct rspamd_task *task, const gchar *key,
- gdouble value);
+ gdouble value);
/**
* Get value for a specific profiling key
@@ -348,7 +356,7 @@ void rspamd_task_profile_set (struct rspamd_task *task, const gchar *key,
* @param key
* @return
*/
-gdouble* rspamd_task_profile_get (struct rspamd_task *task, const gchar *key);
+gdouble *rspamd_task_profile_get (struct rspamd_task *task, const gchar *key);
/**
* Sets finishing time for a task if not yet set
@@ -364,4 +372,8 @@ gboolean rspamd_task_set_finish_time (struct rspamd_task *task);
*/
const gchar *rspamd_task_stage_name (enum rspamd_task_stage stg);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* TASK_H_ */
diff --git a/src/libserver/url.h b/src/libserver/url.h
index 734f48bbf..6f1ccf59f 100644
--- a/src/libserver/url.h
+++ b/src/libserver/url.h
@@ -6,6 +6,10 @@
#include "mem_pool.h"
#include "fstring.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct rspamd_task;
struct rspamd_mime_text_part;
@@ -106,7 +110,9 @@ enum rspamd_url_find_type {
* @param cfg
*/
void rspamd_url_init (const gchar *tld_file);
+
void rspamd_url_deinit (void);
+
/*
* Parse urls inside text
* @param pool memory pool
@@ -147,10 +153,11 @@ gboolean rspamd_url_find (rspamd_mempool_t *pool,
enum rspamd_url_find_type how,
goffset *url_pos,
gboolean *prefix_added);
+
/*
* Return text representation of url parsing error
*/
-const gchar * rspamd_url_strerror (int err);
+const gchar *rspamd_url_strerror (int err);
/**
@@ -163,7 +170,7 @@ const gchar * rspamd_url_strerror (int err);
gboolean rspamd_url_find_tld (const gchar *in, gsize inlen, rspamd_ftok_t *out);
typedef void (*url_insert_function) (struct rspamd_url *url,
- gsize start_offset, gsize end_offset, void *ud);
+ gsize start_offset, gsize end_offset, void *ud);
/**
* Search for multiple urls in text and call `func` for each url found
@@ -180,6 +187,7 @@ void rspamd_url_find_multiple (rspamd_mempool_t *pool,
GPtrArray *nlines,
url_insert_function func,
gpointer ud);
+
/**
* Search for a single url in text and call `func` for each url found
* @param pool
@@ -217,7 +225,9 @@ void rspamd_url_add_tag (struct rspamd_url *url, const gchar *tag,
rspamd_mempool_t *pool);
guint rspamd_url_hash (gconstpointer u);
+
guint rspamd_email_hash (gconstpointer u);
+
guint rspamd_url_host_hash (gconstpointer u);
@@ -226,6 +236,7 @@ gboolean rspamd_emails_cmp (gconstpointer a, gconstpointer b);
/* Compare two urls for building emails hash */
gboolean rspamd_urls_cmp (gconstpointer a, gconstpointer b);
+
gboolean rspamd_urls_host_cmp (gconstpointer a, gconstpointer b);
/**
@@ -244,8 +255,8 @@ gsize rspamd_url_decode (gchar *dst, const gchar *src, gsize size);
* @param pool
* @return
*/
-const gchar * rspamd_url_encode (struct rspamd_url *url, gsize *dlen,
- rspamd_mempool_t *pool);
+const gchar *rspamd_url_encode (struct rspamd_url *url, gsize *dlen,
+ rspamd_mempool_t *pool);
/**
@@ -260,7 +271,7 @@ gboolean rspamd_url_is_domain (int c);
* @param proto
* @return
*/
-const gchar* rspamd_url_protocol_name (enum rspamd_url_protocol proto);
+const gchar *rspamd_url_protocol_name (enum rspamd_url_protocol proto);
/**
@@ -269,4 +280,9 @@ const gchar* rspamd_url_protocol_name (enum rspamd_url_protocol proto);
* @return
*/
enum rspamd_url_protocol rspamd_url_protocol_from_string (const gchar *str);
+
+#ifdef __cplusplus
+}
+#endif
+
#endif
diff --git a/src/libserver/worker_util.h b/src/libserver/worker_util.h
index d3ea738aa..d0966e009 100644
--- a/src/libserver/worker_util.h
+++ b/src/libserver/worker_util.h
@@ -21,10 +21,16 @@
#include "http_connection.h"
#include "rspamd.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifndef HAVE_SA_SIGINFO
typedef void (*rspamd_sig_handler_t) (gint);
#else
+
typedef void (*rspamd_sig_handler_t) (gint, siginfo_t *, void *);
+
#endif
struct rspamd_worker;
@@ -37,7 +43,7 @@ struct rspamd_worker_signal_handler;
*/
void rspamd_worker_init_signals (struct rspamd_worker *worker, struct ev_loop *event_loop);
-typedef void (*rspamd_accept_handler)(struct ev_loop *loop, ev_io *w, int revents);
+typedef void (*rspamd_accept_handler) (struct ev_loop *loop, ev_io *w, int revents);
/**
* Prepare worker's startup
@@ -55,10 +61,10 @@ rspamd_prepare_worker (struct rspamd_worker *worker, const char *name,
* Set special signal handler for a worker
*/
void rspamd_worker_set_signal_handler (int signo,
- struct rspamd_worker *worker,
- struct ev_loop *event_loop,
- rspamd_worker_signal_cb_t handler,
- void *handler_data);
+ struct rspamd_worker *worker,
+ struct ev_loop *event_loop,
+ rspamd_worker_signal_cb_t handler,
+ void *handler_data);
/**
* Stop accepting new connections for a worker
@@ -67,9 +73,9 @@ void rspamd_worker_set_signal_handler (int signo,
void rspamd_worker_stop_accept (struct rspamd_worker *worker);
typedef gint (*rspamd_controller_func_t) (
- struct rspamd_http_connection_entry *conn_ent,
- struct rspamd_http_message *msg,
- struct module_ctx *ctx);
+ struct rspamd_http_connection_entry *conn_ent,
+ struct rspamd_http_message *msg,
+ struct module_ctx *ctx);
struct rspamd_custom_controller_command {
const gchar *command;
@@ -102,7 +108,7 @@ struct rspamd_controller_session {
* @param error_msg error message
*/
void rspamd_controller_send_error (struct rspamd_http_connection_entry *entry,
- gint code, const gchar *error_msg, ...);
+ gint code, const gchar *error_msg, ...);
/**
* Send a custom string using HTTP
@@ -110,7 +116,7 @@ void rspamd_controller_send_error (struct rspamd_http_connection_entry *entry,
* @param str string to send
*/
void rspamd_controller_send_string (struct rspamd_http_connection_entry *entry,
- const gchar *str);
+ const gchar *str);
/**
* Send UCL using HTTP and JSON serialization
@@ -118,14 +124,14 @@ void rspamd_controller_send_string (struct rspamd_http_connection_entry *entry,
* @param obj object to send
*/
void rspamd_controller_send_ucl (struct rspamd_http_connection_entry *entry,
- ucl_object_t *obj);
+ ucl_object_t *obj);
/**
* Return worker's control structure by its type
* @param type
* @return worker's control structure or NULL
*/
-worker_t * rspamd_get_worker_by_type (struct rspamd_config *cfg, GQuark type);
+worker_t *rspamd_get_worker_by_type (struct rspamd_config *cfg, GQuark type);
/**
* Block signals before terminations
@@ -162,8 +168,8 @@ gboolean rspamd_worker_is_primary_controller (struct rspamd_worker *w);
* @param w
* @return
*/
-void * rspamd_worker_session_cache_new (struct rspamd_worker *w,
- struct ev_loop *ev_base);
+void *rspamd_worker_session_cache_new (struct rspamd_worker *w,
+ struct ev_loop *ev_base);
/**
* Adds a new session identified by pointer
@@ -173,7 +179,7 @@ void * rspamd_worker_session_cache_new (struct rspamd_worker *w,
* @param ptr
*/
void rspamd_worker_session_cache_add (void *cache, const gchar *tag,
- guint *pref, void *ptr);
+ guint *pref, void *ptr);
/**
* Removes session from cache
@@ -202,8 +208,8 @@ void rspamd_set_crash_handler (struct rspamd_main *);
* @param resolver
*/
void rspamd_worker_init_monitored (struct rspamd_worker *worker,
- struct ev_loop *ev_base,
- struct rspamd_dns_resolver *resolver);
+ struct ev_loop *ev_base,
+ struct rspamd_dns_resolver *resolver);
/**
* Performs throttling for accept events
@@ -221,15 +227,17 @@ void rspamd_worker_throttle_accept_events (gint sock, void *data);
* @return TRUE if refork is desired
*/
gboolean rspamd_check_termination_clause (struct rspamd_main *rspamd_main,
- struct rspamd_worker *wrk, int status);
+ struct rspamd_worker *wrk, int status);
#ifdef WITH_HYPERSCAN
struct rspamd_control_command;
+
gboolean rspamd_worker_hyperscan_ready (struct rspamd_main *rspamd_main,
struct rspamd_worker *worker, gint fd,
gint attached_fd,
struct rspamd_control_command *cmd,
gpointer ud);
+
#endif
#define msg_err_main(...) rspamd_default_log_function (G_LOG_LEVEL_CRITICAL, \
@@ -245,4 +253,8 @@ gboolean rspamd_worker_hyperscan_ready (struct rspamd_main *rspamd_main,
G_STRFUNC, \
__VA_ARGS__)
+#ifdef __cplusplus
+}
+#endif
+
#endif /* WORKER_UTIL_H_ */