From 28d107b4ae7148885390a5dc3685017938d1aac1 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Thu, 17 Nov 2022 15:21:17 -0300 Subject: [PATCH 1/4] Validate XHTML entities in XML --- .../dstu2016may/metamodel/JsonParser.java | 9 +- .../fhir/dstu2016may/metamodel/XmlParser.java | 9 +- .../fhir/dstu3/elementmodel/JsonParser.java | 9 +- .../fhir/dstu3/elementmodel/XmlParser.java | 9 +- .../hl7/fhir/r4/elementmodel/JsonParser.java | 9 +- .../hl7/fhir/r4/elementmodel/XmlParser.java | 12 +- .../hl7/fhir/r4b/elementmodel/JsonParser.java | 9 +- .../hl7/fhir/r4b/elementmodel/XmlParser.java | 12 +- .../hl7/fhir/r5/elementmodel/JsonParser.java | 11 +- .../hl7/fhir/r5/elementmodel/XmlParser.java | 13 +- .../fhir/r5/utils/XVerExtensionManager.java | 16 +- .../fhir/utilities/i18n/I18nConstants.java | 2 + .../fhir/utilities/json/model/JsonObject.java | 106 +- .../hl7/fhir/utilities/npm/NpmPackage.java | 18 +- .../hl7/fhir/utilities/npm/PackageHacker.java | 7 +- .../hl7/fhir/utilities/xhtml/XhtmlParser.java | 4880 +++++++++-------- .../src/main/resources/Messages.properties | 2 + .../fhir/utilities/json/JsonParserTests.java | 6 +- pom.xml | 2 +- 19 files changed, 2652 insertions(+), 2489 deletions(-) diff --git a/org.hl7.fhir.dstu2016may/src/main/java/org/hl7/fhir/dstu2016may/metamodel/JsonParser.java b/org.hl7.fhir.dstu2016may/src/main/java/org/hl7/fhir/dstu2016may/metamodel/JsonParser.java index 753829bd5..51d215e27 100644 --- a/org.hl7.fhir.dstu2016may/src/main/java/org/hl7/fhir/dstu2016may/metamodel/JsonParser.java +++ b/org.hl7.fhir.dstu2016may/src/main/java/org/hl7/fhir/dstu2016may/metamodel/JsonParser.java @@ -55,6 +55,7 @@ import org.hl7.fhir.dstu2016may.utils.JsonTrackingParser; import org.hl7.fhir.dstu2016may.utils.JsonTrackingParser.LocationData; import org.hl7.fhir.exceptions.DefinitionException; import org.hl7.fhir.exceptions.FHIRFormatError; +import org.hl7.fhir.utilities.StringPair; import org.hl7.fhir.utilities.TextFile; import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.utilities.validation.ValidationMessage.IssueSeverity; @@ -249,7 +250,13 @@ public class JsonParser extends ParserBase { n.setValue(p.getAsString()); if (!n.getProperty().isChoice() && n.getType().equals("xhtml")) { try { - n.setXhtml(new XhtmlParser().setValidatorMode(policy == ValidationPolicy.EVERYTHING).parse(n.getValue(), null).getDocumentElement()); + XhtmlParser xp = new XhtmlParser(); + n.setXhtml(xp.parse(n.getValue(), null).getDocumentElement()); + if (policy == ValidationPolicy.EVERYTHING) { + for (StringPair s : xp.getValidationIssues()) { + logError(line(main), col(main), npath, IssueType.INVALID, s.getName() + s.getValue(), IssueSeverity.ERROR); + } + } } catch (Exception e) { logError(line(main), col(main), npath, IssueType.INVALID, "Error parsing XHTML: "+e.getMessage(), IssueSeverity.ERROR); } diff --git a/org.hl7.fhir.dstu2016may/src/main/java/org/hl7/fhir/dstu2016may/metamodel/XmlParser.java b/org.hl7.fhir.dstu2016may/src/main/java/org/hl7/fhir/dstu2016may/metamodel/XmlParser.java index 006175dc7..cae12763c 100644 --- a/org.hl7.fhir.dstu2016may/src/main/java/org/hl7/fhir/dstu2016may/metamodel/XmlParser.java +++ b/org.hl7.fhir.dstu2016may/src/main/java/org/hl7/fhir/dstu2016may/metamodel/XmlParser.java @@ -58,6 +58,7 @@ import org.hl7.fhir.dstu2016may.utils.XmlLocationAnnotator; import org.hl7.fhir.dstu2016may.utils.XmlLocationData; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.exceptions.FHIRFormatError; +import org.hl7.fhir.utilities.StringPair; import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.utilities.validation.ValidationMessage.IssueSeverity; import org.hl7.fhir.utilities.validation.ValidationMessage.IssueType; @@ -265,7 +266,13 @@ public class XmlParser extends ParserBase { Property property = getElementProp(properties, child.getLocalName()); if (property != null) { if (!property.isChoice() && "xhtml".equals(property.getType())) { - XhtmlNode xhtml = new XhtmlParser().setValidatorMode(true).parseHtmlNode((org.w3c.dom.Element) child); + XhtmlParser xp = new XhtmlParser(); + XhtmlNode xhtml = xp.parseHtmlNode((org.w3c.dom.Element) child); + if (policy == ValidationPolicy.EVERYTHING) { + for (StringPair s : xp.getValidationIssues()) { + logError(line(child), col(child), path, IssueType.INVALID, s.getName() + " "+s.getValue(), IssueSeverity.ERROR); + } + } context.getChildren().add(new Element("div", property, "xhtml", new XhtmlComposer(true, false).compose(xhtml)).setXhtml(xhtml).markLocation(line(child), col(child))); } else { String npath = path+"/"+pathPrefix(child.getNamespaceURI())+child.getLocalName(); diff --git a/org.hl7.fhir.dstu3/src/main/java/org/hl7/fhir/dstu3/elementmodel/JsonParser.java b/org.hl7.fhir.dstu3/src/main/java/org/hl7/fhir/dstu3/elementmodel/JsonParser.java index 8b20fc97e..152df970e 100644 --- a/org.hl7.fhir.dstu3/src/main/java/org/hl7/fhir/dstu3/elementmodel/JsonParser.java +++ b/org.hl7.fhir.dstu3/src/main/java/org/hl7/fhir/dstu3/elementmodel/JsonParser.java @@ -54,6 +54,7 @@ import org.hl7.fhir.dstu3.model.StructureDefinition; import org.hl7.fhir.exceptions.DefinitionException; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.exceptions.FHIRFormatError; +import org.hl7.fhir.utilities.StringPair; import org.hl7.fhir.utilities.TextFile; import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.utilities.json.JsonTrackingParser; @@ -266,7 +267,13 @@ public class JsonParser extends ParserBase { n.setValue(p.getAsString()); if (!n.getProperty().isChoice() && n.getType().equals("xhtml")) { try { - n.setXhtml(new XhtmlParser().setValidatorMode(policy == ValidationPolicy.EVERYTHING).parse(n.getValue(), null).getDocumentElement()); + XhtmlParser xp = new XhtmlParser(); + n.setXhtml(xp.parse(n.getValue(), null).getDocumentElement()); + if (policy == ValidationPolicy.EVERYTHING) { + for (StringPair s : xp.getValidationIssues()) { + logError(line(main), col(main), npath, IssueType.INVALID, s.getName()+ " "+ s.getValue(), IssueSeverity.ERROR); + } + } } catch (Exception e) { logError(line(main), col(main), npath, IssueType.INVALID, "Error parsing XHTML: "+e.getMessage(), IssueSeverity.ERROR); } diff --git a/org.hl7.fhir.dstu3/src/main/java/org/hl7/fhir/dstu3/elementmodel/XmlParser.java b/org.hl7.fhir.dstu3/src/main/java/org/hl7/fhir/dstu3/elementmodel/XmlParser.java index bc4902a4c..805db40c1 100644 --- a/org.hl7.fhir.dstu3/src/main/java/org/hl7/fhir/dstu3/elementmodel/XmlParser.java +++ b/org.hl7.fhir.dstu3/src/main/java/org/hl7/fhir/dstu3/elementmodel/XmlParser.java @@ -62,6 +62,7 @@ import org.hl7.fhir.dstu3.utils.formats.XmlLocationData; import org.hl7.fhir.exceptions.DefinitionException; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.exceptions.FHIRFormatError; +import org.hl7.fhir.utilities.StringPair; import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.utilities.validation.ValidationMessage.IssueSeverity; import org.hl7.fhir.utilities.validation.ValidationMessage.IssueType; @@ -283,7 +284,13 @@ public class XmlParser extends ParserBase { Property property = getElementProp(properties, child.getLocalName()); if (property != null) { if (!property.isChoice() && "xhtml".equals(property.getType())) { - XhtmlNode xhtml = new XhtmlParser().setValidatorMode(true).parseHtmlNode((org.w3c.dom.Element) child); + XhtmlParser xp = new XhtmlParser(); + XhtmlNode xhtml = xp.parseHtmlNode((org.w3c.dom.Element) child); + if (policy == ValidationPolicy.EVERYTHING) { + for (StringPair s : xp.getValidationIssues()) { + logError(line(child), col(child), path, IssueType.INVALID, s.getName() + " "+s.getValue(), IssueSeverity.ERROR); + } + } context.getChildren().add(new Element("div", property, "xhtml", new XhtmlComposer(XhtmlComposer.XML).compose(xhtml)).setXhtml(xhtml).markLocation(line(child), col(child))); } else { String npath = path+"/"+pathPrefix(child.getNamespaceURI())+child.getLocalName(); diff --git a/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/elementmodel/JsonParser.java b/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/elementmodel/JsonParser.java index 470397a70..387656040 100644 --- a/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/elementmodel/JsonParser.java +++ b/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/elementmodel/JsonParser.java @@ -55,6 +55,7 @@ import org.hl7.fhir.r4.formats.JsonCreatorCanonical; import org.hl7.fhir.r4.formats.JsonCreatorGson; import org.hl7.fhir.r4.model.ElementDefinition.TypeRefComponent; import org.hl7.fhir.r4.model.StructureDefinition; +import org.hl7.fhir.utilities.StringPair; import org.hl7.fhir.utilities.TextFile; import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.utilities.json.JsonTrackingParser; @@ -286,7 +287,13 @@ public class JsonParser extends ParserBase { n.setValue(p.getAsString()); if (!n.getProperty().isChoice() && n.getType().equals("xhtml")) { try { - n.setXhtml(new XhtmlParser().setValidatorMode(policy == ValidationPolicy.EVERYTHING).parse(n.getValue(), null).getDocumentElement()); + XhtmlParser xp = new XhtmlParser(); + n.setXhtml(xp.parse(n.getValue(), null).getDocumentElement()); + if (policy == ValidationPolicy.EVERYTHING) { + for (StringPair s : xp.getValidationIssues()) { + logError(line(main), col(main), npath, IssueType.INVALID, s.getName() + " "+s.getValue(), IssueSeverity.ERROR); + } + } } catch (Exception e) { logError(line(main), col(main), npath, IssueType.INVALID, "Error parsing XHTML: "+e.getMessage(), IssueSeverity.ERROR); } diff --git a/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/elementmodel/XmlParser.java b/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/elementmodel/XmlParser.java index 349c07a1e..be7c7fe07 100644 --- a/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/elementmodel/XmlParser.java +++ b/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/elementmodel/XmlParser.java @@ -63,6 +63,7 @@ import org.hl7.fhir.r4.utils.ToolingExtensions; import org.hl7.fhir.r4.utils.formats.XmlLocationAnnotator; import org.hl7.fhir.r4.utils.formats.XmlLocationData; import org.hl7.fhir.utilities.ElementDecoration; +import org.hl7.fhir.utilities.StringPair; import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.utilities.validation.ValidationMessage.IssueSeverity; import org.hl7.fhir.utilities.validation.ValidationMessage.IssueType; @@ -296,8 +297,15 @@ public class XmlParser extends ParserBase { XhtmlNode xhtml; if (property.getDefinition().hasRepresentation(PropertyRepresentation.CDATEXT)) xhtml = new CDANarrativeFormat().convert((org.w3c.dom.Element) child); - else - xhtml = new XhtmlParser().setValidatorMode(true).parseHtmlNode((org.w3c.dom.Element) child); + else { + XhtmlParser xp = new XhtmlParser(); + xhtml = xp.parseHtmlNode((org.w3c.dom.Element) child); + if (policy == ValidationPolicy.EVERYTHING) { + for (StringPair s : xp.getValidationIssues()) { + logError(line(child), col(child), path, IssueType.INVALID, s.getName() + " "+s.getValue(), IssueSeverity.ERROR); + } + } + } context.getChildren().add(new Element(property.getName(), property, "xhtml", new XhtmlComposer(XhtmlComposer.XML, false).compose(xhtml)).setXhtml(xhtml).markLocation(line(child), col(child))); } else { String npath = path+"/"+pathPrefix(child.getNamespaceURI())+child.getLocalName(); diff --git a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/elementmodel/JsonParser.java b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/elementmodel/JsonParser.java index 17706ede7..11ff5435f 100644 --- a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/elementmodel/JsonParser.java +++ b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/elementmodel/JsonParser.java @@ -56,6 +56,7 @@ import org.hl7.fhir.r4b.formats.JsonCreatorGson; import org.hl7.fhir.r4b.model.ElementDefinition.TypeRefComponent; import org.hl7.fhir.r4b.utils.FHIRPathEngine; import org.hl7.fhir.r4b.model.StructureDefinition; +import org.hl7.fhir.utilities.StringPair; import org.hl7.fhir.utilities.TextFile; import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.utilities.i18n.I18nConstants; @@ -347,7 +348,13 @@ public class JsonParser extends ParserBase { } if (!n.getProperty().isChoice() && n.getType().equals("xhtml")) { try { - n.setXhtml(new XhtmlParser().setValidatorMode(policy == ValidationPolicy.EVERYTHING).parse(n.getValue(), null).getDocumentElement()); + XhtmlParser xp = new XhtmlParser(); + n.setXhtml(xp.parse(n.getValue(), null).getDocumentElement()); + if (policy == ValidationPolicy.EVERYTHING) { + for (StringPair s : xp.getValidationIssues()) { + logError(line(main), col(main), npath, IssueType.INVALID, context.formatMessage(s.getName(), s.getValue()), IssueSeverity.ERROR); + } + } } catch (Exception e) { logError(line(main), col(main), npath, IssueType.INVALID, context.formatMessage(I18nConstants.ERROR_PARSING_XHTML_, e.getMessage()), IssueSeverity.ERROR); } diff --git a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/elementmodel/XmlParser.java b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/elementmodel/XmlParser.java index de08537b7..07c4e42c9 100644 --- a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/elementmodel/XmlParser.java +++ b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/elementmodel/XmlParser.java @@ -64,6 +64,7 @@ import org.hl7.fhir.r4b.utils.ToolingExtensions; import org.hl7.fhir.r4b.utils.formats.XmlLocationAnnotator; import org.hl7.fhir.r4b.utils.formats.XmlLocationData; import org.hl7.fhir.utilities.ElementDecoration; +import org.hl7.fhir.utilities.StringPair; import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.utilities.i18n.I18nConstants; import org.hl7.fhir.utilities.validation.ValidationMessage.IssueSeverity; @@ -374,8 +375,15 @@ public class XmlParser extends ParserBase { XhtmlNode xhtml; if (property.getDefinition().hasRepresentation(PropertyRepresentation.CDATEXT)) xhtml = new CDANarrativeFormat().convert((org.w3c.dom.Element) child); - else - xhtml = new XhtmlParser().setValidatorMode(true).parseHtmlNode((org.w3c.dom.Element) child); + else { + XhtmlParser xp = new XhtmlParser(); + xhtml = xp.parseHtmlNode((org.w3c.dom.Element) child); + if (policy == ValidationPolicy.EVERYTHING) { + for (StringPair s : xp.getValidationIssues()) { + logError(line(child), col(child), path, IssueType.INVALID, context.formatMessage(s.getName(), s.getValue()), IssueSeverity.ERROR); + } + } + } Element n = new Element(property.getName(), property, "xhtml", new XhtmlComposer(XhtmlComposer.XML, false).compose(xhtml)).setXhtml(xhtml).markLocation(line(child), col(child)); n.setPath(element.getPath()+"."+property.getName()); element.getChildren().add(n); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/JsonParser.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/JsonParser.java index ad66a5aa3..080f4577b 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/JsonParser.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/JsonParser.java @@ -537,7 +537,13 @@ public class JsonParser extends ParserBase { } if (!n.getProperty().isChoice() && n.getType().equals("xhtml")) { try { - n.setXhtml(new XhtmlParser().setValidatorMode(policy == ValidationPolicy.EVERYTHING).parse(n.getValue(), null).getDocumentElement()); + XhtmlParser xhtml = new XhtmlParser(); + n.setXhtml(xhtml.setXmlMode(true).parse(n.getValue(), null).getDocumentElement()); + if (policy == ValidationPolicy.EVERYTHING) { + for (StringPair s : xhtml.getValidationIssues()) { + logError(line(main), col(main), npath, IssueType.INVALID, context.formatMessage(s.getName(), s.getValue()), IssueSeverity.ERROR); + } + } } catch (Exception e) { logError(line(main), col(main), npath, IssueType.INVALID, context.formatMessage(I18nConstants.ERROR_PARSING_XHTML_, e.getMessage()), IssueSeverity.ERROR); } @@ -545,8 +551,9 @@ public class JsonParser extends ParserBase { if (policy == ValidationPolicy.EVERYTHING) { // now we cross-check the primitive format against the stated type if (Utilities.existsInList(n.getType(), "boolean")) { - if (!p.isBoolean()) + if (!p.isBoolean()) { logError(line(main), col(main), npath, IssueType.INVALID, context.formatMessage(I18nConstants.ERROR_PARSING_JSON_THE_PRIMITIVE_VALUE_MUST_BE_A_BOOLEAN), IssueSeverity.ERROR); + } } else if (Utilities.existsInList(n.getType(), "integer", "unsignedInt", "positiveInt", "decimal")) { if (!p.isNumber()) logError(line(main), col(main), npath, IssueType.INVALID, context.formatMessage(I18nConstants.ERROR_PARSING_JSON_THE_PRIMITIVE_VALUE_MUST_BE_A_NUMBER), IssueSeverity.ERROR); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/XmlParser.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/XmlParser.java index 2464a1e56..baff91a9b 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/XmlParser.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/XmlParser.java @@ -53,6 +53,7 @@ import org.hl7.fhir.exceptions.FHIRFormatError; import org.hl7.fhir.r5.conformance.ProfileUtilities; import org.hl7.fhir.r5.context.IWorkerContext; import org.hl7.fhir.r5.elementmodel.Element.SpecialElement; +import org.hl7.fhir.r5.elementmodel.ParserBase.ValidationPolicy; import org.hl7.fhir.r5.formats.FormatUtilities; import org.hl7.fhir.r5.formats.IParser.OutputStyle; import org.hl7.fhir.r5.model.DateTimeType; @@ -63,6 +64,7 @@ import org.hl7.fhir.r5.utils.ToolingExtensions; import org.hl7.fhir.r5.utils.formats.XmlLocationAnnotator; import org.hl7.fhir.r5.utils.formats.XmlLocationData; import org.hl7.fhir.utilities.ElementDecoration; +import org.hl7.fhir.utilities.StringPair; import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.utilities.i18n.I18nConstants; import org.hl7.fhir.utilities.validation.ValidationMessage.IssueSeverity; @@ -389,8 +391,15 @@ public class XmlParser extends ParserBase { XhtmlNode xhtml; if (property.getDefinition().hasRepresentation(PropertyRepresentation.CDATEXT)) xhtml = new CDANarrativeFormat().convert((org.w3c.dom.Element) child); - else - xhtml = new XhtmlParser().setValidatorMode(true).parseHtmlNode((org.w3c.dom.Element) child); + else { + XhtmlParser xp = new XhtmlParser(); + xhtml = xp.parseHtmlNode((org.w3c.dom.Element) child); + if (policy == ValidationPolicy.EVERYTHING) { + for (StringPair s : xp.getValidationIssues()) { + logError(line(child, false), col(child, false), path, IssueType.INVALID, context.formatMessage(s.getName(), s.getValue()), IssueSeverity.ERROR); + } + } + } Element n = new Element(property.getName(), property, "xhtml", new XhtmlComposer(XhtmlComposer.XML, false).compose(xhtml)).setXhtml(xhtml).markLocation(line(child, false), col(child, false)); n.setPath(element.getPath()+"."+property.getName()); element.getChildren().add(n); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/XVerExtensionManager.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/XVerExtensionManager.java index f074cb611..6e36e6be6 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/XVerExtensionManager.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/XVerExtensionManager.java @@ -62,9 +62,9 @@ public class XVerExtensionManager { } } JsonObject root = lists.get(v); - JsonObject path = root.getObj(e); + JsonObject path = root.getObject(e); if (path == null) { - path = root.getObj(e+"[x]"); + path = root.getObject(e+"[x]"); } if (path == null) { return XVerExtensionStatus.Unknown; @@ -85,9 +85,9 @@ public class XVerExtensionManager { String verTarget = VersionUtilities.getMajMin(context.getVersion()); String e = url.substring(54); JsonObject root = lists.get(verSource); - JsonObject path = root.getObj(e); + JsonObject path = root.getObject(e); if (path == null) { - path = root.getObj(e+"[x]"); + path = root.getObject(e+"[x]"); } StructureDefinition sd = new StructureDefinition(); @@ -115,8 +115,8 @@ public class XVerExtensionManager { ElementDefinition val = sd.getDifferential().addElement().setPath("Extension.value[x]").setMin(1); populateTypes(path, val, verSource, verTarget); } else if (path.has("elements")) { - for (JsonElement i : path.getArr("elements").getItems()) { - JsonObject elt = root.getObj(e+"."+i.toString()); + for (JsonElement i : path.forceArray("elements").getItems()) { + JsonObject elt = root.getObject(e+"."+i.toString()); if (elt != null) { String s = i.toString().replace("[x]", ""); sd.getDifferential().addElement().setPath("Extension.extension").setSliceName(s); @@ -134,7 +134,7 @@ public class XVerExtensionManager { } else { throw new FHIRException("Internal error - attempt to define extension for "+url+" when it is invalid"); } - if (path.has("modifier") && path.getBoolean("modifier")) { + if (path.has("modifier") && path.asBoolean("modifier")) { ElementDefinition baseDef = new ElementDefinition("Extension"); sd.getDifferential().getElement().add(0, baseDef); baseDef.setIsModifier(true); @@ -143,7 +143,7 @@ public class XVerExtensionManager { } public void populateTypes(JsonObject path, ElementDefinition val, String verSource, String verTarget) { - for (JsonElement i : path.getArr("types").getItems()) { + for (JsonElement i : path.forceArray("types").getItems()) { String s = i.toString(); if (!s.startsWith("!")) { if (s.contains("(")) { diff --git a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/i18n/I18nConstants.java b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/i18n/I18nConstants.java index 7421ae8fa..cbb50b5d7 100644 --- a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/i18n/I18nConstants.java +++ b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/i18n/I18nConstants.java @@ -746,6 +746,8 @@ public class I18nConstants { public static final String SD_SPECIALIZED_TYPE_MATCHES = "SD_SPECIALIZED_TYPE_MATCHES"; public static final String SD_CONSTRAINED_KIND_NO_MATCH = "SD_CONSTRAINED_KIND_NO_MATCH"; public static final String SD_PATH_TYPE_MISMATCH = "SD_PATH_TYPE_MISMATCH"; + public static final String XHTML_XHTML_Image_Reference_Illegal = "XHTML_XHTML_Image_Reference_Illegal"; + public static final String XHTML_XHTML_Entity_Illegal = "XHTML_XHTML_Entity_Illegal"; } diff --git a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/json/model/JsonObject.java b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/json/model/JsonObject.java index 0c6fb3fff..fadec26b3 100644 --- a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/json/model/JsonObject.java +++ b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/json/model/JsonObject.java @@ -5,6 +5,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.utilities.json.JsonException; @@ -61,6 +62,13 @@ public class JsonObject extends JsonElement { return propMap.containsKey(name); } + public void drop(String name) { + if (propMap.containsKey(name)) { + propMap.remove(name); + properties.removeIf((JsonProperty item) -> name.equals(item.getName())); + } + } + public List getProperties() { return properties; } @@ -73,54 +81,110 @@ public class JsonObject extends JsonElement { } } - public JsonObject getObj(String name) { - return (JsonObject) get(name); + public boolean hasObject(String name) { + return propMap.containsKey(name) && propMap.get(name).getValue().elementType() == JsonElementType.OBJECT; } - public JsonString getStr(String name) { - return (JsonString) get(name); + public boolean hasArray(String name) { + return propMap.containsKey(name) && propMap.get(name).getValue().elementType() == JsonElementType.ARRAY; } - public JsonBoolean getBool(String name) { - return (JsonBoolean) get(name); + public boolean hasPrimitive(String name) { + return propMap.containsKey(name) && propMap.get(name).getValue() instanceof JsonPrimitive; + } + + public boolean hasString(String name) { + return propMap.containsKey(name) && propMap.get(name).getValue().elementType() == JsonElementType.STRING; + } + + public boolean hasNumber(String name) { + return propMap.containsKey(name) && propMap.get(name).getValue().elementType() == JsonElementType.NUMBER; + } + + public boolean hasBoolean(String name) { + return propMap.containsKey(name) && propMap.get(name).getValue().elementType() == JsonElementType.BOOLEAN; + } + + public boolean hasNull(String name) { + return propMap.containsKey(name) && propMap.get(name).getValue().elementType() == JsonElementType.NULL; + } + + + public JsonObject getObject(String name) { + return hasObject(name) ? (JsonObject) get(name) : null; + } + + public JsonString getString(String name) { + return hasString(name) ? (JsonString) get(name) : null; + } + + public JsonBoolean getBoolean(String name) { + return hasBoolean(name) ? (JsonBoolean) get(name) : null; } - public JsonNumber getNum(String name) { - return (JsonNumber) get(name); + public JsonNumber getNumber(String name) { + return hasNumber(name) ? (JsonNumber) get(name) : null; } public JsonNull getNull(String name) { - return (JsonNull) get(name); + return hasNull(name) ?(JsonNull) get(name) : null; } - public JsonArray getArr(String name) { - return (JsonArray) get(name); + public JsonArray getArray(String name) { + return hasArray(name) ? (JsonArray) get(name) : null; } - public Integer getInteger(String name) { - return ((JsonNumber) get(name)).getInteger(); + public Integer asInteger(String name) { + if (hasNumber(name)) { + return ((JsonNumber) get(name)).getInteger(); + } + if (hasPrimitive(name)) { + String s = asString(name); + if (Utilities.isInteger(s)) { + return Integer.parseInt(s); + } + } + return null; } - public String getString(String name) { - return ((JsonPrimitive) get(name)).toString(); + public String asString(String name) { + return hasPrimitive(name) ? ((JsonPrimitive) get(name)).toString() : null; } - public Boolean getBoolean(String name) { - return has(name) ? ((JsonBoolean) get(name)).isValue() : false; + public boolean asBoolean(String name) { + if (hasBoolean(name)) { + return ((JsonBoolean) get(name)).isValue(); + } + if (hasPrimitive(name)) { + String s = asString(name); + if ("true".equals(s)) { + return true; + } + if ("false".equals(s)) { + return false; + } + } + return false; } - public JsonObject forceObj(String name) throws JsonException { + public JsonObject forceObject(String name) throws JsonException { + if (has(name) && !hasObject(name)) { + drop(name); + } if (!has(name)) { add(name, new JsonObject()); } - return getObj(name); + return getObject(name); } - public JsonArray forceArr(String name) throws JsonException { + public JsonArray forceArray(String name) throws JsonException { + if (has(name) && !hasArray(name)) { + drop(name); + } if (!has(name)) { add(name, new JsonArray()); } - return getArr(name); + return getArray(name); } diff --git a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/npm/NpmPackage.java b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/npm/NpmPackage.java index f5e1c7c2d..24a56bfb9 100644 --- a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/npm/NpmPackage.java +++ b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/npm/NpmPackage.java @@ -930,13 +930,17 @@ public class NpmPackage { for (String s : folder.content.keySet()) { byte[] b = folder.content.get(s); String name = n+"/"+s; - indexer.seeFile(s, b); - if (!s.equals(".index.json") && !s.equals("package.json")) { - TarArchiveEntry entry = new TarArchiveEntry(name); - entry.setSize(b.length); - tar.putArchiveEntry(entry); - tar.write(b); - tar.closeArchiveEntry(); + if (b == null) { + System.out.println(name+" is null"); + } else { + indexer.seeFile(s, b); + if (!s.equals(".index.json") && !s.equals("package.json")) { + TarArchiveEntry entry = new TarArchiveEntry(name); + entry.setSize(b.length); + tar.putArchiveEntry(entry); + tar.write(b); + tar.closeArchiveEntry(); + } } } byte[] cnt = indexer.build().getBytes(StandardCharsets.UTF_8); diff --git a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/npm/PackageHacker.java b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/npm/PackageHacker.java index 33eb4436d..c1e3c6cc4 100644 --- a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/npm/PackageHacker.java +++ b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/npm/PackageHacker.java @@ -28,7 +28,7 @@ public class PackageHacker { private static boolean useSecureReferences = false; public static void main(String[] args) throws FileNotFoundException, IOException { - new PackageHacker().edit("/Users/grahamegrieve/web/hl7.org/fhir/us/sdoh-clinicalcare/2022Jan/package.tgz"); + new PackageHacker().edit("/Users/grahamegrieve/work/www.fhir.org/source/guides/chile/hl7.fhir.cl.corecl#1.0.0.tgz"); } private void edit(String name) throws FileNotFoundException, IOException { @@ -80,7 +80,8 @@ public class PackageHacker { private void change(JsonObject npm) throws FileNotFoundException, IOException { // fixVersions(npm); // npm.remove("notForPublication"); -// npm.addProperty("url", "http://hl7.org/fhir/us/carin-rtpbc/STU1"); + npm.remove("url"); + npm.addProperty("url", "https://hl7chile.cl/fhir/ig/CoreCL/1.7.0"); // npm.remove("name"); // npm.addProperty("name", "hl7.fhir.uv.smart-app-launch"); // npm.remove("canonical"); @@ -102,7 +103,7 @@ public class PackageHacker { // dep.addProperty("hl7.fhir.r4.examples", "4.0.1"); // dep.addProperty("hl7.fhir.r4.expansions", "4.0.1"); // dep.addProperty("hl7.fhir.r4.elements", "4.0.1"); - npm.addProperty("jurisdiction", "urn:iso:std:iso:3166#US"); +// npm.addProperty("jurisdiction", "urn:iso:std:iso:3166#CL"); } private void fixVersionInContent(Map content) { diff --git a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/xhtml/XhtmlParser.java b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/xhtml/XhtmlParser.java index 1f685f26b..76cc0f404 100644 --- a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/xhtml/XhtmlParser.java +++ b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/xhtml/XhtmlParser.java @@ -46,6 +46,9 @@ import java.util.Set; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.exceptions.FHIRFormatError; +import org.hl7.fhir.utilities.StringPair; +import org.hl7.fhir.utilities.Utilities; +import org.hl7.fhir.utilities.i18n.I18nConstants; import org.hl7.fhir.utilities.xhtml.XhtmlNode.Location; import org.w3c.dom.Attr; import org.w3c.dom.Element; @@ -121,7 +124,8 @@ public class XhtmlParser { private Set elements = new HashSet(); private Set attributes = new HashSet(); - private Map entities = new HashMap<>(); + private Map definedEntities = new HashMap<>(); + private Map declaredEntities = new HashMap<>(); public XhtmlParser() { @@ -258,7 +262,7 @@ public class XhtmlParser { private boolean trimWhitespace; private boolean mustBeWellFormed = true; - private boolean validatorMode; + private List validationIssues = new ArrayList<>(); public boolean isTrimWhitespace() { return trimWhitespace; @@ -277,13 +281,12 @@ public class XhtmlParser { return this; } - - public boolean isValidatorMode() { - return validatorMode; + public boolean isXmlMode() { + return xmlMode; } - public XhtmlParser setValidatorMode(boolean validatorMode) { - this.validatorMode = validatorMode; + public XhtmlParser setXmlMode(boolean xmlMode) { + this.xmlMode = xmlMode; return this; } @@ -295,6 +298,10 @@ public class XhtmlParser { this.policy = policy; } + public List getValidationIssues() { + return validationIssues; + } + public XhtmlNode parseHtmlNode(Element node) throws FHIRFormatError { return parseHtmlNode(node, null); } @@ -332,8 +339,6 @@ public class XhtmlParser { } private String checkNS(XhtmlNode res, Element node, String defaultNS) { - if (!validatorMode) - return null; String ns = node.getNamespaceURI(); if (ns == null) return null; @@ -382,37 +387,38 @@ public class XhtmlParser { } private boolean attributeIsOk(String elem, String attr, String value) throws FHIRFormatError { - if (validatorMode) - return true; boolean ok = attributes.contains(attr) || attributes.contains(elem+"."+attr); if (ok) return true; else switch (policy) { case Accept: return true; case Drop: return false; - case Reject: throw new FHIRFormatError("Illegal HTML attribute "+elem+"."+attr); + case Reject: return error(I18nConstants.XHTML_XHTML_ATTRIBUTE_ILLEGAL, elem+"."+attr); } if ((elem+"."+attr).equals("img.src") && !(value.startsWith("#") || value.startsWith("http:") || value.startsWith("https:"))) { switch (policy) { case Accept: return true; case Drop: return false; - case Reject: throw new FHIRFormatError("Illegal Image Reference "+value); + case Reject: return error(I18nConstants.XHTML_XHTML_Image_Reference_Illegal, value); } } return false; } + private boolean error(String msg, String param) { + validationIssues.add(new StringPair(msg, param)); + return false; + } + private boolean elementIsOk(String name) throws FHIRFormatError { - if (validatorMode) - return true; boolean ok = elements.contains(name); if (ok) return true; else switch (policy) { case Accept: return true; case Drop: return false; - case Reject: throw new FHIRFormatError("Illegal HTML element "+name); + case Reject: return error(I18nConstants.XHTML_XHTML_ELEMENT_ILLEGAL, name); } return false; } @@ -429,6 +435,7 @@ public class XhtmlParser { private int col = 0; private char lastChar; private Location lastLoc; + private boolean xmlMode; public XhtmlDocument parse(String source, String entryName) throws FHIRFormatError, IOException { rdr = new StringReader(source); @@ -848,7 +855,7 @@ public class XhtmlParser { e = ed.indexOf(" "); // SYSTEM ed = ed.substring(e).trim(); String v = ed.substring(0, ed.length()-1); - entities.put(n, v); + declaredEntities.put(n, v); } } @@ -896,297 +903,306 @@ public class XhtmlParser { s.append((char) Integer.parseInt(c.substring(1))); else if (c.charAt(1) == 'x' && isInteger(c.substring(2), 16)) s.append((char) Integer.parseInt(c.substring(2), 16)); - } else if (entities.containsKey(c)) { - s.append(entities.get(c)); - // what's going on here? - // the contents that follow already existed, and then I added the routine to populate the entities - // which was generated from other code. The code that follows is probably redundant, but I haven't - // cross checked it. some is welcome to do so... (GG 8-Nov 2021) - } else if (c.equals("apos")) - s.append('\''); - else if (c.equals("quot")) - s.append('"'); - else if (c.equals("nbsp")) - s.append(XhtmlNode.NBSP); - else if (c.equals("amp")) - s.append('&'); - else if (c.equals("lsquo")) - s.append((char) 8216); // right single quotation, U+2019 ISOnum - else if (c.equals("rsquo")) - s.append((char) 8217); // right single quotation, U+2019 ISOnum - else if (c.equals("gt")) - s.append('>'); - else if (c.equals("lt")) - s.append('<'); - else if (c.equals("copy")) - s.append((char) 169); - else if (c.equals("reg")) - s.append((char) 174); - else if (c.equals("sect")) - s.append((char) 0xA7); - else if (c.equals("fnof")) - s.append((char) 402); // latin small f with hook = function = florin, U+0192 ISOtech --> - else if (c.equals("Alpha")) - s.append((char) 913); // greek capital letter alpha, U+0391 - else if (c.equals("Beta")) - s.append((char) 914); // greek capital letter beta, U+0392 - else if (c.equals("Gamma")) - s.append((char) 915); // greek capital letter gamma, U+0393 ISOgrk3 - else if (c.equals("Delta")) - s.append((char) 916); // greek capital letter delta, U+0394 ISOgrk3 - else if (c.equals("Epsilon")) - s.append((char) 917); // greek capital letter epsilon, U+0395 - else if (c.equals("Zeta")) - s.append((char) 918); // greek capital letter zeta, U+0396 - else if (c.equals("Eta")) - s.append((char) 919); // greek capital letter eta, U+0397 - else if (c.equals("Theta")) - s.append((char) 920); // greek capital letter theta, U+0398 ISOgrk3 - else if (c.equals("Iota")) - s.append((char) 921); // greek capital letter iota, U+0399 - else if (c.equals("Kappa")) - s.append((char) 922); // greek capital letter kappa, U+039A - else if (c.equals("Lambda")) - s.append((char) 923); // greek capital letter lambda, U+039B ISOgrk3 - else if (c.equals("Mu")) - s.append((char) 924); // greek capital letter mu, U+039C - else if (c.equals("Nu")) - s.append((char) 925); // greek capital letter nu, U+039D - else if (c.equals("Xi")) - s.append((char) 926); // greek capital letter xi, U+039E ISOgrk3 - else if (c.equals("Omicron")) - s.append((char) 927); // greek capital letter omicron, U+039F - else if (c.equals("Pi")) - s.append((char) 928); // greek capital letter pi, U+03A0 ISOgrk3 - else if (c.equals("Rho")) - s.append((char) 929); // greek capital letter rho, U+03A1 - else if (c.equals("Sigma")) - s.append((char) 931); // greek capital letter sigma, U+03A3 ISOgrk3 - else if (c.equals("Tau")) - s.append((char) 932); // greek capital letter tau, U+03A4 - else if (c.equals("Upsilon")) - s.append((char) 933); // greek capital letter upsilon, U+03A5 ISOgrk3 - else if (c.equals("Phi")) - s.append((char) 934); // greek capital letter phi, U+03A6 ISOgrk3 - else if (c.equals("Chi")) - s.append((char) 935); // greek capital letter chi, U+03A7 - else if (c.equals("Psi")) - s.append((char) 936); // greek capital letter psi, U+03A8 ISOgrk3 - else if (c.equals("Omega")) - s.append((char) 937); // greek capital letter omega, U+03A9 ISOgrk3 - else if (c.equals("alpha")) - s.append((char) 945); // greek small letter alpha, U+03B1 ISOgrk3 - else if (c.equals("beta")) - s.append((char) 946); // greek small letter beta, U+03B2 ISOgrk3 - else if (c.equals("gamma")) - s.append((char) 947); // greek small letter gamma, U+03B3 ISOgrk3 - else if (c.equals("delta")) - s.append((char) 948); // greek small letter delta, U+03B4 ISOgrk3 - else if (c.equals("epsilon")) - s.append((char) 949); // greek small letter epsilon, U+03B5 ISOgrk3 - else if (c.equals("zeta")) - s.append((char) 950); // greek small letter zeta, U+03B6 ISOgrk3 - else if (c.equals("eta")) - s.append((char) 951); // greek small letter eta, U+03B7 ISOgrk3 - else if (c.equals("theta")) - s.append((char) 952); // greek small letter theta, U+03B8 ISOgrk3 - else if (c.equals("iota")) - s.append((char) 953); // greek small letter iota, U+03B9 ISOgrk3 - else if (c.equals("kappa")) - s.append((char) 954); // greek small letter kappa, U+03BA ISOgrk3 - else if (c.equals("lambda")) - s.append((char) 955); // greek small letter lambda, U+03BB ISOgrk3 - else if (c.equals("mu")) - s.append((char) 956); // greek small letter mu, U+03BC ISOgrk3 - else if (c.equals("nu")) - s.append((char) 957); // greek small letter nu, U+03BD ISOgrk3 - else if (c.equals("xi")) - s.append((char) 958); // greek small letter xi, U+03BE ISOgrk3 - else if (c.equals("omicron")) - s.append((char) 959); // greek small letter omicron, U+03BF NEW - else if (c.equals("pi")) - s.append((char) 960); // greek small letter pi, U+03C0 ISOgrk3 - else if (c.equals("rho")) - s.append((char) 961); // greek small letter rho, U+03C1 ISOgrk3 - else if (c.equals("sigmaf")) - s.append((char) 962); // greek small letter final sigma, U+03C2 ISOgrk3 - else if (c.equals("sigma")) - s.append((char) 963); // greek small letter sigma, U+03C3 ISOgrk3 - else if (c.equals("tau")) - s.append((char) 964); // greek small letter tau, U+03C4 ISOgrk3 - else if (c.equals("upsilon")) - s.append((char) 965); // greek small letter upsilon, U+03C5 ISOgrk3 - else if (c.equals("phi")) - s.append((char) 966); // greek small letter phi, U+03C6 ISOgrk3 - else if (c.equals("chi")) - s.append((char) 967); // greek small letter chi, U+03C7 ISOgrk3 - else if (c.equals("psi")) - s.append((char) 968); // greek small letter psi, U+03C8 ISOgrk3 - else if (c.equals("omega")) - s.append((char) 969); // greek small letter omega, U+03C9 ISOgrk3 - else if (c.equals("thetasym")) - s.append((char) 977); // greek small letter theta symbol, U+03D1 NEW - else if (c.equals("upsih")) - s.append((char) 978); // greek upsilon with hook symbol, U+03D2 NEW - else if (c.equals("piv")) - s.append((char) 982); // greek pi symbol, U+03D6 ISOgrk3 - else if (c.equals("bull")) - s.append((char) 8226); // bullet = black small circle, U+2022 ISOpub - else if (c.equals("hellip")) - s.append((char) 8230); // horizontal ellipsis = three dot leader, U+2026 ISOpub - else if (c.equals("prime")) - s.append((char) 8242); // prime = minutes = feet, U+2032 ISOtech - else if (c.equals("Prime")) - s.append((char) 8243); // double prime = seconds = inches, U+2033 ISOtech - else if (c.equals("oline")) - s.append((char) 8254); // overline = spacing overscore, U+203E NEW - else if (c.equals("frasl")) - s.append((char) 8260); // fraction slash, U+2044 NEW - else if (c.equals("weierp")) - s.append((char) 8472); // script capital P = power set = Weierstrass p, U+2118 ISOamso - else if (c.equals("image")) - s.append((char) 8465); // blackletter capital I = imaginary part, U+2111 ISOamso - else if (c.equals("real")) - s.append((char) 8476); // blackletter capital R = real part symbol, U+211C ISOamso - else if (c.equals("trade")) - s.append((char) 8482); // trade mark sign, U+2122 ISOnum - else if (c.equals("alefsym")) - s.append((char) 8501); // alef symbol = first transfinite cardinal, U+2135 NEW - else if (c.equals("larr")) - s.append((char) 8592); // leftwards arrow, U+2190 ISOnum - else if (c.equals("uarr")) - s.append((char) 8593); // upwards arrow, U+2191 ISOnum - else if (c.equals("rarr")) - s.append((char) 8594); // rightwards arrow, U+2192 ISOnum - else if (c.equals("darr")) - s.append((char) 8595); // downwards arrow, U+2193 ISOnum - else if (c.equals("harr")) - s.append((char) 8596); // left right arrow, U+2194 ISOamsa - else if (c.equals("crarr")) - s.append((char) 8629); // downwards arrow with corner leftwards = carriage return, U+21B5 NEW - else if (c.equals("lArr")) - s.append((char) 8656); // leftwards double arrow, U+21D0 ISOtech - else if (c.equals("uArr")) - s.append((char) 8657); // upwards double arrow, U+21D1 ISOamsa - else if (c.equals("rArr")) - s.append((char) 8658); // rightwards double arrow, U+21D2 ISOtech - else if (c.equals("dArr")) - s.append((char) 8659); // downwards double arrow, U+21D3 ISOamsa - else if (c.equals("hArr")) - s.append((char) 8660); // left right double arrow, U+21D4 ISOamsa - else if (c.equals("forall")) - s.append((char) 8704); // for all, U+2200 ISOtech - else if (c.equals("part")) - s.append((char) 8706); // partial differential, U+2202 ISOtech - else if (c.equals("exist")) - s.append((char) 8707); // there exists, U+2203 ISOtech - else if (c.equals("empty")) - s.append((char) 8709); // empty set = null set = diameter, U+2205 ISOamso - else if (c.equals("nabla")) - s.append((char) 8711); // nabla = backward difference, U+2207 ISOtech - else if (c.equals("isin")) - s.append((char) 8712); // element of, U+2208 ISOtech - else if (c.equals("notin")) - s.append((char) 8713); // not an element of, U+2209 ISOtech - else if (c.equals("ni")) - s.append((char) 8715); // contains as member, U+220B ISOtech - else if (c.equals("prod")) - s.append((char) 8719); // n-ary product = product sign, U+220F ISOamsb - else if (c.equals("sum")) - s.append((char) 8721); // n-ary sumation, U+2211 ISOamsb - else if (c.equals("minus")) - s.append((char) 8722); // minus sign, U+2212 ISOtech - else if (c.equals("lowast")) - s.append((char) 8727); // asterisk operator, U+2217 ISOtech - else if (c.equals("radic")) - s.append((char) 8730); // square root = radical sign, U+221A ISOtech - else if (c.equals("prop")) - s.append((char) 8733); // proportional to, U+221D ISOtech - else if (c.equals("infin")) - s.append((char) 8734); // infinity, U+221E ISOtech --> - else if (c.equals("ang")) - s.append((char) 8736); // angle, U+2220 ISOamso - else if (c.equals("and")) - s.append((char) 8743); // logical and = wedge, U+2227 ISOtech - else if (c.equals("or")) - s.append((char) 8744); // logical or = vee, U+2228 ISOtech - else if (c.equals("cap")) - s.append((char) 8745); // intersection = cap, U+2229 ISOtech - else if (c.equals("cup")) - s.append((char) 8746); // union = cup, U+222A ISOtech - else if (c.equals("int")) - s.append((char) 8747); // integral, U+222B ISOtech - else if (c.equals("there4")) - s.append((char) 8756); // therefore, U+2234 ISOtech - else if (c.equals("sim")) - s.append((char) 8764); // tilde operator = varies with = similar t U+223C ISOtech - else if (c.equals("cong")) - s.append((char) 8773); // approximately equal to, U+2245 ISOtec - else if (c.equals("asymp")) - s.append((char) 8776); // almost equal to = asymptotic to, U+2248 ISOamsr - else if (c.equals("ne")) - s.append((char) 8800); // not equal to, U+2260 ISOtech - else if (c.equals("equiv")) - s.append((char) 8801); // identical to, U+2261 ISOtech - else if (c.equals("le")) - s.append((char) 8804); // less-than or equal to, U+2264 ISOtech - else if (c.equals("ge")) - s.append((char) 8805); // greater-than or equal to, U+2265 ISOtech - else if (c.equals("sub")) - s.append((char) 8834); // subset of, U+2282 ISOtech - else if (c.equals("sup")) - s.append((char) 8835); // superset of, U+2283 ISOtech - else if (c.equals("nsub")) - s.append((char) 8836); // not a subset of, U+2284 ISOamsn - else if (c.equals("sube")) - s.append((char) 8838); // subset of or equal to, U+2286 ISOtech - else if (c.equals("supe")) - s.append((char) 8839); // superset of or equal to, U+2287 ISOtech - else if (c.equals("oplus")) - s.append((char) 8853); // circled plus = direct sum, U+2295 ISOamsb - else if (c.equals("otimes")) - s.append((char) 8855); // circled times = vector product, U+2297 ISOamsb --> - else if (c.equals("perp")) - s.append((char) 8869); // up tack = orthogonal to = perpendicular, U+22A5 ISOtech - else if (c.equals("sdot")) - s.append((char) 8901); // dot operator, U+22C5 ISOamsb - else if (c.equals("lceil")) - s.append((char) 8968); // left ceiling = apl upstile, U+2308 ISOamsc - else if (c.equals("rceil")) - s.append((char) 8969); // right ceiling, U+2309 ISOamsc - else if (c.equals("lfloor")) - s.append((char) 8970); // left floor = apl downstile, U+230A ISOamsc - else if (c.equals("rfloor")) - s.append((char) 8971); // right floor, U+230B ISOamsc - else if (c.equals("lang")) - s.append((char) 9001); // left-pointing angle bracket = bra, U+2329 ISOtech - else if (c.equals("rang")) - s.append((char) 9002); // right-pointing angle bracket = ket, U+232A ISOtech - else if (c.equals("loz")) - s.append((char) 9674); // lozenge, U+25CA ISOpub - else if (c.equals("spades")) - s.append((char) 9824); // black spade suit, U+2660 ISOpub - else if (c.equals("clubs")) - s.append((char) 9827); // black club suit = shamrock, U+2663 ISOpub - else if (c.equals("hearts")) - s.append((char) 9829); // black heart suit = valentine, U+2665 ISOpub - else if (c.equals("diams")) - s.append((char) 9830); // black diamond suit, U+2666 ISOpub -- - else if (c.equals("ndash")) - s.append((char) 8211); - else if (c.equals("mdash")) - s.append((char) 8212); - else if (c.equals("ldquo")) - s.append((char) 8221); - else if (c.equals("rdquo")) - s.append((char) 201D); - else if (c.equals("frac14")) - s.append((char) 188); - else if (!mustBeWellFormed) { - // we guess that this is an accidentally unescaped & - s.append("&"+c); + } else if (declaredEntities.containsKey(c)) { + s.append(declaredEntities.get(c)); } else { - throw new FHIRFormatError("unable to parse character reference '" + c + "'' (last text = '" + lastText + "'" + descLoc()); + if (xmlMode) { + if (!Utilities.existsInList(c, "quot", "amp", "apos", "lt", "gt")) { + error(I18nConstants.XHTML_XHTML_Entity_Illegal, "&"+c+";"); + } + } + if (definedEntities.containsKey(c)) { + s.append(definedEntities.get(c)); + // what's going on here? + // the contents that follow already existed, and then I added the routine to populate the entities + // which was generated from other code. The code that follows is probably redundant, but I haven't + // cross checked it. some is welcome to do so... (GG 8-Nov 2021) + } else if (c.equals("apos")) + s.append('\''); + else if (c.equals("quot")) + s.append('"'); + else if (c.equals("nbsp")) + s.append(XhtmlNode.NBSP); + else if (c.equals("amp")) + s.append('&'); + else if (c.equals("lsquo")) + s.append((char) 8216); // right single quotation, U+2019 ISOnum + else if (c.equals("rsquo")) + s.append((char) 8217); // right single quotation, U+2019 ISOnum + else if (c.equals("gt")) + s.append('>'); + else if (c.equals("lt")) + s.append('<'); + else if (c.equals("copy")) + s.append((char) 169); + else if (c.equals("reg")) + s.append((char) 174); + else if (c.equals("sect")) + s.append((char) 0xA7); + else if (c.equals("fnof")) + s.append((char) 402); // latin small f with hook = function = florin, U+0192 ISOtech --> + else if (c.equals("Alpha")) + s.append((char) 913); // greek capital letter alpha, U+0391 + else if (c.equals("Beta")) + s.append((char) 914); // greek capital letter beta, U+0392 + else if (c.equals("Gamma")) + s.append((char) 915); // greek capital letter gamma, U+0393 ISOgrk3 + else if (c.equals("Delta")) + s.append((char) 916); // greek capital letter delta, U+0394 ISOgrk3 + else if (c.equals("Epsilon")) + s.append((char) 917); // greek capital letter epsilon, U+0395 + else if (c.equals("Zeta")) + s.append((char) 918); // greek capital letter zeta, U+0396 + else if (c.equals("Eta")) + s.append((char) 919); // greek capital letter eta, U+0397 + else if (c.equals("Theta")) + s.append((char) 920); // greek capital letter theta, U+0398 ISOgrk3 + else if (c.equals("Iota")) + s.append((char) 921); // greek capital letter iota, U+0399 + else if (c.equals("Kappa")) + s.append((char) 922); // greek capital letter kappa, U+039A + else if (c.equals("Lambda")) + s.append((char) 923); // greek capital letter lambda, U+039B ISOgrk3 + else if (c.equals("Mu")) + s.append((char) 924); // greek capital letter mu, U+039C + else if (c.equals("Nu")) + s.append((char) 925); // greek capital letter nu, U+039D + else if (c.equals("Xi")) + s.append((char) 926); // greek capital letter xi, U+039E ISOgrk3 + else if (c.equals("Omicron")) + s.append((char) 927); // greek capital letter omicron, U+039F + else if (c.equals("Pi")) + s.append((char) 928); // greek capital letter pi, U+03A0 ISOgrk3 + else if (c.equals("Rho")) + s.append((char) 929); // greek capital letter rho, U+03A1 + else if (c.equals("Sigma")) + s.append((char) 931); // greek capital letter sigma, U+03A3 ISOgrk3 + else if (c.equals("Tau")) + s.append((char) 932); // greek capital letter tau, U+03A4 + else if (c.equals("Upsilon")) + s.append((char) 933); // greek capital letter upsilon, U+03A5 ISOgrk3 + else if (c.equals("Phi")) + s.append((char) 934); // greek capital letter phi, U+03A6 ISOgrk3 + else if (c.equals("Chi")) + s.append((char) 935); // greek capital letter chi, U+03A7 + else if (c.equals("Psi")) + s.append((char) 936); // greek capital letter psi, U+03A8 ISOgrk3 + else if (c.equals("Omega")) + s.append((char) 937); // greek capital letter omega, U+03A9 ISOgrk3 + else if (c.equals("alpha")) + s.append((char) 945); // greek small letter alpha, U+03B1 ISOgrk3 + else if (c.equals("beta")) + s.append((char) 946); // greek small letter beta, U+03B2 ISOgrk3 + else if (c.equals("gamma")) + s.append((char) 947); // greek small letter gamma, U+03B3 ISOgrk3 + else if (c.equals("delta")) + s.append((char) 948); // greek small letter delta, U+03B4 ISOgrk3 + else if (c.equals("epsilon")) + s.append((char) 949); // greek small letter epsilon, U+03B5 ISOgrk3 + else if (c.equals("zeta")) + s.append((char) 950); // greek small letter zeta, U+03B6 ISOgrk3 + else if (c.equals("eta")) + s.append((char) 951); // greek small letter eta, U+03B7 ISOgrk3 + else if (c.equals("theta")) + s.append((char) 952); // greek small letter theta, U+03B8 ISOgrk3 + else if (c.equals("iota")) + s.append((char) 953); // greek small letter iota, U+03B9 ISOgrk3 + else if (c.equals("kappa")) + s.append((char) 954); // greek small letter kappa, U+03BA ISOgrk3 + else if (c.equals("lambda")) + s.append((char) 955); // greek small letter lambda, U+03BB ISOgrk3 + else if (c.equals("mu")) + s.append((char) 956); // greek small letter mu, U+03BC ISOgrk3 + else if (c.equals("nu")) + s.append((char) 957); // greek small letter nu, U+03BD ISOgrk3 + else if (c.equals("xi")) + s.append((char) 958); // greek small letter xi, U+03BE ISOgrk3 + else if (c.equals("omicron")) + s.append((char) 959); // greek small letter omicron, U+03BF NEW + else if (c.equals("pi")) + s.append((char) 960); // greek small letter pi, U+03C0 ISOgrk3 + else if (c.equals("rho")) + s.append((char) 961); // greek small letter rho, U+03C1 ISOgrk3 + else if (c.equals("sigmaf")) + s.append((char) 962); // greek small letter final sigma, U+03C2 ISOgrk3 + else if (c.equals("sigma")) + s.append((char) 963); // greek small letter sigma, U+03C3 ISOgrk3 + else if (c.equals("tau")) + s.append((char) 964); // greek small letter tau, U+03C4 ISOgrk3 + else if (c.equals("upsilon")) + s.append((char) 965); // greek small letter upsilon, U+03C5 ISOgrk3 + else if (c.equals("phi")) + s.append((char) 966); // greek small letter phi, U+03C6 ISOgrk3 + else if (c.equals("chi")) + s.append((char) 967); // greek small letter chi, U+03C7 ISOgrk3 + else if (c.equals("psi")) + s.append((char) 968); // greek small letter psi, U+03C8 ISOgrk3 + else if (c.equals("omega")) + s.append((char) 969); // greek small letter omega, U+03C9 ISOgrk3 + else if (c.equals("thetasym")) + s.append((char) 977); // greek small letter theta symbol, U+03D1 NEW + else if (c.equals("upsih")) + s.append((char) 978); // greek upsilon with hook symbol, U+03D2 NEW + else if (c.equals("piv")) + s.append((char) 982); // greek pi symbol, U+03D6 ISOgrk3 + else if (c.equals("bull")) + s.append((char) 8226); // bullet = black small circle, U+2022 ISOpub + else if (c.equals("hellip")) + s.append((char) 8230); // horizontal ellipsis = three dot leader, U+2026 ISOpub + else if (c.equals("prime")) + s.append((char) 8242); // prime = minutes = feet, U+2032 ISOtech + else if (c.equals("Prime")) + s.append((char) 8243); // double prime = seconds = inches, U+2033 ISOtech + else if (c.equals("oline")) + s.append((char) 8254); // overline = spacing overscore, U+203E NEW + else if (c.equals("frasl")) + s.append((char) 8260); // fraction slash, U+2044 NEW + else if (c.equals("weierp")) + s.append((char) 8472); // script capital P = power set = Weierstrass p, U+2118 ISOamso + else if (c.equals("image")) + s.append((char) 8465); // blackletter capital I = imaginary part, U+2111 ISOamso + else if (c.equals("real")) + s.append((char) 8476); // blackletter capital R = real part symbol, U+211C ISOamso + else if (c.equals("trade")) + s.append((char) 8482); // trade mark sign, U+2122 ISOnum + else if (c.equals("alefsym")) + s.append((char) 8501); // alef symbol = first transfinite cardinal, U+2135 NEW + else if (c.equals("larr")) + s.append((char) 8592); // leftwards arrow, U+2190 ISOnum + else if (c.equals("uarr")) + s.append((char) 8593); // upwards arrow, U+2191 ISOnum + else if (c.equals("rarr")) + s.append((char) 8594); // rightwards arrow, U+2192 ISOnum + else if (c.equals("darr")) + s.append((char) 8595); // downwards arrow, U+2193 ISOnum + else if (c.equals("harr")) + s.append((char) 8596); // left right arrow, U+2194 ISOamsa + else if (c.equals("crarr")) + s.append((char) 8629); // downwards arrow with corner leftwards = carriage return, U+21B5 NEW + else if (c.equals("lArr")) + s.append((char) 8656); // leftwards double arrow, U+21D0 ISOtech + else if (c.equals("uArr")) + s.append((char) 8657); // upwards double arrow, U+21D1 ISOamsa + else if (c.equals("rArr")) + s.append((char) 8658); // rightwards double arrow, U+21D2 ISOtech + else if (c.equals("dArr")) + s.append((char) 8659); // downwards double arrow, U+21D3 ISOamsa + else if (c.equals("hArr")) + s.append((char) 8660); // left right double arrow, U+21D4 ISOamsa + else if (c.equals("forall")) + s.append((char) 8704); // for all, U+2200 ISOtech + else if (c.equals("part")) + s.append((char) 8706); // partial differential, U+2202 ISOtech + else if (c.equals("exist")) + s.append((char) 8707); // there exists, U+2203 ISOtech + else if (c.equals("empty")) + s.append((char) 8709); // empty set = null set = diameter, U+2205 ISOamso + else if (c.equals("nabla")) + s.append((char) 8711); // nabla = backward difference, U+2207 ISOtech + else if (c.equals("isin")) + s.append((char) 8712); // element of, U+2208 ISOtech + else if (c.equals("notin")) + s.append((char) 8713); // not an element of, U+2209 ISOtech + else if (c.equals("ni")) + s.append((char) 8715); // contains as member, U+220B ISOtech + else if (c.equals("prod")) + s.append((char) 8719); // n-ary product = product sign, U+220F ISOamsb + else if (c.equals("sum")) + s.append((char) 8721); // n-ary sumation, U+2211 ISOamsb + else if (c.equals("minus")) + s.append((char) 8722); // minus sign, U+2212 ISOtech + else if (c.equals("lowast")) + s.append((char) 8727); // asterisk operator, U+2217 ISOtech + else if (c.equals("radic")) + s.append((char) 8730); // square root = radical sign, U+221A ISOtech + else if (c.equals("prop")) + s.append((char) 8733); // proportional to, U+221D ISOtech + else if (c.equals("infin")) + s.append((char) 8734); // infinity, U+221E ISOtech --> + else if (c.equals("ang")) + s.append((char) 8736); // angle, U+2220 ISOamso + else if (c.equals("and")) + s.append((char) 8743); // logical and = wedge, U+2227 ISOtech + else if (c.equals("or")) + s.append((char) 8744); // logical or = vee, U+2228 ISOtech + else if (c.equals("cap")) + s.append((char) 8745); // intersection = cap, U+2229 ISOtech + else if (c.equals("cup")) + s.append((char) 8746); // union = cup, U+222A ISOtech + else if (c.equals("int")) + s.append((char) 8747); // integral, U+222B ISOtech + else if (c.equals("there4")) + s.append((char) 8756); // therefore, U+2234 ISOtech + else if (c.equals("sim")) + s.append((char) 8764); // tilde operator = varies with = similar t U+223C ISOtech + else if (c.equals("cong")) + s.append((char) 8773); // approximately equal to, U+2245 ISOtec + else if (c.equals("asymp")) + s.append((char) 8776); // almost equal to = asymptotic to, U+2248 ISOamsr + else if (c.equals("ne")) + s.append((char) 8800); // not equal to, U+2260 ISOtech + else if (c.equals("equiv")) + s.append((char) 8801); // identical to, U+2261 ISOtech + else if (c.equals("le")) + s.append((char) 8804); // less-than or equal to, U+2264 ISOtech + else if (c.equals("ge")) + s.append((char) 8805); // greater-than or equal to, U+2265 ISOtech + else if (c.equals("sub")) + s.append((char) 8834); // subset of, U+2282 ISOtech + else if (c.equals("sup")) + s.append((char) 8835); // superset of, U+2283 ISOtech + else if (c.equals("nsub")) + s.append((char) 8836); // not a subset of, U+2284 ISOamsn + else if (c.equals("sube")) + s.append((char) 8838); // subset of or equal to, U+2286 ISOtech + else if (c.equals("supe")) + s.append((char) 8839); // superset of or equal to, U+2287 ISOtech + else if (c.equals("oplus")) + s.append((char) 8853); // circled plus = direct sum, U+2295 ISOamsb + else if (c.equals("otimes")) + s.append((char) 8855); // circled times = vector product, U+2297 ISOamsb --> + else if (c.equals("perp")) + s.append((char) 8869); // up tack = orthogonal to = perpendicular, U+22A5 ISOtech + else if (c.equals("sdot")) + s.append((char) 8901); // dot operator, U+22C5 ISOamsb + else if (c.equals("lceil")) + s.append((char) 8968); // left ceiling = apl upstile, U+2308 ISOamsc + else if (c.equals("rceil")) + s.append((char) 8969); // right ceiling, U+2309 ISOamsc + else if (c.equals("lfloor")) + s.append((char) 8970); // left floor = apl downstile, U+230A ISOamsc + else if (c.equals("rfloor")) + s.append((char) 8971); // right floor, U+230B ISOamsc + else if (c.equals("lang")) + s.append((char) 9001); // left-pointing angle bracket = bra, U+2329 ISOtech + else if (c.equals("rang")) + s.append((char) 9002); // right-pointing angle bracket = ket, U+232A ISOtech + else if (c.equals("loz")) + s.append((char) 9674); // lozenge, U+25CA ISOpub + else if (c.equals("spades")) + s.append((char) 9824); // black spade suit, U+2660 ISOpub + else if (c.equals("clubs")) + s.append((char) 9827); // black club suit = shamrock, U+2663 ISOpub + else if (c.equals("hearts")) + s.append((char) 9829); // black heart suit = valentine, U+2665 ISOpub + else if (c.equals("diams")) + s.append((char) 9830); // black diamond suit, U+2666 ISOpub -- + else if (c.equals("ndash")) + s.append((char) 8211); + else if (c.equals("mdash")) + s.append((char) 8212); + else if (c.equals("ldquo")) + s.append((char) 8221); + else if (c.equals("rdquo")) + s.append((char) 201D); + else if (c.equals("frac14")) + s.append((char) 188); + else if (!mustBeWellFormed) { + // we guess that this is an accidentally unescaped & + s.append("&"+c); + } else { + throw new FHIRFormatError("unable to parse character reference '" + c + "'' (last text = '" + lastText + "'" + descLoc()); + } } } @@ -1240,2131 +1256,2131 @@ public class XhtmlParser { } private void defineEntities() { - entities.put("Æ", "\u00C6"); - entities.put("&", "\u0026"); - entities.put("Á", "\u00C1"); - entities.put("Ă", "\u0102"); - entities.put("Â", "\u00C2"); - entities.put("А", "\u0410"); - entities.put("𝔄", "\uD835\uDD04"); - entities.put("À", "\u00C0"); - entities.put("Α", "\u0391"); - entities.put("Ā", "\u0100"); - entities.put("⩓", "\u2A53"); - entities.put("Ą", "\u0104"); - entities.put("𝔸", "\uD835\uDD38"); - entities.put("⁡", "\u2061"); - entities.put("Å", "\u00C5"); - entities.put("𝒜", "\uD835\uDC9C"); - entities.put("≔", "\u2254"); - entities.put("Ã", "\u00C3"); - entities.put("Ä", "\u00C4"); - entities.put("∖", "\u2216"); - entities.put("⫧", "\u2AE7"); - entities.put("⌆", "\u2306"); - entities.put("Б", "\u0411"); - entities.put("∵", "\u2235"); - entities.put("ℬ", "\u212C"); - entities.put("Β", "\u0392"); - entities.put("𝔅", "\uD835\uDD05"); - entities.put("𝔹", "\uD835\uDD39"); - entities.put("˘", "\u02D8"); - entities.put("ℬ", "\u212C"); - entities.put("≎", "\u224E"); - entities.put("Ч", "\u0427"); - entities.put("©", "\u00A9"); - entities.put("Ć", "\u0106"); - entities.put("⋒", "\u22D2"); - entities.put("ⅅ", "\u2145"); - entities.put("ℭ", "\u212D"); - entities.put("Č", "\u010C"); - entities.put("Ç", "\u00C7"); - entities.put("Ĉ", "\u0108"); - entities.put("∰", "\u2230"); - entities.put("Ċ", "\u010A"); - entities.put("¸", "\u00B8"); - entities.put("·", "\u00B7"); - entities.put("ℭ", "\u212D"); - entities.put("Χ", "\u03A7"); - entities.put("⊙", "\u2299"); - entities.put("⊖", "\u2296"); - entities.put("⊕", "\u2295"); - entities.put("⊗", "\u2297"); - entities.put("∲", "\u2232"); - entities.put("”", "\u201D"); - entities.put("’", "\u2019"); - entities.put("∷", "\u2237"); - entities.put("⩴", "\u2A74"); - entities.put("≡", "\u2261"); - entities.put("∯", "\u222F"); - entities.put("∮", "\u222E"); - entities.put("ℂ", "\u2102"); - entities.put("∐", "\u2210"); - entities.put("∳", "\u2233"); - entities.put("⨯", "\u2A2F"); - entities.put("𝒞", "\uD835\uDC9E"); - entities.put("⋓", "\u22D3"); - entities.put("≍", "\u224D"); - entities.put("ⅅ", "\u2145"); - entities.put("⤑", "\u2911"); - entities.put("Ђ", "\u0402"); - entities.put("Ѕ", "\u0405"); - entities.put("Џ", "\u040F"); - entities.put("‡", "\u2021"); - entities.put("↡", "\u21A1"); - entities.put("⫤", "\u2AE4"); - entities.put("Ď", "\u010E"); - entities.put("Д", "\u0414"); - entities.put("∇", "\u2207"); - entities.put("Δ", "\u0394"); - entities.put("𝔇", "\uD835\uDD07"); - entities.put("´", "\u00B4"); - entities.put("˙", "\u02D9"); - entities.put("˝", "\u02DD"); - entities.put("`", "\u0060"); - entities.put("˜", "\u02DC"); - entities.put("⋄", "\u22C4"); - entities.put("ⅆ", "\u2146"); - entities.put("𝔻", "\uD835\uDD3B"); - entities.put("¨", "\u00A8"); - entities.put("⃜", "\u20DC"); - entities.put("≐", "\u2250"); - entities.put("∯", "\u222F"); - entities.put("¨", "\u00A8"); - entities.put("⇓", "\u21D3"); - entities.put("⇐", "\u21D0"); - entities.put("⇔", "\u21D4"); - entities.put("⫤", "\u2AE4"); - entities.put("⟸", "\u27F8"); - entities.put("⟺", "\u27FA"); - entities.put("⟹", "\u27F9"); - entities.put("⇒", "\u21D2"); - entities.put("⊨", "\u22A8"); - entities.put("⇑", "\u21D1"); - entities.put("⇕", "\u21D5"); - entities.put("∥", "\u2225"); - entities.put("↓", "\u2193"); - entities.put("⤓", "\u2913"); - entities.put("⇵", "\u21F5"); - entities.put("̑", "\u0311"); - entities.put("⥐", "\u2950"); - entities.put("⥞", "\u295E"); - entities.put("↽", "\u21BD"); - entities.put("⥖", "\u2956"); - entities.put("⥟", "\u295F"); - entities.put("⇁", "\u21C1"); - entities.put("⥗", "\u2957"); - entities.put("⊤", "\u22A4"); - entities.put("↧", "\u21A7"); - entities.put("⇓", "\u21D3"); - entities.put("𝒟", "\uD835\uDC9F"); - entities.put("Đ", "\u0110"); - entities.put("Ŋ", "\u014A"); - entities.put("Ð", "\u00D0"); - entities.put("É", "\u00C9"); - entities.put("Ě", "\u011A"); - entities.put("Ê", "\u00CA"); - entities.put("Э", "\u042D"); - entities.put("Ė", "\u0116"); - entities.put("𝔈", "\uD835\uDD08"); - entities.put("È", "\u00C8"); - entities.put("∈", "\u2208"); - entities.put("Ē", "\u0112"); - entities.put("◻", "\u25FB"); - entities.put("▫", "\u25AB"); - entities.put("Ę", "\u0118"); - entities.put("𝔼", "\uD835\uDD3C"); - entities.put("Ε", "\u0395"); - entities.put("⩵", "\u2A75"); - entities.put("≂", "\u2242"); - entities.put("⇌", "\u21CC"); - entities.put("ℰ", "\u2130"); - entities.put("⩳", "\u2A73"); - entities.put("Η", "\u0397"); - entities.put("Ë", "\u00CB"); - entities.put("∃", "\u2203"); - entities.put("ⅇ", "\u2147"); - entities.put("Ф", "\u0424"); - entities.put("𝔉", "\uD835\uDD09"); - entities.put("◼", "\u25FC"); - entities.put("▪", "\u25AA"); - entities.put("𝔽", "\uD835\uDD3D"); - entities.put("∀", "\u2200"); - entities.put("ℱ", "\u2131"); - entities.put("ℱ", "\u2131"); - entities.put("Ѓ", "\u0403"); - entities.put(">", "\u003E"); - entities.put("Γ", "\u0393"); - entities.put("Ϝ", "\u03DC"); - entities.put("Ğ", "\u011E"); - entities.put("Ģ", "\u0122"); - entities.put("Ĝ", "\u011C"); - entities.put("Г", "\u0413"); - entities.put("Ġ", "\u0120"); - entities.put("𝔊", "\uD835\uDD0A"); - entities.put("⋙", "\u22D9"); - entities.put("𝔾", "\uD835\uDD3E"); - entities.put("≥", "\u2265"); - entities.put("⋛", "\u22DB"); - entities.put("≧", "\u2267"); - entities.put("⪢", "\u2AA2"); - entities.put("≷", "\u2277"); - entities.put("⩾", "\u2A7E"); - entities.put("≳", "\u2273"); - entities.put("𝒢", "\uD835\uDCA2"); - entities.put("≫", "\u226B"); - entities.put("Ъ", "\u042A"); - entities.put("ˇ", "\u02C7"); - entities.put("^", "\u005E"); - entities.put("Ĥ", "\u0124"); - entities.put("ℌ", "\u210C"); - entities.put("ℋ", "\u210B"); - entities.put("ℍ", "\u210D"); - entities.put("─", "\u2500"); - entities.put("ℋ", "\u210B"); - entities.put("Ħ", "\u0126"); - entities.put("≎", "\u224E"); - entities.put("≏", "\u224F"); - entities.put("Е", "\u0415"); - entities.put("IJ", "\u0132"); - entities.put("Ё", "\u0401"); - entities.put("Í", "\u00CD"); - entities.put("Î", "\u00CE"); - entities.put("И", "\u0418"); - entities.put("İ", "\u0130"); - entities.put("ℑ", "\u2111"); - entities.put("Ì", "\u00CC"); - entities.put("ℑ", "\u2111"); - entities.put("Ī", "\u012A"); - entities.put("ⅈ", "\u2148"); - entities.put("⇒", "\u21D2"); - entities.put("∬", "\u222C"); - entities.put("∫", "\u222B"); - entities.put("⋂", "\u22C2"); - entities.put("⁣", "\u2063"); - entities.put("⁢", "\u2062"); - entities.put("Į", "\u012E"); - entities.put("𝕀", "\uD835\uDD40"); - entities.put("Ι", "\u0399"); - entities.put("ℐ", "\u2110"); - entities.put("Ĩ", "\u0128"); - entities.put("І", "\u0406"); - entities.put("Ï", "\u00CF"); - entities.put("Ĵ", "\u0134"); - entities.put("Й", "\u0419"); - entities.put("𝔍", "\uD835\uDD0D"); - entities.put("𝕁", "\uD835\uDD41"); - entities.put("𝒥", "\uD835\uDCA5"); - entities.put("Ј", "\u0408"); - entities.put("Є", "\u0404"); - entities.put("Х", "\u0425"); - entities.put("Ќ", "\u040C"); - entities.put("Κ", "\u039A"); - entities.put("Ķ", "\u0136"); - entities.put("К", "\u041A"); - entities.put("𝔎", "\uD835\uDD0E"); - entities.put("𝕂", "\uD835\uDD42"); - entities.put("𝒦", "\uD835\uDCA6"); - entities.put("Љ", "\u0409"); - entities.put("<", "\u003C"); - entities.put("Ĺ", "\u0139"); - entities.put("Λ", "\u039B"); - entities.put("⟪", "\u27EA"); - entities.put("ℒ", "\u2112"); - entities.put("↞", "\u219E"); - entities.put("Ľ", "\u013D"); - entities.put("Ļ", "\u013B"); - entities.put("Л", "\u041B"); - entities.put("⟨", "\u27E8"); - entities.put("←", "\u2190"); - entities.put("⇤", "\u21E4"); - entities.put("⇆", "\u21C6"); - entities.put("⌈", "\u2308"); - entities.put("⟦", "\u27E6"); - entities.put("⥡", "\u2961"); - entities.put("⇃", "\u21C3"); - entities.put("⥙", "\u2959"); - entities.put("⌊", "\u230A"); - entities.put("↔", "\u2194"); - entities.put("⥎", "\u294E"); - entities.put("⊣", "\u22A3"); - entities.put("↤", "\u21A4"); - entities.put("⥚", "\u295A"); - entities.put("⊲", "\u22B2"); - entities.put("⧏", "\u29CF"); - entities.put("⊴", "\u22B4"); - entities.put("⥑", "\u2951"); - entities.put("⥠", "\u2960"); - entities.put("↿", "\u21BF"); - entities.put("⥘", "\u2958"); - entities.put("↼", "\u21BC"); - entities.put("⥒", "\u2952"); - entities.put("⇐", "\u21D0"); - entities.put("⇔", "\u21D4"); - entities.put("⋚", "\u22DA"); - entities.put("≦", "\u2266"); - entities.put("≶", "\u2276"); - entities.put("⪡", "\u2AA1"); - entities.put("⩽", "\u2A7D"); - entities.put("≲", "\u2272"); - entities.put("𝔏", "\uD835\uDD0F"); - entities.put("⋘", "\u22D8"); - entities.put("⇚", "\u21DA"); - entities.put("Ŀ", "\u013F"); - entities.put("⟵", "\u27F5"); - entities.put("⟷", "\u27F7"); - entities.put("⟶", "\u27F6"); - entities.put("⟸", "\u27F8"); - entities.put("⟺", "\u27FA"); - entities.put("⟹", "\u27F9"); - entities.put("𝕃", "\uD835\uDD43"); - entities.put("↙", "\u2199"); - entities.put("↘", "\u2198"); - entities.put("ℒ", "\u2112"); - entities.put("↰", "\u21B0"); - entities.put("Ł", "\u0141"); - entities.put("≪", "\u226A"); - entities.put("⤅", "\u2905"); - entities.put("М", "\u041C"); - entities.put(" ", "\u205F"); - entities.put("ℳ", "\u2133"); - entities.put("𝔐", "\uD835\uDD10"); - entities.put("∓", "\u2213"); - entities.put("𝕄", "\uD835\uDD44"); - entities.put("ℳ", "\u2133"); - entities.put("Μ", "\u039C"); - entities.put("Њ", "\u040A"); - entities.put("Ń", "\u0143"); - entities.put("Ň", "\u0147"); - entities.put("Ņ", "\u0145"); - entities.put("Н", "\u041D"); - entities.put("​", "\u200B"); - entities.put("​", "\u200B"); - entities.put("​", "\u200B"); - entities.put("​", "\u200B"); - entities.put("≫", "\u226B"); - entities.put("≪", "\u226A"); - entities.put(" ", "\n"); - entities.put("𝔑", "\uD835\uDD11"); - entities.put("⁠", "\u2060"); - entities.put(" ", "\u00A0"); - entities.put("ℕ", "\u2115"); - entities.put("⫬", "\u2AEC"); - entities.put("≢", "\u2262"); - entities.put("≭", "\u226D"); - entities.put("∦", "\u2226"); - entities.put("∉", "\u2209"); - entities.put("≠", "\u2260"); - entities.put("≂̸", "\u2242\u0338"); - entities.put("∄", "\u2204"); - entities.put("≯", "\u226F"); - entities.put("≱", "\u2271"); - entities.put("≧̸", "\u2267\u0033"); - entities.put("≫̸", "\u226B\u0033"); - entities.put("≹", "\u2279"); - entities.put("⩾̸", "\u2A7E\u0338"); - entities.put("≵", "\u2275"); - entities.put("≎̸", "\u224E\u0338"); - entities.put("≏̸", "\u224F\u0338"); - entities.put("⋪", "\u22EA"); - entities.put("⧏̸", "\u29CF\u0338"); - entities.put("⋬", "\u22EC"); - entities.put("≮", "\u226E"); - entities.put("≰", "\u2270"); - entities.put("≸", "\u2278"); - entities.put("≪̸", "\u226A\u0338"); - entities.put("⩽̸", "\u2A7D\u0338"); - entities.put("≴", "\u2274"); - entities.put("⪢̸", "\u2AA2\u0338"); - entities.put("⪡̸", "\u2AA1\u0338"); - entities.put("⊀", "\u2280"); - entities.put("⪯̸", "\u2AAF\u0338"); - entities.put("⋠", "\u22E0"); - entities.put("∌", "\u220C"); - entities.put("⋫", "\u22EB"); - entities.put("⧐̸", "\u29D0\u0338"); - entities.put("⋭", "\u22ED"); - entities.put("⊏̸", "\u228F\u0338"); - entities.put("⋢", "\u22E2"); - entities.put("⊐̸", "\u2290\u0338"); - entities.put("⋣", "\u22E3"); - entities.put("⊂⃒", "\u2282\u20D2"); - entities.put("⊈", "\u2288"); - entities.put("⊁", "\u2281"); - entities.put("⪰̸", "\u2AB0\u0338"); - entities.put("⋡", "\u22E1"); - entities.put("≿̸", "\u227F\u0338"); - entities.put("⊃⃒", "\u2283\u20D2"); - entities.put("⊉", "\u2289"); - entities.put("≁", "\u2241"); - entities.put("≄", "\u2244"); - entities.put("≇", "\u2247"); - entities.put("≉", "\u2249"); - entities.put("∤", "\u2224"); - entities.put("𝒩", "\uD835\uDCA9"); - entities.put("Ñ", "\u00D1"); - entities.put("Ν", "\u039D"); - entities.put("Œ", "\u0152"); - entities.put("Ó", "\u00D3"); - entities.put("Ô", "\u00D4"); - entities.put("О", "\u041E"); - entities.put("Ő", "\u0150"); - entities.put("𝔒", "\uD835\uDD12"); - entities.put("Ò", "\u00D2"); - entities.put("Ō", "\u014C"); - entities.put("Ω", "\u03A9"); - entities.put("Ο", "\u039F"); - entities.put("𝕆", "\uD835\uDD46"); - entities.put("“", "\u201C"); - entities.put("‘", "\u2018"); - entities.put("⩔", "\u2A54"); - entities.put("𝒪", "\uD835\uDCAA"); - entities.put("Ø", "\u00D8"); - entities.put("Õ", "\u00D5"); - entities.put("⨷", "\u2A37"); - entities.put("Ö", "\u00D6"); - entities.put("‾", "\u203E"); - entities.put("⏞", "\u23DE"); - entities.put("⎴", "\u23B4"); - entities.put("⏜", "\u23DC"); - entities.put("∂", "\u2202"); - entities.put("П", "\u041F"); - entities.put("𝔓", "\uD835\uDD13"); - entities.put("Φ", "\u03A6"); - entities.put("Π", "\u03A0"); - entities.put("±", "\u00B1"); - entities.put("ℌ", "\u210C"); - entities.put("ℙ", "\u2119"); - entities.put("⪻", "\u2ABB"); - entities.put("≺", "\u227A"); - entities.put("⪯", "\u2AAF"); - entities.put("≼", "\u227C"); - entities.put("≾", "\u227E"); - entities.put("″", "\u2033"); - entities.put("∏", "\u220F"); - entities.put("∷", "\u2237"); - entities.put("∝", "\u221D"); - entities.put("𝒫", "\uD835\uDCAB"); - entities.put("Ψ", "\u03A8"); - entities.put(""", "\\u0022"); - entities.put("𝔔", "\uD835\uDD14"); - entities.put("ℚ", "\u211A"); - entities.put("𝒬", "\uD835\uDCAC"); - entities.put("⤐", "\u2910"); - entities.put("®", "\u00AE"); - entities.put("Ŕ", "\u0154"); - entities.put("⟫", "\u27EB"); - entities.put("↠", "\u21A0"); - entities.put("⤖", "\u2916"); - entities.put("Ř", "\u0158"); - entities.put("Ŗ", "\u0156"); - entities.put("Р", "\u0420"); - entities.put("ℜ", "\u211C"); - entities.put("∋", "\u220B"); - entities.put("⇋", "\u21CB"); - entities.put("⥯", "\u296F"); - entities.put("ℜ", "\u211C"); - entities.put("Ρ", "\u03A1"); - entities.put("⟩", "\u27E9"); - entities.put("→", "\u2192"); - entities.put("⇥", "\u21E5"); - entities.put("⇄", "\u21C4"); - entities.put("⌉", "\u2309"); - entities.put("⟧", "\u27E7"); - entities.put("⥝", "\u295D"); - entities.put("⇂", "\u21C2"); - entities.put("⥕", "\u2955"); - entities.put("⌋", "\u230B"); - entities.put("⊢", "\u22A2"); - entities.put("↦", "\u21A6"); - entities.put("⥛", "\u295B"); - entities.put("⊳", "\u22B3"); - entities.put("⧐", "\u29D0"); - entities.put("⊵", "\u22B5"); - entities.put("⥏", "\u294F"); - entities.put("⥜", "\u295C"); - entities.put("↾", "\u21BE"); - entities.put("⥔", "\u2954"); - entities.put("⇀", "\u21C0"); - entities.put("⥓", "\u2953"); - entities.put("⇒", "\u21D2"); - entities.put("ℝ", "\u211D"); - entities.put("⥰", "\u2970"); - entities.put("⇛", "\u21DB"); - entities.put("ℛ", "\u211B"); - entities.put("↱", "\u21B1"); - entities.put("⧴", "\u29F4"); - entities.put("Щ", "\u0429"); - entities.put("Ш", "\u0428"); - entities.put("Ь", "\u042C"); - entities.put("Ś", "\u015A"); - entities.put("⪼", "\u2ABC"); - entities.put("Š", "\u0160"); - entities.put("Ş", "\u015E"); - entities.put("Ŝ", "\u015C"); - entities.put("С", "\u0421"); - entities.put("𝔖", "\uD835\uDD16"); - entities.put("↓", "\u2193"); - entities.put("←", "\u2190"); - entities.put("→", "\u2192"); - entities.put("↑", "\u2191"); - entities.put("Σ", "\u03A3"); - entities.put("∘", "\u2218"); - entities.put("𝕊", "\uD835\uDD4A"); - entities.put("√", "\u221A"); - entities.put("□", "\u25A1"); - entities.put("⊓", "\u2293"); - entities.put("⊏", "\u228F"); - entities.put("⊑", "\u2291"); - entities.put("⊐", "\u2290"); - entities.put("⊒", "\u2292"); - entities.put("⊔", "\u2294"); - entities.put("𝒮", "\uD835\uDCAE"); - entities.put("⋆", "\u22C6"); - entities.put("⋐", "\u22D0"); - entities.put("⋐", "\u22D0"); - entities.put("⊆", "\u2286"); - entities.put("≻", "\u227B"); - entities.put("⪰", "\u2AB0"); - entities.put("≽", "\u227D"); - entities.put("≿", "\u227F"); - entities.put("∋", "\u220B"); - entities.put("∑", "\u2211"); - entities.put("⋑", "\u22D1"); - entities.put("⊃", "\u2283"); - entities.put("⊇", "\u2287"); - entities.put("⋑", "\u22D1"); - entities.put("Þ", "\u00DE"); - entities.put("™", "\u2122"); - entities.put("Ћ", "\u040B"); - entities.put("Ц", "\u0426"); - entities.put(" ", "\u0009"); - entities.put("Τ", "\u03A4"); - entities.put("Ť", "\u0164"); - entities.put("Ţ", "\u0162"); - entities.put("Т", "\u0422"); - entities.put("𝔗", "\uD835\uDD17"); - entities.put("∴", "\u2234"); - entities.put("Θ", "\u0398"); - entities.put("  ", "\u205F\u200A"); - entities.put(" ", "\u2009"); - entities.put("∼", "\u223C"); - entities.put("≃", "\u2243"); - entities.put("≅", "\u2245"); - entities.put("≈", "\u2248"); - entities.put("𝕋", "\uD835\uDD4B"); - entities.put("⃛", "\u20DB"); - entities.put("𝒯", "\uD835\uDCAF"); - entities.put("Ŧ", "\u0166"); - entities.put("Ú", "\u00DA"); - entities.put("↟", "\u219F"); - entities.put("⥉", "\u2949"); - entities.put("Ў", "\u040E"); - entities.put("Ŭ", "\u016C"); - entities.put("Û", "\u00DB"); - entities.put("У", "\u0423"); - entities.put("Ű", "\u0170"); - entities.put("𝔘", "\uD835\uDD18"); - entities.put("Ù", "\u00D9"); - entities.put("Ū", "\u016A"); - entities.put("_", "\u005F"); - entities.put("⏟", "\u23DF"); - entities.put("⎵", "\u23B5"); - entities.put("⏝", "\u23DD"); - entities.put("⋃", "\u22C3"); - entities.put("⊎", "\u228E"); - entities.put("Ų", "\u0172"); - entities.put("𝕌", "\uD835\uDD4C"); - entities.put("↑", "\u2191"); - entities.put("⤒", "\u2912"); - entities.put("⇅", "\u21C5"); - entities.put("↕", "\u2195"); - entities.put("⥮", "\u296E"); - entities.put("⊥", "\u22A5"); - entities.put("↥", "\u21A5"); - entities.put("⇑", "\u21D1"); - entities.put("⇕", "\u21D5"); - entities.put("↖", "\u2196"); - entities.put("↗", "\u2197"); - entities.put("ϒ", "\u03D2"); - entities.put("Υ", "\u03A5"); - entities.put("Ů", "\u016E"); - entities.put("𝒰", "\uD835\uDCB0"); - entities.put("Ũ", "\u0168"); - entities.put("Ü", "\u00DC"); - entities.put("⊫", "\u22AB"); - entities.put("⫫", "\u2AEB"); - entities.put("В", "\u0412"); - entities.put("⊩", "\u22A9"); - entities.put("⫦", "\u2AE6"); - entities.put("⋁", "\u22C1"); - entities.put("‖", "\u2016"); - entities.put("‖", "\u2016"); - entities.put("∣", "\u2223"); - entities.put("|", "\u007C"); - entities.put("❘", "\u2758"); - entities.put("≀", "\u2240"); - entities.put(" ", "\u200A"); - entities.put("𝔙", "\uD835\uDD19"); - entities.put("𝕍", "\uD835\uDD4D"); - entities.put("𝒱", "\uD835\uDCB1"); - entities.put("⊪", "\u22AA"); - entities.put("Ŵ", "\u0174"); - entities.put("⋀", "\u22C0"); - entities.put("𝔚", "\uD835\uDD1A"); - entities.put("𝕎", "\uD835\uDD4E"); - entities.put("𝒲", "\uD835\uDCB2"); - entities.put("𝔛", "\uD835\uDD1B"); - entities.put("Ξ", "\u039E"); - entities.put("𝕏", "\uD835\uDD4F"); - entities.put("𝒳", "\uD835\uDCB3"); - entities.put("Я", "\u042F"); - entities.put("Ї", "\u0407"); - entities.put("Ю", "\u042E"); - entities.put("Ý", "\u00DD"); - entities.put("Ŷ", "\u0176"); - entities.put("Ы", "\u042B"); - entities.put("𝔜", "\uD835\uDD1C"); - entities.put("𝕐", "\uD835\uDD50"); - entities.put("𝒴", "\uD835\uDCB4"); - entities.put("Ÿ", "\u0178"); - entities.put("Ж", "\u0416"); - entities.put("Ź", "\u0179"); - entities.put("Ž", "\u017D"); - entities.put("З", "\u0417"); - entities.put("Ż", "\u017B"); - entities.put("​", "\u200B"); - entities.put("Ζ", "\u0396"); - entities.put("ℨ", "\u2128"); - entities.put("ℤ", "\u2124"); - entities.put("𝒵", "\uD835\uDCB5"); - entities.put("á", "\u00E1"); - entities.put("ă", "\u0103"); - entities.put("∾", "\u223E"); - entities.put("∾̳", "\u223E\u0333"); - entities.put("∿", "\u223F"); - entities.put("â", "\u00E2"); - entities.put("´", "\u00B4"); - entities.put("а", "\u0430"); - entities.put("æ", "\u00E6"); - entities.put("⁡", "\u2061"); - entities.put("𝔞", "\uD835\uDD1E"); - entities.put("à", "\u00E0"); - entities.put("ℵ", "\u2135"); - entities.put("ℵ", "\u2135"); - entities.put("α", "\u03B1"); - entities.put("ā", "\u0101"); - entities.put("⨿", "\u2A3F"); - entities.put("&", "\u0026"); - entities.put("∧", "\u2227"); - entities.put("⩕", "\u2A55"); - entities.put("⩜", "\u2A5C"); - entities.put("⩘", "\u2A58"); - entities.put("⩚", "\u2A5A"); - entities.put("∠", "\u2220"); - entities.put("⦤", "\u29A4"); - entities.put("∠", "\u2220"); - entities.put("∡", "\u2221"); - entities.put("⦨", "\u29A8"); - entities.put("⦩", "\u29A9"); - entities.put("⦪", "\u29AA"); - entities.put("⦫", "\u29AB"); - entities.put("⦬", "\u29AC"); - entities.put("⦭", "\u29AD"); - entities.put("⦮", "\u29AE"); - entities.put("⦯", "\u29AF"); - entities.put("∟", "\u221F"); - entities.put("⊾", "\u22BE"); - entities.put("⦝", "\u299D"); - entities.put("∢", "\u2222"); - entities.put("Å", "\u00C5"); - entities.put("⍼", "\u237C"); - entities.put("ą", "\u0105"); - entities.put("𝕒", "\uD835\uDD52"); - entities.put("≈", "\u2248"); - entities.put("⩰", "\u2A70"); - entities.put("⩯", "\u2A6F"); - entities.put("≊", "\u224A"); - entities.put("≋", "\u224B"); - entities.put("'", "\u0027"); - entities.put("≈", "\u2248"); - entities.put("≊", "\u224A"); - entities.put("å", "\u00E5"); - entities.put("𝒶", "\uD835\uDCB6"); - entities.put("*", "\u002A"); - entities.put("≈", "\u2248"); - entities.put("≍", "\u224D"); - entities.put("ã", "\u00E3"); - entities.put("ä", "\u00E4"); - entities.put("∳", "\u2233"); - entities.put("⨑", "\u2A11"); - entities.put("⫭", "\u2AED"); - entities.put("≌", "\u224C"); - entities.put("϶", "\u03F6"); - entities.put("‵", "\u2035"); - entities.put("∽", "\u223D"); - entities.put("⋍", "\u22CD"); - entities.put("⊽", "\u22BD"); - entities.put("⌅", "\u2305"); - entities.put("⌅", "\u2305"); - entities.put("⎵", "\u23B5"); - entities.put("⎶", "\u23B6"); - entities.put("≌", "\u224C"); - entities.put("б", "\u0431"); - entities.put("„", "\u201E"); - entities.put("∵", "\u2235"); - entities.put("∵", "\u2235"); - entities.put("⦰", "\u29B0"); - entities.put("϶", "\u03F6"); - entities.put("ℬ", "\u212C"); - entities.put("β", "\u03B2"); - entities.put("ℶ", "\u2136"); - entities.put("≬", "\u226C"); - entities.put("𝔟", "\uD835\uDD1F"); - entities.put("⋂", "\u22C2"); - entities.put("◯", "\u25EF"); - entities.put("⋃", "\u22C3"); - entities.put("⨀", "\u2A00"); - entities.put("⨁", "\u2A01"); - entities.put("⨂", "\u2A02"); - entities.put("⨆", "\u2A06"); - entities.put("★", "\u2605"); - entities.put("▽", "\u25BD"); - entities.put("△", "\u25B3"); - entities.put("⨄", "\u2A04"); - entities.put("⋁", "\u22C1"); - entities.put("⋀", "\u22C0"); - entities.put("⤍", "\u290D"); - entities.put("⧫", "\u29EB"); - entities.put("▪", "\u25AA"); - entities.put("▴", "\u25B4"); - entities.put("▾", "\u25BE"); - entities.put("◂", "\u25C2"); - entities.put("▸", "\u25B8"); - entities.put("␣", "\u2423"); - entities.put("▒", "\u2592"); - entities.put("░", "\u2591"); - entities.put("▓", "\u2593"); - entities.put("█", "\u2588"); - entities.put("=⃥", "\u003D\u20E5"); - entities.put("≡⃥", "\u2261\u20E5"); - entities.put("⌐", "\u2310"); - entities.put("𝕓", "\uD835\uDD53"); - entities.put("⊥", "\u22A5"); - entities.put("⊥", "\u22A5"); - entities.put("⋈", "\u22C8"); - entities.put("╗", "\u2557"); - entities.put("╔", "\u2554"); - entities.put("╖", "\u2556"); - entities.put("╓", "\u2553"); - entities.put("═", "\u2550"); - entities.put("╦", "\u2566"); - entities.put("╩", "\u2569"); - entities.put("╤", "\u2564"); - entities.put("╧", "\u2567"); - entities.put("╝", "\u255D"); - entities.put("╚", "\u255A"); - entities.put("╜", "\u255C"); - entities.put("╙", "\u2559"); - entities.put("║", "\u2551"); - entities.put("╬", "\u256C"); - entities.put("╣", "\u2563"); - entities.put("╠", "\u2560"); - entities.put("╫", "\u256B"); - entities.put("╢", "\u2562"); - entities.put("╟", "\u255F"); - entities.put("⧉", "\u29C9"); - entities.put("╕", "\u2555"); - entities.put("╒", "\u2552"); - entities.put("┐", "\u2510"); - entities.put("┌", "\u250C"); - entities.put("─", "\u2500"); - entities.put("╥", "\u2565"); - entities.put("╨", "\u2568"); - entities.put("┬", "\u252C"); - entities.put("┴", "\u2534"); - entities.put("⊟", "\u229F"); - entities.put("⊞", "\u229E"); - entities.put("⊠", "\u22A0"); - entities.put("╛", "\u255B"); - entities.put("╘", "\u2558"); - entities.put("┘", "\u2518"); - entities.put("└", "\u2514"); - entities.put("│", "\u2502"); - entities.put("╪", "\u256A"); - entities.put("╡", "\u2561"); - entities.put("╞", "\u255E"); - entities.put("┼", "\u253C"); - entities.put("┤", "\u2524"); - entities.put("├", "\u251C"); - entities.put("‵", "\u2035"); - entities.put("˘", "\u02D8"); - entities.put("¦", "\u00A6"); - entities.put("𝒷", "\uD835\uDCB7"); - entities.put("⁏", "\u204F"); - entities.put("∽", "\u223D"); - entities.put("⋍", "\u22CD"); - entities.put("\", "\\u005C"); - entities.put("⧅", "\u29C5"); - entities.put("⟈", "\u27C8"); - entities.put("•", "\u2022"); - entities.put("•", "\u2022"); - entities.put("≎", "\u224E"); - entities.put("⪮", "\u2AAE"); - entities.put("≏", "\u224F"); - entities.put("≏", "\u224F"); - entities.put("ć", "\u0107"); - entities.put("∩", "\u2229"); - entities.put("⩄", "\u2A44"); - entities.put("⩉", "\u2A49"); - entities.put("⩋", "\u2A4B"); - entities.put("⩇", "\u2A47"); - entities.put("⩀", "\u2A40"); - entities.put("∩︀", "\u2229\uFE00"); - entities.put("⁁", "\u2041"); - entities.put("ˇ", "\u02C7"); - entities.put("⩍", "\u2A4D"); - entities.put("č", "\u010D"); - entities.put("ç", "\u00E7"); - entities.put("ĉ", "\u0109"); - entities.put("⩌", "\u2A4C"); - entities.put("⩐", "\u2A50"); - entities.put("ċ", "\u010B"); - entities.put("¸", "\u00B8"); - entities.put("⦲", "\u29B2"); - entities.put("¢", "\u00A2"); - entities.put("·", "\u00B7"); - entities.put("𝔠", "\uD835\uDD20"); - entities.put("ч", "\u0447"); - entities.put("✓", "\u2713"); - entities.put("✓", "\u2713"); - entities.put("χ", "\u03C7"); - entities.put("○", "\u25CB"); - entities.put("⧃", "\u29C3"); - entities.put("ˆ", "\u02C6"); - entities.put("≗", "\u2257"); - entities.put("↺", "\u21BA"); - entities.put("↻", "\u21BB"); - entities.put("®", "\u00AE"); - entities.put("Ⓢ", "\u24C8"); - entities.put("⊛", "\u229B"); - entities.put("⊚", "\u229A"); - entities.put("⊝", "\u229D"); - entities.put("≗", "\u2257"); - entities.put("⨐", "\u2A10"); - entities.put("⫯", "\u2AEF"); - entities.put("⧂", "\u29C2"); - entities.put("♣", "\u2663"); - entities.put("♣", "\u2663"); - entities.put(":", "\u003A"); - entities.put("≔", "\u2254"); - entities.put("≔", "\u2254"); - entities.put(",", "\u002C"); - entities.put("@", "\u0040"); - entities.put("∁", "\u2201"); - entities.put("∘", "\u2218"); - entities.put("∁", "\u2201"); - entities.put("ℂ", "\u2102"); - entities.put("≅", "\u2245"); - entities.put("⩭", "\u2A6D"); - entities.put("∮", "\u222E"); - entities.put("𝕔", "\uD835\uDD54"); - entities.put("∐", "\u2210"); - entities.put("©", "\u00A9"); - entities.put("℗", "\u2117"); - entities.put("↵", "\u21B5"); - entities.put("✗", "\u2717"); - entities.put("𝒸", "\uD835\uDCB8"); - entities.put("⫏", "\u2ACF"); - entities.put("⫑", "\u2AD1"); - entities.put("⫐", "\u2AD0"); - entities.put("⫒", "\u2AD2"); - entities.put("⋯", "\u22EF"); - entities.put("⤸", "\u2938"); - entities.put("⤵", "\u2935"); - entities.put("⋞", "\u22DE"); - entities.put("⋟", "\u22DF"); - entities.put("↶", "\u21B6"); - entities.put("⤽", "\u293D"); - entities.put("∪", "\u222A"); - entities.put("⩈", "\u2A48"); - entities.put("⩆", "\u2A46"); - entities.put("⩊", "\u2A4A"); - entities.put("⊍", "\u228D"); - entities.put("⩅", "\u2A45"); - entities.put("∪︀", "\u222A\uFE00"); - entities.put("↷", "\u21B7"); - entities.put("⤼", "\u293C"); - entities.put("⋞", "\u22DE"); - entities.put("⋟", "\u22DF"); - entities.put("⋎", "\u22CE"); - entities.put("⋏", "\u22CF"); - entities.put("¤", "\u00A4"); - entities.put("↶", "\u21B6"); - entities.put("↷", "\u21B7"); - entities.put("⋎", "\u22CE"); - entities.put("⋏", "\u22CF"); - entities.put("∲", "\u2232"); - entities.put("∱", "\u2231"); - entities.put("⌭", "\u232D"); - entities.put("⇓", "\u21D3"); - entities.put("⥥", "\u2965"); - entities.put("†", "\u2020"); - entities.put("ℸ", "\u2138"); - entities.put("↓", "\u2193"); - entities.put("‐", "\u2010"); - entities.put("⊣", "\u22A3"); - entities.put("⤏", "\u290F"); - entities.put("˝", "\u02DD"); - entities.put("ď", "\u010F"); - entities.put("д", "\u0434"); - entities.put("ⅆ", "\u2146"); - entities.put("‡", "\u2021"); - entities.put("⇊", "\u21CA"); - entities.put("⩷", "\u2A77"); - entities.put("°", "\u00B0"); - entities.put("δ", "\u03B4"); - entities.put("⦱", "\u29B1"); - entities.put("⥿", "\u297F"); - entities.put("𝔡", "\uD835\uDD21"); - entities.put("⇃", "\u21C3"); - entities.put("⇂", "\u21C2"); - entities.put("⋄", "\u22C4"); - entities.put("⋄", "\u22C4"); - entities.put("♦", "\u2666"); - entities.put("♦", "\u2666"); - entities.put("¨", "\u00A8"); - entities.put("ϝ", "\u03DD"); - entities.put("⋲", "\u22F2"); - entities.put("÷", "\u00F7"); - entities.put("÷", "\u00F7"); - entities.put("⋇", "\u22C7"); - entities.put("⋇", "\u22C7"); - entities.put("ђ", "\u0452"); - entities.put("⌞", "\u231E"); - entities.put("⌍", "\u230D"); - entities.put("$", "\u0024"); - entities.put("𝕕", "\uD835\uDD55"); - entities.put("˙", "\u02D9"); - entities.put("≐", "\u2250"); - entities.put("≑", "\u2251"); - entities.put("∸", "\u2238"); - entities.put("∔", "\u2214"); - entities.put("⊡", "\u22A1"); - entities.put("⌆", "\u2306"); - entities.put("↓", "\u2193"); - entities.put("⇊", "\u21CA"); - entities.put("⇃", "\u21C3"); - entities.put("⇂", "\u21C2"); - entities.put("⤐", "\u2910"); - entities.put("⌟", "\u231F"); - entities.put("⌌", "\u230C"); - entities.put("𝒹", "\uD835\uDCB9"); - entities.put("ѕ", "\u0455"); - entities.put("⧶", "\u29F6"); - entities.put("đ", "\u0111"); - entities.put("⋱", "\u22F1"); - entities.put("▿", "\u25BF"); - entities.put("▾", "\u25BE"); - entities.put("⇵", "\u21F5"); - entities.put("⥯", "\u296F"); - entities.put("⦦", "\u29A6"); - entities.put("џ", "\u045F"); - entities.put("⟿", "\u27FF"); - entities.put("⩷", "\u2A77"); - entities.put("≑", "\u2251"); - entities.put("é", "\u00E9"); - entities.put("⩮", "\u2A6E"); - entities.put("ě", "\u011B"); - entities.put("≖", "\u2256"); - entities.put("ê", "\u00EA"); - entities.put("≕", "\u2255"); - entities.put("э", "\u044D"); - entities.put("ė", "\u0117"); - entities.put("ⅇ", "\u2147"); - entities.put("≒", "\u2252"); - entities.put("𝔢", "\uD835\uDD22"); - entities.put("⪚", "\u2A9A"); - entities.put("è", "\u00E8"); - entities.put("⪖", "\u2A96"); - entities.put("⪘", "\u2A98"); - entities.put("⪙", "\u2A99"); - entities.put("⏧", "\u23E7"); - entities.put("ℓ", "\u2113"); - entities.put("⪕", "\u2A95"); - entities.put("⪗", "\u2A97"); - entities.put("ē", "\u0113"); - entities.put("∅", "\u2205"); - entities.put("∅", "\u2205"); - entities.put("∅", "\u2205"); - entities.put(" ", "\u2004"); - entities.put(" ", "\u2005"); - entities.put(" ", "\u2003"); - entities.put("ŋ", "\u014B"); - entities.put(" ", "\u2002"); - entities.put("ę", "\u0119"); - entities.put("𝕖", "\uD835\uDD56"); - entities.put("⋕", "\u22D5"); - entities.put("⧣", "\u29E3"); - entities.put("⩱", "\u2A71"); - entities.put("ε", "\u03B5"); - entities.put("ε", "\u03B5"); - entities.put("ϵ", "\u03F5"); - entities.put("≖", "\u2256"); - entities.put("≕", "\u2255"); - entities.put("≂", "\u2242"); - entities.put("⪖", "\u2A96"); - entities.put("⪕", "\u2A95"); - entities.put("=", "\u003D"); - entities.put("≟", "\u225F"); - entities.put("≡", "\u2261"); - entities.put("⩸", "\u2A78"); - entities.put("⧥", "\u29E5"); - entities.put("≓", "\u2253"); - entities.put("⥱", "\u2971"); - entities.put("ℯ", "\u212F"); - entities.put("≐", "\u2250"); - entities.put("≂", "\u2242"); - entities.put("η", "\u03B7"); - entities.put("ð", "\u00F0"); - entities.put("ë", "\u00EB"); - entities.put("€", "\u20AC"); - entities.put("!", "\u0021"); - entities.put("∃", "\u2203"); - entities.put("ℰ", "\u2130"); - entities.put("ⅇ", "\u2147"); - entities.put("≒", "\u2252"); - entities.put("ф", "\u0444"); - entities.put("♀", "\u2640"); - entities.put("ffi", "\uFB03"); - entities.put("ff", "\uFB00"); - entities.put("ffl", "\uFB04"); - entities.put("𝔣", "\uD835\uDD23"); - entities.put("fi", "\uFB01"); - entities.put("fj", "\u0066\u006A"); - entities.put("♭", "\u266D"); - entities.put("fl", "\uFB02"); - entities.put("▱", "\u25B1"); - entities.put("ƒ", "\u0192"); - entities.put("𝕗", "\uD835\uDD57"); - entities.put("∀", "\u2200"); - entities.put("⋔", "\u22D4"); - entities.put("⫙", "\u2AD9"); - entities.put("⨍", "\u2A0D"); - entities.put("½", "\u00BD"); - entities.put("⅓", "\u2153"); - entities.put("¼", "\u00BC"); - entities.put("⅕", "\u2155"); - entities.put("⅙", "\u2159"); - entities.put("⅛", "\u215B"); - entities.put("⅔", "\u2154"); - entities.put("⅖", "\u2156"); - entities.put("¾", "\u00BE"); - entities.put("⅗", "\u2157"); - entities.put("⅜", "\u215C"); - entities.put("⅘", "\u2158"); - entities.put("⅚", "\u215A"); - entities.put("⅝", "\u215D"); - entities.put("⅞", "\u215E"); - entities.put("⁄", "\u2044"); - entities.put("⌢", "\u2322"); - entities.put("𝒻", "\uD835\uDCBB"); - entities.put("≧", "\u2267"); - entities.put("⪌", "\u2A8C"); - entities.put("ǵ", "\u01F5"); - entities.put("γ", "\u03B3"); - entities.put("ϝ", "\u03DD"); - entities.put("⪆", "\u2A86"); - entities.put("ğ", "\u011F"); - entities.put("ĝ", "\u011D"); - entities.put("г", "\u0433"); - entities.put("ġ", "\u0121"); - entities.put("≥", "\u2265"); - entities.put("⋛", "\u22DB"); - entities.put("≥", "\u2265"); - entities.put("≧", "\u2267"); - entities.put("⩾", "\u2A7E"); - entities.put("⩾", "\u2A7E"); - entities.put("⪩", "\u2AA9"); - entities.put("⪀", "\u2A80"); - entities.put("⪂", "\u2A82"); - entities.put("⪄", "\u2A84"); - entities.put("⋛︀", "\u22DB\uFE00"); - entities.put("⪔", "\u2A94"); - entities.put("𝔤", "\uD835\uDD24"); - entities.put("≫", "\u226B"); - entities.put("⋙", "\u22D9"); - entities.put("ℷ", "\u2137"); - entities.put("ѓ", "\u0453"); - entities.put("≷", "\u2277"); - entities.put("⪒", "\u2A92"); - entities.put("⪥", "\u2AA5"); - entities.put("⪤", "\u2AA4"); - entities.put("≩", "\u2269"); - entities.put("⪊", "\u2A8A"); - entities.put("⪊", "\u2A8A"); - entities.put("⪈", "\u2A88"); - entities.put("⪈", "\u2A88"); - entities.put("≩", "\u2269"); - entities.put("⋧", "\u22E7"); - entities.put("𝕘", "\uD835\uDD58"); - entities.put("`", "\u0060"); - entities.put("ℊ", "\u210A"); - entities.put("≳", "\u2273"); - entities.put("⪎", "\u2A8E"); - entities.put("⪐", "\u2A90"); - entities.put(">", "\u003E"); - entities.put("⪧", "\u2AA7"); - entities.put("⩺", "\u2A7A"); - entities.put("⋗", "\u22D7"); - entities.put("⦕", "\u2995"); - entities.put("⩼", "\u2A7C"); - entities.put("⪆", "\u2A86"); - entities.put("⥸", "\u2978"); - entities.put("⋗", "\u22D7"); - entities.put("⋛", "\u22DB"); - entities.put("⪌", "\u2A8C"); - entities.put("≷", "\u2277"); - entities.put("≳", "\u2273"); - entities.put("≩︀", "\u2269\uFE00"); - entities.put("≩︀", "\u2269\uFE00"); - entities.put("⇔", "\u21D4"); - entities.put(" ", "\u200A"); - entities.put("½", "\u00BD"); - entities.put("ℋ", "\u210B"); - entities.put("ъ", "\u044A"); - entities.put("↔", "\u2194"); - entities.put("⥈", "\u2948"); - entities.put("↭", "\u21AD"); - entities.put("ℏ", "\u210F"); - entities.put("ĥ", "\u0125"); - entities.put("♥", "\u2665"); - entities.put("♥", "\u2665"); - entities.put("…", "\u2026"); - entities.put("⊹", "\u22B9"); - entities.put("𝔥", "\uD835\uDD25"); - entities.put("⤥", "\u2925"); - entities.put("⤦", "\u2926"); - entities.put("⇿", "\u21FF"); - entities.put("∻", "\u223B"); - entities.put("↩", "\u21A9"); - entities.put("↪", "\u21AA"); - entities.put("𝕙", "\uD835\uDD59"); - entities.put("―", "\u2015"); - entities.put("𝒽", "\uD835\uDCBD"); - entities.put("ℏ", "\u210F"); - entities.put("ħ", "\u0127"); - entities.put("⁃", "\u2043"); - entities.put("‐", "\u2010"); - entities.put("í", "\u00ED"); - entities.put("⁣", "\u2063"); - entities.put("î", "\u00EE"); - entities.put("и", "\u0438"); - entities.put("е", "\u0435"); - entities.put("¡", "\u00A1"); - entities.put("⇔", "\u21D4"); - entities.put("𝔦", "\uD835\uDD26"); - entities.put("ì", "\u00EC"); - entities.put("ⅈ", "\u2148"); - entities.put("⨌", "\u2A0C"); - entities.put("∭", "\u222D"); - entities.put("⧜", "\u29DC"); - entities.put("℩", "\u2129"); - entities.put("ij", "\u0133"); - entities.put("ī", "\u012B"); - entities.put("ℑ", "\u2111"); - entities.put("ℐ", "\u2110"); - entities.put("ℑ", "\u2111"); - entities.put("ı", "\u0131"); - entities.put("⊷", "\u22B7"); - entities.put("Ƶ", "\u01B5"); - entities.put("∈", "\u2208"); - entities.put("℅", "\u2105"); - entities.put("∞", "\u221E"); - entities.put("⧝", "\u29DD"); - entities.put("ı", "\u0131"); - entities.put("∫", "\u222B"); - entities.put("⊺", "\u22BA"); - entities.put("ℤ", "\u2124"); - entities.put("⊺", "\u22BA"); - entities.put("⨗", "\u2A17"); - entities.put("⨼", "\u2A3C"); - entities.put("ё", "\u0451"); - entities.put("į", "\u012F"); - entities.put("𝕚", "\uD835\uDD5A"); - entities.put("ι", "\u03B9"); - entities.put("⨼", "\u2A3C"); - entities.put("¿", "\u00BF"); - entities.put("𝒾", "\uD835\uDCBE"); - entities.put("∈", "\u2208"); - entities.put("⋹", "\u22F9"); - entities.put("⋵", "\u22F5"); - entities.put("⋴", "\u22F4"); - entities.put("⋳", "\u22F3"); - entities.put("∈", "\u2208"); - entities.put("⁢", "\u2062"); - entities.put("ĩ", "\u0129"); - entities.put("і", "\u0456"); - entities.put("ï", "\u00EF"); - entities.put("ĵ", "\u0135"); - entities.put("й", "\u0439"); - entities.put("𝔧", "\uD835\uDD27"); - entities.put("ȷ", "\u0237"); - entities.put("𝕛", "\uD835\uDD5B"); - entities.put("𝒿", "\uD835\uDCBF"); - entities.put("ј", "\u0458"); - entities.put("є", "\u0454"); - entities.put("κ", "\u03BA"); - entities.put("ϰ", "\u03F0"); - entities.put("ķ", "\u0137"); - entities.put("к", "\u043A"); - entities.put("𝔨", "\uD835\uDD28"); - entities.put("ĸ", "\u0138"); - entities.put("х", "\u0445"); - entities.put("ќ", "\u045C"); - entities.put("𝕜", "\uD835\uDD5C"); - entities.put("𝓀", "\uD835\uDCC0"); - entities.put("⇚", "\u21DA"); - entities.put("⇐", "\u21D0"); - entities.put("⤛", "\u291B"); - entities.put("⤎", "\u290E"); - entities.put("≦", "\u2266"); - entities.put("⪋", "\u2A8B"); - entities.put("⥢", "\u2962"); - entities.put("ĺ", "\u013A"); - entities.put("⦴", "\u29B4"); - entities.put("ℒ", "\u2112"); - entities.put("λ", "\u03BB"); - entities.put("⟨", "\u27E8"); - entities.put("⦑", "\u2991"); - entities.put("⟨", "\u27E8"); - entities.put("⪅", "\u2A85"); - entities.put("«", "\u00AB"); - entities.put("←", "\u2190"); - entities.put("⇤", "\u21E4"); - entities.put("⤟", "\u291F"); - entities.put("⤝", "\u291D"); - entities.put("↩", "\u21A9"); - entities.put("↫", "\u21AB"); - entities.put("⤹", "\u2939"); - entities.put("⥳", "\u2973"); - entities.put("↢", "\u21A2"); - entities.put("⪫", "\u2AAB"); - entities.put("⤙", "\u2919"); - entities.put("⪭", "\u2AAD"); - entities.put("⪭︀", "\u2AAD\uFE00"); - entities.put("⤌", "\u290C"); - entities.put("❲", "\u2772"); - entities.put("{", "\u007B"); - entities.put("[", "\u005B"); - entities.put("⦋", "\u298B"); - entities.put("⦏", "\u298F"); - entities.put("⦍", "\u298D"); - entities.put("ľ", "\u013E"); - entities.put("ļ", "\u013C"); - entities.put("⌈", "\u2308"); - entities.put("{", "\u007B"); - entities.put("л", "\u043B"); - entities.put("⤶", "\u2936"); - entities.put("“", "\u201C"); - entities.put("„", "\u201E"); - entities.put("⥧", "\u2967"); - entities.put("⥋", "\u294B"); - entities.put("↲", "\u21B2"); - entities.put("≤", "\u2264"); - entities.put("←", "\u2190"); - entities.put("↢", "\u21A2"); - entities.put("↽", "\u21BD"); - entities.put("↼", "\u21BC"); - entities.put("⇇", "\u21C7"); - entities.put("↔", "\u2194"); - entities.put("⇆", "\u21C6"); - entities.put("⇋", "\u21CB"); - entities.put("↭", "\u21AD"); - entities.put("⋋", "\u22CB"); - entities.put("⋚", "\u22DA"); - entities.put("≤", "\u2264"); - entities.put("≦", "\u2266"); - entities.put("⩽", "\u2A7D"); - entities.put("⩽", "\u2A7D"); - entities.put("⪨", "\u2AA8"); - entities.put("⩿", "\u2A7F"); - entities.put("⪁", "\u2A81"); - entities.put("⪃", "\u2A83"); - entities.put("⋚︀", "\u22DA\uFE00"); - entities.put("⪓", "\u2A93"); - entities.put("⪅", "\u2A85"); - entities.put("⋖", "\u22D6"); - entities.put("⋚", "\u22DA"); - entities.put("⪋", "\u2A8B"); - entities.put("≶", "\u2276"); - entities.put("≲", "\u2272"); - entities.put("⥼", "\u297C"); - entities.put("⌊", "\u230A"); - entities.put("𝔩", "\uD835\uDD29"); - entities.put("≶", "\u2276"); - entities.put("⪑", "\u2A91"); - entities.put("↽", "\u21BD"); - entities.put("↼", "\u21BC"); - entities.put("⥪", "\u296A"); - entities.put("▄", "\u2584"); - entities.put("љ", "\u0459"); - entities.put("≪", "\u226A"); - entities.put("⇇", "\u21C7"); - entities.put("⌞", "\u231E"); - entities.put("⥫", "\u296B"); - entities.put("◺", "\u25FA"); - entities.put("ŀ", "\u0140"); - entities.put("⎰", "\u23B0"); - entities.put("⎰", "\u23B0"); - entities.put("≨", "\u2268"); - entities.put("⪉", "\u2A89"); - entities.put("⪉", "\u2A89"); - entities.put("⪇", "\u2A87"); - entities.put("⪇", "\u2A87"); - entities.put("≨", "\u2268"); - entities.put("⋦", "\u22E6"); - entities.put("⟬", "\u27EC"); - entities.put("⇽", "\u21FD"); - entities.put("⟦", "\u27E6"); - entities.put("⟵", "\u27F5"); - entities.put("⟷", "\u27F7"); - entities.put("⟼", "\u27FC"); - entities.put("⟶", "\u27F6"); - entities.put("↫", "\u21AB"); - entities.put("↬", "\u21AC"); - entities.put("⦅", "\u2985"); - entities.put("𝕝", "\uD835\uDD5D"); - entities.put("⨭", "\u2A2D"); - entities.put("⨴", "\u2A34"); - entities.put("∗", "\u2217"); - entities.put("_", "\u005F"); - entities.put("◊", "\u25CA"); - entities.put("◊", "\u25CA"); - entities.put("⧫", "\u29EB"); - entities.put("(", "\u0028"); - entities.put("⦓", "\u2993"); - entities.put("⇆", "\u21C6"); - entities.put("⌟", "\u231F"); - entities.put("⇋", "\u21CB"); - entities.put("⥭", "\u296D"); - entities.put("‎", "\u200E"); - entities.put("⊿", "\u22BF"); - entities.put("‹", "\u2039"); - entities.put("𝓁", "\uD835\uDCC1"); - entities.put("↰", "\u21B0"); - entities.put("≲", "\u2272"); - entities.put("⪍", "\u2A8D"); - entities.put("⪏", "\u2A8F"); - entities.put("[", "\u005B"); - entities.put("‘", "\u2018"); - entities.put("‚", "\u201A"); - entities.put("ł", "\u0142"); - entities.put("<", "\u003C"); - entities.put("⪦", "\u2AA6"); - entities.put("⩹", "\u2A79"); - entities.put("⋖", "\u22D6"); - entities.put("⋋", "\u22CB"); - entities.put("⋉", "\u22C9"); - entities.put("⥶", "\u2976"); - entities.put("⩻", "\u2A7B"); - entities.put("⦖", "\u2996"); - entities.put("◃", "\u25C3"); - entities.put("⊴", "\u22B4"); - entities.put("◂", "\u25C2"); - entities.put("⥊", "\u294A"); - entities.put("⥦", "\u2966"); - entities.put("≨︀", "\u2268\uFE00"); - entities.put("≨︀", "\u2268\uFE00"); - entities.put("∺", "\u223A"); - entities.put("¯", "\u00AF"); - entities.put("♂", "\u2642"); - entities.put("✠", "\u2720"); - entities.put("✠", "\u2720"); - entities.put("↦", "\u21A6"); - entities.put("↦", "\u21A6"); - entities.put("↧", "\u21A7"); - entities.put("↤", "\u21A4"); - entities.put("↥", "\u21A5"); - entities.put("▮", "\u25AE"); - entities.put("⨩", "\u2A29"); - entities.put("м", "\u043C"); - entities.put("—", "\u2014"); - entities.put("∡", "\u2221"); - entities.put("𝔪", "\uD835\uDD2A"); - entities.put("℧", "\u2127"); - entities.put("µ", "\u00B5"); - entities.put("∣", "\u2223"); - entities.put("*", "\u002A"); - entities.put("⫰", "\u2AF0"); - entities.put("·", "\u00B7"); - entities.put("−", "\u2212"); - entities.put("⊟", "\u229F"); - entities.put("∸", "\u2238"); - entities.put("⨪", "\u2A2A"); - entities.put("⫛", "\u2ADB"); - entities.put("…", "\u2026"); - entities.put("∓", "\u2213"); - entities.put("⊧", "\u22A7"); - entities.put("𝕞", "\uD835\uDD5E"); - entities.put("∓", "\u2213"); - entities.put("𝓂", "\uD835\uDCC2"); - entities.put("∾", "\u223E"); - entities.put("μ", "\u03BC"); - entities.put("⊸", "\u22B8"); - entities.put("⊸", "\u22B8"); - entities.put("⋙̸", "\u22D9\u0338"); - entities.put("≫⃒", "\u226B\u20D2"); - entities.put("≫̸", "\u226B\u0338"); - entities.put("⇍", "\u21CD"); - entities.put("⇎", "\u21CE"); - entities.put("⋘̸", "\u22D8\u0338"); - entities.put("≪⃒", "\u226A\u20D2"); - entities.put("≪̸", "\u226A\u0338"); - entities.put("⇏", "\u21CF"); - entities.put("⊯", "\u22AF"); - entities.put("⊮", "\u22AE"); - entities.put("∇", "\u2207"); - entities.put("ń", "\u0144"); - entities.put("∠⃒", "\u2220\u20D2"); - entities.put("≉", "\u2249"); - entities.put("⩰̸", "\u2A70\u0338"); - entities.put("≋̸", "\u224B\u0338"); - entities.put("ʼn", "\u0149"); - entities.put("≉", "\u2249"); - entities.put("♮", "\u266E"); - entities.put("♮", "\u266E"); - entities.put("ℕ", "\u2115"); - entities.put(" ", "\u00A0"); - entities.put("≎̸", "\u224E\u0338"); - entities.put("≏̸", "\u224F\u0338"); - entities.put("⩃", "\u2A43"); - entities.put("ň", "\u0148"); - entities.put("ņ", "\u0146"); - entities.put("≇", "\u2247"); - entities.put("⩭̸", "\u2A6D\u0338"); - entities.put("⩂", "\u2A42"); - entities.put("н", "\u043D"); - entities.put("–", "\u2013"); - entities.put("≠", "\u2260"); - entities.put("⇗", "\u21D7"); - entities.put("⤤", "\u2924"); - entities.put("↗", "\u2197"); - entities.put("↗", "\u2197"); - entities.put("≐̸", "\u2250\u0338"); - entities.put("≢", "\u2262"); - entities.put("⤨", "\u2928"); - entities.put("≂̸", "\u2242\u0338"); - entities.put("∄", "\u2204"); - entities.put("∄", "\u2204"); - entities.put("𝔫", "\uD835\uDD2B"); - entities.put("≧̸", "\u2267\u0338"); - entities.put("≱", "\u2271"); - entities.put("≱", "\u2271"); - entities.put("≧̸", "\u2267\u0338"); - entities.put("⩾̸", "\u2A7E\u0338"); - entities.put("⩾̸", "\u2A7E\u0338"); - entities.put("≵", "\u2275"); - entities.put("≯", "\u226F"); - entities.put("≯", "\u226F"); - entities.put("⇎", "\u21CE"); - entities.put("↮", "\u21AE"); - entities.put("⫲", "\u2AF2"); - entities.put("∋", "\u220B"); - entities.put("⋼", "\u22FC"); - entities.put("⋺", "\u22FA"); - entities.put("∋", "\u220B"); - entities.put("њ", "\u045A"); - entities.put("⇍", "\u21CD"); - entities.put("≦̸", "\u2266\u0338"); - entities.put("↚", "\u219A"); - entities.put("‥", "\u2025"); - entities.put("≰", "\u2270"); - entities.put("↚", "\u219A"); - entities.put("↮", "\u21AE"); - entities.put("≰", "\u2270"); - entities.put("≦̸", "\u2266\u0338"); - entities.put("⩽̸", "\u2A7D\u0338"); - entities.put("⩽̸", "\u2A7D\u0338"); - entities.put("≮", "\u226E"); - entities.put("≴", "\u2274"); - entities.put("≮", "\u226E"); - entities.put("⋪", "\u22EA"); - entities.put("⋬", "\u22EC"); - entities.put("∤", "\u2224"); - entities.put("𝕟", "\uD835\uDD5F"); - entities.put("¬", "\u00AC"); - entities.put("∉", "\u2209"); - entities.put("⋹̸", "\u22F9\u0338"); - entities.put("⋵̸", "\u22F5\u0338"); - entities.put("∉", "\u2209"); - entities.put("⋷", "\u22F7"); - entities.put("⋶", "\u22F6"); - entities.put("∌", "\u220C"); - entities.put("∌", "\u220C"); - entities.put("⋾", "\u22FE"); - entities.put("⋽", "\u22FD"); - entities.put("∦", "\u2226"); - entities.put("∦", "\u2226"); - entities.put("⫽⃥", "\u2AFD\u20E5"); - entities.put("∂̸", "\u2202\u0338"); - entities.put("⨔", "\u2A14"); - entities.put("⊀", "\u2280"); - entities.put("⋠", "\u22E0"); - entities.put("⪯̸", "\u2AAF\u0338"); - entities.put("⊀", "\u2280"); - entities.put("⪯̸", "\u2AAF\u0338"); - entities.put("⇏", "\u21CF"); - entities.put("↛", "\u219B"); - entities.put("⤳̸", "\u2933\u0338"); - entities.put("↝̸", "\u219D\u0338"); - entities.put("↛", "\u219B"); - entities.put("⋫", "\u22EB"); - entities.put("⋭", "\u22ED"); - entities.put("⊁", "\u2281"); - entities.put("⋡", "\u22E1"); - entities.put("⪰̸", "\u2AB0\u0338"); - entities.put("𝓃", "\uD835\uDCC3"); - entities.put("∤", "\u2224"); - entities.put("∦", "\u2226"); - entities.put("≁", "\u2241"); - entities.put("≄", "\u2244"); - entities.put("≄", "\u2244"); - entities.put("∤", "\u2224"); - entities.put("∦", "\u2226"); - entities.put("⋢", "\u22E2"); - entities.put("⋣", "\u22E3"); - entities.put("⊄", "\u2284"); - entities.put("⫅̸", "\u2AC5\u0338"); - entities.put("⊈", "\u2288"); - entities.put("⊂⃒", "\u2282\u20D2"); - entities.put("⊈", "\u2288"); - entities.put("⫅̸", "\u2AC5\u0338"); - entities.put("⊁", "\u2281"); - entities.put("⪰̸", "\u2AB0\u0338"); - entities.put("⊅", "\u2285"); - entities.put("⫆̸", "\u2AC6\u0338"); - entities.put("⊉", "\u2289"); - entities.put("⊃⃒", "\u2283\u20D2"); - entities.put("⊉", "\u2289"); - entities.put("⫆̸", "\u2AC6\u0338"); - entities.put("≹", "\u2279"); - entities.put("ñ", "\u00F1"); - entities.put("≸", "\u2278"); - entities.put("⋪", "\u22EA"); - entities.put("⋬", "\u22EC"); - entities.put("⋫", "\u22EB"); - entities.put("⋭", "\u22ED"); - entities.put("ν", "\u03BD"); - entities.put("#", "\u0023"); - entities.put("№", "\u2116"); - entities.put(" ", "\u2007"); - entities.put("⊭", "\u22AD"); - entities.put("⤄", "\u2904"); - entities.put("≍⃒", "\u224D\u20D2"); - entities.put("⊬", "\u22AC"); - entities.put("≥⃒", "\u2265\u20D2"); - entities.put(">⃒", "\u003E\u20D2"); - entities.put("⧞", "\u29DE"); - entities.put("⤂", "\u2902"); - entities.put("≤⃒", "\u2264\u20D2"); - entities.put("<⃒", "\u003C\u20D2"); - entities.put("⊴⃒", "\u22B4\u20D2"); - entities.put("⤃", "\u2903"); - entities.put("⊵⃒", "\u22B5\u20D2"); - entities.put("∼⃒", "\u223C\u20D2"); - entities.put("⇖", "\u21D6"); - entities.put("⤣", "\u2923"); - entities.put("↖", "\u2196"); - entities.put("↖", "\u2196"); - entities.put("⤧", "\u2927"); - entities.put("Ⓢ", "\u24C8"); - entities.put("ó", "\u00F3"); - entities.put("⊛", "\u229B"); - entities.put("⊚", "\u229A"); - entities.put("ô", "\u00F4"); - entities.put("о", "\u043E"); - entities.put("⊝", "\u229D"); - entities.put("ő", "\u0151"); - entities.put("⨸", "\u2A38"); - entities.put("⊙", "\u2299"); - entities.put("⦼", "\u29BC"); - entities.put("œ", "\u0153"); - entities.put("⦿", "\u29BF"); - entities.put("𝔬", "\uD835\uDD2C"); - entities.put("˛", "\u02DB"); - entities.put("ò", "\u00F2"); - entities.put("⧁", "\u29C1"); - entities.put("⦵", "\u29B5"); - entities.put("Ω", "\u03A9"); - entities.put("∮", "\u222E"); - entities.put("↺", "\u21BA"); - entities.put("⦾", "\u29BE"); - entities.put("⦻", "\u29BB"); - entities.put("‾", "\u203E"); - entities.put("⧀", "\u29C0"); - entities.put("ō", "\u014D"); - entities.put("ω", "\u03C9"); - entities.put("ο", "\u03BF"); - entities.put("⦶", "\u29B6"); - entities.put("⊖", "\u2296"); - entities.put("𝕠", "\uD835\uDD60"); - entities.put("⦷", "\u29B7"); - entities.put("⦹", "\u29B9"); - entities.put("⊕", "\u2295"); - entities.put("∨", "\u2228"); - entities.put("↻", "\u21BB"); - entities.put("⩝", "\u2A5D"); - entities.put("ℴ", "\u2134"); - entities.put("ℴ", "\u2134"); - entities.put("ª", "\u00AA"); - entities.put("º", "\u00BA"); - entities.put("⊶", "\u22B6"); - entities.put("⩖", "\u2A56"); - entities.put("⩗", "\u2A57"); - entities.put("⩛", "\u2A5B"); - entities.put("ℴ", "\u2134"); - entities.put("ø", "\u00F8"); - entities.put("⊘", "\u2298"); - entities.put("õ", "\u00F5"); - entities.put("⊗", "\u2297"); - entities.put("⨶", "\u2A36"); - entities.put("ö", "\u00F6"); - entities.put("⌽", "\u233D"); - entities.put("∥", "\u2225"); - entities.put("¶", "\u00B6"); - entities.put("∥", "\u2225"); - entities.put("⫳", "\u2AF3"); - entities.put("⫽", "\u2AFD"); - entities.put("∂", "\u2202"); - entities.put("п", "\u043F"); - entities.put("%", "\u0025"); - entities.put(".", "\u002E"); - entities.put("‰", "\u2030"); - entities.put("⊥", "\u22A5"); - entities.put("‱", "\u2031"); - entities.put("𝔭", "\uD835\uDD2D"); - entities.put("φ", "\u03C6"); - entities.put("ϕ", "\u03D5"); - entities.put("ℳ", "\u2133"); - entities.put("☎", "\u260E"); - entities.put("π", "\u03C0"); - entities.put("⋔", "\u22D4"); - entities.put("ϖ", "\u03D6"); - entities.put("ℏ", "\u210F"); - entities.put("ℎ", "\u210E"); - entities.put("ℏ", "\u210F"); - entities.put("+", "\u002B"); - entities.put("⨣", "\u2A23"); - entities.put("⊞", "\u229E"); - entities.put("⨢", "\u2A22"); - entities.put("∔", "\u2214"); - entities.put("⨥", "\u2A25"); - entities.put("⩲", "\u2A72"); - entities.put("±", "\u00B1"); - entities.put("⨦", "\u2A26"); - entities.put("⨧", "\u2A27"); - entities.put("±", "\u00B1"); - entities.put("⨕", "\u2A15"); - entities.put("𝕡", "\uD835\uDD61"); - entities.put("£", "\u00A3"); - entities.put("≺", "\u227A"); - entities.put("⪳", "\u2AB3"); - entities.put("⪷", "\u2AB7"); - entities.put("≼", "\u227C"); - entities.put("⪯", "\u2AAF"); - entities.put("≺", "\u227A"); - entities.put("⪷", "\u2AB7"); - entities.put("≼", "\u227C"); - entities.put("⪯", "\u2AAF"); - entities.put("⪹", "\u2AB9"); - entities.put("⪵", "\u2AB5"); - entities.put("⋨", "\u22E8"); - entities.put("≾", "\u227E"); - entities.put("′", "\u2032"); - entities.put("ℙ", "\u2119"); - entities.put("⪵", "\u2AB5"); - entities.put("⪹", "\u2AB9"); - entities.put("⋨", "\u22E8"); - entities.put("∏", "\u220F"); - entities.put("⌮", "\u232E"); - entities.put("⌒", "\u2312"); - entities.put("⌓", "\u2313"); - entities.put("∝", "\u221D"); - entities.put("∝", "\u221D"); - entities.put("≾", "\u227E"); - entities.put("⊰", "\u22B0"); - entities.put("𝓅", "\uD835\uDCC5"); - entities.put("ψ", "\u03C8"); - entities.put(" ", "\u2008"); - entities.put("𝔮", "\uD835\uDD2E"); - entities.put("⨌", "\u2A0C"); - entities.put("𝕢", "\uD835\uDD62"); - entities.put("⁗", "\u2057"); - entities.put("𝓆", "\uD835\uDCC6"); - entities.put("ℍ", "\u210D"); - entities.put("⨖", "\u2A16"); - entities.put("?", "\u003F"); - entities.put("≟", "\u225F"); - entities.put(""", "\\u0022"); - entities.put("⇛", "\u21DB"); - entities.put("⇒", "\u21D2"); - entities.put("⤜", "\u291C"); - entities.put("⤏", "\u290F"); - entities.put("⥤", "\u2964"); - entities.put("∽̱", "\u223D\u0331"); - entities.put("ŕ", "\u0155"); - entities.put("√", "\u221A"); - entities.put("⦳", "\u29B3"); - entities.put("⟩", "\u27E9"); - entities.put("⦒", "\u2992"); - entities.put("⦥", "\u29A5"); - entities.put("⟩", "\u27E9"); - entities.put("»", "\u00BB"); - entities.put("→", "\u2192"); - entities.put("⥵", "\u2975"); - entities.put("⇥", "\u21E5"); - entities.put("⤠", "\u2920"); - entities.put("⤳", "\u2933"); - entities.put("⤞", "\u291E"); - entities.put("↪", "\u21AA"); - entities.put("↬", "\u21AC"); - entities.put("⥅", "\u2945"); - entities.put("⥴", "\u2974"); - entities.put("↣", "\u21A3"); - entities.put("↝", "\u219D"); - entities.put("⤚", "\u291A"); - entities.put("∶", "\u2236"); - entities.put("ℚ", "\u211A"); - entities.put("⤍", "\u290D"); - entities.put("❳", "\u2773"); - entities.put("}", "\u007D"); - entities.put("]", "\u005D"); - entities.put("⦌", "\u298C"); - entities.put("⦎", "\u298E"); - entities.put("⦐", "\u2990"); - entities.put("ř", "\u0159"); - entities.put("ŗ", "\u0157"); - entities.put("⌉", "\u2309"); - entities.put("}", "\u007D"); - entities.put("р", "\u0440"); - entities.put("⤷", "\u2937"); - entities.put("⥩", "\u2969"); - entities.put("”", "\u201D"); - entities.put("”", "\u201D"); - entities.put("↳", "\u21B3"); - entities.put("ℜ", "\u211C"); - entities.put("ℛ", "\u211B"); - entities.put("ℜ", "\u211C"); - entities.put("ℝ", "\u211D"); - entities.put("▭", "\u25AD"); - entities.put("®", "\u00AE"); - entities.put("⥽", "\u297D"); - entities.put("⌋", "\u230B"); - entities.put("𝔯", "\uD835\uDD2F"); - entities.put("⇁", "\u21C1"); - entities.put("⇀", "\u21C0"); - entities.put("⥬", "\u296C"); - entities.put("ρ", "\u03C1"); - entities.put("ϱ", "\u03F1"); - entities.put("→", "\u2192"); - entities.put("↣", "\u21A3"); - entities.put("⇁", "\u21C1"); - entities.put("⇀", "\u21C0"); - entities.put("⇄", "\u21C4"); - entities.put("⇌", "\u21CC"); - entities.put("⇉", "\u21C9"); - entities.put("↝", "\u219D"); - entities.put("⋌", "\u22CC"); - entities.put("˚", "\u02DA"); - entities.put("≓", "\u2253"); - entities.put("⇄", "\u21C4"); - entities.put("⇌", "\u21CC"); - entities.put("‏", "\u200F"); - entities.put("⎱", "\u23B1"); - entities.put("⎱", "\u23B1"); - entities.put("⫮", "\u2AEE"); - entities.put("⟭", "\u27ED"); - entities.put("⇾", "\u21FE"); - entities.put("⟧", "\u27E7"); - entities.put("⦆", "\u2986"); - entities.put("𝕣", "\uD835\uDD63"); - entities.put("⨮", "\u2A2E"); - entities.put("⨵", "\u2A35"); - entities.put(")", "\u0029"); - entities.put("⦔", "\u2994"); - entities.put("⨒", "\u2A12"); - entities.put("⇉", "\u21C9"); - entities.put("›", "\u203A"); - entities.put("𝓇", "\uD835\uDCC7"); - entities.put("↱", "\u21B1"); - entities.put("]", "\u005D"); - entities.put("’", "\u2019"); - entities.put("’", "\u2019"); - entities.put("⋌", "\u22CC"); - entities.put("⋊", "\u22CA"); - entities.put("▹", "\u25B9"); - entities.put("⊵", "\u22B5"); - entities.put("▸", "\u25B8"); - entities.put("⧎", "\u29CE"); - entities.put("⥨", "\u2968"); - entities.put("℞", "\u211E"); - entities.put("ś", "\u015B"); - entities.put("‚", "\u201A"); - entities.put("≻", "\u227B"); - entities.put("⪴", "\u2AB4"); - entities.put("⪸", "\u2AB8"); - entities.put("š", "\u0161"); - entities.put("≽", "\u227D"); - entities.put("⪰", "\u2AB0"); - entities.put("ş", "\u015F"); - entities.put("ŝ", "\u015D"); - entities.put("⪶", "\u2AB6"); - entities.put("⪺", "\u2ABA"); - entities.put("⋩", "\u22E9"); - entities.put("⨓", "\u2A13"); - entities.put("≿", "\u227F"); - entities.put("с", "\u0441"); - entities.put("⋅", "\u22C5"); - entities.put("⊡", "\u22A1"); - entities.put("⩦", "\u2A66"); - entities.put("⇘", "\u21D8"); - entities.put("⤥", "\u2925"); - entities.put("↘", "\u2198"); - entities.put("↘", "\u2198"); - entities.put("§", "\u00A7"); - entities.put(";", "\u003B"); - entities.put("⤩", "\u2929"); - entities.put("∖", "\u2216"); - entities.put("∖", "\u2216"); - entities.put("✶", "\u2736"); - entities.put("𝔰", "\uD835\uDD30"); - entities.put("⌢", "\u2322"); - entities.put("♯", "\u266F"); - entities.put("щ", "\u0449"); - entities.put("ш", "\u0448"); - entities.put("∣", "\u2223"); - entities.put("∥", "\u2225"); - entities.put("­", "\u00AD"); - entities.put("σ", "\u03C3"); - entities.put("ς", "\u03C2"); - entities.put("ς", "\u03C2"); - entities.put("∼", "\u223C"); - entities.put("⩪", "\u2A6A"); - entities.put("≃", "\u2243"); - entities.put("≃", "\u2243"); - entities.put("⪞", "\u2A9E"); - entities.put("⪠", "\u2AA0"); - entities.put("⪝", "\u2A9D"); - entities.put("⪟", "\u2A9F"); - entities.put("≆", "\u2246"); - entities.put("⨤", "\u2A24"); - entities.put("⥲", "\u2972"); - entities.put("←", "\u2190"); - entities.put("∖", "\u2216"); - entities.put("⨳", "\u2A33"); - entities.put("⧤", "\u29E4"); - entities.put("∣", "\u2223"); - entities.put("⌣", "\u2323"); - entities.put("⪪", "\u2AAA"); - entities.put("⪬", "\u2AAC"); - entities.put("⪬︀", "\u2AAC\uFE00"); - entities.put("ь", "\u044C"); - entities.put("/", "\u002F"); - entities.put("⧄", "\u29C4"); - entities.put("⌿", "\u233F"); - entities.put("𝕤", "\uD835\uDD64"); - entities.put("♠", "\u2660"); - entities.put("♠", "\u2660"); - entities.put("∥", "\u2225"); - entities.put("⊓", "\u2293"); - entities.put("⊓︀", "\u2293\uFE00"); - entities.put("⊔", "\u2294"); - entities.put("⊔︀", "\u2294\uFE00"); - entities.put("⊏", "\u228F"); - entities.put("⊑", "\u2291"); - entities.put("⊏", "\u228F"); - entities.put("⊑", "\u2291"); - entities.put("⊐", "\u2290"); - entities.put("⊒", "\u2292"); - entities.put("⊐", "\u2290"); - entities.put("⊒", "\u2292"); - entities.put("□", "\u25A1"); - entities.put("□", "\u25A1"); - entities.put("▪", "\u25AA"); - entities.put("▪", "\u25AA"); - entities.put("→", "\u2192"); - entities.put("𝓈", "\uD835\uDCC8"); - entities.put("∖", "\u2216"); - entities.put("⌣", "\u2323"); - entities.put("⋆", "\u22C6"); - entities.put("☆", "\u2606"); - entities.put("★", "\u2605"); - entities.put("ϵ", "\u03F5"); - entities.put("ϕ", "\u03D5"); - entities.put("¯", "\u00AF"); - entities.put("⊂", "\u2282"); - entities.put("⫅", "\u2AC5"); - entities.put("⪽", "\u2ABD"); - entities.put("⊆", "\u2286"); - entities.put("⫃", "\u2AC3"); - entities.put("⫁", "\u2AC1"); - entities.put("⫋", "\u2ACB"); - entities.put("⊊", "\u228A"); - entities.put("⪿", "\u2ABF"); - entities.put("⥹", "\u2979"); - entities.put("⊂", "\u2282"); - entities.put("⊆", "\u2286"); - entities.put("⫅", "\u2AC5"); - entities.put("⊊", "\u228A"); - entities.put("⫋", "\u2ACB"); - entities.put("⫇", "\u2AC7"); - entities.put("⫕", "\u2AD5"); - entities.put("⫓", "\u2AD3"); - entities.put("≻", "\u227B"); - entities.put("⪸", "\u2AB8"); - entities.put("≽", "\u227D"); - entities.put("⪰", "\u2AB0"); - entities.put("⪺", "\u2ABA"); - entities.put("⪶", "\u2AB6"); - entities.put("⋩", "\u22E9"); - entities.put("≿", "\u227F"); - entities.put("∑", "\u2211"); - entities.put("♪", "\u266A"); - entities.put("¹", "\u00B9"); - entities.put("²", "\u00B2"); - entities.put("³", "\u00B3"); - entities.put("⊃", "\u2283"); - entities.put("⫆", "\u2AC6"); - entities.put("⪾", "\u2ABE"); - entities.put("⫘", "\u2AD8"); - entities.put("⊇", "\u2287"); - entities.put("⫄", "\u2AC4"); - entities.put("⟉", "\u27C9"); - entities.put("⫗", "\u2AD7"); - entities.put("⥻", "\u297B"); - entities.put("⫂", "\u2AC2"); - entities.put("⫌", "\u2ACC"); - entities.put("⊋", "\u228B"); - entities.put("⫀", "\u2AC0"); - entities.put("⊃", "\u2283"); - entities.put("⊇", "\u2287"); - entities.put("⫆", "\u2AC6"); - entities.put("⊋", "\u228B"); - entities.put("⫌", "\u2ACC"); - entities.put("⫈", "\u2AC8"); - entities.put("⫔", "\u2AD4"); - entities.put("⫖", "\u2AD6"); - entities.put("⇙", "\u21D9"); - entities.put("⤦", "\u2926"); - entities.put("↙", "\u2199"); - entities.put("↙", "\u2199"); - entities.put("⤪", "\u292A"); - entities.put("ß", "\u00DF"); - entities.put("⌖", "\u2316"); - entities.put("τ", "\u03C4"); - entities.put("⎴", "\u23B4"); - entities.put("ť", "\u0165"); - entities.put("ţ", "\u0163"); - entities.put("т", "\u0442"); - entities.put("⃛", "\u20DB"); - entities.put("⌕", "\u2315"); - entities.put("𝔱", "\uD835\uDD31"); - entities.put("∴", "\u2234"); - entities.put("∴", "\u2234"); - entities.put("θ", "\u03B8"); - entities.put("ϑ", "\u03D1"); - entities.put("ϑ", "\u03D1"); - entities.put("≈", "\u2248"); - entities.put("∼", "\u223C"); - entities.put(" ", "\u2009"); - entities.put("≈", "\u2248"); - entities.put("∼", "\u223C"); - entities.put("þ", "\u00FE"); - entities.put("˜", "\u02DC"); - entities.put("×", "\u00D7"); - entities.put("⊠", "\u22A0"); - entities.put("⨱", "\u2A31"); - entities.put("⨰", "\u2A30"); - entities.put("∭", "\u222D"); - entities.put("⤨", "\u2928"); - entities.put("⊤", "\u22A4"); - entities.put("⌶", "\u2336"); - entities.put("⫱", "\u2AF1"); - entities.put("𝕥", "\uD835\uDD65"); - entities.put("⫚", "\u2ADA"); - entities.put("⤩", "\u2929"); - entities.put("‴", "\u2034"); - entities.put("™", "\u2122"); - entities.put("▵", "\u25B5"); - entities.put("▿", "\u25BF"); - entities.put("◃", "\u25C3"); - entities.put("⊴", "\u22B4"); - entities.put("≜", "\u225C"); - entities.put("▹", "\u25B9"); - entities.put("⊵", "\u22B5"); - entities.put("◬", "\u25EC"); - entities.put("≜", "\u225C"); - entities.put("⨺", "\u2A3A"); - entities.put("⨹", "\u2A39"); - entities.put("⧍", "\u29CD"); - entities.put("⨻", "\u2A3B"); - entities.put("⏢", "\u23E2"); - entities.put("𝓉", "\uD835\uDCC9"); - entities.put("ц", "\u0446"); - entities.put("ћ", "\u045B"); - entities.put("ŧ", "\u0167"); - entities.put("≬", "\u226C"); - entities.put("↞", "\u219E"); - entities.put("↠", "\u21A0"); - entities.put("⇑", "\u21D1"); - entities.put("⥣", "\u2963"); - entities.put("ú", "\u00FA"); - entities.put("↑", "\u2191"); - entities.put("ў", "\u045E"); - entities.put("ŭ", "\u016D"); - entities.put("û", "\u00FB"); - entities.put("у", "\u0443"); - entities.put("⇅", "\u21C5"); - entities.put("ű", "\u0171"); - entities.put("⥮", "\u296E"); - entities.put("⥾", "\u297E"); - entities.put("𝔲", "\uD835\uDD32"); - entities.put("ù", "\u00F9"); - entities.put("↿", "\u21BF"); - entities.put("↾", "\u21BE"); - entities.put("▀", "\u2580"); - entities.put("⌜", "\u231C"); - entities.put("⌜", "\u231C"); - entities.put("⌏", "\u230F"); - entities.put("◸", "\u25F8"); - entities.put("ū", "\u016B"); - entities.put("¨", "\u00A8"); - entities.put("ų", "\u0173"); - entities.put("𝕦", "\uD835\uDD66"); - entities.put("↑", "\u2191"); - entities.put("↕", "\u2195"); - entities.put("↿", "\u21BF"); - entities.put("↾", "\u21BE"); - entities.put("⊎", "\u228E"); - entities.put("υ", "\u03C5"); - entities.put("ϒ", "\u03D2"); - entities.put("υ", "\u03C5"); - entities.put("⇈", "\u21C8"); - entities.put("⌝", "\u231D"); - entities.put("⌝", "\u231D"); - entities.put("⌎", "\u230E"); - entities.put("ů", "\u016F"); - entities.put("◹", "\u25F9"); - entities.put("𝓊", "\uD835\uDCCA"); - entities.put("⋰", "\u22F0"); - entities.put("ũ", "\u0169"); - entities.put("▵", "\u25B5"); - entities.put("▴", "\u25B4"); - entities.put("⇈", "\u21C8"); - entities.put("ü", "\u00FC"); - entities.put("⦧", "\u29A7"); - entities.put("⇕", "\u21D5"); - entities.put("⫨", "\u2AE8"); - entities.put("⫩", "\u2AE9"); - entities.put("⊨", "\u22A8"); - entities.put("⦜", "\u299C"); - entities.put("ϵ", "\u03F5"); - entities.put("ϰ", "\u03F0"); - entities.put("∅", "\u2205"); - entities.put("ϕ", "\u03D5"); - entities.put("ϖ", "\u03D6"); - entities.put("∝", "\u221D"); - entities.put("↕", "\u2195"); - entities.put("ϱ", "\u03F1"); - entities.put("ς", "\u03C2"); - entities.put("⊊︀", "\u228A\uFE00"); - entities.put("⫋︀", "\u2ACB\uFE00"); - entities.put("⊋︀", "\u228B\uFE00"); - entities.put("⫌︀", "\u2ACC\uFE00"); - entities.put("ϑ", "\u03D1"); - entities.put("⊲", "\u22B2"); - entities.put("⊳", "\u22B3"); - entities.put("в", "\u0432"); - entities.put("⊢", "\u22A2"); - entities.put("∨", "\u2228"); - entities.put("⊻", "\u22BB"); - entities.put("≚", "\u225A"); - entities.put("⋮", "\u22EE"); - entities.put("|", "\u007C"); - entities.put("|", "\u007C"); - entities.put("𝔳", "\uD835\uDD33"); - entities.put("⊲", "\u22B2"); - entities.put("⊂⃒", "\u2282\u20D2"); - entities.put("⊃⃒", "\u2283\u20D2"); - entities.put("𝕧", "\uD835\uDD67"); - entities.put("∝", "\u221D"); - entities.put("⊳", "\u22B3"); - entities.put("𝓋", "\uD835\uDCCB"); - entities.put("⫋︀", "\u2ACB\uFE00"); - entities.put("⊊︀", "\u228A\uFE00"); - entities.put("⫌︀", "\u2ACC\uFE00"); - entities.put("⊋︀", "\u228B\uFE00"); - entities.put("⦚", "\u299A"); - entities.put("ŵ", "\u0175"); - entities.put("⩟", "\u2A5F"); - entities.put("∧", "\u2227"); - entities.put("≙", "\u2259"); - entities.put("℘", "\u2118"); - entities.put("𝔴", "\uD835\uDD34"); - entities.put("𝕨", "\uD835\uDD68"); - entities.put("℘", "\u2118"); - entities.put("≀", "\u2240"); - entities.put("≀", "\u2240"); - entities.put("𝓌", "\uD835\uDCCC"); - entities.put("⋂", "\u22C2"); - entities.put("◯", "\u25EF"); - entities.put("⋃", "\u22C3"); - entities.put("▽", "\u25BD"); - entities.put("𝔵", "\uD835\uDD35"); - entities.put("⟺", "\u27FA"); - entities.put("⟷", "\u27F7"); - entities.put("ξ", "\u03BE"); - entities.put("⟸", "\u27F8"); - entities.put("⟵", "\u27F5"); - entities.put("⟼", "\u27FC"); - entities.put("⋻", "\u22FB"); - entities.put("⨀", "\u2A00"); - entities.put("𝕩", "\uD835\uDD69"); - entities.put("⨁", "\u2A01"); - entities.put("⨂", "\u2A02"); - entities.put("⟹", "\u27F9"); - entities.put("⟶", "\u27F6"); - entities.put("𝓍", "\uD835\uDCCD"); - entities.put("⨆", "\u2A06"); - entities.put("⨄", "\u2A04"); - entities.put("△", "\u25B3"); - entities.put("⋁", "\u22C1"); - entities.put("⋀", "\u22C0"); - entities.put("ý", "\u00FD"); - entities.put("я", "\u044F"); - entities.put("ŷ", "\u0177"); - entities.put("ы", "\u044B"); - entities.put("¥", "\u00A5"); - entities.put("𝔶", "\uD835\uDD36"); - entities.put("ї", "\u0457"); - entities.put("𝕪", "\uD835\uDD6A"); - entities.put("𝓎", "\uD835\uDCCE"); - entities.put("ю", "\u044E"); - entities.put("ÿ", "\u00FF"); - entities.put("ź", "\u017A"); - entities.put("ž", "\u017E"); - entities.put("з", "\u0437"); - entities.put("ż", "\u017C"); - entities.put("ℨ", "\u2128"); - entities.put("ζ", "\u03B6"); - entities.put("𝔷", "\uD835\uDD37"); - entities.put("ж", "\u0436"); - entities.put("⇝", "\u21DD"); - entities.put("𝕫", "\uD835\uDD6B"); - entities.put("𝓏", "\uD835\uDCCF"); - entities.put("‍", "\u200D"); - entities.put("‌", "\u200C"); + definedEntities.put("Æ", "\u00C6"); + definedEntities.put("&", "\u0026"); + definedEntities.put("Á", "\u00C1"); + definedEntities.put("Ă", "\u0102"); + definedEntities.put("Â", "\u00C2"); + definedEntities.put("А", "\u0410"); + definedEntities.put("𝔄", "\uD835\uDD04"); + definedEntities.put("À", "\u00C0"); + definedEntities.put("Α", "\u0391"); + definedEntities.put("Ā", "\u0100"); + definedEntities.put("⩓", "\u2A53"); + definedEntities.put("Ą", "\u0104"); + definedEntities.put("𝔸", "\uD835\uDD38"); + definedEntities.put("⁡", "\u2061"); + definedEntities.put("Å", "\u00C5"); + definedEntities.put("𝒜", "\uD835\uDC9C"); + definedEntities.put("≔", "\u2254"); + definedEntities.put("Ã", "\u00C3"); + definedEntities.put("Ä", "\u00C4"); + definedEntities.put("∖", "\u2216"); + definedEntities.put("⫧", "\u2AE7"); + definedEntities.put("⌆", "\u2306"); + definedEntities.put("Б", "\u0411"); + definedEntities.put("∵", "\u2235"); + definedEntities.put("ℬ", "\u212C"); + definedEntities.put("Β", "\u0392"); + definedEntities.put("𝔅", "\uD835\uDD05"); + definedEntities.put("𝔹", "\uD835\uDD39"); + definedEntities.put("˘", "\u02D8"); + definedEntities.put("ℬ", "\u212C"); + definedEntities.put("≎", "\u224E"); + definedEntities.put("Ч", "\u0427"); + definedEntities.put("©", "\u00A9"); + definedEntities.put("Ć", "\u0106"); + definedEntities.put("⋒", "\u22D2"); + definedEntities.put("ⅅ", "\u2145"); + definedEntities.put("ℭ", "\u212D"); + definedEntities.put("Č", "\u010C"); + definedEntities.put("Ç", "\u00C7"); + definedEntities.put("Ĉ", "\u0108"); + definedEntities.put("∰", "\u2230"); + definedEntities.put("Ċ", "\u010A"); + definedEntities.put("¸", "\u00B8"); + definedEntities.put("·", "\u00B7"); + definedEntities.put("ℭ", "\u212D"); + definedEntities.put("Χ", "\u03A7"); + definedEntities.put("⊙", "\u2299"); + definedEntities.put("⊖", "\u2296"); + definedEntities.put("⊕", "\u2295"); + definedEntities.put("⊗", "\u2297"); + definedEntities.put("∲", "\u2232"); + definedEntities.put("”", "\u201D"); + definedEntities.put("’", "\u2019"); + definedEntities.put("∷", "\u2237"); + definedEntities.put("⩴", "\u2A74"); + definedEntities.put("≡", "\u2261"); + definedEntities.put("∯", "\u222F"); + definedEntities.put("∮", "\u222E"); + definedEntities.put("ℂ", "\u2102"); + definedEntities.put("∐", "\u2210"); + definedEntities.put("∳", "\u2233"); + definedEntities.put("⨯", "\u2A2F"); + definedEntities.put("𝒞", "\uD835\uDC9E"); + definedEntities.put("⋓", "\u22D3"); + definedEntities.put("≍", "\u224D"); + definedEntities.put("ⅅ", "\u2145"); + definedEntities.put("⤑", "\u2911"); + definedEntities.put("Ђ", "\u0402"); + definedEntities.put("Ѕ", "\u0405"); + definedEntities.put("Џ", "\u040F"); + definedEntities.put("‡", "\u2021"); + definedEntities.put("↡", "\u21A1"); + definedEntities.put("⫤", "\u2AE4"); + definedEntities.put("Ď", "\u010E"); + definedEntities.put("Д", "\u0414"); + definedEntities.put("∇", "\u2207"); + definedEntities.put("Δ", "\u0394"); + definedEntities.put("𝔇", "\uD835\uDD07"); + definedEntities.put("´", "\u00B4"); + definedEntities.put("˙", "\u02D9"); + definedEntities.put("˝", "\u02DD"); + definedEntities.put("`", "\u0060"); + definedEntities.put("˜", "\u02DC"); + definedEntities.put("⋄", "\u22C4"); + definedEntities.put("ⅆ", "\u2146"); + definedEntities.put("𝔻", "\uD835\uDD3B"); + definedEntities.put("¨", "\u00A8"); + definedEntities.put("⃜", "\u20DC"); + definedEntities.put("≐", "\u2250"); + definedEntities.put("∯", "\u222F"); + definedEntities.put("¨", "\u00A8"); + definedEntities.put("⇓", "\u21D3"); + definedEntities.put("⇐", "\u21D0"); + definedEntities.put("⇔", "\u21D4"); + definedEntities.put("⫤", "\u2AE4"); + definedEntities.put("⟸", "\u27F8"); + definedEntities.put("⟺", "\u27FA"); + definedEntities.put("⟹", "\u27F9"); + definedEntities.put("⇒", "\u21D2"); + definedEntities.put("⊨", "\u22A8"); + definedEntities.put("⇑", "\u21D1"); + definedEntities.put("⇕", "\u21D5"); + definedEntities.put("∥", "\u2225"); + definedEntities.put("↓", "\u2193"); + definedEntities.put("⤓", "\u2913"); + definedEntities.put("⇵", "\u21F5"); + definedEntities.put("̑", "\u0311"); + definedEntities.put("⥐", "\u2950"); + definedEntities.put("⥞", "\u295E"); + definedEntities.put("↽", "\u21BD"); + definedEntities.put("⥖", "\u2956"); + definedEntities.put("⥟", "\u295F"); + definedEntities.put("⇁", "\u21C1"); + definedEntities.put("⥗", "\u2957"); + definedEntities.put("⊤", "\u22A4"); + definedEntities.put("↧", "\u21A7"); + definedEntities.put("⇓", "\u21D3"); + definedEntities.put("𝒟", "\uD835\uDC9F"); + definedEntities.put("Đ", "\u0110"); + definedEntities.put("Ŋ", "\u014A"); + definedEntities.put("Ð", "\u00D0"); + definedEntities.put("É", "\u00C9"); + definedEntities.put("Ě", "\u011A"); + definedEntities.put("Ê", "\u00CA"); + definedEntities.put("Э", "\u042D"); + definedEntities.put("Ė", "\u0116"); + definedEntities.put("𝔈", "\uD835\uDD08"); + definedEntities.put("È", "\u00C8"); + definedEntities.put("∈", "\u2208"); + definedEntities.put("Ē", "\u0112"); + definedEntities.put("◻", "\u25FB"); + definedEntities.put("▫", "\u25AB"); + definedEntities.put("Ę", "\u0118"); + definedEntities.put("𝔼", "\uD835\uDD3C"); + definedEntities.put("Ε", "\u0395"); + definedEntities.put("⩵", "\u2A75"); + definedEntities.put("≂", "\u2242"); + definedEntities.put("⇌", "\u21CC"); + definedEntities.put("ℰ", "\u2130"); + definedEntities.put("⩳", "\u2A73"); + definedEntities.put("Η", "\u0397"); + definedEntities.put("Ë", "\u00CB"); + definedEntities.put("∃", "\u2203"); + definedEntities.put("ⅇ", "\u2147"); + definedEntities.put("Ф", "\u0424"); + definedEntities.put("𝔉", "\uD835\uDD09"); + definedEntities.put("◼", "\u25FC"); + definedEntities.put("▪", "\u25AA"); + definedEntities.put("𝔽", "\uD835\uDD3D"); + definedEntities.put("∀", "\u2200"); + definedEntities.put("ℱ", "\u2131"); + definedEntities.put("ℱ", "\u2131"); + definedEntities.put("Ѓ", "\u0403"); + definedEntities.put(">", "\u003E"); + definedEntities.put("Γ", "\u0393"); + definedEntities.put("Ϝ", "\u03DC"); + definedEntities.put("Ğ", "\u011E"); + definedEntities.put("Ģ", "\u0122"); + definedEntities.put("Ĝ", "\u011C"); + definedEntities.put("Г", "\u0413"); + definedEntities.put("Ġ", "\u0120"); + definedEntities.put("𝔊", "\uD835\uDD0A"); + definedEntities.put("⋙", "\u22D9"); + definedEntities.put("𝔾", "\uD835\uDD3E"); + definedEntities.put("≥", "\u2265"); + definedEntities.put("⋛", "\u22DB"); + definedEntities.put("≧", "\u2267"); + definedEntities.put("⪢", "\u2AA2"); + definedEntities.put("≷", "\u2277"); + definedEntities.put("⩾", "\u2A7E"); + definedEntities.put("≳", "\u2273"); + definedEntities.put("𝒢", "\uD835\uDCA2"); + definedEntities.put("≫", "\u226B"); + definedEntities.put("Ъ", "\u042A"); + definedEntities.put("ˇ", "\u02C7"); + definedEntities.put("^", "\u005E"); + definedEntities.put("Ĥ", "\u0124"); + definedEntities.put("ℌ", "\u210C"); + definedEntities.put("ℋ", "\u210B"); + definedEntities.put("ℍ", "\u210D"); + definedEntities.put("─", "\u2500"); + definedEntities.put("ℋ", "\u210B"); + definedEntities.put("Ħ", "\u0126"); + definedEntities.put("≎", "\u224E"); + definedEntities.put("≏", "\u224F"); + definedEntities.put("Е", "\u0415"); + definedEntities.put("IJ", "\u0132"); + definedEntities.put("Ё", "\u0401"); + definedEntities.put("Í", "\u00CD"); + definedEntities.put("Î", "\u00CE"); + definedEntities.put("И", "\u0418"); + definedEntities.put("İ", "\u0130"); + definedEntities.put("ℑ", "\u2111"); + definedEntities.put("Ì", "\u00CC"); + definedEntities.put("ℑ", "\u2111"); + definedEntities.put("Ī", "\u012A"); + definedEntities.put("ⅈ", "\u2148"); + definedEntities.put("⇒", "\u21D2"); + definedEntities.put("∬", "\u222C"); + definedEntities.put("∫", "\u222B"); + definedEntities.put("⋂", "\u22C2"); + definedEntities.put("⁣", "\u2063"); + definedEntities.put("⁢", "\u2062"); + definedEntities.put("Į", "\u012E"); + definedEntities.put("𝕀", "\uD835\uDD40"); + definedEntities.put("Ι", "\u0399"); + definedEntities.put("ℐ", "\u2110"); + definedEntities.put("Ĩ", "\u0128"); + definedEntities.put("І", "\u0406"); + definedEntities.put("Ï", "\u00CF"); + definedEntities.put("Ĵ", "\u0134"); + definedEntities.put("Й", "\u0419"); + definedEntities.put("𝔍", "\uD835\uDD0D"); + definedEntities.put("𝕁", "\uD835\uDD41"); + definedEntities.put("𝒥", "\uD835\uDCA5"); + definedEntities.put("Ј", "\u0408"); + definedEntities.put("Є", "\u0404"); + definedEntities.put("Х", "\u0425"); + definedEntities.put("Ќ", "\u040C"); + definedEntities.put("Κ", "\u039A"); + definedEntities.put("Ķ", "\u0136"); + definedEntities.put("К", "\u041A"); + definedEntities.put("𝔎", "\uD835\uDD0E"); + definedEntities.put("𝕂", "\uD835\uDD42"); + definedEntities.put("𝒦", "\uD835\uDCA6"); + definedEntities.put("Љ", "\u0409"); + definedEntities.put("<", "\u003C"); + definedEntities.put("Ĺ", "\u0139"); + definedEntities.put("Λ", "\u039B"); + definedEntities.put("⟪", "\u27EA"); + definedEntities.put("ℒ", "\u2112"); + definedEntities.put("↞", "\u219E"); + definedEntities.put("Ľ", "\u013D"); + definedEntities.put("Ļ", "\u013B"); + definedEntities.put("Л", "\u041B"); + definedEntities.put("⟨", "\u27E8"); + definedEntities.put("←", "\u2190"); + definedEntities.put("⇤", "\u21E4"); + definedEntities.put("⇆", "\u21C6"); + definedEntities.put("⌈", "\u2308"); + definedEntities.put("⟦", "\u27E6"); + definedEntities.put("⥡", "\u2961"); + definedEntities.put("⇃", "\u21C3"); + definedEntities.put("⥙", "\u2959"); + definedEntities.put("⌊", "\u230A"); + definedEntities.put("↔", "\u2194"); + definedEntities.put("⥎", "\u294E"); + definedEntities.put("⊣", "\u22A3"); + definedEntities.put("↤", "\u21A4"); + definedEntities.put("⥚", "\u295A"); + definedEntities.put("⊲", "\u22B2"); + definedEntities.put("⧏", "\u29CF"); + definedEntities.put("⊴", "\u22B4"); + definedEntities.put("⥑", "\u2951"); + definedEntities.put("⥠", "\u2960"); + definedEntities.put("↿", "\u21BF"); + definedEntities.put("⥘", "\u2958"); + definedEntities.put("↼", "\u21BC"); + definedEntities.put("⥒", "\u2952"); + definedEntities.put("⇐", "\u21D0"); + definedEntities.put("⇔", "\u21D4"); + definedEntities.put("⋚", "\u22DA"); + definedEntities.put("≦", "\u2266"); + definedEntities.put("≶", "\u2276"); + definedEntities.put("⪡", "\u2AA1"); + definedEntities.put("⩽", "\u2A7D"); + definedEntities.put("≲", "\u2272"); + definedEntities.put("𝔏", "\uD835\uDD0F"); + definedEntities.put("⋘", "\u22D8"); + definedEntities.put("⇚", "\u21DA"); + definedEntities.put("Ŀ", "\u013F"); + definedEntities.put("⟵", "\u27F5"); + definedEntities.put("⟷", "\u27F7"); + definedEntities.put("⟶", "\u27F6"); + definedEntities.put("⟸", "\u27F8"); + definedEntities.put("⟺", "\u27FA"); + definedEntities.put("⟹", "\u27F9"); + definedEntities.put("𝕃", "\uD835\uDD43"); + definedEntities.put("↙", "\u2199"); + definedEntities.put("↘", "\u2198"); + definedEntities.put("ℒ", "\u2112"); + definedEntities.put("↰", "\u21B0"); + definedEntities.put("Ł", "\u0141"); + definedEntities.put("≪", "\u226A"); + definedEntities.put("⤅", "\u2905"); + definedEntities.put("М", "\u041C"); + definedEntities.put(" ", "\u205F"); + definedEntities.put("ℳ", "\u2133"); + definedEntities.put("𝔐", "\uD835\uDD10"); + definedEntities.put("∓", "\u2213"); + definedEntities.put("𝕄", "\uD835\uDD44"); + definedEntities.put("ℳ", "\u2133"); + definedEntities.put("Μ", "\u039C"); + definedEntities.put("Њ", "\u040A"); + definedEntities.put("Ń", "\u0143"); + definedEntities.put("Ň", "\u0147"); + definedEntities.put("Ņ", "\u0145"); + definedEntities.put("Н", "\u041D"); + definedEntities.put("​", "\u200B"); + definedEntities.put("​", "\u200B"); + definedEntities.put("​", "\u200B"); + definedEntities.put("​", "\u200B"); + definedEntities.put("≫", "\u226B"); + definedEntities.put("≪", "\u226A"); + definedEntities.put(" ", "\n"); + definedEntities.put("𝔑", "\uD835\uDD11"); + definedEntities.put("⁠", "\u2060"); + definedEntities.put(" ", "\u00A0"); + definedEntities.put("ℕ", "\u2115"); + definedEntities.put("⫬", "\u2AEC"); + definedEntities.put("≢", "\u2262"); + definedEntities.put("≭", "\u226D"); + definedEntities.put("∦", "\u2226"); + definedEntities.put("∉", "\u2209"); + definedEntities.put("≠", "\u2260"); + definedEntities.put("≂̸", "\u2242\u0338"); + definedEntities.put("∄", "\u2204"); + definedEntities.put("≯", "\u226F"); + definedEntities.put("≱", "\u2271"); + definedEntities.put("≧̸", "\u2267\u0033"); + definedEntities.put("≫̸", "\u226B\u0033"); + definedEntities.put("≹", "\u2279"); + definedEntities.put("⩾̸", "\u2A7E\u0338"); + definedEntities.put("≵", "\u2275"); + definedEntities.put("≎̸", "\u224E\u0338"); + definedEntities.put("≏̸", "\u224F\u0338"); + definedEntities.put("⋪", "\u22EA"); + definedEntities.put("⧏̸", "\u29CF\u0338"); + definedEntities.put("⋬", "\u22EC"); + definedEntities.put("≮", "\u226E"); + definedEntities.put("≰", "\u2270"); + definedEntities.put("≸", "\u2278"); + definedEntities.put("≪̸", "\u226A\u0338"); + definedEntities.put("⩽̸", "\u2A7D\u0338"); + definedEntities.put("≴", "\u2274"); + definedEntities.put("⪢̸", "\u2AA2\u0338"); + definedEntities.put("⪡̸", "\u2AA1\u0338"); + definedEntities.put("⊀", "\u2280"); + definedEntities.put("⪯̸", "\u2AAF\u0338"); + definedEntities.put("⋠", "\u22E0"); + definedEntities.put("∌", "\u220C"); + definedEntities.put("⋫", "\u22EB"); + definedEntities.put("⧐̸", "\u29D0\u0338"); + definedEntities.put("⋭", "\u22ED"); + definedEntities.put("⊏̸", "\u228F\u0338"); + definedEntities.put("⋢", "\u22E2"); + definedEntities.put("⊐̸", "\u2290\u0338"); + definedEntities.put("⋣", "\u22E3"); + definedEntities.put("⊂⃒", "\u2282\u20D2"); + definedEntities.put("⊈", "\u2288"); + definedEntities.put("⊁", "\u2281"); + definedEntities.put("⪰̸", "\u2AB0\u0338"); + definedEntities.put("⋡", "\u22E1"); + definedEntities.put("≿̸", "\u227F\u0338"); + definedEntities.put("⊃⃒", "\u2283\u20D2"); + definedEntities.put("⊉", "\u2289"); + definedEntities.put("≁", "\u2241"); + definedEntities.put("≄", "\u2244"); + definedEntities.put("≇", "\u2247"); + definedEntities.put("≉", "\u2249"); + definedEntities.put("∤", "\u2224"); + definedEntities.put("𝒩", "\uD835\uDCA9"); + definedEntities.put("Ñ", "\u00D1"); + definedEntities.put("Ν", "\u039D"); + definedEntities.put("Œ", "\u0152"); + definedEntities.put("Ó", "\u00D3"); + definedEntities.put("Ô", "\u00D4"); + definedEntities.put("О", "\u041E"); + definedEntities.put("Ő", "\u0150"); + definedEntities.put("𝔒", "\uD835\uDD12"); + definedEntities.put("Ò", "\u00D2"); + definedEntities.put("Ō", "\u014C"); + definedEntities.put("Ω", "\u03A9"); + definedEntities.put("Ο", "\u039F"); + definedEntities.put("𝕆", "\uD835\uDD46"); + definedEntities.put("“", "\u201C"); + definedEntities.put("‘", "\u2018"); + definedEntities.put("⩔", "\u2A54"); + definedEntities.put("𝒪", "\uD835\uDCAA"); + definedEntities.put("Ø", "\u00D8"); + definedEntities.put("Õ", "\u00D5"); + definedEntities.put("⨷", "\u2A37"); + definedEntities.put("Ö", "\u00D6"); + definedEntities.put("‾", "\u203E"); + definedEntities.put("⏞", "\u23DE"); + definedEntities.put("⎴", "\u23B4"); + definedEntities.put("⏜", "\u23DC"); + definedEntities.put("∂", "\u2202"); + definedEntities.put("П", "\u041F"); + definedEntities.put("𝔓", "\uD835\uDD13"); + definedEntities.put("Φ", "\u03A6"); + definedEntities.put("Π", "\u03A0"); + definedEntities.put("±", "\u00B1"); + definedEntities.put("ℌ", "\u210C"); + definedEntities.put("ℙ", "\u2119"); + definedEntities.put("⪻", "\u2ABB"); + definedEntities.put("≺", "\u227A"); + definedEntities.put("⪯", "\u2AAF"); + definedEntities.put("≼", "\u227C"); + definedEntities.put("≾", "\u227E"); + definedEntities.put("″", "\u2033"); + definedEntities.put("∏", "\u220F"); + definedEntities.put("∷", "\u2237"); + definedEntities.put("∝", "\u221D"); + definedEntities.put("𝒫", "\uD835\uDCAB"); + definedEntities.put("Ψ", "\u03A8"); + definedEntities.put(""", "\\u0022"); + definedEntities.put("𝔔", "\uD835\uDD14"); + definedEntities.put("ℚ", "\u211A"); + definedEntities.put("𝒬", "\uD835\uDCAC"); + definedEntities.put("⤐", "\u2910"); + definedEntities.put("®", "\u00AE"); + definedEntities.put("Ŕ", "\u0154"); + definedEntities.put("⟫", "\u27EB"); + definedEntities.put("↠", "\u21A0"); + definedEntities.put("⤖", "\u2916"); + definedEntities.put("Ř", "\u0158"); + definedEntities.put("Ŗ", "\u0156"); + definedEntities.put("Р", "\u0420"); + definedEntities.put("ℜ", "\u211C"); + definedEntities.put("∋", "\u220B"); + definedEntities.put("⇋", "\u21CB"); + definedEntities.put("⥯", "\u296F"); + definedEntities.put("ℜ", "\u211C"); + definedEntities.put("Ρ", "\u03A1"); + definedEntities.put("⟩", "\u27E9"); + definedEntities.put("→", "\u2192"); + definedEntities.put("⇥", "\u21E5"); + definedEntities.put("⇄", "\u21C4"); + definedEntities.put("⌉", "\u2309"); + definedEntities.put("⟧", "\u27E7"); + definedEntities.put("⥝", "\u295D"); + definedEntities.put("⇂", "\u21C2"); + definedEntities.put("⥕", "\u2955"); + definedEntities.put("⌋", "\u230B"); + definedEntities.put("⊢", "\u22A2"); + definedEntities.put("↦", "\u21A6"); + definedEntities.put("⥛", "\u295B"); + definedEntities.put("⊳", "\u22B3"); + definedEntities.put("⧐", "\u29D0"); + definedEntities.put("⊵", "\u22B5"); + definedEntities.put("⥏", "\u294F"); + definedEntities.put("⥜", "\u295C"); + definedEntities.put("↾", "\u21BE"); + definedEntities.put("⥔", "\u2954"); + definedEntities.put("⇀", "\u21C0"); + definedEntities.put("⥓", "\u2953"); + definedEntities.put("⇒", "\u21D2"); + definedEntities.put("ℝ", "\u211D"); + definedEntities.put("⥰", "\u2970"); + definedEntities.put("⇛", "\u21DB"); + definedEntities.put("ℛ", "\u211B"); + definedEntities.put("↱", "\u21B1"); + definedEntities.put("⧴", "\u29F4"); + definedEntities.put("Щ", "\u0429"); + definedEntities.put("Ш", "\u0428"); + definedEntities.put("Ь", "\u042C"); + definedEntities.put("Ś", "\u015A"); + definedEntities.put("⪼", "\u2ABC"); + definedEntities.put("Š", "\u0160"); + definedEntities.put("Ş", "\u015E"); + definedEntities.put("Ŝ", "\u015C"); + definedEntities.put("С", "\u0421"); + definedEntities.put("𝔖", "\uD835\uDD16"); + definedEntities.put("↓", "\u2193"); + definedEntities.put("←", "\u2190"); + definedEntities.put("→", "\u2192"); + definedEntities.put("↑", "\u2191"); + definedEntities.put("Σ", "\u03A3"); + definedEntities.put("∘", "\u2218"); + definedEntities.put("𝕊", "\uD835\uDD4A"); + definedEntities.put("√", "\u221A"); + definedEntities.put("□", "\u25A1"); + definedEntities.put("⊓", "\u2293"); + definedEntities.put("⊏", "\u228F"); + definedEntities.put("⊑", "\u2291"); + definedEntities.put("⊐", "\u2290"); + definedEntities.put("⊒", "\u2292"); + definedEntities.put("⊔", "\u2294"); + definedEntities.put("𝒮", "\uD835\uDCAE"); + definedEntities.put("⋆", "\u22C6"); + definedEntities.put("⋐", "\u22D0"); + definedEntities.put("⋐", "\u22D0"); + definedEntities.put("⊆", "\u2286"); + definedEntities.put("≻", "\u227B"); + definedEntities.put("⪰", "\u2AB0"); + definedEntities.put("≽", "\u227D"); + definedEntities.put("≿", "\u227F"); + definedEntities.put("∋", "\u220B"); + definedEntities.put("∑", "\u2211"); + definedEntities.put("⋑", "\u22D1"); + definedEntities.put("⊃", "\u2283"); + definedEntities.put("⊇", "\u2287"); + definedEntities.put("⋑", "\u22D1"); + definedEntities.put("Þ", "\u00DE"); + definedEntities.put("™", "\u2122"); + definedEntities.put("Ћ", "\u040B"); + definedEntities.put("Ц", "\u0426"); + definedEntities.put(" ", "\u0009"); + definedEntities.put("Τ", "\u03A4"); + definedEntities.put("Ť", "\u0164"); + definedEntities.put("Ţ", "\u0162"); + definedEntities.put("Т", "\u0422"); + definedEntities.put("𝔗", "\uD835\uDD17"); + definedEntities.put("∴", "\u2234"); + definedEntities.put("Θ", "\u0398"); + definedEntities.put("  ", "\u205F\u200A"); + definedEntities.put(" ", "\u2009"); + definedEntities.put("∼", "\u223C"); + definedEntities.put("≃", "\u2243"); + definedEntities.put("≅", "\u2245"); + definedEntities.put("≈", "\u2248"); + definedEntities.put("𝕋", "\uD835\uDD4B"); + definedEntities.put("⃛", "\u20DB"); + definedEntities.put("𝒯", "\uD835\uDCAF"); + definedEntities.put("Ŧ", "\u0166"); + definedEntities.put("Ú", "\u00DA"); + definedEntities.put("↟", "\u219F"); + definedEntities.put("⥉", "\u2949"); + definedEntities.put("Ў", "\u040E"); + definedEntities.put("Ŭ", "\u016C"); + definedEntities.put("Û", "\u00DB"); + definedEntities.put("У", "\u0423"); + definedEntities.put("Ű", "\u0170"); + definedEntities.put("𝔘", "\uD835\uDD18"); + definedEntities.put("Ù", "\u00D9"); + definedEntities.put("Ū", "\u016A"); + definedEntities.put("_", "\u005F"); + definedEntities.put("⏟", "\u23DF"); + definedEntities.put("⎵", "\u23B5"); + definedEntities.put("⏝", "\u23DD"); + definedEntities.put("⋃", "\u22C3"); + definedEntities.put("⊎", "\u228E"); + definedEntities.put("Ų", "\u0172"); + definedEntities.put("𝕌", "\uD835\uDD4C"); + definedEntities.put("↑", "\u2191"); + definedEntities.put("⤒", "\u2912"); + definedEntities.put("⇅", "\u21C5"); + definedEntities.put("↕", "\u2195"); + definedEntities.put("⥮", "\u296E"); + definedEntities.put("⊥", "\u22A5"); + definedEntities.put("↥", "\u21A5"); + definedEntities.put("⇑", "\u21D1"); + definedEntities.put("⇕", "\u21D5"); + definedEntities.put("↖", "\u2196"); + definedEntities.put("↗", "\u2197"); + definedEntities.put("ϒ", "\u03D2"); + definedEntities.put("Υ", "\u03A5"); + definedEntities.put("Ů", "\u016E"); + definedEntities.put("𝒰", "\uD835\uDCB0"); + definedEntities.put("Ũ", "\u0168"); + definedEntities.put("Ü", "\u00DC"); + definedEntities.put("⊫", "\u22AB"); + definedEntities.put("⫫", "\u2AEB"); + definedEntities.put("В", "\u0412"); + definedEntities.put("⊩", "\u22A9"); + definedEntities.put("⫦", "\u2AE6"); + definedEntities.put("⋁", "\u22C1"); + definedEntities.put("‖", "\u2016"); + definedEntities.put("‖", "\u2016"); + definedEntities.put("∣", "\u2223"); + definedEntities.put("|", "\u007C"); + definedEntities.put("❘", "\u2758"); + definedEntities.put("≀", "\u2240"); + definedEntities.put(" ", "\u200A"); + definedEntities.put("𝔙", "\uD835\uDD19"); + definedEntities.put("𝕍", "\uD835\uDD4D"); + definedEntities.put("𝒱", "\uD835\uDCB1"); + definedEntities.put("⊪", "\u22AA"); + definedEntities.put("Ŵ", "\u0174"); + definedEntities.put("⋀", "\u22C0"); + definedEntities.put("𝔚", "\uD835\uDD1A"); + definedEntities.put("𝕎", "\uD835\uDD4E"); + definedEntities.put("𝒲", "\uD835\uDCB2"); + definedEntities.put("𝔛", "\uD835\uDD1B"); + definedEntities.put("Ξ", "\u039E"); + definedEntities.put("𝕏", "\uD835\uDD4F"); + definedEntities.put("𝒳", "\uD835\uDCB3"); + definedEntities.put("Я", "\u042F"); + definedEntities.put("Ї", "\u0407"); + definedEntities.put("Ю", "\u042E"); + definedEntities.put("Ý", "\u00DD"); + definedEntities.put("Ŷ", "\u0176"); + definedEntities.put("Ы", "\u042B"); + definedEntities.put("𝔜", "\uD835\uDD1C"); + definedEntities.put("𝕐", "\uD835\uDD50"); + definedEntities.put("𝒴", "\uD835\uDCB4"); + definedEntities.put("Ÿ", "\u0178"); + definedEntities.put("Ж", "\u0416"); + definedEntities.put("Ź", "\u0179"); + definedEntities.put("Ž", "\u017D"); + definedEntities.put("З", "\u0417"); + definedEntities.put("Ż", "\u017B"); + definedEntities.put("​", "\u200B"); + definedEntities.put("Ζ", "\u0396"); + definedEntities.put("ℨ", "\u2128"); + definedEntities.put("ℤ", "\u2124"); + definedEntities.put("𝒵", "\uD835\uDCB5"); + definedEntities.put("á", "\u00E1"); + definedEntities.put("ă", "\u0103"); + definedEntities.put("∾", "\u223E"); + definedEntities.put("∾̳", "\u223E\u0333"); + definedEntities.put("∿", "\u223F"); + definedEntities.put("â", "\u00E2"); + definedEntities.put("´", "\u00B4"); + definedEntities.put("а", "\u0430"); + definedEntities.put("æ", "\u00E6"); + definedEntities.put("⁡", "\u2061"); + definedEntities.put("𝔞", "\uD835\uDD1E"); + definedEntities.put("à", "\u00E0"); + definedEntities.put("ℵ", "\u2135"); + definedEntities.put("ℵ", "\u2135"); + definedEntities.put("α", "\u03B1"); + definedEntities.put("ā", "\u0101"); + definedEntities.put("⨿", "\u2A3F"); + definedEntities.put("&", "\u0026"); + definedEntities.put("∧", "\u2227"); + definedEntities.put("⩕", "\u2A55"); + definedEntities.put("⩜", "\u2A5C"); + definedEntities.put("⩘", "\u2A58"); + definedEntities.put("⩚", "\u2A5A"); + definedEntities.put("∠", "\u2220"); + definedEntities.put("⦤", "\u29A4"); + definedEntities.put("∠", "\u2220"); + definedEntities.put("∡", "\u2221"); + definedEntities.put("⦨", "\u29A8"); + definedEntities.put("⦩", "\u29A9"); + definedEntities.put("⦪", "\u29AA"); + definedEntities.put("⦫", "\u29AB"); + definedEntities.put("⦬", "\u29AC"); + definedEntities.put("⦭", "\u29AD"); + definedEntities.put("⦮", "\u29AE"); + definedEntities.put("⦯", "\u29AF"); + definedEntities.put("∟", "\u221F"); + definedEntities.put("⊾", "\u22BE"); + definedEntities.put("⦝", "\u299D"); + definedEntities.put("∢", "\u2222"); + definedEntities.put("Å", "\u00C5"); + definedEntities.put("⍼", "\u237C"); + definedEntities.put("ą", "\u0105"); + definedEntities.put("𝕒", "\uD835\uDD52"); + definedEntities.put("≈", "\u2248"); + definedEntities.put("⩰", "\u2A70"); + definedEntities.put("⩯", "\u2A6F"); + definedEntities.put("≊", "\u224A"); + definedEntities.put("≋", "\u224B"); + definedEntities.put("'", "\u0027"); + definedEntities.put("≈", "\u2248"); + definedEntities.put("≊", "\u224A"); + definedEntities.put("å", "\u00E5"); + definedEntities.put("𝒶", "\uD835\uDCB6"); + definedEntities.put("*", "\u002A"); + definedEntities.put("≈", "\u2248"); + definedEntities.put("≍", "\u224D"); + definedEntities.put("ã", "\u00E3"); + definedEntities.put("ä", "\u00E4"); + definedEntities.put("∳", "\u2233"); + definedEntities.put("⨑", "\u2A11"); + definedEntities.put("⫭", "\u2AED"); + definedEntities.put("≌", "\u224C"); + definedEntities.put("϶", "\u03F6"); + definedEntities.put("‵", "\u2035"); + definedEntities.put("∽", "\u223D"); + definedEntities.put("⋍", "\u22CD"); + definedEntities.put("⊽", "\u22BD"); + definedEntities.put("⌅", "\u2305"); + definedEntities.put("⌅", "\u2305"); + definedEntities.put("⎵", "\u23B5"); + definedEntities.put("⎶", "\u23B6"); + definedEntities.put("≌", "\u224C"); + definedEntities.put("б", "\u0431"); + definedEntities.put("„", "\u201E"); + definedEntities.put("∵", "\u2235"); + definedEntities.put("∵", "\u2235"); + definedEntities.put("⦰", "\u29B0"); + definedEntities.put("϶", "\u03F6"); + definedEntities.put("ℬ", "\u212C"); + definedEntities.put("β", "\u03B2"); + definedEntities.put("ℶ", "\u2136"); + definedEntities.put("≬", "\u226C"); + definedEntities.put("𝔟", "\uD835\uDD1F"); + definedEntities.put("⋂", "\u22C2"); + definedEntities.put("◯", "\u25EF"); + definedEntities.put("⋃", "\u22C3"); + definedEntities.put("⨀", "\u2A00"); + definedEntities.put("⨁", "\u2A01"); + definedEntities.put("⨂", "\u2A02"); + definedEntities.put("⨆", "\u2A06"); + definedEntities.put("★", "\u2605"); + definedEntities.put("▽", "\u25BD"); + definedEntities.put("△", "\u25B3"); + definedEntities.put("⨄", "\u2A04"); + definedEntities.put("⋁", "\u22C1"); + definedEntities.put("⋀", "\u22C0"); + definedEntities.put("⤍", "\u290D"); + definedEntities.put("⧫", "\u29EB"); + definedEntities.put("▪", "\u25AA"); + definedEntities.put("▴", "\u25B4"); + definedEntities.put("▾", "\u25BE"); + definedEntities.put("◂", "\u25C2"); + definedEntities.put("▸", "\u25B8"); + definedEntities.put("␣", "\u2423"); + definedEntities.put("▒", "\u2592"); + definedEntities.put("░", "\u2591"); + definedEntities.put("▓", "\u2593"); + definedEntities.put("█", "\u2588"); + definedEntities.put("=⃥", "\u003D\u20E5"); + definedEntities.put("≡⃥", "\u2261\u20E5"); + definedEntities.put("⌐", "\u2310"); + definedEntities.put("𝕓", "\uD835\uDD53"); + definedEntities.put("⊥", "\u22A5"); + definedEntities.put("⊥", "\u22A5"); + definedEntities.put("⋈", "\u22C8"); + definedEntities.put("╗", "\u2557"); + definedEntities.put("╔", "\u2554"); + definedEntities.put("╖", "\u2556"); + definedEntities.put("╓", "\u2553"); + definedEntities.put("═", "\u2550"); + definedEntities.put("╦", "\u2566"); + definedEntities.put("╩", "\u2569"); + definedEntities.put("╤", "\u2564"); + definedEntities.put("╧", "\u2567"); + definedEntities.put("╝", "\u255D"); + definedEntities.put("╚", "\u255A"); + definedEntities.put("╜", "\u255C"); + definedEntities.put("╙", "\u2559"); + definedEntities.put("║", "\u2551"); + definedEntities.put("╬", "\u256C"); + definedEntities.put("╣", "\u2563"); + definedEntities.put("╠", "\u2560"); + definedEntities.put("╫", "\u256B"); + definedEntities.put("╢", "\u2562"); + definedEntities.put("╟", "\u255F"); + definedEntities.put("⧉", "\u29C9"); + definedEntities.put("╕", "\u2555"); + definedEntities.put("╒", "\u2552"); + definedEntities.put("┐", "\u2510"); + definedEntities.put("┌", "\u250C"); + definedEntities.put("─", "\u2500"); + definedEntities.put("╥", "\u2565"); + definedEntities.put("╨", "\u2568"); + definedEntities.put("┬", "\u252C"); + definedEntities.put("┴", "\u2534"); + definedEntities.put("⊟", "\u229F"); + definedEntities.put("⊞", "\u229E"); + definedEntities.put("⊠", "\u22A0"); + definedEntities.put("╛", "\u255B"); + definedEntities.put("╘", "\u2558"); + definedEntities.put("┘", "\u2518"); + definedEntities.put("└", "\u2514"); + definedEntities.put("│", "\u2502"); + definedEntities.put("╪", "\u256A"); + definedEntities.put("╡", "\u2561"); + definedEntities.put("╞", "\u255E"); + definedEntities.put("┼", "\u253C"); + definedEntities.put("┤", "\u2524"); + definedEntities.put("├", "\u251C"); + definedEntities.put("‵", "\u2035"); + definedEntities.put("˘", "\u02D8"); + definedEntities.put("¦", "\u00A6"); + definedEntities.put("𝒷", "\uD835\uDCB7"); + definedEntities.put("⁏", "\u204F"); + definedEntities.put("∽", "\u223D"); + definedEntities.put("⋍", "\u22CD"); + definedEntities.put("\", "\\u005C"); + definedEntities.put("⧅", "\u29C5"); + definedEntities.put("⟈", "\u27C8"); + definedEntities.put("•", "\u2022"); + definedEntities.put("•", "\u2022"); + definedEntities.put("≎", "\u224E"); + definedEntities.put("⪮", "\u2AAE"); + definedEntities.put("≏", "\u224F"); + definedEntities.put("≏", "\u224F"); + definedEntities.put("ć", "\u0107"); + definedEntities.put("∩", "\u2229"); + definedEntities.put("⩄", "\u2A44"); + definedEntities.put("⩉", "\u2A49"); + definedEntities.put("⩋", "\u2A4B"); + definedEntities.put("⩇", "\u2A47"); + definedEntities.put("⩀", "\u2A40"); + definedEntities.put("∩︀", "\u2229\uFE00"); + definedEntities.put("⁁", "\u2041"); + definedEntities.put("ˇ", "\u02C7"); + definedEntities.put("⩍", "\u2A4D"); + definedEntities.put("č", "\u010D"); + definedEntities.put("ç", "\u00E7"); + definedEntities.put("ĉ", "\u0109"); + definedEntities.put("⩌", "\u2A4C"); + definedEntities.put("⩐", "\u2A50"); + definedEntities.put("ċ", "\u010B"); + definedEntities.put("¸", "\u00B8"); + definedEntities.put("⦲", "\u29B2"); + definedEntities.put("¢", "\u00A2"); + definedEntities.put("·", "\u00B7"); + definedEntities.put("𝔠", "\uD835\uDD20"); + definedEntities.put("ч", "\u0447"); + definedEntities.put("✓", "\u2713"); + definedEntities.put("✓", "\u2713"); + definedEntities.put("χ", "\u03C7"); + definedEntities.put("○", "\u25CB"); + definedEntities.put("⧃", "\u29C3"); + definedEntities.put("ˆ", "\u02C6"); + definedEntities.put("≗", "\u2257"); + definedEntities.put("↺", "\u21BA"); + definedEntities.put("↻", "\u21BB"); + definedEntities.put("®", "\u00AE"); + definedEntities.put("Ⓢ", "\u24C8"); + definedEntities.put("⊛", "\u229B"); + definedEntities.put("⊚", "\u229A"); + definedEntities.put("⊝", "\u229D"); + definedEntities.put("≗", "\u2257"); + definedEntities.put("⨐", "\u2A10"); + definedEntities.put("⫯", "\u2AEF"); + definedEntities.put("⧂", "\u29C2"); + definedEntities.put("♣", "\u2663"); + definedEntities.put("♣", "\u2663"); + definedEntities.put(":", "\u003A"); + definedEntities.put("≔", "\u2254"); + definedEntities.put("≔", "\u2254"); + definedEntities.put(",", "\u002C"); + definedEntities.put("@", "\u0040"); + definedEntities.put("∁", "\u2201"); + definedEntities.put("∘", "\u2218"); + definedEntities.put("∁", "\u2201"); + definedEntities.put("ℂ", "\u2102"); + definedEntities.put("≅", "\u2245"); + definedEntities.put("⩭", "\u2A6D"); + definedEntities.put("∮", "\u222E"); + definedEntities.put("𝕔", "\uD835\uDD54"); + definedEntities.put("∐", "\u2210"); + definedEntities.put("©", "\u00A9"); + definedEntities.put("℗", "\u2117"); + definedEntities.put("↵", "\u21B5"); + definedEntities.put("✗", "\u2717"); + definedEntities.put("𝒸", "\uD835\uDCB8"); + definedEntities.put("⫏", "\u2ACF"); + definedEntities.put("⫑", "\u2AD1"); + definedEntities.put("⫐", "\u2AD0"); + definedEntities.put("⫒", "\u2AD2"); + definedEntities.put("⋯", "\u22EF"); + definedEntities.put("⤸", "\u2938"); + definedEntities.put("⤵", "\u2935"); + definedEntities.put("⋞", "\u22DE"); + definedEntities.put("⋟", "\u22DF"); + definedEntities.put("↶", "\u21B6"); + definedEntities.put("⤽", "\u293D"); + definedEntities.put("∪", "\u222A"); + definedEntities.put("⩈", "\u2A48"); + definedEntities.put("⩆", "\u2A46"); + definedEntities.put("⩊", "\u2A4A"); + definedEntities.put("⊍", "\u228D"); + definedEntities.put("⩅", "\u2A45"); + definedEntities.put("∪︀", "\u222A\uFE00"); + definedEntities.put("↷", "\u21B7"); + definedEntities.put("⤼", "\u293C"); + definedEntities.put("⋞", "\u22DE"); + definedEntities.put("⋟", "\u22DF"); + definedEntities.put("⋎", "\u22CE"); + definedEntities.put("⋏", "\u22CF"); + definedEntities.put("¤", "\u00A4"); + definedEntities.put("↶", "\u21B6"); + definedEntities.put("↷", "\u21B7"); + definedEntities.put("⋎", "\u22CE"); + definedEntities.put("⋏", "\u22CF"); + definedEntities.put("∲", "\u2232"); + definedEntities.put("∱", "\u2231"); + definedEntities.put("⌭", "\u232D"); + definedEntities.put("⇓", "\u21D3"); + definedEntities.put("⥥", "\u2965"); + definedEntities.put("†", "\u2020"); + definedEntities.put("ℸ", "\u2138"); + definedEntities.put("↓", "\u2193"); + definedEntities.put("‐", "\u2010"); + definedEntities.put("⊣", "\u22A3"); + definedEntities.put("⤏", "\u290F"); + definedEntities.put("˝", "\u02DD"); + definedEntities.put("ď", "\u010F"); + definedEntities.put("д", "\u0434"); + definedEntities.put("ⅆ", "\u2146"); + definedEntities.put("‡", "\u2021"); + definedEntities.put("⇊", "\u21CA"); + definedEntities.put("⩷", "\u2A77"); + definedEntities.put("°", "\u00B0"); + definedEntities.put("δ", "\u03B4"); + definedEntities.put("⦱", "\u29B1"); + definedEntities.put("⥿", "\u297F"); + definedEntities.put("𝔡", "\uD835\uDD21"); + definedEntities.put("⇃", "\u21C3"); + definedEntities.put("⇂", "\u21C2"); + definedEntities.put("⋄", "\u22C4"); + definedEntities.put("⋄", "\u22C4"); + definedEntities.put("♦", "\u2666"); + definedEntities.put("♦", "\u2666"); + definedEntities.put("¨", "\u00A8"); + definedEntities.put("ϝ", "\u03DD"); + definedEntities.put("⋲", "\u22F2"); + definedEntities.put("÷", "\u00F7"); + definedEntities.put("÷", "\u00F7"); + definedEntities.put("⋇", "\u22C7"); + definedEntities.put("⋇", "\u22C7"); + definedEntities.put("ђ", "\u0452"); + definedEntities.put("⌞", "\u231E"); + definedEntities.put("⌍", "\u230D"); + definedEntities.put("$", "\u0024"); + definedEntities.put("𝕕", "\uD835\uDD55"); + definedEntities.put("˙", "\u02D9"); + definedEntities.put("≐", "\u2250"); + definedEntities.put("≑", "\u2251"); + definedEntities.put("∸", "\u2238"); + definedEntities.put("∔", "\u2214"); + definedEntities.put("⊡", "\u22A1"); + definedEntities.put("⌆", "\u2306"); + definedEntities.put("↓", "\u2193"); + definedEntities.put("⇊", "\u21CA"); + definedEntities.put("⇃", "\u21C3"); + definedEntities.put("⇂", "\u21C2"); + definedEntities.put("⤐", "\u2910"); + definedEntities.put("⌟", "\u231F"); + definedEntities.put("⌌", "\u230C"); + definedEntities.put("𝒹", "\uD835\uDCB9"); + definedEntities.put("ѕ", "\u0455"); + definedEntities.put("⧶", "\u29F6"); + definedEntities.put("đ", "\u0111"); + definedEntities.put("⋱", "\u22F1"); + definedEntities.put("▿", "\u25BF"); + definedEntities.put("▾", "\u25BE"); + definedEntities.put("⇵", "\u21F5"); + definedEntities.put("⥯", "\u296F"); + definedEntities.put("⦦", "\u29A6"); + definedEntities.put("џ", "\u045F"); + definedEntities.put("⟿", "\u27FF"); + definedEntities.put("⩷", "\u2A77"); + definedEntities.put("≑", "\u2251"); + definedEntities.put("é", "\u00E9"); + definedEntities.put("⩮", "\u2A6E"); + definedEntities.put("ě", "\u011B"); + definedEntities.put("≖", "\u2256"); + definedEntities.put("ê", "\u00EA"); + definedEntities.put("≕", "\u2255"); + definedEntities.put("э", "\u044D"); + definedEntities.put("ė", "\u0117"); + definedEntities.put("ⅇ", "\u2147"); + definedEntities.put("≒", "\u2252"); + definedEntities.put("𝔢", "\uD835\uDD22"); + definedEntities.put("⪚", "\u2A9A"); + definedEntities.put("è", "\u00E8"); + definedEntities.put("⪖", "\u2A96"); + definedEntities.put("⪘", "\u2A98"); + definedEntities.put("⪙", "\u2A99"); + definedEntities.put("⏧", "\u23E7"); + definedEntities.put("ℓ", "\u2113"); + definedEntities.put("⪕", "\u2A95"); + definedEntities.put("⪗", "\u2A97"); + definedEntities.put("ē", "\u0113"); + definedEntities.put("∅", "\u2205"); + definedEntities.put("∅", "\u2205"); + definedEntities.put("∅", "\u2205"); + definedEntities.put(" ", "\u2004"); + definedEntities.put(" ", "\u2005"); + definedEntities.put(" ", "\u2003"); + definedEntities.put("ŋ", "\u014B"); + definedEntities.put(" ", "\u2002"); + definedEntities.put("ę", "\u0119"); + definedEntities.put("𝕖", "\uD835\uDD56"); + definedEntities.put("⋕", "\u22D5"); + definedEntities.put("⧣", "\u29E3"); + definedEntities.put("⩱", "\u2A71"); + definedEntities.put("ε", "\u03B5"); + definedEntities.put("ε", "\u03B5"); + definedEntities.put("ϵ", "\u03F5"); + definedEntities.put("≖", "\u2256"); + definedEntities.put("≕", "\u2255"); + definedEntities.put("≂", "\u2242"); + definedEntities.put("⪖", "\u2A96"); + definedEntities.put("⪕", "\u2A95"); + definedEntities.put("=", "\u003D"); + definedEntities.put("≟", "\u225F"); + definedEntities.put("≡", "\u2261"); + definedEntities.put("⩸", "\u2A78"); + definedEntities.put("⧥", "\u29E5"); + definedEntities.put("≓", "\u2253"); + definedEntities.put("⥱", "\u2971"); + definedEntities.put("ℯ", "\u212F"); + definedEntities.put("≐", "\u2250"); + definedEntities.put("≂", "\u2242"); + definedEntities.put("η", "\u03B7"); + definedEntities.put("ð", "\u00F0"); + definedEntities.put("ë", "\u00EB"); + definedEntities.put("€", "\u20AC"); + definedEntities.put("!", "\u0021"); + definedEntities.put("∃", "\u2203"); + definedEntities.put("ℰ", "\u2130"); + definedEntities.put("ⅇ", "\u2147"); + definedEntities.put("≒", "\u2252"); + definedEntities.put("ф", "\u0444"); + definedEntities.put("♀", "\u2640"); + definedEntities.put("ffi", "\uFB03"); + definedEntities.put("ff", "\uFB00"); + definedEntities.put("ffl", "\uFB04"); + definedEntities.put("𝔣", "\uD835\uDD23"); + definedEntities.put("fi", "\uFB01"); + definedEntities.put("fj", "\u0066\u006A"); + definedEntities.put("♭", "\u266D"); + definedEntities.put("fl", "\uFB02"); + definedEntities.put("▱", "\u25B1"); + definedEntities.put("ƒ", "\u0192"); + definedEntities.put("𝕗", "\uD835\uDD57"); + definedEntities.put("∀", "\u2200"); + definedEntities.put("⋔", "\u22D4"); + definedEntities.put("⫙", "\u2AD9"); + definedEntities.put("⨍", "\u2A0D"); + definedEntities.put("½", "\u00BD"); + definedEntities.put("⅓", "\u2153"); + definedEntities.put("¼", "\u00BC"); + definedEntities.put("⅕", "\u2155"); + definedEntities.put("⅙", "\u2159"); + definedEntities.put("⅛", "\u215B"); + definedEntities.put("⅔", "\u2154"); + definedEntities.put("⅖", "\u2156"); + definedEntities.put("¾", "\u00BE"); + definedEntities.put("⅗", "\u2157"); + definedEntities.put("⅜", "\u215C"); + definedEntities.put("⅘", "\u2158"); + definedEntities.put("⅚", "\u215A"); + definedEntities.put("⅝", "\u215D"); + definedEntities.put("⅞", "\u215E"); + definedEntities.put("⁄", "\u2044"); + definedEntities.put("⌢", "\u2322"); + definedEntities.put("𝒻", "\uD835\uDCBB"); + definedEntities.put("≧", "\u2267"); + definedEntities.put("⪌", "\u2A8C"); + definedEntities.put("ǵ", "\u01F5"); + definedEntities.put("γ", "\u03B3"); + definedEntities.put("ϝ", "\u03DD"); + definedEntities.put("⪆", "\u2A86"); + definedEntities.put("ğ", "\u011F"); + definedEntities.put("ĝ", "\u011D"); + definedEntities.put("г", "\u0433"); + definedEntities.put("ġ", "\u0121"); + definedEntities.put("≥", "\u2265"); + definedEntities.put("⋛", "\u22DB"); + definedEntities.put("≥", "\u2265"); + definedEntities.put("≧", "\u2267"); + definedEntities.put("⩾", "\u2A7E"); + definedEntities.put("⩾", "\u2A7E"); + definedEntities.put("⪩", "\u2AA9"); + definedEntities.put("⪀", "\u2A80"); + definedEntities.put("⪂", "\u2A82"); + definedEntities.put("⪄", "\u2A84"); + definedEntities.put("⋛︀", "\u22DB\uFE00"); + definedEntities.put("⪔", "\u2A94"); + definedEntities.put("𝔤", "\uD835\uDD24"); + definedEntities.put("≫", "\u226B"); + definedEntities.put("⋙", "\u22D9"); + definedEntities.put("ℷ", "\u2137"); + definedEntities.put("ѓ", "\u0453"); + definedEntities.put("≷", "\u2277"); + definedEntities.put("⪒", "\u2A92"); + definedEntities.put("⪥", "\u2AA5"); + definedEntities.put("⪤", "\u2AA4"); + definedEntities.put("≩", "\u2269"); + definedEntities.put("⪊", "\u2A8A"); + definedEntities.put("⪊", "\u2A8A"); + definedEntities.put("⪈", "\u2A88"); + definedEntities.put("⪈", "\u2A88"); + definedEntities.put("≩", "\u2269"); + definedEntities.put("⋧", "\u22E7"); + definedEntities.put("𝕘", "\uD835\uDD58"); + definedEntities.put("`", "\u0060"); + definedEntities.put("ℊ", "\u210A"); + definedEntities.put("≳", "\u2273"); + definedEntities.put("⪎", "\u2A8E"); + definedEntities.put("⪐", "\u2A90"); + definedEntities.put(">", "\u003E"); + definedEntities.put("⪧", "\u2AA7"); + definedEntities.put("⩺", "\u2A7A"); + definedEntities.put("⋗", "\u22D7"); + definedEntities.put("⦕", "\u2995"); + definedEntities.put("⩼", "\u2A7C"); + definedEntities.put("⪆", "\u2A86"); + definedEntities.put("⥸", "\u2978"); + definedEntities.put("⋗", "\u22D7"); + definedEntities.put("⋛", "\u22DB"); + definedEntities.put("⪌", "\u2A8C"); + definedEntities.put("≷", "\u2277"); + definedEntities.put("≳", "\u2273"); + definedEntities.put("≩︀", "\u2269\uFE00"); + definedEntities.put("≩︀", "\u2269\uFE00"); + definedEntities.put("⇔", "\u21D4"); + definedEntities.put(" ", "\u200A"); + definedEntities.put("½", "\u00BD"); + definedEntities.put("ℋ", "\u210B"); + definedEntities.put("ъ", "\u044A"); + definedEntities.put("↔", "\u2194"); + definedEntities.put("⥈", "\u2948"); + definedEntities.put("↭", "\u21AD"); + definedEntities.put("ℏ", "\u210F"); + definedEntities.put("ĥ", "\u0125"); + definedEntities.put("♥", "\u2665"); + definedEntities.put("♥", "\u2665"); + definedEntities.put("…", "\u2026"); + definedEntities.put("⊹", "\u22B9"); + definedEntities.put("𝔥", "\uD835\uDD25"); + definedEntities.put("⤥", "\u2925"); + definedEntities.put("⤦", "\u2926"); + definedEntities.put("⇿", "\u21FF"); + definedEntities.put("∻", "\u223B"); + definedEntities.put("↩", "\u21A9"); + definedEntities.put("↪", "\u21AA"); + definedEntities.put("𝕙", "\uD835\uDD59"); + definedEntities.put("―", "\u2015"); + definedEntities.put("𝒽", "\uD835\uDCBD"); + definedEntities.put("ℏ", "\u210F"); + definedEntities.put("ħ", "\u0127"); + definedEntities.put("⁃", "\u2043"); + definedEntities.put("‐", "\u2010"); + definedEntities.put("í", "\u00ED"); + definedEntities.put("⁣", "\u2063"); + definedEntities.put("î", "\u00EE"); + definedEntities.put("и", "\u0438"); + definedEntities.put("е", "\u0435"); + definedEntities.put("¡", "\u00A1"); + definedEntities.put("⇔", "\u21D4"); + definedEntities.put("𝔦", "\uD835\uDD26"); + definedEntities.put("ì", "\u00EC"); + definedEntities.put("ⅈ", "\u2148"); + definedEntities.put("⨌", "\u2A0C"); + definedEntities.put("∭", "\u222D"); + definedEntities.put("⧜", "\u29DC"); + definedEntities.put("℩", "\u2129"); + definedEntities.put("ij", "\u0133"); + definedEntities.put("ī", "\u012B"); + definedEntities.put("ℑ", "\u2111"); + definedEntities.put("ℐ", "\u2110"); + definedEntities.put("ℑ", "\u2111"); + definedEntities.put("ı", "\u0131"); + definedEntities.put("⊷", "\u22B7"); + definedEntities.put("Ƶ", "\u01B5"); + definedEntities.put("∈", "\u2208"); + definedEntities.put("℅", "\u2105"); + definedEntities.put("∞", "\u221E"); + definedEntities.put("⧝", "\u29DD"); + definedEntities.put("ı", "\u0131"); + definedEntities.put("∫", "\u222B"); + definedEntities.put("⊺", "\u22BA"); + definedEntities.put("ℤ", "\u2124"); + definedEntities.put("⊺", "\u22BA"); + definedEntities.put("⨗", "\u2A17"); + definedEntities.put("⨼", "\u2A3C"); + definedEntities.put("ё", "\u0451"); + definedEntities.put("į", "\u012F"); + definedEntities.put("𝕚", "\uD835\uDD5A"); + definedEntities.put("ι", "\u03B9"); + definedEntities.put("⨼", "\u2A3C"); + definedEntities.put("¿", "\u00BF"); + definedEntities.put("𝒾", "\uD835\uDCBE"); + definedEntities.put("∈", "\u2208"); + definedEntities.put("⋹", "\u22F9"); + definedEntities.put("⋵", "\u22F5"); + definedEntities.put("⋴", "\u22F4"); + definedEntities.put("⋳", "\u22F3"); + definedEntities.put("∈", "\u2208"); + definedEntities.put("⁢", "\u2062"); + definedEntities.put("ĩ", "\u0129"); + definedEntities.put("і", "\u0456"); + definedEntities.put("ï", "\u00EF"); + definedEntities.put("ĵ", "\u0135"); + definedEntities.put("й", "\u0439"); + definedEntities.put("𝔧", "\uD835\uDD27"); + definedEntities.put("ȷ", "\u0237"); + definedEntities.put("𝕛", "\uD835\uDD5B"); + definedEntities.put("𝒿", "\uD835\uDCBF"); + definedEntities.put("ј", "\u0458"); + definedEntities.put("є", "\u0454"); + definedEntities.put("κ", "\u03BA"); + definedEntities.put("ϰ", "\u03F0"); + definedEntities.put("ķ", "\u0137"); + definedEntities.put("к", "\u043A"); + definedEntities.put("𝔨", "\uD835\uDD28"); + definedEntities.put("ĸ", "\u0138"); + definedEntities.put("х", "\u0445"); + definedEntities.put("ќ", "\u045C"); + definedEntities.put("𝕜", "\uD835\uDD5C"); + definedEntities.put("𝓀", "\uD835\uDCC0"); + definedEntities.put("⇚", "\u21DA"); + definedEntities.put("⇐", "\u21D0"); + definedEntities.put("⤛", "\u291B"); + definedEntities.put("⤎", "\u290E"); + definedEntities.put("≦", "\u2266"); + definedEntities.put("⪋", "\u2A8B"); + definedEntities.put("⥢", "\u2962"); + definedEntities.put("ĺ", "\u013A"); + definedEntities.put("⦴", "\u29B4"); + definedEntities.put("ℒ", "\u2112"); + definedEntities.put("λ", "\u03BB"); + definedEntities.put("⟨", "\u27E8"); + definedEntities.put("⦑", "\u2991"); + definedEntities.put("⟨", "\u27E8"); + definedEntities.put("⪅", "\u2A85"); + definedEntities.put("«", "\u00AB"); + definedEntities.put("←", "\u2190"); + definedEntities.put("⇤", "\u21E4"); + definedEntities.put("⤟", "\u291F"); + definedEntities.put("⤝", "\u291D"); + definedEntities.put("↩", "\u21A9"); + definedEntities.put("↫", "\u21AB"); + definedEntities.put("⤹", "\u2939"); + definedEntities.put("⥳", "\u2973"); + definedEntities.put("↢", "\u21A2"); + definedEntities.put("⪫", "\u2AAB"); + definedEntities.put("⤙", "\u2919"); + definedEntities.put("⪭", "\u2AAD"); + definedEntities.put("⪭︀", "\u2AAD\uFE00"); + definedEntities.put("⤌", "\u290C"); + definedEntities.put("❲", "\u2772"); + definedEntities.put("{", "\u007B"); + definedEntities.put("[", "\u005B"); + definedEntities.put("⦋", "\u298B"); + definedEntities.put("⦏", "\u298F"); + definedEntities.put("⦍", "\u298D"); + definedEntities.put("ľ", "\u013E"); + definedEntities.put("ļ", "\u013C"); + definedEntities.put("⌈", "\u2308"); + definedEntities.put("{", "\u007B"); + definedEntities.put("л", "\u043B"); + definedEntities.put("⤶", "\u2936"); + definedEntities.put("“", "\u201C"); + definedEntities.put("„", "\u201E"); + definedEntities.put("⥧", "\u2967"); + definedEntities.put("⥋", "\u294B"); + definedEntities.put("↲", "\u21B2"); + definedEntities.put("≤", "\u2264"); + definedEntities.put("←", "\u2190"); + definedEntities.put("↢", "\u21A2"); + definedEntities.put("↽", "\u21BD"); + definedEntities.put("↼", "\u21BC"); + definedEntities.put("⇇", "\u21C7"); + definedEntities.put("↔", "\u2194"); + definedEntities.put("⇆", "\u21C6"); + definedEntities.put("⇋", "\u21CB"); + definedEntities.put("↭", "\u21AD"); + definedEntities.put("⋋", "\u22CB"); + definedEntities.put("⋚", "\u22DA"); + definedEntities.put("≤", "\u2264"); + definedEntities.put("≦", "\u2266"); + definedEntities.put("⩽", "\u2A7D"); + definedEntities.put("⩽", "\u2A7D"); + definedEntities.put("⪨", "\u2AA8"); + definedEntities.put("⩿", "\u2A7F"); + definedEntities.put("⪁", "\u2A81"); + definedEntities.put("⪃", "\u2A83"); + definedEntities.put("⋚︀", "\u22DA\uFE00"); + definedEntities.put("⪓", "\u2A93"); + definedEntities.put("⪅", "\u2A85"); + definedEntities.put("⋖", "\u22D6"); + definedEntities.put("⋚", "\u22DA"); + definedEntities.put("⪋", "\u2A8B"); + definedEntities.put("≶", "\u2276"); + definedEntities.put("≲", "\u2272"); + definedEntities.put("⥼", "\u297C"); + definedEntities.put("⌊", "\u230A"); + definedEntities.put("𝔩", "\uD835\uDD29"); + definedEntities.put("≶", "\u2276"); + definedEntities.put("⪑", "\u2A91"); + definedEntities.put("↽", "\u21BD"); + definedEntities.put("↼", "\u21BC"); + definedEntities.put("⥪", "\u296A"); + definedEntities.put("▄", "\u2584"); + definedEntities.put("љ", "\u0459"); + definedEntities.put("≪", "\u226A"); + definedEntities.put("⇇", "\u21C7"); + definedEntities.put("⌞", "\u231E"); + definedEntities.put("⥫", "\u296B"); + definedEntities.put("◺", "\u25FA"); + definedEntities.put("ŀ", "\u0140"); + definedEntities.put("⎰", "\u23B0"); + definedEntities.put("⎰", "\u23B0"); + definedEntities.put("≨", "\u2268"); + definedEntities.put("⪉", "\u2A89"); + definedEntities.put("⪉", "\u2A89"); + definedEntities.put("⪇", "\u2A87"); + definedEntities.put("⪇", "\u2A87"); + definedEntities.put("≨", "\u2268"); + definedEntities.put("⋦", "\u22E6"); + definedEntities.put("⟬", "\u27EC"); + definedEntities.put("⇽", "\u21FD"); + definedEntities.put("⟦", "\u27E6"); + definedEntities.put("⟵", "\u27F5"); + definedEntities.put("⟷", "\u27F7"); + definedEntities.put("⟼", "\u27FC"); + definedEntities.put("⟶", "\u27F6"); + definedEntities.put("↫", "\u21AB"); + definedEntities.put("↬", "\u21AC"); + definedEntities.put("⦅", "\u2985"); + definedEntities.put("𝕝", "\uD835\uDD5D"); + definedEntities.put("⨭", "\u2A2D"); + definedEntities.put("⨴", "\u2A34"); + definedEntities.put("∗", "\u2217"); + definedEntities.put("_", "\u005F"); + definedEntities.put("◊", "\u25CA"); + definedEntities.put("◊", "\u25CA"); + definedEntities.put("⧫", "\u29EB"); + definedEntities.put("(", "\u0028"); + definedEntities.put("⦓", "\u2993"); + definedEntities.put("⇆", "\u21C6"); + definedEntities.put("⌟", "\u231F"); + definedEntities.put("⇋", "\u21CB"); + definedEntities.put("⥭", "\u296D"); + definedEntities.put("‎", "\u200E"); + definedEntities.put("⊿", "\u22BF"); + definedEntities.put("‹", "\u2039"); + definedEntities.put("𝓁", "\uD835\uDCC1"); + definedEntities.put("↰", "\u21B0"); + definedEntities.put("≲", "\u2272"); + definedEntities.put("⪍", "\u2A8D"); + definedEntities.put("⪏", "\u2A8F"); + definedEntities.put("[", "\u005B"); + definedEntities.put("‘", "\u2018"); + definedEntities.put("‚", "\u201A"); + definedEntities.put("ł", "\u0142"); + definedEntities.put("<", "\u003C"); + definedEntities.put("⪦", "\u2AA6"); + definedEntities.put("⩹", "\u2A79"); + definedEntities.put("⋖", "\u22D6"); + definedEntities.put("⋋", "\u22CB"); + definedEntities.put("⋉", "\u22C9"); + definedEntities.put("⥶", "\u2976"); + definedEntities.put("⩻", "\u2A7B"); + definedEntities.put("⦖", "\u2996"); + definedEntities.put("◃", "\u25C3"); + definedEntities.put("⊴", "\u22B4"); + definedEntities.put("◂", "\u25C2"); + definedEntities.put("⥊", "\u294A"); + definedEntities.put("⥦", "\u2966"); + definedEntities.put("≨︀", "\u2268\uFE00"); + definedEntities.put("≨︀", "\u2268\uFE00"); + definedEntities.put("∺", "\u223A"); + definedEntities.put("¯", "\u00AF"); + definedEntities.put("♂", "\u2642"); + definedEntities.put("✠", "\u2720"); + definedEntities.put("✠", "\u2720"); + definedEntities.put("↦", "\u21A6"); + definedEntities.put("↦", "\u21A6"); + definedEntities.put("↧", "\u21A7"); + definedEntities.put("↤", "\u21A4"); + definedEntities.put("↥", "\u21A5"); + definedEntities.put("▮", "\u25AE"); + definedEntities.put("⨩", "\u2A29"); + definedEntities.put("м", "\u043C"); + definedEntities.put("—", "\u2014"); + definedEntities.put("∡", "\u2221"); + definedEntities.put("𝔪", "\uD835\uDD2A"); + definedEntities.put("℧", "\u2127"); + definedEntities.put("µ", "\u00B5"); + definedEntities.put("∣", "\u2223"); + definedEntities.put("*", "\u002A"); + definedEntities.put("⫰", "\u2AF0"); + definedEntities.put("·", "\u00B7"); + definedEntities.put("−", "\u2212"); + definedEntities.put("⊟", "\u229F"); + definedEntities.put("∸", "\u2238"); + definedEntities.put("⨪", "\u2A2A"); + definedEntities.put("⫛", "\u2ADB"); + definedEntities.put("…", "\u2026"); + definedEntities.put("∓", "\u2213"); + definedEntities.put("⊧", "\u22A7"); + definedEntities.put("𝕞", "\uD835\uDD5E"); + definedEntities.put("∓", "\u2213"); + definedEntities.put("𝓂", "\uD835\uDCC2"); + definedEntities.put("∾", "\u223E"); + definedEntities.put("μ", "\u03BC"); + definedEntities.put("⊸", "\u22B8"); + definedEntities.put("⊸", "\u22B8"); + definedEntities.put("⋙̸", "\u22D9\u0338"); + definedEntities.put("≫⃒", "\u226B\u20D2"); + definedEntities.put("≫̸", "\u226B\u0338"); + definedEntities.put("⇍", "\u21CD"); + definedEntities.put("⇎", "\u21CE"); + definedEntities.put("⋘̸", "\u22D8\u0338"); + definedEntities.put("≪⃒", "\u226A\u20D2"); + definedEntities.put("≪̸", "\u226A\u0338"); + definedEntities.put("⇏", "\u21CF"); + definedEntities.put("⊯", "\u22AF"); + definedEntities.put("⊮", "\u22AE"); + definedEntities.put("∇", "\u2207"); + definedEntities.put("ń", "\u0144"); + definedEntities.put("∠⃒", "\u2220\u20D2"); + definedEntities.put("≉", "\u2249"); + definedEntities.put("⩰̸", "\u2A70\u0338"); + definedEntities.put("≋̸", "\u224B\u0338"); + definedEntities.put("ʼn", "\u0149"); + definedEntities.put("≉", "\u2249"); + definedEntities.put("♮", "\u266E"); + definedEntities.put("♮", "\u266E"); + definedEntities.put("ℕ", "\u2115"); + definedEntities.put(" ", "\u00A0"); + definedEntities.put("≎̸", "\u224E\u0338"); + definedEntities.put("≏̸", "\u224F\u0338"); + definedEntities.put("⩃", "\u2A43"); + definedEntities.put("ň", "\u0148"); + definedEntities.put("ņ", "\u0146"); + definedEntities.put("≇", "\u2247"); + definedEntities.put("⩭̸", "\u2A6D\u0338"); + definedEntities.put("⩂", "\u2A42"); + definedEntities.put("н", "\u043D"); + definedEntities.put("–", "\u2013"); + definedEntities.put("≠", "\u2260"); + definedEntities.put("⇗", "\u21D7"); + definedEntities.put("⤤", "\u2924"); + definedEntities.put("↗", "\u2197"); + definedEntities.put("↗", "\u2197"); + definedEntities.put("≐̸", "\u2250\u0338"); + definedEntities.put("≢", "\u2262"); + definedEntities.put("⤨", "\u2928"); + definedEntities.put("≂̸", "\u2242\u0338"); + definedEntities.put("∄", "\u2204"); + definedEntities.put("∄", "\u2204"); + definedEntities.put("𝔫", "\uD835\uDD2B"); + definedEntities.put("≧̸", "\u2267\u0338"); + definedEntities.put("≱", "\u2271"); + definedEntities.put("≱", "\u2271"); + definedEntities.put("≧̸", "\u2267\u0338"); + definedEntities.put("⩾̸", "\u2A7E\u0338"); + definedEntities.put("⩾̸", "\u2A7E\u0338"); + definedEntities.put("≵", "\u2275"); + definedEntities.put("≯", "\u226F"); + definedEntities.put("≯", "\u226F"); + definedEntities.put("⇎", "\u21CE"); + definedEntities.put("↮", "\u21AE"); + definedEntities.put("⫲", "\u2AF2"); + definedEntities.put("∋", "\u220B"); + definedEntities.put("⋼", "\u22FC"); + definedEntities.put("⋺", "\u22FA"); + definedEntities.put("∋", "\u220B"); + definedEntities.put("њ", "\u045A"); + definedEntities.put("⇍", "\u21CD"); + definedEntities.put("≦̸", "\u2266\u0338"); + definedEntities.put("↚", "\u219A"); + definedEntities.put("‥", "\u2025"); + definedEntities.put("≰", "\u2270"); + definedEntities.put("↚", "\u219A"); + definedEntities.put("↮", "\u21AE"); + definedEntities.put("≰", "\u2270"); + definedEntities.put("≦̸", "\u2266\u0338"); + definedEntities.put("⩽̸", "\u2A7D\u0338"); + definedEntities.put("⩽̸", "\u2A7D\u0338"); + definedEntities.put("≮", "\u226E"); + definedEntities.put("≴", "\u2274"); + definedEntities.put("≮", "\u226E"); + definedEntities.put("⋪", "\u22EA"); + definedEntities.put("⋬", "\u22EC"); + definedEntities.put("∤", "\u2224"); + definedEntities.put("𝕟", "\uD835\uDD5F"); + definedEntities.put("¬", "\u00AC"); + definedEntities.put("∉", "\u2209"); + definedEntities.put("⋹̸", "\u22F9\u0338"); + definedEntities.put("⋵̸", "\u22F5\u0338"); + definedEntities.put("∉", "\u2209"); + definedEntities.put("⋷", "\u22F7"); + definedEntities.put("⋶", "\u22F6"); + definedEntities.put("∌", "\u220C"); + definedEntities.put("∌", "\u220C"); + definedEntities.put("⋾", "\u22FE"); + definedEntities.put("⋽", "\u22FD"); + definedEntities.put("∦", "\u2226"); + definedEntities.put("∦", "\u2226"); + definedEntities.put("⫽⃥", "\u2AFD\u20E5"); + definedEntities.put("∂̸", "\u2202\u0338"); + definedEntities.put("⨔", "\u2A14"); + definedEntities.put("⊀", "\u2280"); + definedEntities.put("⋠", "\u22E0"); + definedEntities.put("⪯̸", "\u2AAF\u0338"); + definedEntities.put("⊀", "\u2280"); + definedEntities.put("⪯̸", "\u2AAF\u0338"); + definedEntities.put("⇏", "\u21CF"); + definedEntities.put("↛", "\u219B"); + definedEntities.put("⤳̸", "\u2933\u0338"); + definedEntities.put("↝̸", "\u219D\u0338"); + definedEntities.put("↛", "\u219B"); + definedEntities.put("⋫", "\u22EB"); + definedEntities.put("⋭", "\u22ED"); + definedEntities.put("⊁", "\u2281"); + definedEntities.put("⋡", "\u22E1"); + definedEntities.put("⪰̸", "\u2AB0\u0338"); + definedEntities.put("𝓃", "\uD835\uDCC3"); + definedEntities.put("∤", "\u2224"); + definedEntities.put("∦", "\u2226"); + definedEntities.put("≁", "\u2241"); + definedEntities.put("≄", "\u2244"); + definedEntities.put("≄", "\u2244"); + definedEntities.put("∤", "\u2224"); + definedEntities.put("∦", "\u2226"); + definedEntities.put("⋢", "\u22E2"); + definedEntities.put("⋣", "\u22E3"); + definedEntities.put("⊄", "\u2284"); + definedEntities.put("⫅̸", "\u2AC5\u0338"); + definedEntities.put("⊈", "\u2288"); + definedEntities.put("⊂⃒", "\u2282\u20D2"); + definedEntities.put("⊈", "\u2288"); + definedEntities.put("⫅̸", "\u2AC5\u0338"); + definedEntities.put("⊁", "\u2281"); + definedEntities.put("⪰̸", "\u2AB0\u0338"); + definedEntities.put("⊅", "\u2285"); + definedEntities.put("⫆̸", "\u2AC6\u0338"); + definedEntities.put("⊉", "\u2289"); + definedEntities.put("⊃⃒", "\u2283\u20D2"); + definedEntities.put("⊉", "\u2289"); + definedEntities.put("⫆̸", "\u2AC6\u0338"); + definedEntities.put("≹", "\u2279"); + definedEntities.put("ñ", "\u00F1"); + definedEntities.put("≸", "\u2278"); + definedEntities.put("⋪", "\u22EA"); + definedEntities.put("⋬", "\u22EC"); + definedEntities.put("⋫", "\u22EB"); + definedEntities.put("⋭", "\u22ED"); + definedEntities.put("ν", "\u03BD"); + definedEntities.put("#", "\u0023"); + definedEntities.put("№", "\u2116"); + definedEntities.put(" ", "\u2007"); + definedEntities.put("⊭", "\u22AD"); + definedEntities.put("⤄", "\u2904"); + definedEntities.put("≍⃒", "\u224D\u20D2"); + definedEntities.put("⊬", "\u22AC"); + definedEntities.put("≥⃒", "\u2265\u20D2"); + definedEntities.put(">⃒", "\u003E\u20D2"); + definedEntities.put("⧞", "\u29DE"); + definedEntities.put("⤂", "\u2902"); + definedEntities.put("≤⃒", "\u2264\u20D2"); + definedEntities.put("<⃒", "\u003C\u20D2"); + definedEntities.put("⊴⃒", "\u22B4\u20D2"); + definedEntities.put("⤃", "\u2903"); + definedEntities.put("⊵⃒", "\u22B5\u20D2"); + definedEntities.put("∼⃒", "\u223C\u20D2"); + definedEntities.put("⇖", "\u21D6"); + definedEntities.put("⤣", "\u2923"); + definedEntities.put("↖", "\u2196"); + definedEntities.put("↖", "\u2196"); + definedEntities.put("⤧", "\u2927"); + definedEntities.put("Ⓢ", "\u24C8"); + definedEntities.put("ó", "\u00F3"); + definedEntities.put("⊛", "\u229B"); + definedEntities.put("⊚", "\u229A"); + definedEntities.put("ô", "\u00F4"); + definedEntities.put("о", "\u043E"); + definedEntities.put("⊝", "\u229D"); + definedEntities.put("ő", "\u0151"); + definedEntities.put("⨸", "\u2A38"); + definedEntities.put("⊙", "\u2299"); + definedEntities.put("⦼", "\u29BC"); + definedEntities.put("œ", "\u0153"); + definedEntities.put("⦿", "\u29BF"); + definedEntities.put("𝔬", "\uD835\uDD2C"); + definedEntities.put("˛", "\u02DB"); + definedEntities.put("ò", "\u00F2"); + definedEntities.put("⧁", "\u29C1"); + definedEntities.put("⦵", "\u29B5"); + definedEntities.put("Ω", "\u03A9"); + definedEntities.put("∮", "\u222E"); + definedEntities.put("↺", "\u21BA"); + definedEntities.put("⦾", "\u29BE"); + definedEntities.put("⦻", "\u29BB"); + definedEntities.put("‾", "\u203E"); + definedEntities.put("⧀", "\u29C0"); + definedEntities.put("ō", "\u014D"); + definedEntities.put("ω", "\u03C9"); + definedEntities.put("ο", "\u03BF"); + definedEntities.put("⦶", "\u29B6"); + definedEntities.put("⊖", "\u2296"); + definedEntities.put("𝕠", "\uD835\uDD60"); + definedEntities.put("⦷", "\u29B7"); + definedEntities.put("⦹", "\u29B9"); + definedEntities.put("⊕", "\u2295"); + definedEntities.put("∨", "\u2228"); + definedEntities.put("↻", "\u21BB"); + definedEntities.put("⩝", "\u2A5D"); + definedEntities.put("ℴ", "\u2134"); + definedEntities.put("ℴ", "\u2134"); + definedEntities.put("ª", "\u00AA"); + definedEntities.put("º", "\u00BA"); + definedEntities.put("⊶", "\u22B6"); + definedEntities.put("⩖", "\u2A56"); + definedEntities.put("⩗", "\u2A57"); + definedEntities.put("⩛", "\u2A5B"); + definedEntities.put("ℴ", "\u2134"); + definedEntities.put("ø", "\u00F8"); + definedEntities.put("⊘", "\u2298"); + definedEntities.put("õ", "\u00F5"); + definedEntities.put("⊗", "\u2297"); + definedEntities.put("⨶", "\u2A36"); + definedEntities.put("ö", "\u00F6"); + definedEntities.put("⌽", "\u233D"); + definedEntities.put("∥", "\u2225"); + definedEntities.put("¶", "\u00B6"); + definedEntities.put("∥", "\u2225"); + definedEntities.put("⫳", "\u2AF3"); + definedEntities.put("⫽", "\u2AFD"); + definedEntities.put("∂", "\u2202"); + definedEntities.put("п", "\u043F"); + definedEntities.put("%", "\u0025"); + definedEntities.put(".", "\u002E"); + definedEntities.put("‰", "\u2030"); + definedEntities.put("⊥", "\u22A5"); + definedEntities.put("‱", "\u2031"); + definedEntities.put("𝔭", "\uD835\uDD2D"); + definedEntities.put("φ", "\u03C6"); + definedEntities.put("ϕ", "\u03D5"); + definedEntities.put("ℳ", "\u2133"); + definedEntities.put("☎", "\u260E"); + definedEntities.put("π", "\u03C0"); + definedEntities.put("⋔", "\u22D4"); + definedEntities.put("ϖ", "\u03D6"); + definedEntities.put("ℏ", "\u210F"); + definedEntities.put("ℎ", "\u210E"); + definedEntities.put("ℏ", "\u210F"); + definedEntities.put("+", "\u002B"); + definedEntities.put("⨣", "\u2A23"); + definedEntities.put("⊞", "\u229E"); + definedEntities.put("⨢", "\u2A22"); + definedEntities.put("∔", "\u2214"); + definedEntities.put("⨥", "\u2A25"); + definedEntities.put("⩲", "\u2A72"); + definedEntities.put("±", "\u00B1"); + definedEntities.put("⨦", "\u2A26"); + definedEntities.put("⨧", "\u2A27"); + definedEntities.put("±", "\u00B1"); + definedEntities.put("⨕", "\u2A15"); + definedEntities.put("𝕡", "\uD835\uDD61"); + definedEntities.put("£", "\u00A3"); + definedEntities.put("≺", "\u227A"); + definedEntities.put("⪳", "\u2AB3"); + definedEntities.put("⪷", "\u2AB7"); + definedEntities.put("≼", "\u227C"); + definedEntities.put("⪯", "\u2AAF"); + definedEntities.put("≺", "\u227A"); + definedEntities.put("⪷", "\u2AB7"); + definedEntities.put("≼", "\u227C"); + definedEntities.put("⪯", "\u2AAF"); + definedEntities.put("⪹", "\u2AB9"); + definedEntities.put("⪵", "\u2AB5"); + definedEntities.put("⋨", "\u22E8"); + definedEntities.put("≾", "\u227E"); + definedEntities.put("′", "\u2032"); + definedEntities.put("ℙ", "\u2119"); + definedEntities.put("⪵", "\u2AB5"); + definedEntities.put("⪹", "\u2AB9"); + definedEntities.put("⋨", "\u22E8"); + definedEntities.put("∏", "\u220F"); + definedEntities.put("⌮", "\u232E"); + definedEntities.put("⌒", "\u2312"); + definedEntities.put("⌓", "\u2313"); + definedEntities.put("∝", "\u221D"); + definedEntities.put("∝", "\u221D"); + definedEntities.put("≾", "\u227E"); + definedEntities.put("⊰", "\u22B0"); + definedEntities.put("𝓅", "\uD835\uDCC5"); + definedEntities.put("ψ", "\u03C8"); + definedEntities.put(" ", "\u2008"); + definedEntities.put("𝔮", "\uD835\uDD2E"); + definedEntities.put("⨌", "\u2A0C"); + definedEntities.put("𝕢", "\uD835\uDD62"); + definedEntities.put("⁗", "\u2057"); + definedEntities.put("𝓆", "\uD835\uDCC6"); + definedEntities.put("ℍ", "\u210D"); + definedEntities.put("⨖", "\u2A16"); + definedEntities.put("?", "\u003F"); + definedEntities.put("≟", "\u225F"); + definedEntities.put(""", "\\u0022"); + definedEntities.put("⇛", "\u21DB"); + definedEntities.put("⇒", "\u21D2"); + definedEntities.put("⤜", "\u291C"); + definedEntities.put("⤏", "\u290F"); + definedEntities.put("⥤", "\u2964"); + definedEntities.put("∽̱", "\u223D\u0331"); + definedEntities.put("ŕ", "\u0155"); + definedEntities.put("√", "\u221A"); + definedEntities.put("⦳", "\u29B3"); + definedEntities.put("⟩", "\u27E9"); + definedEntities.put("⦒", "\u2992"); + definedEntities.put("⦥", "\u29A5"); + definedEntities.put("⟩", "\u27E9"); + definedEntities.put("»", "\u00BB"); + definedEntities.put("→", "\u2192"); + definedEntities.put("⥵", "\u2975"); + definedEntities.put("⇥", "\u21E5"); + definedEntities.put("⤠", "\u2920"); + definedEntities.put("⤳", "\u2933"); + definedEntities.put("⤞", "\u291E"); + definedEntities.put("↪", "\u21AA"); + definedEntities.put("↬", "\u21AC"); + definedEntities.put("⥅", "\u2945"); + definedEntities.put("⥴", "\u2974"); + definedEntities.put("↣", "\u21A3"); + definedEntities.put("↝", "\u219D"); + definedEntities.put("⤚", "\u291A"); + definedEntities.put("∶", "\u2236"); + definedEntities.put("ℚ", "\u211A"); + definedEntities.put("⤍", "\u290D"); + definedEntities.put("❳", "\u2773"); + definedEntities.put("}", "\u007D"); + definedEntities.put("]", "\u005D"); + definedEntities.put("⦌", "\u298C"); + definedEntities.put("⦎", "\u298E"); + definedEntities.put("⦐", "\u2990"); + definedEntities.put("ř", "\u0159"); + definedEntities.put("ŗ", "\u0157"); + definedEntities.put("⌉", "\u2309"); + definedEntities.put("}", "\u007D"); + definedEntities.put("р", "\u0440"); + definedEntities.put("⤷", "\u2937"); + definedEntities.put("⥩", "\u2969"); + definedEntities.put("”", "\u201D"); + definedEntities.put("”", "\u201D"); + definedEntities.put("↳", "\u21B3"); + definedEntities.put("ℜ", "\u211C"); + definedEntities.put("ℛ", "\u211B"); + definedEntities.put("ℜ", "\u211C"); + definedEntities.put("ℝ", "\u211D"); + definedEntities.put("▭", "\u25AD"); + definedEntities.put("®", "\u00AE"); + definedEntities.put("⥽", "\u297D"); + definedEntities.put("⌋", "\u230B"); + definedEntities.put("𝔯", "\uD835\uDD2F"); + definedEntities.put("⇁", "\u21C1"); + definedEntities.put("⇀", "\u21C0"); + definedEntities.put("⥬", "\u296C"); + definedEntities.put("ρ", "\u03C1"); + definedEntities.put("ϱ", "\u03F1"); + definedEntities.put("→", "\u2192"); + definedEntities.put("↣", "\u21A3"); + definedEntities.put("⇁", "\u21C1"); + definedEntities.put("⇀", "\u21C0"); + definedEntities.put("⇄", "\u21C4"); + definedEntities.put("⇌", "\u21CC"); + definedEntities.put("⇉", "\u21C9"); + definedEntities.put("↝", "\u219D"); + definedEntities.put("⋌", "\u22CC"); + definedEntities.put("˚", "\u02DA"); + definedEntities.put("≓", "\u2253"); + definedEntities.put("⇄", "\u21C4"); + definedEntities.put("⇌", "\u21CC"); + definedEntities.put("‏", "\u200F"); + definedEntities.put("⎱", "\u23B1"); + definedEntities.put("⎱", "\u23B1"); + definedEntities.put("⫮", "\u2AEE"); + definedEntities.put("⟭", "\u27ED"); + definedEntities.put("⇾", "\u21FE"); + definedEntities.put("⟧", "\u27E7"); + definedEntities.put("⦆", "\u2986"); + definedEntities.put("𝕣", "\uD835\uDD63"); + definedEntities.put("⨮", "\u2A2E"); + definedEntities.put("⨵", "\u2A35"); + definedEntities.put(")", "\u0029"); + definedEntities.put("⦔", "\u2994"); + definedEntities.put("⨒", "\u2A12"); + definedEntities.put("⇉", "\u21C9"); + definedEntities.put("›", "\u203A"); + definedEntities.put("𝓇", "\uD835\uDCC7"); + definedEntities.put("↱", "\u21B1"); + definedEntities.put("]", "\u005D"); + definedEntities.put("’", "\u2019"); + definedEntities.put("’", "\u2019"); + definedEntities.put("⋌", "\u22CC"); + definedEntities.put("⋊", "\u22CA"); + definedEntities.put("▹", "\u25B9"); + definedEntities.put("⊵", "\u22B5"); + definedEntities.put("▸", "\u25B8"); + definedEntities.put("⧎", "\u29CE"); + definedEntities.put("⥨", "\u2968"); + definedEntities.put("℞", "\u211E"); + definedEntities.put("ś", "\u015B"); + definedEntities.put("‚", "\u201A"); + definedEntities.put("≻", "\u227B"); + definedEntities.put("⪴", "\u2AB4"); + definedEntities.put("⪸", "\u2AB8"); + definedEntities.put("š", "\u0161"); + definedEntities.put("≽", "\u227D"); + definedEntities.put("⪰", "\u2AB0"); + definedEntities.put("ş", "\u015F"); + definedEntities.put("ŝ", "\u015D"); + definedEntities.put("⪶", "\u2AB6"); + definedEntities.put("⪺", "\u2ABA"); + definedEntities.put("⋩", "\u22E9"); + definedEntities.put("⨓", "\u2A13"); + definedEntities.put("≿", "\u227F"); + definedEntities.put("с", "\u0441"); + definedEntities.put("⋅", "\u22C5"); + definedEntities.put("⊡", "\u22A1"); + definedEntities.put("⩦", "\u2A66"); + definedEntities.put("⇘", "\u21D8"); + definedEntities.put("⤥", "\u2925"); + definedEntities.put("↘", "\u2198"); + definedEntities.put("↘", "\u2198"); + definedEntities.put("§", "\u00A7"); + definedEntities.put(";", "\u003B"); + definedEntities.put("⤩", "\u2929"); + definedEntities.put("∖", "\u2216"); + definedEntities.put("∖", "\u2216"); + definedEntities.put("✶", "\u2736"); + definedEntities.put("𝔰", "\uD835\uDD30"); + definedEntities.put("⌢", "\u2322"); + definedEntities.put("♯", "\u266F"); + definedEntities.put("щ", "\u0449"); + definedEntities.put("ш", "\u0448"); + definedEntities.put("∣", "\u2223"); + definedEntities.put("∥", "\u2225"); + definedEntities.put("­", "\u00AD"); + definedEntities.put("σ", "\u03C3"); + definedEntities.put("ς", "\u03C2"); + definedEntities.put("ς", "\u03C2"); + definedEntities.put("∼", "\u223C"); + definedEntities.put("⩪", "\u2A6A"); + definedEntities.put("≃", "\u2243"); + definedEntities.put("≃", "\u2243"); + definedEntities.put("⪞", "\u2A9E"); + definedEntities.put("⪠", "\u2AA0"); + definedEntities.put("⪝", "\u2A9D"); + definedEntities.put("⪟", "\u2A9F"); + definedEntities.put("≆", "\u2246"); + definedEntities.put("⨤", "\u2A24"); + definedEntities.put("⥲", "\u2972"); + definedEntities.put("←", "\u2190"); + definedEntities.put("∖", "\u2216"); + definedEntities.put("⨳", "\u2A33"); + definedEntities.put("⧤", "\u29E4"); + definedEntities.put("∣", "\u2223"); + definedEntities.put("⌣", "\u2323"); + definedEntities.put("⪪", "\u2AAA"); + definedEntities.put("⪬", "\u2AAC"); + definedEntities.put("⪬︀", "\u2AAC\uFE00"); + definedEntities.put("ь", "\u044C"); + definedEntities.put("/", "\u002F"); + definedEntities.put("⧄", "\u29C4"); + definedEntities.put("⌿", "\u233F"); + definedEntities.put("𝕤", "\uD835\uDD64"); + definedEntities.put("♠", "\u2660"); + definedEntities.put("♠", "\u2660"); + definedEntities.put("∥", "\u2225"); + definedEntities.put("⊓", "\u2293"); + definedEntities.put("⊓︀", "\u2293\uFE00"); + definedEntities.put("⊔", "\u2294"); + definedEntities.put("⊔︀", "\u2294\uFE00"); + definedEntities.put("⊏", "\u228F"); + definedEntities.put("⊑", "\u2291"); + definedEntities.put("⊏", "\u228F"); + definedEntities.put("⊑", "\u2291"); + definedEntities.put("⊐", "\u2290"); + definedEntities.put("⊒", "\u2292"); + definedEntities.put("⊐", "\u2290"); + definedEntities.put("⊒", "\u2292"); + definedEntities.put("□", "\u25A1"); + definedEntities.put("□", "\u25A1"); + definedEntities.put("▪", "\u25AA"); + definedEntities.put("▪", "\u25AA"); + definedEntities.put("→", "\u2192"); + definedEntities.put("𝓈", "\uD835\uDCC8"); + definedEntities.put("∖", "\u2216"); + definedEntities.put("⌣", "\u2323"); + definedEntities.put("⋆", "\u22C6"); + definedEntities.put("☆", "\u2606"); + definedEntities.put("★", "\u2605"); + definedEntities.put("ϵ", "\u03F5"); + definedEntities.put("ϕ", "\u03D5"); + definedEntities.put("¯", "\u00AF"); + definedEntities.put("⊂", "\u2282"); + definedEntities.put("⫅", "\u2AC5"); + definedEntities.put("⪽", "\u2ABD"); + definedEntities.put("⊆", "\u2286"); + definedEntities.put("⫃", "\u2AC3"); + definedEntities.put("⫁", "\u2AC1"); + definedEntities.put("⫋", "\u2ACB"); + definedEntities.put("⊊", "\u228A"); + definedEntities.put("⪿", "\u2ABF"); + definedEntities.put("⥹", "\u2979"); + definedEntities.put("⊂", "\u2282"); + definedEntities.put("⊆", "\u2286"); + definedEntities.put("⫅", "\u2AC5"); + definedEntities.put("⊊", "\u228A"); + definedEntities.put("⫋", "\u2ACB"); + definedEntities.put("⫇", "\u2AC7"); + definedEntities.put("⫕", "\u2AD5"); + definedEntities.put("⫓", "\u2AD3"); + definedEntities.put("≻", "\u227B"); + definedEntities.put("⪸", "\u2AB8"); + definedEntities.put("≽", "\u227D"); + definedEntities.put("⪰", "\u2AB0"); + definedEntities.put("⪺", "\u2ABA"); + definedEntities.put("⪶", "\u2AB6"); + definedEntities.put("⋩", "\u22E9"); + definedEntities.put("≿", "\u227F"); + definedEntities.put("∑", "\u2211"); + definedEntities.put("♪", "\u266A"); + definedEntities.put("¹", "\u00B9"); + definedEntities.put("²", "\u00B2"); + definedEntities.put("³", "\u00B3"); + definedEntities.put("⊃", "\u2283"); + definedEntities.put("⫆", "\u2AC6"); + definedEntities.put("⪾", "\u2ABE"); + definedEntities.put("⫘", "\u2AD8"); + definedEntities.put("⊇", "\u2287"); + definedEntities.put("⫄", "\u2AC4"); + definedEntities.put("⟉", "\u27C9"); + definedEntities.put("⫗", "\u2AD7"); + definedEntities.put("⥻", "\u297B"); + definedEntities.put("⫂", "\u2AC2"); + definedEntities.put("⫌", "\u2ACC"); + definedEntities.put("⊋", "\u228B"); + definedEntities.put("⫀", "\u2AC0"); + definedEntities.put("⊃", "\u2283"); + definedEntities.put("⊇", "\u2287"); + definedEntities.put("⫆", "\u2AC6"); + definedEntities.put("⊋", "\u228B"); + definedEntities.put("⫌", "\u2ACC"); + definedEntities.put("⫈", "\u2AC8"); + definedEntities.put("⫔", "\u2AD4"); + definedEntities.put("⫖", "\u2AD6"); + definedEntities.put("⇙", "\u21D9"); + definedEntities.put("⤦", "\u2926"); + definedEntities.put("↙", "\u2199"); + definedEntities.put("↙", "\u2199"); + definedEntities.put("⤪", "\u292A"); + definedEntities.put("ß", "\u00DF"); + definedEntities.put("⌖", "\u2316"); + definedEntities.put("τ", "\u03C4"); + definedEntities.put("⎴", "\u23B4"); + definedEntities.put("ť", "\u0165"); + definedEntities.put("ţ", "\u0163"); + definedEntities.put("т", "\u0442"); + definedEntities.put("⃛", "\u20DB"); + definedEntities.put("⌕", "\u2315"); + definedEntities.put("𝔱", "\uD835\uDD31"); + definedEntities.put("∴", "\u2234"); + definedEntities.put("∴", "\u2234"); + definedEntities.put("θ", "\u03B8"); + definedEntities.put("ϑ", "\u03D1"); + definedEntities.put("ϑ", "\u03D1"); + definedEntities.put("≈", "\u2248"); + definedEntities.put("∼", "\u223C"); + definedEntities.put(" ", "\u2009"); + definedEntities.put("≈", "\u2248"); + definedEntities.put("∼", "\u223C"); + definedEntities.put("þ", "\u00FE"); + definedEntities.put("˜", "\u02DC"); + definedEntities.put("×", "\u00D7"); + definedEntities.put("⊠", "\u22A0"); + definedEntities.put("⨱", "\u2A31"); + definedEntities.put("⨰", "\u2A30"); + definedEntities.put("∭", "\u222D"); + definedEntities.put("⤨", "\u2928"); + definedEntities.put("⊤", "\u22A4"); + definedEntities.put("⌶", "\u2336"); + definedEntities.put("⫱", "\u2AF1"); + definedEntities.put("𝕥", "\uD835\uDD65"); + definedEntities.put("⫚", "\u2ADA"); + definedEntities.put("⤩", "\u2929"); + definedEntities.put("‴", "\u2034"); + definedEntities.put("™", "\u2122"); + definedEntities.put("▵", "\u25B5"); + definedEntities.put("▿", "\u25BF"); + definedEntities.put("◃", "\u25C3"); + definedEntities.put("⊴", "\u22B4"); + definedEntities.put("≜", "\u225C"); + definedEntities.put("▹", "\u25B9"); + definedEntities.put("⊵", "\u22B5"); + definedEntities.put("◬", "\u25EC"); + definedEntities.put("≜", "\u225C"); + definedEntities.put("⨺", "\u2A3A"); + definedEntities.put("⨹", "\u2A39"); + definedEntities.put("⧍", "\u29CD"); + definedEntities.put("⨻", "\u2A3B"); + definedEntities.put("⏢", "\u23E2"); + definedEntities.put("𝓉", "\uD835\uDCC9"); + definedEntities.put("ц", "\u0446"); + definedEntities.put("ћ", "\u045B"); + definedEntities.put("ŧ", "\u0167"); + definedEntities.put("≬", "\u226C"); + definedEntities.put("↞", "\u219E"); + definedEntities.put("↠", "\u21A0"); + definedEntities.put("⇑", "\u21D1"); + definedEntities.put("⥣", "\u2963"); + definedEntities.put("ú", "\u00FA"); + definedEntities.put("↑", "\u2191"); + definedEntities.put("ў", "\u045E"); + definedEntities.put("ŭ", "\u016D"); + definedEntities.put("û", "\u00FB"); + definedEntities.put("у", "\u0443"); + definedEntities.put("⇅", "\u21C5"); + definedEntities.put("ű", "\u0171"); + definedEntities.put("⥮", "\u296E"); + definedEntities.put("⥾", "\u297E"); + definedEntities.put("𝔲", "\uD835\uDD32"); + definedEntities.put("ù", "\u00F9"); + definedEntities.put("↿", "\u21BF"); + definedEntities.put("↾", "\u21BE"); + definedEntities.put("▀", "\u2580"); + definedEntities.put("⌜", "\u231C"); + definedEntities.put("⌜", "\u231C"); + definedEntities.put("⌏", "\u230F"); + definedEntities.put("◸", "\u25F8"); + definedEntities.put("ū", "\u016B"); + definedEntities.put("¨", "\u00A8"); + definedEntities.put("ų", "\u0173"); + definedEntities.put("𝕦", "\uD835\uDD66"); + definedEntities.put("↑", "\u2191"); + definedEntities.put("↕", "\u2195"); + definedEntities.put("↿", "\u21BF"); + definedEntities.put("↾", "\u21BE"); + definedEntities.put("⊎", "\u228E"); + definedEntities.put("υ", "\u03C5"); + definedEntities.put("ϒ", "\u03D2"); + definedEntities.put("υ", "\u03C5"); + definedEntities.put("⇈", "\u21C8"); + definedEntities.put("⌝", "\u231D"); + definedEntities.put("⌝", "\u231D"); + definedEntities.put("⌎", "\u230E"); + definedEntities.put("ů", "\u016F"); + definedEntities.put("◹", "\u25F9"); + definedEntities.put("𝓊", "\uD835\uDCCA"); + definedEntities.put("⋰", "\u22F0"); + definedEntities.put("ũ", "\u0169"); + definedEntities.put("▵", "\u25B5"); + definedEntities.put("▴", "\u25B4"); + definedEntities.put("⇈", "\u21C8"); + definedEntities.put("ü", "\u00FC"); + definedEntities.put("⦧", "\u29A7"); + definedEntities.put("⇕", "\u21D5"); + definedEntities.put("⫨", "\u2AE8"); + definedEntities.put("⫩", "\u2AE9"); + definedEntities.put("⊨", "\u22A8"); + definedEntities.put("⦜", "\u299C"); + definedEntities.put("ϵ", "\u03F5"); + definedEntities.put("ϰ", "\u03F0"); + definedEntities.put("∅", "\u2205"); + definedEntities.put("ϕ", "\u03D5"); + definedEntities.put("ϖ", "\u03D6"); + definedEntities.put("∝", "\u221D"); + definedEntities.put("↕", "\u2195"); + definedEntities.put("ϱ", "\u03F1"); + definedEntities.put("ς", "\u03C2"); + definedEntities.put("⊊︀", "\u228A\uFE00"); + definedEntities.put("⫋︀", "\u2ACB\uFE00"); + definedEntities.put("⊋︀", "\u228B\uFE00"); + definedEntities.put("⫌︀", "\u2ACC\uFE00"); + definedEntities.put("ϑ", "\u03D1"); + definedEntities.put("⊲", "\u22B2"); + definedEntities.put("⊳", "\u22B3"); + definedEntities.put("в", "\u0432"); + definedEntities.put("⊢", "\u22A2"); + definedEntities.put("∨", "\u2228"); + definedEntities.put("⊻", "\u22BB"); + definedEntities.put("≚", "\u225A"); + definedEntities.put("⋮", "\u22EE"); + definedEntities.put("|", "\u007C"); + definedEntities.put("|", "\u007C"); + definedEntities.put("𝔳", "\uD835\uDD33"); + definedEntities.put("⊲", "\u22B2"); + definedEntities.put("⊂⃒", "\u2282\u20D2"); + definedEntities.put("⊃⃒", "\u2283\u20D2"); + definedEntities.put("𝕧", "\uD835\uDD67"); + definedEntities.put("∝", "\u221D"); + definedEntities.put("⊳", "\u22B3"); + definedEntities.put("𝓋", "\uD835\uDCCB"); + definedEntities.put("⫋︀", "\u2ACB\uFE00"); + definedEntities.put("⊊︀", "\u228A\uFE00"); + definedEntities.put("⫌︀", "\u2ACC\uFE00"); + definedEntities.put("⊋︀", "\u228B\uFE00"); + definedEntities.put("⦚", "\u299A"); + definedEntities.put("ŵ", "\u0175"); + definedEntities.put("⩟", "\u2A5F"); + definedEntities.put("∧", "\u2227"); + definedEntities.put("≙", "\u2259"); + definedEntities.put("℘", "\u2118"); + definedEntities.put("𝔴", "\uD835\uDD34"); + definedEntities.put("𝕨", "\uD835\uDD68"); + definedEntities.put("℘", "\u2118"); + definedEntities.put("≀", "\u2240"); + definedEntities.put("≀", "\u2240"); + definedEntities.put("𝓌", "\uD835\uDCCC"); + definedEntities.put("⋂", "\u22C2"); + definedEntities.put("◯", "\u25EF"); + definedEntities.put("⋃", "\u22C3"); + definedEntities.put("▽", "\u25BD"); + definedEntities.put("𝔵", "\uD835\uDD35"); + definedEntities.put("⟺", "\u27FA"); + definedEntities.put("⟷", "\u27F7"); + definedEntities.put("ξ", "\u03BE"); + definedEntities.put("⟸", "\u27F8"); + definedEntities.put("⟵", "\u27F5"); + definedEntities.put("⟼", "\u27FC"); + definedEntities.put("⋻", "\u22FB"); + definedEntities.put("⨀", "\u2A00"); + definedEntities.put("𝕩", "\uD835\uDD69"); + definedEntities.put("⨁", "\u2A01"); + definedEntities.put("⨂", "\u2A02"); + definedEntities.put("⟹", "\u27F9"); + definedEntities.put("⟶", "\u27F6"); + definedEntities.put("𝓍", "\uD835\uDCCD"); + definedEntities.put("⨆", "\u2A06"); + definedEntities.put("⨄", "\u2A04"); + definedEntities.put("△", "\u25B3"); + definedEntities.put("⋁", "\u22C1"); + definedEntities.put("⋀", "\u22C0"); + definedEntities.put("ý", "\u00FD"); + definedEntities.put("я", "\u044F"); + definedEntities.put("ŷ", "\u0177"); + definedEntities.put("ы", "\u044B"); + definedEntities.put("¥", "\u00A5"); + definedEntities.put("𝔶", "\uD835\uDD36"); + definedEntities.put("ї", "\u0457"); + definedEntities.put("𝕪", "\uD835\uDD6A"); + definedEntities.put("𝓎", "\uD835\uDCCE"); + definedEntities.put("ю", "\u044E"); + definedEntities.put("ÿ", "\u00FF"); + definedEntities.put("ź", "\u017A"); + definedEntities.put("ž", "\u017E"); + definedEntities.put("з", "\u0437"); + definedEntities.put("ż", "\u017C"); + definedEntities.put("ℨ", "\u2128"); + definedEntities.put("ζ", "\u03B6"); + definedEntities.put("𝔷", "\uD835\uDD37"); + definedEntities.put("ж", "\u0436"); + definedEntities.put("⇝", "\u21DD"); + definedEntities.put("𝕫", "\uD835\uDD6B"); + definedEntities.put("𝓏", "\uD835\uDCCF"); + definedEntities.put("‍", "\u200D"); + definedEntities.put("‌", "\u200C"); } } \ No newline at end of file diff --git a/org.hl7.fhir.utilities/src/main/resources/Messages.properties b/org.hl7.fhir.utilities/src/main/resources/Messages.properties index e91ab238b..0b479d3a6 100644 --- a/org.hl7.fhir.utilities/src/main/resources/Messages.properties +++ b/org.hl7.fhir.utilities/src/main/resources/Messages.properties @@ -251,6 +251,8 @@ Validation_VAL_Unknown_Profile = Unknown profile {0} VALIDATION_VAL_PROFILE_DEPENDS_NOT_RESOLVED = Profile {1} identifies {2} as a dependency (using the extension http://hl7.org/fhir/StructureDefinition/structuredefinition-dependencies), but this profile could not be found XHTML_XHTML_Attribute_Illegal = Illegal attribute name in the XHTML (''{0}'' on ''{1}'') XHTML_XHTML_Element_Illegal = Illegal element name in the XHTML (''{0}'') +XHTML_XHTML_Entity_Illegal = Illegal entity in the XHTML (''{0}'') +XHTML_XHTML_Image_Reference_Illegal = Illegal Image Reference in the XHTML (''{0}'') XHTML_XHTML_NS_InValid = Wrong namespace on the XHTML (''{0}'', should be ''{1}'') XHTML_XHTML_Name_Invalid = Wrong name on the XHTML (''{0}'') - must start with div _DT_Fixed_Wrong = Value is ''{0}'' but must be ''{1}'' diff --git a/org.hl7.fhir.utilities/src/test/java/org/hl7/fhir/utilities/json/JsonParserTests.java b/org.hl7.fhir.utilities/src/test/java/org/hl7/fhir/utilities/json/JsonParserTests.java index d7ff1a9a0..3ce0422da 100644 --- a/org.hl7.fhir.utilities/src/test/java/org/hl7/fhir/utilities/json/JsonParserTests.java +++ b/org.hl7.fhir.utilities/src/test/java/org/hl7/fhir/utilities/json/JsonParserTests.java @@ -26,7 +26,7 @@ public class JsonParserTests { public void testComments2() throws IOException, JsonException { JsonObject obj = JsonParser.parseObject("{\n // some comment \n \"n1\" : \"v1\"\n}\n", true); Assertions.assertEquals(0, obj.getComments().size()); - JsonString c = obj.getStr("n1"); + JsonString c = obj.getString("n1"); Assertions.assertEquals(1, c.getComments().size()); Assertions.assertEquals("some comment", c.getComments().get(0)); Assertions.assertEquals("{\"n1\":\"v1\"}", JsonParser.compose(obj, false)); @@ -38,7 +38,7 @@ public class JsonParserTests { JsonObject obj = JsonParser.parseObject("// some comment\n{\n \"n1\" : \"v1\"\n}\n", true); Assertions.assertEquals(1, obj.getComments().size()); Assertions.assertEquals("some comment", obj.getComments().get(0)); - JsonString c = obj.getStr("n1"); + JsonString c = obj.getString("n1"); Assertions.assertEquals(0, c.getComments().size()); Assertions.assertEquals("{\"n1\":\"v1\"}", JsonParser.compose(obj, false)); Assertions.assertEquals("// some comment\n{\n \"n1\" : \"v1\"\n}\n", JsonParser.compose(obj, true)); @@ -539,7 +539,7 @@ public class JsonParserTests { public void testDuplicates2() throws IOException, JsonException { JsonObject e = JsonParser.parseObject("{ \"n\" : 1, \"n\" : 2 }", false, true); Assertions.assertEquals(2, e.getProperties().size()); - Assertions.assertEquals(2, e.getInteger("n")); + Assertions.assertEquals(2, e.asInteger("n")); Assertions.assertEquals("{\"n\":1,\"n\":2}", JsonParser.compose(e)); } diff --git a/pom.xml b/pom.xml index abf43d714..c744335c0 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ 5.4.0 - 1.1.123 + 1.1.124-SNAPSHOT 5.7.1 1.8.2 3.0.0-M5 From 4fa05d8297a471dea4c7857630f82e8536028f23 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Thu, 17 Nov 2022 15:21:39 -0300 Subject: [PATCH 2/4] fix bug producing html entities in XHTML in resources when rendering --- .../org/hl7/fhir/r5/renderers/utils/ElementWrappers.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/ElementWrappers.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/ElementWrappers.java index 5765a627b..e7041c5c3 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/ElementWrappers.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/ElementWrappers.java @@ -239,11 +239,9 @@ public class ElementWrappers { if (div == null) { div = new org.hl7.fhir.r5.elementmodel.Element("div", txt.getProperty().getChild(null, "div")); txt.getChildren().add(div); - div.setValue(new XhtmlComposer(XhtmlComposer.XML, context.isPretty()).compose(x)); - } - div.setValue(x.toString()); + } + div.setValue(new XhtmlComposer(XhtmlComposer.XML, context.isPretty()).compose(x)); div.setXhtml(x); - } @Override From 0b11c5d9be7b5c530890fd4d1424b9b20608d2fe Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Thu, 17 Nov 2022 15:22:37 -0300 Subject: [PATCH 3/4] release --- RELEASE_NOTES.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 7b06c6ab5..3f5a8bc79 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,7 +1,7 @@ ## Validator Changes -* no changes +* Validate HTML entities in XHTML in resources ## Other code changes -* no changes \ No newline at end of file +* Stop producing XHTML entities in resources when rendering From f4ed207326d99360240bc194e9acbfaa8139a267 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Thu, 17 Nov 2022 15:41:16 -0300 Subject: [PATCH 4/4] release --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index c744335c0..56f10fce7 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ 5.4.0 - 1.1.124-SNAPSHOT + 1.1.124 5.7.1 1.8.2 3.0.0-M5