From: Enrico Tassi Date: Tue, 16 May 2006 08:29:31 +0000 (+0000) Subject: utf8_macros moved to syntax_extensions. X-Git-Tag: 0.4.95@7852~1462 X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=commitdiff_plain;h=4cdf45f08cd95641a094312ddc558320b874fa16;p=helm.git utf8_macros moved to syntax_extensions. quoting for inline profiling added --- diff --git a/components/METAS/meta.helm-content_pres.src b/components/METAS/meta.helm-content_pres.src index cd3d36854..1706818e2 100644 --- a/components/METAS/meta.helm-content_pres.src +++ b/components/METAS/meta.helm-content_pres.src @@ -1,4 +1,4 @@ -requires="helm-acic_content helm-utf8_macros camlp4.gramlib ulex" +requires="helm-acic_content helm-syntax_extensions camlp4.gramlib ulex" version="0.0.1" archive(byte)="content_pres.cma" archive(native)="content_pres.cmxa" diff --git a/components/METAS/meta.helm-syntax_extensions.src b/components/METAS/meta.helm-syntax_extensions.src new file mode 100644 index 000000000..5791bc2af --- /dev/null +++ b/components/METAS/meta.helm-syntax_extensions.src @@ -0,0 +1,7 @@ +requires="" +version="0.0.1" +archive(byte)="utf8_macros.cma" +archive(native)="utf8_macros.cmxa" +requires(syntax,preprocessor)="camlp4" +archive(syntax,preprocessor)="pa_extend.cmo pa_unicode_macro.cma profiling_macros.cma" +linkopts="" diff --git a/components/METAS/meta.helm-utf8_macros.src b/components/METAS/meta.helm-utf8_macros.src deleted file mode 100644 index c2da77649..000000000 --- a/components/METAS/meta.helm-utf8_macros.src +++ /dev/null @@ -1,7 +0,0 @@ -requires="" -version="0.0.1" -archive(byte)="utf8_macros.cma" -archive(native)="utf8_macros.cmxa" -requires(syntax,preprocessor)="camlp4" -archive(syntax,preprocessor)="pa_extend.cmo pa_unicode_macro.cma" -linkopts="" diff --git a/components/Makefile b/components/Makefile index 6b5e68325..948ba8f36 100644 --- a/components/Makefile +++ b/components/Makefile @@ -11,7 +11,7 @@ MODULES = \ hgdome \ registry \ hmysql \ - utf8_macros \ + syntax_extensions \ thread \ xmldiff \ urimanager \ @@ -49,8 +49,8 @@ else world: all endif syntax-extensions: - $(H)$(MAKE) -C utf8_macros depend - $(H)$(MAKE) -C utf8_macros pa_unicode_macro.cma + $(H)$(MAKE) -C syntax_extensions depend + $(H)$(MAKE) -C syntax_extensions depend: syntax-extensions $(MODULES:%=rec@depend@%) depend.opt: syntax-extensions $(MODULES:%=rec@depend.opt@%) install: $(MODULES:%=rec@install@%) diff --git a/components/acic_content/cicNotationPp.ml b/components/acic_content/cicNotationPp.ml index ee389022c..590de7c54 100644 --- a/components/acic_content/cicNotationPp.ml +++ b/components/acic_content/cicNotationPp.ml @@ -171,9 +171,14 @@ and pp_pattern ((head, href, vars), term) = and pp_patterns patterns = sprintf "[%s]" (String.concat " | " (List.map pp_pattern patterns)) -and pp_capture_variable = function +and pp_capture_variable = + let clean s = + let s = String.sub s 1 (String.length s - 1) in + String.sub s 0 (String.length s - 1) + in + function | term, None -> pp_term term - | term, Some typ -> "(" ^ pp_term term ^ ": " ^ pp_term typ ^ ")" + | term, Some typ -> "(" ^ clean (pp_term term) ^ ": " ^ pp_term typ ^ ")" and pp_box_spec (kind, spacing, indent) = let int_of_bool b = if b then 1 else 0 in diff --git a/components/binaries/saturate/Makefile b/components/binaries/saturate/Makefile index 40ff4c3a7..567e3b0d3 100644 --- a/components/binaries/saturate/Makefile +++ b/components/binaries/saturate/Makefile @@ -27,4 +27,6 @@ clean: $(H)rm -f *.cm[iox] *.a *.o $(H)rm -f saturate saturate.opt +depend: + include ../../../Makefile.defs diff --git a/components/content_pres/Makefile b/components/content_pres/Makefile index 5d43e18ab..980e8c25a 100644 --- a/components/content_pres/Makefile +++ b/components/content_pres/Makefile @@ -46,7 +46,7 @@ include ../Makefile.common # cross compatibility among ocaml 3.09 and ocaml 3.08, to be removed as # soon as we have ocaml 3.09 everywhere and "loc" occurrences are replaced by # "_loc" occurrences -UTF8DIR := $(shell $(OCAMLFIND) query helm-utf8_macros) +UTF8DIR := $(shell $(OCAMLFIND) query helm-syntax_extensions) ULEXDIR := $(shell $(OCAMLFIND) query ulex) MY_SYNTAXOPTIONS = -pp "camlp4o -I $(UTF8DIR) -I $(ULEXDIR) pa_extend.cmo pa_ulex.cma pa_unicode_macro.cma -loc loc" cicNotationLexer.cmo: SYNTAXOPTIONS = $(MY_SYNTAXOPTIONS) diff --git a/components/grafite_parser/Makefile b/components/grafite_parser/Makefile index 964b0a86a..06824b141 100644 --- a/components/grafite_parser/Makefile +++ b/components/grafite_parser/Makefile @@ -17,7 +17,7 @@ clean: clean_tests # cross compatibility among ocaml 3.09 and ocaml 3.08, to be removed as # soon as we have ocaml 3.09 everywhere and "loc" occurrences are replaced by # "_loc" occurrences -UTF8DIR = $(shell $(OCAMLFIND) query helm-utf8_macros) +UTF8DIR = $(shell $(OCAMLFIND) query helm-syntax_extensions) ULEXDIR = $(shell $(OCAMLFIND) query ulex) MY_SYNTAXOPTIONS = -pp "camlp4o -I $(UTF8DIR) -I $(ULEXDIR) pa_extend.cmo pa_ulex.cma pa_unicode_macro.cma -loc loc" grafiteParser.cmo: SYNTAXOPTIONS = $(MY_SYNTAXOPTIONS) diff --git a/components/syntax_extensions/.depend b/components/syntax_extensions/.depend new file mode 100644 index 000000000..f3c6a8bd1 --- /dev/null +++ b/components/syntax_extensions/.depend @@ -0,0 +1,2 @@ +utf8Macro.cmo: utf8MacroTable.cmo utf8Macro.cmi +utf8Macro.cmx: utf8MacroTable.cmx utf8Macro.cmi diff --git a/components/syntax_extensions/Makefile b/components/syntax_extensions/Makefile new file mode 100644 index 000000000..92ed07776 --- /dev/null +++ b/components/syntax_extensions/Makefile @@ -0,0 +1,51 @@ +PACKAGE = utf8_macros +PREDICATES = +MAKE_TABLE_PACKAGES = helm-xml + +# modules which have both a .ml and a .mli +INTERFACE_FILES = utf8Macro.mli +IMPLEMENTATION_FILES = utf8MacroTable.ml $(INTERFACE_FILES:%.mli=%.ml) +EXTRA_OBJECTS_TO_INSTALL = +EXTRA_OBJECTS_TO_CLEAN = + +all: utf8_macros.cma pa_unicode_macro.cma profiling_macros.cma + +make_table: make_table.ml + @echo " OCAMLC $<" + $(H)$(OCAMLFIND) ocamlc -package $(MAKE_TABLE_PACKAGES) -linkpkg -o $@ $^ + +utf8MacroTable.ml: + ./make_table $@ +utf8MacroTable.cmo: utf8MacroTable.ml + @echo " OCAMLC $<" + $(H)@$(OCAMLFIND) ocamlc -c $< + +pa_unicode_macro.cmo: pa_unicode_macro.ml utf8Macro.cmo + @echo " OCAMLC $<" + $(H)@$(OCAMLFIND) ocamlc -package camlp4 -pp "camlp4o q_MLast.cmo pa_extend.cmo -loc loc" -c $< +pa_unicode_macro.cma: utf8MacroTable.cmo utf8Macro.cmo pa_unicode_macro.cmo + @echo " OCAMLC -a $@" + $(H)@$(OCAMLFIND) ocamlc -a -o $@ $^ + +profiling_macros.cmo: profiling_macros.ml + @echo " OCAMLC $<" + $(H)@$(OCAMLFIND) ocamlc -package camlp4 -pp "camlp4o -loc loc" -c $< +profiling_macros.cma:profiling_macros.cmo + @echo " OCAMLC -a $@" + $(H)@$(OCAMLFIND) ocamlc -a -o $@ $^ + + +.PHONY: test +test: test.ml + $(OCAMLFIND) ocamlc -package helm-utf8_macros -syntax camlp4o $< -o $@ + +clean: +distclean: extra_clean +extra_clean: + rm -f make_table test + +STATS_EXCLUDE = utf8MacroTable.ml + +include ../../Makefile.defs +include ../Makefile.common + diff --git a/components/syntax_extensions/README.syntax b/components/syntax_extensions/README.syntax new file mode 100644 index 000000000..210ecc095 --- /dev/null +++ b/components/syntax_extensions/README.syntax @@ -0,0 +1,15 @@ + +Helm Utf8 macro syntax extension for Camlp4 + +Sample file: + + --- test.ml --- + + prerr_endline <:unicode> + + --------------- + +Compile it with: + + ocamlfind ocamlc -package helm-utf8_macros -syntax camlp4o test.ml + diff --git a/components/syntax_extensions/data/dictionary-tex.xml b/components/syntax_extensions/data/dictionary-tex.xml new file mode 100644 index 000000000..47995454f --- /dev/null +++ b/components/syntax_extensions/data/dictionary-tex.xml @@ -0,0 +1,378 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/components/syntax_extensions/data/entities-table.xml b/components/syntax_extensions/data/entities-table.xml new file mode 100644 index 000000000..c283631b4 --- /dev/null +++ b/components/syntax_extensions/data/entities-table.xml @@ -0,0 +1,2079 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/components/syntax_extensions/data/extra-entities.xml b/components/syntax_extensions/data/extra-entities.xml new file mode 100644 index 000000000..73b12ad5e --- /dev/null +++ b/components/syntax_extensions/data/extra-entities.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/components/syntax_extensions/make_table.ml b/components/syntax_extensions/make_table.ml new file mode 100644 index 000000000..e8e453df4 --- /dev/null +++ b/components/syntax_extensions/make_table.ml @@ -0,0 +1,103 @@ +(* Copyright (C) 2004, HELM Team. + * + * This file is part of HELM, an Hypertextual, Electronic + * Library of Mathematics, developed at the Computer Science + * Department, University of Bologna, Italy. + * + * HELM is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * HELM is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with HELM; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, + * MA 02111-1307, USA. + * + * For details, see the HELM World-Wide-Web page, + * http://helm.cs.unibo.it/ + *) + +(* $Id$ *) + +open Printf + +let debug = false +let debug_print s = if debug then prerr_endline (Lazy.force s) + + (* source files for tables xml parsing (if unmarshall=false) *) +let xml_tables = [ +(* + `Entities, "/usr/share/gtkmathview/entities-table.xml"; + `Dictionary, "/usr/share/editex/dictionary-tex.xml" +*) + `Entities, "data/entities-table.xml"; + `Dictionary, "data/dictionary-tex.xml"; + `Entities, "data/extra-entities.xml"; + (** extra-entities.xml should be the last one since it is used to override + * previous mappings. Add there overrides as needed. *) +] + +let iter_gen record_tag name_field value_field f fname = + let start_element tag attrs = + if tag = record_tag then + try + let name = List.assoc name_field attrs in + let value = List.assoc value_field attrs in + f name value + with Not_found -> () + in + let callbacks = { + XmlPushParser.default_callbacks with + XmlPushParser.start_element = Some start_element + } in + let xml_parser = XmlPushParser.create_parser callbacks in + XmlPushParser.parse xml_parser (`File fname) + +let iter_entities_file = iter_gen "entity" "name" "value" +let iter_dictionary_file = iter_gen "entry" "name" "val" + +let parse_from_xml () = + let macro2utf8 = Hashtbl.create 2000 in + let add_macro macro utf8 = + debug_print (lazy (sprintf "Adding macro %s = '%s'" macro utf8)); + Hashtbl.replace macro2utf8 macro utf8 + in + let fill_table () = + List.iter + (fun (typ, fname) -> + match typ with + | `Entities -> iter_entities_file add_macro fname + | `Dictionary -> iter_dictionary_file add_macro fname) + xml_tables + in + fill_table (); + macro2utf8 + +let main () = + let oc = open_out Sys.argv.(1) in + output_string oc "(* GENERATED by make_table: DO NOT EDIT! *)\n"; + output_string oc "let macro2utf8 = Hashtbl.create 2000\n"; + output_string oc "let utf82macro = Hashtbl.create 2000\n"; + output_string oc "let data = [\n"; + let macro2utf8 = parse_from_xml () in + Hashtbl.iter + (fun macro utf8 -> + fprintf oc " \"%s\", \"%s\";\n" macro (String.escaped utf8)) + macro2utf8; + output_string oc " ];;\n"; + output_string oc "let _ =\n"; + output_string oc " List.iter\n"; + output_string oc " (fun (macro, utf8) ->\n"; + output_string oc " Hashtbl.replace macro2utf8 macro utf8;\n"; + output_string oc " Hashtbl.replace utf82macro utf8 macro)\n"; + output_string oc " data;;\n"; + close_out oc + +let _ = main () + diff --git a/components/syntax_extensions/pa_unicode_macro.ml b/components/syntax_extensions/pa_unicode_macro.ml new file mode 100644 index 000000000..dda7d4cab --- /dev/null +++ b/components/syntax_extensions/pa_unicode_macro.ml @@ -0,0 +1,67 @@ +(* Copyright (C) 2004, HELM Team. + * + * This file is part of HELM, an Hypertextual, Electronic + * Library of Mathematics, developed at the Computer Science + * Department, University of Bologna, Italy. + * + * HELM is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * HELM is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with HELM; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, + * MA 02111-1307, USA. + * + * For details, see the HELM World-Wide-Web page, + * http://helm.cs.unibo.it/ + *) + +(* $Id$ *) + +let debug = false +let debug_print s = if debug then prerr_endline (Lazy.force s) + +let loc = + let dummy_pos = + { Lexing.pos_fname = ""; Lexing.pos_lnum = -1; Lexing.pos_bol = -1; + Lexing.pos_cnum = -1 } + in + (dummy_pos, dummy_pos) + +let expand_unicode_macro macro = + debug_print (lazy (Printf.sprintf "Expanding macro '%s' ..." macro)); + let expansion = Utf8Macro.expand macro in + <:expr< $str:expansion$ >> + +let _ = + Quotation.add "unicode" + (Quotation.ExAst (expand_unicode_macro, (fun _ -> assert false))) + +open Pa_extend + +EXTEND + symbol: FIRST + [ + [ x = UIDENT; q = QUOTATION -> + let (quotation, arg) = + let pos = String.index q ':' in + (String.sub q 0 pos, + String.sub q (pos + 1) (String.length q - pos - 1)) + in + debug_print (lazy (Printf.sprintf "QUOTATION = %s; ARG = %s" quotation arg)); + if quotation = "unicode" then + let text = TXtok (loc, x, expand_unicode_macro arg) in + {used = []; text = text; styp = STlid (loc, "string")} + else + assert false + ] + ]; +END + diff --git a/components/syntax_extensions/profiling_macros.ml b/components/syntax_extensions/profiling_macros.ml new file mode 100644 index 000000000..fe5926a43 --- /dev/null +++ b/components/syntax_extensions/profiling_macros.ml @@ -0,0 +1,50 @@ +let max_profilers = 20;; +let profiler_no = ref 0;; +let profiler_label2int = Hashtbl.create 3;; +let name = ref "";; + + +let banner _ pname = + name := pname; + "(Array.make "^string_of_int max_profilers^" (0,0.)), + (Array.make "^string_of_int max_profilers^" (0.))" +;; + +let profile_start _ label = + if !profiler_no > max_profilers then + raise (Invalid_argument "Too many profilers."); + if not (Hashtbl.mem profiler_label2int label) then + begin + Hashtbl.add profiler_label2int label !profiler_no; + incr profiler_no; + end; + let id = Hashtbl.find profiler_label2int label in + " ((snd "^ !name^").("^string_of_int id^") <- Unix.gettimeofday()) " +;; + +let profile_stop _ label = + if not (Hashtbl.mem profiler_label2int label) then + raise (Invalid_argument "Profiler 'stop' before 'begin'."); + let id = Hashtbl.find profiler_label2int label in + " ( + let interval = + Unix.gettimeofday () -. (snd "^ !name^").("^string_of_int id^") + in + let oldcount,oldval = (fst "^ !name^").("^string_of_int id^") in + (fst "^ !name^").("^string_of_int id^") <- (oldcount+1,interval +. oldval) + ) " +;; + +let profile_show _ _ = + (Hashtbl.fold + (fun k v acc -> + acc ^ + "let t = (fst "^ !name^").("^string_of_int v^") in "^ + "let acc = acc ^ Printf.sprintf \"%20s: %5d %8.4f\" \""^k^"\" (fst t) (snd t) in") + profiler_label2int "let acc = \"\" in ") ^ " acc " +;; + +Quotation.add "profiler" (Quotation.ExStr banner);; +Quotation.add "start" (Quotation.ExStr profile_start);; +Quotation.add "stop" (Quotation.ExStr profile_stop);; +Quotation.add "show" (Quotation.ExStr profile_show);; diff --git a/components/syntax_extensions/test.ml b/components/syntax_extensions/test.ml new file mode 100644 index 000000000..8f98bfd44 --- /dev/null +++ b/components/syntax_extensions/test.ml @@ -0,0 +1,3 @@ +(* $Id$ *) + +prerr_endline <:unicode> diff --git a/components/syntax_extensions/utf8Macro.ml b/components/syntax_extensions/utf8Macro.ml new file mode 100644 index 000000000..e5fca10c4 --- /dev/null +++ b/components/syntax_extensions/utf8Macro.ml @@ -0,0 +1,47 @@ +(* Copyright (C) 2004, HELM Team. + * + * This file is part of HELM, an Hypertextual, Electronic + * Library of Mathematics, developed at the Computer Science + * Department, University of Bologna, Italy. + * + * HELM is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * HELM is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with HELM; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, + * MA 02111-1307, USA. + * + * For details, see the HELM World-Wide-Web page, + * http://helm.cs.unibo.it/ + *) + +(* $Id$ *) + +exception Macro_not_found of string +exception Utf8_not_found of string + +let expand macro = + try + Hashtbl.find Utf8MacroTable.macro2utf8 macro + with Not_found -> raise (Macro_not_found macro) + +let unicode_of_tex s = + try + if s.[0] = '\\' then + expand (String.sub s 1 (String.length s - 1)) + else s + with Macro_not_found _ -> s + +let tex_of_unicode s = + try + "\\" ^ Hashtbl.find Utf8MacroTable.utf82macro s + with Not_found -> s + diff --git a/components/syntax_extensions/utf8Macro.mli b/components/syntax_extensions/utf8Macro.mli new file mode 100644 index 000000000..d92f60b37 --- /dev/null +++ b/components/syntax_extensions/utf8Macro.mli @@ -0,0 +1,40 @@ +(* Copyright (C) 2004, HELM Team. + * + * This file is part of HELM, an Hypertextual, Electronic + * Library of Mathematics, developed at the Computer Science + * Department, University of Bologna, Italy. + * + * HELM is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * HELM is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with HELM; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, + * MA 02111-1307, USA. + * + * For details, see the HELM World-Wide-Web page, + * http://helm.cs.unibo.it/ + *) + +exception Macro_not_found of string +exception Utf8_not_found of string + + (** @param macro name + @return utf8 string *) +val expand: string -> string + + (** @param tex TeX like command (e.g. \forall, \lnot, ...) + * @return unicode character corresponding to the command if it exists, or the + * unchanged command if not *) +val unicode_of_tex: string -> string + + (** ... the other way round *) +val tex_of_unicode: string -> string + diff --git a/components/syntax_extensions/utf8MacroTable.ml b/components/syntax_extensions/utf8MacroTable.ml new file mode 100644 index 000000000..eefdcea0f --- /dev/null +++ b/components/syntax_extensions/utf8MacroTable.ml @@ -0,0 +1,2140 @@ +(* GENERATED by make_table: DO NOT EDIT! *) +let macro2utf8 = Hashtbl.create 2000 +let utf82macro = Hashtbl.create 2000 +let data = [ + "nscr", "\240\157\147\131"; + "LJcy", "\208\137"; + "dd", "\226\133\134"; + "Omacr", "\197\140"; + "npreceq", "\226\170\175\204\184"; + "Gcirc", "\196\156"; + "utilde", "\197\169"; + "rdca", "\226\164\183"; + "racute", "\197\149"; + "mstpos", "\226\136\190"; + "supnE", "\226\138\139"; + "NotLessLess", "\226\137\170\204\184\239\184\128"; + "iiint", "\226\136\173"; + "uscr", "\240\157\147\138"; + "Sfr", "\240\157\148\150"; + "nsupseteqq", "\226\138\137"; + "nwarrow", "\226\134\150"; + "twoheadrightarrow", "\226\134\160"; + "sccue", "\226\137\189"; + "NotSquareSuperset", "\226\138\144\204\184"; + "ee", "\226\133\135"; + "boxbox", "\226\167\137"; + "andand", "\226\169\149"; + "LeftVectorBar", "\226\165\146"; + "eg", "\226\170\154"; + "csc", "csc"; + "NotRightTriangleEqual", "\226\139\173"; + "filig", "\239\172\129"; + "atilde", "\195\163"; + "ring", "\203\154"; + "congdot", "\226\169\173"; + "gE", "\226\137\167"; + "rcedil", "\197\151"; + "el", "\226\170\153"; + "HorizontalLine", "\226\148\128"; + "incare", "\226\132\133"; + "hoarr", "\226\135\191"; + "SOFTcy", "\208\172"; + "conint", "\226\136\174"; + "OverParenthesis", "\239\184\181"; + "Uogon", "\197\178"; + "supne", "\226\138\139"; + "num", "#"; + "zcy", "\208\183"; + "Hfr", "\226\132\140"; + "dtri", "\226\150\191"; + "FilledSmallSquare", "\226\151\190"; + "SucceedsEqual", "\226\137\189"; + "leftthreetimes", "\226\139\139"; + "ycirc", "\197\183"; + "sqcup", "\226\138\148"; + "DoubleLeftArrow", "\226\135\144"; + "gtrless", "\226\137\183"; + "ge", "\226\137\165"; + "Product", "\226\136\143"; + "NotExists", "\226\136\132"; + "gg", "\226\137\171"; + "curlyvee", "\226\139\142"; + "ntrianglerighteq", "\226\139\173"; + "Colon", "\226\136\183"; + "rbrke", "\226\166\140"; + "LeftDownVector", "\226\135\131"; + "gl", "\226\137\183"; + "lrcorner", "\226\140\159"; + "mapstodown", "\226\134\167"; + "excl", "!"; + "cdots", "\226\139\175"; + "larr", "\226\134\144"; + "dtdot", "\226\139\177"; + "kgreen", "\196\184"; + "rtri", "\226\150\185"; + "rbarr", "\226\164\141"; + "ocy", "\208\190"; + "gt", ">"; + "DownLeftRightVector", "\226\165\144"; + "cup", "\226\136\170"; + "updownarrow", "\226\134\149"; + "Imacr", "\196\170"; + "cross", "\226\156\151"; + "Acirc", "\195\130"; + "lvertneqq", "\226\137\168\239\184\128"; + "ccaps", "\226\169\141"; + "NotLeftTriangleEqual", "\226\139\172"; + "IJlig", "\196\178"; + "boxplus", "\226\138\158"; + "epsilon", "\207\181"; + "zfr", "\240\157\148\183"; + "late", "\226\170\173"; + "ic", "\226\128\139"; + "lrhar", "\226\135\139"; + "gsim", "\226\137\179"; + "inf", "inf"; + "top", "\226\138\164"; + "odsold", "\226\166\188"; + "circlearrowright", "\226\134\187"; + "rtimes", "\226\139\138"; + "ii", "\226\133\136"; + "DoubleRightTee", "\226\138\168"; + "dcy", "\208\180"; + "boxdL", "\226\149\149"; + "duhar", "\226\165\175"; + "vert", "|"; + "sacute", "\197\155"; + "in", "\226\136\136"; + "Assign", "\226\137\148"; + "nsim", "\226\137\129"; + "boxdR", "\226\149\146"; + "o", "\206\191"; + "radic", "\226\136\154"; + "it", "\226\129\162"; + "int", "\226\136\171"; + "cwint", "\226\136\177"; + "ForAll", "\226\136\128"; + "simplus", "\226\168\164"; + "isindot", "\226\139\181"; + "rightthreetimes", "\226\139\140"; + "supseteqq", "\226\138\135"; + "bnot", "\226\140\144"; + "rppolint", "\226\168\146"; + "def", "\226\137\157"; + "TScy", "\208\166"; + "lE", "\226\137\166"; + "ffilig", "\239\172\131"; + "deg", "deg"; + "{", "{"; + "RightVector", "\226\135\128"; + "ofr", "\240\157\148\172"; + "|", "|"; + "liminf", "liminf"; + "}", "}"; + "LeftUpTeeVector", "\226\165\160"; + "scirc", "\197\157"; + "scedil", "\197\159"; + "ufisht", "\226\165\190"; + "LeftUpDownVector", "\226\165\145"; + "questeq", "\226\137\159"; + "leftarrow", "\226\134\144"; + "Ycy", "\208\171"; + "Coproduct", "\226\136\144"; + "det", "det"; + "boxdl", "\226\148\144"; + "Aopf", "\240\157\148\184"; + "srarr", "\226\134\146\239\184\128"; + "lbrke", "\226\166\139"; + "boxdr", "\226\148\140"; + "Ntilde", "\195\145"; + "gnap", "\226\170\138"; + "Cap", "\226\139\146"; + "swarhk", "\226\164\166"; + "ogt", "\226\167\129"; + "emptyset", "\226\136\133\239\184\128"; + "harrw", "\226\134\173"; + "lbarr", "\226\164\140"; + "Tilde", "\226\136\188"; + "delta", "\206\180"; + "Hopf", "\226\132\141"; + "dfr", "\240\157\148\161"; + "le", "\226\137\164"; + "lg", "lg"; + "ohm", "\226\132\166"; + "Jsercy", "\208\136"; + "quaternions", "\226\132\141"; + "DoubleLongLeftArrow", "\239\149\185"; + "Ncy", "\208\157"; + "nabla", "\226\136\135"; + "ltcir", "\226\169\185"; + "ll", "\226\137\170"; + "ln", "ln"; + "rmoust", "\226\142\177"; + "Oopf", "\240\157\149\134"; + "nbsp", "\194\160"; + "Kcedil", "\196\182"; + "vdots", "\226\139\174"; + "NotLessTilde", "\226\137\180"; + "lt", "<"; + "djcy", "\209\146"; + "DownRightTeeVector", "\226\165\159"; + "Ograve", "\195\146"; + "boxhD", "\226\149\165"; + "nsime", "\226\137\132"; + "egsdot", "\226\170\152"; + "mDDot", "\226\136\186"; + "bigodot", "\226\138\153"; + "Vopf", "\240\157\149\141"; + "looparrowright", "\226\134\172"; + "yucy", "\209\142"; + "trade", "\226\132\162"; + "Yfr", "\240\157\148\156"; + "kjcy", "\209\156"; + "mp", "\226\136\147"; + "leftrightarrows", "\226\135\134"; + "uharl", "\226\134\191"; + "ncap", "\226\169\131"; + "Iogon", "\196\174"; + "NotSubset", "\226\138\132"; + "Bumpeq", "\226\137\142"; + "mu", "\206\188"; + "FilledVerySmallSquare", "\239\150\155"; + "breve", "\203\152"; + "boxhU", "\226\149\168"; + "Sigma", "\206\163"; + "uharr", "\226\134\190"; + "xrArr", "\239\149\186"; + "ne", "\226\137\160"; + "oS", "\226\147\136"; + "xodot", "\226\138\153"; + "ni", "\226\136\139"; + "mdash", "\226\128\148"; + "Verbar", "\226\128\150"; + "die", "\194\168"; + "veebar", "\226\138\187"; + "UpArrowBar", "\226\164\146"; + "Ncaron", "\197\135"; + "RightArrowBar", "\226\135\165"; + "LongLeftArrow", "\239\149\182"; + "rceil", "\226\140\137"; + "LeftDownVectorBar", "\226\165\153"; + "umacr", "\197\171"; + "Hacek", "\203\135"; + "odblac", "\197\145"; + "lmidot", "\197\128"; + "dopf", "\240\157\149\149"; + "boxhd", "\226\148\172"; + "dim", "dim"; + "vnsub", "\226\138\132"; + "Bscr", "\226\132\172"; + "plussim", "\226\168\166"; + "doublebarwedge", "\226\140\134"; + "nu", "\206\189"; + "eqcolon", "\226\137\149"; + "luruhar", "\226\165\166"; + "Nfr", "\240\157\148\145"; + "preceq", "\226\170\175"; + "LeftTee", "\226\138\163"; + "div", "\195\183"; + "nVDash", "\226\138\175"; + "kopf", "\240\157\149\156"; + "Iscr", "\226\132\144"; + "vnsup", "\226\138\133"; + "gneq", "\226\137\169"; + "backepsilon", "\207\182"; + "boxhu", "\226\148\180"; + "ominus", "\226\138\150"; + "or", "\226\136\168"; + "lesdot", "\226\169\191"; + "RightVectorBar", "\226\165\147"; + "tcedil", "\197\163"; + "hstrok", "\196\167"; + "nrarrc", "\226\164\179\204\184"; + "ropf", "\240\157\149\163"; + "diamond", "\226\139\132"; + "smid", "\226\136\163\239\184\128"; + "nltri", "\226\139\170"; + "Pscr", "\240\157\146\171"; + "vartheta", "\207\145"; + "therefore", "\226\136\180"; + "pi", "\207\128"; + "ntrianglelefteq", "\226\139\172"; + "nearrow", "\226\134\151"; + "pm", "\194\177"; + "natural", "\226\153\174"; + "ucy", "\209\131"; + "olt", "\226\167\128"; + "Cfr", "\226\132\173"; + "yopf", "\240\157\149\170"; + "Otilde", "\195\149"; + "ntriangleleft", "\226\139\170"; + "pr", "\226\137\186"; + "Wscr", "\240\157\146\178"; + "midcir", "\226\171\176"; + "Lacute", "\196\185"; + "DoubleDot", "\194\168"; + "Tstrok", "\197\166"; + "nrarrw", "\226\134\157\204\184"; + "uArr", "\226\135\145"; + "nLtv", "\226\137\170\204\184\239\184\128"; + "rangle", "\226\140\170"; + "olcir", "\226\166\190"; + "Auml", "\195\132"; + "Succeeds", "\226\137\187"; + "DoubleLongLeftRightArrow", "\239\149\187"; + "TSHcy", "\208\139"; + "gammad", "\207\156"; + "epsiv", "\201\155"; + "notinva", "\226\136\137\204\184"; + "notinvb", "\226\139\183"; + "eqvparsl", "\226\167\165"; + "notinvc", "\226\139\182"; + "nsubE", "\226\138\136"; + "supplus", "\226\171\128"; + "RightUpDownVector", "\226\165\143"; + "Tab", "\t"; + "Lcedil", "\196\187"; + "backslash", "\\"; + "pointint", "\226\168\149"; + "jcy", "\208\185"; + "iocy", "\209\145"; + "escr", "\226\132\175"; + "submult", "\226\171\129"; + "iiota", "\226\132\169"; + "lceil", "\226\140\136"; + "omacr", "\197\141"; + "gneqq", "\226\137\169"; + "gcirc", "\196\157"; + "dotsquare", "\226\138\161"; + "ccaron", "\196\141"; + "Square", "\226\150\161"; + "RightDownTeeVector", "\226\165\157"; + "Ouml", "\195\150"; + "lurdshar", "\226\165\138"; + "SuchThat", "\226\136\139"; + "setminus", "\226\136\150"; + "lscr", "\226\132\147"; + "LessLess", "\226\170\161"; + "Sub", "\226\139\144"; + "sc", "\226\137\187"; + "rx", "\226\132\158"; + "RightFloor", "\226\140\139"; + "blacksquare", "\226\150\170"; + "ufr", "\240\157\148\178"; + "block", "\226\150\136"; + "dots", "\226\128\166"; + "nvsim", "\226\137\129\204\184"; + "caret", "\226\129\129"; + "demptyv", "\226\166\177"; + "Sum", "\226\136\145"; + "sscr", "\240\157\147\136"; + "nsube", "\226\138\136"; + "Sup", "\226\139\145"; + "ccupssm", "\226\169\144"; + "Because", "\226\136\181"; + "harrcir", "\226\165\136"; + "capbrcup", "\226\169\137"; + "RightUpVectorBar", "\226\165\148"; + "caps", "\226\136\169\239\184\128"; + "ohbar", "\226\166\181"; + "laemptyv", "\226\166\180"; + "uacute", "\195\186"; + "straightphi", "\207\134"; + "RightDoubleBracket", "\227\128\155"; + "zscr", "\240\157\147\143"; + "uogon", "\197\179"; + "Uarr", "\226\134\159"; + "nsucc", "\226\138\129"; + "RBarr", "\226\164\144"; + "NotRightTriangleBar", "\226\167\144\204\184"; + "to", "\226\134\146"; + "rpar", ")"; + "rdsh", "\226\134\179"; + "jfr", "\240\157\148\167"; + "ldquor", "\226\128\158"; + "bsime", "\226\139\141"; + "lAtail", "\226\164\155"; + "Hcirc", "\196\164"; + "aacute", "\195\161"; + "dot", "\203\153"; + "Tcy", "\208\162"; + "nsub", "\226\138\132"; + "kappa", "\206\186"; + "ovbar", "\226\140\189"; + "shcy", "\209\136"; + "kappav", "\207\176"; + "ropar", "\227\128\153"; + "gtcc", "\226\170\167"; + "ecolon", "\226\137\149"; + "circledast", "\226\138\155"; + "colon", ":"; + "timesbar", "\226\168\177"; + "precnsim", "\226\139\168"; + "ord", "\226\169\157"; + "real", "\226\132\156"; + "nexists", "\226\136\132"; + "nsup", "\226\138\133"; + "zhcy", "\208\182"; + "imacr", "\196\171"; + "egrave", "\195\168"; + "acirc", "\195\162"; + "grave", "`"; + "biguplus", "\226\138\142"; + "HumpEqual", "\226\137\143"; + "GreaterSlantEqual", "\226\169\190"; + "capand", "\226\169\132"; + "yuml", "\195\191"; + "orv", "\226\169\155"; + "Icy", "\208\152"; + "rightharpoondown", "\226\135\129"; + "upsilon", "\207\133"; + "preccurlyeq", "\226\137\188"; + "ShortUpArrow", "\226\140\131\239\184\128"; + "searhk", "\226\164\165"; + "commat", "@"; + "Sqrt", "\226\136\154"; + "wp", "\226\132\152"; + "succnapprox", "\226\139\169"; + "wr", "\226\137\128"; + "NotTildeTilde", "\226\137\137"; + "dcaron", "\196\143"; + "Tfr", "\240\157\148\151"; + "bigwedge", "\226\139\128"; + "DScy", "\208\133"; + "nrtrie", "\226\139\173"; + "esim", "\226\137\130"; + "Not", "\226\171\172"; + "xmap", "\239\149\189"; + "rect", "\226\150\173"; + "Fouriertrf", "\226\132\177"; + "xi", "\206\190"; + "NotTilde", "\226\137\129"; + "gbreve", "\196\159"; + "par", "\226\136\165"; + "ddots", "\226\139\177"; + "nhArr", "\226\135\142"; + "lsim", "\226\137\178"; + "RightCeiling", "\226\140\137"; + "nedot", "\226\137\160\239\184\128"; + "thksim", "\226\136\188\239\184\128"; + "lEg", "\226\139\154"; + "Ifr", "\226\132\145"; + "emsp", "\226\128\131"; + "lopar", "\227\128\152"; + "iiiint", "\226\168\140"; + "straightepsilon", "\206\181"; + "intlarhk", "\226\168\151"; + "image", "\226\132\145"; + "sqsubseteq", "\226\138\145"; + "lnapprox", "\226\170\137"; + "Leftrightarrow", "\226\135\148"; + "cemptyv", "\226\166\178"; + "alpha", "\206\177"; + "uml", "\194\168"; + "barwedge", "\226\138\188"; + "KHcy", "\208\165"; + "tilde", "\203\156"; + "Superset", "\226\138\131"; + "gesles", "\226\170\148"; + "bigoplus", "\226\138\149"; + "boxuL", "\226\149\155"; + "rbbrk", "\227\128\149"; + "nrightarrow", "\226\134\155"; + "hkswarow", "\226\164\166"; + "DiacriticalDoubleAcute", "\203\157"; + "nbumpe", "\226\137\143\204\184"; + "uhblk", "\226\150\128"; + "NotSupersetEqual", "\226\138\137"; + "ntgl", "\226\137\185"; + "Fopf", "\240\157\148\189"; + "boxuR", "\226\149\152"; + "swarr", "\226\134\153"; + "nsqsube", "\226\139\162"; + "pluscir", "\226\168\162"; + "pcy", "\208\191"; + "leqslant", "\226\169\189"; + "lnap", "\226\170\137"; + "lthree", "\226\139\139"; + "smte", "\226\170\172"; + "olcross", "\226\166\187"; + "nvrArr", "\226\135\143"; + "andslope", "\226\169\152"; + "MediumSpace", "\226\129\159"; + "boxvH", "\226\149\170"; + "Nacute", "\197\131"; + "nGtv", "\226\137\171\204\184\239\184\128"; + "Mopf", "\240\157\149\132"; + "dfisht", "\226\165\191"; + "boxvL", "\226\149\161"; + "pertenk", "\226\128\177"; + "NotPrecedes", "\226\138\128"; + "profalar", "\226\140\174"; + "roplus", "\226\168\174"; + "boxvR", "\226\149\158"; + "utrif", "\226\150\180"; + "uHar", "\226\165\163"; + "nltrie", "\226\139\172"; + "NotNestedGreaterGreater", "\226\146\162\204\184"; + "smtes", "\226\170\172\239\184\128"; + "LeftAngleBracket", "\226\140\169"; + "iogon", "\196\175"; + "ExponentialE", "\226\133\135"; + "Topf", "\240\157\149\139"; + "GreaterEqual", "\226\137\165"; + "DownTee", "\226\138\164"; + "boxul", "\226\148\152"; + "wreath", "\226\137\128"; + "sigma", "\207\131"; + "ENG", "\197\138"; + "Ncedil", "\197\133"; + "ecy", "\209\141"; + "nsubset", "\226\138\132"; + "LessFullEqual", "\226\137\166"; + "bsolb", "\226\167\133"; + "boxur", "\226\148\148"; + "ThinSpace", "\226\128\137"; + "supdsub", "\226\171\152"; + "colone", "\226\137\148"; + "curren", "\194\164"; + "boxvh", "\226\148\188"; + "ecaron", "\196\155"; + "UnderBrace", "\239\184\184"; + "caron", "\203\135"; + "ultri", "\226\151\184"; + "boxvl", "\226\148\164"; + "scap", "\226\137\191"; + "boxvr", "\226\148\156"; + "bopf", "\240\157\149\147"; + "pfr", "\240\157\148\173"; + "nspar", "\226\136\166\239\184\128"; + "NegativeMediumSpace", "\226\129\159\239\184\128"; + "simgE", "\226\170\160"; + "nvDash", "\226\138\173"; + "NotGreaterFullEqual", "\226\137\176"; + "uparrow", "\226\134\145"; + "nsupset", "\226\138\133"; + "simeq", "\226\137\131"; + "Zcy", "\208\151"; + "RightTriangle", "\226\138\179"; + "Lang", "\227\128\138"; + "Ucirc", "\195\155"; + "iopf", "\240\157\149\154"; + "leftrightsquigarrow", "\226\134\173"; + "Gscr", "\240\157\146\162"; + "lfloor", "\226\140\138"; + "lbbrk", "\227\128\148"; + "bigvee", "\226\139\129"; + "ordf", "\194\170"; + "rsquo", "\226\128\153"; + "parallel", "\226\136\165"; + "half", "\194\189"; + "supseteq", "\226\138\135"; + "ngeqq", "\226\137\177"; + "popf", "\240\157\149\161"; + "NonBreakingSpace", "\194\160"; + "softcy", "\209\140"; + "ordm", "\194\186"; + "Nscr", "\240\157\146\169"; + "owns", "\226\136\139"; + "phi", "\207\149"; + "efr", "\240\157\148\162"; + "nesear", "\226\164\168"; + "marker", "\226\150\174"; + "lneq", "\226\137\168"; + "parallet", "????"; + "ndash", "\226\128\147"; + "DoubleLeftTee", "\226\171\164"; + "lArr", "\226\135\144"; + "becaus", "\226\136\181"; + "RightTee", "\226\138\162"; + "Ocy", "\208\158"; + "ntlg", "\226\137\184"; + "cacute", "\196\135"; + "wopf", "\240\157\149\168"; + "Cup", "\226\139\147"; + "Uscr", "\240\157\146\176"; + "NotHumpEqual", "\226\137\143\204\184"; + "rnmid", "\226\171\174"; + "nsupE", "\226\138\137"; + "bemptyv", "\226\166\176"; + "lsqb", "["; + "nrarr", "\226\134\155"; + "egs", "\226\139\157"; + "reals", "\226\132\157"; + "CupCap", "\226\137\141"; + "Oacute", "\195\147"; + "Zfr", "\226\132\168"; + "ReverseEquilibrium", "\226\135\139"; + "ccedil", "\195\167"; + "bigtriangleup", "\226\150\179"; + "piv", "\207\150"; + "cirscir", "\226\167\130"; + "exists", "\226\136\131"; + "Uarrocir", "\226\165\137"; + "Dcy", "\208\148"; + "cscr", "\240\157\146\184"; + "zcaron", "\197\190"; + "isinE", "\226\139\185"; + "gtcir", "\226\169\186"; + "hookrightarrow", "\226\134\170"; + "Int", "\226\136\172"; + "nsupe", "\226\138\137"; + "dotplus", "\226\136\148"; + "ncup", "\226\169\130"; + "jscr", "\240\157\146\191"; + "angmsdaa", "\226\166\168"; + "Iukcy", "\208\134"; + "flat", "\226\153\173"; + "bNot", "\226\171\173"; + "angmsdab", "\226\166\169"; + "angmsdac", "\226\166\170"; + "xdtri", "\226\150\189"; + "iota", "\206\185"; + "angmsdad", "\226\166\171"; + "angmsdae", "\226\166\172"; + "rightarrowtail", "\226\134\163"; + "angmsdaf", "\226\166\173"; + "Ocirc", "\195\148"; + "angmsdag", "\226\166\174"; + "Ofr", "\240\157\148\146"; + "maltese", "\226\156\160"; + "angmsdah", "\226\166\175"; + "Del", "\226\136\135"; + "Barwed", "\226\140\134"; + "drbkarow", "\226\164\144"; + "qscr", "\240\157\147\134"; + "ETH", "\195\144"; + "operp", "\226\166\185"; + "daleth", "\226\132\184"; + "bull", "\226\128\162"; + "simlE", "\226\170\159"; + "lsquo", "\226\128\152"; + "Larr", "\226\134\158"; + "curarr", "\226\134\183"; + "blacktriangleleft", "\226\151\130"; + "hellip", "\226\128\166"; + "DoubleVerticalBar", "\226\136\165"; + "rBarr", "\226\164\143"; + "chcy", "\209\135"; + "varpi", "\207\150"; + "Cconint", "\226\136\176"; + "xlarr", "\239\149\182"; + "xscr", "\240\157\147\141"; + "DoubleLongRightArrow", "\239\149\186"; + "CounterClockwiseContourIntegral", "\226\136\179"; + "urcrop", "\226\140\142"; + "RightAngleBracket", "\226\140\170"; + "Rcaron", "\197\152"; + "latail", "\226\164\153"; + "pitchfork", "\226\139\148"; + "nvinfin", "\226\167\158"; + "hcirc", "\196\165"; + "nexist", "\226\136\132"; + "checkmark", "\226\156\147"; + "tridot", "\226\151\172"; + "vcy", "\208\178"; + "isins", "\226\139\180"; + "fllig", "\239\172\130"; + "Dfr", "\240\157\148\135"; + "hercon", "\226\138\185"; + "gEl", "\226\139\155"; + "bump", "\226\137\142"; + "aleph", "\226\132\181"; + "Ubreve", "\197\172"; + "isinv", "\226\136\136"; + "smile", "\226\140\163"; + "llcorner", "\226\140\158"; + "boxH", "\226\149\144"; + "ecir", "\226\137\150"; + "varnothing", "\226\136\133"; + "iuml", "\195\175"; + "mlcp", "\226\171\155"; + "leftrightharpoons", "\226\135\139"; + "ncong", "\226\137\135"; + "Vert", "\226\128\150"; + "vee", "\226\136\168"; + "star", "\226\139\134"; + "boxV", "\226\149\145"; + "LeftRightArrow", "\226\134\148"; + "leftrightarrow", "\226\134\148"; + "lstrok", "\197\130"; + "ell", "\226\132\147"; + "VerticalSeparator", "\226\157\152"; + "Ubrcy", "\208\142"; + "NotGreater", "\226\137\175"; + "Abreve", "\196\130"; + "TildeTilde", "\226\137\136"; + "CircleTimes", "\226\138\151"; + "subsetneq", "\226\138\138"; + "ltcc", "\226\170\166"; + "els", "\226\139\156"; + "succneqq", "\226\170\182"; + "kcy", "\208\186"; + "nshortmid", "\226\136\164\239\184\128"; + "mldr", "\226\128\166"; + "harr", "\226\134\148"; + "gimel", "\226\132\183"; + "Otimes", "\226\168\183"; + "vsubnE", "\226\138\138\239\184\128"; + "ltdot", "\226\139\150"; + "boxh", "\226\148\128"; + "notin", "\226\136\137"; + "RuleDelayed", "\226\167\180"; + "sqsube", "\226\138\145"; + "macr", "\194\175"; + "Icirc", "\195\142"; + "comma", ","; + "Cayleys", "\226\132\173"; + "rightleftharpoons", "\226\135\140"; + "Rarrtl", "\226\164\150"; + "SquareSubsetEqual", "\226\138\145"; + "NotGreaterEqual", "\226\137\177\226\131\165"; + "vfr", "\240\157\148\179"; + "utri", "\226\150\181"; + "simne", "\226\137\134"; + "LeftUpVectorBar", "\226\165\152"; + "hksearow", "\226\164\165"; + "boxv", "\226\148\130"; + "curvearrowleft", "\226\134\182"; + "eng", "\197\139"; + "gtrarr", "\226\165\184"; + "iecy", "\208\181"; + "varr", "\226\134\149"; + "lBarr", "\226\164\142"; + "ker", "ker"; + "imath", "\196\177"; + "Dstrok", "\196\144"; + "rlarr", "\226\135\132"; + "leftleftarrows", "\226\135\135"; + "DifferentialD", "\226\133\134"; + "because", "\226\136\181"; + "ulcrop", "\226\140\143"; + "prE", "\226\170\175"; + "oast", "\226\138\155"; + "DotEqual", "\226\137\144"; + "vsubne", "\226\138\138\239\184\128"; + "hbar", "\226\132\143\239\184\128"; + "subset", "\226\138\130"; + "UpTeeArrow", "\226\134\165"; + "LeftFloor", "\226\140\138"; + "kfr", "\240\157\148\168"; + "nisd", "\226\139\186"; + "scnE", "\226\170\182"; + "Ucy", "\208\163"; + "nprec", "\226\138\128"; + "ltrPar", "\226\166\150"; + "Scaron", "\197\160"; + "InvisibleComma", "\226\128\139"; + "SquareUnion", "\226\138\148"; + "ffllig", "\239\172\132"; + "approxeq", "\226\137\138"; + "yacute", "\195\189"; + "pre", "\226\170\175"; + "nsqsupe", "\226\139\163"; + "supset", "\226\138\131"; + "bsolhsub", "\\\226\138\130"; + "nshortparallel", "\226\136\166\239\184\128"; + "lozenge", "\226\151\138"; + "lnot", "\194\172"; + "Dopf", "\240\157\148\187"; + "leftharpoonup", "\226\134\188"; + "Jcy", "\208\153"; + "rightarrow", "\226\134\146"; + "ntriangleright", "\226\139\171"; + "Ccirc", "\196\136"; + "eacute", "\195\169"; + "acute", "\194\180"; + "Precedes", "\226\137\186"; + "middot", "\194\183"; + "lHar", "\226\165\162"; + "eparsl", "\226\167\163"; + "psi", "\207\136"; + "parsl", "\226\136\165\239\184\128"; + "UpperLeftArrow", "\226\134\150"; + "oror", "\226\169\150"; + "Kopf", "\240\157\149\130"; + "apacir", "\226\169\175"; + "dharl", "\226\135\131"; + "nequiv", "\226\137\162"; + "rightleftarrows", "\226\135\132"; + "UnderParenthesis", "\239\184\182"; + "notni", "\226\136\140"; + "dagger", "\226\128\160"; + "dharr", "\226\135\130"; + "twoheadleftarrow", "\226\134\158"; + "frac12", "\194\189"; + "varsubsetneqq", "\226\138\138\239\184\128"; + "frac13", "\226\133\147"; + "Ufr", "\240\157\148\152"; + "NestedLessLess", "\226\137\170"; + "llarr", "\226\135\135"; + "frac14", "\194\188"; + "frac15", "\226\133\149"; + "Ropf", "\226\132\157"; + "frac16", "\226\133\153"; + "lrtri", "\226\138\191"; + "frac18", "\226\133\155"; + "cedil", "\194\184"; + "subsim", "\226\171\135"; + "PrecedesTilde", "\226\137\190"; + "igrave", "\195\172"; + "gjcy", "\209\147"; + "LeftVector", "\226\134\188"; + "notniva", "\226\136\140"; + "notnivb", "\226\139\190"; + "ogon", "\203\155"; + "notnivc", "\226\139\189"; + "Yopf", "\240\157\149\144"; + "there4", "\226\136\180"; + "udarr", "\226\135\133"; + "bkarow", "\226\164\141"; + "frac23", "\226\133\148"; + "frac25", "\226\133\150"; + "njcy", "\209\154"; + "Dashv", "\226\171\164"; + "eta", "\206\183"; + "bcong", "\226\137\140"; + "Ugrave", "\195\153"; + "csube", "\226\171\145"; + "clubs", "\226\153\163"; + "supmult", "\226\171\130"; + "MinusPlus", "\226\136\147"; + "Jfr", "\240\157\148\141"; + "ensp", "\226\128\130"; + "ucirc", "\195\187"; + "supsim", "\226\171\136"; + "eth", "\195\176"; + "OverBrace", "\239\184\183"; + "Dot", "\194\168"; + "xcap", "\226\139\130"; + "vangrt", "\226\138\190"; + "NotSubsetEqual", "\226\138\136"; + "frac34", "\194\190"; + "frac35", "\226\133\151"; + "planck", "\226\132\143\239\184\128"; + "lnsim", "\226\139\166"; + "gopf", "\240\157\149\152"; + "frac38", "\226\133\156"; + "DotDot", "\226\131\156"; + "mapstoup", "\226\134\165"; + "Escr", "\226\132\176"; + "Integral", "\226\136\171"; + "Agrave", "\195\128"; + "longleftarrow", "????;"; + "Tcaron", "\197\164"; + "nopf", "\240\157\149\159"; + "LongLeftRightArrow", "\239\149\184"; + "Emacr", "\196\146"; + "omid", "\226\166\182"; + "spades", "\226\153\160"; + "naturals", "\226\132\149"; + "Lscr", "\226\132\146"; + "udblac", "\197\177"; + "SucceedsTilde", "\226\137\191"; + "frac45", "\226\133\152"; + "clubsuit", "\226\153\163"; + "mumap", "\226\138\184"; + "vltri", "\226\138\178"; + "LeftArrowBar", "\226\135\164"; + "zacute", "\197\186"; + "szlig", "\195\159"; + "suplarr", "\226\165\187"; + "RightDownVector", "\226\135\130"; + "male", "\226\153\130"; + "RightDownVectorBar", "\226\165\149"; + "gdot", "\196\161"; + "nleqq", "\226\137\176"; + "uopf", "\240\157\149\166"; + "YIcy", "\208\135"; + "Sscr", "\240\157\146\174"; + "empty", "\226\136\133\239\184\128"; + "Vdash", "\226\138\169"; + "sqsubset", "\226\138\143"; + "efDot", "\226\137\146"; + "times", "\195\151"; + "Oslash", "\195\152"; + "itilde", "\196\169"; + "frac56", "\226\133\154"; + "numero", "\226\132\150"; + "malt", "\226\156\160"; + "npart", "\226\136\130\204\184"; + "frac58", "\226\133\157"; + "Zscr", "\240\157\146\181"; + "integers", "\226\132\164"; + "CloseCurlyQuote", "\226\128\153"; + "NewLine", "\n"; + "fcy", "\209\132"; + "nwarr", "\226\134\150"; + "thicksim", "\226\136\188\239\184\128"; + "nprcue", "\226\139\160"; + "lcub", "{"; + "forall", "\226\136\128"; + "plusacir", "\226\168\163"; + "ascr", "\240\157\146\182"; + "plustwo", "\226\168\167"; + "Utilde", "\197\168"; + "lambda", "\206\187"; + "odash", "\226\138\157"; + "iukcy", "\209\150"; + "sqsupset", "\226\138\144"; + "Racute", "\197\148"; + "Longleftarrow", "????"; + "capcap", "\226\169\139"; + "ocirc", "\195\180"; + "nless", "\226\137\174"; + "Wedge", "\226\139\128"; + "qfr", "\240\157\148\174"; + "natur", "\226\153\174"; + "hscr", "\240\157\146\189"; + "ldca", "\226\164\182"; + "ClockwiseContourIntegral", "\226\136\178"; + "exp", "exp"; + "RightTeeArrow", "\226\134\166"; + "orarr", "\226\134\187"; + "tanh", "tanh"; + "frac78", "\226\133\158"; + "Atilde", "\195\131"; + "arcsin", "arcsin"; + "Rcedil", "\197\150"; + "oscr", "\226\132\180"; + "InvisibleTimes", "\226\129\162"; + "sime", "\226\137\131"; + "simg", "\226\170\158"; + "Conint", "\226\136\175"; + "Yuml", "\197\184"; + "rlhar", "\226\135\140"; + "rarrbfs", "\226\164\160"; + "siml", "\226\170\157"; + "DownRightVectorBar", "\226\165\151"; + "vscr", "\240\157\147\139"; + "divide", "\195\183"; + "PlusMinus", "\194\177"; + "ffr", "\240\157\148\163"; + "DownLeftTeeVector", "\226\165\158"; + "EmptySmallSquare", "\226\151\189"; + "SHCHcy", "\208\169"; + "cirmid", "\226\171\175"; + "sigmav", "\207\130"; + "csub", "\226\171\143"; + "npar", "\226\136\166"; + "bsemi", "\226\129\143"; + "swArr", "\226\135\153"; + "Pcy", "\208\159"; + "sinh", "sinh"; + "lharul", "\226\165\170"; + "Jukcy", "\208\132"; + "permil", "\226\128\176"; + "ndivides", "\226\136\164"; + "Aring", "\195\133"; + "longmapsto", "????"; + "Esim", "\226\169\179"; + "csup", "\226\171\144"; + "trie", "\226\137\156"; + "ubrcy", "\209\158"; + "NotEqualTilde", "\226\137\130\204\184"; + "dotminus", "\226\136\184"; + "diamondsuit", "\226\153\162"; + "xnis", "\226\139\187"; + "Eogon", "\196\152"; + "cuvee", "\226\139\142"; + "DZcy", "\208\143"; + "nRightarrow", "\226\135\143"; + "sqsupe", "\226\138\146"; + "nsccue", "\226\139\161"; + "drcrop", "\226\140\140"; + "DownBreve", "\204\145"; + "Ecy", "\208\173"; + "rdquor", "\226\128\157"; + "rAtail", "\226\164\156"; + "icirc", "\195\174"; + "gacute", "\199\181"; + "hyphen", "\226\128\144"; + "uuml", "\195\188"; + "thorn", "\195\190"; + "ltri", "\226\151\131"; + "eqslantgtr", "\226\139\157"; + "DoubleContourIntegral", "\226\136\175"; + "lescc", "\226\170\168"; + "DiacriticalGrave", "`"; + "NotPrecedesEqual", "\226\170\175\204\184"; + "RightArrow", "\226\134\146"; + "race", "\226\167\154"; + "topbot", "\226\140\182"; + "Pfr", "\240\157\148\147"; + "napprox", "\226\137\137"; + "Sacute", "\197\154"; + "cupor", "\226\169\133"; + "OverBar", "\194\175"; + "bepsi", "\207\182"; + "plankv", "\226\132\143"; + "lap", "\226\137\178"; + "orslope", "\226\169\151"; + "beta", "\206\178"; + "ShortDownArrow", "\226\140\132\239\184\128"; + "perp", "\226\138\165"; + "lat", "\226\170\171"; + "CenterDot", "\194\183"; + "urcorner", "\226\140\157"; + "models", "\226\138\167"; + "beth", "\226\132\182"; + "subE", "\226\138\134"; + "subnE", "\226\138\138"; + "ldots", "\226\128\166"; + "yacy", "\209\143"; + "udhar", "\226\165\174"; + "Scedil", "\197\158"; + "subsub", "\226\171\149"; + "nvrtrie", "\226\139\173\204\184"; + "Phi", "\206\166"; + "Efr", "\240\157\148\136"; + "larrfs", "\226\164\157"; + "angle", "\226\136\160"; + "TildeFullEqual", "\226\137\133"; + "Jcirc", "\196\180"; + "THORN", "\195\158"; + "acE", "\226\167\155"; + "Longleftrightarrow", "????"; + "xuplus", "\226\138\142"; + "searr", "\226\134\152"; + "gvertneqq", "\226\137\169\239\184\128"; + "subsup", "\226\171\147"; + "NotSucceedsEqual", "\226\170\176\204\184"; + "gtrsim", "\226\137\179"; + "nrArr", "\226\135\143"; + "NotSquareSupersetEqual", "\226\139\163"; + "notindot", "\226\139\182\239\184\128"; + "HARDcy", "\208\170"; + "jmath", "j\239\184\128"; + "aelig", "\195\166"; + "slarr", "\226\134\144\239\184\128"; + "dlcrop", "\226\140\141"; + "sube", "\226\138\134"; + "cuepr", "\226\139\158"; + "supsub", "\226\171\148"; + "trianglelefteq", "\226\138\180"; + "subne", "\226\138\138"; + "between", "\226\137\172"; + "measuredangle", "\226\136\161"; + "swnwar", "\226\164\170"; + "lcy", "\208\187"; + "ccirc", "\196\137"; + "larrhk", "\226\134\169"; + "DiacriticalTilde", "\203\156"; + "brvbar", "\194\166"; + "triangledown", "\226\150\191"; + "dtrif", "\226\150\190"; + "Bopf", "\240\157\148\185"; + "xwedge", "\226\139\128"; + "rightsquigarrow", "\226\134\157"; + "acd", "\226\136\191"; + "supsup", "\226\171\150"; + "UpEquilibrium", "\226\165\174"; + "succ", "\226\137\187"; + "eqslantless", "\226\139\156"; + "coprod", "\226\136\144"; + "OpenCurlyDoubleQuote", "\226\128\156"; + "NotGreaterSlantEqual", "\226\137\177"; + "solb", "\226\167\132"; + "HumpDownHump", "\226\137\142"; + "gtrapprox", "\226\137\179"; + "Iopf", "\240\157\149\128"; + "leg", "\226\139\154"; + "wfr", "\240\157\148\180"; + "mapstoleft", "\226\134\164"; + "gnapprox", "\226\170\138"; + "lgE", "\226\170\145"; + "CloseCurlyDoubleQuote", "\226\128\157"; + "NotNestedLessLess", "\226\146\161\204\184"; + "acy", "\208\176"; + "leq", "\226\137\164"; + "Popf", "\226\132\153"; + "les", "\226\169\189"; + "succcurlyeq", "\226\137\189"; + "heartsuit", "\226\153\161"; + "angmsd", "\226\136\161"; + "cuesc", "\226\139\159"; + "lesseqgtr", "\226\139\154"; + "vartriangleright", "\226\138\179"; + "csupe", "\226\171\146"; + "rthree", "\226\139\140"; + "Idot", "\196\176"; + "gtdot", "\226\139\151"; + "dashv", "\226\138\163"; + "Odblac", "\197\144"; + "Lmidot", "\196\191"; + "andd", "\226\169\156"; + "Wopf", "\240\157\149\142"; + "nvltrie", "\226\139\172\204\184"; + "nhpar", "\226\171\178"; + "geqslant", "\226\169\190"; + "xlArr", "\239\149\185"; + "SquareSubset", "\226\138\143"; + "intcal", "\226\138\186"; + "ljcy", "\209\153"; + "lfr", "\240\157\148\169"; + "gtlPar", "\226\166\149"; + "zigrarr", "\226\135\157"; + "nvap", "\226\137\137\204\184"; + "boxtimes", "\226\138\160"; + "raquo", "\194\187"; + "CircleMinus", "\226\138\150"; + "centerdot", "\194\183"; + "xoplus", "\226\138\149"; + "simdot", "\226\169\170"; + "Vcy", "\208\146"; + "profline", "\226\140\146"; + "ltquest", "\226\169\187"; + "andv", "\226\169\154"; + "lessgtr", "\226\137\182"; + "lesdoto", "\226\170\129"; + "NotSquareSubset", "\226\138\143\204\184"; + "bullet", "\226\128\162"; + "rarrsim", "\226\165\180"; + "Tcedil", "\197\162"; + "Hstrok", "\196\166"; + "eopf", "\240\157\149\150"; + "Theta", "\206\152"; + "Cscr", "\240\157\146\158"; + "emacr", "\196\147"; + "UnionPlus", "\226\138\142"; + "Vee", "\226\139\129"; + "arctan", "arctan"; + "afr", "\240\157\148\158"; + "thinsp", "\226\128\137"; + "bottom", "\226\138\165"; + "lopf", "\240\157\149\157"; + "larrlp", "\226\134\171"; + "lbrace", "{"; + "Jscr", "\240\157\146\165"; + "Kcy", "\208\154"; + "shortparallel", "\226\136\165\239\184\128"; + "hairsp", "\226\128\138"; + "osol", "\226\138\152"; + "lbrack", "["; + "hArr", "\226\135\148"; + "vdash", "\226\138\162"; + "UpDownArrow", "\226\134\149"; + "edot", "\196\151"; + "vzigzag", "\226\166\154"; + "sopf", "\240\157\149\164"; + "NotLessGreater", "\226\137\184"; + "Qscr", "\240\157\146\172"; + "Gammad", "\207\156"; + "SubsetEqual", "\226\138\134"; + "uplus", "\226\138\142"; + "LeftTriangle", "\226\138\178"; + "ange", "\226\166\164"; + "lim", "lim"; + "triangleright", "\226\150\185"; + "angrt", "\226\136\159"; + "rfloor", "\226\140\139"; + "bigtriangledown", "\226\150\189"; + "ofcir", "\226\166\191"; + "Vfr", "\240\157\148\153"; + "zopf", "\240\157\149\171"; + "UpArrowDownArrow", "\226\135\133"; + "Xscr", "\240\157\146\179"; + "digamma", "\207\156"; + "SmallCircle", "\226\136\152"; + "vArr", "\226\135\149"; + "eqsim", "\226\137\130"; + "downharpoonright", "\226\135\130"; + "Ccaron", "\196\140"; + "sdot", "\226\139\133"; + "frown", "\226\140\162"; + "angst", "\226\132\171"; + "lesges", "\226\170\147"; + "iacute", "\195\173"; + "wedge", "\226\136\167"; + "ssetmn", "\226\136\150\239\184\128"; + "rotimes", "\226\168\181"; + "laquo", "\194\171"; + "bigstar", "\226\152\133"; + "Rrightarrow", "\226\135\155"; + "erDot", "\226\137\147"; + "subseteq", "\226\138\134"; + "leftharpoondown", "\226\134\189"; + "infin", "\226\136\158"; + "zdot", "\197\188"; + "solbar", "\226\140\191"; + "Iuml", "\195\143"; + "Kfr", "\240\157\148\142"; + "fscr", "\240\157\146\187"; + "DJcy", "\208\130"; + "veeeq", "\226\137\154"; + "Star", "\226\139\134"; + "lsquor", "\226\128\154"; + "Uacute", "\195\154"; + "weierp", "\226\132\152"; + "rang", "\226\140\170"; + "hamilt", "\226\132\139"; + "angsph", "\226\136\162"; + "YUcy", "\208\174"; + "Wcirc", "\197\180"; + "supsetneq", "\226\138\139"; + "gap", "\226\137\179"; + "mscr", "\240\157\147\130"; + "KJcy", "\208\140"; + "qprime", "\226\129\151"; + "EqualTilde", "\226\137\130"; + "vBar", "\226\171\168"; + "larrpl", "\226\164\185"; + "nvge", "\226\137\177"; + "approx", "\226\137\136"; + "lnE", "\226\137\168"; + "NotGreaterLess", "\226\137\185"; + "epar", "\226\139\149"; + "bigotimes", "\226\138\151"; + "xharr", "\239\149\184"; + "roang", "\239\149\153"; + "xcup", "\226\139\131"; + "tscr", "\240\157\147\137"; + "thkap", "\226\137\136\239\184\128"; + "Aacute", "\195\129"; + "rcy", "\209\128"; + "jukcy", "\209\148"; + "hookleftarrow", "\226\134\169"; + "napid", "\226\137\139\204\184"; + "tscy", "\209\134"; + "nvgt", "\226\137\175"; + "lpar", "("; + "ldsh", "\226\134\178"; + "aring", "\195\165"; + "nGg", "\226\139\153\204\184"; + "LessEqualGreater", "\226\139\154"; + "gcd", "gcd"; + "oplus", "\226\138\149"; + "lcaron", "\196\190"; + "DownArrow", "\226\134\147"; + "xutri", "\226\150\179"; + "Psi", "\206\168"; + "lesssim", "\226\137\178"; + "topcir", "\226\171\177"; + "puncsp", "\226\128\136"; + "origof", "\226\138\182"; + "gnsim", "\226\139\167"; + "eogon", "\196\153"; + "spar", "\226\136\165\239\184\128"; + "LowerRightArrow", "\226\134\152"; + "Lleftarrow", "\226\135\154"; + "nGt", "\226\137\171\204\184"; + "euml", "\195\171"; + "reg", "\194\174"; + "exponentiale", "\226\133\135"; + "qint", "\226\168\140"; + "sqcups", "\226\138\148\239\184\128"; + "lne", "\226\137\168"; + "LessSlantEqual", "\226\169\189"; + "Egrave", "\195\136"; + "orderof", "\226\132\180"; + "cirE", "\226\167\131"; + "nleqslant", "\226\137\176"; + "gcy", "\208\179"; + "curvearrowright", "\226\134\183"; + "ratail", "\226\134\163"; + "emsp13", "\226\128\132"; + "sdotb", "\226\138\161"; + "horbar", "\226\128\149"; + "emsp14", "\226\128\133"; + "npre", "\226\170\175\204\184"; + "rbrksld", "\226\166\142"; + "sdote", "\226\169\166"; + "varsupsetneqq", "\226\138\139\239\184\128"; + "VeryThinSpace", "\226\128\138"; + "DownArrowBar", "\226\164\147"; + "Rightarrow", "\226\135\146"; + "ocir", "\226\138\154"; + "NotHumpDownHump", "\226\137\142\204\184"; + "darr", "\226\134\147"; + "geqq", "\226\137\167"; + "sup1", "\194\185"; + "log", "log"; + "sup2", "\194\178"; + "micro", "\194\181"; + "amp", "&"; + "arccos", "arccos"; + "sup3", "\194\179"; + "GreaterTilde", "\226\137\179"; + "circeq", "\226\137\151"; + "rfr", "\240\157\148\175"; + "dash", "\226\128\144"; + "rbrkslu", "\226\166\144"; + "Dcaron", "\196\142"; + "and", "\226\136\167"; + "Vbar", "\226\171\171"; + "angzarr", "\226\141\188"; + "gel", "\226\139\155"; + "ang", "\226\136\160"; + "lor", "\226\136\168"; + "circ", "\226\136\152"; + "upharpoonright", "\226\134\190"; + "dblac", "\203\157"; + "subsetneqq", "\226\138\138"; + "rhard", "\226\135\129"; + "Intersection", "\226\139\130"; + "cire", "\226\137\151"; + "apE", "\226\137\138"; + "sung", "\226\153\170"; + "geq", "\226\137\165"; + "succsim", "\226\137\191"; + "ges", "\226\169\190"; + "Gbreve", "\196\158"; + "intercal", "\226\138\186"; + "supE", "\226\138\135"; + "NotCupCap", "\226\137\173"; + "loz", "\226\151\138"; + "capcup", "\226\169\135"; + "larrtl", "\226\134\162"; + "AElig", "\195\134"; + "rarr", "\226\134\146"; + "varkappa", "\207\176"; + "upsi", "\207\133"; + "loang", "\239\149\152"; + "looparrowleft", "\226\134\171"; + "IOcy", "\208\129"; + "backprime", "\226\128\181"; + "sstarf", "\226\139\134"; + "rharu", "\226\135\128"; + "gesl", "\226\139\155\239\184\128"; + "xotime", "\226\138\151"; + "minus", "\226\136\146"; + "gvnE", "\226\137\169\239\184\128"; + "gfr", "\240\157\148\164"; + "lfisht", "\226\165\188"; + "jcirc", "\196\181"; + "roarr", "\226\135\190"; + "rho", "\207\129"; + "nvle", "\226\137\176"; + "sect", "\194\167"; + "ggg", "\226\139\153"; + "plusb", "\226\138\158"; + "NotTildeFullEqual", "\226\137\135"; + "NegativeVeryThinSpace", "\226\128\138\239\184\128"; + "ape", "\226\137\138"; + "pluse", "\226\169\178"; + "dollar", "$"; + "divonx", "\226\139\135"; + "partial", "\226\136\130"; + "DoubleLeftRightArrow", "\226\135\148"; + "varepsilon", "\206\181"; + "supe", "\226\138\135"; + "nvlt", "\226\137\174"; + "angrtvb", "\226\166\157\239\184\128"; + "gets", "\226\134\144"; + "nparallel", "\226\136\166"; + "varphi", "\207\134"; + "nsupseteq", "\226\138\137"; + "circledR", "\194\174"; + "circledS", "\226\147\136"; + "primes", "\226\132\153"; + "cuwed", "\226\139\143"; + "cupcap", "\226\169\134"; + "nLl", "\226\139\152\204\184"; + "lozf", "\226\167\171"; + "ShortLeftArrow", "\226\134\144\239\184\128"; + "nLt", "\226\137\170\204\184"; + "lesdotor", "\226\170\131"; + "Fcy", "\208\164"; + "scnsim", "\226\139\169"; + "VerticalLine", "|"; + "nwArr", "\226\135\150"; + "LeftTeeArrow", "\226\134\164"; + "iprod", "\226\168\188"; + "lsh", "\226\134\176"; + "Congruent", "\226\137\161"; + "NotLeftTriangle", "\226\139\170"; + "rdldhar", "\226\165\169"; + "varpropto", "\226\136\157"; + "nvlArr", "\226\135\141"; + "arg", "arg"; + "lhard", "\226\134\189"; + "surd", "????"; + "napos", "\197\137"; + "lparlt", "\226\166\147"; + "hslash", "\226\132\143"; + "Gopf", "\240\157\148\190"; + "SHcy", "\208\168"; + "triangle", "\226\150\181"; + "Qfr", "\240\157\148\148"; + "DiacriticalAcute", "\194\180"; + "tbrk", "\226\142\180"; + "Implies", "\226\135\146"; + "comp", "\226\136\129"; + "ddarr", "\226\135\138"; + "Colone", "\226\169\180"; + "smashp", "\226\168\179"; + "ccups", "\226\169\140"; + "triangleq", "\226\137\156"; + "NotSquareSubsetEqual", "\226\139\162"; + "Nopf", "\226\132\149"; + "ZHcy", "\208\150"; + "map", "\226\134\166"; + "lharu", "\226\134\188"; + "glE", "\226\170\146"; + "cong", "\226\137\133"; + "Ecaron", "\196\154"; + "Uring", "\197\174"; + "blacktriangleright", "\226\150\184"; + "ntilde", "\195\177"; + "max", "max"; + "loarr", "\226\135\189"; + "LeftArrow", "\226\134\144"; + "Gdot", "\196\160"; + "Uopf", "\240\157\149\140"; + "bigsqcup", "\226\138\148"; + "wedgeq", "\226\137\153"; + "RoundImplies", "\226\165\176"; + "prap", "\226\137\190"; + "gescc", "\226\170\169"; + "realine", "\226\132\155"; + "ast", "*"; + "subedot", "\226\171\131"; + "LeftTeeVector", "\226\165\154"; + "female", "\226\153\128"; + "circlearrowleft", "\226\134\186"; + "Ffr", "\240\157\148\137"; + "VDash", "\226\138\171"; + "jsercy", "\209\152"; + "Proportional", "\226\136\157"; + "OverBracket", "\226\142\180"; + "gla", "\226\170\165"; + "NotElement", "\226\136\137"; + "theta", "\206\184"; + "kcedil", "\196\183"; + "smeparsl", "\226\167\164"; + "rarrb", "\226\135\165"; + "rarrc", "\226\164\179"; + "ograve", "\195\178"; + "glj", "\226\170\164"; + "infty", "\226\136\158"; + "gnE", "\226\137\169"; + "copf", "\240\157\149\148"; + "LeftArrowRightArrow", "\226\135\134"; + "cwconint", "\226\136\178"; + "Ascr", "\240\157\146\156"; + "NegativeThinSpace", "\226\128\137\239\184\128"; + "varsubsetneq", "\226\138\138\239\184\128"; + "trisb", "\226\167\141"; + "rightharpoonup", "\226\135\128"; + "imagline", "\226\132\144"; + "mcy", "\208\188"; + "Cacute", "\196\134"; + "bumpeq", "\226\137\143"; + "jopf", "\240\157\149\155"; + "shchcy", "\209\137"; + "rarrw", "\226\134\157"; + "uuarr", "\226\135\136"; + "doteq", "\226\137\144"; + "cudarrl", "\226\164\184"; + "varsigma", "\207\130"; + "Hscr", "\226\132\139"; + "DownArrowUpArrow", "\226\135\181"; + "Ecirc", "\195\138"; + "DD", "\226\133\133"; + "copy", "\194\169"; + "SquareIntersection", "\226\138\147"; + "RightUpVector", "\226\134\190"; + "NotSucceedsSlantEqual", "\226\139\161"; + "cudarrr", "\226\164\181"; + "verbar", "|"; + "ncaron", "\197\136"; + "prurel", "\226\138\176"; + "nearr", "\226\134\151"; + "cdot", "\196\139"; + "qopf", "\240\157\149\162"; + "SucceedsSlantEqual", "\226\137\189"; + "Oscr", "\240\157\146\170"; + "xfr", "\240\157\148\181"; + "gne", "\226\137\169"; + "Ccedil", "\195\135"; + "nlarr", "\226\134\154"; + "inodot", "\196\177"; + "prec", "\226\137\186"; + "percnt", "%"; + "Exists", "\226\136\131"; + "bcy", "\208\177"; + "xopf", "\240\157\149\169"; + "nsimeq", "\226\137\132"; + "nrtri", "\226\139\171"; + "barvee", "\226\138\189"; + "Vscr", "\240\157\146\177"; + "Zcaron", "\197\189"; + "ReverseElement", "\226\136\139"; + "npolint", "\226\168\148"; + "NotGreaterTilde", "\226\137\181"; + "lmoustache", "\226\142\176"; + "forkv", "\226\171\153"; + "rmoustache", "\226\142\177"; + "DownLeftVectorBar", "\226\165\150"; + "cosh", "cosh"; + "mfr", "\240\157\148\170"; + "LessGreater", "\226\137\182"; + "zeetrf", "\226\132\168"; + "DiacriticalDot", "\203\153"; + "Poincareplane", "\226\132\140"; + "curlyeqsucc", "\226\139\159"; + "Equal", "\226\169\181"; + "divides", "\226\136\163"; + "scpolint", "\226\168\147"; + "ngsim", "\226\137\181"; + "larrbfs", "\226\164\159"; + "HilbertSpace", "\226\132\139"; + "otilde", "\195\181"; + "larrb", "\226\135\164"; + "wcirc", "\197\181"; + "dscr", "\240\157\146\185"; + "phmmat", "\226\132\179"; + "lacute", "\196\186"; + "tstrok", "\197\167"; + "NotDoubleVerticalBar", "\226\136\166"; + "lagran", "\226\132\146"; + "NotRightTriangle", "\226\139\171"; + "dscy", "\209\149"; + "rightrightarrows", "\226\135\137"; + "seArr", "\226\135\152"; + "RightTriangleBar", "\226\167\144"; + "coth", "coth"; + "swarrow", "\226\134\153"; + "semi", ";"; + "kscr", "\240\157\147\128"; + "NotLessEqual", "\226\137\176\226\131\165"; + "cularr", "\226\134\182"; + "blacklozenge", "\226\167\171"; + "realpart", "\226\132\156"; + "LeftTriangleEqual", "\226\138\180"; + "bfr", "\240\157\148\159"; + "Uuml", "\195\156"; + "longleftrightarrow", "????"; + "lcedil", "\196\188"; + "complement", "\226\136\129"; + "rscr", "\240\157\147\135"; + "mho", "\226\132\167"; + "mcomma", "\226\168\169"; + "wedbar", "\226\169\159"; + "NotVerticalBar", "\226\136\164"; + "Lcy", "\208\155"; + "tprime", "\226\128\180"; + "precneqq", "\226\170\181"; + "Downarrow", "\226\135\147"; + "rsh", "\226\134\177"; + "mid", "\226\136\163"; + "blank", "\226\144\163"; + "square", "\226\150\161"; + "squarf", "\226\150\170"; + "fflig", "\239\172\128"; + "downdownarrows", "\226\135\138"; + "yscr", "\240\157\147\142"; + "subdot", "\226\170\189"; + "ShortRightArrow", "\226\134\146\239\184\128"; + "NotCongruent", "\226\137\162"; + "Gg", "\226\139\153"; + "Lstrok", "\197\129"; + "min", "max"; + "Laplacetrf", "\226\132\146"; + "rarrap", "\226\165\181"; + "NotLessSlantEqual", "\226\137\176"; + "DoubleRightArrow", "\226\135\146"; + "Wfr", "\240\157\148\154"; + "subrarr", "\226\165\185"; + "numsp", "\226\128\135"; + "khcy", "\209\133"; + "oint", "\226\136\174"; + "vprop", "\226\136\157"; + "hardcy", "\209\138"; + "boxminus", "\226\138\159"; + "GreaterLess", "\226\137\183"; + "thetav", "\207\145"; + "scE", "\226\137\190"; + "Gt", "\226\137\171"; + "Acy", "\208\144"; + "backcong", "\226\137\140"; + "gtquest", "\226\169\188"; + "awint", "\226\168\145"; + "profsurf", "\226\140\147"; + "capdot", "\226\169\128"; + "supdot", "\226\170\190"; + "oelig", "\197\147"; + "doteqdot", "\226\137\145"; + "rharul", "\226\165\172"; + "cylcty", "\226\140\173"; + "epsi", "\206\181"; + "eqcirc", "\226\137\150"; + "nLeftarrow", "\226\135\141"; + "rtrie", "\226\138\181"; + "para", "\194\182"; + "Lfr", "\240\157\148\143"; + "rtrif", "\226\150\184"; + "NotReverseElement", "\226\136\140"; + "emptyv", "\226\136\133"; + "nldr", "\226\128\165"; + "leqq", "\226\137\166"; + "CapitalDifferentialD", "\226\133\133"; + "supsetneqq", "\226\138\139"; + "boxDL", "\226\149\151"; + "Im", "\226\132\145"; + "sce", "\226\137\189"; + "prsim", "\226\137\190"; + "diams", "\226\153\166"; + "gtreqqless", "\226\139\155"; + "boxDR", "\226\149\148"; + "vartriangleleft", "\226\138\178"; + "SupersetEqual", "\226\138\135"; + "Omega", "\206\169"; + "nsubseteqq", "\226\138\136"; + "Subset", "\226\139\144"; + "ncongdot", "\226\169\173\204\184"; + "minusb", "\226\138\159"; + "ltimes", "\226\139\137"; + "seswar", "\226\164\169"; + "part", "\226\136\130"; + "bumpE", "\226\170\174"; + "minusd", "\226\136\184"; + "Amacr", "\196\128"; + "nleq", "\226\137\176"; + "nles", "\226\137\176"; + "NotLess", "\226\137\174"; + "scy", "\209\129"; + "iinfin", "\226\167\156"; + "Afr", "\240\157\148\132"; + "isinsv", "\226\139\179"; + "prnE", "\226\170\181"; + "lesg", "\226\139\154\239\184\128"; + "cups", "\226\136\170\239\184\128"; + "thickapprox", "\226\137\136\239\184\128"; + "RightTeeVector", "\226\165\155"; + "LowerLeftArrow", "\226\134\153"; + "utdot", "\226\139\176"; + "homtht", "\226\136\187"; + "ddotseq", "\226\169\183"; + "bowtie", "\226\139\136"; + "succnsim", "\226\139\169"; + "boxDl", "\226\149\150"; + "quot", "\""; + "lvnE", "\226\137\168\239\184\128"; + "CircleDot", "\226\138\153"; + "lsime", "\226\170\141"; + "Yacute", "\195\157"; + "esdot", "\226\137\144"; + "Supset", "\226\139\145"; + "lsimg", "\226\170\143"; + "eDot", "\226\137\145"; + "sec", "sec"; + "boxDr", "\226\149\147"; + "plus", "+"; + "ddagger", "\226\128\161"; + "Vdashl", "\226\171\166"; + "equest", "\226\137\159"; + "quest", "?"; + "divideontimes", "\226\139\135"; + "nsmid", "\226\136\164\239\184\128"; + "fnof", "\198\146"; + "bumpe", "\226\137\143"; + "lhblk", "\226\150\132"; + "prnap", "\226\139\168"; + "compfn", "\226\136\152"; + "nsucceq", "\226\170\176\204\184"; + "RightArrowLeftArrow", "\226\135\132"; + "sharp", "\226\153\175"; + "CHcy", "\208\167"; + "dwangle", "\226\166\166"; + "angrtvbd", "\226\166\157"; + "period", "."; + "phone", "\226\152\142"; + "Eacute", "\195\137"; + "dzigrarr", "\239\150\162"; + "Ll", "\226\139\152"; + "succapprox", "\226\137\191"; + "rarrfs", "\226\164\158"; + "dbkarow", "\226\164\143"; + "zeta", "\206\182"; + "Lt", "\226\137\170"; + "triminus", "\226\168\186"; + "odiv", "\226\168\184"; + "ltrie", "\226\138\180"; + "Dagger", "\226\128\161"; + "ltrif", "\226\151\130"; + "boxHD", "\226\149\166"; + "timesb", "\226\138\160"; + "check", "\226\156\147"; + "urcorn", "\226\140\157"; + "timesd", "\226\168\176"; + "tshcy", "\209\155"; + "sfr", "\240\157\148\176"; + "lmoust", "\226\142\176"; + "ruluhar", "\226\165\168"; + "bne", "=\226\131\165"; + "prod", "\226\136\143"; + "Eopf", "\240\157\148\188"; + "scsim", "\226\137\191"; + "GreaterEqualLess", "\226\139\155"; + "Igrave", "\195\140"; + "Longrightarrow", "\226\135\146"; + "bigcap", "\226\139\130"; + "boxHU", "\226\149\169"; + "uring", "\197\175"; + "equivDD", "\226\169\184"; + "prop", "\226\136\157"; + "Lopf", "\240\157\149\131"; + "ldrushar", "\226\165\139"; + "rarrhk", "\226\134\170"; + "Leftarrow", "\226\135\144"; + "lltri", "\226\151\186"; + "NestedGreaterGreater", "\226\137\171"; + "GreaterFullEqual", "\226\137\167"; + "robrk", "\227\128\155"; + "larrsim", "\226\165\179"; + "boxHd", "\226\149\164"; + "vDash", "\226\138\168"; + "hfr", "\240\157\148\165"; + "Edot", "\196\150"; + "Vvdash", "\226\138\170"; + "Sopf", "\240\157\149\138"; + "upuparrows", "\226\135\136"; + "RightUpTeeVector", "\226\165\156"; + "DownLeftVector", "\226\134\189"; + "xhArr", "\239\149\187"; + "triplus", "\226\168\185"; + "bot", "\226\138\165"; + "Rcy", "\208\160"; + "eDDot", "\226\169\183"; + "subseteqq", "\226\138\134"; + "cirfnint", "\226\168\144"; + "spadesuit", "\226\153\160"; + "nacute", "\197\132"; + "Zopf", "\226\132\164"; + "upharpoonleft", "\226\134\191"; + "shy", "\194\173"; + "nparsl", "\226\136\165\239\184\128\226\131\165"; + "boxHu", "\226\149\167"; + "ThickSpace", "\226\128\137\226\128\138\226\128\138"; + "Or", "\226\169\148"; + "raemptyv", "\226\166\179"; + "Aogon", "\196\132"; + "IEcy", "\208\149"; + "sim", "\226\136\188"; + "sin", "sin"; + "copysr", "\226\132\151"; + "scnap", "\226\139\169"; + "rdquo", "\226\128\157"; + "aopf", "\240\157\149\146"; + "Pi", "\206\160"; + "Udblac", "\197\176"; + "expectation", "\226\132\176"; + "Zacute", "\197\185"; + "urtri", "\226\151\185"; + "NotTildeEqual", "\226\137\132"; + "ncedil", "\197\134"; + "Gamma", "\206\147"; + "ecirc", "\195\170"; + "dsol", "\226\167\182"; + "Gcy", "\208\147"; + "Pr", "Pr"; + "Zdot", "\197\187"; + "mnplus", "\226\136\147"; + "hopf", "\240\157\149\153"; + "blacktriangledown", "\226\150\190"; + "LeftCeiling", "\226\140\136"; + "ulcorn", "\226\140\156"; + "searrow", "\226\134\152"; + "GreaterGreater", "\226\170\162"; + "Fscr", "\226\132\177"; + "cupcup", "\226\169\138"; + "NotEqual", "\226\137\160"; + "sext", "\226\156\182"; + "CirclePlus", "\226\138\149"; + "erarr", "\226\165\177"; + "dArr", "\226\135\147"; + "PrecedesSlantEqual", "\226\137\188"; + "Itilde", "\196\168"; + "gesdoto", "\226\170\130"; + "Rang", "\227\128\139"; + "nwarhk", "\226\164\163"; + "minusdu", "\226\168\170"; + "oopf", "\240\157\149\160"; + "Mscr", "\226\132\179"; + "Rfr", "\226\132\156"; + "langle", "\226\140\169"; + "And", "\226\169\147"; + "bprime", "\226\128\181"; + "nLeftrightarrow", "\226\135\142"; + "Re", "\226\132\156"; + "OpenCurlyQuote", "\226\128\152"; + "vopf", "\240\157\149\167"; + "ulcorner", "\226\140\156"; + "nap", "\226\137\137"; + "Tscr", "\240\157\146\175"; + "gtreqless", "\226\139\155"; + "rarrlp", "\226\134\172"; + "Lambda", "\206\155"; + "lobrk", "\227\128\154"; + "rbrace", "}"; + "rArr", "\226\135\146"; + "coloneq", "\226\137\148"; + "UpArrow", "\226\134\145"; + "odot", "\226\138\153"; + "LeftDownTeeVector", "\226\165\161"; + "complexes", "\226\132\130"; + "rbrack", "]"; + "DownTeeArrow", "\226\134\167"; + "sqcap", "\226\138\147"; + "Sc", "\226\170\188"; + "ycy", "\209\139"; + "Prime", "\226\128\179"; + "Gfr", "\240\157\148\138"; + "trianglerighteq", "\226\138\181"; + "rangd", "\226\166\146"; + "gtrdot", "\226\139\151"; + "range", "\226\166\165"; + "rsqb", "]"; + "Euml", "\195\139"; + "Therefore", "\226\136\180"; + "nesim", "\226\137\130\204\184"; + "order", "\226\132\180"; + "vsupnE", "\226\138\139\239\184\128"; + "awconint", "\226\136\179"; + "bscr", "\240\157\146\183"; + "lesseqqgtr", "\226\139\154"; + "cap", "\226\136\169"; + "ldquo", "\226\128\156"; + "nsubseteq", "\226\138\136"; + "rhov", "\207\177"; + "xvee", "\226\139\129"; + "olarr", "\226\134\186"; + "nang", "\226\136\160\204\184"; + "uwangle", "\226\166\167"; + "nlsim", "\226\137\180"; + "smt", "\226\170\170"; + "nVdash", "\226\138\174"; + "napE", "\226\169\176\204\184"; + "ngeq", "\226\137\177"; + "iscr", "\240\157\146\190"; + "GJcy", "\208\131"; + "nges", "\226\137\177"; + "exist", "\226\136\131"; + "cent", "\194\162"; + "oacute", "\195\179"; + "Darr", "\226\134\161"; + "yen", "\194\165"; + "bigcirc", "\226\151\175"; + "ncy", "\208\189"; + "midast", "*"; + "UpperRightArrow", "\226\134\151"; + "precnapprox", "\226\139\168"; + "OElig", "\197\146"; + "hybull", "\226\129\131"; + "cupbrcap", "\226\169\136"; + "rationals", "\226\132\154"; + "VerticalTilde", "\226\137\128"; + "pscr", "\240\157\147\133"; + "NJcy", "\208\138"; + "NotSucceedsTilde", "\226\137\191\204\184"; + "vsupne", "\226\138\139\239\184\128"; + "Updownarrow", "\226\135\149"; + "Lsh", "\226\134\176"; + "rAarr", "\226\135\155"; + "precapprox", "\226\137\190"; + "rsquor", "\226\128\153"; + "pound", "\194\163"; + "lbrksld", "\226\166\143"; + "gesdot", "\226\170\128"; + "Element", "\226\136\136"; + "xcirc", "\226\151\175"; + "wscr", "\240\157\147\140"; + "toea", "\226\164\168"; + "setmn", "\226\136\150"; + "neg", "\194\172"; + "sol", "/"; + "yfr", "\240\157\148\182"; + "DoubleDownArrow", "\226\135\147"; + "Rarr", "\226\134\160"; + "ngE", "\226\137\177"; + "Upsi", "\207\146"; + "opar", "\226\166\183"; + "rarrpl", "\226\165\133"; + "auml", "\195\164"; + "bmod", "mod"; + "SquareSuperset", "\226\138\144"; + "neq", "\226\137\160"; + "circleddash", "\226\138\157"; + "xrarr", "\239\149\183"; + "barwed", "\226\138\188"; + "lbrkslu", "\226\166\141"; + "planckh", "\226\132\142"; + "ldrdhar", "\226\165\167"; + "circledcirc", "\226\138\154"; + "ctdot", "\226\139\175"; + "fallingdotseq", "\226\137\146"; + "Map", "\226\164\133"; + "VerticalBar", "\226\136\163"; + "succeq", "\226\137\189"; + "tint", "\226\136\173"; + "imof", "\226\138\183"; + "diam", "\226\139\132"; + "twixt", "\226\137\172"; + "NoBreak", "\239\187\191"; + "langd", "\226\166\145"; + "Bernoullis", "\226\132\172"; + "rcaron", "\197\153"; + "hom", "hom"; + "nfr", "\240\157\148\171"; + "backsimeq", "\226\139\141"; + "target", "\226\140\150"; + "ouml", "\195\182"; + "nge", "\226\137\177\226\131\165"; + "LeftTriangleBar", "\226\167\143"; + "subplus", "\226\170\191"; + "parsim", "\226\171\179"; + "Gcedil", "\196\162"; + "bnequiv", "\226\137\161\226\131\165"; + "ubreve", "\197\173"; + "iexcl", "\194\161"; + "Xi", "\206\158"; + "omega", "\207\137"; + "elsdot", "\226\170\151"; + "propto", "\226\136\157"; + "squ", "\226\150\161"; + "Ycirc", "\197\182"; + "amacr", "\196\129"; + "curlyeqprec", "\226\139\158"; + "ngt", "\226\137\175"; + "plusdo", "\226\136\148"; + "ngeqslant", "\226\137\177"; + "LongRightArrow", "\239\149\183"; + "LeftUpVector", "\226\134\191"; + "asymp", "\226\137\141"; + "imped", "\240\157\149\131"; + "tritime", "\226\168\187"; + "rpargt", "\226\166\148"; + "DDotrahd", "\226\164\145"; + "prnsim", "\226\139\168"; + "plusdu", "\226\168\165"; + "cfr", "\240\157\148\160"; + "abreve", "\196\131"; + "suphsol", "\226\138\131/"; + "NegativeThickSpace", "\226\128\133\239\184\128"; + "Mcy", "\208\156"; + "uarr", "\226\134\145"; + "LeftRightVector", "\226\165\142"; + "lAarr", "\226\135\154"; + "bsim", "\226\136\189"; + "simrarr", "\226\165\178"; + "otimes", "\226\138\151"; + "NotSucceeds", "\226\138\129"; + "Cross", "\226\168\175"; + "downarrow", "\226\134\147"; + "blacktriangle", "\226\150\180"; + "TripleDot", "\226\131\155"; + "smallsetminus", "\226\136\150\239\184\128"; + "supedot", "\226\171\132"; + "NotPrecedesSlantEqual", "\226\139\160"; + "neArr", "\226\135\151"; + "rarrtl", "\226\134\163"; + "isin", "\226\136\136"; + "rrarr", "\226\135\137"; + "Upsilon", "\207\146"; + "sqsub", "\226\138\143"; + "boxUL", "\226\149\157"; + "LessTilde", "\226\137\178"; + "Xfr", "\240\157\148\155"; + "nis", "\226\139\188"; + "chi", "\207\135"; + "DownRightVector", "\226\135\129"; + "niv", "\226\136\139"; + "boxUR", "\226\149\154"; + "nlArr", "\226\135\141"; + "Bcy", "\208\145"; + "tan", "tan"; + "EmptyVerySmallSquare", "\239\150\156"; + "dstrok", "\196\145"; + "rfisht", "\226\165\189"; + "easter", "\226\137\155"; + "nlE", "\226\137\176"; + "Mellintrf", "\226\132\179"; + "lotimes", "\226\168\180"; + "sqsup", "\226\138\144"; + "boxVH", "\226\149\172"; + "bbrk", "\226\142\181"; + "tau", "\207\132"; + "UpTee", "\226\138\165"; + "NotLeftTriangleBar", "\226\167\143\204\184"; + "boxVL", "\226\149\163"; + "Proportion", "\226\136\183"; + "equiv", "\226\137\161"; + "blk12", "\226\150\146"; + "blk14", "\226\150\145"; + "fpartint", "\226\168\141"; + "boxVR", "\226\149\160"; + "starf", "\226\152\133"; + "risingdotseq", "\226\137\147"; + "Equilibrium", "\226\135\140"; + "ijlig", "\196\179"; + "yicy", "\209\151"; + "sum", "\226\136\145"; + "cir", "\226\151\139"; + "telrec", "\226\140\149"; + "Mfr", "\240\157\148\144"; + "dHar", "\226\165\165"; + "boxUl", "\226\149\156"; + "apid", "\226\137\139"; + "nleftarrow", "\226\134\154"; + "curarrm", "\226\164\188"; + "Scirc", "\197\156"; + "Copf", "\226\132\130"; + "RightTriangleEqual", "\226\138\181"; + "boxUr", "\226\149\153"; + "loplus", "\226\168\173"; + "varsupsetneq", "\226\138\139\239\184\128"; + "scaron", "\197\161"; + "Diamond", "\226\139\132"; + "lowast", "\226\136\151"; + "nle", "\226\137\176\226\131\165"; + "phiv", "\207\149"; + "gesdotol", "\226\170\132"; + "boxVh", "\226\149\171"; + "nleftrightarrow", "\226\134\174"; + "Jopf", "\240\157\149\129"; + "boxVl", "\226\149\162"; + "nearhk", "\226\164\164"; + "vBarv", "\226\171\169"; + "rHar", "\226\165\164"; + "boxVr", "\226\149\159"; + "lessdot", "\226\139\150"; + "LeftDoubleBracket", "\227\128\154"; + "Delta", "\206\148"; + "limsup", "limsup"; + "tcy", "\209\130"; + "nlt", "\226\137\174"; + "Cdot", "\196\138"; + "blk34", "\226\150\147"; + "Bfr", "\240\157\148\133"; + "lowbar", "_"; + "lneqq", "\226\137\168"; + "TildeEqual", "\226\137\131"; + "shortmid", "\226\136\163\239\184\128"; + "Qopf", "\226\132\154"; + "drcorn", "\226\140\159"; + "ZeroWidthSpace", "\226\128\139"; + "aogon", "\196\133"; + "Rsh", "\226\134\177"; + "lrarr", "\226\135\134"; + "cupdot", "\226\138\141"; + "Xopf", "\240\157\149\143"; + "Backslash", "\226\136\150"; + "Union", "\226\139\131"; + "ratio", "\226\136\182"; + "duarr", "\226\135\181"; + "lates", "\226\170\173\239\184\128"; + "suphsub", "\226\171\151"; + "squf", "\226\150\170"; + "gamma", "\206\179"; + "lrhard", "\226\165\173"; + "intprod", "\226\168\188"; + "ReverseUpEquilibrium", "\226\165\175"; + "icy", "\208\184"; + "quatint", "\226\168\150"; + "nbump", "\226\137\142\204\184"; + "downharpoonleft", "\226\135\131"; + "otimesas", "\226\168\182"; + "nvHarr", "\226\135\142"; + "ContourIntegral", "\226\136\174"; + "bsol", "\\"; + "DoubleUpDownArrow", "\226\135\149"; + "disin", "\226\139\178"; + "Breve", "\203\152"; + "YAcy", "\208\175"; + "precsim", "\226\137\190"; + "NotGreaterGreater", "\226\137\171\204\184\239\184\128"; + "fopf", "\240\157\149\151"; + "SquareSupersetEqual", "\226\138\146"; + "Dscr", "\240\157\146\159"; + "gsime", "\226\170\142"; + "PartialD", "\226\136\130"; + "Umacr", "\197\170"; + "tfr", "\240\157\148\177"; + "cularrp", "\226\164\189"; + "UnderBracket", "\226\142\181"; + "ugrave", "\195\185"; + "mopf", "\240\157\149\158"; + "gsiml", "\226\170\144"; + "iquest", "\194\191"; + "nmid", "\226\136\164"; + "leftarrowtail", "\226\134\162"; + "not", "\194\172"; + "Kscr", "\240\157\146\166"; + "xsqcup", "\226\138\148"; + "triangleleft", "\226\151\131"; + "amalg", "\226\168\191"; + "prcue", "\226\137\188"; + "ac", "\226\164\143"; + "nharr", "\226\134\174"; + "dzcy", "\209\159"; + "topf", "\240\157\149\165"; + "iff", "\226\135\148"; + "af", "\226\129\161"; + "Uparrow", "\226\135\145"; + "Iacute", "\195\141"; + "Rscr", "\226\132\155"; + "vrtri", "\226\138\179"; + "multimap", "\226\138\184"; + "Hat", "\204\130"; + "rtriltri", "\226\167\142"; + "npr", "\226\138\128"; + "agrave", "\195\160"; + "UnderBar", "\204\178"; + "prime", "\226\128\178"; + "plusmn", "\194\177"; + "eplus", "\226\169\177"; + "ap", "\226\137\136"; + "dlcorn", "\226\140\158"; + "backsim", "\226\136\189"; + "ifr", "\240\157\148\166"; + "bigcup", "\226\139\131"; + "tcaron", "\197\165"; + "sqcaps", "\226\138\147\239\184\128"; + "equals", "="; + "curlywedge", "\226\139\143"; + "Yscr", "\240\157\146\180"; + "longrightarrow", "????"; + "fork", "\226\139\148"; + "cos", "cos"; + "cot", "cot"; + "ImaginaryI", "\226\133\136"; + "Scy", "\208\161"; + "mapsto", "\226\134\166"; + "tdot", "\226\131\155"; + "vellip", "\226\139\174"; + "sqsupseteq", "\226\138\146"; + "nvdash", "\226\138\172"; + "NotSuperset", "\226\138\133"; + "DoubleUpArrow", "\226\135\145"; + "land", "\226\136\167"; + "topfork", "\226\171\154"; + "llhard", "\226\165\171"; + "apos", "'"; + "oslash", "\195\184"; + "lang", "\226\140\169"; + "bernou", "\226\132\172"; + "varrho", "\207\177"; + "rcub", "}"; + "Cedilla", "\194\184"; + "ApplyFunction", "\226\129\161"; + "nsce", "\226\170\176\204\184"; + "gscr", "\226\132\138"; + "imagpart", "\226\132\145"; + "ngtr", "\226\137\175"; + "nsc", "\226\138\129"; + "Barv", "\226\171\167"; + "tosa", "\226\164\169"; + "nwnear", "\226\164\167"; + "ltlarr", "\226\165\182"; + "PrecedesEqual", "\226\170\175"; + "lessapprox", "\226\137\178"; + "Lcaron", "\196\189"; + ];; +let _ = + List.iter + (fun (macro, utf8) -> + Hashtbl.replace macro2utf8 macro utf8; + Hashtbl.replace utf82macro utf8 macro) + data;; diff --git a/components/tactics/.depend b/components/tactics/.depend index 360128fce..e94cfa5ab 100644 --- a/components/tactics/.depend +++ b/components/tactics/.depend @@ -7,12 +7,13 @@ primitiveTactics.cmi: proofEngineTypes.cmi metadataQuery.cmi: proofEngineTypes.cmi paramodulation/equality.cmi: paramodulation/utils.cmi \ paramodulation/subst.cmi -paramodulation/inference.cmi: paramodulation/utils.cmi proofEngineTypes.cmi \ - paramodulation/equality.cmi +paramodulation/inference.cmi: paramodulation/utils.cmi \ + paramodulation/subst.cmi proofEngineTypes.cmi paramodulation/equality.cmi paramodulation/equality_indexing.cmi: paramodulation/utils.cmi \ paramodulation/equality.cmi paramodulation/indexing.cmi: paramodulation/utils.cmi \ - paramodulation/equality_indexing.cmi paramodulation/equality.cmi + paramodulation/subst.cmi paramodulation/equality_indexing.cmi \ + paramodulation/equality.cmi paramodulation/saturation.cmi: proofEngineTypes.cmi variousTactics.cmi: proofEngineTypes.cmi autoTactic.cmi: proofEngineTypes.cmi @@ -67,28 +68,32 @@ paramodulation/equality.cmo: paramodulation/utils.cmi \ paramodulation/equality.cmx: paramodulation/utils.cmx \ paramodulation/subst.cmx proofEngineReduction.cmx \ paramodulation/equality.cmi -paramodulation/inference.cmo: paramodulation/utils.cmi proofEngineHelpers.cmi \ - metadataQuery.cmi paramodulation/equality.cmi \ - paramodulation/inference.cmi -paramodulation/inference.cmx: paramodulation/utils.cmx proofEngineHelpers.cmx \ - metadataQuery.cmx paramodulation/equality.cmx \ - paramodulation/inference.cmi +paramodulation/inference.cmo: paramodulation/utils.cmi \ + paramodulation/subst.cmi proofEngineHelpers.cmi metadataQuery.cmi \ + paramodulation/equality.cmi paramodulation/inference.cmi +paramodulation/inference.cmx: paramodulation/utils.cmx \ + paramodulation/subst.cmx proofEngineHelpers.cmx metadataQuery.cmx \ + paramodulation/equality.cmx paramodulation/inference.cmi paramodulation/equality_indexing.cmo: paramodulation/utils.cmi \ paramodulation/equality.cmi paramodulation/equality_indexing.cmi paramodulation/equality_indexing.cmx: paramodulation/utils.cmx \ paramodulation/equality.cmx paramodulation/equality_indexing.cmi paramodulation/indexing.cmo: paramodulation/utils.cmi \ - paramodulation/inference.cmi paramodulation/equality_indexing.cmi \ - paramodulation/equality.cmi paramodulation/indexing.cmi + paramodulation/subst.cmi paramodulation/inference.cmi \ + paramodulation/equality_indexing.cmi paramodulation/equality.cmi \ + paramodulation/indexing.cmi paramodulation/indexing.cmx: paramodulation/utils.cmx \ - paramodulation/inference.cmx paramodulation/equality_indexing.cmx \ - paramodulation/equality.cmx paramodulation/indexing.cmi -paramodulation/saturation.cmo: paramodulation/utils.cmi reductionTactics.cmi \ - proofEngineTypes.cmi proofEngineReduction.cmi primitiveTactics.cmi \ + paramodulation/subst.cmx paramodulation/inference.cmx \ + paramodulation/equality_indexing.cmx paramodulation/equality.cmx \ + paramodulation/indexing.cmi +paramodulation/saturation.cmo: paramodulation/utils.cmi \ + paramodulation/subst.cmi reductionTactics.cmi proofEngineTypes.cmi \ + proofEngineReduction.cmi primitiveTactics.cmi \ paramodulation/inference.cmi paramodulation/indexing.cmi \ paramodulation/equality.cmi paramodulation/saturation.cmi -paramodulation/saturation.cmx: paramodulation/utils.cmx reductionTactics.cmx \ - proofEngineTypes.cmx proofEngineReduction.cmx primitiveTactics.cmx \ +paramodulation/saturation.cmx: paramodulation/utils.cmx \ + paramodulation/subst.cmx reductionTactics.cmx proofEngineTypes.cmx \ + proofEngineReduction.cmx primitiveTactics.cmx \ paramodulation/inference.cmx paramodulation/indexing.cmx \ paramodulation/equality.cmx paramodulation/saturation.cmi variousTactics.cmo: tacticals.cmi proofEngineTypes.cmi \ diff --git a/components/tactics/Makefile b/components/tactics/Makefile index 1fe925282..5538c15a0 100644 --- a/components/tactics/Makefile +++ b/components/tactics/Makefile @@ -32,6 +32,18 @@ tactics.mli: $(H)echo "(* GENERATED FILE, DO NOT EDIT. STAMP:`date` *)" > $@ $(H)$(OCAMLC) -I paramodulation -i $(tactics_mli_deps) >> $@ +UTF8DIR = $(shell $(OCAMLFIND) query helm-syntax_extensions) +MY_SYNTAXOPTIONS = -pp "camlp4o -I $(UTF8DIR) pa_extend.cmo profiling_macros.cma -loc loc" +paramodulation/saturation.cmo: SYNTAXOPTIONS = $(MY_SYNTAXOPTIONS) +paramodulation/saturation.cmx: SYNTAXOPTIONS = $(MY_SYNTAXOPTIONS) +depend: SYNTAXOPTIONS = $(MY_SYNTAXOPTIONS) +depend.opt: SYNTAXOPTIONS = $(MY_SYNTAXOPTIONS) +# +# +paramodulation/saturation.cmo: OCAMLC = $(OCAMLC_P4) +paramodulation/saturation.cmx: OCAMLOPT = $(OCAMLOPT_P4) + + STATS_EXCLUDE = tactics.mli include ../../Makefile.defs diff --git a/components/utf8_macros/.depend b/components/utf8_macros/.depend deleted file mode 100644 index f3c6a8bd1..000000000 --- a/components/utf8_macros/.depend +++ /dev/null @@ -1,2 +0,0 @@ -utf8Macro.cmo: utf8MacroTable.cmo utf8Macro.cmi -utf8Macro.cmx: utf8MacroTable.cmx utf8Macro.cmi diff --git a/components/utf8_macros/Makefile b/components/utf8_macros/Makefile deleted file mode 100644 index 39ef46210..000000000 --- a/components/utf8_macros/Makefile +++ /dev/null @@ -1,43 +0,0 @@ -PACKAGE = utf8_macros -PREDICATES = -MAKE_TABLE_PACKAGES = helm-xml - -# modules which have both a .ml and a .mli -INTERFACE_FILES = utf8Macro.mli -IMPLEMENTATION_FILES = utf8MacroTable.ml $(INTERFACE_FILES:%.mli=%.ml) -EXTRA_OBJECTS_TO_INSTALL = -EXTRA_OBJECTS_TO_CLEAN = - -all: utf8_macros.cma pa_unicode_macro.cma - -make_table: make_table.ml - @echo " OCAMLC $<" - $(H)$(OCAMLFIND) ocamlc -package $(MAKE_TABLE_PACKAGES) -linkpkg -o $@ $^ - -utf8MacroTable.ml: - ./make_table $@ -utf8MacroTable.cmo: utf8MacroTable.ml - @echo " OCAMLC $<" - $(H)@$(OCAMLFIND) ocamlc -c $< - -pa_unicode_macro.cmo: pa_unicode_macro.ml utf8Macro.cmo - @echo " OCAMLC $<" - $(H)@$(OCAMLFIND) ocamlc -package camlp4 -pp "camlp4o q_MLast.cmo pa_extend.cmo -loc loc" -c $< -pa_unicode_macro.cma: utf8MacroTable.cmo utf8Macro.cmo pa_unicode_macro.cmo - @echo " OCAMLC -a $@" - $(H)@$(OCAMLFIND) ocamlc -a -o $@ $^ - -.PHONY: test -test: test.ml - $(OCAMLFIND) ocamlc -package helm-utf8_macros -syntax camlp4o $< -o $@ - -clean: -distclean: extra_clean -extra_clean: - rm -f make_table test - -STATS_EXCLUDE = utf8MacroTable.ml - -include ../../Makefile.defs -include ../Makefile.common - diff --git a/components/utf8_macros/README.syntax b/components/utf8_macros/README.syntax deleted file mode 100644 index 210ecc095..000000000 --- a/components/utf8_macros/README.syntax +++ /dev/null @@ -1,15 +0,0 @@ - -Helm Utf8 macro syntax extension for Camlp4 - -Sample file: - - --- test.ml --- - - prerr_endline <:unicode> - - --------------- - -Compile it with: - - ocamlfind ocamlc -package helm-utf8_macros -syntax camlp4o test.ml - diff --git a/components/utf8_macros/data/dictionary-tex.xml b/components/utf8_macros/data/dictionary-tex.xml deleted file mode 100644 index 47995454f..000000000 --- a/components/utf8_macros/data/dictionary-tex.xml +++ /dev/null @@ -1,378 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/components/utf8_macros/data/entities-table.xml b/components/utf8_macros/data/entities-table.xml deleted file mode 100644 index c283631b4..000000000 --- a/components/utf8_macros/data/entities-table.xml +++ /dev/null @@ -1,2079 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/components/utf8_macros/data/extra-entities.xml b/components/utf8_macros/data/extra-entities.xml deleted file mode 100644 index 73b12ad5e..000000000 --- a/components/utf8_macros/data/extra-entities.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/components/utf8_macros/make_table.ml b/components/utf8_macros/make_table.ml deleted file mode 100644 index e8e453df4..000000000 --- a/components/utf8_macros/make_table.ml +++ /dev/null @@ -1,103 +0,0 @@ -(* Copyright (C) 2004, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://helm.cs.unibo.it/ - *) - -(* $Id$ *) - -open Printf - -let debug = false -let debug_print s = if debug then prerr_endline (Lazy.force s) - - (* source files for tables xml parsing (if unmarshall=false) *) -let xml_tables = [ -(* - `Entities, "/usr/share/gtkmathview/entities-table.xml"; - `Dictionary, "/usr/share/editex/dictionary-tex.xml" -*) - `Entities, "data/entities-table.xml"; - `Dictionary, "data/dictionary-tex.xml"; - `Entities, "data/extra-entities.xml"; - (** extra-entities.xml should be the last one since it is used to override - * previous mappings. Add there overrides as needed. *) -] - -let iter_gen record_tag name_field value_field f fname = - let start_element tag attrs = - if tag = record_tag then - try - let name = List.assoc name_field attrs in - let value = List.assoc value_field attrs in - f name value - with Not_found -> () - in - let callbacks = { - XmlPushParser.default_callbacks with - XmlPushParser.start_element = Some start_element - } in - let xml_parser = XmlPushParser.create_parser callbacks in - XmlPushParser.parse xml_parser (`File fname) - -let iter_entities_file = iter_gen "entity" "name" "value" -let iter_dictionary_file = iter_gen "entry" "name" "val" - -let parse_from_xml () = - let macro2utf8 = Hashtbl.create 2000 in - let add_macro macro utf8 = - debug_print (lazy (sprintf "Adding macro %s = '%s'" macro utf8)); - Hashtbl.replace macro2utf8 macro utf8 - in - let fill_table () = - List.iter - (fun (typ, fname) -> - match typ with - | `Entities -> iter_entities_file add_macro fname - | `Dictionary -> iter_dictionary_file add_macro fname) - xml_tables - in - fill_table (); - macro2utf8 - -let main () = - let oc = open_out Sys.argv.(1) in - output_string oc "(* GENERATED by make_table: DO NOT EDIT! *)\n"; - output_string oc "let macro2utf8 = Hashtbl.create 2000\n"; - output_string oc "let utf82macro = Hashtbl.create 2000\n"; - output_string oc "let data = [\n"; - let macro2utf8 = parse_from_xml () in - Hashtbl.iter - (fun macro utf8 -> - fprintf oc " \"%s\", \"%s\";\n" macro (String.escaped utf8)) - macro2utf8; - output_string oc " ];;\n"; - output_string oc "let _ =\n"; - output_string oc " List.iter\n"; - output_string oc " (fun (macro, utf8) ->\n"; - output_string oc " Hashtbl.replace macro2utf8 macro utf8;\n"; - output_string oc " Hashtbl.replace utf82macro utf8 macro)\n"; - output_string oc " data;;\n"; - close_out oc - -let _ = main () - diff --git a/components/utf8_macros/pa_unicode_macro.ml b/components/utf8_macros/pa_unicode_macro.ml deleted file mode 100644 index dda7d4cab..000000000 --- a/components/utf8_macros/pa_unicode_macro.ml +++ /dev/null @@ -1,67 +0,0 @@ -(* Copyright (C) 2004, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://helm.cs.unibo.it/ - *) - -(* $Id$ *) - -let debug = false -let debug_print s = if debug then prerr_endline (Lazy.force s) - -let loc = - let dummy_pos = - { Lexing.pos_fname = ""; Lexing.pos_lnum = -1; Lexing.pos_bol = -1; - Lexing.pos_cnum = -1 } - in - (dummy_pos, dummy_pos) - -let expand_unicode_macro macro = - debug_print (lazy (Printf.sprintf "Expanding macro '%s' ..." macro)); - let expansion = Utf8Macro.expand macro in - <:expr< $str:expansion$ >> - -let _ = - Quotation.add "unicode" - (Quotation.ExAst (expand_unicode_macro, (fun _ -> assert false))) - -open Pa_extend - -EXTEND - symbol: FIRST - [ - [ x = UIDENT; q = QUOTATION -> - let (quotation, arg) = - let pos = String.index q ':' in - (String.sub q 0 pos, - String.sub q (pos + 1) (String.length q - pos - 1)) - in - debug_print (lazy (Printf.sprintf "QUOTATION = %s; ARG = %s" quotation arg)); - if quotation = "unicode" then - let text = TXtok (loc, x, expand_unicode_macro arg) in - {used = []; text = text; styp = STlid (loc, "string")} - else - assert false - ] - ]; -END - diff --git a/components/utf8_macros/test.ml b/components/utf8_macros/test.ml deleted file mode 100644 index 8f98bfd44..000000000 --- a/components/utf8_macros/test.ml +++ /dev/null @@ -1,3 +0,0 @@ -(* $Id$ *) - -prerr_endline <:unicode> diff --git a/components/utf8_macros/utf8Macro.ml b/components/utf8_macros/utf8Macro.ml deleted file mode 100644 index e5fca10c4..000000000 --- a/components/utf8_macros/utf8Macro.ml +++ /dev/null @@ -1,47 +0,0 @@ -(* Copyright (C) 2004, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://helm.cs.unibo.it/ - *) - -(* $Id$ *) - -exception Macro_not_found of string -exception Utf8_not_found of string - -let expand macro = - try - Hashtbl.find Utf8MacroTable.macro2utf8 macro - with Not_found -> raise (Macro_not_found macro) - -let unicode_of_tex s = - try - if s.[0] = '\\' then - expand (String.sub s 1 (String.length s - 1)) - else s - with Macro_not_found _ -> s - -let tex_of_unicode s = - try - "\\" ^ Hashtbl.find Utf8MacroTable.utf82macro s - with Not_found -> s - diff --git a/components/utf8_macros/utf8Macro.mli b/components/utf8_macros/utf8Macro.mli deleted file mode 100644 index d92f60b37..000000000 --- a/components/utf8_macros/utf8Macro.mli +++ /dev/null @@ -1,40 +0,0 @@ -(* Copyright (C) 2004, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://helm.cs.unibo.it/ - *) - -exception Macro_not_found of string -exception Utf8_not_found of string - - (** @param macro name - @return utf8 string *) -val expand: string -> string - - (** @param tex TeX like command (e.g. \forall, \lnot, ...) - * @return unicode character corresponding to the command if it exists, or the - * unchanged command if not *) -val unicode_of_tex: string -> string - - (** ... the other way round *) -val tex_of_unicode: string -> string - diff --git a/components/utf8_macros/utf8MacroTable.ml b/components/utf8_macros/utf8MacroTable.ml deleted file mode 100644 index eefdcea0f..000000000 --- a/components/utf8_macros/utf8MacroTable.ml +++ /dev/null @@ -1,2140 +0,0 @@ -(* GENERATED by make_table: DO NOT EDIT! *) -let macro2utf8 = Hashtbl.create 2000 -let utf82macro = Hashtbl.create 2000 -let data = [ - "nscr", "\240\157\147\131"; - "LJcy", "\208\137"; - "dd", "\226\133\134"; - "Omacr", "\197\140"; - "npreceq", "\226\170\175\204\184"; - "Gcirc", "\196\156"; - "utilde", "\197\169"; - "rdca", "\226\164\183"; - "racute", "\197\149"; - "mstpos", "\226\136\190"; - "supnE", "\226\138\139"; - "NotLessLess", "\226\137\170\204\184\239\184\128"; - "iiint", "\226\136\173"; - "uscr", "\240\157\147\138"; - "Sfr", "\240\157\148\150"; - "nsupseteqq", "\226\138\137"; - "nwarrow", "\226\134\150"; - "twoheadrightarrow", "\226\134\160"; - "sccue", "\226\137\189"; - "NotSquareSuperset", "\226\138\144\204\184"; - "ee", "\226\133\135"; - "boxbox", "\226\167\137"; - "andand", "\226\169\149"; - "LeftVectorBar", "\226\165\146"; - "eg", "\226\170\154"; - "csc", "csc"; - "NotRightTriangleEqual", "\226\139\173"; - "filig", "\239\172\129"; - "atilde", "\195\163"; - "ring", "\203\154"; - "congdot", "\226\169\173"; - "gE", "\226\137\167"; - "rcedil", "\197\151"; - "el", "\226\170\153"; - "HorizontalLine", "\226\148\128"; - "incare", "\226\132\133"; - "hoarr", "\226\135\191"; - "SOFTcy", "\208\172"; - "conint", "\226\136\174"; - "OverParenthesis", "\239\184\181"; - "Uogon", "\197\178"; - "supne", "\226\138\139"; - "num", "#"; - "zcy", "\208\183"; - "Hfr", "\226\132\140"; - "dtri", "\226\150\191"; - "FilledSmallSquare", "\226\151\190"; - "SucceedsEqual", "\226\137\189"; - "leftthreetimes", "\226\139\139"; - "ycirc", "\197\183"; - "sqcup", "\226\138\148"; - "DoubleLeftArrow", "\226\135\144"; - "gtrless", "\226\137\183"; - "ge", "\226\137\165"; - "Product", "\226\136\143"; - "NotExists", "\226\136\132"; - "gg", "\226\137\171"; - "curlyvee", "\226\139\142"; - "ntrianglerighteq", "\226\139\173"; - "Colon", "\226\136\183"; - "rbrke", "\226\166\140"; - "LeftDownVector", "\226\135\131"; - "gl", "\226\137\183"; - "lrcorner", "\226\140\159"; - "mapstodown", "\226\134\167"; - "excl", "!"; - "cdots", "\226\139\175"; - "larr", "\226\134\144"; - "dtdot", "\226\139\177"; - "kgreen", "\196\184"; - "rtri", "\226\150\185"; - "rbarr", "\226\164\141"; - "ocy", "\208\190"; - "gt", ">"; - "DownLeftRightVector", "\226\165\144"; - "cup", "\226\136\170"; - "updownarrow", "\226\134\149"; - "Imacr", "\196\170"; - "cross", "\226\156\151"; - "Acirc", "\195\130"; - "lvertneqq", "\226\137\168\239\184\128"; - "ccaps", "\226\169\141"; - "NotLeftTriangleEqual", "\226\139\172"; - "IJlig", "\196\178"; - "boxplus", "\226\138\158"; - "epsilon", "\207\181"; - "zfr", "\240\157\148\183"; - "late", "\226\170\173"; - "ic", "\226\128\139"; - "lrhar", "\226\135\139"; - "gsim", "\226\137\179"; - "inf", "inf"; - "top", "\226\138\164"; - "odsold", "\226\166\188"; - "circlearrowright", "\226\134\187"; - "rtimes", "\226\139\138"; - "ii", "\226\133\136"; - "DoubleRightTee", "\226\138\168"; - "dcy", "\208\180"; - "boxdL", "\226\149\149"; - "duhar", "\226\165\175"; - "vert", "|"; - "sacute", "\197\155"; - "in", "\226\136\136"; - "Assign", "\226\137\148"; - "nsim", "\226\137\129"; - "boxdR", "\226\149\146"; - "o", "\206\191"; - "radic", "\226\136\154"; - "it", "\226\129\162"; - "int", "\226\136\171"; - "cwint", "\226\136\177"; - "ForAll", "\226\136\128"; - "simplus", "\226\168\164"; - "isindot", "\226\139\181"; - "rightthreetimes", "\226\139\140"; - "supseteqq", "\226\138\135"; - "bnot", "\226\140\144"; - "rppolint", "\226\168\146"; - "def", "\226\137\157"; - "TScy", "\208\166"; - "lE", "\226\137\166"; - "ffilig", "\239\172\131"; - "deg", "deg"; - "{", "{"; - "RightVector", "\226\135\128"; - "ofr", "\240\157\148\172"; - "|", "|"; - "liminf", "liminf"; - "}", "}"; - "LeftUpTeeVector", "\226\165\160"; - "scirc", "\197\157"; - "scedil", "\197\159"; - "ufisht", "\226\165\190"; - "LeftUpDownVector", "\226\165\145"; - "questeq", "\226\137\159"; - "leftarrow", "\226\134\144"; - "Ycy", "\208\171"; - "Coproduct", "\226\136\144"; - "det", "det"; - "boxdl", "\226\148\144"; - "Aopf", "\240\157\148\184"; - "srarr", "\226\134\146\239\184\128"; - "lbrke", "\226\166\139"; - "boxdr", "\226\148\140"; - "Ntilde", "\195\145"; - "gnap", "\226\170\138"; - "Cap", "\226\139\146"; - "swarhk", "\226\164\166"; - "ogt", "\226\167\129"; - "emptyset", "\226\136\133\239\184\128"; - "harrw", "\226\134\173"; - "lbarr", "\226\164\140"; - "Tilde", "\226\136\188"; - "delta", "\206\180"; - "Hopf", "\226\132\141"; - "dfr", "\240\157\148\161"; - "le", "\226\137\164"; - "lg", "lg"; - "ohm", "\226\132\166"; - "Jsercy", "\208\136"; - "quaternions", "\226\132\141"; - "DoubleLongLeftArrow", "\239\149\185"; - "Ncy", "\208\157"; - "nabla", "\226\136\135"; - "ltcir", "\226\169\185"; - "ll", "\226\137\170"; - "ln", "ln"; - "rmoust", "\226\142\177"; - "Oopf", "\240\157\149\134"; - "nbsp", "\194\160"; - "Kcedil", "\196\182"; - "vdots", "\226\139\174"; - "NotLessTilde", "\226\137\180"; - "lt", "<"; - "djcy", "\209\146"; - "DownRightTeeVector", "\226\165\159"; - "Ograve", "\195\146"; - "boxhD", "\226\149\165"; - "nsime", "\226\137\132"; - "egsdot", "\226\170\152"; - "mDDot", "\226\136\186"; - "bigodot", "\226\138\153"; - "Vopf", "\240\157\149\141"; - "looparrowright", "\226\134\172"; - "yucy", "\209\142"; - "trade", "\226\132\162"; - "Yfr", "\240\157\148\156"; - "kjcy", "\209\156"; - "mp", "\226\136\147"; - "leftrightarrows", "\226\135\134"; - "uharl", "\226\134\191"; - "ncap", "\226\169\131"; - "Iogon", "\196\174"; - "NotSubset", "\226\138\132"; - "Bumpeq", "\226\137\142"; - "mu", "\206\188"; - "FilledVerySmallSquare", "\239\150\155"; - "breve", "\203\152"; - "boxhU", "\226\149\168"; - "Sigma", "\206\163"; - "uharr", "\226\134\190"; - "xrArr", "\239\149\186"; - "ne", "\226\137\160"; - "oS", "\226\147\136"; - "xodot", "\226\138\153"; - "ni", "\226\136\139"; - "mdash", "\226\128\148"; - "Verbar", "\226\128\150"; - "die", "\194\168"; - "veebar", "\226\138\187"; - "UpArrowBar", "\226\164\146"; - "Ncaron", "\197\135"; - "RightArrowBar", "\226\135\165"; - "LongLeftArrow", "\239\149\182"; - "rceil", "\226\140\137"; - "LeftDownVectorBar", "\226\165\153"; - "umacr", "\197\171"; - "Hacek", "\203\135"; - "odblac", "\197\145"; - "lmidot", "\197\128"; - "dopf", "\240\157\149\149"; - "boxhd", "\226\148\172"; - "dim", "dim"; - "vnsub", "\226\138\132"; - "Bscr", "\226\132\172"; - "plussim", "\226\168\166"; - "doublebarwedge", "\226\140\134"; - "nu", "\206\189"; - "eqcolon", "\226\137\149"; - "luruhar", "\226\165\166"; - "Nfr", "\240\157\148\145"; - "preceq", "\226\170\175"; - "LeftTee", "\226\138\163"; - "div", "\195\183"; - "nVDash", "\226\138\175"; - "kopf", "\240\157\149\156"; - "Iscr", "\226\132\144"; - "vnsup", "\226\138\133"; - "gneq", "\226\137\169"; - "backepsilon", "\207\182"; - "boxhu", "\226\148\180"; - "ominus", "\226\138\150"; - "or", "\226\136\168"; - "lesdot", "\226\169\191"; - "RightVectorBar", "\226\165\147"; - "tcedil", "\197\163"; - "hstrok", "\196\167"; - "nrarrc", "\226\164\179\204\184"; - "ropf", "\240\157\149\163"; - "diamond", "\226\139\132"; - "smid", "\226\136\163\239\184\128"; - "nltri", "\226\139\170"; - "Pscr", "\240\157\146\171"; - "vartheta", "\207\145"; - "therefore", "\226\136\180"; - "pi", "\207\128"; - "ntrianglelefteq", "\226\139\172"; - "nearrow", "\226\134\151"; - "pm", "\194\177"; - "natural", "\226\153\174"; - "ucy", "\209\131"; - "olt", "\226\167\128"; - "Cfr", "\226\132\173"; - "yopf", "\240\157\149\170"; - "Otilde", "\195\149"; - "ntriangleleft", "\226\139\170"; - "pr", "\226\137\186"; - "Wscr", "\240\157\146\178"; - "midcir", "\226\171\176"; - "Lacute", "\196\185"; - "DoubleDot", "\194\168"; - "Tstrok", "\197\166"; - "nrarrw", "\226\134\157\204\184"; - "uArr", "\226\135\145"; - "nLtv", "\226\137\170\204\184\239\184\128"; - "rangle", "\226\140\170"; - "olcir", "\226\166\190"; - "Auml", "\195\132"; - "Succeeds", "\226\137\187"; - "DoubleLongLeftRightArrow", "\239\149\187"; - "TSHcy", "\208\139"; - "gammad", "\207\156"; - "epsiv", "\201\155"; - "notinva", "\226\136\137\204\184"; - "notinvb", "\226\139\183"; - "eqvparsl", "\226\167\165"; - "notinvc", "\226\139\182"; - "nsubE", "\226\138\136"; - "supplus", "\226\171\128"; - "RightUpDownVector", "\226\165\143"; - "Tab", "\t"; - "Lcedil", "\196\187"; - "backslash", "\\"; - "pointint", "\226\168\149"; - "jcy", "\208\185"; - "iocy", "\209\145"; - "escr", "\226\132\175"; - "submult", "\226\171\129"; - "iiota", "\226\132\169"; - "lceil", "\226\140\136"; - "omacr", "\197\141"; - "gneqq", "\226\137\169"; - "gcirc", "\196\157"; - "dotsquare", "\226\138\161"; - "ccaron", "\196\141"; - "Square", "\226\150\161"; - "RightDownTeeVector", "\226\165\157"; - "Ouml", "\195\150"; - "lurdshar", "\226\165\138"; - "SuchThat", "\226\136\139"; - "setminus", "\226\136\150"; - "lscr", "\226\132\147"; - "LessLess", "\226\170\161"; - "Sub", "\226\139\144"; - "sc", "\226\137\187"; - "rx", "\226\132\158"; - "RightFloor", "\226\140\139"; - "blacksquare", "\226\150\170"; - "ufr", "\240\157\148\178"; - "block", "\226\150\136"; - "dots", "\226\128\166"; - "nvsim", "\226\137\129\204\184"; - "caret", "\226\129\129"; - "demptyv", "\226\166\177"; - "Sum", "\226\136\145"; - "sscr", "\240\157\147\136"; - "nsube", "\226\138\136"; - "Sup", "\226\139\145"; - "ccupssm", "\226\169\144"; - "Because", "\226\136\181"; - "harrcir", "\226\165\136"; - "capbrcup", "\226\169\137"; - "RightUpVectorBar", "\226\165\148"; - "caps", "\226\136\169\239\184\128"; - "ohbar", "\226\166\181"; - "laemptyv", "\226\166\180"; - "uacute", "\195\186"; - "straightphi", "\207\134"; - "RightDoubleBracket", "\227\128\155"; - "zscr", "\240\157\147\143"; - "uogon", "\197\179"; - "Uarr", "\226\134\159"; - "nsucc", "\226\138\129"; - "RBarr", "\226\164\144"; - "NotRightTriangleBar", "\226\167\144\204\184"; - "to", "\226\134\146"; - "rpar", ")"; - "rdsh", "\226\134\179"; - "jfr", "\240\157\148\167"; - "ldquor", "\226\128\158"; - "bsime", "\226\139\141"; - "lAtail", "\226\164\155"; - "Hcirc", "\196\164"; - "aacute", "\195\161"; - "dot", "\203\153"; - "Tcy", "\208\162"; - "nsub", "\226\138\132"; - "kappa", "\206\186"; - "ovbar", "\226\140\189"; - "shcy", "\209\136"; - "kappav", "\207\176"; - "ropar", "\227\128\153"; - "gtcc", "\226\170\167"; - "ecolon", "\226\137\149"; - "circledast", "\226\138\155"; - "colon", ":"; - "timesbar", "\226\168\177"; - "precnsim", "\226\139\168"; - "ord", "\226\169\157"; - "real", "\226\132\156"; - "nexists", "\226\136\132"; - "nsup", "\226\138\133"; - "zhcy", "\208\182"; - "imacr", "\196\171"; - "egrave", "\195\168"; - "acirc", "\195\162"; - "grave", "`"; - "biguplus", "\226\138\142"; - "HumpEqual", "\226\137\143"; - "GreaterSlantEqual", "\226\169\190"; - "capand", "\226\169\132"; - "yuml", "\195\191"; - "orv", "\226\169\155"; - "Icy", "\208\152"; - "rightharpoondown", "\226\135\129"; - "upsilon", "\207\133"; - "preccurlyeq", "\226\137\188"; - "ShortUpArrow", "\226\140\131\239\184\128"; - "searhk", "\226\164\165"; - "commat", "@"; - "Sqrt", "\226\136\154"; - "wp", "\226\132\152"; - "succnapprox", "\226\139\169"; - "wr", "\226\137\128"; - "NotTildeTilde", "\226\137\137"; - "dcaron", "\196\143"; - "Tfr", "\240\157\148\151"; - "bigwedge", "\226\139\128"; - "DScy", "\208\133"; - "nrtrie", "\226\139\173"; - "esim", "\226\137\130"; - "Not", "\226\171\172"; - "xmap", "\239\149\189"; - "rect", "\226\150\173"; - "Fouriertrf", "\226\132\177"; - "xi", "\206\190"; - "NotTilde", "\226\137\129"; - "gbreve", "\196\159"; - "par", "\226\136\165"; - "ddots", "\226\139\177"; - "nhArr", "\226\135\142"; - "lsim", "\226\137\178"; - "RightCeiling", "\226\140\137"; - "nedot", "\226\137\160\239\184\128"; - "thksim", "\226\136\188\239\184\128"; - "lEg", "\226\139\154"; - "Ifr", "\226\132\145"; - "emsp", "\226\128\131"; - "lopar", "\227\128\152"; - "iiiint", "\226\168\140"; - "straightepsilon", "\206\181"; - "intlarhk", "\226\168\151"; - "image", "\226\132\145"; - "sqsubseteq", "\226\138\145"; - "lnapprox", "\226\170\137"; - "Leftrightarrow", "\226\135\148"; - "cemptyv", "\226\166\178"; - "alpha", "\206\177"; - "uml", "\194\168"; - "barwedge", "\226\138\188"; - "KHcy", "\208\165"; - "tilde", "\203\156"; - "Superset", "\226\138\131"; - "gesles", "\226\170\148"; - "bigoplus", "\226\138\149"; - "boxuL", "\226\149\155"; - "rbbrk", "\227\128\149"; - "nrightarrow", "\226\134\155"; - "hkswarow", "\226\164\166"; - "DiacriticalDoubleAcute", "\203\157"; - "nbumpe", "\226\137\143\204\184"; - "uhblk", "\226\150\128"; - "NotSupersetEqual", "\226\138\137"; - "ntgl", "\226\137\185"; - "Fopf", "\240\157\148\189"; - "boxuR", "\226\149\152"; - "swarr", "\226\134\153"; - "nsqsube", "\226\139\162"; - "pluscir", "\226\168\162"; - "pcy", "\208\191"; - "leqslant", "\226\169\189"; - "lnap", "\226\170\137"; - "lthree", "\226\139\139"; - "smte", "\226\170\172"; - "olcross", "\226\166\187"; - "nvrArr", "\226\135\143"; - "andslope", "\226\169\152"; - "MediumSpace", "\226\129\159"; - "boxvH", "\226\149\170"; - "Nacute", "\197\131"; - "nGtv", "\226\137\171\204\184\239\184\128"; - "Mopf", "\240\157\149\132"; - "dfisht", "\226\165\191"; - "boxvL", "\226\149\161"; - "pertenk", "\226\128\177"; - "NotPrecedes", "\226\138\128"; - "profalar", "\226\140\174"; - "roplus", "\226\168\174"; - "boxvR", "\226\149\158"; - "utrif", "\226\150\180"; - "uHar", "\226\165\163"; - "nltrie", "\226\139\172"; - "NotNestedGreaterGreater", "\226\146\162\204\184"; - "smtes", "\226\170\172\239\184\128"; - "LeftAngleBracket", "\226\140\169"; - "iogon", "\196\175"; - "ExponentialE", "\226\133\135"; - "Topf", "\240\157\149\139"; - "GreaterEqual", "\226\137\165"; - "DownTee", "\226\138\164"; - "boxul", "\226\148\152"; - "wreath", "\226\137\128"; - "sigma", "\207\131"; - "ENG", "\197\138"; - "Ncedil", "\197\133"; - "ecy", "\209\141"; - "nsubset", "\226\138\132"; - "LessFullEqual", "\226\137\166"; - "bsolb", "\226\167\133"; - "boxur", "\226\148\148"; - "ThinSpace", "\226\128\137"; - "supdsub", "\226\171\152"; - "colone", "\226\137\148"; - "curren", "\194\164"; - "boxvh", "\226\148\188"; - "ecaron", "\196\155"; - "UnderBrace", "\239\184\184"; - "caron", "\203\135"; - "ultri", "\226\151\184"; - "boxvl", "\226\148\164"; - "scap", "\226\137\191"; - "boxvr", "\226\148\156"; - "bopf", "\240\157\149\147"; - "pfr", "\240\157\148\173"; - "nspar", "\226\136\166\239\184\128"; - "NegativeMediumSpace", "\226\129\159\239\184\128"; - "simgE", "\226\170\160"; - "nvDash", "\226\138\173"; - "NotGreaterFullEqual", "\226\137\176"; - "uparrow", "\226\134\145"; - "nsupset", "\226\138\133"; - "simeq", "\226\137\131"; - "Zcy", "\208\151"; - "RightTriangle", "\226\138\179"; - "Lang", "\227\128\138"; - "Ucirc", "\195\155"; - "iopf", "\240\157\149\154"; - "leftrightsquigarrow", "\226\134\173"; - "Gscr", "\240\157\146\162"; - "lfloor", "\226\140\138"; - "lbbrk", "\227\128\148"; - "bigvee", "\226\139\129"; - "ordf", "\194\170"; - "rsquo", "\226\128\153"; - "parallel", "\226\136\165"; - "half", "\194\189"; - "supseteq", "\226\138\135"; - "ngeqq", "\226\137\177"; - "popf", "\240\157\149\161"; - "NonBreakingSpace", "\194\160"; - "softcy", "\209\140"; - "ordm", "\194\186"; - "Nscr", "\240\157\146\169"; - "owns", "\226\136\139"; - "phi", "\207\149"; - "efr", "\240\157\148\162"; - "nesear", "\226\164\168"; - "marker", "\226\150\174"; - "lneq", "\226\137\168"; - "parallet", "????"; - "ndash", "\226\128\147"; - "DoubleLeftTee", "\226\171\164"; - "lArr", "\226\135\144"; - "becaus", "\226\136\181"; - "RightTee", "\226\138\162"; - "Ocy", "\208\158"; - "ntlg", "\226\137\184"; - "cacute", "\196\135"; - "wopf", "\240\157\149\168"; - "Cup", "\226\139\147"; - "Uscr", "\240\157\146\176"; - "NotHumpEqual", "\226\137\143\204\184"; - "rnmid", "\226\171\174"; - "nsupE", "\226\138\137"; - "bemptyv", "\226\166\176"; - "lsqb", "["; - "nrarr", "\226\134\155"; - "egs", "\226\139\157"; - "reals", "\226\132\157"; - "CupCap", "\226\137\141"; - "Oacute", "\195\147"; - "Zfr", "\226\132\168"; - "ReverseEquilibrium", "\226\135\139"; - "ccedil", "\195\167"; - "bigtriangleup", "\226\150\179"; - "piv", "\207\150"; - "cirscir", "\226\167\130"; - "exists", "\226\136\131"; - "Uarrocir", "\226\165\137"; - "Dcy", "\208\148"; - "cscr", "\240\157\146\184"; - "zcaron", "\197\190"; - "isinE", "\226\139\185"; - "gtcir", "\226\169\186"; - "hookrightarrow", "\226\134\170"; - "Int", "\226\136\172"; - "nsupe", "\226\138\137"; - "dotplus", "\226\136\148"; - "ncup", "\226\169\130"; - "jscr", "\240\157\146\191"; - "angmsdaa", "\226\166\168"; - "Iukcy", "\208\134"; - "flat", "\226\153\173"; - "bNot", "\226\171\173"; - "angmsdab", "\226\166\169"; - "angmsdac", "\226\166\170"; - "xdtri", "\226\150\189"; - "iota", "\206\185"; - "angmsdad", "\226\166\171"; - "angmsdae", "\226\166\172"; - "rightarrowtail", "\226\134\163"; - "angmsdaf", "\226\166\173"; - "Ocirc", "\195\148"; - "angmsdag", "\226\166\174"; - "Ofr", "\240\157\148\146"; - "maltese", "\226\156\160"; - "angmsdah", "\226\166\175"; - "Del", "\226\136\135"; - "Barwed", "\226\140\134"; - "drbkarow", "\226\164\144"; - "qscr", "\240\157\147\134"; - "ETH", "\195\144"; - "operp", "\226\166\185"; - "daleth", "\226\132\184"; - "bull", "\226\128\162"; - "simlE", "\226\170\159"; - "lsquo", "\226\128\152"; - "Larr", "\226\134\158"; - "curarr", "\226\134\183"; - "blacktriangleleft", "\226\151\130"; - "hellip", "\226\128\166"; - "DoubleVerticalBar", "\226\136\165"; - "rBarr", "\226\164\143"; - "chcy", "\209\135"; - "varpi", "\207\150"; - "Cconint", "\226\136\176"; - "xlarr", "\239\149\182"; - "xscr", "\240\157\147\141"; - "DoubleLongRightArrow", "\239\149\186"; - "CounterClockwiseContourIntegral", "\226\136\179"; - "urcrop", "\226\140\142"; - "RightAngleBracket", "\226\140\170"; - "Rcaron", "\197\152"; - "latail", "\226\164\153"; - "pitchfork", "\226\139\148"; - "nvinfin", "\226\167\158"; - "hcirc", "\196\165"; - "nexist", "\226\136\132"; - "checkmark", "\226\156\147"; - "tridot", "\226\151\172"; - "vcy", "\208\178"; - "isins", "\226\139\180"; - "fllig", "\239\172\130"; - "Dfr", "\240\157\148\135"; - "hercon", "\226\138\185"; - "gEl", "\226\139\155"; - "bump", "\226\137\142"; - "aleph", "\226\132\181"; - "Ubreve", "\197\172"; - "isinv", "\226\136\136"; - "smile", "\226\140\163"; - "llcorner", "\226\140\158"; - "boxH", "\226\149\144"; - "ecir", "\226\137\150"; - "varnothing", "\226\136\133"; - "iuml", "\195\175"; - "mlcp", "\226\171\155"; - "leftrightharpoons", "\226\135\139"; - "ncong", "\226\137\135"; - "Vert", "\226\128\150"; - "vee", "\226\136\168"; - "star", "\226\139\134"; - "boxV", "\226\149\145"; - "LeftRightArrow", "\226\134\148"; - "leftrightarrow", "\226\134\148"; - "lstrok", "\197\130"; - "ell", "\226\132\147"; - "VerticalSeparator", "\226\157\152"; - "Ubrcy", "\208\142"; - "NotGreater", "\226\137\175"; - "Abreve", "\196\130"; - "TildeTilde", "\226\137\136"; - "CircleTimes", "\226\138\151"; - "subsetneq", "\226\138\138"; - "ltcc", "\226\170\166"; - "els", "\226\139\156"; - "succneqq", "\226\170\182"; - "kcy", "\208\186"; - "nshortmid", "\226\136\164\239\184\128"; - "mldr", "\226\128\166"; - "harr", "\226\134\148"; - "gimel", "\226\132\183"; - "Otimes", "\226\168\183"; - "vsubnE", "\226\138\138\239\184\128"; - "ltdot", "\226\139\150"; - "boxh", "\226\148\128"; - "notin", "\226\136\137"; - "RuleDelayed", "\226\167\180"; - "sqsube", "\226\138\145"; - "macr", "\194\175"; - "Icirc", "\195\142"; - "comma", ","; - "Cayleys", "\226\132\173"; - "rightleftharpoons", "\226\135\140"; - "Rarrtl", "\226\164\150"; - "SquareSubsetEqual", "\226\138\145"; - "NotGreaterEqual", "\226\137\177\226\131\165"; - "vfr", "\240\157\148\179"; - "utri", "\226\150\181"; - "simne", "\226\137\134"; - "LeftUpVectorBar", "\226\165\152"; - "hksearow", "\226\164\165"; - "boxv", "\226\148\130"; - "curvearrowleft", "\226\134\182"; - "eng", "\197\139"; - "gtrarr", "\226\165\184"; - "iecy", "\208\181"; - "varr", "\226\134\149"; - "lBarr", "\226\164\142"; - "ker", "ker"; - "imath", "\196\177"; - "Dstrok", "\196\144"; - "rlarr", "\226\135\132"; - "leftleftarrows", "\226\135\135"; - "DifferentialD", "\226\133\134"; - "because", "\226\136\181"; - "ulcrop", "\226\140\143"; - "prE", "\226\170\175"; - "oast", "\226\138\155"; - "DotEqual", "\226\137\144"; - "vsubne", "\226\138\138\239\184\128"; - "hbar", "\226\132\143\239\184\128"; - "subset", "\226\138\130"; - "UpTeeArrow", "\226\134\165"; - "LeftFloor", "\226\140\138"; - "kfr", "\240\157\148\168"; - "nisd", "\226\139\186"; - "scnE", "\226\170\182"; - "Ucy", "\208\163"; - "nprec", "\226\138\128"; - "ltrPar", "\226\166\150"; - "Scaron", "\197\160"; - "InvisibleComma", "\226\128\139"; - "SquareUnion", "\226\138\148"; - "ffllig", "\239\172\132"; - "approxeq", "\226\137\138"; - "yacute", "\195\189"; - "pre", "\226\170\175"; - "nsqsupe", "\226\139\163"; - "supset", "\226\138\131"; - "bsolhsub", "\\\226\138\130"; - "nshortparallel", "\226\136\166\239\184\128"; - "lozenge", "\226\151\138"; - "lnot", "\194\172"; - "Dopf", "\240\157\148\187"; - "leftharpoonup", "\226\134\188"; - "Jcy", "\208\153"; - "rightarrow", "\226\134\146"; - "ntriangleright", "\226\139\171"; - "Ccirc", "\196\136"; - "eacute", "\195\169"; - "acute", "\194\180"; - "Precedes", "\226\137\186"; - "middot", "\194\183"; - "lHar", "\226\165\162"; - "eparsl", "\226\167\163"; - "psi", "\207\136"; - "parsl", "\226\136\165\239\184\128"; - "UpperLeftArrow", "\226\134\150"; - "oror", "\226\169\150"; - "Kopf", "\240\157\149\130"; - "apacir", "\226\169\175"; - "dharl", "\226\135\131"; - "nequiv", "\226\137\162"; - "rightleftarrows", "\226\135\132"; - "UnderParenthesis", "\239\184\182"; - "notni", "\226\136\140"; - "dagger", "\226\128\160"; - "dharr", "\226\135\130"; - "twoheadleftarrow", "\226\134\158"; - "frac12", "\194\189"; - "varsubsetneqq", "\226\138\138\239\184\128"; - "frac13", "\226\133\147"; - "Ufr", "\240\157\148\152"; - "NestedLessLess", "\226\137\170"; - "llarr", "\226\135\135"; - "frac14", "\194\188"; - "frac15", "\226\133\149"; - "Ropf", "\226\132\157"; - "frac16", "\226\133\153"; - "lrtri", "\226\138\191"; - "frac18", "\226\133\155"; - "cedil", "\194\184"; - "subsim", "\226\171\135"; - "PrecedesTilde", "\226\137\190"; - "igrave", "\195\172"; - "gjcy", "\209\147"; - "LeftVector", "\226\134\188"; - "notniva", "\226\136\140"; - "notnivb", "\226\139\190"; - "ogon", "\203\155"; - "notnivc", "\226\139\189"; - "Yopf", "\240\157\149\144"; - "there4", "\226\136\180"; - "udarr", "\226\135\133"; - "bkarow", "\226\164\141"; - "frac23", "\226\133\148"; - "frac25", "\226\133\150"; - "njcy", "\209\154"; - "Dashv", "\226\171\164"; - "eta", "\206\183"; - "bcong", "\226\137\140"; - "Ugrave", "\195\153"; - "csube", "\226\171\145"; - "clubs", "\226\153\163"; - "supmult", "\226\171\130"; - "MinusPlus", "\226\136\147"; - "Jfr", "\240\157\148\141"; - "ensp", "\226\128\130"; - "ucirc", "\195\187"; - "supsim", "\226\171\136"; - "eth", "\195\176"; - "OverBrace", "\239\184\183"; - "Dot", "\194\168"; - "xcap", "\226\139\130"; - "vangrt", "\226\138\190"; - "NotSubsetEqual", "\226\138\136"; - "frac34", "\194\190"; - "frac35", "\226\133\151"; - "planck", "\226\132\143\239\184\128"; - "lnsim", "\226\139\166"; - "gopf", "\240\157\149\152"; - "frac38", "\226\133\156"; - "DotDot", "\226\131\156"; - "mapstoup", "\226\134\165"; - "Escr", "\226\132\176"; - "Integral", "\226\136\171"; - "Agrave", "\195\128"; - "longleftarrow", "????;"; - "Tcaron", "\197\164"; - "nopf", "\240\157\149\159"; - "LongLeftRightArrow", "\239\149\184"; - "Emacr", "\196\146"; - "omid", "\226\166\182"; - "spades", "\226\153\160"; - "naturals", "\226\132\149"; - "Lscr", "\226\132\146"; - "udblac", "\197\177"; - "SucceedsTilde", "\226\137\191"; - "frac45", "\226\133\152"; - "clubsuit", "\226\153\163"; - "mumap", "\226\138\184"; - "vltri", "\226\138\178"; - "LeftArrowBar", "\226\135\164"; - "zacute", "\197\186"; - "szlig", "\195\159"; - "suplarr", "\226\165\187"; - "RightDownVector", "\226\135\130"; - "male", "\226\153\130"; - "RightDownVectorBar", "\226\165\149"; - "gdot", "\196\161"; - "nleqq", "\226\137\176"; - "uopf", "\240\157\149\166"; - "YIcy", "\208\135"; - "Sscr", "\240\157\146\174"; - "empty", "\226\136\133\239\184\128"; - "Vdash", "\226\138\169"; - "sqsubset", "\226\138\143"; - "efDot", "\226\137\146"; - "times", "\195\151"; - "Oslash", "\195\152"; - "itilde", "\196\169"; - "frac56", "\226\133\154"; - "numero", "\226\132\150"; - "malt", "\226\156\160"; - "npart", "\226\136\130\204\184"; - "frac58", "\226\133\157"; - "Zscr", "\240\157\146\181"; - "integers", "\226\132\164"; - "CloseCurlyQuote", "\226\128\153"; - "NewLine", "\n"; - "fcy", "\209\132"; - "nwarr", "\226\134\150"; - "thicksim", "\226\136\188\239\184\128"; - "nprcue", "\226\139\160"; - "lcub", "{"; - "forall", "\226\136\128"; - "plusacir", "\226\168\163"; - "ascr", "\240\157\146\182"; - "plustwo", "\226\168\167"; - "Utilde", "\197\168"; - "lambda", "\206\187"; - "odash", "\226\138\157"; - "iukcy", "\209\150"; - "sqsupset", "\226\138\144"; - "Racute", "\197\148"; - "Longleftarrow", "????"; - "capcap", "\226\169\139"; - "ocirc", "\195\180"; - "nless", "\226\137\174"; - "Wedge", "\226\139\128"; - "qfr", "\240\157\148\174"; - "natur", "\226\153\174"; - "hscr", "\240\157\146\189"; - "ldca", "\226\164\182"; - "ClockwiseContourIntegral", "\226\136\178"; - "exp", "exp"; - "RightTeeArrow", "\226\134\166"; - "orarr", "\226\134\187"; - "tanh", "tanh"; - "frac78", "\226\133\158"; - "Atilde", "\195\131"; - "arcsin", "arcsin"; - "Rcedil", "\197\150"; - "oscr", "\226\132\180"; - "InvisibleTimes", "\226\129\162"; - "sime", "\226\137\131"; - "simg", "\226\170\158"; - "Conint", "\226\136\175"; - "Yuml", "\197\184"; - "rlhar", "\226\135\140"; - "rarrbfs", "\226\164\160"; - "siml", "\226\170\157"; - "DownRightVectorBar", "\226\165\151"; - "vscr", "\240\157\147\139"; - "divide", "\195\183"; - "PlusMinus", "\194\177"; - "ffr", "\240\157\148\163"; - "DownLeftTeeVector", "\226\165\158"; - "EmptySmallSquare", "\226\151\189"; - "SHCHcy", "\208\169"; - "cirmid", "\226\171\175"; - "sigmav", "\207\130"; - "csub", "\226\171\143"; - "npar", "\226\136\166"; - "bsemi", "\226\129\143"; - "swArr", "\226\135\153"; - "Pcy", "\208\159"; - "sinh", "sinh"; - "lharul", "\226\165\170"; - "Jukcy", "\208\132"; - "permil", "\226\128\176"; - "ndivides", "\226\136\164"; - "Aring", "\195\133"; - "longmapsto", "????"; - "Esim", "\226\169\179"; - "csup", "\226\171\144"; - "trie", "\226\137\156"; - "ubrcy", "\209\158"; - "NotEqualTilde", "\226\137\130\204\184"; - "dotminus", "\226\136\184"; - "diamondsuit", "\226\153\162"; - "xnis", "\226\139\187"; - "Eogon", "\196\152"; - "cuvee", "\226\139\142"; - "DZcy", "\208\143"; - "nRightarrow", "\226\135\143"; - "sqsupe", "\226\138\146"; - "nsccue", "\226\139\161"; - "drcrop", "\226\140\140"; - "DownBreve", "\204\145"; - "Ecy", "\208\173"; - "rdquor", "\226\128\157"; - "rAtail", "\226\164\156"; - "icirc", "\195\174"; - "gacute", "\199\181"; - "hyphen", "\226\128\144"; - "uuml", "\195\188"; - "thorn", "\195\190"; - "ltri", "\226\151\131"; - "eqslantgtr", "\226\139\157"; - "DoubleContourIntegral", "\226\136\175"; - "lescc", "\226\170\168"; - "DiacriticalGrave", "`"; - "NotPrecedesEqual", "\226\170\175\204\184"; - "RightArrow", "\226\134\146"; - "race", "\226\167\154"; - "topbot", "\226\140\182"; - "Pfr", "\240\157\148\147"; - "napprox", "\226\137\137"; - "Sacute", "\197\154"; - "cupor", "\226\169\133"; - "OverBar", "\194\175"; - "bepsi", "\207\182"; - "plankv", "\226\132\143"; - "lap", "\226\137\178"; - "orslope", "\226\169\151"; - "beta", "\206\178"; - "ShortDownArrow", "\226\140\132\239\184\128"; - "perp", "\226\138\165"; - "lat", "\226\170\171"; - "CenterDot", "\194\183"; - "urcorner", "\226\140\157"; - "models", "\226\138\167"; - "beth", "\226\132\182"; - "subE", "\226\138\134"; - "subnE", "\226\138\138"; - "ldots", "\226\128\166"; - "yacy", "\209\143"; - "udhar", "\226\165\174"; - "Scedil", "\197\158"; - "subsub", "\226\171\149"; - "nvrtrie", "\226\139\173\204\184"; - "Phi", "\206\166"; - "Efr", "\240\157\148\136"; - "larrfs", "\226\164\157"; - "angle", "\226\136\160"; - "TildeFullEqual", "\226\137\133"; - "Jcirc", "\196\180"; - "THORN", "\195\158"; - "acE", "\226\167\155"; - "Longleftrightarrow", "????"; - "xuplus", "\226\138\142"; - "searr", "\226\134\152"; - "gvertneqq", "\226\137\169\239\184\128"; - "subsup", "\226\171\147"; - "NotSucceedsEqual", "\226\170\176\204\184"; - "gtrsim", "\226\137\179"; - "nrArr", "\226\135\143"; - "NotSquareSupersetEqual", "\226\139\163"; - "notindot", "\226\139\182\239\184\128"; - "HARDcy", "\208\170"; - "jmath", "j\239\184\128"; - "aelig", "\195\166"; - "slarr", "\226\134\144\239\184\128"; - "dlcrop", "\226\140\141"; - "sube", "\226\138\134"; - "cuepr", "\226\139\158"; - "supsub", "\226\171\148"; - "trianglelefteq", "\226\138\180"; - "subne", "\226\138\138"; - "between", "\226\137\172"; - "measuredangle", "\226\136\161"; - "swnwar", "\226\164\170"; - "lcy", "\208\187"; - "ccirc", "\196\137"; - "larrhk", "\226\134\169"; - "DiacriticalTilde", "\203\156"; - "brvbar", "\194\166"; - "triangledown", "\226\150\191"; - "dtrif", "\226\150\190"; - "Bopf", "\240\157\148\185"; - "xwedge", "\226\139\128"; - "rightsquigarrow", "\226\134\157"; - "acd", "\226\136\191"; - "supsup", "\226\171\150"; - "UpEquilibrium", "\226\165\174"; - "succ", "\226\137\187"; - "eqslantless", "\226\139\156"; - "coprod", "\226\136\144"; - "OpenCurlyDoubleQuote", "\226\128\156"; - "NotGreaterSlantEqual", "\226\137\177"; - "solb", "\226\167\132"; - "HumpDownHump", "\226\137\142"; - "gtrapprox", "\226\137\179"; - "Iopf", "\240\157\149\128"; - "leg", "\226\139\154"; - "wfr", "\240\157\148\180"; - "mapstoleft", "\226\134\164"; - "gnapprox", "\226\170\138"; - "lgE", "\226\170\145"; - "CloseCurlyDoubleQuote", "\226\128\157"; - "NotNestedLessLess", "\226\146\161\204\184"; - "acy", "\208\176"; - "leq", "\226\137\164"; - "Popf", "\226\132\153"; - "les", "\226\169\189"; - "succcurlyeq", "\226\137\189"; - "heartsuit", "\226\153\161"; - "angmsd", "\226\136\161"; - "cuesc", "\226\139\159"; - "lesseqgtr", "\226\139\154"; - "vartriangleright", "\226\138\179"; - "csupe", "\226\171\146"; - "rthree", "\226\139\140"; - "Idot", "\196\176"; - "gtdot", "\226\139\151"; - "dashv", "\226\138\163"; - "Odblac", "\197\144"; - "Lmidot", "\196\191"; - "andd", "\226\169\156"; - "Wopf", "\240\157\149\142"; - "nvltrie", "\226\139\172\204\184"; - "nhpar", "\226\171\178"; - "geqslant", "\226\169\190"; - "xlArr", "\239\149\185"; - "SquareSubset", "\226\138\143"; - "intcal", "\226\138\186"; - "ljcy", "\209\153"; - "lfr", "\240\157\148\169"; - "gtlPar", "\226\166\149"; - "zigrarr", "\226\135\157"; - "nvap", "\226\137\137\204\184"; - "boxtimes", "\226\138\160"; - "raquo", "\194\187"; - "CircleMinus", "\226\138\150"; - "centerdot", "\194\183"; - "xoplus", "\226\138\149"; - "simdot", "\226\169\170"; - "Vcy", "\208\146"; - "profline", "\226\140\146"; - "ltquest", "\226\169\187"; - "andv", "\226\169\154"; - "lessgtr", "\226\137\182"; - "lesdoto", "\226\170\129"; - "NotSquareSubset", "\226\138\143\204\184"; - "bullet", "\226\128\162"; - "rarrsim", "\226\165\180"; - "Tcedil", "\197\162"; - "Hstrok", "\196\166"; - "eopf", "\240\157\149\150"; - "Theta", "\206\152"; - "Cscr", "\240\157\146\158"; - "emacr", "\196\147"; - "UnionPlus", "\226\138\142"; - "Vee", "\226\139\129"; - "arctan", "arctan"; - "afr", "\240\157\148\158"; - "thinsp", "\226\128\137"; - "bottom", "\226\138\165"; - "lopf", "\240\157\149\157"; - "larrlp", "\226\134\171"; - "lbrace", "{"; - "Jscr", "\240\157\146\165"; - "Kcy", "\208\154"; - "shortparallel", "\226\136\165\239\184\128"; - "hairsp", "\226\128\138"; - "osol", "\226\138\152"; - "lbrack", "["; - "hArr", "\226\135\148"; - "vdash", "\226\138\162"; - "UpDownArrow", "\226\134\149"; - "edot", "\196\151"; - "vzigzag", "\226\166\154"; - "sopf", "\240\157\149\164"; - "NotLessGreater", "\226\137\184"; - "Qscr", "\240\157\146\172"; - "Gammad", "\207\156"; - "SubsetEqual", "\226\138\134"; - "uplus", "\226\138\142"; - "LeftTriangle", "\226\138\178"; - "ange", "\226\166\164"; - "lim", "lim"; - "triangleright", "\226\150\185"; - "angrt", "\226\136\159"; - "rfloor", "\226\140\139"; - "bigtriangledown", "\226\150\189"; - "ofcir", "\226\166\191"; - "Vfr", "\240\157\148\153"; - "zopf", "\240\157\149\171"; - "UpArrowDownArrow", "\226\135\133"; - "Xscr", "\240\157\146\179"; - "digamma", "\207\156"; - "SmallCircle", "\226\136\152"; - "vArr", "\226\135\149"; - "eqsim", "\226\137\130"; - "downharpoonright", "\226\135\130"; - "Ccaron", "\196\140"; - "sdot", "\226\139\133"; - "frown", "\226\140\162"; - "angst", "\226\132\171"; - "lesges", "\226\170\147"; - "iacute", "\195\173"; - "wedge", "\226\136\167"; - "ssetmn", "\226\136\150\239\184\128"; - "rotimes", "\226\168\181"; - "laquo", "\194\171"; - "bigstar", "\226\152\133"; - "Rrightarrow", "\226\135\155"; - "erDot", "\226\137\147"; - "subseteq", "\226\138\134"; - "leftharpoondown", "\226\134\189"; - "infin", "\226\136\158"; - "zdot", "\197\188"; - "solbar", "\226\140\191"; - "Iuml", "\195\143"; - "Kfr", "\240\157\148\142"; - "fscr", "\240\157\146\187"; - "DJcy", "\208\130"; - "veeeq", "\226\137\154"; - "Star", "\226\139\134"; - "lsquor", "\226\128\154"; - "Uacute", "\195\154"; - "weierp", "\226\132\152"; - "rang", "\226\140\170"; - "hamilt", "\226\132\139"; - "angsph", "\226\136\162"; - "YUcy", "\208\174"; - "Wcirc", "\197\180"; - "supsetneq", "\226\138\139"; - "gap", "\226\137\179"; - "mscr", "\240\157\147\130"; - "KJcy", "\208\140"; - "qprime", "\226\129\151"; - "EqualTilde", "\226\137\130"; - "vBar", "\226\171\168"; - "larrpl", "\226\164\185"; - "nvge", "\226\137\177"; - "approx", "\226\137\136"; - "lnE", "\226\137\168"; - "NotGreaterLess", "\226\137\185"; - "epar", "\226\139\149"; - "bigotimes", "\226\138\151"; - "xharr", "\239\149\184"; - "roang", "\239\149\153"; - "xcup", "\226\139\131"; - "tscr", "\240\157\147\137"; - "thkap", "\226\137\136\239\184\128"; - "Aacute", "\195\129"; - "rcy", "\209\128"; - "jukcy", "\209\148"; - "hookleftarrow", "\226\134\169"; - "napid", "\226\137\139\204\184"; - "tscy", "\209\134"; - "nvgt", "\226\137\175"; - "lpar", "("; - "ldsh", "\226\134\178"; - "aring", "\195\165"; - "nGg", "\226\139\153\204\184"; - "LessEqualGreater", "\226\139\154"; - "gcd", "gcd"; - "oplus", "\226\138\149"; - "lcaron", "\196\190"; - "DownArrow", "\226\134\147"; - "xutri", "\226\150\179"; - "Psi", "\206\168"; - "lesssim", "\226\137\178"; - "topcir", "\226\171\177"; - "puncsp", "\226\128\136"; - "origof", "\226\138\182"; - "gnsim", "\226\139\167"; - "eogon", "\196\153"; - "spar", "\226\136\165\239\184\128"; - "LowerRightArrow", "\226\134\152"; - "Lleftarrow", "\226\135\154"; - "nGt", "\226\137\171\204\184"; - "euml", "\195\171"; - "reg", "\194\174"; - "exponentiale", "\226\133\135"; - "qint", "\226\168\140"; - "sqcups", "\226\138\148\239\184\128"; - "lne", "\226\137\168"; - "LessSlantEqual", "\226\169\189"; - "Egrave", "\195\136"; - "orderof", "\226\132\180"; - "cirE", "\226\167\131"; - "nleqslant", "\226\137\176"; - "gcy", "\208\179"; - "curvearrowright", "\226\134\183"; - "ratail", "\226\134\163"; - "emsp13", "\226\128\132"; - "sdotb", "\226\138\161"; - "horbar", "\226\128\149"; - "emsp14", "\226\128\133"; - "npre", "\226\170\175\204\184"; - "rbrksld", "\226\166\142"; - "sdote", "\226\169\166"; - "varsupsetneqq", "\226\138\139\239\184\128"; - "VeryThinSpace", "\226\128\138"; - "DownArrowBar", "\226\164\147"; - "Rightarrow", "\226\135\146"; - "ocir", "\226\138\154"; - "NotHumpDownHump", "\226\137\142\204\184"; - "darr", "\226\134\147"; - "geqq", "\226\137\167"; - "sup1", "\194\185"; - "log", "log"; - "sup2", "\194\178"; - "micro", "\194\181"; - "amp", "&"; - "arccos", "arccos"; - "sup3", "\194\179"; - "GreaterTilde", "\226\137\179"; - "circeq", "\226\137\151"; - "rfr", "\240\157\148\175"; - "dash", "\226\128\144"; - "rbrkslu", "\226\166\144"; - "Dcaron", "\196\142"; - "and", "\226\136\167"; - "Vbar", "\226\171\171"; - "angzarr", "\226\141\188"; - "gel", "\226\139\155"; - "ang", "\226\136\160"; - "lor", "\226\136\168"; - "circ", "\226\136\152"; - "upharpoonright", "\226\134\190"; - "dblac", "\203\157"; - "subsetneqq", "\226\138\138"; - "rhard", "\226\135\129"; - "Intersection", "\226\139\130"; - "cire", "\226\137\151"; - "apE", "\226\137\138"; - "sung", "\226\153\170"; - "geq", "\226\137\165"; - "succsim", "\226\137\191"; - "ges", "\226\169\190"; - "Gbreve", "\196\158"; - "intercal", "\226\138\186"; - "supE", "\226\138\135"; - "NotCupCap", "\226\137\173"; - "loz", "\226\151\138"; - "capcup", "\226\169\135"; - "larrtl", "\226\134\162"; - "AElig", "\195\134"; - "rarr", "\226\134\146"; - "varkappa", "\207\176"; - "upsi", "\207\133"; - "loang", "\239\149\152"; - "looparrowleft", "\226\134\171"; - "IOcy", "\208\129"; - "backprime", "\226\128\181"; - "sstarf", "\226\139\134"; - "rharu", "\226\135\128"; - "gesl", "\226\139\155\239\184\128"; - "xotime", "\226\138\151"; - "minus", "\226\136\146"; - "gvnE", "\226\137\169\239\184\128"; - "gfr", "\240\157\148\164"; - "lfisht", "\226\165\188"; - "jcirc", "\196\181"; - "roarr", "\226\135\190"; - "rho", "\207\129"; - "nvle", "\226\137\176"; - "sect", "\194\167"; - "ggg", "\226\139\153"; - "plusb", "\226\138\158"; - "NotTildeFullEqual", "\226\137\135"; - "NegativeVeryThinSpace", "\226\128\138\239\184\128"; - "ape", "\226\137\138"; - "pluse", "\226\169\178"; - "dollar", "$"; - "divonx", "\226\139\135"; - "partial", "\226\136\130"; - "DoubleLeftRightArrow", "\226\135\148"; - "varepsilon", "\206\181"; - "supe", "\226\138\135"; - "nvlt", "\226\137\174"; - "angrtvb", "\226\166\157\239\184\128"; - "gets", "\226\134\144"; - "nparallel", "\226\136\166"; - "varphi", "\207\134"; - "nsupseteq", "\226\138\137"; - "circledR", "\194\174"; - "circledS", "\226\147\136"; - "primes", "\226\132\153"; - "cuwed", "\226\139\143"; - "cupcap", "\226\169\134"; - "nLl", "\226\139\152\204\184"; - "lozf", "\226\167\171"; - "ShortLeftArrow", "\226\134\144\239\184\128"; - "nLt", "\226\137\170\204\184"; - "lesdotor", "\226\170\131"; - "Fcy", "\208\164"; - "scnsim", "\226\139\169"; - "VerticalLine", "|"; - "nwArr", "\226\135\150"; - "LeftTeeArrow", "\226\134\164"; - "iprod", "\226\168\188"; - "lsh", "\226\134\176"; - "Congruent", "\226\137\161"; - "NotLeftTriangle", "\226\139\170"; - "rdldhar", "\226\165\169"; - "varpropto", "\226\136\157"; - "nvlArr", "\226\135\141"; - "arg", "arg"; - "lhard", "\226\134\189"; - "surd", "????"; - "napos", "\197\137"; - "lparlt", "\226\166\147"; - "hslash", "\226\132\143"; - "Gopf", "\240\157\148\190"; - "SHcy", "\208\168"; - "triangle", "\226\150\181"; - "Qfr", "\240\157\148\148"; - "DiacriticalAcute", "\194\180"; - "tbrk", "\226\142\180"; - "Implies", "\226\135\146"; - "comp", "\226\136\129"; - "ddarr", "\226\135\138"; - "Colone", "\226\169\180"; - "smashp", "\226\168\179"; - "ccups", "\226\169\140"; - "triangleq", "\226\137\156"; - "NotSquareSubsetEqual", "\226\139\162"; - "Nopf", "\226\132\149"; - "ZHcy", "\208\150"; - "map", "\226\134\166"; - "lharu", "\226\134\188"; - "glE", "\226\170\146"; - "cong", "\226\137\133"; - "Ecaron", "\196\154"; - "Uring", "\197\174"; - "blacktriangleright", "\226\150\184"; - "ntilde", "\195\177"; - "max", "max"; - "loarr", "\226\135\189"; - "LeftArrow", "\226\134\144"; - "Gdot", "\196\160"; - "Uopf", "\240\157\149\140"; - "bigsqcup", "\226\138\148"; - "wedgeq", "\226\137\153"; - "RoundImplies", "\226\165\176"; - "prap", "\226\137\190"; - "gescc", "\226\170\169"; - "realine", "\226\132\155"; - "ast", "*"; - "subedot", "\226\171\131"; - "LeftTeeVector", "\226\165\154"; - "female", "\226\153\128"; - "circlearrowleft", "\226\134\186"; - "Ffr", "\240\157\148\137"; - "VDash", "\226\138\171"; - "jsercy", "\209\152"; - "Proportional", "\226\136\157"; - "OverBracket", "\226\142\180"; - "gla", "\226\170\165"; - "NotElement", "\226\136\137"; - "theta", "\206\184"; - "kcedil", "\196\183"; - "smeparsl", "\226\167\164"; - "rarrb", "\226\135\165"; - "rarrc", "\226\164\179"; - "ograve", "\195\178"; - "glj", "\226\170\164"; - "infty", "\226\136\158"; - "gnE", "\226\137\169"; - "copf", "\240\157\149\148"; - "LeftArrowRightArrow", "\226\135\134"; - "cwconint", "\226\136\178"; - "Ascr", "\240\157\146\156"; - "NegativeThinSpace", "\226\128\137\239\184\128"; - "varsubsetneq", "\226\138\138\239\184\128"; - "trisb", "\226\167\141"; - "rightharpoonup", "\226\135\128"; - "imagline", "\226\132\144"; - "mcy", "\208\188"; - "Cacute", "\196\134"; - "bumpeq", "\226\137\143"; - "jopf", "\240\157\149\155"; - "shchcy", "\209\137"; - "rarrw", "\226\134\157"; - "uuarr", "\226\135\136"; - "doteq", "\226\137\144"; - "cudarrl", "\226\164\184"; - "varsigma", "\207\130"; - "Hscr", "\226\132\139"; - "DownArrowUpArrow", "\226\135\181"; - "Ecirc", "\195\138"; - "DD", "\226\133\133"; - "copy", "\194\169"; - "SquareIntersection", "\226\138\147"; - "RightUpVector", "\226\134\190"; - "NotSucceedsSlantEqual", "\226\139\161"; - "cudarrr", "\226\164\181"; - "verbar", "|"; - "ncaron", "\197\136"; - "prurel", "\226\138\176"; - "nearr", "\226\134\151"; - "cdot", "\196\139"; - "qopf", "\240\157\149\162"; - "SucceedsSlantEqual", "\226\137\189"; - "Oscr", "\240\157\146\170"; - "xfr", "\240\157\148\181"; - "gne", "\226\137\169"; - "Ccedil", "\195\135"; - "nlarr", "\226\134\154"; - "inodot", "\196\177"; - "prec", "\226\137\186"; - "percnt", "%"; - "Exists", "\226\136\131"; - "bcy", "\208\177"; - "xopf", "\240\157\149\169"; - "nsimeq", "\226\137\132"; - "nrtri", "\226\139\171"; - "barvee", "\226\138\189"; - "Vscr", "\240\157\146\177"; - "Zcaron", "\197\189"; - "ReverseElement", "\226\136\139"; - "npolint", "\226\168\148"; - "NotGreaterTilde", "\226\137\181"; - "lmoustache", "\226\142\176"; - "forkv", "\226\171\153"; - "rmoustache", "\226\142\177"; - "DownLeftVectorBar", "\226\165\150"; - "cosh", "cosh"; - "mfr", "\240\157\148\170"; - "LessGreater", "\226\137\182"; - "zeetrf", "\226\132\168"; - "DiacriticalDot", "\203\153"; - "Poincareplane", "\226\132\140"; - "curlyeqsucc", "\226\139\159"; - "Equal", "\226\169\181"; - "divides", "\226\136\163"; - "scpolint", "\226\168\147"; - "ngsim", "\226\137\181"; - "larrbfs", "\226\164\159"; - "HilbertSpace", "\226\132\139"; - "otilde", "\195\181"; - "larrb", "\226\135\164"; - "wcirc", "\197\181"; - "dscr", "\240\157\146\185"; - "phmmat", "\226\132\179"; - "lacute", "\196\186"; - "tstrok", "\197\167"; - "NotDoubleVerticalBar", "\226\136\166"; - "lagran", "\226\132\146"; - "NotRightTriangle", "\226\139\171"; - "dscy", "\209\149"; - "rightrightarrows", "\226\135\137"; - "seArr", "\226\135\152"; - "RightTriangleBar", "\226\167\144"; - "coth", "coth"; - "swarrow", "\226\134\153"; - "semi", ";"; - "kscr", "\240\157\147\128"; - "NotLessEqual", "\226\137\176\226\131\165"; - "cularr", "\226\134\182"; - "blacklozenge", "\226\167\171"; - "realpart", "\226\132\156"; - "LeftTriangleEqual", "\226\138\180"; - "bfr", "\240\157\148\159"; - "Uuml", "\195\156"; - "longleftrightarrow", "????"; - "lcedil", "\196\188"; - "complement", "\226\136\129"; - "rscr", "\240\157\147\135"; - "mho", "\226\132\167"; - "mcomma", "\226\168\169"; - "wedbar", "\226\169\159"; - "NotVerticalBar", "\226\136\164"; - "Lcy", "\208\155"; - "tprime", "\226\128\180"; - "precneqq", "\226\170\181"; - "Downarrow", "\226\135\147"; - "rsh", "\226\134\177"; - "mid", "\226\136\163"; - "blank", "\226\144\163"; - "square", "\226\150\161"; - "squarf", "\226\150\170"; - "fflig", "\239\172\128"; - "downdownarrows", "\226\135\138"; - "yscr", "\240\157\147\142"; - "subdot", "\226\170\189"; - "ShortRightArrow", "\226\134\146\239\184\128"; - "NotCongruent", "\226\137\162"; - "Gg", "\226\139\153"; - "Lstrok", "\197\129"; - "min", "max"; - "Laplacetrf", "\226\132\146"; - "rarrap", "\226\165\181"; - "NotLessSlantEqual", "\226\137\176"; - "DoubleRightArrow", "\226\135\146"; - "Wfr", "\240\157\148\154"; - "subrarr", "\226\165\185"; - "numsp", "\226\128\135"; - "khcy", "\209\133"; - "oint", "\226\136\174"; - "vprop", "\226\136\157"; - "hardcy", "\209\138"; - "boxminus", "\226\138\159"; - "GreaterLess", "\226\137\183"; - "thetav", "\207\145"; - "scE", "\226\137\190"; - "Gt", "\226\137\171"; - "Acy", "\208\144"; - "backcong", "\226\137\140"; - "gtquest", "\226\169\188"; - "awint", "\226\168\145"; - "profsurf", "\226\140\147"; - "capdot", "\226\169\128"; - "supdot", "\226\170\190"; - "oelig", "\197\147"; - "doteqdot", "\226\137\145"; - "rharul", "\226\165\172"; - "cylcty", "\226\140\173"; - "epsi", "\206\181"; - "eqcirc", "\226\137\150"; - "nLeftarrow", "\226\135\141"; - "rtrie", "\226\138\181"; - "para", "\194\182"; - "Lfr", "\240\157\148\143"; - "rtrif", "\226\150\184"; - "NotReverseElement", "\226\136\140"; - "emptyv", "\226\136\133"; - "nldr", "\226\128\165"; - "leqq", "\226\137\166"; - "CapitalDifferentialD", "\226\133\133"; - "supsetneqq", "\226\138\139"; - "boxDL", "\226\149\151"; - "Im", "\226\132\145"; - "sce", "\226\137\189"; - "prsim", "\226\137\190"; - "diams", "\226\153\166"; - "gtreqqless", "\226\139\155"; - "boxDR", "\226\149\148"; - "vartriangleleft", "\226\138\178"; - "SupersetEqual", "\226\138\135"; - "Omega", "\206\169"; - "nsubseteqq", "\226\138\136"; - "Subset", "\226\139\144"; - "ncongdot", "\226\169\173\204\184"; - "minusb", "\226\138\159"; - "ltimes", "\226\139\137"; - "seswar", "\226\164\169"; - "part", "\226\136\130"; - "bumpE", "\226\170\174"; - "minusd", "\226\136\184"; - "Amacr", "\196\128"; - "nleq", "\226\137\176"; - "nles", "\226\137\176"; - "NotLess", "\226\137\174"; - "scy", "\209\129"; - "iinfin", "\226\167\156"; - "Afr", "\240\157\148\132"; - "isinsv", "\226\139\179"; - "prnE", "\226\170\181"; - "lesg", "\226\139\154\239\184\128"; - "cups", "\226\136\170\239\184\128"; - "thickapprox", "\226\137\136\239\184\128"; - "RightTeeVector", "\226\165\155"; - "LowerLeftArrow", "\226\134\153"; - "utdot", "\226\139\176"; - "homtht", "\226\136\187"; - "ddotseq", "\226\169\183"; - "bowtie", "\226\139\136"; - "succnsim", "\226\139\169"; - "boxDl", "\226\149\150"; - "quot", "\""; - "lvnE", "\226\137\168\239\184\128"; - "CircleDot", "\226\138\153"; - "lsime", "\226\170\141"; - "Yacute", "\195\157"; - "esdot", "\226\137\144"; - "Supset", "\226\139\145"; - "lsimg", "\226\170\143"; - "eDot", "\226\137\145"; - "sec", "sec"; - "boxDr", "\226\149\147"; - "plus", "+"; - "ddagger", "\226\128\161"; - "Vdashl", "\226\171\166"; - "equest", "\226\137\159"; - "quest", "?"; - "divideontimes", "\226\139\135"; - "nsmid", "\226\136\164\239\184\128"; - "fnof", "\198\146"; - "bumpe", "\226\137\143"; - "lhblk", "\226\150\132"; - "prnap", "\226\139\168"; - "compfn", "\226\136\152"; - "nsucceq", "\226\170\176\204\184"; - "RightArrowLeftArrow", "\226\135\132"; - "sharp", "\226\153\175"; - "CHcy", "\208\167"; - "dwangle", "\226\166\166"; - "angrtvbd", "\226\166\157"; - "period", "."; - "phone", "\226\152\142"; - "Eacute", "\195\137"; - "dzigrarr", "\239\150\162"; - "Ll", "\226\139\152"; - "succapprox", "\226\137\191"; - "rarrfs", "\226\164\158"; - "dbkarow", "\226\164\143"; - "zeta", "\206\182"; - "Lt", "\226\137\170"; - "triminus", "\226\168\186"; - "odiv", "\226\168\184"; - "ltrie", "\226\138\180"; - "Dagger", "\226\128\161"; - "ltrif", "\226\151\130"; - "boxHD", "\226\149\166"; - "timesb", "\226\138\160"; - "check", "\226\156\147"; - "urcorn", "\226\140\157"; - "timesd", "\226\168\176"; - "tshcy", "\209\155"; - "sfr", "\240\157\148\176"; - "lmoust", "\226\142\176"; - "ruluhar", "\226\165\168"; - "bne", "=\226\131\165"; - "prod", "\226\136\143"; - "Eopf", "\240\157\148\188"; - "scsim", "\226\137\191"; - "GreaterEqualLess", "\226\139\155"; - "Igrave", "\195\140"; - "Longrightarrow", "\226\135\146"; - "bigcap", "\226\139\130"; - "boxHU", "\226\149\169"; - "uring", "\197\175"; - "equivDD", "\226\169\184"; - "prop", "\226\136\157"; - "Lopf", "\240\157\149\131"; - "ldrushar", "\226\165\139"; - "rarrhk", "\226\134\170"; - "Leftarrow", "\226\135\144"; - "lltri", "\226\151\186"; - "NestedGreaterGreater", "\226\137\171"; - "GreaterFullEqual", "\226\137\167"; - "robrk", "\227\128\155"; - "larrsim", "\226\165\179"; - "boxHd", "\226\149\164"; - "vDash", "\226\138\168"; - "hfr", "\240\157\148\165"; - "Edot", "\196\150"; - "Vvdash", "\226\138\170"; - "Sopf", "\240\157\149\138"; - "upuparrows", "\226\135\136"; - "RightUpTeeVector", "\226\165\156"; - "DownLeftVector", "\226\134\189"; - "xhArr", "\239\149\187"; - "triplus", "\226\168\185"; - "bot", "\226\138\165"; - "Rcy", "\208\160"; - "eDDot", "\226\169\183"; - "subseteqq", "\226\138\134"; - "cirfnint", "\226\168\144"; - "spadesuit", "\226\153\160"; - "nacute", "\197\132"; - "Zopf", "\226\132\164"; - "upharpoonleft", "\226\134\191"; - "shy", "\194\173"; - "nparsl", "\226\136\165\239\184\128\226\131\165"; - "boxHu", "\226\149\167"; - "ThickSpace", "\226\128\137\226\128\138\226\128\138"; - "Or", "\226\169\148"; - "raemptyv", "\226\166\179"; - "Aogon", "\196\132"; - "IEcy", "\208\149"; - "sim", "\226\136\188"; - "sin", "sin"; - "copysr", "\226\132\151"; - "scnap", "\226\139\169"; - "rdquo", "\226\128\157"; - "aopf", "\240\157\149\146"; - "Pi", "\206\160"; - "Udblac", "\197\176"; - "expectation", "\226\132\176"; - "Zacute", "\197\185"; - "urtri", "\226\151\185"; - "NotTildeEqual", "\226\137\132"; - "ncedil", "\197\134"; - "Gamma", "\206\147"; - "ecirc", "\195\170"; - "dsol", "\226\167\182"; - "Gcy", "\208\147"; - "Pr", "Pr"; - "Zdot", "\197\187"; - "mnplus", "\226\136\147"; - "hopf", "\240\157\149\153"; - "blacktriangledown", "\226\150\190"; - "LeftCeiling", "\226\140\136"; - "ulcorn", "\226\140\156"; - "searrow", "\226\134\152"; - "GreaterGreater", "\226\170\162"; - "Fscr", "\226\132\177"; - "cupcup", "\226\169\138"; - "NotEqual", "\226\137\160"; - "sext", "\226\156\182"; - "CirclePlus", "\226\138\149"; - "erarr", "\226\165\177"; - "dArr", "\226\135\147"; - "PrecedesSlantEqual", "\226\137\188"; - "Itilde", "\196\168"; - "gesdoto", "\226\170\130"; - "Rang", "\227\128\139"; - "nwarhk", "\226\164\163"; - "minusdu", "\226\168\170"; - "oopf", "\240\157\149\160"; - "Mscr", "\226\132\179"; - "Rfr", "\226\132\156"; - "langle", "\226\140\169"; - "And", "\226\169\147"; - "bprime", "\226\128\181"; - "nLeftrightarrow", "\226\135\142"; - "Re", "\226\132\156"; - "OpenCurlyQuote", "\226\128\152"; - "vopf", "\240\157\149\167"; - "ulcorner", "\226\140\156"; - "nap", "\226\137\137"; - "Tscr", "\240\157\146\175"; - "gtreqless", "\226\139\155"; - "rarrlp", "\226\134\172"; - "Lambda", "\206\155"; - "lobrk", "\227\128\154"; - "rbrace", "}"; - "rArr", "\226\135\146"; - "coloneq", "\226\137\148"; - "UpArrow", "\226\134\145"; - "odot", "\226\138\153"; - "LeftDownTeeVector", "\226\165\161"; - "complexes", "\226\132\130"; - "rbrack", "]"; - "DownTeeArrow", "\226\134\167"; - "sqcap", "\226\138\147"; - "Sc", "\226\170\188"; - "ycy", "\209\139"; - "Prime", "\226\128\179"; - "Gfr", "\240\157\148\138"; - "trianglerighteq", "\226\138\181"; - "rangd", "\226\166\146"; - "gtrdot", "\226\139\151"; - "range", "\226\166\165"; - "rsqb", "]"; - "Euml", "\195\139"; - "Therefore", "\226\136\180"; - "nesim", "\226\137\130\204\184"; - "order", "\226\132\180"; - "vsupnE", "\226\138\139\239\184\128"; - "awconint", "\226\136\179"; - "bscr", "\240\157\146\183"; - "lesseqqgtr", "\226\139\154"; - "cap", "\226\136\169"; - "ldquo", "\226\128\156"; - "nsubseteq", "\226\138\136"; - "rhov", "\207\177"; - "xvee", "\226\139\129"; - "olarr", "\226\134\186"; - "nang", "\226\136\160\204\184"; - "uwangle", "\226\166\167"; - "nlsim", "\226\137\180"; - "smt", "\226\170\170"; - "nVdash", "\226\138\174"; - "napE", "\226\169\176\204\184"; - "ngeq", "\226\137\177"; - "iscr", "\240\157\146\190"; - "GJcy", "\208\131"; - "nges", "\226\137\177"; - "exist", "\226\136\131"; - "cent", "\194\162"; - "oacute", "\195\179"; - "Darr", "\226\134\161"; - "yen", "\194\165"; - "bigcirc", "\226\151\175"; - "ncy", "\208\189"; - "midast", "*"; - "UpperRightArrow", "\226\134\151"; - "precnapprox", "\226\139\168"; - "OElig", "\197\146"; - "hybull", "\226\129\131"; - "cupbrcap", "\226\169\136"; - "rationals", "\226\132\154"; - "VerticalTilde", "\226\137\128"; - "pscr", "\240\157\147\133"; - "NJcy", "\208\138"; - "NotSucceedsTilde", "\226\137\191\204\184"; - "vsupne", "\226\138\139\239\184\128"; - "Updownarrow", "\226\135\149"; - "Lsh", "\226\134\176"; - "rAarr", "\226\135\155"; - "precapprox", "\226\137\190"; - "rsquor", "\226\128\153"; - "pound", "\194\163"; - "lbrksld", "\226\166\143"; - "gesdot", "\226\170\128"; - "Element", "\226\136\136"; - "xcirc", "\226\151\175"; - "wscr", "\240\157\147\140"; - "toea", "\226\164\168"; - "setmn", "\226\136\150"; - "neg", "\194\172"; - "sol", "/"; - "yfr", "\240\157\148\182"; - "DoubleDownArrow", "\226\135\147"; - "Rarr", "\226\134\160"; - "ngE", "\226\137\177"; - "Upsi", "\207\146"; - "opar", "\226\166\183"; - "rarrpl", "\226\165\133"; - "auml", "\195\164"; - "bmod", "mod"; - "SquareSuperset", "\226\138\144"; - "neq", "\226\137\160"; - "circleddash", "\226\138\157"; - "xrarr", "\239\149\183"; - "barwed", "\226\138\188"; - "lbrkslu", "\226\166\141"; - "planckh", "\226\132\142"; - "ldrdhar", "\226\165\167"; - "circledcirc", "\226\138\154"; - "ctdot", "\226\139\175"; - "fallingdotseq", "\226\137\146"; - "Map", "\226\164\133"; - "VerticalBar", "\226\136\163"; - "succeq", "\226\137\189"; - "tint", "\226\136\173"; - "imof", "\226\138\183"; - "diam", "\226\139\132"; - "twixt", "\226\137\172"; - "NoBreak", "\239\187\191"; - "langd", "\226\166\145"; - "Bernoullis", "\226\132\172"; - "rcaron", "\197\153"; - "hom", "hom"; - "nfr", "\240\157\148\171"; - "backsimeq", "\226\139\141"; - "target", "\226\140\150"; - "ouml", "\195\182"; - "nge", "\226\137\177\226\131\165"; - "LeftTriangleBar", "\226\167\143"; - "subplus", "\226\170\191"; - "parsim", "\226\171\179"; - "Gcedil", "\196\162"; - "bnequiv", "\226\137\161\226\131\165"; - "ubreve", "\197\173"; - "iexcl", "\194\161"; - "Xi", "\206\158"; - "omega", "\207\137"; - "elsdot", "\226\170\151"; - "propto", "\226\136\157"; - "squ", "\226\150\161"; - "Ycirc", "\197\182"; - "amacr", "\196\129"; - "curlyeqprec", "\226\139\158"; - "ngt", "\226\137\175"; - "plusdo", "\226\136\148"; - "ngeqslant", "\226\137\177"; - "LongRightArrow", "\239\149\183"; - "LeftUpVector", "\226\134\191"; - "asymp", "\226\137\141"; - "imped", "\240\157\149\131"; - "tritime", "\226\168\187"; - "rpargt", "\226\166\148"; - "DDotrahd", "\226\164\145"; - "prnsim", "\226\139\168"; - "plusdu", "\226\168\165"; - "cfr", "\240\157\148\160"; - "abreve", "\196\131"; - "suphsol", "\226\138\131/"; - "NegativeThickSpace", "\226\128\133\239\184\128"; - "Mcy", "\208\156"; - "uarr", "\226\134\145"; - "LeftRightVector", "\226\165\142"; - "lAarr", "\226\135\154"; - "bsim", "\226\136\189"; - "simrarr", "\226\165\178"; - "otimes", "\226\138\151"; - "NotSucceeds", "\226\138\129"; - "Cross", "\226\168\175"; - "downarrow", "\226\134\147"; - "blacktriangle", "\226\150\180"; - "TripleDot", "\226\131\155"; - "smallsetminus", "\226\136\150\239\184\128"; - "supedot", "\226\171\132"; - "NotPrecedesSlantEqual", "\226\139\160"; - "neArr", "\226\135\151"; - "rarrtl", "\226\134\163"; - "isin", "\226\136\136"; - "rrarr", "\226\135\137"; - "Upsilon", "\207\146"; - "sqsub", "\226\138\143"; - "boxUL", "\226\149\157"; - "LessTilde", "\226\137\178"; - "Xfr", "\240\157\148\155"; - "nis", "\226\139\188"; - "chi", "\207\135"; - "DownRightVector", "\226\135\129"; - "niv", "\226\136\139"; - "boxUR", "\226\149\154"; - "nlArr", "\226\135\141"; - "Bcy", "\208\145"; - "tan", "tan"; - "EmptyVerySmallSquare", "\239\150\156"; - "dstrok", "\196\145"; - "rfisht", "\226\165\189"; - "easter", "\226\137\155"; - "nlE", "\226\137\176"; - "Mellintrf", "\226\132\179"; - "lotimes", "\226\168\180"; - "sqsup", "\226\138\144"; - "boxVH", "\226\149\172"; - "bbrk", "\226\142\181"; - "tau", "\207\132"; - "UpTee", "\226\138\165"; - "NotLeftTriangleBar", "\226\167\143\204\184"; - "boxVL", "\226\149\163"; - "Proportion", "\226\136\183"; - "equiv", "\226\137\161"; - "blk12", "\226\150\146"; - "blk14", "\226\150\145"; - "fpartint", "\226\168\141"; - "boxVR", "\226\149\160"; - "starf", "\226\152\133"; - "risingdotseq", "\226\137\147"; - "Equilibrium", "\226\135\140"; - "ijlig", "\196\179"; - "yicy", "\209\151"; - "sum", "\226\136\145"; - "cir", "\226\151\139"; - "telrec", "\226\140\149"; - "Mfr", "\240\157\148\144"; - "dHar", "\226\165\165"; - "boxUl", "\226\149\156"; - "apid", "\226\137\139"; - "nleftarrow", "\226\134\154"; - "curarrm", "\226\164\188"; - "Scirc", "\197\156"; - "Copf", "\226\132\130"; - "RightTriangleEqual", "\226\138\181"; - "boxUr", "\226\149\153"; - "loplus", "\226\168\173"; - "varsupsetneq", "\226\138\139\239\184\128"; - "scaron", "\197\161"; - "Diamond", "\226\139\132"; - "lowast", "\226\136\151"; - "nle", "\226\137\176\226\131\165"; - "phiv", "\207\149"; - "gesdotol", "\226\170\132"; - "boxVh", "\226\149\171"; - "nleftrightarrow", "\226\134\174"; - "Jopf", "\240\157\149\129"; - "boxVl", "\226\149\162"; - "nearhk", "\226\164\164"; - "vBarv", "\226\171\169"; - "rHar", "\226\165\164"; - "boxVr", "\226\149\159"; - "lessdot", "\226\139\150"; - "LeftDoubleBracket", "\227\128\154"; - "Delta", "\206\148"; - "limsup", "limsup"; - "tcy", "\209\130"; - "nlt", "\226\137\174"; - "Cdot", "\196\138"; - "blk34", "\226\150\147"; - "Bfr", "\240\157\148\133"; - "lowbar", "_"; - "lneqq", "\226\137\168"; - "TildeEqual", "\226\137\131"; - "shortmid", "\226\136\163\239\184\128"; - "Qopf", "\226\132\154"; - "drcorn", "\226\140\159"; - "ZeroWidthSpace", "\226\128\139"; - "aogon", "\196\133"; - "Rsh", "\226\134\177"; - "lrarr", "\226\135\134"; - "cupdot", "\226\138\141"; - "Xopf", "\240\157\149\143"; - "Backslash", "\226\136\150"; - "Union", "\226\139\131"; - "ratio", "\226\136\182"; - "duarr", "\226\135\181"; - "lates", "\226\170\173\239\184\128"; - "suphsub", "\226\171\151"; - "squf", "\226\150\170"; - "gamma", "\206\179"; - "lrhard", "\226\165\173"; - "intprod", "\226\168\188"; - "ReverseUpEquilibrium", "\226\165\175"; - "icy", "\208\184"; - "quatint", "\226\168\150"; - "nbump", "\226\137\142\204\184"; - "downharpoonleft", "\226\135\131"; - "otimesas", "\226\168\182"; - "nvHarr", "\226\135\142"; - "ContourIntegral", "\226\136\174"; - "bsol", "\\"; - "DoubleUpDownArrow", "\226\135\149"; - "disin", "\226\139\178"; - "Breve", "\203\152"; - "YAcy", "\208\175"; - "precsim", "\226\137\190"; - "NotGreaterGreater", "\226\137\171\204\184\239\184\128"; - "fopf", "\240\157\149\151"; - "SquareSupersetEqual", "\226\138\146"; - "Dscr", "\240\157\146\159"; - "gsime", "\226\170\142"; - "PartialD", "\226\136\130"; - "Umacr", "\197\170"; - "tfr", "\240\157\148\177"; - "cularrp", "\226\164\189"; - "UnderBracket", "\226\142\181"; - "ugrave", "\195\185"; - "mopf", "\240\157\149\158"; - "gsiml", "\226\170\144"; - "iquest", "\194\191"; - "nmid", "\226\136\164"; - "leftarrowtail", "\226\134\162"; - "not", "\194\172"; - "Kscr", "\240\157\146\166"; - "xsqcup", "\226\138\148"; - "triangleleft", "\226\151\131"; - "amalg", "\226\168\191"; - "prcue", "\226\137\188"; - "ac", "\226\164\143"; - "nharr", "\226\134\174"; - "dzcy", "\209\159"; - "topf", "\240\157\149\165"; - "iff", "\226\135\148"; - "af", "\226\129\161"; - "Uparrow", "\226\135\145"; - "Iacute", "\195\141"; - "Rscr", "\226\132\155"; - "vrtri", "\226\138\179"; - "multimap", "\226\138\184"; - "Hat", "\204\130"; - "rtriltri", "\226\167\142"; - "npr", "\226\138\128"; - "agrave", "\195\160"; - "UnderBar", "\204\178"; - "prime", "\226\128\178"; - "plusmn", "\194\177"; - "eplus", "\226\169\177"; - "ap", "\226\137\136"; - "dlcorn", "\226\140\158"; - "backsim", "\226\136\189"; - "ifr", "\240\157\148\166"; - "bigcup", "\226\139\131"; - "tcaron", "\197\165"; - "sqcaps", "\226\138\147\239\184\128"; - "equals", "="; - "curlywedge", "\226\139\143"; - "Yscr", "\240\157\146\180"; - "longrightarrow", "????"; - "fork", "\226\139\148"; - "cos", "cos"; - "cot", "cot"; - "ImaginaryI", "\226\133\136"; - "Scy", "\208\161"; - "mapsto", "\226\134\166"; - "tdot", "\226\131\155"; - "vellip", "\226\139\174"; - "sqsupseteq", "\226\138\146"; - "nvdash", "\226\138\172"; - "NotSuperset", "\226\138\133"; - "DoubleUpArrow", "\226\135\145"; - "land", "\226\136\167"; - "topfork", "\226\171\154"; - "llhard", "\226\165\171"; - "apos", "'"; - "oslash", "\195\184"; - "lang", "\226\140\169"; - "bernou", "\226\132\172"; - "varrho", "\207\177"; - "rcub", "}"; - "Cedilla", "\194\184"; - "ApplyFunction", "\226\129\161"; - "nsce", "\226\170\176\204\184"; - "gscr", "\226\132\138"; - "imagpart", "\226\132\145"; - "ngtr", "\226\137\175"; - "nsc", "\226\138\129"; - "Barv", "\226\171\167"; - "tosa", "\226\164\169"; - "nwnear", "\226\164\167"; - "ltlarr", "\226\165\182"; - "PrecedesEqual", "\226\170\175"; - "lessapprox", "\226\137\178"; - "Lcaron", "\196\189"; - ];; -let _ = - List.iter - (fun (macro, utf8) -> - Hashtbl.replace macro2utf8 macro utf8; - Hashtbl.replace utf82macro utf8 macro) - data;;