diff --git a/.github/workflows/indigo-ci.yaml b/.github/workflows/indigo-ci.yaml index 7e075341e9..aa5c79c1ab 100644 --- a/.github/workflows/indigo-ci.yaml +++ b/.github/workflows/indigo-ci.yaml @@ -25,7 +25,9 @@ jobs: lfs: false fetch-depth: 500 - name: Git fetch tags - run: git fetch --tags -f + run: | + git config --global --add safe.directory /__w/Indigo/Indigo + git fetch --tags -f - name: Check run: | python3 -m pip install -r api/python/requirements_dev.txt diff --git a/api/c/indigo/indigo.h b/api/c/indigo/indigo.h index bd4e4d6343..2cecd0991a 100644 --- a/api/c/indigo/indigo.h +++ b/api/c/indigo/indigo.h @@ -203,6 +203,7 @@ CEXPORT int indigoSaveJson(int item, int output); CEXPORT int indigoSaveCml(int object, int output); CEXPORT int indigoSaveCmlToFile(int object, const char* filename); CEXPORT const char* indigoCml(int object); +CEXPORT const char* indigoCdxBase64(int object); // accepts molecules and reactions CEXPORT int indigoSaveCdxml(int object, int output); @@ -1021,6 +1022,7 @@ CEXPORT int indigoExpandAbbreviations(int molecule); /* Other */ CEXPORT const char* indigoToString(int handle); +CEXPORT const char* indigoToBase64String(int handle); CEXPORT int indigoToBuffer(int handle, char** buf, int* size); /* Reaction products enumeration */ diff --git a/api/c/indigo/src/indigo_internal.h b/api/c/indigo/src/indigo_internal.h index 45be0d6177..3d95297097 100644 --- a/api/c/indigo/src/indigo_internal.h +++ b/api/c/indigo/src/indigo_internal.h @@ -200,6 +200,8 @@ class DLLEXPORT IndigoObject virtual MonomersProperties& getMonomersProperties(); virtual void copyProperties(PropertiesMap&); + void toBase64String(Array& str); + private: IndigoObject(const IndigoObject&); }; diff --git a/api/c/indigo/src/indigo_io.cpp b/api/c/indigo/src/indigo_io.cpp index 9a70852de0..89a840a96e 100644 --- a/api/c/indigo/src/indigo_io.cpp +++ b/api/c/indigo/src/indigo_io.cpp @@ -187,6 +187,20 @@ CEXPORT const char* indigoToString(int handle) INDIGO_END(0); } +CEXPORT const char* indigoToBase64String(int handle) +{ + INDIGO_BEGIN + { + IndigoObject& obj = self.getObject(handle); + + auto& tmp = self.getThreadTmpData(); + obj.toBase64String(tmp.string); + tmp.string.push(0); + return tmp.string.ptr(); + } + INDIGO_END(0); +} + CEXPORT int indigoToBuffer(int handle, char** buf, int* size) { INDIGO_BEGIN diff --git a/api/c/indigo/src/indigo_macros.c b/api/c/indigo/src/indigo_macros.c index 9583dd3d06..fd9323e6c4 100644 --- a/api/c/indigo/src/indigo_macros.c +++ b/api/c/indigo/src/indigo_macros.c @@ -142,6 +142,22 @@ CEXPORT const char* indigoMolfile(int molecule) return res; } +CEXPORT const char* indigoCdxBase64(int object) +{ + int b = indigoWriteBuffer(); + const char* res; + + if (b == -1) + return 0; + + if (indigoSaveCdx(object, b) == -1) + return 0; + + res = indigoToBase64String(b); + indigoFree(b); + return res; +} + CEXPORT const char* indigoCml(int molecule) { int b = indigoWriteBuffer(); diff --git a/api/c/indigo/src/indigo_object.cpp b/api/c/indigo/src/indigo_object.cpp index 82cf0e17a1..2092728be8 100644 --- a/api/c/indigo/src/indigo_object.cpp +++ b/api/c/indigo/src/indigo_object.cpp @@ -16,14 +16,14 @@ * limitations under the License. ***************************************************************************/ -#include "indigo_internal.h" - -#include - #include "base_cpp/output.h" #include "base_cpp/properties_map.h" +#include "indigo_internal.h" #include "reaction/reaction.h" +#include <../cppcodec/cppcodec/base64_default_rfc4648.hpp> +#include + using IndigoObjectTypesMap = std::map; class IndigoObjectTypes : public IndigoObjectTypesMap, public NonCopyable { @@ -161,6 +161,14 @@ const char* IndigoObject::debugInfo() const return getTypeName(); } +void IndigoObject::toBase64String(Array& str) +{ + Array temp; + toString(temp); + auto encoded = base64::encode(temp.ptr(), temp.size()); + str.copy(encoded.c_str(), encoded.size()); +} + void IndigoObject::toString(Array& str) { throw IndigoError("can not convert %s to string", debugInfo()); diff --git a/api/dotnet/src/IndigoLib.cs b/api/dotnet/src/IndigoLib.cs index 78896b82dc..0b8054d34a 100644 --- a/api/dotnet/src/IndigoLib.cs +++ b/api/dotnet/src/IndigoLib.cs @@ -164,6 +164,9 @@ public unsafe class IndigoLib [DllImport("indigo"), SuppressUnmanagedCodeSecurity] public static extern byte* indigoCdxml(int molecule); + [DllImport("indigo"), SuppressUnmanagedCodeSecurity] + public static extern byte* indigoCdxBase64(int molecule); + [DllImport("indigo"), SuppressUnmanagedCodeSecurity] public static extern int indigoSaveMDLCT(int item, int output); diff --git a/api/dotnet/src/IndigoObject.cs b/api/dotnet/src/IndigoObject.cs index 5bfc3fc8d7..e1a49b7ad0 100644 --- a/api/dotnet/src/IndigoObject.cs +++ b/api/dotnet/src/IndigoObject.cs @@ -112,6 +112,12 @@ public string cdxml() return dispatcher.checkResult(IndigoLib.indigoCdxml(self)); } + public string b64cdx() + { + dispatcher.setSessionID(); + return dispatcher.checkResult(IndigoLib.indigoCdxBase64(self)); + } + public void saveCdxml(string filename) { dispatcher.setSessionID(); diff --git a/api/java/indigo/src/main/java/com/epam/indigo/IndigoLib.java b/api/java/indigo/src/main/java/com/epam/indigo/IndigoLib.java index aed7b83c84..b35d5e1df1 100644 --- a/api/java/indigo/src/main/java/com/epam/indigo/IndigoLib.java +++ b/api/java/indigo/src/main/java/com/epam/indigo/IndigoLib.java @@ -140,6 +140,8 @@ public interface IndigoLib extends Library { Pointer indigoCdxml(int object); + Pointer indigoCdxBase64(int object); + int indigoSaveMDLCT(int item, int output); int indigoLoadReaction(int source); diff --git a/api/java/indigo/src/main/java/com/epam/indigo/IndigoObject.java b/api/java/indigo/src/main/java/com/epam/indigo/IndigoObject.java index bbfea1dc9c..3fa4ae6c83 100644 --- a/api/java/indigo/src/main/java/com/epam/indigo/IndigoObject.java +++ b/api/java/indigo/src/main/java/com/epam/indigo/IndigoObject.java @@ -102,6 +102,11 @@ public String cdxml() { return Indigo.checkResultString(this, lib.indigoCdxml(self)); } + public String b64cdx() { + dispatcher.setSessionID(); + return Indigo.checkResultString(this, lib.indigoCdxBase64(self)); + } + public void saveCdxml(String filename) { dispatcher.setSessionID(); Indigo.checkResult(this, lib.indigoSaveCdxmlToFile(self, filename)); diff --git a/api/python/indigo/indigo/indigo_lib.py b/api/python/indigo/indigo/indigo_lib.py index cc2dc42aba..27d2b4506e 100644 --- a/api/python/indigo/indigo/indigo_lib.py +++ b/api/python/indigo/indigo/indigo_lib.py @@ -254,8 +254,12 @@ def __init__(self) -> None: IndigoLib.lib.indigoCml.argtypes = [c_int] IndigoLib.lib.indigoSaveCdxmlToFile.restype = c_int IndigoLib.lib.indigoSaveCdxmlToFile.argtypes = [c_int, c_char_p] + IndigoLib.lib.indigoSaveCdxToFile.restype = c_int + IndigoLib.lib.indigoSaveCdxToFile.argtypes = [c_int, c_char_p] IndigoLib.lib.indigoCdxml.restype = c_char_p IndigoLib.lib.indigoCdxml.argtypes = [c_int] + IndigoLib.lib.indigoCdxBase64.restype = c_char_p + IndigoLib.lib.indigoCdxBase64.argtypes = [c_int] IndigoLib.lib.indigoJson.restype = c_char_p IndigoLib.lib.indigoJson.argtypes = [c_int] IndigoLib.lib.indigoSaveMDLCT.restype = c_int diff --git a/api/python/indigo/indigo/indigo_object.py b/api/python/indigo/indigo/indigo_object.py index 2cf764b289..5ba5604e5e 100644 --- a/api/python/indigo/indigo/indigo_object.py +++ b/api/python/indigo/indigo/indigo_object.py @@ -296,6 +296,20 @@ def saveCdxml(self, filename): self._lib().indigoSaveCdxmlToFile(self.id, filename.encode()) ) + def saveCdx(self, filename): + """Molecule method saves the structure into a CDX file + + Args: + filename (str): full path to the output file + + Returns: + int: 1 if the file is saved successfully + """ + + return IndigoLib.checkResult( + self._lib().indigoSaveCdxToFile(self.id, filename.encode()) + ) + def cdxml(self): """Molecule method returns the structure as a string in CDXML format @@ -305,6 +319,17 @@ def cdxml(self): return IndigoLib.checkResultString(self._lib().indigoCdxml(self.id)) + def b64cdx(self): + """Molecule method returns the structure as a string in CDX base64 encoded format + + Returns: + str: base64 encoded CDX string + """ + + return IndigoLib.checkResultString( + self._lib().indigoCdxBase64(self.id) + ) + def json(self): """Structure method returns the structure as a string in KET format diff --git a/api/tests/integration/ref/formats/cdx_export.py.out b/api/tests/integration/ref/formats/cdx_export.py.out new file mode 100644 index 0000000000..8549a63800 --- /dev/null +++ b/api/tests/integration/ref/formats/cdx_export.py.out @@ -0,0 +1,5 @@ +*** Mol to CDX *** +enhanced_stereo1:success +enhanced_stereo2:success +enhanced_stereo3:success +stereo_either-0020:success diff --git a/api/tests/integration/tests/formats/cdx_export.py b/api/tests/integration/tests/formats/cdx_export.py new file mode 100644 index 0000000000..dce30015be --- /dev/null +++ b/api/tests/integration/tests/formats/cdx_export.py @@ -0,0 +1,54 @@ +import difflib +import os +import sys + + +def find_diff(a, b): + return "\n".join(difflib.unified_diff(a.splitlines(), b.splitlines())) + + +sys.path.append( + os.path.normpath( + os.path.join(os.path.abspath(__file__), "..", "..", "..", "common") + ) +) +from env_indigo import * # noqa + +indigo = Indigo() + +print("*** Mol to CDX ***") + +root = joinPathPy("molecules/", __file__) +files = [ + "stereo_either-0020", + "enhanced_stereo1", + "enhanced_stereo2", + "enhanced_stereo3", +] + +ref_path = joinPathPy("ref/", __file__) +files.sort() + +for filename in files: + try: + mol = indigo.loadMoleculeFromFile( + os.path.join(root, filename + ".mol") + ) + resb64 = mol.b64cdx() + # with open(os.path.join(ref_path, filename + ".cdxml"), 'w') as file: + # data = file.write(mol.cdxml()) + with open(os.path.join(ref_path, filename + ".b64cdx"), "r") as file: + refb64 = file.read() + print(filename + (":success" if refb64 == resb64 else ":failed")) + except IndigoException as e: + print(getIndigoExceptionText(e)) + print("*** Try as Query ***") + mol = indigo.loadQueryMoleculeFromFile( + os.path.join(root, filename + ".mol") + ) + resb64 = mol.b64cdx() + # with open(os.path.join(ref_path, filename + ".cdxml"), 'w') as file: + # data = file.write(mol.cdxml()) + with open(os.path.join(ref_path, filename + ".b64cdx"), "r") as file: + refb64 = file.read() + print(filename + (":success" if refb64 == resb64 else ":failed")) diff --git a/api/tests/integration/tests/formats/cdxml/AlcoholOxidation_Rxn2.cdxml b/api/tests/integration/tests/formats/cdxml/AlcoholOxidation_Rxn2.cdxml new file mode 100644 index 0000000000..006e269f11 --- /dev/null +++ b/api/tests/integration/tests/formats/cdxml/AlcoholOxidation_Rxn2.cdxml @@ -0,0 +1,1540 @@ + + + + + + + + + + + + + + + + +OHNNNOOHNNNOOIOOINOClClDCMDCMWaterOHH1.0 equiv[oxidant][alcohol][desired product][byproducts]Key4-(1,2,4-Triazol-1-yl)benzenemethanol143426-50-00.2 M in limitingr.t., 27 hrsDCM/Water +(1:1)4-(1,2,4-Triazol-1-yl)benzoic acid[bis(acetoxy)iodo]benzene0.18 equiv TEMPOAlcohol Oxidation Rxn23240-34-4162848-16-02.2 equiv BAIBBAIBMW 322.10TEMPO[catalyst]2564-83-2(2,2,6,6-tetramethylpiperidin-1-yl)oxylMW 156.25dichloromethane75-09-2[solvent]MW 84.937732-18-5[solvent]MW 18.02 \ No newline at end of file diff --git a/api/tests/integration/tests/formats/cdxml/Amidation_Rxn1.cdxml b/api/tests/integration/tests/formats/cdxml/Amidation_Rxn1.cdxml new file mode 100644 index 0000000000..d114233309 --- /dev/null +++ b/api/tests/integration/tests/formats/cdxml/Amidation_Rxn1.cdxml @@ -0,0 +1,2369 @@ + + + + + + + + + + + + + + + + + + + + +O-N+NNNN+NFP-FFFFFNNH2OHOFFFATUHATUNHOFFFOHNNNNNNONH+Cl-Et3NH+ Cl-TEAHClHClClClDCMDCMAmidation_Rxn12-(4-(tert-butyl)phenyl)ethan-1-amine91552-82-84-(trifluoromethyl)benzoic acid455-24-31.1 equiv1.0 equiv2.0 equiv HATU2.0 equiv TEADCMr.t. + +148893-10-10.1 M in limiting[amine][acid][desired product]N-(4-(tert-butyl)phenethyl)-4-(trifluoromethyl)benzamide2.15 equiv 1 N HCl[byproducts]Key+718625-25-31-((dimethylamino)(dimethyliminio)methyl)-1H-[1,2,3]triazolo[4,5-b]pyridine 3-oxide hexafluorophosphate +or +Hexafluorophosphate Azabenzotriazole Tetramethyl UroniumMW 380.24[additive]triethylamine121-44-8MW 101.19[base]hydrochloric acid7647-01-0MW 36.46[quench]dichloromethane75-09-2[solvent]MW 84.93 \ No newline at end of file diff --git a/api/tests/integration/tests/formats/cdxml/Amidation_Rxn2.cdxml b/api/tests/integration/tests/formats/cdxml/Amidation_Rxn2.cdxml new file mode 100644 index 0000000000..0704bfe762 --- /dev/null +++ b/api/tests/integration/tests/formats/cdxml/Amidation_Rxn2.cdxml @@ -0,0 +1,2295 @@ + + + + + + + + + + + + + + + + + + + + +O-N+NNNN+NFP-FFFFFNMeOHONH2MeONHATUHATUOHNNNNNNONH+Cl-Et3NH+ Cl-TEAHClHClClClDCMDCMAmidation_Rxn21.1 equiv1.0 equiv[amine][acid][desired product]+3-(p-tolyl)propanoic acid1505-50-64-(tert-butyl)aniline769-92-6N-(4-(tert-butyl)phenyl)-3-(p-tolyl)propanamide1907617-27-92.0 equiv HATU2.0 equiv TEADCMr.t.0.1 M in limiting2.15 equiv 1 N HCl + +148893-10-1[byproducts]Key1-((dimethylamino)(dimethyliminio)methyl)-1H-[1,2,3]triazolo[4,5-b]pyridine 3-oxide hexafluorophosphate +or +Hexafluorophosphate Azabenzotriazole Tetramethyl UroniumMW 380.24[additive]triethylamine121-44-8MW 101.19[base]hydrochloric acid7647-01-0MW 36.46[quench]dichloromethane75-09-2[solvent]MW 84.93 \ No newline at end of file diff --git a/api/tests/integration/tests/formats/cdxml/BuchwaldHartwig_Rxn1.cdxml b/api/tests/integration/tests/formats/cdxml/BuchwaldHartwig_Rxn1.cdxml new file mode 100644 index 0000000000..7099fbf089 --- /dev/null +++ b/api/tests/integration/tests/formats/cdxml/BuchwaldHartwig_Rxn1.cdxml @@ -0,0 +1,2918 @@ + + + + + + + + + + + + + + + + + +NHONHO-K+NBrNNONHPdPOSOOOMsCyCyOOMeOOMePCyCyOOMeOOMePdOHOHPd(OH)2KBrKBrOHtBuOHKOSOOKOMsKOKOtButolueneBuchwald Hartwig Rxn11.1 equiv1.0 equiv2 equiv KOtBu120 °C, 4 hrs0.2 M in limiting[amine][aryl electrophile][desired product]+toluene0.05 equiv SPhosPd G33-bromoquinoline5332-24-14-(quinolin-3-yl)morpholineMorpholine110-91-8137794-83-3[byproducts]Key(2-Dicyclohexylphosphino-2′,6′-dimethoxybiphenyl) [2-(2′-amino-1,1′-biphenyl)]palladium(II) methanesulfonate1445085-82-4MW 779.26potassium tert-butoxideSPhosPd G3865-47-4MW 112.21[catalyst][base]108-88-3Molecular Weight: 92.14[solvent] \ No newline at end of file diff --git a/api/tests/integration/tests/formats/cdxml/BuchwaldHartwig_Rxn2.cdxml b/api/tests/integration/tests/formats/cdxml/BuchwaldHartwig_Rxn2.cdxml new file mode 100644 index 0000000000..ec4a84db19 --- /dev/null +++ b/api/tests/integration/tests/formats/cdxml/BuchwaldHartwig_Rxn2.cdxml @@ -0,0 +1,2902 @@ + + + + + + + + + + + + + + + + + +NHO-K+NHNH2BrNHPdPOSOOOMsCyCyOOMeOOMePCyCyOOMeOOMePdOHOHPd(OH)2KBrKBrOHtBuOHKOSOOKOMsKOKOtButolueneBuchwald Hartwig Rxn21.1 equiv1.0 equiv2 equiv KOtBu120 °C, 4 hrs0.2 M in limiting[amine][aryl electrophile][desired product]+toluene0.05 equiv SPhosPd G34-(tert-butyl)aniline769-92-64-(tert-butyl)-N-phenylanilinebromobenzene4496-49-5108-86-1[byproducts]Key(2-Dicyclohexylphosphino-2′,6′-dimethoxybiphenyl) [2-(2′-amino-1,1′-biphenyl)]palladium(II) methanesulfonate1445085-82-4MW 779.26potassium tert-butoxideSPhosPd G3865-47-4MW 112.21[catalyst][base]108-88-3Molecular Weight: 92.14[solvent] \ No newline at end of file diff --git a/api/tests/integration/tests/formats/cdxml/CarbonylReduction_Rxn1.cdxml b/api/tests/integration/tests/formats/cdxml/CarbonylReduction_Rxn1.cdxml new file mode 100644 index 0000000000..036e6931af --- /dev/null +++ b/api/tests/integration/tests/formats/cdxml/CarbonylReduction_Rxn1.cdxml @@ -0,0 +1,1286 @@ + + + + + + + + + + + + + + + + +B-HHHHNa+BOHOHOHB(OH)3OH5.0 equiv NaBH4OHNaClNaClNaBH4NaBH4OHMeOH/DCMMeOHClClDCMCarbonyl Reduction Rxn11.0 equiv0.2 M in limiting[reducing agent][carbonyl][desired product][byproducts]Key2,2-diphenylacetaldehyde947-91-116940-66-2sodium borohydride2,2-diphenylethan-1-olr.t.1883-32-5MW 37.83methanol67-56-1[solvent]MW 32.04dichloromethane75-09-2[solvent]MW 84.93 \ No newline at end of file diff --git a/api/tests/integration/tests/formats/cdxml/CarbonylReduction_Rxn2.cdxml b/api/tests/integration/tests/formats/cdxml/CarbonylReduction_Rxn2.cdxml new file mode 100644 index 0000000000..b183c3d9a4 --- /dev/null +++ b/api/tests/integration/tests/formats/cdxml/CarbonylReduction_Rxn2.cdxml @@ -0,0 +1,1276 @@ + + + + + + + + + + + + + + + + +B-HHHHNa+543216N1O15N43N2OHNNNNaBH4NaBH4OHOHEtOHBOHOHOHB(OH)3NaClNaCl5.0 equiv NaBH4Carbonyl Reduction Rxn2[desired product]ethanol1.0 equiv[carbonyl]4-(1H-1,2,4-triazol-1-yl)benzaldehyde143426-50-027996-86-7[reducing agent]Key16940-66-2sodium borohydrideMW 37.83ethanol64-17-5[solvent]MW 46.07[byproducts]0.2 M in limitingr.t.(4-(1H-1,2,4-triazol-1-yl)phenyl)methanol \ No newline at end of file diff --git a/api/tests/integration/tests/formats/cdxml/Esterification_Rxn1.cdxml b/api/tests/integration/tests/formats/cdxml/Esterification_Rxn1.cdxml new file mode 100644 index 0000000000..c1d7ae64ba --- /dev/null +++ b/api/tests/integration/tests/formats/cdxml/Esterification_Rxn1.cdxml @@ -0,0 +1,2025 @@ + + + + + + + + + + + + + + + + + + + +NH+NHNHOCl-NCNNH+Cl-NOOHFFFOHOOFFFNNNH+NCl-TEAClClDCMDCMEsterification Rxn11.1 equiv1.0 equiv2 equiv EDCI2.2 equiv TEADCMr.t.0.1 M in limiting[alcohol][acid][desired product]+4-(trifluoromethyl)benzoic acid98-73-70.1 equiv DMAP5406-86-0phenethyl 4-(trifluoromethyl)benzoate2-phenylethan-1-ol959285-37-1[byproducts]Key25952-53-8EDCIDMAP1122-58-33-(((ethylimino)methylene)amino)-N,N-dimethylpropan-1-aminium chlorideN,N-dimethylpyridin-4-aminetriethylamine121-44-8MW 101.19[base][catalyst][additive]dichloromethane75-09-2[solvent]MW 84.93MW 122.17MW 191.70 \ No newline at end of file diff --git a/api/tests/integration/tests/formats/cdxml/Esterification_Rxn2.cdxml b/api/tests/integration/tests/formats/cdxml/Esterification_Rxn2.cdxml new file mode 100644 index 0000000000..c0f96e71bf --- /dev/null +++ b/api/tests/integration/tests/formats/cdxml/Esterification_Rxn2.cdxml @@ -0,0 +1,901 @@ + + + + + + + + + + + + + + + + +OHOOOOOOOOEsterification_Rxn2[byproducts]Key1.0 equiv6.0 equivNeat +80 °C[ester][acid][desired product]+1208-64-63-(4-(tert-butyl)phenyl)propanoic acidtrimethoxymethanemethyl 3-(4-(tert-butyl)phenyl)propanoate1211-99-0149-73-5methyl formate \ No newline at end of file diff --git a/api/tests/integration/tests/formats/cdxml/Grignard_Rxn2.cdxml b/api/tests/integration/tests/formats/cdxml/Grignard_Rxn2.cdxml new file mode 100644 index 0000000000..95827a2d3a --- /dev/null +++ b/api/tests/integration/tests/formats/cdxml/Grignard_Rxn2.cdxml @@ -0,0 +1,1347 @@ + + + + + + + + + + + + + + + + + +OTHFMgBrMgBrNOOOOOMgBrClMgBrClOTHFONHOGrignard Rxn20.1 M in limiting[desired product]+r.t.1.2 equiv1.0 equiv[Grignard nucleophile][carbonyl]63488-10-84-tert-Butylphenyl- +magnesium bromide267884-96-8N-methoxy-2-(4-methoxyphenyl)- +N-methylacetamide1-(4-(tert-butyl)phenyl)-2- +(4-methoxyphenyl)ethan-1-one184477-20-1[byproducts]Keytetrahydrofuran[solvent]109-99-9Molecular Weight: 72.11 \ No newline at end of file diff --git a/api/tests/integration/tests/formats/cdxml/N-Alkylation_Rxn1.cdxml b/api/tests/integration/tests/formats/cdxml/N-Alkylation_Rxn1.cdxml new file mode 100644 index 0000000000..f00599a8be --- /dev/null +++ b/api/tests/integration/tests/formats/cdxml/N-Alkylation_Rxn1.cdxml @@ -0,0 +1,1761 @@ + + + + + + + + + + + + + + + +N+I-OO-O-K+K+BrNH2NHONDMFKBrKBrKHCO3TBAIK2CO3DMFdimethylformamideNON-Alkylation Rxn11.0 equiv1.2 equiv2 equiv K2CO30.2 equiv TBAI80 ºC0.2 M in limiting[electrophile][N-nucleophile][desired product][byproducts]Key+1-(2-bromoethyl)-4-methylbenzene6529-51-74-(tert-butyl)aniline769-92-64-(tert-butyl)-N-(4-methylphenethyl)aniline135306-84-3[additive]tetrabutylammonium bromide311-28-4MW 369.38potassium carbonate584-08-7MW 138.20[base]68-12-2MW 73.10[solvent] \ No newline at end of file diff --git a/api/tests/integration/tests/formats/cdxml/N-Alkylation_Rxn2.cdxml b/api/tests/integration/tests/formats/cdxml/N-Alkylation_Rxn2.cdxml new file mode 100644 index 0000000000..de3318f3c3 --- /dev/null +++ b/api/tests/integration/tests/formats/cdxml/N-Alkylation_Rxn2.cdxml @@ -0,0 +1,1906 @@ + + + + + + + + + + + + + + + + +N+I-OO-O-K+K+BrONDMFNHNH2875305-08-1KBrKBrCOOOKHKHCO3TBAITBAICOOOKKK2CO3ONDMFdimethylformamideNON-Alkylation Rxn21.2 equiv1.0 equiv2 equiv K2CO30.2 equiv TBAI80 ºC0.2 M in limiting[electrophile][N-nucleophile][desired product]+1-(2-bromoethyl)-4-methylbenzene6529-51-7696-44-6(4-(tert-butyl)phenyl)methanamineN-(4-(tert-butyl)benzyl)-2-(p-tolyl)ethan-1-amine[byproducts]Key[additive]tetrabutylammonium bromide311-28-4MW 369.38potassium carbonate584-08-7MW 138.20[base]68-12-2MW 73.10[solvent] \ No newline at end of file diff --git a/api/tests/integration/tests/formats/cdxml/N-Sulfonylation_Rxn1.cdxml b/api/tests/integration/tests/formats/cdxml/N-Sulfonylation_Rxn1.cdxml new file mode 100644 index 0000000000..73ffb10f92 --- /dev/null +++ b/api/tests/integration/tests/formats/cdxml/N-Sulfonylation_Rxn1.cdxml @@ -0,0 +1,1685 @@ + + + + + + + + + + + + + + + + + + +DCMDCMNHCl5432161342165SNHOO2654321NH2OOClS561243ClClDCMDCMNN-Sulfonylation Rxn10.2 M in limiting[desired product][byproducts]Key+r.t.1.1 equiv1.0 equiv[sulfonyl electrophile][amine]2.5 equiv pyridine769-92-64-methylbenzenesulfonyl chloride98-59-94-(tert-butyl)aniline697786-47-3N-(4-(tert-butyl)phenyl)-4-methylbenzenesulfonamidedichloromethane75-09-2[solvent]MW 84.93pyridine110-86-1[base]MW 79.10 \ No newline at end of file diff --git a/api/tests/integration/tests/formats/cdxml/N-Sulfonylation_Rxn2.cdxml b/api/tests/integration/tests/formats/cdxml/N-Sulfonylation_Rxn2.cdxml new file mode 100644 index 0000000000..42e27fbdd1 --- /dev/null +++ b/api/tests/integration/tests/formats/cdxml/N-Sulfonylation_Rxn2.cdxml @@ -0,0 +1,1467 @@ + + + + + + + + + + + + + + + + + +DCMDCMOOClSSNHOONNNH2NHClClClDCMDCMNN-Sulfonylation Rxn20.2 M in limiting[desired product]+r.t.1.1 equiv1.0 equiv[sulfonyl electrophile][amine]4-aminobenzonitrile873-74-5naphthalene-2-sulfonyl chloride93-11-8N-(4-cyanophenyl)naphthalene-2-sulfonamide107491-50-92.5 equiv pyridine[byproducts]Keydichloromethane75-09-2[solvent]MW 84.93pyridine110-86-1[base]MW 79.10 \ No newline at end of file diff --git a/api/tests/integration/tests/formats/cdxml/O-Alkylation_Rxn1.cdxml b/api/tests/integration/tests/formats/cdxml/O-Alkylation_Rxn1.cdxml new file mode 100644 index 0000000000..2763c876c3 --- /dev/null +++ b/api/tests/integration/tests/formats/cdxml/O-Alkylation_Rxn1.cdxml @@ -0,0 +1,2414 @@ + + + + + + + + + + + + + + + + +P21216543O1OHOFFF216543OH1OHO918524-76-2FFFOH112THFOTHFODEADTTPNNOOOONHNHOOOOP(O)Ph3O-Alkylation Rxn1[desired product][byproducts]Key+1.0 equiv1.2 equiv[phenol][alcohol]349-95-1(4-(trifluoromethyl)phenyl)methanol4-hydroxy-3-methoxybenzaldehyde3-methoxy-4-((4-(trifluoromethyl)benzyl)oxy)benzaldehyde121-33-51.2 equiv TTP1.2 equiv DEADrt, 12 hrstetrahydrofuran[solvent]109-99-9MW 72.11diethyl azodicarboxylate1972-28-7triphenylphosphine603-35-0MW 174.16MW 262.29[additive][additive] \ No newline at end of file diff --git a/api/tests/integration/tests/formats/cdxml/O-Alkylation_Rxn2.cdxml b/api/tests/integration/tests/formats/cdxml/O-Alkylation_Rxn2.cdxml new file mode 100644 index 0000000000..dac13b68e3 --- /dev/null +++ b/api/tests/integration/tests/formats/cdxml/O-Alkylation_Rxn2.cdxml @@ -0,0 +1,2467 @@ + + + + + + + + + + + + + + + + + +ClCl2165431112OOFFFFFFOH1122165431OHO1510828-06-4Fe(OTf)20.01 equiv Fe(OTf)2FeOSOOFFFOSOOFFFNNHNNHNPhPhPhPhH2OO-Alkylation Rxn2[desired product][byproducts]Key+1.0 equiv[alcohol]6529-51-71-methoxy-4-(((4-(trifluoromethyl)benzyl)oxy)methyl)benzene1.0 equiv[alcohol]349-95-1(4-(trifluoromethyl)phenyl)methanol(4-methoxyphenyl)methanol2135613-93-10.01 equiv L2L2DCEDCE59163-91-6iron(II) triflate80 °C, 12 hrs2,6-bis(4,5-dihydro-4,5-diphenyl-1H-imidazol-2-yl)pyridine1,2-dichloroethane107-06-2MW 353.97MW 519.65MW 98.95[ligand][catalyst][solvent] \ No newline at end of file diff --git a/api/tests/integration/tests/formats/cdxml/Reductive Amination_Rxn1.cdxml b/api/tests/integration/tests/formats/cdxml/Reductive Amination_Rxn1.cdxml new file mode 100644 index 0000000000..94367407f0 --- /dev/null +++ b/api/tests/integration/tests/formats/cdxml/Reductive Amination_Rxn1.cdxml @@ -0,0 +1,1726 @@ + + + + + + + + + + + + + + + + +OOOOOOBH-Na+OOHNaClNaClONH2NHBOHOHOHB(OH)3NaOONaOAcOHOAcOHOHOHMeOHClClDCMDCMReductive Amination Rxn11.0 equiv1.1 equiv2.0 equiv STABrt, 4 hrs0.2 M in limiting[carbonyl][amine][desired product][byproducts]Key+MeOH/DCM1-(p-tolyl)propan-2-one2096-86-8Benzylamine100-46-9N-benzyl-1-(p-tolyl)propan-2-amine43229-61-41.0 equiv AcOHSTABsodium triacetoxyborohydride56553-60-7MW 211.94[desired product]64-19-7acid acidmethanol67-56-1[solvent]MW 32.04dichloromethane75-09-2[solvent]MW 84.93[additive]MW 60.05 \ No newline at end of file diff --git a/api/tests/integration/tests/formats/cdxml/Reductive Amination_Rxn2.cdxml b/api/tests/integration/tests/formats/cdxml/Reductive Amination_Rxn2.cdxml new file mode 100644 index 0000000000..a598b83b3b --- /dev/null +++ b/api/tests/integration/tests/formats/cdxml/Reductive Amination_Rxn2.cdxml @@ -0,0 +1,1819 @@ + + + + + + + + + + + + + + + +NHOOOOOOOBH-Na+OOHOHNONaClNaClBOHOHOHB(OH)3NaOONaOAcOHOAcOHOHOHMeOHClClDCMDCMReductive Amination Rxn21.0 equiv1.1 equiv[carbonyl][amine][desired product]+2,2-diphenylacetaldehyde947-91-1morpholine110-91-84-(2,2-diphenylethyl)morpholine5586-79-82.0 equiv STABrt, 4 hrs0.2 M in limitingMeOH/DCM1.0 equiv AcOH[byproducts]KeySTABsodium triacetoxyborohydride56553-60-7MW 211.94[desired product]64-19-7acid acidmethanol67-56-1[solvent]MW 32.04dichloromethane75-09-2[solvent]MW 84.93[additive]MW 60.05 \ No newline at end of file diff --git a/api/tests/integration/tests/formats/cdxml/SnAr_Rxn1.cdxml b/api/tests/integration/tests/formats/cdxml/SnAr_Rxn1.cdxml new file mode 100644 index 0000000000..6806c9b352 --- /dev/null +++ b/api/tests/integration/tests/formats/cdxml/SnAr_Rxn1.cdxml @@ -0,0 +1,1586 @@ + + + + + + + + + + + + + + + +OO-O-K+K+KFKFCOOOKHKHCO3ONDMFFN+OO-NH2NHN+OO-COOOKKK2CO3ONDMFdimethylformamideNOSNAr Rxn10.2 M in limiting[desired product][byproducts]Key+80 °C, 4 hrs1.1 equiv1.0 equiv[nucleophile][aryl halide]1.1 equiv K2CO31-fluoro-4-nitrobenzene350-46-94-(tert-butyl)aniline769-92-64-(tert-butyl)-N-(4-nitrophenyl)aniline944678-00-6potassium carbonate584-08-7Molecular Weight: 138.20[base]68-12-2Molecular Weight: 73.10[solvent] \ No newline at end of file diff --git a/api/tests/integration/tests/formats/cdxml/SnAr_Rxn2.cdxml b/api/tests/integration/tests/formats/cdxml/SnAr_Rxn2.cdxml new file mode 100644 index 0000000000..b15de8adb5 --- /dev/null +++ b/api/tests/integration/tests/formats/cdxml/SnAr_Rxn2.cdxml @@ -0,0 +1,1686 @@ + + + + + + + + + + + + + + + + +OO-O-K+K+ONDMFFN+OO-ClOHOOON+OO-ClOO2567914-17-2KFKFCOOOKHKHCO3COOOKKK2CO3ONDMFdimethylformamideNOSNAr Rxn20.2 M in limiting[desired product]+80 °C, 4 hrs1.1 equiv1.0 equiv[nucleophile][aryl halide]1.1 equiv K2CO370-34-83,5-dimethoxyphenol500-99-22-chloro-1-fluoro-4-nitrobenzene2-chloro-1-(3,5-dimethoxyphenoxy)-4-nitrobenzene[byproducts]Keypotassium carbonate584-08-7Molecular Weight: 138.20[base]68-12-2Molecular Weight: 73.10[solvent] \ No newline at end of file diff --git a/api/tests/integration/tests/formats/cdxml/Suzuki_Rxn1.cdxml b/api/tests/integration/tests/formats/cdxml/Suzuki_Rxn1.cdxml new file mode 100644 index 0000000000..6a01c94a0c --- /dev/null +++ b/api/tests/integration/tests/formats/cdxml/Suzuki_Rxn1.cdxml @@ -0,0 +1,3097 @@ + + + + + + + + + + + + + + + + + + +NHOO-O-K+K+BOHOHNBrNPd(OH)2KBrKBrBOHOHOHB(OH)3PCyCyOOMeOOMeKHCO3NHPdPOSOOOMsCyCyOOMeOOMewaterOHHOHEtOHCOOOKKK2CO3Suzuki Rxn11.0 equiv1.1 equiv2 equiv K2CO370 °C, 4 hrs0.2 M in limiting[boronic acid][aryl electrophile][desired product][byproducts]Key+EtOH/water(4-(tert-butyl)phenyl)boronic acid123324-71-03-bromo-N,N-dimethylaniline16518-62-04'-(tert-butyl)-N,N-dimethyl-[1,1'-biphenyl]-3-amine0.05 equiv SPhosPd G32577555-73-6(2-Dicyclohexylphosphino-2′,6′-dimethoxybiphenyl) [2-(2′-amino-1,1′-biphenyl)]palladium(II) methanesulfonate1445085-82-4MW 779.26SPhosPd G3[catalyst]7732-18-5[solvent]MW 18.02ethanol64-17-5[solvent]MW 46.07potassium carbonate584-08-7MW 138.20[base] \ No newline at end of file diff --git a/api/tests/integration/tests/formats/cdxml/Suzuki_Rxn2.cdxml b/api/tests/integration/tests/formats/cdxml/Suzuki_Rxn2.cdxml new file mode 100644 index 0000000000..069d64ef88 --- /dev/null +++ b/api/tests/integration/tests/formats/cdxml/Suzuki_Rxn2.cdxml @@ -0,0 +1,3202 @@ + + + + + + + + + + + + + + + + + +NHOO-O-K+K+BOHOHNBrNPdOHOHPd(OH)2KBrKBrBOHOHOHB(OH)3PCyCyOOMeOOMeCOOOKHKHCO3NHPdPOSOOOMsCyCyOOMeOOMewaterOHHOHOHEtOHCOOOKKK2CO3Suzuki Rxn21.0 equiv1.1 equiv[boronic acid][aryl electrophile][desired product]+(4-(tert-butyl)phenyl)boronic acid123324-71-03-bromoquinoline5332-24-13-(4-(tert-butyl)phenyl)quinoline57479-16-02 equiv K2CO370 °C, 4 hrs0.2 M in limitingEtOH/water0.05 equiv SPhosPd G3[byproducts]Key(2-Dicyclohexylphosphino-2′,6′-dimethoxybiphenyl) [2-(2′-amino-1,1′-biphenyl)]palladium(II) methanesulfonate1445085-82-4MW 779.26SPhosPd G3[catalyst]7732-18-5[solvent]MW 18.02ethanol64-17-5[solvent]MW 46.07potassium carbonate584-08-7MW 138.20[base] \ No newline at end of file diff --git a/api/tests/integration/tests/formats/ket_cdxml.py b/api/tests/integration/tests/formats/ket_cdxml.py index 35fc22cd3b..a44c5ab807 100644 --- a/api/tests/integration/tests/formats/ket_cdxml.py +++ b/api/tests/integration/tests/formats/ket_cdxml.py @@ -1,11 +1,10 @@ +import difflib import os import sys def find_diff(a, b): - if a == b: - return "" - return "actual:\n{}\nexpected:\n{}".format(b, a) + return "\n".join(difflib.unified_diff(a.splitlines(), b.splitlines())) sys.path.append( @@ -72,13 +71,13 @@ def find_diff(a, b): print(filename + ".cdxml:SUCCEED") else: print(filename + ".cdxml:FAILED") - print("difference:" + diff) + print(diff) diff = find_diff(ket_ref, ket_result) if not diff: print(filename + ".ket:SUCCEED") else: print(filename + ".ket:FAILED") - print("difference:" + diff) + print(diff) print("*** KET to CDXML ***") @@ -108,4 +107,4 @@ def find_diff(a, b): print(filename + ".cdxml:SUCCEED") else: print(filename + ".cdxml:FAILED") - print("difference:" + diff) + print(diff) diff --git a/api/tests/integration/tests/formats/ref/AlcoholOxidation_Rxn1.b64cdx b/api/tests/integration/tests/formats/ref/AlcoholOxidation_Rxn1.b64cdx new file mode 100644 index 0000000000..99d92e869f --- /dev/null +++ b/api/tests/integration/tests/formats/ref/AlcoholOxidation_Rxn1.b64cdx @@ -0,0 +1 @@ +PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIENEWE1MIFNZU1RFTSAiaHR0cDovL3d3dy5jYW1icmlkZ2Vzb2Z0LmNvbS94bWwvY2R4bWwuZHRkIj4KPENEWE1MIEJvbmRMZW5ndGg9IjMwLjAwMDAwMCIgTGFiZWxGb250PSIzIiBDYXB0aW9uRm9udD0iNCI+CiAgICA8Zm9udHRhYmxlIGlkPSIxIj4KICAgICAgICA8Zm9udCBpZD0iMiIgY2hhcnNldD0idXRmLTgiIG5hbWU9IkFyaWFsIi8+CiAgICAgICAgPGZvbnQgaWQ9IjMiIGNoYXJzZXQ9InV0Zi04IiBuYW1lPSJUaW1lcyBOZXcgUm9tYW4iLz4KICAgIDwvZm9udHRhYmxlPgogICAgPGNvbG9ydGFibGU+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMCIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIxIiBnPSIwIiBiPSIwIi8+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjAiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMSIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIwIiBnPSIxIiBiPSIxIi8+CiAgICAgICAgPGNvbG9yIHI9IjAiIGc9IjAiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMSIgZz0iMCIgYj0iMSIvPgogICAgICAgIDxjb2xvciByPSIwLjUiIGc9IjAuNSIgYj0iMC41Ii8+CiAgICA8L2NvbG9ydGFibGU+CiAgICA8cGFnZSBIZWlnaHRQYWdlcz0iMSIgV2lkdGhQYWdlcz0iMSI+CiAgICAgICAgPGZyYWdtZW50IGlkPSI0Ij4KICAgICAgICAgICAgPG4gaWQ9IjUiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMSIgcD0iMjU3LjY3MDAxMyA2MC45MTk5OTgiPgogICAgICAgICAgICAgICAgPHQgcD0iMjU3LjY3MDAxMyA2MC45MTk5OTgiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PSDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNiIgcD0iMjQ1LjE5OTk5NyA1My43MjAwMDEiLz4KICAgICAgICAgICAgPG4gaWQ9IjciIHA9IjIzMi43Mjk5OTYgNjAuOTE5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSI4IiBwPSIyMzIuNzI5OTk2IDc1LjMyMDAwMCIvPgogICAgICAgICAgICA8biBpZD0iOSIgcD0iMjIwLjI1OTk5NSA4Mi41MTk5OTciLz4KICAgICAgICAgICAgPG4gaWQ9IjEwIiBwPSIyMDcuNzg5OTkzIDc1LjMyMDAwMCIvPgogICAgICAgICAgICA8biBpZD0iMTEiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTk1LjMxOTk5MiA4Mi41MTk5OTciPgogICAgICAgICAgICAgICAgPHQgcD0iMTk1LjMxOTk5MiA4Mi41MTk5OTciIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxMiIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxOTMuODA5OTk4IDk2Ljg0OTk5OCI+CiAgICAgICAgICAgICAgICA8dCBwPSIxOTMuODA5OTk4IDk2Ljg0OTk5OCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk48L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjEzIiBwPSIxNzkuNzE5OTg2IDk5LjgzOTk5NiIvPgogICAgICAgICAgICA8biBpZD0iMTQiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTcyLjUxOTk4OSA4Ny4zNzAwMDMiPgogICAgICAgICAgICAgICAgPHQgcD0iMTcyLjUxOTk4OSA4Ny4zNzAwMDMiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxNSIgcD0iMTgyLjE1OTk4OCA3Ni42Njk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjE2IiBwPSIyMDcuNzg5OTkzIDYwLjkxOTk5OCIvPgogICAgICAgICAgICA8biBpZD0iMTciIHA9IjIyMC4yNTk5OTUgNTMuNzIwMDAxIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNDkiIEI9IjUiIEU9IjYiLz4KICAgICAgICAgICAgPGIgaWQ9IjI1MCIgQj0iNiIgRT0iNyIvPgogICAgICAgICAgICA8YiBpZD0iMjUxIiBCPSI3IiBFPSI4IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjUyIiBCPSI4IiBFPSI5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNTMiIEI9IjkiIEU9IjEwIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjU0IiBCPSIxMCIgRT0iMTEiLz4KICAgICAgICAgICAgPGIgaWQ9IjI1NSIgQj0iMTEiIEU9IjEyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNTYiIEI9IjEyIiBFPSIxMyIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI1NyIgQj0iMTMiIEU9IjE0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNTgiIEI9IjE0IiBFPSIxNSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI1OSIgQj0iMTEiIEU9IjE1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNjAiIEI9IjEwIiBFPSIxNiIvPgogICAgICAgICAgICA8YiBpZD0iMjYxIiBCPSIxNiIgRT0iMTciIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNjIiIEI9IjciIEU9IjE3Ii8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjE4Ij4KICAgICAgICAgICAgPG4gaWQ9IjE5IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjUxNC4yNzk5NjggNTMuNTcwMDAwIj4KICAgICAgICAgICAgICAgIDx0IHA9IjUxNC4yNzk5NjggNTMuNTcwMDAwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMjAiIHA9IjUwMS44MDAwMTggNDYuMzY5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyMSIgcD0iNDg5LjMzMDAxNyA1My41NzAwMDAiLz4KICAgICAgICAgICAgPG4gaWQ9IjIyIiBwPSI0ODkuMzMwMDE3IDY3Ljk3MDAwMSIvPgogICAgICAgICAgICA8biBpZD0iMjMiIHA9IjQ3Ni44NjAwMTYgNzUuMTY5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyNCIgcD0iNDY0LjM5MDAxNSA2Ny45NzAwMDEiLz4KICAgICAgICAgICAgPG4gaWQ9IjI1IiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjQ1MS45MjAwMTMgNzUuMTY5OTk4Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjQ1MS45MjAwMTMgNzUuMTY5OTk4IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMjYiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNDUwLjQyMDAxMyA4OS40ODk5OTgiPgogICAgICAgICAgICAgICAgPHQgcD0iNDUwLjQyMDAxMyA4OS40ODk5OTgiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIyNyIgcD0iNDM2LjMzMDAxNyA5Mi40ODAwMDMiLz4KICAgICAgICAgICAgPG4gaWQ9IjI4IiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjQyOS4xMzAwMDUgODAuMDEwMDAyIj4KICAgICAgICAgICAgICAgIDx0IHA9IjQyOS4xMzAwMDUgODAuMDEwMDAyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMjkiIHA9IjQzOC43NzAwMjAgNjkuMzA5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSIzMCIgcD0iNDY0LjM5MDAxNSA1My41NzAwMDAiLz4KICAgICAgICAgICAgPG4gaWQ9IjMxIiBwPSI0NzYuODYwMDE2IDQ2LjM2OTk5OSIvPgogICAgICAgICAgICA8YiBpZD0iMjYzIiBCPSIxOSIgRT0iMjAiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNjQiIEI9IjIwIiBFPSIyMSIvPgogICAgICAgICAgICA8YiBpZD0iMjY1IiBCPSIyMSIgRT0iMjIiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNjYiIEI9IjIyIiBFPSIyMyIvPgogICAgICAgICAgICA8YiBpZD0iMjY3IiBCPSIyMyIgRT0iMjQiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNjgiIEI9IjI0IiBFPSIyNSIvPgogICAgICAgICAgICA8YiBpZD0iMjY5IiBCPSIyNSIgRT0iMjYiLz4KICAgICAgICAgICAgPGIgaWQ9IjI3MCIgQj0iMjYiIEU9IjI3IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjcxIiBCPSIyNyIgRT0iMjgiLz4KICAgICAgICAgICAgPGIgaWQ9IjI3MiIgQj0iMjgiIEU9IjI5IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjczIiBCPSIyNSIgRT0iMjkiLz4KICAgICAgICAgICAgPGIgaWQ9IjI3NCIgQj0iMjQiIEU9IjMwIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNzUiIEI9IjMwIiBFPSIzMSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI3NiIgQj0iMjEiIEU9IjMxIi8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjMyIj4KICAgICAgICAgICAgPG4gaWQ9IjMzIiBFbGVtZW50PSIxOSIgQ2hhcmdlPSIxIiBOdW1IeWRyb2dlbnM9IjAiIHA9IjExMS4zNDk5OTggMzQ4LjgyOTk4NyI+CiAgICAgICAgICAgICAgICA8dCBwPSIxMTEuMzQ5OTk4IDM0OC44Mjk5ODciIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5LPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIzNCIgRWxlbWVudD0iMTkiIENoYXJnZT0iMSIgTnVtSHlkcm9nZW5zPSIwIiBwPSI2MC45NTAwMDUgMzQ4LjgyOTk4NyI+CiAgICAgICAgICAgICAgICA8dCBwPSI2MC45NTAwMDUgMzQ4LjgyOTk4NyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPks8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjM1IiBFbGVtZW50PSIxOSIgQ2hhcmdlPSIxIiBOdW1IeWRyb2dlbnM9IjAiIHA9IjE3Ljc1MDAwMCAzNzMuNzY5OTg5Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjE3Ljc1MDAwMCAzNzMuNzY5OTg5IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Szwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMzYiIEVsZW1lbnQ9IjE5IiBDaGFyZ2U9IjEiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTUxLjkwOTk4OCAzNzcuOTI5OTkzIj4KICAgICAgICAgICAgICAgIDx0IHA9IjE1MS45MDk5ODggMzc3LjkyOTk5MyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPks8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjM3IiBFbGVtZW50PSIxOSIgQ2hhcmdlPSIxIiBOdW1IeWRyb2dlbnM9IjAiIHA9IjE5My42OTk5OTcgMzc3LjkyOTk5MyI+CiAgICAgICAgICAgICAgICA8dCBwPSIxOTMuNjk5OTk3IDM3Ny45Mjk5OTMiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5LPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIzOCIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIxIiBwPSI3NS4zNDk5OTggMzYxLjI5OTk4OCI+CiAgICAgICAgICAgICAgICA8dCBwPSI3NS4zNDk5OTggMzYxLjI5OTk4OCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk9IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIzOSIgRWxlbWVudD0iMTYiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iODkuNzUwMDAwIDM2MS4yOTk5ODgiPgogICAgICAgICAgICAgICAgPHQgcD0iODkuNzUwMDAwIDM2MS4yOTk5ODgiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5TPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI0MCIgRWxlbWVudD0iOCIgQ2hhcmdlPSItMSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxMDQuMTUwMDAyIDM2MS4yOTk5ODgiPgogICAgICAgICAgICAgICAgPHQgcD0iMTA0LjE1MDAwMiAzNjEuMjk5OTg4IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNDEiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iODkuNzUwMDAwIDM3NS43MDAwMTIiPgogICAgICAgICAgICAgICAgPHQgcD0iODkuNzUwMDAwIDM3NS43MDAwMTIiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI0MiIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSI4OS43NTAwMDAgMzQ2Ljg5OTk5NCI+CiAgICAgICAgICAgICAgICA8dCBwPSI4OS43NTAwMDAgMzQ2Ljg5OTk5NCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjQzIiBFbGVtZW50PSI4IiBDaGFyZ2U9Ii0xIiBOdW1IeWRyb2dlbnM9IjAiIHA9IjI0Ljk1MDAwMSAzNjEuMjk5OTg4Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjI0Ljk1MDAwMSAzNjEuMjk5OTg4IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNDQiIEVsZW1lbnQ9IjE2IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjM5LjM1MDAwMiAzNjEuMjk5OTg4Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjM5LjM1MDAwMiAzNjEuMjk5OTg4IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Uzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNDUiIEVsZW1lbnQ9IjgiIENoYXJnZT0iLTEiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNTMuNzUwMDAwIDM2MS4yOTk5ODgiPgogICAgICAgICAgICAgICAgPHQgcD0iNTMuNzUwMDAwIDM2MS4yOTk5ODgiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI0NiIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIzOS4zNTAwMDIgMzc1LjcwMDAxMiI+CiAgICAgICAgICAgICAgICA8dCBwPSIzOS4zNTAwMDIgMzc1LjcwMDAxMiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjQ3IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjM5LjM1MDAwMiAzNDYuODk5OTk0Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjM5LjM1MDAwMiAzNDYuODk5OTk0IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNDgiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMSIgcD0iMTQ3Ljg5OTk5NCAzNDQuNjc5OTkzIj4KICAgICAgICAgICAgICAgIDx0IHA9IjE0Ny44OTk5OTQgMzQ0LjY3OTk5MyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk9IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI0OSIgRWxlbWVudD0iMTYiIENoYXJnZT0iMSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxMzkuNDM5OTg3IDM1Ni4zMjk5ODciPgogICAgICAgICAgICAgICAgPHQgcD0iMTM5LjQzOTk4NyAzNTYuMzI5OTg3IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Uzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNTAiIEVsZW1lbnQ9IjgiIENoYXJnZT0iLTEiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTUzLjEzOTk5OSAzNjAuNzc5OTk5Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjE1My4xMzk5OTkgMzYwLjc3OTk5OSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjUxIiBFbGVtZW50PSI4IiBDaGFyZ2U9Ii0xIiBOdW1IeWRyb2dlbnM9IjAiIHA9IjEzOS40Mzk5ODcgMzcwLjczMDAxMSI+CiAgICAgICAgICAgICAgICA8dCBwPSIxMzkuNDM5OTg3IDM3MC43MzAwMTEiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI1MiIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxMjUuNzUwMDE1IDM2MC43Nzk5OTkiPgogICAgICAgICAgICAgICAgPHQgcD0iMTI1Ljc1MDAxNSAzNjAuNzc5OTk5IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNTMiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTMwLjk3OTk5NiAzNDQuNjc5OTkzIj4KICAgICAgICAgICAgICAgIDx0IHA9IjEzMC45Nzk5OTYgMzQ0LjY3OTk5MyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjU0IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjE4OS42OTk5OTcgMzQ0LjY3OTk5MyI+CiAgICAgICAgICAgICAgICA8dCBwPSIxODkuNjk5OTk3IDM0NC42Nzk5OTMiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PSDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNTUiIEVsZW1lbnQ9IjE2IiBDaGFyZ2U9IjEiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTgxLjIyOTk5NiAzNTYuMzI5OTg3Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjE4MS4yMjk5OTYgMzU2LjMyOTk4NyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPlM8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjU2IiBFbGVtZW50PSI4IiBDaGFyZ2U9Ii0xIiBOdW1IeWRyb2dlbnM9IjAiIHA9IjE5NC45Mjk5OTMgMzYwLjc3OTk5OSI+CiAgICAgICAgICAgICAgICA8dCBwPSIxOTQuOTI5OTkzIDM2MC43Nzk5OTkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI1NyIgRWxlbWVudD0iOCIgQ2hhcmdlPSItMSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxODEuMjI5OTk2IDM3MC43MzAwMTEiPgogICAgICAgICAgICAgICAgPHQgcD0iMTgxLjIyOTk5NiAzNzAuNzMwMDExIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNTgiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTY3LjUzOTk5MyAzNjAuNzc5OTk5Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjE2Ny41Mzk5OTMgMzYwLjc3OTk5OSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjU5IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjE3Mi43Njk5ODkgMzQ0LjY3OTk5MyI+CiAgICAgICAgICAgICAgICA8dCBwPSIxNzIuNzY5OTg5IDM0NC42Nzk5OTMiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxiIGlkPSIyNzciIEI9IjM4IiBFPSIzOSIvPgogICAgICAgICAgICA8YiBpZD0iMjc4IiBCPSIzOSIgRT0iNDAiLz4KICAgICAgICAgICAgPGIgaWQ9IjI3OSIgQj0iMzkiIEU9IjQxIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjgwIiBCPSIzOSIgRT0iNDIiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyODEiIEI9IjQzIiBFPSI0NCIvPgogICAgICAgICAgICA8YiBpZD0iMjgyIiBCPSI0NCIgRT0iNDUiLz4KICAgICAgICAgICAgPGIgaWQ9IjI4MyIgQj0iNDQiIEU9IjQ2IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjg0IiBCPSI0NCIgRT0iNDciIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyODUiIEI9IjQ4IiBFPSI0OSIvPgogICAgICAgICAgICA8YiBpZD0iMjg2IiBCPSI0OSIgRT0iNTAiLz4KICAgICAgICAgICAgPGIgaWQ9IjI4NyIgQj0iNDkiIEU9IjUxIi8+CiAgICAgICAgICAgIDxiIGlkPSIyODgiIEI9IjQ5IiBFPSI1MiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI4OSIgQj0iNDkiIEU9IjUzIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjkwIiBCPSI1NCIgRT0iNTUiLz4KICAgICAgICAgICAgPGIgaWQ9IjI5MSIgQj0iNTUiIEU9IjU2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyOTIiIEI9IjU1IiBFPSI1NyIvPgogICAgICAgICAgICA8YiBpZD0iMjkzIiBCPSI1NSIgRT0iNTgiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyOTQiIEI9IjU1IiBFPSI1OSIgT3JkZXI9IjIiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNjAiPgogICAgICAgICAgICA8biBpZD0iNjEiIHA9IjI0NC43MDk5OTEgMzIyLjU3MDAwNyIvPgogICAgICAgICAgICA8biBpZD0iNjIiIHA9IjI0NC43MDk5OTEgMzM2LjkyMDAxMyIvPgogICAgICAgICAgICA8biBpZD0iNjMiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjU3LjE0MDAxNSAzNDQuMDg5OTk2Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjI1Ny4xNDAwMTUgMzQ0LjA4OTk5NiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk48L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjY0IiBwPSIyNjkuNTU5OTk4IDMzNi45MjAwMTMiLz4KICAgICAgICAgICAgPG4gaWQ9IjY1IiBwPSIyNjkuNTU5OTk4IDMyMi41NzAwMDciLz4KICAgICAgICAgICAgPG4gaWQ9IjY2IiBwPSIyNTcuMTQwMDE1IDMxNS4zOTAwMTUiLz4KICAgICAgICAgICAgPG4gaWQ9IjY3IiBwPSIyNzYuNzQwMDIxIDM0OS4zMzk5OTYiLz4KICAgICAgICAgICAgPG4gaWQ9IjY4IiBwPSIyODMuOTEwMDA0IDMzNi45MjAwMTMiLz4KICAgICAgICAgICAgPG4gaWQ9IjY5IiBwPSIyMzAuMzYwMDAxIDMzNi45MjAwMTMiLz4KICAgICAgICAgICAgPG4gaWQ9IjcwIiBwPSIyMzcuNTI5OTk5IDM0OS4zMzk5OTYiLz4KICAgICAgICAgICAgPG4gaWQ9IjcxIiBFbGVtZW50PSI4IiBSYWRpY2FsPSJEb3VibGV0IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjI1Ny4xNDAwMTUgMzU4LjQ0MDAwMiI+CiAgICAgICAgICAgICAgICA8dCBwPSIyNTcuMTQwMDE1IDM1OC40NDAwMDIiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxiIGlkPSIyOTUiIEI9IjYxIiBFPSI2MiIvPgogICAgICAgICAgICA8YiBpZD0iMjk2IiBCPSI2MiIgRT0iNjMiLz4KICAgICAgICAgICAgPGIgaWQ9IjI5NyIgQj0iNjMiIEU9IjY0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyOTgiIEI9IjY0IiBFPSI2NSIvPgogICAgICAgICAgICA8YiBpZD0iMjk5IiBCPSI2NSIgRT0iNjYiLz4KICAgICAgICAgICAgPGIgaWQ9IjMwMCIgQj0iNjYiIEU9IjYxIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMDEiIEI9IjY0IiBFPSI2NyIvPgogICAgICAgICAgICA8YiBpZD0iMzAyIiBCPSI2NCIgRT0iNjgiLz4KICAgICAgICAgICAgPGIgaWQ9IjMwMyIgQj0iNjIiIEU9IjY5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMDQiIEI9IjYyIiBFPSI3MCIvPgogICAgICAgICAgICA8YiBpZD0iMzA1IiBCPSI2MyIgRT0iNzEiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNzIiPgogICAgICAgICAgICA8biBpZD0iNzMiIHA9IjUyMy4xOTk5NTEgMzMxLjI1MDAwMCIvPgogICAgICAgICAgICA8biBpZD0iNzQiIEVsZW1lbnQ9IjE3IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjUzNS42Njk5ODMgMzI0LjA0OTk4OCI+CiAgICAgICAgICAgICAgICA8dCBwPSI1MzUuNjY5OTgzIDMyNC4wNDk5ODgiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5DbDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNzUiIEVsZW1lbnQ9IjE3IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjUxMC43MjAwMDEgMzI0LjA0OTk4OCI+CiAgICAgICAgICAgICAgICA8dCBwPSI1MTAuNzIwMDAxIDMyNC4wNDk5ODgiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5DbDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8YiBpZD0iMzA2IiBCPSI3MyIgRT0iNzQiLz4KICAgICAgICAgICAgPGIgaWQ9IjMwNyIgQj0iNzMiIEU9Ijc1Ii8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9Ijc2Ij4KICAgICAgICAgICAgPG4gaWQ9IjMxMCIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iMzExIj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNzciIEVsZW1lbnQ9IjEiIElzb3RvcGU9IjIiIHA9IjUwMi45MDk5NzMgMjc2LjI1MDAwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjUwMi45MDk5NzMgMjc2LjI1MDAwMCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+SDwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNzgiIHA9IjUxNS4zMzk5NjYgMjY5LjA3MDAwNyIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIzMTIiIE5vZGVUeXBlPSJFeHRlcm5hbENvbm5lY3Rpb25Qb2ludCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMDkiIEI9Ijc3IiBFPSI3OCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMTQiIEI9IjMxMiIgRT0iNzgiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+RENNPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI3OSIgTm9kZVR5cGU9IkdlbmVyaWNOaWNrbmFtZSIgR2VuZXJpY05pY2tuYW1lPSJNIiBwPSI1MjcuNzY5OTU4IDI3Ni4yNTAwMDAiPgogICAgICAgICAgICAgICAgPHQgcD0iNTI3Ljc2OTk1OCAyNzYuMjUwMDAwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+TTwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8YiBpZD0iMzEzIiBCPSI3OSIgRT0iMzEwIi8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjgwIj4KICAgICAgICAgICAgPG4gaWQ9IjMyMSIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iMzIyIj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iODEiIEVsZW1lbnQ9IjE2IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjU5OC40NTk5NjEgMjk2LjUyOTk5OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjU5OC40NTk5NjEgMjk2LjUyOTk5OSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Uzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iODIiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNjA1LjYzOTk1NCAzMDguOTUwMDEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iNjA1LjYzOTk1NCAzMDguOTUwMDEyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI4MyIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSI1OTEuMjg5OTc4IDI4NC4xMDAwMDYiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSI1OTEuMjg5OTc4IDI4NC4xMDAwMDYiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijg0IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjU4Ni4wMjk5NjggMzAzLjcwMDAxMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjU4Ni4wMjk5NjggMzAzLjcwMDAxMiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iODUiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNjEwLjg4OTk1NCAyODkuMzUwMDA2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iNjEwLjg4OTk1NCAyODkuMzUwMDA2IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI4NiIgRWxlbWVudD0iMTkiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNTczLjYwOTk4NSAyOTYuNTI5OTk5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iNTczLjYwOTk4NSAyOTYuNTI5OTk5IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5LPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI4NyIgRWxlbWVudD0iMTkiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNjIzLjMyMDAwNyAyOTYuNTI5OTk5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iNjIzLjMyMDAwNyAyOTYuNTI5OTk5IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5LPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMTUiIEI9Ijg1IiBFPSI4NyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMTYiIEI9Ijg0IiBFPSI4NiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMTciIEI9IjgxIiBFPSI4MiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzE4IiBCPSI4MSIgRT0iODMiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMxOSIgQj0iODEiIEU9Ijg0Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMyMCIgQj0iODEiIEU9Ijg1Ii8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPksyPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9Ijg4Ij4KICAgICAgICAgICAgPG4gaWQ9IjMzOCIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iMzM5Ij4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iODkiIHA9IjU4Ni43MTk5NzEgMjc3Ljk1MDAxMiIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI5MCIgcD0iNTc0LjI5OTk4OCAyODUuMTE5OTk1Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjkxIiBwPSI1NjEuODY5OTk1IDI3Ny45NTAwMTIiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iOTIiIHA9IjU0OS40NDAwMDIgMjg1LjExOTk5NSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI5MyIgcD0iNDk5LjczMDAxMSAyODUuMTE5OTk1Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijk0IiBwPSI1MTIuMTU5OTczIDI3Ny45NTAwMTIiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iOTUiIHA9IjUyNC41ODk5NjYgMjg1LjExOTk5NSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI5NiIgcD0iNTM3LjAxOTk1OCAyNzcuOTUwMDEyIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijk3IiBwPSI1ODYuNzE5OTcxIDI5OS40NzAwMDEiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iOTgiIHA9IjU3NC4yOTk5ODggMzA2LjY0OTk5NCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI5OSIgcD0iNTYxLjg2OTk5NSAyOTkuNDcwMDAxIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEwMCIgcD0iNTQ5LjQ0MDAwMiAzMDYuNjQ5OTk0Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEwMSIgcD0iNDk5LjczMDAxMSAzMDYuNjQ5OTk0Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEwMiIgcD0iNTEyLjE1OTk3MyAyOTkuNDcwMDAxIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEwMyIgcD0iNTI0LjU4OTk2NiAzMDYuNjQ5OTk0Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEwNCIgcD0iNTM3LjAxOTk1OCAyOTkuNDcwMDAxIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEwNSIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIxIiBwPSI2MDEuMDcwMDA3IDI5Mi4yOTk5ODgiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSI2MDEuMDcwMDA3IDI5Mi4yOTk5ODgiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk5IPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMDYiIEVsZW1lbnQ9IjM1IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjYxNS40MTk5ODMgMjkyLjI5OTk4OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjYxNS40MTk5ODMgMjkyLjI5OTk4OCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+QnI8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMyMyIgQj0iMTA1IiBFPSIxMDYiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMyNCIgQj0iMTAzIiBFPSIxMDQiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzI1IiBCPSIxMDIiIEU9IjEwMyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMjYiIEI9IjEwMSIgRT0iMTAyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMyNyIgQj0iMTAwIiBFPSIxMDQiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzI4IiBCPSI5OSIgRT0iMTAwIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMyOSIgQj0iOTgiIEU9Ijk5Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMzMCIgQj0iOTciIEU9Ijk4Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMzMSIgQj0iOTUiIEU9Ijk2Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMzMiIgQj0iOTQiIEU9Ijk1Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMzMyIgQj0iOTMiIEU9Ijk0Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMzNCIgQj0iOTIiIEU9Ijk2Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMzNSIgQj0iOTEiIEU9IjkyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMzNiIgQj0iOTAiIEU9IjkxIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMzNyIgQj0iODkiIEU9IjkwIi8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPm4tQnU0TkJyPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjEwNyI+CiAgICAgICAgICAgIDxuIGlkPSIxMDgiIHA9IjQ2MS45ODAwMTEgMzM4Ljg2OTk5NSIvPgogICAgICAgICAgICA8biBpZD0iMTA5IiBwPSI0NDkuNTU5OTk4IDM0Ni4wNDAwMDkiLz4KICAgICAgICAgICAgPG4gaWQ9IjExMCIgcD0iNDM3LjEzMDAwNSAzMzguODY5OTk1Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMTEiIHA9IjQyNC43MDAwMTIgMzQ2LjA0MDAwOSIvPgogICAgICAgICAgICA8biBpZD0iMTEyIiBFbGVtZW50PSI3IiBDaGFyZ2U9IjEiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNDEyLjI3MDAyMCAzMzguODY5OTk1Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjQxMi4yNzAwMjAgMzM4Ljg2OTk5NSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk48L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjExMyIgcD0iNDE5LjQ1MDAxMiAzMjYuNDQwMDAyIi8+CiAgICAgICAgICAgIDxuIGlkPSIxMTQiIHA9IjM5OS44NTAwMDYgMzMxLjY5MDAwMiIvPgogICAgICAgICAgICA8biBpZD0iMTE1IiBwPSI0MDUuMTAwMDA2IDM1MS4yOTk5ODgiLz4KICAgICAgICAgICAgPG4gaWQ9IjExNiIgcD0iMzkwLjc1MDAwMCAzNTEuMjk5OTg4Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMTciIHA9IjM4My41NzAwMDcgMzYzLjcyMDAwMSIvPgogICAgICAgICAgICA8biBpZD0iMTE4IiBwPSIzNjkuMjIwMDAxIDM2My43MjAwMDEiLz4KICAgICAgICAgICAgPG4gaWQ9IjExOSIgcD0iNDMzLjgwMDAxOCAzMjYuNDQwMDAyIi8+CiAgICAgICAgICAgIDxuIGlkPSIxMjAiIHA9IjQ0MC45NzAwMDEgMzE0LjAxMDAxMCIvPgogICAgICAgICAgICA8biBpZD0iMTIxIiBwPSI0NTUuMzIwMDA3IDMxNC4wMTAwMTAiLz4KICAgICAgICAgICAgPG4gaWQ9IjEyMiIgcD0iMzg3LjQyMDAxMyAzMzguODY5OTk1Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMjMiIHA9IjM3NC45OTAwMjEgMzMxLjY5MDAwMiIvPgogICAgICAgICAgICA8biBpZD0iMTI0IiBwPSIzNjIuNTU5OTk4IDMzOC44Njk5OTUiLz4KICAgICAgICAgICAgPG4gaWQ9IjEyNSIgRWxlbWVudD0iMzUiIENoYXJnZT0iLTEiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNDA3LjIwMDAxMiAzMjIuOTQwMDAyIj4KICAgICAgICAgICAgICAgIDx0IHA9IjQwNy4yMDAwMTIgMzIyLjk0MDAwMiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkJyPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxiIGlkPSIzNDAiIEI9IjEwOCIgRT0iMTA5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzNDEiIEI9IjEwOSIgRT0iMTEwIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNDIiIEI9IjExMCIgRT0iMTExIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNDMiIEI9IjExMSIgRT0iMTEyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNDQiIEI9IjExMiIgRT0iMTEzIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNDUiIEI9IjExMiIgRT0iMTE0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzNDYiIEI9IjExMiIgRT0iMTE1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzNDciIEI9IjExNSIgRT0iMTE2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzNDgiIEI9IjExNiIgRT0iMTE3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzNDkiIEI9IjExNyIgRT0iMTE4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzNTAiIEI9IjExMyIgRT0iMTE5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzNTEiIEI9IjExOSIgRT0iMTIwIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNTIiIEI9IjEyMCIgRT0iMTIxIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNTMiIEI9IjExNCIgRT0iMTIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNTQiIEI9IjEyMiIgRT0iMTIzIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNTUiIEI9IjEyMyIgRT0iMTI0Ii8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8dCBpZD0iMTI2IiBwPSIzNTYuMDUwMDE4IDE1MS4yNDQ5OTUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjAuMiBNIGluIGxpbWl0aW5nPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTI5IiBwPSIzNTcuMDI0OTk0IDEzMi41NzQ5OTciIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPnIudC4sIDEyIGhyczwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEzMiIgcD0iMzU1LjExNDk5MCA2NS4zNDk5OTgiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjAuMDEgZXF1aXY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMzIiIHA9IjM1NS4xMTQ5OTAgNjUuMzQ5OTk4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4gVEVNUE88L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMzUiIHA9IjM1My40MTUwMDkgODEuOTU5OTk5IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4wLjA0IGVxdWl2PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTM1IiBwPSIzNTMuNDE1MDA5IDgxLjk1OTk5OSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+IFRCQUI8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMzgiIHA9IjM1NC44Mzk5OTYgNDcuNTc5OTk4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4yLjIgZXF1aXYgPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTM4IiBwPSIzNTQuODM5OTk2IDQ3LjU3OTk5OCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+T3hvbmU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNDEiIHA9IjM1Mi40MzQ5OTggMTEyLjE2OTk5OCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+RENNPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTQ0IiBwPSI4OC4yNzQ5OTQgNS45MjUwMDAiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTYiIGZhY2U9IjIiPkFsY29ob2wgT3hpZGF0aW9uIFJ4bjE8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNDciIHA9IjIyMy43NjUwMTUgMTI5LjgwOTk5OCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj40LSgxLDIsNC10cmlhem9sLTEteWwpYmVuemVuZW1ldGhhbm9sPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTUwIiBwPSIyMTguODI0OTk3IDE0NC4zNjk5OTUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+MTQzNDI2LTUwLTA8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNTMiIHA9IjQ3MS43MTQ5OTYgMTI5LjgwOTk5OCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj40LSgxLDIsNC10cmlhem9sLTEteWwpYmVuemFsZGVoeWRlPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTU2IiBwPSI0NzEuNjc0OTg4IDE0NC4zNjk5OTUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+Mjc5OTYtODYtNzwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE1OSIgcD0iMjE4LjgzMDAwMiAxODUuMDIwMDA0IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4xLjAgZXF1aXY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNjIiIHA9IjEwOC4xNzQ5OTUgNDMxLjUxNDk4NCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W294aWRhbnRdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTY1IiBwPSIyMTguODI0OTk3IDIwMS4wNDQ5OTgiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPlthbGNvaG9sXTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE2OCIgcD0iNDcxLjU3MDAwNyAyMDEuMDQ0OTk4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bZGVzaXJlZCBwcm9kdWN0XTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE3MSIgcD0iNjExLjA5OTk3NiAyNTYuNzIwMDAxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bYnlwcm9kdWN0c108L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNzQiIHA9IjE5LjM2NTAwMiAyNjIuOTQ5OTgyIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIxIj5LZXk8L3M+CiAgICAgICAgPC90PgogICAgICAgIDxncmFwaGljIGlkPSIxNzciIEJvdW5kaW5nQm94PSIwLjgwMDAwMCA0NzEuMTAwMDA2IDU3NC4wMzk5NzggMjQ5Ljc5OTk3MyIgR3JhcGhpY1R5cGU9IlJlY3RhbmdsZSIvPgogICAgICAgIDx0IGlkPSIxODAiIHA9IjEwOC4xNzUwMDMgMjk5LjE4MDAyMyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj43MDY5My02Mi04PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTgzIiBwPSIxMDguMTc1MDAzIDMyOC4wODAwMTciIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+TVcgMzA3LjM4PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTg2IiBwPSIyNTcuMTM1MDEwIDI3Mi42NTk5NzMiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+VEVNUE88L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxODkiIHA9IjEwOC4xODAwMDAgMjcyLjY1OTk3MyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj5PeG9uZTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE5MiIgcD0iNDEyLjI3NTAyNCAzOTMuMTY0OTc4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bYWRkaXRpdmVdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTk1IiBwPSIyNTcuMTM1MDEwIDM5MS40MDAwMjQiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltjYXRhbHlzdF08L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxOTgiIHA9IjUyMS44NDQ5NzEgMjg0LjU2NTAwMiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj5kaWNobG9yb21ldGhhbmU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMDEiIHA9IjUyMS44NTAwMzcgMjk5LjE4MDAyMyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj43NS0wOS0yPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjA0IiBwPSI1MjEuODQ0OTcxIDM2NC4xNjQ5NzgiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltzb2x2ZW50XTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIwNyIgcD0iNTIxLjg0MDAyNyAzNDYuNDE5OTgzIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPk1XIDg0LjkzPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjEwIiBwPSI0MTEuMzMwMDE3IDI4NS40NTUwMTciIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+dGV0cmFidXR5bGFtbW9uaXVtIGJyb21pZGU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMTMiIHA9IjI1Ny4xMjk5NzQgMjk5LjE4MDAyMyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj4yNTY0LTgzLTI8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMTYiIHA9IjQxMi4yNjk5ODkgMjk5LjE4MDAyMyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj4xNjQzLTE5LTI8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMTkiIHA9IjEwOC4xODAwMDAgNDEyLjYzNDk3OSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj5PeG9uZSBjb21wb25lbnRzPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjIyIiBwPSIxMDguMTc0OTg4IDM5Mi40MTAwMDQiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+TVcgNjE0Ljc0PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjI1IiBwPSIxMDguMTgwMDAwIDMxMy44ODUwMTAiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+S0hTTzU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMjUiIHA9IjEwOC4xODAwMDAgMzEzLjg4NTAxMCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj7iiJnCvUs8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMjUiIHA9IjEwOC4xODAwMDAgMzEzLjg4NTAxMCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj5IU080PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjI1IiBwPSIxMDguMTgwMDAwIDMxMy44ODUwMTAiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+4oiZwr08L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMjUiIHA9IjEwOC4xODAwMDAgMzEzLjg4NTAxMCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj5LMlNPNDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIyOCIgcD0iMjU3LjEzNTAxMCAyODUuNTEwMDEwIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPigyLDIsNiw2LXRldHJhbWV0aHlscGlwZXJpZGluLTEteWwpb3h5bDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIzMSIgcD0iMjU3LjEzNTAxMCAzNzIuOTkwMDIxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPk1XIDE1Ni4yNTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIzNCIgcD0iNDEyLjI2OTk4OSAyNzIuNTQ5OTg4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPlRCQUI8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMzciIHA9IjQxMi4yNTQ5NzQgMzc1LjUyOTk5OSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj5NVyAzMjIuMzg8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyNDAiIHA9IjEwNC43Nzk5OTkgMjg1LjUxMDAxMCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj5wb3Rhc3NpdW0gcGVyb3h5bW9ub3N1bGZhdGU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDxhcnJvdyBpZD0iMjQzIiBCb3VuZGluZ0JveD0iNjUzLjE3OTk5MyAzNjUuNTcwMDA3IDY1My4xNzk5OTMgMjY3LjMyMDAwNyIgRmlsbFR5cGU9Ik5vbmUiIEFycm93aGVhZFR5cGU9IlNvbGlkIiBIZWFkU2l6ZT0iMjI1MCIgQXJyb3doZWFkV2lkdGg9IjU2MyIgQXJyb3doZWFkSGVhZD0iRnVsbCIgQXJyb3doZWFkQ2VudGVyU2l6ZT0iMjUiIEhlYWQzRD0iNjUzLjE3OTk5MyAzNjUuNTcwMDA3IDAuMDAwMDAwIiBUYWlsM0Q9IjY1My4xNzk5OTMgMjY3LjMyMDAwNyAwLjAwMDAwMCIvPgogICAgICAgIDxhcnJvdyBpZD0iMjQ2IiBCb3VuZGluZ0JveD0iMzk4LjE0OTk5NCA5Ny40NDAwMDIgMzE0LjIwMDAxMiA5Ny40NDAwMDIiIEZpbGxUeXBlPSJOb25lIiBBcnJvd2hlYWRUeXBlPSJTb2xpZCIgSGVhZFNpemU9IjIyNTAiIEFycm93aGVhZFdpZHRoPSI1NjMiIEFycm93aGVhZEhlYWQ9IkZ1bGwiIEFycm93aGVhZENlbnRlclNpemU9IjI1IiBIZWFkM0Q9IjM5OC4xNDk5OTQgOTcuNDQwMDAyIDAuMDAwMDAwIiBUYWlsM0Q9IjMxNC4yMDAwMTIgOTcuNDQwMDAyIDAuMDAwMDAwIi8+CiAgICAgICAgPHNjaGVtZT4KICAgICAgICAgICAgPHN0ZXAgUmVhY3Rpb25TdGVwQXJyb3dzPSIyNDMiLz4KICAgICAgICAgICAgPHN0ZXAgUmVhY3Rpb25TdGVwQXJyb3dzPSIyNDYiLz4KICAgICAgICA8L3NjaGVtZT4KICAgIDwvcGFnZT4KPC9DRFhNTD4K \ No newline at end of file diff --git a/api/tests/integration/tests/formats/ref/AlcoholOxidation_Rxn1.cdxml b/api/tests/integration/tests/formats/ref/AlcoholOxidation_Rxn1.cdxml new file mode 100644 index 0000000000..a450dad7a5 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/AlcoholOxidation_Rxn1.cdxml @@ -0,0 +1,623 @@ + + + + + + + + + + + + + + + + + + + + + + + OH + + + + + + + + + + N + + + + + N + + + + + + N + + + + + + + + + + + + + + + + + + + + + + + + O + + + + + + + + + + N + + + + + N + + + + + + N + + + + + + + + + + + + + + + + + + + + + + + + K + + + + + K + + + + + K + + + + + K + + + + + K + + + + + OH + + + + + S + + + + + O + + + + + O + + + + + O + + + + + O + + + + + S + + + + + O + + + + + O + + + + + O + + + + + OH + + + + + S + + + + + O + + + + + O + + + + + O + + + + + O + + + + + OH + + + + + S + + + + + O + + + + + O + + + + + O + + + + + O + + + + + + + + + + + + + + + + + + + + + + + + + + + N + + + + + + + + + + + + O + + + + + + + + + + + + + + + + + + + Cl + + + + + Cl + + + + + + + + + + + H + + + + + + + + + DCM + + + + + M + + + + + + + + + + S + + + + + O + + + + + O + + + + + O + + + + + O + + + + + K + + + + + K + + + + + + + + + + + K2 + + + + + + + + + + + + + + + + + + + + + + + + + NH + + + + + Br + + + + + + + + + + + + + + + + + + + + n-Bu4NBr + + + + + + + + + + + N + + + + + + + + + + + + + + + + + Br + + + + + + + + + + + + + + + + + + + + + 0.2 M in limiting + + + r.t., 12 hrs + + + 0.01 equiv + + + TEMPO + + + 0.04 equiv + + + TBAB + + + 2.2 equiv + + + Oxone + + + DCM + + + Alcohol Oxidation Rxn1 + + + 4-(1,2,4-triazol-1-yl)benzenemethanol + + + 143426-50-0 + + + 4-(1,2,4-triazol-1-yl)benzaldehyde + + + 27996-86-7 + + + 1.0 equiv + + + [oxidant] + + + [alcohol] + + + [desired product] + + + [byproducts] + + + Key + + + + 70693-62-8 + + + MW 307.38 + + + TEMPO + + + Oxone + + + [additive] + + + [catalyst] + + + dichloromethane + + + 75-09-2 + + + [solvent] + + + MW 84.93 + + + tetrabutylammonium bromide + + + 2564-83-2 + + + 1643-19-2 + + + Oxone components + + + MW 614.74 + + + KHSO5 + + + ∙½K + + + HSO4 + + + ∙½ + + + K2SO4 + + + (2,2,6,6-tetramethylpiperidin-1-yl)oxyl + + + MW 156.25 + + + TBAB + + + MW 322.38 + + + potassium peroxymonosulfate + + + + + + + + + diff --git a/api/tests/integration/tests/formats/ref/AlcoholOxidation_Rxn2.b64cdx b/api/tests/integration/tests/formats/ref/AlcoholOxidation_Rxn2.b64cdx new file mode 100644 index 0000000000..c0f17b4c5a --- /dev/null +++ b/api/tests/integration/tests/formats/ref/AlcoholOxidation_Rxn2.b64cdx @@ -0,0 +1 @@ +PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIENEWE1MIFNZU1RFTSAiaHR0cDovL3d3dy5jYW1icmlkZ2Vzb2Z0LmNvbS94bWwvY2R4bWwuZHRkIj4KPENEWE1MIEJvbmRMZW5ndGg9IjMwLjAwMDAwMCIgTGFiZWxGb250PSIzIiBDYXB0aW9uRm9udD0iNCI+CiAgICA8Zm9udHRhYmxlIGlkPSIxIj4KICAgICAgICA8Zm9udCBpZD0iMiIgY2hhcnNldD0idXRmLTgiIG5hbWU9IkFyaWFsIi8+CiAgICAgICAgPGZvbnQgaWQ9IjMiIGNoYXJzZXQ9InV0Zi04IiBuYW1lPSJUaW1lcyBOZXcgUm9tYW4iLz4KICAgIDwvZm9udHRhYmxlPgogICAgPGNvbG9ydGFibGU+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMCIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIxIiBnPSIwIiBiPSIwIi8+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjAiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMSIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIwIiBnPSIxIiBiPSIxIi8+CiAgICAgICAgPGNvbG9yIHI9IjAiIGc9IjAiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMSIgZz0iMCIgYj0iMSIvPgogICAgICAgIDxjb2xvciByPSIwLjUiIGc9IjAuNSIgYj0iMC41Ii8+CiAgICA8L2NvbG9ydGFibGU+CiAgICA8cGFnZSBIZWlnaHRQYWdlcz0iMSIgV2lkdGhQYWdlcz0iMSI+CiAgICAgICAgPGZyYWdtZW50IGlkPSI0Ij4KICAgICAgICAgICAgPG4gaWQ9IjUiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMSIgcD0iMjc4LjQ3MDAwMSA2MC45MTAwMDQiPgogICAgICAgICAgICAgICAgPHQgcD0iMjc4LjQ3MDAwMSA2MC45MTAwMDQiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PSDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNiIgcD0iMjY2LjAwMDAwMCA1My43MDk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9IjciIHA9IjI1My41Mjk5OTkgNjAuOTEwMDA0Ii8+CiAgICAgICAgICAgIDxuIGlkPSI4IiBwPSIyNTMuNTI5OTk5IDc1LjMwOTk5OCIvPgogICAgICAgICAgICA8biBpZD0iOSIgcD0iMjQxLjA2MDAxMyA4Mi41MTAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjEwIiBwPSIyMjguNTkwMDEyIDc1LjMwOTk5OCIvPgogICAgICAgICAgICA8biBpZD0iMTEiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjE2LjEyMDAxMCA4Mi41MTAwMDIiPgogICAgICAgICAgICAgICAgPHQgcD0iMjE2LjEyMDAxMCA4Mi41MTAwMDIiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxMiIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyMTQuNjEwMDAxIDk2LjgzOTk5NiI+CiAgICAgICAgICAgICAgICA8dCBwPSIyMTQuNjEwMDAxIDk2LjgzOTk5NiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk48L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjEzIiBwPSIyMDAuNTIwMDA0IDk5LjgzMDAwMiIvPgogICAgICAgICAgICA8biBpZD0iMTQiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTkzLjMyMDAwNyA4Ny4zNjAwMDEiPgogICAgICAgICAgICAgICAgPHQgcD0iMTkzLjMyMDAwNyA4Ny4zNjAwMDEiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxNSIgcD0iMjAyLjk2MDAwNyA3Ni42NjAwMDQiLz4KICAgICAgICAgICAgPG4gaWQ9IjE2IiBwPSIyMjguNTkwMDEyIDYwLjkxMDAwNCIvPgogICAgICAgICAgICA8biBpZD0iMTciIHA9IjI0MS4wNjAwMTMgNTMuNzA5OTk5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxODYiIEI9IjUiIEU9IjYiLz4KICAgICAgICAgICAgPGIgaWQ9IjE4NyIgQj0iNiIgRT0iNyIvPgogICAgICAgICAgICA8YiBpZD0iMTg4IiBCPSI3IiBFPSI4IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMTg5IiBCPSI4IiBFPSI5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxOTAiIEI9IjkiIEU9IjEwIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMTkxIiBCPSIxMCIgRT0iMTEiLz4KICAgICAgICAgICAgPGIgaWQ9IjE5MiIgQj0iMTEiIEU9IjEyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxOTMiIEI9IjEyIiBFPSIxMyIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE5NCIgQj0iMTMiIEU9IjE0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxOTUiIEI9IjE0IiBFPSIxNSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE5NiIgQj0iMTEiIEU9IjE1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxOTciIEI9IjEwIiBFPSIxNiIvPgogICAgICAgICAgICA8YiBpZD0iMTk4IiBCPSIxNiIgRT0iMTciIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxOTkiIEI9IjciIEU9IjE3Ii8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjE4Ij4KICAgICAgICAgICAgPG4gaWQ9IjE5IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjUwMi42ODAwMjMgMzEuNjUwMDAyIj4KICAgICAgICAgICAgICAgIDx0IHA9IjUwMi42ODAwMjMgMzEuNjUwMDAyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMjAiIHA9IjUwMi42ODAwMjMgNDYuMDQ5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyMSIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIxIiBwPSI1MTUuMTQ5OTYzIDUzLjI1MDAwMCI+CiAgICAgICAgICAgICAgICA8dCBwPSI1MTUuMTQ5OTYzIDUzLjI1MDAwMCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk9IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIyMiIgcD0iNDkwLjIxMDAyMiA1My4yNTAwMDAiLz4KICAgICAgICAgICAgPG4gaWQ9IjIzIiBwPSI0OTAuMjEwMDIyIDY3LjY1MDAwMiIvPgogICAgICAgICAgICA8biBpZD0iMjQiIHA9IjQ3Ny43NDAwMjEgNzQuODQ5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyNSIgcD0iNDY1LjI3MDAyMCA2Ny42NTAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjI2IiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjQ1Mi44MDAwMTggNzQuODQ5OTk4Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjQ1Mi44MDAwMTggNzQuODQ5OTk4IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMjciIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNDUxLjI5MDAwOSA4OS4xNjk5OTgiPgogICAgICAgICAgICAgICAgPHQgcD0iNDUxLjI5MDAwOSA4OS4xNjk5OTgiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIyOCIgcD0iNDM3LjIwOTk5MSA5Mi4xNjk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjI5IiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjQzMC4wMTAwMTAgNzkuNjk5OTk3Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjQzMC4wMTAwMTAgNzkuNjk5OTk3IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMzAiIHA9IjQzOS42NDAwMTUgNjkuMDAwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSIzMSIgcD0iNDY1LjI3MDAyMCA1My4yNTAwMDAiLz4KICAgICAgICAgICAgPG4gaWQ9IjMyIiBwPSI0NzcuNzQwMDIxIDQ2LjA0OTk5OSIvPgogICAgICAgICAgICA8YiBpZD0iMjAwIiBCPSIxOSIgRT0iMjAiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMDEiIEI9IjIwIiBFPSIyMSIvPgogICAgICAgICAgICA8YiBpZD0iMjAyIiBCPSIyMCIgRT0iMjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIwMyIgQj0iMjIiIEU9IjIzIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjA0IiBCPSIyMyIgRT0iMjQiLz4KICAgICAgICAgICAgPGIgaWQ9IjIwNSIgQj0iMjQiIEU9IjI1IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjA2IiBCPSIyNSIgRT0iMjYiLz4KICAgICAgICAgICAgPGIgaWQ9IjIwNyIgQj0iMjYiIEU9IjI3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMDgiIEI9IjI3IiBFPSIyOCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIwOSIgQj0iMjgiIEU9IjI5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMTAiIEI9IjI5IiBFPSIzMCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIxMSIgQj0iMjYiIEU9IjMwIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMTIiIEI9IjI1IiBFPSIzMSIvPgogICAgICAgICAgICA8YiBpZD0iMjEzIiBCPSIzMSIgRT0iMzIiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMTQiIEI9IjIyIiBFPSIzMiIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSIzMyI+CiAgICAgICAgICAgIDxuIGlkPSIzNCIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSI5Ni41NDAwMDEgMzg4LjM1MDAwNiI+CiAgICAgICAgICAgICAgICA8dCBwPSI5Ni41NDAwMDEgMzg4LjM1MDAwNiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjM1IiBwPSI5Ni41NDAwMDEgNDAyLjc1MDAwMCIvPgogICAgICAgICAgICA8biBpZD0iMzYiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iODQuMDcwMDAwIDQwOS45NTAwMTIiPgogICAgICAgICAgICAgICAgPHQgcD0iODQuMDcwMDAwIDQwOS45NTAwMTIiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIzNyIgRWxlbWVudD0iNTMiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNzEuNTk5OTk4IDQwMi43NTAwMDAiPgogICAgICAgICAgICAgICAgPHQgcD0iNzEuNTk5OTk4IDQwMi43NTAwMDAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5JPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIzOCIgcD0iNzEuNTk5OTk4IDM4OC4zNTAwMDYiLz4KICAgICAgICAgICAgPG4gaWQ9IjM5IiBwPSI1OS4xMjk5OTcgMzgxLjE0OTk5NCIvPgogICAgICAgICAgICA8biBpZD0iNDAiIHA9IjU5LjEyOTk5NyAzNjYuNzUwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSI0MSIgcD0iNzEuNTk5OTk4IDM1OS41NDk5ODgiLz4KICAgICAgICAgICAgPG4gaWQ9IjQyIiBwPSI4NC4wNzAwMDAgMzY2Ljc1MDAwMCIvPgogICAgICAgICAgICA8biBpZD0iNDMiIHA9Ijg0LjA3MDAwMCAzODEuMTQ5OTk0Ii8+CiAgICAgICAgICAgIDxuIGlkPSI0NCIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSI1OS4xMjk5OTcgNDA5Ljk1MDAxMiI+CiAgICAgICAgICAgICAgICA8dCBwPSI1OS4xMjk5OTcgNDA5Ljk1MDAxMiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjQ1IiBwPSI0Ni42NjAwMDQgNDAyLjc1MDAwMCIvPgogICAgICAgICAgICA8biBpZD0iNDYiIHA9IjM0LjE4MDAwMCA0MDkuOTUwMDEyIi8+CiAgICAgICAgICAgIDxuIGlkPSI0NyIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSI0Ni42NjAwMDQgMzg4LjM1MDAwNiI+CiAgICAgICAgICAgICAgICA8dCBwPSI0Ni42NjAwMDQgMzg4LjM1MDAwNiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjQ4IiBwPSIxMDkuMDEwMDAyIDQwOS45NTAwMTIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIxNSIgQj0iMzQiIEU9IjM1IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjE2IiBCPSIzNSIgRT0iMzYiLz4KICAgICAgICAgICAgPGIgaWQ9IjIxNyIgQj0iMzYiIEU9IjM3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMTgiIEI9IjM3IiBFPSIzOCIvPgogICAgICAgICAgICA8YiBpZD0iMjE5IiBCPSIzOCIgRT0iMzkiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMjAiIEI9IjM5IiBFPSI0MCIvPgogICAgICAgICAgICA8YiBpZD0iMjIxIiBCPSI0MCIgRT0iNDEiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMjIiIEI9IjQxIiBFPSI0MiIvPgogICAgICAgICAgICA8YiBpZD0iMjIzIiBCPSI0MiIgRT0iNDMiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMjQiIEI9IjM4IiBFPSI0MyIvPgogICAgICAgICAgICA8YiBpZD0iMjI1IiBCPSIzNyIgRT0iNDQiLz4KICAgICAgICAgICAgPGIgaWQ9IjIyNiIgQj0iNDQiIEU9IjQ1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMjciIEI9IjQ1IiBFPSI0NiIvPgogICAgICAgICAgICA8YiBpZD0iMjI4IiBCPSI0NSIgRT0iNDciIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMjkiIEI9IjM1IiBFPSI0OCIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI0OSI+CiAgICAgICAgICAgIDxuIGlkPSI1MCIgcD0iMzU2LjI2MDAxMCAzNzEuNzUwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSI1MSIgRWxlbWVudD0iMTciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMzY4LjczMDAxMSAzNjQuNTQ5OTg4Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjM2OC43MzAwMTEgMzY0LjU0OTk4OCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkNsPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI1MiIgRWxlbWVudD0iMTciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMzQzLjc3OTk5OSAzNjQuNTQ5OTg4Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjM0My43Nzk5OTkgMzY0LjU0OTk4OCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkNsPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxiIGlkPSIyMzAiIEI9IjUwIiBFPSI1MSIvPgogICAgICAgICAgICA8YiBpZD0iMjMxIiBCPSI1MCIgRT0iNTIiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNTMiPgogICAgICAgICAgICA8biBpZD0iMjM0IiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSIyMzUiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI1NCIgRWxlbWVudD0iMSIgSXNvdG9wZT0iMiIgcD0iMzM1Ljk3MDAwMSAzMTYuMjUwMDAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMzM1Ljk3MDAwMSAzMTYuMjUwMDAwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5IPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI1NSIgcD0iMzQ4LjM5OTk5NCAzMDkuMDcwMDA3Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjIzNiIgTm9kZVR5cGU9IkV4dGVybmFsQ29ubmVjdGlvblBvaW50Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjIzMyIgQj0iNTQiIEU9IjU1Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjIzOCIgQj0iMjM2IiBFPSI1NSIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5EQ008L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjU2IiBOb2RlVHlwZT0iR2VuZXJpY05pY2tuYW1lIiBHZW5lcmljTmlja25hbWU9Ik0iIHA9IjM2MC44MzAwMTcgMzE2LjI1MDAwMCI+CiAgICAgICAgICAgICAgICA8dCBwPSIzNjAuODMwMDE3IDMxNi4yNTAwMDAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5NPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxiIGlkPSIyMzciIEI9IjU2IiBFPSIyMzQiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNTciPgogICAgICAgICAgICA8biBpZD0iNTgiIEVsZW1lbnQ9IjUzIiBOdW1IeWRyb2dlbnM9IjAiIHA9IjU0MC41OTk5NzYgMzM3LjU3MDAwNyI+CiAgICAgICAgICAgICAgICA8dCBwPSI1NDAuNTk5OTc2IDMzNy41NzAwMDciIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5JPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI1OSIgcD0iNTUyLjg1OTk4NSAzMzAuMDEwMDEwIi8+CiAgICAgICAgICAgIDxuIGlkPSI2MCIgcD0iNTUyLjQ0MDAwMiAzMTUuNjE5OTk1Ii8+CiAgICAgICAgICAgIDxuIGlkPSI2MSIgcD0iNTY0LjY5OTk1MSAzMDguMDU5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSI2MiIgcD0iNTc3LjM2OTk5NSAzMTQuODk5OTk0Ii8+CiAgICAgICAgICAgIDxuIGlkPSI2MyIgcD0iNTc3Ljc4OTk3OCAzMjkuMjkwMDA5Ii8+CiAgICAgICAgICAgIDxuIGlkPSI2NCIgcD0iNTY1LjUyOTk2OCAzMzYuODUwMDA2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMzkiIEI9IjU4IiBFPSI1OSIvPgogICAgICAgICAgICA8YiBpZD0iMjQwIiBCPSI1OSIgRT0iNjAiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNDEiIEI9IjYwIiBFPSI2MSIvPgogICAgICAgICAgICA8YiBpZD0iMjQyIiBCPSI2MSIgRT0iNjIiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNDMiIEI9IjYyIiBFPSI2MyIvPgogICAgICAgICAgICA8YiBpZD0iMjQ0IiBCPSI2MyIgRT0iNjQiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNDUiIEI9IjU5IiBFPSI2NCIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI2NSI+CiAgICAgICAgICAgIDxuIGlkPSI2NiIgcD0iMjEyLjE3MDAxMyAzNjUuMDg5OTk2Ii8+CiAgICAgICAgICAgIDxuIGlkPSI2NyIgcD0iMjEyLjE3MDAxMyAzNzkuNDQwMDAyIi8+CiAgICAgICAgICAgIDxuIGlkPSI2OCIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyMjQuNjAwMDA2IDM4Ni42MDk5ODUiPgogICAgICAgICAgICAgICAgPHQgcD0iMjI0LjYwMDAwNiAzODYuNjA5OTg1IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNjkiIHA9IjIzNy4wMjAwMDQgMzc5LjQ0MDAwMiIvPgogICAgICAgICAgICA8biBpZD0iNzAiIHA9IjIzNy4wMjAwMDQgMzY1LjA4OTk5NiIvPgogICAgICAgICAgICA8biBpZD0iNzEiIHA9IjIyNC42MDAwMDYgMzU3LjkxMDAwNCIvPgogICAgICAgICAgICA8biBpZD0iNzIiIHA9IjI0NC4yMDAwMTIgMzkxLjg1OTk4NSIvPgogICAgICAgICAgICA8biBpZD0iNzMiIHA9IjI1MS4zNjk5OTUgMzc5LjQ0MDAwMiIvPgogICAgICAgICAgICA8biBpZD0iNzQiIHA9IjE5Ny44MjAwMDcgMzc5LjQ0MDAwMiIvPgogICAgICAgICAgICA8biBpZD0iNzUiIHA9IjIwNC45OTAwMDUgMzkxLjg1OTk4NSIvPgogICAgICAgICAgICA8biBpZD0iNzYiIEVsZW1lbnQ9IjgiIFJhZGljYWw9IkRvdWJsZXQiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjI0LjYwMDAwNiA0MDAuOTU5OTkxIj4KICAgICAgICAgICAgICAgIDx0IHA9IjIyNC42MDAwMDYgNDAwLjk1OTk5MSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPGIgaWQ9IjI0NiIgQj0iNjYiIEU9IjY3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNDciIEI9IjY3IiBFPSI2OCIvPgogICAgICAgICAgICA8YiBpZD0iMjQ4IiBCPSI2OCIgRT0iNjkiLz4KICAgICAgICAgICAgPGIgaWQ9IjI0OSIgQj0iNjkiIEU9IjcwIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNTAiIEI9IjcwIiBFPSI3MSIvPgogICAgICAgICAgICA8YiBpZD0iMjUxIiBCPSI3MSIgRT0iNjYiLz4KICAgICAgICAgICAgPGIgaWQ9IjI1MiIgQj0iNjkiIEU9IjcyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNTMiIEI9IjY5IiBFPSI3MyIvPgogICAgICAgICAgICA8YiBpZD0iMjU0IiBCPSI2NyIgRT0iNzQiLz4KICAgICAgICAgICAgPGIgaWQ9IjI1NSIgQj0iNjciIEU9Ijc1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNTYiIEI9IjY4IiBFPSI3NiIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI3NyI+CiAgICAgICAgICAgIDxuIGlkPSI3OCIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSI0NDAuNzYwMDEwIDM3MS43NTAwMDAiPgogICAgICAgICAgICAgICAgPHQgcD0iNDQwLjc2MDAxMCAzNzEuNzUwMDAwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNzkiIEVsZW1lbnQ9IjEiIHA9IjQ1My4yMzAwMTEgMzY0LjU0OTk4OCI+CiAgICAgICAgICAgICAgICA8dCBwPSI0NTMuMjMwMDExIDM2NC41NDk5ODgiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI4MCIgRWxlbWVudD0iMSIgcD0iNDI4LjI3OTk5OSAzNjQuNTQ5OTg4Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjQyOC4yNzk5OTkgMzY0LjU0OTk4OCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkg8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPGIgaWQ9IjI1NyIgQj0iNzgiIEU9Ijc5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNTgiIEI9Ijc4IiBFPSI4MCIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPHQgaWQ9IjgxIiBwPSIzNjUuNjEwMDE2IDEyMC41OTUwMDkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjAuMiBNIGluIGxpbWl0aW5nPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iODQiIHA9IjM2NS42MTQ5OTAgMTA2LjU2NTAxMCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+ci50LiwgMjcgaHJzPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iODciIHA9IjM2NS42MTQ5OTAgNTYuMzMwMDAyIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4wLjE4IGVxdWl2PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iODciIHA9IjM2NS42MTQ5OTAgNTYuMzMwMDAyIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4gVEVNUE88L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI5MCIgcD0iMzY1LjgxNTAwMiA4Ni43MjAwMDEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPkRDTS88L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI5MCIgcD0iMzY1LjgxNTAwMiA4Ni43MjAwMDEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPldhdGVyPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iOTAiIHA9IjM2NS44MTUwMDIgODYuNzIwMDAxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4oMToxKTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjkzIiBwPSIzNjUuNjA1MDQyIDQyLjAwOTk5OCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+Mi4yIGVxdWl2PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iOTMiIHA9IjM2NS42MDUwNDIgNDIuMDA5OTk4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4gQkFJQjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9Ijk2IiBwPSI4OS40OTUwMDMgNS45MjUwMDAiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTYiIGZhY2U9IjIiPkFsY29ob2wgT3hpZGF0aW9uIFJ4bjI8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI5OSIgcD0iNDgyLjk0NTAwNyAxNDcuMzQwMDEyIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjE2Mjg0OC0xNi0wPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTAyIiBwPSIyMzkuNjI1MDAwIDEzMC40MTk5ODMiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+NC0oMSwyLDQtVHJpYXpvbC0xLXlsKWJlbnplbmVtZXRoYW5vbDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEwNSIgcD0iMjM5LjYyNTAwMCAxNDQuMzYwMDE2IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjE0MzQyNi01MC0wPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTA4IiBwPSI0ODkuMzI5OTU2IDEzMC40MTk5ODMiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+NC0oMSwyLDQtVHJpYXpvbC0xLXlsKWJlbnpvaWMgYWNpZDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjExMSIgcD0iMjM5LjYxMDAxNiAxODUuMDA5OTk1IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4xLjAgZXF1aXY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMTQiIHA9IjcxLjU5NTAwMSA0NDguMDc0OTgyIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bb3hpZGFudF08L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMTciIHA9IjIzOS42MTAwMTYgMjAxLjAzNTAxOSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2FsY29ob2xdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTIwIiBwPSI0ODkuMjk5OTg4IDIwMS4wMzUwMTkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltkZXNpcmVkIHByb2R1Y3RdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTIzIiBwPSI1NjAuMzA5OTM3IDI5MS43Nzk5OTkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltieXByb2R1Y3RzXTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEyNiIgcD0iMjIuNDU1MDAwIDI5OC4xOTk5ODIiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjEiPktleTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPGdyYXBoaWMgaWQ9IjEyOSIgQm91bmRpbmdCb3g9IjAuODAwMDAwIDUwMy41MDAwMDAgNTIwLjMwOTk5OCAyODIuMjAwMDEyIiBHcmFwaGljVHlwZT0iUmVjdGFuZ2xlIi8+CiAgICAgICAgPHQgaWQ9IjEzMiIgcD0iNzguOTkwMDA1IDMyOC40MjAwNDQiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+W2JpcyhhY2V0b3h5KWlvZG9dYmVuemVuZTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEzNSIgcD0iMzU0LjkwNDk2OCAzMjcuNDc1MDA2IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPmRpY2hsb3JvbWV0aGFuZTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEzOCIgcD0iMzU0LjkxMDAwNCAzNDQuNzY5OTg5IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjc1LTA5LTI8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNDEiIHA9IjM1NC45MDUwMjkgNDA0LjY2NDk3OCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W3NvbHZlbnRdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTQ0IiBwPSIzNTQuODk5OTk0IDM4Ni45MTk5ODMiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+TVcgODQuOTM8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNDciIHA9Ijc0LjA0OTk5NSAzNDQuNzY5OTg5IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjMyNDAtMzQtNDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE1MCIgcD0iNzIuNjUwMDAyIDMxMi42NjUwMDkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+QkFJQjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE1MyIgcD0iNzEuNzIwMDAxIDQyOC42MDAwMDYiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+TVcgMzIyLjEwPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTU2IiBwPSIyMjQuNTg1MDA3IDMxMi42NjUwMDkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+VEVNUE88L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNTkiIHA9IjIyNC41OTUwMDEgNDMzLjkxOTk4MyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2NhdGFseXN0XTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE2MiIgcD0iMjI0LjU4OTk5NiAzNDQuNzY5OTg5IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjI1NjQtODMtMjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE2NSIgcD0iMjI0LjU4NTAwNyAzMjguNDIwMDQ0IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPigyLDIsNiw2LXRldHJhbWV0aHlscGlwZXJpZGluLTEteWwpb3h5bDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE2OCIgcD0iMjI0LjU5NTAwMSA0MTUuNTEwMDEwIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPk1XIDE1Ni4yNTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE3MSIgcD0iNDM5LjkxMDAwNCAzNDQuODg1MDEwIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjc3MzItMTgtNTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE3NCIgcD0iNDM5LjQwNDk5OSA0MDQuNjY0OTc4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bc29sdmVudF08L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNzciIHA9IjQzOS4zNjQ5OTAgMzg2LjkxOTk4MyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj5NVyAxOC4wMjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPGFycm93IGlkPSIxODAiIEJvdW5kaW5nQm94PSI2MDUuNDU5OTYxIDQwMC42NDAwMTUgNjA1LjQ1OTk2MSAzMDIuMzkwMDE1IiBGaWxsVHlwZT0iTm9uZSIgQXJyb3doZWFkVHlwZT0iU29saWQiIEhlYWRTaXplPSIyMjUwIiBBcnJvd2hlYWRXaWR0aD0iNTYzIiBBcnJvd2hlYWRIZWFkPSJGdWxsIiBBcnJvd2hlYWRDZW50ZXJTaXplPSIyNSIgSGVhZDNEPSI2MDUuNDU5OTYxIDQwMC42NDAwMTUgMC4wMDAwMDAiIFRhaWwzRD0iNjA1LjQ1OTk2MSAzMDIuMzkwMDE1IDAuMDAwMDAwIi8+CiAgICAgICAgPGFycm93IGlkPSIxODMiIEJvdW5kaW5nQm94PSI0MDcuNTgwMDE3IDY4LjkzMDAwMCAzMjMuNjQwMDE1IDY4LjkzMDAwMCIgRmlsbFR5cGU9Ik5vbmUiIEFycm93aGVhZFR5cGU9IlNvbGlkIiBIZWFkU2l6ZT0iMjI1MCIgQXJyb3doZWFkV2lkdGg9IjU2MyIgQXJyb3doZWFkSGVhZD0iRnVsbCIgQXJyb3doZWFkQ2VudGVyU2l6ZT0iMjUiIEhlYWQzRD0iNDA3LjU4MDAxNyA2OC45MzAwMDAgMC4wMDAwMDAiIFRhaWwzRD0iMzIzLjY0MDAxNSA2OC45MzAwMDAgMC4wMDAwMDAiLz4KICAgICAgICA8c2NoZW1lPgogICAgICAgICAgICA8c3RlcCBSZWFjdGlvblN0ZXBBcnJvd3M9IjE4MCIvPgogICAgICAgICAgICA8c3RlcCBSZWFjdGlvblN0ZXBBcnJvd3M9IjE4MyIvPgogICAgICAgIDwvc2NoZW1lPgogICAgPC9wYWdlPgo8L0NEWE1MPgo= \ No newline at end of file diff --git a/api/tests/integration/tests/formats/ref/AlcoholOxidation_Rxn2.cdxml b/api/tests/integration/tests/formats/ref/AlcoholOxidation_Rxn2.cdxml new file mode 100644 index 0000000000..941fbcef6b --- /dev/null +++ b/api/tests/integration/tests/formats/ref/AlcoholOxidation_Rxn2.cdxml @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + OH + + + + + + + + + + N + + + + + N + + + + + + N + + + + + + + + + + + + + + + + + + + + + + + + O + + + + + + OH + + + + + + + + + N + + + + + N + + + + + + N + + + + + + + + + + + + + + + + + + + + + + + + + O + + + + + + O + + + + + I + + + + + + + + + + + O + + + + + + + O + + + + + + + + + + + + + + + + + + + + + + + + Cl + + + + + Cl + + + + + + + + + + + H + + + + + + + + + DCM + + + + + M + + + + + + + + I + + + + + + + + + + + + + + + + + + + + + + N + + + + + + + + + + + + O + + + + + + + + + + + + + + + + + + O + + + + + H + + + + + H + + + + + + + 0.2 M in limiting + + + r.t., 27 hrs + + + 0.18 equiv + + + TEMPO + + + DCM/ + + + Water + + + (1:1) + + + 2.2 equiv + + + BAIB + + + Alcohol Oxidation Rxn2 + + + 162848-16-0 + + + 4-(1,2,4-Triazol-1-yl)benzenemethanol + + + 143426-50-0 + + + 4-(1,2,4-Triazol-1-yl)benzoic acid + + + 1.0 equiv + + + [oxidant] + + + [alcohol] + + + [desired product] + + + [byproducts] + + + Key + + + + [bis(acetoxy)iodo]benzene + + + dichloromethane + + + 75-09-2 + + + [solvent] + + + MW 84.93 + + + 3240-34-4 + + + BAIB + + + MW 322.10 + + + TEMPO + + + [catalyst] + + + 2564-83-2 + + + (2,2,6,6-tetramethylpiperidin-1-yl)oxyl + + + MW 156.25 + + + 7732-18-5 + + + [solvent] + + + MW 18.02 + + + + + + + + + diff --git a/api/tests/integration/tests/formats/ref/Amidation_Rxn1.b64cdx b/api/tests/integration/tests/formats/ref/Amidation_Rxn1.b64cdx new file mode 100644 index 0000000000..32f2d92dc0 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/Amidation_Rxn1.b64cdx @@ -0,0 +1 @@ +PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIENEWE1MIFNZU1RFTSAiaHR0cDovL3d3dy5jYW1icmlkZ2Vzb2Z0LmNvbS94bWwvY2R4bWwuZHRkIj4KPENEWE1MIEJvbmRMZW5ndGg9IjMwLjAwMDAwMCIgTGFiZWxGb250PSIzIiBDYXB0aW9uRm9udD0iNCI+CiAgICA8Zm9udHRhYmxlIGlkPSIxIj4KICAgICAgICA8Zm9udCBpZD0iMiIgY2hhcnNldD0idXRmLTgiIG5hbWU9IkFyaWFsIi8+CiAgICAgICAgPGZvbnQgaWQ9IjMiIGNoYXJzZXQ9InV0Zi04IiBuYW1lPSJUaW1lcyBOZXcgUm9tYW4iLz4KICAgIDwvZm9udHRhYmxlPgogICAgPGNvbG9ydGFibGU+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMCIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIxIiBnPSIwIiBiPSIwIi8+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjAiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMSIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIwIiBnPSIxIiBiPSIxIi8+CiAgICAgICAgPGNvbG9yIHI9IjAiIGc9IjAiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMSIgZz0iMCIgYj0iMSIvPgogICAgICAgIDxjb2xvciByPSIwLjUiIGc9IjAuNSIgYj0iMC41Ii8+CiAgICA8L2NvbG9ydGFibGU+CiAgICA8cGFnZSBIZWlnaHRQYWdlcz0iMSIgV2lkdGhQYWdlcz0iMSI+CiAgICAgICAgPGZyYWdtZW50IGlkPSI0Ij4KICAgICAgICAgICAgPG4gaWQ9IjUiIHA9IjI0Ny41NTAwMTggOTEuNTk5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSI2IiBwPSIyNTkuOTQwMDAyIDk4Ljc1MDAwMCIvPgogICAgICAgICAgICA8biBpZD0iNyIgcD0iMjcyLjMxOTk3NyA5MS41OTk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjgiIHA9IjI3Mi4zMTk5NzcgNzcuMzAwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSI5IiBwPSIyNTkuOTQwMDAyIDcwLjE1MDAwMiIvPgogICAgICAgICAgICA8biBpZD0iMTAiIHA9IjI0Ny41NTAwMTggNzcuMzAwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSIxMSIgcD0iMjM1LjE2OTk5OCA5OC43NTAwMDAiLz4KICAgICAgICAgICAgPG4gaWQ9IjEyIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjIyMi43OTAwMDkgOTEuNTk5OTk4Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjIyMi43OTAwMDkgOTEuNTk5OTk4IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+T0g8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjEzIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjIzNS4xNjk5OTggMTEzLjA1MDAwMyI+CiAgICAgICAgICAgICAgICA8dCBwPSIyMzUuMTY5OTk4IDExMy4wNTAwMDMiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxNCIgRWxlbWVudD0iOSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyOTcuMDg5OTk2IDYyLjk5OTk5NiI+CiAgICAgICAgICAgICAgICA8dCBwPSIyOTcuMDg5OTk2IDYyLjk5OTk5NiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkY8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjE1IiBwPSIyODQuNzA5OTkxIDcwLjE1MDAwMiIvPgogICAgICAgICAgICA8biBpZD0iMTYiIEVsZW1lbnQ9IjkiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjk3LjA4OTk5NiA3Ny4zMDAwMDMiPgogICAgICAgICAgICAgICAgPHQgcD0iMjk3LjA4OTk5NiA3Ny4zMDAwMDMiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5GPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxNyIgRWxlbWVudD0iOSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyODQuNzA5OTkxIDU1Ljg0OTk5OCI+CiAgICAgICAgICAgICAgICA8dCBwPSIyODQuNzA5OTkxIDU1Ljg0OTk5OCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkY8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPGIgaWQ9IjI1NyIgQj0iNSIgRT0iNiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI1OCIgQj0iNiIgRT0iNyIvPgogICAgICAgICAgICA8YiBpZD0iMjU5IiBCPSI3IiBFPSI4IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjYwIiBCPSI4IiBFPSI5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNjEiIEI9IjkiIEU9IjEwIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjYyIiBCPSIxMCIgRT0iNSIvPgogICAgICAgICAgICA8YiBpZD0iMjYzIiBCPSI1IiBFPSIxMSIvPgogICAgICAgICAgICA8YiBpZD0iMjY0IiBCPSI4IiBFPSIxNSIvPgogICAgICAgICAgICA8YiBpZD0iMjY1IiBCPSIxMSIgRT0iMTIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI2NiIgQj0iMTEiIEU9IjEzIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjY3IiBCPSIxNSIgRT0iMTYiLz4KICAgICAgICAgICAgPGIgaWQ9IjI2OCIgQj0iMTUiIEU9IjE3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNjkiIEI9IjE0IiBFPSIxNSIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSIxOCI+CiAgICAgICAgICAgIDxuIGlkPSIxOSIgcD0iNjkuODAwMDAzIDgxLjMwMDAwMyIvPgogICAgICAgICAgICA8biBpZD0iMjAiIHA9IjY5LjgwMDAwMyA5NS42OTk5OTciLz4KICAgICAgICAgICAgPG4gaWQ9IjIxIiBwPSI4Mi4yNzAwMDQgMTAyLjg5OTk5NCIvPgogICAgICAgICAgICA8biBpZD0iMjIiIHA9Ijk0Ljc0MDAwNSA5NS42OTk5OTciLz4KICAgICAgICAgICAgPG4gaWQ9IjIzIiBwPSI5NC43NDAwMDUgODEuMzAwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSIyNCIgcD0iODIuMjcwMDA0IDc0LjA5OTk5OCIvPgogICAgICAgICAgICA8biBpZD0iMjUiIHA9IjEwNy4yMTAwMDcgNzQuMDk5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyNiIgcD0iNTcuMzI5OTk4IDEwMi44OTk5OTQiLz4KICAgICAgICAgICAgPG4gaWQ9IjI3IiBwPSI0NC44NjAwMDEgOTUuNjk5OTk3Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyOCIgcD0iNTcuMzI5OTk4IDExNy4zMDAwMDMiLz4KICAgICAgICAgICAgPG4gaWQ9IjI5IiBwPSI0NC44NjAwMDEgMTEwLjEwMDAwNiIvPgogICAgICAgICAgICA8biBpZD0iMzAiIHA9IjExOS42ODAwMDggODEuMzAwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSIzMSIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIyIiBwPSIxMzIuMTUwMDA5IDc0LjA5OTk5OCI+CiAgICAgICAgICAgICAgICA8dCBwPSIxMzIuMTUwMDA5IDc0LjA5OTk5OCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk5IPC9zPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSIzMiI+Mjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8YiBpZD0iMjcwIiBCPSIxOSIgRT0iMjAiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNzEiIEI9IjIwIiBFPSIyMSIvPgogICAgICAgICAgICA8YiBpZD0iMjcyIiBCPSIyMSIgRT0iMjIiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNzMiIEI9IjIyIiBFPSIyMyIvPgogICAgICAgICAgICA8YiBpZD0iMjc0IiBCPSIyMyIgRT0iMjQiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNzUiIEI9IjI0IiBFPSIxOSIvPgogICAgICAgICAgICA8YiBpZD0iMjc2IiBCPSIyMyIgRT0iMjUiLz4KICAgICAgICAgICAgPGIgaWQ9IjI3NyIgQj0iMjAiIEU9IjI2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNzgiIEI9IjI2IiBFPSIyNyIvPgogICAgICAgICAgICA8YiBpZD0iMjc5IiBCPSIyNiIgRT0iMjgiLz4KICAgICAgICAgICAgPGIgaWQ9IjI4MCIgQj0iMjYiIEU9IjI5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyODEiIEI9IjI1IiBFPSIzMCIvPgogICAgICAgICAgICA8YiBpZD0iMjgyIiBCPSIzMCIgRT0iMzEiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iMzIiPgogICAgICAgICAgICA8biBpZD0iMzMiIHA9IjQ5OC4wOTk5NzYgNzEuMjY5OTk3Ii8+CiAgICAgICAgICAgIDxuIGlkPSIzNCIgcD0iNDk4LjA5OTk3NiA4NS42MjAwMDMiLz4KICAgICAgICAgICAgPG4gaWQ9IjM1IiBwPSI1MTAuNTM5OTc4IDkyLjc5MDAwMSIvPgogICAgICAgICAgICA8biBpZD0iMzYiIHA9IjUyMi45Njk5NzEgODUuNjIwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSIzNyIgcD0iNTIyLjk2OTk3MSA3MS4yNjk5OTciLz4KICAgICAgICAgICAgPG4gaWQ9IjM4IiBwPSI1MTAuNTM5OTc4IDY0LjA4OTk5NiIvPgogICAgICAgICAgICA8biBpZD0iMzkiIHA9IjUzNS4zOTAwMTUgNjQuMDg5OTk2Ii8+CiAgICAgICAgICAgIDxuIGlkPSI0MCIgcD0iNDg1LjY2OTk4MyA5Mi43OTAwMDEiLz4KICAgICAgICAgICAgPG4gaWQ9IjQxIiBwPSI0NzMuMjUwMDAwIDg1LjYyMDAwMyIvPgogICAgICAgICAgICA8biBpZD0iNDIiIHA9IjQ4NS42Njk5ODMgMTA3LjEzOTk5OSIvPgogICAgICAgICAgICA8biBpZD0iNDMiIHA9IjQ3My4yNTAwMDAgOTkuOTcwMDAxIi8+CiAgICAgICAgICAgIDxuIGlkPSI0NCIgcD0iNTQ3LjgyMDAwNyA3MS4yNjk5OTciLz4KICAgICAgICAgICAgPG4gaWQ9IjQ1IiBwPSI1ODUuMDk5OTc2IDY0LjA4OTk5NiIvPgogICAgICAgICAgICA8biBpZD0iNDYiIHA9IjU4NS4wOTk5NzYgNDkuNzM5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSI0NyIgcD0iNTk3LjUyOTk2OCA0Mi41NzAwMDAiLz4KICAgICAgICAgICAgPG4gaWQ9IjQ4IiBwPSI2MDkuOTU5OTYxIDQ5LjczOTk5OCIvPgogICAgICAgICAgICA8biBpZD0iNDkiIHA9IjYwOS45NTk5NjEgNjQuMDg5OTk2Ii8+CiAgICAgICAgICAgIDxuIGlkPSI1MCIgcD0iNTk3LjUyOTk2OCA3MS4yNjk5OTciLz4KICAgICAgICAgICAgPG4gaWQ9IjUxIiBwPSI1NzIuNjc5OTkzIDcxLjI2OTk5NyIvPgogICAgICAgICAgICA8biBpZD0iNTIiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMSIgcD0iNTYwLjI1MDAwMCA2NC4wODk5OTYiPgogICAgICAgICAgICAgICAgPHQgcD0iNTYwLjI1MDAwMCA2NC4wODk5OTYiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OSDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNTMiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNTcyLjY3OTk5MyA4NS42MjAwMDMiPgogICAgICAgICAgICAgICAgPHQgcD0iNTcyLjY3OTk5MyA4NS42MjAwMDMiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI1NCIgRWxlbWVudD0iOSIgTnVtSHlkcm9nZW5zPSIwIiBwPSI2MzQuODA5OTk4IDM1LjM4OTk5OSI+CiAgICAgICAgICAgICAgICA8dCBwPSI2MzQuODA5OTk4IDM1LjM4OTk5OSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkY8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjU1IiBwPSI2MjIuMzkwMDE1IDQyLjU3MDAwMCIvPgogICAgICAgICAgICA8biBpZD0iNTYiIEVsZW1lbnQ9IjkiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNjIyLjM5MDAxNSAyOC4yMjAwMDEiPgogICAgICAgICAgICAgICAgPHQgcD0iNjIyLjM5MDAxNSAyOC4yMjAwMDEiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5GPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI1NyIgRWxlbWVudD0iOSIgTnVtSHlkcm9nZW5zPSIwIiBwPSI2MzQuODA5OTk4IDQ5LjczOTk5OCI+CiAgICAgICAgICAgICAgICA8dCBwPSI2MzQuODA5OTk4IDQ5LjczOTk5OCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkY8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPGIgaWQ9IjI4MyIgQj0iMzMiIEU9IjM0IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjg0IiBCPSIzNCIgRT0iMzUiLz4KICAgICAgICAgICAgPGIgaWQ9IjI4NSIgQj0iMzUiIEU9IjM2IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjg2IiBCPSIzNiIgRT0iMzciLz4KICAgICAgICAgICAgPGIgaWQ9IjI4NyIgQj0iMzciIEU9IjM4IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjg4IiBCPSIzOCIgRT0iMzMiLz4KICAgICAgICAgICAgPGIgaWQ9IjI4OSIgQj0iMzciIEU9IjM5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyOTAiIEI9IjM0IiBFPSI0MCIvPgogICAgICAgICAgICA8YiBpZD0iMjkxIiBCPSI0MCIgRT0iNDEiLz4KICAgICAgICAgICAgPGIgaWQ9IjI5MiIgQj0iNDAiIEU9IjQyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyOTMiIEI9IjQwIiBFPSI0MyIvPgogICAgICAgICAgICA8YiBpZD0iMjk0IiBCPSIzOSIgRT0iNDQiLz4KICAgICAgICAgICAgPGIgaWQ9IjI5NSIgQj0iNDQiIEU9IjUyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyOTYiIEI9IjQ1IiBFPSI0NiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI5NyIgQj0iNDYiIEU9IjQ3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyOTgiIEI9IjQ3IiBFPSI0OCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI5OSIgQj0iNDgiIEU9IjQ5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMDAiIEI9IjQ5IiBFPSI1MCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjMwMSIgQj0iNTAiIEU9IjQ1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMDIiIEI9IjQ1IiBFPSI1MSIvPgogICAgICAgICAgICA8YiBpZD0iMzAzIiBCPSI0OCIgRT0iNTUiLz4KICAgICAgICAgICAgPGIgaWQ9IjMwNCIgQj0iNTEiIEU9IjUyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMDUiIEI9IjUxIiBFPSI1MyIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjMwNiIgQj0iNTUiIEU9IjU2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMDciIEI9IjU1IiBFPSI1NyIvPgogICAgICAgICAgICA8YiBpZD0iMzA4IiBCPSI1NCIgRT0iNTUiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNTgiPgogICAgICAgICAgICA8biBpZD0iMzExIiBOb2RlVHlwZT0iRnJhZ21lbnQiIEJvbmRPcmRlcmluZz0iMzE0IDMxNiI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjMxMiIgQ29ubmVjdGlvbk9yZGVyPSIzMTMgMzE1Ij4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNjAiIEVsZW1lbnQ9IjEiIElzb3RvcGU9IjMiIHA9IjEyMS45NTk5OTkgMjM5LjM5MDAxNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjEyMS45NTk5OTkgMjM5LjM5MDAxNSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+SDwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMzEzIiBOb2RlVHlwZT0iRXh0ZXJuYWxDb25uZWN0aW9uUG9pbnQiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNjEiIEVsZW1lbnQ9IjkyIiBOdW1IeWRyb2dlbnM9IjAiIHA9IjE0Ni44MjAwMDcgMjM5LjM5MDAxNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjE0Ni44MjAwMDcgMjM5LjM5MDAxNSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+VTwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMzE1IiBOb2RlVHlwZT0iRXh0ZXJuYWxDb25uZWN0aW9uUG9pbnQiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzE3IiBCPSIzMTMiIEU9IjYwIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMxOCIgQj0iMzE1IiBFPSI2MSIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5IQVRVPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI1OSIgTm9kZVR5cGU9IkdlbmVyaWNOaWNrbmFtZSIgR2VuZXJpY05pY2tuYW1lPSJBIiBwPSIxMzQuMzg5OTk5IDIzMi4yMjAwMDEiPgogICAgICAgICAgICAgICAgPHQgcD0iMTM0LjM4OTk5OSAyMzIuMjIwMDAxIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+QTwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8YiBpZD0iMzE0IiBCPSI1OSIgRT0iMzExIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMTYiIEI9IjU5IiBFPSIzMTEiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNjIiPgogICAgICAgICAgICA8biBpZD0iNjMiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMSIgcD0iNTYzLjIxOTk3MSAyODkuNjkwMDAyIj4KICAgICAgICAgICAgICAgIDx0IHA9IjU2My4yMTk5NzEgMjg5LjY5MDAwMiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk9IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI2NCIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSI1NTguNzY5OTU4IDI3Ni4wMDAwMDAiPgogICAgICAgICAgICAgICAgPHQgcD0iNTU4Ljc2OTk1OCAyNzYuMDAwMDAwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNjUiIHA9IjU0NS4wNzAwMDcgMjcxLjU0OTk4OCIvPgogICAgICAgICAgICA8biBpZD0iNjYiIHA9IjU0NS4wNzAwMDcgMjU3LjE0OTk5NCIvPgogICAgICAgICAgICA8biBpZD0iNjciIHA9IjUzMi41OTk5NzYgMjQ5Ljk1MDAxMiIvPgogICAgICAgICAgICA8biBpZD0iNjgiIHA9IjUyMC4xMzAwMDUgMjU3LjE0OTk5NCIvPgogICAgICAgICAgICA8biBpZD0iNjkiIHA9IjUyMC4xMzAwMDUgMjcxLjU0OTk4OCIvPgogICAgICAgICAgICA8biBpZD0iNzAiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNTMyLjU5OTk3NiAyNzguNzUwMDAwIj4KICAgICAgICAgICAgICAgIDx0IHA9IjUzMi41OTk5NzYgMjc4Ljc1MDAwMCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk48L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjcxIiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjU1OC43Njk5NTggMjUyLjcwMDAyNyI+CiAgICAgICAgICAgICAgICA8dCBwPSI1NTguNzY5OTU4IDI1Mi43MDAwMjciIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI3MiIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSI1NjcuMjI5OTgwIDI2NC4zNTAwMDYiPgogICAgICAgICAgICAgICAgPHQgcD0iNTY3LjIyOTk4MCAyNjQuMzUwMDA2IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8YiBpZD0iMzE5IiBCPSI2MyIgRT0iNjQiLz4KICAgICAgICAgICAgPGIgaWQ9IjMyMCIgQj0iNjQiIEU9IjY1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMjEiIEI9IjY1IiBFPSI2NiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjMyMiIgQj0iNjYiIEU9IjY3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMjMiIEI9IjY3IiBFPSI2OCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjMyNCIgQj0iNjgiIEU9IjY5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMjUiIEI9IjY5IiBFPSI3MCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjMyNiIgQj0iNjUiIEU9IjcwIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMjciIEI9IjY2IiBFPSI3MSIvPgogICAgICAgICAgICA8YiBpZD0iMzI4IiBCPSI3MSIgRT0iNzIiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMjkiIEI9IjY0IiBFPSI3MiIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI3MyI+CiAgICAgICAgICAgIDxuIGlkPSI3NCIgcD0iNTIyLjAxOTk1OCAzMzMuNjYwMDA0Ii8+CiAgICAgICAgICAgIDxuIGlkPSI3NSIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSI1MzQuNDUwMDEyIDM0MC45NDAwMDIiPgogICAgICAgICAgICAgICAgPHQgcD0iNTM0LjQ1MDAxMiAzNDAuOTQwMDAyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNzYiIHA9IjUzNC4zNjk5OTUgMzU1LjMyOTk4NyIvPgogICAgICAgICAgICA8biBpZD0iNzciIHA9IjU0Ni41NzAwMDcgMzMzLjE3MDAxMyIvPgogICAgICAgICAgICA8biBpZD0iNzgiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNTU5LjAxMDAxMCAzNDAuNDI5OTkzIj4KICAgICAgICAgICAgICAgIDx0IHA9IjU1OS4wMTAwMTAgMzQwLjQyOTk5MyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk48L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9Ijc5IiBwPSI1NTguOTE5OTgzIDM1NC44Mjk5ODciLz4KICAgICAgICAgICAgPG4gaWQ9IjgwIiBwPSI1NzEuNTE5OTU4IDMzMy4yOTk5ODgiLz4KICAgICAgICAgICAgPG4gaWQ9IjgxIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjU0Ni41NzAwMDcgMzE4Ljc2OTk4OSI+CiAgICAgICAgICAgICAgICA8dCBwPSI1NDYuNTcwMDA3IDMxOC43Njk5ODkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxiIGlkPSIzMzAiIEI9Ijc0IiBFPSI3NSIvPgogICAgICAgICAgICA8YiBpZD0iMzMxIiBCPSI3NSIgRT0iNzYiLz4KICAgICAgICAgICAgPGIgaWQ9IjMzMiIgQj0iNzUiIEU9Ijc3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMzMiIEI9Ijc3IiBFPSI3OCIvPgogICAgICAgICAgICA8YiBpZD0iMzM0IiBCPSI3OCIgRT0iNzkiLz4KICAgICAgICAgICAgPGIgaWQ9IjMzNSIgQj0iNzgiIEU9IjgwIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMzYiIEI9Ijc3IiBFPSI4MSIgT3JkZXI9IjIiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iODIiPgogICAgICAgICAgICA8biBpZD0iMzQzIiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSIzNDQiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI4MyIgcD0iMzk1LjYxOTk5NSAyMTUuNjM5OTk5Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijg0IiBwPSIzODMuMTk5OTgyIDIyMi44MjAwMDciLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iODUiIHA9IjM0NS45MTk5ODMgMjE1LjYzOTk5OSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI4NiIgcD0iMzU4LjMzOTk5NiAyMjIuODIwMDA3Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijg3IiBwPSIzNTguMzM5OTk2IDE5NC4xMTk5OTUiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iODgiIHA9IjM3MC43Njk5ODkgMjAxLjI4OTk5MyIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI4OSIgRWxlbWVudD0iNyIgQ2hhcmdlPSIxIiBOdW1IeWRyb2dlbnM9IjEiIHA9IjM3MC43Njk5ODkgMjE1LjYzOTk5OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjM3MC43Njk5ODkgMjE1LjYzOTk5OSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tkg8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjkwIiBFbGVtZW50PSIxNyIgQ2hhcmdlPSItMSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIzNzAuNzY5OTg5IDIyOS45ODk5OTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIzNzAuNzY5OTg5IDIyOS45ODk5OTAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkNsPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMzciIEI9Ijg4IiBFPSI4OSIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMzgiIEI9Ijg3IiBFPSI4OCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMzkiIEI9Ijg2IiBFPSI4OSIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzNDAiIEI9Ijg1IiBFPSI4NiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzNDEiIEI9Ijg0IiBFPSI4OSIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzNDIiIEI9IjgzIiBFPSI4NCIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5FdDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI5MSI+CiAgICAgICAgICAgIDxuIGlkPSI5MiIgcD0iMzgxLjU1OTk5OCAyOTcuMDAwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSI5MyIgRWxlbWVudD0iMTciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMzk0LjAyOTk5OSAyODkuNzk5OTg4Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjM5NC4wMjk5OTkgMjg5Ljc5OTk4OCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkNsPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI5NCIgRWxlbWVudD0iMTciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMzY5LjA3OTk4NyAyODkuNzk5OTg4Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjM2OS4wNzk5ODcgMjg5Ljc5OTk4OCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkNsPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxiIGlkPSIzNDUiIEI9IjkyIiBFPSI5MyIvPgogICAgICAgICAgICA8YiBpZD0iMzQ2IiBCPSI5MiIgRT0iOTQiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iOTUiPgogICAgICAgICAgICA8biBpZD0iMzQ5IiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSIzNTAiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI5NiIgRWxlbWVudD0iMSIgSXNvdG9wZT0iMiIgcD0iMzYxLjI2OTk4OSAyMzkuNTAwMDAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMzYxLjI2OTk4OSAyMzkuNTAwMDAwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5IPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI5NyIgcD0iMzczLjY5OTk4MiAyMzIuMzIwMDA3Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjM1MSIgTm9kZVR5cGU9IkV4dGVybmFsQ29ubmVjdGlvblBvaW50Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM0OCIgQj0iOTYiIEU9Ijk3Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM1MyIgQj0iMzUxIiBFPSI5NyIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5EQ008L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9Ijk4IiBOb2RlVHlwZT0iR2VuZXJpY05pY2tuYW1lIiBHZW5lcmljTmlja25hbWU9Ik0iIHA9IjM4Ni4xMjk5NzQgMjM5LjUwMDAwMCI+CiAgICAgICAgICAgICAgICA8dCBwPSIzODYuMTI5OTc0IDIzOS41MDAwMDAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5NPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxiIGlkPSIzNTIiIEI9Ijk4IiBFPSIzNDkiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iOTkiPgogICAgICAgICAgICA8biBpZD0iMTAwIiBFbGVtZW50PSI4IiBDaGFyZ2U9Ii0xIiBOdW1IeWRyb2dlbnM9IjAiIHA9IjEzMi4xMzk5OTkgMzkzLjUxMDAxMCI+CiAgICAgICAgICAgICAgICA8dCBwPSIxMzIuMTM5OTk5IDM5My41MTAwMTAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxMDEiIEVsZW1lbnQ9IjciIENoYXJnZT0iMSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxMjcuNjkwMDAyIDM3OS44MDk5OTgiPgogICAgICAgICAgICAgICAgPHQgcD0iMTI3LjY5MDAwMiAzNzkuODA5OTk4IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMTAyIiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjEzNi4xNTAwMDkgMzY4LjE2MDAwNCI+CiAgICAgICAgICAgICAgICA8dCBwPSIxMzYuMTUwMDA5IDM2OC4xNjAwMDQiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxMDMiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTI3LjY5MDAwMiAzNTYuNTEwMDEwIj4KICAgICAgICAgICAgICAgIDx0IHA9IjEyNy42OTAwMDIgMzU2LjUxMDAxMCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk48L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjEwNCIgcD0iMTE0LjAwMDAwMCAzNjAuOTU5OTkxIi8+CiAgICAgICAgICAgIDxuIGlkPSIxMDUiIHA9IjEwMS41MjAwMDQgMzUzLjc2MDAxMCIvPgogICAgICAgICAgICA8biBpZD0iMTA2IiBwPSI4OS4wNTAwMDMgMzYwLjk1OTk5MSIvPgogICAgICAgICAgICA8biBpZD0iMTA3IiBwPSI4OS4wNTAwMDMgMzc1LjM1OTk4NSIvPgogICAgICAgICAgICA8biBpZD0iMTA4IiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjEwMS41MjAwMDQgMzgyLjU1OTk5OCI+CiAgICAgICAgICAgICAgICA8dCBwPSIxMDEuNTIwMDA0IDM4Mi41NTk5OTgiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxMDkiIHA9IjExNC4wMDAwMDAgMzc1LjM1OTk4NSIvPgogICAgICAgICAgICA8biBpZD0iMTEwIiBwPSIxMzIuMTM5OTk5IDM0Mi44MjAwMDciLz4KICAgICAgICAgICAgPG4gaWQ9IjExMSIgRWxlbWVudD0iNyIgQ2hhcmdlPSIxIiBOdW1IeWRyb2dlbnM9IjAiIHA9IjE0Ni4yMjk5OTYgMzM5LjgyMDAwNyI+CiAgICAgICAgICAgICAgICA8dCBwPSIxNDYuMjI5OTk2IDMzOS44MjAwMDciIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxMTIiIHA9IjE1MC42ODAwMDggMzI2LjEzMDAwNSIvPgogICAgICAgICAgICA8biBpZD0iMTEzIiBwPSIxNTUuODYwMDAxIDM1MC41MTk5ODkiLz4KICAgICAgICAgICAgPG4gaWQ9IjExNCIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxMjIuNTAwMDA4IDMzMi4xMTk5OTUiPgogICAgICAgICAgICAgICAgPHQgcD0iMTIyLjUwMDAwOCAzMzIuMTE5OTk1IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMTE1IiBwPSIxMDguNDIwMDA2IDMzNS4xMDk5ODUiLz4KICAgICAgICAgICAgPG4gaWQ9IjExNiIgcD0iMTI2Ljk0OTk5NyAzMTguNDIwMDEzIi8+CiAgICAgICAgICAgIDxuIGlkPSIxMTciIEVsZW1lbnQ9IjkiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTk0LjI0MDAwNSAzNzIuNDg5OTkwIj4KICAgICAgICAgICAgICAgIDx0IHA9IjE5NC4yNDAwMDUgMzcyLjQ4OTk5MCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkY8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjExOCIgRWxlbWVudD0iMTUiIENoYXJnZT0iLTEiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTgxLjc3MDAwNCAzNjUuMjkwMDA5Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjE4MS43NzAwMDQgMzY1LjI5MDAwOSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPlA8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjExOSIgRWxlbWVudD0iOSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxOTQuMjQwMDA1IDM1OC4wODk5OTYiPgogICAgICAgICAgICAgICAgPHQgcD0iMTk0LjI0MDAwNSAzNTguMDg5OTk2IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Rjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMTIwIiBFbGVtZW50PSI5IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjE4MS43NzAwMDQgMzUwLjg5MDAxNSI+CiAgICAgICAgICAgICAgICA8dCBwPSIxODEuNzcwMDA0IDM1MC44OTAwMTUiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5GPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxMjEiIEVsZW1lbnQ9IjkiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTY5LjMwMDAwMyAzNTguMDg5OTk2Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjE2OS4zMDAwMDMgMzU4LjA4OTk5NiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkY8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjEyMiIgRWxlbWVudD0iOSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxNjkuMzAwMDAzIDM3Mi40ODk5OTAiPgogICAgICAgICAgICAgICAgPHQgcD0iMTY5LjMwMDAwMyAzNzIuNDg5OTkwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Rjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMTIzIiBFbGVtZW50PSI5IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjE4MS43NzAwMDQgMzc5LjY5MDAwMiI+CiAgICAgICAgICAgICAgICA8dCBwPSIxODEuNzcwMDA0IDM3OS42OTAwMDIiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5GPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxiIGlkPSIzNTQiIEI9IjEwMCIgRT0iMTAxIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNTUiIEI9IjEwMSIgRT0iMTAyIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzU2IiBCPSIxMDIiIEU9IjEwMyIvPgogICAgICAgICAgICA8YiBpZD0iMzU3IiBCPSIxMDMiIEU9IjEwNCIvPgogICAgICAgICAgICA8YiBpZD0iMzU4IiBCPSIxMDQiIEU9IjEwNSIvPgogICAgICAgICAgICA8YiBpZD0iMzU5IiBCPSIxMDUiIEU9IjEwNiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjM2MCIgQj0iMTA2IiBFPSIxMDciLz4KICAgICAgICAgICAgPGIgaWQ9IjM2MSIgQj0iMTA3IiBFPSIxMDgiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNjIiIEI9IjEwOCIgRT0iMTA5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzNjMiIEI9IjEwNCIgRT0iMTA5IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzY0IiBCPSIxMDEiIEU9IjEwOSIvPgogICAgICAgICAgICA8YiBpZD0iMzY1IiBCPSIxMDMiIEU9IjExMCIvPgogICAgICAgICAgICA8YiBpZD0iMzY2IiBCPSIxMTAiIEU9IjExMSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjM2NyIgQj0iMTExIiBFPSIxMTIiLz4KICAgICAgICAgICAgPGIgaWQ9IjM2OCIgQj0iMTExIiBFPSIxMTMiLz4KICAgICAgICAgICAgPGIgaWQ9IjM2OSIgQj0iMTEwIiBFPSIxMTQiLz4KICAgICAgICAgICAgPGIgaWQ9IjM3MCIgQj0iMTE0IiBFPSIxMTUiLz4KICAgICAgICAgICAgPGIgaWQ9IjM3MSIgQj0iMTE0IiBFPSIxMTYiLz4KICAgICAgICAgICAgPGIgaWQ9IjM3MiIgQj0iMTE3IiBFPSIxMTgiLz4KICAgICAgICAgICAgPGIgaWQ9IjM3MyIgQj0iMTE4IiBFPSIxMTkiLz4KICAgICAgICAgICAgPGIgaWQ9IjM3NCIgQj0iMTE4IiBFPSIxMjAiLz4KICAgICAgICAgICAgPGIgaWQ9IjM3NSIgQj0iMTE4IiBFPSIxMjEiLz4KICAgICAgICAgICAgPGIgaWQ9IjM3NiIgQj0iMTE4IiBFPSIxMjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjM3NyIgQj0iMTE4IiBFPSIxMjMiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iMTI0Ij4KICAgICAgICAgICAgPG4gaWQ9IjEyNSIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSIzMDkuODA5OTk4IDMwNi42NjAwMDQiPgogICAgICAgICAgICAgICAgPHQgcD0iMzA5LjgwOTk5OCAzMDYuNjYwMDA0IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMTI2IiBwPSIzMjIuMjc5OTk5IDMxMy44NTk5ODUiLz4KICAgICAgICAgICAgPG4gaWQ9IjEyNyIgcD0iMzM0Ljc1MDAwMCAzMDYuNjYwMDA0Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMjgiIHA9IjI5Ny4zMzk5OTYgMzEzLjg1OTk4NSIvPgogICAgICAgICAgICA8biBpZD0iMTI5IiBwPSIyODQuODY5OTk1IDMwNi42NjAwMDQiLz4KICAgICAgICAgICAgPG4gaWQ9IjEzMCIgcD0iMzA5LjgwOTk5OCAyOTIuMjYwMDEwIi8+CiAgICAgICAgICAgIDxuIGlkPSIxMzEiIHA9IjI5Ny4zMzk5OTYgMjg1LjA1OTk5OCIvPgogICAgICAgICAgICA8YiBpZD0iMzc4IiBCPSIxMjYiIEU9IjEyNyIvPgogICAgICAgICAgICA8YiBpZD0iMzc5IiBCPSIxMjUiIEU9IjEyNiIvPgogICAgICAgICAgICA8YiBpZD0iMzgwIiBCPSIxMjgiIEU9IjEyOSIvPgogICAgICAgICAgICA8YiBpZD0iMzgxIiBCPSIxMjUiIEU9IjEyOCIvPgogICAgICAgICAgICA8YiBpZD0iMzgyIiBCPSIxMzAiIEU9IjEzMSIvPgogICAgICAgICAgICA8YiBpZD0iMzgzIiBCPSIxMjUiIEU9IjEzMCIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSIxMzIiPgogICAgICAgICAgICA8biBpZD0iMTMzIiBFbGVtZW50PSIxNyIgTnVtSHlkcm9nZW5zPSIxIiBwPSI0NTUuMTk5OTgyIDIzNS45MTAwMDQiPgogICAgICAgICAgICAgICAgPHQgcD0iNDU1LjE5OTk4MiAyMzUuOTEwMDA0IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Q2xIPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjEzNCI+CiAgICAgICAgICAgIDxuIGlkPSIxMzUiIEVsZW1lbnQ9IjEiIHA9IjQ1MS4zNTk5ODUgMjg5LjYxOTk5NSI+CiAgICAgICAgICAgICAgICA8dCBwPSI0NTEuMzU5OTg1IDI4OS42MTk5OTUiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxMzYiIEVsZW1lbnQ9IjE3IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjQ2NS43NTk5NzkgMjg5LjYxOTk5NSI+CiAgICAgICAgICAgICAgICA8dCBwPSI0NjUuNzU5OTc5IDI4OS42MTk5OTUiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5DbDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8YiBpZD0iMzg0IiBCPSIxMzUiIEU9IjEzNiIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPHQgaWQ9IjEzNyIgcD0iMzc1LjcxNDk5NiA1NS4xNDk5OTgiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjIuMCBlcXVpdjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEzNyIgcD0iMzc1LjcxNDk5NiA1NS4xNDk5OTgiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPiBIQVRVPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTQwIiBwPSIzNzIuNTIwMDIwIDY5LjcyOTk5NiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+Mi4wIGVxdWl2PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTQwIiBwPSIzNzIuNTIwMDIwIDY5LjcyOTk5NiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+IFRFQTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE0MyIgcD0iMzcyLjk0NDk3NyAxMDguNDg5OTk4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5EQ008L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNDYiIHA9IjM3Mi45OTQ5OTUgMTIxLjEyNTAwMCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+ci50Ljwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE0OSIgcD0iMzczLjY2MDAwNCAxMzQuNzA1MDAyIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4wLjEgTSBpbiBsaW1pdGluZzwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE1MiIgcD0iMzc1LjgwOTk5OCA4NC4zNDUwMDEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjIuMTUgZXF1aXY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNTIiIHA9IjM3NS44MDk5OTggODQuMzQ1MDAxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4gMSBOIEhDbDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE1NSIgcD0iNzMuNzI0OTk4IDcuMzQwMDAwIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjE2IiBmYWNlPSIyIj5BbWlkYXRpb25fUnhuMTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE1OCIgcD0iMTQyLjc3NDk5NCAyOTIuNjcwMDEzIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPgk8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNTgiIHA9IjE0Mi43NzQ5OTQgMjkyLjY3MDAxMyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj4xNDg4OTMtMTAtMTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE2MSIgcD0iMjU2LjA3NTAxMiAxMjguNTI5OTk5IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPjQtKHRyaWZsdW9yb21ldGh5bCliZW56b2ljIGFjaWQ8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNjQiIHA9IjI1Ni4wNzUwMTIgMTQ0LjQxOTk5OCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj40NTUtMjQtMzwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE2NyIgcD0iOTUuNzM1MDA4IDEyNy45MDAwMDIiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+Mi0oNC0oPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTY3IiBwPSI5NS43MzUwMDggMTI3LjkwMDAwMiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIzIj50ZXJ0PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTY3IiBwPSI5NS43MzUwMDggMTI3LjkwMDAwMiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIzIj4tYnV0eWwpcGhlbnlsKWV0aGFuLTEtYW1pbmU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNzAiIHA9Ijk1LjczNTAwOCAxNDQuNDMwMDA4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjkxNTUyLTgyLTg8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNzMiIHA9Ijk1LjczOTk5OCAxNzIuMTUwMDA5IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4xLjEgZXF1aXY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNzYiIHA9IjI1Ni4wODAwMTcgMTcyLjE1MDAwOSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+MS4wIGVxdWl2PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTc5IiBwPSI5NS43Mzk5OTggMTg2LjQxNDk5MyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2FtaW5lXTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE4MiIgcD0iMjU2LjA4NTAyMiAxODYuNDE0OTkzIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bYWNpZF08L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxODUiIHA9IjU1NS4yMjk5ODAgMTg2LjQxNDk5MyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2Rlc2lyZWQgcHJvZHVjdF08L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxODgiIHA9IjU1NS4yMzQ5ODUgMTI3LjE0OTk3OSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIzIj5OPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTg4IiBwPSI1NTUuMjM0OTg1IDEyNy4xNDk5NzkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+LSg0LSg8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxODgiIHA9IjU1NS4yMzQ5ODUgMTI3LjE0OTk3OSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIzIj50ZXJ0PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTg4IiBwPSI1NTUuMjM0OTg1IDEyNy4xNDk5NzkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+LWJ1dHlsKXBoZW5ldGh5bCktNC0odHJpZmx1b3JvbWV0aHlsKWJlbnphbWlkZTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE5MSIgcD0iNTQ3LjI5OTkyNyAyMjcuNzIwMDAxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bYnlwcm9kdWN0c108L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxOTQiIHA9IjE2LjUxNDk5OSAyMzQuMjIwMDAxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIxIj5LZXk8L3M+CiAgICAgICAgPC90PgogICAgICAgIDxncmFwaGljIGlkPSIxOTciIEJvdW5kaW5nQm94PSIwLjgwMDAwMCA0NDMuNzUwMDAwIDUwNS43OTk5NTcgMjIyLjQ0OTk5NyIgR3JhcGhpY1R5cGU9IlJlY3RhbmdsZSIvPgogICAgICAgIDxncmFwaGljIGlkPSIyMDAiIEJvdW5kaW5nQm94PSIxODAuNzIwMDAxIDk0LjQ3NDk5OCAxODAuNzIwMDAxIDg2Ljk3NDk5OCIgR3JhcGhpY1R5cGU9IlN5bWJvbCIgU3ltYm9sVHlwZT0iUGx1cyIvPgogICAgICAgIDx0IGlkPSIyMDMiIHA9IjU1NS4yMzAwNDIgMTQ0LjQxOTk5OCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj43MTg2MjUtMjUtMzwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIwNiIgcD0iMzgwLjIwNTAxNyAyNTIuOTM0OTk4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPmRpY2hsb3JvbWV0aGFuZTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIwOSIgcD0iMzgwLjIwOTk5MSAyNjkuMzIwMDA3IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjc1LTA5LTI8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMTIiIHA9IjM4MC4yMDUwMTcgMzI5LjkxNTAwOSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W3NvbHZlbnRdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjE1IiBwPSIzODAuMTk5OTUxIDMxMi4xNjk5ODMiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+TVcgODQuOTM8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMTgiIHA9IjE0Mi43NzQ5OTQgMjY5LjQwNTAyOSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj4xLSgoZGltZXRoeWxhbWlubykoZGltZXRoeWxpbWluaW8pbWV0aHlsKS0xPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjE4IiBwPSIxNDIuNzc0OTk0IDI2OS40MDUwMjkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+SDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIxOCIgcD0iMTQyLjc3NDk5NCAyNjkuNDA1MDI5IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjMiPi1bMSwyLDNddHJpYXpvbG9bNCw1LTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIxOCIgcD0iMTQyLjc3NDk5NCAyNjkuNDA1MDI5IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjMiPmI8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMTgiIHA9IjE0Mi43NzQ5OTQgMjY5LjQwNTAyOSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIzIj5dcHlyaWRpbmUgMy1veGlkZSBoZXhhZmx1b3JvcGhvc3BoYXRlPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjE4IiBwPSIxNDIuNzc0OTk0IDI2OS40MDUwMjkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+b3I8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMTgiIHA9IjE0Mi43NzQ5OTQgMjY5LjQwNTAyOSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIzIj5IZXhhZmx1b3JvcGhvc3BoYXRlIEF6YWJlbnpvdHJpYXpvbGUgVGV0cmFtZXRoeWwgVXJvbml1bTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIyMSIgcD0iMTQyLjc3NDk5NCA0MDguNjk5OTgyIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPk1XIDM4MC4yNDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIyNCIgcD0iMTQwLjE0NTAwNCA0MjkuNDE1MDA5IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bYWRkaXRpdmVdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjI3IiBwPSIzMDkuODA5OTk4IDI1My44MjUwMTIiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+dHJpZXRoeWxhbWluZTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIzMCIgcD0iMzA5LjgwNDk2MiAyNjkuMzIwMDA3IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjEyMS00NC04PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjMzIiBwPSIzMDkuNzk0OTgzIDMyNi4wMTk5ODkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+TVcgMTAxLjE5PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjM2IiBwPSIzMDkuODA0OTkzIDM0Mi45MTUwMDkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltiYXNlXTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIzOSIgcD0iNDU5LjcyNDk3NiAyNTMuODI1MDEyIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPmh5ZHJvY2hsb3JpYyBhY2lkPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjQyIiBwPSI0NTkuNzI0OTc2IDI2OS4zMjAwMDciIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+NzY0Ny0wMS0wPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjQ1IiBwPSI0NTkuNzE0OTk2IDMwNy4xMDk5ODUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+TVcgMzYuNDY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyNDgiIHA9IjQ1OS43MTQ5NjYgMzI1LjQxNDk3OCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W3F1ZW5jaF08L3M+CiAgICAgICAgPC90PgogICAgICAgIDxhcnJvdyBpZD0iMjUxIiBCb3VuZGluZ0JveD0iNTg5LjU0OTk4OCAzMzcuMDQwMDA5IDU4OS41NDk5ODggMjUwLjUwMDAxNSIgRmlsbFR5cGU9Ik5vbmUiIEFycm93aGVhZFR5cGU9IlNvbGlkIiBIZWFkU2l6ZT0iMjI1MCIgQXJyb3doZWFkV2lkdGg9IjU2MyIgQXJyb3doZWFkSGVhZD0iRnVsbCIgQXJyb3doZWFkQ2VudGVyU2l6ZT0iMjUiIEhlYWQzRD0iNTg5LjU0OTk4OCAzMzcuMDQwMDA5IDAuMDAwMDAwIiBUYWlsM0Q9IjU4OS41NDk5ODggMjUwLjUwMDAxNSAwLjAwMDAwMCIvPgogICAgICAgIDxhcnJvdyBpZD0iMjU0IiBCb3VuZGluZ0JveD0iNDI4Ljc5OTk4OCA5Ny4xMzk5OTkgMzMyLjI5OTk4OCA5Ny4xMzk5OTkiIEZpbGxUeXBlPSJOb25lIiBBcnJvd2hlYWRUeXBlPSJTb2xpZCIgSGVhZFNpemU9IjIyNTAiIEFycm93aGVhZFdpZHRoPSI1NjMiIEFycm93aGVhZEhlYWQ9IkZ1bGwiIEFycm93aGVhZENlbnRlclNpemU9IjI1IiBIZWFkM0Q9IjQyOC43OTk5ODggOTcuMTM5OTk5IDAuMDAwMDAwIiBUYWlsM0Q9IjMzMi4yOTk5ODggOTcuMTM5OTk5IDAuMDAwMDAwIi8+CiAgICAgICAgPHNjaGVtZT4KICAgICAgICAgICAgPHN0ZXAgUmVhY3Rpb25TdGVwQXJyb3dzPSIyNTEiLz4KICAgICAgICAgICAgPHN0ZXAgUmVhY3Rpb25TdGVwQXJyb3dzPSIyNTQiLz4KICAgICAgICA8L3NjaGVtZT4KICAgIDwvcGFnZT4KPC9DRFhNTD4K \ No newline at end of file diff --git a/api/tests/integration/tests/formats/ref/Amidation_Rxn1.cdxml b/api/tests/integration/tests/formats/ref/Amidation_Rxn1.cdxml new file mode 100644 index 0000000000..ab80fbdf0e --- /dev/null +++ b/api/tests/integration/tests/formats/ref/Amidation_Rxn1.cdxml @@ -0,0 +1,653 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OH + + + + + O + + + + + F + + + + + + F + + + + + F + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NH + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NH + + + + + O + + + + + F + + + + + + F + + + + + F + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + H + + + + + + U + + + + + + + + HATU + + + + + A + + + + + + + + + OH + + + + + N + + + + + + + + + + N + + + + + N + + + + + N + + + + + + + + + + + + + + + + + + + N + + + + + + + N + + + + + + + O + + + + + + + + + + + + + + + + + + + + + + NH + + + + + Cl + + + + + + + + + + + Et + + + + + + + + Cl + + + + + Cl + + + + + + + + + + + H + + + + + + + + + DCM + + + + + M + + + + + + + + O + + + + + N + + + + + N + + + + + N + + + + + + + + + N + + + + + + + N + + + + + + + N + + + + + + + F + + + + + P + + + + + F + + + + + F + + + + + F + + + + + F + + + + + F + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + N + + + + + + + + + + + + + + + + + + + ClH + + + + + + + H + + + + + Cl + + + + + + 2.0 equiv + + + HATU + + + 2.0 equiv + + + TEA + + + DCM + + + r.t. + + + 0.1 M in limiting + + + 2.15 equiv + + + 1 N HCl + + + Amidation_Rxn1 + + + + + + 148893-10-1 + + + 4-(trifluoromethyl)benzoic acid + + + 455-24-3 + + + 2-(4-( + + + tert + + + -butyl)phenyl)ethan-1-amine + + + 91552-82-8 + + + 1.1 equiv + + + 1.0 equiv + + + [amine] + + + [acid] + + + [desired product] + + + N + + + -(4-( + + + tert + + + -butyl)phenethyl)-4-(trifluoromethyl)benzamide + + + [byproducts] + + + Key + + + + + 718625-25-3 + + + dichloromethane + + + 75-09-2 + + + [solvent] + + + MW 84.93 + + + 1-((dimethylamino)(dimethyliminio)methyl)-1 + + + H + + + -[1,2,3]triazolo[4,5- + + + b + + + ]pyridine 3-oxide hexafluorophosphate + + + or + + + Hexafluorophosphate Azabenzotriazole Tetramethyl Uronium + + + MW 380.24 + + + [additive] + + + triethylamine + + + 121-44-8 + + + MW 101.19 + + + [base] + + + hydrochloric acid + + + 7647-01-0 + + + MW 36.46 + + + [quench] + + + + + + + + + diff --git a/api/tests/integration/tests/formats/ref/Amidation_Rxn2.b64cdx b/api/tests/integration/tests/formats/ref/Amidation_Rxn2.b64cdx new file mode 100644 index 0000000000..b1de4815e7 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/Amidation_Rxn2.b64cdx @@ -0,0 +1 @@ +PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIENEWE1MIFNZU1RFTSAiaHR0cDovL3d3dy5jYW1icmlkZ2Vzb2Z0LmNvbS94bWwvY2R4bWwuZHRkIj4KPENEWE1MIEJvbmRMZW5ndGg9IjMwLjAwMDAwMCIgTGFiZWxGb250PSIzIiBDYXB0aW9uRm9udD0iNCI+CiAgICA8Zm9udHRhYmxlIGlkPSIxIj4KICAgICAgICA8Zm9udCBpZD0iMiIgY2hhcnNldD0idXRmLTgiIG5hbWU9IkFyaWFsIi8+CiAgICAgICAgPGZvbnQgaWQ9IjMiIGNoYXJzZXQ9InV0Zi04IiBuYW1lPSJUaW1lcyBOZXcgUm9tYW4iLz4KICAgIDwvZm9udHRhYmxlPgogICAgPGNvbG9ydGFibGU+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMCIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIxIiBnPSIwIiBiPSIwIi8+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjAiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMSIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIwIiBnPSIxIiBiPSIxIi8+CiAgICAgICAgPGNvbG9yIHI9IjAiIGc9IjAiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMSIgZz0iMCIgYj0iMSIvPgogICAgICAgIDxjb2xvciByPSIwLjUiIGc9IjAuNSIgYj0iMC41Ii8+CiAgICA8L2NvbG9ydGFibGU+CiAgICA8cGFnZSBIZWlnaHRQYWdlcz0iMSIgV2lkdGhQYWdlcz0iMSI+CiAgICAgICAgPGZyYWdtZW50IGlkPSI0Ij4KICAgICAgICAgICAgPG4gaWQ9IjUiIHA9Ijk1LjQxMDAwNCA2OC4xMzk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9IjYiIHA9Ijk1LjQxMDAwNCA4Mi41NDAwMDEiLz4KICAgICAgICAgICAgPG4gaWQ9IjciIHA9IjEwNy44ODAwMDUgODkuNzM5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSI4IiBwPSIxMjAuMzUwMDA2IDgyLjU0MDAwMSIvPgogICAgICAgICAgICA8biBpZD0iOSIgcD0iMTIwLjM1MDAwNiA2OC4xMzk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9IjEwIiBwPSIxMDcuODgwMDA1IDYwLjk0MDAwMiIvPgogICAgICAgICAgICA8biBpZD0iMTEiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMiIgcD0iMTMyLjgyMDAwNyA2MC45NDAwMDIiPgogICAgICAgICAgICAgICAgPHQgcD0iMTMyLjgyMDAwNyA2MC45NDAwMDIiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OSDwvcz4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iMzIiPjI8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjEyIiBwPSI4Mi45NDAwMDIgODkuNzM5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMyIgcD0iNzAuNDcwMDAxIDgyLjU0MDAwMSIvPgogICAgICAgICAgICA8biBpZD0iMTQiIHA9IjgyLjk0MDAwMiAxMDQuMTM5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxNSIgcD0iNzAuNDcwMDAxIDk2Ljk0MDAwMiIvPgogICAgICAgICAgICA8YiBpZD0iMjUxIiBCPSI1IiBFPSI2IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjUyIiBCPSI2IiBFPSI3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNTMiIEI9IjciIEU9IjgiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNTQiIEI9IjgiIEU9IjkiLz4KICAgICAgICAgICAgPGIgaWQ9IjI1NSIgQj0iOSIgRT0iMTAiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNTYiIEI9IjEwIiBFPSI1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNTciIEI9IjkiIEU9IjExIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNTgiIEI9IjYiIEU9IjEyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNTkiIEI9IjEyIiBFPSIxMyIvPgogICAgICAgICAgICA8YiBpZD0iMjYwIiBCPSIxMiIgRT0iMTQiLz4KICAgICAgICAgICAgPGIgaWQ9IjI2MSIgQj0iMTIiIEU9IjE1Ii8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjE2Ij4KICAgICAgICAgICAgPG4gaWQ9IjI3NCIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iMjc1Ij4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMjMiIHA9IjE5NS4wODk5OTYgMTAyLjMyMDAwNyIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIyNzYiIE5vZGVUeXBlPSJFeHRlcm5hbENvbm5lY3Rpb25Qb2ludCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyNzgiIEI9IjI3NiIgRT0iMjMiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+TWU8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjE3IiBwPSIyMDcuNTU5OTk4IDgwLjcyMDAwMSIvPgogICAgICAgICAgICA8biBpZD0iMTgiIHA9IjIwNy41NTk5OTggOTUuMTIwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSIxOSIgcD0iMjIwLjAyOTk5OSAxMDIuMzIwMDA3Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyMCIgcD0iMjMyLjUwMDAwMCA5NS4xMjAwMDMiLz4KICAgICAgICAgICAgPG4gaWQ9IjIxIiBwPSIyMzIuNTAwMDAwIDgwLjcyMDAwMSIvPgogICAgICAgICAgICA8biBpZD0iMjIiIHA9IjIyMC4wMjk5OTkgNzMuNTE5OTk3Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyNCIgcD0iMjQ0Ljk3MDAzMiA3My41MTk5OTciLz4KICAgICAgICAgICAgPG4gaWQ9IjI1IiBwPSIyNTcuNDQwMDAyIDgwLjcyMDAwMSIvPgogICAgICAgICAgICA8biBpZD0iMjYiIHA9IjI2OS45MDk5NzMgNzMuNTE5OTk3Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyNyIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIxIiBwPSIyODIuMzc5OTc0IDgwLjcyMDAwMSI+CiAgICAgICAgICAgICAgICA8dCBwPSIyODIuMzc5OTc0IDgwLjcyMDAwMSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk9IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIyOCIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyNjkuOTA5OTczIDU5LjEyMDAwMyI+CiAgICAgICAgICAgICAgICA8dCBwPSIyNjkuOTA5OTczIDU5LjEyMDAwMyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPGIgaWQ9IjI2MiIgQj0iMTciIEU9IjE4IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjYzIiBCPSIxOCIgRT0iMTkiLz4KICAgICAgICAgICAgPGIgaWQ9IjI2NCIgQj0iMTkiIEU9IjIwIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjY1IiBCPSIyMCIgRT0iMjEiLz4KICAgICAgICAgICAgPGIgaWQ9IjI2NiIgQj0iMjEiIEU9IjIyIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjY3IiBCPSIyMiIgRT0iMTciLz4KICAgICAgICAgICAgPGIgaWQ9IjI2OSIgQj0iMjEiIEU9IjI0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNzAiIEI9IjI0IiBFPSIyNSIvPgogICAgICAgICAgICA8YiBpZD0iMjcxIiBCPSIyNSIgRT0iMjYiLz4KICAgICAgICAgICAgPGIgaWQ9IjI3MiIgQj0iMjYiIEU9IjI3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNzMiIEI9IjI2IiBFPSIyOCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI3NyIgQj0iMTgiIEU9IjI3NCIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSIyOSI+CiAgICAgICAgICAgIDxuIGlkPSIzMDIiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjMwMyI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjM2IiBwPSI1NzMuNDA5OTczIDUwLjEzOTk5OSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIzMDQiIE5vZGVUeXBlPSJFeHRlcm5hbENvbm5lY3Rpb25Qb2ludCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMDYiIEI9IjMwNCIgRT0iMzYiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+TWU8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjMwIiBwPSI1NjAuOTQwMDAyIDcxLjczOTk5OCIvPgogICAgICAgICAgICA8biBpZD0iMzEiIHA9IjU2MC45NDAwMDIgNTcuMzM5OTk2Ii8+CiAgICAgICAgICAgIDxuIGlkPSIzMiIgcD0iNTQ4LjQ2OTk3MSA1MC4xMzk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9IjMzIiBwPSI1MzYuMDAwMDAwIDU3LjMzOTk5NiIvPgogICAgICAgICAgICA8biBpZD0iMzQiIHA9IjUzNi4wMDAwMDAgNzEuNzM5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSIzNSIgcD0iNTQ4LjQ2OTk3MSA3OC45NDAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjM3IiBwPSI1MjMuNTI5OTY4IDc4Ljk0MDAwMiIvPgogICAgICAgICAgICA8biBpZD0iMzgiIHA9IjUxMS4wNTk5OTggNzEuNzM5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSIzOSIgcD0iNDk4LjU4OTk2NiA3OC45NDAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjQwIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjQ5OC41ODk5NjYgOTMuMzM5OTk2Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjQ5OC41ODk5NjYgOTMuMzM5OTk2IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNDEiIHA9IjQ0OC43MDk5OTEgNzguOTQwMDAyIi8+CiAgICAgICAgICAgIDxuIGlkPSI0MiIgcD0iNDQ4LjcwOTk5MSA5My4zMzk5OTYiLz4KICAgICAgICAgICAgPG4gaWQ9IjQzIiBwPSI0NjEuMTc5OTkzIDEwMC41Mzk5OTMiLz4KICAgICAgICAgICAgPG4gaWQ9IjQ0IiBwPSI0NzMuNjQ5OTk0IDkzLjMzOTk5NiIvPgogICAgICAgICAgICA8biBpZD0iNDUiIHA9IjQ3My42NDk5OTQgNzguOTQwMDAyIi8+CiAgICAgICAgICAgIDxuIGlkPSI0NiIgcD0iNDYxLjE3OTk5MyA3MS43Mzk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjQ3IiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjQ4Ni4xMjAwMjYgNzEuNzM5OTk4Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjQ4Ni4xMjAwMjYgNzEuNzM5OTk4IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tkg8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjQ4IiBwPSI0MzYuMjM5OTkwIDEwMC41Mzk5OTMiLz4KICAgICAgICAgICAgPG4gaWQ9IjQ5IiBwPSI0MjMuNzY5OTg5IDkzLjMzOTk5NiIvPgogICAgICAgICAgICA8biBpZD0iNTAiIHA9IjQzNi4yMzk5OTAgMTE0Ljk0MDAwMiIvPgogICAgICAgICAgICA8biBpZD0iNTEiIHA9IjQyMy43Njk5ODkgMTA3Ljc0MDAwNSIvPgogICAgICAgICAgICA8YiBpZD0iMjc5IiBCPSIzMCIgRT0iMzEiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyODAiIEI9IjMxIiBFPSIzMiIvPgogICAgICAgICAgICA8YiBpZD0iMjgxIiBCPSIzMiIgRT0iMzMiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyODIiIEI9IjMzIiBFPSIzNCIvPgogICAgICAgICAgICA8YiBpZD0iMjgzIiBCPSIzNCIgRT0iMzUiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyODQiIEI9IjM1IiBFPSIzMCIvPgogICAgICAgICAgICA8YiBpZD0iMjg2IiBCPSIzNCIgRT0iMzciLz4KICAgICAgICAgICAgPGIgaWQ9IjI4NyIgQj0iMzciIEU9IjM4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyODgiIEI9IjM4IiBFPSIzOSIvPgogICAgICAgICAgICA8YiBpZD0iMjg5IiBCPSIzOSIgRT0iNDciLz4KICAgICAgICAgICAgPGIgaWQ9IjI5MCIgQj0iMzkiIEU9IjQwIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjkxIiBCPSI0MSIgRT0iNDIiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyOTIiIEI9IjQyIiBFPSI0MyIvPgogICAgICAgICAgICA8YiBpZD0iMjkzIiBCPSI0MyIgRT0iNDQiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyOTQiIEI9IjQ0IiBFPSI0NSIvPgogICAgICAgICAgICA8YiBpZD0iMjk1IiBCPSI0NSIgRT0iNDYiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyOTYiIEI9IjQ2IiBFPSI0MSIvPgogICAgICAgICAgICA8YiBpZD0iMjk3IiBCPSI0NSIgRT0iNDciLz4KICAgICAgICAgICAgPGIgaWQ9IjI5OCIgQj0iNDIiIEU9IjQ4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyOTkiIEI9IjQ4IiBFPSI0OSIvPgogICAgICAgICAgICA8YiBpZD0iMzAwIiBCPSI0OCIgRT0iNTAiLz4KICAgICAgICAgICAgPGIgaWQ9IjMwMSIgQj0iNDgiIEU9IjUxIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMDUiIEI9IjMxIiBFPSIzMDIiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNTIiPgogICAgICAgICAgICA8biBpZD0iMzA5IiBOb2RlVHlwZT0iRnJhZ21lbnQiIEJvbmRPcmRlcmluZz0iMzEyIDMxNCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjMxMCIgQ29ubmVjdGlvbk9yZGVyPSIzMTEgMzEzIj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNTQiIEVsZW1lbnQ9IjEiIElzb3RvcGU9IjMiIHA9IjEyMS45NTk5OTkgMjQ0LjM5MDAxNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjEyMS45NTk5OTkgMjQ0LjM5MDAxNSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+SDwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMzExIiBOb2RlVHlwZT0iRXh0ZXJuYWxDb25uZWN0aW9uUG9pbnQiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNTUiIEVsZW1lbnQ9IjkyIiBOdW1IeWRyb2dlbnM9IjAiIHA9IjE0Ni44MjAwMDcgMjQ0LjM5MDAxNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjE0Ni44MjAwMDcgMjQ0LjM5MDAxNSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+VTwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMzEzIiBOb2RlVHlwZT0iRXh0ZXJuYWxDb25uZWN0aW9uUG9pbnQiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzE1IiBCPSIzMTEiIEU9IjU0Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMxNiIgQj0iMzEzIiBFPSI1NSIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5IQVRVPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI1MyIgTm9kZVR5cGU9IkdlbmVyaWNOaWNrbmFtZSIgR2VuZXJpY05pY2tuYW1lPSJBIiBwPSIxMzQuMzg5OTk5IDIzNy4yMjAwMDEiPgogICAgICAgICAgICAgICAgPHQgcD0iMTM0LjM4OTk5OSAyMzcuMjIwMDAxIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+QTwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8YiBpZD0iMzEyIiBCPSI1MyIgRT0iMzA5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMTQiIEI9IjUzIiBFPSIzMDkiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNTYiPgogICAgICAgICAgICA8biBpZD0iNTciIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMSIgcD0iNTYzLjIxOTk3MSAyOTQuNjkwMDAyIj4KICAgICAgICAgICAgICAgIDx0IHA9IjU2My4yMTk5NzEgMjk0LjY5MDAwMiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk9IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI1OCIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSI1NTguNzY5OTU4IDI4MS4wMDAwMDAiPgogICAgICAgICAgICAgICAgPHQgcD0iNTU4Ljc2OTk1OCAyODEuMDAwMDAwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNTkiIHA9IjU0NS4wNzAwMDcgMjc2LjU0OTk4OCIvPgogICAgICAgICAgICA8biBpZD0iNjAiIHA9IjU0NS4wNzAwMDcgMjYyLjE0OTk5NCIvPgogICAgICAgICAgICA8biBpZD0iNjEiIHA9IjUzMi41OTk5NzYgMjU0Ljk1MDAxMiIvPgogICAgICAgICAgICA8biBpZD0iNjIiIHA9IjUyMC4xMzAwMDUgMjYyLjE0OTk5NCIvPgogICAgICAgICAgICA8biBpZD0iNjMiIHA9IjUyMC4xMzAwMDUgMjc2LjU0OTk4OCIvPgogICAgICAgICAgICA8biBpZD0iNjQiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNTMyLjU5OTk3NiAyODMuNzUwMDAwIj4KICAgICAgICAgICAgICAgIDx0IHA9IjUzMi41OTk5NzYgMjgzLjc1MDAwMCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk48L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjY1IiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjU1OC43Njk5NTggMjU3LjcwMDAxMiI+CiAgICAgICAgICAgICAgICA8dCBwPSI1NTguNzY5OTU4IDI1Ny43MDAwMTIiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI2NiIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSI1NjcuMjI5OTgwIDI2OS4zNTAwMDYiPgogICAgICAgICAgICAgICAgPHQgcD0iNTY3LjIyOTk4MCAyNjkuMzUwMDA2IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8YiBpZD0iMzE3IiBCPSI1NyIgRT0iNTgiLz4KICAgICAgICAgICAgPGIgaWQ9IjMxOCIgQj0iNTgiIEU9IjU5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMTkiIEI9IjU5IiBFPSI2MCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjMyMCIgQj0iNjAiIEU9IjYxIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMjEiIEI9IjYxIiBFPSI2MiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjMyMiIgQj0iNjIiIEU9IjYzIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMjMiIEI9IjYzIiBFPSI2NCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjMyNCIgQj0iNTkiIEU9IjY0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMjUiIEI9IjYwIiBFPSI2NSIvPgogICAgICAgICAgICA8YiBpZD0iMzI2IiBCPSI2NSIgRT0iNjYiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMjciIEI9IjU4IiBFPSI2NiIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI2NyI+CiAgICAgICAgICAgIDxuIGlkPSI2OCIgcD0iNTIyLjAxOTk1OCAzMzguNjYwMDA0Ii8+CiAgICAgICAgICAgIDxuIGlkPSI2OSIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSI1MzQuNDUwMDEyIDM0NS45NDAwMDIiPgogICAgICAgICAgICAgICAgPHQgcD0iNTM0LjQ1MDAxMiAzNDUuOTQwMDAyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNzAiIHA9IjUzNC4zNjk5OTUgMzYwLjMyOTk4NyIvPgogICAgICAgICAgICA8biBpZD0iNzEiIHA9IjU0Ni41NzAwMDcgMzM4LjE3MDAxMyIvPgogICAgICAgICAgICA8biBpZD0iNzIiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNTU5LjAxMDAxMCAzNDUuNDI5OTkzIj4KICAgICAgICAgICAgICAgIDx0IHA9IjU1OS4wMTAwMTAgMzQ1LjQyOTk5MyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk48L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjczIiBwPSI1NTguOTE5OTgzIDM1OS44Mjk5ODciLz4KICAgICAgICAgICAgPG4gaWQ9Ijc0IiBwPSI1NzEuNTE5OTU4IDMzOC4yOTk5ODgiLz4KICAgICAgICAgICAgPG4gaWQ9Ijc1IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjU0Ni41NzAwMDcgMzIzLjc2OTk4OSI+CiAgICAgICAgICAgICAgICA8dCBwPSI1NDYuNTcwMDA3IDMyMy43Njk5ODkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxiIGlkPSIzMjgiIEI9IjY4IiBFPSI2OSIvPgogICAgICAgICAgICA8YiBpZD0iMzI5IiBCPSI2OSIgRT0iNzAiLz4KICAgICAgICAgICAgPGIgaWQ9IjMzMCIgQj0iNjkiIEU9IjcxIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMzEiIEI9IjcxIiBFPSI3MiIvPgogICAgICAgICAgICA8YiBpZD0iMzMyIiBCPSI3MiIgRT0iNzMiLz4KICAgICAgICAgICAgPGIgaWQ9IjMzMyIgQj0iNzIiIEU9Ijc0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMzQiIEI9IjcxIiBFPSI3NSIgT3JkZXI9IjIiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNzYiPgogICAgICAgICAgICA8biBpZD0iMzQxIiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSIzNDIiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI3NyIgcD0iMzk1LjYxOTk5NSAyMjAuNjM5OTk5Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijc4IiBwPSIzODMuMTk5OTgyIDIyNy44MjAwMDciLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNzkiIHA9IjM0NS45MTk5ODMgMjIwLjYzOTk5OSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI4MCIgcD0iMzU4LjMzOTk5NiAyMjcuODIwMDA3Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjgxIiBwPSIzNTguMzM5OTk2IDE5OS4xMTk5OTUiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iODIiIHA9IjM3MC43Njk5ODkgMjA2LjI4OTk5MyIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI4MyIgRWxlbWVudD0iNyIgQ2hhcmdlPSIxIiBOdW1IeWRyb2dlbnM9IjEiIHA9IjM3MC43Njk5ODkgMjIwLjYzOTk5OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjM3MC43Njk5ODkgMjIwLjYzOTk5OSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tkg8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijg0IiBFbGVtZW50PSIxNyIgQ2hhcmdlPSItMSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIzNzAuNzY5OTg5IDIzNC45ODk5OTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIzNzAuNzY5OTg5IDIzNC45ODk5OTAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkNsPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMzUiIEI9IjgyIiBFPSI4MyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMzYiIEI9IjgxIiBFPSI4MiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMzciIEI9IjgwIiBFPSI4MyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMzgiIEI9Ijc5IiBFPSI4MCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMzkiIEI9Ijc4IiBFPSI4MyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzNDAiIEI9Ijc3IiBFPSI3OCIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5FdDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI4NSI+CiAgICAgICAgICAgIDxuIGlkPSI4NiIgcD0iMzgxLjU1OTk5OCAzMDIuMDAwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSI4NyIgRWxlbWVudD0iMTciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMzk0LjAyOTk5OSAyOTQuNzk5OTg4Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjM5NC4wMjk5OTkgMjk0Ljc5OTk4OCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkNsPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI4OCIgRWxlbWVudD0iMTciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMzY5LjA3OTk4NyAyOTQuNzk5OTg4Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjM2OS4wNzk5ODcgMjk0Ljc5OTk4OCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkNsPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxiIGlkPSIzNDMiIEI9Ijg2IiBFPSI4NyIvPgogICAgICAgICAgICA8YiBpZD0iMzQ0IiBCPSI4NiIgRT0iODgiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iODkiPgogICAgICAgICAgICA8biBpZD0iMzQ3IiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSIzNDgiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI5MCIgRWxlbWVudD0iMSIgSXNvdG9wZT0iMiIgcD0iMzYxLjI2OTk4OSAyNDQuNDk5OTg1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMzYxLjI2OTk4OSAyNDQuNDk5OTg1IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5IPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI5MSIgcD0iMzczLjY5OTk4MiAyMzcuMzIwMDA3Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjM0OSIgTm9kZVR5cGU9IkV4dGVybmFsQ29ubmVjdGlvblBvaW50Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM0NiIgQj0iOTAiIEU9IjkxIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM1MSIgQj0iMzQ5IiBFPSI5MSIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5EQ008L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjkyIiBOb2RlVHlwZT0iR2VuZXJpY05pY2tuYW1lIiBHZW5lcmljTmlja25hbWU9Ik0iIHA9IjM4Ni4xMjk5NzQgMjQ0LjQ5OTk4NSI+CiAgICAgICAgICAgICAgICA8dCBwPSIzODYuMTI5OTc0IDI0NC40OTk5ODUiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5NPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxiIGlkPSIzNTAiIEI9IjkyIiBFPSIzNDciLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iOTMiPgogICAgICAgICAgICA8biBpZD0iOTQiIEVsZW1lbnQ9IjgiIENoYXJnZT0iLTEiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTMyLjEzOTk5OSAzOTguNTEwMDEwIj4KICAgICAgICAgICAgICAgIDx0IHA9IjEzMi4xMzk5OTkgMzk4LjUxMDAxMCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9Ijk1IiBFbGVtZW50PSI3IiBDaGFyZ2U9IjEiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTI3LjY5MDAwMiAzODQuODA5OTk4Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjEyNy42OTAwMDIgMzg0LjgwOTk5OCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk48L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9Ijk2IiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjEzNi4xNTAwMDkgMzczLjE2MDAwNCI+CiAgICAgICAgICAgICAgICA8dCBwPSIxMzYuMTUwMDA5IDM3My4xNjAwMDQiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI5NyIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxMjcuNjkwMDAyIDM2MS41MTAwMTAiPgogICAgICAgICAgICAgICAgPHQgcD0iMTI3LjY5MDAwMiAzNjEuNTEwMDEwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iOTgiIHA9IjExNC4wMDAwMDAgMzY1Ljk1OTk5MSIvPgogICAgICAgICAgICA8biBpZD0iOTkiIHA9IjEwMS41MjAwMDQgMzU4Ljc2MDAxMCIvPgogICAgICAgICAgICA8biBpZD0iMTAwIiBwPSI4OS4wNTAwMDMgMzY1Ljk1OTk5MSIvPgogICAgICAgICAgICA8biBpZD0iMTAxIiBwPSI4OS4wNTAwMDMgMzgwLjM1OTk4NSIvPgogICAgICAgICAgICA8biBpZD0iMTAyIiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjEwMS41MjAwMDQgMzg3LjU1OTk5OCI+CiAgICAgICAgICAgICAgICA8dCBwPSIxMDEuNTIwMDA0IDM4Ny41NTk5OTgiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxMDMiIHA9IjExNC4wMDAwMDAgMzgwLjM1OTk4NSIvPgogICAgICAgICAgICA8biBpZD0iMTA0IiBwPSIxMzIuMTM5OTk5IDM0Ny44MjAwMDciLz4KICAgICAgICAgICAgPG4gaWQ9IjEwNSIgRWxlbWVudD0iNyIgQ2hhcmdlPSIxIiBOdW1IeWRyb2dlbnM9IjAiIHA9IjE0Ni4yMjk5OTYgMzQ0LjgyMDAwNyI+CiAgICAgICAgICAgICAgICA8dCBwPSIxNDYuMjI5OTk2IDM0NC44MjAwMDciIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxMDYiIHA9IjE1MC42ODAwMDggMzMxLjEzMDAwNSIvPgogICAgICAgICAgICA8biBpZD0iMTA3IiBwPSIxNTUuODYwMDAxIDM1NS41MTk5ODkiLz4KICAgICAgICAgICAgPG4gaWQ9IjEwOCIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxMjIuNTAwMDA4IDMzNy4xMTk5OTUiPgogICAgICAgICAgICAgICAgPHQgcD0iMTIyLjUwMDAwOCAzMzcuMTE5OTk1IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMTA5IiBwPSIxMDguNDE5OTk4IDM0MC4xMDk5ODUiLz4KICAgICAgICAgICAgPG4gaWQ9IjExMCIgcD0iMTI2Ljk0OTk5NyAzMjMuNDIwMDEzIi8+CiAgICAgICAgICAgIDxuIGlkPSIxMTEiIEVsZW1lbnQ9IjkiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTk0LjI0MDAwNSAzNzcuNDg5OTkwIj4KICAgICAgICAgICAgICAgIDx0IHA9IjE5NC4yNDAwMDUgMzc3LjQ4OTk5MCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkY8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjExMiIgRWxlbWVudD0iMTUiIENoYXJnZT0iLTEiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTgxLjc3MDAwNCAzNzAuMjkwMDA5Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjE4MS43NzAwMDQgMzcwLjI5MDAwOSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPlA8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjExMyIgRWxlbWVudD0iOSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxOTQuMjQwMDA1IDM2My4wODk5OTYiPgogICAgICAgICAgICAgICAgPHQgcD0iMTk0LjI0MDAwNSAzNjMuMDg5OTk2IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Rjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMTE0IiBFbGVtZW50PSI5IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjE4MS43NzAwMDQgMzU1Ljg5MDAxNSI+CiAgICAgICAgICAgICAgICA8dCBwPSIxODEuNzcwMDA0IDM1NS44OTAwMTUiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5GPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxMTUiIEVsZW1lbnQ9IjkiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTY5LjMwMDAwMyAzNjMuMDg5OTk2Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjE2OS4zMDAwMDMgMzYzLjA4OTk5NiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkY8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjExNiIgRWxlbWVudD0iOSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxNjkuMzAwMDAzIDM3Ny40ODk5OTAiPgogICAgICAgICAgICAgICAgPHQgcD0iMTY5LjMwMDAwMyAzNzcuNDg5OTkwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Rjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMTE3IiBFbGVtZW50PSI5IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjE4MS43NzAwMDQgMzg0LjY5MDAwMiI+CiAgICAgICAgICAgICAgICA8dCBwPSIxODEuNzcwMDA0IDM4NC42OTAwMDIiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5GPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxiIGlkPSIzNTIiIEI9Ijk0IiBFPSI5NSIvPgogICAgICAgICAgICA8YiBpZD0iMzUzIiBCPSI5NSIgRT0iOTYiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNTQiIEI9Ijk2IiBFPSI5NyIvPgogICAgICAgICAgICA8YiBpZD0iMzU1IiBCPSI5NyIgRT0iOTgiLz4KICAgICAgICAgICAgPGIgaWQ9IjM1NiIgQj0iOTgiIEU9Ijk5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzNTciIEI9Ijk5IiBFPSIxMDAiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNTgiIEI9IjEwMCIgRT0iMTAxIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNTkiIEI9IjEwMSIgRT0iMTAyIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzYwIiBCPSIxMDIiIEU9IjEwMyIvPgogICAgICAgICAgICA8YiBpZD0iMzYxIiBCPSI5OCIgRT0iMTAzIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzYyIiBCPSI5NSIgRT0iMTAzIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNjMiIEI9Ijk3IiBFPSIxMDQiLz4KICAgICAgICAgICAgPGIgaWQ9IjM2NCIgQj0iMTA0IiBFPSIxMDUiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNjUiIEI9IjEwNSIgRT0iMTA2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzNjYiIEI9IjEwNSIgRT0iMTA3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzNjciIEI9IjEwNCIgRT0iMTA4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzNjgiIEI9IjEwOCIgRT0iMTA5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzNjkiIEI9IjEwOCIgRT0iMTEwIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNzAiIEI9IjExMSIgRT0iMTEyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNzEiIEI9IjExMiIgRT0iMTEzIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNzIiIEI9IjExMiIgRT0iMTE0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzNzMiIEI9IjExMiIgRT0iMTE1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzNzQiIEI9IjExMiIgRT0iMTE2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzNzUiIEI9IjExMiIgRT0iMTE3Ii8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjExOCI+CiAgICAgICAgICAgIDxuIGlkPSIxMTkiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMzA5LjgwOTk5OCAzMTEuNjYwMDA0Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjMwOS44MDk5OTggMzExLjY2MDAwNCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk48L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjEyMCIgcD0iMzIyLjI3OTk5OSAzMTguODU5OTg1Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMjEiIHA9IjMzNC43NTAwMDAgMzExLjY2MDAwNCIvPgogICAgICAgICAgICA8biBpZD0iMTIyIiBwPSIyOTcuMzM5OTk2IDMxOC44NTk5ODUiLz4KICAgICAgICAgICAgPG4gaWQ9IjEyMyIgcD0iMjg0Ljg2OTk5NSAzMTEuNjYwMDA0Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMjQiIHA9IjMwOS44MDk5OTggMjk3LjI2MDAxMCIvPgogICAgICAgICAgICA8biBpZD0iMTI1IiBwPSIyOTcuMzM5OTk2IDI5MC4wNTk5OTgiLz4KICAgICAgICAgICAgPGIgaWQ9IjM3NiIgQj0iMTIwIiBFPSIxMjEiLz4KICAgICAgICAgICAgPGIgaWQ9IjM3NyIgQj0iMTE5IiBFPSIxMjAiLz4KICAgICAgICAgICAgPGIgaWQ9IjM3OCIgQj0iMTIyIiBFPSIxMjMiLz4KICAgICAgICAgICAgPGIgaWQ9IjM3OSIgQj0iMTE5IiBFPSIxMjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjM4MCIgQj0iMTI0IiBFPSIxMjUiLz4KICAgICAgICAgICAgPGIgaWQ9IjM4MSIgQj0iMTE5IiBFPSIxMjQiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iMTI2Ij4KICAgICAgICAgICAgPG4gaWQ9IjEyNyIgRWxlbWVudD0iMTciIE51bUh5ZHJvZ2Vucz0iMSIgcD0iNDU1LjE5OTk4MiAyNDAuOTEwMDA0Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjQ1NS4xOTk5ODIgMjQwLjkxMDAwNCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkNsSDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSIxMjgiPgogICAgICAgICAgICA8biBpZD0iMTI5IiBFbGVtZW50PSIxIiBwPSI0NTEuMzU5OTg1IDI5NC42MTk5OTUiPgogICAgICAgICAgICAgICAgPHQgcD0iNDUxLjM1OTk4NSAyOTQuNjE5OTk1IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+SDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMTMwIiBFbGVtZW50PSIxNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSI0NjUuNzU5OTc5IDI5NC42MTk5OTUiPgogICAgICAgICAgICAgICAgPHQgcD0iNDY1Ljc1OTk3OSAyOTQuNjE5OTk1IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Q2w8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPGIgaWQ9IjM4MiIgQj0iMTI5IiBFPSIxMzAiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDx0IGlkPSIxMzEiIHA9IjM1MS4yMTQ5OTYgNTIuNjQ5OTk4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4yLjAgZXF1aXY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMzEiIHA9IjM1MS4yMTQ5OTYgNTIuNjQ5OTk4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4gSEFUVTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEzNCIgcD0iMzQ4LjAxOTk4OSA2Ny4yMzAwMDMiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjIuMCBlcXVpdjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEzNCIgcD0iMzQ4LjAxOTk4OSA2Ny4yMzAwMDMiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPiBURUE8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMzciIHA9IjM0OC40NDQ5NDYgMTA1Ljk4OTk5OCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+RENNPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTQwIiBwPSIzNDguNDk0OTY1IDExOC42MjUwMDAiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPnIudC48L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNDMiIHA9IjM0OS4xNTk5NzMgMTMyLjIwNTAxNyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+MC4xIE0gaW4gbGltaXRpbmc8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNDYiIHA9IjM1MS4zMDk5OTggODEuODQ1MDAxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4yLjE1IGVxdWl2PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTQ2IiBwPSIzNTEuMzA5OTk4IDgxLjg0NTAwMSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+IDEgTiBIQ2w8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNDkiIHA9IjY5LjM4NTAxMCA3LjM0MDAwMCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxNiIgZmFjZT0iMiI+QW1pZGF0aW9uX1J4bjI8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNTIiIHA9IjE0Mi43NzQ5OTQgMjk3LjY2OTk4MyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj4JPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTUyIiBwPSIxNDIuNzc0OTk0IDI5Ny42Njk5ODMiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+MTQ4ODkzLTEwLTE8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNTUiIHA9IjEwOC44ODAwMDUgMTMwLjU2OTk5MiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj40LSh0ZXJ0LWJ1dHlsKWFuaWxpbmU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNTgiIHA9IjEwOC44Nzk5OTcgMTQzLjk2MDAwNyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj43NjktOTItNjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE2MSIgcD0iMjM4LjcwNTAwMiAxMzAuNjY5OTgzIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPjMtKHAtdG9seWwpcHJvcGFub2ljIGFjaWQ8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNjQiIHA9IjIzOC43MDAwMTIgMTQzLjk2MDAwNyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj4xNTA1LTUwLTY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNjciIHA9IjEwOC44ODAwMDUgMTYzLjM5OTk5NCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+MS4xIGVxdWl2PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTcwIiBwPSIyMzguNzA5OTkxIDE2NC45MDAwMDkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjEuMCBlcXVpdjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE3MyIgcD0iMTA4Ljg3OTk5MCAxNzguNDE1MDA5IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bYW1pbmVdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTc2IiBwPSIyMzguNzA1MDAyIDE3OS45MTQ5OTMiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPlthY2lkXTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE3OSIgcD0iNTAzLjE2OTk4MyAxNzkuOTE0OTkzIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bZGVzaXJlZCBwcm9kdWN0XTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE4MiIgcD0iNTQ3LjI5OTkyNyAyMzIuNzIwMDAxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bYnlwcm9kdWN0c108L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxODUiIHA9IjE2LjUxNDk5OSAyMzkuMjIwMDAxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIxIj5LZXk8L3M+CiAgICAgICAgPC90PgogICAgICAgIDxncmFwaGljIGlkPSIxODgiIEJvdW5kaW5nQm94PSIwLjc5OTk5OSA0NDguNzUwMDAwIDUwNS43OTk5NTcgMjI3LjQ1MDAxMiIgR3JhcGhpY1R5cGU9IlJlY3RhbmdsZSIvPgogICAgICAgIDxncmFwaGljIGlkPSIxOTEiIEJvdW5kaW5nQm94PSIxNjYuNzIwMDAxIDg0LjQ5NDk5NSAxNjYuNzIwMDAxIDc2Ljk5NDk5NSIgR3JhcGhpY1R5cGU9IlN5bWJvbCIgU3ltYm9sVHlwZT0iUGx1cyIvPgogICAgICAgIDx0IGlkPSIxOTQiIHA9IjUwMy4xNjQ5NDggMTMwLjU2OTk5MiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj5OLSg0LSh0ZXJ0LWJ1dHlsKXBoZW55bCktMy0ocC10b2x5bClwcm9wYW5hbWlkZTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE5NyIgcD0iNTAzLjE2NDk0OCAxNDMuOTYwMDA3IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjE5MDc2MTctMjctOTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIwMCIgcD0iMzgwLjIwNTAxNyAyNTcuOTM0OTk4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPmRpY2hsb3JvbWV0aGFuZTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIwMyIgcD0iMzgwLjIwOTk5MSAyNzQuMzE5OTc3IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjc1LTA5LTI8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMDYiIHA9IjM4MC4yMDUwMTcgMzM0LjkxNTAwOSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W3NvbHZlbnRdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjA5IiBwPSIzODAuMTk5OTUxIDMxNy4xNzAwMTMiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+TVcgODQuOTM8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMTIiIHA9IjE0Mi43NzQ5OTQgMjc0LjQwNDk5OSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj4xLSgoZGltZXRoeWxhbWlubykoZGltZXRoeWxpbWluaW8pbWV0aHlsKS0xPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjEyIiBwPSIxNDIuNzc0OTk0IDI3NC40MDQ5OTkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+SDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIxMiIgcD0iMTQyLjc3NDk5NCAyNzQuNDA0OTk5IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjMiPi1bMSwyLDNddHJpYXpvbG9bNCw1LTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIxMiIgcD0iMTQyLjc3NDk5NCAyNzQuNDA0OTk5IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjMiPmI8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMTIiIHA9IjE0Mi43NzQ5OTQgMjc0LjQwNDk5OSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIzIj5dcHlyaWRpbmUgMy1veGlkZSBoZXhhZmx1b3JvcGhvc3BoYXRlPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjEyIiBwPSIxNDIuNzc0OTk0IDI3NC40MDQ5OTkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+b3I8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMTIiIHA9IjE0Mi43NzQ5OTQgMjc0LjQwNDk5OSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIzIj5IZXhhZmx1b3JvcGhvc3BoYXRlIEF6YWJlbnpvdHJpYXpvbGUgVGV0cmFtZXRoeWwgVXJvbml1bTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIxNSIgcD0iMTQyLjc3NDk5NCA0MTMuNzAwMDEyIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPk1XIDM4MC4yNDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIxOCIgcD0iMTQwLjE0NTAwNCA0MzQuNDE0OTc4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bYWRkaXRpdmVdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjIxIiBwPSIzMDkuODA5OTk4IDI1OC44MjQ5ODIiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+dHJpZXRoeWxhbWluZTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIyNCIgcD0iMzA5LjgwNDk2MiAyNzQuMzE5OTc3IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjEyMS00NC04PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjI3IiBwPSIzMDkuNzk0OTgzIDMzMS4wMjAwMjAiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+TVcgMTAxLjE5PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjMwIiBwPSIzMDkuODA0OTkzIDM0Ny45MTQ5NzgiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltiYXNlXTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIzMyIgcD0iNDU5LjcyNDk3NiAyNTguODI0OTgyIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPmh5ZHJvY2hsb3JpYyBhY2lkPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjM2IiBwPSI0NTkuNzI0OTc2IDI3NC4zMTk5NzciIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+NzY0Ny0wMS0wPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjM5IiBwPSI0NTkuNzE0OTk2IDMxMi4xMTAwMTYiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+TVcgMzYuNDY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyNDIiIHA9IjQ1OS43MTQ5NjYgMzMwLjQxNDk3OCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W3F1ZW5jaF08L3M+CiAgICAgICAgPC90PgogICAgICAgIDxhcnJvdyBpZD0iMjQ1IiBCb3VuZGluZ0JveD0iNDA0LjI5OTk4OCA5NC42Mzk5OTkgMzA3Ljc5OTk4OCA5NC42Mzk5OTkiIEZpbGxUeXBlPSJOb25lIiBBcnJvd2hlYWRUeXBlPSJTb2xpZCIgSGVhZFNpemU9IjIyNTAiIEFycm93aGVhZFdpZHRoPSI1NjMiIEFycm93aGVhZEhlYWQ9IkZ1bGwiIEFycm93aGVhZENlbnRlclNpemU9IjI1IiBIZWFkM0Q9IjQwNC4yOTk5ODggOTQuNjM5OTk5IDAuMDAwMDAwIiBUYWlsM0Q9IjMwNy43OTk5ODggOTQuNjM5OTk5IDAuMDAwMDAwIi8+CiAgICAgICAgPGFycm93IGlkPSIyNDgiIEJvdW5kaW5nQm94PSI1ODkuNTQ5OTg4IDM0Mi4wNDAwMDkgNTg5LjU0OTk4OCAyNTUuNTAwMDAwIiBGaWxsVHlwZT0iTm9uZSIgQXJyb3doZWFkVHlwZT0iU29saWQiIEhlYWRTaXplPSIyMjUwIiBBcnJvd2hlYWRXaWR0aD0iNTYzIiBBcnJvd2hlYWRIZWFkPSJGdWxsIiBBcnJvd2hlYWRDZW50ZXJTaXplPSIyNSIgSGVhZDNEPSI1ODkuNTQ5OTg4IDM0Mi4wNDAwMDkgMC4wMDAwMDAiIFRhaWwzRD0iNTg5LjU0OTk4OCAyNTUuNTAwMDAwIDAuMDAwMDAwIi8+CiAgICAgICAgPHNjaGVtZT4KICAgICAgICAgICAgPHN0ZXAgUmVhY3Rpb25TdGVwQXJyb3dzPSIyNDUiLz4KICAgICAgICAgICAgPHN0ZXAgUmVhY3Rpb25TdGVwQXJyb3dzPSIyNDgiLz4KICAgICAgICA8L3NjaGVtZT4KICAgIDwvcGFnZT4KPC9DRFhNTD4K \ No newline at end of file diff --git a/api/tests/integration/tests/formats/ref/Amidation_Rxn2.cdxml b/api/tests/integration/tests/formats/ref/Amidation_Rxn2.cdxml new file mode 100644 index 0000000000..e490ae676d --- /dev/null +++ b/api/tests/integration/tests/formats/ref/Amidation_Rxn2.cdxml @@ -0,0 +1,620 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NH + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + Me + + + + + + + + + + + + + + OH + + + + + O + + + + + + + + + + + + + + + + + + + + + + + + Me + + + + + + + + + + + + + + O + + + + + + + + + + + NH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + H + + + + + + U + + + + + + + + HATU + + + + + A + + + + + + + + + OH + + + + + N + + + + + + + + + + N + + + + + N + + + + + N + + + + + + + + + + + + + + + + + + + N + + + + + + + N + + + + + + + O + + + + + + + + + + + + + + + + + + + + + + NH + + + + + Cl + + + + + + + + + + + Et + + + + + + + + Cl + + + + + Cl + + + + + + + + + + + H + + + + + + + + + DCM + + + + + M + + + + + + + + O + + + + + N + + + + + N + + + + + N + + + + + + + + + N + + + + + + + N + + + + + + + N + + + + + + + F + + + + + P + + + + + F + + + + + F + + + + + F + + + + + F + + + + + F + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + N + + + + + + + + + + + + + + + + + + + ClH + + + + + + + H + + + + + Cl + + + + + + 2.0 equiv + + + HATU + + + 2.0 equiv + + + TEA + + + DCM + + + r.t. + + + 0.1 M in limiting + + + 2.15 equiv + + + 1 N HCl + + + Amidation_Rxn2 + + + + + + 148893-10-1 + + + 4-(tert-butyl)aniline + + + 769-92-6 + + + 3-(p-tolyl)propanoic acid + + + 1505-50-6 + + + 1.1 equiv + + + 1.0 equiv + + + [amine] + + + [acid] + + + [desired product] + + + [byproducts] + + + Key + + + + + N-(4-(tert-butyl)phenyl)-3-(p-tolyl)propanamide + + + 1907617-27-9 + + + dichloromethane + + + 75-09-2 + + + [solvent] + + + MW 84.93 + + + 1-((dimethylamino)(dimethyliminio)methyl)-1 + + + H + + + -[1,2,3]triazolo[4,5- + + + b + + + ]pyridine 3-oxide hexafluorophosphate + + + or + + + Hexafluorophosphate Azabenzotriazole Tetramethyl Uronium + + + MW 380.24 + + + [additive] + + + triethylamine + + + 121-44-8 + + + MW 101.19 + + + [base] + + + hydrochloric acid + + + 7647-01-0 + + + MW 36.46 + + + [quench] + + + + + + + + + diff --git a/api/tests/integration/tests/formats/ref/BuchwaldHartwig_Rxn1.b64cdx b/api/tests/integration/tests/formats/ref/BuchwaldHartwig_Rxn1.b64cdx new file mode 100644 index 0000000000..a36d51eea7 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/BuchwaldHartwig_Rxn1.b64cdx @@ -0,0 +1 @@ +PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIENEWE1MIFNZU1RFTSAiaHR0cDovL3d3dy5jYW1icmlkZ2Vzb2Z0LmNvbS94bWwvY2R4bWwuZHRkIj4KPENEWE1MIEJvbmRMZW5ndGg9IjMwLjAwMDAwMCIgTGFiZWxGb250PSIzIiBDYXB0aW9uRm9udD0iNCI+CiAgICA8Zm9udHRhYmxlIGlkPSIxIj4KICAgICAgICA8Zm9udCBpZD0iMiIgY2hhcnNldD0idXRmLTgiIG5hbWU9IkFyaWFsIi8+CiAgICAgICAgPGZvbnQgaWQ9IjMiIGNoYXJzZXQ9InV0Zi04IiBuYW1lPSJUaW1lcyBOZXcgUm9tYW4iLz4KICAgIDwvZm9udHRhYmxlPgogICAgPGNvbG9ydGFibGU+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMCIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIxIiBnPSIwIiBiPSIwIi8+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjAiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMSIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIwIiBnPSIxIiBiPSIxIi8+CiAgICAgICAgPGNvbG9yIHI9IjAiIGc9IjAiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMSIgZz0iMCIgYj0iMSIvPgogICAgICAgIDxjb2xvciByPSIwLjUiIGc9IjAuNSIgYj0iMC41Ii8+CiAgICA8L2NvbG9ydGFibGU+CiAgICA8cGFnZSBIZWlnaHRQYWdlcz0iMSIgV2lkdGhQYWdlcz0iMSI+CiAgICAgICAgPGZyYWdtZW50IGlkPSI0Ij4KICAgICAgICAgICAgPG4gaWQ9IjUiIHA9IjIyMi42MzAwMDUgNjYuMzM5OTk2Ii8+CiAgICAgICAgICAgIDxuIGlkPSI2IiBwPSIyMjIuNjMwMDA1IDgwLjczOTk5OCIvPgogICAgICAgICAgICA8biBpZD0iNyIgcD0iMjM1LjEwMDAwNiA4Ny45NDAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjgiIHA9IjI0Ny41Njk5NzcgODAuNzM5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSI5IiBwPSIyNDcuNTY5OTc3IDY2LjMzOTk5NiIvPgogICAgICAgICAgICA8biBpZD0iMTAiIHA9IjIzNS4xMDAwMDYgNTkuMTM5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMSIgcD0iMjYwLjAzOTk3OCA4Ny45NDAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjEyIiBwPSIyNzIuNTEwMDEwIDgwLjczOTk5OCIvPgogICAgICAgICAgICA8biBpZD0iMTMiIHA9IjI3Mi41MTAwMTAgNjYuMzM5OTk2Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxNCIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyNjAuMDM5OTc4IDU5LjEzOTk5OSI+CiAgICAgICAgICAgICAgICA8dCBwPSIyNjAuMDM5OTc4IDU5LjEzOTk5OSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk48L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjE1IiBFbGVtZW50PSIzNSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyODQuOTc5OTgwIDg3Ljk0MDAwMiI+CiAgICAgICAgICAgICAgICA8dCBwPSIyODQuOTc5OTgwIDg3Ljk0MDAwMiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkJyPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxiIGlkPSIyODAiIEI9IjUiIEU9IjYiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyODEiIEI9IjYiIEU9IjciLz4KICAgICAgICAgICAgPGIgaWQ9IjI4MiIgQj0iNyIgRT0iOCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI4MyIgQj0iOCIgRT0iOSIvPgogICAgICAgICAgICA8YiBpZD0iMjg0IiBCPSI5IiBFPSIxMCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI4NSIgQj0iMTAiIEU9IjUiLz4KICAgICAgICAgICAgPGIgaWQ9IjI4NiIgQj0iOCIgRT0iMTEiLz4KICAgICAgICAgICAgPGIgaWQ9IjI4NyIgQj0iMTEiIEU9IjEyIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjg4IiBCPSIxMiIgRT0iMTMiLz4KICAgICAgICAgICAgPGIgaWQ9IjI4OSIgQj0iMTMiIEU9IjE0IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjkwIiBCPSIxNCIgRT0iOSIvPgogICAgICAgICAgICA8YiBpZD0iMjkxIiBCPSIxMiIgRT0iMTUiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iMTYiPgogICAgICAgICAgICA8biBpZD0iMTciIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMSIgcD0iMTcxLjIxMDAwNyA4My44MDAwMDMiPgogICAgICAgICAgICAgICAgPHQgcD0iMTcxLjIxMDAwNyA4My44MDAwMDMiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OSDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMTgiIHA9IjE1OC43NDAwMDUgNzYuNTk5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxOSIgcD0iMTU4Ljc1MDAwMCA2Mi4xOTk5OTciLz4KICAgICAgICAgICAgPG4gaWQ9IjIwIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjE3MS4yMjk5OTYgNTUuMDAwMDAwIj4KICAgICAgICAgICAgICAgIDx0IHA9IjE3MS4yMjk5OTYgNTUuMDAwMDAwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMjEiIHA9IjE4My42OTAwMDIgNjIuMjA5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyMiIgcD0iMTgzLjY5MDAwMiA3Ni42MTAwMDEiLz4KICAgICAgICAgICAgPGIgaWQ9IjI5MiIgQj0iMTciIEU9IjE4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyOTMiIEI9IjE4IiBFPSIxOSIvPgogICAgICAgICAgICA8YiBpZD0iMjk0IiBCPSIxOSIgRT0iMjAiLz4KICAgICAgICAgICAgPGIgaWQ9IjI5NSIgQj0iMjAiIEU9IjIxIi8+CiAgICAgICAgICAgIDxiIGlkPSIyOTYiIEI9IjIxIiBFPSIyMiIvPgogICAgICAgICAgICA8YiBpZD0iMjk3IiBCPSIxNyIgRT0iMjIiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iMjMiPgogICAgICAgICAgICA8biBpZD0iMjQiIHA9IjUzMS4xNDAwMTUgNTcuMTYwMDA0Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyNSIgcD0iNTMxLjE0MDAxNSA3MS41NTk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjI2IiBwPSI1MTguNjY5OTgzIDc4Ljc2MDAwMiIvPgogICAgICAgICAgICA8biBpZD0iMjciIHA9IjUwNi4xOTk5ODIgNzEuNTU5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyOCIgcD0iNTA2LjE5OTk4MiA1Ny4xNjAwMDQiLz4KICAgICAgICAgICAgPG4gaWQ9IjI5IiBwPSI1MTguNjY5OTgzIDQ5Ljk1OTk5OSIvPgogICAgICAgICAgICA8biBpZD0iMzAiIHA9IjQ5My43Mjk5ODAgNzguNzYwMDAyIi8+CiAgICAgICAgICAgIDxuIGlkPSIzMSIgcD0iNDgxLjI2MDAxMCA3MS41NTk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjMyIiBwPSI0ODEuMjYwMDEwIDU3LjE2MDAwNCIvPgogICAgICAgICAgICA8biBpZD0iMzMiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNDkzLjcyOTk4MCA0OS45NTk5OTkiPgogICAgICAgICAgICAgICAgPHQgcD0iNDkzLjcyOTk4MCA0OS45NTk5OTkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIzNCIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSI0NjguNzg5OTc4IDc4Ljc2MDAwMiI+CiAgICAgICAgICAgICAgICA8dCBwPSI0NjguNzg5OTc4IDc4Ljc2MDAwMiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk48L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjM1IiBwPSI0NjguNzg5OTc4IDkzLjE2MDAwNCIvPgogICAgICAgICAgICA8biBpZD0iMzYiIHA9IjQ1Ni4zMDk5OTggMTAwLjM1MDAwNiIvPgogICAgICAgICAgICA8biBpZD0iMzciIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNDQzLjg0MDAyNyA5My4xMzk5OTkiPgogICAgICAgICAgICAgICAgPHQgcD0iNDQzLjg0MDAyNyA5My4xMzk5OTkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIzOCIgcD0iNDQzLjg0OTk3NiA3OC43NTAwMDAiLz4KICAgICAgICAgICAgPG4gaWQ9IjM5IiBwPSI0NTYuMzIwMDA3IDcxLjU1MDAwMyIvPgogICAgICAgICAgICA8YiBpZD0iMjk4IiBCPSIyNCIgRT0iMjUiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyOTkiIEI9IjI1IiBFPSIyNiIvPgogICAgICAgICAgICA8YiBpZD0iMzAwIiBCPSIyNiIgRT0iMjciIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMDEiIEI9IjI3IiBFPSIyOCIvPgogICAgICAgICAgICA8YiBpZD0iMzAyIiBCPSIyOCIgRT0iMjkiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMDMiIEI9IjI5IiBFPSIyNCIvPgogICAgICAgICAgICA8YiBpZD0iMzA0IiBCPSIyNyIgRT0iMzAiLz4KICAgICAgICAgICAgPGIgaWQ9IjMwNSIgQj0iMzAiIEU9IjMxIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzA2IiBCPSIzMSIgRT0iMzIiLz4KICAgICAgICAgICAgPGIgaWQ9IjMwNyIgQj0iMzIiIEU9IjMzIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzA4IiBCPSIzMyIgRT0iMjgiLz4KICAgICAgICAgICAgPGIgaWQ9IjMwOSIgQj0iMzEiIEU9IjM0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMTAiIEI9IjM0IiBFPSIzNSIvPgogICAgICAgICAgICA8YiBpZD0iMzExIiBCPSIzNSIgRT0iMzYiLz4KICAgICAgICAgICAgPGIgaWQ9IjMxMiIgQj0iMzYiIEU9IjM3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMTMiIEI9IjM3IiBFPSIzOCIvPgogICAgICAgICAgICA8YiBpZD0iMzE0IiBCPSIzOCIgRT0iMzkiLz4KICAgICAgICAgICAgPGIgaWQ9IjMxNSIgQj0iMzQiIEU9IjM5Ii8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjQwIj4KICAgICAgICAgICAgPG4gaWQ9IjQxIiBwPSI0NDguNzgwMDI5IDI5MC41NDAwMDkiLz4KICAgICAgICAgICAgPG4gaWQ9IjQyIiBwPSI0NDQuNzE5OTcxIDMwNC4zNTk5ODUiLz4KICAgICAgICAgICAgPG4gaWQ9IjQzIiBwPSI0NTQuNjUwMDI0IDMxNC43OTAwMDkiLz4KICAgICAgICAgICAgPG4gaWQ9IjQ0IiBwPSI0NjguNjY5OTgzIDMxMS4zOTk5OTQiLz4KICAgICAgICAgICAgPG4gaWQ9IjQ1IiBwPSI0NzIuNzI5OTgwIDI5Ny41Nzk5ODciLz4KICAgICAgICAgICAgPG4gaWQ9IjQ2IiBwPSI0NjIuNzgwMDI5IDI4Ny4xNDAwMTUiLz4KICAgICAgICAgICAgPG4gaWQ9IjQ3IiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjQ4MC41NDk5ODggMzE5LjUxOTk4OSI+CiAgICAgICAgICAgICAgICA8dCBwPSI0ODAuNTQ5OTg4IDMxOS41MTk5ODkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OSDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNDgiIHA9IjQ5MS45NTAwNDMgMzEwLjcyMDAwMSIvPgogICAgICAgICAgICA8biBpZD0iNDkiIHA9IjQ4Ny4xMzAwMDUgMjk3LjE2MDAwNCIvPgogICAgICAgICAgICA8biBpZD0iNTAiIHA9IjUwNi4xMDk5ODUgMzEzLjMyOTk4NyIvPgogICAgICAgICAgICA8biBpZD0iNTEiIHA9IjUxNS40NTAwMTIgMzAyLjM1OTk4NSIvPgogICAgICAgICAgICA8biBpZD0iNTIiIHA9IjUxMC42MTk5OTUgMjg4Ljc5OTk4OCIvPgogICAgICAgICAgICA8biBpZD0iNTMiIHA9IjQ5Ni40NTk5OTEgMjg2LjE5MDAwMiIvPgogICAgICAgICAgICA8YiBpZD0iMzE2IiBCPSI0MSIgRT0iNDIiLz4KICAgICAgICAgICAgPGIgaWQ9IjMxNyIgQj0iNDIiIEU9IjQzIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzE4IiBCPSI0MyIgRT0iNDQiLz4KICAgICAgICAgICAgPGIgaWQ9IjMxOSIgQj0iNDQiIEU9IjQ1IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzIwIiBCPSI0NSIgRT0iNDYiLz4KICAgICAgICAgICAgPGIgaWQ9IjMyMSIgQj0iNDEiIEU9IjQ2IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzIyIiBCPSI0NCIgRT0iNDciLz4KICAgICAgICAgICAgPGIgaWQ9IjMyMyIgQj0iNDciIEU9IjQ4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMjQiIEI9IjQ4IiBFPSI0OSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjMyNSIgQj0iNDUiIEU9IjQ5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMjYiIEI9IjQ4IiBFPSI1MCIvPgogICAgICAgICAgICA8YiBpZD0iMzI3IiBCPSI1MCIgRT0iNTEiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMjgiIEI9IjUxIiBFPSI1MiIvPgogICAgICAgICAgICA8YiBpZD0iMzI5IiBCPSI1MiIgRT0iNTMiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMzAiIEI9IjUzIiBFPSI0OSIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI1NCI+CiAgICAgICAgICAgIDxuIGlkPSI1NSIgRWxlbWVudD0iOCIgQ2hhcmdlPSItMSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyNDUuODYwMDAxIDM0MS4wMDAwMDAiPgogICAgICAgICAgICAgICAgPHQgcD0iMjQ1Ljg2MDAwMSAzNDEuMDAwMDAwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNTYiIHA9IjI1OC4zMzAwMTcgMzMzLjc5OTk4OCIvPgogICAgICAgICAgICA8biBpZD0iNTciIHA9IjI1OC4zMzAwMTcgMzE5LjM5OTk5NCIvPgogICAgICAgICAgICA8biBpZD0iNTgiIHA9IjI3MC43OTk5ODggMzQxLjAwMDAwMCIvPgogICAgICAgICAgICA8biBpZD0iNTkiIHA9IjI3MC43OTk5ODggMzI2LjYwMDAwNiIvPgogICAgICAgICAgICA8biBpZD0iNjAiIEVsZW1lbnQ9IjE5IiBDaGFyZ2U9IjEiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjMwLjMzMDAwMiAzMzguMjk5OTg4Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjIzMC4zMzAwMDIgMzM4LjI5OTk4OCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPks8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPGIgaWQ9IjMzMSIgQj0iNTUiIEU9IjU2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMzIiIEI9IjU2IiBFPSI1NyIvPgogICAgICAgICAgICA8YiBpZD0iMzMzIiBCPSI1NiIgRT0iNTgiLz4KICAgICAgICAgICAgPGIgaWQ9IjMzNCIgQj0iNTYiIEU9IjU5Ii8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjYxIj4KICAgICAgICAgICAgPG4gaWQ9IjM4OSIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iMzkwIj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNzciIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTI0LjU0MDAwMSA0MDcuMTE5OTk1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMTI0LjU0MDAwMSA0MDcuMTE5OTk1IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIzOTEiIE5vZGVUeXBlPSJFeHRlcm5hbENvbm5lY3Rpb25Qb2ludCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI3OCIgcD0iMTM5LjcyMDAwMSA0MzEuNDgwMDExIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijc5IiBFbGVtZW50PSIxNiIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxMzIuMTMwMDA1IDQxOS4yOTk5ODgiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIxMzIuMTMwMDA1IDQxOS4yOTk5ODgiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPlM8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjgwIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjExOS45NDk5OTcgNDI2Ljg5MDAxNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjExOS45NDk5OTcgNDI2Ljg5MDAxNSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iODEiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTQ0LjMwOTk5OCA0MTEuNzA5OTkxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMTQ0LjMwOTk5OCA0MTEuNzA5OTkxIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMzUiIEI9Ijc5IiBFPSI4MCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzM2IiBCPSI3OSIgRT0iODEiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMzNyIgQj0iNzgiIEU9Ijc5Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMzOCIgQj0iNzciIEU9Ijc5Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM5MyIgQj0iMzkxIiBFPSI3NyIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5PTXM8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjM5NCIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iMzk1Ij4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iODMiIHA9IjEyMi44Mjk5OTQgMzcwLjA0MDAwOSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIzOTYiIE5vZGVUeXBlPSJFeHRlcm5hbENvbm5lY3Rpb25Qb2ludCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI4NCIgcD0iMTM2Ljc1MDAwMCAzNzMuNDg5OTkwIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijg1IiBwPSIxNDYuNzEwMDA3IDM2My4xNjAwMDQiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iODYiIHA9IjE0Mi43NDAwMDUgMzQ5LjM2OTk5NSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI4NyIgcD0iMTI4LjgwOTk5OCAzNDUuOTEwMDA0Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijg4IiBwPSIxMTguODUwMDA2IDM1Ni4yNTAwMDAiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzM5IiBCPSI4NyIgRT0iODgiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzQwIiBCPSI4NiIgRT0iODciLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzQxIiBCPSI4NSIgRT0iODYiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzQyIiBCPSI4NCIgRT0iODUiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzQzIiBCPSI4MyIgRT0iODQiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzQ0IiBCPSI4MyIgRT0iODgiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzk4IiBCPSIzOTYiIEU9IjgzIi8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPkN5PC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIzOTkiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjQwMCI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijg5IiBwPSIxMjkuNTM5OTkzIDM4Mi4yMjAwMDEiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNDAxIiBOb2RlVHlwZT0iRXh0ZXJuYWxDb25uZWN0aW9uUG9pbnQiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iOTAiIHA9IjEzNy42MzAwMDUgMzk0LjA3MDAwNyIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI5MSIgcD0iMTUxLjk0MDAwMiAzOTIuOTg5OTkwIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjkyIiBwPSIxNTguMTYwMDA0IDM4MC4wNTk5OTgiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iOTMiIHA9IjE1MC4wNzAwMDcgMzY4LjIwOTk5MSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI5NCIgcD0iMTM1Ljc1OTk5NSAzNjkuMjkwMDA5Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM0NSIgQj0iOTMiIEU9Ijk0Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM0NiIgQj0iOTIiIEU9IjkzIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM0NyIgQj0iOTEiIEU9IjkyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM0OCIgQj0iOTAiIEU9IjkxIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM0OSIgQj0iODkiIEU9IjkwIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM1MCIgQj0iODkiIEU9Ijk0Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQwMyIgQj0iNDAxIiBFPSI4OSIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5DeTwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNDA0IiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSI0MDUiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMDYiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTEwLjIxMDAwNyAzNjguMDQ5OTg4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMTEwLjIxMDAwNyAzNjguMDQ5OTg4IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI0MDYiIE5vZGVUeXBlPSJFeHRlcm5hbENvbm5lY3Rpb25Qb2ludCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMDciIHA9IjEyMC4zODAwMDUgMzc4LjE3MDAxMyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzNTEiIEI9IjEwNiIgRT0iMTA3Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQwOCIgQj0iNDA2IiBFPSIxMDYiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+T01lPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI0MDkiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjQxMCI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEwOCIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSI5Mi4wNTk5OTggMzQ0LjUxOTk4OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjkyLjA1OTk5OCAzNDQuNTE5OTg5IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI0MTEiIE5vZGVUeXBlPSJFeHRlcm5hbENvbm5lY3Rpb25Qb2ludCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMDkiIHA9Ijg0LjU0MDAwMSAzNTYuNzM5OTkwIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM1MiIgQj0iMTA4IiBFPSIxMDkiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDEzIiBCPSI0MTEiIEU9IjEwOCIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5PTWU8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjYyIiBwPSI2Mi45NzAwMDEgNDMyLjUwMDAwMCIvPgogICAgICAgICAgICA8biBpZD0iNjMiIHA9IjcwLjE2OTk5OCA0NDQuOTcwMDAxIi8+CiAgICAgICAgICAgIDxuIGlkPSI2NCIgcD0iODQuNTcwMDAwIDQ0NC45NzAwMDEiLz4KICAgICAgICAgICAgPG4gaWQ9IjY1IiBwPSI5MS43NzAwMDQgNDMyLjUwMDAwMCIvPgogICAgICAgICAgICA8biBpZD0iNjYiIHA9Ijg0LjU3MDAwMCA0MjAuMDI5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSI2NyIgcD0iNzAuMTY5OTk4IDQyMC4wMjk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9IjY4IiBwPSIxMDYuMTY5OTk4IDQzMi41MDAwMDAiLz4KICAgICAgICAgICAgPG4gaWQ9IjY5IiBwPSIxMTMuMzY5OTk1IDQ0NC45NzAwMDEiLz4KICAgICAgICAgICAgPG4gaWQ9IjcwIiBwPSIxMjcuNzcwMDEyIDQ0NC45NzAwMDEiLz4KICAgICAgICAgICAgPG4gaWQ9IjcxIiBwPSIxMzQuOTcwMDAxIDQzMi41MDAwMDAiLz4KICAgICAgICAgICAgPG4gaWQ9IjcyIiBwPSIxMjcuNzcwMDEyIDQyMC4wMjk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9IjczIiBwPSIxMTMuMzY5OTk1IDQyMC4wMjk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9Ijc0IiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjkxLjc3MDAwNCA0MDcuNTU5OTk4Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjkxLjc3MDAwNCA0MDcuNTU5OTk4IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tkg8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9Ijc1IiBFbGVtZW50PSI0NiIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxMDkuNjM5OTk5IDQwNy42MTk5OTUiPgogICAgICAgICAgICAgICAgPHQgcD0iMTA5LjYzOTk5OSA0MDcuNjE5OTk1IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+UGQ8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9Ijc2IiBFbGVtZW50PSIxNSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxMDkuNjM5OTk5IDM4My43MjAwMDEiPgogICAgICAgICAgICAgICAgPHQgcD0iMTA5LjYzOTk5OSAzODMuNzIwMDAxIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+UDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iODIiIHA9IjkzLjY2OTk5OCAzNzcuNTE5OTg5Ii8+CiAgICAgICAgICAgIDxuIGlkPSI5NSIgcD0iOTIuMDUwMDAzIDM2My4yMDk5OTEiLz4KICAgICAgICAgICAgPG4gaWQ9Ijk2IiBwPSI3OC44NDAwMDQgMzU3LjQ3MDAwMSIvPgogICAgICAgICAgICA8biBpZD0iOTciIHA9IjY3LjI2MDAwMiAzNjYuMDI5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSI5OCIgcD0iNjguODg5OTk5IDM4MC4zMjk5ODciLz4KICAgICAgICAgICAgPG4gaWQ9Ijk5IiBwPSI4Mi4wOTAwMDQgMzg2LjA3OTk4NyIvPgogICAgICAgICAgICA8biBpZD0iMTAwIiBwPSIxMDMuNjI5OTk3IDM1NC42NDk5OTQiLz4KICAgICAgICAgICAgPG4gaWQ9IjEwMSIgcD0iMTEzLjQ2MDAwNyAzNTUuODM5OTk2Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMDIiIHA9IjEyNS4wMzk5OTMgMzQ3LjI3OTk5OSIvPgogICAgICAgICAgICA8biBpZD0iMTAzIiBwPSIxMjYuNzc5OTk5IDMzNy41Mjk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9IjEwNCIgcD0iMTE2Ljk0OTk5NyAzMzYuMzM5OTk2Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMDUiIHA9IjEwNS4zNzAwMDMgMzQ0Ljg5OTk5NCIvPgogICAgICAgICAgICA8YiBpZD0iMzUzIiBCPSI2MiIgRT0iNjMiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNTQiIEI9IjYzIiBFPSI2NCIvPgogICAgICAgICAgICA8YiBpZD0iMzU1IiBCPSI2NCIgRT0iNjUiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNTYiIEI9IjY1IiBFPSI2NiIvPgogICAgICAgICAgICA8YiBpZD0iMzU3IiBCPSI2NiIgRT0iNjciIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNTgiIEI9IjY3IiBFPSI2MiIvPgogICAgICAgICAgICA8YiBpZD0iMzU5IiBCPSI2NSIgRT0iNjgiLz4KICAgICAgICAgICAgPGIgaWQ9IjM2MCIgQj0iNjgiIEU9IjY5IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzYxIiBCPSI2OSIgRT0iNzAiLz4KICAgICAgICAgICAgPGIgaWQ9IjM2MiIgQj0iNzAiIEU9IjcxIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzYzIiBCPSI3MSIgRT0iNzIiLz4KICAgICAgICAgICAgPGIgaWQ9IjM2NCIgQj0iNzIiIEU9IjczIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzY1IiBCPSI3MyIgRT0iNjgiLz4KICAgICAgICAgICAgPGIgaWQ9IjM2NiIgQj0iNjYiIEU9Ijc0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzNjciIEI9IjczIiBFPSI3NSIvPgogICAgICAgICAgICA8YiBpZD0iMzY4IiBCPSI3NCIgRT0iNzUiLz4KICAgICAgICAgICAgPGIgaWQ9IjM3MCIgQj0iNzYiIEU9IjgyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNzMiIEI9IjgyIiBFPSI5NSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjM3NCIgQj0iOTUiIEU9Ijk2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzNzUiIEI9Ijk2IiBFPSI5NyIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjM3NiIgQj0iOTciIEU9Ijk4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzNzciIEI9Ijk4IiBFPSI5OSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjM3OCIgQj0iOTkiIEU9IjgyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNzkiIEI9Ijk1IiBFPSIxMDAiLz4KICAgICAgICAgICAgPGIgaWQ9IjM4MCIgQj0iMTAwIiBFPSIxMDEiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzODEiIEI9IjEwMSIgRT0iMTAyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzODIiIEI9IjEwMiIgRT0iMTAzIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzgzIiBCPSIxMDMiIEU9IjEwNCIvPgogICAgICAgICAgICA8YiBpZD0iMzg0IiBCPSIxMDQiIEU9IjEwNSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjM4NSIgQj0iMTA1IiBFPSIxMDAiLz4KICAgICAgICAgICAgPGIgaWQ9IjM4OCIgQj0iNzYiIEU9Ijc1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzOTIiIEI9Ijc1IiBFPSIzODkiLz4KICAgICAgICAgICAgPGIgaWQ9IjM5NyIgQj0iNzYiIEU9IjM5NCIvPgogICAgICAgICAgICA8YiBpZD0iNDAyIiBCPSI3NiIgRT0iMzk5Ii8+CiAgICAgICAgICAgIDxiIGlkPSI0MDciIEI9IjEwMSIgRT0iNDA0Ii8+CiAgICAgICAgICAgIDxiIGlkPSI0MTIiIEI9IjEwNSIgRT0iNDA5Ii8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjExMCI+CiAgICAgICAgICAgIDxuIGlkPSI0NDYiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjQ0NyI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjExMyIgcD0iNTAzLjM5OTk2MyAzNzcuMDQwMDA5Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjQ0OCIgTm9kZVR5cGU9IkV4dGVybmFsQ29ubmVjdGlvblBvaW50Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjExNCIgcD0iNTE3LjMyMDAwNyAzODAuNDg5OTkwIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjExNSIgcD0iNTI3LjI3OTk2OCAzNzAuMTYwMDA0Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjExNiIgcD0iNTIzLjMwOTk5OCAzNTYuMzY5OTk1Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjExNyIgcD0iNTA5LjM4MDAwNSAzNTIuOTEwMDA0Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjExOCIgcD0iNDk5LjQxOTk4MyAzNjMuMjUwMDAwIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQxNCIgQj0iMTE3IiBFPSIxMTgiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDE1IiBCPSIxMTYiIEU9IjExNyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0MTYiIEI9IjExNSIgRT0iMTE2Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQxNyIgQj0iMTE0IiBFPSIxMTUiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDE4IiBCPSIxMTMiIEU9IjExNCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0MTkiIEI9IjExMyIgRT0iMTE4Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQ1MCIgQj0iNDQ4IiBFPSIxMTMiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+Q3k8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjQ1MSIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iNDUyIj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTE5IiBwPSI1MTAuMTA5OTg1IDM4OS4yMjAwMDEiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNDUzIiBOb2RlVHlwZT0iRXh0ZXJuYWxDb25uZWN0aW9uUG9pbnQiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTIwIiBwPSI1MTguMjAwMDEyIDQwMS4wNzAwMDciLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTIxIiBwPSI1MzIuNTEwMDEwIDM5OS45ODk5OTAiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTIyIiBwPSI1MzguNzI5OTgwIDM4Ny4wNTk5OTgiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTIzIiBwPSI1MzAuNjQwMDE1IDM3NS4yMDk5OTEiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTI0IiBwPSI1MTYuMzI5OTU2IDM3Ni4yOTAwMDkiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDIwIiBCPSIxMjMiIEU9IjEyNCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0MjEiIEI9IjEyMiIgRT0iMTIzIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQyMiIgQj0iMTIxIiBFPSIxMjIiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDIzIiBCPSIxMjAiIEU9IjEyMSIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0MjQiIEI9IjExOSIgRT0iMTIwIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQyNSIgQj0iMTE5IiBFPSIxMjQiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDU1IiBCPSI0NTMiIEU9IjExOSIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5DeTwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNDU2IiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSI0NTciPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMzYiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNDkwLjc4MDA2MCAzNzUuMDQ5OTg4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iNDkwLjc4MDA2MCAzNzUuMDQ5OTg4IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI0NTgiIE5vZGVUeXBlPSJFeHRlcm5hbENvbm5lY3Rpb25Qb2ludCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMzciIHA9IjUwMC45NTAwMTIgMzg1LjE3MDAxMyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0MjYiIEI9IjEzNiIgRT0iMTM3Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQ2MCIgQj0iNDU4IiBFPSIxMzYiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+T01lPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI0NjEiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjQ2MiI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEzOCIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSI0NzIuNjMwMDA1IDM1MS41MTk5ODkiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSI0NzIuNjMwMDA1IDM1MS41MTk5ODkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjQ2MyIgTm9kZVR5cGU9IkV4dGVybmFsQ29ubmVjdGlvblBvaW50Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEzOSIgcD0iNDY1LjEwOTk4NSAzNjMuNzM5OTkwIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQyNyIgQj0iMTM4IiBFPSIxMzkiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDY1IiBCPSI0NjMiIEU9IjEzOCIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5PTWU8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjExMSIgRWxlbWVudD0iMTUiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNDkwLjIxMDAyMiAzOTAuNzIwMDAxIj4KICAgICAgICAgICAgICAgIDx0IHA9IjQ5MC4yMTAwMjIgMzkwLjcyMDAwMSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPlA8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjExMiIgcD0iNDc0LjIzOTk5MCAzODQuNTE5OTg5Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMjUiIHA9IjQ3Mi42MTk5OTUgMzcwLjIwOTk5MSIvPgogICAgICAgICAgICA8biBpZD0iMTI2IiBwPSI0NTkuNDA5OTczIDM2NC40NzAwMDEiLz4KICAgICAgICAgICAgPG4gaWQ9IjEyNyIgcD0iNDQ3LjgzMDAxNyAzNzMuMDI5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMjgiIHA9IjQ0OS40NjAwMjIgMzg3LjMyOTk4NyIvPgogICAgICAgICAgICA8biBpZD0iMTI5IiBwPSI0NjIuNjU5OTczIDM5My4wNzk5ODciLz4KICAgICAgICAgICAgPG4gaWQ9IjEzMCIgcD0iNDg0LjIwMDA0MyAzNjEuNjQ5OTk0Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMzEiIHA9IjQ5NC4wMjk5MzggMzYyLjgzOTk5NiIvPgogICAgICAgICAgICA8biBpZD0iMTMyIiBwPSI1MDUuNjA5OTg1IDM1NC4yNzk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9IjEzMyIgcD0iNTA3LjM0OTk0NSAzNDQuNTI5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMzQiIHA9IjQ5Ny41MTk5MjggMzQzLjMzOTk5NiIvPgogICAgICAgICAgICA8biBpZD0iMTM1IiBwPSI0ODUuOTQwMDAyIDM1MS44OTk5OTQiLz4KICAgICAgICAgICAgPGIgaWQ9IjQyOCIgQj0iMTExIiBFPSIxMTIiLz4KICAgICAgICAgICAgPGIgaWQ9IjQzMSIgQj0iMTEyIiBFPSIxMjUiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSI0MzIiIEI9IjEyNSIgRT0iMTI2Ii8+CiAgICAgICAgICAgIDxiIGlkPSI0MzMiIEI9IjEyNiIgRT0iMTI3IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iNDM0IiBCPSIxMjciIEU9IjEyOCIvPgogICAgICAgICAgICA8YiBpZD0iNDM1IiBCPSIxMjgiIEU9IjEyOSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjQzNiIgQj0iMTI5IiBFPSIxMTIiLz4KICAgICAgICAgICAgPGIgaWQ9IjQzNyIgQj0iMTI1IiBFPSIxMzAiLz4KICAgICAgICAgICAgPGIgaWQ9IjQzOCIgQj0iMTMwIiBFPSIxMzEiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSI0MzkiIEI9IjEzMSIgRT0iMTMyIi8+CiAgICAgICAgICAgIDxiIGlkPSI0NDAiIEI9IjEzMiIgRT0iMTMzIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iNDQxIiBCPSIxMzMiIEU9IjEzNCIvPgogICAgICAgICAgICA8YiBpZD0iNDQyIiBCPSIxMzQiIEU9IjEzNSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjQ0MyIgQj0iMTM1IiBFPSIxMzAiLz4KICAgICAgICAgICAgPGIgaWQ9IjQ0OSIgQj0iMTExIiBFPSI0NDYiLz4KICAgICAgICAgICAgPGIgaWQ9IjQ1NCIgQj0iMTExIiBFPSI0NTEiLz4KICAgICAgICAgICAgPGIgaWQ9IjQ1OSIgQj0iMTMxIiBFPSI0NTYiLz4KICAgICAgICAgICAgPGIgaWQ9IjQ2NCIgQj0iMTM1IiBFPSI0NjEiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iMTQwIj4KICAgICAgICAgICAgPG4gaWQ9IjQ2OCIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iNDY5Ij4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTQxIiBFbGVtZW50PSI0NiIgTnVtSHlkcm9nZW5zPSIwIiBwPSI0NjcuMTc5OTkzIDQwOC43NjAwMTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSI0NjcuMTc5OTkzIDQwOC43NjAwMTAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPlBkPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNDIiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMSIgcD0iNDU0Ljc1MDAwMCA0MTUuOTQwMDAyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iNDU0Ljc1MDAwMCA0MTUuOTQwMDAyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PSDwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTQzIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjQ3OS42MDk5ODUgNDE1Ljk0MDAwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjQ3OS42MDk5ODUgNDE1Ljk0MDAwMiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+T0g8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQ2NiIgQj0iMTQxIiBFPSIxNDIiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDY3IiBCPSIxNDEiIEU9IjE0MyIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5QZCg8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iMTQ0Ij4KICAgICAgICAgICAgPG4gaWQ9IjQ3MSIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iNDcyIj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTQ1IiBFbGVtZW50PSIxOSIgTnVtSHlkcm9nZW5zPSIwIiBwPSI0NjkuNTEwMDEwIDQ2MS4xMDAwMDYiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSI0NjkuNTEwMDEwIDQ2MS4xMDAwMDYiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPks8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjE0NiIgRWxlbWVudD0iMzUiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNDgzLjg1OTk4NSA0NjEuMTAwMDA2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iNDgzLjg1OTk4NSA0NjEuMTAwMDA2IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5Ccjwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDcwIiBCPSIxNDUiIEU9IjE0NiIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5LPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjE0NyI+CiAgICAgICAgICAgIDxuIGlkPSI0NzciIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjQ3OCI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjE0OCIgcD0iMzQ3LjgyMDAwNyAyNzEuMzUwMDA2Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjE0OSIgcD0iMzMzLjQ2OTk3MSAyNzEuMzUwMDA2Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjE1MCIgcD0iMzQ3LjgyMDAwNyAyNTcuMDAwMDAwIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjE1MSIgcD0iMzYyLjE2OTk4MyAyNzEuMzUwMDA2Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjE1MiIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIxIiBwPSIzNDcuODIwMDA3IDI4NS43MDAwMTIiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIzNDcuODIwMDA3IDI4NS43MDAwMTIiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk9IPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0NzMiIEI9IjE0OCIgRT0iMTQ5Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQ3NCIgQj0iMTQ4IiBFPSIxNTAiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDc1IiBCPSIxNDgiIEU9IjE1MSIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0NzYiIEI9IjE0OCIgRT0iMTUyIi8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPnRCdU9IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjE1MyI+CiAgICAgICAgICAgIDxuIGlkPSI0ODQiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjQ4NSI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjE1NCIgRWxlbWVudD0iMTkiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNjI5LjI2OTk1OCA2NTguMDAwMDAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iNjI5LjI2OTk1OCA2NTguMDAwMDAwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5LPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNTUiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNjE2LjgzOTk2NiA2NjUuMTY5OTgzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iNjE2LjgzOTk2NiA2NjUuMTY5OTgzIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNTYiIHA9IjU5MS45Nzk5ODAgNjUwLjgyMDAwNyIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNTciIEVsZW1lbnQ9IjE2IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjYwNC40MDk5NzMgNjU4LjAwMDAwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjYwNC40MDk5NzMgNjU4LjAwMDAwMCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Uzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTU4IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjYxMS41ODk5NjYgNjQ1LjU3MDAwNyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjYxMS41ODk5NjYgNjQ1LjU3MDAwNyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTU5IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjU5Ny4yMzk5OTAgNjcwLjQxOTk4MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjU5Ny4yMzk5OTAgNjcwLjQxOTk4MyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDc5IiBCPSIxNTciIEU9IjE1OCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDgwIiBCPSIxNTciIEU9IjE1OSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDgxIiBCPSIxNTYiIEU9IjE1NyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0ODIiIEI9IjE1NSIgRT0iMTU3Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQ4MyIgQj0iMTU0IiBFPSIxNTUiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+S09Nczwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSIxNjAiPgogICAgICAgICAgICA8biBpZD0iNDkxIiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSI0OTIiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNjEiIEVsZW1lbnQ9IjE5IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjM1Ni42MTk5OTUgNDQ2LjI2OTk4OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjM1Ni42MTk5OTUgNDQ2LjI2OTk4OSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Szwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTYyIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjM2OS4wNDk5ODggNDUzLjQ0MDAwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjM2OS4wNDk5ODggNDUzLjQ0MDAwMiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTYzIiBwPSIzODEuNDc5OTgwIDQ0Ni4yNjk5ODkiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTY0IiBwPSIzODEuNDc5OTgwIDQzMS45MjAwMTMiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTY1IiBwPSIzOTMuOTAwMDI0IDQzOS4wODk5OTYiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTY2IiBwPSIzOTMuOTAwMDI0IDQ1My40NDAwMDIiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDg2IiBCPSIxNjMiIEU9IjE2NCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0ODciIEI9IjE2MyIgRT0iMTY1Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQ4OCIgQj0iMTYzIiBFPSIxNjYiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDg5IiBCPSIxNjIiIEU9IjE2MyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0OTAiIEI9IjE2MSIgRT0iMTYyIi8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPktPdEJ1PC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjE2NyI+CiAgICAgICAgICAgIDxuIGlkPSIxNjgiIHA9IjMxOC42NDAwMTUgMzI5LjI5OTk4OCIvPgogICAgICAgICAgICA8biBpZD0iMTY5IiBwPSIzMTguNjQwMDE1IDM0My43MDAwMTIiLz4KICAgICAgICAgICAgPG4gaWQ9IjE3MCIgcD0iMzMxLjEwOTk4NSAzNTAuODk5OTk0Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxNzEiIHA9IjM0My41ODAwMTcgMzQzLjcwMDAxMiIvPgogICAgICAgICAgICA8biBpZD0iMTcyIiBwPSIzNDMuNTgwMDE3IDMyOS4yOTk5ODgiLz4KICAgICAgICAgICAgPG4gaWQ9IjE3MyIgcD0iMzMxLjEwOTk4NSAzMjIuMTAwMDA2Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxNzQiIHA9IjM1Ni4wNDk5ODggMzIyLjEwMDAwNiIvPgogICAgICAgICAgICA8YiBpZD0iNDkzIiBCPSIxNjgiIEU9IjE2OSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjQ5NCIgQj0iMTY5IiBFPSIxNzAiLz4KICAgICAgICAgICAgPGIgaWQ9IjQ5NSIgQj0iMTcwIiBFPSIxNzEiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSI0OTYiIEI9IjE3MSIgRT0iMTcyIi8+CiAgICAgICAgICAgIDxiIGlkPSI0OTciIEI9IjE3MiIgRT0iMTczIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iNDk4IiBCPSIxNzMiIEU9IjE2OCIvPgogICAgICAgICAgICA8YiBpZD0iNDk5IiBCPSIxNzIiIEU9IjE3NCIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPHQgaWQ9IjE3NSIgcD0iMzY0LjMwNDk5MyA1MC4wOTk5OTgiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjIgZXF1aXY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNzUiIHA9IjM2NC4zMDQ5OTMgNTAuMDk5OTk4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5LT3RCdTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE3OCIgcD0iMzY0LjMwNDk5MyA5NC43Njk5OTciIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPnRvbHVlbmU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxODEiIHA9IjM2NC4zMDQ5OTMgMTEwLjEzOTk5OSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+MTIwIMKwQywgNCBocnM8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxODQiIHA9IjM2NC4zMDQ5OTMgMTI1LjIwNTAwMiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+MC4yIE0gaW4gbGltaXRpbmc8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxODciIHA9IjM2NC4zMDQ5OTMgNjYuNzQ0OTk1IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4wLjA1IGVxdWl2PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTg3IiBwPSIzNjQuMzA0OTkzIDY2Ljc0NDk5NSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+U1Bob3NQZCBHPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTg3IiBwPSIzNjQuMzA0OTkzIDY2Ljc0NDk5NSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+Mzwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE5MCIgcD0iOTIuMjY5OTk3IDcuNDEwMDAwIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjE2IiBmYWNlPSIyIj5CdWNod2FsZCBIYXJ0d2lnIFJ4bjE8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxOTMiIHA9IjI1Ny4wNTk5OTggMTEwLjU1NDk5MyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj4zLWJyb21vcXVpbm9saW5lPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTk2IiBwPSIyNTcuMDU1MDIzIDEyMy4wNjk5OTIiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+NTMzMi0yNC0xPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTk5IiBwPSIxNzMuMjA5OTkxIDExMC41Mzk5OTMiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+TW9ycGhvbGluZTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIwMiIgcD0iMTcxLjIyMDAwMSAxMjMuMDY5OTkyIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjExMC05MS04PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjA1IiBwPSIxNzEuMjIwMDAxIDE1Ny40MDAwMDkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjEuMSBlcXVpdjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIwOCIgcD0iMjU3LjA1OTk5OCAxNTcuNDAwMDA5IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4xLjAgZXF1aXY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMTEiIHA9IjE3MS4yMjAwMDEgMTczLjI4NTAwNCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2FtaW5lXTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIxNCIgcD0iMjU3LjA1OTk5OCAxNzMuMjIwMDAxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bYXJ5bCBlbGVjdHJvcGhpbGVdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjE3IiBwPSI0ODUuOTM5OTQxIDE3My4yODUwMDQiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltkZXNpcmVkIHByb2R1Y3RdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8Z3JhcGhpYyBpZD0iMjIwIiBCb3VuZGluZ0JveD0iMjA0LjUyOTk5OSA3Ny4yODQ5OTYgMjA0LjUyOTk5OSA2OS43ODQ5OTYiIEdyYXBoaWNUeXBlPSJTeW1ib2wiIFN5bWJvbFR5cGU9IlBsdXMiLz4KICAgICAgICA8dCBpZD0iMjIzIiBwPSI0ODUuOTg0OTg1IDExMC42NDk5OTQiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+NC0ocXVpbm9saW4tMy15bCltb3JwaG9saW5lPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjI2IiBwPSI0ODMuMDY1MDAyIDEyMy4wNjk5OTIiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+MTM3Nzk0LTgzLTM8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMjkiIHA9IjQ4NC4xMDk5ODUgMjY2LjcyMDAwMSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2J5cHJvZHVjdHNdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjMyIiBwPSIxOC44MjUwMDEgMjYzLjcyMDAwMSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMSI+S2V5PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjM1IiBwPSIxMDEuOTk0OTk1IDI5Ny43NzAwMjAiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+KDItRGljeWNsb2hleHlscGhvc3BoaW5vLTLigLIsNuKAsi1kaW1ldGhveHliaXBoZW55bCkgWzItKDLigLItYW1pbm8tMSwx4oCyLWJpcGhlbnlsKV1wYWxsYWRpdW0oSUkpIG1ldGhhbmVzdWxmb25hdGU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMzgiIHA9IjEwMS45OTQ5OTUgMzIyLjk5MDAyMSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj4xNDQ1MDg1LTgyLTQ8L3M+CiAgICAgICAgPC90PgogICAgICAgIDxncmFwaGljIGlkPSIyNDEiIEJvdW5kaW5nQm94PSIwLjgwMDAwMSA0OTMuMzA5OTk4IDQyMS41MjAwMjAgMjUxLjE3MDAxMyIgR3JhcGhpY1R5cGU9IlJlY3RhbmdsZSIvPgogICAgICAgIDx0IGlkPSIyNDQiIHA9IjEwMi4wMDAwMDAgNDYxLjU4OTk5NiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj5NVyA3NzkuMjY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyNDciIHA9IjI0OS4zMzk5ODEgMjg3LjY2OTk4MyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj5wb3Rhc3NpdW0gPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjQ3IiBwPSIyNDkuMzM5OTgxIDI4Ny42Njk5ODMiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+dGVydDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjI0NyIgcD0iMjQ5LjMzOTk4MSAyODcuNjY5OTgzIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjMiPi1idXRveGlkZTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjI1MCIgcD0iMTAxLjk5OTk4NSAyNjkuODYwMDE2IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPlNQaG9zUGQgRzM8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyNTMiIHA9IjI0OS4zMzUwMDcgMzA1LjM1MDAwNiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj44NjUtNDctNDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjI1NiIgcD0iMjQ5LjMzNTAwNyAzNTYuNTI0OTk0IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPk1XIDExMi4yMTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjI1OSIgcD0iMTAxLjk5NDk5NSA0ODAuMzM5OTk2IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bY2F0YWx5c3RdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjYyIiBwPSIyNDkuMzM1MDA3IDM3NS43ODUwMDQiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltiYXNlXTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjI2NSIgcD0iMzM0LjU4MDAxNyAzMDMuODUwMDM3IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjEwOC04OC0zPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjY4IiBwPSIzMzQuMzg1MDEwIDM2My45NTk5OTEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+TW9sZWN1bGFyIFdlaWdodDogOTIuMTQ8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyNzEiIHA9IjMzMi4zMzQ5OTEgMzgwLjc4NDk3MyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W3NvbHZlbnRdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8YXJyb3cgaWQ9IjI3NCIgQm91bmRpbmdCb3g9IjQyNC44MDk5OTggODEuNTEwMDAyIDMwMy44MDk5OTggODEuNTEwMDAyIiBGaWxsVHlwZT0iTm9uZSIgQXJyb3doZWFkVHlwZT0iU29saWQiIEhlYWRTaXplPSIyMjUwIiBBcnJvd2hlYWRXaWR0aD0iNTYzIiBBcnJvd2hlYWRIZWFkPSJGdWxsIiBBcnJvd2hlYWRDZW50ZXJTaXplPSIyNSIgSGVhZDNEPSI0MjQuODA5OTk4IDgxLjUxMDAwMiAwLjAwMDAwMCIgVGFpbDNEPSIzMDMuODA5OTk4IDgxLjUxMDAwMiAwLjAwMDAwMCIvPgogICAgICAgIDxhcnJvdyBpZD0iMjc3IiBCb3VuZGluZ0JveD0iNTQ3LjEwOTk4NSA0MDQuNzAwMDEyIDU0Ny4xMDk5ODUgMjg0LjAwMDAwMCIgRmlsbFR5cGU9Ik5vbmUiIEFycm93aGVhZFR5cGU9IlNvbGlkIiBIZWFkU2l6ZT0iMjI1MCIgQXJyb3doZWFkV2lkdGg9IjU2MyIgQXJyb3doZWFkSGVhZD0iRnVsbCIgQXJyb3doZWFkQ2VudGVyU2l6ZT0iMjUiIEhlYWQzRD0iNTQ3LjEwOTk4NSA0MDQuNzAwMDEyIDAuMDAwMDAwIiBUYWlsM0Q9IjU0Ny4xMDk5ODUgMjg0LjAwMDAwMCAwLjAwMDAwMCIvPgogICAgICAgIDxzY2hlbWU+CiAgICAgICAgICAgIDxzdGVwIFJlYWN0aW9uU3RlcEFycm93cz0iMjc0Ii8+CiAgICAgICAgICAgIDxzdGVwIFJlYWN0aW9uU3RlcEFycm93cz0iMjc3Ii8+CiAgICAgICAgPC9zY2hlbWU+CiAgICA8L3BhZ2U+CjwvQ0RYTUw+Cg== \ No newline at end of file diff --git a/api/tests/integration/tests/formats/ref/BuchwaldHartwig_Rxn1.cdxml b/api/tests/integration/tests/formats/ref/BuchwaldHartwig_Rxn1.cdxml new file mode 100644 index 0000000000..e71c421f5d --- /dev/null +++ b/api/tests/integration/tests/formats/ref/BuchwaldHartwig_Rxn1.cdxml @@ -0,0 +1,742 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + N + + + + + Br + + + + + + + + + + + + + + + + + + + NH + + + + + + + O + + + + + + + + + + + + + + + + + + + + + + + + N + + + + + N + + + + + + + O + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NH + + + + + + + + + + + + + + + + + + + + + + + + + + + + O + + + + + + + + + K + + + + + + + + + + + + + O + + + + + + + S + + + + + O + + + + + O + + + + + + + + + + OMs + + + + + + + + + + + + + + + + + + + + + Cy + + + + + + + + + + + + + + + + + + + + + Cy + + + + + + + O + + + + + + + + + OMe + + + + + + + O + + + + + + + + + OMe + + + + + + + + + + + + + + + + + NH + + + + + Pd + + + + + P + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cy + + + + + + + + + + + + + + + + + + + + + Cy + + + + + + + O + + + + + + + + + OMe + + + + + + + O + + + + + + + + + OMe + + + + + P + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pd + + + + + OH + + + + + OH + + + + + + + Pd( + + + + + + + + + K + + + + + Br + + + + + + K + + + + + + + + + + + + + OH + + + + + + + + + tBuOH + + + + + + + + + K + + + + + O + + + + + + S + + + + + O + + + + + O + + + + + + + + + + KOMs + + + + + + + + + K + + + + + O + + + + + + + + + + + + + + KOtBu + + + + + + + + + + + + + + + + + + + + + 2 equiv + + + KOtBu + + + toluene + + + 120 °C, 4 hrs + + + 0.2 M in limiting + + + 0.05 equiv + + + SPhosPd G + + + 3 + + + Buchwald Hartwig Rxn1 + + + 3-bromoquinoline + + + 5332-24-1 + + + Morpholine + + + 110-91-8 + + + 1.1 equiv + + + 1.0 equiv + + + [amine] + + + [aryl electrophile] + + + [desired product] + + + + 4-(quinolin-3-yl)morpholine + + + 137794-83-3 + + + [byproducts] + + + Key + + + (2-Dicyclohexylphosphino-2′,6′-dimethoxybiphenyl) [2-(2′-amino-1,1′-biphenyl)]palladium(II) methanesulfonate + + + 1445085-82-4 + + + + MW 779.26 + + + potassium + + + tert + + + -butoxide + + + SPhosPd G3 + + + 865-47-4 + + + MW 112.21 + + + [catalyst] + + + [base] + + + 108-88-3 + + + Molecular Weight: 92.14 + + + [solvent] + + + + + + + + + diff --git a/api/tests/integration/tests/formats/ref/BuchwaldHartwig_Rxn2.b64cdx b/api/tests/integration/tests/formats/ref/BuchwaldHartwig_Rxn2.b64cdx new file mode 100644 index 0000000000..4c68d9be08 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/BuchwaldHartwig_Rxn2.b64cdx @@ -0,0 +1 @@ +PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIENEWE1MIFNZU1RFTSAiaHR0cDovL3d3dy5jYW1icmlkZ2Vzb2Z0LmNvbS94bWwvY2R4bWwuZHRkIj4KPENEWE1MIEJvbmRMZW5ndGg9IjMwLjAwMDAwMCIgTGFiZWxGb250PSIzIiBDYXB0aW9uRm9udD0iNCI+CiAgICA8Zm9udHRhYmxlIGlkPSIxIj4KICAgICAgICA8Zm9udCBpZD0iMiIgY2hhcnNldD0idXRmLTgiIG5hbWU9IkFyaWFsIi8+CiAgICAgICAgPGZvbnQgaWQ9IjMiIGNoYXJzZXQ9InV0Zi04IiBuYW1lPSJUaW1lcyBOZXcgUm9tYW4iLz4KICAgIDwvZm9udHRhYmxlPgogICAgPGNvbG9ydGFibGU+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMCIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIxIiBnPSIwIiBiPSIwIi8+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjAiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMSIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIwIiBnPSIxIiBiPSIxIi8+CiAgICAgICAgPGNvbG9yIHI9IjAiIGc9IjAiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMSIgZz0iMCIgYj0iMSIvPgogICAgICAgIDxjb2xvciByPSIwLjUiIGc9IjAuNSIgYj0iMC41Ii8+CiAgICA8L2NvbG9ydGFibGU+CiAgICA8cGFnZSBIZWlnaHRQYWdlcz0iMSIgV2lkdGhQYWdlcz0iMSI+CiAgICAgICAgPGZyYWdtZW50IGlkPSI0Ij4KICAgICAgICAgICAgPG4gaWQ9IjUiIHA9IjE0NS40MTk5OTggNzIuNDQ5OTk3Ii8+CiAgICAgICAgICAgIDxuIGlkPSI2IiBwPSIxNDUuNDE5OTk4IDg2Ljg0OTk5OCIvPgogICAgICAgICAgICA8biBpZD0iNyIgcD0iMTU3Ljg4OTk5OSA5NC4wNTAwMDMiLz4KICAgICAgICAgICAgPG4gaWQ9IjgiIHA9IjE3MC4zNjAwMDEgODYuODQ5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSI5IiBwPSIxNzAuMzYwMDAxIDcyLjQ0OTk5NyIvPgogICAgICAgICAgICA8biBpZD0iMTAiIHA9IjE1Ny44ODk5OTkgNjUuMjUwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSIxMSIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIyIiBwPSIxODIuODMwMDAyIDY1LjI1MDAwMCI+CiAgICAgICAgICAgICAgICA8dCBwPSIxODIuODMwMDAyIDY1LjI1MDAwMCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk5IPC9zPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSIzMiI+Mjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMTIiIHA9IjEzMi45NDk5OTcgOTQuMDUwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSIxMyIgcD0iMTIwLjQ3OTk5NiA4Ni44NDk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjE0IiBwPSIxMzIuOTQ5OTk3IDEwOC40NDk5OTciLz4KICAgICAgICAgICAgPG4gaWQ9IjE1IiBwPSIxMjAuNDc5OTk2IDEwMS4yNTAwMDAiLz4KICAgICAgICAgICAgPGIgaWQ9IjI4MiIgQj0iNSIgRT0iNiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI4MyIgQj0iNiIgRT0iNyIvPgogICAgICAgICAgICA8YiBpZD0iMjg0IiBCPSI3IiBFPSI4IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjg1IiBCPSI4IiBFPSI5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyODYiIEI9IjkiIEU9IjEwIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjg3IiBCPSIxMCIgRT0iNSIvPgogICAgICAgICAgICA8YiBpZD0iMjg4IiBCPSI5IiBFPSIxMSIvPgogICAgICAgICAgICA8YiBpZD0iMjg5IiBCPSI2IiBFPSIxMiIvPgogICAgICAgICAgICA8YiBpZD0iMjkwIiBCPSIxMiIgRT0iMTMiLz4KICAgICAgICAgICAgPGIgaWQ9IjI5MSIgQj0iMTIiIEU9IjE0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyOTIiIEI9IjEyIiBFPSIxNSIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSIxNiI+CiAgICAgICAgICAgIDxuIGlkPSIxNyIgcD0iMjIzLjkzMDAwOCA3Ni4yNTAwMDAiLz4KICAgICAgICAgICAgPG4gaWQ9IjE4IiBwPSIyMjMuOTMwMDA4IDkwLjY1MDAwMiIvPgogICAgICAgICAgICA8biBpZD0iMTkiIHA9IjIzNi4zOTk5OTQgOTcuODQ5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyMCIgcD0iMjQ4Ljg2OTk5NSA5MC42NTAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjIxIiBwPSIyNDguODY5OTk1IDc2LjI1MDAwMCIvPgogICAgICAgICAgICA8biBpZD0iMjIiIHA9IjIzNi4zOTk5OTQgNjkuMDUwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSIyMyIgRWxlbWVudD0iMzUiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjYxLjMzOTk5NiA5Ny44NDk5OTgiPgogICAgICAgICAgICAgICAgPHQgcD0iMjYxLjMzOTk5NiA5Ny44NDk5OTgiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5Ccjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8YiBpZD0iMjkzIiBCPSIxNyIgRT0iMTgiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyOTQiIEI9IjE4IiBFPSIxOSIvPgogICAgICAgICAgICA8YiBpZD0iMjk1IiBCPSIxOSIgRT0iMjAiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyOTYiIEI9IjIwIiBFPSIyMSIvPgogICAgICAgICAgICA8YiBpZD0iMjk3IiBCPSIyMSIgRT0iMjIiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyOTgiIEI9IjIyIiBFPSIxNyIvPgogICAgICAgICAgICA8YiBpZD0iMjk5IiBCPSIyMCIgRT0iMjMiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iMjQiPgogICAgICAgICAgICA8biBpZD0iMjUiIHA9IjQ0NS40Nzk5ODAgOTMuNTAwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSIyNiIgcD0iNDQ1LjQ3OTk4MCA3OS4wOTk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjI3IiBwPSI0NTcuOTQ5OTgyIDcxLjkwMDAwMiIvPgogICAgICAgICAgICA8biBpZD0iMjgiIHA9IjQ3MC40MTk5ODMgNzkuMDk5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyOSIgcD0iNDU3Ljk0OTk4MiAxMDAuNjk5OTk3Ii8+CiAgICAgICAgICAgIDxuIGlkPSIzMCIgcD0iNDMzLjAwOTk3OSA3MS45MDAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjMxIiBwPSI0MjAuNTM5OTc4IDc5LjA5OTk5OCIvPgogICAgICAgICAgICA8biBpZD0iMzIiIHA9IjQzMy4wMDk5NzkgNTcuNTAwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSIzMyIgcD0iNDIwLjUzOTk3OCA2NC42OTk5OTciLz4KICAgICAgICAgICAgPG4gaWQ9IjM0IiBwPSI0NzAuNDE5OTgzIDkzLjUwMDAwMCIvPgogICAgICAgICAgICA8biBpZD0iMzUiIHA9IjUyMC4yOTk5ODggNzkuMDk5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSIzNiIgcD0iNTIwLjI5OTk4OCA5My41MDAwMDAiLz4KICAgICAgICAgICAgPG4gaWQ9IjM3IiBwPSI1MDcuODI5OTU2IDEwMC42OTk5OTciLz4KICAgICAgICAgICAgPG4gaWQ9IjM4IiBwPSI0OTUuMzU5OTg1IDkzLjUwMDAwMCIvPgogICAgICAgICAgICA8biBpZD0iMzkiIHA9IjQ5NS4zNTk5ODUgNzkuMDk5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSI0MCIgcD0iNTA3LjgyOTk1NiA3MS45MDAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjQxIiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjQ4Mi44ODk5ODQgMTAwLjY5OTk5NyI+CiAgICAgICAgICAgICAgICA8dCBwPSI0ODIuODg5OTg0IDEwMC42OTk5OTciIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OSDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8YiBpZD0iMzAwIiBCPSIyNSIgRT0iMjYiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMDEiIEI9IjI2IiBFPSIyNyIvPgogICAgICAgICAgICA8YiBpZD0iMzAyIiBCPSIyNyIgRT0iMjgiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMDMiIEI9IjI4IiBFPSIzNCIvPgogICAgICAgICAgICA8YiBpZD0iMzA0IiBCPSIzNCIgRT0iMjkiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMDUiIEI9IjI5IiBFPSIyNSIvPgogICAgICAgICAgICA8YiBpZD0iMzA2IiBCPSIyNiIgRT0iMzAiLz4KICAgICAgICAgICAgPGIgaWQ9IjMwNyIgQj0iMzAiIEU9IjMxIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMDgiIEI9IjMwIiBFPSIzMiIvPgogICAgICAgICAgICA8YiBpZD0iMzA5IiBCPSIzMCIgRT0iMzMiLz4KICAgICAgICAgICAgPGIgaWQ9IjMxMCIgQj0iMzQiIEU9IjQxIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMTEiIEI9IjM1IiBFPSIzNiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjMxMiIgQj0iMzYiIEU9IjM3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMTMiIEI9IjM3IiBFPSIzOCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjMxNCIgQj0iMzgiIEU9IjM5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMTUiIEI9IjM5IiBFPSI0MCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjMxNiIgQj0iNDAiIEU9IjM1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMTciIEI9IjM4IiBFPSI0MSIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI0MiI+CiAgICAgICAgICAgIDxuIGlkPSIzMjMiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjMyNCI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjQzIiBFbGVtZW50PSIxOSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIzNTYuNjE5OTk1IDQ0MS4yNjk5ODkiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIzNTYuNjE5OTk1IDQ0MS4yNjk5ODkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPks8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjQ0IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjM2OS4wNDk5ODggNDQ4LjQ0MDAwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjM2OS4wNDk5ODggNDQ4LjQ0MDAwMiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNDUiIHA9IjM4MS40Nzk5ODAgNDQxLjI2OTk4OSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI0NiIgcD0iMzgxLjQ3OTk4MCA0MjYuOTIwMDEzIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjQ3IiBwPSIzOTMuODk5OTk0IDQzNC4wODk5OTYiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNDgiIHA9IjM5My44OTk5OTQgNDQ4LjQ0MDAwMiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMTgiIEI9IjQ1IiBFPSI0NiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMTkiIEI9IjQ1IiBFPSI0NyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMjAiIEI9IjQ1IiBFPSI0OCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMjEiIEI9IjQ0IiBFPSI0NSIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMjIiIEI9IjQzIiBFPSI0NCIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5LT3RCdTwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI0OSI+CiAgICAgICAgICAgIDxuIGlkPSI1MCIgRWxlbWVudD0iOCIgQ2hhcmdlPSItMSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyNDUuODYwMDAxIDMzNi4wMDAwMDAiPgogICAgICAgICAgICAgICAgPHQgcD0iMjQ1Ljg2MDAwMSAzMzYuMDAwMDAwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNTEiIHA9IjI1OC4zMjk5ODcgMzI4Ljc5OTk4OCIvPgogICAgICAgICAgICA8biBpZD0iNTIiIHA9IjI1OC4zMjk5ODcgMzE0LjM5OTk5NCIvPgogICAgICAgICAgICA8biBpZD0iNTMiIHA9IjI3MC43OTk5ODggMzM2LjAwMDAwMCIvPgogICAgICAgICAgICA8biBpZD0iNTQiIHA9IjI3MC43OTk5ODggMzIxLjYwMDAwNiIvPgogICAgICAgICAgICA8biBpZD0iNTUiIEVsZW1lbnQ9IjE5IiBDaGFyZ2U9IjEiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjMwLjMzMDAwMiAzMzMuMjk5OTg4Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjIzMC4zMzAwMDIgMzMzLjI5OTk4OCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPks8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPGIgaWQ9IjMyNSIgQj0iNTAiIEU9IjUxIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMjYiIEI9IjUxIiBFPSI1MiIvPgogICAgICAgICAgICA8YiBpZD0iMzI3IiBCPSI1MSIgRT0iNTMiLz4KICAgICAgICAgICAgPGIgaWQ9IjMyOCIgQj0iNTEiIEU9IjU0Ii8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjU2Ij4KICAgICAgICAgICAgPG4gaWQ9IjU3IiBwPSIzMTguNjM5OTg0IDMyNC4yOTk5ODgiLz4KICAgICAgICAgICAgPG4gaWQ9IjU4IiBwPSIzMTguNjM5OTg0IDMzOC43MDAwMTIiLz4KICAgICAgICAgICAgPG4gaWQ9IjU5IiBwPSIzMzEuMTA5OTg1IDM0NS44OTk5OTQiLz4KICAgICAgICAgICAgPG4gaWQ9IjYwIiBwPSIzNDMuNTc5OTg3IDMzOC43MDAwMTIiLz4KICAgICAgICAgICAgPG4gaWQ9IjYxIiBwPSIzNDMuNTc5OTg3IDMyNC4yOTk5ODgiLz4KICAgICAgICAgICAgPG4gaWQ9IjYyIiBwPSIzMzEuMTA5OTg1IDMxNy4xMDAwMDYiLz4KICAgICAgICAgICAgPG4gaWQ9IjYzIiBwPSIzNTYuMDQ5OTg4IDMxNy4xMDAwMDYiLz4KICAgICAgICAgICAgPGIgaWQ9IjMyOSIgQj0iNTciIEU9IjU4IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzMwIiBCPSI1OCIgRT0iNTkiLz4KICAgICAgICAgICAgPGIgaWQ9IjMzMSIgQj0iNTkiIEU9IjYwIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzMyIiBCPSI2MCIgRT0iNjEiLz4KICAgICAgICAgICAgPGIgaWQ9IjMzMyIgQj0iNjEiIEU9IjYyIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzM0IiBCPSI2MiIgRT0iNTciLz4KICAgICAgICAgICAgPGIgaWQ9IjMzNSIgQj0iNjEiIEU9IjYzIi8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjY0Ij4KICAgICAgICAgICAgPG4gaWQ9IjY1IiBwPSI0NDguNzc5OTk5IDI4NS41NDAwMDkiLz4KICAgICAgICAgICAgPG4gaWQ9IjY2IiBwPSI0NDQuNzE5OTcxIDI5OS4zNTk5ODUiLz4KICAgICAgICAgICAgPG4gaWQ9IjY3IiBwPSI0NTQuNjQ5OTk0IDMwOS43OTAwMDkiLz4KICAgICAgICAgICAgPG4gaWQ9IjY4IiBwPSI0NjguNjY5OTgzIDMwNi4zOTk5OTQiLz4KICAgICAgICAgICAgPG4gaWQ9IjY5IiBwPSI0NzIuNzI5OTgwIDI5Mi41Nzk5ODciLz4KICAgICAgICAgICAgPG4gaWQ9IjcwIiBwPSI0NjIuNzc5OTk5IDI4Mi4xNDAwMTUiLz4KICAgICAgICAgICAgPG4gaWQ9IjcxIiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjQ4MC41NDk5ODggMzE0LjUxOTk4OSI+CiAgICAgICAgICAgICAgICA8dCBwPSI0ODAuNTQ5OTg4IDMxNC41MTk5ODkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OSDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNzIiIHA9IjQ5MS45NDk5ODIgMzA1LjcyMDAwMSIvPgogICAgICAgICAgICA8biBpZD0iNzMiIHA9IjQ4Ny4xMjk5NDQgMjkyLjE2MDAwNCIvPgogICAgICAgICAgICA8biBpZD0iNzQiIHA9IjUwNi4xMDk5ODUgMzA4LjMyOTk4NyIvPgogICAgICAgICAgICA8biBpZD0iNzUiIHA9IjUxNS40NTAwMTIgMjk3LjM1OTk4NSIvPgogICAgICAgICAgICA8biBpZD0iNzYiIHA9IjUxMC42MTk5OTUgMjgzLjc5OTk4OCIvPgogICAgICAgICAgICA8biBpZD0iNzciIHA9IjQ5Ni40NTk5OTEgMjgxLjE5MDAwMiIvPgogICAgICAgICAgICA8YiBpZD0iMzM2IiBCPSI2NSIgRT0iNjYiLz4KICAgICAgICAgICAgPGIgaWQ9IjMzNyIgQj0iNjYiIEU9IjY3IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzM4IiBCPSI2NyIgRT0iNjgiLz4KICAgICAgICAgICAgPGIgaWQ9IjMzOSIgQj0iNjgiIEU9IjY5IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzQwIiBCPSI2OSIgRT0iNzAiLz4KICAgICAgICAgICAgPGIgaWQ9IjM0MSIgQj0iNjUiIEU9IjcwIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzQyIiBCPSI2OCIgRT0iNzEiLz4KICAgICAgICAgICAgPGIgaWQ9IjM0MyIgQj0iNzEiIEU9IjcyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNDQiIEI9IjcyIiBFPSI3MyIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjM0NSIgQj0iNjkiIEU9IjczIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNDYiIEI9IjcyIiBFPSI3NCIvPgogICAgICAgICAgICA8YiBpZD0iMzQ3IiBCPSI3NCIgRT0iNzUiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNDgiIEI9Ijc1IiBFPSI3NiIvPgogICAgICAgICAgICA8YiBpZD0iMzQ5IiBCPSI3NiIgRT0iNzciIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNTAiIEI9Ijc3IiBFPSI3MyIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI3OCI+CiAgICAgICAgICAgIDxuIGlkPSI0MDUiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjQwNiI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijk0IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjEyNC41NDAwMDEgNDAyLjExOTk5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjEyNC41NDAwMDEgNDAyLjExOTk5NSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNDA3IiBOb2RlVHlwZT0iRXh0ZXJuYWxDb25uZWN0aW9uUG9pbnQiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iOTUiIHA9IjEzOS43MjAwMDEgNDI2LjQ4MDAxMSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI5NiIgRWxlbWVudD0iMTYiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTMyLjEzMDAwNSA0MTQuMjk5OTg4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMTMyLjEzMDAwNSA0MTQuMjk5OTg4IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5TPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI5NyIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxMTkuOTQ5OTk3IDQyMS44OTAwMTUiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIxMTkuOTQ5OTk3IDQyMS44OTAwMTUiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijk4IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjE0NC4zMDk5OTggNDA2LjcwOTk5MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjE0NC4zMDk5OTggNDA2LjcwOTk5MSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzUxIiBCPSI5NiIgRT0iOTciIE9yZGVyPSIyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM1MiIgQj0iOTYiIEU9Ijk4IiBPcmRlcj0iMiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzNTMiIEI9Ijk1IiBFPSI5NiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzNTQiIEI9Ijk0IiBFPSI5NiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0MDkiIEI9IjQwNyIgRT0iOTQiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+T01zPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI0MTAiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjQxMSI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEwMCIgcD0iMTIyLjgyOTk5NCAzNjUuMDQwMDA5Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjQxMiIgTm9kZVR5cGU9IkV4dGVybmFsQ29ubmVjdGlvblBvaW50Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEwMSIgcD0iMTM2Ljc1MDAwMCAzNjguNDg5OTkwIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEwMiIgcD0iMTQ2LjcxMDAwNyAzNTguMTYwMDA0Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEwMyIgcD0iMTQyLjc0MDAwNSAzNDQuMzY5OTk1Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEwNCIgcD0iMTI4LjgwOTk5OCAzNDAuOTEwMDA0Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEwNSIgcD0iMTE4Ljg1MDAwNiAzNTEuMjUwMDAwIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM1NSIgQj0iMTA0IiBFPSIxMDUiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzU2IiBCPSIxMDMiIEU9IjEwNCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzNTciIEI9IjEwMiIgRT0iMTAzIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM1OCIgQj0iMTAxIiBFPSIxMDIiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzU5IiBCPSIxMDAiIEU9IjEwMSIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzNjAiIEI9IjEwMCIgRT0iMTA1Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQxNCIgQj0iNDEyIiBFPSIxMDAiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+Q3k8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjQxNSIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iNDE2Ij4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTA2IiBwPSIxMjkuNTM5OTkzIDM3Ny4yMjAwMDEiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNDE3IiBOb2RlVHlwZT0iRXh0ZXJuYWxDb25uZWN0aW9uUG9pbnQiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTA3IiBwPSIxMzcuNjMwMDA1IDM4OS4wNzAwMDciLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTA4IiBwPSIxNTEuOTQwMDAyIDM4Ny45ODk5OTAiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTA5IiBwPSIxNTguMTYwMDA0IDM3NS4wNTk5OTgiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTEwIiBwPSIxNTAuMDcwMDA3IDM2My4yMDk5OTEiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTExIiBwPSIxMzUuNzU5OTk1IDM2NC4yOTAwMDkiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzYxIiBCPSIxMTAiIEU9IjExMSIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzNjIiIEI9IjEwOSIgRT0iMTEwIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM2MyIgQj0iMTA4IiBFPSIxMDkiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzY0IiBCPSIxMDciIEU9IjEwOCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzNjUiIEI9IjEwNiIgRT0iMTA3Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM2NiIgQj0iMTA2IiBFPSIxMTEiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDE5IiBCPSI0MTciIEU9IjEwNiIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5DeTwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNDIwIiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSI0MjEiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMjMiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTEwLjIwOTk5OSAzNjMuMDQ5OTg4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMTEwLjIwOTk5OSAzNjMuMDQ5OTg4IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI0MjIiIE5vZGVUeXBlPSJFeHRlcm5hbENvbm5lY3Rpb25Qb2ludCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMjQiIHA9IjEyMC4zODAwMDUgMzczLjE3MDAxMyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzNjciIEI9IjEyMyIgRT0iMTI0Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQyNCIgQj0iNDIyIiBFPSIxMjMiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+T01lPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI0MjUiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjQyNiI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEyNSIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSI5Mi4wNTk5OTggMzM5LjUxOTk4OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjkyLjA1OTk5OCAzMzkuNTE5OTg5IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI0MjciIE5vZGVUeXBlPSJFeHRlcm5hbENvbm5lY3Rpb25Qb2ludCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMjYiIHA9Ijg0LjU0MDAwMSAzNTEuNzM5OTkwIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM2OCIgQj0iMTI1IiBFPSIxMjYiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDI5IiBCPSI0MjciIEU9IjEyNSIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5PTWU8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9Ijc5IiBwPSI2Mi45NzAwMDEgNDI3LjUwMDAwMCIvPgogICAgICAgICAgICA8biBpZD0iODAiIHA9IjcwLjE2OTk5OCA0MzkuOTcwMDAxIi8+CiAgICAgICAgICAgIDxuIGlkPSI4MSIgcD0iODQuNTcwMDAwIDQzOS45NzAwMDEiLz4KICAgICAgICAgICAgPG4gaWQ9IjgyIiBwPSI5MS43NzAwMDQgNDI3LjUwMDAwMCIvPgogICAgICAgICAgICA8biBpZD0iODMiIHA9Ijg0LjU3MDAwMCA0MTUuMDI5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSI4NCIgcD0iNzAuMTY5OTk4IDQxNS4wMjk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9Ijg1IiBwPSIxMDYuMTY5OTk4IDQyNy41MDAwMDAiLz4KICAgICAgICAgICAgPG4gaWQ9Ijg2IiBwPSIxMTMuMzcwMDAzIDQzOS45NzAwMDEiLz4KICAgICAgICAgICAgPG4gaWQ9Ijg3IiBwPSIxMjcuNzcwMDEyIDQzOS45NzAwMDEiLz4KICAgICAgICAgICAgPG4gaWQ9Ijg4IiBwPSIxMzQuOTcwMDAxIDQyNy41MDAwMDAiLz4KICAgICAgICAgICAgPG4gaWQ9Ijg5IiBwPSIxMjcuNzcwMDEyIDQxNS4wMjk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9IjkwIiBwPSIxMTMuMzcwMDAzIDQxNS4wMjk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9IjkxIiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjkxLjc3MDAwNCA0MDIuNTU5OTk4Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjkxLjc3MDAwNCA0MDIuNTU5OTk4IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tkg8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjkyIiBFbGVtZW50PSI0NiIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxMDkuNjM5OTk5IDQwMi42MTk5OTUiPgogICAgICAgICAgICAgICAgPHQgcD0iMTA5LjYzOTk5OSA0MDIuNjE5OTk1IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+UGQ8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjkzIiBFbGVtZW50PSIxNSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxMDkuNjM5OTk5IDM3OC43MjAwMDEiPgogICAgICAgICAgICAgICAgPHQgcD0iMTA5LjYzOTk5OSAzNzguNzIwMDAxIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+UDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iOTkiIHA9IjkzLjY2OTk5OCAzNzIuNTE5OTg5Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMTIiIHA9IjkyLjA1MDAwMyAzNTguMjA5OTkxIi8+CiAgICAgICAgICAgIDxuIGlkPSIxMTMiIHA9Ijc4Ljg0MDAwNCAzNTIuNDcwMDAxIi8+CiAgICAgICAgICAgIDxuIGlkPSIxMTQiIHA9IjY3LjI2MDAwMiAzNjEuMDI5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMTUiIHA9IjY4Ljg4OTk5OSAzNzUuMzI5OTg3Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMTYiIHA9IjgyLjA5MDAwNCAzODEuMDc5OTg3Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMTciIHA9IjEwMy42Mjk5OTcgMzQ5LjY0OTk5NCIvPgogICAgICAgICAgICA8biBpZD0iMTE4IiBwPSIxMTMuNDU5OTk5IDM1MC44Mzk5OTYiLz4KICAgICAgICAgICAgPG4gaWQ9IjExOSIgcD0iMTI1LjAzOTk5MyAzNDIuMjc5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMjAiIHA9IjEyNi43Nzk5OTkgMzMyLjUyOTk5OSIvPgogICAgICAgICAgICA8biBpZD0iMTIxIiBwPSIxMTYuOTQ5OTk3IDMzMS4zMzk5OTYiLz4KICAgICAgICAgICAgPG4gaWQ9IjEyMiIgcD0iMTA1LjM3MDAwMyAzMzkuODk5OTk0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzNjkiIEI9Ijc5IiBFPSI4MCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjM3MCIgQj0iODAiIEU9IjgxIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNzEiIEI9IjgxIiBFPSI4MiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjM3MiIgQj0iODIiIEU9IjgzIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNzMiIEI9IjgzIiBFPSI4NCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjM3NCIgQj0iODQiIEU9Ijc5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzNzUiIEI9IjgyIiBFPSI4NSIvPgogICAgICAgICAgICA8YiBpZD0iMzc2IiBCPSI4NSIgRT0iODYiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNzciIEI9Ijg2IiBFPSI4NyIvPgogICAgICAgICAgICA8YiBpZD0iMzc4IiBCPSI4NyIgRT0iODgiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNzkiIEI9Ijg4IiBFPSI4OSIvPgogICAgICAgICAgICA8YiBpZD0iMzgwIiBCPSI4OSIgRT0iOTAiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzODEiIEI9IjkwIiBFPSI4NSIvPgogICAgICAgICAgICA8YiBpZD0iMzgyIiBCPSI4MyIgRT0iOTEiLz4KICAgICAgICAgICAgPGIgaWQ9IjM4MyIgQj0iOTAiIEU9IjkyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzODQiIEI9IjkxIiBFPSI5MiIvPgogICAgICAgICAgICA8YiBpZD0iMzg2IiBCPSI5MyIgRT0iOTkiLz4KICAgICAgICAgICAgPGIgaWQ9IjM4OSIgQj0iOTkiIEU9IjExMiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjM5MCIgQj0iMTEyIiBFPSIxMTMiLz4KICAgICAgICAgICAgPGIgaWQ9IjM5MSIgQj0iMTEzIiBFPSIxMTQiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzOTIiIEI9IjExNCIgRT0iMTE1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzOTMiIEI9IjExNSIgRT0iMTE2IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzk0IiBCPSIxMTYiIEU9Ijk5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzOTUiIEI9IjExMiIgRT0iMTE3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzOTYiIEI9IjExNyIgRT0iMTE4IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzk3IiBCPSIxMTgiIEU9IjExOSIvPgogICAgICAgICAgICA8YiBpZD0iMzk4IiBCPSIxMTkiIEU9IjEyMCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjM5OSIgQj0iMTIwIiBFPSIxMjEiLz4KICAgICAgICAgICAgPGIgaWQ9IjQwMCIgQj0iMTIxIiBFPSIxMjIiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSI0MDEiIEI9IjEyMiIgRT0iMTE3Ii8+CiAgICAgICAgICAgIDxiIGlkPSI0MDQiIEI9IjkzIiBFPSI5MiIvPgogICAgICAgICAgICA8YiBpZD0iNDA4IiBCPSI5MiIgRT0iNDA1Ii8+CiAgICAgICAgICAgIDxiIGlkPSI0MTMiIEI9IjkzIiBFPSI0MTAiLz4KICAgICAgICAgICAgPGIgaWQ9IjQxOCIgQj0iOTMiIEU9IjQxNSIvPgogICAgICAgICAgICA8YiBpZD0iNDIzIiBCPSIxMTgiIEU9IjQyMCIvPgogICAgICAgICAgICA8YiBpZD0iNDI4IiBCPSIxMjIiIEU9IjQyNSIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSIxMjciPgogICAgICAgICAgICA8biBpZD0iNDYyIiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSI0NjMiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMzAiIHA9IjUwMy4zOTk5NjMgMzcyLjA0MDAwOSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI0NjQiIE5vZGVUeXBlPSJFeHRlcm5hbENvbm5lY3Rpb25Qb2ludCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMzEiIHA9IjUxNy4zMjAwMDcgMzc1LjQ4OTk5MCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMzIiIHA9IjUyNy4yNzk5NjggMzY1LjE2MDAwNCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMzMiIHA9IjUyMy4zMDk5OTggMzUxLjM2OTk5NSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMzQiIHA9IjUwOS4zODAwMDUgMzQ3LjkxMDAwNCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMzUiIHA9IjQ5OS40MTk5ODMgMzU4LjI1MDAwMCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0MzAiIEI9IjEzNCIgRT0iMTM1Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQzMSIgQj0iMTMzIiBFPSIxMzQiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDMyIiBCPSIxMzIiIEU9IjEzMyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0MzMiIEI9IjEzMSIgRT0iMTMyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQzNCIgQj0iMTMwIiBFPSIxMzEiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDM1IiBCPSIxMzAiIEU9IjEzNSIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0NjYiIEI9IjQ2NCIgRT0iMTMwIi8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPkN5PC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI0NjciIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjQ2OCI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEzNiIgcD0iNTEwLjEwOTk4NSAzODQuMjIwMDAxIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjQ2OSIgTm9kZVR5cGU9IkV4dGVybmFsQ29ubmVjdGlvblBvaW50Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEzNyIgcD0iNTE4LjIwMDAxMiAzOTYuMDcwMDA3Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEzOCIgcD0iNTMyLjUxMDAxMCAzOTQuOTg5OTkwIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEzOSIgcD0iNTM4LjcyOTk4MCAzODIuMDU5OTk4Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjE0MCIgcD0iNTMwLjY0MDAxNSAzNzAuMjA5OTkxIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjE0MSIgcD0iNTE2LjMyOTk1NiAzNzEuMjkwMDA5Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQzNiIgQj0iMTQwIiBFPSIxNDEiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDM3IiBCPSIxMzkiIEU9IjE0MCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0MzgiIEI9IjEzOCIgRT0iMTM5Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQzOSIgQj0iMTM3IiBFPSIxMzgiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDQwIiBCPSIxMzYiIEU9IjEzNyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0NDEiIEI9IjEzNiIgRT0iMTQxIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQ3MSIgQj0iNDY5IiBFPSIxMzYiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+Q3k8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjQ3MiIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iNDczIj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTUzIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjQ5MC43Nzk5OTkgMzcwLjA0OTk4OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjQ5MC43Nzk5OTkgMzcwLjA0OTk4OCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNDc0IiBOb2RlVHlwZT0iRXh0ZXJuYWxDb25uZWN0aW9uUG9pbnQiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTU0IiBwPSI1MDAuOTUwMDEyIDM4MC4xNzAwMTMiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDQyIiBCPSIxNTMiIEU9IjE1NCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0NzYiIEI9IjQ3NCIgRT0iMTUzIi8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPk9NZTwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNDc3IiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSI0NzgiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNTUiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNDcyLjYyOTk3NCAzNDYuNTE5OTg5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iNDcyLjYyOTk3NCAzNDYuNTE5OTg5IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI0NzkiIE5vZGVUeXBlPSJFeHRlcm5hbENvbm5lY3Rpb25Qb2ludCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNTYiIHA9IjQ2NS4xMDk5ODUgMzU4LjczOTk5MCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0NDMiIEI9IjE1NSIgRT0iMTU2Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQ4MSIgQj0iNDc5IiBFPSIxNTUiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+T01lPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxMjgiIEVsZW1lbnQ9IjE1IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjQ5MC4yMTAwMjIgMzg1LjcyMDAwMSI+CiAgICAgICAgICAgICAgICA8dCBwPSI0OTAuMjEwMDIyIDM4NS43MjAwMDEiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5QPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxMjkiIHA9IjQ3NC4yMzk5OTAgMzc5LjUxOTk4OSIvPgogICAgICAgICAgICA8biBpZD0iMTQyIiBwPSI0NzIuNjE5OTk1IDM2NS4yMDk5OTEiLz4KICAgICAgICAgICAgPG4gaWQ9IjE0MyIgcD0iNDU5LjQwOTk3MyAzNTkuNDcwMDAxIi8+CiAgICAgICAgICAgIDxuIGlkPSIxNDQiIHA9IjQ0Ny44Mjk5ODcgMzY4LjAyOTk5OSIvPgogICAgICAgICAgICA8biBpZD0iMTQ1IiBwPSI0NDkuNDU5OTkxIDM4Mi4zMjk5ODciLz4KICAgICAgICAgICAgPG4gaWQ9IjE0NiIgcD0iNDYyLjY1OTk3MyAzODguMDc5OTg3Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxNDciIHA9IjQ4NC4xOTk5ODIgMzU2LjY0OTk5NCIvPgogICAgICAgICAgICA8biBpZD0iMTQ4IiBwPSI0OTQuMDI5OTk5IDM1Ny44Mzk5OTYiLz4KICAgICAgICAgICAgPG4gaWQ9IjE0OSIgcD0iNTA1LjYwOTk4NSAzNDkuMjc5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxNTAiIHA9IjUwNy4zNDk5NDUgMzM5LjUyOTk5OSIvPgogICAgICAgICAgICA8biBpZD0iMTUxIiBwPSI0OTcuNTE5OTg5IDMzOC4zMzk5OTYiLz4KICAgICAgICAgICAgPG4gaWQ9IjE1MiIgcD0iNDg1Ljk0MDAwMiAzNDYuODk5OTk0Ii8+CiAgICAgICAgICAgIDxiIGlkPSI0NDQiIEI9IjEyOCIgRT0iMTI5Ii8+CiAgICAgICAgICAgIDxiIGlkPSI0NDciIEI9IjEyOSIgRT0iMTQyIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iNDQ4IiBCPSIxNDIiIEU9IjE0MyIvPgogICAgICAgICAgICA8YiBpZD0iNDQ5IiBCPSIxNDMiIEU9IjE0NCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjQ1MCIgQj0iMTQ0IiBFPSIxNDUiLz4KICAgICAgICAgICAgPGIgaWQ9IjQ1MSIgQj0iMTQ1IiBFPSIxNDYiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSI0NTIiIEI9IjE0NiIgRT0iMTI5Ii8+CiAgICAgICAgICAgIDxiIGlkPSI0NTMiIEI9IjE0MiIgRT0iMTQ3Ii8+CiAgICAgICAgICAgIDxiIGlkPSI0NTQiIEI9IjE0NyIgRT0iMTQ4IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iNDU1IiBCPSIxNDgiIEU9IjE0OSIvPgogICAgICAgICAgICA8YiBpZD0iNDU2IiBCPSIxNDkiIEU9IjE1MCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjQ1NyIgQj0iMTUwIiBFPSIxNTEiLz4KICAgICAgICAgICAgPGIgaWQ9IjQ1OCIgQj0iMTUxIiBFPSIxNTIiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSI0NTkiIEI9IjE1MiIgRT0iMTQ3Ii8+CiAgICAgICAgICAgIDxiIGlkPSI0NjUiIEI9IjEyOCIgRT0iNDYyIi8+CiAgICAgICAgICAgIDxiIGlkPSI0NzAiIEI9IjEyOCIgRT0iNDY3Ii8+CiAgICAgICAgICAgIDxiIGlkPSI0NzUiIEI9IjE0OCIgRT0iNDcyIi8+CiAgICAgICAgICAgIDxiIGlkPSI0ODAiIEI9IjE1MiIgRT0iNDc3Ii8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjE1NyI+CiAgICAgICAgICAgIDxuIGlkPSI0ODQiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjQ4NSI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjE1OCIgRWxlbWVudD0iNDYiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNDY3LjE3OTk5MyA0MDMuNzYwMDEwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iNDY3LjE3OTk5MyA0MDMuNzYwMDEwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5QZDwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTU5IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjQ1NC43NTAwMDAgNDEwLjk0MDAwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjQ1NC43NTAwMDAgNDEwLjk0MDAwMiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+T0g8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjE2MCIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIxIiBwPSI0NzkuNjA5OTg1IDQxMC45NDAwMDIiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSI0NzkuNjA5OTg1IDQxMC45NDAwMDIiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk9IPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0ODIiIEI9IjE1OCIgRT0iMTU5Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQ4MyIgQj0iMTU4IiBFPSIxNjAiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+UGQoPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjE2MSI+CiAgICAgICAgICAgIDxuIGlkPSI0ODciIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjQ4OCI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjE2MiIgRWxlbWVudD0iMTkiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNDY5LjUwOTk3OSA0NTYuMTAwMDA2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iNDY5LjUwOTk3OSA0NTYuMTAwMDA2IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5LPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNjMiIEVsZW1lbnQ9IjM1IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjQ4My44NTk5ODUgNDU2LjEwMDAwNiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjQ4My44NTk5ODUgNDU2LjEwMDAwNiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+QnI8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQ4NiIgQj0iMTYyIiBFPSIxNjMiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+Szwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSIxNjQiPgogICAgICAgICAgICA8biBpZD0iNDkzIiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSI0OTQiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNjUiIHA9IjM0Ny44MTk5NzcgMjY2LjM1MDAwNiIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNjYiIHA9IjMzMy40Njk5NzEgMjY2LjM1MDAwNiIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNjciIHA9IjM0Ny44MTk5NzcgMjUxLjk5OTk4NSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNjgiIHA9IjM2Mi4xNjk5ODMgMjY2LjM1MDAwNiIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNjkiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMSIgcD0iMzQ3LjgxOTk3NyAyODAuNzAwMDEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMzQ3LjgxOTk3NyAyODAuNzAwMDEyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PSDwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDg5IiBCPSIxNjUiIEU9IjE2NiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0OTAiIEI9IjE2NSIgRT0iMTY3Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQ5MSIgQj0iMTY1IiBFPSIxNjgiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDkyIiBCPSIxNjUiIEU9IjE2OSIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz50QnVPSDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSIxNzAiPgogICAgICAgICAgICA8biBpZD0iNTAwIiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSI1MDEiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNzEiIEVsZW1lbnQ9IjE5IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjYyOS4yNjk5NTggNjUzLjAwMDAwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjYyOS4yNjk5NTggNjUzLjAwMDAwMCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Szwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTcyIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjYxNi44Mzk5NjYgNjYwLjE2OTk4MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjYxNi44Mzk5NjYgNjYwLjE2OTk4MyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTczIiBwPSI1OTEuOTc5OTgwIDY0NS44MjAwMDciLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTc0IiBFbGVtZW50PSIxNiIgTnVtSHlkcm9nZW5zPSIwIiBwPSI2MDQuNDA5OTczIDY1My4wMDAwMDAiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSI2MDQuNDA5OTczIDY1My4wMDAwMDAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPlM8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjE3NSIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSI2MTEuNTg5OTY2IDY0MC41NzAwMDciPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSI2MTEuNTg5OTY2IDY0MC41NzAwMDciIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjE3NiIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSI1OTcuMjM5OTkwIDY2NS40MTk5ODMiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSI1OTcuMjM5OTkwIDY2NS40MTk5ODMiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQ5NSIgQj0iMTc0IiBFPSIxNzUiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQ5NiIgQj0iMTc0IiBFPSIxNzYiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQ5NyIgQj0iMTczIiBFPSIxNzQiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDk4IiBCPSIxNzIiIEU9IjE3NCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0OTkiIEI9IjE3MSIgRT0iMTcyIi8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPktPTXM8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDx0IGlkPSIxNzciIHA9IjM0Ni4wNTQ5NjIgNjYuMDk5OTk4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4yIGVxdWl2PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTc3IiBwPSIzNDYuMDU0OTYyIDY2LjA5OTk5OCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+S090QnU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxODAiIHA9IjM0Ni4wNTQ5NjIgMTEwLjI2NDk5OSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+dG9sdWVuZTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE4MyIgcD0iMzQ2LjA1NDk2MiAxMjUuODgwMDA1IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4xMjAgwrBDLCA0IGhyczwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE4NiIgcD0iMzQ2LjA1NDk5MyAxNDEuMjA1MDAyIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4wLjIgTSBpbiBsaW1pdGluZzwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE4OSIgcD0iMzQ2LjA1NDk2MiA4My4xMTUwMDUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjAuMDUgZXF1aXY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxODkiIHA9IjM0Ni4wNTQ5NjIgODMuMTE1MDA1IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5TUGhvc1BkIEczPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTkyIiBwPSI5Ny42OTk5OTcgNy40MzQ5OTkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTYiIGZhY2U9IjAiPkJ1Y2h3YWxkIEhhcnR3aWcgUnhuMjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE5NSIgcD0iMTU4LjkzMDAwOCAxMjUuMjMwMDExIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPjQtKHRlcnQtYnV0eWwpYW5pbGluZTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE5OCIgcD0iMTU4Ljg3OTk5MCAxMzcuODE5OTkyIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjc2OS05Mi02PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjAxIiBwPSIxNTguODg5OTk5IDE3My4zOTk5OTQiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjEuMSBlcXVpdjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIwNCIgcD0iMjQ1Ljg4OTk4NCAxNzMuMzk5OTk0IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4xLjAgZXF1aXY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMDciIHA9IjE1OC44ODAwMDUgMTg1LjgxNTAwMiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2FtaW5lXTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIxMCIgcD0iMjQ1Ljg4OTk4NCAxODUuODIwMDA3IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bYXJ5bCBlbGVjdHJvcGhpbGVdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjEzIiBwPSI0NzAuNDkwMDIxIDE4NS44MTUwMDIiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltkZXNpcmVkIHByb2R1Y3RdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8Z3JhcGhpYyBpZD0iMjE2IiBCb3VuZGluZ0JveD0iMjA3LjAyOTk5OSA4OC44MTUwMDIgMjA3LjAyOTk5OSA4MS4zMTUwMDIiIEdyYXBoaWNUeXBlPSJTeW1ib2wiIFN5bWJvbFR5cGU9IlBsdXMiLz4KICAgICAgICA8dCBpZD0iMjE5IiBwPSI0NzAuNTAwMDAwIDEyNS4yMzAwMTEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+NC0odGVydC1idXR5bCktTi1waGVueWxhbmlsaW5lPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjIyIiBwPSIyNDUuOTA5OTg4IDEyNC4yODQ5OTYiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+YnJvbW9iZW56ZW5lPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjI1IiBwPSIxMDIuMDAwMDAwIDQ1Ni41ODk5OTYiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+TVcgNzc5LjI2PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjI4IiBwPSIyNDkuMzM5OTgxIDI4Mi42Njk5ODMiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+cG90YXNzaXVtIDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIyOCIgcD0iMjQ5LjMzOTk4MSAyODIuNjY5OTgzIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjMiPnRlcnQ8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMjgiIHA9IjI0OS4zMzk5ODEgMjgyLjY2OTk4MyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIzIj4tYnV0b3hpZGU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMzEiIHA9IjEwMS45OTk5ODUgMjY0Ljg1OTk4NSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj5TUGhvc1BkIEczPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjM0IiBwPSIyNDkuMzM1MDA3IDMwMC4zNTAwMDYiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+ODY1LTQ3LTQ8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMzciIHA9IjI0OS4zMzUwMDcgMzUxLjUyNTAyNCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj5NVyAxMTIuMjE8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyNDAiIHA9IjEwMS45OTQ5OTUgNDc1LjMzOTk5NiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2NhdGFseXN0XTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjI0MyIgcD0iMjQ5LjMzNTAwNyAzNzAuNzg0OTczIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bYmFzZV08L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyNDYiIHA9IjMzNC41Nzk5ODcgMjk4Ljg1MDAwNiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj4xMDgtODgtMzwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjI0OSIgcD0iMzM0LjM4NDk3OSAzNTguOTYwMDIyIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPk1vbGVjdWxhciBXZWlnaHQ6IDkyLjE0PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjUyIiBwPSIzMzIuMzM0OTkxIDM3NS43ODUwMDQiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltzb2x2ZW50XTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjI1NSIgcD0iNDcwLjQ4OTk5MCAxMzcuODE5OTkyIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjQ0OTYtNDktNTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjI1OCIgcD0iMjQ1Ljg4NTAxMCAxMzcuODE5OTkyIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjEwOC04Ni0xPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjYxIiBwPSI0ODQuMTA5OTg1IDI2MS43MjAwMDEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltieXByb2R1Y3RzXTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjI2NCIgcD0iMTguODI1MDAxIDI1OC43MjAwMzIiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjEiPktleTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjI2NyIgcD0iMTAxLjk5NDk5NSAyOTIuNzY5OTg5IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPigyLURpY3ljbG9oZXh5bHBob3NwaGluby0y4oCyLDbigLItZGltZXRob3h5YmlwaGVueWwpIFsyLSgy4oCyLWFtaW5vLTEsMeKAsi1iaXBoZW55bCldcGFsbGFkaXVtKElJKSBtZXRoYW5lc3VsZm9uYXRlPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjcwIiBwPSIxMDEuOTk0OTk1IDMxNy45ODk5OTAiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+MTQ0NTA4NS04Mi00PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8Z3JhcGhpYyBpZD0iMjczIiBCb3VuZGluZ0JveD0iMC43OTk5OTkgNDg4LjMwOTk5OCA0MjEuNTE5OTg5IDI0Ni4xNzAwMjkiIEdyYXBoaWNUeXBlPSJSZWN0YW5nbGUiLz4KICAgICAgICA8YXJyb3cgaWQ9IjI3NiIgQm91bmRpbmdCb3g9IjU0Ny4xMDk5ODUgMzk5LjcwMDAxMiA1NDcuMTA5OTg1IDI3OS4wMDAwMDAiIEZpbGxUeXBlPSJOb25lIiBBcnJvd2hlYWRUeXBlPSJTb2xpZCIgSGVhZFNpemU9IjIyNTAiIEFycm93aGVhZFdpZHRoPSI1NjMiIEFycm93aGVhZEhlYWQ9IkZ1bGwiIEFycm93aGVhZENlbnRlclNpemU9IjI1IiBIZWFkM0Q9IjU0Ny4xMDk5ODUgMzk5LjcwMDAxMiAwLjAwMDAwMCIgVGFpbDNEPSI1NDcuMTA5OTg1IDI3OS4wMDAwMDAgMC4wMDAwMDAiLz4KICAgICAgICA8YXJyb3cgaWQ9IjI3OSIgQm91bmRpbmdCb3g9IjQwMi41NDk5ODggOTYuNTAwMDAwIDI4OS41NDk5ODggOTYuNTAwMDAwIiBGaWxsVHlwZT0iTm9uZSIgQXJyb3doZWFkVHlwZT0iU29saWQiIEhlYWRTaXplPSIyMjUwIiBBcnJvd2hlYWRXaWR0aD0iNTYzIiBBcnJvd2hlYWRIZWFkPSJGdWxsIiBBcnJvd2hlYWRDZW50ZXJTaXplPSIyNSIgSGVhZDNEPSI0MDIuNTQ5OTg4IDk2LjUwMDAwMCAwLjAwMDAwMCIgVGFpbDNEPSIyODkuNTQ5OTg4IDk2LjUwMDAwMCAwLjAwMDAwMCIvPgogICAgICAgIDxzY2hlbWU+CiAgICAgICAgICAgIDxzdGVwIFJlYWN0aW9uU3RlcEFycm93cz0iMjc2Ii8+CiAgICAgICAgICAgIDxzdGVwIFJlYWN0aW9uU3RlcEFycm93cz0iMjc5Ii8+CiAgICAgICAgPC9zY2hlbWU+CiAgICA8L3BhZ2U+CjwvQ0RYTUw+Cg== \ No newline at end of file diff --git a/api/tests/integration/tests/formats/ref/BuchwaldHartwig_Rxn2.cdxml b/api/tests/integration/tests/formats/ref/BuchwaldHartwig_Rxn2.cdxml new file mode 100644 index 0000000000..0554ec7782 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/BuchwaldHartwig_Rxn2.cdxml @@ -0,0 +1,726 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NH + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + Br + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NH + + + + + + + + + + + + + + + + + + + + + + + + + + + K + + + + + O + + + + + + + + + + + + + + KOtBu + + + + + + + O + + + + + + + + + K + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + O + + + + + + + S + + + + + O + + + + + O + + + + + + + + + + OMs + + + + + + + + + + + + + + + + + + + + + Cy + + + + + + + + + + + + + + + + + + + + + Cy + + + + + + + O + + + + + + + + + OMe + + + + + + + O + + + + + + + + + OMe + + + + + + + + + + + + + + + + + NH + + + + + Pd + + + + + P + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cy + + + + + + + + + + + + + + + + + + + + + Cy + + + + + + + O + + + + + + + + + OMe + + + + + + + O + + + + + + + + + OMe + + + + + P + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pd + + + + + OH + + + + + OH + + + + + + + Pd( + + + + + + + + + K + + + + + Br + + + + + + K + + + + + + + + + + + + + OH + + + + + + + + + tBuOH + + + + + + + + + K + + + + + O + + + + + + S + + + + + O + + + + + O + + + + + + + + + + KOMs + + + + + 2 equiv + + + KOtBu + + + toluene + + + 120 °C, 4 hrs + + + 0.2 M in limiting + + + 0.05 equiv + + + SPhosPd G3 + + + Buchwald Hartwig Rxn2 + + + 4-(tert-butyl)aniline + + + 769-92-6 + + + 1.1 equiv + + + 1.0 equiv + + + [amine] + + + [aryl electrophile] + + + [desired product] + + + + 4-(tert-butyl)-N-phenylaniline + + + bromobenzene + + + MW 779.26 + + + potassium + + + tert + + + -butoxide + + + SPhosPd G3 + + + 865-47-4 + + + MW 112.21 + + + [catalyst] + + + [base] + + + 108-88-3 + + + Molecular Weight: 92.14 + + + [solvent] + + + 4496-49-5 + + + 108-86-1 + + + [byproducts] + + + Key + + + (2-Dicyclohexylphosphino-2′,6′-dimethoxybiphenyl) [2-(2′-amino-1,1′-biphenyl)]palladium(II) methanesulfonate + + + 1445085-82-4 + + + + + + + + + + diff --git a/api/tests/integration/tests/formats/ref/CarbonylReduction_Rxn1.b64cdx b/api/tests/integration/tests/formats/ref/CarbonylReduction_Rxn1.b64cdx new file mode 100644 index 0000000000..dbfffd0e73 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/CarbonylReduction_Rxn1.b64cdx @@ -0,0 +1 @@ +PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIENEWE1MIFNZU1RFTSAiaHR0cDovL3d3dy5jYW1icmlkZ2Vzb2Z0LmNvbS94bWwvY2R4bWwuZHRkIj4KPENEWE1MIEJvbmRMZW5ndGg9IjMwLjAwMDAwMCIgTGFiZWxGb250PSIzIiBDYXB0aW9uRm9udD0iNCI+CiAgICA8Zm9udHRhYmxlIGlkPSIxIj4KICAgICAgICA8Zm9udCBpZD0iMiIgY2hhcnNldD0idXRmLTgiIG5hbWU9IkFyaWFsIi8+CiAgICAgICAgPGZvbnQgaWQ9IjMiIGNoYXJzZXQ9InV0Zi04IiBuYW1lPSJUaW1lcyBOZXcgUm9tYW4iLz4KICAgIDwvZm9udHRhYmxlPgogICAgPGNvbG9ydGFibGU+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMCIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIxIiBnPSIwIiBiPSIwIi8+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjAiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMSIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIwIiBnPSIxIiBiPSIxIi8+CiAgICAgICAgPGNvbG9yIHI9IjAiIGc9IjAiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMSIgZz0iMCIgYj0iMSIvPgogICAgICAgIDxjb2xvciByPSIwLjUiIGc9IjAuNSIgYj0iMC41Ii8+CiAgICA8L2NvbG9ydGFibGU+CiAgICA8cGFnZSBIZWlnaHRQYWdlcz0iMSIgV2lkdGhQYWdlcz0iMSI+CiAgICAgICAgPGZyYWdtZW50IGlkPSI0Ij4KICAgICAgICAgICAgPG4gaWQ9IjUiIHA9IjIxOC4xODAwMDggNzIuNzMwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSI2IiBwPSIyMzAuNjQ5OTk0IDY1LjUyOTk5OSIvPgogICAgICAgICAgICA8biBpZD0iNyIgcD0iMjQzLjExOTk5NSA3Mi43MzAwMDMiLz4KICAgICAgICAgICAgPG4gaWQ9IjgiIHA9IjIzMC42NDk5OTQgNTEuMTMwMDA1Ii8+CiAgICAgICAgICAgIDxuIGlkPSI5IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjIxOC4xODAwMDggNDMuOTMwMDAwIj4KICAgICAgICAgICAgICAgIDx0IHA9IjIxOC4xODAwMDggNDMuOTMwMDAwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMTAiIEVsZW1lbnQ9IjEiIHA9IjI0My4xMTk5OTUgNDMuOTMwMDAwIj4KICAgICAgICAgICAgICAgIDx0IHA9IjI0My4xMTk5OTUgNDMuOTMwMDAwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+SDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMTEiIHA9IjIwNS43MTAwMDcgNjUuNTI5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMiIgcD0iMTkzLjI0MDAwNSA3Mi43MzAwMDMiLz4KICAgICAgICAgICAgPG4gaWQ9IjEzIiBwPSIxOTMuMjQwMDA1IDg3LjEyMDAwMyIvPgogICAgICAgICAgICA8biBpZD0iMTQiIHA9IjIwNS43MTAwMDcgOTQuMzIwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSIxNSIgcD0iMjE4LjE4MDAwOCA4Ny4xMjAwMDMiLz4KICAgICAgICAgICAgPG4gaWQ9IjE2IiBwPSIyNDMuMTE5OTk1IDg3LjEyMDAwMyIvPgogICAgICAgICAgICA8biBpZD0iMTciIHA9IjI1NS41ODk5OTYgOTQuMzIwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSIxOCIgcD0iMjY4LjA1OTk5OCA4Ny4xMjAwMDMiLz4KICAgICAgICAgICAgPG4gaWQ9IjE5IiBwPSIyNjguMDU5OTk4IDcyLjczMDAwMyIvPgogICAgICAgICAgICA8biBpZD0iMjAiIHA9IjI1NS41ODk5OTYgNjUuNTI5OTk5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxNTAiIEI9IjUiIEU9IjYiLz4KICAgICAgICAgICAgPGIgaWQ9IjE1MSIgQj0iNiIgRT0iNyIvPgogICAgICAgICAgICA8YiBpZD0iMTUyIiBCPSI2IiBFPSI4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxNTMiIEI9IjgiIEU9IjkiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxNTQiIEI9IjgiIEU9IjEwIi8+CiAgICAgICAgICAgIDxiIGlkPSIxNTUiIEI9IjUiIEU9IjExIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMTU2IiBCPSIxMSIgRT0iMTIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE1NyIgQj0iMTIiIEU9IjEzIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMTU4IiBCPSIxMyIgRT0iMTQiLz4KICAgICAgICAgICAgPGIgaWQ9IjE1OSIgQj0iMTQiIEU9IjE1IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMTYwIiBCPSIxNSIgRT0iNSIvPgogICAgICAgICAgICA8YiBpZD0iMTYxIiBCPSI3IiBFPSIxNiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE2MiIgQj0iMTYiIEU9IjE3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxNjMiIEI9IjE3IiBFPSIxOCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE2NCIgQj0iMTgiIEU9IjE5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxNjUiIEI9IjE5IiBFPSIyMCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE2NiIgQj0iMjAiIEU9IjciLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iMjEiPgogICAgICAgICAgICA8biBpZD0iMjIiIHA9IjQyNS41MTAwMTAgNzAuNDgwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSIyMyIgcD0iNDM3Ljk4MDAxMSA2My4yNzk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9IjI0IiBwPSI0NTAuNDUwMDEyIDcwLjQ4MDAwMyIvPgogICAgICAgICAgICA8biBpZD0iMjUiIHA9IjQzNy45ODAwMTEgNDguODgwMDA1Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyNiIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIxIiBwPSI0MjUuNTEwMDEwIDQxLjY4MDAwMCI+CiAgICAgICAgICAgICAgICA8dCBwPSI0MjUuNTEwMDEwIDQxLjY4MDAwMCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk9IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIyNyIgcD0iNDEzLjA0MDAwOSA2My4yNzk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9IjI4IiBwPSI0MDAuNTcwMDA3IDcwLjQ4MDAwMyIvPgogICAgICAgICAgICA8biBpZD0iMjkiIHA9IjQwMC41NzAwMDcgODQuODcwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSIzMCIgcD0iNDEzLjA0MDAwOSA5Mi4wNzAwMDAiLz4KICAgICAgICAgICAgPG4gaWQ9IjMxIiBwPSI0MjUuNTEwMDEwIDg0Ljg3MDAwMyIvPgogICAgICAgICAgICA8biBpZD0iMzIiIHA9IjQ1MC40NTAwMTIgODQuODcwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSIzMyIgcD0iNDYyLjkyMDAxMyA5Mi4wNzAwMDAiLz4KICAgICAgICAgICAgPG4gaWQ9IjM0IiBwPSI0NzUuMzkwMDE1IDg0Ljg3MDAwMyIvPgogICAgICAgICAgICA8biBpZD0iMzUiIHA9IjQ3NS4zOTAwMTUgNzAuNDgwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSIzNiIgcD0iNDYyLjkyMDAxMyA2My4yNzk5OTkiLz4KICAgICAgICAgICAgPGIgaWQ9IjE2NyIgQj0iMjIiIEU9IjIzIi8+CiAgICAgICAgICAgIDxiIGlkPSIxNjgiIEI9IjIzIiBFPSIyNCIvPgogICAgICAgICAgICA8YiBpZD0iMTY5IiBCPSIyMyIgRT0iMjUiLz4KICAgICAgICAgICAgPGIgaWQ9IjE3MCIgQj0iMjUiIEU9IjI2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxNzEiIEI9IjIyIiBFPSIyNyIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE3MiIgQj0iMjciIEU9IjI4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxNzMiIEI9IjI4IiBFPSIyOSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE3NCIgQj0iMjkiIEU9IjMwIi8+CiAgICAgICAgICAgIDxiIGlkPSIxNzUiIEI9IjMwIiBFPSIzMSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE3NiIgQj0iMzEiIEU9IjIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxNzciIEI9IjI0IiBFPSIzMiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE3OCIgQj0iMzIiIEU9IjMzIi8+CiAgICAgICAgICAgIDxiIGlkPSIxNzkiIEI9IjMzIiBFPSIzNCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE4MCIgQj0iMzQiIEU9IjM1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxODEiIEI9IjM1IiBFPSIzNiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE4MiIgQj0iMzYiIEU9IjI0Ii8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjM3Ij4KICAgICAgICAgICAgPG4gaWQ9IjE4NiIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iMTg3Ij4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMzgiIEVsZW1lbnQ9IjUiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMzE3LjI5MDAwOSAzMDUuNTg5OTk2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMzE3LjI5MDAwOSAzMDUuNTg5OTk2IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5CPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIzOSIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIxIiBwPSIzMDQuODYwMDE2IDMxMi43NTk5NzkiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIzMDQuODYwMDE2IDMxMi43NTk5NzkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk9IPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI0MCIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIxIiBwPSIzMjkuNzIwMDAxIDMxMi43NTk5NzkiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIzMjkuNzIwMDAxIDMxMi43NTk5NzkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk9IPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI0MSIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIxIiBwPSIzMTcuMjkwMDA5IDI5MS4yMzk5OTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIzMTcuMjkwMDA5IDI5MS4yMzk5OTAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk9IPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIxODMiIEI9IjM4IiBFPSIzOSIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIxODQiIEI9IjM4IiBFPSI0MCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIxODUiIEI9IjM4IiBFPSI0MSIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5CKDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI0MiI+CiAgICAgICAgICAgIDxuIGlkPSIxODkiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjE5MCI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjQzIiBFbGVtZW50PSIxMSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIzMTIuNTE5OTg5IDMyMS41MDAwMDAiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIzMTIuNTE5OTg5IDMyMS41MDAwMDAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk5hPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI0NCIgRWxlbWVudD0iMTciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMzI2Ljg2OTk5NSAzMjEuNTAwMDAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMzI2Ljg2OTk5NSAzMjEuNTAwMDAwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5DbDwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMTg4IiBCPSI0MyIgRT0iNDQiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+TmE8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNDUiPgogICAgICAgICAgICA8biBpZD0iMTkxIiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSIxOTIiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI0NiIgRWxlbWVudD0iMTEiIE51bUh5ZHJvZ2Vucz0iMSIgcD0iNzEuNjMwMDA1IDI5MS40NDk5ODIiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSI3MS42MzAwMDUgMjkxLjQ0OTk4MiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+TmFIPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI0NyIgRWxlbWVudD0iNSIgTnVtSHlkcm9nZW5zPSIzIiBwPSI4NS45ODAwMDMgMjkxLjQ0OTk4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9Ijg1Ljk4MDAwMyAyOTEuNDQ5OTgyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5CSDwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSIzMiI+Mzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+TmFCSDQ8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNDgiPgogICAgICAgICAgICA8biBpZD0iNDkiIHA9IjE1MC41NTAwMDMgMzUyLjY0OTk5NCIvPgogICAgICAgICAgICA8biBpZD0iNTAiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMSIgcD0iMTYzLjAyMDAwNCAzNDUuNDQ5OTgyIj4KICAgICAgICAgICAgICAgIDx0IHA9IjE2My4wMjAwMDQgMzQ1LjQ0OTk4MiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk9IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxiIGlkPSIxOTMiIEI9IjQ5IiBFPSI1MCIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI1MSI+CiAgICAgICAgICAgIDxuIGlkPSI1MiIgRWxlbWVudD0iNSIgQ2hhcmdlPSItMSIgTnVtSHlkcm9nZW5zPSIwIiBwPSI4NC40NzAwMDEgMzU3LjUwOTk3OSI+CiAgICAgICAgICAgICAgICA8dCBwPSI4NC40NzAwMDEgMzU3LjUwOTk3OSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkI8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjUzIiBFbGVtZW50PSIxIiBwPSI4NC40NzAwMDEgMzQzLjE2MDAwNCI+CiAgICAgICAgICAgICAgICA8dCBwPSI4NC40NzAwMDEgMzQzLjE2MDAwNCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkg8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjU0IiBFbGVtZW50PSIxIiBwPSI3MC4xMjAwMDMgMzU3LjUwOTk3OSI+CiAgICAgICAgICAgICAgICA8dCBwPSI3MC4xMjAwMDMgMzU3LjUwOTk3OSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkg8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjU1IiBFbGVtZW50PSIxIiBwPSI4NC40NzAwMDEgMzcxLjg1OTk4NSI+CiAgICAgICAgICAgICAgICA8dCBwPSI4NC40NzAwMDEgMzcxLjg1OTk4NSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkg8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjU2IiBFbGVtZW50PSIxIiBwPSI5OC44MjAwMDAgMzU3LjUwOTk3OSI+CiAgICAgICAgICAgICAgICA8dCBwPSI5OC44MjAwMDAgMzU3LjUwOTk3OSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkg8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjU3IiBFbGVtZW50PSIxMSIgQ2hhcmdlPSIxIiBOdW1IeWRyb2dlbnM9IjAiIHA9IjYyLjA3OTk5OCAzNDQuNDI5OTkzIj4KICAgICAgICAgICAgICAgIDx0IHA9IjYyLjA3OTk5OCAzNDQuNDI5OTkzIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+TmE8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPGIgaWQ9IjE5NCIgQj0iNTIiIEU9IjUzIi8+CiAgICAgICAgICAgIDxiIGlkPSIxOTUiIEI9IjUyIiBFPSI1NCIvPgogICAgICAgICAgICA8YiBpZD0iMTk2IiBCPSI1MiIgRT0iNTUiLz4KICAgICAgICAgICAgPGIgaWQ9IjE5NyIgQj0iNTIiIEU9IjU2Ii8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjU4Ij4KICAgICAgICAgICAgPG4gaWQ9IjE5OSIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iMjAwIj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNTkiIHA9IjE1LjY2MDAwMSAxMTEuODYwMDA4Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjYwIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjMwLjAxMDAwMiAxMTEuODYwMDA4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMzAuMDEwMDAyIDExMS44NjAwMDgiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk9IPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIxOTgiIEI9IjU5IiBFPSI2MCIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5NZU9IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjYxIj4KICAgICAgICAgICAgPG4gaWQ9IjYyIiBwPSIyMzguMTMwMDA1IDM1Mi42NDk5OTQiLz4KICAgICAgICAgICAgPG4gaWQ9IjYzIiBFbGVtZW50PSIxNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyNTAuNjAwMDA2IDM0NS40NDk5ODIiPgogICAgICAgICAgICAgICAgPHQgcD0iMjUwLjYwMDAwNiAzNDUuNDQ5OTgyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Q2w8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjY0IiBFbGVtZW50PSIxNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyMjUuNjQ5OTk0IDM0NS40NDk5ODIiPgogICAgICAgICAgICAgICAgPHQgcD0iMjI1LjY0OTk5NCAzNDUuNDQ5OTgyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Q2w8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPGIgaWQ9IjIwMSIgQj0iNjIiIEU9IjYzIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMDIiIEI9IjYyIiBFPSI2NCIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI2NSI+CiAgICAgICAgICAgIDxuIGlkPSIyMDUiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjIwNiI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjY2IiBFbGVtZW50PSIxIiBJc290b3BlPSIyIiBwPSIyMTcuODM5OTk2IDI5NS4xNDk5OTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIyMTcuODM5OTk2IDI5NS4xNDk5OTQiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkg8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjY3IiBwPSIyMzAuMjcwMDA0IDI4Ny45NzAwMDEiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMjA3IiBOb2RlVHlwZT0iRXh0ZXJuYWxDb25uZWN0aW9uUG9pbnQiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjA0IiBCPSI2NiIgRT0iNjciLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjA5IiBCPSIyMDciIEU9IjY3Ii8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPkRDTTwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNjgiIE5vZGVUeXBlPSJHZW5lcmljTmlja25hbWUiIEdlbmVyaWNOaWNrbmFtZT0iTSIgcD0iMjQyLjcwMDAxMiAyOTUuMTQ5OTk0Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjI0Mi43MDAwMTIgMjk1LjE0OTk5NCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk08L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPGIgaWQ9IjIwOCIgQj0iNjgiIEU9IjIwNSIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPHQgaWQ9IjY5IiBwPSIzMzUuNjQ1MDIwIDEyMS4xMDUwMTEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjAuMiBNIGluIGxpbWl0aW5nPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iNzIiIHA9IjMzNS42NDUwMjAgMTAzLjY4NTAwNSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+ci50Ljwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9Ijc1IiBwPSIxMDMuMjM5OTk4IDcuNTA5OTk5IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjE2IiBmYWNlPSIyIj5DYXJib255bCBSZWR1Y3Rpb24gUnhuMTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9Ijc4IiBwPSIyMzAuNjUwMDA5IDEwOC4xMDAwMDYiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+MiwyLWRpcGhlbnlsYWNldGFsZGVoeWRlPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iODEiIHA9IjIzMC42Mzk5OTkgMTIwLjQ3NDk5OCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj45NDctOTEtMTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9Ijg0IiBwPSI4Mi43NjAwMDIgMzI1LjY3MDAxMyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj4xNjk0MC02Ni0yPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iODciIHA9IjIzMC42NTAwMDkgMTU4LjY2OTk4MyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+MS4wIGVxdWl2PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iOTAiIHA9IjgwLjI2NTAwNyA0MDQuMTE5OTk1IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bcmVkdWNpbmcgYWdlbnRdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iOTMiIHA9IjIzMC42NDUwMDQgMTc1LjEyNDk4NSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2NhcmJvbnlsXTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9Ijk2IiBwPSI0MzcuOTc5OTgwIDE3NS4xODQ5ODIiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltkZXNpcmVkIHByb2R1Y3RdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iOTkiIHA9IjM0MC40NzAwMDEgMjczLjg2OTk5NSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2J5cHJvZHVjdHNdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTAyIiBwPSIxOS4xODUwMDEgMjgxLjg2OTk5NSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMSI+S2V5PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8Z3JhcGhpYyBpZD0iMTA1IiBCb3VuZGluZ0JveD0iMC44MDAwMDAgNDg5LjM5OTk5NCAyOTguNTAwMDAwIDI2OC4xMDAwMDYiIEdyYXBoaWNUeXBlPSJSZWN0YW5nbGUiLz4KICAgICAgICA8dCBpZD0iMTA4IiBwPSI4Mi43NjAwMTAgMzA5LjQ4MDAxMSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj5zb2RpdW0gYm9yb2h5ZHJpZGU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMTEiIHA9IjQzNy45Nzk5ODAgMTA4LjEwMDAwNiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj4yLDItZGlwaGVueWxldGhhbi0xLW9sPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTE0IiBwPSI0MzcuOTg1MDE2IDEyMC40Njk5OTQiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+MTg4My0zMi01PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTE3IiBwPSI4My4yNjAwMDIgMzg3LjQ3MDAwMSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj5NVyAzNy44Mzwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEyMCIgcD0iMTYxLjg2NTAwNSAzMDguNTg1MDIyIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPm1ldGhhbm9sPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTIzIiBwPSIxNjEuODY1MDA1IDMyNS42NzAwMTMiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+NjctNTYtMTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEyNiIgcD0iMTYxLjg2NTAwNSAzODUuNTY0OTcyIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bc29sdmVudF08L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMjkiIHA9IjE2MS44NjUwMDUgMzY3LjgxOTk3NyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj5NVyAzMi4wNDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEzMiIgcD0iMjM2Ljc3NDk5NCAzMDguNTg1MDIyIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPmRpY2hsb3JvbWV0aGFuZTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEzNSIgcD0iMjM2Ljc2OTk4OSAzMjUuNjcwMDEzIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjc1LTA5LTI8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMzgiIHA9IjIzNi43NzQ5OTQgMzg1LjU2NDk3MiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W3NvbHZlbnRdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTQxIiBwPSIyMzYuNzY5OTg5IDM2Ny44MTk5NzciIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+TVcgODQuOTM8L3M+CiAgICAgICAgPC90PgogICAgICAgIDxhcnJvdyBpZD0iMTQ0IiBCb3VuZGluZ0JveD0iMzYzLjQ3MDAwMSA0MDAuMTQ5OTk0IDM2My40NzAwMDEgMzAxLjg5OTk5NCIgRmlsbFR5cGU9Ik5vbmUiIEFycm93aGVhZFR5cGU9IlNvbGlkIiBIZWFkU2l6ZT0iMjI1MCIgQXJyb3doZWFkV2lkdGg9IjU2MyIgQXJyb3doZWFkSGVhZD0iRnVsbCIgQXJyb3doZWFkQ2VudGVyU2l6ZT0iMjUiIEhlYWQzRD0iMzYzLjQ3MDAwMSA0MDAuMTQ5OTk0IDAuMDAwMDAwIiBUYWlsM0Q9IjM2My40NzAwMDEgMzAxLjg5OTk5NCAwLjAwMDAwMCIvPgogICAgICAgIDxhcnJvdyBpZD0iMTQ3IiBCb3VuZGluZ0JveD0iMzgxLjQ4MDAxMSA3OC4xNTAwMDIgMjg5LjgwOTk5OCA3OC4xNTAwMDIiIEZpbGxUeXBlPSJOb25lIiBBcnJvd2hlYWRUeXBlPSJTb2xpZCIgSGVhZFNpemU9IjIyNTAiIEFycm93aGVhZFdpZHRoPSI1NjMiIEFycm93aGVhZEhlYWQ9IkZ1bGwiIEFycm93aGVhZENlbnRlclNpemU9IjI1IiBIZWFkM0Q9IjM4MS40ODAwMTEgNzguMTUwMDAyIDAuMDAwMDAwIiBUYWlsM0Q9IjI4OS44MDk5OTggNzguMTUwMDAyIDAuMDAwMDAwIi8+CiAgICAgICAgPHNjaGVtZT4KICAgICAgICAgICAgPHN0ZXAgUmVhY3Rpb25TdGVwQXJyb3dzPSIxNDQiLz4KICAgICAgICAgICAgPHN0ZXAgUmVhY3Rpb25TdGVwQXJyb3dzPSIxNDciLz4KICAgICAgICA8L3NjaGVtZT4KICAgIDwvcGFnZT4KPC9DRFhNTD4K \ No newline at end of file diff --git a/api/tests/integration/tests/formats/ref/CarbonylReduction_Rxn1.cdxml b/api/tests/integration/tests/formats/ref/CarbonylReduction_Rxn1.cdxml new file mode 100644 index 0000000000..69004f13ab --- /dev/null +++ b/api/tests/integration/tests/formats/ref/CarbonylReduction_Rxn1.cdxml @@ -0,0 +1,352 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + O + + + + + H + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + B + + + + + OH + + + + + OH + + + + + OH + + + + + + + + B( + + + + + + + + + Na + + + + + Cl + + + + + + Na + + + + + + + + + NaH + + + + + BH + 3 + + + + + NaBH4 + + + + + + + + OH + + + + + + + + B + + + + + H + + + + + H + + + + + H + + + + + H + + + + + Na + + + + + + + + + + + + + + OH + + + + + + MeOH + + + + + + + + Cl + + + + + Cl + + + + + + + + + + + H + + + + + + + + + DCM + + + + + M + + + + + + 0.2 M in limiting + + + r.t. + + + Carbonyl Reduction Rxn1 + + + 2,2-diphenylacetaldehyde + + + 947-91-1 + + + 16940-66-2 + + + 1.0 equiv + + + [reducing agent] + + + [carbonyl] + + + [desired product] + + + [byproducts] + + + Key + + + + sodium borohydride + + + 2,2-diphenylethan-1-ol + + + 1883-32-5 + + + MW 37.83 + + + methanol + + + 67-56-1 + + + [solvent] + + + MW 32.04 + + + dichloromethane + + + 75-09-2 + + + [solvent] + + + MW 84.93 + + + + + + + + + diff --git a/api/tests/integration/tests/formats/ref/CarbonylReduction_Rxn2.b64cdx b/api/tests/integration/tests/formats/ref/CarbonylReduction_Rxn2.b64cdx new file mode 100644 index 0000000000..1d04ea0173 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/CarbonylReduction_Rxn2.b64cdx @@ -0,0 +1 @@ +PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIENEWE1MIFNZU1RFTSAiaHR0cDovL3d3dy5jYW1icmlkZ2Vzb2Z0LmNvbS94bWwvY2R4bWwuZHRkIj4KPENEWE1MIEJvbmRMZW5ndGg9IjMwLjAwMDAwMCIgTGFiZWxGb250PSIzIiBDYXB0aW9uRm9udD0iNCI+CiAgICA8Zm9udHRhYmxlIGlkPSIxIj4KICAgICAgICA8Zm9udCBpZD0iMiIgY2hhcnNldD0idXRmLTgiIG5hbWU9IkFyaWFsIi8+CiAgICAgICAgPGZvbnQgaWQ9IjMiIGNoYXJzZXQ9InV0Zi04IiBuYW1lPSJUaW1lcyBOZXcgUm9tYW4iLz4KICAgIDwvZm9udHRhYmxlPgogICAgPGNvbG9ydGFibGU+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMCIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIxIiBnPSIwIiBiPSIwIi8+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjAiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMSIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIwIiBnPSIxIiBiPSIxIi8+CiAgICAgICAgPGNvbG9yIHI9IjAiIGc9IjAiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMSIgZz0iMCIgYj0iMSIvPgogICAgICAgIDxjb2xvciByPSIwLjUiIGc9IjAuNSIgYj0iMC41Ii8+CiAgICA8L2NvbG9ydGFibGU+CiAgICA8cGFnZSBIZWlnaHRQYWdlcz0iMSIgV2lkdGhQYWdlcz0iMSI+CiAgICAgICAgPGZyYWdtZW50IGlkPSI0Ij4KICAgICAgICAgICAgPG4gaWQ9IjUiIHA9IjIwNi4yNzk5OTkgNTQuMDI5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSI2IiBwPSIyMDYuMjc5OTk5IDY4LjQzMDAwMCIvPgogICAgICAgICAgICA8biBpZD0iNyIgcD0iMjE4Ljc1MDAwMCA3NS42MzAwMDUiLz4KICAgICAgICAgICAgPG4gaWQ9IjgiIHA9IjIzMS4yMjAwMDEgNjguNDMwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSI5IiBwPSIyMzEuMjIwMDAxIDU0LjAyOTk5OSIvPgogICAgICAgICAgICA8biBpZD0iMTAiIHA9IjIxOC43NTAwMDAgNDYuODMwMDAyIi8+CiAgICAgICAgICAgIDxuIGlkPSIxMSIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxOTMuODA5OTk4IDc1LjYzMDAwNSI+CiAgICAgICAgICAgICAgICA8dCBwPSIxOTMuODA5OTk4IDc1LjYzMDAwNSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk48L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjEyIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjI1Ni4xNjAwMDQgNTQuMDI5OTk5Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjI1Ni4xNjAwMDQgNTQuMDI5OTk5IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMTMiIHA9IjI0My42OTAwMDIgNDYuODMwMDAyIi8+CiAgICAgICAgICAgIDxuIGlkPSIxNCIgcD0iMTgwLjY0OTk5NCA2OS43NzAwMDQiLz4KICAgICAgICAgICAgPG4gaWQ9IjE1IiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjE3MS4wMjAwMDQgODAuNDcwMDAxIj4KICAgICAgICAgICAgICAgIDx0IHA9IjE3MS4wMjAwMDQgODAuNDcwMDAxIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMTYiIHA9IjE3OC4yMjAwMDEgOTIuOTUwMDA1Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxNyIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxOTIuMzAwMDAzIDg5Ljk1MDAwNSI+CiAgICAgICAgICAgICAgICA8dCBwPSIxOTIuMzAwMDAzIDg5Ljk1MDAwNSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk48L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPGIgaWQ9IjEzMCIgQj0iNSIgRT0iNiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjEzMSIgQj0iNiIgRT0iNyIvPgogICAgICAgICAgICA8YiBpZD0iMTMyIiBCPSI3IiBFPSI4IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMTMzIiBCPSI4IiBFPSI5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxMzQiIEI9IjkiIEU9IjEwIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMTM1IiBCPSIxMCIgRT0iNSIvPgogICAgICAgICAgICA8YiBpZD0iMTM2IiBCPSI2IiBFPSIxMSIvPgogICAgICAgICAgICA8YiBpZD0iMTM3IiBCPSIxMyIgRT0iMTIiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxMzgiIEI9IjkiIEU9IjEzIi8+CiAgICAgICAgICAgIDxiIGlkPSIxMzkiIEI9IjExIiBFPSIxNCIvPgogICAgICAgICAgICA8YiBpZD0iMTQwIiBCPSIxNCIgRT0iMTUiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxNDEiIEI9IjE1IiBFPSIxNiIvPgogICAgICAgICAgICA8YiBpZD0iMTQyIiBCPSIxNiIgRT0iMTciIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxNDMiIEI9IjE3IiBFPSIxMSIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSIxOCI+CiAgICAgICAgICAgIDxuIGlkPSIxOSIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIxIiBwPSI1MTcuNDg5OTkwIDUzLjU1MDAwMyI+CiAgICAgICAgICAgICAgICA8dCBwPSI1MTcuNDg5OTkwIDUzLjU1MDAwMyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk9IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIyMCIgcD0iNTA1LjAwOTk3OSA0Ni4zNDk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjIxIiBwPSI0OTIuNTQwMDM5IDUzLjU1MDAwMyIvPgogICAgICAgICAgICA8biBpZD0iMjIiIHA9IjQ5Mi41NDAwMzkgNjcuOTUwMDA1Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyMyIgcD0iNDgwLjA2OTk3NyA3NS4xNTAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjI0IiBwPSI0NjcuNjAwMDA2IDY3Ljk1MDAwNSIvPgogICAgICAgICAgICA8biBpZD0iMjUiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNDU1LjEzMDAwNSA3NS4xNTAwMDIiPgogICAgICAgICAgICAgICAgPHQgcD0iNDU1LjEzMDAwNSA3NS4xNTAwMDIiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIyNiIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSI0NTMuNjMwMDA1IDg5LjQ3MDAwMSI+CiAgICAgICAgICAgICAgICA8dCBwPSI0NTMuNjMwMDA1IDg5LjQ3MDAwMSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk48L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjI3IiBwPSI0MzkuNTQwMDA5IDkyLjQ1OTk5OSIvPgogICAgICAgICAgICA8biBpZD0iMjgiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNDMyLjMzOTk5NiA3OS45ODk5OTgiPgogICAgICAgICAgICAgICAgPHQgcD0iNDMyLjMzOTk5NiA3OS45ODk5OTgiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIyOSIgcD0iNDQxLjk4MDAxMSA2OS4yOTAwMDEiLz4KICAgICAgICAgICAgPG4gaWQ9IjMwIiBwPSI0NjcuNjAwMDA2IDUzLjU1MDAwMyIvPgogICAgICAgICAgICA8biBpZD0iMzEiIHA9IjQ4MC4wNjk5NzcgNDYuMzQ5OTk4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxNDQiIEI9IjE5IiBFPSIyMCIvPgogICAgICAgICAgICA8YiBpZD0iMTQ1IiBCPSIyMCIgRT0iMjEiLz4KICAgICAgICAgICAgPGIgaWQ9IjE0NiIgQj0iMjEiIEU9IjIyIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMTQ3IiBCPSIyMiIgRT0iMjMiLz4KICAgICAgICAgICAgPGIgaWQ9IjE0OCIgQj0iMjMiIEU9IjI0IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMTQ5IiBCPSIyNCIgRT0iMjUiLz4KICAgICAgICAgICAgPGIgaWQ9IjE1MCIgQj0iMjUiIEU9IjI2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxNTEiIEI9IjI2IiBFPSIyNyIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE1MiIgQj0iMjciIEU9IjI4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxNTMiIEI9IjI4IiBFPSIyOSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE1NCIgQj0iMjUiIEU9IjI5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxNTUiIEI9IjI0IiBFPSIzMCIvPgogICAgICAgICAgICA8YiBpZD0iMTU2IiBCPSIzMCIgRT0iMzEiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxNTciIEI9IjIxIiBFPSIzMSIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSIzMiI+CiAgICAgICAgICAgIDxuIGlkPSIxNTgiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjE1OSI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjMzIiBFbGVtZW50PSIxMSIgTnVtSHlkcm9nZW5zPSIxIiBwPSI3MS42MzAwMDUgMjk0Ljk0OTk4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjcxLjYzMDAwNSAyOTQuOTQ5OTgyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OYUg8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjM0IiBFbGVtZW50PSI1IiBOdW1IeWRyb2dlbnM9IjMiIHA9Ijg1Ljk4MDAwMyAyOTQuOTQ5OTgyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iODUuOTgwMDAzIDI5NC45NDk5ODIiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkJIPC9zPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9IjMyIj4zPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5OYUJINDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSIzNSI+CiAgICAgICAgICAgIDxuIGlkPSIzNiIgcD0iMTYwLjI3MDAwNCAzNTYuMTQ5OTk0Ii8+CiAgICAgICAgICAgIDxuIGlkPSIzNyIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIxIiBwPSIxNzIuNzQwMDA1IDM0OC45NDk5ODIiPgogICAgICAgICAgICAgICAgPHQgcD0iMTcyLjc0MDAwNSAzNDguOTQ5OTgyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+T0g8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjM4IiBwPSIxNDcuODAwMDAzIDM0OC45NDk5ODIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE2MCIgQj0iMzYiIEU9IjM3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxNjEiIEI9IjM2IiBFPSIzOCIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSIzOSI+CiAgICAgICAgICAgIDxuIGlkPSI0MCIgRWxlbWVudD0iNSIgQ2hhcmdlPSItMSIgTnVtSHlkcm9nZW5zPSIwIiBwPSI4NC40NzAwMDEgMzYxLjAwOTk3OSI+CiAgICAgICAgICAgICAgICA8dCBwPSI4NC40NzAwMDEgMzYxLjAwOTk3OSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkI8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjQxIiBFbGVtZW50PSIxIiBwPSI4NC40NzAwMDEgMzQ2LjY2MDAwNCI+CiAgICAgICAgICAgICAgICA8dCBwPSI4NC40NzAwMDEgMzQ2LjY2MDAwNCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkg8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjQyIiBFbGVtZW50PSIxIiBwPSI3MC4xMjAwMDMgMzYxLjAwOTk3OSI+CiAgICAgICAgICAgICAgICA8dCBwPSI3MC4xMjAwMDMgMzYxLjAwOTk3OSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkg8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjQzIiBFbGVtZW50PSIxIiBwPSI4NC40NzAwMDEgMzc1LjM1OTk4NSI+CiAgICAgICAgICAgICAgICA8dCBwPSI4NC40NzAwMDEgMzc1LjM1OTk4NSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkg8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjQ0IiBFbGVtZW50PSIxIiBwPSI5OC44MjAwMDAgMzYxLjAwOTk3OSI+CiAgICAgICAgICAgICAgICA8dCBwPSI5OC44MjAwMDAgMzYxLjAwOTk3OSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkg8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjQ1IiBFbGVtZW50PSIxMSIgQ2hhcmdlPSIxIiBOdW1IeWRyb2dlbnM9IjAiIHA9IjYyLjA3OTk5OCAzNDcuOTI5OTkzIj4KICAgICAgICAgICAgICAgIDx0IHA9IjYyLjA3OTk5OCAzNDcuOTI5OTkzIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+TmE8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPGIgaWQ9IjE2MiIgQj0iNDAiIEU9IjQxIi8+CiAgICAgICAgICAgIDxiIGlkPSIxNjMiIEI9IjQwIiBFPSI0MiIvPgogICAgICAgICAgICA8YiBpZD0iMTY0IiBCPSI0MCIgRT0iNDMiLz4KICAgICAgICAgICAgPGIgaWQ9IjE2NSIgQj0iNDAiIEU9IjQ0Ii8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjQ2Ij4KICAgICAgICAgICAgPG4gaWQ9IjE2OCIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iMTY5Ij4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNDciIHA9Ii0zLjkzMDAwMCAxMjguODQ5OTkxIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjQ4IiBwPSI4LjUwMDAwMCAxMjEuNjgwMDA4Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjQ5IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjIwLjkyOTk5OCAxMjguODQ5OTkxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMjAuOTI5OTk4IDEyOC44NDk5OTEiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk9IPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIxNjYiIEI9IjQ4IiBFPSI0OSIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIxNjciIEI9IjQ3IiBFPSI0OCIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5FdE9IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjUwIj4KICAgICAgICAgICAgPG4gaWQ9IjE3MyIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iMTc0Ij4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNTEiIEVsZW1lbnQ9IjUiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjUyLjc5MDAwOSAzMTEuNTg5OTk2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMjUyLjc5MDAwOSAzMTEuNTg5OTk2IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5CPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI1MiIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIxIiBwPSIyNDAuMzYwMDAxIDMxOC43NTk5NzkiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIyNDAuMzYwMDAxIDMxOC43NTk5NzkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk9IPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI1MyIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIxIiBwPSIyNjUuMjIwMDAxIDMxOC43NTk5NzkiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIyNjUuMjIwMDAxIDMxOC43NTk5NzkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk9IPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI1NCIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIxIiBwPSIyNTIuNzkwMDA5IDI5Ny4yMzk5OTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIyNTIuNzkwMDA5IDI5Ny4yMzk5OTAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk9IPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIxNzAiIEI9IjUxIiBFPSI1MiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIxNzEiIEI9IjUxIiBFPSI1MyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIxNzIiIEI9IjUxIiBFPSI1NCIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5CKDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI1NSI+CiAgICAgICAgICAgIDxuIGlkPSIxNzYiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjE3NyI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjU2IiBFbGVtZW50PSIxMSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyNDguMDE5OTg5IDMyNy41MDAwMDAiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIyNDguMDE5OTg5IDMyNy41MDAwMDAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk5hPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI1NyIgRWxlbWVudD0iMTciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjYyLjM2OTk5NSAzMjcuNTAwMDAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMjYyLjM2OTk5NSAzMjcuNTAwMDAwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5DbDwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMTc1IiBCPSI1NiIgRT0iNTciLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+TmE8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDx0IGlkPSI1OCIgcD0iMzM4LjMzNTAyMiA4Ny4xMjk5OTciIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPmV0aGFub2w8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI2MSIgcD0iMzQwLjE0OTk5NCAxMTguNjA1MDExIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4wLjIgTSBpbiBsaW1pdGluZzwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjY0IiBwPSIzNDAuMTQ1MDIwIDEwMS4xODUwMDUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPnIudC48L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI2NyIgcD0iOTkuOTAwMDAyIDcuNTA5OTk5IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjE2IiBmYWNlPSIyIj5DYXJib255bCBSZWR1Y3Rpb24gUnhuMjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjcwIiBwPSI0NzguNjQ1MDIwIDExOC4zNTAwMDYiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+Mjc5OTYtODYtNzwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjczIiBwPSI4MC4yNjUwMDcgNDA3LjYxOTk5NSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W3JlZHVjaW5nIGFnZW50XTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9Ijc2IiBwPSI0NzguNjQ5OTk0IDE2NC41NjUwMDIiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltkZXNpcmVkIHByb2R1Y3RdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iNzkiIHA9IjIxMy41NTk5OTggMTUxLjc5OTk4OCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+MS4wIGVxdWl2PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iODIiIHA9IjIxMy41NjUwMDIgMTY0LjYxOTk5NSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2NhcmJvbnlsXTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9Ijg1IiBwPSIxNjUuMzQ1MDAxIDMxMi4wODQ5OTEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+ZXRoYW5vbDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9Ijg4IiBwPSIxNjUuMzQ5OTkxIDMyOS4xNzAwMTMiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+NjQtMTctNTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjkxIiBwPSIxNjUuMzQ1MDE2IDM4OS4wNjUwMDIiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltzb2x2ZW50XTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9Ijk0IiBwPSIxNjUuMzUwMDA2IDM3MS4zMTk5NzciIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+TVcgNDYuMDc8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI5NyIgcD0iMjEzLjU1NTAwOCAxMDQuODYwMDAxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPjQtKDE8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI5NyIgcD0iMjEzLjU1NTAwOCAxMDQuODYwMDAxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjMiPkg8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI5NyIgcD0iMjEzLjU1NTAwOCAxMDQuODYwMDAxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjMiPi0xLDIsNC10cmlhem9sLTEteWwpYmVuemFsZGVoeWRlPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTAwIiBwPSIyMTMuNTU0OTkzIDExOC4zNTAwMDYiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+MTQzNDI2LTUwLTA8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMDMiIHA9IjE5LjE4NTAwMSAyODUuMzY5OTk1IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIxIj5LZXk8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMDYiIHA9IjgyLjc2MDAwMiAzMjkuMTcwMDEzIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjE2OTQwLTY2LTI8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMDkiIHA9IjgyLjc2MDAwMiAzMTIuOTc1MDA2IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPnNvZGl1bSBib3JvaHlkcmlkZTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjExMiIgcD0iODMuMjYwMDAyIDM5MC45NTk5OTEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+TVcgMzcuODM8L3M+CiAgICAgICAgPC90PgogICAgICAgIDxncmFwaGljIGlkPSIxMTUiIEJvdW5kaW5nQm94PSIwLjc5OTk5OSA0OTIuOTAwMDI0IDIzNC4zODAwMDUgMjcxLjYwMDAwNiIgR3JhcGhpY1R5cGU9IlJlY3RhbmdsZSIvPgogICAgICAgIDx0IGlkPSIxMTgiIHA9IjI3NS45NzAwMDEgMjc5Ljg3MDAyNiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2J5cHJvZHVjdHNdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTIxIiBwPSI0NzguNjQ0OTU4IDEwNC43Njk5OTciIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+KDQtKDE8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMjEiIHA9IjQ3OC42NDQ5NTggMTA0Ljc2OTk5NyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIzIj5IPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTIxIiBwPSI0NzguNjQ0OTU4IDEwNC43Njk5OTciIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+LTEsMiw0LXRyaWF6b2wtMS15bClwaGVueWwpbWV0aGFub2w8L3M+CiAgICAgICAgPC90PgogICAgICAgIDxhcnJvdyBpZD0iMTI0IiBCb3VuZGluZ0JveD0iMjk4Ljk3MDAwMSA0MDYuMTQ5OTk0IDI5OC45NzAwMDEgMzA3Ljg5OTk5NCIgRmlsbFR5cGU9Ik5vbmUiIEFycm93aGVhZFR5cGU9IlNvbGlkIiBIZWFkU2l6ZT0iMjI1MCIgQXJyb3doZWFkV2lkdGg9IjU2MyIgQXJyb3doZWFkSGVhZD0iRnVsbCIgQXJyb3doZWFkQ2VudGVyU2l6ZT0iMjUiIEhlYWQzRD0iMjk4Ljk3MDAwMSA0MDYuMTQ5OTk0IDAuMDAwMDAwIiBUYWlsM0Q9IjI5OC45NzAwMDEgMzA3Ljg5OTk5NCAwLjAwMDAwMCIvPgogICAgICAgIDxhcnJvdyBpZD0iMTI3IiBCb3VuZGluZ0JveD0iMzg1Ljk4MDAxMSA3NS42NTAwMDIgMjk0LjMwOTk5OCA3NS42NTAwMDIiIEZpbGxUeXBlPSJOb25lIiBBcnJvd2hlYWRUeXBlPSJTb2xpZCIgSGVhZFNpemU9IjIyNTAiIEFycm93aGVhZFdpZHRoPSI1NjMiIEFycm93aGVhZEhlYWQ9IkZ1bGwiIEFycm93aGVhZENlbnRlclNpemU9IjI1IiBIZWFkM0Q9IjM4NS45ODAwMTEgNzUuNjUwMDAyIDAuMDAwMDAwIiBUYWlsM0Q9IjI5NC4zMDk5OTggNzUuNjUwMDAyIDAuMDAwMDAwIi8+CiAgICAgICAgPHNjaGVtZT4KICAgICAgICAgICAgPHN0ZXAgUmVhY3Rpb25TdGVwQXJyb3dzPSIxMjQiLz4KICAgICAgICAgICAgPHN0ZXAgUmVhY3Rpb25TdGVwQXJyb3dzPSIxMjciLz4KICAgICAgICA8L3NjaGVtZT4KICAgIDwvcGFnZT4KPC9DRFhNTD4K \ No newline at end of file diff --git a/api/tests/integration/tests/formats/ref/CarbonylReduction_Rxn2.cdxml b/api/tests/integration/tests/formats/ref/CarbonylReduction_Rxn2.cdxml new file mode 100644 index 0000000000..7fa76ad952 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/CarbonylReduction_Rxn2.cdxml @@ -0,0 +1,330 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + N + + + + + O + + + + + + + N + + + + + + N + + + + + + + + + + + + + + + + + + + + + OH + + + + + + + + + + N + + + + + N + + + + + + N + + + + + + + + + + + + + + + + + + + + + + + + + + NaH + + + + + BH + 3 + + + + + NaBH4 + + + + + + + + OH + + + + + + + + + + B + + + + + H + + + + + H + + + + + H + + + + + H + + + + + Na + + + + + + + + + + + + + + + OH + + + + + + + EtOH + + + + + + + + + B + + + + + OH + + + + + OH + + + + + OH + + + + + + + + B( + + + + + + + + + Na + + + + + Cl + + + + + + Na + + + + + ethanol + + + 0.2 M in limiting + + + r.t. + + + Carbonyl Reduction Rxn2 + + + 27996-86-7 + + + [reducing agent] + + + [desired product] + + + 1.0 equiv + + + [carbonyl] + + + ethanol + + + 64-17-5 + + + [solvent] + + + MW 46.07 + + + 4-(1 + + + H + + + -1,2,4-triazol-1-yl)benzaldehyde + + + 143426-50-0 + + + Key + + + 16940-66-2 + + + sodium borohydride + + + MW 37.83 + + + + [byproducts] + + + (4-(1 + + + H + + + -1,2,4-triazol-1-yl)phenyl)methanol + + + + + + + + + diff --git a/api/tests/integration/tests/formats/ref/Esterification_Rxn1.b64cdx b/api/tests/integration/tests/formats/ref/Esterification_Rxn1.b64cdx new file mode 100644 index 0000000000..fcfa9a4070 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/Esterification_Rxn1.b64cdx @@ -0,0 +1 @@ +PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIENEWE1MIFNZU1RFTSAiaHR0cDovL3d3dy5jYW1icmlkZ2Vzb2Z0LmNvbS94bWwvY2R4bWwuZHRkIj4KPENEWE1MIEJvbmRMZW5ndGg9IjMwLjAwMDAwMCIgTGFiZWxGb250PSIzIiBDYXB0aW9uRm9udD0iNCI+CiAgICA8Zm9udHRhYmxlIGlkPSIxIj4KICAgICAgICA8Zm9udCBpZD0iMiIgY2hhcnNldD0idXRmLTgiIG5hbWU9IkFyaWFsIi8+CiAgICAgICAgPGZvbnQgaWQ9IjMiIGNoYXJzZXQ9InV0Zi04IiBuYW1lPSJUaW1lcyBOZXcgUm9tYW4iLz4KICAgIDwvZm9udHRhYmxlPgogICAgPGNvbG9ydGFibGU+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMCIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIxIiBnPSIwIiBiPSIwIi8+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjAiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMSIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIwIiBnPSIxIiBiPSIxIi8+CiAgICAgICAgPGNvbG9yIHI9IjAiIGc9IjAiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMSIgZz0iMCIgYj0iMSIvPgogICAgICAgIDxjb2xvciByPSIwLjUiIGc9IjAuNSIgYj0iMC41Ii8+CiAgICA8L2NvbG9ydGFibGU+CiAgICA8cGFnZSBIZWlnaHRQYWdlcz0iMSIgV2lkdGhQYWdlcz0iMSI+CiAgICAgICAgPGZyYWdtZW50IGlkPSI0Ij4KICAgICAgICAgICAgPG4gaWQ9IjUiIHA9Ijg2LjA5OTk5OCA2My4yNTAwMDAiLz4KICAgICAgICAgICAgPG4gaWQ9IjYiIHA9Ijg2LjA5OTk5OCA3Ny42NTAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjciIHA9Ijk4LjU3MDAwMCA4NC44NDk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjgiIHA9IjExMS4wNDAwMDEgNzcuNjUwMDAyIi8+CiAgICAgICAgICAgIDxuIGlkPSI5IiBwPSIxMTEuMDQwMDAxIDYzLjI1MDAwMCIvPgogICAgICAgICAgICA8biBpZD0iMTAiIHA9Ijk4LjU3MDAwMCA1Ni4wNTAwMDMiLz4KICAgICAgICAgICAgPG4gaWQ9IjExIiBwPSIxMjMuNTA5OTg3IDU2LjA1MDAwMyIvPgogICAgICAgICAgICA8biBpZD0iMTIiIHA9IjEzNS45Nzk5OTYgNjMuMjUwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSIxMyIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIxIiBwPSIxNDguNDQ5OTk3IDU2LjA1MDAwMyI+CiAgICAgICAgICAgICAgICA8dCBwPSIxNDguNDQ5OTk3IDU2LjA1MDAwMyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk9IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxiIGlkPSIyNDEiIEI9IjUiIEU9IjYiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNDIiIEI9IjYiIEU9IjciLz4KICAgICAgICAgICAgPGIgaWQ9IjI0MyIgQj0iNyIgRT0iOCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI0NCIgQj0iOCIgRT0iOSIvPgogICAgICAgICAgICA8YiBpZD0iMjQ1IiBCPSI5IiBFPSIxMCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI0NiIgQj0iMTAiIEU9IjUiLz4KICAgICAgICAgICAgPGIgaWQ9IjI0NyIgQj0iOSIgRT0iMTEiLz4KICAgICAgICAgICAgPGIgaWQ9IjI0OCIgQj0iMTEiIEU9IjEyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNDkiIEI9IjEyIiBFPSIxMyIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSIxNCI+CiAgICAgICAgICAgIDxuIGlkPSIxNSIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyMzEuNzEwMDA3IDQxLjE1MDAwMiI+CiAgICAgICAgICAgICAgICA8dCBwPSIyMzEuNzEwMDA3IDQxLjE1MDAwMiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjE2IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjIxOS4yNDAwMDUgNjIuNzUwMDAwIj4KICAgICAgICAgICAgICAgIDx0IHA9IjIxOS4yNDAwMDUgNjIuNzUwMDAwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+T0g8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjE3IiBFbGVtZW50PSI5IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjI5NC4wNTk5OTggOTEuNTUwMDAzIj4KICAgICAgICAgICAgICAgIDx0IHA9IjI5NC4wNTk5OTggOTEuNTUwMDAzIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Rjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMTgiIEVsZW1lbnQ9IjkiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjgxLjU4OTk5NiA5OC43NTAwMDAiPgogICAgICAgICAgICAgICAgPHQgcD0iMjgxLjU4OTk5NiA5OC43NTAwMDAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5GPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxOSIgRWxlbWVudD0iOSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyOTQuMDU5OTk4IDc3LjE1MDAwMiI+CiAgICAgICAgICAgICAgICA8dCBwPSIyOTQuMDU5OTk4IDc3LjE1MDAwMiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkY8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjIwIiBwPSIyODEuNTg5OTk2IDg0LjM0OTk5OCIvPgogICAgICAgICAgICA8biBpZD0iMjEiIHA9IjIzMS43MTAwMDcgNTUuNTUwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSIyMiIgcD0iMjU2LjY0OTk5NCA1NS41NTAwMDMiLz4KICAgICAgICAgICAgPG4gaWQ9IjIzIiBwPSIyNDQuMTgwMDA4IDYyLjc1MDAwMCIvPgogICAgICAgICAgICA8biBpZD0iMjQiIHA9IjI0NC4xODAwMDggNzcuMTUwMDAyIi8+CiAgICAgICAgICAgIDxuIGlkPSIyNSIgcD0iMjU2LjY0OTk5NCA4NC4zNDk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjI2IiBwPSIyNjkuMTE5OTk1IDc3LjE1MDAwMiIvPgogICAgICAgICAgICA8biBpZD0iMjciIHA9IjI2OS4xMTk5OTUgNjIuNzUwMDAwIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNTAiIEI9IjIxIiBFPSIxNSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI1MSIgQj0iMjEiIEU9IjE2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNTIiIEI9IjIwIiBFPSIxNyIvPgogICAgICAgICAgICA8YiBpZD0iMjUzIiBCPSIyMCIgRT0iMTgiLz4KICAgICAgICAgICAgPGIgaWQ9IjI1NCIgQj0iMjAiIEU9IjE5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNTUiIEI9IjI2IiBFPSIyMCIvPgogICAgICAgICAgICA8YiBpZD0iMjU2IiBCPSIyMyIgRT0iMjEiLz4KICAgICAgICAgICAgPGIgaWQ9IjI1NyIgQj0iMjIiIEU9IjI3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNTgiIEI9IjIzIiBFPSIyMiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI1OSIgQj0iMjQiIEU9IjIzIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNjAiIEI9IjI1IiBFPSIyNCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI2MSIgQj0iMjYiIEU9IjI1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNjIiIEI9IjI3IiBFPSIyNiIgT3JkZXI9IjIiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iMjgiPgogICAgICAgICAgICA8biBpZD0iMjkiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNTM3LjQxOTk4MyA1Ni42Mzk5OTkiPgogICAgICAgICAgICAgICAgPHQgcD0iNTM3LjQxOTk4MyA1Ni42Mzk5OTkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIzMCIgcD0iNTI0Ljk1MDAxMiA0OS40NDAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjMxIiBwPSI1MTIuNDc5OTgwIDU2LjYzOTk5OSIvPgogICAgICAgICAgICA8biBpZD0iMzIiIHA9IjQ4Ny41NDAwMDkgNTYuNjM5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSIzMyIgcD0iNTAwLjAxMDAxMCA0OS40NDAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjM0IiBwPSI1MDAuMDEwMDEwIDM1LjA0MDAwMSIvPgogICAgICAgICAgICA8biBpZD0iMzUiIHA9IjQ4Ny41NDAwMDkgMjcuODM5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSIzNiIgcD0iNDc1LjA2OTk3NyAzNS4wNDAwMDEiLz4KICAgICAgICAgICAgPG4gaWQ9IjM3IiBwPSI0NzUuMDY5OTc3IDQ5LjQ0MDAwMiIvPgogICAgICAgICAgICA8biBpZD0iMzgiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNTQ5Ljg5MDAxNSAzNS4wNDAwMDEiPgogICAgICAgICAgICAgICAgPHQgcD0iNTQ5Ljg5MDAxNSAzNS4wNDAwMDEiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIzOSIgRWxlbWVudD0iOSIgTnVtSHlkcm9nZW5zPSIwIiBwPSI2MTIuMjM5OTkwIDg1LjQ0MDAwMiI+CiAgICAgICAgICAgICAgICA8dCBwPSI2MTIuMjM5OTkwIDg1LjQ0MDAwMiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkY8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjQwIiBFbGVtZW50PSI5IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjU5OS43Njk5NTggOTIuNjM5OTk5Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjU5OS43Njk5NTggOTIuNjM5OTk5IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Rjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNDEiIEVsZW1lbnQ9IjkiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNjEyLjIzOTk5MCA3MS4wNDAwMDEiPgogICAgICAgICAgICAgICAgPHQgcD0iNjEyLjIzOTk5MCA3MS4wNDAwMDEiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5GPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI0MiIgcD0iNTk5Ljc2OTk1OCA3OC4yMzk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjQzIiBwPSI1NDkuODkwMDE1IDQ5LjQ0MDAwMiIvPgogICAgICAgICAgICA8biBpZD0iNDQiIHA9IjU3NC44Mjk5NTYgNDkuNDQwMDAyIi8+CiAgICAgICAgICAgIDxuIGlkPSI0NSIgcD0iNTYyLjM1OTk4NSA1Ni42Mzk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9IjQ2IiBwPSI1NjIuMzU5OTg1IDcxLjA0MDAwMSIvPgogICAgICAgICAgICA8biBpZD0iNDciIHA9IjU3NC44Mjk5NTYgNzguMjM5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSI0OCIgcD0iNTg3LjI5OTk4OCA3MS4wNDAwMDEiLz4KICAgICAgICAgICAgPG4gaWQ9IjQ5IiBwPSI1ODcuMjk5OTg4IDU2LjYzOTk5OSIvPgogICAgICAgICAgICA8YiBpZD0iMjYzIiBCPSIzMCIgRT0iMjkiLz4KICAgICAgICAgICAgPGIgaWQ9IjI2NCIgQj0iMzEiIEU9IjMwIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNjUiIEI9IjMzIiBFPSIzMSIvPgogICAgICAgICAgICA8YiBpZD0iMjY2IiBCPSIzMiIgRT0iMzciLz4KICAgICAgICAgICAgPGIgaWQ9IjI2NyIgQj0iMzMiIEU9IjMyIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjY4IiBCPSIzNCIgRT0iMzMiLz4KICAgICAgICAgICAgPGIgaWQ9IjI2OSIgQj0iMzUiIEU9IjM0IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjcwIiBCPSIzNiIgRT0iMzUiLz4KICAgICAgICAgICAgPGIgaWQ9IjI3MSIgQj0iMzciIEU9IjM2IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjcyIiBCPSI0MyIgRT0iMzgiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNzMiIEI9IjQzIiBFPSIyOSIvPgogICAgICAgICAgICA8YiBpZD0iMjc0IiBCPSI0MiIgRT0iMzkiLz4KICAgICAgICAgICAgPGIgaWQ9IjI3NSIgQj0iNDIiIEU9IjQwIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNzYiIEI9IjQyIiBFPSI0MSIvPgogICAgICAgICAgICA8YiBpZD0iMjc3IiBCPSI0OCIgRT0iNDIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI3OCIgQj0iNDUiIEU9IjQzIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNzkiIEI9IjQ0IiBFPSI0OSIvPgogICAgICAgICAgICA8YiBpZD0iMjgwIiBCPSI0NSIgRT0iNDQiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyODEiIEI9IjQ2IiBFPSI0NSIvPgogICAgICAgICAgICA8YiBpZD0iMjgyIiBCPSI0NyIgRT0iNDYiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyODMiIEI9IjQ4IiBFPSI0NyIvPgogICAgICAgICAgICA8YiBpZD0iMjg0IiBCPSI0OSIgRT0iNDgiIE9yZGVyPSIyIi8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjUwIj4KICAgICAgICAgICAgPG4gaWQ9IjUxIiBwPSIyNTIuOTA5OTg4IDM2NS40NDk5ODIiLz4KICAgICAgICAgICAgPG4gaWQ9IjUyIiBwPSIyNTIuOTA5OTg4IDM3OS44NTAwMDYiLz4KICAgICAgICAgICAgPG4gaWQ9IjUzIiBwPSIyNjUuMzc5OTc0IDM4Ny4wNDk5ODgiLz4KICAgICAgICAgICAgPG4gaWQ9IjU0IiBwPSIyNzcuODQ5OTc2IDM3OS44NTAwMDYiLz4KICAgICAgICAgICAgPG4gaWQ9IjU1IiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjI3Ny44NDk5NzYgMzY1LjQ0OTk4MiI+CiAgICAgICAgICAgICAgICA8dCBwPSIyNzcuODQ5OTc2IDM2NS40NDk5ODIiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI1NiIgcD0iMjY1LjM3OTk3NCAzNTguMjUwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSI1NyIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyNDAuNDQwMDAyIDM4Ny4wNDk5ODgiPgogICAgICAgICAgICAgICAgPHQgcD0iMjQwLjQ0MDAwMiAzODcuMDQ5OTg4IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNTgiIHA9IjIyNy45NzAwMDEgMzc5Ljg1MDAwNiIvPgogICAgICAgICAgICA8biBpZD0iNTkiIHA9IjI0MC40NDAwMDIgNDAxLjQ0OTk4MiIvPgogICAgICAgICAgICA8YiBpZD0iMjg1IiBCPSI1MSIgRT0iNTIiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyODYiIEI9IjUyIiBFPSI1MyIvPgogICAgICAgICAgICA8YiBpZD0iMjg3IiBCPSI1MyIgRT0iNTQiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyODgiIEI9IjU0IiBFPSI1NSIvPgogICAgICAgICAgICA8YiBpZD0iMjg5IiBCPSI1NSIgRT0iNTYiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyOTAiIEI9IjU2IiBFPSI1MSIvPgogICAgICAgICAgICA8YiBpZD0iMjkxIiBCPSI1MiIgRT0iNTciLz4KICAgICAgICAgICAgPGIgaWQ9IjI5MiIgQj0iNTciIEU9IjU4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyOTMiIEI9IjU3IiBFPSI1OSIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI2MCI+CiAgICAgICAgICAgIDxuIGlkPSI2MSIgRWxlbWVudD0iNyIgQ2hhcmdlPSIxIiBOdW1IeWRyb2dlbnM9IjEiIHA9IjQ5MS41MDk5NDkgMzIxLjY0OTk5NCI+CiAgICAgICAgICAgICAgICA8dCBwPSI0OTEuNTA5OTQ5IDMyMS42NDk5OTQiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OSDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNjIiIHA9IjUwMy45ODAwMTEgMzE0LjQ0OTk4MiIvPgogICAgICAgICAgICA8biBpZD0iNjMiIHA9IjQ3OS4wMzk5NzggMzE0LjQ0OTk4MiIvPgogICAgICAgICAgICA8biBpZD0iNjQiIHA9IjQ5MS41MDk5NDkgMzM2LjA0OTk4OCIvPgogICAgICAgICAgICA8biBpZD0iNjUiIHA9IjUxNi40NTAwMTIgMzIxLjY0OTk5NCIvPgogICAgICAgICAgICA8biBpZD0iNjYiIHA9IjUyOC45MTk5ODMgMzE0LjQ0OTk4MiIvPgogICAgICAgICAgICA8biBpZD0iNjciIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMSIgcD0iNTQxLjM5MDAxNSAzMjEuNjQ5OTk0Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjU0MS4zOTAwMTUgMzIxLjY0OTk5NCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk5IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI2OCIgcD0iNTUzLjg1OTk4NSAzMTQuNDQ5OTgyIi8+CiAgICAgICAgICAgIDxuIGlkPSI2OSIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIxIiBwPSI1NjYuMzI5OTU2IDMyMS42NDk5OTQiPgogICAgICAgICAgICAgICAgPHQgcD0iNTY2LjMyOTk1NiAzMjEuNjQ5OTk0IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tkg8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjcwIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjU1My44NTk5ODUgMzAwLjA0OTk4OCI+CiAgICAgICAgICAgICAgICA8dCBwPSI1NTMuODU5OTg1IDMwMC4wNDk5ODgiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI3MSIgcD0iNTc4Ljc5OTk4OCAzMTQuNDQ5OTgyIi8+CiAgICAgICAgICAgIDxuIGlkPSI3MiIgcD0iNTkxLjI2OTk1OCAzMjEuNjQ5OTk0Ii8+CiAgICAgICAgICAgIDxuIGlkPSI3MyIgRWxlbWVudD0iMTciIENoYXJnZT0iLTEiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNTAzLjI2MDAxMCAzMzAuMzY5OTk1Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjUwMy4yNjAwMTAgMzMwLjM2OTk5NSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkNsPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxiIGlkPSIyOTQiIEI9IjYxIiBFPSI2MiIvPgogICAgICAgICAgICA8YiBpZD0iMjk1IiBCPSI2MSIgRT0iNjMiLz4KICAgICAgICAgICAgPGIgaWQ9IjI5NiIgQj0iNjEiIEU9IjY0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyOTciIEI9IjYyIiBFPSI2NSIvPgogICAgICAgICAgICA8YiBpZD0iMjk4IiBCPSI2NSIgRT0iNjYiLz4KICAgICAgICAgICAgPGIgaWQ9IjI5OSIgQj0iNjYiIEU9IjY3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMDAiIEI9IjY3IiBFPSI2OCIvPgogICAgICAgICAgICA8YiBpZD0iMzAxIiBCPSI2OCIgRT0iNjkiLz4KICAgICAgICAgICAgPGIgaWQ9IjMwMiIgQj0iNjgiIEU9IjcwIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzAzIiBCPSI2OSIgRT0iNzEiLz4KICAgICAgICAgICAgPGIgaWQ9IjMwNCIgQj0iNzEiIEU9IjcyIi8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9Ijc0Ij4KICAgICAgICAgICAgPG4gaWQ9Ijc1IiBwPSI1MjcuODI5OTU2IDM2Ny40NDk5ODIiLz4KICAgICAgICAgICAgPG4gaWQ9Ijc2IiBwPSI1MjcuODI5OTU2IDM4MS44NTAwMDYiLz4KICAgICAgICAgICAgPG4gaWQ9Ijc3IiBwPSI1NDAuMjk5OTg4IDM4OS4wNDk5ODgiLz4KICAgICAgICAgICAgPG4gaWQ9Ijc4IiBwPSI1NTIuNzY5OTU4IDM4MS44NTAwMDYiLz4KICAgICAgICAgICAgPG4gaWQ9Ijc5IiBFbGVtZW50PSI3IiBDaGFyZ2U9IjEiIE51bUh5ZHJvZ2Vucz0iMSIgcD0iNTUyLjc2OTk1OCAzNjcuNDQ5OTgyIj4KICAgICAgICAgICAgICAgIDx0IHA9IjU1Mi43Njk5NTggMzY3LjQ0OTk4MiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk5IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI4MCIgcD0iNTQwLjI5OTk4OCAzNjAuMjUwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSI4MSIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSI1MTUuMzU5OTg1IDM4OS4wNDk5ODgiPgogICAgICAgICAgICAgICAgPHQgcD0iNTE1LjM1OTk4NSAzODkuMDQ5OTg4IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iODIiIHA9IjUwMi44OTAwMTUgMzgxLjg1MDAwNiIvPgogICAgICAgICAgICA8biBpZD0iODMiIHA9IjUxNS4zNTk5ODUgNDAzLjQ0OTk4MiIvPgogICAgICAgICAgICA8YiBpZD0iMzA1IiBCPSI3NSIgRT0iNzYiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMDYiIEI9Ijc2IiBFPSI3NyIvPgogICAgICAgICAgICA8YiBpZD0iMzA3IiBCPSI3NyIgRT0iNzgiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMDgiIEI9Ijc4IiBFPSI3OSIvPgogICAgICAgICAgICA8YiBpZD0iMzA5IiBCPSI3OSIgRT0iODAiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMTAiIEI9IjgwIiBFPSI3NSIvPgogICAgICAgICAgICA8YiBpZD0iMzExIiBCPSI3NiIgRT0iODEiLz4KICAgICAgICAgICAgPGIgaWQ9IjMxMiIgQj0iODEiIEU9IjgyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMTMiIEI9IjgxIiBFPSI4MyIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI4NCI+CiAgICAgICAgICAgIDxuIGlkPSI4NSIgRWxlbWVudD0iMTciIENoYXJnZT0iLTEiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNTMyLjY1OTk3MyAzODAuNTAwMDAwIj4KICAgICAgICAgICAgICAgIDx0IHA9IjUzMi42NTk5NzMgMzgwLjUwMDAwMCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkNsPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9Ijg2Ij4KICAgICAgICAgICAgPG4gaWQ9Ijg3IiBwPSI0MzIuMjY5OTg5IDM1Ny42NDk5OTQiLz4KICAgICAgICAgICAgPG4gaWQ9Ijg4IiBFbGVtZW50PSIxNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSI0NDQuNzM5OTkwIDM1MC40NDk5ODIiPgogICAgICAgICAgICAgICAgPHQgcD0iNDQ0LjczOTk5MCAzNTAuNDQ5OTgyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Q2w8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9Ijg5IiBFbGVtZW50PSIxNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSI0MTkuNzg5OTc4IDM1MC40NDk5ODIiPgogICAgICAgICAgICAgICAgPHQgcD0iNDE5Ljc4OTk3OCAzNTAuNDQ5OTgyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Q2w8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPGIgaWQ9IjMxNCIgQj0iODciIEU9Ijg4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMTUiIEI9Ijg3IiBFPSI4OSIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI5MCI+CiAgICAgICAgICAgIDxuIGlkPSI5MSIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSIzNTMuNTE5OTg5IDM2Ny4zMDk5OTgiPgogICAgICAgICAgICAgICAgPHQgcD0iMzUzLjUxOTk4OSAzNjcuMzA5OTk4IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iOTIiIHA9IjM2NS45ODk5OTAgMzc0LjUwOTk3OSIvPgogICAgICAgICAgICA8biBpZD0iOTMiIHA9IjM3OC40NTk5OTEgMzY3LjMwOTk5OCIvPgogICAgICAgICAgICA8biBpZD0iOTQiIHA9IjM0MS4wNDk5ODggMzc0LjUwOTk3OSIvPgogICAgICAgICAgICA8biBpZD0iOTUiIHA9IjMyOC41Nzk5ODcgMzY3LjMwOTk5OCIvPgogICAgICAgICAgICA8biBpZD0iOTYiIHA9IjM1My41MTk5ODkgMzUyLjkxMDAwNCIvPgogICAgICAgICAgICA8biBpZD0iOTciIHA9IjM0MS4wNDk5ODggMzQ1LjcwOTk5MSIvPgogICAgICAgICAgICA8YiBpZD0iMzE2IiBCPSI5MiIgRT0iOTMiLz4KICAgICAgICAgICAgPGIgaWQ9IjMxNyIgQj0iOTEiIEU9IjkyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMTgiIEI9Ijk0IiBFPSI5NSIvPgogICAgICAgICAgICA8YiBpZD0iMzE5IiBCPSI5MSIgRT0iOTQiLz4KICAgICAgICAgICAgPGIgaWQ9IjMyMCIgQj0iOTYiIEU9Ijk3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMjEiIEI9IjkxIiBFPSI5NiIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI5OCI+CiAgICAgICAgICAgIDxuIGlkPSI5OSIgcD0iMTU3LjM2OTk5NSAzODIuNDQwMDAyIi8+CiAgICAgICAgICAgIDxuIGlkPSIxMDAiIHA9IjE0NC44OTk5OTQgMzc1LjIzOTk5MCIvPgogICAgICAgICAgICA8biBpZD0iMTAxIiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjEzMi40MzAwMDggMzgyLjQ0MDAwMiI+CiAgICAgICAgICAgICAgICA8dCBwPSIxMzIuNDMwMDA4IDM4Mi40NDAwMDIiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxMDIiIHA9IjExOS45NjAwMDcgMzc1LjIzOTk5MCIvPgogICAgICAgICAgICA8biBpZD0iMTAzIiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjEwNy40ODk5OTggMzY4LjA0MDAwOSI+CiAgICAgICAgICAgICAgICA8dCBwPSIxMDcuNDg5OTk4IDM2OC4wNDAwMDkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxMDQiIHA9Ijk1LjAyMDAwNCAzNzUuMjM5OTkwIi8+CiAgICAgICAgICAgIDxuIGlkPSIxMDUiIHA9IjgyLjU1MDAwMyAzNjguMDQwMDA5Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMDYiIHA9IjcwLjA4MDAwMiAzNzUuMjM5OTkwIi8+CiAgICAgICAgICAgIDxuIGlkPSIxMDciIHA9IjQ1LjEzOTk5OSAzNzUuMjM5OTkwIi8+CiAgICAgICAgICAgIDxuIGlkPSIxMDgiIEVsZW1lbnQ9IjciIENoYXJnZT0iMSIgTnVtSHlkcm9nZW5zPSIxIiBwPSI1Ny42MTAwMDEgMzY4LjA0MDAwOSI+CiAgICAgICAgICAgICAgICA8dCBwPSI1Ny42MTAwMDEgMzY4LjA0MDAwOSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk5IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxMDkiIHA9IjU3LjYxMDAwMSAzNTMuNjM5OTg0Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMTAiIEVsZW1lbnQ9IjE3IiBDaGFyZ2U9Ii0xIiBOdW1IeWRyb2dlbnM9IjAiIHA9IjY4LjM4OTk5OSAzNTUuMzUwMDA2Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjY4LjM4OTk5OSAzNTUuMzUwMDA2IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Q2w8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPGIgaWQ9IjMyMiIgQj0iMTAwIiBFPSI5OSIvPgogICAgICAgICAgICA8YiBpZD0iMzIzIiBCPSIxMDEiIEU9IjEwMCIvPgogICAgICAgICAgICA8YiBpZD0iMzI0IiBCPSIxMDIiIEU9IjEwMSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjMyNSIgQj0iMTAzIiBFPSIxMDIiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMjYiIEI9IjEwNCIgRT0iMTAzIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMjciIEI9IjEwNSIgRT0iMTA0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMjgiIEI9IjEwNiIgRT0iMTA1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMjkiIEI9IjEwOCIgRT0iMTA2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMzAiIEI9IjEwOCIgRT0iMTA3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMzEiIEI9IjEwOSIgRT0iMTA4Ii8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjExMSI+CiAgICAgICAgICAgIDxuIGlkPSIzMzQiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjMzNSI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjExMiIgRWxlbWVudD0iMSIgSXNvdG9wZT0iMiIgcD0iNDExLjk3OTk4MCAyOTkuMjY5OTg5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iNDExLjk3OTk4MCAyOTkuMjY5OTg5IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5IPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMTMiIHA9IjQyNC40MDk5NzMgMjkyLjA4OTk5NiIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIzMzYiIE5vZGVUeXBlPSJFeHRlcm5hbENvbm5lY3Rpb25Qb2ludCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMzMiIEI9IjExMiIgRT0iMTEzIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMzOCIgQj0iMzM2IiBFPSIxMTMiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+RENNPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxMTQiIE5vZGVUeXBlPSJHZW5lcmljTmlja25hbWUiIEdlbmVyaWNOaWNrbmFtZT0iTSIgcD0iNDM2LjgzOTk5NiAyOTkuMjY5OTg5Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjQzNi44Mzk5OTYgMjk5LjI2OTk4OSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk08L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPGIgaWQ9IjMzNyIgQj0iMTE0IiBFPSIzMzQiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDx0IGlkPSIxMTUiIHA9IjM4My4xNjk5ODMgMzkuODA0OTk2IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4yIGVxdWl2PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTE1IiBwPSIzODMuMTY5OTgzIDM5LjgwNDk5NiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+IEVEQ0k8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMTgiIHA9IjM4Ny4wNTQ5OTMgNTQuODUwMDAyIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4yLjIgZXF1aXY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMTgiIHA9IjM4Ny4wNTQ5OTMgNTQuODUwMDAyIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4gVEVBPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTIxIiBwPSIzODEuODk5OTk0IDg3LjYyMDAwMyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+RENNPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTI0IiBwPSIzODEuOTU0OTg3IDEwMC40ODUwMDgiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPnIudC48L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMjciIHA9IjM4Mi42MTk5OTUgMTE0LjE1NDk5OSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+MC4xIE0gaW4gbGltaXRpbmc8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMzAiIHA9IjM5MC4xMzQ5NzkgNjguMzQ5OTk4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4wLjEgZXF1aXY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMzAiIHA9IjM5MC4xMzQ5NzkgNjguMzQ5OTk4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5ETUFQPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTMzIiBwPSI3OS41NTAwMDMgNS45MTk5OTkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTYiIGZhY2U9IjIiPkVzdGVyaWZpY2F0aW9uIFJ4bjE8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMzYiIHA9IjExOC4zODUwMDIgMTI1LjM2OTk5NSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj41NDA2LTg2LTA8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMzkiIHA9IjEwMS4yNTQ5OTcgMzM1LjM1MDAwNiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj4yNTk1Mi01My04PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTQyIiBwPSIxMDEuMjU1MDA1IDI5NS42Nzk5NjIiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+RURDSTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE0NSIgcD0iMjU0LjIyNDk3NiAyOTUuNTcwMDA3IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPkRNQVA8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNDgiIHA9IjI1NC4yMjUwMDYgMzM1LjM1MDAwNiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj4xMTIyLTU4LTM8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNTEiIHA9IjUzNS4xNTQ5NjggMjc4Ljg2OTk2NSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2J5cHJvZHVjdHNdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTU0IiBwPSIxNy4zMjQ5OTkgMjg2Ljg2OTk5NSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMSI+S2V5PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8Z3JhcGhpYyBpZD0iMTU3IiBCb3VuZGluZ0JveD0iMC43OTk5OTkgNDk0LjM5OTk5NCA0NzIuMzM5OTk2IDI3My4xMDAwMDYiIEdyYXBoaWNUeXBlPSJSZWN0YW5nbGUiLz4KICAgICAgICA8dCBpZD0iMTYwIiBwPSI1NDQuNzk5OTg4IDEwNy45NDAwMDIiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+cGhlbmV0aHlsIDQtKHRyaWZsdW9yb21ldGh5bCliZW56b2F0ZTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE2MyIgcD0iNDMwLjkxNDk3OCAzMTMuODA5OTk4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPmRpY2hsb3JvbWV0aGFuZTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE2NiIgcD0iNDMwLjkxOTk4MyAzMzUuMzUwMDA2IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjc1LTA5LTI8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNjkiIHA9IjQzMC45MTQ5NzggMzkwLjU2NTAwMiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W3NvbHZlbnRdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTcyIiBwPSI0MzAuOTA5OTczIDM3Mi44MjAwMDciIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+TVcgODQuOTM8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNzUiIHA9IjM1My41MjAwMjAgMzE0LjcwNDk4NyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj50cmlldGh5bGFtaW5lPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTc4IiBwPSIzNTMuNTE0OTg0IDMzNS4zNTAwMDYiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+MTIxLTQ0LTg8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxODEiIHA9IjM1Mi41MDQ5NzQgMzg4LjE2OTk4MyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj5NVyAxMDEuMTk8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxODQiIHA9IjM1My41MTQ5ODQgNDAzLjU2NDk3MiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2Jhc2VdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTg3IiBwPSIxMTguMzgwMDA1IDE1MC4wOTk5OTEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjEuMSBlcXVpdjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE5MCIgcD0iMjUxLjA0MDAwOSAxNTIuMzQ5OTkxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4xLjAgZXF1aXY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxOTMiIHA9IjExOC4zODk5OTkgMTY3LjA4NDk5MSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2FsY29ob2xdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTk2IiBwPSIyNDkuNzI0OTkxIDE2Ny4wODQ5OTEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPlthY2lkXTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE5OSIgcD0iNTM4LjM2OTk5NSAxNjcuMDg0OTkxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bZGVzaXJlZCBwcm9kdWN0XTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPGdyYXBoaWMgaWQ9IjIwMiIgQm91bmRpbmdCb3g9IjE3NS4xNDUwMDQgNzUuMjc5OTk5IDE3NS4xNDUwMDQgNjcuNzc5OTk5IiBHcmFwaGljVHlwZT0iU3ltYm9sIiBTeW1ib2xUeXBlPSJQbHVzIi8+CiAgICAgICAgPHQgaWQ9IjIwNSIgcD0iMjUyLjc5NTAxMyAxMTQuMDQ5OTk1IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPjQtKHRyaWZsdW9yb21ldGh5bCliZW56b2ljIGFjaWQ8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMDgiIHA9IjI1NC43Mzk5OTAgMTI1LjM2OTk5NSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj45OC03My03PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjExIiBwPSIxMTguMzgwMDA1IDExMi45Nzk5OTYiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+Mi1waGVueWxldGhhbi0xLW9sPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjE0IiBwPSI1NDQuNDA5OTczIDEyNS4zNjk5OTUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+OTU5Mjg1LTM3LTE8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMTciIHA9IjEwMS4yNTQ5OTcgMzE1Ljg1NDk4MCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj4zLSgoKGV0aHlsaW1pbm8pbWV0aHlsZW5lKWFtaW5vKS08L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMTciIHA9IjEwMS4yNTQ5OTcgMzE1Ljg1NDk4MCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIzIj5OPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjE3IiBwPSIxMDEuMjU0OTk3IDMxNS44NTQ5ODAiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+LDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIxNyIgcD0iMTAxLjI1NDk5NyAzMTUuODU0OTgwIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjMiPk48L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMTciIHA9IjEwMS4yNTQ5OTcgMzE1Ljg1NDk4MCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIzIj4tZGltZXRoeWxwcm9wYW4tMS1hbWluaXVtIGNobG9yaWRlPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjIwIiBwPSIyNTQuMjI5OTgwIDMxNS42NTk5NzMiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+Tjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIyMCIgcD0iMjU0LjIyOTk4MCAzMTUuNjU5OTczIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjMiPiw8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMjAiIHA9IjI1NC4yMjk5ODAgMzE1LjY1OTk3MyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIzIj5OPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjIwIiBwPSIyNTQuMjI5OTgwIDMxNS42NTk5NzMiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+LWRpbWV0aHlscHlyaWRpbi00LWFtaW5lPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjIzIiBwPSIyNTQuMjI1MDA2IDQzMy4xMTk5OTUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltjYXRhbHlzdF08L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMjYiIHA9IjEwMS4yNTUwMDUgNDIzLjA2NDk3MiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2FkZGl0aXZlXTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIyOSIgcD0iMjU0LjIyOTk4MCA0MTUuNDE0OTc4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPk1XIDEyMi4xNzwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIzMiIgcD0iMTAxLjI1NTAwNSA0MDMuNDY5OTcxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPk1XIDE5MS43MDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPGFycm93IGlkPSIyMzUiIEJvdW5kaW5nQm94PSI0NDUuNTA5OTc5IDc2LjIwMDAwNSAzMzMuNzU5OTc5IDc2LjIwMDAwNSIgRmlsbFR5cGU9Ik5vbmUiIEFycm93aGVhZFR5cGU9IlNvbGlkIiBIZWFkU2l6ZT0iMjI1MCIgQXJyb3doZWFkV2lkdGg9IjU2MyIgQXJyb3doZWFkSGVhZD0iRnVsbCIgQXJyb3doZWFkQ2VudGVyU2l6ZT0iMjUiIEhlYWQzRD0iNDQ1LjUwOTk3OSA3Ni4yMDAwMDUgMC4wMDAwMDAiIFRhaWwzRD0iMzMzLjc1OTk3OSA3Ni4yMDAwMDUgMC4wMDAwMDAiLz4KICAgICAgICA8YXJyb3cgaWQ9IjIzOCIgQm91bmRpbmdCb3g9IjYwMC42MDk5ODUgMzk5LjQ3MDAwMSA2MDAuNjA5OTg1IDMwNC4xNDk5OTQiIEZpbGxUeXBlPSJOb25lIiBBcnJvd2hlYWRUeXBlPSJTb2xpZCIgSGVhZFNpemU9IjIyNTAiIEFycm93aGVhZFdpZHRoPSI1NjMiIEFycm93aGVhZEhlYWQ9IkZ1bGwiIEFycm93aGVhZENlbnRlclNpemU9IjI1IiBIZWFkM0Q9IjYwMC42MDk5ODUgMzk5LjQ3MDAwMSAwLjAwMDAwMCIgVGFpbDNEPSI2MDAuNjA5OTg1IDMwNC4xNDk5OTQgMC4wMDAwMDAiLz4KICAgICAgICA8c2NoZW1lPgogICAgICAgICAgICA8c3RlcCBSZWFjdGlvblN0ZXBBcnJvd3M9IjIzNSIvPgogICAgICAgICAgICA8c3RlcCBSZWFjdGlvblN0ZXBBcnJvd3M9IjIzOCIvPgogICAgICAgIDwvc2NoZW1lPgogICAgPC9wYWdlPgo8L0NEWE1MPgo= \ No newline at end of file diff --git a/api/tests/integration/tests/formats/ref/Esterification_Rxn1.cdxml b/api/tests/integration/tests/formats/ref/Esterification_Rxn1.cdxml new file mode 100644 index 0000000000..fd4a9f28b2 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/Esterification_Rxn1.cdxml @@ -0,0 +1,517 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OH + + + + + + + + + + + + + + + + O + + + + + OH + + + + + F + + + + + F + + + + + F + + + + + + + + + + + + + + + + + + + + + + + + + + + + O + + + + + + + + + + + + + O + + + + + F + + + + + F + + + + + F + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + N + + + + + + N + + + + + + + + + + + + + + + + + + NH + + + + + + + + + + NH + + + + + + NH + + + + + O + + + + + + + Cl + + + + + + + + + + + + + + + + + + + + + + NH + + + + + + N + + + + + + + + + + + + + + + + + + Cl + + + + + + + + Cl + + + + + Cl + + + + + + + + + N + + + + + + + + + + + + + + + + + + + + + N + + + + + + N + + + + + + + + + NH + + + + + + Cl + + + + + + + + + + + + + + + + + + + H + + + + + + + + + DCM + + + + + M + + + + + + 2 equiv + + + EDCI + + + 2.2 equiv + + + TEA + + + DCM + + + r.t. + + + 0.1 M in limiting + + + 0.1 equiv + + + DMAP + + + Esterification Rxn1 + + + 5406-86-0 + + + 25952-53-8 + + + EDCI + + + DMAP + + + 1122-58-3 + + + [byproducts] + + + Key + + + + phenethyl 4-(trifluoromethyl)benzoate + + + dichloromethane + + + 75-09-2 + + + [solvent] + + + MW 84.93 + + + triethylamine + + + 121-44-8 + + + MW 101.19 + + + [base] + + + 1.1 equiv + + + 1.0 equiv + + + [alcohol] + + + [acid] + + + [desired product] + + + + 4-(trifluoromethyl)benzoic acid + + + 98-73-7 + + + 2-phenylethan-1-ol + + + 959285-37-1 + + + 3-(((ethylimino)methylene)amino)- + + + N + + + , + + + N + + + -dimethylpropan-1-aminium chloride + + + N + + + , + + + N + + + -dimethylpyridin-4-amine + + + [catalyst] + + + [additive] + + + MW 122.17 + + + MW 191.70 + + + + + + + + + diff --git a/api/tests/integration/tests/formats/ref/Esterification_Rxn2.b64cdx b/api/tests/integration/tests/formats/ref/Esterification_Rxn2.b64cdx new file mode 100644 index 0000000000..1c03e58382 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/Esterification_Rxn2.b64cdx @@ -0,0 +1 @@ +PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIENEWE1MIFNZU1RFTSAiaHR0cDovL3d3dy5jYW1icmlkZ2Vzb2Z0LmNvbS94bWwvY2R4bWwuZHRkIj4KPENEWE1MIEJvbmRMZW5ndGg9IjMwLjAwMDAwMCIgTGFiZWxGb250PSIzIiBDYXB0aW9uRm9udD0iNCI+CiAgICA8Zm9udHRhYmxlIGlkPSIxIj4KICAgICAgICA8Zm9udCBpZD0iMiIgY2hhcnNldD0idXRmLTgiIG5hbWU9IkFyaWFsIi8+CiAgICAgICAgPGZvbnQgaWQ9IjMiIGNoYXJzZXQ9InV0Zi04IiBuYW1lPSJUaW1lcyBOZXcgUm9tYW4iLz4KICAgIDwvZm9udHRhYmxlPgogICAgPGNvbG9ydGFibGU+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMCIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIxIiBnPSIwIiBiPSIwIi8+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjAiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMSIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIwIiBnPSIxIiBiPSIxIi8+CiAgICAgICAgPGNvbG9yIHI9IjAiIGc9IjAiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMSIgZz0iMCIgYj0iMSIvPgogICAgICAgIDxjb2xvciByPSIwLjUiIGc9IjAuNSIgYj0iMC41Ii8+CiAgICA8L2NvbG9ydGFibGU+CiAgICA8cGFnZSBIZWlnaHRQYWdlcz0iMSIgV2lkdGhQYWdlcz0iMSI+CiAgICAgICAgPGZyYWdtZW50IGlkPSI0Ij4KICAgICAgICAgICAgPG4gaWQ9IjUiIHA9IjEyMy4xMTk5ODcgNjYuMTIwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSI2IiBwPSIxMjMuMTE5OTg3IDgwLjUyMDAwNCIvPgogICAgICAgICAgICA8biBpZD0iNyIgcD0iMTM1LjU4OTk5NiA4Ny43MjAwMDEiLz4KICAgICAgICAgICAgPG4gaWQ9IjgiIHA9IjE0OC4wNTk5OTggODAuNTIwMDA0Ii8+CiAgICAgICAgICAgIDxuIGlkPSI5IiBwPSIxNDguMDU5OTk4IDY2LjEyMDAwMyIvPgogICAgICAgICAgICA8biBpZD0iMTAiIHA9IjEzNS41ODk5OTYgNTguOTE5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMSIgcD0iMTYwLjUyOTk5OSA1OC45MTk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjEyIiBwPSIxNzMuMDAwMDAwIDY2LjEyMDAwMyIvPgogICAgICAgICAgICA8biBpZD0iMTMiIHA9IjE4NS40NzAwMDEgNTguOTE5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxNCIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIxIiBwPSIxOTcuOTQwMDAyIDY2LjEyMDAwMyI+CiAgICAgICAgICAgICAgICA8dCBwPSIxOTcuOTQwMDAyIDY2LjEyMDAwMyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk9IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxNSIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxODUuNDcwMDAxIDQ0LjUyMDAwNCI+CiAgICAgICAgICAgICAgICA8dCBwPSIxODUuNDcwMDAxIDQ0LjUyMDAwNCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjE2IiBwPSIxMTAuNjUwMDAyIDg3LjcyMDAwMSIvPgogICAgICAgICAgICA8biBpZD0iMTciIHA9Ijk4LjE4MDAwMCA5NC45MTk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjE4IiBwPSIxMTAuNjUwMDAyIDEwMi4xMjAwMDMiLz4KICAgICAgICAgICAgPG4gaWQ9IjE5IiBwPSI5OC4xODAwMDAgODAuNTIwMDA0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxMTAiIEI9IjUiIEU9IjYiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxMTEiIEI9IjYiIEU9IjciLz4KICAgICAgICAgICAgPGIgaWQ9IjExMiIgQj0iNyIgRT0iOCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjExMyIgQj0iOCIgRT0iOSIvPgogICAgICAgICAgICA8YiBpZD0iMTE0IiBCPSI5IiBFPSIxMCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjExNSIgQj0iMTAiIEU9IjUiLz4KICAgICAgICAgICAgPGIgaWQ9IjExNiIgQj0iOSIgRT0iMTEiLz4KICAgICAgICAgICAgPGIgaWQ9IjExNyIgQj0iMTEiIEU9IjEyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxMTgiIEI9IjEyIiBFPSIxMyIvPgogICAgICAgICAgICA8YiBpZD0iMTE5IiBCPSIxMyIgRT0iMTQiLz4KICAgICAgICAgICAgPGIgaWQ9IjEyMCIgQj0iMTMiIEU9IjE1IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMTIxIiBCPSI2IiBFPSIxNiIvPgogICAgICAgICAgICA8YiBpZD0iMTIyIiBCPSIxNiIgRT0iMTciLz4KICAgICAgICAgICAgPGIgaWQ9IjEyMyIgQj0iMTYiIEU9IjE4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxMjQiIEI9IjE2IiBFPSIxOSIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSIyMCI+CiAgICAgICAgICAgIDxuIGlkPSIyMSIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyODQuOTU5OTkxIDg0LjE5MDAwMiI+CiAgICAgICAgICAgICAgICA8dCBwPSIyODQuOTU5OTkxIDg0LjE5MDAwMiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjIyIiBwPSIyOTcuNDY5OTcxIDc2Ljk1OTk5OSIvPgogICAgICAgICAgICA8biBpZD0iMjMiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMzA5Ljk3OTk4MCA4NC4xOTAwMDIiPgogICAgICAgICAgICAgICAgPHQgcD0iMzA5Ljk3OTk4MCA4NC4xOTAwMDIiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIyNCIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyOTcuNDY5OTcxIDYyLjUxMDAwMiI+CiAgICAgICAgICAgICAgICA8dCBwPSIyOTcuNDY5OTcxIDYyLjUxMDAwMiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjI1IiBwPSIyODQuOTU5OTkxIDU1LjI5MDAwMSIvPgogICAgICAgICAgICA8biBpZD0iMjYiIHA9IjI3Mi40Mzk5NzIgNzYuOTU5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyNyIgcD0iMzIyLjUwMDAwMCA3Ni45NTk5OTkiLz4KICAgICAgICAgICAgPGIgaWQ9IjEyNSIgQj0iMjEiIEU9IjIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxMjYiIEI9IjIyIiBFPSIyMyIvPgogICAgICAgICAgICA8YiBpZD0iMTI3IiBCPSIyMiIgRT0iMjQiLz4KICAgICAgICAgICAgPGIgaWQ9IjEyOCIgQj0iMjQiIEU9IjI1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxMjkiIEI9IjIxIiBFPSIyNiIvPgogICAgICAgICAgICA8YiBpZD0iMTMwIiBCPSIyMyIgRT0iMjciLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iMjgiPgogICAgICAgICAgICA8biBpZD0iMjkiIHA9IjQ2MC40NTk5OTEgNjQuMTIwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSIzMCIgcD0iNDYwLjQ1OTk5MSA3OC41MjAwMDQiLz4KICAgICAgICAgICAgPG4gaWQ9IjMxIiBwPSI0NzIuOTI5OTkzIDg1LjcyMDAwMSIvPgogICAgICAgICAgICA8biBpZD0iMzIiIHA9IjQ4NS40MDAwMjQgNzguNTIwMDA0Ii8+CiAgICAgICAgICAgIDxuIGlkPSIzMyIgcD0iNDg1LjQwMDAyNCA2NC4xMjAwMDMiLz4KICAgICAgICAgICAgPG4gaWQ9IjM0IiBwPSI0NzIuOTI5OTkzIDU2LjkxOTk5OCIvPgogICAgICAgICAgICA8biBpZD0iMzUiIHA9IjQ5Ny44Njk5OTUgNTYuOTE5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSIzNiIgcD0iNTEwLjMzOTkzNSA2NC4xMjAwMDMiLz4KICAgICAgICAgICAgPG4gaWQ9IjM3IiBwPSI1MjIuODA5OTk4IDU2LjkxOTk5OCIvPgogICAgICAgICAgICA8biBpZD0iMzgiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNTM1LjI3OTk2OCA2NC4xMjAwMDMiPgogICAgICAgICAgICAgICAgPHQgcD0iNTM1LjI3OTk2OCA2NC4xMjAwMDMiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIzOSIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSI1MjIuODA5OTk4IDQyLjUyMDAwNCI+CiAgICAgICAgICAgICAgICA8dCBwPSI1MjIuODA5OTk4IDQyLjUyMDAwNCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjQwIiBwPSI0NDcuOTg5OTkwIDg1LjcyMDAwMSIvPgogICAgICAgICAgICA8biBpZD0iNDEiIHA9IjQzNS41MTk5ODkgOTIuOTE5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSI0MiIgcD0iNDQ3Ljk4OTk5MCAxMDAuMTIwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSI0MyIgcD0iNDM1LjUxOTk4OSA3OC41MjAwMDQiLz4KICAgICAgICAgICAgPG4gaWQ9IjQ0IiBwPSI1NDcuNzk5OTg4IDU2LjkwMDAwMiIvPgogICAgICAgICAgICA8YiBpZD0iMTMxIiBCPSIyOSIgRT0iMzAiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxMzIiIEI9IjMwIiBFPSIzMSIvPgogICAgICAgICAgICA8YiBpZD0iMTMzIiBCPSIzMSIgRT0iMzIiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxMzQiIEI9IjMyIiBFPSIzMyIvPgogICAgICAgICAgICA8YiBpZD0iMTM1IiBCPSIzMyIgRT0iMzQiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxMzYiIEI9IjM0IiBFPSIyOSIvPgogICAgICAgICAgICA8YiBpZD0iMTM3IiBCPSIzMyIgRT0iMzUiLz4KICAgICAgICAgICAgPGIgaWQ9IjEzOCIgQj0iMzUiIEU9IjM2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxMzkiIEI9IjM2IiBFPSIzNyIvPgogICAgICAgICAgICA8YiBpZD0iMTQwIiBCPSIzNyIgRT0iMzgiLz4KICAgICAgICAgICAgPGIgaWQ9IjE0MSIgQj0iMzciIEU9IjM5IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMTQyIiBCPSIzMCIgRT0iNDAiLz4KICAgICAgICAgICAgPGIgaWQ9IjE0MyIgQj0iNDAiIEU9IjQxIi8+CiAgICAgICAgICAgIDxiIGlkPSIxNDQiIEI9IjQwIiBFPSI0MiIvPgogICAgICAgICAgICA8YiBpZD0iMTQ1IiBCPSI0MCIgRT0iNDMiLz4KICAgICAgICAgICAgPGIgaWQ9IjE0NiIgQj0iMzgiIEU9IjQ0Ii8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjQ1Ij4KICAgICAgICAgICAgPG4gaWQ9IjQ2IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjM5MC45NTk5OTEgMzEzLjE5MDAwMiI+CiAgICAgICAgICAgICAgICA8dCBwPSIzOTAuOTU5OTkxIDMxMy4xOTAwMDIiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI0NyIgcD0iNDAzLjQ2OTk3MSAzMDUuOTU5OTkxIi8+CiAgICAgICAgICAgIDxuIGlkPSI0OCIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSI0MDMuNDY5OTcxIDI5MS41MDk5NzkiPgogICAgICAgICAgICAgICAgPHQgcD0iNDAzLjQ2OTk3MSAyOTEuNTA5OTc5IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNDkiIHA9IjM3OC40Mzk5NzIgMzA1Ljk1OTk5MSIvPgogICAgICAgICAgICA8YiBpZD0iMTQ3IiBCPSI0NiIgRT0iNDciLz4KICAgICAgICAgICAgPGIgaWQ9IjE0OCIgQj0iNDciIEU9IjQ4IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMTQ5IiBCPSI0NiIgRT0iNDkiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDx0IGlkPSI1MCIgcD0iMzcyLjgyNDk4MiA4OS43NzAwMDQiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPk5lYXQ8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI1MCIgcD0iMzcyLjgyNDk4MiA4OS43NzAwMDQiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjgwIMKwQzwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjUzIiBwPSI4Ny40NDAwMDIgNy40MTUwMDAiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTYiIGZhY2U9IjIiPkVzdGVyaWZpY2F0aW9uX1J4bjI8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI1NiIgcD0iNDQ3LjYwOTk4NSAyNjYuODY5OTk1IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bYnlwcm9kdWN0c108L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI1OSIgcD0iMjMuMzI1MDAxIDI4NS4zNjk5OTUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjEiPktleTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPGdyYXBoaWMgaWQ9IjYyIiBCb3VuZGluZ0JveD0iMC43OTk5OTkgNDg5LjM5OTk5NCAzNDcuMzU5OTg1IDI2OC4xMDAwMDYiIEdyYXBoaWNUeXBlPSJSZWN0YW5nbGUiLz4KICAgICAgICA8dCBpZD0iNjUiIHA9IjQ5MS42NTQ5OTkgMTI5LjYzMDAwNSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj4xMjExLTk5LTA8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI2OCIgcD0iMTUzLjEzOTk5OSAxNTEuNjk5OTk3IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4xLjAgZXF1aXY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI3MSIgcD0iMjk3LjQ3NDk3NiAxNTEuNjk5OTk3IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj42LjAgZXF1aXY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI3NCIgcD0iMjk3LjQ3MDAwMSAxNzEuNjg1MDEzIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bZXN0ZXJdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iNzciIHA9IjE1My4xMzQ5OTUgMTcxLjY4NTAxMyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2FjaWRdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iODAiIHA9IjQ5MS42NTk5NzMgMTcxLjY4NTAxMyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2Rlc2lyZWQgcHJvZHVjdF08L3M+CiAgICAgICAgPC90PgogICAgICAgIDxncmFwaGljIGlkPSI4MyIgQm91bmRpbmdCb3g9IjI0NS42ODUwMjggNzUuNzYwMDAyIDI0NS42ODUwMjggNjguMjYwMDAyIiBHcmFwaGljVHlwZT0iU3ltYm9sIiBTeW1ib2xUeXBlPSJQbHVzIi8+CiAgICAgICAgPHQgaWQ9Ijg2IiBwPSIxNTMuMTM5OTk5IDEyOS42MzAwMDUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+MTIwOC02NC02PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iODkiIHA9IjE1My4xMzk5OTkgMTE1LjA0MDAwMSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj4zLSg0LSg8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI4OSIgcD0iMTUzLjEzOTk5OSAxMTUuMDQwMDAxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjIiPnRlcnQ8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI4OSIgcD0iMTUzLjEzOTk5OSAxMTUuMDQwMDAxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjIiPi1idXR5bClwaGVueWwpcHJvcGFub2ljIGFjaWQ8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI5MiIgcD0iMjk3LjQ3NDk3NiAxMTUuMDk1MDAxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPnRyaW1ldGhveHltZXRoYW5lPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iOTUiIHA9IjQ5MS42NTk5NzMgMTE1LjA0MDAwMSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj5tZXRoeWwgMy0oNC0oPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iOTUiIHA9IjQ5MS42NTk5NzMgMTE1LjA0MDAwMSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIyIj50ZXJ0PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iOTUiIHA9IjQ5MS42NTk5NzMgMTE1LjA0MDAwMSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIyIj4tYnV0eWwpcGhlbnlsKXByb3Bhbm9hdGU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI5OCIgcD0iMjk3LjQ2NDk5NiAxMjkuNjMwMDA1IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjE0OS03My01PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTAxIiBwPSIzOTkuODM5OTk2IDMzMS41NTk5OTgiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+bWV0aHlsIGZvcm1hdGU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDxhcnJvdyBpZD0iMTA0IiBCb3VuZGluZ0JveD0iNDQyLjYwOTk4NSAzMzMuNjQ5OTk0IDQ0Mi42MDk5ODUgMjg3LjE0OTk5NCIgRmlsbFR5cGU9Ik5vbmUiIEFycm93aGVhZFR5cGU9IlNvbGlkIiBIZWFkU2l6ZT0iMjI1MCIgQXJyb3doZWFkV2lkdGg9IjU2MyIgQXJyb3doZWFkSGVhZD0iRnVsbCIgQXJyb3doZWFkQ2VudGVyU2l6ZT0iMjUiIEhlYWQzRD0iNDQyLjYwOTk4NSAzMzMuNjQ5OTk0IDAuMDAwMDAwIiBUYWlsM0Q9IjQ0Mi42MDk5ODUgMjg3LjE0OTk5NCAwLjAwMDAwMCIvPgogICAgICAgIDxhcnJvdyBpZD0iMTA3IiBCb3VuZGluZ0JveD0iMzk1LjYwOTk4NSA3My42NTAwMDIgMzU1LjEwOTk4NSA3My42NTAwMDIiIEZpbGxUeXBlPSJOb25lIiBBcnJvd2hlYWRUeXBlPSJTb2xpZCIgSGVhZFNpemU9IjIyNTAiIEFycm93aGVhZFdpZHRoPSI1NjMiIEFycm93aGVhZEhlYWQ9IkZ1bGwiIEFycm93aGVhZENlbnRlclNpemU9IjI1IiBIZWFkM0Q9IjM5NS42MDk5ODUgNzMuNjUwMDAyIDAuMDAwMDAwIiBUYWlsM0Q9IjM1NS4xMDk5ODUgNzMuNjUwMDAyIDAuMDAwMDAwIi8+CiAgICAgICAgPHNjaGVtZT4KICAgICAgICAgICAgPHN0ZXAgUmVhY3Rpb25TdGVwQXJyb3dzPSIxMDQiLz4KICAgICAgICAgICAgPHN0ZXAgUmVhY3Rpb25TdGVwQXJyb3dzPSIxMDciLz4KICAgICAgICA8L3NjaGVtZT4KICAgIDwvcGFnZT4KPC9DRFhNTD4K \ No newline at end of file diff --git a/api/tests/integration/tests/formats/ref/Esterification_Rxn2.cdxml b/api/tests/integration/tests/formats/ref/Esterification_Rxn2.cdxml new file mode 100644 index 0000000000..4bc96ce77f --- /dev/null +++ b/api/tests/integration/tests/formats/ref/Esterification_Rxn2.cdxml @@ -0,0 +1,218 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OH + + + + + O + + + + + + + + + + + + + + + + + + + + + + + + + + O + + + + + + O + + + + + O + + + + + + + + + + + + + + + + + + + + + + + + + O + + + + + O + + + + + + + + + + + + + + + + + + + + + + + + + + + + O + + + + + + O + + + + + + + + + Neat + + + 80 °C + + + Esterification_Rxn2 + + + [byproducts] + + + Key + + + + 1211-99-0 + + + 1.0 equiv + + + 6.0 equiv + + + [ester] + + + [acid] + + + [desired product] + + + + 1208-64-6 + + + 3-(4-( + + + tert + + + -butyl)phenyl)propanoic acid + + + trimethoxymethane + + + methyl 3-(4-( + + + tert + + + -butyl)phenyl)propanoate + + + 149-73-5 + + + methyl formate + + + + + + + + + diff --git a/api/tests/integration/tests/formats/ref/Grignard_Rxn1.b64cdx b/api/tests/integration/tests/formats/ref/Grignard_Rxn1.b64cdx new file mode 100644 index 0000000000..6aa586284b --- /dev/null +++ b/api/tests/integration/tests/formats/ref/Grignard_Rxn1.b64cdx @@ -0,0 +1 @@ +PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIENEWE1MIFNZU1RFTSAiaHR0cDovL3d3dy5jYW1icmlkZ2Vzb2Z0LmNvbS94bWwvY2R4bWwuZHRkIj4KPENEWE1MIEJvbmRMZW5ndGg9IjMwLjAwMDAwMCIgTGFiZWxGb250PSIzIiBDYXB0aW9uRm9udD0iNCI+CiAgICA8Zm9udHRhYmxlIGlkPSIxIj4KICAgICAgICA8Zm9udCBpZD0iMiIgY2hhcnNldD0idXRmLTgiIG5hbWU9IkFyaWFsIi8+CiAgICAgICAgPGZvbnQgaWQ9IjMiIGNoYXJzZXQ9InV0Zi04IiBuYW1lPSJUaW1lcyBOZXcgUm9tYW4iLz4KICAgIDwvZm9udHRhYmxlPgogICAgPGNvbG9ydGFibGU+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMCIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIxIiBnPSIwIiBiPSIwIi8+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjAiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMSIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIwIiBnPSIxIiBiPSIxIi8+CiAgICAgICAgPGNvbG9yIHI9IjAiIGc9IjAiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMSIgZz0iMCIgYj0iMSIvPgogICAgICAgIDxjb2xvciByPSIwLjUiIGc9IjAuNSIgYj0iMC41Ii8+CiAgICA8L2NvbG9ydGFibGU+CiAgICA8cGFnZSBIZWlnaHRQYWdlcz0iMSIgV2lkdGhQYWdlcz0iMSI+CiAgICAgICAgPGZyYWdtZW50IGlkPSI0Ij4KICAgICAgICAgICAgPG4gaWQ9IjUiIHA9IjEwNS42MTAwMDEgNjUuNjUwMDAyIi8+CiAgICAgICAgICAgIDxuIGlkPSI2IiBwPSIxMDUuNjEwMDAxIDgwLjA1MDAwMyIvPgogICAgICAgICAgICA8biBpZD0iNyIgcD0iMTE4LjA4MDAwMiA4Ny4yNTAwMDAiLz4KICAgICAgICAgICAgPG4gaWQ9IjgiIHA9IjEzMC41NTAwMDMgODAuMDUwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSI5IiBwPSIxMzAuNTUwMDAzIDY1LjY1MDAwMiIvPgogICAgICAgICAgICA8biBpZD0iMTAiIHA9IjExOC4wODAwMDIgNTguNDUwMDA1Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMSIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSI5My4xMzk5OTkgODcuMjUwMDAwIj4KICAgICAgICAgICAgICAgIDx0IHA9IjkzLjEzOTk5OSA4Ny4yNTAwMDAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxMiIgcD0iMTQzLjAyMDAwNCA1OC40NTAwMDUiLz4KICAgICAgICAgICAgPG4gaWQ9IjEzIiBFbGVtZW50PSIxIiBwPSIxNTUuNDg5OTkwIDY1LjY1MDAwMiI+CiAgICAgICAgICAgICAgICA8dCBwPSIxNTUuNDg5OTkwIDY1LjY1MDAwMiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkg8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjE0IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjE0My4wMjAwMDQgNDQuMDUwMDAzIj4KICAgICAgICAgICAgICAgIDx0IHA9IjE0My4wMjAwMDQgNDQuMDUwMDAzIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMTUiIHA9Ijc5Ljk3OTk5NiA4MS4zODk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9IjE2IiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjcwLjM1MDAwNiA5Mi4wOTAwMDQiPgogICAgICAgICAgICAgICAgPHQgcD0iNzAuMzUwMDA2IDkyLjA5MDAwNCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk48L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjE3IiBwPSI3Ny41NTAwMDMgMTA0LjU3MDAwMCIvPgogICAgICAgICAgICA8biBpZD0iMTgiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iOTEuNjMwMDA1IDEwMS41NzAwMDAiPgogICAgICAgICAgICAgICAgPHQgcD0iOTEuNjMwMDA1IDEwMS41NzAwMDAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxiIGlkPSIxMzIiIEI9IjUiIEU9IjYiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxMzMiIEI9IjYiIEU9IjciLz4KICAgICAgICAgICAgPGIgaWQ9IjEzNCIgQj0iNyIgRT0iOCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjEzNSIgQj0iOCIgRT0iOSIvPgogICAgICAgICAgICA8YiBpZD0iMTM2IiBCPSI5IiBFPSIxMCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjEzNyIgQj0iMTAiIEU9IjUiLz4KICAgICAgICAgICAgPGIgaWQ9IjEzOCIgQj0iNiIgRT0iMTEiLz4KICAgICAgICAgICAgPGIgaWQ9IjEzOSIgQj0iOSIgRT0iMTIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE0MCIgQj0iMTIiIEU9IjEzIi8+CiAgICAgICAgICAgIDxiIGlkPSIxNDEiIEI9IjEyIiBFPSIxNCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE0MiIgQj0iMTEiIEU9IjE1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxNDMiIEI9IjE1IiBFPSIxNiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE0NCIgQj0iMTYiIEU9IjE3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxNDUiIEI9IjE3IiBFPSIxOCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE0NiIgQj0iMTgiIEU9IjExIi8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjE5Ij4KICAgICAgICAgICAgPG4gaWQ9IjE0OCIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iMTQ5Ij4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMjAiIHA9IjI0OC4wMjk5NjggNzYuMzIwMDAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMjQ4LjAyOTk2OCA3Ni4zMjAwMDAiIEp1c3RpZmljYXRpb249IkNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkNINDwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+TWU8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjE1MCIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iMTUxIj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMjEiIEVsZW1lbnQ9IjEyIiBOdW1IeWRyb2dlbnM9IjAiIHA9IjI2MC41MDAwMDAgNjkuMTIwMDAzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMjYwLjUwMDAwMCA2OS4xMjAwMDMiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk1nPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIyMiIgRWxlbWVudD0iMzUiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjYwLjUwMDAwMCA1NC43NzAwMDQiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIyNjAuNTAwMDAwIDU0Ljc3MDAwNCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+QnI8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjE0NyIgQj0iMjEiIEU9IjIyIi8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPk1nPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjIzIj4KICAgICAgICAgICAgPG4gaWQ9IjE2NyIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iMTY4Ij4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMzIiIHA9IjU1NS4yNTAwMDAgNjUuNjUwMDAyIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjE2OSIgTm9kZVR5cGU9IkV4dGVybmFsQ29ubmVjdGlvblBvaW50Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjE3MSIgQj0iMTY5IiBFPSIzMiIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5NZTwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMjQiIHA9IjUwNS4zNjk5OTUgNjUuNjUwMDAyIi8+CiAgICAgICAgICAgIDxuIGlkPSIyNSIgcD0iNTA1LjM2OTk5NSA4MC4wNTAwMDMiLz4KICAgICAgICAgICAgPG4gaWQ9IjI2IiBwPSI1MTcuODQwMDI3IDg3LjI1MDAwMCIvPgogICAgICAgICAgICA8biBpZD0iMjciIHA9IjUzMC4zMDk5OTggODAuMDUwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSIyOCIgcD0iNTMwLjMwOTk5OCA2NS42NTAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjI5IiBwPSI1MTcuODQwMDI3IDU4LjQ1MDAwNSIvPgogICAgICAgICAgICA8biBpZD0iMzAiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNDkyLjkwMDAyNCA4Ny4yNTAwMDAiPgogICAgICAgICAgICAgICAgPHQgcD0iNDkyLjkwMDAyNCA4Ny4yNTAwMDAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIzMSIgcD0iNTQyLjc4MDAyOSA1OC40NTAwMDUiLz4KICAgICAgICAgICAgPG4gaWQ9IjMzIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjU0Mi43ODAwMjkgNDQuMDUwMDAzIj4KICAgICAgICAgICAgICAgIDx0IHA9IjU0Mi43ODAwMjkgNDQuMDUwMDAzIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+T0g8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjM0IiBwPSI0NzkuNzQwMDIxIDgxLjM4OTk5OSIvPgogICAgICAgICAgICA8biBpZD0iMzUiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNDcwLjExMDAxNiA5Mi4wOTAwMDQiPgogICAgICAgICAgICAgICAgPHQgcD0iNDcwLjExMDAxNiA5Mi4wOTAwMDQiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIzNiIgcD0iNDc3LjMwOTk5OCAxMDQuNTcwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSIzNyIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSI0OTEuMzkwMDE1IDEwMS41NzAwMDAiPgogICAgICAgICAgICAgICAgPHQgcD0iNDkxLjM5MDAxNSAxMDEuNTcwMDAwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8YiBpZD0iMTUyIiBCPSIyNCIgRT0iMjUiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxNTMiIEI9IjI1IiBFPSIyNiIvPgogICAgICAgICAgICA8YiBpZD0iMTU0IiBCPSIyNiIgRT0iMjciIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxNTUiIEI9IjI3IiBFPSIyOCIvPgogICAgICAgICAgICA8YiBpZD0iMTU2IiBCPSIyOCIgRT0iMjkiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxNTciIEI9IjI5IiBFPSIyNCIvPgogICAgICAgICAgICA8YiBpZD0iMTU4IiBCPSIyNSIgRT0iMzAiLz4KICAgICAgICAgICAgPGIgaWQ9IjE1OSIgQj0iMjgiIEU9IjMxIi8+CiAgICAgICAgICAgIDxiIGlkPSIxNjEiIEI9IjMxIiBFPSIzMyIvPgogICAgICAgICAgICA8YiBpZD0iMTYyIiBCPSIzMCIgRT0iMzQiLz4KICAgICAgICAgICAgPGIgaWQ9IjE2MyIgQj0iMzQiIEU9IjM1IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMTY0IiBCPSIzNSIgRT0iMzYiLz4KICAgICAgICAgICAgPGIgaWQ9IjE2NSIgQj0iMzYiIEU9IjM3IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMTY2IiBCPSIzNyIgRT0iMzAiLz4KICAgICAgICAgICAgPGIgaWQ9IjE3MCIgQj0iMzEiIEU9IjE2NyIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSIzOCI+CiAgICAgICAgICAgIDxuIGlkPSIxNzciIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjE3OCI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjM5IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjI4Ni41ODAwMTcgMzEyLjQ4OTk5MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjI4Ni41ODAwMTcgMzEyLjQ4OTk5MCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNDAiIHA9IjI5MS4wMjAwMjAgMzI2LjEzOTk4NCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI0MSIgcD0iMjcyLjIzMDAxMSAzMTIuNDg5OTkwIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjQyIiBwPSIyNjcuODAwMDE4IDMyNi4xMzk5ODQiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNDMiIHA9IjI3OS40MTAwMDQgMzM0LjU3MDAwNyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIxNzIiIEI9IjQyIiBFPSI0MyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIxNzMiIEI9IjQxIiBFPSI0MiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIxNzQiIEI9IjQwIiBFPSI0MyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIxNzUiIEI9IjM5IiBFPSI0MCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIxNzYiIEI9IjM5IiBFPSI0MSIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5USEY8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNDQiPgogICAgICAgICAgICA8biBpZD0iMTgxIiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSIxODIiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI0NSIgRWxlbWVudD0iMTIiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMzg4LjUwMDAwMCAzMjAuMTYwMDA0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMzg4LjUwMDAwMCAzMjAuMTYwMDA0IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5NZzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNDYiIEVsZW1lbnQ9IjM1IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjM3Ni4wNzAwMDcgMzI3LjMzOTk5NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjM3Ni4wNzAwMDcgMzI3LjMzOTk5NiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+QnI8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjQ3IiBFbGVtZW50PSIxNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSI0MDAuOTMwMDIzIDMyNy4zMzk5OTYiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSI0MDAuOTMwMDIzIDMyNy4zMzk5OTYiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkNsPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIxNzkiIEI9IjQ1IiBFPSI0NiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIxODAiIEI9IjQ1IiBFPSI0NyIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5NZzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI0OCI+CiAgICAgICAgICAgIDxuIGlkPSIxODgiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjE4OSI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjQ5IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjI1OC4zODAwMDUgMzM0LjQ4OTk5MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjI1OC4zODAwMDUgMzM0LjQ4OTk5MCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNTAiIHA9IjI2Mi44MjAwMDcgMzQ4LjEzOTk4NCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI1MSIgcD0iMjQ0LjAyOTk4NCAzMzQuNDg5OTkwIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjUyIiBwPSIyMzkuNTk5OTkxIDM0OC4xMzk5ODQiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNTMiIHA9IjI1MS4yMTAwMDcgMzU2LjU3MDAwNyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIxODMiIEI9IjUyIiBFPSI1MyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIxODQiIEI9IjUxIiBFPSI1MiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIxODUiIEI9IjUwIiBFPSI1MyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIxODYiIEI9IjQ5IiBFPSI1MCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIxODciIEI9IjQ5IiBFPSI1MSIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5USEY8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNTQiPgogICAgICAgICAgICA8biBpZD0iNTUiIHA9IjY0LjQ0OTk5NyAzNzYuNjQ5OTk0Ii8+CiAgICAgICAgICAgIDxuIGlkPSI1NiIgcD0iNzguODUwMDA2IDM3Ni42NDk5OTQiLz4KICAgICAgICAgICAgPG4gaWQ9IjU3IiBwPSI4My4zMDAwMDMgMzYyLjk0OTk4MiIvPgogICAgICAgICAgICA8biBpZD0iNTgiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNzEuNjQ5OTk0IDM1NC40ODk5OTAiPgogICAgICAgICAgICAgICAgPHQgcD0iNzEuNjQ5OTk0IDM1NC40ODk5OTAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI1OSIgcD0iNjAuMDAwMDA4IDM2Mi45NDk5ODIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE5MCIgQj0iNTUiIEU9IjU2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxOTEiIEI9IjU2IiBFPSI1NyIvPgogICAgICAgICAgICA8YiBpZD0iMTkyIiBCPSI1NyIgRT0iNTgiLz4KICAgICAgICAgICAgPGIgaWQ9IjE5MyIgQj0iNTgiIEU9IjU5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxOTQiIEI9IjU5IiBFPSI1NSIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPHQgaWQ9IjYwIiBwPSIzNjEuMTgwMDIzIDEzMy42MDQ5OTYiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjAuMSBNIGluIGxpbWl0aW5nPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iNjMiIHA9IjM2MS4xNzUwMTggMTE3LjY4NTAwNSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+ci50Ljwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjY2IiBwPSI1MC42MzUwMDIgNy40ODUwMDAiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTYiIGZhY2U9IjIiPkdyaWduYXJkIFJ4bjE8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI2OSIgcD0iNTE1LjkwOTk3MyAxODIuNDM0OTgyIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bZGVzaXJlZCBwcm9kdWN0XTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjcyIiBwPSIxMTIuODk0OTk3IDExOS43NTAwMDgiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+NC0oMTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjcyIiBwPSIxMTIuODk0OTk3IDExOS43NTAwMDgiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+SDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjcyIiBwPSIxMTIuODk0OTk3IDExOS43NTAwMDgiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+LTEsMiw0LXRyaWF6b2wtMS15bCliZW56YWxkZWh5ZGU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI3NSIgcD0iMTEyLjkwNDk5OSAxNDEuNzIwMDAxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjI3OTk2LTg2LTc8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI3OCIgcD0iMjU5LjAxMDAxMCAxNDEuNzIwMDAxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjc1LTE2LTE8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI4MSIgcD0iMzkyLjk1MDAxMiAyODQuODY5OTk1IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bYnlwcm9kdWN0c108L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI4NCIgcD0iMjMuMTY1MDAxIDI5Mi4zNjk5OTUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjEiPktleTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPGdyYXBoaWMgaWQ9Ijg3IiBCb3VuZGluZ0JveD0iMS42NDAwMDEgNDk3Ljg5OTk5NCAzNDguMjAwMDEyIDI3Ni42MDAwMDYiIEdyYXBoaWNUeXBlPSJSZWN0YW5nbGUiLz4KICAgICAgICA8Z3JhcGhpYyBpZD0iOTAiIEJvdW5kaW5nQm94PSIyMDIuODY5OTk1IDc2LjUyNDk5NCAyMDIuODY5OTk1IDY5LjAyNDk5NCIgR3JhcGhpY1R5cGU9IlN5bWJvbCIgU3ltYm9sVHlwZT0iUGx1cyIvPgogICAgICAgIDx0IGlkPSI5MyIgcD0iMjU5LjAxMDAxMCAxNjQuMDUwMDAzIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4yLjAgZXF1aXY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI5NiIgcD0iMTEyLjkwMDAwMiAxNjQuMDUwMDAzIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4xLjAgZXF1aXY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI5OSIgcD0iMjU5LjAwNTAwNSAxODIuMzA5OTk4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bR3JpZ25hcmQgbnVjbGVvcGhpbGVdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTAyIiBwPSIxMTIuOTA0OTkxIDE4Mi4zNjk5ODAiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltjYXJib255bF08L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMDUiIHA9IjY5LjI0OTk5MiAzMjQuMTUwMDI0IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPnRldHJhaHlkcm9mdXJhbjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEwOCIgcD0iNzAuNzU0OTk3IDQwNy41NjUwMDIiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltzb2x2ZW50XTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjExMSIgcD0iNTE1LjkwNTAyOSAxMTkuNzUwMDA4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPjEtKDQtKDE8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMTEiIHA9IjUxNS45MDUwMjkgMTE5Ljc1MDAwOCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIzIj5IPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTExIiBwPSI1MTUuOTA1MDI5IDExOS43NTAwMDgiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+LTEsMiw0LXRyaWF6b2wtMS15bClwaGVueWwpZXRoYW4tMS1vbDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjExNCIgcD0iMjU5LjAwNTAwNSAxMjMuOTc1MDA2IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPm1ldGh5bG1hZ25lc2l1bTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjExNCIgcD0iMjU5LjAwNTAwNSAxMjMuOTc1MDA2IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPmJyb21pZGU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMTciIHA9IjUxNS45MTAwOTUgMTQxLjcyMDAwMSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj45MjYyMjgtOTgtMDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEyMCIgcD0iNzIuNzU1MDA1IDM0MC40Njk5NzEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+MTA5LTk5LTk8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMjMiIHA9IjcxLjE1NDk5OSAzODguNzE0OTk2IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPk1XIDcyLjExPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8YXJyb3cgaWQ9IjEyNiIgQm91bmRpbmdCb3g9IjQzNC45NTAwMTIgNDAyLjY0OTk5NCA0MzQuOTUwMDEyIDMwNC4zOTk5OTQiIEZpbGxUeXBlPSJOb25lIiBBcnJvd2hlYWRUeXBlPSJTb2xpZCIgSGVhZFNpemU9IjIyNTAiIEFycm93aGVhZFdpZHRoPSI1NjMiIEFycm93aGVhZEhlYWQ9IkZ1bGwiIEFycm93aGVhZENlbnRlclNpemU9IjI1IiBIZWFkM0Q9IjQzNC45NTAwMTIgNDAyLjY0OTk5NCAwLjAwMDAwMCIgVGFpbDNEPSI0MzQuOTUwMDEyIDMwNC4zOTk5OTQgMC4wMDAwMDAiLz4KICAgICAgICA8YXJyb3cgaWQ9IjEyOSIgQm91bmRpbmdCb3g9IjQwNC45NTAwMTIgODkuNjUwMDAyIDMyMS40NTAwMTIgODkuNjUwMDAyIiBGaWxsVHlwZT0iTm9uZSIgQXJyb3doZWFkVHlwZT0iU29saWQiIEhlYWRTaXplPSIyMjUwIiBBcnJvd2hlYWRXaWR0aD0iNTYzIiBBcnJvd2hlYWRIZWFkPSJGdWxsIiBBcnJvd2hlYWRDZW50ZXJTaXplPSIyNSIgSGVhZDNEPSI0MDQuOTUwMDEyIDg5LjY1MDAwMiAwLjAwMDAwMCIgVGFpbDNEPSIzMjEuNDUwMDEyIDg5LjY1MDAwMiAwLjAwMDAwMCIvPgogICAgICAgIDxzY2hlbWU+CiAgICAgICAgICAgIDxzdGVwIFJlYWN0aW9uU3RlcE9iamVjdHNBYm92ZUFycm93PSIzOCIgUmVhY3Rpb25TdGVwQXJyb3dzPSIxMjYiLz4KICAgICAgICAgICAgPHN0ZXAgUmVhY3Rpb25TdGVwT2JqZWN0c0Fib3ZlQXJyb3c9IjM4IiBSZWFjdGlvblN0ZXBBcnJvd3M9IjEyOSIvPgogICAgICAgIDwvc2NoZW1lPgogICAgPC9wYWdlPgo8L0NEWE1MPgo= \ No newline at end of file diff --git a/api/tests/integration/tests/formats/ref/Grignard_Rxn1.cdxml b/api/tests/integration/tests/formats/ref/Grignard_Rxn1.cdxml new file mode 100644 index 0000000000..b3775f1a56 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/Grignard_Rxn1.cdxml @@ -0,0 +1,331 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + N + + + + + + H + + + + + O + + + + + + N + + + + + + N + + + + + + + + + + + + + + + + + + + + + + + + CH4 + + + + + Me + + + + + + + Mg + + + + + Br + + + + + + Mg + + + + + + + + + + + + Me + + + + + + + + + + + N + + + + + + OH + + + + + + N + + + + + + N + + + + + + + + + + + + + + + + + + + + + + + + O + + + + + + + + + + + + + + THF + + + + + + + + + Mg + + + + + Br + + + + + Cl + + + + + + + Mg + + + + + + + + + O + + + + + + + + + + + + + + THF + + + + + + + + + + O + + + + + + + + + + + 0.1 M in limiting + + + r.t. + + + Grignard Rxn1 + + + [desired product] + + + 4-(1 + + + H + + + -1,2,4-triazol-1-yl)benzaldehyde + + + 27996-86-7 + + + 75-16-1 + + + [byproducts] + + + Key + + + + + 2.0 equiv + + + 1.0 equiv + + + [Grignard nucleophile] + + + [carbonyl] + + + tetrahydrofuran + + + [solvent] + + + 1-(4-(1 + + + H + + + -1,2,4-triazol-1-yl)phenyl)ethan-1-ol + + + methylmagnesium + + + bromide + + + 926228-98-0 + + + 109-99-9 + + + MW 72.11 + + + + + + + + + diff --git a/api/tests/integration/tests/formats/ref/Grignard_Rxn2.b64cdx b/api/tests/integration/tests/formats/ref/Grignard_Rxn2.b64cdx new file mode 100644 index 0000000000..6148214061 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/Grignard_Rxn2.b64cdx @@ -0,0 +1 @@ +PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIENEWE1MIFNZU1RFTSAiaHR0cDovL3d3dy5jYW1icmlkZ2Vzb2Z0LmNvbS94bWwvY2R4bWwuZHRkIj4KPENEWE1MIEJvbmRMZW5ndGg9IjMwLjAwMDAwMCIgTGFiZWxGb250PSIzIiBDYXB0aW9uRm9udD0iNCI+CiAgICA8Zm9udHRhYmxlIGlkPSIxIj4KICAgICAgICA8Zm9udCBpZD0iMiIgY2hhcnNldD0idXRmLTgiIG5hbWU9IkFyaWFsIi8+CiAgICAgICAgPGZvbnQgaWQ9IjMiIGNoYXJzZXQ9InV0Zi04IiBuYW1lPSJUaW1lcyBOZXcgUm9tYW4iLz4KICAgIDwvZm9udHRhYmxlPgogICAgPGNvbG9ydGFibGU+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMCIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIxIiBnPSIwIiBiPSIwIi8+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjAiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMSIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIwIiBnPSIxIiBiPSIxIi8+CiAgICAgICAgPGNvbG9yIHI9IjAiIGc9IjAiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMSIgZz0iMCIgYj0iMSIvPgogICAgICAgIDxjb2xvciByPSIwLjUiIGc9IjAuNSIgYj0iMC41Ii8+CiAgICA8L2NvbG9ydGFibGU+CiAgICA8cGFnZSBIZWlnaHRQYWdlcz0iMSIgV2lkdGhQYWdlcz0iMSI+CiAgICAgICAgPGZyYWdtZW50IGlkPSI0Ij4KICAgICAgICAgICAgPG4gaWQ9IjUiIHA9Ijk2LjM3OTk5NyA1Ny41OTAwMDQiLz4KICAgICAgICAgICAgPG4gaWQ9IjYiIHA9IjE3MC45OTAwMDUgNzEuOTE5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSI3IiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjE4My40MTAwMDQgNzkuMDkwMDA0Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjE4My40MTAwMDQgNzkuMDkwMDA0IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iOCIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxOTUuODM5OTk2IDcxLjkxOTk5OCI+CiAgICAgICAgICAgICAgICA8dCBwPSIxOTUuODM5OTk2IDcxLjkxOTk5OCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjkiIHA9IjIwOC4yNzAwMDQgNzkuMDkwMDA0Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMCIgcD0iMTgzLjQxMDAwNCA5My40NDAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjExIiBwPSIxMzMuNjk5OTk3IDc5LjA5MDAwNCIvPgogICAgICAgICAgICA8biBpZD0iMTIiIHA9IjEyMS4yNzk5OTEgNzEuOTE5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMyIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxMDguODQ5OTk4IDUwLjM4OTk5OSI+CiAgICAgICAgICAgICAgICA8dCBwPSIxMDguODQ5OTk4IDUwLjM4OTk5OSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjE0IiBwPSIxMjEuMjc5OTkxIDU3LjU3MDAwMCIvPgogICAgICAgICAgICA8biBpZD0iMTUiIHA9IjEzMy42OTk5OTcgNTAuMzg5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxNiIgcD0iMTQ2LjEzMDAwNSA1Ny41NzAwMDAiLz4KICAgICAgICAgICAgPG4gaWQ9IjE3IiBwPSIxNDYuMTMwMDA1IDcxLjkxOTk5OCIvPgogICAgICAgICAgICA8biBpZD0iMTgiIHA9IjE1OC41NTk5OTggNzkuMDkwMDA0Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxOSIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxNzAuOTkwMDA1IDU3LjUyMDAwNCI+CiAgICAgICAgICAgICAgICA8dCBwPSIxNzAuOTkwMDA1IDU3LjUyMDAwNCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPGIgaWQ9IjE1NCIgQj0iMTMiIEU9IjUiLz4KICAgICAgICAgICAgPGIgaWQ9IjE1NSIgQj0iNiIgRT0iNyIvPgogICAgICAgICAgICA8YiBpZD0iMTU2IiBCPSIxOCIgRT0iNiIvPgogICAgICAgICAgICA8YiBpZD0iMTU3IiBCPSIxNyIgRT0iMTEiLz4KICAgICAgICAgICAgPGIgaWQ9IjE1OCIgQj0iMTIiIEU9IjExIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMTU5IiBCPSIxNCIgRT0iMTIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE2MCIgQj0iMTQiIEU9IjEzIi8+CiAgICAgICAgICAgIDxiIGlkPSIxNjEiIEI9IjE1IiBFPSIxNCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE2MiIgQj0iMTYiIEU9IjE1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxNjMiIEI9IjE3IiBFPSIxNiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE2NCIgQj0iMTgiIEU9IjE3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxNjUiIEI9IjciIEU9IjgiLz4KICAgICAgICAgICAgPGIgaWQ9IjE2NiIgQj0iOCIgRT0iOSIvPgogICAgICAgICAgICA8YiBpZD0iMTY3IiBCPSI3IiBFPSIxMCIvPgogICAgICAgICAgICA8YiBpZD0iMTY4IiBCPSI2IiBFPSIxOSIgT3JkZXI9IjIiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iMjAiPgogICAgICAgICAgICA8biBpZD0iMTgxIiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSIxODIiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIyNSIgRWxlbWVudD0iMTIiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjc4LjYxOTk5NSA0OC40NDAwMDIiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIyNzguNjE5OTk1IDQ4LjQ0MDAwMiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+TWc8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjE4MyIgTm9kZVR5cGU9IkV4dGVybmFsQ29ubmVjdGlvblBvaW50Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjI2IiBFbGVtZW50PSIzNSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyNzguNjE5OTk1IDM0LjA4MDAwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjI3OC42MTk5OTUgMzQuMDgwMDAyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5Ccjwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMTY5IiBCPSIyNSIgRT0iMjYiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMTg1IiBCPSIxODMiIEU9IjI1Ii8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPk1nPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIyMSIgcD0iMzQwLjk2OTk3MSA4NC40MzAwMDAiLz4KICAgICAgICAgICAgPG4gaWQ9IjIyIiBwPSIzMjguNTAwMDAwIDkxLjYzMDAwNSIvPgogICAgICAgICAgICA8biBpZD0iMjMiIHA9IjM0MC45Njk5NzEgNzAuMDI5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyNCIgcD0iMzI4LjUwMDAwMCA3Ny4yMzAwMDMiLz4KICAgICAgICAgICAgPG4gaWQ9IjI3IiBwPSIzMDMuNTU5OTk4IDQ4LjQ0MDAwMiIvPgogICAgICAgICAgICA8biBpZD0iMjgiIHA9IjI5MS4wOTAwMjcgNTUuNjM5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyOSIgcD0iMjkxLjA5MDAyNyA3MC4wMjk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9IjMwIiBwPSIzMDMuNTU5OTk4IDc3LjIzMDAwMyIvPgogICAgICAgICAgICA8biBpZD0iMzEiIHA9IjMxNi4wMzAwMjkgNzAuMDI5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSIzMiIgcD0iMzE2LjAzMDAyOSA1NS42Mzk5OTkiLz4KICAgICAgICAgICAgPGIgaWQ9IjE3MCIgQj0iMjQiIEU9IjIxIi8+CiAgICAgICAgICAgIDxiIGlkPSIxNzEiIEI9IjI0IiBFPSIyMiIvPgogICAgICAgICAgICA8YiBpZD0iMTcyIiBCPSIyNCIgRT0iMjMiLz4KICAgICAgICAgICAgPGIgaWQ9IjE3MyIgQj0iMzEiIEU9IjI0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxNzUiIEI9IjI3IiBFPSIzMiIvPgogICAgICAgICAgICA8YiBpZD0iMTc2IiBCPSIyOCIgRT0iMjciIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxNzciIEI9IjI5IiBFPSIyOCIvPgogICAgICAgICAgICA8YiBpZD0iMTc4IiBCPSIzMCIgRT0iMjkiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxNzkiIEI9IjMxIiBFPSIzMCIvPgogICAgICAgICAgICA8YiBpZD0iMTgwIiBCPSIzMiIgRT0iMzEiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxODQiIEI9IjI4IiBFPSIxODEiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iMzMiPgogICAgICAgICAgICA8biBpZD0iMzQiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNTI5Ljc5OTk4OCA0NC45NTk5OTkiPgogICAgICAgICAgICAgICAgPHQgcD0iNTI5Ljc5OTk4OCA0NC45NTk5OTkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIzNSIgcD0iNTE3LjM2OTk5NSA2Ni40ODAwMDMiLz4KICAgICAgICAgICAgPG4gaWQ9IjM2IiBwPSI1MDQuOTQwMDAyIDU5LjMxMDAwNSIvPgogICAgICAgICAgICA8biBpZD0iMzciIHA9IjQ5Mi41MTAwMTAgNjYuNDgwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSIzOCIgcD0iNDgwLjA4OTk5NiA1OS4zMTAwMDUiLz4KICAgICAgICAgICAgPG4gaWQ9IjM5IiBwPSI0ODAuMDg5OTk2IDQ0Ljk1OTk5OSIvPgogICAgICAgICAgICA8biBpZD0iNDAiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNDY3LjY1OTk3MyAzNy43Nzk5OTkiPgogICAgICAgICAgICAgICAgPHQgcD0iNDY3LjY1OTk3MyAzNy43Nzk5OTkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI0MSIgcD0iNDkyLjUxMDAxMCAzNy43Nzk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9IjQyIiBwPSI1MDQuOTQwMDAyIDQ0Ljk1OTk5OSIvPgogICAgICAgICAgICA8biBpZD0iNDMiIHA9IjUyOS43OTk5ODggNTkuMzEwMDA1Ii8+CiAgICAgICAgICAgIDxuIGlkPSI0NCIgcD0iNDU1LjIyOTk4MCA0NC45NTk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9IjQ1IiBwPSI1OTEuOTI5OTkzIDgwLjgzMDAwMiIvPgogICAgICAgICAgICA8biBpZD0iNDYiIHA9IjU3OS41MTAwMTAgMTAyLjM2MDAwOCIvPgogICAgICAgICAgICA8biBpZD0iNDciIHA9IjU5MS45Mjk5OTMgOTUuMTgwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSI0OCIgcD0iNTc5LjUxMDAxMCA4OC4wMTAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjQ5IiBwPSI1NDIuMjE5OTcxIDgwLjgzMDAwMiIvPgogICAgICAgICAgICA8biBpZD0iNTAiIHA9IjU0Mi4yMTk5NzEgNjYuNDgwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSI1MSIgcD0iNTU0LjY0OTk2MyA1OS4zMTAwMDUiLz4KICAgICAgICAgICAgPG4gaWQ9IjUyIiBwPSI1NjcuMDc5OTU2IDY2LjQ4MDAwMyIvPgogICAgICAgICAgICA8biBpZD0iNTMiIHA9IjU2Ny4wNzk5NTYgODAuODMwMDAyIi8+CiAgICAgICAgICAgIDxuIGlkPSI1NCIgcD0iNTU0LjY0OTk2MyA4OC4wMTAwMDIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE4NiIgQj0iNDMiIEU9IjUwIi8+CiAgICAgICAgICAgIDxiIGlkPSIxODciIEI9IjQzIiBFPSIzNCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE4OCIgQj0iMzUiIEU9IjM2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxODkiIEI9IjM2IiBFPSIzNyIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE5MCIgQj0iMzciIEU9IjM4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxOTEiIEI9IjM4IiBFPSIzOSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE5MiIgQj0iMzkiIEU9IjQwIi8+CiAgICAgICAgICAgIDxiIGlkPSIxOTMiIEI9IjM5IiBFPSI0MSIvPgogICAgICAgICAgICA8YiBpZD0iMTk0IiBCPSI0MSIgRT0iNDIiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxOTUiIEI9IjM2IiBFPSI0MiIvPgogICAgICAgICAgICA8YiBpZD0iMTk2IiBCPSIzNSIgRT0iNDMiLz4KICAgICAgICAgICAgPGIgaWQ9IjE5NyIgQj0iNDAiIEU9IjQ0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxOTgiIEI9IjQ4IiBFPSI0NSIvPgogICAgICAgICAgICA8YiBpZD0iMTk5IiBCPSI0OCIgRT0iNDYiLz4KICAgICAgICAgICAgPGIgaWQ9IjIwMCIgQj0iNDgiIEU9IjQ3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMDEiIEI9IjUzIiBFPSI0OCIvPgogICAgICAgICAgICA8YiBpZD0iMjAyIiBCPSI0OSIgRT0iNTQiLz4KICAgICAgICAgICAgPGIgaWQ9IjIwMyIgQj0iNTAiIEU9IjQ5IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjA0IiBCPSI1MSIgRT0iNTAiLz4KICAgICAgICAgICAgPGIgaWQ9IjIwNSIgQj0iNTIiIEU9IjUxIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjA2IiBCPSI1MyIgRT0iNTIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIwNyIgQj0iNTQiIEU9IjUzIiBPcmRlcj0iMiIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI1NSI+CiAgICAgICAgICAgIDxuIGlkPSIyMTMiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjIxNCI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjU2IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjMyOS4zMDk5OTggMzA0LjQ4OTk5MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjMyOS4zMDk5OTggMzA0LjQ4OTk5MCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNTciIHA9IjMzMy43NTAwMDAgMzE4LjEzOTk4NCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI1OCIgcD0iMzE0Ljk2MDAyMiAzMDQuNDg5OTkwIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjU5IiBwPSIzMTAuNTMwMDI5IDMxOC4xMzk5ODQiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNjAiIHA9IjMyMi4xNDAwMTUgMzI2LjU3MDAwNyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyMDgiIEI9IjU5IiBFPSI2MCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyMDkiIEI9IjU4IiBFPSI1OSIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyMTAiIEI9IjU3IiBFPSI2MCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyMTEiIEI9IjU2IiBFPSI1NyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyMTIiIEI9IjU2IiBFPSI1OCIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5USEY8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNjEiPgogICAgICAgICAgICA8biBpZD0iMjE3IiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSIyMTgiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI2MiIgRWxlbWVudD0iMTIiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMzg3LjY1OTk3MyAzMTEuNjYwMDA0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMzg3LjY1OTk3MyAzMTEuNjYwMDA0IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5NZzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNjMiIEVsZW1lbnQ9IjM1IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjM3NS4yMjk5ODAgMzE4LjgzOTk5NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjM3NS4yMjk5ODAgMzE4LjgzOTk5NiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+QnI8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjY0IiBFbGVtZW50PSIxNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSI0MDAuMDkwMDI3IDMxOC44Mzk5OTYiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSI0MDAuMDkwMDI3IDMxOC44Mzk5OTYiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkNsPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyMTUiIEI9IjYyIiBFPSI2MyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyMTYiIEI9IjYyIiBFPSI2NCIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5NZzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI2NSI+CiAgICAgICAgICAgIDxuIGlkPSIyMjQiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjIyNSI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjY2IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjI1Ny41Mzk5NzggMzI1Ljk4OTk5MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjI1Ny41Mzk5NzggMzI1Ljk4OTk5MCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNjciIHA9IjI2MS45Nzk5ODAgMzM5LjYzOTk4NCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI2OCIgcD0iMjQzLjE4OTk4NyAzMjUuOTg5OTkwIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjY5IiBwPSIyMzguNzU5OTk1IDMzOS42Mzk5ODQiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNzAiIHA9IjI1MC4zNzAwMTAgMzQ4LjA3MDAwNyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyMTkiIEI9IjY5IiBFPSI3MCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyMjAiIEI9IjY4IiBFPSI2OSIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyMjEiIEI9IjY3IiBFPSI3MCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyMjIiIEI9IjY2IiBFPSI2NyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyMjMiIEI9IjY2IiBFPSI2OCIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5USEY8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNzEiPgogICAgICAgICAgICA8biBpZD0iNzIiIHA9IjYzLjYxMDAwNCAzNjguMTQ5OTk0Ii8+CiAgICAgICAgICAgIDxuIGlkPSI3MyIgcD0iNzguMDEwMDAyIDM2OC4xNDk5OTQiLz4KICAgICAgICAgICAgPG4gaWQ9Ijc0IiBwPSI4Mi40NTk5OTkgMzU0LjQ0OTk4MiIvPgogICAgICAgICAgICA8biBpZD0iNzUiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNzAuODA5OTk4IDM0NS45ODk5OTAiPgogICAgICAgICAgICAgICAgPHQgcD0iNzAuODA5OTk4IDM0NS45ODk5OTAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI3NiIgcD0iNTkuMTYwMDA0IDM1NC40NDk5ODIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIyNiIgQj0iNzIiIEU9IjczIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMjciIEI9IjczIiBFPSI3NCIvPgogICAgICAgICAgICA8YiBpZD0iMjI4IiBCPSI3NCIgRT0iNzUiLz4KICAgICAgICAgICAgPGIgaWQ9IjIyOSIgQj0iNzUiIEU9Ijc2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMzAiIEI9Ijc2IiBFPSI3MiIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI3NyI+CiAgICAgICAgICAgIDxuIGlkPSI3OCIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIxIiBwPSIzODkuNDA5OTczIDM1NC41ODk5OTYiPgogICAgICAgICAgICAgICAgPHQgcD0iMzg5LjQwOTk3MyAzNTQuNTg5OTk2IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tkg8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9Ijc5IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjQwMS44NDAwMjcgMzQ3LjQxOTk4MyI+CiAgICAgICAgICAgICAgICA8dCBwPSI0MDEuODQwMDI3IDM0Ny40MTk5ODMiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI4MCIgcD0iNDE0LjI3MDAyMCAzNTQuNTg5OTk2Ii8+CiAgICAgICAgICAgIDxuIGlkPSI4MSIgcD0iMzg5LjQwOTk3MyAzNjguOTQwMDAyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMzEiIEI9Ijc4IiBFPSI3OSIvPgogICAgICAgICAgICA8YiBpZD0iMjMyIiBCPSI3OSIgRT0iODAiLz4KICAgICAgICAgICAgPGIgaWQ9IjIzMyIgQj0iNzgiIEU9IjgxIi8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8dCBpZD0iODIiIHA9IjQwMy45MDAwMjQgMTI1LjYwNTAwMyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+MC4xIE0gaW4gbGltaXRpbmc8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI4NSIgcD0iNDAzLjg5NDk4OSAxMDkuNjg1MDEzIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5yLnQuPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iODgiIHA9IjYxLjQ1NTAwMiA3LjQ4NTAwMCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxNiIgZmFjZT0iMiI+R3JpZ25hcmQgUnhuMjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjkxIiBwPSI1MjguMTU5OTczIDE4MS41NjQ5ODciIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltkZXNpcmVkIHByb2R1Y3RdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iOTQiIHA9IjI4MC4yNzk5OTkgMTM5LjAwMDAwMCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj42MzQ4OC0xMC04PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iOTciIHA9IjI5My45NDQ5NzcgMTIwLjAwNDk5MCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj40LXRlcnQtQnV0eWxwaGVueWwtPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iOTciIHA9IjI5My45NDQ5NzcgMTIwLjAwNDk5MCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj5tYWduZXNpdW0gYnJvbWlkZTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPGdyYXBoaWMgaWQ9IjEwMCIgQm91bmRpbmdCb3g9IjIzNy41Mjk5OTkgNzUuMzQ0OTk0IDIzNy41Mjk5OTkgNjcuODQ0OTk0IiBHcmFwaGljVHlwZT0iU3ltYm9sIiBTeW1ib2xUeXBlPSJQbHVzIi8+CiAgICAgICAgPHQgaWQ9IjEwMyIgcD0iMjg0LjE0MDA0NSAxNjQuNTQ5OTg4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4xLjIgZXF1aXY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMDYiIHA9IjE0NS4zODk5OTkgMTY0LjU0OTk4OCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+MS4wIGVxdWl2PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTA5IiBwPSIyODMuNzk0OTgzIDE4MS42Nzk5OTMiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltHcmlnbmFyZCBudWNsZW9waGlsZV08L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMTIiIHA9IjE0Mi41NTQ5OTMgMTgxLjYxOTk5NSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2NhcmJvbnlsXTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjExNSIgcD0iNjguNDA5OTk2IDMxNS42NDk5OTQiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+dGV0cmFoeWRyb2Z1cmFuPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTE4IiBwPSI2OS45MTUwMDEgMzk5LjA2NDk3MiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W3NvbHZlbnRdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTIxIiBwPSIxNDQuNzg1MDA0IDEzOS4wMDAwMDAiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+MjY3ODg0LTk2LTg8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMjQiIHA9IjE1Ny41NzAwMDcgMTIwLjA0NDk5MSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIzIj5OPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTI0IiBwPSIxNTcuNTcwMDA3IDEyMC4wNDQ5OTEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+LW1ldGhveHktMi0oNC1tZXRob3h5cGhlbnlsKS08L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMjQiIHA9IjE1Ny41NzAwMDcgMTIwLjA0NDk5MSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIzIj5OPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTI0IiBwPSIxNTcuNTcwMDA3IDEyMC4wNDQ5OTEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+LW1ldGh5bGFjZXRhbWlkZTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEyNyIgcD0iNTI4LjE2NDk3OCAxMjAuMDQ0OTkxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPjEtKDQtKDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEyNyIgcD0iNTI4LjE2NDk3OCAxMjAuMDQ0OTkxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjMiPnRlcnQ8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMjciIHA9IjUyOC4xNjQ5NzggMTIwLjA0NDk5MSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIzIj4tYnV0eWwpcGhlbnlsKS0yLTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEyNyIgcD0iNTI4LjE2NDk3OCAxMjAuMDQ0OTkxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjMiPig0LW1ldGhveHlwaGVueWwpZXRoYW4tMS1vbmU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMzAiIHA9IjUyOC4xNjQ5NzggMTM5LjAwMDAwMCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj4xODQ0NzctMjAtMTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEzMyIgcD0iNzEuOTE1MDAxIDMzMS45Njk5NzEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+MTA5LTk5LTk8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMzYiIHA9IjcwLjMyMDAwMCAzODEuMTU5OTczIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPk1vbGVjdWxhciBXZWlnaHQ6IDcyLjExPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTM5IiBwPSIzOTIuMTA5OTg1IDI3Ni4zNjk5OTUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltieXByb2R1Y3RzXTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE0MiIgcD0iMjIuMzI1MDAxIDI4My44Njk5OTUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjEiPktleTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPGdyYXBoaWMgaWQ9IjE0NSIgQm91bmRpbmdCb3g9IjAuODAwMDAxIDQ4OS4zOTk5OTQgMzQ3LjM1OTk4NSAyNjguMTAwMDA2IiBHcmFwaGljVHlwZT0iUmVjdGFuZ2xlIi8+CiAgICAgICAgPGFycm93IGlkPSIxNDgiIEJvdW5kaW5nQm94PSI0NDIuODMwMDE3IDcwLjg0OTk5OCAzNjQuNzgwMDI5IDcwLjg0OTk5OCIgRmlsbFR5cGU9Ik5vbmUiIEFycm93aGVhZFR5cGU9IlNvbGlkIiBIZWFkU2l6ZT0iMjI1MCIgQXJyb3doZWFkV2lkdGg9IjU2MyIgQXJyb3doZWFkSGVhZD0iRnVsbCIgQXJyb3doZWFkQ2VudGVyU2l6ZT0iMjUiIEhlYWQzRD0iNDQyLjgzMDAxNyA3MC44NDk5OTggMC4wMDAwMDAiIFRhaWwzRD0iMzY0Ljc4MDAyOSA3MC44NDk5OTggMC4wMDAwMDAiLz4KICAgICAgICA8YXJyb3cgaWQ9IjE1MSIgQm91bmRpbmdCb3g9IjQzNC4xMDk5ODUgMzk0LjE0OTk5NCA0MzQuMTA5OTg1IDI5NS44OTk5OTQiIEZpbGxUeXBlPSJOb25lIiBBcnJvd2hlYWRUeXBlPSJTb2xpZCIgSGVhZFNpemU9IjIyNTAiIEFycm93aGVhZFdpZHRoPSI1NjMiIEFycm93aGVhZEhlYWQ9IkZ1bGwiIEFycm93aGVhZENlbnRlclNpemU9IjI1IiBIZWFkM0Q9IjQzNC4xMDk5ODUgMzk0LjE0OTk5NCAwLjAwMDAwMCIgVGFpbDNEPSI0MzQuMTA5OTg1IDI5NS44OTk5OTQgMC4wMDAwMDAiLz4KICAgICAgICA8c2NoZW1lPgogICAgICAgICAgICA8c3RlcCBSZWFjdGlvblN0ZXBPYmplY3RzQWJvdmVBcnJvdz0iNTUiIFJlYWN0aW9uU3RlcEFycm93cz0iMTQ4Ii8+CiAgICAgICAgICAgIDxzdGVwIFJlYWN0aW9uU3RlcE9iamVjdHNBYm92ZUFycm93PSI1NSIgUmVhY3Rpb25TdGVwQXJyb3dzPSIxNTEiLz4KICAgICAgICA8L3NjaGVtZT4KICAgIDwvcGFnZT4KPC9DRFhNTD4K \ No newline at end of file diff --git a/api/tests/integration/tests/formats/ref/Grignard_Rxn2.cdxml b/api/tests/integration/tests/formats/ref/Grignard_Rxn2.cdxml new file mode 100644 index 0000000000..d8e8f9e121 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/Grignard_Rxn2.cdxml @@ -0,0 +1,359 @@ + + + + + + + + + + + + + + + + + + + + + + + + + N + + + + + O + + + + + + + + + O + + + + + + + + + + O + + + + + + + + + + + + + + + + + + + + + + + + Mg + + + + + + Br + + + + + + + Mg + + + + + + + + + + + + + + + + + + + + + + + + + + + + O + + + + + + + + + + O + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + O + + + + + + + + + + + + + + THF + + + + + + + + + Mg + + + + + Br + + + + + Cl + + + + + + + Mg + + + + + + + + + O + + + + + + + + + + + + + + THF + + + + + + + + + + O + + + + + + + + + + + + + NH + + + + + O + + + + + + + + + + 0.1 M in limiting + + + r.t. + + + Grignard Rxn2 + + + [desired product] + + + 63488-10-8 + + + 4-tert-Butylphenyl- + + + magnesium bromide + + + + 1.2 equiv + + + 1.0 equiv + + + [Grignard nucleophile] + + + [carbonyl] + + + tetrahydrofuran + + + [solvent] + + + 267884-96-8 + + + N + + + -methoxy-2-(4-methoxyphenyl)- + + + N + + + -methylacetamide + + + 1-(4-( + + + tert + + + -butyl)phenyl)-2- + + + (4-methoxyphenyl)ethan-1-one + + + 184477-20-1 + + + 109-99-9 + + + Molecular Weight: 72.11 + + + [byproducts] + + + Key + + + + + + + + + + diff --git a/api/tests/integration/tests/formats/ref/N-Alkylation_Rxn1.b64cdx b/api/tests/integration/tests/formats/ref/N-Alkylation_Rxn1.b64cdx new file mode 100644 index 0000000000..d2d872346e --- /dev/null +++ b/api/tests/integration/tests/formats/ref/N-Alkylation_Rxn1.b64cdx @@ -0,0 +1 @@ +PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIENEWE1MIFNZU1RFTSAiaHR0cDovL3d3dy5jYW1icmlkZ2Vzb2Z0LmNvbS94bWwvY2R4bWwuZHRkIj4KPENEWE1MIEJvbmRMZW5ndGg9IjMwLjAwMDAwMCIgTGFiZWxGb250PSIzIiBDYXB0aW9uRm9udD0iNCI+CiAgICA8Zm9udHRhYmxlIGlkPSIxIj4KICAgICAgICA8Zm9udCBpZD0iMiIgY2hhcnNldD0idXRmLTgiIG5hbWU9IkFyaWFsIi8+CiAgICAgICAgPGZvbnQgaWQ9IjMiIGNoYXJzZXQ9InV0Zi04IiBuYW1lPSJUaW1lcyBOZXcgUm9tYW4iLz4KICAgIDwvZm9udHRhYmxlPgogICAgPGNvbG9ydGFibGU+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMCIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIxIiBnPSIwIiBiPSIwIi8+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjAiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMSIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIwIiBnPSIxIiBiPSIxIi8+CiAgICAgICAgPGNvbG9yIHI9IjAiIGc9IjAiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMSIgZz0iMCIgYj0iMSIvPgogICAgICAgIDxjb2xvciByPSIwLjUiIGc9IjAuNSIgYj0iMC41Ii8+CiAgICA8L2NvbG9ydGFibGU+CiAgICA8cGFnZSBIZWlnaHRQYWdlcz0iMSIgV2lkdGhQYWdlcz0iMSI+CiAgICAgICAgPGZyYWdtZW50IGlkPSI0Ij4KICAgICAgICAgICAgPG4gaWQ9IjUiIHA9IjMwOC40NDk5ODIgMTE0LjYzMDAwNSIvPgogICAgICAgICAgICA8biBpZD0iNiIgcD0iMjk1Ljk3OTk4MCAxMjEuODI5OTk0Ii8+CiAgICAgICAgICAgIDxuIGlkPSI3IiBwPSIzMDguNDQ5OTgyIDEwMC4yMjk5OTYiLz4KICAgICAgICAgICAgPG4gaWQ9IjgiIHA9IjI5NS45Nzk5ODAgMTA3LjQyOTk5MyIvPgogICAgICAgICAgICA8biBpZD0iOSIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIyIiBwPSIyNDYuMDg5OTk2IDc4LjYyOTk5NyI+CiAgICAgICAgICAgICAgICA8dCBwPSIyNDYuMDg5OTk2IDc4LjYyOTk5NyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk5IPC9zPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSIzMiI+Mjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMTAiIHA9IjI3MS4wMjk5OTkgNzguNjI5OTk3Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMSIgcD0iMjU4LjU1OTk5OCA4NS44MzAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjEyIiBwPSIyNTguNTU5OTk4IDEwMC4yMjk5OTYiLz4KICAgICAgICAgICAgPG4gaWQ9IjEzIiBwPSIyNzEuMDI5OTk5IDEwNy40Mjk5OTMiLz4KICAgICAgICAgICAgPG4gaWQ9IjE0IiBwPSIyODMuNTA5OTc5IDEwMC4yMjk5OTYiLz4KICAgICAgICAgICAgPG4gaWQ9IjE1IiBwPSIyODMuNTA5OTc5IDg1LjgzMDAwMiIvPgogICAgICAgICAgICA8YiBpZD0iMjEyIiBCPSI4IiBFPSI1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMTMiIEI9IjgiIEU9IjYiLz4KICAgICAgICAgICAgPGIgaWQ9IjIxNCIgQj0iOCIgRT0iNyIvPgogICAgICAgICAgICA8YiBpZD0iMjE1IiBCPSIxNCIgRT0iOCIvPgogICAgICAgICAgICA8YiBpZD0iMjE2IiBCPSIxMSIgRT0iOSIvPgogICAgICAgICAgICA8YiBpZD0iMjE3IiBCPSIxMCIgRT0iMTUiLz4KICAgICAgICAgICAgPGIgaWQ9IjIxOCIgQj0iMTEiIEU9IjEwIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjE5IiBCPSIxMiIgRT0iMTEiLz4KICAgICAgICAgICAgPGIgaWQ9IjIyMCIgQj0iMTMiIEU9IjEyIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjIxIiBCPSIxNCIgRT0iMTMiLz4KICAgICAgICAgICAgPGIgaWQ9IjIyMiIgQj0iMTUiIEU9IjE0IiBPcmRlcj0iMiIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSIxNiI+CiAgICAgICAgICAgIDxuIGlkPSIxNyIgcD0iMTIwLjE2OTk5OCA5MS4xODAwMDAiLz4KICAgICAgICAgICAgPG4gaWQ9IjE4IiBwPSIxMjAuMTY5OTk4IDEwNS41ODAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjE5IiBwPSIxMzIuNjM5OTk5IDExMi43Nzk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9IjIwIiBwPSIxNDUuMTEwMDAxIDEwNS41ODAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjIxIiBwPSIxNDUuMTEwMDAxIDkxLjE4MDAwMCIvPgogICAgICAgICAgICA8biBpZD0iMjIiIHA9IjEzMi42Mzk5OTkgODMuOTgwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSIyMyIgcD0iMTA3LjY5OTk5NyAxMTIuNzc5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyNCIgcD0iMTU3LjU4MDAwMiA4My45ODAwMDMiLz4KICAgICAgICAgICAgPG4gaWQ9IjI1IiBwPSIxNzAuMDUwMDAzIDkxLjE4MDAwMCIvPgogICAgICAgICAgICA8biBpZD0iMjYiIEVsZW1lbnQ9IjM1IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjE4Mi41MjAwMDQgODMuOTgwMDAzIj4KICAgICAgICAgICAgICAgIDx0IHA9IjE4Mi41MjAwMDQgODMuOTgwMDAzIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+QnI8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPGIgaWQ9IjIyMyIgQj0iMTciIEU9IjE4IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjI0IiBCPSIxOCIgRT0iMTkiLz4KICAgICAgICAgICAgPGIgaWQ9IjIyNSIgQj0iMTkiIEU9IjIwIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjI2IiBCPSIyMCIgRT0iMjEiLz4KICAgICAgICAgICAgPGIgaWQ9IjIyNyIgQj0iMjEiIEU9IjIyIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjI4IiBCPSIyMiIgRT0iMTciLz4KICAgICAgICAgICAgPGIgaWQ9IjIyOSIgQj0iMTgiIEU9IjIzIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMzAiIEI9IjIxIiBFPSIyNCIvPgogICAgICAgICAgICA8YiBpZD0iMjMxIiBCPSIyNCIgRT0iMjUiLz4KICAgICAgICAgICAgPGIgaWQ9IjIzMiIgQj0iMjUiIEU9IjI2Ii8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjI3Ij4KICAgICAgICAgICAgPG4gaWQ9IjI4IiBwPSI0ODEuOTM5OTQxIDkwLjAwMDAwMCIvPgogICAgICAgICAgICA8biBpZD0iMjkiIHA9IjQ4MS45Mzk5NDEgMTA0LjQxMDAwNCIvPgogICAgICAgICAgICA8biBpZD0iMzAiIHA9IjQ5NC40MTAwMDQgMTExLjYxMDAwMSIvPgogICAgICAgICAgICA8biBpZD0iMzEiIHA9IjUwNi44ODAwMDUgMTA0LjQxMDAwNCIvPgogICAgICAgICAgICA8biBpZD0iMzIiIHA9IjUwNi44ODAwMDUgOTAuMDAwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSIzMyIgcD0iNDk0LjQxMDAwNCA4Mi44MDAwMDMiLz4KICAgICAgICAgICAgPG4gaWQ9IjM0IiBwPSI0NjkuNDY5OTcxIDExMS42MTAwMDEiLz4KICAgICAgICAgICAgPG4gaWQ9IjM1IiBwPSI1MTkuMzQ5OTc2IDgyLjgwMDAwMyIvPgogICAgICAgICAgICA8biBpZD0iMzYiIHA9IjUzMS44MjAwMDcgOTAuMDAwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSIzNyIgcD0iNTgxLjcwMDAxMiA5MC4wMDAwMDAiLz4KICAgICAgICAgICAgPG4gaWQ9IjM4IiBwPSI1ODEuNzAwMDEyIDEwNC40MTAwMDQiLz4KICAgICAgICAgICAgPG4gaWQ9IjM5IiBwPSI1NjkuMjI5OTgwIDExMS42MTAwMDEiLz4KICAgICAgICAgICAgPG4gaWQ9IjQwIiBwPSI1NTYuNzYwMDEwIDEwNC40MTAwMDQiLz4KICAgICAgICAgICAgPG4gaWQ9IjQxIiBwPSI1NTYuNzYwMDEwIDkwLjAwMDAwMCIvPgogICAgICAgICAgICA8biBpZD0iNDIiIHA9IjU2OS4yMjk5ODAgODIuODAwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSI0MyIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIxIiBwPSI1NDQuMjg5OTc4IDgyLjgwMDAwMyI+CiAgICAgICAgICAgICAgICA8dCBwPSI1NDQuMjg5OTc4IDgyLjgwMDAwMyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk5IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI0NCIgcD0iNTk0LjE2OTk4MyAxMTEuNjEwMDAxIi8+CiAgICAgICAgICAgIDxuIGlkPSI0NSIgcD0iNjA2LjY0OTk2MyAxMDQuNDEwMDA0Ii8+CiAgICAgICAgICAgIDxuIGlkPSI0NiIgcD0iNTk0LjE2OTk4MyAxMjYuMDA5OTk1Ii8+CiAgICAgICAgICAgIDxuIGlkPSI0NyIgcD0iNjA2LjY0OTk2MyAxMTguODA5OTk4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMzMiIEI9IjI4IiBFPSIyOSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIzNCIgQj0iMjkiIEU9IjMwIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMzUiIEI9IjMwIiBFPSIzMSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIzNiIgQj0iMzEiIEU9IjMyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMzciIEI9IjMyIiBFPSIzMyIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIzOCIgQj0iMzMiIEU9IjI4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMzkiIEI9IjI5IiBFPSIzNCIvPgogICAgICAgICAgICA8YiBpZD0iMjQwIiBCPSIzMiIgRT0iMzUiLz4KICAgICAgICAgICAgPGIgaWQ9IjI0MSIgQj0iMzUiIEU9IjM2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNDIiIEI9IjM2IiBFPSI0MyIvPgogICAgICAgICAgICA8YiBpZD0iMjQzIiBCPSIzNyIgRT0iMzgiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNDQiIEI9IjM4IiBFPSIzOSIvPgogICAgICAgICAgICA8YiBpZD0iMjQ1IiBCPSIzOSIgRT0iNDAiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNDYiIEI9IjQwIiBFPSI0MSIvPgogICAgICAgICAgICA8YiBpZD0iMjQ3IiBCPSI0MSIgRT0iNDIiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNDgiIEI9IjQyIiBFPSIzNyIvPgogICAgICAgICAgICA8YiBpZD0iMjQ5IiBCPSI0MSIgRT0iNDMiLz4KICAgICAgICAgICAgPGIgaWQ9IjI1MCIgQj0iMzgiIEU9IjQ0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNTEiIEI9IjQ0IiBFPSI0NSIvPgogICAgICAgICAgICA8YiBpZD0iMjUyIiBCPSI0NCIgRT0iNDYiLz4KICAgICAgICAgICAgPGIgaWQ9IjI1MyIgQj0iNDQiIEU9IjQ3Ii8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjQ4Ij4KICAgICAgICAgICAgPG4gaWQ9IjI1OCIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iMjU5Ij4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNDkiIHA9IjM2NS4wMDAwMDAgMTIyLjQ0MDAxMCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI1MCIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIzNTIuNTY5OTc3IDExNS4yNTk5OTUiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIzNTIuNTY5OTc3IDExNS4yNTk5OTUiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjUxIiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjM3Ny40MTk5ODMgMTE1LjI1OTk5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjM3Ny40MTk5ODMgMTE1LjI1OTk5NSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNTIiIHA9IjM3Ny40MTk5ODMgMTAwLjkxMDAwNCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI1MyIgcD0iMzg5Ljg0OTk3NiAxMjIuNDQwMDEwIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI1NCIgQj0iNTEiIEU9IjUyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI1NSIgQj0iNTEiIEU9IjUzIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI1NiIgQj0iNDkiIEU9IjUwIiBPcmRlcj0iMiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyNTciIEI9IjQ5IiBFPSI1MSIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5ETUY8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNTQiPgogICAgICAgICAgICA8biBpZD0iNTUiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjg2LjE2OTk4MyAzNjUuNDEwMDA0Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjI4Ni4xNjk5ODMgMzY1LjQxMDAwNCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk48L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjU2IiBwPSIyOTguNjM5OTg0IDM3Mi42MDk5ODUiLz4KICAgICAgICAgICAgPG4gaWQ9IjU3IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjMxMS4xMDk5ODUgMzY1LjQxMDAwNCI+CiAgICAgICAgICAgICAgICA8dCBwPSIzMTEuMTA5OTg1IDM2NS40MTAwMDQiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI1OCIgcD0iMjczLjY5OTk4MiAzNzIuNjA5OTg1Ii8+CiAgICAgICAgICAgIDxuIGlkPSI1OSIgcD0iMjg2LjE2OTk4MyAzNTEuMDEwMDEwIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNjAiIEI9IjU1IiBFPSI1NiIvPgogICAgICAgICAgICA8YiBpZD0iMjYxIiBCPSI1NiIgRT0iNTciIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNjIiIEI9IjU1IiBFPSI1OCIvPgogICAgICAgICAgICA8YiBpZD0iMjYzIiBCPSI1NSIgRT0iNTkiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNjAiPgogICAgICAgICAgICA8biBpZD0iMjY1IiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSIyNjYiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI2MSIgRWxlbWVudD0iMTkiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMzc2LjUwOTk3OSAzMjIuMTAwMDA2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMzc2LjUwOTk3OSAzMjIuMTAwMDA2IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5LPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI2MiIgRWxlbWVudD0iMzUiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMzkwLjg1OTk4NSAzMjIuMTAwMDA2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMzkwLjg1OTk4NSAzMjIuMTAwMDA2IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5Ccjwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjY0IiBCPSI2MSIgRT0iNjIiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+Szwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI2MyI+CiAgICAgICAgICAgIDxuIGlkPSIyNzEiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjI3MiI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjY0IiBwPSIzNjcuMjY5OTg5IDMwMC44Mjk5ODciLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNjUiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMzU0LjgzOTk5NiAzMDguMDEwMDEwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMzU0LjgzOTk5NiAzMDguMDEwMDEwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI2NiIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIzNzkuNjg5OTcyIDMwOC4wMTAwMTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIzNzkuNjg5OTcyIDMwOC4wMTAwMTAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjY3IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjM5Mi4xMTk5OTUgMzAwLjgyOTk4NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjM5Mi4xMTk5OTUgMzAwLjgyOTk4NyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNjgiIEVsZW1lbnQ9IjE5IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjQwNC41NDk5ODggMzA4LjAxMDAxMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjQwNC41NDk5ODggMzA4LjAxMDAxMCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Szwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjY3IiBCPSI2NyIgRT0iNjgiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjY4IiBCPSI2NiIgRT0iNjciLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjY5IiBCPSI2NCIgRT0iNjUiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI3MCIgQj0iNjQiIEU9IjY2Ii8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPktIQ08zPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjY5Ij4KICAgICAgICAgICAgPG4gaWQ9IjcwIiBwPSIxMzMuOTkwMDA1IDM2Ny4yMDk5OTEiLz4KICAgICAgICAgICAgPG4gaWQ9IjcxIiBwPSIxMjEuNTcwMDAwIDM3NC4zODAwMDUiLz4KICAgICAgICAgICAgPG4gaWQ9IjcyIiBwPSIxMDkuMTM5OTk5IDM2Ny4yMDk5OTEiLz4KICAgICAgICAgICAgPG4gaWQ9IjczIiBwPSI5Ni43MDk5OTkgMzc0LjM4MDAwNSIvPgogICAgICAgICAgICA8biBpZD0iNzQiIEVsZW1lbnQ9IjciIENoYXJnZT0iMSIgTnVtSHlkcm9nZW5zPSIwIiBwPSI4NC4yNzk5OTkgMzY3LjIwOTk5MSI+CiAgICAgICAgICAgICAgICA8dCBwPSI4NC4yNzk5OTkgMzY3LjIwOTk5MSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk48L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9Ijc1IiBwPSI5MS40NTk5OTkgMzU0Ljc3OTk5OSIvPgogICAgICAgICAgICA8biBpZD0iNzYiIHA9IjcxLjg2MDAwMSAzNjAuMDI5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSI3NyIgcD0iNzcuMTEwMDAxIDM3OS42NDAwMTUiLz4KICAgICAgICAgICAgPG4gaWQ9Ijc4IiBwPSI2Mi43NjAwMDIgMzc5LjY0MDAxNSIvPgogICAgICAgICAgICA8biBpZD0iNzkiIHA9IjU1LjU4MDAwMiAzOTIuMDU5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSI4MCIgcD0iNDEuMjMwMDAwIDM5Mi4wNTk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjgxIiBwPSIxMDUuODA5OTk4IDM1NC43Nzk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9IjgyIiBwPSIxMTIuOTgwMDAzIDM0Mi4zNTAwMDYiLz4KICAgICAgICAgICAgPG4gaWQ9IjgzIiBwPSIxMjcuMzMwMDAyIDM0Mi4zNTAwMDYiLz4KICAgICAgICAgICAgPG4gaWQ9Ijg0IiBwPSI1OS40MzAwMDAgMzY3LjIwOTk5MSIvPgogICAgICAgICAgICA8biBpZD0iODUiIHA9IjQ3LjAwMDAwMCAzNjAuMDI5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSI4NiIgcD0iMzQuNTcwMDAwIDM2Ny4yMDk5OTEiLz4KICAgICAgICAgICAgPG4gaWQ9Ijg3IiBFbGVtZW50PSI1MyIgQ2hhcmdlPSItMSIgTnVtSHlkcm9nZW5zPSIwIiBwPSI3OS4yMDk5OTkgMzUxLjI3OTk5OSI+CiAgICAgICAgICAgICAgICA8dCBwPSI3OS4yMDk5OTkgMzUxLjI3OTk5OSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkk8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPGIgaWQ9IjI3MyIgQj0iNzAiIEU9IjcxIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNzQiIEI9IjcxIiBFPSI3MiIvPgogICAgICAgICAgICA8YiBpZD0iMjc1IiBCPSI3MiIgRT0iNzMiLz4KICAgICAgICAgICAgPGIgaWQ9IjI3NiIgQj0iNzMiIEU9Ijc0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNzciIEI9Ijc0IiBFPSI3NSIvPgogICAgICAgICAgICA8YiBpZD0iMjc4IiBCPSI3NCIgRT0iNzYiLz4KICAgICAgICAgICAgPGIgaWQ9IjI3OSIgQj0iNzQiIEU9Ijc3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyODAiIEI9Ijc3IiBFPSI3OCIvPgogICAgICAgICAgICA8YiBpZD0iMjgxIiBCPSI3OCIgRT0iNzkiLz4KICAgICAgICAgICAgPGIgaWQ9IjI4MiIgQj0iNzkiIEU9IjgwIi8+CiAgICAgICAgICAgIDxiIGlkPSIyODMiIEI9Ijc1IiBFPSI4MSIvPgogICAgICAgICAgICA8YiBpZD0iMjg0IiBCPSI4MSIgRT0iODIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI4NSIgQj0iODIiIEU9IjgzIi8+CiAgICAgICAgICAgIDxiIGlkPSIyODYiIEI9Ijc2IiBFPSI4NCIvPgogICAgICAgICAgICA8YiBpZD0iMjg3IiBCPSI4NCIgRT0iODUiLz4KICAgICAgICAgICAgPGIgaWQ9IjI4OCIgQj0iODUiIEU9Ijg2Ii8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9Ijg4Ij4KICAgICAgICAgICAgPG4gaWQ9IjI5MiIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iMjkzIj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iODkiIEVsZW1lbnQ9IjEiIElzb3RvcGU9IjMiIHA9IjY1LjA1MDAwMyAzMTAuMDU5OTk4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iNjUuMDUwMDAzIDMxMC4wNTk5OTgiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkg8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjkwIiBFbGVtZW50PSI1IiBOdW1IeWRyb2dlbnM9IjAiIHA9Ijc3LjQ4MDAwMyAzMDIuODkwMDE1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iNzcuNDgwMDAzIDMwMi44OTAwMTUiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkI8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjI5NCIgTm9kZVR5cGU9IkV4dGVybmFsQ29ubmVjdGlvblBvaW50Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjkyIiBFbGVtZW50PSI1MyIgTnVtSHlkcm9nZW5zPSIwIiBwPSI3Ny40ODAwMDMgMjg4LjU0MDAwOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9Ijc3LjQ4MDAwMyAyODguNTQwMDA5IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5JPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyOTAiIEI9IjkwIiBFPSI5MiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyOTEiIEI9Ijg5IiBFPSI5MCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyOTYiIEI9IjI5NCIgRT0iOTAiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+VEJBSTwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iOTEiIE5vZGVUeXBlPSJHZW5lcmljTmlja25hbWUiIEdlbmVyaWNOaWNrbmFtZT0iQSIgcD0iODkuOTEwMDA0IDMxMC4wNTk5OTgiPgogICAgICAgICAgICAgICAgPHQgcD0iODkuOTEwMDA0IDMxMC4wNTk5OTgiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5BPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxiIGlkPSIyOTUiIEI9IjkxIiBFPSIyOTIiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iOTMiPgogICAgICAgICAgICA8biBpZD0iMzAxIiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSIzMDIiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI5NCIgcD0iMTc2LjMwMDAwMyAyOTUuODIwMDA3Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijk1IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjE2My44Njk5OTUgMzAzLjAwMDAwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjE2My44Njk5OTUgMzAzLjAwMDAwMCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iOTYiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTg4LjcyOTk5NiAzMDMuMDAwMDAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMTg4LjcyOTk5NiAzMDMuMDAwMDAwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI5NyIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyMDEuMTQ5OTk0IDI5NS44MjAwMDciPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIyMDEuMTQ5OTk0IDI5NS44MjAwMDciIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijk4IiBFbGVtZW50PSIxOSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyMTMuNTgwMDAyIDMwMy4wMDAwMDAiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIyMTMuNTgwMDAyIDMwMy4wMDAwMDAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPks8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijk5IiBFbGVtZW50PSIxOSIgTnVtSHlkcm9nZW5zPSIxIiBwPSIyMjcuOTMwMDA4IDI5OS40MTAwMDQiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIyMjcuOTMwMDA4IDI5OS40MTAwMDQiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPktIPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyOTciIEI9Ijk3IiBFPSI5OCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyOTgiIEI9Ijk2IiBFPSI5NyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyOTkiIEI9Ijk0IiBFPSI5NSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzAwIiBCPSI5NCIgRT0iOTYiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+SzJDTzM8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iMTAwIj4KICAgICAgICAgICAgPG4gaWQ9IjEwMSIgcD0iMTg5LjgwMDAwMyAzNjcuNzY5OTg5Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMDIiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTc3LjM2OTk5NSAzNzQuOTQwMDAyIj4KICAgICAgICAgICAgICAgIDx0IHA9IjE3Ny4zNjk5OTUgMzc0Ljk0MDAwMiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjEwMyIgRWxlbWVudD0iOCIgQ2hhcmdlPSItMSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyMDIuMjI5OTk2IDM3NC45NDAwMDIiPgogICAgICAgICAgICAgICAgPHQgcD0iMjAyLjIyOTk5NiAzNzQuOTQwMDAyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMTA0IiBFbGVtZW50PSI4IiBDaGFyZ2U9Ii0xIiBOdW1IeWRyb2dlbnM9IjAiIHA9IjE4OS44MDAwMDMgMzUzLjM2OTk5NSI+CiAgICAgICAgICAgICAgICA8dCBwPSIxODkuODAwMDAzIDM1My4zNjk5OTUiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxMDUiIEVsZW1lbnQ9IjE5IiBDaGFyZ2U9IjEiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjA0LjU4MDAwMiAzNTQuNDQwMDAyIj4KICAgICAgICAgICAgICAgIDx0IHA9IjIwNC41ODAwMDIgMzU0LjQ0MDAwMiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPks8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjEwNiIgRWxlbWVudD0iMTkiIENoYXJnZT0iMSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyMTYuMDgwMDAyIDM3NC45NDAwMDIiPgogICAgICAgICAgICAgICAgPHQgcD0iMjE2LjA4MDAwMiAzNzQuOTQwMDAyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Szwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8YiBpZD0iMzAzIiBCPSIxMDEiIEU9IjEwMiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjMwNCIgQj0iMTAxIiBFPSIxMDMiLz4KICAgICAgICAgICAgPGIgaWQ9IjMwNSIgQj0iMTAxIiBFPSIxMDQiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iMTA3Ij4KICAgICAgICAgICAgPG4gaWQ9IjMxMCIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iMzExIj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTA4IiBwPSIyODEuMzk5OTk0IDMwMi44OTAwMTUiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTA5IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjI2OC45Njk5NzEgMjk1LjcwOTk5MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjI2OC45Njk5NzEgMjk1LjcwOTk5MSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTEwIiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjI5My44Mjk5ODcgMjk1LjcwOTk5MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjI5My44Mjk5ODcgMjk1LjcwOTk5MSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTExIiBwPSIyOTMuODI5OTg3IDI4MS4zNTk5ODUiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTEyIiBwPSIzMDYuMjUwMDAwIDMwMi44OTAwMTUiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzA2IiBCPSIxMTAiIEU9IjExMSIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMDciIEI9IjExMCIgRT0iMTEyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMwOCIgQj0iMTA4IiBFPSIxMDkiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMwOSIgQj0iMTA4IiBFPSIxMTAiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+RE1GPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8dCBpZD0iMTEzIiBwPSIzNzguMDg0OTkxIDcxLjQ1OTk5OSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+MiBlcXVpdjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjExMyIgcD0iMzc4LjA4NDk5MSA3MS40NTk5OTkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPksyQ08zPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTE2IiBwPSIzNzguMDg0OTkxIDg2LjQwMDAwMiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+MC4yIGVxdWl2PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTE2IiBwPSIzNzguMDg0OTkxIDg2LjQwMDAwMiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+IFRCQUk8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMTkiIHA9IjM3OC4wODQ5OTEgMTMxLjkxOTk5OCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+ODAgwrpDPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTIyIiBwPSIzNzguMDgwMDE3IDE1MC4yMDQ5ODciIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjAuMiBNIGluIGxpbWl0aW5nPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTI1IiBwPSI4MS40NjQ5OTYgNy40MzQ5OTkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTYiIGZhY2U9IjIiPk4tQWxreWxhdGlvbiBSeG4xPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTI4IiBwPSIyNzAuMjM5OTkwIDEzOS4wNTAwMDMiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+NC0oPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTI4IiBwPSIyNzAuMjM5OTkwIDEzOS4wNTAwMDMiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+dGVydDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEyOCIgcD0iMjcwLjIzOTk5MCAxMzkuMDUwMDAzIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjMiPi1idXR5bClhbmlsaW5lPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTMxIiBwPSIyNzAuMjM5OTkwIDE1Mi40OTAwMDUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+NzY5LTkyLTY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMzQiIHA9IjE0My4zMzAwMTcgMTM5LjA1MDAwMyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj4xLSgyLWJyb21vZXRoeWwpLTQtbWV0aHlsYmVuemVuZTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEzNyIgcD0iMTQzLjMzMDAwMiAxNTIuNDkwMDA1IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjY1MjktNTEtNzwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE0MCIgcD0iMTQzLjMzMDAwMiAxODYuMTQ5OTk0IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4xLjAgZXF1aXY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNDMiIHA9IjI3MC4yMzk5OTAgMTg4LjM5OTk5NCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+MS4yIGVxdWl2PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTQ2IiBwPSIxNDMuMzI1MDEyIDIwMS45MTUwMDkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltlbGVjdHJvcGhpbGVdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTQ5IiBwPSIyNzAuMjM1MDE2IDIwMy40MTQ5OTMiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltOLW51Y2xlb3BoaWxlXTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE1MiIgcD0iNTMyLjk0OTk1MSAyMDAuNDE1MDA5IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bZGVzaXJlZCBwcm9kdWN0XTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE1NSIgcD0iMzk2LjYwOTk4NSAyNzYuMjE5OTcxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bYnlwcm9kdWN0c108L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNTgiIHA9IjIxLjgyNDk5OSAyODEuNzIwMDAxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIxIj5LZXk8L3M+CiAgICAgICAgPC90PgogICAgICAgIDxncmFwaGljIGlkPSIxNjEiIEJvdW5kaW5nQm94PSIwLjc5OTk5OSA0ODkuMjQ5OTY5IDM1NC41ODk5OTYgMjY3Ljk1MDAxMiIgR3JhcGhpY1R5cGU9IlJlY3RhbmdsZSIvPgogICAgICAgIDxncmFwaGljIGlkPSIxNjQiIEJvdW5kaW5nQm94PSIyMDkuOTc5OTk2IDEwMy4xODUwMDUgMjA5Ljk3OTk5NiA5NS42ODUwMDUiIEdyYXBoaWNUeXBlPSJTeW1ib2wiIFN5bWJvbFR5cGU9IlBsdXMiLz4KICAgICAgICA8dCBpZD0iMTY3IiBwPSI1MzAuNTg0OTYxIDEzOS4wNTAwMDMiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+NC0oPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTY3IiBwPSI1MzAuNTg0OTYxIDEzOS4wNTAwMDMiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+dGVydDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE2NyIgcD0iNTMwLjU4NDk2MSAxMzkuMDUwMDAzIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjMiPi1idXR5bCktPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTY3IiBwPSI1MzAuNTg0OTYxIDEzOS4wNTAwMDMiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+Tjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE2NyIgcD0iNTMwLjU4NDk2MSAxMzkuMDUwMDAzIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjMiPi0oNC1tZXRoeWxwaGVuZXRoeWwpYW5pbGluZTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE3MCIgcD0iNTMyLjk0NTAwNyAxNTIuNDkwMDA1IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjEzNTMwNi04NC0zPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTczIiBwPSI4NC4yODQ5OTYgNDE5LjkxNTAwOSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2FkZGl0aXZlXTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE3NiIgcD0iODQuMjg0OTg4IDMxNC44ODk5ODQiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+dGV0cmFidXR5bGFtbW9uaXVtIGJyb21pZGU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNzkiIHA9Ijg0LjI4NDk5NiAzMjguNTU5OTk4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjMxMS0yOC00PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTgyIiBwPSI4NC4yODQ5OTYgNDAzLjg1MDAwNiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj5NVyAzNjkuMzg8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxODUiIHA9IjE5OC42NzAwMTMgMzE0LjgyOTk4NyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj5wb3Rhc3NpdW0gY2FyYm9uYXRlPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTg4IiBwPSIxOTguNjcwMDEzIDMyOC41NTk5OTgiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+NTg0LTA4LTc8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxOTEiIHA9IjE5OC42NzAwMTMgMzkxLjE0MDAxNSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj5NVyAxMzguMjA8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxOTQiIHA9IjE5OC42NzUwMTggNDA3LjkxNDk3OCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2Jhc2VdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTk3IiBwPSIyOTMuNzI0OTc2IDMyOC41NTk5OTgiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+NjgtMTItMjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIwMCIgcD0iMjkzLjcyNDk3NiAzODcuMzk5OTk0IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPk1XIDczLjEwPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjAzIiBwPSIyOTMuNzI0OTc2IDQwNi40MTUwMDkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltzb2x2ZW50XTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPGFycm93IGlkPSIyMDYiIEJvdW5kaW5nQm94PSI0MTkuMjE5OTcxIDEwMi40NDAwMDIgMzQzLjY1OTk3MyAxMDIuNDQwMDAyIiBGaWxsVHlwZT0iTm9uZSIgQXJyb3doZWFkVHlwZT0iU29saWQiIEhlYWRTaXplPSIyMjUwIiBBcnJvd2hlYWRXaWR0aD0iNTYzIiBBcnJvd2hlYWRIZWFkPSJGdWxsIiBBcnJvd2hlYWRDZW50ZXJTaXplPSIyNSIgSGVhZDNEPSI0MTkuMjE5OTcxIDEwMi40NDAwMDIgMC4wMDAwMDAiIFRhaWwzRD0iMzQzLjY1OTk3MyAxMDIuNDQwMDAyIDAuMDAwMDAwIi8+CiAgICAgICAgPGFycm93IGlkPSIyMDkiIEJvdW5kaW5nQm94PSI0MzMuNjA5OTg1IDM5My4yMzk5OTAgNDMzLjYwOTk4NSAyODkuNTAwMDAwIiBGaWxsVHlwZT0iTm9uZSIgQXJyb3doZWFkVHlwZT0iU29saWQiIEhlYWRTaXplPSIyMjUwIiBBcnJvd2hlYWRXaWR0aD0iNTYzIiBBcnJvd2hlYWRIZWFkPSJGdWxsIiBBcnJvd2hlYWRDZW50ZXJTaXplPSIyNSIgSGVhZDNEPSI0MzMuNjA5OTg1IDM5My4yMzk5OTAgMC4wMDAwMDAiIFRhaWwzRD0iNDMzLjYwOTk4NSAyODkuNTAwMDAwIDAuMDAwMDAwIi8+CiAgICAgICAgPHNjaGVtZT4KICAgICAgICAgICAgPHN0ZXAgUmVhY3Rpb25TdGVwT2JqZWN0c0Fib3ZlQXJyb3c9IjQ4IiBSZWFjdGlvblN0ZXBBcnJvd3M9IjIwNiIvPgogICAgICAgICAgICA8c3RlcCBSZWFjdGlvblN0ZXBPYmplY3RzQWJvdmVBcnJvdz0iNDgiIFJlYWN0aW9uU3RlcEFycm93cz0iMjA5Ii8+CiAgICAgICAgPC9zY2hlbWU+CiAgICA8L3BhZ2U+CjwvQ0RYTUw+Cg== \ No newline at end of file diff --git a/api/tests/integration/tests/formats/ref/N-Alkylation_Rxn1.cdxml b/api/tests/integration/tests/formats/ref/N-Alkylation_Rxn1.cdxml new file mode 100644 index 0000000000..6ce37f4fd0 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/N-Alkylation_Rxn1.cdxml @@ -0,0 +1,515 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + NH + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Br + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + O + + + + + N + + + + + + + + + + + DMF + + + + + + + N + + + + + + O + + + + + + + + + + + + + + + K + + + + + Br + + + + + + K + + + + + + + + + + O + + + + + O + + + + + O + + + + + K + + + + + + + + + KHCO3 + + + + + + + + + + + N + + + + + + + + + + + + + + + + + I + + + + + + + + + + + + + + + + + + + + + + + + + H + + + + + B + + + + + + I + + + + + + + + TBAI + + + + + A + + + + + + + + + + + O + + + + + O + + + + + O + + + + + K + + + + + KH + + + + + + + + + K2CO3 + + + + + + + + O + + + + + O + + + + + O + + + + + K + + + + + K + + + + + + + + + + + + + O + + + + + N + + + + + + + + + + + DMF + + + + + 2 equiv + + + K2CO3 + + + 0.2 equiv + + + TBAI + + + 80 ºC + + + 0.2 M in limiting + + + N-Alkylation Rxn1 + + + 4-( + + + tert + + + -butyl)aniline + + + 769-92-6 + + + 1-(2-bromoethyl)-4-methylbenzene + + + 6529-51-7 + + + 1.0 equiv + + + 1.2 equiv + + + [electrophile] + + + [N-nucleophile] + + + [desired product] + + + [byproducts] + + + Key + + + + + 4-( + + + tert + + + -butyl)- + + + N + + + -(4-methylphenethyl)aniline + + + 135306-84-3 + + + [additive] + + + tetrabutylammonium bromide + + + 311-28-4 + + + MW 369.38 + + + potassium carbonate + + + 584-08-7 + + + MW 138.20 + + + [base] + + + 68-12-2 + + + MW 73.10 + + + [solvent] + + + + + + + + + diff --git a/api/tests/integration/tests/formats/ref/N-Alkylation_Rxn2.b64cdx b/api/tests/integration/tests/formats/ref/N-Alkylation_Rxn2.b64cdx new file mode 100644 index 0000000000..6c613e0fe4 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/N-Alkylation_Rxn2.b64cdx @@ -0,0 +1 @@ +PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIENEWE1MIFNZU1RFTSAiaHR0cDovL3d3dy5jYW1icmlkZ2Vzb2Z0LmNvbS94bWwvY2R4bWwuZHRkIj4KPENEWE1MIEJvbmRMZW5ndGg9IjMwLjAwMDAwMCIgTGFiZWxGb250PSIzIiBDYXB0aW9uRm9udD0iNCI+CiAgICA8Zm9udHRhYmxlIGlkPSIxIj4KICAgICAgICA8Zm9udCBpZD0iMiIgY2hhcnNldD0idXRmLTgiIG5hbWU9IkFyaWFsIi8+CiAgICAgICAgPGZvbnQgaWQ9IjMiIGNoYXJzZXQ9InV0Zi04IiBuYW1lPSJUaW1lcyBOZXcgUm9tYW4iLz4KICAgIDwvZm9udHRhYmxlPgogICAgPGNvbG9ydGFibGU+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMCIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIxIiBnPSIwIiBiPSIwIi8+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjAiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMSIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIwIiBnPSIxIiBiPSIxIi8+CiAgICAgICAgPGNvbG9yIHI9IjAiIGc9IjAiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMSIgZz0iMCIgYj0iMSIvPgogICAgICAgIDxjb2xvciByPSIwLjUiIGc9IjAuNSIgYj0iMC41Ii8+CiAgICA8L2NvbG9ydGFibGU+CiAgICA8cGFnZSBIZWlnaHRQYWdlcz0iMSIgV2lkdGhQYWdlcz0iMSI+CiAgICAgICAgPGZyYWdtZW50IGlkPSI0Ij4KICAgICAgICAgICAgPG4gaWQ9IjUiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMiIgcD0iMjMzLjIyMDAwMSA4Ny45NzAwMDEiPgogICAgICAgICAgICAgICAgPHQgcD0iMjMzLjIyMDAwMSA4Ny45NzAwMDEiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OSDwvcz4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iMzIiPjI8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjYiIHA9IjI0NS42NTAwMDkgOTUuMTM5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSI3IiBwPSIzMDcuNzg5OTc4IDczLjYyMDAwMyIvPgogICAgICAgICAgICA8biBpZD0iOCIgcD0iMjk1LjM1OTk4NSA1Mi4wODk5OTYiLz4KICAgICAgICAgICAgPG4gaWQ9IjkiIHA9IjMwNy43ODk5NzggNTkuMjY5OTk3Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMCIgcD0iMjk1LjM1OTk4NSA2Ni40NDAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjExIiBwPSIyNzAuNTAwMDAwIDk1LjEzOTk5OSIvPgogICAgICAgICAgICA8biBpZD0iMTIiIHA9IjI4Mi45Mjk5OTMgODcuOTcwMDAxIi8+CiAgICAgICAgICAgIDxuIGlkPSIxMyIgcD0iMjgyLjkyOTk5MyA3My42MjAwMDMiLz4KICAgICAgICAgICAgPG4gaWQ9IjE0IiBwPSIyNzAuNTAwMDAwIDY2LjQ0MDAwMiIvPgogICAgICAgICAgICA8biBpZD0iMTUiIHA9IjI1OC4wNzk5ODcgNzMuNjIwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSIxNiIgcD0iMjU4LjA3OTk4NyA4Ny45NzAwMDEiLz4KICAgICAgICAgICAgPGIgaWQ9IjIxMSIgQj0iNiIgRT0iNSIvPgogICAgICAgICAgICA8YiBpZD0iMjEyIiBCPSIxNiIgRT0iNiIvPgogICAgICAgICAgICA8YiBpZD0iMjEzIiBCPSIxMCIgRT0iNyIvPgogICAgICAgICAgICA8YiBpZD0iMjE0IiBCPSIxMCIgRT0iOCIvPgogICAgICAgICAgICA8YiBpZD0iMjE1IiBCPSIxMCIgRT0iOSIvPgogICAgICAgICAgICA8YiBpZD0iMjE2IiBCPSIxMyIgRT0iMTAiLz4KICAgICAgICAgICAgPGIgaWQ9IjIxNyIgQj0iMTEiIEU9IjE2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMTgiIEI9IjEyIiBFPSIxMSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIxOSIgQj0iMTMiIEU9IjEyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMjAiIEI9IjE0IiBFPSIxMyIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIyMSIgQj0iMTUiIEU9IjE0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMjIiIEI9IjE2IiBFPSIxNSIgT3JkZXI9IjIiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iMTciPgogICAgICAgICAgICA8biBpZD0iMTgiIHA9Ijg2LjE2OTk5OCA2Ni41Mjk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9IjE5IiBwPSI4Ni4xNjk5OTggODAuOTMwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSIyMCIgcD0iOTguNjM5OTk5IDg4LjEyOTk5NyIvPgogICAgICAgICAgICA8biBpZD0iMjEiIHA9IjExMS4xMTAwMDEgODAuOTMwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSIyMiIgcD0iMTExLjExMDAwMSA2Ni41Mjk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9IjIzIiBwPSI5OC42Mzk5OTkgNTkuMzMwMDAyIi8+CiAgICAgICAgICAgIDxuIGlkPSIyNCIgcD0iNzMuNjk5OTk3IDg4LjEyOTk5NyIvPgogICAgICAgICAgICA8biBpZD0iMjUiIHA9IjEyMy41ODAwMDIgNTkuMzMwMDAyIi8+CiAgICAgICAgICAgIDxuIGlkPSIyNiIgcD0iMTM2LjA1MDAwMyA2Ni41Mjk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9IjI3IiBFbGVtZW50PSIzNSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxNDguNTIwMDA0IDU5LjMzMDAwMiI+CiAgICAgICAgICAgICAgICA8dCBwPSIxNDguNTIwMDA0IDU5LjMzMDAwMiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkJyPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxiIGlkPSIyMjMiIEI9IjE4IiBFPSIxOSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIyNCIgQj0iMTkiIEU9IjIwIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMjUiIEI9IjIwIiBFPSIyMSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIyNiIgQj0iMjEiIEU9IjIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMjciIEI9IjIyIiBFPSIyMyIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIyOCIgQj0iMjMiIEU9IjE4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMjkiIEI9IjE5IiBFPSIyNCIvPgogICAgICAgICAgICA8YiBpZD0iMjMwIiBCPSIyMiIgRT0iMjUiLz4KICAgICAgICAgICAgPGIgaWQ9IjIzMSIgQj0iMjUiIEU9IjI2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMzIiIEI9IjI2IiBFPSIyNyIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSIyOCI+CiAgICAgICAgICAgIDxuIGlkPSIyOSIgcD0iNDk1LjY0OTk2MyA4Mi43Mzk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjMwIiBwPSI0OTUuNjQ5OTYzIDk3LjEzOTk5OSIvPgogICAgICAgICAgICA8biBpZD0iMzEiIHA9IjUwOC4xMjAwMjYgMTA0LjMzOTk5NiIvPgogICAgICAgICAgICA8biBpZD0iMzIiIHA9IjUyMC41ODk5NjYgOTcuMTM5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSIzMyIgcD0iNTIwLjU4OTk2NiA4Mi43Mzk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjM0IiBwPSI1MDguMTIwMDI2IDc1LjU0MDAwMSIvPgogICAgICAgICAgICA8biBpZD0iMzUiIHA9IjQ4My4xNzk5NjIgMTA0LjMzOTk5NiIvPgogICAgICAgICAgICA8biBpZD0iMzYiIHA9IjUzMy4wNTk5OTggNzUuNTQwMDAxIi8+CiAgICAgICAgICAgIDxuIGlkPSIzNyIgcD0iNTQ1LjUyOTk2OCA4Mi43Mzk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjM4IiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjU1OC4wMDAwMDAgNzUuNTQwMDAxIj4KICAgICAgICAgICAgICAgIDx0IHA9IjU1OC4wMDAwMDAgNzUuNTQwMDAxIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tkg8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjM5IiBwPSI1NzAuNDY5OTcxIDgyLjczOTk5OCIvPgogICAgICAgICAgICA8biBpZD0iNDAiIHA9IjU4Mi45NDAwMDIgNzUuNTQwMDAxIi8+CiAgICAgICAgICAgIDxuIGlkPSI0MSIgcD0iNTk1LjQwOTk3MyA4Mi43Mzk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjQyIiBwPSI2MDcuODgwMDA1IDc1LjU0MDAwMSIvPgogICAgICAgICAgICA8biBpZD0iNDMiIHA9IjYwNy44ODAwMDUgNjEuMTM5OTk2Ii8+CiAgICAgICAgICAgIDxuIGlkPSI0NCIgcD0iNTk1LjQwOTk3MyA1My45NDAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjQ1IiBwPSI1ODIuOTQwMDAyIDYxLjEzOTk5NiIvPgogICAgICAgICAgICA8biBpZD0iNDYiIHA9IjYyMC4zNDk5NzYgNTMuOTQwMDAyIi8+CiAgICAgICAgICAgIDxuIGlkPSI0NyIgcD0iNjMyLjgyMDAwNyA2MS4xMzk5OTYiLz4KICAgICAgICAgICAgPG4gaWQ9IjQ4IiBwPSI2MjAuMzQ5OTc2IDM5LjU0MDAwMSIvPgogICAgICAgICAgICA8biBpZD0iNDkiIHA9IjYzMi44MjAwMDcgNDYuNzM5OTk4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMzMiIEI9IjI5IiBFPSIzMCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIzNCIgQj0iMzAiIEU9IjMxIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMzUiIEI9IjMxIiBFPSIzMiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIzNiIgQj0iMzIiIEU9IjMzIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMzciIEI9IjMzIiBFPSIzNCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIzOCIgQj0iMzQiIEU9IjI5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMzkiIEI9IjMwIiBFPSIzNSIvPgogICAgICAgICAgICA8YiBpZD0iMjQwIiBCPSIzMyIgRT0iMzYiLz4KICAgICAgICAgICAgPGIgaWQ9IjI0MSIgQj0iMzYiIEU9IjM3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNDIiIEI9IjM3IiBFPSIzOCIvPgogICAgICAgICAgICA8YiBpZD0iMjQzIiBCPSIzOCIgRT0iMzkiLz4KICAgICAgICAgICAgPGIgaWQ9IjI0NCIgQj0iMzkiIEU9IjQwIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNDUiIEI9IjQwIiBFPSI0MSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI0NiIgQj0iNDEiIEU9IjQyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNDciIEI9IjQyIiBFPSI0MyIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI0OCIgQj0iNDMiIEU9IjQ0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNDkiIEI9IjQ0IiBFPSI0NSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI1MCIgQj0iNDUiIEU9IjQwIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNTEiIEI9IjQzIiBFPSI0NiIvPgogICAgICAgICAgICA8YiBpZD0iMjUyIiBCPSI0NiIgRT0iNDciLz4KICAgICAgICAgICAgPGIgaWQ9IjI1MyIgQj0iNDYiIEU9IjQ4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNTQiIEI9IjQ2IiBFPSI0OSIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI1MCI+CiAgICAgICAgICAgIDxuIGlkPSIyNTkiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjI2MCI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjUxIiBwPSIzODAuNTU5OTk4IDg5Ljk0MDAwMiIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI1MiIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIzNjguMTI5OTc0IDgyLjc2MDAwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjM2OC4xMjk5NzQgODIuNzYwMDAyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI1MyIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSIzOTIuOTc5OTgwIDgyLjc2MDAwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjM5Mi45Nzk5ODAgODIuNzYwMDAyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI1NCIgcD0iMzkyLjk3OTk4MCA2OC40MTAwMDQiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNTUiIHA9IjQwNS40MDk5NzMgODkuOTQwMDAyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI1NSIgQj0iNTMiIEU9IjU0Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI1NiIgQj0iNTMiIEU9IjU1Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI1NyIgQj0iNTEiIEU9IjUyIiBPcmRlcj0iMiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyNTgiIEI9IjUxIiBFPSI1MyIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5ETUY8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNTYiPgogICAgICAgICAgICA8biBpZD0iNTciIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjg2LjE2OTk4MyAzNzAuNDEwMDA0Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjI4Ni4xNjk5ODMgMzcwLjQxMDAwNCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk48L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjU4IiBwPSIyOTguNjM5OTg0IDM3Ny42MDk5ODUiLz4KICAgICAgICAgICAgPG4gaWQ9IjU5IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjMxMS4xMDk5ODUgMzcwLjQxMDAwNCI+CiAgICAgICAgICAgICAgICA8dCBwPSIzMTEuMTA5OTg1IDM3MC40MTAwMDQiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI2MCIgcD0iMjczLjY5OTk4MiAzNzcuNjA5OTg1Ii8+CiAgICAgICAgICAgIDxuIGlkPSI2MSIgcD0iMjg2LjE2OTk4MyAzNTYuMDEwMDEwIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNjEiIEI9IjU3IiBFPSI1OCIvPgogICAgICAgICAgICA8YiBpZD0iMjYyIiBCPSI1OCIgRT0iNTkiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNjMiIEI9IjU3IiBFPSI2MCIvPgogICAgICAgICAgICA8YiBpZD0iMjY0IiBCPSI1NyIgRT0iNjEiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNjIiPgogICAgICAgICAgICA8biBpZD0iNjMiIHA9IjEzMy45OTAwMDUgMzcyLjIwOTk5MSIvPgogICAgICAgICAgICA8biBpZD0iNjQiIHA9IjEyMS41NzAwMDAgMzc5LjM4MDAwNSIvPgogICAgICAgICAgICA8biBpZD0iNjUiIHA9IjEwOS4xMzk5OTkgMzcyLjIwOTk5MSIvPgogICAgICAgICAgICA8biBpZD0iNjYiIHA9Ijk2LjcwOTk5OSAzNzkuMzgwMDA1Ii8+CiAgICAgICAgICAgIDxuIGlkPSI2NyIgRWxlbWVudD0iNyIgQ2hhcmdlPSIxIiBOdW1IeWRyb2dlbnM9IjAiIHA9Ijg0LjI3OTk5OSAzNzIuMjA5OTkxIj4KICAgICAgICAgICAgICAgIDx0IHA9Ijg0LjI3OTk5OSAzNzIuMjA5OTkxIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNjgiIHA9IjkxLjQ1OTk5OSAzNTkuNzc5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSI2OSIgcD0iNzEuODYwMDAxIDM2NS4wMjk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9IjcwIiBwPSI3Ny4xMTAwMDEgMzg0LjY0MDAxNSIvPgogICAgICAgICAgICA8biBpZD0iNzEiIHA9IjYyLjc2MDAwMiAzODQuNjQwMDE1Ii8+CiAgICAgICAgICAgIDxuIGlkPSI3MiIgcD0iNTUuNTgwMDAyIDM5Ny4wNTk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjczIiBwPSI0MS4yMzAwMDAgMzk3LjA1OTk5OCIvPgogICAgICAgICAgICA8biBpZD0iNzQiIHA9IjEwNS44MDk5OTggMzU5Ljc3OTk5OSIvPgogICAgICAgICAgICA8biBpZD0iNzUiIHA9IjExMi45ODAwMDMgMzQ3LjM1MDAwNiIvPgogICAgICAgICAgICA8biBpZD0iNzYiIHA9IjEyNy4zMzAwMDIgMzQ3LjM1MDAwNiIvPgogICAgICAgICAgICA8biBpZD0iNzciIHA9IjU5LjQzMDAwMCAzNzIuMjA5OTkxIi8+CiAgICAgICAgICAgIDxuIGlkPSI3OCIgcD0iNDcuMDAwMDAwIDM2NS4wMjk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9Ijc5IiBwPSIzNC41NzAwMDAgMzcyLjIwOTk5MSIvPgogICAgICAgICAgICA8biBpZD0iODAiIEVsZW1lbnQ9IjUzIiBDaGFyZ2U9Ii0xIiBOdW1IeWRyb2dlbnM9IjAiIHA9Ijc5LjIwOTk5OSAzNTYuMjc5OTk5Ij4KICAgICAgICAgICAgICAgIDx0IHA9Ijc5LjIwOTk5OSAzNTYuMjc5OTk5IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+STwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8YiBpZD0iMjY1IiBCPSI2MyIgRT0iNjQiLz4KICAgICAgICAgICAgPGIgaWQ9IjI2NiIgQj0iNjQiIEU9IjY1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNjciIEI9IjY1IiBFPSI2NiIvPgogICAgICAgICAgICA8YiBpZD0iMjY4IiBCPSI2NiIgRT0iNjciLz4KICAgICAgICAgICAgPGIgaWQ9IjI2OSIgQj0iNjciIEU9IjY4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNzAiIEI9IjY3IiBFPSI2OSIvPgogICAgICAgICAgICA8YiBpZD0iMjcxIiBCPSI2NyIgRT0iNzAiLz4KICAgICAgICAgICAgPGIgaWQ9IjI3MiIgQj0iNzAiIEU9IjcxIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNzMiIEI9IjcxIiBFPSI3MiIvPgogICAgICAgICAgICA8YiBpZD0iMjc0IiBCPSI3MiIgRT0iNzMiLz4KICAgICAgICAgICAgPGIgaWQ9IjI3NSIgQj0iNjgiIEU9Ijc0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNzYiIEI9Ijc0IiBFPSI3NSIvPgogICAgICAgICAgICA8YiBpZD0iMjc3IiBCPSI3NSIgRT0iNzYiLz4KICAgICAgICAgICAgPGIgaWQ9IjI3OCIgQj0iNjkiIEU9Ijc3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNzkiIEI9Ijc3IiBFPSI3OCIvPgogICAgICAgICAgICA8YiBpZD0iMjgwIiBCPSI3OCIgRT0iNzkiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iODEiPgogICAgICAgICAgICA8biBpZD0iMjg0IiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSIyODUiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI4MiIgRWxlbWVudD0iMSIgSXNvdG9wZT0iMyIgcD0iNjUuMDUwMDAzIDMxNS4wNTk5OTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSI2NS4wNTAwMDMgMzE1LjA1OTk5OCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+SDwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iODMiIEVsZW1lbnQ9IjUiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNzcuNDgwMDAzIDMwNy44OTAwMTUiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSI3Ny40ODAwMDMgMzA3Ljg5MDAxNSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Qjwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMjg2IiBOb2RlVHlwZT0iRXh0ZXJuYWxDb25uZWN0aW9uUG9pbnQiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iODUiIEVsZW1lbnQ9IjUzIiBOdW1IeWRyb2dlbnM9IjAiIHA9Ijc3LjQ4MDAwMyAyOTMuNTQwMDA5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iNzcuNDgwMDAzIDI5My41NDAwMDkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkk8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI4MiIgQj0iODMiIEU9Ijg1Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI4MyIgQj0iODIiIEU9IjgzIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI4OCIgQj0iMjg2IiBFPSI4MyIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5UQkFJPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI4NCIgTm9kZVR5cGU9IkdlbmVyaWNOaWNrbmFtZSIgR2VuZXJpY05pY2tuYW1lPSJBIiBwPSI4OS45MTAwMDQgMzE1LjA1OTk5OCI+CiAgICAgICAgICAgICAgICA8dCBwPSI4OS45MTAwMDQgMzE1LjA1OTk5OCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkE8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPGIgaWQ9IjI4NyIgQj0iODQiIEU9IjI4NCIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI4NiI+CiAgICAgICAgICAgIDxuIGlkPSIyOTMiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjI5NCI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijg3IiBwPSIxNzYuMzAwMDAzIDMwMC44MjAwMDciLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iODgiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTYzLjg2OTk5NSAzMDguMDAwMDAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMTYzLjg2OTk5NSAzMDguMDAwMDAwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI4OSIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxODguNzI5OTk2IDMwOC4wMDAwMDAiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIxODguNzI5OTk2IDMwOC4wMDAwMDAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjkwIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjIwMS4xNDk5OTQgMzAwLjgyMDAwNyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjIwMS4xNDk5OTQgMzAwLjgyMDAwNyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iOTEiIEVsZW1lbnQ9IjE5IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjIxMy41ODAwMDIgMzA4LjAwMDAwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjIxMy41ODAwMDIgMzA4LjAwMDAwMCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Szwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iOTIiIEVsZW1lbnQ9IjE5IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjIyNy45MzAwMDggMzA0LjQxMDAwNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjIyNy45MzAwMDggMzA0LjQxMDAwNCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+S0g8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI4OSIgQj0iOTAiIEU9IjkxIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI5MCIgQj0iODkiIEU9IjkwIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI5MSIgQj0iODciIEU9Ijg4IiBPcmRlcj0iMiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyOTIiIEI9Ijg3IiBFPSI4OSIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5LMkNPMzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI5MyI+CiAgICAgICAgICAgIDxuIGlkPSI5NCIgcD0iMTg5LjgwMDAwMyAzNzIuNzY5OTg5Ii8+CiAgICAgICAgICAgIDxuIGlkPSI5NSIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxNzcuMzY5OTk1IDM3OS45NDAwMDIiPgogICAgICAgICAgICAgICAgPHQgcD0iMTc3LjM2OTk5NSAzNzkuOTQwMDAyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iOTYiIEVsZW1lbnQ9IjgiIENoYXJnZT0iLTEiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjAyLjIyOTk5NiAzNzkuOTQwMDAyIj4KICAgICAgICAgICAgICAgIDx0IHA9IjIwMi4yMjk5OTYgMzc5Ljk0MDAwMiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9Ijk3IiBFbGVtZW50PSI4IiBDaGFyZ2U9Ii0xIiBOdW1IeWRyb2dlbnM9IjAiIHA9IjE4OS44MDAwMDMgMzU4LjM2OTk5NSI+CiAgICAgICAgICAgICAgICA8dCBwPSIxODkuODAwMDAzIDM1OC4zNjk5OTUiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI5OCIgRWxlbWVudD0iMTkiIENoYXJnZT0iMSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyMDQuNTgwMDAyIDM1OS40NDAwMDIiPgogICAgICAgICAgICAgICAgPHQgcD0iMjA0LjU4MDAwMiAzNTkuNDQwMDAyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Szwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iOTkiIEVsZW1lbnQ9IjE5IiBDaGFyZ2U9IjEiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjE2LjA4MDAwMiAzNzkuOTQwMDAyIj4KICAgICAgICAgICAgICAgIDx0IHA9IjIxNi4wODAwMDIgMzc5Ljk0MDAwMiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPks8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPGIgaWQ9IjI5NSIgQj0iOTQiIEU9Ijk1IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjk2IiBCPSI5NCIgRT0iOTYiLz4KICAgICAgICAgICAgPGIgaWQ9IjI5NyIgQj0iOTQiIEU9Ijk3Ii8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjEwMCI+CiAgICAgICAgICAgIDxuIGlkPSIzMDIiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjMwMyI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEwMSIgcD0iMjgxLjM5OTk5NCAzMDcuODkwMDE1Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEwMiIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyNjguOTY5OTcxIDMwMC43MDk5OTEiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIyNjguOTY5OTcxIDMwMC43MDk5OTEiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEwMyIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyOTMuODI5OTg3IDMwMC43MDk5OTEiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIyOTMuODI5OTg3IDMwMC43MDk5OTEiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk48L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEwNCIgcD0iMjkzLjgyOTk4NyAyODYuMzU5OTg1Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEwNSIgcD0iMzA2LjI1MDAwMCAzMDcuODkwMDE1Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI5OCIgQj0iMTAzIiBFPSIxMDQiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjk5IiBCPSIxMDMiIEU9IjEwNSIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMDAiIEI9IjEwMSIgRT0iMTAyIiBPcmRlcj0iMiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMDEiIEI9IjEwMSIgRT0iMTAzIi8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPkRNRjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSIxMDYiPgogICAgICAgICAgICA8biBpZD0iMzA1IiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSIzMDYiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMDciIEVsZW1lbnQ9IjE5IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjM3Ni41MDk5NzkgMzI3LjEwMDAwNiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjM3Ni41MDk5NzkgMzI3LjEwMDAwNiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Szwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTA4IiBFbGVtZW50PSIzNSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIzOTAuODU5OTg1IDMyNy4xMDAwMDYiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIzOTAuODU5OTg1IDMyNy4xMDAwMDYiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkJyPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMDQiIEI9IjEwNyIgRT0iMTA4Ii8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPks8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iMTA5Ij4KICAgICAgICAgICAgPG4gaWQ9IjMxMSIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iMzEyIj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTEwIiBwPSIzNjcuMjY5OTg5IDMwNS44Mjk5ODciLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTExIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjM1NC44Mzk5OTYgMzEzLjAxMDAxMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjM1NC44Mzk5OTYgMzEzLjAxMDAxMCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTEyIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjM3OS42ODk5NzIgMzEzLjAxMDAxMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjM3OS42ODk5NzIgMzEzLjAxMDAxMCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTEzIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjM5Mi4xMTk5OTUgMzA1LjgyOTk4NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjM5Mi4xMTk5OTUgMzA1LjgyOTk4NyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTE0IiBFbGVtZW50PSIxOSIgTnVtSHlkcm9nZW5zPSIwIiBwPSI0MDQuNTQ5OTg4IDMxMy4wMTAwMTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSI0MDQuNTQ5OTg4IDMxMy4wMTAwMTAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPks8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMwNyIgQj0iMTEzIiBFPSIxMTQiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzA4IiBCPSIxMTIiIEU9IjExMyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMDkiIEI9IjExMCIgRT0iMTExIiBPcmRlcj0iMiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMTAiIEI9IjExMCIgRT0iMTEyIi8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPktIQ08zPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8dCBpZD0iMTE1IiBwPSIzOTMuNjQ0OTU4IDQ3LjQ1OTk5OSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+MiBlcXVpdjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjExNSIgcD0iMzkzLjY0NDk1OCA0Ny40NTk5OTkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPksyQ08zPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTE4IiBwPSIzOTMuNjQ0OTU4IDYyLjM5OTk5OCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+MC4yIGVxdWl2PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTE4IiBwPSIzOTMuNjQ0OTU4IDYyLjM5OTk5OCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+IFRCQUk8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMjEiIHA9IjM5My42NDQ5NTggOTkuNDE5OTk4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj44MCDCukM8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMjQiIHA9IjM5My42NDk5NjMgMTE3LjcwNTAwMiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+MC4yIE0gaW4gbGltaXRpbmc8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMjciIHA9Ijc3LjEyNTAwMCA3LjQzNDk5OSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxNiIgZmFjZT0iMiI+Ti1BbGt5bGF0aW9uIFJ4bjI8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMzAiIHA9IjI2My40NzQ5NzYgMTMzLjYzOTk5OSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj42OTYtNDQtNjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEzMyIgcD0iMTA5LjMzMDAwMiAxMTguMzY5OTk1IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPjEtKDItYnJvbW9ldGh5bCktNC1tZXRoeWxiZW56ZW5lPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTM2IiBwPSIxMDkuMzMwMDAyIDEzMy42Mzk5OTkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+NjUyOS01MS03PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTM5IiBwPSIxMDkuMzMwMDAyIDE1Ny42NTAwMDkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjEuMiBlcXVpdjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE0MiIgcD0iMjYzLjQ3OTk4MCAxNTcuNjUwMDA5IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4xLjAgZXF1aXY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNDUiIHA9IjEwOS4zMjQ5OTcgMTcxLjkxNTAwOSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2VsZWN0cm9waGlsZV08L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNDgiIHA9IjI2My40NzQ5NzYgMTcxLjkxNTAwOSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W04tbnVjbGVvcGhpbGVdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTUxIiBwPSI1NTIuODg5OTU0IDE3MS45MTUwMDkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltkZXNpcmVkIHByb2R1Y3RdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8Z3JhcGhpYyBpZD0iMTU0IiBCb3VuZGluZ0JveD0iMTkwLjAyOTk5OSA3OS4wMzUwMDQgMTkwLjAyOTk5OSA3MS41MzUwMDQiIEdyYXBoaWNUeXBlPSJTeW1ib2wiIFN5bWJvbFR5cGU9IlBsdXMiLz4KICAgICAgICA8dCBpZD0iMTU3IiBwPSIyNjMuNDc5OTgwIDExOC4zNjk5OTUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+KDQtKDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE1NyIgcD0iMjYzLjQ3OTk4MCAxMTguMzY5OTk1IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjMiPnRlcnQ8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNTciIHA9IjI2My40Nzk5ODAgMTE4LjM2OTk5NSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIzIj4tYnV0eWwpcGhlbnlsKW1ldGhhbmFtaW5lPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTYwIiBwPSI1NTIuODk0OTU4IDExOC4zNjk5OTUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+Tjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE2MCIgcD0iNTUyLjg5NDk1OCAxMTguMzY5OTk1IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjMiPi0oNC0oPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTYwIiBwPSI1NTIuODk0OTU4IDExOC4zNjk5OTUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+dGVydDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE2MCIgcD0iNTUyLjg5NDk1OCAxMTguMzY5OTk1IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjMiPi1idXR5bCliZW56eWwpLTItKDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE2MCIgcD0iNTUyLjg5NDk1OCAxMTguMzY5OTk1IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjMiPnA8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNjAiIHA9IjU1Mi44OTQ5NTggMTE4LjM2OTk5NSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIzIj4tdG9seWwpZXRoYW4tMS1hbWluZTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE2MyIgcD0iODQuMjg0OTk2IDQyNC45MTUwMDkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPlthZGRpdGl2ZV08L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNjYiIHA9Ijg0LjI4NDk5NiAzMTkuODkwMDE1IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPnRldHJhYnV0eWxhbW1vbml1bSBicm9taWRlPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTY5IiBwPSI4NC4yODQ5OTYgMzMzLjU1OTk5OCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj4zMTEtMjgtNDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE3MiIgcD0iODQuMjg0OTk2IDQwOC44NTAwMzciIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+TVcgMzY5LjM4PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTc1IiBwPSIxOTguNjcwMDEzIDMxOS44MzAwMTciIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+cG90YXNzaXVtIGNhcmJvbmF0ZTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE3OCIgcD0iMTk4LjY3MDAxMyAzMzMuNTU5OTk4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjU4NC0wOC03PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTgxIiBwPSIxOTguNjcwMDEzIDM5Ni4xMzk5ODQiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+TVcgMTM4LjIwPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTg0IiBwPSIxOTguNjc1MDE4IDQxMi45MTQ5NzgiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltiYXNlXTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE4NyIgcD0iMjkzLjcyNDk3NiAzMzMuNTU5OTk4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjY4LTEyLTI8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxOTAiIHA9IjI5My43MjQ5NzYgMzkyLjM5OTk5NCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj5NVyA3My4xMDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE5MyIgcD0iMjkzLjcyNDk3NiA0MTEuNDE0OTc4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bc29sdmVudF08L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxOTYiIHA9IjM5Ni42MDk5ODUgMjgxLjIyMDAzMiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2J5cHJvZHVjdHNdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTk5IiBwPSIyMS44MjQ5OTkgMjg2LjcyMDAwMSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMSI+S2V5PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8Z3JhcGhpYyBpZD0iMjAyIiBCb3VuZGluZ0JveD0iMC43OTk5OTkgNDk0LjI1MDAwMCAzNTQuNTg5OTk2IDI3Mi45NTAwMTIiIEdyYXBoaWNUeXBlPSJSZWN0YW5nbGUiLz4KICAgICAgICA8YXJyb3cgaWQ9IjIwNSIgQm91bmRpbmdCb3g9IjQ0OS41MTk5ODkgNzQuMDQwMDAxIDMzNy43Njk5ODkgNzQuMDQwMDAxIiBGaWxsVHlwZT0iTm9uZSIgQXJyb3doZWFkVHlwZT0iU29saWQiIEhlYWRTaXplPSIyMjUwIiBBcnJvd2hlYWRXaWR0aD0iNTYzIiBBcnJvd2hlYWRIZWFkPSJGdWxsIiBBcnJvd2hlYWRDZW50ZXJTaXplPSIyNSIgSGVhZDNEPSI0NDkuNTE5OTg5IDc0LjA0MDAwMSAwLjAwMDAwMCIgVGFpbDNEPSIzMzcuNzY5OTg5IDc0LjA0MDAwMSAwLjAwMDAwMCIvPgogICAgICAgIDxhcnJvdyBpZD0iMjA4IiBCb3VuZGluZ0JveD0iNDMzLjYwOTk4NSAzOTguMjM5OTkwIDQzMy42MDk5ODUgMjk0LjUwMDAwMCIgRmlsbFR5cGU9Ik5vbmUiIEFycm93aGVhZFR5cGU9IlNvbGlkIiBIZWFkU2l6ZT0iMjI1MCIgQXJyb3doZWFkV2lkdGg9IjU2MyIgQXJyb3doZWFkSGVhZD0iRnVsbCIgQXJyb3doZWFkQ2VudGVyU2l6ZT0iMjUiIEhlYWQzRD0iNDMzLjYwOTk4NSAzOTguMjM5OTkwIDAuMDAwMDAwIiBUYWlsM0Q9IjQzMy42MDk5ODUgMjk0LjUwMDAwMCAwLjAwMDAwMCIvPgogICAgICAgIDxzY2hlbWU+CiAgICAgICAgICAgIDxzdGVwIFJlYWN0aW9uU3RlcE9iamVjdHNBYm92ZUFycm93PSI1MCIgUmVhY3Rpb25TdGVwQXJyb3dzPSIyMDUiLz4KICAgICAgICAgICAgPHN0ZXAgUmVhY3Rpb25TdGVwT2JqZWN0c0Fib3ZlQXJyb3c9IjUwIiBSZWFjdGlvblN0ZXBBcnJvd3M9IjIwOCIvPgogICAgICAgIDwvc2NoZW1lPgogICAgPC9wYWdlPgo8L0NEWE1MPgo= \ No newline at end of file diff --git a/api/tests/integration/tests/formats/ref/N-Alkylation_Rxn2.cdxml b/api/tests/integration/tests/formats/ref/N-Alkylation_Rxn2.cdxml new file mode 100644 index 0000000000..703fb6197d --- /dev/null +++ b/api/tests/integration/tests/formats/ref/N-Alkylation_Rxn2.cdxml @@ -0,0 +1,519 @@ + + + + + + + + + + + + + + + + + + + + + + + NH + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Br + + + + + + + + + + + + + + + + + + + + + + + + + + NH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + O + + + + + N + + + + + + + + + + + DMF + + + + + + + N + + + + + + O + + + + + + + + + + + + + + + + + N + + + + + + + + + + + + + + + + + I + + + + + + + + + + + + + + + + + + + + + + + + + H + + + + + B + + + + + + I + + + + + + + + TBAI + + + + + A + + + + + + + + + + + O + + + + + O + + + + + O + + + + + K + + + + + KH + + + + + + + + + K2CO3 + + + + + + + + O + + + + + O + + + + + O + + + + + K + + + + + K + + + + + + + + + + + + + O + + + + + N + + + + + + + + + + + DMF + + + + + + + + + K + + + + + Br + + + + + + K + + + + + + + + + + O + + + + + O + + + + + O + + + + + K + + + + + + + + + KHCO3 + + + + + 2 equiv + + + K2CO3 + + + 0.2 equiv + + + TBAI + + + 80 ºC + + + 0.2 M in limiting + + + N-Alkylation Rxn2 + + + 696-44-6 + + + 1-(2-bromoethyl)-4-methylbenzene + + + 6529-51-7 + + + 1.2 equiv + + + 1.0 equiv + + + [electrophile] + + + [N-nucleophile] + + + [desired product] + + + + (4-( + + + tert + + + -butyl)phenyl)methanamine + + + N + + + -(4-( + + + tert + + + -butyl)benzyl)-2-( + + + p + + + -tolyl)ethan-1-amine + + + [additive] + + + tetrabutylammonium bromide + + + 311-28-4 + + + MW 369.38 + + + potassium carbonate + + + 584-08-7 + + + MW 138.20 + + + [base] + + + 68-12-2 + + + MW 73.10 + + + [solvent] + + + [byproducts] + + + Key + + + + + + + + + + diff --git a/api/tests/integration/tests/formats/ref/N-Sulfonylation_Rxn1.b64cdx b/api/tests/integration/tests/formats/ref/N-Sulfonylation_Rxn1.b64cdx new file mode 100644 index 0000000000..3d5d1126e5 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/N-Sulfonylation_Rxn1.b64cdx @@ -0,0 +1 @@ +PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIENEWE1MIFNZU1RFTSAiaHR0cDovL3d3dy5jYW1icmlkZ2Vzb2Z0LmNvbS94bWwvY2R4bWwuZHRkIj4KPENEWE1MIEJvbmRMZW5ndGg9IjMwLjAwMDAwMCIgTGFiZWxGb250PSIzIiBDYXB0aW9uRm9udD0iNCI+CiAgICA8Zm9udHRhYmxlIGlkPSIxIj4KICAgICAgICA8Zm9udCBpZD0iMiIgY2hhcnNldD0idXRmLTgiIG5hbWU9IkFyaWFsIi8+CiAgICAgICAgPGZvbnQgaWQ9IjMiIGNoYXJzZXQ9InV0Zi04IiBuYW1lPSJUaW1lcyBOZXcgUm9tYW4iLz4KICAgIDwvZm9udHRhYmxlPgogICAgPGNvbG9ydGFibGU+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMCIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIxIiBnPSIwIiBiPSIwIi8+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjAiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMSIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIwIiBnPSIxIiBiPSIxIi8+CiAgICAgICAgPGNvbG9yIHI9IjAiIGc9IjAiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMSIgZz0iMCIgYj0iMSIvPgogICAgICAgIDxjb2xvciByPSIwLjUiIGc9IjAuNSIgYj0iMC41Ii8+CiAgICA8L2NvbG9ydGFibGU+CiAgICA8cGFnZSBIZWlnaHRQYWdlcz0iMSIgV2lkdGhQYWdlcz0iMSI+CiAgICAgICAgPGZyYWdtZW50IGlkPSI0Ij4KICAgICAgICAgICAgPG4gaWQ9IjUiIHA9Ijk5LjY4MDAwMCAxMDkuMjMwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSI2IiBwPSI4Ny4yNjAwMDIgMTAyLjA2MDAwNSIvPgogICAgICAgICAgICA8biBpZD0iNyIgcD0iNjIuNDAwMDA1IDg3LjcwOTk5OSIvPgogICAgICAgICAgICA8biBpZD0iOCIgcD0iNjIuNDAwMDA1IDczLjM2MDAwMSIvPgogICAgICAgICAgICA8biBpZD0iOSIgcD0iNzQuODMwMDAyIDY2LjE4MDAwMCIvPgogICAgICAgICAgICA8biBpZD0iMTAiIHA9Ijc0LjgzMDAwMiA4MC41Mjk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9IjExIiBwPSI4Ny4yNjAwMDIgODcuNzA5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMiIgcD0iOTkuNjgwMDAwIDgwLjUyOTk5OSIvPgogICAgICAgICAgICA8biBpZD0iMTMiIHA9IjExMi4xMTAwMDEgODcuNzA5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxNCIgcD0iMTEyLjExMDAwMSAxMDIuMDYwMDA1Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxNSIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIyIiBwPSIxMjQuNTQwMDAxIDEwOS4yMzAwMDMiPgogICAgICAgICAgICAgICAgPHQgcD0iMTI0LjU0MDAwMSAxMDkuMjMwMDAzIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tkg8L3M+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9IjMyIj4yPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxiIGlkPSIxNjYiIEI9IjE0IiBFPSI1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxNjciIEI9IjYiIEU9IjUiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxNjgiIEI9IjExIiBFPSI2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxNjkiIEI9IjEwIiBFPSI3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxNzAiIEI9IjEwIiBFPSI4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxNzEiIEI9IjEwIiBFPSI5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxNzIiIEI9IjExIiBFPSIxMCIvPgogICAgICAgICAgICA8YiBpZD0iMTczIiBCPSIxMiIgRT0iMTEiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxNzQiIEI9IjEzIiBFPSIxMiIvPgogICAgICAgICAgICA8YiBpZD0iMTc1IiBCPSIxNCIgRT0iMTMiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxNzYiIEI9IjE1IiBFPSIxNCIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSIxNiI+CiAgICAgICAgICAgIDxuIGlkPSIxNyIgcD0iMjYyLjY0OTk5NCA2OC4zMTAwMDUiLz4KICAgICAgICAgICAgPG4gaWQ9IjE4IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjIyMC4xMTAwMDEgMTA5LjQzOTk5NSI+CiAgICAgICAgICAgICAgICA8dCBwPSIyMjAuMTEwMDAxIDEwOS40Mzk5OTUiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxOSIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyMDUuNzU5OTk1IDg0LjU5MDAwNCI+CiAgICAgICAgICAgICAgICA8dCBwPSIyMDUuNzU5OTk1IDg0LjU5MDAwNCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjIwIiBFbGVtZW50PSIxNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyMDAuNTA5OTk1IDEwNC4xODk5OTUiPgogICAgICAgICAgICAgICAgPHQgcD0iMjAwLjUwOTk5NSAxMDQuMTg5OTk1IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Q2w8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjIxIiBFbGVtZW50PSIxNiIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyMTIuOTQwMDAyIDk3LjAxMDAwMiI+CiAgICAgICAgICAgICAgICA8dCBwPSIyMTIuOTQwMDAyIDk3LjAxMDAwMiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPlM8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjIyIiBwPSIyMzcuNzg5OTkzIDY4LjMxMDAwNSIvPgogICAgICAgICAgICA8biBpZD0iMjMiIHA9IjIyNS4zNjAwMDEgNzUuNDg5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyNCIgcD0iMjI1LjM2MDAwMSA4OS44NDAwMDQiLz4KICAgICAgICAgICAgPG4gaWQ9IjI1IiBwPSIyMzcuNzg5OTkzIDk3LjAxMDAwMiIvPgogICAgICAgICAgICA8biBpZD0iMjYiIHA9IjI1MC4yMTk5NzEgNzUuNDg5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyNyIgcD0iMjUwLjIxOTk3MSA4OS44NDAwMDQiLz4KICAgICAgICAgICAgPGIgaWQ9IjE3NyIgQj0iMjYiIEU9IjE3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxNzgiIEI9IjIxIiBFPSIxOCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE3OSIgQj0iMjEiIEU9IjE5IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMTgwIiBCPSIyMSIgRT0iMjAiLz4KICAgICAgICAgICAgPGIgaWQ9IjE4MSIgQj0iMjQiIEU9IjIxIi8+CiAgICAgICAgICAgIDxiIGlkPSIxODIiIEI9IjIyIiBFPSIyNiIvPgogICAgICAgICAgICA8YiBpZD0iMTgzIiBCPSIyMyIgRT0iMjIiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxODQiIEI9IjI0IiBFPSIyMyIvPgogICAgICAgICAgICA8YiBpZD0iMTg1IiBCPSIyNSIgRT0iMjQiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxODYiIEI9IjI3IiBFPSIyNSIvPgogICAgICAgICAgICA8YiBpZD0iMTg3IiBCPSIyNyIgRT0iMjYiIE9yZGVyPSIyIi8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjI4Ij4KICAgICAgICAgICAgPG4gaWQ9IjI5IiBwPSI0OTQuNTU5OTY3IDY4LjA4MDAwMiIvPgogICAgICAgICAgICA8biBpZD0iMzAiIHA9IjQ4Mi4xMjk5NzQgNzUuMjUwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSIzMSIgcD0iNDgyLjEyOTk3NCA4OS41OTk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjMyIiBwPSI0OTQuNTU5OTY3IDk2Ljc3OTk5OSIvPgogICAgICAgICAgICA8biBpZD0iMzMiIHA9IjUwNi45Nzk5NTAgODkuNTk5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSIzNCIgcD0iNTA2Ljk3OTk1MCA3NS4yNTAwMDAiLz4KICAgICAgICAgICAgPG4gaWQ9IjM1IiBwPSI0NjkuNjk5OTgyIDY4LjA4MDAwMiIvPgogICAgICAgICAgICA8biBpZD0iMzYiIHA9IjU2OS4xMTk5OTUgODIuNDMwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSIzNyIgcD0iNTY5LjExOTk5NSA2OC4wODAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjM4IiBwPSI1NTYuNjkwMDAyIDg5LjU5OTk5OCIvPgogICAgICAgICAgICA8biBpZD0iMzkiIHA9IjU0NC4yNjAwMTAgODIuNDMwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSI0MCIgcD0iNTQ0LjI2MDAxMCA2OC4wODAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjQxIiBwPSI1NTYuNjkwMDAyIDYwLjg5OTk5OCIvPgogICAgICAgICAgICA8biBpZD0iNDIiIEVsZW1lbnQ9IjE2IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjUzMS44Mzk5NjYgODkuNTk5OTk4Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjUzMS44Mzk5NjYgODkuNTk5OTk4IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Uzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNDMiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMSIgcD0iNTE5LjQwOTk3MyA5Ni43Nzk5OTkiPgogICAgICAgICAgICAgICAgPHQgcD0iNTE5LjQwOTk3MyA5Ni43Nzk5OTkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OSDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNDQiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNTI0LjY1OTk3MyA3Ny4xNjk5OTgiPgogICAgICAgICAgICAgICAgPHQgcD0iNTI0LjY1OTk3MyA3Ny4xNjk5OTgiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI0NSIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSI1MzkuMDEwMDEwIDEwMi4wMzAwMDYiPgogICAgICAgICAgICAgICAgPHQgcD0iNTM5LjAxMDAxMCAxMDIuMDMwMDA2IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNDYiIHA9IjU4MS41NDk5ODggNjAuODk5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSI0NyIgcD0iNDU3LjI2OTk4OSA2MC44OTk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjQ4IiBwPSI0NjkuNjk5OTgyIDUzLjczMDAwMyIvPgogICAgICAgICAgICA8biBpZD0iNDkiIHA9IjQ1Ny4yNjk5ODkgNzUuMjUwMDAwIi8+CiAgICAgICAgICAgIDxiIGlkPSIxODgiIEI9IjI5IiBFPSIzMCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE4OSIgQj0iMzAiIEU9IjMxIi8+CiAgICAgICAgICAgIDxiIGlkPSIxOTAiIEI9IjMxIiBFPSIzMiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE5MSIgQj0iMzIiIEU9IjMzIi8+CiAgICAgICAgICAgIDxiIGlkPSIxOTIiIEI9IjMzIiBFPSIzNCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE5MyIgQj0iMzQiIEU9IjI5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxOTQiIEI9IjMzIiBFPSI0MyIvPgogICAgICAgICAgICA8YiBpZD0iMTk1IiBCPSIzMCIgRT0iMzUiLz4KICAgICAgICAgICAgPGIgaWQ9IjE5NiIgQj0iMzYiIEU9IjM3IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMTk3IiBCPSIzNiIgRT0iMzgiLz4KICAgICAgICAgICAgPGIgaWQ9IjE5OCIgQj0iMzgiIEU9IjM5IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMTk5IiBCPSIzOSIgRT0iNDAiLz4KICAgICAgICAgICAgPGIgaWQ9IjIwMCIgQj0iNDAiIEU9IjQxIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjAxIiBCPSI0MSIgRT0iMzciLz4KICAgICAgICAgICAgPGIgaWQ9IjIwMiIgQj0iMzkiIEU9IjQyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMDMiIEI9IjQyIiBFPSI0MyIvPgogICAgICAgICAgICA8YiBpZD0iMjA0IiBCPSI0MiIgRT0iNDQiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMDUiIEI9IjQyIiBFPSI0NSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIwNiIgQj0iMzciIEU9IjQ2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMDciIEI9IjM1IiBFPSI0NyIvPgogICAgICAgICAgICA8YiBpZD0iMjA4IiBCPSIzNSIgRT0iNDgiLz4KICAgICAgICAgICAgPGIgaWQ9IjIwOSIgQj0iMzUiIEU9IjQ5Ii8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjUwIj4KICAgICAgICAgICAgPG4gaWQ9IjIxMiIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iMjEzIj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNTEiIEVsZW1lbnQ9IjEiIElzb3RvcGU9IjIiIHA9IjMzOC43NTAwMDAgMTA4Ljc5MDAwMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjMzOC43NTAwMDAgMTA4Ljc5MDAwMSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+SDwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNTIiIHA9IjM1MS4xNjk5ODMgMTAxLjYxMDAwOCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIyMTQiIE5vZGVUeXBlPSJFeHRlcm5hbENvbm5lY3Rpb25Qb2ludCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyMTEiIEI9IjUxIiBFPSI1MiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyMTYiIEI9IjIxNCIgRT0iNTIiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+RENNPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI1MyIgTm9kZVR5cGU9IkdlbmVyaWNOaWNrbmFtZSIgR2VuZXJpY05pY2tuYW1lPSJNIiBwPSIzNjMuNTk5OTc2IDEwOC43OTAwMDEiPgogICAgICAgICAgICAgICAgPHQgcD0iMzYzLjU5OTk3NiAxMDguNzkwMDAxIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+TTwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8YiBpZD0iMjE1IiBCPSI1MyIgRT0iMjEyIi8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjU0Ij4KICAgICAgICAgICAgPG4gaWQ9IjU1IiBwPSIxNDMuNzcwMDA0IDM1NC42NDk5OTQiLz4KICAgICAgICAgICAgPG4gaWQ9IjU2IiBFbGVtZW50PSIxNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxNTYuMjQwMDA1IDM0Ny40NDk5ODIiPgogICAgICAgICAgICAgICAgPHQgcD0iMTU2LjI0MDAwNSAzNDcuNDQ5OTgyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Q2w8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjU3IiBFbGVtZW50PSIxNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxMzEuMjg5OTkzIDM0Ny40NDk5ODIiPgogICAgICAgICAgICAgICAgPHQgcD0iMTMxLjI4OTk5MyAzNDcuNDQ5OTgyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Q2w8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPGIgaWQ9IjIxNyIgQj0iNTUiIEU9IjU2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMTgiIEI9IjU1IiBFPSI1NyIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI1OCI+CiAgICAgICAgICAgIDxuIGlkPSIyMjEiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjIyMiI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjU5IiBFbGVtZW50PSIxIiBJc290b3BlPSIyIiBwPSIxMjMuNDc5OTg4IDI5OS4xNDk5OTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIxMjMuNDc5OTg4IDI5OS4xNDk5OTQiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkg8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjYwIiBwPSIxMzUuOTEwMDA0IDI5MS45NzAwMDEiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMjIzIiBOb2RlVHlwZT0iRXh0ZXJuYWxDb25uZWN0aW9uUG9pbnQiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjIwIiBCPSI1OSIgRT0iNjAiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjI1IiBCPSIyMjMiIEU9IjYwIi8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPkRDTTwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNjEiIE5vZGVUeXBlPSJHZW5lcmljTmlja25hbWUiIEdlbmVyaWNOaWNrbmFtZT0iTSIgcD0iMTQ4LjMzOTk5NiAyOTkuMTQ5OTk0Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjE0OC4zMzk5OTYgMjk5LjE0OTk5NCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk08L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPGIgaWQ9IjIyNCIgQj0iNjEiIEU9IjIyMSIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI2MiI+CiAgICAgICAgICAgIDxuIGlkPSI2MyIgcD0iMjQzLjAwOTk5NSAzMjUuMTk5OTgyIi8+CiAgICAgICAgICAgIDxuIGlkPSI2NCIgcD0iMjQzLjAwOTk5NSAzMzkuNjAwMDA2Ii8+CiAgICAgICAgICAgIDxuIGlkPSI2NSIgcD0iMjU1LjQ5MDAwNSAzNDYuNzk5OTg4Ii8+CiAgICAgICAgICAgIDxuIGlkPSI2NiIgcD0iMjY3Ljk1OTk5MSAzMzkuNjAwMDA2Ii8+CiAgICAgICAgICAgIDxuIGlkPSI2NyIgRWxlbWVudD0iNyIgQ2hhcmdlPSIxIiBOdW1IeWRyb2dlbnM9IjAiIHA9IjI2Ny45NTk5OTEgMzI1LjE5OTk4MiI+CiAgICAgICAgICAgICAgICA8dCBwPSIyNjcuOTU5OTkxIDMyNS4xOTk5ODIiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI2OCIgcD0iMjU1LjQ5MDAwNSAzMTguMDAwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSI2OSIgRWxlbWVudD0iMSIgcD0iMjgwLjQyOTk5MyAzMTguMDAwMDAwIj4KICAgICAgICAgICAgICAgIDx0IHA9IjI4MC40Mjk5OTMgMzE4LjAwMDAwMCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkg8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPGIgaWQ9IjIyNiIgQj0iNjMiIEU9IjY0IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjI3IiBCPSI2NCIgRT0iNjUiLz4KICAgICAgICAgICAgPGIgaWQ9IjIyOCIgQj0iNjUiIEU9IjY2IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjI5IiBCPSI2NiIgRT0iNjciLz4KICAgICAgICAgICAgPGIgaWQ9IjIzMCIgQj0iNjciIEU9IjY4IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjMxIiBCPSI2OCIgRT0iNjMiLz4KICAgICAgICAgICAgPGIgaWQ9IjIzMiIgQj0iNjciIEU9IjY5Ii8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjcwIj4KICAgICAgICAgICAgPG4gaWQ9IjcxIiBFbGVtZW50PSIxNyIgQ2hhcmdlPSItMSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyNjUuODI5OTg3IDM2NC41MDAwMDAiPgogICAgICAgICAgICAgICAgPHQgcD0iMjY1LjgyOTk4NyAzNjQuNTAwMDAwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Q2w8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNzIiPgogICAgICAgICAgICA8biBpZD0iNzMiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNzYuNzA5OTk5IDM0OC4wNzAwMDciPgogICAgICAgICAgICAgICAgPHQgcD0iNzYuNzA5OTk5IDM0OC4wNzAwMDciIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI3NCIgcD0iNzYuNzA5OTk5IDM2Mi40MTk5ODMiLz4KICAgICAgICAgICAgPG4gaWQ9Ijc1IiBwPSI2NC4yNzk5OTkgMzY5LjYwMDAwNiIvPgogICAgICAgICAgICA8biBpZD0iNzYiIHA9IjUxLjg1MDAwMiAzNjIuNDE5OTgzIi8+CiAgICAgICAgICAgIDxuIGlkPSI3NyIgcD0iNTEuODUwMDAyIDM0OC4wNzAwMDciLz4KICAgICAgICAgICAgPG4gaWQ9Ijc4IiBwPSI2NC4yNzk5OTkgMzQwLjg5OTk5NCIvPgogICAgICAgICAgICA8YiBpZD0iMjMzIiBCPSI3MyIgRT0iNzQiLz4KICAgICAgICAgICAgPGIgaWQ9IjIzNCIgQj0iNzQiIEU9Ijc1IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjM1IiBCPSI3NSIgRT0iNzYiLz4KICAgICAgICAgICAgPGIgaWQ9IjIzNiIgQj0iNzYiIEU9Ijc3IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjM3IiBCPSI3NyIgRT0iNzgiLz4KICAgICAgICAgICAgPGIgaWQ9IjIzOCIgQj0iNzMiIEU9Ijc4IiBPcmRlcj0iMiIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPHQgaWQ9Ijc5IiBwPSIzNTguNDQ5OTgyIDEzOC4xMDQ5OTYiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjAuMiBNIGluIGxpbWl0aW5nPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iODIiIHA9IjM1OC40NTQ5ODcgMTIxLjE4NTAwNSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+ci50Ljwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9Ijg1IiBwPSIzNTguNDQ5OTgyIDc1Ljg1NTAwMyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+Mi41IGVxdWl2IDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9Ijg1IiBwPSIzNTguNDQ5OTgyIDc1Ljg1NTAwMyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+cHlyaWRpbmU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI4OCIgcD0iOTEuMDM1MDA0IDcuNTA5OTk5IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjE2IiBmYWNlPSIyIj5OLVN1bGZvbnlsYXRpb24gUnhuMTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjkxIiBwPSIxMDAuNjk5OTk3IDE0MS40OTAwMDUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+NzY5LTkyLTY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI5NCIgcD0iMjI3LjcxNDk4MSAxMjcuNjEwMDA4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPjQtbWV0aHlsYmVuemVuZXN1bGZvbnlsIGNobG9yaWRlPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iOTciIHA9IjIyNy43MjAwMDEgMTQxLjQ5MDAwNSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj45OC01OS05PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTAwIiBwPSI1MzIuMTMwMDA1IDE3OS4wNjQ5ODciIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltkZXNpcmVkIHByb2R1Y3RdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTAzIiBwPSIyNzMuMTA5OTg1IDI3OC4zNjk5OTUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltieXByb2R1Y3RzXTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEwNiIgcD0iMTkuMzI1MDAxIDI4NC44Njk5OTUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjEiPktleTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPGdyYXBoaWMgaWQ9IjEwOSIgQm91bmRpbmdCb3g9IjAuNzk5OTk5IDQ4OS4zOTk5OTQgMjE5LjgzMDAwMiAyNjguMTAwMDA2IiBHcmFwaGljVHlwZT0iUmVjdGFuZ2xlIi8+CiAgICAgICAgPGdyYXBoaWMgaWQ9IjExMiIgQm91bmRpbmdCb3g9IjE2Mi4wMjk5OTkgOTEuODI1MDA1IDE2Mi4wMjk5OTkgODQuMzI1MDA1IiBHcmFwaGljVHlwZT0iU3ltYm9sIiBTeW1ib2xUeXBlPSJQbHVzIi8+CiAgICAgICAgPHQgaWQ9IjExNSIgcD0iMjI3LjcyMDAwMSAxNjUuMzAwMDAzIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4xLjEgZXF1aXY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMTgiIHA9IjEwMC43MTAwMDcgMTY1LjMwMDAwMyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+MS4wIGVxdWl2PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTIxIiBwPSIyMjcuNzE0OTk2IDE3OS4xNzk5OTMiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltzdWxmb255bCBlbGVjdHJvcGhpbGVdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTI0IiBwPSIxMDAuNjk5OTk3IDE3OS4wNjQ5ODciIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPlthbWluZV08L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMjciIHA9IjE0Mi40MTQ5OTMgMzEwLjM3NTAwMCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj5kaWNobG9yb21ldGhhbmU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMzAiIHA9IjE0Mi40MTAwMDQgMzI3LjY2OTk4MyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj43NS0wOS0yPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTMzIiBwPSIxNDIuNDE0OTkzIDM4Ny41NjQ5NzIiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltzb2x2ZW50XTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEzNiIgcD0iMTQyLjQxMDAwNCAzNjkuODIwMDA3IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPk1XIDg0LjkzPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTM5IiBwPSIxMDAuNzEwMDA3IDEyNy42MTAwMDgiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+NC0oPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTM5IiBwPSIxMDAuNzEwMDA3IDEyNy42MTAwMDgiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+dGVydDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEzOSIgcD0iMTAwLjcxMDAwNyAxMjcuNjEwMDA4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjMiPi1idXR5bClhbmlsaW5lPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTQyIiBwPSI1MzIuMTI1MDAwIDE0MS40Nzk5ODAiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+Njk3Nzg2LTQ3LTM8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNDUiIHA9IjUzMi4xMjUwMDAgMTI3LjYxMDAwOCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIzIj5OPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTQ1IiBwPSI1MzIuMTI1MDAwIDEyNy42MTAwMDgiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+LSg0LSg8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNDUiIHA9IjUzMi4xMjUwMDAgMTI3LjYxMDAwOCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIzIj50ZXJ0PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTQ1IiBwPSI1MzIuMTI1MDAwIDEyNy42MTAwMDgiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+LWJ1dHlsKXBoZW55bCktNC1tZXRoeWxiZW56ZW5lc3VsZm9uYW1pZGU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNDgiIHA9IjY1LjUyOTk5OSAzMTEuMjY0OTg0IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPnB5cmlkaW5lPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTUxIiBwPSI2NS41MjUwMDIgMzI3LjY2OTk4MyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj4xMTAtODYtMTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE1NCIgcD0iNjUuNTI1MDAyIDQwMy41NjQ5NzIiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltiYXNlXTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE1NyIgcD0iNjUuNTI5OTk5IDM4MS43NjAwMTAiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+TVcgNzkuMTA8L3M+CiAgICAgICAgPC90PgogICAgICAgIDxhcnJvdyBpZD0iMTYwIiBCb3VuZGluZ0JveD0iMzAxLjYwOTk4NSAzOTYuMTQ5OTk0IDMwMS42MDk5ODUgMjk3Ljg5OTk5NCIgRmlsbFR5cGU9Ik5vbmUiIEFycm93aGVhZFR5cGU9IlNvbGlkIiBIZWFkU2l6ZT0iMjI1MCIgQXJyb3doZWFkV2lkdGg9IjU2MyIgQXJyb3doZWFkSGVhZD0iRnVsbCIgQXJyb3doZWFkQ2VudGVyU2l6ZT0iMjUiIEhlYWQzRD0iMzAxLjYwOTk4NSAzOTYuMTQ5OTk0IDAuMDAwMDAwIiBUYWlsM0Q9IjMwMS42MDk5ODUgMjk3Ljg5OTk5NCAwLjAwMDAwMCIvPgogICAgICAgIDxhcnJvdyBpZD0iMTYzIiBCb3VuZGluZ0JveD0iNDA3LjczOTk5MCA5MC44MzAwMDIgMzA5LjE1OTk3MyA5MC44MzAwMDIiIEZpbGxUeXBlPSJOb25lIiBBcnJvd2hlYWRUeXBlPSJTb2xpZCIgSGVhZFNpemU9IjIyNTAiIEFycm93aGVhZFdpZHRoPSI1NjMiIEFycm93aGVhZEhlYWQ9IkZ1bGwiIEFycm93aGVhZENlbnRlclNpemU9IjI1IiBIZWFkM0Q9IjQwNy43Mzk5OTAgOTAuODMwMDAyIDAuMDAwMDAwIiBUYWlsM0Q9IjMwOS4xNTk5NzMgOTAuODMwMDAyIDAuMDAwMDAwIi8+CiAgICAgICAgPHNjaGVtZT4KICAgICAgICAgICAgPHN0ZXAgUmVhY3Rpb25TdGVwT2JqZWN0c0Fib3ZlQXJyb3c9IjUwIiBSZWFjdGlvblN0ZXBBcnJvd3M9IjE2MCIvPgogICAgICAgICAgICA8c3RlcCBSZWFjdGlvblN0ZXBPYmplY3RzQWJvdmVBcnJvdz0iNTAiIFJlYWN0aW9uU3RlcEFycm93cz0iMTYzIi8+CiAgICAgICAgPC9zY2hlbWU+CiAgICA8L3BhZ2U+CjwvQ0RYTUw+Cg== \ No newline at end of file diff --git a/api/tests/integration/tests/formats/ref/N-Sulfonylation_Rxn1.cdxml b/api/tests/integration/tests/formats/ref/N-Sulfonylation_Rxn1.cdxml new file mode 100644 index 0000000000..9de1aa1298 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/N-Sulfonylation_Rxn1.cdxml @@ -0,0 +1,364 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NH + 2 + + + + + + + + + + + + + + + + + + + O + + + + + O + + + + + Cl + + + + + S + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + S + + + + + NH + + + + + O + + + + + O + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + H + + + + + + + + + DCM + + + + + M + + + + + + + + + Cl + + + + + Cl + + + + + + + + + + + H + + + + + + + + + DCM + + + + + M + + + + + + + + + + + + N + + + + + + H + + + + + + + + + + + + + + Cl + + + + + + + N + + + + + + + + + + + + + + + + 0.2 M in limiting + + + r.t. + + + 2.5 equiv + + + pyridine + + + N-Sulfonylation Rxn1 + + + 769-92-6 + + + 4-methylbenzenesulfonyl chloride + + + 98-59-9 + + + [desired product] + + + [byproducts] + + + Key + + + + + 1.1 equiv + + + 1.0 equiv + + + [sulfonyl electrophile] + + + [amine] + + + dichloromethane + + + 75-09-2 + + + [solvent] + + + MW 84.93 + + + 4-( + + + tert + + + -butyl)aniline + + + 697786-47-3 + + + N + + + -(4-( + + + tert + + + -butyl)phenyl)-4-methylbenzenesulfonamide + + + pyridine + + + 110-86-1 + + + [base] + + + MW 79.10 + + + + + + + + + diff --git a/api/tests/integration/tests/formats/ref/N-Sulfonylation_Rxn2.b64cdx b/api/tests/integration/tests/formats/ref/N-Sulfonylation_Rxn2.b64cdx new file mode 100644 index 0000000000..ef53618b35 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/N-Sulfonylation_Rxn2.b64cdx @@ -0,0 +1 @@ +PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIENEWE1MIFNZU1RFTSAiaHR0cDovL3d3dy5jYW1icmlkZ2Vzb2Z0LmNvbS94bWwvY2R4bWwuZHRkIj4KPENEWE1MIEJvbmRMZW5ndGg9IjMwLjAwMDAwMCIgTGFiZWxGb250PSIzIiBDYXB0aW9uRm9udD0iNCI+CiAgICA8Zm9udHRhYmxlIGlkPSIxIj4KICAgICAgICA8Zm9udCBpZD0iMiIgY2hhcnNldD0idXRmLTgiIG5hbWU9IkFyaWFsIi8+CiAgICAgICAgPGZvbnQgaWQ9IjMiIGNoYXJzZXQ9InV0Zi04IiBuYW1lPSJUaW1lcyBOZXcgUm9tYW4iLz4KICAgIDwvZm9udHRhYmxlPgogICAgPGNvbG9ydGFibGU+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMCIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIxIiBnPSIwIiBiPSIwIi8+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjAiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMSIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIwIiBnPSIxIiBiPSIxIi8+CiAgICAgICAgPGNvbG9yIHI9IjAiIGc9IjAiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMSIgZz0iMCIgYj0iMSIvPgogICAgICAgIDxjb2xvciByPSIwLjUiIGc9IjAuNSIgYj0iMC41Ii8+CiAgICA8L2NvbG9ydGFibGU+CiAgICA8cGFnZSBIZWlnaHRQYWdlcz0iMSIgV2lkdGhQYWdlcz0iMSI+CiAgICAgICAgPGZyYWdtZW50IGlkPSI0Ij4KICAgICAgICAgICAgPG4gaWQ9IjUiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNTguOTE5OTk4IDY4LjQxOTk5OCI+CiAgICAgICAgICAgICAgICA8dCBwPSI1OC45MTk5OTggNjguNDE5OTk4IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNiIgcD0iNzEuMzQwMDA0IDc1LjU5OTk5OCIvPgogICAgICAgICAgICA8biBpZD0iNyIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIyIiBwPSIxMjEuMDUwMDExIDEwNC4yOTk5OTUiPgogICAgICAgICAgICAgICAgPHQgcD0iMTIxLjA1MDAxMSAxMDQuMjk5OTk1IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tkg8L3M+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9IjMyIj4yPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI4IiBwPSI5Ni4xOTk5OTcgMTA0LjI5OTk5NSIvPgogICAgICAgICAgICA8biBpZD0iOSIgcD0iMTA4LjYyOTk5NyA5Ny4xMjAwMDMiLz4KICAgICAgICAgICAgPG4gaWQ9IjEwIiBwPSIxMDguNjI5OTk3IDgyLjc3MDAwNCIvPgogICAgICAgICAgICA8biBpZD0iMTEiIHA9Ijk2LjE5OTk5NyA3NS41OTk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjEyIiBwPSI4My43NzAwMDQgODIuNzcwMDA0Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMyIgcD0iODMuNzcwMDA0IDk3LjEyMDAwMyIvPgogICAgICAgICAgICA8YiBpZD0iMTY4IiBCPSI2IiBFPSI1IiBPcmRlcj0iMyIvPgogICAgICAgICAgICA8YiBpZD0iMTY5IiBCPSIxMiIgRT0iNiIvPgogICAgICAgICAgICA8YiBpZD0iMTcwIiBCPSI5IiBFPSI3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxNzEiIEI9IjgiIEU9IjEzIi8+CiAgICAgICAgICAgIDxiIGlkPSIxNzIiIEI9IjkiIEU9IjgiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxNzMiIEI9IjEwIiBFPSI5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxNzQiIEI9IjExIiBFPSIxMCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE3NSIgQj0iMTIiIEU9IjExIi8+CiAgICAgICAgICAgIDxiIGlkPSIxNzYiIEI9IjEzIiBFPSIxMiIgT3JkZXI9IjIiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iMTQiPgogICAgICAgICAgICA8biBpZD0iMTUiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjA5LjMyMDAwNyAxMDUuOTcwMDA5Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjIwOS4zMjAwMDcgMTA1Ljk3MDAwOSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjE2IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjE5NS4wMjAwMDQgODEuMjAwMDA1Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjE5NS4wMjAwMDQgODEuMjAwMDA1IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMTciIEVsZW1lbnQ9IjE3IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjE4OS43ODk5OTMgMTAwLjczOTk5OCI+CiAgICAgICAgICAgICAgICA8dCBwPSIxODkuNzg5OTkzIDEwMC43Mzk5OTgiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5DbDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMTgiIEVsZW1lbnQ9IjE2IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjIwMi4xNjk5OTggOTMuNTkwMDA0Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjIwMi4xNjk5OTggOTMuNTkwMDA0IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Uzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMTkiIHA9IjIyNi45NDAwMDIgNjQuOTg5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyMCIgcD0iMjE0LjU1OTk5OCA3Mi4xMzk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9IjIxIiBwPSIyMTQuNTU5OTk4IDg2LjQ0MDAwMiIvPgogICAgICAgICAgICA8biBpZD0iMjIiIHA9IjIyNi45NDAwMDIgOTMuNTkwMDA0Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyMyIgcD0iMjUxLjcwOTk5MSA2NC45ODk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjI0IiBwPSIyMzkuMzMwMDAyIDcyLjEzOTk5OSIvPgogICAgICAgICAgICA8biBpZD0iMjUiIHA9IjIzOS4zMzAwMDIgODYuNDQwMDAyIi8+CiAgICAgICAgICAgIDxuIGlkPSIyNiIgcD0iMjUxLjcwOTk5MSA5My41OTAwMDQiLz4KICAgICAgICAgICAgPG4gaWQ9IjI3IiBwPSIyNjQuMDk5OTc2IDg2LjQ0MDAwMiIvPgogICAgICAgICAgICA8biBpZD0iMjgiIHA9IjI2NC4wOTk5NzYgNzIuMTM5OTk5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxNzciIEI9IjE4IiBFPSIxNSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE3OCIgQj0iMTgiIEU9IjE2IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMTc5IiBCPSIxOCIgRT0iMTciLz4KICAgICAgICAgICAgPGIgaWQ9IjE4MCIgQj0iMjEiIEU9IjE4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxODEiIEI9IjE5IiBFPSIyNCIvPgogICAgICAgICAgICA8YiBpZD0iMTgyIiBCPSIyMCIgRT0iMTkiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxODMiIEI9IjIxIiBFPSIyMCIvPgogICAgICAgICAgICA8YiBpZD0iMTg0IiBCPSIyMiIgRT0iMjEiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxODUiIEI9IjI1IiBFPSIyMiIvPgogICAgICAgICAgICA8YiBpZD0iMTg2IiBCPSIyMyIgRT0iMjgiLz4KICAgICAgICAgICAgPGIgaWQ9IjE4NyIgQj0iMjQiIEU9IjIzIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMTg4IiBCPSIyNSIgRT0iMjQiLz4KICAgICAgICAgICAgPGIgaWQ9IjE4OSIgQj0iMjYiIEU9IjI1IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMTkwIiBCPSIyNyIgRT0iMjYiLz4KICAgICAgICAgICAgPGIgaWQ9IjE5MSIgQj0iMjgiIEU9IjI3IiBPcmRlcj0iMiIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSIyOSI+CiAgICAgICAgICAgIDxuIGlkPSIzMCIgcD0iNDc3LjIyOTk4MCA3NC40ODk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjMxIiBwPSI0NjQuNzk5OTg4IDgxLjY2OTk5OCIvPgogICAgICAgICAgICA8biBpZD0iMzIiIHA9IjQ2NC43OTk5ODggOTYuMDIwMDA0Ii8+CiAgICAgICAgICAgIDxuIGlkPSIzMyIgcD0iNDc3LjIyOTk4MCAxMDMuMTg5OTk1Ii8+CiAgICAgICAgICAgIDxuIGlkPSIzNCIgcD0iNDg5LjY1OTk3MyA5Ni4wMjAwMDQiLz4KICAgICAgICAgICAgPG4gaWQ9IjM1IiBwPSI0ODkuNjU5OTczIDgxLjY2OTk5OCIvPgogICAgICAgICAgICA8biBpZD0iMzYiIHA9IjU3Ni42NDk5NjMgNzQuNDg5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSIzNyIgcD0iNTc2LjY0OTk2MyA4OC44NDAwMDQiLz4KICAgICAgICAgICAgPG4gaWQ9IjM4IiBwPSI1NjQuMjE5OTcxIDk2LjAyMDAwNCIvPgogICAgICAgICAgICA8biBpZD0iMzkiIHA9IjU1MS43ODk5NzggODguODQwMDA0Ii8+CiAgICAgICAgICAgIDxuIGlkPSI0MCIgcD0iNTUxLjc4OTk3OCA3NC40ODk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjQxIiBwPSI1NjQuMjE5OTcxIDY3LjMyMDAwMCIvPgogICAgICAgICAgICA8biBpZD0iNDIiIHA9IjUzOS4zNjk5OTUgOTYuMDIwMDA0Ii8+CiAgICAgICAgICAgIDxuIGlkPSI0MyIgcD0iNTI2Ljk0MDAwMiA4OC44NDAwMDQiLz4KICAgICAgICAgICAgPG4gaWQ9IjQ0IiBwPSI1MjYuOTQwMDAyIDc0LjQ4OTk5OCIvPgogICAgICAgICAgICA8biBpZD0iNDUiIHA9IjUzOS4zNjk5OTUgNjcuMzIwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSI0NiIgRWxlbWVudD0iMTYiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNTE0LjUxMDAxMCA5Ni4wMjAwMDQiPgogICAgICAgICAgICAgICAgPHQgcD0iNTE0LjUxMDAxMCA5Ni4wMjAwMDQiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5TPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI0NyIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIxIiBwPSI1MDIuMDc5OTU2IDEwMy4xODk5OTUiPgogICAgICAgICAgICAgICAgPHQgcD0iNTAyLjA3OTk1NiAxMDMuMTg5OTk1IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tkg8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjQ4IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjUwNy4zMzk5OTYgODMuNTkwMDA0Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjUwNy4zMzk5OTYgODMuNTkwMDA0IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNDkiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNTIxLjY5MDAwMiAxMDguNDM5OTk1Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjUyMS42OTAwMDIgMTA4LjQzOTk5NSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjUwIiBwPSI0NTIuMzY5OTk1IDc0LjQ4OTk5OCIvPgogICAgICAgICAgICA8biBpZD0iNTEiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNDM5Ljk0OTk4MiA2Ny4zMjAwMDAiPgogICAgICAgICAgICAgICAgPHQgcD0iNDM5Ljk0OTk4MiA2Ny4zMjAwMDAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxiIGlkPSIxOTIiIEI9IjMwIiBFPSIzMSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE5MyIgQj0iMzEiIEU9IjMyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxOTQiIEI9IjMyIiBFPSIzMyIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE5NSIgQj0iMzMiIEU9IjM0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxOTYiIEI9IjM0IiBFPSIzNSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE5NyIgQj0iMzUiIEU9IjMwIi8+CiAgICAgICAgICAgIDxiIGlkPSIxOTgiIEI9IjM0IiBFPSI0NyIvPgogICAgICAgICAgICA8YiBpZD0iMTk5IiBCPSIzMSIgRT0iNTAiLz4KICAgICAgICAgICAgPGIgaWQ9IjIwMCIgQj0iMzYiIEU9IjM3IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjAxIiBCPSIzNyIgRT0iMzgiLz4KICAgICAgICAgICAgPGIgaWQ9IjIwMiIgQj0iMzgiIEU9IjM5IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjAzIiBCPSIzOSIgRT0iNDAiLz4KICAgICAgICAgICAgPGIgaWQ9IjIwNCIgQj0iNDAiIEU9IjQxIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjA1IiBCPSI0MSIgRT0iMzYiLz4KICAgICAgICAgICAgPGIgaWQ9IjIwNiIgQj0iMzkiIEU9IjQyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMDciIEI9IjQyIiBFPSI0MyIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIwOCIgQj0iNDMiIEU9IjQ0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMDkiIEI9IjQ0IiBFPSI0NSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIxMCIgQj0iNDUiIEU9IjQwIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMTEiIEI9IjQzIiBFPSI0NiIvPgogICAgICAgICAgICA8YiBpZD0iMjEyIiBCPSI0NiIgRT0iNDciLz4KICAgICAgICAgICAgPGIgaWQ9IjIxMyIgQj0iNDYiIEU9IjQ4IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjE0IiBCPSI0NiIgRT0iNDkiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMTUiIEI9IjUwIiBFPSI1MSIgT3JkZXI9IjMiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNTIiPgogICAgICAgICAgICA8biBpZD0iMjE4IiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSIyMTkiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI1MyIgRWxlbWVudD0iMSIgSXNvdG9wZT0iMiIgcD0iMzI3LjYzOTk4NCAxMDUuMDQwMDAxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMzI3LjYzOTk4NCAxMDUuMDQwMDAxIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5IPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI1NCIgcD0iMzQwLjA1OTk5OCA5Ny44NjAwMDEiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMjIwIiBOb2RlVHlwZT0iRXh0ZXJuYWxDb25uZWN0aW9uUG9pbnQiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjE3IiBCPSI1MyIgRT0iNTQiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjIyIiBCPSIyMjAiIEU9IjU0Ii8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPkRDTTwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNTUiIE5vZGVUeXBlPSJHZW5lcmljTmlja25hbWUiIEdlbmVyaWNOaWNrbmFtZT0iTSIgcD0iMzUyLjQ4OTk5MCAxMDUuMDQwMDAxIj4KICAgICAgICAgICAgICAgIDx0IHA9IjM1Mi40ODk5OTAgMTA1LjA0MDAwMSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk08L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPGIgaWQ9IjIyMSIgQj0iNTUiIEU9IjIxOCIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI1NiI+CiAgICAgICAgICAgIDxuIGlkPSI1NyIgcD0iMTQzLjc3MDAwNCAzNTkuNjQ5OTk0Ii8+CiAgICAgICAgICAgIDxuIGlkPSI1OCIgRWxlbWVudD0iMTciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTU2LjI0MDAwNSAzNTIuNDQ5OTgyIj4KICAgICAgICAgICAgICAgIDx0IHA9IjE1Ni4yNDAwMDUgMzUyLjQ0OTk4MiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkNsPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI1OSIgRWxlbWVudD0iMTciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTMxLjI4OTk5MyAzNTIuNDQ5OTgyIj4KICAgICAgICAgICAgICAgIDx0IHA9IjEzMS4yODk5OTMgMzUyLjQ0OTk4MiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkNsPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxiIGlkPSIyMjMiIEI9IjU3IiBFPSI1OCIvPgogICAgICAgICAgICA8YiBpZD0iMjI0IiBCPSI1NyIgRT0iNTkiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNjAiPgogICAgICAgICAgICA8biBpZD0iMjI3IiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSIyMjgiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI2MSIgRWxlbWVudD0iMSIgSXNvdG9wZT0iMiIgcD0iMTIzLjQ3OTk4OCAzMDQuMTQ5OTk0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMTIzLjQ3OTk4OCAzMDQuMTQ5OTk0IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5IPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI2MiIgcD0iMTM1LjkxMDAwNCAyOTYuOTcwMDAxIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjIyOSIgTm9kZVR5cGU9IkV4dGVybmFsQ29ubmVjdGlvblBvaW50Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjIyNiIgQj0iNjEiIEU9IjYyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjIzMSIgQj0iMjI5IiBFPSI2MiIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5EQ008L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjYzIiBOb2RlVHlwZT0iR2VuZXJpY05pY2tuYW1lIiBHZW5lcmljTmlja25hbWU9Ik0iIHA9IjE0OC4zMzk5OTYgMzA0LjE0OTk5NCI+CiAgICAgICAgICAgICAgICA8dCBwPSIxNDguMzM5OTk2IDMwNC4xNDk5OTQiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5NPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxiIGlkPSIyMzAiIEI9IjYzIiBFPSIyMjciLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNjQiPgogICAgICAgICAgICA8biBpZD0iNjUiIHA9IjI0My4wMDk5OTUgMzMwLjE5OTk4MiIvPgogICAgICAgICAgICA8biBpZD0iNjYiIHA9IjI0My4wMDk5OTUgMzQ0LjYwMDAwNiIvPgogICAgICAgICAgICA8biBpZD0iNjciIHA9IjI1NS40OTAwMDUgMzUxLjc5OTk4OCIvPgogICAgICAgICAgICA8biBpZD0iNjgiIHA9IjI2Ny45NTk5OTEgMzQ0LjYwMDAwNiIvPgogICAgICAgICAgICA8biBpZD0iNjkiIEVsZW1lbnQ9IjciIENoYXJnZT0iMSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyNjcuOTU5OTkxIDMzMC4xOTk5ODIiPgogICAgICAgICAgICAgICAgPHQgcD0iMjY3Ljk1OTk5MSAzMzAuMTk5OTgyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNzAiIHA9IjI1NS40OTAwMDUgMzIzLjAwMDAwMCIvPgogICAgICAgICAgICA8biBpZD0iNzEiIEVsZW1lbnQ9IjEiIHA9IjI4MC40Mjk5OTMgMzIzLjAwMDAwMCI+CiAgICAgICAgICAgICAgICA8dCBwPSIyODAuNDI5OTkzIDMyMy4wMDAwMDAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxiIGlkPSIyMzIiIEI9IjY1IiBFPSI2NiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIzMyIgQj0iNjYiIEU9IjY3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMzQiIEI9IjY3IiBFPSI2OCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIzNSIgQj0iNjgiIEU9IjY5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMzYiIEI9IjY5IiBFPSI3MCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIzNyIgQj0iNzAiIEU9IjY1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMzgiIEI9IjY5IiBFPSI3MSIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI3MiI+CiAgICAgICAgICAgIDxuIGlkPSI3MyIgRWxlbWVudD0iMTciIENoYXJnZT0iLTEiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjY1LjgyOTk4NyAzNjkuNTAwMDAwIj4KICAgICAgICAgICAgICAgIDx0IHA9IjI2NS44Mjk5ODcgMzY5LjUwMDAwMCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkNsPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9Ijc0Ij4KICAgICAgICAgICAgPG4gaWQ9Ijc1IiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjAiIHA9Ijc2LjcwOTk5OSAzNTMuMDcwMDA3Ij4KICAgICAgICAgICAgICAgIDx0IHA9Ijc2LjcwOTk5OSAzNTMuMDcwMDA3IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNzYiIHA9Ijc2LjcwOTk5OSAzNjcuNDE5OTgzIi8+CiAgICAgICAgICAgIDxuIGlkPSI3NyIgcD0iNjQuMjc5OTk5IDM3NC42MDAwMDYiLz4KICAgICAgICAgICAgPG4gaWQ9Ijc4IiBwPSI1MS44NDk5OTggMzY3LjQxOTk4MyIvPgogICAgICAgICAgICA8biBpZD0iNzkiIHA9IjUxLjg0OTk5OCAzNTMuMDcwMDA3Ii8+CiAgICAgICAgICAgIDxuIGlkPSI4MCIgcD0iNjQuMjc5OTk5IDM0NS44OTk5OTQiLz4KICAgICAgICAgICAgPGIgaWQ9IjIzOSIgQj0iNzUiIEU9Ijc2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNDAiIEI9Ijc2IiBFPSI3NyIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI0MSIgQj0iNzciIEU9Ijc4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNDIiIEI9Ijc4IiBFPSI3OSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI0MyIgQj0iNzkiIEU9IjgwIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNDQiIEI9Ijc1IiBFPSI4MCIgT3JkZXI9IjIiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDx0IGlkPSI4MSIgcD0iMzQ3LjM0OTk3NiAxMzIuNjA0OTk2IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4wLjIgTSBpbiBsaW1pdGluZzwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9Ijg0IiBwPSIzNDcuMzQ1MDAxIDExNi41NTUwMDAiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPnIudC48L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI4NyIgcD0iMzQ3LjM0OTk3NiA3My44NTQ5OTYiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjIuNSBlcXVpdiA8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI4NyIgcD0iMzQ3LjM0OTk3NiA3My44NTQ5OTYiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPnB5cmlkaW5lPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iOTAiIHA9Ijg2LjQ0NDk5MiA3LjUwOTk5OSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxNiIgZmFjZT0iMCI+Ti1TdWxmb255bGF0aW9uIFJ4bjI8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI5MyIgcD0iOTYuMDI5OTk5IDEyNi45ODUwMDEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+NC1hbWlub2Jlbnpvbml0cmlsZTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9Ijk2IiBwPSI5Ni4wNzQ5OTcgMTQwLjg1OTk4NSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj44NzMtNzQtNTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9Ijk5IiBwPSIyMjMuMTA5OTg1IDEyNy45MDAwMDIiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+bmFwaHRoYWxlbmUtMi1zdWxmb255bCBjaGxvcmlkZTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEwMiIgcD0iMjIzLjE1NDk5OSAxNDAuODU5OTg1IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjkzLTExLTg8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMDUiIHA9IjUwMS44Njk5OTUgMTgxLjA2NTAwMiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2Rlc2lyZWQgcHJvZHVjdF08L3M+CiAgICAgICAgPC90PgogICAgICAgIDxncmFwaGljIGlkPSIxMDgiIEJvdW5kaW5nQm94PSIxNTAuNTI5OTk5IDg5LjQ1NTAwMiAxNTAuNTI5OTk5IDgxLjk1NTAwMiIgR3JhcGhpY1R5cGU9IlN5bWJvbCIgU3ltYm9sVHlwZT0iUGx1cyIvPgogICAgICAgIDx0IGlkPSIxMTEiIHA9IjIyMy4xNTAwMDkgMTY2LjI5OTk4OCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+MS4xIGVxdWl2PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTE0IiBwPSI5Ni4wODAwMDIgMTY2LjI5OTk4OCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+MS4wIGVxdWl2PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTE3IiBwPSIyMjMuMTU1MDE0IDE4MC45Mzk5ODciIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltzdWxmb255bCBlbGVjdHJvcGhpbGVdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTIwIiBwPSI5Ni4wODAwMDIgMTgxLjA2NTAwMiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2FtaW5lXTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEyMyIgcD0iMTQyLjQxNDk5MyAzMTUuMzc1MDMxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPmRpY2hsb3JvbWV0aGFuZTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEyNiIgcD0iMTQyLjQxMDAwNCAzMzIuNjcwMDEzIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjc1LTA5LTI8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMjkiIHA9IjE0Mi40MTQ5OTMgMzkyLjU2NTAwMiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W3NvbHZlbnRdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTMyIiBwPSIxNDIuNDEwMDA0IDM3NC44MTk5NzciIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+TVcgODQuOTM8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMzUiIHA9IjUwMy4wMTQ5ODQgMTI3LjkwMDAwMiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIzIj5OPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTM1IiBwPSI1MDMuMDE0OTg0IDEyNy45MDAwMDIiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+LSg0LWN5YW5vcGhlbnlsKW5hcGh0aGFsZW5lLTItc3VsZm9uYW1pZGU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMzgiIHA9IjQ5OS42OTUwMDcgMTQwLjg1OTk4NSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj4xMDc0OTEtNTAtOTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE0MSIgcD0iNjUuNTI5OTk5IDMxNi4yNjUwMTUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+cHlyaWRpbmU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNDQiIHA9IjY1LjUyNTAwMiAzMzIuNjcwMDEzIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjExMC04Ni0xPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTQ3IiBwPSI2NS41MjUwMDIgNDA4LjU2NTAwMiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2Jhc2VdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTUwIiBwPSI2NS41Mjk5OTkgMzg2Ljc2MDAxMCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj5NVyA3OS4xMDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE1MyIgcD0iMjczLjEwOTk4NSAyODMuMzcwMDI2IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bYnlwcm9kdWN0c108L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNTYiIHA9IjE5LjMyNTAwMSAyODkuODY5OTY1IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIxIj5LZXk8L3M+CiAgICAgICAgPC90PgogICAgICAgIDxncmFwaGljIGlkPSIxNTkiIEJvdW5kaW5nQm94PSIwLjgwMDAwMCA0OTQuMzk5OTk0IDIxOS44MzAwMDIgMjczLjEwMDAwNiIgR3JhcGhpY1R5cGU9IlJlY3RhbmdsZSIvPgogICAgICAgIDxhcnJvdyBpZD0iMTYyIiBCb3VuZGluZ0JveD0iMzk1LjIzOTk5MCA4Ny40NTk5OTkgMjk5LjQ0OTk4MiA4Ny40NTk5OTkiIEZpbGxUeXBlPSJOb25lIiBBcnJvd2hlYWRUeXBlPSJTb2xpZCIgSGVhZFNpemU9IjIyNTAiIEFycm93aGVhZFdpZHRoPSI1NjMiIEFycm93aGVhZEhlYWQ9IkZ1bGwiIEFycm93aGVhZENlbnRlclNpemU9IjI1IiBIZWFkM0Q9IjM5NS4yMzk5OTAgODcuNDU5OTk5IDAuMDAwMDAwIiBUYWlsM0Q9IjI5OS40NDk5ODIgODcuNDU5OTk5IDAuMDAwMDAwIi8+CiAgICAgICAgPGFycm93IGlkPSIxNjUiIEJvdW5kaW5nQm94PSIzMDEuNjA5OTg1IDQwMS4xNDk5OTQgMzAxLjYwOTk4NSAzMDIuODk5OTk0IiBGaWxsVHlwZT0iTm9uZSIgQXJyb3doZWFkVHlwZT0iU29saWQiIEhlYWRTaXplPSIyMjUwIiBBcnJvd2hlYWRXaWR0aD0iNTYzIiBBcnJvd2hlYWRIZWFkPSJGdWxsIiBBcnJvd2hlYWRDZW50ZXJTaXplPSIyNSIgSGVhZDNEPSIzMDEuNjA5OTg1IDQwMS4xNDk5OTQgMC4wMDAwMDAiIFRhaWwzRD0iMzAxLjYwOTk4NSAzMDIuODk5OTk0IDAuMDAwMDAwIi8+CiAgICAgICAgPHNjaGVtZT4KICAgICAgICAgICAgPHN0ZXAgUmVhY3Rpb25TdGVwT2JqZWN0c0Fib3ZlQXJyb3c9IjUyIiBSZWFjdGlvblN0ZXBBcnJvd3M9IjE2MiIvPgogICAgICAgICAgICA8c3RlcCBSZWFjdGlvblN0ZXBPYmplY3RzQWJvdmVBcnJvdz0iNTIiIFJlYWN0aW9uU3RlcEFycm93cz0iMTY1Ii8+CiAgICAgICAgPC9zY2hlbWU+CiAgICA8L3BhZ2U+CjwvQ0RYTUw+Cg== \ No newline at end of file diff --git a/api/tests/integration/tests/formats/ref/N-Sulfonylation_Rxn2.cdxml b/api/tests/integration/tests/formats/ref/N-Sulfonylation_Rxn2.cdxml new file mode 100644 index 0000000000..b25f3b6040 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/N-Sulfonylation_Rxn2.cdxml @@ -0,0 +1,366 @@ + + + + + + + + + + + + + + + + + + + + + + + N + + + + + + NH + 2 + + + + + + + + + + + + + + + + + + + + + + O + + + + + O + + + + + Cl + + + + + S + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + S + + + + + NH + + + + + O + + + + + O + + + + + + N + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + H + + + + + + + + + DCM + + + + + M + + + + + + + + + Cl + + + + + Cl + + + + + + + + + + + H + + + + + + + + + DCM + + + + + M + + + + + + + + + + + + N + + + + + + H + + + + + + + + + + + + + + Cl + + + + + + + N + + + + + + + + + + + + + + + + 0.2 M in limiting + + + r.t. + + + 2.5 equiv + + + pyridine + + + N-Sulfonylation Rxn2 + + + 4-aminobenzonitrile + + + 873-74-5 + + + naphthalene-2-sulfonyl chloride + + + 93-11-8 + + + [desired product] + + + + 1.1 equiv + + + 1.0 equiv + + + [sulfonyl electrophile] + + + [amine] + + + dichloromethane + + + 75-09-2 + + + [solvent] + + + MW 84.93 + + + N + + + -(4-cyanophenyl)naphthalene-2-sulfonamide + + + 107491-50-9 + + + pyridine + + + 110-86-1 + + + [base] + + + MW 79.10 + + + [byproducts] + + + Key + + + + + + + + + + diff --git a/api/tests/integration/tests/formats/ref/O-Alkylation_Rxn1.b64cdx b/api/tests/integration/tests/formats/ref/O-Alkylation_Rxn1.b64cdx new file mode 100644 index 0000000000..88a0a9bcca --- /dev/null +++ b/api/tests/integration/tests/formats/ref/O-Alkylation_Rxn1.b64cdx @@ -0,0 +1 @@ +PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIENEWE1MIFNZU1RFTSAiaHR0cDovL3d3dy5jYW1icmlkZ2Vzb2Z0LmNvbS94bWwvY2R4bWwuZHRkIj4KPENEWE1MIEJvbmRMZW5ndGg9IjMwLjAwMDAwMCIgTGFiZWxGb250PSIzIiBDYXB0aW9uRm9udD0iNCI+CiAgICA8Zm9udHRhYmxlIGlkPSIxIj4KICAgICAgICA8Zm9udCBpZD0iMiIgY2hhcnNldD0idXRmLTgiIG5hbWU9IkFyaWFsIi8+CiAgICAgICAgPGZvbnQgaWQ9IjMiIGNoYXJzZXQ9InV0Zi04IiBuYW1lPSJUaW1lcyBOZXcgUm9tYW4iLz4KICAgIDwvZm9udHRhYmxlPgogICAgPGNvbG9ydGFibGU+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMCIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIxIiBnPSIwIiBiPSIwIi8+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjAiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMSIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIwIiBnPSIxIiBiPSIxIi8+CiAgICAgICAgPGNvbG9yIHI9IjAiIGc9IjAiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMSIgZz0iMCIgYj0iMSIvPgogICAgICAgIDxjb2xvciByPSIwLjUiIGc9IjAuNSIgYj0iMC41Ii8+CiAgICA8L2NvbG9ydGFibGU+CiAgICA8cGFnZSBIZWlnaHRQYWdlcz0iMSIgV2lkdGhQYWdlcz0iMSI+CiAgICAgICAgPGZyYWdtZW50IGlkPSI0Ij4KICAgICAgICAgICAgPG4gaWQ9IjUiIEVsZW1lbnQ9IjkiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNTkuMjIwMDAxIDc2LjAxMDAwMiI+CiAgICAgICAgICAgICAgICA8dCBwPSI1OS4yMjAwMDEgNzYuMDEwMDAyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Rjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNiIgRWxlbWVudD0iOSIgTnVtSHlkcm9nZW5zPSIwIiBwPSI1OS4yMjAwMDEgOTAuMzEwMDA1Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjU5LjIyMDAwMSA5MC4zMTAwMDUiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5GPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI3IiBFbGVtZW50PSI5IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjcxLjYxMDAwMSA5Ny40NTk5OTkiPgogICAgICAgICAgICAgICAgPHQgcD0iNzEuNjEwMDAxIDk3LjQ1OTk5OSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkY8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjgiIHA9IjcxLjYxMDAwMSA4My4xNjAwMDQiLz4KICAgICAgICAgICAgPG4gaWQ9IjkiIHA9Ijk2LjM3MDAwMyA1NC41NjAwMDUiLz4KICAgICAgICAgICAgPG4gaWQ9IjEwIiBwPSI4My45ODk5OTggNjEuNzA5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMSIgcD0iMTIxLjEzOTk5OSA1NC41NjAwMDUiLz4KICAgICAgICAgICAgPG4gaWQ9IjEyIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjEzMy41Mjk5OTkgNjEuNzA5OTk5Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjEzMy41Mjk5OTkgNjEuNzA5OTk5IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+T0g8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjEzIiBwPSIxMDguNzYwMDAyIDYxLjcwOTk5OSIvPgogICAgICAgICAgICA8biBpZD0iMTQiIHA9IjEwOC43NjAwMDIgNzYuMDEwMDAyIi8+CiAgICAgICAgICAgIDxuIGlkPSIxNSIgcD0iOTYuMzcwMDAzIDgzLjE2MDAwNCIvPgogICAgICAgICAgICA8biBpZD0iMTYiIHA9IjgzLjk4OTk5OCA3Ni4wMTAwMDIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIzOSIgQj0iOCIgRT0iNSIvPgogICAgICAgICAgICA8YiBpZD0iMjQwIiBCPSI4IiBFPSI2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNDEiIEI9IjgiIEU9IjciLz4KICAgICAgICAgICAgPGIgaWQ9IjI0MiIgQj0iMTYiIEU9IjgiLz4KICAgICAgICAgICAgPGIgaWQ9IjI0MyIgQj0iOSIgRT0iMTMiLz4KICAgICAgICAgICAgPGIgaWQ9IjI0NCIgQj0iMTAiIEU9IjkiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNDUiIEI9IjE2IiBFPSIxMCIvPgogICAgICAgICAgICA8YiBpZD0iMjQ2IiBCPSIxMiIgRT0iMTEiLz4KICAgICAgICAgICAgPGIgaWQ9IjI0NyIgQj0iMTMiIEU9IjExIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNDgiIEI9IjE0IiBFPSIxMyIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI0OSIgQj0iMTUiIEU9IjE0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNTAiIEI9IjE2IiBFPSIxNSIgT3JkZXI9IjIiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iMTciPgogICAgICAgICAgICA8biBpZD0iMTgiIHA9IjI2OC4wODAwMTcgOTEuOTEwMDA0Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxOSIgcD0iMjY4LjA4MDAxNyA3Ny41NjAwMDUiLz4KICAgICAgICAgICAgPG4gaWQ9IjIwIiBwPSIyNTUuNjYwMDA0IDcwLjM4OTk5OSIvPgogICAgICAgICAgICA8biBpZD0iMjEiIHA9IjI0My4yNDAwMjEgNzcuNTYwMDA1Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyMiIgcD0iMjQzLjI0MDAyMSA5MS45MTAwMDQiLz4KICAgICAgICAgICAgPG4gaWQ9IjIzIiBwPSIyNTUuNjYwMDA0IDk5LjA5MDAwNCIvPgogICAgICAgICAgICA8biBpZD0iMjQiIHA9IjI4MC41MTAwMTAgNzAuMzg5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyNSIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIxIiBwPSIyMzAuODA5OTk4IDk5LjA5MDAwNCI+CiAgICAgICAgICAgICAgICA8dCBwPSIyMzAuODA5OTk4IDk5LjA5MDAwNCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk9IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIyNiIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyODAuNTEwMDEwIDU2LjA0MDAwMSI+CiAgICAgICAgICAgICAgICA8dCBwPSIyODAuNTEwMDEwIDU2LjA0MDAwMSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjI3IiBFbGVtZW50PSIxIiBwPSIyOTIuOTQwMDAyIDc3LjU2MDAwNSI+CiAgICAgICAgICAgICAgICA8dCBwPSIyOTIuOTQwMDAyIDc3LjU2MDAwNSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkg8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjI4IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjIzMC44MDk5OTggNzAuMzg5OTk5Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjIzMC44MDk5OTggNzAuMzg5OTk5IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMjkiIHA9IjIxOC4zODAwMDUgNzcuNTYwMDA1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNTEiIEI9IjE4IiBFPSIxOSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI1MiIgQj0iMTkiIEU9IjIwIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNTMiIEI9IjIwIiBFPSIyMSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI1NCIgQj0iMjEiIEU9IjIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNTUiIEI9IjIyIiBFPSIyMyIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI1NiIgQj0iMjMiIEU9IjE4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNTciIEI9IjE5IiBFPSIyNCIvPgogICAgICAgICAgICA8YiBpZD0iMjU4IiBCPSIyMiIgRT0iMjUiLz4KICAgICAgICAgICAgPGIgaWQ9IjI1OSIgQj0iMjQiIEU9IjI2IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjYwIiBCPSIyMSIgRT0iMjgiLz4KICAgICAgICAgICAgPGIgaWQ9IjI2MSIgQj0iMjQiIEU9IjI3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNjIiIEI9IjI4IiBFPSIyOSIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSIzMCI+CiAgICAgICAgICAgIDxuIGlkPSIzMSIgcD0iNDkzLjMzOTk2NiA5NS44NjAwMDEiLz4KICAgICAgICAgICAgPG4gaWQ9IjMyIiBwPSI0OTMuMzM5OTY2IDgxLjQ1OTk5OSIvPgogICAgICAgICAgICA8biBpZD0iMzMiIHA9IjUwNS44MTAwMjggNzQuMjYwMDAyIi8+CiAgICAgICAgICAgIDxuIGlkPSIzNCIgcD0iNTE4LjI3OTk2OCA4MS40NTk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9IjM1IiBwPSI1ODAuNjE5OTk1IDc0LjI2MDAwMiIvPgogICAgICAgICAgICA8biBpZD0iMzYiIHA9IjU4MC42MTk5OTUgNTkuODQ5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSIzNyIgcD0iNTY4LjEzOTk1NCA1Mi42NTAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjM4IiBwPSI1NTUuNjc5OTkzIDU5Ljg0OTk5OCIvPgogICAgICAgICAgICA8biBpZD0iMzkiIHA9IjU1NS42Nzk5OTMgNzQuMjYwMDAyIi8+CiAgICAgICAgICAgIDxuIGlkPSI0MCIgcD0iNTY4LjEzOTk1NCA4MS40NTk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9IjQxIiBwPSI1OTMuMDg5OTY2IDUyLjY1MDAwMiIvPgogICAgICAgICAgICA8biBpZD0iNDIiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNTQzLjIwOTk2MSA4MS40NTk5OTkiPgogICAgICAgICAgICAgICAgPHQgcD0iNTQzLjIwOTk2MSA4MS40NTk5OTkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI0MyIgcD0iNTMwLjc1MDAwMCA3NC4yNjAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjQ0IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjU5My4wODk5NjYgMzguMjYwMDAyIj4KICAgICAgICAgICAgICAgIDx0IHA9IjU5My4wODk5NjYgMzguMjYwMDAyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNDUiIHA9IjUwNS44MTAwMjggMTAzLjA2MDAwNSIvPgogICAgICAgICAgICA8biBpZD0iNDYiIHA9IjUxOC4yNzk5NjggOTUuODYwMDAxIi8+CiAgICAgICAgICAgIDxuIGlkPSI0NyIgRWxlbWVudD0iMSIgcD0iNjA1LjU1OTk5OCA1OS44NDk5OTgiPgogICAgICAgICAgICAgICAgPHQgcD0iNjA1LjU1OTk5OCA1OS44NDk5OTgiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI0OCIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSI1NDMuMjU5OTQ5IDUyLjY4MDAwMCI+CiAgICAgICAgICAgICAgICA8dCBwPSI1NDMuMjU5OTQ5IDUyLjY4MDAwMCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjQ5IiBwPSI1MzAuODI5OTU2IDU5Ljg0OTk5OCIvPgogICAgICAgICAgICA8biBpZD0iNTAiIHA9IjQ4MC44Njk5OTUgMTAzLjA2MDAwNSIvPgogICAgICAgICAgICA8biBpZD0iNTEiIEVsZW1lbnQ9IjkiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNDY4LjQ0MDAwMiAxMTAuMjMwMDAzIj4KICAgICAgICAgICAgICAgIDx0IHA9IjQ2OC40NDAwMDIgMTEwLjIzMDAwMyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkY8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjUyIiBFbGVtZW50PSI5IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjQ4MC44Njk5OTUgMTE3LjQwOTk5NiI+CiAgICAgICAgICAgICAgICA8dCBwPSI0ODAuODY5OTk1IDExNy40MDk5OTYiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5GPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI1MyIgRWxlbWVudD0iOSIgTnVtSHlkcm9nZW5zPSIwIiBwPSI0NjguNDQwMDAyIDk1Ljg4MDAwNSI+CiAgICAgICAgICAgICAgICA8dCBwPSI0NjguNDQwMDAyIDk1Ljg4MDAwNSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkY8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPGIgaWQ9IjI2MyIgQj0iMzEiIEU9IjMyIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjY0IiBCPSIzMiIgRT0iMzMiLz4KICAgICAgICAgICAgPGIgaWQ9IjI2NSIgQj0iMzMiIEU9IjM0IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjY2IiBCPSIzNCIgRT0iNDMiLz4KICAgICAgICAgICAgPGIgaWQ9IjI2NyIgQj0iMzUiIEU9IjM2IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjY4IiBCPSIzNiIgRT0iMzciLz4KICAgICAgICAgICAgPGIgaWQ9IjI2OSIgQj0iMzciIEU9IjM4IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjcwIiBCPSIzOCIgRT0iMzkiLz4KICAgICAgICAgICAgPGIgaWQ9IjI3MSIgQj0iMzkiIEU9IjQwIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjcyIiBCPSI0MCIgRT0iMzUiLz4KICAgICAgICAgICAgPGIgaWQ9IjI3MyIgQj0iMzYiIEU9IjQxIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNzQiIEI9IjM5IiBFPSI0MiIvPgogICAgICAgICAgICA8YiBpZD0iMjc1IiBCPSI0MiIgRT0iNDMiLz4KICAgICAgICAgICAgPGIgaWQ9IjI3NiIgQj0iNDEiIEU9IjQ0IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjc3IiBCPSIzMSIgRT0iNDUiLz4KICAgICAgICAgICAgPGIgaWQ9IjI3OCIgQj0iNDUiIEU9IjQ2IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjc5IiBCPSI0NiIgRT0iMzQiLz4KICAgICAgICAgICAgPGIgaWQ9IjI4MCIgQj0iMzEiIEU9IjUwIi8+CiAgICAgICAgICAgIDxiIGlkPSIyODEiIEI9IjM4IiBFPSI0OCIvPgogICAgICAgICAgICA8YiBpZD0iMjgyIiBCPSI0MSIgRT0iNDciLz4KICAgICAgICAgICAgPGIgaWQ9IjI4MyIgQj0iNDgiIEU9IjQ5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyODQiIEI9IjUwIiBFPSI1MSIvPgogICAgICAgICAgICA8YiBpZD0iMjg1IiBCPSI1MCIgRT0iNTIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI4NiIgQj0iNTAiIEU9IjUzIi8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjU0Ij4KICAgICAgICAgICAgPG4gaWQ9IjI5MiIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iMjkzIj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNTUiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjcwLjczMDAxMSAzMTYuNDI5OTkzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMjcwLjczMDAxMSAzMTYuNDI5OTkzIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI1NiIgcD0iMjc1LjE2MDAwNCAzMzAuMDc5OTg3Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjU3IiBwPSIyNTYuMzgwMDA1IDMxNi40Mjk5OTMiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNTgiIHA9IjI1MS45Mzk5ODcgMzMwLjA3OTk4NyIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI1OSIgcD0iMjYzLjU1MDAxOCAzMzguNTA5OTc5Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI4NyIgQj0iNTgiIEU9IjU5Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI4OCIgQj0iNTciIEU9IjU4Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI4OSIgQj0iNTYiIEU9IjU5Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI5MCIgQj0iNTUiIEU9IjU2Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI5MSIgQj0iNTUiIEU9IjU3Ii8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPlRIRjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI2MCI+CiAgICAgICAgICAgIDxuIGlkPSI2MSIgcD0iMjAxLjg1MDAwNiAzNjkuMTkwMDAyIi8+CiAgICAgICAgICAgIDxuIGlkPSI2MiIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxODkuMzgwMDA1IDM2MS45ODk5OTAiPgogICAgICAgICAgICAgICAgPHQgcD0iMTg5LjM4MDAwNSAzNjEuOTg5OTkwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNjMiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTc2LjkxMDAwNCAzNjkuMTkwMDAyIj4KICAgICAgICAgICAgICAgIDx0IHA9IjE3Ni45MTAwMDQgMzY5LjE5MDAwMiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk48L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjY0IiBwPSIxNjQuNDQwMDAyIDM2MS45ODk5OTAiLz4KICAgICAgICAgICAgPG4gaWQ9IjY1IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjE1MS45NzAwMDEgMzY5LjE5MDAwMiI+CiAgICAgICAgICAgICAgICA8dCBwPSIxNTEuOTcwMDAxIDM2OS4xOTAwMDIiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI2NiIgcD0iMTM5LjUwMDAwMCAzNjEuOTg5OTkwIi8+CiAgICAgICAgICAgIDxuIGlkPSI2NyIgcD0iMTI3LjAzMDAwNiAzNjkuMTkwMDAyIi8+CiAgICAgICAgICAgIDxuIGlkPSI2OCIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxNjQuNDQwMDAyIDM0Ny41ODk5OTYiPgogICAgICAgICAgICAgICAgPHQgcD0iMTY0LjQ0MDAwMiAzNDcuNTg5OTk2IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNjkiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjE0LjMyMDAwNyAzNjEuOTg5OTkwIj4KICAgICAgICAgICAgICAgIDx0IHA9IjIxNC4zMjAwMDcgMzYxLjk4OTk5MCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjcwIiBwPSIyMjYuNzk5OTg4IDM2OS4xOTAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjcxIiBwPSIyMzkuMjcwMDIwIDM2MS45ODk5OTAiLz4KICAgICAgICAgICAgPG4gaWQ9IjcyIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjIwMS44NTAwMDYgMzgzLjU4OTk5NiI+CiAgICAgICAgICAgICAgICA8dCBwPSIyMDEuODUwMDA2IDM4My41ODk5OTYiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxiIGlkPSIyOTQiIEI9IjYxIiBFPSI2MiIvPgogICAgICAgICAgICA8YiBpZD0iMjk1IiBCPSI2MiIgRT0iNjMiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyOTYiIEI9IjYzIiBFPSI2NCIvPgogICAgICAgICAgICA8YiBpZD0iMjk3IiBCPSI2NCIgRT0iNjUiLz4KICAgICAgICAgICAgPGIgaWQ9IjI5OCIgQj0iNjUiIEU9IjY2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyOTkiIEI9IjY2IiBFPSI2NyIvPgogICAgICAgICAgICA8YiBpZD0iMzAwIiBCPSI2NCIgRT0iNjgiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMDEiIEI9IjYxIiBFPSI2OSIvPgogICAgICAgICAgICA8YiBpZD0iMzAyIiBCPSI2OSIgRT0iNzAiLz4KICAgICAgICAgICAgPGIgaWQ9IjMwMyIgQj0iNzAiIEU9IjcxIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMDQiIEI9IjYxIiBFPSI3MiIgT3JkZXI9IjIiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNzMiPgogICAgICAgICAgICA8biBpZD0iMzEwIiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSIzMTEiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI3NCIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSI0NzIuNDcwMDAxIDMyMy40ODk5OTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSI0NzIuNDcwMDAxIDMyMy40ODk5OTAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijc1IiBwPSI0NzYuOTEwMDA0IDMzNy4xMzk5ODQiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNzYiIHA9IjQ1OC4xMTk5OTUgMzIzLjQ4OTk5MCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI3NyIgcD0iNDUzLjY5MDAwMiAzMzcuMTM5OTg0Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijc4IiBwPSI0NjUuMzAwMDE4IDM0NS41NzAwMDciLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzA1IiBCPSI3NyIgRT0iNzgiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzA2IiBCPSI3NiIgRT0iNzciLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzA3IiBCPSI3NSIgRT0iNzgiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzA4IiBCPSI3NCIgRT0iNzUiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzA5IiBCPSI3NCIgRT0iNzYiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+VEhGPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9Ijc5Ij4KICAgICAgICAgICAgPG4gaWQ9IjgwIiBwPSIyNzguNTQwMDA5IDM2NS42NDk5OTQiLz4KICAgICAgICAgICAgPG4gaWQ9IjgxIiBwPSIyOTIuOTQwMDAyIDM2NS42NDk5OTQiLz4KICAgICAgICAgICAgPG4gaWQ9IjgyIiBwPSIyOTcuMzkwMDE1IDM1MS45NDk5ODIiLz4KICAgICAgICAgICAgPG4gaWQ9IjgzIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjI4NS43NDAwMjEgMzQzLjQ4OTk5MCI+CiAgICAgICAgICAgICAgICA8dCBwPSIyODUuNzQwMDIxIDM0My40ODk5OTAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI4NCIgcD0iMjc0LjA4OTk5NiAzNTEuOTQ5OTgyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMTIiIEI9IjgwIiBFPSI4MSIvPgogICAgICAgICAgICA8YiBpZD0iMzEzIiBCPSI4MSIgRT0iODIiLz4KICAgICAgICAgICAgPGIgaWQ9IjMxNCIgQj0iODIiIEU9IjgzIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMTUiIEI9IjgzIiBFPSI4NCIvPgogICAgICAgICAgICA8YiBpZD0iMzE2IiBCPSI4NCIgRT0iODAiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iODUiPgogICAgICAgICAgICA8biBpZD0iMzE4IiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSIzMTkiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI4NiIgRWxlbWVudD0iMSIgSXNvdG9wZT0iMyIgcD0iNjEuMjkwMDAxIDI5OS42Nzk5OTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSI2MS4yOTAwMDEgMjk5LjY3OTk5MyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+SDwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iODciIEVsZW1lbnQ9IjEiIElzb3RvcGU9IjMiIHA9Ijc1LjYzOTk5OSAyOTkuNjc5OTkzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iNzUuNjM5OTk5IDI5OS42Nzk5OTMiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkg8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijg4IiBFbGVtZW50PSIxNSIgTnVtSHlkcm9nZW5zPSIzIiBwPSI4OS45ODk5OTggMjk5LjY3OTk5MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9Ijg5Ljk4OTk5OCAyOTkuNjc5OTkzIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5QSDwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSIzMiI+Mzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzE3IiBCPSI4NiIgRT0iODciLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+VFRQPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9Ijg5Ij4KICAgICAgICAgICAgPG4gaWQ9IjkwIiBFbGVtZW50PSIxNSIgTnVtSHlkcm9nZW5zPSIwIiBwPSI3My44NDk5OTggMzg1LjM1MDAwNiI+CiAgICAgICAgICAgICAgICA8dCBwPSI3My44NDk5OTggMzg1LjM1MDAwNiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPlA8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjkxIiBwPSI2MS4zODAwMDEgMzkyLjU0OTk4OCIvPgogICAgICAgICAgICA8biBpZD0iOTIiIHA9IjYxLjM4MDAwMSA0MDYuOTQ5OTgyIi8+CiAgICAgICAgICAgIDxuIGlkPSI5MyIgcD0iNDguOTEwMDA0IDQxNC4xNDk5OTQiLz4KICAgICAgICAgICAgPG4gaWQ9Ijk0IiBwPSIzNi40NDAwMDIgNDA2Ljk0OTk4MiIvPgogICAgICAgICAgICA8biBpZD0iOTUiIHA9IjM2LjQ0MDAwMiAzOTIuNTQ5OTg4Ii8+CiAgICAgICAgICAgIDxuIGlkPSI5NiIgcD0iNDguOTEwMDA0IDM4NS4zNTAwMDYiLz4KICAgICAgICAgICAgPG4gaWQ9Ijk3IiBwPSI4Ni4zMjAwMDAgMzkyLjU0OTk4OCIvPgogICAgICAgICAgICA8biBpZD0iOTgiIHA9Ijk4Ljc5MDAwMSAzODUuMzUwMDA2Ii8+CiAgICAgICAgICAgIDxuIGlkPSI5OSIgcD0iMTExLjI2MDAwMiAzOTIuNTQ5OTg4Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMDAiIHA9IjExMS4yNjAwMDIgNDA2Ljk0OTk4MiIvPgogICAgICAgICAgICA8biBpZD0iMTAxIiBwPSI5OC43OTAwMDEgNDE0LjE0OTk5NCIvPgogICAgICAgICAgICA8biBpZD0iMTAyIiBwPSI4Ni4zMjAwMDAgNDA2Ljk0OTk4MiIvPgogICAgICAgICAgICA8biBpZD0iMTAzIiBwPSI3My44NDk5OTggMzcwLjk0OTk4MiIvPgogICAgICAgICAgICA8biBpZD0iMTA0IiBwPSI2MS4zODAwMDEgMzYzLjc1MDAwMCIvPgogICAgICAgICAgICA8biBpZD0iMTA1IiBwPSI2MS4zODAwMDEgMzQ5LjM1MDAwNiIvPgogICAgICAgICAgICA8biBpZD0iMTA2IiBwPSI3My44NDk5OTggMzQyLjE0OTk5NCIvPgogICAgICAgICAgICA8biBpZD0iMTA3IiBwPSI4Ni4zMjAwMDAgMzQ5LjM1MDAwNiIvPgogICAgICAgICAgICA8biBpZD0iMTA4IiBwPSI4Ni4zMjAwMDAgMzYzLjc1MDAwMCIvPgogICAgICAgICAgICA8YiBpZD0iMzIwIiBCPSI5MSIgRT0iOTIiLz4KICAgICAgICAgICAgPGIgaWQ9IjMyMSIgQj0iOTIiIEU9IjkzIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzIyIiBCPSI5MyIgRT0iOTQiLz4KICAgICAgICAgICAgPGIgaWQ9IjMyMyIgQj0iOTQiIEU9Ijk1IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzI0IiBCPSI5NSIgRT0iOTYiLz4KICAgICAgICAgICAgPGIgaWQ9IjMyNSIgQj0iOTEiIEU9Ijk2IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzI2IiBCPSI5MCIgRT0iOTEiLz4KICAgICAgICAgICAgPGIgaWQ9IjMyNyIgQj0iOTciIEU9Ijk4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMjgiIEI9Ijk4IiBFPSI5OSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjMyOSIgQj0iOTkiIEU9IjEwMCIvPgogICAgICAgICAgICA8YiBpZD0iMzMwIiBCPSIxMDAiIEU9IjEwMSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjMzMSIgQj0iMTAxIiBFPSIxMDIiLz4KICAgICAgICAgICAgPGIgaWQ9IjMzMiIgQj0iOTciIEU9IjEwMiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjMzMyIgQj0iOTAiIEU9Ijk3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMzQiIEI9IjEwMyIgRT0iMTA0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMzUiIEI9IjEwNCIgRT0iMTA1IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzM2IiBCPSIxMDUiIEU9IjEwNiIvPgogICAgICAgICAgICA8YiBpZD0iMzM3IiBCPSIxMDYiIEU9IjEwNyIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjMzOCIgQj0iMTA3IiBFPSIxMDgiLz4KICAgICAgICAgICAgPGIgaWQ9IjMzOSIgQj0iMTAzIiBFPSIxMDgiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNDAiIEI9IjkwIiBFPSIxMDMiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iMTA5Ij4KICAgICAgICAgICAgPG4gaWQ9IjExMCIgcD0iNDI3LjA0MDAwOSAzNTMuMTkwMDAyIi8+CiAgICAgICAgICAgIDxuIGlkPSIxMTEiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMSIgcD0iNDE0LjU1OTk5OCAzNDUuOTg5OTkwIj4KICAgICAgICAgICAgICAgIDx0IHA9IjQxNC41NTk5OTggMzQ1Ljk4OTk5MCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk5IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxMTIiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMSIgcD0iNDAyLjA4OTk5NiAzNTMuMTkwMDAyIj4KICAgICAgICAgICAgICAgIDx0IHA9IjQwMi4wODk5OTYgMzUzLjE5MDAwMiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk5IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxMTMiIHA9IjM4OS42MTk5OTUgMzQ1Ljk4OTk5MCIvPgogICAgICAgICAgICA8biBpZD0iMTE0IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjM3Ny4xNDk5OTQgMzUzLjE5MDAwMiI+CiAgICAgICAgICAgICAgICA8dCBwPSIzNzcuMTQ5OTk0IDM1My4xOTAwMDIiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxMTUiIHA9IjM2NC42ODAwMjMgMzQ1Ljk4OTk5MCIvPgogICAgICAgICAgICA8biBpZD0iMTE2IiBwPSIzNTIuMjEwMDIyIDM1My4xOTAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjExNyIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIzODkuNjE5OTk1IDMzMS41ODk5OTYiPgogICAgICAgICAgICAgICAgPHQgcD0iMzg5LjYxOTk5NSAzMzEuNTg5OTk2IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMTE4IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjQzOS41MTAwMTAgMzQ1Ljk4OTk5MCI+CiAgICAgICAgICAgICAgICA8dCBwPSI0MzkuNTEwMDEwIDM0NS45ODk5OTAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxMTkiIHA9IjQ1MS45ODAwMTEgMzUzLjE5MDAwMiIvPgogICAgICAgICAgICA8biBpZD0iMTIwIiBwPSI0NjQuNDUwMDEyIDM0NS45ODk5OTAiLz4KICAgICAgICAgICAgPG4gaWQ9IjEyMSIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSI0MjcuMDQwMDA5IDM2Ny41ODk5OTYiPgogICAgICAgICAgICAgICAgPHQgcD0iNDI3LjA0MDAwOSAzNjcuNTg5OTk2IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8YiBpZD0iMzQxIiBCPSIxMTAiIEU9IjExMSIvPgogICAgICAgICAgICA8YiBpZD0iMzQyIiBCPSIxMTEiIEU9IjExMiIvPgogICAgICAgICAgICA8YiBpZD0iMzQzIiBCPSIxMTIiIEU9IjExMyIvPgogICAgICAgICAgICA8YiBpZD0iMzQ0IiBCPSIxMTMiIEU9IjExNCIvPgogICAgICAgICAgICA8YiBpZD0iMzQ1IiBCPSIxMTQiIEU9IjExNSIvPgogICAgICAgICAgICA8YiBpZD0iMzQ2IiBCPSIxMTUiIEU9IjExNiIvPgogICAgICAgICAgICA8YiBpZD0iMzQ3IiBCPSIxMTMiIEU9IjExNyIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjM0OCIgQj0iMTEwIiBFPSIxMTgiLz4KICAgICAgICAgICAgPGIgaWQ9IjM0OSIgQj0iMTE4IiBFPSIxMTkiLz4KICAgICAgICAgICAgPGIgaWQ9IjM1MCIgQj0iMTE5IiBFPSIxMjAiLz4KICAgICAgICAgICAgPGIgaWQ9IjM1MSIgQj0iMTEwIiBFPSIxMjEiIE9yZGVyPSIyIi8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjEyMiI+CiAgICAgICAgICAgIDxuIGlkPSIzNzQiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjM3NSI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEyMyIgRWxlbWVudD0iMTUiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNjg3LjA5OTk3NiA2NjAuMTAwMDM3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iNjg3LjA5OTk3NiA2NjAuMTAwMDM3IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5QPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMjQiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNjk5LjUyOTk2OCA2NTIuOTMwMDU0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iNjk5LjUyOTk2OCA2NTIuOTMwMDU0IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMjUiIHA9IjY3NC42Njk5ODMgNjY3LjI4MDAyOSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMjYiIHA9IjY2Mi4yMzk5OTAgNjYwLjEwMDAzNyIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMjciIHA9IjY0OS44MjAwMDcgNjY3LjI4MDAyOSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMjgiIHA9IjY0OS44MjAwMDcgNjgxLjYzMDAwNSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMjkiIHA9IjY2Mi4yMzk5OTAgNjg4LjgwMDA0OSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMzAiIHA9IjY3NC42Njk5ODMgNjgxLjYzMDAwNSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMzEiIHA9IjY5NC4yNjk5NTggNjcyLjUzMDAyOSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMzIiIHA9IjY4Ny4wOTk5NzYgNjg0Ljk2MDAyMiIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMzMiIHA9IjY5NC4yNjk5NTggNjk3LjM5MDAxNSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMzQiIHA9IjcwOC42MTk5OTUgNjk3LjM5MDAxNSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMzUiIHA9IjcxNS43OTk5ODggNjg0Ljk2MDAyMiIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMzYiIHA9IjcwOC42MTk5OTUgNjcyLjUzMDAyOSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMzciIHA9IjY3OS45MTk5ODMgNjQ3LjY4MDA1NCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMzgiIHA9IjY4Ny4wOTk5NzYgNjM1LjI1MDAwMCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMzkiIHA9IjY3OS45MTk5ODMgNjIyLjgyMDAwNyIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNDAiIHA9IjY2NS41NzAwMDcgNjIyLjgyMDAwNyIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNDEiIHA9IjY1OC4zOTk5NjMgNjM1LjI1MDAwMCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNDIiIHA9IjY2NS41NzAwMDcgNjQ3LjY4MDA1NCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzNTIiIEI9IjE0MSIgRT0iMTQyIiBPcmRlcj0iMiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzNTMiIEI9IjE0MCIgRT0iMTQxIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM1NCIgQj0iMTM5IiBFPSIxNDAiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM1NSIgQj0iMTM4IiBFPSIxMzkiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzU2IiBCPSIxMzciIEU9IjE0MiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzNTciIEI9IjEzNyIgRT0iMTM4IiBPcmRlcj0iMiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzNTgiIEI9IjEzNSIgRT0iMTM2IiBPcmRlcj0iMiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzNTkiIEI9IjEzNCIgRT0iMTM1Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM2MCIgQj0iMTMzIiBFPSIxMzQiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM2MSIgQj0iMTMyIiBFPSIxMzMiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzYyIiBCPSIxMzEiIEU9IjEzNiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzNjMiIEI9IjEzMSIgRT0iMTMyIiBPcmRlcj0iMiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzNjQiIEI9IjEyOSIgRT0iMTMwIiBPcmRlcj0iMiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzNjUiIEI9IjEyOCIgRT0iMTI5Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM2NiIgQj0iMTI3IiBFPSIxMjgiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM2NyIgQj0iMTI2IiBFPSIxMjciLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzY4IiBCPSIxMjUiIEU9IjEzMCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzNjkiIEI9IjEyNSIgRT0iMTI2IiBPcmRlcj0iMiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzNzAiIEI9IjEyMyIgRT0iMTM3Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM3MSIgQj0iMTIzIiBFPSIxMzEiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzcyIiBCPSIxMjMiIEU9IjEyNSIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzNzMiIEI9IjEyMyIgRT0iMTI0IiBPcmRlcj0iMiIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5QKE8pUGgzPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8dCBpZD0iMTQzIiBwPSIzNzUuODk0OTg5IDU1LjA1MDAwMyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+MS4yIGVxdWl2PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTQzIiBwPSIzNzUuODk0OTg5IDU1LjA1MDAwMyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+IFRUUDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE0NiIgcD0iMzc1Ljg5NDk4OSA3MC41OTUwMDEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjEuMiBlcXVpdjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE0NiIgcD0iMzc1Ljg5NDk4OSA3MC41OTUwMDEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPiBERUFEPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTQ5IiBwPSIzNzUuOTAwMDI0IDEwOS4yNjQ5OTkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPnJ0LCAxMiBocnM8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNTIiIHA9IjYyLjY4MDAwOCA3LjUwOTk5OSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxNiIgZmFjZT0iMiI+Ty1BbGt5bGF0aW9uIFJ4bjE8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNTUiIHA9IjUzNy4yODk5NzggMTg2LjA2NTAwMiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2Rlc2lyZWQgcHJvZHVjdF08L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNTgiIHA9IjQwNi41NDAwMDkgMjczLjg2OTk5NSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2J5cHJvZHVjdHNdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTYxIiBwPSIzNC4yNTQ5OTcgMjgxLjM2OTk5NSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMSI+S2V5PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8Z3JhcGhpYyBpZD0iMTY0IiBCb3VuZGluZ0JveD0iNS4yMzAwMDAgNDg3Ljg5OTk2MyAzNDAuMTcwMDEzIDI2Ni42MDAwMDYiIEdyYXBoaWNUeXBlPSJSZWN0YW5nbGUiLz4KICAgICAgICA8Z3JhcGhpYyBpZD0iMTY3IiBCb3VuZGluZ0JveD0iMTY4LjQ2MDAwNyA4My4zNzUwMDAgMTY4LjQ2MDAwNyA3NS44NzUwMDAiIEdyYXBoaWNUeXBlPSJTeW1ib2wiIFN5bWJvbFR5cGU9IlBsdXMiLz4KICAgICAgICA8dCBpZD0iMTcwIiBwPSIyNTYuOTkwMDIxIDE3MS43OTk5ODgiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjEuMCBlcXVpdjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE3MyIgcD0iMTAwLjQwOTk5NiAxNzEuNzk5OTg4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4xLjIgZXF1aXY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNzYiIHA9IjI1Ni45OTAwMjEgMTg2LjA2NTAwMiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W3BoZW5vbF08L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNzkiIHA9IjEwMC40MTAwMDQgMTg2LjA2NTAwMiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2FsY29ob2xdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTgyIiBwPSIyODMuMzM5OTk2IDMxMy4xNDk5OTQiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+dGV0cmFoeWRyb2Z1cmFuPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTg1IiBwPSIyODQuODQ1MDMyIDM5Ni41NjUwMDIiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltzb2x2ZW50XTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE4OCIgcD0iMjg2Ljg0NTAzMiAzMjkuNDY5OTcxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjEwOS05OS05PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTkxIiBwPSIxMDAuNDA1MDA2IDE0Ni45OTk5ODUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+MzQ5LTk1LTE8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxOTQiIHA9IjEwMC40MDUwMDYgMTI4LjExOTk5NSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj4oNC0odHJpZmx1b3JvbWV0aHlsKXBoZW55bCltZXRoYW5vbDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE5NyIgcD0iMjU2Ljk5MDAyMSAxMjguMDgwMDAyIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPjQtaHlkcm94eS0zLW1ldGhveHliZW56YWxkZWh5ZGU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMDAiIHA9IjUzNy4yNzk5NjggMTI4LjkyOTk5MyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj4zLW1ldGhveHktNC0oKDQtKHRyaWZsdW9yb21ldGh5bCliZW56eWwpb3h5KWJlbnphbGRlaHlkZTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIwMyIgcD0iMjU2Ljk5NDk5NSAxNDUuOTk5OTg1IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjEyMS0zMy01PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjA2IiBwPSIyODUuMjQ1MDI2IDM3Ny43MTQ5OTYiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+TVcgNzIuMTE8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMDkiIHA9IjE4My4xNDUwMDQgMzEzLjIwNDk4NyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj5kaWV0aHlsIGF6b2RpY2FyYm94eWxhdGU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMTIiIHA9IjE4My4xNDk5OTQgMzI5LjQ2OTk3MSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj4xOTcyLTI4LTc8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMTUiIHA9IjczLjg1NDk5NiAzMTMuMjA0OTg3IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPnRyaXBoZW55bHBob3NwaGluZTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIxOCIgcD0iNzMuODQ5OTk4IDMyOS40Njk5NzEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+NjAzLTM1LTA8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMjEiIHA9IjE4My4xNDk5OTQgMzk5LjE2OTk4MyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj5NVyAxNzQuMTY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMjQiIHA9IjczLjk5MDAwNSA0MjYuMzIwMDA3IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPk1XIDI2Mi4yOTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIyNyIgcD0iNzAuNzM1MDAxIDQ0OC41NjQ5NzIiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPlthZGRpdGl2ZV08L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMzAiIHA9IjE4My4xNDk5OTQgNDE4LjU2NDk3MiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2FkZGl0aXZlXTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPGFycm93IGlkPSIyMzMiIEJvdW5kaW5nQm94PSI0MTcuOTIwMDEzIDgzLjU2MDAwNSAzMzMuODgwMDA1IDgzLjU2MDAwNSIgRmlsbFR5cGU9Ik5vbmUiIEFycm93aGVhZFR5cGU9IlNvbGlkIiBIZWFkU2l6ZT0iMjI1MCIgQXJyb3doZWFkV2lkdGg9IjU2MyIgQXJyb3doZWFkSGVhZD0iRnVsbCIgQXJyb3doZWFkQ2VudGVyU2l6ZT0iMjUiIEhlYWQzRD0iNDE3LjkyMDAxMyA4My41NjAwMDUgMC4wMDAwMDAiIFRhaWwzRD0iMzMzLjg4MDAwNSA4My41NjAwMDUgMC4wMDAwMDAiLz4KICAgICAgICA8YXJyb3cgaWQ9IjIzNiIgQm91bmRpbmdCb3g9IjQ3NC41NDAwMDkgMzg4LjE0OTk5NCA0NzQuNTQwMDA5IDI4OS44OTk5OTQiIEZpbGxUeXBlPSJOb25lIiBBcnJvd2hlYWRUeXBlPSJTb2xpZCIgSGVhZFNpemU9IjIyNTAiIEFycm93aGVhZFdpZHRoPSI1NjMiIEFycm93aGVhZEhlYWQ9IkZ1bGwiIEFycm93aGVhZENlbnRlclNpemU9IjI1IiBIZWFkM0Q9IjQ3NC41NDAwMDkgMzg4LjE0OTk5NCAwLjAwMDAwMCIgVGFpbDNEPSI0NzQuNTQwMDA5IDI4OS44OTk5OTQgMC4wMDAwMDAiLz4KICAgICAgICA8c2NoZW1lPgogICAgICAgICAgICA8c3RlcCBSZWFjdGlvblN0ZXBPYmplY3RzQWJvdmVBcnJvdz0iNTQiIFJlYWN0aW9uU3RlcEFycm93cz0iMjMzIi8+CiAgICAgICAgICAgIDxzdGVwIFJlYWN0aW9uU3RlcE9iamVjdHNBYm92ZUFycm93PSI1NCIgUmVhY3Rpb25TdGVwQXJyb3dzPSIyMzYiLz4KICAgICAgICA8L3NjaGVtZT4KICAgIDwvcGFnZT4KPC9DRFhNTD4K \ No newline at end of file diff --git a/api/tests/integration/tests/formats/ref/O-Alkylation_Rxn1.cdxml b/api/tests/integration/tests/formats/ref/O-Alkylation_Rxn1.cdxml new file mode 100644 index 0000000000..0fe5f47485 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/O-Alkylation_Rxn1.cdxml @@ -0,0 +1,571 @@ + + + + + + + + + + + + + + + + + + + + + + + F + + + + + F + + + + + F + + + + + + + + + OH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OH + + + + + O + + + + + H + + + + + O + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + O + + + + + + O + + + + + + + H + + + + + O + + + + + + + F + + + + + F + + + + + F + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + O + + + + + + + + + + + + + + THF + + + + + + + + N + + + + + N + + + + + + O + + + + + + + O + + + + + O + + + + + + + O + + + + + + + + + + + + + + + + + + + + O + + + + + + + + + + + + + + THF + + + + + + + + + + O + + + + + + + + + + + + + + + H + + + + + H + + + + + PH + 3 + + + + + + TTP + + + + + + + P + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NH + + + + + NH + + + + + + O + + + + + + + O + + + + + O + + + + + + + O + + + + + + + + + + + + + + + + + + + + P + + + + + O + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + P(O)Ph3 + + + + + 1.2 equiv + + + TTP + + + 1.2 equiv + + + DEAD + + + rt, 12 hrs + + + O-Alkylation Rxn1 + + + [desired product] + + + [byproducts] + + + Key + + + + + 1.0 equiv + + + 1.2 equiv + + + [phenol] + + + [alcohol] + + + tetrahydrofuran + + + [solvent] + + + 109-99-9 + + + 349-95-1 + + + (4-(trifluoromethyl)phenyl)methanol + + + 4-hydroxy-3-methoxybenzaldehyde + + + 3-methoxy-4-((4-(trifluoromethyl)benzyl)oxy)benzaldehyde + + + 121-33-5 + + + MW 72.11 + + + diethyl azodicarboxylate + + + 1972-28-7 + + + triphenylphosphine + + + 603-35-0 + + + MW 174.16 + + + MW 262.29 + + + [additive] + + + [additive] + + + + + + + + + diff --git a/api/tests/integration/tests/formats/ref/O-Alkylation_Rxn2.b64cdx b/api/tests/integration/tests/formats/ref/O-Alkylation_Rxn2.b64cdx new file mode 100644 index 0000000000..1cf63a5e2c --- /dev/null +++ b/api/tests/integration/tests/formats/ref/O-Alkylation_Rxn2.b64cdx @@ -0,0 +1 @@ +PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIENEWE1MIFNZU1RFTSAiaHR0cDovL3d3dy5jYW1icmlkZ2Vzb2Z0LmNvbS94bWwvY2R4bWwuZHRkIj4KPENEWE1MIEJvbmRMZW5ndGg9IjMwLjAwMDAwMCIgTGFiZWxGb250PSIzIiBDYXB0aW9uRm9udD0iNCI+CiAgICA8Zm9udHRhYmxlIGlkPSIxIj4KICAgICAgICA8Zm9udCBpZD0iMiIgY2hhcnNldD0idXRmLTgiIG5hbWU9IkFyaWFsIi8+CiAgICAgICAgPGZvbnQgaWQ9IjMiIGNoYXJzZXQ9InV0Zi04IiBuYW1lPSJUaW1lcyBOZXcgUm9tYW4iLz4KICAgIDwvZm9udHRhYmxlPgogICAgPGNvbG9ydGFibGU+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMCIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIxIiBnPSIwIiBiPSIwIi8+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjAiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMSIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIwIiBnPSIxIiBiPSIxIi8+CiAgICAgICAgPGNvbG9yIHI9IjAiIGc9IjAiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMSIgZz0iMCIgYj0iMSIvPgogICAgICAgIDxjb2xvciByPSIwLjUiIGc9IjAuNSIgYj0iMC41Ii8+CiAgICA8L2NvbG9ydGFibGU+CiAgICA8cGFnZSBIZWlnaHRQYWdlcz0iMSIgV2lkdGhQYWdlcz0iMSI+CiAgICAgICAgPGZyYWdtZW50IGlkPSI0Ij4KICAgICAgICAgICAgPG4gaWQ9IjUiIEVsZW1lbnQ9IjkiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNzguMjYwMDAyIDkxLjcwMDAwNSI+CiAgICAgICAgICAgICAgICA8dCBwPSI3OC4yNjAwMDIgOTEuNzAwMDA1IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Rjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNiIgRWxlbWVudD0iOSIgTnVtSHlkcm9nZW5zPSIwIiBwPSI3OC4yNjAwMDIgMTA2LjA5OTk5OCI+CiAgICAgICAgICAgICAgICA8dCBwPSI3OC4yNjAwMDIgMTA2LjA5OTk5OCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkY8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjciIEVsZW1lbnQ9IjkiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iOTAuNzMwMDAzIDExMy4yOTk5OTUiPgogICAgICAgICAgICAgICAgPHQgcD0iOTAuNzMwMDAzIDExMy4yOTk5OTUiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5GPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI4IiBwPSI5MC43MzAwMDMgOTguOTAwMDAyIi8+CiAgICAgICAgICAgIDxuIGlkPSI5IiBwPSIxMTUuNjcwMDA2IDcwLjA5OTk5OCIvPgogICAgICAgICAgICA8biBpZD0iMTAiIHA9IjEwMy4yMDAwMDUgNzcuMzAwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSIxMSIgcD0iMTQwLjYyMDAxMCA3MC4wOTk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjEyIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjE1My4wODk5OTYgNzcuMzAwMDAzIj4KICAgICAgICAgICAgICAgIDx0IHA9IjE1My4wODk5OTYgNzcuMzAwMDAzIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+T0g8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjEzIiBwPSIxMjguMTUwMDA5IDc3LjMwMDAwMyIvPgogICAgICAgICAgICA8biBpZD0iMTQiIHA9IjEyOC4xNTAwMDkgOTEuNzAwMDA1Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxNSIgcD0iMTE1LjY3MDAwNiA5OC45MDAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjE2IiBwPSIxMDMuMjAwMDA1IDkxLjcwMDAwNSIvPgogICAgICAgICAgICA8YiBpZD0iMjM2IiBCPSI4IiBFPSI1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMzciIEI9IjgiIEU9IjYiLz4KICAgICAgICAgICAgPGIgaWQ9IjIzOCIgQj0iOCIgRT0iNyIvPgogICAgICAgICAgICA8YiBpZD0iMjM5IiBCPSIxNiIgRT0iOCIvPgogICAgICAgICAgICA8YiBpZD0iMjQwIiBCPSI5IiBFPSIxMyIvPgogICAgICAgICAgICA8YiBpZD0iMjQxIiBCPSIxMCIgRT0iOSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI0MiIgQj0iMTYiIEU9IjEwIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNDMiIEI9IjEyIiBFPSIxMSIvPgogICAgICAgICAgICA8YiBpZD0iMjQ0IiBCPSIxMyIgRT0iMTEiLz4KICAgICAgICAgICAgPGIgaWQ9IjI0NSIgQj0iMTQiIEU9IjEzIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjQ2IiBCPSIxNSIgRT0iMTQiLz4KICAgICAgICAgICAgPGIgaWQ9IjI0NyIgQj0iMTYiIEU9IjE1IiBPcmRlcj0iMiIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSIxNyI+CiAgICAgICAgICAgIDxuIGlkPSIxOCIgcD0iMjgwLjg0OTk3NiA3OC45MTAwMDQiLz4KICAgICAgICAgICAgPG4gaWQ9IjE5IiBwPSIyODAuODQ5OTc2IDkzLjMxMDAwNSIvPgogICAgICAgICAgICA8biBpZD0iMjAiIHA9IjI2OC4zNjk5OTUgMTAwLjUxMDAwMiIvPgogICAgICAgICAgICA8biBpZD0iMjEiIHA9IjI1NS45MDk5NzMgOTMuMzEwMDA1Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyMiIgcD0iMjU1LjkwOTk3MyA3OC45MTAwMDQiLz4KICAgICAgICAgICAgPG4gaWQ9IjIzIiBwPSIyNjguMzY5OTk1IDcxLjcwMDAwNSIvPgogICAgICAgICAgICA8biBpZD0iMjQiIHA9IjI0My40Mjk5OTMgNzEuNzA5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyNSIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIxIiBwPSIyMzAuOTYwMDA3IDc4LjkxMDAwNCI+CiAgICAgICAgICAgICAgICA8dCBwPSIyMzAuOTYwMDA3IDc4LjkxMDAwNCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk9IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIyNiIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyOTMuMzE5OTc3IDEwMC41MTAwMDIiPgogICAgICAgICAgICAgICAgPHQgcD0iMjkzLjMxOTk3NyAxMDAuNTEwMDAyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMjciIHA9IjMwNS43ODk5NzggOTMuMzEwMDA1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNDgiIEI9IjE4IiBFPSIxOSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI0OSIgQj0iMTkiIEU9IjIwIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNTAiIEI9IjIwIiBFPSIyMSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI1MSIgQj0iMjEiIEU9IjIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNTIiIEI9IjIyIiBFPSIyMyIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI1MyIgQj0iMjMiIEU9IjE4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNTQiIEI9IjIyIiBFPSIyNCIvPgogICAgICAgICAgICA8YiBpZD0iMjU1IiBCPSIyNCIgRT0iMjUiLz4KICAgICAgICAgICAgPGIgaWQ9IjI1NiIgQj0iMTkiIEU9IjI2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNTciIEI9IjI2IiBFPSIyNyIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSIyOCI+CiAgICAgICAgICAgIDxuIGlkPSIyOSIgcD0iNTE0LjE2OTk4MyA5My44NjAwMDEiLz4KICAgICAgICAgICAgPG4gaWQ9IjMwIiBwPSI1MDEuNzc5OTk5IDg2LjcwOTk5OSIvPgogICAgICAgICAgICA8biBpZD0iMzEiIHA9IjUwMS43Nzk5OTkgNzIuNDEwMDA0Ii8+CiAgICAgICAgICAgIDxuIGlkPSIzMiIgcD0iNTE0LjE2OTk4MyA2NS4yNjAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjMzIiBwPSI1MjYuNTQ5OTg4IDcyLjQxMDAwNCIvPgogICAgICAgICAgICA8biBpZD0iMzQiIHA9IjUyNi41NDk5ODggODYuNzA5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSIzNSIgcD0iNTM4Ljk0MDAwMiA2NS4yNjAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjM2IiBwPSI1NzYuMDg5OTY2IDg2LjcwOTk5OSIvPgogICAgICAgICAgICA8biBpZD0iMzciIHA9IjU3Ni4wODk5NjYgNzIuNDEwMDA0Ii8+CiAgICAgICAgICAgIDxuIGlkPSIzOCIgcD0iNTYzLjcwOTk2MSA2NS4yNjAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjM5IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjU1MS4zMjAwMDcgNzIuNDEwMDA0Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjU1MS4zMjAwMDcgNzIuNDEwMDA0IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNDAiIHA9IjU4OC40Njk5NzEgNjUuMjYwMDAyIi8+CiAgICAgICAgICAgIDxuIGlkPSI0MSIgcD0iNjAwLjg1OTk4NSA3Mi40MTAwMDQiLz4KICAgICAgICAgICAgPG4gaWQ9IjQyIiBwPSI2MDAuODU5OTg1IDg2LjcwOTk5OSIvPgogICAgICAgICAgICA8biBpZD0iNDMiIHA9IjU4OC40Njk5NzEgOTMuODYwMDAxIi8+CiAgICAgICAgICAgIDxuIGlkPSI0NCIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSI0ODkuMzk5OTk0IDkzLjg2MDAwMSI+CiAgICAgICAgICAgICAgICA8dCBwPSI0ODkuMzk5OTk0IDkzLjg2MDAwMSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjQ1IiBwPSI0NzcuMDE5OTg5IDg2LjcwOTk5OSIvPgogICAgICAgICAgICA8biBpZD0iNDYiIEVsZW1lbnQ9IjkiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNjEzLjIzOTk5MCAxMDguMTU5OTk2Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjYxMy4yMzk5OTAgMTA4LjE1OTk5NiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkY8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjQ3IiBwPSI2MTMuMjM5OTkwIDkzLjg2MDAwMSIvPgogICAgICAgICAgICA8biBpZD0iNDgiIEVsZW1lbnQ9IjkiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNjI1LjYzMDAwNSAxMDEuMDEwMDAyIj4KICAgICAgICAgICAgICAgIDx0IHA9IjYyNS42MzAwMDUgMTAxLjAxMDAwMiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkY8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjQ5IiBFbGVtZW50PSI5IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjYyNS42MzAwMDUgODYuNzA5OTk5Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjYyNS42MzAwMDUgODYuNzA5OTk5IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Rjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8YiBpZD0iMjU4IiBCPSIyOSIgRT0iMzAiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNTkiIEI9IjMwIiBFPSIzMSIvPgogICAgICAgICAgICA8YiBpZD0iMjYwIiBCPSIzMSIgRT0iMzIiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNjEiIEI9IjMyIiBFPSIzMyIvPgogICAgICAgICAgICA8YiBpZD0iMjYyIiBCPSIzMyIgRT0iMzQiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNjMiIEI9IjM0IiBFPSIyOSIvPgogICAgICAgICAgICA8YiBpZD0iMjY0IiBCPSIzMyIgRT0iMzUiLz4KICAgICAgICAgICAgPGIgaWQ9IjI2NSIgQj0iMzUiIEU9IjM5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNjYiIEI9IjMwIiBFPSI0NCIvPgogICAgICAgICAgICA8YiBpZD0iMjY3IiBCPSIzNiIgRT0iMzciIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNjgiIEI9IjM3IiBFPSIzOCIvPgogICAgICAgICAgICA8YiBpZD0iMjY5IiBCPSIzOCIgRT0iMzkiLz4KICAgICAgICAgICAgPGIgaWQ9IjI3MCIgQj0iMzciIEU9IjQwIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNzEiIEI9IjQwIiBFPSI0MSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI3MiIgQj0iNDEiIEU9IjQyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNzMiIEI9IjQyIiBFPSI0MyIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI3NCIgQj0iNDMiIEU9IjM2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNzUiIEI9IjQyIiBFPSI0NyIvPgogICAgICAgICAgICA8YiBpZD0iMjc2IiBCPSI0NCIgRT0iNDUiLz4KICAgICAgICAgICAgPGIgaWQ9IjI3NyIgQj0iNDciIEU9IjQ4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNzgiIEI9IjQ3IiBFPSI0OSIvPgogICAgICAgICAgICA8YiBpZD0iMjc5IiBCPSI0NiIgRT0iNDciLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNTAiPgogICAgICAgICAgICA8biBpZD0iMjk2IiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSIyOTciPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI1MSIgRWxlbWVudD0iMjYiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjAxLjIyMDAwMSA0ODMuMjQ5OTM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMjAxLjIyMDAwMSA0ODMuMjQ5OTM5IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5GZTwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNTIiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTg4Ljc5MDAwOSA0OTAuNDIwMDEzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMTg4Ljc5MDAwOSA0OTAuNDIwMDEzIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI1MyIgRWxlbWVudD0iMTYiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTc2LjM2MDAwMSA0ODMuMjQ5OTM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMTc2LjM2MDAwMSA0ODMuMjQ5OTM5IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5TPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI1NCIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxODMuNTQwMDA5IDQ3MC44MjAwMDciPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIxODMuNTQwMDA5IDQ3MC44MjAwMDciIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjU1IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjE2OS4xOTAwMDIgNDk1LjY2OTk4MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjE2OS4xOTAwMDIgNDk1LjY2OTk4MyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNTYiIHA9IjE2My45MzAwMDggNDc2LjA3MDAwNyIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI1NyIgRWxlbWVudD0iOSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxNjMuOTMwMDA4IDQ2MS43MjAwMDEiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIxNjMuOTMwMDA4IDQ2MS43MjAwMDEiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkY8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjU4IiBFbGVtZW50PSI5IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjE1MS41MTAwMTAgNDY4Ljg5OTk5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjE1MS41MTAwMTAgNDY4Ljg5OTk5NCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Rjwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNTkiIEVsZW1lbnQ9IjkiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTUxLjUxMDAxMCA0ODMuMjQ5OTM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMTUxLjUxMDAxMCA0ODMuMjQ5OTM5IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5GPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI2MCIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyMTMuNjM5OTk5IDQ5MC40MjAwMTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIyMTMuNjM5OTk5IDQ5MC40MjAwMTMiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjYxIiBFbGVtZW50PSIxNiIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyMjYuMDcwMDA3IDQ4My4yNDk5MzkiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIyMjYuMDcwMDA3IDQ4My4yNDk5MzkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPlM8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjYyIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjIzMy4yNDAwMDUgNDk1LjY2OTk4MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjIzMy4yNDAwMDUgNDk1LjY2OTk4MyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNjMiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjE4Ljg4OTk5OSA0NzAuODIwMDA3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMjE4Ljg4OTk5OSA0NzAuODIwMDA3IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI2NCIgcD0iMjM4LjUwMDAwMCA0NzYuMDcwMDA3Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjY1IiBFbGVtZW50PSI5IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjI1MC45MjAwMTMgNDY4Ljg5OTk5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjI1MC45MjAwMTMgNDY4Ljg5OTk5NCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Rjwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNjYiIEVsZW1lbnQ9IjkiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjM4LjUwMDAwMCA0NjEuNzIwMDAxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMjM4LjUwMDAwMCA0NjEuNzIwMDAxIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5GPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI2NyIgRWxlbWVudD0iOSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyNTAuOTIwMDEzIDQ4My4yNDk5MzkiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIyNTAuOTIwMDEzIDQ4My4yNDk5MzkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkY8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI4MCIgQj0iNjQiIEU9IjY3Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI4MSIgQj0iNjQiIEU9IjY2Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI4MiIgQj0iNjQiIEU9IjY1Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI4MyIgQj0iNjQiIEU9IjYxIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI4NCIgQj0iNjEiIEU9IjYzIiBPcmRlcj0iMiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyODUiIEI9IjYxIiBFPSI2MiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjg2IiBCPSI2MCIgRT0iNjEiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjg3IiBCPSI1NiIgRT0iNTciLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjg4IiBCPSI1NiIgRT0iNTMiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjg5IiBCPSI1NiIgRT0iNTkiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjkwIiBCPSI1NiIgRT0iNTgiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjkxIiBCPSI1MyIgRT0iNTUiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI5MiIgQj0iNTMiIEU9IjU0IiBPcmRlcj0iMiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyOTMiIEI9IjUyIiBFPSI1MyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyOTQiIEI9IjUxIiBFPSI2MCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyOTUiIEI9IjUxIiBFPSI1MiIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5GZShPVGYpMjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI2OCI+CiAgICAgICAgICAgIDxuIGlkPSI2OSIgRWxlbWVudD0iMjYiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNjguNDAwMDAyIDM4Ni4wNzk5ODciPgogICAgICAgICAgICAgICAgPHQgcD0iNjguNDAwMDAyIDM4Ni4wNzk5ODciIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5GZTwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNzAiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNTUuOTgwMDAwIDM5My4yNTAwMDAiPgogICAgICAgICAgICAgICAgPHQgcD0iNTUuOTgwMDAwIDM5My4yNTAwMDAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI3MSIgRWxlbWVudD0iMTYiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNDMuNTQ5OTk5IDM4Ni4wNzk5ODciPgogICAgICAgICAgICAgICAgPHQgcD0iNDMuNTQ5OTk5IDM4Ni4wNzk5ODciIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5TPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI3MiIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSI1MC43MzAwMDAgMzczLjY0OTk5NCI+CiAgICAgICAgICAgICAgICA8dCBwPSI1MC43MzAwMDAgMzczLjY0OTk5NCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjczIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjM2LjM4MDAwMSAzOTguNTA5OTc5Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjM2LjM4MDAwMSAzOTguNTA5OTc5IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNzQiIHA9IjMxLjExOTk5NyAzNzguODk5OTk0Ii8+CiAgICAgICAgICAgIDxuIGlkPSI3NSIgRWxlbWVudD0iOSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIzMS4xMTk5OTcgMzY0LjU0OTk4OCI+CiAgICAgICAgICAgICAgICA8dCBwPSIzMS4xMTk5OTcgMzY0LjU0OTk4OCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkY8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9Ijc2IiBFbGVtZW50PSI5IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjE4LjcwMDAwMSAzNzEuNzI5OTgwIj4KICAgICAgICAgICAgICAgIDx0IHA9IjE4LjcwMDAwMSAzNzEuNzI5OTgwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Rjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNzciIEVsZW1lbnQ9IjkiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTguNzAwMDAxIDM4Ni4wNzk5ODciPgogICAgICAgICAgICAgICAgPHQgcD0iMTguNzAwMDAxIDM4Ni4wNzk5ODciIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5GPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI3OCIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSI4MC44MzAwMDIgMzkzLjI1MDAwMCI+CiAgICAgICAgICAgICAgICA8dCBwPSI4MC44MzAwMDIgMzkzLjI1MDAwMCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9Ijc5IiBFbGVtZW50PSIxNiIgTnVtSHlkcm9nZW5zPSIwIiBwPSI5My4yNjAwMDIgMzg2LjA3OTk4NyI+CiAgICAgICAgICAgICAgICA8dCBwPSI5My4yNjAwMDIgMzg2LjA3OTk4NyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPlM8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjgwIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjEwMC40MzAwMDAgMzk4LjUwOTk3OSI+CiAgICAgICAgICAgICAgICA8dCBwPSIxMDAuNDMwMDAwIDM5OC41MDk5NzkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI4MSIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSI4Ni4wODAwMDIgMzczLjY0OTk5NCI+CiAgICAgICAgICAgICAgICA8dCBwPSI4Ni4wODAwMDIgMzczLjY0OTk5NCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjgyIiBwPSIxMDUuNjkwMDAyIDM3OC44OTk5OTQiLz4KICAgICAgICAgICAgPG4gaWQ9IjgzIiBFbGVtZW50PSI5IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjExOC4xMTAwMDEgMzcxLjcyOTk4MCI+CiAgICAgICAgICAgICAgICA8dCBwPSIxMTguMTEwMDAxIDM3MS43Mjk5ODAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5GPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI4NCIgRWxlbWVudD0iOSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxMDUuNjkwMDAyIDM2NC41NDk5ODgiPgogICAgICAgICAgICAgICAgPHQgcD0iMTA1LjY5MDAwMiAzNjQuNTQ5OTg4IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Rjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iODUiIEVsZW1lbnQ9IjkiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTE4LjExMDAwMSAzODYuMDc5OTg3Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjExOC4xMTAwMDEgMzg2LjA3OTk4NyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkY8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPGIgaWQ9IjI5OCIgQj0iODIiIEU9Ijg1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyOTkiIEI9IjgyIiBFPSI4NCIvPgogICAgICAgICAgICA8YiBpZD0iMzAwIiBCPSI4MiIgRT0iODMiLz4KICAgICAgICAgICAgPGIgaWQ9IjMwMSIgQj0iODIiIEU9Ijc5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMDIiIEI9Ijc5IiBFPSI4MSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjMwMyIgQj0iNzkiIEU9IjgwIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzA0IiBCPSI3OCIgRT0iNzkiLz4KICAgICAgICAgICAgPGIgaWQ9IjMwNSIgQj0iNzQiIEU9Ijc1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMDYiIEI9Ijc0IiBFPSI3MSIvPgogICAgICAgICAgICA8YiBpZD0iMzA3IiBCPSI3NCIgRT0iNzciLz4KICAgICAgICAgICAgPGIgaWQ9IjMwOCIgQj0iNzQiIEU9Ijc2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMDkiIEI9IjcxIiBFPSI3MyIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjMxMCIgQj0iNzEiIEU9IjcyIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzExIiBCPSI3MCIgRT0iNzEiLz4KICAgICAgICAgICAgPGIgaWQ9IjMxMiIgQj0iNjkiIEU9Ijc4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMTMiIEI9IjY5IiBFPSI3MCIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI4NiI+CiAgICAgICAgICAgIDxuIGlkPSIzNjAiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjM2MSI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEwMyIgcD0iMjcyLjIyMDAwMSAzODkuNTU5OTk4Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjM2MiIgTm9kZVR5cGU9IkV4dGVybmFsQ29ubmVjdGlvblBvaW50Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEwNCIgcD0iMjgxLjgxOTk3NyA0MDAuMjI5OTgwIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEwNSIgcD0iMjk1Ljg1OTk4NSAzOTcuMjUwMDAwIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEwNiIgcD0iMzAwLjI5OTk4OCAzODMuNjAwMDA2Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEwNyIgcD0iMjkwLjY5MDAwMiAzNzIuOTI5OTkzIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEwOCIgcD0iMjc2LjY0OTk5NCAzNzUuOTEwMDA0Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMxNCIgQj0iMTA3IiBFPSIxMDgiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMxNSIgQj0iMTA2IiBFPSIxMDciLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzE2IiBCPSIxMDUiIEU9IjEwNiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzE3IiBCPSIxMDQiIEU9IjEwNSIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMTgiIEI9IjEwMyIgRT0iMTA0IiBPcmRlcj0iMiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMTkiIEI9IjEwMyIgRT0iMTA4Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM2NCIgQj0iMzYyIiBFPSIxMDMiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+UGg8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjM2NSIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iMzY2Ij4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTA5IiBwPSIyNTkuNDc5OTgwIDQxOC4xNzk5OTMiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMzY3IiBOb2RlVHlwZT0iRXh0ZXJuYWxDb25uZWN0aW9uUG9pbnQiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTEwIiBwPSIyNTIuMjk5OTg4IDQzMC42MDk5ODUiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTExIiBwPSIyNTkuNDc5OTgwIDQ0My4wNDAwMDkiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTEyIiBwPSIyNzMuODI5OTg3IDQ0My4wNDAwMDkiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTEzIiBwPSIyODEuMDAwMDAwIDQzMC42MDk5ODUiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTE0IiBwPSIyNzMuODI5OTg3IDQxOC4xNzk5OTMiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzIwIiBCPSIxMTMiIEU9IjExNCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzIxIiBCPSIxMTIiIEU9IjExMyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMjIiIEI9IjExMSIgRT0iMTEyIiBPcmRlcj0iMiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMjMiIEI9IjExMCIgRT0iMTExIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMyNCIgQj0iMTA5IiBFPSIxMTAiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMyNSIgQj0iMTA5IiBFPSIxMTQiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzY5IiBCPSIzNjciIEU9IjEwOSIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5QaDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMzcwIiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSIzNzEiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMTUiIHA9IjE2MC41NTk5OTggNDE4LjE3OTk5MyIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIzNzIiIE5vZGVUeXBlPSJFeHRlcm5hbENvbm5lY3Rpb25Qb2ludCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMTYiIHA9IjE0Ni4yMTAwMDcgNDE4LjE3OTk5MyIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMTciIHA9IjEzOS4wNDAwMDkgNDMwLjYwOTk4NSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMTgiIHA9IjE0Ni4yMTAwMDcgNDQzLjA0MDAwOSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMTkiIHA9IjE2MC41NTk5OTggNDQzLjA0MDAwOSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMjAiIHA9IjE2Ny43NDAwMDUgNDMwLjYwOTk4NSIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMjYiIEI9IjExOSIgRT0iMTIwIiBPcmRlcj0iMiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMjciIEI9IjExOCIgRT0iMTE5Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMyOCIgQj0iMTE3IiBFPSIxMTgiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMyOSIgQj0iMTE2IiBFPSIxMTciLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzMwIiBCPSIxMTUiIEU9IjExNiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzMxIiBCPSIxMTUiIEU9IjEyMCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzNzQiIEI9IjM3MiIgRT0iMTE1Ii8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPlBoPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIzNzUiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjM3NiI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEyMSIgcD0iMTQ3LjgyMDAwNyAzODkuNTU5OTk4Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjM3NyIgTm9kZVR5cGU9IkV4dGVybmFsQ29ubmVjdGlvblBvaW50Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEyMiIgcD0iMTQzLjM4OTk5OSAzNzUuOTEwMDA0Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEyMyIgcD0iMTI5LjM1MDAwNiAzNzIuOTI5OTkzIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEyNCIgcD0iMTE5Ljc1MDAwMCAzODMuNjAwMDA2Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEyNSIgcD0iMTI0LjE4MDAwOCAzOTcuMjUwMDAwIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEyNiIgcD0iMTM4LjIyMDAwMSA0MDAuMjI5OTgwIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMzMiIgQj0iMTI1IiBFPSIxMjYiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMzMyIgQj0iMTI0IiBFPSIxMjUiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzM0IiBCPSIxMjMiIEU9IjEyNCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzM1IiBCPSIxMjIiIEU9IjEyMyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMzYiIEI9IjEyMSIgRT0iMTIyIiBPcmRlcj0iMiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMzciIEI9IjEyMSIgRT0iMTI2Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM3OSIgQj0iMzc3IiBFPSIxMjEiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+UGg8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9Ijg3IiBwPSIxOTcuNTUwMDAzIDM2OC41MTk5ODkiLz4KICAgICAgICAgICAgPG4gaWQ9Ijg4IiBwPSIxOTcuNTUwMDAzIDM4Mi45MTk5ODMiLz4KICAgICAgICAgICAgPG4gaWQ9Ijg5IiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjIxMC4wMjAwMDQgMzkwLjExOTk5NSI+CiAgICAgICAgICAgICAgICA8dCBwPSIyMTAuMDIwMDA0IDM5MC4xMTk5OTUiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI5MCIgcD0iMjIyLjQ5MDAwNSAzODIuOTE5OTgzIi8+CiAgICAgICAgICAgIDxuIGlkPSI5MSIgcD0iMjIyLjQ5MDAwNSAzNjguNTE5OTg5Ii8+CiAgICAgICAgICAgIDxuIGlkPSI5MiIgcD0iMjEwLjAyMDAwNCAzNjEuMzIwMDA3Ii8+CiAgICAgICAgICAgIDxuIGlkPSI5MyIgcD0iMjM0Ljk2MDAwNyAzOTAuMTE5OTk1Ii8+CiAgICAgICAgICAgIDxuIGlkPSI5NCIgcD0iMTg1LjA4MDAwMiAzOTAuMTE5OTk1Ii8+CiAgICAgICAgICAgIDxuIGlkPSI5NSIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIxIiBwPSIxNzIuNjEwMDAxIDM4Mi45MTk5ODMiPgogICAgICAgICAgICAgICAgPHQgcD0iMTcyLjYxMDAwMSAzODIuOTE5OTgzIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tkg8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9Ijk2IiBwPSIxNjEuOTEwMDA0IDM5Mi41NTk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9Ijk3IiBwPSIxNjcuNzYwMDEwIDQwNS43MDk5OTEiLz4KICAgICAgICAgICAgPG4gaWQ9Ijk4IiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjE4Mi4wODk5OTYgNDA0LjIwOTk5MSI+CiAgICAgICAgICAgICAgICA8dCBwPSIxODIuMDg5OTk2IDQwNC4yMDk5OTEiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI5OSIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIxIiBwPSIyNDcuNDMwMDIzIDM4Mi45MTk5ODMiPgogICAgICAgICAgICAgICAgPHQgcD0iMjQ3LjQzMDAyMyAzODIuOTE5OTgzIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tkg8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjEwMCIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyMzcuOTYwMDA3IDQwNC4yMDk5OTEiPgogICAgICAgICAgICAgICAgPHQgcD0iMjM3Ljk2MDAwNyA0MDQuMjA5OTkxIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMTAxIiBwPSIyNTIuMjgwMDI5IDQwNS43MDk5OTEiLz4KICAgICAgICAgICAgPG4gaWQ9IjEwMiIgcD0iMjU4LjEyOTk3NCAzOTIuNTU5OTk4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMzgiIEI9Ijg3IiBFPSI4OCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjMzOSIgQj0iODgiIEU9Ijg5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzNDAiIEI9Ijg5IiBFPSI5MCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjM0MSIgQj0iOTAiIEU9IjkxIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNDIiIEI9IjkxIiBFPSI5MiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjM0MyIgQj0iOTIiIEU9Ijg3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzNDQiIEI9IjkwIiBFPSI5MyIvPgogICAgICAgICAgICA8YiBpZD0iMzQ1IiBCPSI4OCIgRT0iOTQiLz4KICAgICAgICAgICAgPGIgaWQ9IjM0NiIgQj0iOTQiIEU9Ijk1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzNDciIEI9Ijk1IiBFPSI5NiIvPgogICAgICAgICAgICA8YiBpZD0iMzQ4IiBCPSI5NiIgRT0iOTciLz4KICAgICAgICAgICAgPGIgaWQ9IjM0OSIgQj0iOTciIEU9Ijk4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzNTAiIEI9Ijk4IiBFPSI5NCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjM1MSIgQj0iOTMiIEU9Ijk5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzNTIiIEI9IjkzIiBFPSIxMDAiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNTMiIEI9IjEwMCIgRT0iMTAxIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNTQiIEI9IjEwMSIgRT0iMTAyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNTUiIEI9IjEwMiIgRT0iOTkiLz4KICAgICAgICAgICAgPGIgaWQ9IjM2MyIgQj0iMTAyIiBFPSIzNjAiLz4KICAgICAgICAgICAgPGIgaWQ9IjM2OCIgQj0iMTAxIiBFPSIzNjUiLz4KICAgICAgICAgICAgPGIgaWQ9IjM3MyIgQj0iOTciIEU9IjM3MCIvPgogICAgICAgICAgICA8YiBpZD0iMzc4IiBCPSI5NiIgRT0iMzc1Ii8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjEyNyI+CiAgICAgICAgICAgIDxuIGlkPSIxMjgiIHA9IjMzNC42Mzk5ODQgMzcxLjgyMDAwNyIvPgogICAgICAgICAgICA8biBpZD0iMTI5IiBwPSIzNDcuMTA5OTg1IDM2NC42MTk5OTUiLz4KICAgICAgICAgICAgPG4gaWQ9IjEzMCIgRWxlbWVudD0iMTciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMzU5LjU3OTk4NyAzNzEuODIwMDA3Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjM1OS41Nzk5ODcgMzcxLjgyMDAwNyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkNsPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxMzEiIEVsZW1lbnQ9IjE3IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjMyMi4xNjk5ODMgMzY0LjYxOTk5NSI+CiAgICAgICAgICAgICAgICA8dCBwPSIzMjIuMTY5OTgzIDM2NC42MTk5OTUiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5DbDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8YiBpZD0iMzgwIiBCPSIxMjgiIEU9IjEyOSIvPgogICAgICAgICAgICA8YiBpZD0iMzgxIiBCPSIxMjkiIEU9IjEzMCIvPgogICAgICAgICAgICA8YiBpZD0iMzgyIiBCPSIxMjgiIEU9IjEzMSIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSIxMzIiPgogICAgICAgICAgICA8biBpZD0iMTMzIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjIiIHA9IjQyOC4xNTk5NzMgMzAwLjA3MDAwNyI+CiAgICAgICAgICAgICAgICA8dCBwPSI0MjguMTU5OTczIDMwMC4wNzAwMDciIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PSDwvcz4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iMzIiPjI8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDx0IGlkPSIxMzQiIHA9IjM3Ni40OTk5NjkgNzQuMzA1MDAwIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4wLjAxIGVxdWl2PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTM0IiBwPSIzNzYuNDk5OTY5IDc0LjMwNTAwMCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+IEwyPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTM3IiBwPSIzNzYuNDk5OTY5IDk5LjMwOTk5OCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+RENFPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTQwIiBwPSIzNzYuNDk5OTY5IDExMy4yMjAwMDEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjgwIMKwQywgMTIgaHJzPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTQzIiBwPSI4Ni44NDk5OTggNy41MDk5OTkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTYiIGZhY2U9IjIiPk8tQWxreWxhdGlvbiBSeG4yPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTQ2IiBwPSIyNjMuMjk5OTg4IDE0My4wMDAwMDAiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+NjUyOS01MS03PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTQ5IiBwPSI1NTIuNTQ5OTg4IDE4NS41MzQ5ODgiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltkZXNpcmVkIHByb2R1Y3RdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTUyIiBwPSI0MzEuMDQ5OTg4IDI3Ny4zNjk5OTUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltieXByb2R1Y3RzXTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE1NSIgcD0iMjQuMjY0OTk5IDI4Mi4zNjk5NjUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjEiPktleTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPGdyYXBoaWMgaWQ9IjE1OCIgQm91bmRpbmdCb3g9IjAuODAwMDAwIDQ4OS4zOTk5OTQgMzkxLjQ0MDAwMiAyNjguMTAwMDA2IiBHcmFwaGljVHlwZT0iUmVjdGFuZ2xlIi8+CiAgICAgICAgPGdyYXBoaWMgaWQ9IjE2MSIgQm91bmRpbmdCb3g9IjE5NC4yMTAwMDcgOTEuNTg1MDA3IDE5NC4yMTAwMDcgODQuMDg1MDA3IiBHcmFwaGljVHlwZT0iU3ltYm9sIiBTeW1ib2xUeXBlPSJQbHVzIi8+CiAgICAgICAgPHQgaWQ9IjE2NCIgcD0iMjYzLjI5OTk4OCAxNjkuMzAwMDAzIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4xLjAgZXF1aXY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNjciIHA9IjI2My4yOTk5ODggMTg1LjUzNDk4OCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2FsY29ob2xdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTcwIiBwPSI1NTYuMDc5OTU2IDEzMS4xMTk5OTUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+MS1tZXRob3h5LTQtKCgoNC0odHJpZmx1b3JvbWV0aHlsKWJlbnp5bClveHkpbWV0aHlsKWJlbnplbmU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNzMiIHA9IjExOS43MTAwMDcgMTY5LjMwMDAwMyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+MS4wIGVxdWl2PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTc2IiBwPSIxMTkuNzA5OTkxIDE4NS41MzQ5ODgiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPlthbGNvaG9sXTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE3OSIgcD0iMTE5LjcxNDk5NiAxNDMuMDAwMDAwIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjM0OS05NS0xPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTgyIiBwPSIxMTkuNzE0OTk2IDEzMS4xMTk5OTUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+KDQtKHRyaWZsdW9yb21ldGh5bClwaGVueWwpbWV0aGFub2w8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxODUiIHA9IjI2My4yOTQ5ODMgMTMxLjExOTk5NSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj4oNC1tZXRob3h5cGhlbnlsKW1ldGhhbm9sPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTg4IiBwPSIyMDkuODQ1MDAxIDM0MC41MDUwMDUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+MjEzNTYxMy05My0xPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTkxIiBwPSIyMDkuODQwMDEyIDI5OS4zMzQ5OTEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+TDI8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxOTQiIHA9IjMzOS41MjQ5NjMgMjk5LjQyOTk2MiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj5EQ0U8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxOTciIHA9IjY4LjU4NDk5OSAzNDAuNTA1MDA1IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjU5MTYzLTkxLTY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMDAiIHA9IjY4LjU5MDAwNCAzMTYuMzIwMDA3IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPmlyb24oSUkpIHRyaWZsYXRlPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjAzIiBwPSIyMDkuODQ0OTg2IDMyMS40OTQ5OTUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+Miw2LWJpcyg0LDUtZGloeWRyby00LDUtZGlwaGVueWwtMUgtaW1pZGF6b2wtMi15bClweXJpZGluZTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIwNiIgcD0iMzM5LjUyNDk2MyAzMTYuMDQ5OTg4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPjEsMi1kaWNobG9yb2V0aGFuZTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIwOSIgcD0iMzM5LjUyNDk2MyAzNDAuNTAwMDAwIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjEwNy0wNi0yPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjEyIiBwPSI2OC41ODQ5OTkgNDE0LjA5NDk3MSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj5NVyAzNTMuOTc8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMTUiIHA9IjIwOS44NDUwMDEgNDMzLjU5OTk3NiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj5NVyA1MTkuNjU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMTgiIHA9IjMzOS41MjQ5NjMgMzg3LjM5OTk5NCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj5NVyA5OC45NTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIyMSIgcD0iMjA2LjI0MDAwNSA0NTEuMDg5OTk2IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bbGlnYW5kXTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIyNCIgcD0iNjguNTg0OTk5IDQzMi41ODk5OTYiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltjYXRhbHlzdF08L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMjciIHA9IjMzOC40MTUwMDkgNDA3LjUzNDk3MyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W3NvbHZlbnRdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8YXJyb3cgaWQ9IjIzMCIgQm91bmRpbmdCb3g9IjQ2Ny41NDk5ODggMzg0LjE0OTk5NCA0NjcuNTQ5OTg4IDI4NS44OTk5OTQiIEZpbGxUeXBlPSJOb25lIiBBcnJvd2hlYWRUeXBlPSJTb2xpZCIgSGVhZFNpemU9IjIyNTAiIEFycm93aGVhZFdpZHRoPSI1NjMiIEFycm93aGVhZEhlYWQ9IkZ1bGwiIEFycm93aGVhZENlbnRlclNpemU9IjI1IiBIZWFkM0Q9IjQ2Ny41NDk5ODggMzg0LjE0OTk5NCAwLjAwMDAwMCIgVGFpbDNEPSI0NjcuNTQ5OTg4IDI4NS44OTk5OTQgMC4wMDAwMDAiLz4KICAgICAgICA8YXJyb3cgaWQ9IjIzMyIgQm91bmRpbmdCb3g9IjQyNi40Mjk5OTMgODcuNTAwMDAwIDMyNi41Njk5NzcgODcuNTAwMDAwIiBGaWxsVHlwZT0iTm9uZSIgQXJyb3doZWFkVHlwZT0iU29saWQiIEhlYWRTaXplPSIyMjUwIiBBcnJvd2hlYWRXaWR0aD0iNTYzIiBBcnJvd2hlYWRIZWFkPSJGdWxsIiBBcnJvd2hlYWRDZW50ZXJTaXplPSIyNSIgSGVhZDNEPSI0MjYuNDI5OTkzIDg3LjUwMDAwMCAwLjAwMDAwMCIgVGFpbDNEPSIzMjYuNTY5OTc3IDg3LjUwMDAwMCAwLjAwMDAwMCIvPgogICAgICAgIDxzY2hlbWU+CiAgICAgICAgICAgIDxzdGVwIFJlYWN0aW9uU3RlcEFycm93cz0iMjMwIi8+CiAgICAgICAgICAgIDxzdGVwIFJlYWN0aW9uU3RlcEFycm93cz0iMjMzIi8+CiAgICAgICAgPC9zY2hlbWU+CiAgICA8L3BhZ2U+CjwvQ0RYTUw+Cg== \ No newline at end of file diff --git a/api/tests/integration/tests/formats/ref/O-Alkylation_Rxn2.cdxml b/api/tests/integration/tests/formats/ref/O-Alkylation_Rxn2.cdxml new file mode 100644 index 0000000000..f92c45a152 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/O-Alkylation_Rxn2.cdxml @@ -0,0 +1,625 @@ + + + + + + + + + + + + + + + + + + + + + + + F + + + + + F + + + + + F + + + + + + + + + OH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OH + + + + + O + + + + + + + + + + + + + + + + + + + + + + + + + + + + O + + + + + + + + + O + + + + + + F + + + + + + F + + + + + F + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Fe + + + + + O + + + + + S + + + + + O + + + + + O + + + + + + F + + + + + F + + + + + F + + + + + O + + + + + S + + + + + O + + + + + O + + + + + + F + + + + + F + + + + + F + + + + + + + + + + + + + + + + + + + + + Fe(OTf)2 + + + + + + + Fe + + + + + O + + + + + S + + + + + O + + + + + O + + + + + + F + + + + + F + + + + + F + + + + + O + + + + + S + + + + + O + + + + + O + + + + + + F + + + + + F + + + + + F + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ph + + + + + + + + + + + + + + + + + + + + + Ph + + + + + + + + + + + + + + + + + + + + + Ph + + + + + + + + + + + + + + + + + + + + + Ph + + + + + + + N + + + + + + + + + + NH + + + + + + + N + + + + + NH + + + + + N + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cl + + + + + Cl + + + + + + + + + + OH + 2 + + + + + 0.01 equiv + + + L2 + + + DCE + + + 80 °C, 12 hrs + + + O-Alkylation Rxn2 + + + 6529-51-7 + + + [desired product] + + + [byproducts] + + + Key + + + + + 1.0 equiv + + + [alcohol] + + + 1-methoxy-4-(((4-(trifluoromethyl)benzyl)oxy)methyl)benzene + + + 1.0 equiv + + + [alcohol] + + + 349-95-1 + + + (4-(trifluoromethyl)phenyl)methanol + + + (4-methoxyphenyl)methanol + + + 2135613-93-1 + + + L2 + + + DCE + + + 59163-91-6 + + + iron(II) triflate + + + 2,6-bis(4,5-dihydro-4,5-diphenyl-1H-imidazol-2-yl)pyridine + + + 1,2-dichloroethane + + + 107-06-2 + + + MW 353.97 + + + MW 519.65 + + + MW 98.95 + + + [ligand] + + + [catalyst] + + + [solvent] + + + + + + + + + diff --git a/api/tests/integration/tests/formats/ref/Reductive Amination_Rxn1.b64cdx b/api/tests/integration/tests/formats/ref/Reductive Amination_Rxn1.b64cdx new file mode 100644 index 0000000000..f88121e2e3 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/Reductive Amination_Rxn1.b64cdx @@ -0,0 +1 @@ +PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIENEWE1MIFNZU1RFTSAiaHR0cDovL3d3dy5jYW1icmlkZ2Vzb2Z0LmNvbS94bWwvY2R4bWwuZHRkIj4KPENEWE1MIEJvbmRMZW5ndGg9IjMwLjAwMDAwMCIgTGFiZWxGb250PSIzIiBDYXB0aW9uRm9udD0iNCI+CiAgICA8Zm9udHRhYmxlIGlkPSIxIj4KICAgICAgICA8Zm9udCBpZD0iMiIgY2hhcnNldD0idXRmLTgiIG5hbWU9IkFyaWFsIi8+CiAgICAgICAgPGZvbnQgaWQ9IjMiIGNoYXJzZXQ9InV0Zi04IiBuYW1lPSJUaW1lcyBOZXcgUm9tYW4iLz4KICAgIDwvZm9udHRhYmxlPgogICAgPGNvbG9ydGFibGU+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMCIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIxIiBnPSIwIiBiPSIwIi8+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjAiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMSIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIwIiBnPSIxIiBiPSIxIi8+CiAgICAgICAgPGNvbG9yIHI9IjAiIGc9IjAiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMSIgZz0iMCIgYj0iMSIvPgogICAgICAgIDxjb2xvciByPSIwLjUiIGc9IjAuNSIgYj0iMC41Ii8+CiAgICA8L2NvbG9ydGFibGU+CiAgICA8cGFnZSBIZWlnaHRQYWdlcz0iMSIgV2lkdGhQYWdlcz0iMSI+CiAgICAgICAgPGZyYWdtZW50IGlkPSI0Ij4KICAgICAgICAgICAgPG4gaWQ9IjUiIHA9IjE5Ny4xNDk5OTQgNTUuNjUwMDAyIi8+CiAgICAgICAgICAgIDxuIGlkPSI2IiBwPSIxOTcuMTQ5OTk0IDcwLjAwMDAwMCIvPgogICAgICAgICAgICA8biBpZD0iNyIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyMDkuNTgwMDAyIDQ4LjQ4MDAwMyI+CiAgICAgICAgICAgICAgICA8dCBwPSIyMDkuNTgwMDAyIDQ4LjQ4MDAwMyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjgiIHA9IjEzNS4wMTk5ODkgNzcuMTgwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSI5IiBwPSIxODQuNzI5OTk2IDQ4LjQ4MDAwMyIvPgogICAgICAgICAgICA8biBpZD0iMTAiIHA9IjE3Mi4yOTk5ODggNzAuMDAwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSIxMSIgcD0iMTcyLjI5OTk4OCA1NS42NTAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjEyIiBwPSIxNTkuODY5OTk1IDQ4LjQ4MDAwMyIvPgogICAgICAgICAgICA8biBpZD0iMTMiIHA9IjE0Ny40NDAwMDIgNTUuNjUwMDAyIi8+CiAgICAgICAgICAgIDxuIGlkPSIxNCIgcD0iMTQ3LjQ0MDAwMiA3MC4wMDAwMDAiLz4KICAgICAgICAgICAgPG4gaWQ9IjE1IiBwPSIxNTkuODY5OTk1IDc3LjE4MDAwMCIvPgogICAgICAgICAgICA8YiBpZD0iMjE3IiBCPSI1IiBFPSI2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMTgiIEI9IjkiIEU9IjUiLz4KICAgICAgICAgICAgPGIgaWQ9IjIxOSIgQj0iNSIgRT0iNyIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIyMCIgQj0iMTQiIEU9IjgiLz4KICAgICAgICAgICAgPGIgaWQ9IjIyMSIgQj0iMTEiIEU9IjkiLz4KICAgICAgICAgICAgPGIgaWQ9IjIyMiIgQj0iMTAiIEU9IjE1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMjMiIEI9IjExIiBFPSIxMCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIyNCIgQj0iMTIiIEU9IjExIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMjUiIEI9IjEzIiBFPSIxMiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIyNiIgQj0iMTQiIEU9IjEzIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMjciIEI9IjE1IiBFPSIxNCIgT3JkZXI9IjIiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iMTYiPgogICAgICAgICAgICA8biBpZD0iMTciIHA9IjMwMy42MzAwMDUgNjguMzc5OTk3Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxOCIgcD0iMzAzLjYzMDAwNSA1My45ODAwMDMiLz4KICAgICAgICAgICAgPG4gaWQ9IjE5IiBwPSIyOTEuMTYwMDA0IDQ2Ljc3OTk5OSIvPgogICAgICAgICAgICA8biBpZD0iMjAiIHA9IjI3OC42OTAwMDIgNTMuOTgwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSIyMSIgcD0iMjc4LjY5MDAwMiA2OC4zNzk5OTciLz4KICAgICAgICAgICAgPG4gaWQ9IjIyIiBwPSIyOTEuMTYwMDA0IDc1LjU4MDAwMiIvPgogICAgICAgICAgICA8biBpZD0iMjMiIHA9IjI2Ni4yMjAwMDEgNzUuNTgwMDAyIi8+CiAgICAgICAgICAgIDxuIGlkPSIyNCIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIyIiBwPSIyNTMuNzQ5OTg1IDY4LjM3OTk5NyI+CiAgICAgICAgICAgICAgICA8dCBwPSIyNTMuNzQ5OTg1IDY4LjM3OTk5NyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk5IPC9zPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSIzMiI+Mjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8YiBpZD0iMjI4IiBCPSIxNyIgRT0iMTgiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMjkiIEI9IjE4IiBFPSIxOSIvPgogICAgICAgICAgICA8YiBpZD0iMjMwIiBCPSIxOSIgRT0iMjAiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMzEiIEI9IjIwIiBFPSIyMSIvPgogICAgICAgICAgICA8YiBpZD0iMjMyIiBCPSIyMSIgRT0iMjIiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMzMiIEI9IjIyIiBFPSIxNyIvPgogICAgICAgICAgICA8YiBpZD0iMjM0IiBCPSIyMSIgRT0iMjMiLz4KICAgICAgICAgICAgPGIgaWQ9IjIzNSIgQj0iMjMiIEU9IjI0Ii8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjI1Ij4KICAgICAgICAgICAgPG4gaWQ9IjI2IiBwPSI0MzUuMjA5OTkxIDY0Ljc2OTk5NyIvPgogICAgICAgICAgICA8biBpZD0iMjciIHA9IjQzNS4yMDk5OTEgNzkuMTIwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSIyOCIgcD0iNDQ3LjYzOTk4NCA4Ni4yOTAwMDEiLz4KICAgICAgICAgICAgPG4gaWQ9IjI5IiBwPSI0NjAuMDcwMDA3IDc5LjEyMDAwMyIvPgogICAgICAgICAgICA8biBpZD0iMzAiIHA9IjQ2MC4wNzAwMDcgNjQuNzY5OTk3Ii8+CiAgICAgICAgICAgIDxuIGlkPSIzMSIgcD0iNDQ3LjYzOTk4NCA1Ny41ODk5OTYiLz4KICAgICAgICAgICAgPG4gaWQ9IjMyIiBwPSI0NzIuNDg5OTkwIDU3LjU4OTk5NiIvPgogICAgICAgICAgICA8biBpZD0iMzMiIHA9IjQyMi43Nzk5OTkgODYuMjkwMDAxIi8+CiAgICAgICAgICAgIDxuIGlkPSIzNCIgcD0iNDg0LjkxOTk4MyA2NC43Njk5OTciLz4KICAgICAgICAgICAgPG4gaWQ9IjM1IiBwPSI0ODQuOTE5OTgzIDc5LjEyMDAwMyIvPgogICAgICAgICAgICA8biBpZD0iMzYiIHA9IjUzNC42MzAwMDUgMzYuMDcwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSIzNyIgcD0iNTQ3LjA1OTk5OCA0My4yMzk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjM4IiBwPSI1NDcuMDU5OTk4IDU3LjU4OTk5NiIvPgogICAgICAgICAgICA8biBpZD0iMzkiIHA9IjUzNC42MzAwMDUgNjQuNzY5OTk3Ii8+CiAgICAgICAgICAgIDxuIGlkPSI0MCIgcD0iNTIyLjIwMDAxMiA1Ny41ODk5OTYiLz4KICAgICAgICAgICAgPG4gaWQ9IjQxIiBwPSI1MjIuMjAwMDEyIDQzLjIzOTk5OCIvPgogICAgICAgICAgICA8biBpZD0iNDIiIHA9IjUwOS43Nzk5OTkgNjQuNzY5OTk3Ii8+CiAgICAgICAgICAgIDxuIGlkPSI0MyIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIxIiBwPSI0OTcuMzQ5OTc2IDU3LjU4OTk5NiI+CiAgICAgICAgICAgICAgICA8dCBwPSI0OTcuMzQ5OTc2IDU3LjU4OTk5NiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk5IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxiIGlkPSIyMzYiIEI9IjI2IiBFPSIyNyIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIzNyIgQj0iMjciIEU9IjI4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMzgiIEI9IjI4IiBFPSIyOSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIzOSIgQj0iMjkiIEU9IjMwIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNDAiIEI9IjMwIiBFPSIzMSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI0MSIgQj0iMzEiIEU9IjI2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNDIiIEI9IjMwIiBFPSIzMiIvPgogICAgICAgICAgICA8YiBpZD0iMjQzIiBCPSIyNyIgRT0iMzMiLz4KICAgICAgICAgICAgPGIgaWQ9IjI0NCIgQj0iMzIiIEU9IjM0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNDUiIEI9IjM0IiBFPSIzNSIvPgogICAgICAgICAgICA8YiBpZD0iMjQ2IiBCPSIzNCIgRT0iNDMiLz4KICAgICAgICAgICAgPGIgaWQ9IjI0NyIgQj0iMzYiIEU9IjM3IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjQ4IiBCPSIzNyIgRT0iMzgiLz4KICAgICAgICAgICAgPGIgaWQ9IjI0OSIgQj0iMzgiIEU9IjM5IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjUwIiBCPSIzOSIgRT0iNDAiLz4KICAgICAgICAgICAgPGIgaWQ9IjI1MSIgQj0iNDAiIEU9IjQxIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjUyIiBCPSI0MSIgRT0iMzYiLz4KICAgICAgICAgICAgPGIgaWQ9IjI1MyIgQj0iNDAiIEU9IjQyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNTQiIEI9IjQyIiBFPSI0MyIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI0NCI+CiAgICAgICAgICAgIDxuIGlkPSIyNTYiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjI1NyI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjQ1IiBFbGVtZW50PSIxMSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIzNzguMTc5OTkzIDMxMS4xNDAwMTUiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIzNzguMTc5OTkzIDMxMS4xNDAwMTUiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk5hPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI0NiIgRWxlbWVudD0iMTciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMzkyLjUyOTk5OSAzMTEuMTQwMDE1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMzkyLjUyOTk5OSAzMTEuMTQwMDE1IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5DbDwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjU1IiBCPSI0NSIgRT0iNDYiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+TmE8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNDciPgogICAgICAgICAgICA8biBpZD0iMjYxIiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSIyNjIiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI0OCIgRWxlbWVudD0iNSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIzODUuNjkwMDAyIDI5Ni45NDAwMDIiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIzODUuNjkwMDAyIDI5Ni45NDAwMDIiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkI8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjQ5IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjM3My4yNjAwMTAgMzA0LjEwOTk4NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjM3My4yNjAwMTAgMzA0LjEwOTk4NSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+T0g8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjUwIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjM5OC4xMTk5OTUgMzA0LjEwOTk4NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjM5OC4xMTk5OTUgMzA0LjEwOTk4NSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+T0g8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjUxIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjM4NS42OTAwMDIgMjgyLjU4OTk5NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjM4NS42OTAwMDIgMjgyLjU4OTk5NiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+T0g8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI1OCIgQj0iNDgiIEU9IjQ5Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI1OSIgQj0iNDgiIEU9IjUwIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI2MCIgQj0iNDgiIEU9IjUxIi8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPkIoPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjUyIj4KICAgICAgICAgICAgPG4gaWQ9IjI2NyIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iMjY4Ij4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNTMiIEVsZW1lbnQ9IjExIiBOdW1IeWRyb2dlbnM9IjAiIHA9IjU0MC41NzAwMDcgNTA3LjAxMDAxMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjU0MC41NzAwMDcgNTA3LjAxMDAxMCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+TmE8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjU0IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjUyOC4xNDAwMTUgNTE0LjE3OTk5MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjUyOC4xNDAwMTUgNTE0LjE3OTk5MyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNTUiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNTE1LjcxMDAyMiA0OTIuNjU5OTczIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iNTE1LjcxMDAyMiA0OTIuNjU5OTczIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI1NiIgcD0iNTE1LjcxMDAyMiA1MDcuMDEwMDEwIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjU3IiBwPSI1MDMuMjg5OTc4IDUxNC4xNzk5OTMiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjYzIiBCPSI1NiIgRT0iNTciLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjY0IiBCPSI1NSIgRT0iNTYiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI2NSIgQj0iNTQiIEU9IjU2Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI2NiIgQj0iNTMiIEU9IjU0Ii8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPk5hT0FjPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjU4Ij4KICAgICAgICAgICAgPG4gaWQ9IjU5IiBwPSIyMTYuNjk5OTk3IDM2MS41MDAwMDAiLz4KICAgICAgICAgICAgPG4gaWQ9IjYwIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjIyOS4xNjk5OTggMzU0LjI5OTk4OCI+CiAgICAgICAgICAgICAgICA8dCBwPSIyMjkuMTY5OTk4IDM1NC4yOTk5ODgiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PSDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8YiBpZD0iMjY5IiBCPSI1OSIgRT0iNjAiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNjEiPgogICAgICAgICAgICA8biBpZD0iMjcxIiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSIyNzIiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI2MiIgcD0iODEuODEwMDA1IDExOC41ODAwMDIiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNjMiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMSIgcD0iOTYuMTYwMDA0IDExOC41ODAwMDIiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSI5Ni4xNjAwMDQgMTE4LjU4MDAwMiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+T0g8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI3MCIgQj0iNjIiIEU9IjYzIi8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPk1lT0g8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNjQiPgogICAgICAgICAgICA8biBpZD0iNjUiIHA9IjI5NS4yNzk5OTkgMzYxLjUwMDAwMCIvPgogICAgICAgICAgICA8biBpZD0iNjYiIEVsZW1lbnQ9IjE3IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjMwNy43NTAwMDAgMzU0LjI5OTk4OCI+CiAgICAgICAgICAgICAgICA8dCBwPSIzMDcuNzUwMDAwIDM1NC4yOTk5ODgiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5DbDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNjciIEVsZW1lbnQ9IjE3IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjI4Mi43OTk5ODggMzU0LjI5OTk4OCI+CiAgICAgICAgICAgICAgICA8dCBwPSIyODIuNzk5OTg4IDM1NC4yOTk5ODgiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5DbDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8YiBpZD0iMjczIiBCPSI2NSIgRT0iNjYiLz4KICAgICAgICAgICAgPGIgaWQ9IjI3NCIgQj0iNjUiIEU9IjY3Ii8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjY4Ij4KICAgICAgICAgICAgPG4gaWQ9IjI3NyIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iMjc4Ij4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNjkiIEVsZW1lbnQ9IjEiIElzb3RvcGU9IjIiIHA9IjI3NC45ODk5OTAgMzAxLjg2OTk5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjI3NC45ODk5OTAgMzAxLjg2OTk5NSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+SDwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNzAiIHA9IjI4Ny40MTk5ODMgMjk0LjY5MDAwMiIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIyNzkiIE5vZGVUeXBlPSJFeHRlcm5hbENvbm5lY3Rpb25Qb2ludCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyNzYiIEI9IjY5IiBFPSI3MCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyODEiIEI9IjI3OSIgRT0iNzAiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+RENNPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI3MSIgTm9kZVR5cGU9IkdlbmVyaWNOaWNrbmFtZSIgR2VuZXJpY05pY2tuYW1lPSJNIiBwPSIyOTkuODUwMDA2IDMwMS44Njk5OTUiPgogICAgICAgICAgICAgICAgPHQgcD0iMjk5Ljg1MDAwNiAzMDEuODY5OTk1IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+TTwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8YiBpZD0iMjgwIiBCPSI3MSIgRT0iMjc3Ii8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjcyIj4KICAgICAgICAgICAgPG4gaWQ9IjI4NSIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iMjg2Ij4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNzMiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMSIgcD0iMTQ5LjY5OTk5NyAyODYuNTQwMDA5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMTQ5LjY5OTk5NyAyODYuNTQwMDA5IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PSDwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNzQiIHA9IjEzNy4yNjk5ODkgMjc5LjM2OTk5NSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI3NSIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxMzcuMjY5OTg5IDI2NS4wMTk5ODkiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIxMzcuMjY5OTg5IDI2NS4wMTk5ODkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijc2IiBwPSIxMjQuODQwMDA0IDI4Ni41NDAwMDkiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjgyIiBCPSI3NCIgRT0iNzYiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjgzIiBCPSI3NCIgRT0iNzUiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI4NCIgQj0iNzMiIEU9Ijc0Ii8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPkFjT0g8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNzciPgogICAgICAgICAgICA8biBpZD0iNzgiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iOTAuMTM5OTk5IDM4OC43OTk5ODgiPgogICAgICAgICAgICAgICAgPHQgcD0iOTAuMTM5OTk5IDM4OC43OTk5ODgiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI3OSIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSI2OC43ODAwMDYgNDAxLjUwMDAwMCI+CiAgICAgICAgICAgICAgICA8dCBwPSI2OC43ODAwMDYgNDAxLjUwMDAwMCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjgwIiBwPSI4My4xMzAwMDUgNDAxLjMyMDAwNyIvPgogICAgICAgICAgICA8biBpZD0iODEiIHA9IjkwLjQ1OTk5OSA0MTMuNjQ5OTk0Ii8+CiAgICAgICAgICAgIDxuIGlkPSI4MiIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSI2OC40NTk5OTkgMzc2LjY0OTk5NCI+CiAgICAgICAgICAgICAgICA8dCBwPSI2OC40NTk5OTkgMzc2LjY0OTk5NCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjgzIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjY4LjEzMDAwNSAzNTEuNzk5OTg4Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjY4LjEzMDAwNSAzNTEuNzk5OTg4IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iODQiIHA9IjYxLjExOTk5OSAzNjQuMzIwMDA3Ii8+CiAgICAgICAgICAgIDxuIGlkPSI4NSIgcD0iNDYuNzcwMDAwIDM2NC41MDAwMDAiLz4KICAgICAgICAgICAgPG4gaWQ9Ijg2IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9Ijg5LjgyMDAwMCAzNjMuOTUwMDEyIj4KICAgICAgICAgICAgICAgIDx0IHA9Ijg5LjgyMDAwMCAzNjMuOTUwMDEyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iODciIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTExLjE4MDAwMCAzNTEuMjM5OTkwIj4KICAgICAgICAgICAgICAgIDx0IHA9IjExMS4xODAwMDAgMzUxLjIzOTk5MCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9Ijg4IiBwPSIxMDQuMTcwMDA2IDM2My43NjAwMTAiLz4KICAgICAgICAgICAgPG4gaWQ9Ijg5IiBwPSIxMTEuNTAwMDAwIDM3Ni4wODk5OTYiLz4KICAgICAgICAgICAgPG4gaWQ9IjkwIiBFbGVtZW50PSI1IiBDaGFyZ2U9Ii0xIiBOdW1IeWRyb2dlbnM9IjEiIHA9IjgyLjgwMDAwMyAzNzYuNDU5OTkxIj4KICAgICAgICAgICAgICAgIDx0IHA9IjgyLjgwMDAwMyAzNzYuNDU5OTkxIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Qkg8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjkxIiBFbGVtZW50PSIxMSIgQ2hhcmdlPSIxIiBOdW1IeWRyb2dlbnM9IjAiIHA9IjY4LjIyMDAwMSAzODguMzU5OTg1Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjY4LjIyMDAwMSAzODguMzU5OTg1IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+TmE8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPGIgaWQ9IjI4NyIgQj0iNzgiIEU9IjgwIi8+CiAgICAgICAgICAgIDxiIGlkPSIyODgiIEI9Ijc5IiBFPSI4MCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI4OSIgQj0iODAiIEU9IjgxIi8+CiAgICAgICAgICAgIDxiIGlkPSIyOTAiIEI9IjgyIiBFPSI4NCIvPgogICAgICAgICAgICA8YiBpZD0iMjkxIiBCPSI4MyIgRT0iODQiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyOTIiIEI9Ijg0IiBFPSI4NSIvPgogICAgICAgICAgICA8YiBpZD0iMjkzIiBCPSI4NiIgRT0iODgiLz4KICAgICAgICAgICAgPGIgaWQ9IjI5NCIgQj0iODciIEU9Ijg4IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjk1IiBCPSI4OCIgRT0iODkiLz4KICAgICAgICAgICAgPGIgaWQ9IjI5NiIgQj0iOTAiIEU9Ijc4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyOTciIEI9IjkwIiBFPSI4NiIvPgogICAgICAgICAgICA8YiBpZD0iMjk4IiBCPSI5MCIgRT0iODIiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iOTIiPgogICAgICAgICAgICA8biBpZD0iOTMiIHA9IjE2Ni4zMzAwMDIgMzY1Ljg5MDAxNSIvPgogICAgICAgICAgICA8biBpZD0iOTQiIHA9IjE1My44NjAwMDEgMzczLjA4OTk5NiIvPgogICAgICAgICAgICA8biBpZD0iOTUiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTY2LjMzMDAwMiAzNTEuNDg5OTkwIj4KICAgICAgICAgICAgICAgIDx0IHA9IjE2Ni4zMzAwMDIgMzUxLjQ4OTk5MCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9Ijk2IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjE3OC43OTk5ODggMzczLjA4OTk5NiI+CiAgICAgICAgICAgICAgICA8dCBwPSIxNzguNzk5OTg4IDM3My4wODk5OTYiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PSDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8YiBpZD0iMjk5IiBCPSI5MyIgRT0iOTQiLz4KICAgICAgICAgICAgPGIgaWQ9IjMwMCIgQj0iOTMiIEU9Ijk1IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzAxIiBCPSI5MyIgRT0iOTYiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDx0IGlkPSI5NyIgcD0iMzYxLjM1MDAwNiA0Mi4xMDUwMDMiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjIuMCBlcXVpdjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9Ijk3IiBwPSIzNjEuMzUwMDA2IDQyLjEwNTAwMyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+IFNUQUI8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMDAiIHA9IjM2MS4zNTUwMTEgODkuNzI0OTk4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5NZU9IL0RDTTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEwMyIgcD0iMzYxLjM1MDAwNiAxMDYuMDQ5OTk1IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5ydCwgNCBocnM8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMDYiIHA9IjM2MS4zNTAwMDYgMTIzLjMxNTAxMCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+MC4yIE0gaW4gbGltaXRpbmc8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMDkiIHA9IjM2MS4zNTQ5ODAgNTkuNzA5OTk5IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4xLjAgZXF1aXY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMDkiIHA9IjM2MS4zNTQ5ODAgNTkuNzA5OTk5IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4gQWNPSDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjExMiIgcD0iMTExLjg1NDk5NiA1Ljg0NDk5OSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxNiIgZmFjZT0iMiI+UmVkdWN0aXZlIEFtaW5hdGlvbiBSeG4xPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTE1IiBwPSIxNzMuOTQwMDAyIDk4LjQ0MDAwMiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj4xLSg8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMTUiIHA9IjE3My45NDAwMDIgOTguNDQwMDAyIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjMiPnA8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMTUiIHA9IjE3My45NDAwMDIgOTguNDQwMDAyIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjMiPi10b2x5bClwcm9wYW4tMi1vbmU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMTgiIHA9IjE2Ny4xOTAwMDIgMTA5LjU3MDAwMCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj4yMDk2LTg2LTg8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMjEiIHA9IjI3MS43NDQ5OTUgOTguMzg1MDAyIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPkJlbnp5bGFtaW5lPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTI0IiBwPSIyNzEuNzQ0OTk1IDEwOS41NzAwMDAiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+MTAwLTQ2LTk8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMjciIHA9IjE2Ny4xOTAwMDIgMTMwLjkwMDAwOSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+MS4wIGVxdWl2PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTMwIiBwPSIyNzEuNzQwMDIxIDEzMC45MDAwMDkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjEuMSBlcXVpdjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEzMyIgcD0iMTY3LjE5NDk5MiAxNDYuMDk5OTkxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bY2FyYm9ueWxdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTM2IiBwPSIyNzEuNzQwMDIxIDE0Ni4xNjQ5OTMiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPlthbWluZV08L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMzkiIHA9IjQ4NC45OTk5NjkgMTQ2LjE2NDk5MyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2Rlc2lyZWQgcHJvZHVjdF08L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNDIiIHA9IjM4My42MTk5OTUgMjc0LjIyMDAwMSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2J5cHJvZHVjdHNdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTQ1IiBwPSIyMC44MzQ5OTkgMjg0LjIyMDAwMSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMSI+S2V5PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8Z3JhcGhpYyBpZD0iMTQ4IiBCb3VuZGluZ0JveD0iMC44MDAwMDAgNDg5LjI0OTk2OSAzNDMuNjYwMDA0IDI2Ny45NTAwMTIiIEdyYXBoaWNUeXBlPSJSZWN0YW5nbGUiLz4KICAgICAgICA8Z3JhcGhpYyBpZD0iMTUxIiBCb3VuZGluZ0JveD0iMjI1LjUzOTk5MyA2NC45MjUwMDMgMjI1LjUzOTk5MyA1Ny40MjQ5OTkiIEdyYXBoaWNUeXBlPSJTeW1ib2wiIFN5bWJvbFR5cGU9IlBsdXMiLz4KICAgICAgICA8dCBpZD0iMTU0IiBwPSI0ODQuOTk0OTk1IDk4LjQ0MDAwMiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIzIj5OPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTU0IiBwPSI0ODQuOTk0OTk1IDk4LjQ0MDAwMiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIzIj4tYmVuenlsLTEtKDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE1NCIgcD0iNDg0Ljk5NDk5NSA5OC40NDAwMDIiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+cDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE1NCIgcD0iNDg0Ljk5NDk5NSA5OC40NDAwMDIiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+LXRvbHlsKXByb3Bhbi0yLWFtaW5lPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTU3IiBwPSIyMjguMDA0OTkwIDMxNS4yNDUwMjYiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+bWV0aGFub2w8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNjAiIHA9IjIyOC4wMTQ5OTkgMzMzLjg1MDAzNyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj42Ny01Ni0xPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTYzIiBwPSIyMjguMDE0OTk5IDM5NC40MTQ5NzgiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltzb2x2ZW50XTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE2NiIgcD0iMjI4LjAxNDk5OSAzNzYuNjY5OTgzIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPk1XIDMyLjA0PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTY5IiBwPSIyOTMuOTI0OTg4IDMxNS4yNDUwMjYiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+ZGljaGxvcm9tZXRoYW5lPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTcyIiBwPSIyOTMuOTI5OTkzIDMzMy44NTAwMzciIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+NzUtMDktMjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE3NSIgcD0iMjkzLjkyNTAxOCAzOTQuNDE0OTc4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bc29sdmVudF08L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNzgiIHA9IjI5My45MTk5ODMgMzc2LjY2OTk4MyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj5NVyA4NC45Mzwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE4MSIgcD0iNDg0Ljk5NDk5NSAxMDkuNTcwMDAwIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjQzMjI5LTYxLTQ8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxODQiIHA9IjgwLjcwMDAwNSAyOTguMjc5OTk5IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPlNUQUI8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxODciIHA9IjgwLjY4OTk5NSAzMTYuMTM1MDEwIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPnNvZGl1bSB0cmlhY2V0b3h5Ym9yb2h5ZHJpZGU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxOTAiIHA9IjgwLjY5MDAwMiAzMzMuODUwMDM3IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjU2NTUzLTYwLTc8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxOTMiIHA9IjgwLjY5NDk5MiA0MjcuNDQ5OTgyIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPk1XIDIxMS45NDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE5NiIgcD0iODAuNzAwMDA1IDQ0NS42NjQ5NzgiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltkZXNpcmVkIHByb2R1Y3RdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTk5IiBwPSIxNzEuNDA0OTk5IDMzMy44NTAwMzciIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+NjQtMTktNzwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIwMiIgcD0iMTcxLjQxNDk5MyAzMTUuMjQ1MDI2IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPmFjaWQgYWNpZDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIwNSIgcD0iMTcxLjQwNDk5OSA0MDkuNDE0OTc4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bYWRkaXRpdmVdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjA4IiBwPSIxNzEuNDE0OTc4IDM5MC44NTAwMDYiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+TVcgNjAuMDU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDxhcnJvdyBpZD0iMjExIiBCb3VuZGluZ0JveD0iNDI2LjYxOTk5NSAzNjIuNzYwMDEwIDQyNi42MTk5OTUgMjg0LjUwMDAwMCIgRmlsbFR5cGU9Ik5vbmUiIEFycm93aGVhZFR5cGU9IlNvbGlkIiBIZWFkU2l6ZT0iMjI1MCIgQXJyb3doZWFkV2lkdGg9IjU2MyIgQXJyb3doZWFkSGVhZD0iRnVsbCIgQXJyb3doZWFkQ2VudGVyU2l6ZT0iMjUiIEhlYWQzRD0iNDI2LjYxOTk5NSAzNjIuNzYwMDEwIDAuMDAwMDAwIiBUYWlsM0Q9IjQyNi42MTk5OTUgMjg0LjUwMDAwMCAwLjAwMDAwMCIvPgogICAgICAgIDxhcnJvdyBpZD0iMjE0IiBCb3VuZGluZ0JveD0iNDA2LjYwMDAwNiA3NS40MzAwMDAgMzE2LjEwMDAwNiA3NS40MzAwMDAiIEZpbGxUeXBlPSJOb25lIiBBcnJvd2hlYWRUeXBlPSJTb2xpZCIgSGVhZFNpemU9IjIyNTAiIEFycm93aGVhZFdpZHRoPSI1NjMiIEFycm93aGVhZEhlYWQ9IkZ1bGwiIEFycm93aGVhZENlbnRlclNpemU9IjI1IiBIZWFkM0Q9IjQwNi42MDAwMDYgNzUuNDMwMDAwIDAuMDAwMDAwIiBUYWlsM0Q9IjMxNi4xMDAwMDYgNzUuNDMwMDAwIDAuMDAwMDAwIi8+CiAgICAgICAgPHNjaGVtZT4KICAgICAgICAgICAgPHN0ZXAgUmVhY3Rpb25TdGVwQXJyb3dzPSIyMTEiLz4KICAgICAgICAgICAgPHN0ZXAgUmVhY3Rpb25TdGVwQXJyb3dzPSIyMTQiLz4KICAgICAgICA8L3NjaGVtZT4KICAgIDwvcGFnZT4KPC9DRFhNTD4K \ No newline at end of file diff --git a/api/tests/integration/tests/formats/ref/Reductive Amination_Rxn1.cdxml b/api/tests/integration/tests/formats/ref/Reductive Amination_Rxn1.cdxml new file mode 100644 index 0000000000..7dcb9e4b90 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/Reductive Amination_Rxn1.cdxml @@ -0,0 +1,499 @@ + + + + + + + + + + + + + + + + + + + + + + + + + O + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NH + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NH + + + + + + + + + + + + + + + + + + + + + + + + + + + + Na + + + + + Cl + + + + + + Na + + + + + + + + + B + + + + + OH + + + + + OH + + + + + OH + + + + + + + + B( + + + + + + + + + Na + + + + + O + + + + + O + + + + + + + + + + + NaOAc + + + + + + + + OH + + + + + + + + + + + OH + + + + + + MeOH + + + + + + + + Cl + + + + + Cl + + + + + + + + + + + H + + + + + + + + + DCM + + + + + M + + + + + + + + + + OH + + + + + + O + + + + + + + + + AcOH + + + + + + + O + + + + + O + + + + + + + O + + + + + O + + + + + + + O + + + + + O + + + + + + + BH + + + + + Na + + + + + + + + + + + + + + + + + + + + + O + + + + + OH + + + + + + + + 2.0 equiv + + + STAB + + + MeOH/DCM + + + rt, 4 hrs + + + 0.2 M in limiting + + + 1.0 equiv + + + AcOH + + + Reductive Amination Rxn1 + + + 1-( + + + p + + + -tolyl)propan-2-one + + + 2096-86-8 + + + Benzylamine + + + 100-46-9 + + + 1.0 equiv + + + 1.1 equiv + + + [carbonyl] + + + [amine] + + + [desired product] + + + [byproducts] + + + Key + + + + + N + + + -benzyl-1-( + + + p + + + -tolyl)propan-2-amine + + + methanol + + + 67-56-1 + + + [solvent] + + + MW 32.04 + + + dichloromethane + + + 75-09-2 + + + [solvent] + + + MW 84.93 + + + 43229-61-4 + + + STAB + + + sodium triacetoxyborohydride + + + 56553-60-7 + + + MW 211.94 + + + [desired product] + + + 64-19-7 + + + acid acid + + + [additive] + + + MW 60.05 + + + + + + + + + diff --git a/api/tests/integration/tests/formats/ref/Reductive Amination_Rxn2.b64cdx b/api/tests/integration/tests/formats/ref/Reductive Amination_Rxn2.b64cdx new file mode 100644 index 0000000000..d63a9760a5 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/Reductive Amination_Rxn2.b64cdx @@ -0,0 +1 @@ +PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIENEWE1MIFNZU1RFTSAiaHR0cDovL3d3dy5jYW1icmlkZ2Vzb2Z0LmNvbS94bWwvY2R4bWwuZHRkIj4KPENEWE1MIEJvbmRMZW5ndGg9IjMwLjAwMDAwMCIgTGFiZWxGb250PSIzIiBDYXB0aW9uRm9udD0iNCI+CiAgICA8Zm9udHRhYmxlIGlkPSIxIj4KICAgICAgICA8Zm9udCBpZD0iMiIgY2hhcnNldD0idXRmLTgiIG5hbWU9IkFyaWFsIi8+CiAgICAgICAgPGZvbnQgaWQ9IjMiIGNoYXJzZXQ9InV0Zi04IiBuYW1lPSJUaW1lcyBOZXcgUm9tYW4iLz4KICAgIDwvZm9udHRhYmxlPgogICAgPGNvbG9ydGFibGU+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMCIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIxIiBnPSIwIiBiPSIwIi8+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjAiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMSIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIwIiBnPSIxIiBiPSIxIi8+CiAgICAgICAgPGNvbG9yIHI9IjAiIGc9IjAiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMSIgZz0iMCIgYj0iMSIvPgogICAgICAgIDxjb2xvciByPSIwLjUiIGc9IjAuNSIgYj0iMC41Ii8+CiAgICA8L2NvbG9ydGFibGU+CiAgICA8cGFnZSBIZWlnaHRQYWdlcz0iMSIgV2lkdGhQYWdlcz0iMSI+CiAgICAgICAgPGZyYWdtZW50IGlkPSI0Ij4KICAgICAgICAgICAgPG4gaWQ9IjUiIHA9IjE3Mi42MDAwMDYgODEuNDcwMDAxIi8+CiAgICAgICAgICAgIDxuIGlkPSI2IiBwPSIxODUuMDcwMDA3IDc0LjI2OTk5NyIvPgogICAgICAgICAgICA8biBpZD0iNyIgcD0iMTk3LjUzOTk5MyA4MS40NzAwMDEiLz4KICAgICAgICAgICAgPG4gaWQ9IjgiIHA9IjE4NS4wNzAwMDcgNTkuODcwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSI5IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjE3Mi42MDAwMDYgNTIuNjY5OTk4Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjE3Mi42MDAwMDYgNTIuNjY5OTk4IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMTAiIEVsZW1lbnQ9IjEiIHA9IjE5Ny41Mzk5OTMgNTIuNjY5OTk4Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjE5Ny41Mzk5OTMgNTIuNjY5OTk4IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+SDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMTEiIHA9IjE2MC4xMzAwMDUgNzQuMjY5OTk3Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMiIgcD0iMTQ3LjY2MDAwNCA4MS40NzAwMDEiLz4KICAgICAgICAgICAgPG4gaWQ9IjEzIiBwPSIxNDcuNjYwMDA0IDk1Ljg3MDAwMyIvPgogICAgICAgICAgICA8biBpZD0iMTQiIHA9IjE2MC4xMzAwMDUgMTAzLjA3MDAwNyIvPgogICAgICAgICAgICA8biBpZD0iMTUiIHA9IjE3Mi42MDAwMDYgOTUuODcwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSIxNiIgcD0iMTk3LjUzOTk5MyA5NS44NzAwMDMiLz4KICAgICAgICAgICAgPG4gaWQ9IjE3IiBwPSIyMTAuMDA5OTk1IDEwMy4wNzAwMDciLz4KICAgICAgICAgICAgPG4gaWQ9IjE4IiBwPSIyMjIuNDc5OTk2IDk1Ljg3MDAwMyIvPgogICAgICAgICAgICA8biBpZD0iMTkiIHA9IjIyMi40Nzk5OTYgODEuNDcwMDAxIi8+CiAgICAgICAgICAgIDxuIGlkPSIyMCIgcD0iMjEwLjAwOTk5NSA3NC4yNjk5OTciLz4KICAgICAgICAgICAgPGIgaWQ9IjIyMiIgQj0iNSIgRT0iNiIvPgogICAgICAgICAgICA8YiBpZD0iMjIzIiBCPSI2IiBFPSI3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMjQiIEI9IjYiIEU9IjgiLz4KICAgICAgICAgICAgPGIgaWQ9IjIyNSIgQj0iOCIgRT0iOSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIyNiIgQj0iOCIgRT0iMTAiLz4KICAgICAgICAgICAgPGIgaWQ9IjIyNyIgQj0iNSIgRT0iMTEiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMjgiIEI9IjExIiBFPSIxMiIvPgogICAgICAgICAgICA8YiBpZD0iMjI5IiBCPSIxMiIgRT0iMTMiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMzAiIEI9IjEzIiBFPSIxNCIvPgogICAgICAgICAgICA8YiBpZD0iMjMxIiBCPSIxNCIgRT0iMTUiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMzIiIEI9IjE1IiBFPSI1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMzMiIEI9IjciIEU9IjE2IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjM0IiBCPSIxNiIgRT0iMTciLz4KICAgICAgICAgICAgPGIgaWQ9IjIzNSIgQj0iMTciIEU9IjE4IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjM2IiBCPSIxOCIgRT0iMTkiLz4KICAgICAgICAgICAgPGIgaWQ9IjIzNyIgQj0iMTkiIEU9IjIwIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjM4IiBCPSIyMCIgRT0iNyIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSIyMSI+CiAgICAgICAgICAgIDxuIGlkPSIyMiIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIxIiBwPSIyNzYuODQ5OTc2IDg2LjQ3MDAwMSI+CiAgICAgICAgICAgICAgICA8dCBwPSIyNzYuODQ5OTc2IDg2LjQ3MDAwMSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk5IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIyMyIgcD0iMjY0LjM3OTk3NCA3OS4yNjk5OTciLz4KICAgICAgICAgICAgPG4gaWQ9IjI0IiBwPSIyNjQuMzg5OTg0IDY0Ljg3MDAwMyIvPgogICAgICAgICAgICA8biBpZD0iMjUiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjc2Ljg2OTk5NSA1Ny42Njk5OTgiPgogICAgICAgICAgICAgICAgPHQgcD0iMjc2Ljg2OTk5NSA1Ny42Njk5OTgiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIyNiIgcD0iMjg5LjMyOTk4NyA2NC44Nzk5OTciLz4KICAgICAgICAgICAgPG4gaWQ9IjI3IiBwPSIyODkuMzI5OTg3IDc5LjI3OTk5OSIvPgogICAgICAgICAgICA8YiBpZD0iMjM5IiBCPSIyMiIgRT0iMjMiLz4KICAgICAgICAgICAgPGIgaWQ9IjI0MCIgQj0iMjMiIEU9IjI0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNDEiIEI9IjI0IiBFPSIyNSIvPgogICAgICAgICAgICA8YiBpZD0iMjQyIiBCPSIyNSIgRT0iMjYiLz4KICAgICAgICAgICAgPGIgaWQ9IjI0MyIgQj0iMjYiIEU9IjI3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNDQiIEI9IjIyIiBFPSIyNyIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSIyOCI+CiAgICAgICAgICAgIDxuIGlkPSIyOSIgcD0iNDcyLjQ3OTk4MCA5MC42MjAwMDMiLz4KICAgICAgICAgICAgPG4gaWQ9IjMwIiBwPSI0ODQuOTQ5OTgyIDgzLjQxOTk5OCIvPgogICAgICAgICAgICA8biBpZD0iMzEiIHA9IjQ5Ny40MTk5ODMgOTAuNjIwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSIzMiIgcD0iNDg0Ljk0OTk4MiA2OS4wMTk5OTciLz4KICAgICAgICAgICAgPG4gaWQ9IjMzIiBwPSI0NjAuMDA5OTc5IDgzLjQxOTk5OCIvPgogICAgICAgICAgICA8biBpZD0iMzQiIHA9IjQ0Ny41Mzk5NzggOTAuNjIwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSIzNSIgcD0iNDQ3LjUzOTk3OCAxMDUuMDIwMDA0Ii8+CiAgICAgICAgICAgIDxuIGlkPSIzNiIgcD0iNDYwLjAwOTk3OSAxMTIuMjIwMDAxIi8+CiAgICAgICAgICAgIDxuIGlkPSIzNyIgcD0iNDcyLjQ3OTk4MCAxMDUuMDIwMDA0Ii8+CiAgICAgICAgICAgIDxuIGlkPSIzOCIgcD0iNDk3LjQxOTk4MyAxMDUuMDIwMDA0Ii8+CiAgICAgICAgICAgIDxuIGlkPSIzOSIgcD0iNTA5Ljg5MDAxNSAxMTIuMjIwMDAxIi8+CiAgICAgICAgICAgIDxuIGlkPSI0MCIgcD0iNTIyLjM1OTk4NSAxMDUuMDIwMDA0Ii8+CiAgICAgICAgICAgIDxuIGlkPSI0MSIgcD0iNTIyLjM1OTk4NSA5MC42MjAwMDMiLz4KICAgICAgICAgICAgPG4gaWQ9IjQyIiBwPSI1MDkuODkwMDE1IDgzLjQxOTk5OCIvPgogICAgICAgICAgICA8biBpZD0iNDMiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNDcyLjQ3OTk4MCA2MS44MTk5OTYiPgogICAgICAgICAgICAgICAgPHQgcD0iNDcyLjQ3OTk4MCA2MS44MTk5OTYiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI0NCIgcD0iNDYwLjAwOTk3OSA2OS4wMTk5OTciLz4KICAgICAgICAgICAgPG4gaWQ9IjQ1IiBwPSI0NDcuNTM5OTc4IDYxLjgwOTk5OCIvPgogICAgICAgICAgICA8biBpZD0iNDYiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNDQ3LjU0OTk4OCA0Ny40MDAwMDIiPgogICAgICAgICAgICAgICAgPHQgcD0iNDQ3LjU0OTk4OCA0Ny40MDAwMDIiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI0NyIgcD0iNDYwLjAxOTk4OSA0MC4yMjAwMDEiLz4KICAgICAgICAgICAgPG4gaWQ9IjQ4IiBwPSI0NzIuNDg5OTkwIDQ3LjQxOTk5OCIvPgogICAgICAgICAgICA8YiBpZD0iMjQ1IiBCPSIyOSIgRT0iMzAiLz4KICAgICAgICAgICAgPGIgaWQ9IjI0NiIgQj0iMzAiIEU9IjMxIi8+CiAgICAgICAgICAgIDxiIGlkPSIyNDciIEI9IjMwIiBFPSIzMiIvPgogICAgICAgICAgICA8YiBpZD0iMjQ4IiBCPSIzMiIgRT0iNDMiLz4KICAgICAgICAgICAgPGIgaWQ9IjI0OSIgQj0iMjkiIEU9IjMzIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjUwIiBCPSIzMyIgRT0iMzQiLz4KICAgICAgICAgICAgPGIgaWQ9IjI1MSIgQj0iMzQiIEU9IjM1IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjUyIiBCPSIzNSIgRT0iMzYiLz4KICAgICAgICAgICAgPGIgaWQ9IjI1MyIgQj0iMzYiIEU9IjM3IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjU0IiBCPSIzNyIgRT0iMjkiLz4KICAgICAgICAgICAgPGIgaWQ9IjI1NSIgQj0iMzEiIEU9IjM4IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjU2IiBCPSIzOCIgRT0iMzkiLz4KICAgICAgICAgICAgPGIgaWQ9IjI1NyIgQj0iMzkiIEU9IjQwIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjU4IiBCPSI0MCIgRT0iNDEiLz4KICAgICAgICAgICAgPGIgaWQ9IjI1OSIgQj0iNDEiIEU9IjQyIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjYwIiBCPSI0MiIgRT0iMzEiLz4KICAgICAgICAgICAgPGIgaWQ9IjI2MSIgQj0iNDMiIEU9IjQ0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNjIiIEI9IjQ0IiBFPSI0NSIvPgogICAgICAgICAgICA8YiBpZD0iMjYzIiBCPSI0NSIgRT0iNDYiLz4KICAgICAgICAgICAgPGIgaWQ9IjI2NCIgQj0iNDYiIEU9IjQ3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNjUiIEI9IjQ3IiBFPSI0OCIvPgogICAgICAgICAgICA8YiBpZD0iMjY2IiBCPSI0MyIgRT0iNDgiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNDkiPgogICAgICAgICAgICA8biBpZD0iNTAiIHA9IjIxNi42OTAwMDIgMzY2LjUwMDAwMCIvPgogICAgICAgICAgICA8biBpZD0iNTEiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMSIgcD0iMjI5LjE2MDAwNCAzNTkuMjk5OTg4Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjIyOS4xNjAwMDQgMzU5LjI5OTk4OCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk9IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxiIGlkPSIyNjciIEI9IjUwIiBFPSI1MSIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI1MiI+CiAgICAgICAgICAgIDxuIGlkPSIyNjkiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjI3MCI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjUzIiBwPSI4MS44MDAwMDMgMTIzLjU4MDAwMiIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI1NCIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIxIiBwPSI5Ni4xNTAwMDIgMTIzLjU4MDAwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9Ijk2LjE1MDAwMiAxMjMuNTgwMDAyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PSDwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjY4IiBCPSI1MyIgRT0iNTQiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+TWVPSDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI1NSI+CiAgICAgICAgICAgIDxuIGlkPSI1NiIgcD0iMjk1LjI2OTk4OSAzNjYuNTAwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSI1NyIgRWxlbWVudD0iMTciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMzA3LjczOTk5MCAzNTkuMjk5OTg4Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjMwNy43Mzk5OTAgMzU5LjI5OTk4OCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkNsPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI1OCIgRWxlbWVudD0iMTciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjgyLjc4OTk3OCAzNTkuMjk5OTg4Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjI4Mi43ODk5NzggMzU5LjI5OTk4OCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkNsPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxiIGlkPSIyNzEiIEI9IjU2IiBFPSI1NyIvPgogICAgICAgICAgICA8YiBpZD0iMjcyIiBCPSI1NiIgRT0iNTgiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNTkiPgogICAgICAgICAgICA8biBpZD0iMjc1IiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSIyNzYiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI2MCIgRWxlbWVudD0iMSIgSXNvdG9wZT0iMiIgcD0iMjc0Ljk3OTk4MCAzMDYuODY5OTk1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMjc0Ljk3OTk4MCAzMDYuODY5OTk1IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5IPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI2MSIgcD0iMjg3LjQwOTk3MyAyOTkuNjkwMDAyIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjI3NyIgTm9kZVR5cGU9IkV4dGVybmFsQ29ubmVjdGlvblBvaW50Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI3NCIgQj0iNjAiIEU9IjYxIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI3OSIgQj0iMjc3IiBFPSI2MSIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5EQ008L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjYyIiBOb2RlVHlwZT0iR2VuZXJpY05pY2tuYW1lIiBHZW5lcmljTmlja25hbWU9Ik0iIHA9IjI5OS44Mzk5OTYgMzA2Ljg2OTk5NSI+CiAgICAgICAgICAgICAgICA8dCBwPSIyOTkuODM5OTk2IDMwNi44Njk5OTUiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5NPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxiIGlkPSIyNzgiIEI9IjYyIiBFPSIyNzUiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNjMiPgogICAgICAgICAgICA8biBpZD0iMjgzIiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSIyODQiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI2NCIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIxIiBwPSIxNDkuNjkwMDAyIDI5MS41NDAwMDkiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIxNDkuNjkwMDAyIDI5MS41NDAwMDkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk9IPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI2NSIgcD0iMTM3LjI1OTk5NSAyODQuMzY5OTk1Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjY2IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjEzNy4yNTk5OTUgMjcwLjAxOTk4OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjEzNy4yNTk5OTUgMjcwLjAxOTk4OSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNjciIHA9IjEyNC44MzAwMDkgMjkxLjU0MDAwOSIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyODAiIEI9IjY1IiBFPSI2NyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyODEiIEI9IjY1IiBFPSI2NiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjgyIiBCPSI2NCIgRT0iNjUiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+QWNPSDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI2OCI+CiAgICAgICAgICAgIDxuIGlkPSI2OSIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSI5MC4xMjk5OTcgMzkzLjc5OTk4OCI+CiAgICAgICAgICAgICAgICA8dCBwPSI5MC4xMjk5OTcgMzkzLjc5OTk4OCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjcwIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjY4Ljc3MDAwNCA0MDYuNTAwMDAwIj4KICAgICAgICAgICAgICAgIDx0IHA9IjY4Ljc3MDAwNCA0MDYuNTAwMDAwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNzEiIHA9IjgzLjEyMDAwMyA0MDYuMzIwMDA3Ii8+CiAgICAgICAgICAgIDxuIGlkPSI3MiIgcD0iOTAuNDQ5OTk3IDQxOC42NDk5OTQiLz4KICAgICAgICAgICAgPG4gaWQ9IjczIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjY4LjQ0OTk5NyAzODEuNjQ5OTk0Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjY4LjQ0OTk5NyAzODEuNjQ5OTk0IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNzQiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNjguMTIwMDAzIDM1Ni43OTk5ODgiPgogICAgICAgICAgICAgICAgPHQgcD0iNjguMTIwMDAzIDM1Ni43OTk5ODgiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI3NSIgcD0iNjEuMTA5OTk3IDM2OS4zMjAwMDciLz4KICAgICAgICAgICAgPG4gaWQ9Ijc2IiBwPSI0Ni43NjAwMDIgMzY5LjUwMDAwMCIvPgogICAgICAgICAgICA8biBpZD0iNzciIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iODkuODA5OTk4IDM2OC45NTAwMTIiPgogICAgICAgICAgICAgICAgPHQgcD0iODkuODA5OTk4IDM2OC45NTAwMTIiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI3OCIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxMTEuMTY5OTk4IDM1Ni4yMzk5OTAiPgogICAgICAgICAgICAgICAgPHQgcD0iMTExLjE2OTk5OCAzNTYuMjM5OTkwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNzkiIHA9IjEwNC4xNjAwMDQgMzY4Ljc2MDAxMCIvPgogICAgICAgICAgICA8biBpZD0iODAiIHA9IjExMS40ODk5OTggMzgxLjA4OTk5NiIvPgogICAgICAgICAgICA8biBpZD0iODEiIEVsZW1lbnQ9IjUiIENoYXJnZT0iLTEiIE51bUh5ZHJvZ2Vucz0iMSIgcD0iODIuNzkwMDAxIDM4MS40NTk5OTEiPgogICAgICAgICAgICAgICAgPHQgcD0iODIuNzkwMDAxIDM4MS40NTk5OTEiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5CSDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iODIiIEVsZW1lbnQ9IjExIiBDaGFyZ2U9IjEiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNjguMjA5OTk5IDM5My4zNTk5ODUiPgogICAgICAgICAgICAgICAgPHQgcD0iNjguMjA5OTk5IDM5My4zNTk5ODUiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OYTwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8YiBpZD0iMjg1IiBCPSI2OSIgRT0iNzEiLz4KICAgICAgICAgICAgPGIgaWQ9IjI4NiIgQj0iNzAiIEU9IjcxIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMjg3IiBCPSI3MSIgRT0iNzIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI4OCIgQj0iNzMiIEU9Ijc1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyODkiIEI9Ijc0IiBFPSI3NSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI5MCIgQj0iNzUiIEU9Ijc2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyOTEiIEI9Ijc3IiBFPSI3OSIvPgogICAgICAgICAgICA8YiBpZD0iMjkyIiBCPSI3OCIgRT0iNzkiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyOTMiIEI9Ijc5IiBFPSI4MCIvPgogICAgICAgICAgICA8YiBpZD0iMjk0IiBCPSI4MSIgRT0iNjkiLz4KICAgICAgICAgICAgPGIgaWQ9IjI5NSIgQj0iODEiIEU9Ijc3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyOTYiIEI9IjgxIiBFPSI3MyIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI4MyI+CiAgICAgICAgICAgIDxuIGlkPSI4NCIgcD0iMTY2LjMyMDAwNyAzNzAuODkwMDE1Ii8+CiAgICAgICAgICAgIDxuIGlkPSI4NSIgcD0iMTUzLjg1MDAwNiAzNzguMDg5OTk2Ii8+CiAgICAgICAgICAgIDxuIGlkPSI4NiIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxNjYuMzIwMDA3IDM1Ni40ODk5OTAiPgogICAgICAgICAgICAgICAgPHQgcD0iMTY2LjMyMDAwNyAzNTYuNDg5OTkwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iODciIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMSIgcD0iMTc4Ljc4OTk5MyAzNzguMDg5OTk2Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjE3OC43ODk5OTMgMzc4LjA4OTk5NiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk9IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxiIGlkPSIyOTciIEI9Ijg0IiBFPSI4NSIvPgogICAgICAgICAgICA8YiBpZD0iMjk4IiBCPSI4NCIgRT0iODYiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyOTkiIEI9Ijg0IiBFPSI4NyIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI4OCI+CiAgICAgICAgICAgIDxuIGlkPSIzMDEiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjMwMiI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijg5IiBFbGVtZW50PSIxMSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIzNzguMTY5OTgzIDMxNi4xNDAwMTUiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIzNzguMTY5OTgzIDMxNi4xNDAwMTUiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk5hPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI5MCIgRWxlbWVudD0iMTciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMzkyLjUxOTk4OSAzMTYuMTQwMDE1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMzkyLjUxOTk4OSAzMTYuMTQwMDE1IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5DbDwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzAwIiBCPSI4OSIgRT0iOTAiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+TmE8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iOTEiPgogICAgICAgICAgICA8biBpZD0iMzA2IiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSIzMDciPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI5MiIgRWxlbWVudD0iNSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIzODUuNjc5OTkzIDMwMS45NDAwMDIiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIzODUuNjc5OTkzIDMwMS45NDAwMDIiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkI8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjkzIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjM3My4yNTAwMDAgMzA5LjEwOTk4NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjM3My4yNTAwMDAgMzA5LjEwOTk4NSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+T0g8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijk0IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjM5OC4xMDk5ODUgMzA5LjEwOTk4NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjM5OC4xMDk5ODUgMzA5LjEwOTk4NSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+T0g8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijk1IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjM4NS42Nzk5OTMgMjg3LjU4OTk5NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjM4NS42Nzk5OTMgMjg3LjU4OTk5NiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+T0g8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMwMyIgQj0iOTIiIEU9IjkzIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMwNCIgQj0iOTIiIEU9Ijk0Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMwNSIgQj0iOTIiIEU9Ijk1Ii8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPkIoPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9Ijk2Ij4KICAgICAgICAgICAgPG4gaWQ9IjMxMiIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iMzEzIj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iOTciIEVsZW1lbnQ9IjExIiBOdW1IeWRyb2dlbnM9IjAiIHA9IjU0MC41NTk5OTggNTEyLjAxMDAxMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjU0MC41NTk5OTggNTEyLjAxMDAxMCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+TmE8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijk4IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjUyOC4xMzAwMDUgNTE5LjE3OTk5MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjUyOC4xMzAwMDUgNTE5LjE3OTk5MyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iOTkiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNTE1LjcwMDAxMiA0OTcuNjU5OTQzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iNTE1LjcwMDAxMiA0OTcuNjU5OTQzIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMDAiIHA9IjUxNS43MDAwMTIgNTEyLjAxMDAxMCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMDEiIHA9IjUwMy4yNzk5NjggNTE5LjE3OTk5MyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzMDgiIEI9IjEwMCIgRT0iMTAxIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMwOSIgQj0iOTkiIEU9IjEwMCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzEwIiBCPSI5OCIgRT0iMTAwIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjMxMSIgQj0iOTciIEU9Ijk4Ii8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPk5hT0FjPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8dCBpZD0iMTAyIiBwPSIzNjEuMzM5OTk2IDQ3LjEwNDk5NiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+Mi4wIGVxdWl2PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTAyIiBwPSIzNjEuMzM5OTk2IDQ3LjEwNDk5NiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+IFNUQUI8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMDUiIHA9IjM2MS4zMzk5OTYgMTExLjA0OTk4OCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+cnQsIDQgaHJzPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTA4IiBwPSIzNjEuMzM5OTk2IDEyOC4zMTQ5ODciIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjAuMiBNIGluIGxpbWl0aW5nPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTExIiBwPSIzNjEuMzM5OTk2IDk0LjcyNDk5MSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+TWVPSC9EQ008L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMTQiIHA9IjM2MS4zMzk5OTYgNjQuNzA0OTk0IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4xLjAgZXF1aXY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMTQiIHA9IjM2MS4zMzk5OTYgNjQuNzA0OTk0IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4gQWNPSDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjExNyIgcD0iMTA3LjUwNDk5NyA1Ljg0NDk5OSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxNiIgZmFjZT0iMiI+UmVkdWN0aXZlIEFtaW5hdGlvbiBSeG4yPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTIwIiBwPSIxODUuMDcwMDA3IDEyNC4zMjk5ODciIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+MiwyLWRpcGhlbnlsYWNldGFsZGVoeWRlPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTIzIiBwPSIxODUuMDcwMDA3IDEzNS41NzAwMDciIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+OTQ3LTkxLTE8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMjYiIHA9IjI3Ni44NDk5NzYgMTI0LjM4OTk5OSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj5tb3JwaG9saW5lPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTI5IiBwPSIyNzYuODQ5OTc2IDEzNS41NzAwMDciIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+MTEwLTkxLTg8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMzIiIHA9IjE4NS4wNjk5OTIgMTU5LjQwMDAwOSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+MS4wIGVxdWl2PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTM1IiBwPSIyNzYuODQ5OTc2IDE1OS40MDAwMDkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjEuMSBlcXVpdjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEzOCIgcD0iMTg1LjA3NDk5NyAxNzQuNTk5OTkxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bY2FyYm9ueWxdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTQxIiBwPSIyNzYuODQ5OTc2IDE3NC42NjUwMDkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPlthbWluZV08L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNDQiIHA9IjQ4My40MTAwMDQgMTc0LjY2NTAwOSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2Rlc2lyZWQgcHJvZHVjdF08L3M+CiAgICAgICAgPC90PgogICAgICAgIDxncmFwaGljIGlkPSIxNDciIEJvdW5kaW5nQm94PSIyNDAuNTI5OTk5IDc5Ljk2NTAwNCAyNDAuNTI5OTk5IDcyLjQ2NTAwNCIgR3JhcGhpY1R5cGU9IlN5bWJvbCIgU3ltYm9sVHlwZT0iUGx1cyIvPgogICAgICAgIDx0IGlkPSIxNTAiIHA9IjQ4My40MDQ5NjggMTI0LjI5MDAwMSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj40LSgyLDItZGlwaGVueWxldGh5bCltb3JwaG9saW5lPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTUzIiBwPSIyMjcuOTk1MDEwIDMyMC4yNDQ5OTUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+bWV0aGFub2w8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNTYiIHA9IjIyOC4wMDUwMjAgMzM4Ljg1NTAxMSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj42Ny01Ni0xPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTU5IiBwPSIyMjguMDA0OTkwIDM5OS40MTUwMDkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltzb2x2ZW50XTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE2MiIgcD0iMjI4LjAwNDk5MCAzODEuNjcwMDEzIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPk1XIDMyLjA0PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTY1IiBwPSIyOTMuOTE0OTc4IDMyMC4yNDQ5OTUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+ZGljaGxvcm9tZXRoYW5lPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTY4IiBwPSIyOTMuOTE5OTgzIDMzOC44NTUwMTEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+NzUtMDktMjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE3MSIgcD0iMjkzLjkxNTAwOSAzOTkuNDE1MDA5IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bc29sdmVudF08L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNzQiIHA9IjI5My45MDk5NzMgMzgxLjY3MDAxMyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj5NVyA4NC45Mzwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE3NyIgcD0iNDgzLjQwNDk2OCAxMzUuNTcwMDA3IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjU1ODYtNzktODwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE4MCIgcD0iODAuNjgwMDAwIDMwMy4yNzk5OTkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+U1RBQjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE4MyIgcD0iODAuNjc5OTkzIDMyMS4xNDAwMTUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+c29kaXVtIHRyaWFjZXRveHlib3JvaHlkcmlkZTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE4NiIgcD0iODAuNjg0OTk4IDMzOC44NjAwMTYiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+NTY1NTMtNjAtNzwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE4OSIgcD0iODAuNjg0OTk4IDQzMi40NTAwMTIiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+TVcgMjExLjk0PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTkyIiBwPSI4MC42Nzk5OTMgNDUwLjY2NDk3OCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2Rlc2lyZWQgcHJvZHVjdF08L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxOTUiIHA9IjE3MS4zOTk5OTQgMzM4Ljg1NTAxMSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj42NC0xOS03PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTk4IiBwPSIxNzEuMzk5OTk0IDMyMC4yNDQ5OTUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+YWNpZCBhY2lkPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjAxIiBwPSIxNzEuMzk5OTk0IDQxNC40MTUwMDkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPlthZGRpdGl2ZV08L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMDQiIHA9IjE3MS4zOTk5OTQgMzk1Ljg0OTk3NiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj5NVyA2MC4wNTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIwNyIgcD0iMzgzLjYwOTk4NSAyNzkuMjIwMDAxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bYnlwcm9kdWN0c108L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMTAiIHA9IjIwLjgyNTAwMSAyODkuMjIwMDAxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIxIj5LZXk8L3M+CiAgICAgICAgPC90PgogICAgICAgIDxncmFwaGljIGlkPSIyMTMiIEJvdW5kaW5nQm94PSIwLjc5OTk5OSA0OTQuMjUwMDAwIDM0My42NDk5OTQgMjcyLjk1MDAxMiIgR3JhcGhpY1R5cGU9IlJlY3RhbmdsZSIvPgogICAgICAgIDxhcnJvdyBpZD0iMjE2IiBCb3VuZGluZ0JveD0iNDA2LjU4OTk5NiA4MC40MzAwMDAgMzE2LjA4OTk5NiA4MC40MzAwMDAiIEZpbGxUeXBlPSJOb25lIiBBcnJvd2hlYWRUeXBlPSJTb2xpZCIgSGVhZFNpemU9IjIyNTAiIEFycm93aGVhZFdpZHRoPSI1NjMiIEFycm93aGVhZEhlYWQ9IkZ1bGwiIEFycm93aGVhZENlbnRlclNpemU9IjI1IiBIZWFkM0Q9IjQwNi41ODk5OTYgODAuNDMwMDAwIDAuMDAwMDAwIiBUYWlsM0Q9IjMxNi4wODk5OTYgODAuNDMwMDAwIDAuMDAwMDAwIi8+CiAgICAgICAgPGFycm93IGlkPSIyMTkiIEJvdW5kaW5nQm94PSI0MjYuNjA5OTg1IDM2Ny43NjAwMTAgNDI2LjYwOTk4NSAyODkuNTAwMDAwIiBGaWxsVHlwZT0iTm9uZSIgQXJyb3doZWFkVHlwZT0iU29saWQiIEhlYWRTaXplPSIyMjUwIiBBcnJvd2hlYWRXaWR0aD0iNTYzIiBBcnJvd2hlYWRIZWFkPSJGdWxsIiBBcnJvd2hlYWRDZW50ZXJTaXplPSIyNSIgSGVhZDNEPSI0MjYuNjA5OTg1IDM2Ny43NjAwMTAgMC4wMDAwMDAiIFRhaWwzRD0iNDI2LjYwOTk4NSAyODkuNTAwMDAwIDAuMDAwMDAwIi8+CiAgICAgICAgPHNjaGVtZT4KICAgICAgICAgICAgPHN0ZXAgUmVhY3Rpb25TdGVwQXJyb3dzPSIyMTYiLz4KICAgICAgICAgICAgPHN0ZXAgUmVhY3Rpb25TdGVwQXJyb3dzPSIyMTkiLz4KICAgICAgICA8L3NjaGVtZT4KICAgIDwvcGFnZT4KPC9DRFhNTD4K \ No newline at end of file diff --git a/api/tests/integration/tests/formats/ref/Reductive Amination_Rxn2.cdxml b/api/tests/integration/tests/formats/ref/Reductive Amination_Rxn2.cdxml new file mode 100644 index 0000000000..1ca704e02a --- /dev/null +++ b/api/tests/integration/tests/formats/ref/Reductive Amination_Rxn2.cdxml @@ -0,0 +1,507 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + O + + + + + H + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NH + + + + + + + O + + + + + + + + + + + + + + + + + + + + + + + + + + + + + N + + + + + + + O + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OH + + + + + + + + + + + OH + + + + + + MeOH + + + + + + + + Cl + + + + + Cl + + + + + + + + + + + H + + + + + + + + + DCM + + + + + M + + + + + + + + + + OH + + + + + + O + + + + + + + + + AcOH + + + + + + + O + + + + + O + + + + + + + O + + + + + O + + + + + + + O + + + + + O + + + + + + + BH + + + + + Na + + + + + + + + + + + + + + + + + + + + + O + + + + + OH + + + + + + + + + + + + Na + + + + + Cl + + + + + + Na + + + + + + + + + B + + + + + OH + + + + + OH + + + + + OH + + + + + + + + B( + + + + + + + + + Na + + + + + O + + + + + O + + + + + + + + + + + NaOAc + + + + + 2.0 equiv + + + STAB + + + rt, 4 hrs + + + 0.2 M in limiting + + + MeOH/DCM + + + 1.0 equiv + + + AcOH + + + Reductive Amination Rxn2 + + + 2,2-diphenylacetaldehyde + + + 947-91-1 + + + morpholine + + + 110-91-8 + + + 1.0 equiv + + + 1.1 equiv + + + [carbonyl] + + + [amine] + + + [desired product] + + + + 4-(2,2-diphenylethyl)morpholine + + + methanol + + + 67-56-1 + + + [solvent] + + + MW 32.04 + + + dichloromethane + + + 75-09-2 + + + [solvent] + + + MW 84.93 + + + 5586-79-8 + + + STAB + + + sodium triacetoxyborohydride + + + 56553-60-7 + + + MW 211.94 + + + [desired product] + + + 64-19-7 + + + acid acid + + + [additive] + + + MW 60.05 + + + [byproducts] + + + Key + + + + + + + + + + diff --git a/api/tests/integration/tests/formats/ref/SnAr_Rxn1.b64cdx b/api/tests/integration/tests/formats/ref/SnAr_Rxn1.b64cdx new file mode 100644 index 0000000000..84b072d424 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/SnAr_Rxn1.b64cdx @@ -0,0 +1 @@ +PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIENEWE1MIFNZU1RFTSAiaHR0cDovL3d3dy5jYW1icmlkZ2Vzb2Z0LmNvbS94bWwvY2R4bWwuZHRkIj4KPENEWE1MIEJvbmRMZW5ndGg9IjMwLjAwMDAwMCIgTGFiZWxGb250PSIzIiBDYXB0aW9uRm9udD0iNCI+CiAgICA8Zm9udHRhYmxlIGlkPSIxIj4KICAgICAgICA8Zm9udCBpZD0iMiIgY2hhcnNldD0idXRmLTgiIG5hbWU9IkFyaWFsIi8+CiAgICAgICAgPGZvbnQgaWQ9IjMiIGNoYXJzZXQ9InV0Zi04IiBuYW1lPSJUaW1lcyBOZXcgUm9tYW4iLz4KICAgIDwvZm9udHRhYmxlPgogICAgPGNvbG9ydGFibGU+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMCIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIxIiBnPSIwIiBiPSIwIi8+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjAiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMSIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIwIiBnPSIxIiBiPSIxIi8+CiAgICAgICAgPGNvbG9yIHI9IjAiIGc9IjAiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMSIgZz0iMCIgYj0iMSIvPgogICAgICAgIDxjb2xvciByPSIwLjUiIGc9IjAuNSIgYj0iMC41Ii8+CiAgICA8L2NvbG9ydGFibGU+CiAgICA8cGFnZSBIZWlnaHRQYWdlcz0iMSIgV2lkdGhQYWdlcz0iMSI+CiAgICAgICAgPGZyYWdtZW50IGlkPSI0Ij4KICAgICAgICAgICAgPG4gaWQ9IjUiIHA9IjE2OC40NzAwMDEgNjIuNjQwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSI2IiBwPSIxNjguNDcwMDAxIDc2Ljk4OTk5OCIvPgogICAgICAgICAgICA8biBpZD0iNyIgcD0iMTgwLjg5OTk5NCA4NC4xNjk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjgiIHA9IjE5My4zMzAwMDIgNzYuOTg5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSI5IiBwPSIxOTMuMzMwMDAyIDYyLjY0MDAwMyIvPgogICAgICAgICAgICA8biBpZD0iMTAiIHA9IjE4MC44OTk5OTQgNTUuNDcwMDAxIi8+CiAgICAgICAgICAgIDxuIGlkPSIxMSIgRWxlbWVudD0iOSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyMDUuNzU5OTk1IDU1LjQ3MDAwMSI+CiAgICAgICAgICAgICAgICA8dCBwPSIyMDUuNzU5OTk1IDU1LjQ3MDAwMSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkY8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjEyIiBFbGVtZW50PSI3IiBDaGFyZ2U9IjEiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTU2LjA1MDAwMyA4NC4xNjk5OTgiPgogICAgICAgICAgICAgICAgPHQgcD0iMTU2LjA1MDAwMyA4NC4xNjk5OTgiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxMyIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxNTYuMDUwMDAzIDk4LjUyMDAwNCI+CiAgICAgICAgICAgICAgICA8dCBwPSIxNTYuMDUwMDAzIDk4LjUyMDAwNCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjE0IiBFbGVtZW50PSI4IiBDaGFyZ2U9Ii0xIiBOdW1IeWRyb2dlbnM9IjAiIHA9IjE0My42MTk5OTUgNzYuOTg5OTk4Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjE0My42MTk5OTUgNzYuOTg5OTk4IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8YiBpZD0iMTczIiBCPSI1IiBFPSI2IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMTc0IiBCPSI2IiBFPSI3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxNzUiIEI9IjciIEU9IjgiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxNzYiIEI9IjgiIEU9IjkiLz4KICAgICAgICAgICAgPGIgaWQ9IjE3NyIgQj0iOSIgRT0iMTAiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxNzgiIEI9IjEwIiBFPSI1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxNzkiIEI9IjkiIEU9IjExIi8+CiAgICAgICAgICAgIDxiIGlkPSIxODAiIEI9IjYiIEU9IjEyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxODEiIEI9IjEyIiBFPSIxMyIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE4MiIgQj0iMTIiIEU9IjE0Ii8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjE1Ij4KICAgICAgICAgICAgPG4gaWQ9IjE2IiBwPSIzMTkuNTE5OTg5IDkzLjI3OTk5OSIvPgogICAgICAgICAgICA8biBpZD0iMTciIHA9IjMwNy4wNDk5ODggMTAwLjQ4MDAwMyIvPgogICAgICAgICAgICA8biBpZD0iMTgiIHA9IjMxOS41MTk5ODkgNzguODgwMDA1Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxOSIgcD0iMzA3LjA0OTk4OCA4Ni4wODAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjIwIiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjIiIHA9IjI1Ny4xNjk5ODMgNTcuMjc5OTk5Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjI1Ny4xNjk5ODMgNTcuMjc5OTk5IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tkg8L3M+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9IjMyIj4yPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIyMSIgcD0iMjgyLjEwOTk4NSA1Ny4yNzk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9IjIyIiBwPSIyNjkuNjM5OTg0IDY0LjQ4MDAwMyIvPgogICAgICAgICAgICA8biBpZD0iMjMiIHA9IjI2OS42Mzk5ODQgNzguODgwMDA1Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyNCIgcD0iMjgyLjEwOTk4NSA4Ni4wODAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjI1IiBwPSIyOTQuNTc5OTg3IDc4Ljg4MDAwNSIvPgogICAgICAgICAgICA8biBpZD0iMjYiIHA9IjI5NC41Nzk5ODcgNjQuNDgwMDAzIi8+CiAgICAgICAgICAgIDxiIGlkPSIxODMiIEI9IjE5IiBFPSIxNiIvPgogICAgICAgICAgICA8YiBpZD0iMTg0IiBCPSIxOSIgRT0iMTciLz4KICAgICAgICAgICAgPGIgaWQ9IjE4NSIgQj0iMTkiIEU9IjE4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxODYiIEI9IjI1IiBFPSIxOSIvPgogICAgICAgICAgICA8YiBpZD0iMTg3IiBCPSIyMiIgRT0iMjAiLz4KICAgICAgICAgICAgPGIgaWQ9IjE4OCIgQj0iMjEiIEU9IjI2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxODkiIEI9IjIyIiBFPSIyMSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE5MCIgQj0iMjMiIEU9IjIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxOTEiIEI9IjI0IiBFPSIyMyIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE5MiIgQj0iMjUiIEU9IjI0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxOTMiIEI9IjI2IiBFPSIyNSIgT3JkZXI9IjIiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iMjciPgogICAgICAgICAgICA8biBpZD0iMjgiIHA9IjQ2Ny4zMzk5OTYgNjYuODIwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSIyOSIgcD0iNDY3LjMzOTk5NiA4MS4xNjk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjMwIiBwPSI0NzkuNzU5OTc5IDg4LjM0MDAwNCIvPgogICAgICAgICAgICA8biBpZD0iMzEiIHA9IjQ5Mi4xODk5NzIgODEuMTY5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSIzMiIgcD0iNDkyLjE4OTk3MiA2Ni44MjAwMDAiLz4KICAgICAgICAgICAgPG4gaWQ9IjMzIiBwPSI0NzkuNzU5OTc5IDU5LjYzOTk5OSIvPgogICAgICAgICAgICA8biBpZD0iMzQiIHA9IjU0MS44OTk5NjMgNjYuODIwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSIzNSIgcD0iNTQxLjg5OTk2MyA4MS4xNjk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjM2IiBwPSI1MjkuNDY5OTcxIDg4LjM0MDAwNCIvPgogICAgICAgICAgICA8biBpZD0iMzciIHA9IjUxNy4wNDk5ODggODEuMTY5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSIzOCIgcD0iNTE3LjA0OTk4OCA2Ni44MjAwMDAiLz4KICAgICAgICAgICAgPG4gaWQ9IjM5IiBwPSI1MjkuNDY5OTcxIDU5LjYzOTk5OSIvPgogICAgICAgICAgICA8biBpZD0iNDAiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMSIgcD0iNTA0LjYyMDAyNiA1OS42Mzk5OTkiPgogICAgICAgICAgICAgICAgPHQgcD0iNTA0LjYyMDAyNiA1OS42Mzk5OTkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OSDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNDEiIHA9IjU1NC4zMjk5NTYgODguMzQwMDA0Ii8+CiAgICAgICAgICAgIDxuIGlkPSI0MiIgcD0iNTY2Ljc2MDAxMCA4MS4xNjk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjQzIiBwPSI1NTQuMzI5OTU2IDEwMi42ODk5OTUiLz4KICAgICAgICAgICAgPG4gaWQ9IjQ0IiBwPSI1NjYuNzYwMDEwIDk1LjUyMDAwNCIvPgogICAgICAgICAgICA8biBpZD0iNDUiIEVsZW1lbnQ9IjciIENoYXJnZT0iMSIgTnVtSHlkcm9nZW5zPSIwIiBwPSI0NTQuOTA5OTczIDg4LjM0MDAwNCI+CiAgICAgICAgICAgICAgICA8dCBwPSI0NTQuOTA5OTczIDg4LjM0MDAwNCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk48L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjQ2IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjQ1NC45MDk5NzMgMTAyLjY4OTk5NSI+CiAgICAgICAgICAgICAgICA8dCBwPSI0NTQuOTA5OTczIDEwMi42ODk5OTUiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI0NyIgRWxlbWVudD0iOCIgQ2hhcmdlPSItMSIgTnVtSHlkcm9nZW5zPSIwIiBwPSI0NDIuNDc5OTgwIDgxLjE2OTk5OCI+CiAgICAgICAgICAgICAgICA8dCBwPSI0NDIuNDc5OTgwIDgxLjE2OTk5OCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPGIgaWQ9IjE5NCIgQj0iMjgiIEU9IjI5IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMTk1IiBCPSIyOSIgRT0iMzAiLz4KICAgICAgICAgICAgPGIgaWQ9IjE5NiIgQj0iMzAiIEU9IjMxIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMTk3IiBCPSIzMSIgRT0iMzIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE5OCIgQj0iMzIiIEU9IjMzIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMTk5IiBCPSIzMyIgRT0iMjgiLz4KICAgICAgICAgICAgPGIgaWQ9IjIwMCIgQj0iMzIiIEU9IjQwIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMDEiIEI9IjI5IiBFPSI0NSIvPgogICAgICAgICAgICA8YiBpZD0iMjAyIiBCPSIzNCIgRT0iMzUiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMDMiIEI9IjM1IiBFPSIzNiIvPgogICAgICAgICAgICA8YiBpZD0iMjA0IiBCPSIzNiIgRT0iMzciIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMDUiIEI9IjM3IiBFPSIzOCIvPgogICAgICAgICAgICA8YiBpZD0iMjA2IiBCPSIzOCIgRT0iMzkiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMDciIEI9IjM5IiBFPSIzNCIvPgogICAgICAgICAgICA8YiBpZD0iMjA4IiBCPSIzOCIgRT0iNDAiLz4KICAgICAgICAgICAgPGIgaWQ9IjIwOSIgQj0iMzUiIEU9IjQxIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMTAiIEI9IjQxIiBFPSI0MiIvPgogICAgICAgICAgICA8YiBpZD0iMjExIiBCPSI0MSIgRT0iNDMiLz4KICAgICAgICAgICAgPGIgaWQ9IjIxMiIgQj0iNDEiIEU9IjQ0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMTMiIEI9IjQ1IiBFPSI0NiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIxNCIgQj0iNDUiIEU9IjQ3Ii8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjQ4Ij4KICAgICAgICAgICAgPG4gaWQ9IjIxOSIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iMjIwIj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNDkiIHA9IjM2NC4zNjk5OTUgODguNjgwMDAwIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjUwIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjM1MS45Mzk5NzIgODEuNTAwMDAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMzUxLjkzOTk3MiA4MS41MDAwMDAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjUxIiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjM3Ni43OTk5ODggODEuNTAwMDAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMzc2Ljc5OTk4OCA4MS41MDAwMDAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk48L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjUyIiBwPSIzNzYuNzk5OTg4IDY3LjE1MDAwMiIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI1MyIgcD0iMzg5LjIyOTk4MCA4OC42ODAwMDAiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjE1IiBCPSI1MSIgRT0iNTIiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjE2IiBCPSI1MSIgRT0iNTMiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjE3IiBCPSI0OSIgRT0iNTAiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjIxOCIgQj0iNDkiIEU9IjUxIi8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPkRNRjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI1NCI+CiAgICAgICAgICAgIDxuIGlkPSIyMjIiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjIyMyI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjU1IiBFbGVtZW50PSIxOSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIzNzkuMDAwMDAwIDI5NC43NTAwMDAiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIzNzkuMDAwMDAwIDI5NC43NTAwMDAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPks8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjU2IiBFbGVtZW50PSI5IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjM5My4zNDk5NzYgMjk0Ljc1MDAwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjM5My4zNDk5NzYgMjk0Ljc1MDAwMCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Rjwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjIxIiBCPSI1NSIgRT0iNTYiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+Szwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI1NyI+CiAgICAgICAgICAgIDxuIGlkPSIyMjgiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjIyOSI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjU4IiBwPSIzNjYuNjQ5OTk0IDMxMy42NjAwMDQiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNTkiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMzU0LjIyOTk4MCAzMjAuODM5OTk2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMzU0LjIyOTk4MCAzMjAuODM5OTk2IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI2MCIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIzNzkuMDc5OTg3IDMyMC44Mzk5OTYiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIzNzkuMDc5OTg3IDMyMC44Mzk5OTYiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjYxIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjM5MS41MDk5NzkgMzEzLjY2MDAwNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjM5MS41MDk5NzkgMzEzLjY2MDAwNCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNjIiIEVsZW1lbnQ9IjE5IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjQwMy45Mjk5OTMgMzIwLjgzOTk5NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjQwMy45Mjk5OTMgMzIwLjgzOTk5NiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Szwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjI0IiBCPSI2MSIgRT0iNjIiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjI1IiBCPSI2MCIgRT0iNjEiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjI2IiBCPSI1OCIgRT0iNTkiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjIyNyIgQj0iNTgiIEU9IjYwIi8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPktIQzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI2MyI+CiAgICAgICAgICAgIDxuIGlkPSIyMzQiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjIzNSI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjY0IiBwPSI0OS43OTk5OTkgMjkyLjQ3MDAwMSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI2NSIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIzNy4zNjk5OTkgMjk5LjY0OTk5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjM3LjM2OTk5OSAyOTkuNjQ5OTk0IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI2NiIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSI2Mi4yMzAwMDMgMjk5LjY0OTk5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjYyLjIzMDAwMyAyOTkuNjQ5OTk0IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI2NyIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSI3NC42NTAwMDIgMjkyLjQ3MDAwMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9Ijc0LjY1MDAwMiAyOTIuNDcwMDAxIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI2OCIgRWxlbWVudD0iMTkiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iODcuMDgwMDAyIDI5OS42NDk5OTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSI4Ny4wODAwMDIgMjk5LjY0OTk5NCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Szwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNjkiIEVsZW1lbnQ9IjE5IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjEwMS40MzAwMDAgMjk2LjA1OTk5OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjEwMS40MzAwMDAgMjk2LjA1OTk5OCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+S0g8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjIzMCIgQj0iNjciIEU9IjY4Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjIzMSIgQj0iNjYiIEU9IjY3Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjIzMiIgQj0iNjQiIEU9IjY1IiBPcmRlcj0iMiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyMzMiIEI9IjY0IiBFPSI2NiIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5LMkM8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNzAiPgogICAgICAgICAgICA8biBpZD0iNzEiIHA9IjYzLjMwMDAwMyAzNjQuNDE5OTgzIi8+CiAgICAgICAgICAgIDxuIGlkPSI3MiIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSI1MC44Njk5OTkgMzcxLjU4OTk5NiI+CiAgICAgICAgICAgICAgICA8dCBwPSI1MC44Njk5OTkgMzcxLjU4OTk5NiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjczIiBFbGVtZW50PSI4IiBDaGFyZ2U9Ii0xIiBOdW1IeWRyb2dlbnM9IjAiIHA9Ijc1LjczMDAwMyAzNzEuNTg5OTk2Ij4KICAgICAgICAgICAgICAgIDx0IHA9Ijc1LjczMDAwMyAzNzEuNTg5OTk2IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNzQiIEVsZW1lbnQ9IjgiIENoYXJnZT0iLTEiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNjMuMzAwMDAzIDM1MC4wMTk5ODkiPgogICAgICAgICAgICAgICAgPHQgcD0iNjMuMzAwMDAzIDM1MC4wMTk5ODkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI3NSIgRWxlbWVudD0iMTkiIENoYXJnZT0iMSIgTnVtSHlkcm9nZW5zPSIwIiBwPSI3OC4wODAwMDIgMzUxLjA4OTk5NiI+CiAgICAgICAgICAgICAgICA8dCBwPSI3OC4wODAwMDIgMzUxLjA4OTk5NiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPks8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9Ijc2IiBFbGVtZW50PSIxOSIgQ2hhcmdlPSIxIiBOdW1IeWRyb2dlbnM9IjAiIHA9Ijg5LjU4MDAwMiAzNzEuNTg5OTk2Ij4KICAgICAgICAgICAgICAgIDx0IHA9Ijg5LjU4MDAwMiAzNzEuNTg5OTk2IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Szwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8YiBpZD0iMjM2IiBCPSI3MSIgRT0iNzIiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMzciIEI9IjcxIiBFPSI3MyIvPgogICAgICAgICAgICA8YiBpZD0iMjM4IiBCPSI3MSIgRT0iNzQiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNzciPgogICAgICAgICAgICA8biBpZD0iMjQzIiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSIyNDQiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI3OCIgcD0iMTU0Ljg5OTk5NCAyOTkuNTQwMDA5Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijc5IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjE0Mi40NzAwMDEgMjkyLjM1OTk4NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjE0Mi40NzAwMDEgMjkyLjM1OTk4NSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iODAiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTY3LjMzMDAwMiAyOTIuMzU5OTg1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMTY3LjMzMDAwMiAyOTIuMzU5OTg1IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI4MSIgcD0iMTY3LjMzMDAwMiAyNzguMDA5OTc5Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjgyIiBwPSIxNzkuNzUwMDAwIDI5OS41NDAwMDkiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjM5IiBCPSI4MCIgRT0iODEiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjQwIiBCPSI4MCIgRT0iODIiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjQxIiBCPSI3OCIgRT0iNzkiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI0MiIgQj0iNzgiIEU9IjgwIi8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPkRNRjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI4MyI+CiAgICAgICAgICAgIDxuIGlkPSI4NCIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxNTkuNjY5OTk4IDM2Mi4wNTk5OTgiPgogICAgICAgICAgICAgICAgPHQgcD0iMTU5LjY2OTk5OCAzNjIuMDU5OTk4IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iODUiIHA9IjE3Mi4xMzk5OTkgMzY5LjI1OTk3OSIvPgogICAgICAgICAgICA8biBpZD0iODYiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTg0LjYxMDAwMSAzNjIuMDU5OTk4Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjE4NC42MTAwMDEgMzYyLjA1OTk5OCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9Ijg3IiBwPSIxNDcuMTk5OTk3IDM2OS4yNTk5NzkiLz4KICAgICAgICAgICAgPG4gaWQ9Ijg4IiBwPSIxNTkuNjY5OTk4IDM0Ny42NjAwMDQiLz4KICAgICAgICAgICAgPGIgaWQ9IjI0NSIgQj0iODQiIEU9Ijg1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNDYiIEI9Ijg1IiBFPSI4NiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjI0NyIgQj0iODQiIEU9Ijg3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyNDgiIEI9Ijg0IiBFPSI4OCIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPHQgaWQ9Ijg5IiBwPSIzNzcuNDU5OTkxIDExOC4xMDUwMDMiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjAuMiBNIGluIGxpbWl0aW5nPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iOTIiIHA9IjM3Ny40NTk5OTEgMTAxLjcyMDAwMSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+ODAgwrBDLCA0IGhyczwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9Ijk1IiBwPSIzNzcuNDU5OTkxIDU1Ljg2MDAwMSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+MS4xIGVxdWl2IDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9Ijk1IiBwPSIzNzcuNDU5OTkxIDU1Ljg2MDAwMSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+SzJDTzM8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI5OCIgcD0iNTYuNjI1MDAwIDcuNTIwMDAwIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjE2IiBmYWNlPSIyIj5TPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iOTgiIHA9IjU2LjYyNTAwMCA3LjUyMDAwMCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxNiIgZmFjZT0iMiI+Tjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9Ijk4IiBwPSI1Ni42MjUwMDAgNy41MjAwMDAiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTYiIGZhY2U9IjIiPkFyIFJ4bjE8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMDEiIHA9IjI4MS4zMTk5NzcgMTEyLjIwMDAwNSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj40LSg8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMDEiIHA9IjI4MS4zMTk5NzcgMTEyLjIwMDAwNSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIzIj50ZXJ0PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTAxIiBwPSIyODEuMzE5OTc3IDExMi4yMDAwMDUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+LWJ1dHlsKWFuaWxpbmU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMDQiIHA9IjI4MS4zMTk5NzcgMTI5Ljc2OTk4OSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj43NjktOTItNjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEwNyIgcD0iMTcyLjkxMDAxOSAxMTMuMTIwMDAzIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPjEtZmx1b3JvLTQtbml0cm9iZW56ZW5lPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTEwIiBwPSIxNzIuOTE0OTkzIDEyOS43Njk5ODkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+MzUwLTQ2LTk8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMTMiIHA9IjUwMS42MTk5OTUgMTc1LjE4NDk4MiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2Rlc2lyZWQgcHJvZHVjdF08L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMTYiIHA9IjM5Mi4xMDk5ODUgMjc1LjM2OTk5NSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2J5cHJvZHVjdHNdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTE5IiBwPSIyOS44MjUwMDEgMjgyLjg2OTk5NSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMSI+S2V5PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8Z3JhcGhpYyBpZD0iMTIyIiBCb3VuZGluZ0JveD0iMC43OTk5OTkgNDg5LjM5OTk5NCAzNDcuMzU5OTg1IDI2OC4xMDAwMDYiIEdyYXBoaWNUeXBlPSJSZWN0YW5nbGUiLz4KICAgICAgICA8Z3JhcGhpYyBpZD0iMTI1IiBCb3VuZGluZ0JveD0iMjMxLjAyOTk5OSA4MC44MzQ5OTkgMjMxLjAyOTk5OSA3My4zMzQ5OTkiIEdyYXBoaWNUeXBlPSJTeW1ib2wiIFN5bWJvbFR5cGU9IlBsdXMiLz4KICAgICAgICA8dCBpZD0iMTI4IiBwPSIyODEuMzE5OTc3IDE1OS4yOTk5ODgiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjEuMSBlcXVpdjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEzMSIgcD0iMTcyLjkxMDAwNCAxNTkuMjk5OTg4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4xLjAgZXF1aXY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMzQiIHA9IjI4MS4zMTk5NzcgMTc1LjE4NDk4MiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W251Y2xlb3BoaWxlXTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEzNyIgcD0iMTcyLjkxNTAwOSAxNzUuMTE5OTk1IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bYXJ5bCBoYWxpZGVdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTQwIiBwPSI1MDEuNjE1MDIxIDExOC4xODAwMDAiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+NC0oPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTQwIiBwPSI1MDEuNjE1MDIxIDExOC4xODAwMDAiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+dGVydDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE0MCIgcD0iNTAxLjYxNTAyMSAxMTguMTgwMDAwIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjMiPi1idXR5bCktPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTQwIiBwPSI1MDEuNjE1MDIxIDExOC4xODAwMDAiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+Tjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE0MCIgcD0iNTAxLjYxNTAyMSAxMTguMTgwMDAwIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjMiPi0oNC1uaXRyb3BoZW55bClhbmlsaW5lPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTQzIiBwPSI3Mi4xNjk5OTggMzExLjQ4MDAxMSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj5wb3Rhc3NpdW0gY2FyYm9uYXRlPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTQ2IiBwPSI3Mi4xNzQ5OTUgMzI1LjIwOTk5MSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj41ODQtMDgtNzwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE0OSIgcD0iNzIuMTcwMDA2IDM4OC42Nzk5OTMiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+TW9sZWN1bGFyIFdlaWdodDogMTM4LjIwPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTUyIiBwPSI3Mi4xNzQ5OTUgNDA0LjU2NDk3MiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2Jhc2VdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTU1IiBwPSI1MDEuNjE5OTM0IDEyOS43Njk5ODkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+OTQ0Njc4LTAwLTY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNTgiIHA9IjE2Ny4yMjQ5OTEgMzI1LjIwOTk5MSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj42OC0xMi0yPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTYxIiBwPSIxNjcuMjI1MDA2IDM4NC45Mjk5OTMiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+TW9sZWN1bGFyIFdlaWdodDogNzMuMTA8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNjQiIHA9IjE2Ny4yMjUwMjEgNDAzLjA2NDk3MiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W3NvbHZlbnRdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8YXJyb3cgaWQ9IjE2NyIgQm91bmRpbmdCb3g9IjQyOS42MDk5ODUgMzgxLjY0OTk5NCA0MjkuNjA5OTg1IDI4My4zOTk5OTQiIEZpbGxUeXBlPSJOb25lIiBBcnJvd2hlYWRUeXBlPSJTb2xpZCIgSGVhZFNpemU9IjIyNTAiIEFycm93aGVhZFdpZHRoPSI1NjMiIEFycm93aGVhZEhlYWQ9IkZ1bGwiIEFycm93aGVhZENlbnRlclNpemU9IjI1IiBIZWFkM0Q9IjQyOS42MDk5ODUgMzgxLjY0OTk5NCAwLjAwMDAwMCIgVGFpbDNEPSI0MjkuNjA5OTg1IDI4My4zOTk5OTQgMC4wMDAwMDAiLz4KICAgICAgICA8YXJyb3cgaWQ9IjE3MCIgQm91bmRpbmdCb3g9IjQyMS40NTk5OTEgNzEuMzEwMDA1IDMzMy40NTk5OTEgNzEuMzEwMDA1IiBGaWxsVHlwZT0iTm9uZSIgQXJyb3doZWFkVHlwZT0iU29saWQiIEhlYWRTaXplPSIyMjUwIiBBcnJvd2hlYWRXaWR0aD0iNTYzIiBBcnJvd2hlYWRIZWFkPSJGdWxsIiBBcnJvd2hlYWRDZW50ZXJTaXplPSIyNSIgSGVhZDNEPSI0MjEuNDU5OTkxIDcxLjMxMDAwNSAwLjAwMDAwMCIgVGFpbDNEPSIzMzMuNDU5OTkxIDcxLjMxMDAwNSAwLjAwMDAwMCIvPgogICAgICAgIDxzY2hlbWU+CiAgICAgICAgICAgIDxzdGVwIFJlYWN0aW9uU3RlcE9iamVjdHNBYm92ZUFycm93PSI0OCIgUmVhY3Rpb25TdGVwQXJyb3dzPSIxNjciLz4KICAgICAgICAgICAgPHN0ZXAgUmVhY3Rpb25TdGVwT2JqZWN0c0Fib3ZlQXJyb3c9IjQ4IiBSZWFjdGlvblN0ZXBBcnJvd3M9IjE3MCIvPgogICAgICAgIDwvc2NoZW1lPgogICAgPC9wYWdlPgo8L0NEWE1MPgo= \ No newline at end of file diff --git a/api/tests/integration/tests/formats/ref/SnAr_Rxn1.cdxml b/api/tests/integration/tests/formats/ref/SnAr_Rxn1.cdxml new file mode 100644 index 0000000000..7b32290380 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/SnAr_Rxn1.cdxml @@ -0,0 +1,449 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + F + + + + + N + + + + + O + + + + + O + + + + + + + + + + + + + + + + + + + + + NH + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NH + + + + + + + + + N + + + + + O + + + + + O + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + O + + + + + N + + + + + + + + + + + DMF + + + + + + + + + K + + + + + F + + + + + + K + + + + + + + + + + O + + + + + O + + + + + O + + + + + K + + + + + + + + + KHC + + + + + + + + + + O + + + + + O + + + + + O + + + + + K + + + + + KH + + + + + + + + + K2C + + + + + + + + O + + + + + O + + + + + O + + + + + K + + + + + K + + + + + + + + + + + + + O + + + + + N + + + + + + + + + + + DMF + + + + + + + N + + + + + + O + + + + + + + + + + + 0.2 M in limiting + + + 80 °C, 4 hrs + + + 1.1 equiv + + + K2CO3 + + + S + + + N + + + Ar Rxn1 + + + 4-( + + + tert + + + -butyl)aniline + + + 769-92-6 + + + 1-fluoro-4-nitrobenzene + + + 350-46-9 + + + [desired product] + + + [byproducts] + + + Key + + + + + 1.1 equiv + + + 1.0 equiv + + + [nucleophile] + + + [aryl halide] + + + 4-( + + + tert + + + -butyl)- + + + N + + + -(4-nitrophenyl)aniline + + + potassium carbonate + + + 584-08-7 + + + Molecular Weight: 138.20 + + + [base] + + + 944678-00-6 + + + 68-12-2 + + + Molecular Weight: 73.10 + + + [solvent] + + + + + + + + + diff --git a/api/tests/integration/tests/formats/ref/SnAr_Rxn2.b64cdx b/api/tests/integration/tests/formats/ref/SnAr_Rxn2.b64cdx new file mode 100644 index 0000000000..0436898f54 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/SnAr_Rxn2.b64cdx @@ -0,0 +1 @@ +PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIENEWE1MIFNZU1RFTSAiaHR0cDovL3d3dy5jYW1icmlkZ2Vzb2Z0LmNvbS94bWwvY2R4bWwuZHRkIj4KPENEWE1MIEJvbmRMZW5ndGg9IjMwLjAwMDAwMCIgTGFiZWxGb250PSIzIiBDYXB0aW9uRm9udD0iNCI+CiAgICA8Zm9udHRhYmxlIGlkPSIxIj4KICAgICAgICA8Zm9udCBpZD0iMiIgY2hhcnNldD0idXRmLTgiIG5hbWU9IkFyaWFsIi8+CiAgICAgICAgPGZvbnQgaWQ9IjMiIGNoYXJzZXQ9InV0Zi04IiBuYW1lPSJUaW1lcyBOZXcgUm9tYW4iLz4KICAgIDwvZm9udHRhYmxlPgogICAgPGNvbG9ydGFibGU+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMCIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIxIiBnPSIwIiBiPSIwIi8+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjAiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMSIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIwIiBnPSIxIiBiPSIxIi8+CiAgICAgICAgPGNvbG9yIHI9IjAiIGc9IjAiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMSIgZz0iMCIgYj0iMSIvPgogICAgICAgIDxjb2xvciByPSIwLjUiIGc9IjAuNSIgYj0iMC41Ii8+CiAgICA8L2NvbG9ydGFibGU+CiAgICA8cGFnZSBIZWlnaHRQYWdlcz0iMSIgV2lkdGhQYWdlcz0iMSI+CiAgICAgICAgPGZyYWdtZW50IGlkPSI0Ij4KICAgICAgICAgICAgPG4gaWQ9IjUiIHA9IjI1Ny42NDk5OTQgMTA3LjA0OTk5NSIvPgogICAgICAgICAgICA8biBpZD0iNiIgcD0iMjY5Ljk4OTk5MCA5OS45MjAwMDYiLz4KICAgICAgICAgICAgPG4gaWQ9IjciIHA9IjI2OS45ODk5OTAgODUuNjY5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSI4IiBwPSIyNTcuNjQ5OTk0IDc4LjU1MDAwMyIvPgogICAgICAgICAgICA8biBpZD0iOSIgcD0iMjQ1LjMwOTk5OCA4NS42Njk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjEwIiBwPSIyNDUuMzA5OTk4IDk5LjkyMDAwNiIvPgogICAgICAgICAgICA8biBpZD0iMTEiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMSIgcD0iMjMyLjk2MDAwNyAxMDcuMDQ5OTk1Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjIzMi45NjAwMDcgMTA3LjA0OTk5NSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk9IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxMiIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyNTcuNjQ5OTk0IDY0LjMwMDAwMyI+CiAgICAgICAgICAgICAgICA8dCBwPSIyNTcuNjQ5OTk0IDY0LjMwMDAwMyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjEzIiBwPSIyNjkuOTg5OTkwIDU3LjE2OTk5OCIvPgogICAgICAgICAgICA8biBpZD0iMTQiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjgyLjMyOTk4NyAxMDcuMDQ5OTk1Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjI4Mi4zMjk5ODcgMTA3LjA0OTk5NSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjE1IiBwPSIyOTQuNjY5OTgzIDk5LjkyMDAwNiIvPgogICAgICAgICAgICA8YiBpZD0iMTcyIiBCPSI1IiBFPSI2IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMTczIiBCPSI2IiBFPSI3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxNzQiIEI9IjciIEU9IjgiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxNzUiIEI9IjgiIEU9IjkiLz4KICAgICAgICAgICAgPGIgaWQ9IjE3NiIgQj0iOSIgRT0iMTAiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxNzciIEI9IjEwIiBFPSI1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxNzgiIEI9IjgiIEU9IjEyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxNzkiIEI9IjYiIEU9IjE0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxODAiIEI9IjEwIiBFPSIxMSIvPgogICAgICAgICAgICA8YiBpZD0iMTgxIiBCPSIxMiIgRT0iMTMiLz4KICAgICAgICAgICAgPGIgaWQ9IjE4MiIgQj0iMTQiIEU9IjE1Ii8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjE2Ij4KICAgICAgICAgICAgPG4gaWQ9IjE3IiBwPSIxMzYuNDEwMDA0IDcxLjIzOTk5OCIvPgogICAgICAgICAgICA8biBpZD0iMTgiIHA9IjEyMy45Nzk5OTYgNzguNDE5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxOSIgcD0iMTIzLjk3OTk5NiA5Mi43NzAwMDQiLz4KICAgICAgICAgICAgPG4gaWQ9IjIwIiBwPSIxMzYuNDEwMDA0IDk5LjkzOTk5NSIvPgogICAgICAgICAgICA8biBpZD0iMjEiIHA9IjE0OC44Mzk5OTYgOTIuNzcwMDA0Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyMiIgcD0iMTQ4LjgzOTk5NiA3OC40MTk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjIzIiBFbGVtZW50PSI5IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjE2MS4yNzAwMDQgOTkuOTM5OTk1Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjE2MS4yNzAwMDQgOTkuOTM5OTk1IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Rjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMjQiIEVsZW1lbnQ9IjciIENoYXJnZT0iMSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxMTEuNTUwMDAzIDcxLjIzOTk5OCI+CiAgICAgICAgICAgICAgICA8dCBwPSIxMTEuNTUwMDAzIDcxLjIzOTk5OCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk48L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjI1IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9Ijk5LjEyOTk5NyA3OC40MTk5OTgiPgogICAgICAgICAgICAgICAgPHQgcD0iOTkuMTI5OTk3IDc4LjQxOTk5OCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjI2IiBFbGVtZW50PSI4IiBDaGFyZ2U9Ii0xIiBOdW1IeWRyb2dlbnM9IjAiIHA9IjExMS41NTAwMDMgNTYuODg5OTk5Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjExMS41NTAwMDMgNTYuODg5OTk5IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMjciIEVsZW1lbnQ9IjE3IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjEzNi40MTAwMDQgMTE0LjI5MDAwMSI+CiAgICAgICAgICAgICAgICA8dCBwPSIxMzYuNDEwMDA0IDExNC4yOTAwMDEiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5DbDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8YiBpZD0iMTgzIiBCPSIxNyIgRT0iMTgiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxODQiIEI9IjE4IiBFPSIxOSIvPgogICAgICAgICAgICA8YiBpZD0iMTg1IiBCPSIxOSIgRT0iMjAiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxODYiIEI9IjIwIiBFPSIyMSIvPgogICAgICAgICAgICA8YiBpZD0iMTg3IiBCPSIyMSIgRT0iMjIiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxODgiIEI9IjIyIiBFPSIxNyIvPgogICAgICAgICAgICA8YiBpZD0iMTg5IiBCPSIyMSIgRT0iMjMiLz4KICAgICAgICAgICAgPGIgaWQ9IjE5MCIgQj0iMTgiIEU9IjI0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIxOTEiIEI9IjIwIiBFPSIyNyIvPgogICAgICAgICAgICA8YiBpZD0iMTkyIiBCPSIyNCIgRT0iMjUiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIxOTMiIEI9IjI0IiBFPSIyNiIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSIyOCI+CiAgICAgICAgICAgIDxuIGlkPSIyOSIgcD0iNDk3LjYxOTk5NSA3MS4zNDk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjMwIiBwPSI0ODUuMTc5OTkzIDc4LjUyOTk5OSIvPgogICAgICAgICAgICA8biBpZD0iMzEiIHA9IjQ4NS4xNzk5OTMgOTIuODgwMDA1Ii8+CiAgICAgICAgICAgIDxuIGlkPSIzMiIgcD0iNDk3LjYwOTk4NSAxMDAuMDQ5OTk1Ii8+CiAgICAgICAgICAgIDxuIGlkPSIzMyIgcD0iNTEwLjA0MDAwOSA5Mi44NzAwMDMiLz4KICAgICAgICAgICAgPG4gaWQ9IjM0IiBwPSI1MTAuMDQwMDA5IDc4LjUyOTk5OSIvPgogICAgICAgICAgICA8biBpZD0iMzUiIHA9IjU0Ny4zMjk5NTYgMTAwLjA0OTk5NSIvPgogICAgICAgICAgICA8biBpZD0iMzYiIHA9IjU1OS43NTAwMDAgOTIuODcwMDAzIi8+CiAgICAgICAgICAgIDxuIGlkPSIzNyIgcD0iNTU5Ljc1MDAwMCA3OC41MjAwMDQiLz4KICAgICAgICAgICAgPG4gaWQ9IjM4IiBwPSI1NDcuMzI5OTU2IDcxLjM0OTk5OCIvPgogICAgICAgICAgICA8biBpZD0iMzkiIHA9IjUzNC44OTk5NjMgNzguNTIwMDA0Ii8+CiAgICAgICAgICAgIDxuIGlkPSI0MCIgcD0iNTM0Ljg5OTk2MyA5Mi44NzAwMDMiLz4KICAgICAgICAgICAgPG4gaWQ9IjQxIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjUyMi40Njk5NzEgMTAwLjA0OTk5NSI+CiAgICAgICAgICAgICAgICA8dCBwPSI1MjIuNDY5OTcxIDEwMC4wNDk5OTUiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI0MiIgRWxlbWVudD0iNyIgQ2hhcmdlPSIxIiBOdW1IeWRyb2dlbnM9IjAiIHA9IjQ3Mi43NTAwMDAgNzEuMzQ5OTk4Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjQ3Mi43NTAwMDAgNzEuMzQ5OTk4IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNDMiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNDcyLjc1MDAwMCA1Ny4wMDAwMDAiPgogICAgICAgICAgICAgICAgPHQgcD0iNDcyLjc1MDAwMCA1Ny4wMDAwMDAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI0NCIgRWxlbWVudD0iOCIgQ2hhcmdlPSItMSIgTnVtSHlkcm9nZW5zPSIwIiBwPSI0NjAuMzI5OTg3IDc4LjUyOTk5OSI+CiAgICAgICAgICAgICAgICA8dCBwPSI0NjAuMzI5OTg3IDc4LjUyOTk5OSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjQ1IiBFbGVtZW50PSIxNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSI0OTcuNjA5OTg1IDExNC40MDAwMDIiPgogICAgICAgICAgICAgICAgPHQgcD0iNDk3LjYwOTk4NSAxMTQuNDAwMDAyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Q2w8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjQ2IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjU0Ny4zMjk5NTYgNTcuMDAwMDAwIj4KICAgICAgICAgICAgICAgIDx0IHA9IjU0Ny4zMjk5NTYgNTcuMDAwMDAwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNDciIHA9IjU1OS43NTAwMDAgNDkuODIwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSI0OCIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSI1NzIuMTc5OTkzIDEwMC4wNDk5OTUiPgogICAgICAgICAgICAgICAgPHQgcD0iNTcyLjE3OTk5MyAxMDAuMDQ5OTk1IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNDkiIHA9IjU4NC42MDk5ODUgOTIuODcwMDAzIi8+CiAgICAgICAgICAgIDxiIGlkPSIxOTQiIEI9IjI5IiBFPSIzMCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE5NSIgQj0iMzAiIEU9IjMxIi8+CiAgICAgICAgICAgIDxiIGlkPSIxOTYiIEI9IjMxIiBFPSIzMiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE5NyIgQj0iMzIiIEU9IjMzIi8+CiAgICAgICAgICAgIDxiIGlkPSIxOTgiIEI9IjMzIiBFPSIzNCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjE5OSIgQj0iMzQiIEU9IjI5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMDAiIEI9IjMzIiBFPSI0MSIvPgogICAgICAgICAgICA8YiBpZD0iMjAxIiBCPSIzMCIgRT0iNDIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIwMiIgQj0iMzIiIEU9IjQ1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMDMiIEI9IjM1IiBFPSIzNiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIwNCIgQj0iMzYiIEU9IjM3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMDUiIEI9IjM3IiBFPSIzOCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIwNiIgQj0iMzgiIEU9IjM5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMDciIEI9IjM5IiBFPSI0MCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIwOCIgQj0iNDAiIEU9IjM1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMDkiIEI9IjM4IiBFPSI0NiIvPgogICAgICAgICAgICA8YiBpZD0iMjEwIiBCPSIzNiIgRT0iNDgiLz4KICAgICAgICAgICAgPGIgaWQ9IjIxMSIgQj0iNDAiIEU9IjQxIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMTIiIEI9IjQyIiBFPSI0MyIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIxMyIgQj0iNDIiIEU9IjQ0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMTQiIEI9IjQ2IiBFPSI0NyIvPgogICAgICAgICAgICA8YiBpZD0iMjE1IiBCPSI0OCIgRT0iNDkiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNTAiPgogICAgICAgICAgICA8biBpZD0iMjIwIiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSIyMjEiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI1MSIgcD0iMzQ1LjM3OTk3NCAxMDIuMTgwMDAwIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjUyIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjMzMi45NDk5ODIgOTUuMDAwMDAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMzMyLjk0OTk4MiA5NS4wMDAwMDAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjUzIiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjM1Ny44MDk5OTggOTUuMDAwMDAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMzU3LjgwOTk5OCA5NS4wMDAwMDAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk48L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjU0IiBwPSIzNTcuODA5OTk4IDgwLjY1MDAwMiIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI1NSIgcD0iMzcwLjIzOTk5MCAxMDIuMTgwMDAwIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjIxNiIgQj0iNTMiIEU9IjU0Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjIxNyIgQj0iNTMiIEU9IjU1Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjIxOCIgQj0iNTEiIEU9IjUyIiBPcmRlcj0iMiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyMTkiIEI9IjUxIiBFPSI1MyIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5ETUY8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNTYiPgogICAgICAgICAgICA8biBpZD0iNTciIHA9IjYzLjMwMDAwMyAzNjkuNDE5OTgzIi8+CiAgICAgICAgICAgIDxuIGlkPSI1OCIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSI1MC44NzAwMDMgMzc2LjU4OTk5NiI+CiAgICAgICAgICAgICAgICA8dCBwPSI1MC44NzAwMDMgMzc2LjU4OTk5NiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjU5IiBFbGVtZW50PSI4IiBDaGFyZ2U9Ii0xIiBOdW1IeWRyb2dlbnM9IjAiIHA9Ijc1LjczMDAwMyAzNzYuNTg5OTk2Ij4KICAgICAgICAgICAgICAgIDx0IHA9Ijc1LjczMDAwMyAzNzYuNTg5OTk2IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNjAiIEVsZW1lbnQ9IjgiIENoYXJnZT0iLTEiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNjMuMzAwMDAzIDM1NS4wMTk5ODkiPgogICAgICAgICAgICAgICAgPHQgcD0iNjMuMzAwMDAzIDM1NS4wMTk5ODkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI2MSIgRWxlbWVudD0iMTkiIENoYXJnZT0iMSIgTnVtSHlkcm9nZW5zPSIwIiBwPSI3OC4wODAwMDIgMzU2LjA4OTk5NiI+CiAgICAgICAgICAgICAgICA8dCBwPSI3OC4wODAwMDIgMzU2LjA4OTk5NiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPks8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjYyIiBFbGVtZW50PSIxOSIgQ2hhcmdlPSIxIiBOdW1IeWRyb2dlbnM9IjAiIHA9Ijg5LjU4MDAwMiAzNzYuNTg5OTk2Ij4KICAgICAgICAgICAgICAgIDx0IHA9Ijg5LjU4MDAwMiAzNzYuNTg5OTk2IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Szwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8YiBpZD0iMjIyIiBCPSI1NyIgRT0iNTgiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIyMjMiIEI9IjU3IiBFPSI1OSIvPgogICAgICAgICAgICA8YiBpZD0iMjI0IiBCPSI1NyIgRT0iNjAiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNjMiPgogICAgICAgICAgICA8biBpZD0iMjI2IiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSIyMjciPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI2NCIgRWxlbWVudD0iMTkiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMzc5LjAwMDAwMCAyOTkuNzUwMDAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMzc5LjAwMDAwMCAyOTkuNzUwMDAwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5LPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI2NSIgRWxlbWVudD0iOSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIzOTMuMzQ5OTc2IDI5OS43NTAwMDAiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIzOTMuMzQ5OTc2IDI5OS43NTAwMDAiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkY8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjIyNSIgQj0iNjQiIEU9IjY1Ii8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPks8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNjYiPgogICAgICAgICAgICA8biBpZD0iMjMyIiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSIyMzMiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI2NyIgcD0iMTU0Ljg5OTk5NCAzMDQuNTQwMDA5Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjY4IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjE0Mi40NzAwMDEgMjk3LjM1OTk4NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjE0Mi40NzAwMDEgMjk3LjM1OTk4NSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNjkiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTY3LjMzMDAwMiAyOTcuMzU5OTg1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMTY3LjMzMDAwMiAyOTcuMzU5OTg1IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI3MCIgcD0iMTY3LjMzMDAwMiAyODMuMDA5OTc5Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjcxIiBwPSIxNzkuNzUwMDAwIDMwNC41NDAwMDkiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjI4IiBCPSI2OSIgRT0iNzAiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjI5IiBCPSI2OSIgRT0iNzEiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjMwIiBCPSI2NyIgRT0iNjgiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjIzMSIgQj0iNjciIEU9IjY5Ii8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPkRNRjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI3MiI+CiAgICAgICAgICAgIDxuIGlkPSI3MyIgRWxlbWVudD0iNyIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxNTkuNjY5OTk4IDM2Ny4wNTk5OTgiPgogICAgICAgICAgICAgICAgPHQgcD0iMTU5LjY2OTk5OCAzNjcuMDU5OTk4IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNzQiIHA9IjE3Mi4xMzk5OTkgMzc0LjI1OTk3OSIvPgogICAgICAgICAgICA8biBpZD0iNzUiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTg0LjYxMDAwMSAzNjcuMDU5OTk4Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjE4NC42MTAwMDEgMzY3LjA1OTk5OCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9Ijc2IiBwPSIxNDcuMTk5OTk3IDM3NC4yNTk5NzkiLz4KICAgICAgICAgICAgPG4gaWQ9Ijc3IiBwPSIxNTkuNjY5OTk4IDM1Mi42NjAwMDQiLz4KICAgICAgICAgICAgPGIgaWQ9IjIzNCIgQj0iNzMiIEU9Ijc0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMzUiIEI9Ijc0IiBFPSI3NSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjIzNiIgQj0iNzMiIEU9Ijc2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIyMzciIEI9IjczIiBFPSI3NyIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI3OCI+CiAgICAgICAgICAgIDxuIGlkPSIyNDIiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjI0MyI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijc5IiBwPSIzNjYuNjQ5OTk0IDMxOC42NjAwMDQiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iODAiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMzU0LjIyOTk4MCAzMjUuODM5OTk2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMzU0LjIyOTk4MCAzMjUuODM5OTk2IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI4MSIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIzNzkuMDc5OTg3IDMyNS44Mzk5OTYiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIzNzkuMDc5OTg3IDMyNS44Mzk5OTYiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjgyIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjM5MS41MDk5NzkgMzE4LjY2MDAwNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjM5MS41MDk5NzkgMzE4LjY2MDAwNCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iODMiIEVsZW1lbnQ9IjE5IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjQwMy45Mjk5OTMgMzI1LjgzOTk5NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjQwMy45Mjk5OTMgMzI1LjgzOTk5NiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Szwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjM4IiBCPSI4MiIgRT0iODMiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjM5IiBCPSI4MSIgRT0iODIiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMjQwIiBCPSI3OSIgRT0iODAiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI0MSIgQj0iNzkiIEU9IjgxIi8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPktIQzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI4NCI+CiAgICAgICAgICAgIDxuIGlkPSIyNDgiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjI0OSI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijg1IiBwPSI0OS43OTk5OTkgMjk3LjQ3MDAwMSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI4NiIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIzNy4zNjk5OTkgMzA0LjY0OTk5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjM3LjM2OTk5OSAzMDQuNjQ5OTk0IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI4NyIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSI2Mi4yMzAwMDMgMzA0LjY0OTk5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjYyLjIzMDAwMyAzMDQuNjQ5OTk0IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI4OCIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSI3NC42NTAwMDIgMjk3LjQ3MDAwMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9Ijc0LjY1MDAwMiAyOTcuNDcwMDAxIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI4OSIgRWxlbWVudD0iMTkiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iODcuMDgwMDAyIDMwNC42NDk5OTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSI4Ny4wODAwMDIgMzA0LjY0OTk5NCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Szwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iOTAiIEVsZW1lbnQ9IjE5IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjEwMS40MzAwMDAgMzAxLjA1OTk5OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjEwMS40MzAwMDAgMzAxLjA1OTk5OCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+S0g8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI0NCIgQj0iODgiIEU9Ijg5Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI0NSIgQj0iODciIEU9Ijg4Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjI0NiIgQj0iODUiIEU9Ijg2IiBPcmRlcj0iMiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIyNDciIEI9Ijg1IiBFPSI4NyIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5LMkM8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDx0IGlkPSI5MSIgcD0iMzU4LjQ1OTk5MSAxMzEuNjA0OTk2IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4wLjIgTSBpbiBsaW1pdGluZzwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9Ijk0IiBwPSIzNTguNDU5OTkxIDExNS4yMjAwMDEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjgwIMKwQywgNCBocnM8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI5NyIgcD0iMzU4LjQ1OTk2MSA2OS4zNjAwMDEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjEuMSBlcXVpdiA8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSI5NyIgcD0iMzU4LjQ1OTk2MSA2OS4zNjAwMDEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPksyQ08zPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTAwIiBwPSI1Mi4yODUwMDAgNy41MjAwMDAiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTYiIGZhY2U9IjIiPlM8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMDAiIHA9IjUyLjI4NTAwMCA3LjUyMDAwMCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxNiIgZmFjZT0iMiI+Tjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEwMCIgcD0iNTIuMjg1MDAwIDcuNTIwMDAwIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjE2IiBmYWNlPSIyIj5BciBSeG4yPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTAzIiBwPSIyNTguNzM5OTkwIDEzMC41MTk5ODkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+Myw1LWRpbWV0aG94eXBoZW5vbDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEwNiIgcD0iMjU4LjcyOTk4MCAxNDEuOTEwMDA0IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjUwMC05OS0yPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTA5IiBwPSI1MTkuNDY5OTcxIDE4OC4xODQ5ODIiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltkZXNpcmVkIHByb2R1Y3RdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8Z3JhcGhpYyBpZD0iMTEyIiBCb3VuZGluZ0JveD0iMjAyLjAyOTk5OSA4OC42MTQ5OTggMjAyLjAyOTk5OSA4MS4xMTQ5OTgiIEdyYXBoaWNUeXBlPSJTeW1ib2wiIFN5bWJvbFR5cGU9IlBsdXMiLz4KICAgICAgICA8dCBpZD0iMTE1IiBwPSIyNTguNzM5OTkwIDE3Mi4yOTk5ODgiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjEuMSBlcXVpdjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjExOCIgcD0iMTI5Ljc4OTk5MyAxNzIuMjk5OTg4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4xLjAgZXF1aXY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxMjEiIHA9IjI1OC43Mzk5OTAgMTg4LjE4NDk4MiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W251Y2xlb3BoaWxlXTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEyNCIgcD0iMTI5Ljc5NDk5OCAxODguMTE5OTk1IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bYXJ5bCBoYWxpZGVdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTI3IiBwPSIxMjkuODAwMDAzIDE0MS45MTAwMDQiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+NzAtMzQtODwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEzMCIgcD0iMTI5Ljc5NDk5OCAxMjkuNjY5OTk4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPjItY2hsb3JvLTEtZmx1b3JvLTQtbml0cm9iZW56ZW5lPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTMzIiBwPSI1MTkuNDY1MDI3IDEzMC41NjAwMTMiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+Mi1jaGxvcm8tMS0oMyw1LWRpbWV0aG94eXBoZW5veHkpLTQtbml0cm9iZW56ZW5lPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTM2IiBwPSIxNjcuMjI0OTkxIDMzMC4yMDk5OTEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+NjgtMTItMjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjEzOSIgcD0iMTY3LjIyNTAwNiAzODkuOTI5OTkzIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPk1vbGVjdWxhciBXZWlnaHQ6IDczLjEwPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTQyIiBwPSIxNjcuMjI1MDIxIDQwOC4wNjQ5NzIiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltzb2x2ZW50XTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE0NSIgcD0iMzkyLjEwOTk4NSAyODAuMzY5OTk1IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bYnlwcm9kdWN0c108L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNDgiIHA9IjI5LjgyNTAwMSAyODcuODY5OTk1IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIxIj5LZXk8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNTEiIHA9IjcyLjE3MDAwNiAzMTYuNDgwMDExIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPnBvdGFzc2l1bSBjYXJib25hdGU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNTQiIHA9IjcyLjE3NDk5NSAzMzAuMjA5OTkxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjU4NC0wOC03PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTU3IiBwPSI3Mi4xNzAwMDYgMzkzLjY3OTk5MyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj5Nb2xlY3VsYXIgV2VpZ2h0OiAxMzguMjA8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxNjAiIHA9IjcyLjE3NDk5NSA0MDkuNTY1MDAyIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bYmFzZV08L3M+CiAgICAgICAgPC90PgogICAgICAgIDxncmFwaGljIGlkPSIxNjMiIEJvdW5kaW5nQm94PSIwLjc5OTk5OSA0OTQuMzk5OTk0IDM0Ny4zNTk5ODUgMjczLjEwMDAwNiIgR3JhcGhpY1R5cGU9IlJlY3RhbmdsZSIvPgogICAgICAgIDxhcnJvdyBpZD0iMTY2IiBCb3VuZGluZ0JveD0iNDAzLjE1OTk3MyA4NC4xMTAwMDEgMzEzLjc1OTk3OSA4NC4xMTAwMDEiIEZpbGxUeXBlPSJOb25lIiBBcnJvd2hlYWRUeXBlPSJTb2xpZCIgSGVhZFNpemU9IjIyNTAiIEFycm93aGVhZFdpZHRoPSI1NjMiIEFycm93aGVhZEhlYWQ9IkZ1bGwiIEFycm93aGVhZENlbnRlclNpemU9IjI1IiBIZWFkM0Q9IjQwMy4xNTk5NzMgODQuMTEwMDAxIDAuMDAwMDAwIiBUYWlsM0Q9IjMxMy43NTk5NzkgODQuMTEwMDAxIDAuMDAwMDAwIi8+CiAgICAgICAgPGFycm93IGlkPSIxNjkiIEJvdW5kaW5nQm94PSI0MjkuNjA5OTg1IDM4Ni42NDk5OTQgNDI5LjYwOTk4NSAyODguMzk5OTk0IiBGaWxsVHlwZT0iTm9uZSIgQXJyb3doZWFkVHlwZT0iU29saWQiIEhlYWRTaXplPSIyMjUwIiBBcnJvd2hlYWRXaWR0aD0iNTYzIiBBcnJvd2hlYWRIZWFkPSJGdWxsIiBBcnJvd2hlYWRDZW50ZXJTaXplPSIyNSIgSGVhZDNEPSI0MjkuNjA5OTg1IDM4Ni42NDk5OTQgMC4wMDAwMDAiIFRhaWwzRD0iNDI5LjYwOTk4NSAyODguMzk5OTk0IDAuMDAwMDAwIi8+CiAgICAgICAgPHNjaGVtZT4KICAgICAgICAgICAgPHN0ZXAgUmVhY3Rpb25TdGVwT2JqZWN0c0Fib3ZlQXJyb3c9IjUwIiBSZWFjdGlvblN0ZXBBcnJvd3M9IjE2NiIvPgogICAgICAgICAgICA8c3RlcCBSZWFjdGlvblN0ZXBPYmplY3RzQWJvdmVBcnJvdz0iNTAiIFJlYWN0aW9uU3RlcEFycm93cz0iMTY5Ii8+CiAgICAgICAgPC9zY2hlbWU+CiAgICA8L3BhZ2U+CjwvQ0RYTUw+Cg== \ No newline at end of file diff --git a/api/tests/integration/tests/formats/ref/SnAr_Rxn2.cdxml b/api/tests/integration/tests/formats/ref/SnAr_Rxn2.cdxml new file mode 100644 index 0000000000..aa863942f7 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/SnAr_Rxn2.cdxml @@ -0,0 +1,455 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OH + + + + + O + + + + + + O + + + + + + + + + + + + + + + + + + + + + + + + + F + + + + + N + + + + + O + + + + + O + + + + + Cl + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + O + + + + + N + + + + + O + + + + + O + + + + + Cl + + + + + O + + + + + + O + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + O + + + + + N + + + + + + + + + + + DMF + + + + + + + + O + + + + + O + + + + + O + + + + + K + + + + + K + + + + + + + + + + + + K + + + + + F + + + + + + K + + + + + + + + + + O + + + + + N + + + + + + + + + + + DMF + + + + + + + N + + + + + + O + + + + + + + + + + + + + + + + O + + + + + O + + + + + O + + + + + K + + + + + + + + + KHC + + + + + + + + + + O + + + + + O + + + + + O + + + + + K + + + + + KH + + + + + + + + + K2C + + + + + 0.2 M in limiting + + + 80 °C, 4 hrs + + + 1.1 equiv + + + K2CO3 + + + S + + + N + + + Ar Rxn2 + + + 3,5-dimethoxyphenol + + + 500-99-2 + + + [desired product] + + + + 1.1 equiv + + + 1.0 equiv + + + [nucleophile] + + + [aryl halide] + + + 70-34-8 + + + 2-chloro-1-fluoro-4-nitrobenzene + + + 2-chloro-1-(3,5-dimethoxyphenoxy)-4-nitrobenzene + + + 68-12-2 + + + Molecular Weight: 73.10 + + + [solvent] + + + [byproducts] + + + Key + + + potassium carbonate + + + 584-08-7 + + + Molecular Weight: 138.20 + + + [base] + + + + + + + + + + diff --git a/api/tests/integration/tests/formats/ref/Suzuki_Rxn1.b64cdx b/api/tests/integration/tests/formats/ref/Suzuki_Rxn1.b64cdx new file mode 100644 index 0000000000..2089635abe --- /dev/null +++ b/api/tests/integration/tests/formats/ref/Suzuki_Rxn1.b64cdx @@ -0,0 +1 @@ +PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIENEWE1MIFNZU1RFTSAiaHR0cDovL3d3dy5jYW1icmlkZ2Vzb2Z0LmNvbS94bWwvY2R4bWwuZHRkIj4KPENEWE1MIEJvbmRMZW5ndGg9IjMwLjAwMDAwMCIgTGFiZWxGb250PSIzIiBDYXB0aW9uRm9udD0iNCI+CiAgICA8Zm9udHRhYmxlIGlkPSIxIj4KICAgICAgICA8Zm9udCBpZD0iMiIgY2hhcnNldD0idXRmLTgiIG5hbWU9IkFyaWFsIi8+CiAgICAgICAgPGZvbnQgaWQ9IjMiIGNoYXJzZXQ9InV0Zi04IiBuYW1lPSJUaW1lcyBOZXcgUm9tYW4iLz4KICAgIDwvZm9udHRhYmxlPgogICAgPGNvbG9ydGFibGU+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMCIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIxIiBnPSIwIiBiPSIwIi8+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjAiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMSIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIwIiBnPSIxIiBiPSIxIi8+CiAgICAgICAgPGNvbG9yIHI9IjAiIGc9IjAiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMSIgZz0iMCIgYj0iMSIvPgogICAgICAgIDxjb2xvciByPSIwLjUiIGc9IjAuNSIgYj0iMC41Ii8+CiAgICA8L2NvbG9ydGFibGU+CiAgICA8cGFnZSBIZWlnaHRQYWdlcz0iMSIgV2lkdGhQYWdlcz0iMSI+CiAgICAgICAgPGZyYWdtZW50IGlkPSI0Ij4KICAgICAgICAgICAgPG4gaWQ9IjUiIHA9Ijg4LjE2OTk5OCA2MC4yOTk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9IjYiIHA9Ijg4LjE2OTk5OCA3NC43MDAwMDUiLz4KICAgICAgICAgICAgPG4gaWQ9IjciIHA9IjEwMC42Mzk5OTkgODEuOTAwMDAyIi8+CiAgICAgICAgICAgIDxuIGlkPSI4IiBwPSIxMTMuMTEwMDAxIDc0LjcwMDAwNSIvPgogICAgICAgICAgICA8biBpZD0iOSIgcD0iMTEzLjExMDAwMSA2MC4yOTk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9IjEwIiBwPSIxMDAuNjM5OTk5IDUzLjA5OTk5OCIvPgogICAgICAgICAgICA8biBpZD0iMTEiIHA9Ijc1LjY5OTk5NyA4MS45MDAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjEyIiBwPSI2My4yMzAwMDMgNzQuNzAwMDA1Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMyIgcD0iNzUuNjk5OTk3IDk2LjMwMDAwMyIvPgogICAgICAgICAgICA8biBpZD0iMTQiIHA9IjYzLjIzMDAwMyA4OS4wOTk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjE1IiBFbGVtZW50PSI1IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjEyNS41Nzk5OTQgNTMuMDk5OTk4Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjEyNS41Nzk5OTQgNTMuMDk5OTk4IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Qjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMTYiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMSIgcD0iMTM4LjA1MDAwMyA2MC4yOTk5OTkiPgogICAgICAgICAgICAgICAgPHQgcD0iMTM4LjA1MDAwMyA2MC4yOTk5OTkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PSDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMTciIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMSIgcD0iMTI1LjU3OTk5NCAzOC43MDAwMDUiPgogICAgICAgICAgICAgICAgPHQgcD0iMTI1LjU3OTk5NCAzOC43MDAwMDUiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PSDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8YiBpZD0iMzAzIiBCPSI1IiBFPSI2IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzA0IiBCPSI2IiBFPSI3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMDUiIEI9IjciIEU9IjgiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMDYiIEI9IjgiIEU9IjkiLz4KICAgICAgICAgICAgPGIgaWQ9IjMwNyIgQj0iOSIgRT0iMTAiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMDgiIEI9IjEwIiBFPSI1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMDkiIEI9IjYiIEU9IjExIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMTAiIEI9IjExIiBFPSIxMiIvPgogICAgICAgICAgICA8YiBpZD0iMzExIiBCPSIxMSIgRT0iMTMiLz4KICAgICAgICAgICAgPGIgaWQ9IjMxMiIgQj0iMTEiIEU9IjE0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMTMiIEI9IjkiIEU9IjE1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMTQiIEI9IjE1IiBFPSIxNiIvPgogICAgICAgICAgICA8YiBpZD0iMzE1IiBCPSIxNSIgRT0iMTciLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iMTgiPgogICAgICAgICAgICA8biBpZD0iMTkiIHA9IjI0MC41ODAwMTcgNTEuNTAwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSIyMCIgcD0iMjQwLjU4MDAxNyA2NS44NDk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjIxIiBwPSIyNTMuMDAwMDAwIDczLjAyOTk5OSIvPgogICAgICAgICAgICA8biBpZD0iMjIiIHA9IjI2NS40Mjk5OTMgNjUuODQ5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyMyIgcD0iMjY1LjQyOTk5MyA1MS41MDAwMDAiLz4KICAgICAgICAgICAgPG4gaWQ9IjI0IiBwPSIyNTMuMDAwMDAwIDQ0LjMyMDAwMCIvPgogICAgICAgICAgICA8biBpZD0iMjUiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjI4LjE0OTk5NCA3My4wMjAwMDQiPgogICAgICAgICAgICAgICAgPHQgcD0iMjI4LjE0OTk5NCA3My4wMjAwMDQiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIyNiIgRWxlbWVudD0iMzUiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjc3Ljg1OTk4NSA3My4wMjAwMDQiPgogICAgICAgICAgICAgICAgPHQgcD0iMjc3Ljg1OTk4NSA3My4wMjAwMDQiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5Ccjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMjciIHA9IjIxNS43MjAwMDEgNjUuODQ5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyOCIgcD0iMjI4LjE0OTk5NCA4Ny4zNzAwMDMiLz4KICAgICAgICAgICAgPGIgaWQ9IjMxNiIgQj0iMTkiIEU9IjIwIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzE3IiBCPSIyMCIgRT0iMjEiLz4KICAgICAgICAgICAgPGIgaWQ9IjMxOCIgQj0iMjEiIEU9IjIyIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzE5IiBCPSIyMiIgRT0iMjMiLz4KICAgICAgICAgICAgPGIgaWQ9IjMyMCIgQj0iMjMiIEU9IjI0IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzIxIiBCPSIyNCIgRT0iMTkiLz4KICAgICAgICAgICAgPGIgaWQ9IjMyMiIgQj0iMjAiIEU9IjI1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMjMiIEI9IjI1IiBFPSIyNyIvPgogICAgICAgICAgICA8YiBpZD0iMzI0IiBCPSIyNSIgRT0iMjgiLz4KICAgICAgICAgICAgPGIgaWQ9IjMyNSIgQj0iMjIiIEU9IjI2Ii8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjI5Ij4KICAgICAgICAgICAgPG4gaWQ9IjMwIiBwPSI1MDUuMDI5OTM4IDYyLjI2MDAwMiIvPgogICAgICAgICAgICA8biBpZD0iMzEiIHA9IjUwNS4wMjk5MzggNzYuNjEwMDAxIi8+CiAgICAgICAgICAgIDxuIGlkPSIzMiIgcD0iNTE3LjQ1OTk2MSA4My43OTAwMDEiLz4KICAgICAgICAgICAgPG4gaWQ9IjMzIiBwPSI1MjkuODgwMDA1IDc2LjYxMDAwMSIvPgogICAgICAgICAgICA8biBpZD0iMzQiIHA9IjUxNy40NTk5NjEgNTUuMDkwMDA0Ii8+CiAgICAgICAgICAgIDxuIGlkPSIzNSIgcD0iNDkyLjYwMDAwNiA4My43OTAwMDEiLz4KICAgICAgICAgICAgPG4gaWQ9IjM2IiBwPSI0ODAuMTcwMDEzIDc2LjYxMDAwMSIvPgogICAgICAgICAgICA8biBpZD0iMzciIHA9IjQ5Mi42MDAwMDYgOTguMTM5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSIzOCIgcD0iNDgwLjE3MDAxMyA5MC45NTk5OTkiLz4KICAgICAgICAgICAgPG4gaWQ9IjM5IiBwPSI1NjcuMTU5OTczIDQwLjczOTk5OCIvPgogICAgICAgICAgICA8biBpZD0iNDAiIHA9IjU2Ny4xNTk5NzMgNTUuMDkwMDA0Ii8+CiAgICAgICAgICAgIDxuIGlkPSI0MSIgcD0iNTU0LjczOTk5MCA2Mi4yNjAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjQyIiBwPSI1NDIuMzA5OTk4IDU1LjA5MDAwNCIvPgogICAgICAgICAgICA8biBpZD0iNDMiIHA9IjU0Mi4zMDk5OTggNDAuNzM5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSI0NCIgcD0iNTU0LjczOTk5MCAzMy41NTk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjQ1IiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjU3OS41ODk5NjYgNjIuMjYwMDAyIj4KICAgICAgICAgICAgICAgIDx0IHA9IjU3OS41ODk5NjYgNjIuMjYwMDAyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNDYiIHA9IjUyOS44ODAwMDUgNjIuMjYwMDAyIi8+CiAgICAgICAgICAgIDxuIGlkPSI0NyIgcD0iNTc5LjU4OTk2NiA3Ni42MTAwMDEiLz4KICAgICAgICAgICAgPG4gaWQ9IjQ4IiBwPSI1OTIuMDE5OTU4IDU1LjA5MDAwNCIvPgogICAgICAgICAgICA8YiBpZD0iMzI2IiBCPSIzMCIgRT0iMzEiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMjciIEI9IjMxIiBFPSIzMiIvPgogICAgICAgICAgICA8YiBpZD0iMzI4IiBCPSIzMiIgRT0iMzMiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMjkiIEI9IjMzIiBFPSI0NiIvPgogICAgICAgICAgICA8YiBpZD0iMzMwIiBCPSI0NiIgRT0iMzQiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMzEiIEI9IjM0IiBFPSIzMCIvPgogICAgICAgICAgICA8YiBpZD0iMzMyIiBCPSIzMSIgRT0iMzUiLz4KICAgICAgICAgICAgPGIgaWQ9IjMzMyIgQj0iMzUiIEU9IjM2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMzQiIEI9IjM1IiBFPSIzNyIvPgogICAgICAgICAgICA8YiBpZD0iMzM1IiBCPSIzNSIgRT0iMzgiLz4KICAgICAgICAgICAgPGIgaWQ9IjMzNiIgQj0iMzkiIEU9IjQwIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzM3IiBCPSI0MCIgRT0iNDEiLz4KICAgICAgICAgICAgPGIgaWQ9IjMzOCIgQj0iNDEiIEU9IjQyIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzM5IiBCPSI0MiIgRT0iNDMiLz4KICAgICAgICAgICAgPGIgaWQ9IjM0MCIgQj0iNDMiIEU9IjQ0IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzQxIiBCPSI0NCIgRT0iMzkiLz4KICAgICAgICAgICAgPGIgaWQ9IjM0MiIgQj0iNDAiIEU9IjQ1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzNDMiIEI9IjQ1IiBFPSI0NyIvPgogICAgICAgICAgICA8YiBpZD0iMzQ0IiBCPSI0NSIgRT0iNDgiLz4KICAgICAgICAgICAgPGIgaWQ9IjM0NSIgQj0iNDIiIEU9IjQ2Ii8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjQ5Ij4KICAgICAgICAgICAgPG4gaWQ9IjUwIiBwPSI0NDYuMTM5OTg0IDI1MC4xODk5ODciLz4KICAgICAgICAgICAgPG4gaWQ9IjUxIiBwPSI0NDIuMDc5OTg3IDI2NC4wMDk5NzkiLz4KICAgICAgICAgICAgPG4gaWQ9IjUyIiBwPSI0NTIuMDA5OTc5IDI3NC40NDAwMDIiLz4KICAgICAgICAgICAgPG4gaWQ9IjUzIiBwPSI0NjYuMDI5OTk5IDI3MS4wNDk5ODgiLz4KICAgICAgICAgICAgPG4gaWQ9IjU0IiBwPSI0NzAuMDg5OTk2IDI1Ny4yMjk5ODAiLz4KICAgICAgICAgICAgPG4gaWQ9IjU1IiBwPSI0NjAuMTM5OTg0IDI0Ni43OTAwMDkiLz4KICAgICAgICAgICAgPG4gaWQ9IjU2IiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjQ3Ny45MDk5NzMgMjc5LjE2OTk4MyI+CiAgICAgICAgICAgICAgICA8dCBwPSI0NzcuOTA5OTczIDI3OS4xNjk5ODMiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OSDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNTciIHA9IjQ4OS4zMDk5OTggMjcwLjM2OTk5NSIvPgogICAgICAgICAgICA8biBpZD0iNTgiIHA9IjQ4NC40ODk5OTAgMjU2LjgwOTk5OCIvPgogICAgICAgICAgICA8biBpZD0iNTkiIHA9IjUwMy40Njk5NDAgMjcyLjk3OTk4MCIvPgogICAgICAgICAgICA8biBpZD0iNjAiIHA9IjUxMi44MDk5OTggMjYyLjAwOTk3OSIvPgogICAgICAgICAgICA8biBpZD0iNjEiIHA9IjUwNy45ODAwMTEgMjQ4LjQ0OTk4MiIvPgogICAgICAgICAgICA8biBpZD0iNjIiIHA9IjQ5My44MjAwMDcgMjQ1Ljg0MDAxMiIvPgogICAgICAgICAgICA8YiBpZD0iMzQ2IiBCPSI1MCIgRT0iNTEiLz4KICAgICAgICAgICAgPGIgaWQ9IjM0NyIgQj0iNTEiIEU9IjUyIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzQ4IiBCPSI1MiIgRT0iNTMiLz4KICAgICAgICAgICAgPGIgaWQ9IjM0OSIgQj0iNTMiIEU9IjU0IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzUwIiBCPSI1NCIgRT0iNTUiLz4KICAgICAgICAgICAgPGIgaWQ9IjM1MSIgQj0iNTAiIEU9IjU1IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzUyIiBCPSI1MyIgRT0iNTYiLz4KICAgICAgICAgICAgPGIgaWQ9IjM1MyIgQj0iNTYiIEU9IjU3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzNTQiIEI9IjU3IiBFPSI1OCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjM1NSIgQj0iNTQiIEU9IjU4Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzNTYiIEI9IjU3IiBFPSI1OSIvPgogICAgICAgICAgICA8YiBpZD0iMzU3IiBCPSI1OSIgRT0iNjAiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNTgiIEI9IjYwIiBFPSI2MSIvPgogICAgICAgICAgICA8YiBpZD0iMzU5IiBCPSI2MSIgRT0iNjIiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNjAiIEI9IjYyIiBFPSI1OCIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI2MyI+CiAgICAgICAgICAgIDxuIGlkPSIzNjMiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjM2NCI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjY0IiBFbGVtZW50PSI0NiIgTnVtSHlkcm9nZW5zPSIwIiBwPSI0NjIuMDU5OTk4IDM3OC44Njk5OTUiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSI0NjIuMDU5OTk4IDM3OC44Njk5OTUiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPlBkPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI2NSIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIxIiBwPSI0NDkuNjM5OTg0IDM4Ni4wNDk5ODgiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSI0NDkuNjM5OTg0IDM4Ni4wNDk5ODgiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk9IPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI2NiIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIxIiBwPSI0NzQuNDg5OTkwIDM4Ni4wNDk5ODgiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSI0NzQuNDg5OTkwIDM4Ni4wNDk5ODgiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk9IPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzNjEiIEI9IjY0IiBFPSI2NSIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzNjIiIEI9IjY0IiBFPSI2NiIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5QZCg8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNjciPgogICAgICAgICAgICA8biBpZD0iMzY2IiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSIzNjciPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI2OCIgRWxlbWVudD0iMTkiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNDY1LjA4OTk5NiA0MjcuNzIwMDAxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iNDY1LjA4OTk5NiA0MjcuNzIwMDAxIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5LPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI2OSIgRWxlbWVudD0iMzUiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNDc5LjQzOTk3MiA0MjcuNzIwMDAxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iNDc5LjQzOTk3MiA0MjcuNzIwMDAxIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5Ccjwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzY1IiBCPSI2OCIgRT0iNjkiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+Szwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI3MCI+CiAgICAgICAgICAgIDxuIGlkPSIzNzEiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjM3MiI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjcxIiBFbGVtZW50PSI1IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjQ2NS4wODk5OTYgNDUxLjgzOTk5NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjQ2NS4wODk5OTYgNDUxLjgzOTk5NiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Qjwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNzIiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMSIgcD0iNDUyLjY2OTk4MyA0NTkuMDA5OTc5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iNDUyLjY2OTk4MyA0NTkuMDA5OTc5IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PSDwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNzMiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMSIgcD0iNDc3LjUxOTk4OSA0NTkuMDA5OTc5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iNDc3LjUxOTk4OSA0NTkuMDA5OTc5IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PSDwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNzQiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMSIgcD0iNDY1LjA4OTk5NiA0MzcuNDg5OTkwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iNDY1LjA4OTk5NiA0MzcuNDg5OTkwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PSDwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzY4IiBCPSI3MSIgRT0iNzIiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzY5IiBCPSI3MSIgRT0iNzMiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzcwIiBCPSI3MSIgRT0iNzQiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+Qjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI3NSI+CiAgICAgICAgICAgIDxuIGlkPSI3NiIgcD0iMzMyLjMxOTk3NyAzMDcuNjQ5OTk0Ii8+CiAgICAgICAgICAgIDxuIGlkPSI3NyIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIxIiBwPSIzNDQuNzg5OTc4IDMwMC40NDk5ODIiPgogICAgICAgICAgICAgICAgPHQgcD0iMzQ0Ljc4OTk3OCAzMDAuNDQ5OTgyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+T0g8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9Ijc4IiBwPSIzMTkuODQ5OTc2IDMwMC40NDk5ODIiLz4KICAgICAgICAgICAgPGIgaWQ9IjM3MyIgQj0iNzYiIEU9Ijc3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzNzQiIEI9Ijc2IiBFPSI3OCIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI3OSI+CiAgICAgICAgICAgIDxuIGlkPSIzNzciIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjM3OCI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjgwIiBwPSIxNjguMTE5OTk1IDgzLjgwMDAwMyIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI4MSIgcD0iMTgwLjU1MDAwMyA3Ni42MzAwMDUiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iODIiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMSIgcD0iMTkyLjk3MDAwMSA4My44MDAwMDMiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIxOTIuOTcwMDAxIDgzLjgwMDAwMyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+T0g8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM3NSIgQj0iODEiIEU9IjgyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM3NiIgQj0iODAiIEU9IjgxIi8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPkV0T0g8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iODMiPgogICAgICAgICAgICA8biBpZD0iMzgzIiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSIzODQiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI4NCIgcD0iMjM2LjMwMDAwMyAyNDYuNDE5OTk4Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijg1IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjIyMy44Njk5OTUgMjUzLjYwMDAyMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjIyMy44Njk5OTUgMjUzLjYwMDAyMSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iODYiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjQ4LjcyOTk4MCAyNTMuNjAwMDIxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMjQ4LjcyOTk4MCAyNTMuNjAwMDIxIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI4NyIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyNjEuMTQ5OTk0IDI0Ni40MTk5OTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIyNjEuMTQ5OTk0IDI0Ni40MTk5OTgiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijg4IiBFbGVtZW50PSIxOSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyNzMuNTc5OTg3IDI1My42MDAwMjEiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIyNzMuNTc5OTg3IDI1My42MDAwMjEiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPks8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijg5IiBFbGVtZW50PSIxOSIgTnVtSHlkcm9nZW5zPSIxIiBwPSIyODcuOTI5OTkzIDI1MC4wMDk5NzkiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIyODcuOTI5OTkzIDI1MC4wMDk5NzkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPktIPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzNzkiIEI9Ijg3IiBFPSI4OCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzODAiIEI9Ijg2IiBFPSI4NyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzODEiIEI9Ijg0IiBFPSI4NSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzgyIiBCPSI4NCIgRT0iODYiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+SzJDTzM8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iOTAiPgogICAgICAgICAgICA8biBpZD0iOTEiIHA9IjI0OS44MDAwMDMgMzExLjQxOTk4MyIvPgogICAgICAgICAgICA8biBpZD0iOTIiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjM3LjM2OTk5NSAzMTguNTg5OTk2Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjIzNy4zNjk5OTUgMzE4LjU4OTk5NiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjkzIiBFbGVtZW50PSI4IiBDaGFyZ2U9Ii0xIiBOdW1IeWRyb2dlbnM9IjAiIHA9IjI2Mi4yMjk5ODAgMzE4LjU4OTk5NiI+CiAgICAgICAgICAgICAgICA8dCBwPSIyNjIuMjI5OTgwIDMxOC41ODk5OTYiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI5NCIgRWxlbWVudD0iOCIgQ2hhcmdlPSItMSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyNDkuODAwMDAzIDI5Ny4wMTk5ODkiPgogICAgICAgICAgICAgICAgPHQgcD0iMjQ5LjgwMDAwMyAyOTcuMDE5OTg5IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iOTUiIEVsZW1lbnQ9IjE5IiBDaGFyZ2U9IjEiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjY0LjU3OTk4NyAyOTguMDg5OTk2Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjI2NC41Nzk5ODcgMjk4LjA4OTk5NiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPks8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9Ijk2IiBFbGVtZW50PSIxOSIgQ2hhcmdlPSIxIiBOdW1IeWRyb2dlbnM9IjAiIHA9IjI3Ni4wNzk5ODcgMzE4LjU4OTk5NiI+CiAgICAgICAgICAgICAgICA8dCBwPSIyNzYuMDc5OTg3IDMxOC41ODk5OTYiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5LPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxiIGlkPSIzODUiIEI9IjkxIiBFPSI5MiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjM4NiIgQj0iOTEiIEU9IjkzIi8+CiAgICAgICAgICAgIDxiIGlkPSIzODciIEI9IjkxIiBFPSI5NCIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSI5NyI+CiAgICAgICAgICAgIDxuIGlkPSI5OCIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIzOTQuMjY5OTg5IDMwNS4xNDk5OTQiPgogICAgICAgICAgICAgICAgPHQgcD0iMzk0LjI2OTk4OSAzMDUuMTQ5OTk0IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iOTkiIEVsZW1lbnQ9IjEiIHA9IjQwNi43Mzk5OTAgMjk3Ljk0OTk4MiI+CiAgICAgICAgICAgICAgICA8dCBwPSI0MDYuNzM5OTkwIDI5Ny45NDk5ODIiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxMDAiIEVsZW1lbnQ9IjEiIHA9IjM4MS43ODk5NzggMjk3Ljk0OTk4MiI+CiAgICAgICAgICAgICAgICA8dCBwPSIzODEuNzg5OTc4IDI5Ny45NDk5ODIiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxiIGlkPSIzODgiIEI9Ijk4IiBFPSI5OSIvPgogICAgICAgICAgICA8YiBpZD0iMzg5IiBCPSI5OCIgRT0iMTAwIi8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjEwMSI+CiAgICAgICAgICAgIDxuIGlkPSI0MjIiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjQyMyI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEwNCIgcD0iNDk5LjUyMDAyMCAzNDguODM5OTk2Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjQyNCIgTm9kZVR5cGU9IkV4dGVybmFsQ29ubmVjdGlvblBvaW50Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEwNSIgcD0iNTEzLjQ0MDAwMiAzNTIuMjkwMDA5Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEwNiIgcD0iNTIzLjM5OTk2MyAzNDEuOTU5OTkxIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEwNyIgcD0iNTE5LjQyOTk5MyAzMjguMTY5OTgzIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEwOCIgcD0iNTA1LjUwMDAwMCAzMjQuNzA5OTkxIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEwOSIgcD0iNDk1LjUzOTk3OCAzMzUuMDQ5OTg4Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM5MCIgQj0iMTA4IiBFPSIxMDkiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzkxIiBCPSIxMDciIEU9IjEwOCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzOTIiIEI9IjEwNiIgRT0iMTA3Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM5MyIgQj0iMTA1IiBFPSIxMDYiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzk0IiBCPSIxMDQiIEU9IjEwNSIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzOTUiIEI9IjEwNCIgRT0iMTA5Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQyNiIgQj0iNDI0IiBFPSIxMDQiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+Q3k8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjQyNyIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iNDI4Ij4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTEwIiBwPSI1MDAuOTU5OTYxIDM1OS43Njk5ODkiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNDI5IiBOb2RlVHlwZT0iRXh0ZXJuYWxDb25uZWN0aW9uUG9pbnQiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTExIiBwPSI1MDkuMDQ5OTU3IDM3MS42MTk5OTUiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTEyIiBwPSI1MjMuMzU5OTg1IDM3MC41NDAwMDkiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTEzIiBwPSI1MjkuNTc5OTU2IDM1Ny42MDk5ODUiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTE0IiBwPSI1MjEuNDg5OTkwIDM0NS43NTk5NzkiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTE1IiBwPSI1MDcuMTc5OTkzIDM0Ni44Mzk5OTYiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzk2IiBCPSIxMTQiIEU9IjExNSIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzOTciIEI9IjExMyIgRT0iMTE0Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM5OCIgQj0iMTEyIiBFPSIxMTMiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzk5IiBCPSIxMTEiIEU9IjExMiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0MDAiIEI9IjExMCIgRT0iMTExIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQwMSIgQj0iMTEwIiBFPSIxMTUiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDMxIiBCPSI0MjkiIEU9IjExMCIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5DeTwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNDMyIiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSI0MzMiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMjciIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNDkzLjYyMDAyNiAzMzYuMzY5OTk1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iNDkzLjYyMDAyNiAzMzYuMzY5OTk1IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI0MzQiIE5vZGVUeXBlPSJFeHRlcm5hbENvbm5lY3Rpb25Qb2ludCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMjgiIHA9IjUwMy43ODk5NzggMzQ2LjQ4OTk5MCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0MDIiIEI9IjEyNyIgRT0iMTI4Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQzNiIgQj0iNDM0IiBFPSIxMjciLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+T01lPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI0MzciIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjQzOCI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEyOSIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSI0NzUuNDY5OTcxIDMxMi44Mzk5OTYiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSI0NzUuNDY5OTcxIDMxMi44Mzk5OTYiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjQzOSIgTm9kZVR5cGU9IkV4dGVybmFsQ29ubmVjdGlvblBvaW50Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEzMCIgcD0iNDY3Ljk0OTk4MiAzMjUuMDU5OTk4Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQwMyIgQj0iMTI5IiBFPSIxMzAiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDQxIiBCPSI0MzkiIEU9IjEyOSIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5PTWU8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjEwMiIgRWxlbWVudD0iMTUiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNDg3LjA0OTk1NyAzNTYuMDQwMDA5Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjQ4Ny4wNDk5NTcgMzU2LjA0MDAwOSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPlA8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjEwMyIgcD0iNDcxLjA3OTk4NyAzNDkuODM5OTk2Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMTYiIHA9IjQ2OS40NTk5OTEgMzM1LjUyOTk5OSIvPgogICAgICAgICAgICA8biBpZD0iMTE3IiBwPSI0NTYuMjUwMDAwIDMyOS43OTAwMDkiLz4KICAgICAgICAgICAgPG4gaWQ9IjExOCIgcD0iNDQ0LjY2OTk4MyAzMzguMzUwMDA2Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMTkiIHA9IjQ0Ni4yOTk5ODggMzUyLjY0OTk5NCIvPgogICAgICAgICAgICA8biBpZD0iMTIwIiBwPSI0NTkuNTAwMDAwIDM1OC4zOTk5OTQiLz4KICAgICAgICAgICAgPG4gaWQ9IjEyMSIgcD0iNDg3LjA0MDAwOSAzMjIuOTcwMDAxIi8+CiAgICAgICAgICAgIDxuIGlkPSIxMjIiIHA9IjQ5Ni44NzAwMjYgMzI0LjE2MDAwNCIvPgogICAgICAgICAgICA8biBpZD0iMTIzIiBwPSI1MDguNDUwMDEyIDMxNS42MDAwMDYiLz4KICAgICAgICAgICAgPG4gaWQ9IjEyNCIgcD0iNTEwLjE5MDAzMyAzMDUuODUwMDA2Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMjUiIHA9IjUwMC4zNjAwMTYgMzA0LjY2MDAwNCIvPgogICAgICAgICAgICA8biBpZD0iMTI2IiBwPSI0ODguNzgwMDI5IDMxMy4yMjAwMDEiLz4KICAgICAgICAgICAgPGIgaWQ9IjQwNCIgQj0iMTAyIiBFPSIxMDMiLz4KICAgICAgICAgICAgPGIgaWQ9IjQwNyIgQj0iMTAzIiBFPSIxMTYiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSI0MDgiIEI9IjExNiIgRT0iMTE3Ii8+CiAgICAgICAgICAgIDxiIGlkPSI0MDkiIEI9IjExNyIgRT0iMTE4IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iNDEwIiBCPSIxMTgiIEU9IjExOSIvPgogICAgICAgICAgICA8YiBpZD0iNDExIiBCPSIxMTkiIEU9IjEyMCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjQxMiIgQj0iMTIwIiBFPSIxMDMiLz4KICAgICAgICAgICAgPGIgaWQ9IjQxMyIgQj0iMTE2IiBFPSIxMjEiLz4KICAgICAgICAgICAgPGIgaWQ9IjQxNCIgQj0iMTIxIiBFPSIxMjIiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSI0MTUiIEI9IjEyMiIgRT0iMTIzIi8+CiAgICAgICAgICAgIDxiIGlkPSI0MTYiIEI9IjEyMyIgRT0iMTI0IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iNDE3IiBCPSIxMjQiIEU9IjEyNSIvPgogICAgICAgICAgICA8YiBpZD0iNDE4IiBCPSIxMjUiIEU9IjEyNiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjQxOSIgQj0iMTI2IiBFPSIxMjEiLz4KICAgICAgICAgICAgPGIgaWQ9IjQyNSIgQj0iMTAyIiBFPSI0MjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjQzMCIgQj0iMTAyIiBFPSI0MjciLz4KICAgICAgICAgICAgPGIgaWQ9IjQzNSIgQj0iMTIyIiBFPSI0MzIiLz4KICAgICAgICAgICAgPGIgaWQ9IjQ0MCIgQj0iMTI2IiBFPSI0MzciLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iMTMxIj4KICAgICAgICAgICAgPG4gaWQ9IjQ0NiIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iNDQ3Ij4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTMyIiBwPSI0NTIuMzc5OTc0IDQwMS41MTk5ODkiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTMzIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjQzOS45NDk5ODIgNDA4LjY5MDAwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjQzOS45NDk5ODIgNDA4LjY5MDAwMiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTM0IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjQ2NC44MDk5OTggNDA4LjY5MDAwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjQ2NC44MDk5OTggNDA4LjY5MDAwMiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTM1IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjQ3Ny4yMjk5ODAgNDAxLjUxOTk4OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjQ3Ny4yMjk5ODAgNDAxLjUxOTk4OSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTM2IiBFbGVtZW50PSIxOSIgTnVtSHlkcm9nZW5zPSIwIiBwPSI0ODkuNjU5OTczIDQwOC42OTAwMDIiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSI0ODkuNjU5OTczIDQwOC42OTAwMDIiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPks8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQ0MiIgQj0iMTM1IiBFPSIxMzYiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDQzIiBCPSIxMzQiIEU9IjEzNSIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0NDQiIEI9IjEzMiIgRT0iMTMzIiBPcmRlcj0iMiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0NDUiIEI9IjEzMiIgRT0iMTM0Ii8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPktIQ08zPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjEzNyI+CiAgICAgICAgICAgIDxuIGlkPSI1MDIiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjUwMyI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjE1MyIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxMzcuMDM5OTkzIDM4Ny4yNjk5ODkiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIxMzcuMDM5OTkzIDM4Ny4yNjk5ODkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjUwNCIgTm9kZVR5cGU9IkV4dGVybmFsQ29ubmVjdGlvblBvaW50Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjE1NCIgcD0iMTUyLjIyMDAwMSA0MTEuNjMwMDA1Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjE1NSIgRWxlbWVudD0iMTYiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTQ0LjYzMDAwNSAzOTkuNDQ5OTgyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMTQ0LjYzMDAwNSAzOTkuNDQ5OTgyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5TPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNTYiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTMyLjQ0OTk5NyA0MDcuMDQwMDA5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMTMyLjQ0OTk5NyA0MDcuMDQwMDA5IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNTciIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTU2LjgwOTk5OCAzOTEuODU5OTg1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMTU2LjgwOTk5OCAzOTEuODU5OTg1IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0NDgiIEI9IjE1NSIgRT0iMTU2IiBPcmRlcj0iMiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0NDkiIEI9IjE1NSIgRT0iMTU3IiBPcmRlcj0iMiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0NTAiIEI9IjE1NCIgRT0iMTU1Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQ1MSIgQj0iMTUzIiBFPSIxNTUiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNTA2IiBCPSI1MDQiIEU9IjE1MyIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5PTXM8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjUwNyIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iNTA4Ij4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTU5IiBwPSIxMzUuMzMwMDAyIDM1MC4xOTAwMDIiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNTA5IiBOb2RlVHlwZT0iRXh0ZXJuYWxDb25uZWN0aW9uUG9pbnQiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTYwIiBwPSIxNDkuMjUwMDAwIDM1My42Mzk5ODQiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTYxIiBwPSIxNTkuMjEwMDA3IDM0My4zMDk5OTgiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTYyIiBwPSIxNTUuMjQwMDA1IDMyOS41MTk5ODkiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTYzIiBwPSIxNDEuMzA5OTk4IDMyNi4wNTk5OTgiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTY0IiBwPSIxMzEuMzUwMDA2IDMzNi4zOTk5OTQiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDUyIiBCPSIxNjMiIEU9IjE2NCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0NTMiIEI9IjE2MiIgRT0iMTYzIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQ1NCIgQj0iMTYxIiBFPSIxNjIiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDU1IiBCPSIxNjAiIEU9IjE2MSIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0NTYiIEI9IjE1OSIgRT0iMTYwIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQ1NyIgQj0iMTU5IiBFPSIxNjQiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNTExIiBCPSI1MDkiIEU9IjE1OSIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5DeTwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNTEyIiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSI1MTMiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNjUiIHA9IjE0Mi4wMzk5OTMgMzYyLjM2OTk5NSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI1MTQiIE5vZGVUeXBlPSJFeHRlcm5hbENvbm5lY3Rpb25Qb2ludCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNjYiIHA9IjE1MC4xMzAwMDUgMzc0LjIyMDAwMSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNjciIHA9IjE2NC40NDAwMDIgMzczLjEzOTk4NCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNjgiIHA9IjE3MC42NjAwMDQgMzYwLjIwOTk5MSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNjkiIHA9IjE2Mi41NzAwMDcgMzQ4LjM1OTk4NSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNzAiIHA9IjE0OC4yNTk5OTUgMzQ5LjQ0MDAwMiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0NTgiIEI9IjE2OSIgRT0iMTcwIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQ1OSIgQj0iMTY4IiBFPSIxNjkiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDYwIiBCPSIxNjciIEU9IjE2OCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0NjEiIEI9IjE2NiIgRT0iMTY3Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQ2MiIgQj0iMTY1IiBFPSIxNjYiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDYzIiBCPSIxNjUiIEU9IjE3MCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI1MTYiIEI9IjUxNCIgRT0iMTY1Ii8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPkN5PC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI1MTciIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjUxOCI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjE4MiIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxMjIuNzEwMDA3IDM0OC4xOTk5ODIiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIxMjIuNzEwMDA3IDM0OC4xOTk5ODIiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjUxOSIgTm9kZVR5cGU9IkV4dGVybmFsQ29ubmVjdGlvblBvaW50Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjE4MyIgcD0iMTMyLjg4MDAwNSAzNTguMzIwMDA3Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQ2NCIgQj0iMTgyIiBFPSIxODMiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNTIxIiBCPSI1MTkiIEU9IjE4MiIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5PTWU8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjUyMiIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iNTIzIj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTg0IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjEwNC41NTk5OTggMzI0LjY2OTk4MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjEwNC41NTk5OTggMzI0LjY2OTk4MyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNTI0IiBOb2RlVHlwZT0iRXh0ZXJuYWxDb25uZWN0aW9uUG9pbnQiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTg1IiBwPSI5Ny4wNDAwMDEgMzM2Ljg4OTk4NCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0NjUiIEI9IjE4NCIgRT0iMTg1Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjUyNiIgQj0iNTI0IiBFPSIxODQiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+T01lPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxMzgiIHA9Ijc1LjQ3MDAwMSA0MTIuNjQ5OTk0Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMzkiIHA9IjgyLjY2OTk5OCA0MjUuMTE5OTk1Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxNDAiIHA9Ijk3LjA3MDAwMCA0MjUuMTE5OTk1Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxNDEiIHA9IjEwNC4yNzAwMDQgNDEyLjY0OTk5NCIvPgogICAgICAgICAgICA8biBpZD0iMTQyIiBwPSI5Ny4wNzAwMDAgNDAwLjE3OTk5MyIvPgogICAgICAgICAgICA8biBpZD0iMTQzIiBwPSI4Mi42Njk5OTggNDAwLjE3OTk5MyIvPgogICAgICAgICAgICA8biBpZD0iMTQ0IiBwPSIxMTguNjY5OTk4IDQxMi42NDk5OTQiLz4KICAgICAgICAgICAgPG4gaWQ9IjE0NSIgcD0iMTI1Ljg2OTk4NyA0MjUuMTE5OTk1Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxNDYiIHA9IjE0MC4yNzAwMDQgNDI1LjExOTk5NSIvPgogICAgICAgICAgICA8biBpZD0iMTQ3IiBwPSIxNDcuNDcwMDAxIDQxMi42NDk5OTQiLz4KICAgICAgICAgICAgPG4gaWQ9IjE0OCIgcD0iMTQwLjI3MDAwNCA0MDAuMTc5OTkzIi8+CiAgICAgICAgICAgIDxuIGlkPSIxNDkiIHA9IjEyNS44Njk5ODcgNDAwLjE3OTk5MyIvPgogICAgICAgICAgICA8biBpZD0iMTUwIiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjEwNC4yNzAwMDQgMzg3LjcwOTk5MSI+CiAgICAgICAgICAgICAgICA8dCBwPSIxMDQuMjcwMDA0IDM4Ny43MDk5OTEiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OSDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMTUxIiBFbGVtZW50PSI0NiIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxMjIuMTM5OTk5IDM4Ny43Njk5ODkiPgogICAgICAgICAgICAgICAgPHQgcD0iMTIyLjEzOTk5OSAzODcuNzY5OTg5IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+UGQ8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjE1MiIgRWxlbWVudD0iMTUiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTIyLjEzOTk5OSAzNjMuODY5OTk1Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjEyMi4xMzk5OTkgMzYzLjg2OTk5NSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPlA8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjE1OCIgcD0iMTA2LjE2OTk5OCAzNTcuNjY5OTgzIi8+CiAgICAgICAgICAgIDxuIGlkPSIxNzEiIHA9IjEwNC41NTAwMDMgMzQzLjM1OTk4NSIvPgogICAgICAgICAgICA8biBpZD0iMTcyIiBwPSI5MS4zNDAwMDQgMzM3LjYxOTk5NSIvPgogICAgICAgICAgICA8biBpZD0iMTczIiBwPSI3OS43NjAwMDIgMzQ2LjE3OTk5MyIvPgogICAgICAgICAgICA8biBpZD0iMTc0IiBwPSI4MS4zODk5OTkgMzYwLjQ3OTk4MCIvPgogICAgICAgICAgICA8biBpZD0iMTc1IiBwPSI5NC41OTAwMDQgMzY2LjIyOTk4MCIvPgogICAgICAgICAgICA8biBpZD0iMTc2IiBwPSIxMTYuMTI5OTk3IDMzNC43OTk5ODgiLz4KICAgICAgICAgICAgPG4gaWQ9IjE3NyIgcD0iMTI1Ljk2MDAxNCAzMzUuOTg5OTkwIi8+CiAgICAgICAgICAgIDxuIGlkPSIxNzgiIHA9IjEzNy41Mzk5OTMgMzI3LjQyOTk5MyIvPgogICAgICAgICAgICA8biBpZD0iMTc5IiBwPSIxMzkuMjc5OTk5IDMxNy42Nzk5OTMiLz4KICAgICAgICAgICAgPG4gaWQ9IjE4MCIgcD0iMTI5LjQ0OTk5NyAzMTYuNDg5OTkwIi8+CiAgICAgICAgICAgIDxuIGlkPSIxODEiIHA9IjExNy44NzAwMDMgMzI1LjA0OTk4OCIvPgogICAgICAgICAgICA8YiBpZD0iNDY2IiBCPSIxMzgiIEU9IjEzOSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjQ2NyIgQj0iMTM5IiBFPSIxNDAiLz4KICAgICAgICAgICAgPGIgaWQ9IjQ2OCIgQj0iMTQwIiBFPSIxNDEiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSI0NjkiIEI9IjE0MSIgRT0iMTQyIi8+CiAgICAgICAgICAgIDxiIGlkPSI0NzAiIEI9IjE0MiIgRT0iMTQzIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iNDcxIiBCPSIxNDMiIEU9IjEzOCIvPgogICAgICAgICAgICA8YiBpZD0iNDcyIiBCPSIxNDEiIEU9IjE0NCIvPgogICAgICAgICAgICA8YiBpZD0iNDczIiBCPSIxNDQiIEU9IjE0NSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjQ3NCIgQj0iMTQ1IiBFPSIxNDYiLz4KICAgICAgICAgICAgPGIgaWQ9IjQ3NSIgQj0iMTQ2IiBFPSIxNDciIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSI0NzYiIEI9IjE0NyIgRT0iMTQ4Ii8+CiAgICAgICAgICAgIDxiIGlkPSI0NzciIEI9IjE0OCIgRT0iMTQ5IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iNDc4IiBCPSIxNDkiIEU9IjE0NCIvPgogICAgICAgICAgICA8YiBpZD0iNDc5IiBCPSIxNDIiIEU9IjE1MCIvPgogICAgICAgICAgICA8YiBpZD0iNDgwIiBCPSIxNDkiIEU9IjE1MSIvPgogICAgICAgICAgICA8YiBpZD0iNDgxIiBCPSIxNTAiIEU9IjE1MSIvPgogICAgICAgICAgICA8YiBpZD0iNDgzIiBCPSIxNTIiIEU9IjE1OCIvPgogICAgICAgICAgICA8YiBpZD0iNDg2IiBCPSIxNTgiIEU9IjE3MSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjQ4NyIgQj0iMTcxIiBFPSIxNzIiLz4KICAgICAgICAgICAgPGIgaWQ9IjQ4OCIgQj0iMTcyIiBFPSIxNzMiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSI0ODkiIEI9IjE3MyIgRT0iMTc0Ii8+CiAgICAgICAgICAgIDxiIGlkPSI0OTAiIEI9IjE3NCIgRT0iMTc1IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iNDkxIiBCPSIxNzUiIEU9IjE1OCIvPgogICAgICAgICAgICA8YiBpZD0iNDkyIiBCPSIxNzEiIEU9IjE3NiIvPgogICAgICAgICAgICA8YiBpZD0iNDkzIiBCPSIxNzYiIEU9IjE3NyIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjQ5NCIgQj0iMTc3IiBFPSIxNzgiLz4KICAgICAgICAgICAgPGIgaWQ9IjQ5NSIgQj0iMTc4IiBFPSIxNzkiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSI0OTYiIEI9IjE3OSIgRT0iMTgwIi8+CiAgICAgICAgICAgIDxiIGlkPSI0OTciIEI9IjE4MCIgRT0iMTgxIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iNDk4IiBCPSIxODEiIEU9IjE3NiIvPgogICAgICAgICAgICA8YiBpZD0iNTAxIiBCPSIxNTIiIEU9IjE1MSIvPgogICAgICAgICAgICA8YiBpZD0iNTA1IiBCPSIxNTEiIEU9IjUwMiIvPgogICAgICAgICAgICA8YiBpZD0iNTEwIiBCPSIxNTIiIEU9IjUwNyIvPgogICAgICAgICAgICA8YiBpZD0iNTE1IiBCPSIxNTIiIEU9IjUxMiIvPgogICAgICAgICAgICA8YiBpZD0iNTIwIiBCPSIxNzciIEU9IjUxNyIvPgogICAgICAgICAgICA8YiBpZD0iNTI1IiBCPSIxODEiIEU9IjUyMiIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPHQgaWQ9IjE4NiIgcD0iMzY5LjIzOTk2MCAzOC4zNjAwMDEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjIgZXF1aXY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxODYiIHA9IjM2OS4yMzk5NjAgMzguMzYwMDAxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5LMkNPMzwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE4OSIgcD0iMzY5LjI0MDAyMSA4Mi4zMTUwMDIiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPkV0T0gvd2F0ZXI8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxOTIiIHA9IjM2OS4yMzQ5ODUgOTcuMzY1MDA1IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj43MCDCsEMsIDQgaHJzPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTk1IiBwPSIzNjkuMjM5OTkwIDExMy4zNTUwMDMiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjAuMiBNIGluIGxpbWl0aW5nPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTk4IiBwPSIzNjkuMjM0OTg1IDU0Ljg2MDAwMSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+MC4wNSBlcXVpdjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE5OCIgcD0iMzY5LjIzNDk4NSA1NC44NjAwMDEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPlNQaG9zUGQgRzM8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMDEiIHA9IjYyLjk2NTAwMCA1LjkyNTAwMCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxNiIgZmFjZT0iMiI+U3V6dWtpIFJ4bjE8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMDQiIHA9IjEwNS43MjAwMDEgMTEwLjcyMDAwMSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj4oNC0oPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjA0IiBwPSIxMDUuNzIwMDAxIDExMC43MjAwMDEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+dGVydDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIwNCIgcD0iMTA1LjcyMDAwMSAxMTAuNzIwMDAxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjMiPi1idXR5bClwaGVueWwpYm9yb25pYyBhY2lkPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjA3IiBwPSIxMDUuNzE0OTk2IDEyMy40NjAwMDciIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+MTIzMzI0LTcxLTA8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMTAiIHA9IjI1MC4xMTAwMDEgMTEwLjc1OTk5NSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj4zLWJyb21vLTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIxMCIgcD0iMjUwLjExMDAwMSAxMTAuNzU5OTk1IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjMiPk48L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMTAiIHA9IjI1MC4xMTAwMDEgMTEwLjc1OTk5NSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIzIj4sPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjEwIiBwPSIyNTAuMTEwMDAxIDExMC43NTk5OTUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+Tjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIxMCIgcD0iMjUwLjExMDAwMSAxMTAuNzU5OTk1IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjMiPi1kaW1ldGh5bGFuaWxpbmU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMTMiIHA9IjI1MC4xMTQ5NzUgMTIzLjQ2MDAwNyIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj4xNjUxOC02Mi0wPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjE2IiBwPSIxMDUuNzIwMDAxIDE1My41NDk5ODgiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjEuMCBlcXVpdjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIxOSIgcD0iMjUwLjEyMDAxMCAxNTMuNTQ5OTg4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4xLjEgZXF1aXY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMjIiIHA9IjEwNS43MTQ5OTYgMTY5LjQzNDk4MiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2Jvcm9uaWMgYWNpZF08L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMjUiIHA9IjI1MC4xMjAwMTAgMTY5LjM2OTk5NSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2FyeWwgZWxlY3Ryb3BoaWxlXTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIyOCIgcD0iNTM2LjA5OTk3NiAxNjkuNDM0OTgyIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bZGVzaXJlZCBwcm9kdWN0XTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIzMSIgcD0iNDczLjEwOTk4NSAyMzAuMzY5OTk1IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bYnlwcm9kdWN0c108L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMzQiIHA9IjI5LjgyNTAwMSAyNDIuODcwMDEwIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIxIj5LZXk8L3M+CiAgICAgICAgPC90PgogICAgICAgIDxncmFwaGljIGlkPSIyMzciIEJvdW5kaW5nQm94PSIwLjc5OTk5OSA0ODMuMTQ5OTk0IDQzMC42MDk5ODUgMjI4LjEwMDAwNiIgR3JhcGhpY1R5cGU9IlJlY3RhbmdsZSIvPgogICAgICAgIDxncmFwaGljIGlkPSIyNDAiIEJvdW5kaW5nQm94PSIxODQuNTI5OTk5IDcwLjQyNTAwMyAxODQuNTI5OTk5IDYyLjkyNTAwMyIgR3JhcGhpY1R5cGU9IlN5bWJvbCIgU3ltYm9sVHlwZT0iUGx1cyIvPgogICAgICAgIDx0IGlkPSIyNDMiIHA9IjUzNi4wOTQ5NzEgMTEwLjcyMDAwMSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj40Jy0oPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjQzIiBwPSI1MzYuMDk0OTcxIDExMC43MjAwMDEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+dGVydDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjI0MyIgcD0iNTM2LjA5NDk3MSAxMTAuNzIwMDAxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjMiPi1idXR5bCktPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjQzIiBwPSI1MzYuMDk0OTcxIDExMC43MjAwMDEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+Tjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjI0MyIgcD0iNTM2LjA5NDk3MSAxMTAuNzIwMDAxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjMiPiw8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyNDMiIHA9IjUzNi4wOTQ5NzEgMTEwLjcyMDAwMSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIzIj5OPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjQzIiBwPSI1MzYuMDk0OTcxIDExMC43MjAwMDEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+LWRpbWV0aHlsLVsxLDEnLWJpcGhlbnlsXS0zLWFtaW5lPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjQ2IiBwPSIxMTQuNTAwMDAwIDQ0MS43Mzk5OTAiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+TVcgNzc5LjI2PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjQ5IiBwPSIxMTQuNTAwMDAwIDI1MC4wMTAwMTAiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+U1Bob3NQZCBHMzwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjI1MiIgcD0iMTE0LjQ5NTAwMyA0NjAuNDg5OTkwIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bY2F0YWx5c3RdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjU1IiBwPSIzMzcuMzk0OTU4IDI2NS42NDUwMjAiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+ZXRoYW5vbDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjI1OCIgcD0iMzM4LjAzOTk3OCAyODAuMjA5OTkxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjY0LTE3LTU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyNjEiIHA9IjMzNy4zOTQ5NTggMzQwLjU2NDk3MiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W3NvbHZlbnRdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjY0IiBwPSIzMzcuMzg5OTg0IDMyMi44MTk5NzciIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+TVcgNDYuMDc8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyNjciIHA9IjI1OC42NzAwMTMgMjY2LjQ4MDAxMSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj5wb3Rhc3NpdW0gY2FyYm9uYXRlPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjcwIiBwPSIyNTguNjc0OTg4IDI4MC4yMDk5OTEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+NTg0LTA4LTc8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyNzMiIHA9IjI1OC42NzAwMTMgMzM0Ljc4OTk3OCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj5NVyAxMzguMjA8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyNzYiIHA9IjI1OC42NzQ5ODggMzUxLjU2NTAwMiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2Jhc2VdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjc5IiBwPSIzOTMuNDE5OTgzIDI4MC4xNjk5NTIiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+NzczMi0xOC01PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjgyIiBwPSIzOTIuOTE0OTc4IDMzOC4wNjUwMDIiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltzb2x2ZW50XTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjI4NSIgcD0iMzkyLjg3NTAwMCAzMjAuMzIwMDA3IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPk1XIDE4LjAyPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjg4IiBwPSI1MzYuMDk0OTEwIDEyMy40NjAwMDciIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+MjU3NzU1NS03My02PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjkxIiBwPSIxMTQuNDk0OTk1IDI3Ni45Mzk5NzIiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+KDItRGljeWNsb2hleHlscGhvc3BoaW5vLTLigLIsNuKAsi1kaW1ldGhveHliaXBoZW55bCkgWzItKDLigLItYW1pbm8tMSwx4oCyLWJpcGhlbnlsKV1wYWxsYWRpdW0oSUkpIG1ldGhhbmVzdWxmb25hdGU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyOTQiIHA9IjExNC40OTQ5OTUgMzAzLjE0MDAxNSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj4xNDQ1MDg1LTgyLTQ8L3M+CiAgICAgICAgPC90PgogICAgICAgIDxhcnJvdyBpZD0iMjk3IiBCb3VuZGluZ0JveD0iNTMzLjYwOTk4NSA0NDcuMTAwMDA2IDUzMy42MDk5ODUgMjQ0LjE0OTk5NCIgRmlsbFR5cGU9Ik5vbmUiIEFycm93aGVhZFR5cGU9IlNvbGlkIiBIZWFkU2l6ZT0iMjI1MCIgQXJyb3doZWFkV2lkdGg9IjU2MyIgQXJyb3doZWFkSGVhZD0iRnVsbCIgQXJyb3doZWFkQ2VudGVyU2l6ZT0iMjUiIEhlYWQzRD0iNTMzLjYwOTk4NSA0NDcuMTAwMDA2IDAuMDAwMDAwIiBUYWlsM0Q9IjUzMy42MDk5ODUgMjQ0LjE0OTk5NCAwLjAwMDAwMCIvPgogICAgICAgIDxhcnJvdyBpZD0iMzAwIiBCb3VuZGluZ0JveD0iNDI3Ljk4OTk5MCA2OS4zNjAwMDEgMzEwLjQ4OTk5MCA2OS4zNjAwMDEiIEZpbGxUeXBlPSJOb25lIiBBcnJvd2hlYWRUeXBlPSJTb2xpZCIgSGVhZFNpemU9IjIyNTAiIEFycm93aGVhZFdpZHRoPSI1NjMiIEFycm93aGVhZEhlYWQ9IkZ1bGwiIEFycm93aGVhZENlbnRlclNpemU9IjI1IiBIZWFkM0Q9IjQyNy45ODk5OTAgNjkuMzYwMDAxIDAuMDAwMDAwIiBUYWlsM0Q9IjMxMC40ODk5OTAgNjkuMzYwMDAxIDAuMDAwMDAwIi8+CiAgICAgICAgPHNjaGVtZT4KICAgICAgICAgICAgPHN0ZXAgUmVhY3Rpb25TdGVwQXJyb3dzPSIyOTciLz4KICAgICAgICAgICAgPHN0ZXAgUmVhY3Rpb25TdGVwQXJyb3dzPSIzMDAiLz4KICAgICAgICA8L3NjaGVtZT4KICAgIDwvcGFnZT4KPC9DRFhNTD4K \ No newline at end of file diff --git a/api/tests/integration/tests/formats/ref/Suzuki_Rxn1.cdxml b/api/tests/integration/tests/formats/ref/Suzuki_Rxn1.cdxml new file mode 100644 index 0000000000..ecdc3ed628 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/Suzuki_Rxn1.cdxml @@ -0,0 +1,851 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + B + + + + + OH + + + + + OH + + + + + + + + + + + + + + + + + + + + + + + + + + N + + + + + Br + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + N + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pd + + + + + OH + + + + + OH + + + + + + + Pd( + + + + + + + + + K + + + + + Br + + + + + + K + + + + + + + + + B + + + + + OH + + + + + OH + + + + + OH + + + + + + + + B + + + + + + + + OH + + + + + + + + + + + + + + OH + + + + + + + EtOH + + + + + + + + + + O + + + + + O + + + + + O + + + + + K + + + + + KH + + + + + + + + + K2CO3 + + + + + + + + O + + + + + O + + + + + O + + + + + K + + + + + K + + + + + + + + + + O + + + + + H + + + + + H + + + + + + + + + + + + + + + + + + + + + + + + + Cy + + + + + + + + + + + + + + + + + + + + + Cy + + + + + + + O + + + + + + + + + OMe + + + + + + + O + + + + + + + + + OMe + + + + + P + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + O + + + + + O + + + + + O + + + + + K + + + + + + + + + KHCO3 + + + + + + + + + O + + + + + + + S + + + + + O + + + + + O + + + + + + + + + + OMs + + + + + + + + + + + + + + + + + + + + + Cy + + + + + + + + + + + + + + + + + + + + + Cy + + + + + + + O + + + + + + + + + OMe + + + + + + + O + + + + + + + + + OMe + + + + + + + + + + + + + + + + + NH + + + + + Pd + + + + + P + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 equiv + + + K2CO3 + + + EtOH/water + + + 70 °C, 4 hrs + + + 0.2 M in limiting + + + 0.05 equiv + + + SPhosPd G3 + + + Suzuki Rxn1 + + + (4-( + + + tert + + + -butyl)phenyl)boronic acid + + + 123324-71-0 + + + 3-bromo- + + + N + + + , + + + N + + + -dimethylaniline + + + 16518-62-0 + + + 1.0 equiv + + + 1.1 equiv + + + [boronic acid] + + + [aryl electrophile] + + + [desired product] + + + [byproducts] + + + Key + + + + + 4'-( + + + tert + + + -butyl)- + + + N + + + , + + + N + + + -dimethyl-[1,1'-biphenyl]-3-amine + + + MW 779.26 + + + SPhosPd G3 + + + [catalyst] + + + ethanol + + + 64-17-5 + + + [solvent] + + + MW 46.07 + + + potassium carbonate + + + 584-08-7 + + + MW 138.20 + + + [base] + + + 7732-18-5 + + + [solvent] + + + MW 18.02 + + + 2577555-73-6 + + + (2-Dicyclohexylphosphino-2′,6′-dimethoxybiphenyl) [2-(2′-amino-1,1′-biphenyl)]palladium(II) methanesulfonate + + + 1445085-82-4 + + + + + + + + + diff --git a/api/tests/integration/tests/formats/ref/Suzuki_Rxn2.b64cdx b/api/tests/integration/tests/formats/ref/Suzuki_Rxn2.b64cdx new file mode 100644 index 0000000000..1bba44b82b --- /dev/null +++ b/api/tests/integration/tests/formats/ref/Suzuki_Rxn2.b64cdx @@ -0,0 +1 @@ +PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIENEWE1MIFNZU1RFTSAiaHR0cDovL3d3dy5jYW1icmlkZ2Vzb2Z0LmNvbS94bWwvY2R4bWwuZHRkIj4KPENEWE1MIEJvbmRMZW5ndGg9IjMwLjAwMDAwMCIgTGFiZWxGb250PSIzIiBDYXB0aW9uRm9udD0iNCI+CiAgICA8Zm9udHRhYmxlIGlkPSIxIj4KICAgICAgICA8Zm9udCBpZD0iMiIgY2hhcnNldD0idXRmLTgiIG5hbWU9IkFyaWFsIi8+CiAgICAgICAgPGZvbnQgaWQ9IjMiIGNoYXJzZXQ9InV0Zi04IiBuYW1lPSJUaW1lcyBOZXcgUm9tYW4iLz4KICAgIDwvZm9udHRhYmxlPgogICAgPGNvbG9ydGFibGU+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMCIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIxIiBnPSIwIiBiPSIwIi8+CiAgICAgICAgPGNvbG9yIHI9IjEiIGc9IjEiIGI9IjAiLz4KICAgICAgICA8Y29sb3Igcj0iMCIgZz0iMSIgYj0iMCIvPgogICAgICAgIDxjb2xvciByPSIwIiBnPSIxIiBiPSIxIi8+CiAgICAgICAgPGNvbG9yIHI9IjAiIGc9IjAiIGI9IjEiLz4KICAgICAgICA8Y29sb3Igcj0iMSIgZz0iMCIgYj0iMSIvPgogICAgICAgIDxjb2xvciByPSIwLjUiIGc9IjAuNSIgYj0iMC41Ii8+CiAgICA8L2NvbG9ydGFibGU+CiAgICA8cGFnZSBIZWlnaHRQYWdlcz0iMSIgV2lkdGhQYWdlcz0iMSI+CiAgICAgICAgPGZyYWdtZW50IGlkPSI0Ij4KICAgICAgICAgICAgPG4gaWQ9IjUiIHA9IjE0My42Nzk5OTMgNjUuMjAwMDA1Ii8+CiAgICAgICAgICAgIDxuIGlkPSI2IiBwPSIxNDMuNjc5OTkzIDc5LjU5OTk5OCIvPgogICAgICAgICAgICA8biBpZD0iNyIgcD0iMTU2LjE0OTk5NCA4Ni44MDAwMDMiLz4KICAgICAgICAgICAgPG4gaWQ9IjgiIHA9IjE2OC42MTk5OTUgNzkuNTk5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSI5IiBwPSIxNjguNjE5OTk1IDY1LjIwMDAwNSIvPgogICAgICAgICAgICA8biBpZD0iMTAiIHA9IjE1Ni4xNDk5OTQgNTguMDAwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSIxMSIgcD0iMTMxLjIwOTk5MSA4Ni44MDAwMDMiLz4KICAgICAgICAgICAgPG4gaWQ9IjEyIiBwPSIxMTguNzM5OTk4IDc5LjU5OTk5OCIvPgogICAgICAgICAgICA8biBpZD0iMTMiIHA9IjEzMS4yMDk5OTEgMTAxLjIwMDAwNSIvPgogICAgICAgICAgICA8biBpZD0iMTQiIHA9IjExOC43Mzk5OTggOTQuMDAwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSIxNSIgRWxlbWVudD0iNSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxODEuMDg5OTk2IDU4LjAwMDAwMCI+CiAgICAgICAgICAgICAgICA8dCBwPSIxODEuMDg5OTk2IDU4LjAwMDAwMCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkI8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjE2IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjE5My41NTk5OTggNjUuMjAwMDA1Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjE5My41NTk5OTggNjUuMjAwMDA1IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+T0g8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjE3IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjE4MS4wODk5OTYgNDMuNTk5OTk4Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjE4MS4wODk5OTYgNDMuNTk5OTk4IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+T0g8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPGIgaWQ9IjMwNSIgQj0iNSIgRT0iNiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjMwNiIgQj0iNiIgRT0iNyIvPgogICAgICAgICAgICA8YiBpZD0iMzA3IiBCPSI3IiBFPSI4IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzA4IiBCPSI4IiBFPSI5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMDkiIEI9IjkiIEU9IjEwIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzEwIiBCPSIxMCIgRT0iNSIvPgogICAgICAgICAgICA8YiBpZD0iMzExIiBCPSI2IiBFPSIxMSIvPgogICAgICAgICAgICA8YiBpZD0iMzEyIiBCPSIxMSIgRT0iMTIiLz4KICAgICAgICAgICAgPGIgaWQ9IjMxMyIgQj0iMTEiIEU9IjEzIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMTQiIEI9IjExIiBFPSIxNCIvPgogICAgICAgICAgICA8YiBpZD0iMzE1IiBCPSI5IiBFPSIxNSIvPgogICAgICAgICAgICA8YiBpZD0iMzE2IiBCPSIxNSIgRT0iMTYiLz4KICAgICAgICAgICAgPGIgaWQ9IjMxNyIgQj0iMTUiIEU9IjE3Ii8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjE4Ij4KICAgICAgICAgICAgPG4gaWQ9IjE5IiBwPSIyNDguNjM5OTY5IDY2Ljk1MDAwNSIvPgogICAgICAgICAgICA8biBpZD0iMjAiIHA9IjI0OC42Mzk5NjkgODEuMzQ5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyMSIgcD0iMjYxLjEwOTk4NSA4OC41NTAwMDMiLz4KICAgICAgICAgICAgPG4gaWQ9IjIyIiBwPSIyNzMuNTc5OTg3IDgxLjM0OTk5OCIvPgogICAgICAgICAgICA8biBpZD0iMjMiIHA9IjI3My41Nzk5ODcgNjYuOTUwMDA1Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyNCIgcD0iMjYxLjEwOTk4NSA1OS43NTAwMDAiLz4KICAgICAgICAgICAgPG4gaWQ9IjI1IiBwPSIyODYuMDQ5OTg4IDg4LjU1MDAwMyIvPgogICAgICAgICAgICA8biBpZD0iMjYiIHA9IjI5OC41MTk5ODkgODEuMzQ5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSIyNyIgcD0iMjk4LjUxOTk4OSA2Ni45NTAwMDUiLz4KICAgICAgICAgICAgPG4gaWQ9IjI4IiBFbGVtZW50PSI3IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjI4Ni4wNDk5ODggNTkuNzUwMDAwIj4KICAgICAgICAgICAgICAgIDx0IHA9IjI4Ni4wNDk5ODggNTkuNzUwMDAwIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tjwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMjkiIEVsZW1lbnQ9IjM1IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjMxMC45ODk5OTAgODguNTUwMDAzIj4KICAgICAgICAgICAgICAgIDx0IHA9IjMxMC45ODk5OTAgODguNTUwMDAzIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+QnI8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPGIgaWQ9IjMxOCIgQj0iMTkiIEU9IjIwIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzE5IiBCPSIyMCIgRT0iMjEiLz4KICAgICAgICAgICAgPGIgaWQ9IjMyMCIgQj0iMjEiIEU9IjIyIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzIxIiBCPSIyMiIgRT0iMjMiLz4KICAgICAgICAgICAgPGIgaWQ9IjMyMiIgQj0iMjMiIEU9IjI0IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzIzIiBCPSIyNCIgRT0iMTkiLz4KICAgICAgICAgICAgPGIgaWQ9IjMyNCIgQj0iMjIiIEU9IjI1Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMjUiIEI9IjI1IiBFPSIyNiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjMyNiIgQj0iMjYiIEU9IjI3Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMjciIEI9IjI3IiBFPSIyOCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjMyOCIgQj0iMjgiIEU9IjIzIi8+CiAgICAgICAgICAgIDxiIGlkPSIzMjkiIEI9IjI2IiBFPSIyOSIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSIzMCI+CiAgICAgICAgICAgIDxuIGlkPSIzMSIgcD0iNDg2LjY0OTk5NCA4MC4yMDAwMDUiLz4KICAgICAgICAgICAgPG4gaWQ9IjMyIiBwPSI0ODYuNjQ5OTk0IDk0LjU5OTk5OCIvPgogICAgICAgICAgICA8biBpZD0iMzMiIHA9IjQ5OS4xMTk5OTUgMTAxLjc5OTk5NSIvPgogICAgICAgICAgICA8biBpZD0iMzQiIHA9IjUxMS41ODk5OTYgOTQuNTk5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSIzNSIgcD0iNDk5LjExOTk5NSA3My4wMDAwMDAiLz4KICAgICAgICAgICAgPG4gaWQ9IjM2IiBwPSI0NzQuMTc5OTkzIDEwMS43OTk5OTUiLz4KICAgICAgICAgICAgPG4gaWQ9IjM3IiBwPSI0NjEuNzA5OTkxIDk0LjU5OTk5OCIvPgogICAgICAgICAgICA8biBpZD0iMzgiIHA9IjQ3NC4xNzk5OTMgMTE2LjIwMDAwNSIvPgogICAgICAgICAgICA8biBpZD0iMzkiIHA9IjQ2MS43MDk5OTEgMTA5LjAwMDAwOCIvPgogICAgICAgICAgICA8biBpZD0iNDAiIHA9IjU3My45NDAwMDIgNTguNTk5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSI0MSIgcD0iNTczLjk0MDAwMiA3My4wMDAwMDAiLz4KICAgICAgICAgICAgPG4gaWQ9IjQyIiBwPSI1NjEuNDY5OTcxIDgwLjIwMDAwNSIvPgogICAgICAgICAgICA8biBpZD0iNDMiIHA9IjU0OS4wMDAwMDAgNzMuMDAwMDAwIi8+CiAgICAgICAgICAgIDxuIGlkPSI0NCIgcD0iNTQ5LjAwMDAwMCA1OC41OTk5OTgiLz4KICAgICAgICAgICAgPG4gaWQ9IjQ1IiBwPSI1NjEuNDY5OTcxIDUxLjQwMDAwMiIvPgogICAgICAgICAgICA8biBpZD0iNDYiIHA9IjUzNi41Mjk5NjggODAuMjAwMDA1Ii8+CiAgICAgICAgICAgIDxuIGlkPSI0NyIgcD0iNTI0LjA1OTk5OCA3My4wMDAwMDAiLz4KICAgICAgICAgICAgPG4gaWQ9IjQ4IiBwPSI1MjQuMDU5OTk4IDU4LjU5OTk5OCIvPgogICAgICAgICAgICA8biBpZD0iNDkiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNTM2LjUyOTk2OCA1MS40MDAwMDIiPgogICAgICAgICAgICAgICAgPHQgcD0iNTM2LjUyOTk2OCA1MS40MDAwMDIiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5OPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI1MCIgcD0iNTExLjU4OTk5NiA4MC4yMDAwMDUiLz4KICAgICAgICAgICAgPGIgaWQ9IjMzMCIgQj0iMzEiIEU9IjMyIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzMxIiBCPSIzMiIgRT0iMzMiLz4KICAgICAgICAgICAgPGIgaWQ9IjMzMiIgQj0iMzMiIEU9IjM0IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzMzIiBCPSIzNCIgRT0iNTAiLz4KICAgICAgICAgICAgPGIgaWQ9IjMzNCIgQj0iNTAiIEU9IjM1IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzM1IiBCPSIzNSIgRT0iMzEiLz4KICAgICAgICAgICAgPGIgaWQ9IjMzNiIgQj0iMzIiIEU9IjM2Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzMzciIEI9IjM2IiBFPSIzNyIvPgogICAgICAgICAgICA8YiBpZD0iMzM4IiBCPSIzNiIgRT0iMzgiLz4KICAgICAgICAgICAgPGIgaWQ9IjMzOSIgQj0iMzYiIEU9IjM5Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzNDAiIEI9IjQwIiBFPSI0MSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjM0MSIgQj0iNDEiIEU9IjQyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNDIiIEI9IjQyIiBFPSI0MyIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjM0MyIgQj0iNDMiIEU9IjQ0Ii8+CiAgICAgICAgICAgIDxiIGlkPSIzNDQiIEI9IjQ0IiBFPSI0NSIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjM0NSIgQj0iNDUiIEU9IjQwIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNDYiIEI9IjQzIiBFPSI0NiIvPgogICAgICAgICAgICA8YiBpZD0iMzQ3IiBCPSI0NiIgRT0iNDciIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNDgiIEI9IjQ3IiBFPSI0OCIvPgogICAgICAgICAgICA8YiBpZD0iMzQ5IiBCPSI0OCIgRT0iNDkiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNTAiIEI9IjQ5IiBFPSI0NCIvPgogICAgICAgICAgICA8YiBpZD0iMzUxIiBCPSI0NyIgRT0iNTAiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNTEiPgogICAgICAgICAgICA8biBpZD0iNTIiIHA9IjQ0Ni4xNDk5OTQgMjU1LjE5MDAwMiIvPgogICAgICAgICAgICA8biBpZD0iNTMiIHA9IjQ0Mi4wODk5OTYgMjY5LjAwOTk3OSIvPgogICAgICAgICAgICA8biBpZD0iNTQiIHA9IjQ1Mi4wMTk5ODkgMjc5LjQ0MDAwMiIvPgogICAgICAgICAgICA8biBpZD0iNTUiIHA9IjQ2Ni4wNDAwMDkgMjc2LjA0OTk4OCIvPgogICAgICAgICAgICA8biBpZD0iNTYiIHA9IjQ3MC4xMDAwMDYgMjYyLjIyOTk4MCIvPgogICAgICAgICAgICA8biBpZD0iNTciIHA9IjQ2MC4xNDk5OTQgMjUxLjc5MDAyNCIvPgogICAgICAgICAgICA8biBpZD0iNTgiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMSIgcD0iNDc3LjkxOTk4MyAyODQuMTY5OTgzIj4KICAgICAgICAgICAgICAgIDx0IHA9IjQ3Ny45MTk5ODMgMjg0LjE2OTk4MyIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk5IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI1OSIgcD0iNDg5LjMyMDAwNyAyNzUuMzY5OTk1Ii8+CiAgICAgICAgICAgIDxuIGlkPSI2MCIgcD0iNDg0LjUwMDAwMCAyNjEuODA5OTk4Ii8+CiAgICAgICAgICAgIDxuIGlkPSI2MSIgcD0iNTAzLjQ3OTk1MCAyNzcuOTc5OTgwIi8+CiAgICAgICAgICAgIDxuIGlkPSI2MiIgcD0iNTEyLjgyMDAwNyAyNjcuMDA5OTc5Ii8+CiAgICAgICAgICAgIDxuIGlkPSI2MyIgcD0iNTA3Ljk5MDAyMSAyNTMuNDQ5OTgyIi8+CiAgICAgICAgICAgIDxuIGlkPSI2NCIgcD0iNDkzLjgzMDAxNyAyNTAuODM5OTgxIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNTIiIEI9IjUyIiBFPSI1MyIvPgogICAgICAgICAgICA8YiBpZD0iMzUzIiBCPSI1MyIgRT0iNTQiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNTQiIEI9IjU0IiBFPSI1NSIvPgogICAgICAgICAgICA8YiBpZD0iMzU1IiBCPSI1NSIgRT0iNTYiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNTYiIEI9IjU2IiBFPSI1NyIvPgogICAgICAgICAgICA8YiBpZD0iMzU3IiBCPSI1MiIgRT0iNTciIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNTgiIEI9IjU1IiBFPSI1OCIvPgogICAgICAgICAgICA8YiBpZD0iMzU5IiBCPSI1OCIgRT0iNTkiLz4KICAgICAgICAgICAgPGIgaWQ9IjM2MCIgQj0iNTkiIEU9IjYwIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iMzYxIiBCPSI1NiIgRT0iNjAiLz4KICAgICAgICAgICAgPGIgaWQ9IjM2MiIgQj0iNTkiIEU9IjYxIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNjMiIEI9IjYxIiBFPSI2MiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjM2NCIgQj0iNjIiIEU9IjYzIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNjUiIEI9IjYzIiBFPSI2NCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjM2NiIgQj0iNjQiIEU9IjYwIi8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjY1Ij4KICAgICAgICAgICAgPG4gaWQ9IjY2IiBwPSIyNDkuODA5OTk4IDMxNi40MTk5ODMiLz4KICAgICAgICAgICAgPG4gaWQ9IjY3IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjIzNy4zNzk5OTAgMzIzLjU4OTk5NiI+CiAgICAgICAgICAgICAgICA8dCBwPSIyMzcuMzc5OTkwIDMyMy41ODk5OTYiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI2OCIgRWxlbWVudD0iOCIgQ2hhcmdlPSItMSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyNjIuMjM5OTkwIDMyMy41ODk5OTYiPgogICAgICAgICAgICAgICAgPHQgcD0iMjYyLjIzOTk5MCAzMjMuNTg5OTk2IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNjkiIEVsZW1lbnQ9IjgiIENoYXJnZT0iLTEiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjQ5LjgwOTk5OCAzMDIuMDE5OTg5Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjI0OS44MDk5OTggMzAyLjAxOTk4OSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjcwIiBFbGVtZW50PSIxOSIgQ2hhcmdlPSIxIiBOdW1IeWRyb2dlbnM9IjAiIHA9IjI2NC41ODk5OTYgMzAzLjA4OTk5NiI+CiAgICAgICAgICAgICAgICA8dCBwPSIyNjQuNTg5OTk2IDMwMy4wODk5OTYiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5LPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI3MSIgRWxlbWVudD0iMTkiIENoYXJnZT0iMSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIyNzYuMDg5OTk2IDMyMy41ODk5OTYiPgogICAgICAgICAgICAgICAgPHQgcD0iMjc2LjA4OTk5NiAzMjMuNTg5OTk2IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Szwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8YiBpZD0iMzY3IiBCPSI2NiIgRT0iNjciIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSIzNjgiIEI9IjY2IiBFPSI2OCIvPgogICAgICAgICAgICA8YiBpZD0iMzY5IiBCPSI2NiIgRT0iNjkiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNzIiPgogICAgICAgICAgICA8biBpZD0iMzcyIiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSIzNzMiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI3MyIgRWxlbWVudD0iNDYiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNDYyLjA3MDAwNyAzODMuODY5OTk1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iNDYyLjA3MDAwNyAzODMuODY5OTk1IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5QZDwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNzQiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMSIgcD0iNDQ5LjY0OTk5NCAzOTEuMDQ5OTg4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iNDQ5LjY0OTk5NCAzOTEuMDQ5OTg4IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PSDwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNzUiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMSIgcD0iNDc0LjUwMDAwMCAzOTEuMDQ5OTg4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iNDc0LjUwMDAwMCAzOTEuMDQ5OTg4IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PSDwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzcwIiBCPSI3MyIgRT0iNzQiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzcxIiBCPSI3MyIgRT0iNzUiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+UGQoPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9Ijc2Ij4KICAgICAgICAgICAgPG4gaWQ9IjM3NSIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iMzc2Ij4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNzciIEVsZW1lbnQ9IjE5IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjQ2NS4xMDAwMDYgNDMyLjcyMDAwMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjQ2NS4xMDAwMDYgNDMyLjcyMDAwMSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Szwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNzgiIEVsZW1lbnQ9IjM1IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjQ3OS40NDk5ODIgNDMyLjcyMDAwMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjQ3OS40NDk5ODIgNDMyLjcyMDAwMSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+QnI8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM3NCIgQj0iNzciIEU9Ijc4Ii8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPks8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iNzkiPgogICAgICAgICAgICA8biBpZD0iMzgwIiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSIzODEiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI4MCIgRWxlbWVudD0iNSIgTnVtSHlkcm9nZW5zPSIwIiBwPSI0NjUuMTAwMDA2IDQ1Ni44Mzk5OTYiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSI0NjUuMTAwMDA2IDQ1Ni44Mzk5OTYiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkI8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjgxIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjQ1Mi42Nzk5OTMgNDY0LjAwOTk3OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjQ1Mi42Nzk5OTMgNDY0LjAwOTk3OSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+T0g8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjgyIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjQ3Ny41Mjk5OTkgNDY0LjAwOTk3OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjQ3Ny41Mjk5OTkgNDY0LjAwOTk3OSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+T0g8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjgzIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjQ2NS4xMDAwMDYgNDQyLjQ4OTk5MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjQ2NS4xMDAwMDYgNDQyLjQ4OTk5MCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+T0g8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM3NyIgQj0iODAiIEU9IjgxIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM3OCIgQj0iODAiIEU9IjgyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM3OSIgQj0iODAiIEU9IjgzIi8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPkI8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iODQiPgogICAgICAgICAgICA8biBpZD0iNDE0IiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSI0MTUiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI4NyIgcD0iNDk5LjUyOTk2OCAzNTMuODM5OTk2Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjQxNiIgTm9kZVR5cGU9IkV4dGVybmFsQ29ubmVjdGlvblBvaW50Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijg4IiBwPSI1MTMuNDUwMDEyIDM1Ny4yOTAwMDkiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iODkiIHA9IjUyMy40MDk5NzMgMzQ2Ljk1OTk5MSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI5MCIgcD0iNTE5LjQ0MDAwMiAzMzMuMTY5OTgzIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjkxIiBwPSI1MDUuNTEwMDEwIDMyOS43MDk5OTEiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iOTIiIHA9IjQ5NS41NDk5ODggMzQwLjA0OTk4OCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzODIiIEI9IjkxIiBFPSI5MiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzODMiIEI9IjkwIiBFPSI5MSIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzODQiIEI9Ijg5IiBFPSI5MCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzODUiIEI9Ijg4IiBFPSI4OSIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzODYiIEI9Ijg3IiBFPSI4OCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSIzODciIEI9Ijg3IiBFPSI5MiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0MTgiIEI9IjQxNiIgRT0iODciLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+Q3k8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjQxOSIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iNDIwIj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iOTMiIHA9IjUwMC45Njk5NzEgMzY0Ljc2OTk4OSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI0MjEiIE5vZGVUeXBlPSJFeHRlcm5hbENvbm5lY3Rpb25Qb2ludCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI5NCIgcD0iNTA5LjA1OTk5OCAzNzYuNjE5OTk1Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijk1IiBwPSI1MjMuMzY5OTk1IDM3NS41NDAwMDkiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iOTYiIHA9IjUyOS41ODk5NjYgMzYyLjYwOTk4NSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI5NyIgcD0iNTIxLjUwMDAwMCAzNTAuNzU5OTc5Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9Ijk4IiBwPSI1MDcuMTkwMDAyIDM1MS44Mzk5OTYiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzg4IiBCPSI5NyIgRT0iOTgiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzg5IiBCPSI5NiIgRT0iOTciLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzkwIiBCPSI5NSIgRT0iOTYiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzkxIiBCPSI5NCIgRT0iOTUiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzkyIiBCPSI5MyIgRT0iOTQiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzkzIiBCPSI5MyIgRT0iOTgiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDIzIiBCPSI0MjEiIEU9IjkzIi8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPkN5PC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI0MjQiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjQyNSI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjExMCIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSI0OTMuNjMwMDM1IDM0MS4zNjk5OTUiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSI0OTMuNjMwMDM1IDM0MS4zNjk5OTUiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjQyNiIgTm9kZVR5cGU9IkV4dGVybmFsQ29ubmVjdGlvblBvaW50Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjExMSIgcD0iNTAzLjc5OTk4OCAzNTEuNDg5OTkwIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjM5NCIgQj0iMTEwIiBFPSIxMTEiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDI4IiBCPSI0MjYiIEU9IjExMCIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5PTWU8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjQyOSIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iNDMwIj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTEyIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjQ3NS40Nzk5ODAgMzE3LjgzOTk5NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjQ3NS40Nzk5ODAgMzE3LjgzOTk5NiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNDMxIiBOb2RlVHlwZT0iRXh0ZXJuYWxDb25uZWN0aW9uUG9pbnQiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTEzIiBwPSI0NjcuOTU5OTkxIDMzMC4wNTk5OTgiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iMzk1IiBCPSIxMTIiIEU9IjExMyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0MzMiIEI9IjQzMSIgRT0iMTEyIi8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPk9NZTwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iODUiIEVsZW1lbnQ9IjE1IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjQ4Ny4wNTk5NjcgMzYxLjA0MDAwOSI+CiAgICAgICAgICAgICAgICA8dCBwPSI0ODcuMDU5OTY3IDM2MS4wNDAwMDkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5QPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI4NiIgcD0iNDcxLjA4OTk5NiAzNTQuODM5OTk2Ii8+CiAgICAgICAgICAgIDxuIGlkPSI5OSIgcD0iNDY5LjQ3MDAwMSAzNDAuNTI5OTk5Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMDAiIHA9IjQ1Ni4yNjAwMTAgMzM0Ljc5MDAwOSIvPgogICAgICAgICAgICA8biBpZD0iMTAxIiBwPSI0NDQuNjc5OTkzIDM0My4zNTAwMDYiLz4KICAgICAgICAgICAgPG4gaWQ9IjEwMiIgcD0iNDQ2LjMwOTk5OCAzNTcuNjQ5OTk0Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMDMiIHA9IjQ1OS41MTAwMTAgMzYzLjM5OTk5NCIvPgogICAgICAgICAgICA8biBpZD0iMTA0IiBwPSI0ODcuMDQ5OTU3IDMyNy45NzAwMDEiLz4KICAgICAgICAgICAgPG4gaWQ9IjEwNSIgcD0iNDk2Ljg3OTk3NCAzMjkuMTYwMDA0Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMDYiIHA9IjUwOC40NjAwMjIgMzIwLjYwMDAwNiIvPgogICAgICAgICAgICA8biBpZD0iMTA3IiBwPSI1MTAuMTk5OTgyIDMxMC44NTAwMDYiLz4KICAgICAgICAgICAgPG4gaWQ9IjEwOCIgcD0iNTAwLjM2OTk2NSAzMDkuNjYwMDA0Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMDkiIHA9IjQ4OC43OTAwMzkgMzE4LjIyMDAwMSIvPgogICAgICAgICAgICA8YiBpZD0iMzk2IiBCPSI4NSIgRT0iODYiLz4KICAgICAgICAgICAgPGIgaWQ9IjM5OSIgQj0iODYiIEU9Ijk5IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iNDAwIiBCPSI5OSIgRT0iMTAwIi8+CiAgICAgICAgICAgIDxiIGlkPSI0MDEiIEI9IjEwMCIgRT0iMTAxIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iNDAyIiBCPSIxMDEiIEU9IjEwMiIvPgogICAgICAgICAgICA8YiBpZD0iNDAzIiBCPSIxMDIiIEU9IjEwMyIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjQwNCIgQj0iMTAzIiBFPSI4NiIvPgogICAgICAgICAgICA8YiBpZD0iNDA1IiBCPSI5OSIgRT0iMTA0Ii8+CiAgICAgICAgICAgIDxiIGlkPSI0MDYiIEI9IjEwNCIgRT0iMTA1IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iNDA3IiBCPSIxMDUiIEU9IjEwNiIvPgogICAgICAgICAgICA8YiBpZD0iNDA4IiBCPSIxMDYiIEU9IjEwNyIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjQwOSIgQj0iMTA3IiBFPSIxMDgiLz4KICAgICAgICAgICAgPGIgaWQ9IjQxMCIgQj0iMTA4IiBFPSIxMDkiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSI0MTEiIEI9IjEwOSIgRT0iMTA0Ii8+CiAgICAgICAgICAgIDxiIGlkPSI0MTciIEI9Ijg1IiBFPSI0MTQiLz4KICAgICAgICAgICAgPGIgaWQ9IjQyMiIgQj0iODUiIEU9IjQxOSIvPgogICAgICAgICAgICA8YiBpZD0iNDI3IiBCPSIxMDUiIEU9IjQyNCIvPgogICAgICAgICAgICA8YiBpZD0iNDMyIiBCPSIxMDkiIEU9IjQyOSIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSIxMTQiPgogICAgICAgICAgICA8biBpZD0iNDM4IiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSI0MzkiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMTUiIHA9IjQ1Mi4zODk5ODQgNDA2LjUxOTk4OSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMTYiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNDM5Ljk1OTk5MSA0MTMuNjkwMDAyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iNDM5Ljk1OTk5MSA0MTMuNjkwMDAyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMTciIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNDY0LjgyMDAwNyA0MTMuNjkwMDAyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iNDY0LjgyMDAwNyA0MTMuNjkwMDAyIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMTgiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iNDc3LjIzOTk5MCA0MDYuNTE5OTg5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iNDc3LjIzOTk5MCA0MDYuNTE5OTg5IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxMTkiIEVsZW1lbnQ9IjE5IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjQ4OS42Njk5ODMgNDEzLjY5MDAwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjQ4OS42Njk5ODMgNDEzLjY5MDAwMiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Szwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDM0IiBCPSIxMTgiIEU9IjExOSIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0MzUiIEI9IjExNyIgRT0iMTE4Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQzNiIgQj0iMTE1IiBFPSIxMTYiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQzNyIgQj0iMTE1IiBFPSIxMTciLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+S0hDTzM8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iMTIwIj4KICAgICAgICAgICAgPG4gaWQ9IjQ5NCIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iNDk1Ij4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTM2IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjEzNy4wNDk5ODggMzkyLjI2OTk4OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjEzNy4wNDk5ODggMzkyLjI2OTk4OSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNDk2IiBOb2RlVHlwZT0iRXh0ZXJuYWxDb25uZWN0aW9uUG9pbnQiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTM3IiBwPSIxNTIuMjI5OTk2IDQxNi42MzAwMDUiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTM4IiBFbGVtZW50PSIxNiIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxNDQuNjM5OTk5IDQwNC40NDk5ODIiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIxNDQuNjM5OTk5IDQwNC40NDk5ODIiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPlM8L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjEzOSIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxMzIuNDU5OTkxIDQxMi4wNDAwMDkiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIxMzIuNDU5OTkxIDQxMi4wNDAwMDkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjE0MCIgRWxlbWVudD0iOCIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxNTYuODE5OTkyIDM5Ni44NTk5ODUiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIxNTYuODE5OTkyIDM5Ni44NTk5ODUiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgICAgICAgICA8L24+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQ0MCIgQj0iMTM4IiBFPSIxMzkiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQ0MSIgQj0iMTM4IiBFPSIxNDAiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQ0MiIgQj0iMTM3IiBFPSIxMzgiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDQzIiBCPSIxMzYiIEU9IjEzOCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0OTgiIEI9IjQ5NiIgRT0iMTM2Ii8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPk9Nczwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNDk5IiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSI1MDAiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNDIiIHA9IjEzNS4zMzk5OTYgMzU1LjE5MDAwMiIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI1MDEiIE5vZGVUeXBlPSJFeHRlcm5hbENvbm5lY3Rpb25Qb2ludCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNDMiIHA9IjE0OS4yNTk5OTUgMzU4LjYzOTk4NCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNDQiIHA9IjE1OS4yMjAwMDEgMzQ4LjMwOTk5OCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNDUiIHA9IjE1NS4yNTAwMDAgMzM0LjUxOTk4OSIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNDYiIHA9IjE0MS4zMTk5OTIgMzMxLjA1OTk5OCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNDciIHA9IjEzMS4zNjAwMDEgMzQxLjM5OTk5NCIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0NDQiIEI9IjE0NiIgRT0iMTQ3Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQ0NSIgQj0iMTQ1IiBFPSIxNDYiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDQ2IiBCPSIxNDQiIEU9IjE0NSIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0NDciIEI9IjE0MyIgRT0iMTQ0Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQ0OCIgQj0iMTQyIiBFPSIxNDMiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDQ5IiBCPSIxNDIiIEU9IjE0NyIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI1MDMiIEI9IjUwMSIgRT0iMTQyIi8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPkN5PC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSI1MDQiIE5vZGVUeXBlPSJGcmFnbWVudCI+CiAgICAgICAgICAgICAgICA8ZnJhZ21lbnQgaWQ9IjUwNSI+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjE0OCIgcD0iMTQyLjA0OTk4OCAzNjcuMzY5OTk1Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjUwNiIgTm9kZVR5cGU9IkV4dGVybmFsQ29ubmVjdGlvblBvaW50Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjE0OSIgcD0iMTUwLjEzOTk5OSAzNzkuMjIwMDAxIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjE1MCIgcD0iMTY0LjQ0OTk5NyAzNzguMTM5OTg0Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjE1MSIgcD0iMTcwLjY2OTk5OCAzNjUuMjA5OTkxIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjE1MiIgcD0iMTYyLjU4MDAwMiAzNTMuMzU5OTg1Ii8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjE1MyIgcD0iMTQ4LjI2OTk4OSAzNTQuNDQwMDAyIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQ1MCIgQj0iMTUyIiBFPSIxNTMiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDUxIiBCPSIxNTEiIEU9IjE1MiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0NTIiIEI9IjE1MCIgRT0iMTUxIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQ1MyIgQj0iMTQ5IiBFPSIxNTAiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDU0IiBCPSIxNDgiIEU9IjE0OSIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI0NTUiIEI9IjE0OCIgRT0iMTUzIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjUwOCIgQj0iNTA2IiBFPSIxNDgiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+Q3k8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjUwOSIgTm9kZVR5cGU9IkZyYWdtZW50Ij4KICAgICAgICAgICAgICAgIDxmcmFnbWVudCBpZD0iNTEwIj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTY1IiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjEyMi43MjAwMDEgMzUzLjE5OTk4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjEyMi43MjAwMDEgMzUzLjE5OTk4MiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Tzwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iNTExIiBOb2RlVHlwZT0iRXh0ZXJuYWxDb25uZWN0aW9uUG9pbnQiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTY2IiBwPSIxMzIuODg5OTk5IDM2My4zMjAwMDciLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNDU2IiBCPSIxNjUiIEU9IjE2NiIvPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI1MTMiIEI9IjUxMSIgRT0iMTY1Ii8+CiAgICAgICAgICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgICAgICAgICAgPHQgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0IiBMYWJlbEFsaWdubWVudD0iQWJvdmUiPgogICAgICAgICAgICAgICAgICAgIDxzPk9NZTwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iNTE0IiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSI1MTUiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNjciIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMTA0LjU3MDAwMCAzMjkuNjY5OTgzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMTA0LjU3MDAwMCAzMjkuNjY5OTgzIiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSI1MTYiIE5vZGVUeXBlPSJFeHRlcm5hbENvbm5lY3Rpb25Qb2ludCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNjgiIHA9Ijk3LjA1MDAwMyAzNDEuODg5OTg0Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjQ1NyIgQj0iMTY3IiBFPSIxNjgiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNTE4IiBCPSI1MTYiIEU9IjE2NyIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5PTWU8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjEyMSIgcD0iNzUuNDgwMDAzIDQxNy42NDk5OTQiLz4KICAgICAgICAgICAgPG4gaWQ9IjEyMiIgcD0iODIuNjgwMDAwIDQzMC4xMTk5OTUiLz4KICAgICAgICAgICAgPG4gaWQ9IjEyMyIgcD0iOTcuMDgwMDAyIDQzMC4xMTk5OTUiLz4KICAgICAgICAgICAgPG4gaWQ9IjEyNCIgcD0iMTA0LjI4MDAwNiA0MTcuNjQ5OTk0Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMjUiIHA9Ijk3LjA4MDAwMiA0MDUuMTc5OTkzIi8+CiAgICAgICAgICAgIDxuIGlkPSIxMjYiIHA9IjgyLjY4MDAwMCA0MDUuMTc5OTkzIi8+CiAgICAgICAgICAgIDxuIGlkPSIxMjciIHA9IjExOC42ODAwMDAgNDE3LjY0OTk5NCIvPgogICAgICAgICAgICA8biBpZD0iMTI4IiBwPSIxMjUuODgwMDA1IDQzMC4xMTk5OTUiLz4KICAgICAgICAgICAgPG4gaWQ9IjEyOSIgcD0iMTQwLjI3OTk5OSA0MzAuMTE5OTk1Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxMzAiIHA9IjE0Ny40Nzk5OTYgNDE3LjY0OTk5NCIvPgogICAgICAgICAgICA8biBpZD0iMTMxIiBwPSIxNDAuMjc5OTk5IDQwNS4xNzk5OTMiLz4KICAgICAgICAgICAgPG4gaWQ9IjEzMiIgcD0iMTI1Ljg4MDAwNSA0MDUuMTc5OTkzIi8+CiAgICAgICAgICAgIDxuIGlkPSIxMzMiIEVsZW1lbnQ9IjciIE51bUh5ZHJvZ2Vucz0iMSIgcD0iMTA0LjI4MDAwNiAzOTIuNzA5OTkxIj4KICAgICAgICAgICAgICAgIDx0IHA9IjEwNC4yODAwMDYgMzkyLjcwOTk5MSIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk5IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxMzQiIEVsZW1lbnQ9IjQ2IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjEyMi4xNTAwMDIgMzkyLjc2OTk4OSI+CiAgICAgICAgICAgICAgICA8dCBwPSIxMjIuMTUwMDAyIDM5Mi43Njk5ODkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5QZDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMTM1IiBFbGVtZW50PSIxNSIgTnVtSHlkcm9nZW5zPSIwIiBwPSIxMjIuMTUwMDAyIDM2OC44Njk5OTUiPgogICAgICAgICAgICAgICAgPHQgcD0iMTIyLjE1MDAwMiAzNjguODY5OTk1IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+UDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgICAgICA8biBpZD0iMTQxIiBwPSIxMDYuMTgwMDAwIDM2Mi42Njk5ODMiLz4KICAgICAgICAgICAgPG4gaWQ9IjE1NCIgcD0iMTA0LjU2MDAwNSAzNDguMzU5OTg1Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxNTUiIHA9IjkxLjM1MDAwNiAzNDIuNjE5OTk1Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxNTYiIHA9Ijc5Ljc3MDAwNCAzNTEuMTc5OTkzIi8+CiAgICAgICAgICAgIDxuIGlkPSIxNTciIHA9IjgxLjQwMDAwMiAzNjUuNDc5OTgwIi8+CiAgICAgICAgICAgIDxuIGlkPSIxNTgiIHA9Ijk0LjYwMDAwNiAzNzEuMjI5OTgwIi8+CiAgICAgICAgICAgIDxuIGlkPSIxNTkiIHA9IjExNi4xNDAwMDcgMzM5Ljc5OTk4OCIvPgogICAgICAgICAgICA8biBpZD0iMTYwIiBwPSIxMjUuOTcwMDA5IDM0MC45ODk5OTAiLz4KICAgICAgICAgICAgPG4gaWQ9IjE2MSIgcD0iMTM3LjU0OTk4OCAzMzIuNDI5OTkzIi8+CiAgICAgICAgICAgIDxuIGlkPSIxNjIiIHA9IjEzOS4yODk5OTMgMzIyLjY3OTk5MyIvPgogICAgICAgICAgICA8biBpZD0iMTYzIiBwPSIxMjkuNDU5OTkxIDMyMS40ODk5OTAiLz4KICAgICAgICAgICAgPG4gaWQ9IjE2NCIgcD0iMTE3Ljg3OTk5NyAzMzAuMDQ5OTg4Ii8+CiAgICAgICAgICAgIDxiIGlkPSI0NTgiIEI9IjEyMSIgRT0iMTIyIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iNDU5IiBCPSIxMjIiIEU9IjEyMyIvPgogICAgICAgICAgICA8YiBpZD0iNDYwIiBCPSIxMjMiIEU9IjEyNCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjQ2MSIgQj0iMTI0IiBFPSIxMjUiLz4KICAgICAgICAgICAgPGIgaWQ9IjQ2MiIgQj0iMTI1IiBFPSIxMjYiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSI0NjMiIEI9IjEyNiIgRT0iMTIxIi8+CiAgICAgICAgICAgIDxiIGlkPSI0NjQiIEI9IjEyNCIgRT0iMTI3Ii8+CiAgICAgICAgICAgIDxiIGlkPSI0NjUiIEI9IjEyNyIgRT0iMTI4IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iNDY2IiBCPSIxMjgiIEU9IjEyOSIvPgogICAgICAgICAgICA8YiBpZD0iNDY3IiBCPSIxMjkiIEU9IjEzMCIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjQ2OCIgQj0iMTMwIiBFPSIxMzEiLz4KICAgICAgICAgICAgPGIgaWQ9IjQ2OSIgQj0iMTMxIiBFPSIxMzIiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSI0NzAiIEI9IjEzMiIgRT0iMTI3Ii8+CiAgICAgICAgICAgIDxiIGlkPSI0NzEiIEI9IjEyNSIgRT0iMTMzIi8+CiAgICAgICAgICAgIDxiIGlkPSI0NzIiIEI9IjEzMiIgRT0iMTM0Ii8+CiAgICAgICAgICAgIDxiIGlkPSI0NzMiIEI9IjEzMyIgRT0iMTM0Ii8+CiAgICAgICAgICAgIDxiIGlkPSI0NzUiIEI9IjEzNSIgRT0iMTQxIi8+CiAgICAgICAgICAgIDxiIGlkPSI0NzgiIEI9IjE0MSIgRT0iMTU0IiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iNDc5IiBCPSIxNTQiIEU9IjE1NSIvPgogICAgICAgICAgICA8YiBpZD0iNDgwIiBCPSIxNTUiIEU9IjE1NiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjQ4MSIgQj0iMTU2IiBFPSIxNTciLz4KICAgICAgICAgICAgPGIgaWQ9IjQ4MiIgQj0iMTU3IiBFPSIxNTgiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSI0ODMiIEI9IjE1OCIgRT0iMTQxIi8+CiAgICAgICAgICAgIDxiIGlkPSI0ODQiIEI9IjE1NCIgRT0iMTU5Ii8+CiAgICAgICAgICAgIDxiIGlkPSI0ODUiIEI9IjE1OSIgRT0iMTYwIiBPcmRlcj0iMiIvPgogICAgICAgICAgICA8YiBpZD0iNDg2IiBCPSIxNjAiIEU9IjE2MSIvPgogICAgICAgICAgICA8YiBpZD0iNDg3IiBCPSIxNjEiIEU9IjE2MiIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgPGIgaWQ9IjQ4OCIgQj0iMTYyIiBFPSIxNjMiLz4KICAgICAgICAgICAgPGIgaWQ9IjQ4OSIgQj0iMTYzIiBFPSIxNjQiIE9yZGVyPSIyIi8+CiAgICAgICAgICAgIDxiIGlkPSI0OTAiIEI9IjE2NCIgRT0iMTU5Ii8+CiAgICAgICAgICAgIDxiIGlkPSI0OTMiIEI9IjEzNSIgRT0iMTM0Ii8+CiAgICAgICAgICAgIDxiIGlkPSI0OTciIEI9IjEzNCIgRT0iNDk0Ii8+CiAgICAgICAgICAgIDxiIGlkPSI1MDIiIEI9IjEzNSIgRT0iNDk5Ii8+CiAgICAgICAgICAgIDxiIGlkPSI1MDciIEI9IjEzNSIgRT0iNTA0Ii8+CiAgICAgICAgICAgIDxiIGlkPSI1MTIiIEI9IjE2MCIgRT0iNTA5Ii8+CiAgICAgICAgICAgIDxiIGlkPSI1MTciIEI9IjE2NCIgRT0iNTE0Ii8+CiAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICA8ZnJhZ21lbnQgaWQ9IjE2OSI+CiAgICAgICAgICAgIDxuIGlkPSIxNzAiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMzk0LjI3OTk5OSAzMTAuMTQ5OTk0Ij4KICAgICAgICAgICAgICAgIDx0IHA9IjM5NC4yNzk5OTkgMzEwLjE0OTk5NCIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk88L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjE3MSIgRWxlbWVudD0iMSIgcD0iNDA2Ljc1MDAwMCAzMDIuOTQ5OTgyIj4KICAgICAgICAgICAgICAgIDx0IHA9IjQwNi43NTAwMDAgMzAyLjk0OTk4MiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkg8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPG4gaWQ9IjE3MiIgRWxlbWVudD0iMSIgcD0iMzgxLjc5OTk4OCAzMDIuOTQ5OTgyIj4KICAgICAgICAgICAgICAgIDx0IHA9IjM4MS43OTk5ODggMzAyLjk0OTk4MiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPkg8L3M+CiAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgPGIgaWQ9IjUxOSIgQj0iMTcwIiBFPSIxNzEiLz4KICAgICAgICAgICAgPGIgaWQ9IjUyMCIgQj0iMTcwIiBFPSIxNzIiLz4KICAgICAgICA8L2ZyYWdtZW50PgogICAgICAgIDxmcmFnbWVudCBpZD0iMTczIj4KICAgICAgICAgICAgPG4gaWQ9IjE3NCIgcD0iMzMyLjMyOTk4NyAzMTIuNjQ5OTk0Ii8+CiAgICAgICAgICAgIDxuIGlkPSIxNzUiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMSIgcD0iMzQ0Ljc5OTk4OCAzMDUuNDQ5OTgyIj4KICAgICAgICAgICAgICAgIDx0IHA9IjM0NC43OTk5ODggMzA1LjQ0OTk4MiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk9IPC9zPgogICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICA8L24+CiAgICAgICAgICAgIDxuIGlkPSIxNzYiIHA9IjMxOS44NTk5ODUgMzA1LjQ0OTk4MiIvPgogICAgICAgICAgICA8YiBpZD0iNTIxIiBCPSIxNzQiIEU9IjE3NSIvPgogICAgICAgICAgICA8YiBpZD0iNTIyIiBCPSIxNzQiIEU9IjE3NiIvPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSIxNzciPgogICAgICAgICAgICA8biBpZD0iNTI1IiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSI1MjYiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxNzgiIHA9IjE2OC4xMjk5OTAgODguODAwMDAzIi8+CiAgICAgICAgICAgICAgICAgICAgPG4gaWQ9IjE3OSIgcD0iMTgwLjU1OTk5OCA4MS42MzAwMDUiLz4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTgwIiBFbGVtZW50PSI4IiBOdW1IeWRyb2dlbnM9IjEiIHA9IjE5Mi45Nzk5OTYgODguODAwMDAzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMTkyLjk3OTk5NiA4OC44MDAwMDMiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPk9IPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI1MjMiIEI9IjE3OSIgRT0iMTgwIi8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjUyNCIgQj0iMTc4IiBFPSIxNzkiLz4KICAgICAgICAgICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgICAgICAgICA8dCBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiIExhYmVsQWxpZ25tZW50PSJBYm92ZSI+CiAgICAgICAgICAgICAgICAgICAgPHM+RXRPSDwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPGZyYWdtZW50IGlkPSIxODEiPgogICAgICAgICAgICA8biBpZD0iNTMxIiBOb2RlVHlwZT0iRnJhZ21lbnQiPgogICAgICAgICAgICAgICAgPGZyYWdtZW50IGlkPSI1MzIiPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxODIiIHA9IjIzNi4zMDk5OTggMjUxLjQxOTk2OCIvPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxODMiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjIzLjg3OTk5MCAyNTguNjAwMDA2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMjIzLjg3OTk5MCAyNTguNjAwMDA2IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxODQiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjQ4LjczOTk5MCAyNTguNjAwMDA2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMjQ4LjczOTk5MCAyNTguNjAwMDA2IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxODUiIEVsZW1lbnQ9IjgiIE51bUh5ZHJvZ2Vucz0iMCIgcD0iMjYxLjE2MDAwNCAyNTEuNDE5OTY4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHQgcD0iMjYxLjE2MDAwNCAyNTEuNDE5OTY4IiBMYWJlbEp1c3RpZmljYXRpb249IkxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMgZm9udD0iMyIgc2l6ZT0iMTAiIGZhY2U9Ijk2Ij5PPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxuIGlkPSIxODYiIEVsZW1lbnQ9IjE5IiBOdW1IeWRyb2dlbnM9IjAiIHA9IjI3My41ODk5OTYgMjU4LjYwMDAwNiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0IHA9IjI3My41ODk5OTYgMjU4LjYwMDAwNiIgTGFiZWxKdXN0aWZpY2F0aW9uPSJMZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzIGZvbnQ9IjMiIHNpemU9IjEwIiBmYWNlPSI5NiI+Szwvcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC90PgogICAgICAgICAgICAgICAgICAgIDwvbj4KICAgICAgICAgICAgICAgICAgICA8biBpZD0iMTg3IiBFbGVtZW50PSIxOSIgTnVtSHlkcm9nZW5zPSIxIiBwPSIyODcuOTQwMDAyIDI1NS4wMDk5NzkiPgogICAgICAgICAgICAgICAgICAgICAgICA8dCBwPSIyODcuOTQwMDAyIDI1NS4wMDk5NzkiIExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cyBmb250PSIzIiBzaXplPSIxMCIgZmFjZT0iOTYiPktIPC9zPgogICAgICAgICAgICAgICAgICAgICAgICA8L3Q+CiAgICAgICAgICAgICAgICAgICAgPC9uPgogICAgICAgICAgICAgICAgICAgIDxiIGlkPSI1MjciIEI9IjE4NSIgRT0iMTg2Ii8+CiAgICAgICAgICAgICAgICAgICAgPGIgaWQ9IjUyOCIgQj0iMTg0IiBFPSIxODUiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNTI5IiBCPSIxODIiIEU9IjE4MyIgT3JkZXI9IjIiLz4KICAgICAgICAgICAgICAgICAgICA8YiBpZD0iNTMwIiBCPSIxODIiIEU9IjE4NCIvPgogICAgICAgICAgICAgICAgPC9mcmFnbWVudD4KICAgICAgICAgICAgICAgIDx0IExhYmVsSnVzdGlmaWNhdGlvbj0iTGVmdCIgTGFiZWxBbGlnbm1lbnQ9IkFib3ZlIj4KICAgICAgICAgICAgICAgICAgICA8cz5LMkNPMzwvcz4KICAgICAgICAgICAgICAgIDwvdD4KICAgICAgICAgICAgPC9uPgogICAgICAgIDwvZnJhZ21lbnQ+CiAgICAgICAgPHQgaWQ9IjE4OCIgcD0iMzg2Ljc1MDAwMCA0NS4zNjAwMDEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjIgZXF1aXY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIxODgiIHA9IjM4Ni43NTAwMDAgNDUuMzYwMDAxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5LMkNPMzwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjE5MSIgcD0iMzg2Ljc0NTAyNiAxMDQuMzY0OTk4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj43MCDCsEMsIDQgaHJzPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTk0IiBwPSIzODYuNzUwMDAwIDEyMC4zNTQ5OTYiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjAuMiBNIGluIGxpbWl0aW5nPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMTk3IiBwPSIzODYuNzUwMDAwIDg5LjMxNTAwMiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+RXRPSC93YXRlcjwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIwMCIgcD0iMzg2Ljc0NTAyNiA2MS44NjAwMDEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPjAuMDUgZXF1aXY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMDAiIHA9IjM4Ni43NDUwMjYgNjEuODYwMDAxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5TUGhvc1BkIEczPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjAzIiBwPSI1OC42MzUwMDIgNS45MjUwMDAiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTYiIGZhY2U9IjIiPlN1enVraSBSeG4yPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjA2IiBwPSIxNjEuMjI5OTk2IDEyNi40NzAwMDEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+KDQtKDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIwNiIgcD0iMTYxLjIyOTk5NiAxMjYuNDcwMDAxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjMiPnRlcnQ8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMDYiIHA9IjE2MS4yMjk5OTYgMTI2LjQ3MDAwMSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIzIj4tYnV0eWwpcGhlbnlsKWJvcm9uaWMgYWNpZDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIwOSIgcD0iMTYxLjIyNDk5MSAxMzkuODE5OTkyIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjEyMzMyNC03MS0wPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjEyIiBwPSIyODMuMDY5OTc3IDEyNi41NzUwMDUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+My1icm9tb3F1aW5vbGluZTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIxNSIgcD0iMjgzLjA2NTAwMiAxMzkuODE5OTkyIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjUzMzItMjQtMTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjIxOCIgcD0iMTYxLjIyOTk5NiAxNjQuNzk5OTg4IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj4xLjAgZXF1aXY8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMjEiIHA9IjI4My4wNzAwMDcgMTY0Ljc5OTk4OCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+MS4xIGVxdWl2PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjI0IiBwPSIxNjEuMjI0OTkxIDE3OC40MzQ5OTgiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltib3JvbmljIGFjaWRdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjI3IiBwPSIyODMuMDcwMDA3IDE3OC4zNjk5OTUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPlthcnlsIGVsZWN0cm9waGlsZV08L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMzAiIHA9IjUxNy45MDk5NzMgMTc4LjQzNDk5OCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2Rlc2lyZWQgcHJvZHVjdF08L3M+CiAgICAgICAgPC90PgogICAgICAgIDxncmFwaGljIGlkPSIyMzMiIEJvdW5kaW5nQm94PSIyMjUuMDM5OTkzIDc3LjYyNTAwMCAyMjUuMDM5OTkzIDcwLjEyNTAwMCIgR3JhcGhpY1R5cGU9IlN5bWJvbCIgU3ltYm9sVHlwZT0iUGx1cyIvPgogICAgICAgIDx0IGlkPSIyMzYiIHA9IjUxNy44OTk5NjMgMTI2LjQ3MDAwMSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj4zLSg0LSg8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMzYiIHA9IjUxNy44OTk5NjMgMTI2LjQ3MDAwMSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIzIj50ZXJ0PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjM2IiBwPSI1MTcuODk5OTYzIDEyNi40NzAwMDEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMyI+LWJ1dHlsKXBoZW55bClxdWlub2xpbmU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyMzkiIHA9IjUxNy44OTk5NjMgMTM5LjgxOTk5MiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj41NzQ3OS0xNi0wPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjQyIiBwPSI0NzMuMTE5OTk1IDIzNS4zNjk5OTUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltieXByb2R1Y3RzXTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjI0NSIgcD0iMjkuODM0OTk3IDI0Ny44Njk5OTUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjEiPktleTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjI0OCIgcD0iMTE0LjUwNDk5MCAyODEuOTQwMDAyIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjEiPigyLURpY3ljbG9oZXh5bHBob3NwaGluby0y4oCyLDbigLItZGltZXRob3h5YmlwaGVueWwpIFsyLSgy4oCyLWFtaW5vLTEsMeKAsi1iaXBoZW55bCldcGFsbGFkaXVtKElJKSBtZXRoYW5lc3VsZm9uYXRlPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjUxIiBwPSIxMTQuNTA0OTk3IDMwOC4xNDAwMTUiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+MTQ0NTA4NS04Mi00PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjU0IiBwPSIxMTQuNTA5OTk1IDQ0Ni43Mzk5OTAiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+TVcgNzc5LjI2PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjU3IiBwPSIxMTQuNTA5OTg3IDI1NS4wMDk5NzkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+U1Bob3NQZCBHMzwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjI2MCIgcD0iMTE0LjUwNDk5MCA0NjUuNDg5OTkwIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjEwIiBmYWNlPSIwIj5bY2F0YWx5c3RdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjYzIiBwPSIzOTMuNDI5OTkzIDI4NS4xNzQ5ODgiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+NzczMi0xOC01PC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjY2IiBwPSIzOTIuOTI0OTg4IDM0My4wNjQ5NzIiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iMTAiIGZhY2U9IjAiPltzb2x2ZW50XTwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjI2OSIgcD0iMzkyLjg4NTAxMCAzMjUuMzIwMDA3IiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPk1XIDE4LjAyPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjcyIiBwPSIzMzcuNDA0OTk5IDI3MC42NDQ5ODkiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMSI+ZXRoYW5vbDwvcz4KICAgICAgICA8L3Q+CiAgICAgICAgPHQgaWQ9IjI3NSIgcD0iMzM4LjA0OTk4OCAyODUuMjA5OTkxIiBKdXN0aWZpY2F0aW9uPSJMZWZ0IiBJbnRlcnByZXRDaGVtaWNhbGx5PSJubyI+CiAgICAgICAgICAgIDxzIGZvbnQ9IjQiIHNpemU9IjkuMzMzMzMiIGZhY2U9IjAiPjY0LTE3LTU8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyNzgiIHA9IjMzNy40MDQ5OTkgMzQ1LjU2NTAwMiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W3NvbHZlbnRdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjgxIiBwPSIzMzcuMzk5OTYzIDMyNy44MjAwMDciIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+TVcgNDYuMDc8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyODQiIHA9IjI1OC42Nzk5OTMgMjcxLjQ4MDAxMSIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIxIj5wb3Rhc3NpdW0gY2FyYm9uYXRlPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8dCBpZD0iMjg3IiBwPSIyNTguNjg0OTk4IDI4NS4yMDk5OTEiIEp1c3RpZmljYXRpb249IkxlZnQiIEludGVycHJldENoZW1pY2FsbHk9Im5vIj4KICAgICAgICAgICAgPHMgZm9udD0iNCIgc2l6ZT0iOS4zMzMzMyIgZmFjZT0iMCI+NTg0LTA4LTc8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyOTAiIHA9IjI1OC42Nzk5OTMgMzM5Ljc4OTk3OCIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSI5LjMzMzMzIiBmYWNlPSIwIj5NVyAxMzguMjA8L3M+CiAgICAgICAgPC90PgogICAgICAgIDx0IGlkPSIyOTMiIHA9IjI1OC42ODQ5OTggMzU2LjU2NTAwMiIgSnVzdGlmaWNhdGlvbj0iTGVmdCIgSW50ZXJwcmV0Q2hlbWljYWxseT0ibm8iPgogICAgICAgICAgICA8cyBmb250PSI0IiBzaXplPSIxMCIgZmFjZT0iMCI+W2Jhc2VdPC9zPgogICAgICAgIDwvdD4KICAgICAgICA8Z3JhcGhpYyBpZD0iMjk2IiBCb3VuZGluZ0JveD0iMC44MDAwMDAgNDg4LjE0OTk2MyA0MzAuNjE5OTk1IDIzMy4wODk5OTYiIEdyYXBoaWNUeXBlPSJSZWN0YW5nbGUiLz4KICAgICAgICA8YXJyb3cgaWQ9IjI5OSIgQm91bmRpbmdCb3g9IjQ0NS41MDAwMDAgNzYuMzYwMDAxIDMyOC4wMDAwMDAgNzYuMzYwMDAxIiBGaWxsVHlwZT0iTm9uZSIgQXJyb3doZWFkVHlwZT0iU29saWQiIEhlYWRTaXplPSIyMjUwIiBBcnJvd2hlYWRXaWR0aD0iNTYzIiBBcnJvd2hlYWRIZWFkPSJGdWxsIiBBcnJvd2hlYWRDZW50ZXJTaXplPSIyNSIgSGVhZDNEPSI0NDUuNTAwMDAwIDc2LjM2MDAwMSAwLjAwMDAwMCIgVGFpbDNEPSIzMjguMDAwMDAwIDc2LjM2MDAwMSAwLjAwMDAwMCIvPgogICAgICAgIDxhcnJvdyBpZD0iMzAyIiBCb3VuZGluZ0JveD0iNTMzLjYxOTk5NSA0NTIuMTAwMDA2IDUzMy42MTk5OTUgMjQ5LjE0OTk3OSIgRmlsbFR5cGU9Ik5vbmUiIEFycm93aGVhZFR5cGU9IlNvbGlkIiBIZWFkU2l6ZT0iMjI1MCIgQXJyb3doZWFkV2lkdGg9IjU2MyIgQXJyb3doZWFkSGVhZD0iRnVsbCIgQXJyb3doZWFkQ2VudGVyU2l6ZT0iMjUiIEhlYWQzRD0iNTMzLjYxOTk5NSA0NTIuMTAwMDA2IDAuMDAwMDAwIiBUYWlsM0Q9IjUzMy42MTk5OTUgMjQ5LjE0OTk3OSAwLjAwMDAwMCIvPgogICAgICAgIDxzY2hlbWU+CiAgICAgICAgICAgIDxzdGVwIFJlYWN0aW9uU3RlcEFycm93cz0iMjk5Ii8+CiAgICAgICAgICAgIDxzdGVwIFJlYWN0aW9uU3RlcEFycm93cz0iMzAyIi8+CiAgICAgICAgPC9zY2hlbWU+CiAgICA8L3BhZ2U+CjwvQ0RYTUw+Cg== \ No newline at end of file diff --git a/api/tests/integration/tests/formats/ref/Suzuki_Rxn2.cdxml b/api/tests/integration/tests/formats/ref/Suzuki_Rxn2.cdxml new file mode 100644 index 0000000000..177027cdd2 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/Suzuki_Rxn2.cdxml @@ -0,0 +1,833 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + B + + + + + OH + + + + + OH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + N + + + + + Br + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + N + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + O + + + + + O + + + + + O + + + + + K + + + + + K + + + + + + + + + + + + Pd + + + + + OH + + + + + OH + + + + + + + Pd( + + + + + + + + + K + + + + + Br + + + + + + K + + + + + + + + + B + + + + + OH + + + + + OH + + + + + OH + + + + + + + + B + + + + + + + + + + + + + + + + + + + + + + + Cy + + + + + + + + + + + + + + + + + + + + + Cy + + + + + + + O + + + + + + + + + OMe + + + + + + + O + + + + + + + + + OMe + + + + + P + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + O + + + + + O + + + + + O + + + + + K + + + + + + + + + KHCO3 + + + + + + + + + O + + + + + + + S + + + + + O + + + + + O + + + + + + + + + + OMs + + + + + + + + + + + + + + + + + + + + + Cy + + + + + + + + + + + + + + + + + + + + + Cy + + + + + + + O + + + + + + + + + OMe + + + + + + + O + + + + + + + + + OMe + + + + + + + + + + + + + + + + + NH + + + + + Pd + + + + + P + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + O + + + + + H + + + + + H + + + + + + + + + + OH + + + + + + + + + + + + + + OH + + + + + + + EtOH + + + + + + + + + + O + + + + + O + + + + + O + + + + + K + + + + + KH + + + + + + + + + K2CO3 + + + + + 2 equiv + + + K2CO3 + + + 70 °C, 4 hrs + + + 0.2 M in limiting + + + EtOH/water + + + 0.05 equiv + + + SPhosPd G3 + + + Suzuki Rxn2 + + + (4-( + + + tert + + + -butyl)phenyl)boronic acid + + + 123324-71-0 + + + 3-bromoquinoline + + + 5332-24-1 + + + 1.0 equiv + + + 1.1 equiv + + + [boronic acid] + + + [aryl electrophile] + + + [desired product] + + + + 3-(4-( + + + tert + + + -butyl)phenyl)quinoline + + + 57479-16-0 + + + [byproducts] + + + Key + + + (2-Dicyclohexylphosphino-2′,6′-dimethoxybiphenyl) [2-(2′-amino-1,1′-biphenyl)]palladium(II) methanesulfonate + + + 1445085-82-4 + + + MW 779.26 + + + SPhosPd G3 + + + [catalyst] + + + 7732-18-5 + + + [solvent] + + + MW 18.02 + + + ethanol + + + 64-17-5 + + + [solvent] + + + MW 46.07 + + + potassium carbonate + + + 584-08-7 + + + MW 138.20 + + + [base] + + + + + + + + + + diff --git a/api/tests/integration/tests/formats/ref/enhanced_stereo1.b64cdx b/api/tests/integration/tests/formats/ref/enhanced_stereo1.b64cdx new file mode 100644 index 0000000000..f07f58fdf3 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/enhanced_stereo1.b64cdx @@ -0,0 +1 @@ +VmpDRDAxMDAEAwIBAAAAAAAAAAAAAAAAAAAAAAUIBAAAAB4AGggCAAMAGwgCAAQAAAEkAAAAAgACAOn9BQBBcmlhbAMA6f0PAFRpbWVzIE5ldyBSb21hbgADMgAIAP///////wAAAAAAAP//AAAAAP////8AAAAA//8AAAAA/////wAAAAD/////AAD//wGAAAAAABAIAgABAA8IAgABAAOABAAAAASABQAAAAIEAgAIACsEAgABAAACCAAAAB4AAAAeAAaAAAAAAAACCAAAAB4AAAAeACMIAQAAAAcOAAEAAAADAGAAyAAAAE9IAAAAAASABgAAAAACCACZGTUA0QJGAAAABIAHAAAAAAIIAMxMYwDRAkYAMAQBAAAxBBAABgAAAAgAAAAPAAAABQAAAEYEAQAAAAAEgAgAAAAAAggAZmZ6AKEFbgAAAASACQAAAAACCACZmagAoQVuAAAABIAKAAAAAAIIADOzvwCuB5YAAAAEgAsAAAAAAggAZubtAK4HlgAAAASADAAAAAACCAAAAAUBoQVuAAAABIANAAAAAAIIAGbm7QDRAkYAAAAEgA4AAAAAAggAM7O/ANECRgAAAASADwAAAAIEAgAHACsEAgABAAACCABmZnoAAAAeAAaAAAAAAAACCABmZnoAAAAeACMIAQAAAAcOAAEAAAADAGAAyAAAAE5IAAAAAASAEAAAAAIEAgA1ACsEAgAAAAACCACZmagAAAAeAAaAAAAAAAACCACZmagAAAAeACMIAQAAAAcNAAEAAAADAGAAyAAAAEkAAAAABIARAAAAAgQCAAgAKwQCAAAAAAIIAAAAHgChBW4ABoAAAAAAAAIIAAAAHgChBW4AIwgBAAAABw0AAQAAAAMAYADIAAAATwAAAAAFgBIAAAAEBgQABQAAAAUGBAAGAAAAAAAFgBMAAAAEBgQABgAAAAUGBAAHAAAAAAAFgBQAAAAEBgQABgAAAAUGBAARAAAAAAYCAAIAAAAFgBUAAAAEBgQABwAAAAUGBAAIAAAAAAAFgBYAAAAEBgQABwAAAAUGBAAPAAAAAQYCAAAAAAAFgBcAAAAEBgQACAAAAAUGBAAJAAAAAAAFgBgAAAAEBgQACQAAAAUGBAAKAAAAAAYCAAIAAAAFgBkAAAAEBgQACQAAAAUGBAAOAAAAAAAFgBoAAAAEBgQACgAAAAUGBAALAAAAAAAFgBsAAAAEBgQACwAAAAUGBAAMAAAAAAYCAAIAAAAFgBwAAAAEBgQADAAAAAUGBAANAAAAAAAFgB0AAAAEBgQADQAAAAUGBAAOAAAAAAYCAAIAAAAFgB4AAAAEBgQADwAAAAUGBAAQAAAAAAAHgAAAAAAEAhAAAAAeAK4HlgAAAB4ArgeWAAAKAgAHAAcKAgAAAD0KAgAAAAaAAAAAAAACCAAAAB4ArgeWAAEHAQABCAcBAAAABxIAAQAAAAMAYADIAAAAQ2hpcmFsAAAAAAAAAAAAAAAA \ No newline at end of file diff --git a/api/tests/integration/tests/formats/ref/enhanced_stereo1.cdxml b/api/tests/integration/tests/formats/ref/enhanced_stereo1.cdxml new file mode 100644 index 0000000000..ec37edfeb5 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/enhanced_stereo1.cdxml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + OH + + + + + + + + + + + + + + NH + + + + + I + + + + + O + + + + + + + + + + + + + + + + + + Chiral + + + + + diff --git a/api/tests/integration/tests/formats/ref/enhanced_stereo2.b64cdx b/api/tests/integration/tests/formats/ref/enhanced_stereo2.b64cdx new file mode 100644 index 0000000000..3ee7156c09 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/enhanced_stereo2.b64cdx @@ -0,0 +1 @@ +VmpDRDAxMDAEAwIBAAAAAAAAAAAAAAAAAAAAAAUIBAAAAB4AGggCAAMAGwgCAAQAAAEkAAAAAgACAOn9BQBBcmlhbAMA6f0PAFRpbWVzIE5ldyBSb21hbgADMgAIAP///////wAAAAAAAP//AAAAAP////8AAAAA//8AAAAA/////wAAAAD/////AAD//wGAAAAAABAIAgABAA8IAgABAAOABAAAAASABQAAAAIEAgAIACsEAgABAAACCAAAAB4AAAAeAAaAAAAAAAACCAAAAB4AAAAeACMIAQAAAAcOAAEAAAADAGAAyAAAAE9IAAAAAASABgAAAAACCACZGTUA0QJGAAAABIAHAAAAAAIIAMxMYwDRAkYAMAQBAAAxBBAABgAAAAgAAAAPAAAABQAAAEYEAQAARwQCAAEAAAAEgAgAAAAAAggAZmZ6AKEFbgAAAASACQAAAAACCACZmagAoQVuAAAABIAKAAAAAAIIADOzvwCuB5YAAAAEgAsAAAAAAggAZubtAK4HlgAAAASADAAAAAACCAAAAAUBoQVuAAAABIANAAAAAAIIAGbm7QDRAkYAAAAEgA4AAAAAAggAM7O/ANECRgAAAASADwAAAAIEAgAHACsEAgABAAACCABmZnoAAAAeAAaAAAAAAAACCABmZnoAAAAeACMIAQAAAAcOAAEAAAADAGAAyAAAAE5IAAAAAASAEAAAAAIEAgA1ACsEAgAAAAACCACZmagAAAAeAAaAAAAAAAACCACZmagAAAAeACMIAQAAAAcNAAEAAAADAGAAyAAAAEkAAAAABIARAAAAAgQCAAgAKwQCAAAAAAIIAAAAHgChBW4ABoAAAAAAAAIIAAAAHgChBW4AIwgBAAAABw0AAQAAAAMAYADIAAAATwAAAAAFgBIAAAAEBgQABQAAAAUGBAAGAAAAAAAFgBMAAAAEBgQABgAAAAUGBAAHAAAAAAAFgBQAAAAEBgQABgAAAAUGBAARAAAAAAYCAAIAAAAFgBUAAAAEBgQABwAAAAUGBAAIAAAAAAAFgBYAAAAEBgQABwAAAAUGBAAPAAAAAQYCAAAAAAAFgBcAAAAEBgQACAAAAAUGBAAJAAAAAAAFgBgAAAAEBgQACQAAAAUGBAAKAAAAAAYCAAIAAAAFgBkAAAAEBgQACQAAAAUGBAAOAAAAAAAFgBoAAAAEBgQACgAAAAUGBAALAAAAAAAFgBsAAAAEBgQACwAAAAUGBAAMAAAAAAYCAAIAAAAFgBwAAAAEBgQADAAAAAUGBAANAAAAAAAFgB0AAAAEBgQADQAAAAUGBAAOAAAAAAYCAAIAAAAFgB4AAAAEBgQADwAAAAUGBAAQAAAAAAAAAAAAAAAAAA== \ No newline at end of file diff --git a/api/tests/integration/tests/formats/ref/enhanced_stereo2.cdxml b/api/tests/integration/tests/formats/ref/enhanced_stereo2.cdxml new file mode 100644 index 0000000000..344ed19ecd --- /dev/null +++ b/api/tests/integration/tests/formats/ref/enhanced_stereo2.cdxml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + OH + + + + + + + + + + + + + + NH + + + + + I + + + + + O + + + + + + + + + + + + + + + + + + diff --git a/api/tests/integration/tests/formats/ref/enhanced_stereo3.b64cdx b/api/tests/integration/tests/formats/ref/enhanced_stereo3.b64cdx new file mode 100644 index 0000000000..d41d9450d4 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/enhanced_stereo3.b64cdx @@ -0,0 +1 @@ +VmpDRDAxMDAEAwIBAAAAAAAAAAAAAAAAAAAAAAUIBAAAAB4AGggCAAMAGwgCAAQAAAEkAAAAAgACAOn9BQBBcmlhbAMA6f0PAFRpbWVzIE5ldyBSb21hbgADMgAIAP///////wAAAAAAAP//AAAAAP////8AAAAA//8AAAAA/////wAAAAD/////AAD//wGAAAAAABAIAgABAA8IAgABAAOABAAAAASABQAAAAIEAgAIACsEAgABAAACCAAAAB4AAAAeAAaAAAAAAAACCAAAAB4AAAAeACMIAQAAAAcOAAEAAAADAGAAyAAAAE9IAAAAAASABgAAAAACCACZGTUA0QJGAAAABIAHAAAAAAIIAMxMYwDRAkYAMAQBAAAxBBAABgAAAAgAAAAPAAAABQAAAEYEAQAARwQCAAEAAAAEgAgAAAAAAggAZmZ6AKEFbgAwBAEAADEEEAAHAAAAEgAAAAkAAAAFAAAARgQBAABHBAIAAQAAAASACQAAAAACCACZmagAoQVuAAAABIAKAAAAAAIIADOzvwCuB5YAAAAEgAsAAAAAAggAZubtAK4HlgAAAASADAAAAAACCAAAAAUBoQVuAAAABIANAAAAAAIIAGbm7QDRAkYAAAAEgA4AAAAAAggAM7O/ANECRgAAAASADwAAAAIEAgAHACsEAgABAAACCABmZnoAAAAeAAaAAAAAAAACCABmZnoAAAAeACMIAQAAAAcOAAEAAAADAGAAyAAAAE5IAAAAAASAEAAAAAIEAgA1ACsEAgAAAAACCACZmagAAAAeAAaAAAAAAAACCACZmagAAAAeACMIAQAAAAcNAAEAAAADAGAAyAAAAEkAAAAABIARAAAAAgQCAAgAKwQCAAAAAAIIAAAAHgChBW4ABoAAAAAAAAIIAAAAHgChBW4AIwgBAAAABw0AAQAAAAMAYADIAAAATwAAAAAEgBIAAAAAAggAzExjAHIIlgAAAAWAEwAAAAQGBAAFAAAABQYEAAYAAAAAAAWAFAAAAAQGBAAGAAAABQYEAAcAAAAAAAWAFQAAAAQGBAAGAAAABQYEABEAAAAABgIAAgAAAAWAFgAAAAQGBAAHAAAABQYEAAgAAAAAAAWAFwAAAAQGBAAHAAAABQYEAA8AAAABBgIAAAAAAAWAGAAAAAQGBAAIAAAABQYEAAkAAAAAAAWAGQAAAAQGBAAJAAAABQYEAAoAAAAABgIAAgAAAAWAGgAAAAQGBAAJAAAABQYEAA4AAAAAAAWAGwAAAAQGBAAKAAAABQYEAAsAAAAAAAWAHAAAAAQGBAALAAAABQYEAAwAAAAABgIAAgAAAAWAHQAAAAQGBAAMAAAABQYEAA0AAAAAAAWAHgAAAAQGBAANAAAABQYEAA4AAAAABgIAAgAAAAWAHwAAAAQGBAAPAAAABQYEABAAAAAAAAWAIAAAAAQGBAAIAAAABQYEABIAAAABBgIAAAAAAAAAAAAAAAAA \ No newline at end of file diff --git a/api/tests/integration/tests/formats/ref/enhanced_stereo3.cdxml b/api/tests/integration/tests/formats/ref/enhanced_stereo3.cdxml new file mode 100644 index 0000000000..ccda4318f2 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/enhanced_stereo3.cdxml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + OH + + + + + + + + + + + + + + NH + + + + + I + + + + + O + + + + + + + + + + + + + + + + + + + + diff --git a/api/tests/integration/tests/formats/ref/stereo_either-0020.b64cdx b/api/tests/integration/tests/formats/ref/stereo_either-0020.b64cdx new file mode 100644 index 0000000000..747ac973b3 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/stereo_either-0020.b64cdx @@ -0,0 +1 @@ +VmpDRDAxMDAEAwIBAAAAAAAAAAAAAAAAAAAAAAUIBAAAAB4AGggCAAMAGwgCAAQAAAEkAAAAAgACAOn9BQBBcmlhbAMA6f0PAFRpbWVzIE5ldyBSb21hbgADMgAIAP///////wAAAAAAAP//AAAAAP////8AAAAA//8AAAAA/////wAAAAD/////AAD//wGAAAAAABAIAgABAA8IAgABAAOABAAAAASABQAAAAACCACDgG4AbKdmAAAABIAGAAAAAAIIAN9PUQC4HmAAAAAEgAcAAAAAAggA+JNAAHbedgAAAASACAAAAAIEAgAJACsEAgAAAAACCABuMkYArqePAAaAAAAAAAACCABuMkYArqePACMIAQAAAAcNAAEAAAADAGAAyAAAAEYAAAAABIAJAAAAAgQCAAkAKwQCAAAAAAIIACIbLwCoRooABoAAAAAAAAIIACIbLwCoRooAIwgBAAAABw0AAQAAAAMAYADIAAAARgAAAAAEgAoAAAACBAIACQArBAIAAAAAAggApNBYAIvMdwAGgAAAAAAAAggApNBYAIvMdwAjCAEAAAAHDQABAAAAAwBgAMgAAABGAAAAAASACwAAAAACCAChhTYA+0lWAAAABIAMAAAAAgQCAAkAKwQCAAAAAAIIAAAAHgCkkE0ABoAAAAAAAAIIAAAAHgCkkE0AIwgBAAAABw0AAQAAAAMAYADIAAAARgAAAAAEgA0AAAACBAIACQArBAIAAAAAAggAK0ciAPhzZgAGgAAAAAAAAggAK0ciAPhzZgAjCAEAAAAHDQABAAAAAwBgAMgAAABGAAAAAASADgAAAAIEAgAJACsEAgAAAAACCABgZTMAKuc8AAaAAAAAAAACCABgZTMAKuc8ACMIAQAAAAcNAAEAAAADAGAAyAAAAEYAAAAABIAPAAAAAgQCAAkAKwQCAAAAAAIIAAhMVADPl0YABoAAAAAAAAIIAAhMVADPl0YAIwgBAAAABw0AAQAAAAMAYADIAAAARgAAAAAEgBAAAAAAAggAFvl3AB+FfQAAAASAEQAAAAACCAAlRnQA0aKZAAAABIASAAAAAgQCAAkAKwQCAAAAAAIIAAZBcwA7/7MABoAAAAAAAAIIAAZBcwA7/7MAIwgBAAAABw0AAQAAAAMAYADIAAAARgAAAAAEgBMAAAACBAIACQArBAIAAAAAAggAfb+JAELgqAAGgAAAAAAAAggAfb+JAELgqAAjCAEAAAAHDQABAAAAAwBgAMgAAABGAAAAAASAFAAAAAIEAgAJACsEAgAAAAACCADn+10AzaylAAaAAAAAAAACCADn+10AzaylACMIAQAAAAcNAAEAAAADAGAAyAAAAEYAAAAABIAVAAAAAgQCAAcAKwQCAAAAAAIIAMnWjgCy/YYABoAAAAAAAAIIAMnWjgCy/YYAIwgBAAAABw0AAQAAAAMAYADIAAAATgAAAAAEgBYAAAACBAIABwArBAIAAAAAAggAe7SlAB+FfQAGgAAAAAAAAggAe7SlAB+FfQAjCAEAAAAHDQABAAAAAwBgAMgAAABOAAAAAASAFwAAAAACCAAOLa8AbKdmAAAABIAYAAAAAAIIADipywAGYWgAAAAEgBkAAAAAAggAj8LXAK4HgQAAAASAGgAAAAIEAgAJACsEAgAAAAACCACK4eIAaJGYAAaAAAAAAAACCACK4eIAaJGYACMIAQAAAAcNAAEAAAADAGAAyAAAAEYAAAAABIAbAAAAAgQCAAkAKwQCAAAAAAIIAKRw8QCauYIABoAAAAAAAAIIAKRw8QCauYIAIwgBAAAABw0AAQAAAAMAYADIAAAARgAAAAAEgBwAAAACBAIACQArBAIAAAAAAggAzWzHABKDlAAGgAAAAAAAAggAzWzHABKDlAAjCAEAAAAHDQABAAAAAwBgAMgAAABGAAAAAASAHQAAAAACCADHq+IAJ/FXAAAABIAeAAAAAgQCAAkAKwQCAAAAAAIIAICq9gAg8EYABoAAAAAAAAIIAICq9gAg8EYAIwgBAAAABw0AAQAAAAMAYADIAAAARgAAAAAEgB8AAAACBAIACQArBAIAAAAAAggAMgj6AEt3YgAGgAAAAAAAAggAMgj6AEt3YgAjCAEAAAAHDQABAAAAAwBgAMgAAABGAAAAAASAIAAAAAIEAgAJACsEAgAAAAACCAAAIN8A+X4+AAaAAAAAAAACCAAAIN8A+X4+ACMIAQAAAAcNAAEAAAADAGAAyAAAAEYAAAAABIAhAAAAAAIIAHu0pQC6yU8AAAAEgCIAAAAAAggAEXinAA5NNQAAAASAIwAAAAIEAgAJACsEAgAAAAACCADVGLMAAAAeAAaAAAAAAAACCADVGLMAAAAeACMIAQAAAAcNAAEAAAADAGAAyAAAAEYAAAAABIAkAAAAAgQCAAkAKwQCAAAAAAIIAHtUlgDQYiIABoAAAAAAAAIIAHtUlgDQYiIAIwgBAAAABw0AAQAAAAMAYADIAAAARgAAAAAEgCUAAAACBAIACQArBAIAAAAAAggAhcvAADUeNQAGgAAAAAAAAggAhcvAADUeNQAjCAEAAAAHDQABAAAAAwBgAMgAAABGAAAAAASAJgAAAAIEAgAHACsEAgAAAAACCADJ1o4AYlBGAAaAAAAAAAACCADJ1o4AYlBGACMIAQAAAAcNAAEAAAADAGAAyAAAAE4AAAAABIAnAAAAAgQCAAcAKwQCAAAAAAIIABb5dwC6yU8ABoAAAAAAAAIIABb5dwC6yU8AIwgBAAAABw0AAQAAAAMAYADIAAAATgAAAAAFgCgAAAAEBgQABQAAAAUGBAAGAAAAAAAFgCkAAAAEBgQABgAAAAUGBAAHAAAAAAAFgCoAAAAEBgQABwAAAAUGBAAIAAAAAAAFgCsAAAAEBgQABwAAAAUGBAAJAAAAAAAFgCwAAAAEBgQABwAAAAUGBAAKAAAAAAAFgC0AAAAEBgQABgAAAAUGBAALAAAAAAAFgC4AAAAEBgQACwAAAAUGBAAMAAAAAAAFgC8AAAAEBgQACwAAAAUGBAANAAAAAAAFgDAAAAAEBgQACwAAAAUGBAAOAAAAAAAFgDEAAAAEBgQABgAAAAUGBAAPAAAAAAAFgDIAAAAEBgQABQAAAAUGBAAQAAAAAAAFgDMAAAAEBgQAEAAAAAUGBAARAAAAAAAFgDQAAAAEBgQAEQAAAAUGBAASAAAAAAAFgDUAAAAEBgQAEQAAAAUGBAATAAAAAAAFgDYAAAAEBgQAEQAAAAUGBAAUAAAAAAAFgDcAAAAEBgQAEAAAAAUGBAAVAAAAAAYCAAIAAAAFgDgAAAAEBgQAFQAAAAUGBAAWAAAAAAAFgDkAAAAEBgQAFgAAAAUGBAAXAAAAAAYCAAIAAAAFgDoAAAAEBgQAFwAAAAUGBAAYAAAAAAAFgDsAAAAEBgQAGAAAAAUGBAAZAAAAAAAFgDwAAAAEBgQAGQAAAAUGBAAaAAAAAAAFgD0AAAAEBgQAGQAAAAUGBAAbAAAAAAAFgD4AAAAEBgQAGQAAAAUGBAAcAAAAAAAFgD8AAAAEBgQAGAAAAAUGBAAdAAAAAAAFgEAAAAAEBgQAHQAAAAUGBAAeAAAAAAAFgEEAAAAEBgQAHQAAAAUGBAAfAAAAAAAFgEIAAAAEBgQAHQAAAAUGBAAgAAAAAAAFgEMAAAAEBgQAIQAAAAUGBAAXAAAAAAAFgEQAAAAEBgQAIQAAAAUGBAAiAAAAAAAFgEUAAAAEBgQAIgAAAAUGBAAjAAAAAAAFgEYAAAAEBgQAIgAAAAUGBAAkAAAAAAAFgEcAAAAEBgQAIgAAAAUGBAAlAAAAAAAFgEgAAAAEBgQAIQAAAAUGBAAmAAAAAAYCAAIAAAAFgEkAAAAEBgQAJwAAAAUGBAAmAAAAAAAFgEoAAAAEBgQABQAAAAUGBAAnAAAAAAYCAAIAAAAAAAAAAAAAAA== \ No newline at end of file diff --git a/api/tests/integration/tests/formats/ref/stereo_either-0020.cdxml b/api/tests/integration/tests/formats/ref/stereo_either-0020.cdxml new file mode 100644 index 0000000000..a280d6eeb3 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/stereo_either-0020.cdxml @@ -0,0 +1,185 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + F + + + + + F + + + + + F + + + + + + F + + + + + F + + + + + F + + + + + F + + + + + + + F + + + + + F + + + + + F + + + + + N + + + + + N + + + + + + + + F + + + + + F + + + + + F + + + + + + F + + + + + F + + + + + F + + + + + + + F + + + + + F + + + + + F + + + + + N + + + + + N + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/api/wasm/indigo-ketcher/indigo-ketcher.cpp b/api/wasm/indigo-ketcher/indigo-ketcher.cpp index 4c2f3c1633..1ce999adec 100644 --- a/api/wasm/indigo-ketcher/indigo-ketcher.cpp +++ b/api/wasm/indigo-ketcher/indigo-ketcher.cpp @@ -149,6 +149,10 @@ namespace indigo { return _checkResultString(indigoCdxml(id())); } + else if (outputFormat == "cdx" || outputFormat == "chemical/x-cdx") + { + return _checkResultString(indigoCdxBase64(id())); + } else if (outputFormat == "inchi" || outputFormat == "chemical/x-inchi") { return _checkResultString(indigoInchiGetInchi(id())); diff --git a/api/wasm/indigo-ketcher/test64.cdx b/api/wasm/indigo-ketcher/test64.cdx index a3754258b3..92c0eda8c2 100644 --- a/api/wasm/indigo-ketcher/test64.cdx +++ b/api/wasm/indigo-ketcher/test64.cdx @@ -1 +1,152 @@ -base64::VmpDRDAxMDAEAwIBAAAAAAAAAAAAAACAAAAAAAMAFgAAAENoZW1EcmF3IDEzLjAuMi4zMDIxCAAKAAAAdGVzdC5jZHgEAhAAZ58aAWamkQCEK2ACDqXSAQEJCAAAgBYAAAAGAAIJCAAAwHYCAMAiAg0IAQABCAcBAAE6BAEAATsEAQAARQQBAAE8BAEAAEoEAQAADAYBAAEPBgEAAQ0GAQAAQgQBAABDBAEAAEQEAQAADggCANAHCggIAAMAYADIAAMACwgIAAQAAADwAAMACQgEADOzAgAICAQAAAACAAcIBAAAAAEABggEAAAABAAFCAQAAAAeAAQIAgB4AAMIBAAAAHgAIwgBAAUMCAEAACgIAQABKQgBAAEqCAEAASsIAQAoLAgBAAotCAEAAS4IAQAAAggQAAAAJAAAACQAAAAkAAAAJAABAwIAAAACAwIAAQAAA1YADgD///////8AAAAAAAD//wAAAAD/////AAAAAP//AAAAAP////8AAAAA/////wAA///Z2bOz/////8vLs7OAgP////+AgP//gID//4CAv7/o6OfnlZUAASQAAAACAAMA5AQFAEFyaWFsBADkBA8AVGltZXMgTmV3IFJvbWFuAAh4AAADAAACWAJYAAAAABkNE1f/qf+yGXETngNnBSgD/AACAAACWAJYAAAAABkNE1cAAQBkAGQAAAABAAEBAQAAAAEnDwABAAEAAAAAAAAAAAAAAAAAAgAZAZAAAAAAAGAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAALQLAgAAALULFAAAAENoZW1pY2FsIEZvcm11bGE6ILYLDgAAAEV4YWN0IE1hc3M6ILcLFAAAAE1vbGVjdWxhciBXZWlnaHQ6ILgLBwAAAG0vejoguQsWAAAARWxlbWVudGFsIEFuYWx5c2lzOiC6CxEAAABCb2lsaW5nIFBvaW50OiC7CxEAAABNZWx0aW5nIFBvaW50OiC8CxEAAABDcml0aWNhbCBUZW1wOiC9CxEAAABDcml0aWNhbCBQcmVzOiC+CxAAAABDcml0aWNhbCBWb2w6IL8LEAAAAEdpYmJzIEVuZXJneTogwAsJAAAATG9nIFA6IMELBgAAAE1SOiDCCw8AAABIZW5yeSdzIExhdzogwwsQAAAASGVhdCBvZiBGb3JtOiDECwgAAAB0UFNBOiDFCwkAAABDTG9nUDogxgsHAAAAQ01SOiDHCwgAAABMb2dTOiDICwcAAABwS2E6IAGAaRcAAAQCEAAAAAAAAAAAAAAAoAUAADgEEggEAAAAOAQTCAQAAACgBRYIBAAAACQAGAgEAAAAJAAUCAQAAAAAABkIAAAQCAIAAgAPCAIAAgARCAEAAQOAwRYAAAQCEABnnxoBZqaRAIQrYAIOpdIBCgACAMACBgUBAAUEgMIWAAAAAggAMzPeAXoU+gAKAAIAxQI7BAEAATcEAQABAAAEgMMWAAAAAggAMzPPAVwPFAEKAAIAxgI7BAEAATcEAQABAAAEgMQWAAAAAggAMzOxAVwPFAEKAAIAxwI7BAEAATcEAQABAAAEgMUWAAAAAggAMzPPAZkZ4AAKAAIAyAI7BAEAAQIEAgAIACsEAgAAAEgEAAA3BAEAAQaAAAAAAAACCACZGdMBMjPcAAQCEABEpMoBMjPcADMz0wH//+MAIwgBAAACBwIAAAAABw0AAQAAAAMAYADIAAMATwAAAAAEgMYWAAAAAggAMzOiAXoU+gAKAAIAyQI7BAEAAQIEAgAHACsEAgABAEgEAAA3BAEAAQaAAAAAAAACCACZGaYBE679AAQCEAAhwp0BkzzvAJkZpgETrv0AIwgBAP8BBwEA/wIHAgAAAAUHAQADAAcOAAEAAAADAGAAyAADAE5IAAAAAASAxxYAAAACCAAzMwsCXA8UAQoAAgDPAjsEAQABMAQBAAc3BAEAAjEEEAAGFwAABxcAAAAAAAAFFwAAEYAAAAAAAA0CAAAACAAGAHN0ZXJlbwaAAAAAAAACCACIaAYCrdMOAQQCEADMDAACrdMOAVX1BwI9PhkBBwcCAAAAAgcCAAAAAAcPAAEAAAADAAIAlgAAAChSKQAAAAAAAASAyBYAAAACCAAzM/wBPQouAQoAAgDQAjsEAQABNwQBAAEAAASAyRYAAAACCAAzM/wBehT6AAoAAgDRAjsEAQABAgQCAAcAKwQCAAEASAQAADcEAQABBoAAAAAAAAIIAJkZAAITrv0ABAIQACHC9wGTPO8AmRkAAhOu/QAjCAEA/wEHAQD/AgcCAAAABQcBAAMABw4AAQAAAAMAYADIAAMATkgAAAAABIDKFgAAAAIIADMzCwIeBUgBCgACANICOwQBAAECBAIACAArBAIAAABIBAAANwQBAAEGgAAAAAAAAggAmRkPArceRAEEAhAARKQGArceRAEzMw8ChOtLASMIAQAAAgcCAAAAAAcNAAEAAAADAGAAyAADAE8AAAAABIDLFgAAAAIIAFF4DwJmZtUACgACAOECOwQBAAE3BAEAAQAABIDMFgAAAAIIAOE6CQJcD7gACgACAOICOwQBAAE3BAEAAQAABIDNFgAAAAIIAB6FHwLh+qMACgACAOMCOwQBAAE3BAEAAQAABIDOFgAAAAIIAMwMPAIAQK0ACgACAOQCOwQBAAE3BAEAAQAABIDPFgAAAAIIAAAALAKFq94ACgACAOUCOwQBAAE3BAEAAQAABIDQFgAAAAIIAD1KQgKZmcoACgACAOYCOwQBAAE3BAEAAQAABIDRFgAAAAIIAB5FXAKZmdkACgACAOcCOwQBAAECBAIABwArBAIAAQBIBAAANwQBAAEGgAAAAAAAAggAhCtgAjIz3QAEAhAADNRXArLBzgCEK2ACMjPdACMIAQD/AQcBAP8CBwIAAAAFBwEAAwAHDgABAAAAAwBgAMgAAwBOSAAAAAAEgNIWAAAAAggAPQpWAqPw9gAKAAIA6AI7BAEAATcEAQABAAAEgNMWAAAAAggAMzM4AnoU+gAKAAIA6QI7BAEAATcEAQABAAAEgNQWAAAAAggAMzMpAlwPFAEKAAIA6gI7BAEAATcEAQABAAAEgNUWAAAAAggAMzPPAR4FSAEKAAIA7AI7BAEAATAEAQAHNwQBAAMxBBAAFRcAABYXAAAUFwAAAAAAABGAAAAAAAANAgAAAAgABgBzdGVyZW8GgAAAAAAAAggAJCLOAXxxOwEEAhAAaMbHAXxxOwHxrs8BHHJFAQcHAgAAAAIHAgAAAAAHDwABAAAAAwACAJYAAAAoUykAAAAAAAAEgNYWAAAAAggAMzOxAR4FSAEKAAIA7QI7BAEAATcEAQABAAAEgNcWAAAAAggAMzPeAT0KLgEKAAIA7gI7BAEAAQIEAgAHACsEAgABAEgEAAA3BAEAAQaAAAAAAAACCACZGeIB1qMxAQQCEAAhwtkBVjIjAZkZ4gHWozEBIwgBAP8BBwEA/wIHAgAAAAUHAQADAAcOAAEAAAADAGAAyAADAE5IAAAAAASA2BYAAAACCAAzM6IBAABiAQoAAgDvAjsEAQABAgQCAAgAKwQCAAAASAQAADcEAQABBoAAAAAAAAIIAJkZpgGZGV4BBAIQAESknQGZGV4BMzOmAWbmZQEjCAEAAAIHAgAAAAAHDQABAAAAAwBgAMgAAwBPAAAAAASA2RYAAAACCAAU7vcB9aigAQoAAgD+AjsEAQABNwQBAAEAAASA2hYAAAACCACFK/4BAAC+AQoAAgD/AjsEAQABNwQBAAEAAASA2xYAAAACCABH4ecBehTSAQoAAgAAAzsEAQABNwQBAAEAAASA3BYAAAACCACZWcsBXM/IAQoAAgABAzsEAQABNwQBAAEAAASA3RYAAAACCABmZtsB12OXAQoAAgACAzsEAQABNwQBAAEAAASA3hYAAAACCAAoHMUBwnWrAQoAAgADAzsEAQABNwQBAAEAAASA3xYAAAACCABHIasBwnWcAQoAAgAEAzsEAQABAgQCAAcAKwQCAAEASAQAADcEAQABBoAAAAAAAAIIAK0HrwEo3JgBBAIQADWwpgEo3JgBrQevAahNpwEjCAEAAAIHAgAAAAUHAQABAAcOAAEAAAADAGAAyAADAE5IAAAAAASA4BYAAAACCAAoXLEBuB5/AQoAAgAFAzsEAQABNwQBAAEAAASA4RYAAAACCAAzM88B4fp7AQoAAgAGAzsEAQABNwQBAAEAAASA4hYAAAACCAAzM94BAABiAQoAAgAHAzsEAQABNwQBAAEAAASA4xYAAAACCAAzM4QBehT6AAoAAgAIAzsEAQABNwQBAAEAAASA5BYAAAACCAAzM1cBXA8UAQoAAgAJAzsEAQABAgQCAAcAKwQCAAEASAQAADcEAQABBoAAAAAAAAIIAJkZWwHCdRABBAIQACHCUgHCdRABmRlbAULnHgEjCAEAAAIHAgAAAAUHAQABAAcOAAEAAAADAGAAyAAAAE5IAAAAAASA5RYAAAACCAAzM3UBXA8UAQoAAgAKAzsEAQABMAQBAAc3BAEAAzEEEAAaFwAAGRcAABsXAAAAAAAAEYAAAAAAAA0CAAAACAAGAHN0ZXJlbwaAAAAAAAACCADuTn8BpQgPAQQCEAAz83gBpQgPAbvbgAFFCRkBBwcCAAAAAgcCAAAAAAcPAAEAAAADAAIAlgAAAChTKQAAAAAAAASA5hYAAAACCAAzM4QBPQouAQoAAgALAzsEAQABMAQBAAc3BAEAAjEEEAAbFwAAHBcAAB0XAAAAAAAAEYAAAAAAAA0CAAAACAAGAHN0ZXJlbwaAAAAAAAACCABSlYoB9wYhAQQCEACWOYQB9wYhAR8ijAGHcSsBBwcCAAAAAgcCAAAAAAcPAAEAAAADAAIAlgAAAChSKQAAAAAAAASA5xYAAAACCAAzM3UBHgVIAQoAAgAMAzsEAQABNwQBAAEAAASA6BYAAAACCAAzM6IBPQouAQoAAgANAzsEAQABAgQCAAgAKwQCAAAASAQAADcEAQABBoAAAAAAAAIIAJkZpgHWIyoBBAIQAESknQHWIyoBMzOmAaPwMQEjCAEAAAIHAgAAAAUHAQADAAcNAAEAAAADAGAAyAAAAE8AAAAABIDpFgAAAAIIADMzdQGZGeAACgACAA4DOwQBAAECBAIACAArBAIAAABIBAAANwQBAAEGgAAAAAAAAggAmRl5ATIz3AAEAhAARKRwATIz3AAzM3kB///jACMIAQAAAgcCAAAAAAcNAAEAAAADAGAAyAAAAE8AAAAABIDqFgAAAAIIADMzSAF6FPoACgACAA8DOwQBAAE3BAEAAQAABIDrFgAAAAIIADMzKgF6FPoACgACABADOwQBAAECBAIACAArBAIAAABIBAAANwQBAAEGgAAAAAAAAggAmRkuARMu9gAEAhAARKQlARMu9gAzMy4B4Pr9ACMIAQAAAgcCAAAAAAcNAAEAAAADAGAAyAAAAE8AAAAABIDsFgAAAAIIADMzVwGZGeAACgACABEDOwQBAAE3BAEAAQAABIDtFgAAAAIIADMzSAG4HsYACgACABIDOwQBAAE3BAEAAQAABIDuFgAAAAIIADMzKgG4HsYACgACABMDOwQBAAE3BAEAAQAABIDvFgAAAAIIADMzGwHXI6wACgACABQDOwQBAAE3BAEAAQAABIDwFgAAAAIIADMzKgFmJpIACgACABUDOwQBAAE3BAEAAQAABIDxFgAAAAIIADMzSAFmJpIACgACABYDOwQBAAE3BAEAAQAABIDyFgAAAAIIADMzVwHXI6wACgACABcDOwQBAAE3BAEAAQAABYDzFgAACgACAMECDQYBAAEEBgQAwhYAAAUGBADJFgAAEAYCAAMACgYBAAEAAAWA9BYAAAoAAgDCAg0GAQABBAYEAMgWAAAFBgQA1xYAABAGAgADAAoGAQABAAAFgPUWAAAKAAIAwwINBgEAAQQGBADWFgAABQYEAOgWAAAQBgIAAwAKBgEAAQAABYD2FgAACgACAMQCDQYBAAEEBgQA4xYAAAUGBADGFgAAEAYCAAQACgYBAAEAAAWA9xYAAAoAAgDKAg0GAQABBAYEAMIWAAAFBgQAwxYAAAoGAQABAAAFgPgWAAAKAAIAywINBgEAAQQGBADDFgAABQYEAMQWAAAKBgEAAQAABYD5FgAACgACAMwCDQYBAAEEBgQAwhYAAAUGBADFFgAAAAYCAAIACgYBAAEAAAWA+hYAAAoAAgDNAg0GAQABBAYEAMQWAAAFBgQAxhYAAAoGAQABAAAFgPsWAAAKAAIAzgINBgEAAQQGBADPFgAABQYEAMsWAAAKBgEAAQAABYD8FgAACgACANMCDQYBAAEEBgQAzBYAAAUGBADLFgAAAAYCAAIAAwYCAAIACgYBAAELBhAAAAAAAP0WAAD7FgAAAAAAAAAABYD9FgAACgACANQCDQYBAAEEBgQAzRYAAAUGBADMFgAACgYBAAEAAAWA/hYAAAoAAgDVAg0GAQABBAYEAM4WAAAFBgQAzRYAAAAGAgACAAMGAgACAAoGAQABCwYQAAAAAAD/FgAA/RYAAAAAAAAAAAWA/xYAAAoAAgDWAg0GAQABBAYEANAWAAAFBgQAzhYAAAoGAQABAAAFgAAXAAAKAAIA1wINBgEAAQQGBADTFgAABQYEAM8WAAAKBgEAAQAABYABFwAACgACANgCDQYBAAEEBgQA0BYAAAUGBADPFgAAAAYCAAIAAwYCAAEACgYBAAELBhAA/xYAAAIXAAAAFwAA+xYAAAAABYACFwAACgACANkCDQYBAAEEBgQA0RYAAAUGBADQFgAACgYBAAEAAAWAAxcAAAoAAgDaAg0GAQABBAYEANIWAAAFBgQA0RYAAAoGAQABAAAFgAQXAAAKAAIA2wINBgEAAQQGBADTFgAABQYEANIWAAAABgIAAgADBgIAAgAKBgEAAwsGEAAJFwAAABcAAAMXAAAAAAAAEYAAAAAAAA0CAAAACAAGAHN0ZXJlbwaAAAAAAAACCABOlEoCBTT8AAQCEACSOEQCBTT8ABshTAKfzQUBBwcCAAAAAgcCAAAAAAcPAAEAAAADAAIAlgAAAChaKQAAAAAAAAWABRcAAAoAAgDcAg0GAQABBAYEANQWAAAFBgQAxxYAAAEGAgAHAAoGAQABAAAFgAYXAAAKAAIA3QINBgEAAQQGBADHFgAABQYEAMgWAAAKBgEAAQAABYAHFwAACgACAN4CDQYBAAEEBgQAxxYAAAUGBADJFgAACgYBAAEAAAWACBcAAAoAAgDfAg0GAQABBAYEAMgWAAAFBgQAyhYAAAAGAgACAAoGAQABAAAFgAkXAAAKAAIA4AINBgEAAQQGBADUFgAABQYEANMWAAAKBgEAAQAABYAKFwAACgACAOsCDQYBAAEEBgQA3RYAAAUGBADZFgAACgYBAAEAAAWACxcAAAoAAgDwAg0GAQABBAYEANoWAAAFBgQA2RYAAAAGAgACAAMGAgACAAoGAQABCwYQAAAAAAAMFwAAChcAAAAAAAAAAAWADBcAAAoAAgDxAg0GAQABBAYEANsWAAAFBgQA2hYAAAoGAQABAAAFgA0XAAAKAAIA8gINBgEAAQQGBADcFgAABQYEANsWAAAABgIAAgADBgIAAgAKBgEAAQsGEAAAAAAADhcAAAwXAAAAAAAAAAAFgA4XAAAKAAIA8wINBgEAAQQGBADeFgAABQYEANwWAAAKBgEAAQAABYAPFwAACgACAPQCDQYBAAEEBgQA4RYAAAUGBADdFgAACgYBAAEAAAWAEBcAAAoAAgD1Ag0GAQABBAYEAN4WAAAFBgQA3RYAAAAGAgACAAMGAgABAAoGAQABCwYQAA4XAAARFwAADxcAAAoXAAAAAAWAERcAAAoAAgD2Ag0GAQABBAYEAN8WAAAFBgQA3hYAAAoGAQABAAAFgBIXAAAKAAIA9wINBgEAAQQGBADgFgAABQYEAN8WAAAKBgEAAQAABYATFwAACgACAPgCDQYBAAEEBgQA4RYAAAUGBADgFgAAAAYCAAIAAwYCAAIACgYBAAMLBhAAGBcAAA8XAAASFwAAAAAAABGAAAAAAAANAgAAAAgABgBzdGVyZW8GgAAAAAAAAggA9S/CAbtBcAEEAhAAOdS7AbtBcAHBvMMBVdt5AQcHAgAAAAIHAgAAAAAHDwABAAAAAwACAJYAAAAoWikAAAAAAAAFgBQXAAAKAAIA+QINBgEAAQQGBADiFgAABQYEANUWAAABBgIABAAKBgEAAQAABYAVFwAACgACAPoCDQYBAAEEBgQA1RYAAAUGBADWFgAACgYBAAEAAAWAFhcAAAoAAgD7Ag0GAQABBAYEANUWAAAFBgQA1xYAAAoGAQABAAAFgBcXAAAKAAIA/AINBgEAAQQGBADWFgAABQYEANgWAAAABgIAAgAKBgEAAQAABYAYFwAACgACAP0CDQYBAAEEBgQA4hYAAAUGBADhFgAACgYBAAEAAAWAGRcAAAoAAgAYAw0GAQABBAYEAOUWAAAFBgQA5BYAAAEGAgAGAAoGAQABAAAFgBoXAAAKAAIAGQMNBgEAAQQGBADjFgAABQYEAOUWAAAKBgEAAQAABYAbFwAACgACABoDDQYBAAEEBgQA5RYAAAUGBADmFgAACgYBAAEAAAWAHBcAAAoAAgAbAw0GAQABBAYEAOYWAAAFBgQA5xYAAAEGAgAGAAoGAQABAAAFgB0XAAAKAAIAHAMNBgEAAQQGBADmFgAABQYEAOgWAAAKBgEAAQAABYAeFwAACgACAB0DDQYBAAEEBgQA4xYAAAUGBADpFgAAAAYCAAIACgYBAAEAAAWAHxcAAAoAAgAeAw0GAQABBAYEAOoWAAAFBgQA6xYAAAAGAgACAAoGAQABAAAFgCAXAAAKAAIAHwMNBgEAAQQGBADqFgAABQYEAOwWAAAKBgEAAQAABYAhFwAACgACACADDQYBAAEEBgQA7RYAAAUGBADuFgAACgYBAAEAAAWAIhcAAAoAAgAhAw0GAQABBAYEAO4WAAAFBgQA7xYAAAAGAgACAAMGAgABAAoGAQABCwYQACEXAAAAAAAAAAAAACMXAAAAAAWAIxcAAAoAAgAiAw0GAQABBAYEAO8WAAAFBgQA8BYAAAoGAQABAAAFgCQXAAAKAAIAIwMNBgEAAQQGBADwFgAABQYEAPEWAAAABgIAAgADBgIAAQAKBgEAAQsGEAAjFwAAAAAAAAAAAAAlFwAAAAAFgCUXAAAKAAIAJAMNBgEAAQQGBADxFgAABQYEAPIWAAAKBgEAAQAABYAmFwAACgACACUDDQYBAAEEBgQA7RYAAAUGBADyFgAAAAYCAAIAAwYCAAIACgYBAAELBhAAJxcAACEXAAAlFwAAAAAAAAAABYAnFwAACgACACYDDQYBAAEEBgQA7BYAAAUGBADtFgAACgYBAAEAAAWAKBcAAAoAAgAnAw0GAQABBAYEAOQWAAAFBgQA6hYAAAoGAQABAAAAAAAAAAAAAA== \ No newline at end of file +VmpDRDAxMDAEAwIBAAAAAAAAAAAAAACAAAAAAAMAFQAAAENoZW1EcmF3IEpTIDIu +MC4wLjkIAAoAAAB0ZXN0LmNkeAQCEABnnxoBZqaRADTxXwIOpdIBAQkIAAAAAAAA +AAAAAgkIAAAAcAgAAFQGDQgBAAEIBwEAAToEAQABOwQBAABFBAEAATwEAQAASgQB +AAAMBgEAAQ8GAQABDQYBAABCBAEAAEMEAQAARAQBAAAOCAIAmgIKCAgAGABgAMgA +AwALCAgAGQAAAPAAAwAJCAQAM7MCAAgIBAAAAAIABwgEAAAAAQAGCAQAAAAEAAUI +BAAAAB4ABAgCAHgAAwgEAAAAeAAjCAEABQwIAQAAKAgBAAEpCAEAASoIAQABMggB +AAArCAEAKCwIAQAKLQgBAAEuCAEAAAIIEAAAACQAAAAkAAAAJAAAACQAAQMCAAAA +AgMCAAEAAANWAA4A////////AAAAAAAA//8AAAAA/////wAAAAD//wAAAAD///// +AAAAAP////8AAP//2dmzs//////Ly7OzgID/////gID//4CA//+AgL+/6Ojn55WV +AAEkAAAAAgAYAOn9BQBBcmlhbBkA6f0PAFRpbWVzIE5ldyBSb21hbgAIeAAAAwAA +AlgCWAAAAAAZDRNX/6n/shlxE54DZwUoA/wAAgAAAlgCWAAAAAAZDRNXAAEAAABk +AAAAAQABAQEAAAABJw8AAQABAAAAAAAAAAAAAAAAAAIAGQGQAAAAAABAAAAAAAAA +AAAAAQAAAAAAAAAAAAAAAAAAAAC0CwIAAAC1CxQAAABDaGVtaWNhbCBGb3JtdWxh +OiC2Cw4AAABFeGFjdCBNYXNzOiC3CxQAAABNb2xlY3VsYXIgV2VpZ2h0OiC4CwcA +AABtL3o6ILkLFgAAAEVsZW1lbnRhbCBBbmFseXNpczogugsRAAAAQm9pbGluZyBQ +b2ludDoguwsRAAAATWVsdGluZyBQb2ludDogvAsRAAAAQ3JpdGljYWwgVGVtcDog +vQsRAAAAQ3JpdGljYWwgUHJlczogvgsQAAAAQ3JpdGljYWwgVm9sOiC/CxAAAABH +aWJicyBFbmVyZ3k6IMALCQAAAExvZyBQOiDBCwYAAABNUjogwgsPAAAASGVucnkn +cyBMYXc6IMMLEAAAAEhlYXQgb2YgRm9ybTogxAsIAAAAdFBTQTogyQsCAAAAygsC +AAAACwwCAAEACgwBAAAJDAEAAAwMBQAAACgjKQGAaxcAAAQCEAAAAAAAAAAAAAAA +oAUAADgEEggEAAAAOAQTCAQAAACgBRYIBAAAACQAGAgEAAAAJAAUCAQAAAAAABkI +AAAQCAIAAgAPCAIAAgARCAEAAQOAwRYAAAQCEABnnxoBZqaRADTxXwIOpdIBCgAC +AGkABgUBAAUEgMIWAAAAAggAMzPeAXoU+gAKAAIAbgA7BAEAATcEAQABAAAEgMMW +AAAAAggAMzPPAVwPFAEKAAIAbwA7BAEAATcEAQABAAAEgMQWAAAAAggAMzOxAVwP +FAEKAAIAcAA7BAEAATcEAQABAAAEgMUWAAAAAggAMzPPAZkZ4AAKAAIAcQA7BAEA +AQIEAgAIACsEAgAAAEgEAAA3BAEAAQaAAAAAAAACCAAWrNIB+TXcAAQCEACfVMoB ++TXcAEnf0gE5/eMAIwgBAAACBwIAAAAABw0AAQAAABgAYADIAAMATwkHDQABAAAA +GABgAMgAAwBPAAAAAASAxhYAAAACCAAzM6IBehT6AAoAAgByADsEAQABAgQCAAcA +KwQCAAEASAQAADcEAQABBoAAAAAAAAIIABaspQHasP0ABAIQAJ9UnQFaP+8ASd+l +Adqw/QAjCAEA/wEHAQD/AgcCAAAABQcBAAMABw4AAQAAABgAYADIAAMATkgJBw4A +AQAAABgAYADIAAMATkgAAAAABIDHFgAAAAIIADMzCwJcDxQBCgACAHgAOwQBAAEw +BAEABzcEAQACMQQQAAYXAAAHFwAAAAAAAAUXAAARgAAAAAAADQIAAAAIAAYAc3Rl +cmVvBoAAAAAAAAIIAMxMBQJN1A4BBAIQABDx/gFN1A4BzEwFAp09GQEHBwIAAAAC +BwIAAAAABw8AAQAAABgAAgCWAAAAKFIpCQcPAAEAAAAYAAIAlgAAAChSKQAAAAAA +AASAyBYAAAACCAAzM/wBPQouAQoAAgB5ADsEAQABNwQBAAEAAASAyRYAAAACCAAz +M/wBehT6AAoAAgB6ADsEAQABAgQCAAcAKwQCAAEASAQAADcEAQABBoAAAAAAAAII +ABas/wHasP0ABAIQAJ9U9wFaP+8ASd//Adqw/QAjCAEA/wEHAQD/AgcCAAAABQcB +AAMABw4AAQAAABgAYADIAAMATkgJBw4AAQAAABgAYADIAAMATkgAAAAABIDKFgAA +AAIIADMzCwIeBUgBCgACAHsAOwQBAAECBAIACAArBAIAAABIBAAANwQBAAEGgAAA +AAAAAggAFqwOAn4hRAEEAhAAn1QGAn4hRAFJ3w4CvuhLASMIAQAAAgcCAAAAAAcN +AAEAAAAYAGAAyAADAE8JBw0AAQAAABgAYADIAAMATwAAAAAEgMsWAAAAAggAUXgP +AmZm1QAKAAIAigA7BAEAATcEAQABAAAEgMwWAAAAAggA4ToJAlwPuAAKAAIAiwA7 +BAEAATcEAQABAAAEgM0WAAAAAggAHoUfAuH6owAKAAIAjAA7BAEAATcEAQABAAAE +gM4WAAAAAggAzAw8AgBArQAKAAIAjQA7BAEAATcEAQABAAAEgM8WAAAAAggAAAAs +AoWr3gAKAAIAjgA7BAEAATcEAQABAAAEgNAWAAAAAggAPUpCApmZygAKAAIAjwA7 +BAEAATcEAQABAAAEgNEWAAAAAggAHkVcApmZ2QAKAAIAkAA7BAEAAQIEAgAHACsE +AgABAEgEAAA3BAEAAQaAAAAAAAACCAABvl8C+TXdAAQCEACKZlcCecTOADTxXwL5 +Nd0AIwgBAP8BBwEA/wIHAgAAAAUHAQADAAcOAAEAAAAYAGAAyAADAE5ICQcOAAEA +AAAYAGAAyAADAE5IAAAAAASA0hYAAAACCAA9ClYCo/D2AAoAAgCRADsEAQABNwQB +AAEAAASA0xYAAAACCAAzMzgCehT6AAoAAgCSADsEAQABNwQBAAEAAASA1BYAAAAC +CAAzMykCXA8UAQoAAgCTADsEAQABNwQBAAEAAASA1RYAAAACCAAzM88BHgVIAQoA +AgCVADsEAQABMAQBAAc3BAEAAzEEEAAVFwAAFhcAABQXAAAAAAAAEYAAAAAAAA0C +AAAACAAGAHN0ZXJlbwaAAAAAAAACCABYnc0Bhl06AQQCEACcQccBhl06AVidzQHm +XEQBBwcCAAAAAgcCAAAAAAcPAAEAAAAYAAIAlgAAAChTKQkHDwABAAAAGAACAJYA +AAAoUykAAAAAAAAEgNYWAAAAAggAMzOxAR4FSAEKAAIAlgA7BAEAATcEAQABAAAE +gNcWAAAAAggAMzPeAT0KLgEKAAIAlwA7BAEAAQIEAgAHACsEAgABAEgEAAA3BAEA +AQaAAAAAAAACCAAWrOEBnaYxAQQCEACfVNkBHTUjAUnf4QGdpjEBIwgBAP8BBwEA +/wIHAgAAAAUHAQADAAcOAAEAAAAYAGAAyAADAE5ICQcOAAEAAAAYAGAAyAADAE5I +AAAAAASA2BYAAAACCAAzM6IBAABiAQoAAgCYADsEAQABAgQCAAgAKwQCAAAASAQA +ADcEAQABBoAAAAAAAAIIABaspQFgHF4BBAIQAJ9UnQFgHF4BSd+lAaDjZQEjCAEA +AAIHAgAAAAAHDQABAAAAGABgAMgAAwBPCQcNAAEAAAAYAGAAyAADAE8AAAAABIDZ +FgAAAAIIABTu9wH1qKABCgACAKcAOwQBAAE3BAEAAQAABIDaFgAAAAIIAIUr/gEA +AL4BCgACAKgAOwQBAAE3BAEAAQAABIDbFgAAAAIIAEfh5wF6FNIBCgACAKkAOwQB +AAE3BAEAAQAABIDcFgAAAAIIAJlZywFcz8gBCgACAKoAOwQBAAE3BAEAAQAABIDd +FgAAAAIIAGZm2wHXY5cBCgACAKsAOwQBAAE3BAEAAQAABIDeFgAAAAIIACgcxQHC +dasBCgACAKwAOwQBAAE3BAEAAQAABIDfFgAAAAIIAEchqwHCdZwBCgACAK0AOwQB +AAECBAIABwArBAIAAQBIBAAANwQBAAEGgAAAAAAAAggAKpquAWLZmAEEAhAAs0Km +AWLZmAFdza4B4kqnASMIAQAAAgcCAAAABQcBAAEABw4AAQAAABgAYADIAAMATkgJ +Bw4AAQAAABgAYADIAAMATkgAAAAABIDgFgAAAAIIAChcsQG4Hn8BCgACAK4AOwQB +AAE3BAEAAQAABIDhFgAAAAIIADMzzwHh+nsBCgACAK8AOwQBAAE3BAEAAQAABIDi +FgAAAAIIADMz3gEAAGIBCgACALAAOwQBAAE3BAEAAQAABIDjFgAAAAIIADMzhAF6 +FPoACgACALEAOwQBAAE3BAEAAQAABIDkFgAAAAIIADMzVwFcDxQBCgACALIAOwQB +AAECBAIABwArBAIAAQBIBAAANwQBAAEGgAAAAAAAAggAFqxaAfxyEAEEAhAAn1RS +AfxyEAFJ31oBfOQeASMIAQAAAgcCAAAABQcBAAEABw4AAQAAABgAYADIAAAATkgJ +Bw4AAQAAABgAYADIAAAATkgAAAAABIDlFgAAAAIIADMzdQFcDxQBCgACALMAOwQB +AAEwBAEABzcEAQADMQQQABoXAAAZFwAAGxcAAAAAAAARgAAAAAAADQIAAAAIAAYA +c3RlcmVvBoAAAAAAAAIIAO6OgAFFCQ8BBAIQADIzegFFCQ8B7o6AAaUIGQEHBwIA +AAACBwIAAAAABw8AAQAAABgAAgCWAAAAKFMpCQcPAAEAAAAYAAIAlgAAAChTKQAA +AAAAAASA5hYAAAACCAAzM4QBPQouAQoAAgC0ADsEAQABMAQBAAc3BAEAAjEEEAAb +FwAAHBcAAB0XAAAAAAAAEYAAAAAAAA0CAAAACAAGAHN0ZXJlbwaAAAAAAAACCABj +PosBAfMfAQQCEACn4oQBAfMfAWM+iwFRXCoBBwcCAAAAAgcCAAAAAAcPAAEAAAAY +AAIAlgAAAChSKQkHDwABAAAAGAACAJYAAAAoUikAAAAAAAAEgOcWAAAAAggAMzN1 +AR4FSAEKAAIAtQA7BAEAATcEAQABAAAEgOgWAAAAAggAMzOiAT0KLgEKAAIAtgA7 +BAEAAQIEAgAIACsEAgAAAEgEAAA3BAEAAQaAAAAAAAACCAAWrKUBnSYqAQQCEACf +VJ0BnSYqAUnfpQHd7TEBIwgBAAACBwIAAAAFBwEAAwAHDQABAAAAGABgAMgAAABP +CQcNAAEAAAAYAGAAyAAAAE8AAAAABIDpFgAAAAIIADMzdQGZGeAACgACALcAOwQB +AAECBAIACAArBAIAAABIBAAANwQBAAEGgAAAAAAAAggAFqx4Afk13AAEAhAAn1Rw +Afk13ABJ33gBOf3jACMIAQAAAgcCAAAAAAcNAAEAAAAYAGAAyAAAAE8JBw0AAQAA +ABgAYADIAAAATwAAAAAEgOoWAAAAAggAMzNIAXoU+gAKAAIAuAA7BAEAATcEAQAB +AAAEgOsWAAAAAggAMzMqAXoU+gAKAAIAuQA7BAEAAQIEAgAIACsEAgAAAEgEAAA3 +BAEAAQaAAAAAAAACCAAWrC0B2jD2AAQCEACfVCUB2jD2AEnfLQEa+P0AIwgBAAAC +BwIAAAAABw0AAQAAABgAYADIAAAATwkHDQABAAAAGABgAMgAAABPAAAAAASA7BYA +AAACCAAzM1cBmRngAAoAAgC6ADsEAQABNwQBAAEAAASA7RYAAAACCAAzM0gBuB7G +AAoAAgC7ADsEAQABNwQBAAEAAASA7hYAAAACCAAzMyoBuB7GAAoAAgC8ADsEAQAB +NwQBAAEAAASA7xYAAAACCAAzMxsB1yOsAAoAAgC9ADsEAQABNwQBAAEAAASA8BYA +AAACCAAzMyoBZiaSAAoAAgC+ADsEAQABNwQBAAEAAASA8RYAAAACCAAzM0gBZiaS +AAoAAgC/ADsEAQABNwQBAAEAAASA8hYAAAACCAAzM1cB1yOsAAoAAgDAADsEAQAB +NwQBAAEAAAWA8xYAAAoAAgBqAA0GAQABBAYEAMIWAAAFBgQAyRYAABAGAgADAAoG +AQABAAAFgPQWAAAKAAIAawANBgEAAQQGBADIFgAABQYEANcWAAAQBgIAAwAKBgEA +AQAABYD1FgAACgACAGwADQYBAAEEBgQA1hYAAAUGBADoFgAAEAYCAAMACgYBAAEA +AAWA9hYAAAoAAgBtAA0GAQABBAYEAOMWAAAFBgQAxhYAABAGAgAEAAoGAQABAAAF +gPcWAAAKAAIAcwANBgEAAQQGBADCFgAABQYEAMMWAAAKBgEAAQAABYD4FgAACgAC +AHQADQYBAAEEBgQAwxYAAAUGBADEFgAACgYBAAEAAAWA+RYAAAoAAgB1AA0GAQAB +BAYEAMIWAAAFBgQAxRYAAAAGAgACAAoGAQABAAAFgPoWAAAKAAIAdgANBgEAAQQG +BADEFgAABQYEAMYWAAAKBgEAAQAABYD7FgAACgACAHcADQYBAAEEBgQAzxYAAAUG +BADLFgAACgYBAAEAAAWA/BYAAAoAAgB8AA0GAQABBAYEAMwWAAAFBgQAyxYAAAAG +AgACAAMGAgACAAoGAQABCwYQAAAAAAD9FgAA+xYAAAAAAAAAAAWA/RYAAAoAAgB9 +AA0GAQABBAYEAM0WAAAFBgQAzBYAAAoGAQABAAAFgP4WAAAKAAIAfgANBgEAAQQG +BADOFgAABQYEAM0WAAAABgIAAgADBgIAAgAKBgEAAQsGEAAAAAAA/xYAAP0WAAAA +AAAAAAAFgP8WAAAKAAIAfwANBgEAAQQGBADQFgAABQYEAM4WAAAKBgEAAQAABYAA +FwAACgACAIAADQYBAAEEBgQA0xYAAAUGBADPFgAACgYBAAEAAAWAARcAAAoAAgCB +AA0GAQABBAYEANAWAAAFBgQAzxYAAAAGAgACAAMGAgABAAoGAQABCwYQAP8WAAAC +FwAAABcAAPsWAAAAAAWAAhcAAAoAAgCCAA0GAQABBAYEANEWAAAFBgQA0BYAAAoG +AQABAAAFgAMXAAAKAAIAgwANBgEAAQQGBADSFgAABQYEANEWAAAKBgEAAQAABYAE +FwAACgACAIQADQYBAAEEBgQA0xYAAAUGBADSFgAAAAYCAAIAAwYCAAIACgYBAAEL +BhAACRcAAAAXAAADFwAAAAAAAAAABYAFFwAACgACAIUADQYBAAEEBgQA1BYAAAUG +BADHFgAAAQYCAAcACgYBAAEAAAWABhcAAAoAAgCGAA0GAQABBAYEAMcWAAAFBgQA +yBYAAAoGAQABAAAFgAcXAAAKAAIAhwANBgEAAQQGBADHFgAABQYEAMkWAAAKBgEA +AQAABYAIFwAACgACAIgADQYBAAEEBgQAyBYAAAUGBADKFgAAAAYCAAIACgYBAAEA +AAWACRcAAAoAAgCJAA0GAQABBAYEANQWAAAFBgQA0xYAAAoGAQABAAAFgAoXAAAK +AAIAlAANBgEAAQQGBADdFgAABQYEANkWAAAKBgEAAQAABYALFwAACgACAJkADQYB +AAEEBgQA2hYAAAUGBADZFgAAAAYCAAIAAwYCAAIACgYBAAELBhAAAAAAAAwXAAAK +FwAAAAAAAAAABYAMFwAACgACAJoADQYBAAEEBgQA2xYAAAUGBADaFgAACgYBAAEA +AAWADRcAAAoAAgCbAA0GAQABBAYEANwWAAAFBgQA2xYAAAAGAgACAAMGAgACAAoG +AQABCwYQAAAAAAAOFwAADBcAAAAAAAAAAAWADhcAAAoAAgCcAA0GAQABBAYEAN4W +AAAFBgQA3BYAAAoGAQABAAAFgA8XAAAKAAIAnQANBgEAAQQGBADhFgAABQYEAN0W +AAAKBgEAAQAABYAQFwAACgACAJ4ADQYBAAEEBgQA3hYAAAUGBADdFgAAAAYCAAIA +AwYCAAEACgYBAAELBhAADhcAABEXAAAPFwAAChcAAAAABYARFwAACgACAJ8ADQYB +AAEEBgQA3xYAAAUGBADeFgAACgYBAAEAAAWAEhcAAAoAAgCgAA0GAQABBAYEAOAW +AAAFBgQA3xYAAAoGAQABAAAFgBMXAAAKAAIAoQANBgEAAQQGBADhFgAABQYEAOAW +AAAABgIAAgADBgIAAgAKBgEAAQsGEAAYFwAADxcAABIXAAAAAAAAAAAFgBQXAAAK +AAIAogANBgEAAQQGBADiFgAABQYEANUWAAABBgIABAAKBgEAAQAABYAVFwAACgAC +AKMADQYBAAEEBgQA1RYAAAUGBADWFgAACgYBAAEAAAWAFhcAAAoAAgCkAA0GAQAB +BAYEANUWAAAFBgQA1xYAAAoGAQABAAAFgBcXAAAKAAIApQANBgEAAQQGBADWFgAA +BQYEANgWAAAABgIAAgAKBgEAAQAABYAYFwAACgACAKYADQYBAAEEBgQA4hYAAAUG +BADhFgAACgYBAAEAAAWAGRcAAAoAAgDBAA0GAQABBAYEAOUWAAAFBgQA5BYAAAEG +AgAGAAoGAQABAAAFgBoXAAAKAAIAwgANBgEAAQQGBADjFgAABQYEAOUWAAAKBgEA +AQAABYAbFwAACgACAMMADQYBAAEEBgQA5RYAAAUGBADmFgAACgYBAAEAAAWAHBcA +AAoAAgDEAA0GAQABBAYEAOYWAAAFBgQA5xYAAAEGAgAGAAoGAQABAAAFgB0XAAAK +AAIAxQANBgEAAQQGBADmFgAABQYEAOgWAAAKBgEAAQAABYAeFwAACgACAMYADQYB +AAEEBgQA4xYAAAUGBADpFgAAAAYCAAIACgYBAAEAAAWAHxcAAAoAAgDHAA0GAQAB +BAYEAOoWAAAFBgQA6xYAAAAGAgACAAoGAQABAAAFgCAXAAAKAAIAyAANBgEAAQQG +BADqFgAABQYEAOwWAAAKBgEAAQAABYAhFwAACgACAMkADQYBAAEEBgQA7RYAAAUG +BADuFgAACgYBAAEAAAWAIhcAAAoAAgDKAA0GAQABBAYEAO4WAAAFBgQA7xYAAAAG +AgACAAMGAgABAAoGAQABCwYQACEXAAAAAAAAAAAAACMXAAAAAAWAIxcAAAoAAgDL +AA0GAQABBAYEAO8WAAAFBgQA8BYAAAoGAQABAAAFgCQXAAAKAAIAzAANBgEAAQQG +BADwFgAABQYEAPEWAAAABgIAAgADBgIAAQAKBgEAAQsGEAAjFwAAAAAAAAAAAAAl +FwAAAAAFgCUXAAAKAAIAzQANBgEAAQQGBADxFgAABQYEAPIWAAAKBgEAAQAABYAm +FwAACgACAM4ADQYBAAEEBgQA7RYAAAUGBADyFgAAAAYCAAIAAwYCAAIACgYBAAEL +BhAAJxcAACEXAAAlFwAAAAAAAAAABYAnFwAACgACAM8ADQYBAAEEBgQA7BYAAAUG +BADtFgAACgYBAAEAAAWAKBcAAAoAAgDQAA0GAQABBAYEAOQWAAAFBgQA6hYAAAoG +AQABAAAAAAAAAAAAAA== diff --git a/core/indigo-core/molecule/CDXCommons.h b/core/indigo-core/molecule/CDXCommons.h index 6cea5999c0..5dc7637e99 100644 --- a/core/indigo-core/molecule/CDXCommons.h +++ b/core/indigo-core/molecule/CDXCommons.h @@ -6,1004 +6,1233 @@ #include #include -enum class EnhancedStereoType : int +namespace indigo { - UNSPECIFIED, - NONE, - ABSOLUTE, - OR, - AND -}; - -const int KCDXMLChemicalFontStyle = 96; -const int kCDXMLSizeMultiplier = 20; -const float kCDXMLFonsSizeMultiplier = 1.5; -const int kCDXMLStyleSizeIndex = 2; -const uint32_t kCDXMagicNumber = 0x01020304; -const char kCDXReserved[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + enum class EnhancedStereoType : int + { + UNSPECIFIED, + NONE, + ABSOLUTE, + OR, + AND + }; + + const int KCDXMLChemicalFontStyle = 96; + const int kCDXMLSizeMultiplier = 20; + const int kBondSpacingMultiplier = 10; + const int kCDXMLStyleSizeIndex = 2; + const uint32_t kCDXMagicNumber = 0x01020304; + const char kCDXReserved[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + const float kColorMult = ((1 << 16) - 1); + const float kCDXMLFonsSizeMultiplier = 1.5; #pragma pack(push, 1) -struct CDXTextStyle -{ - uint16_t offset; - uint16_t font_index; - uint16_t font_face; - uint16_t font_size; - uint16_t font_color; -}; - -struct CDXTextStyleProperty -{ - uint16_t tag; - uint16_t size; - uint16_t style_count; - CDXTextStyle styles[]; -}; + struct CDXColor + { + CDXColor(float red, float green, float blue) : r(red * kColorMult), g(green * kColorMult), b(blue * kColorMult) + { + } + uint16_t r; + uint16_t g; + uint16_t b; + }; + + struct CDXFont + { + uint16_t font_id; + uint16_t char_set; + std::string name; + }; + + struct CDXTextStyle + { + CDXTextStyle() : offset(0), font_index(-1), font_face(0), font_size(0), font_color(0){}; + uint16_t offset; + uint16_t font_index; + uint16_t font_face; + uint16_t font_size; + uint16_t font_color; + }; + + struct CDXTextStyleProperty + { + uint16_t tag; + uint16_t size; + uint16_t style_count; + CDXTextStyle styles[]; + }; #pragma pack(pop) -enum class ECDXType -{ - CDXString, - CDXDate, - CDXINT8, - CDXINT16, - CDXUINT8, - CDXUINT16, - CDXUINT32, - CDXRepresentsProperty, - CDXBooleanImplied, - CDXBoolean, - CDXObjectID, - CDXFontTable, - CDXPoint2D, - CDXPoint3D, - CDXINT32, - CDXRectangle, - CDXColorTable, - CDXColorTableCDXINT16, - CDXElementList, - CDXFormula, - CDXObjectIDArray, - CDXObjectIDArrayWithCounts, - CDXGenericList, - CDXFLOAT64, - CDXINT16ListWithCounts, - CDXUnformatted, - CDXCoordinate, - CDXCurvePoints, - CDXCurvePoints3D, - CDXvaries, - CDXFontStyle -}; - -const std::unordered_map kRadicalStrToId = { - {"None", kCDXRadical_None}, {"Singlet", kCDXRadical_Singlet}, {"Doublet", kCDXRadical_Doublet}, {"Triplet", kCDXRadical_Triplet}}; - -const std::vector kRadicalIdToStr = {"None", "Singlet", "Doublet", "Triplet"}; - -const std::unordered_map kBondOrderIntToStr = {{kCDXBondOrder_Single, "1"}, - {kCDXBondOrder_Double, "2"}, - {kCDXBondOrder_Triple, "3"}, - {kCDXBondOrder_Quadruple, "4"}, - {kCDXBondOrder_Quintuple, "5"}, - {kCDXBondOrder_Sextuple, "6"}, - {kCDXBondOrder_Half, "0.5"}, - {kCDXBondOrder_OneHalf, "1.5"}, - {kCDXBondOrder_TwoHalf, "2.5"}, - {kCDXBondOrder_ThreeHalf, "3.5"}, - {kCDXBondOrder_FourHalf, "4.5"}, - {kCDXBondOrder_FiveHalf, "5.5"}, - {kCDXBondOrder_Dative, "dative"}, - {kCDXBondOrder_Ionic, "ionic"}, - {kCDXBondOrder_Hydrogen, "hydrogen"}, - {kCDXBondOrder_ThreeCenter, "threecenter"}, - {kCDXBondOrder_SingleOrDouble, "singleordouble"}, - {kCDXBondOrder_SingleOrAromatic, "singleoraromatic"}, - {kCDXBondOrder_DoubleOrAromatic, "doubleoraromatic"}}; - -const std::unordered_map kBondOrderStrToId = {{"1", kCDXBondOrder_Single}, - {"2", kCDXBondOrder_Double}, - {"3", kCDXBondOrder_Triple}, - {"4", kCDXBondOrder_Quadruple}, - {"5", kCDXBondOrder_Quintuple}, - {"6", kCDXBondOrder_Sextuple}, - {"0.5", kCDXBondOrder_Half}, - {"1.5", kCDXBondOrder_OneHalf}, - {"2.5", kCDXBondOrder_TwoHalf}, - {"3.5", kCDXBondOrder_ThreeHalf}, - {"4.5", kCDXBondOrder_FourHalf}, - {"5.5", kCDXBondOrder_FiveHalf}, - {"dative", kCDXBondOrder_Dative}, - {"ionic", kCDXBondOrder_Ionic}, - {"hydrogen", kCDXBondOrder_Hydrogen}, - {"threecenter", kCDXBondOrder_ThreeCenter}, - {"singleordouble", kCDXBondOrder_SingleOrDouble}, - {"singleoraromatic", kCDXBondOrder_SingleOrAromatic}, - {"doubleoraromatic", kCDXBondOrder_DoubleOrAromatic}}; - -const std::unordered_map kCDXProp_Arrow_TypeStrToID = {{"NoHead", kCDXArrowType_NoHead}, - {"HalfHead", kCDXArrowType_HalfHead}, - {"FullHead", kCDXArrowType_FullHead}, - {"Resonance", kCDXArrowType_Resonance}, - {"Equilibrium", kCDXArrowType_Equilibrium}, - {"Hollow", kCDXArrowType_Hollow}, - {"RetroSynthetic", kCDXArrowType_RetroSynthetic}}; - -const std::unordered_map kCDXProp_Arrow_TypeIDToStr = {{kCDXArrowType_NoHead, "NoHead"}, - {kCDXArrowType_HalfHead, "HalfHead"}, - {kCDXArrowType_FullHead, "FullHead"}, - {kCDXArrowType_Resonance, "Resonance"}, - {kCDXArrowType_Equilibrium, "Equilibrium"}, - {kCDXArrowType_Hollow, "Hollow"}, - {kCDXArrowType_RetroSynthetic, "RetroSynthetic"}}; - -const std::unordered_map kCDXPropSymbolTypeStrToID = { - {"LonePair", kCDXSymbolType_LonePair}, - {"Electron", kCDXSymbolType_Electron}, - {"RadicalCation", kCDXSymbolType_RadicalCation}, - {"RadicalAnion", kCDXSymbolType_RadicalAnion}, - {"CirclePlus", kCDXSymbolType_CirclePlus}, - {"CircleMinus", kCDXSymbolType_CircleMinus}, - {"Dagger", kCDXSymbolType_Dagger}, - {"DoubleDagger", kCDXSymbolType_DoubleDagger}, - {"Plus", kCDXSymbolType_Plus}, - {"Minus", kCDXSymbolType_Minus}, - {"Racemic", kCDXSymbolType_Racemic}, - {"Absolute", kCDXSymbolType_Absolute}, - {"Relative", kCDXSymbolType_Relative}, -}; - -const std::unordered_map kCDXPropSymbolTypeIDToStr = { - {kCDXSymbolType_LonePair, "LonePair"}, - {kCDXSymbolType_Electron, "Electron"}, - {kCDXSymbolType_RadicalCation, "RadicalCation"}, - {kCDXSymbolType_RadicalAnion, "RadicalAnion"}, - {kCDXSymbolType_CirclePlus, "CirclePlus"}, - {kCDXSymbolType_CircleMinus, "CircleMinus"}, - {kCDXSymbolType_Dagger, "Dagger"}, - {kCDXSymbolType_DoubleDagger, "DoubleDagger"}, - {kCDXSymbolType_Plus, "Plus"}, - {kCDXSymbolType_Minus, "Minus"}, - {kCDXSymbolType_Racemic, "Racemic"}, - {kCDXSymbolType_Absolute, "Absolute"}, - {kCDXSymbolType_Relative, "Relative"}, -}; - -const std::unordered_map kCDXPropGraphicTypeStrToID = { - {"Undefined", kCDXGraphicType_Undefined}, {"Line", kCDXGraphicType_Line}, - {"Rectangle", kCDXGraphicType_Rectangle}, {"Arc", kCDXGraphicType_Arc}, - {"Oval", kCDXGraphicType_Oval}, {"Orbital", kCDXGraphicType_Orbital}, - {"Bracket", kCDXGraphicType_Bracket}, {"Symbol", kCDXGraphicType_Symbol}}; - -const std::unordered_map kCDXPropGraphicTypeIDToStr = {{kCDXGraphicType_Undefined, "Undefined"}, {kCDXGraphicType_Line, "Line"}, - {kCDXGraphicType_Rectangle, "Rectangle"}, {kCDXGraphicType_Arc, "Arc"}, - {kCDXGraphicType_Oval, "Oval"}, {kCDXGraphicType_Orbital, "Orbital"}, - {kCDXGraphicType_Bracket, "Bracket"}, {kCDXGraphicType_Symbol, "Symbol"}}; - -const std::unordered_map kCDXProp_Bond_DisplayStrToID = {{"Solid", kCDXBondDisplay_Solid}, - {"Dash", kCDXBondDisplay_Dash}, - {"Hash", kCDXBondDisplay_Hash}, - {"WedgedHashBegin", kCDXBondDisplay_WedgedHashBegin}, - {"WedgedHashEnd", kCDXBondDisplay_WedgedHashEnd}, - {"Bold", kCDXBondDisplay_Bold}, - {"WedgeBegin", kCDXBondDisplay_WedgeBegin}, - {"WedgeEnd", kCDXBondDisplay_WedgeEnd}, - {"Wavy", kCDXBondDisplay_Wavy}, - {"HollowWedgeBegin", kCDXBondDisplay_HollowWedgeBegin}, - {"HollowWedgeEnd", kCDXBondDisplay_HollowWedgeEnd}, - {"WavyWedgeBegin", kCDXBondDisplay_WavyWedgeBegin}, - {"WavyWedgeEnd", kCDXBondDisplay_WavyWedgeEnd}, - {"Dot", kCDXBondDisplay_Dot}, - {"DashDot", kCDXBondDisplay_DashDot}}; - -const std::unordered_map kCDXProp_Bond_DisplayIdToStr = {{kCDXBondDisplay_Solid, "Solid"}, - {kCDXBondDisplay_Dash, "Dash"}, - {kCDXBondDisplay_Hash, "Hash"}, - {kCDXBondDisplay_WedgedHashBegin, "WedgedHashBegin"}, - {kCDXBondDisplay_WedgedHashEnd, "WedgedHashEnd"}, - {kCDXBondDisplay_Bold, "Bold"}, - {kCDXBondDisplay_WedgeBegin, "WedgeBegin"}, - {kCDXBondDisplay_WedgeEnd, "WedgeEnd"}, - {kCDXBondDisplay_Wavy, "Wavy"}, - {kCDXBondDisplay_HollowWedgeBegin, "HollowWedgeBegin"}, - {kCDXBondDisplay_HollowWedgeEnd, "HollowWedgeEnd"}, - {kCDXBondDisplay_WavyWedgeBegin, "WavyWedgeBegin"}, - {kCDXBondDisplay_WavyWedgeEnd, "WavyWedgeEnd"}, - {kCDXBondDisplay_Dot, "Dot"}, - {kCDXBondDisplay_DashDot, "DashDot"}}; - -const std::unordered_map kCDXEnhancedStereoStrToID = {{"Unspecified", EnhancedStereoType::UNSPECIFIED}, - {"None", EnhancedStereoType::NONE}, - {"Absolute", EnhancedStereoType::ABSOLUTE}, - {"Or", EnhancedStereoType::OR}, - {"And", EnhancedStereoType::AND}}; - -const std::unordered_map kCDXEnhancedStereoIDToStr = {{(int)EnhancedStereoType::UNSPECIFIED, "Unspecified"}, - {(int)EnhancedStereoType::NONE, "None"}, - {(int)EnhancedStereoType::ABSOLUTE, "Absolute"}, - {(int)EnhancedStereoType::OR, "Or"}, - {(int)EnhancedStereoType::AND, "And"}}; - -const std::unordered_map> KCDXPropToName = { - {kCDXProp_CreationUserName, {"CreationUserName", ECDXType::CDXString}}, - {kCDXProp_CreationDate, {"CreationDate", ECDXType::CDXDate}}, - {kCDXProp_CreationProgram, {"CreationProgram", ECDXType::CDXString}}, - {kCDXProp_ModificationUserName, {"ModificationUserName", ECDXType::CDXString}}, - {kCDXProp_ModificationDate, {"ModificationDate", ECDXType::CDXDate}}, - {kCDXProp_ModificationProgram, {"ModificationProgram", ECDXType::CDXString}}, - {kCDXProp_Name, {"Name", ECDXType::CDXString}}, - {kCDXProp_Comment, {"Comment", ECDXType::CDXString}}, - {kCDXProp_ZOrder, {"Z", ECDXType::CDXINT16}}, - {kCDXProp_RegistryNumber, {"RegistryNumber", ECDXType::CDXString}}, - {kCDXProp_RegistryAuthority, {"RegistryAuthority", ECDXType::CDXString}}, - {kCDXProp_RepresentsProperty, {"RepresentsProperty", ECDXType::CDXRepresentsProperty}}, - {kCDXProp_IgnoreWarnings, {"IgnoreWarnings", ECDXType::CDXBooleanImplied}}, - {kCDXProp_ChemicalWarning, {"Warning", ECDXType::CDXString}}, - {kCDXProp_Visible, {"Visible", ECDXType::CDXBoolean}}, - {kCDXProp_SupersededBy, {"SupersededBy", ECDXType::CDXObjectID}}, - {kCDXProp_FontTable, {"fonttable", ECDXType::CDXFontTable}}, - {kCDXProp_2DPosition, {"p", ECDXType::CDXPoint2D}}, - {kCDXProp_3DPosition, {"xyz", ECDXType::CDXPoint3D}}, - {kCDXProp_2DExtent, {"extent", ECDXType::CDXPoint2D}}, - {kCDXProp_3DExtent, {"extent3D", ECDXType::CDXPoint3D}}, - {kCDXProp_BoundingBox, {"BoundingBox", ECDXType::CDXRectangle}}, - {kCDXProp_RotationAngle, {"RotationAngle", ECDXType::CDXINT32}}, - {kCDXProp_3DHead, {"Head3D", ECDXType::CDXPoint3D}}, - {kCDXProp_3DTail, {"Tail3D", ECDXType::CDXPoint3D}}, - {kCDXProp_TopLeft, {"TopLeft", ECDXType::CDXPoint2D}}, - {kCDXProp_TopRight, {"TopRight", ECDXType::CDXPoint2D}}, - {kCDXProp_BottomRight, {"BottomRight", ECDXType::CDXPoint2D}}, - {kCDXProp_BottomLeft, {"BottomLeft", ECDXType::CDXPoint2D}}, - {kCDXProp_3DCenter, {"Center3D", ECDXType::CDXPoint3D}}, - {kCDXProp_3DMajorAxisEnd, {"Center3D", ECDXType::CDXPoint3D}}, - {kCDXProp_3DMinorAxisEnd, {"Center3D", ECDXType::CDXPoint3D}}, - {kCDXProp_ColorTable, {"colortable", ECDXType::CDXColorTable}}, - {kCDXProp_ForegroundColor, {"color", ECDXType::CDXUINT16}}, - {kCDXProp_BackgroundColor, {"bgcolor", ECDXType::CDXColorTableCDXINT16}}, - {kCDXProp_Node_Type, {"NodeType", ECDXType::CDXINT16}}, - {kCDXProp_Node_LabelDisplay, {"LabelDisplay", ECDXType::CDXINT8}}, - {kCDXProp_Node_Element, {"Element", ECDXType::CDXINT16}}, - {kCDXProp_Atom_ElementList, {"ElementList", ECDXType::CDXElementList}}, - {kCDXProp_Atom_Formula, {"Formula", ECDXType::CDXFormula}}, - {kCDXProp_Atom_Isotope, {"Isotope", ECDXType::CDXINT16}}, - {kCDXProp_Atom_Charge, {"Charge", ECDXType::CDXINT8}}, - {kCDXProp_Atom_Radical, {"Radical", ECDXType::CDXUINT8}}, - {kCDXProp_Atom_RestrictFreeSites, {"FreeSites", ECDXType::CDXUINT8}}, - {kCDXProp_Atom_RestrictImplicitHydrogens, {"ImplicitHydrogens", ECDXType::CDXBooleanImplied}}, - {kCDXProp_Atom_RestrictRingBondCount, {"RingBondCount", ECDXType::CDXINT8}}, - {kCDXProp_Atom_RestrictUnsaturatedBonds, {"UnsaturatedBonds", ECDXType::CDXINT8}}, - {kCDXProp_Atom_RestrictRxnChange, {"RxnChange", ECDXType::CDXBooleanImplied}}, - {kCDXProp_Atom_RestrictRxnStereo, {"RxnStereo", ECDXType::CDXINT8}}, - {kCDXProp_Atom_AbnormalValence, {"AbnormalValence", ECDXType::CDXBooleanImplied}}, - {kCDXProp_Atom_NumHydrogens, {"NumHydrogens", ECDXType::CDXUINT16}}, - {kCDXProp_Atom_HDot, {"HDot", ECDXType::CDXBooleanImplied}}, - {kCDXProp_Atom_HDash, {"HDash", ECDXType::CDXBooleanImplied}}, - {kCDXProp_Atom_Geometry, {"Geometry", ECDXType::CDXINT8}}, - {kCDXProp_Atom_BondOrdering, {"BondOrdering", ECDXType::CDXObjectIDArray}}, - {kCDXProp_Node_Attachments, {"Attachments", ECDXType::CDXObjectIDArrayWithCounts}}, - {kCDXProp_Atom_GenericNickname, {"GenericNickname", ECDXType::CDXString}}, - {kCDXProp_Atom_AltGroupID, {"AltGroupID", ECDXType::CDXObjectID}}, - {kCDXProp_Atom_RestrictSubstituentsUpTo, {"SubstituentsUpTo", ECDXType::CDXUINT8}}, - {kCDXProp_Atom_RestrictSubstituentsExactly, {"SubstituentsExactly", ECDXType::CDXUINT8}}, - {kCDXProp_Atom_CIPStereochemistry, {"AS", ECDXType::CDXINT8}}, - {kCDXProp_Atom_Translation, {"Translation", ECDXType::CDXINT8}}, - {kCDXProp_Atom_AtomNumber, {"AtomNumber", ECDXType::CDXString}}, - {kCDXProp_Atom_ShowQuery, {"ShowAtomQuery", ECDXType::CDXBoolean}}, - {kCDXProp_Atom_ShowStereo, {"ShowAtomStereo", ECDXType::CDXBoolean}}, - {kCDXProp_Atom_ShowAtomNumber, {"ShowAtomNumber", ECDXType::CDXBoolean}}, - {kCDXProp_Atom_LinkCountLow, {"LinkCountLow", ECDXType::CDXINT16}}, - {kCDXProp_Atom_LinkCountHigh, {"LinkCountHigh", ECDXType::CDXINT16}}, - {kCDXProp_Atom_IsotopicAbundance, {"IsotopicAbundance", ECDXType::CDXINT8}}, - {kCDXProp_Atom_ExternalConnectionType, {"ExternalConnectionType", ECDXType::CDXINT8}}, - {kCDXProp_Atom_GenericList, {"GenericList", ECDXType::CDXGenericList}}, - {kCDXProp_Atom_ShowTerminalCarbonLabels, {"ShowTerminalCarbonLabels", ECDXType::CDXBooleanImplied}}, - {kCDXProp_Atom_ShowNonTerminalCarbonLabels, {"ShowNonTerminalCarbonLabels", ECDXType::CDXBooleanImplied}}, - {kCDXProp_Atom_HideImplicitHydrogens, {"HideImplicitHydrogens", ECDXType::CDXBooleanImplied}}, - {kCDXProp_Atom_ShowEnhancedStereo, {"ShowAtomEnhancedStereo", ECDXType::CDXBoolean}}, - {kCDXProp_Atom_EnhancedStereoType, {"EnhancedStereoType", ECDXType::CDXUINT8}}, - {kCDXProp_Atom_EnhancedStereoGroupNum, {"EnhancedStereoGroupNum", ECDXType::CDXUINT16}}, - {kCDXProp_ShowResidueID, {"ShowResidueID", ECDXType::CDXBoolean}}, - {kCDXProp_Mole_Racemic, {"Racemic", ECDXType::CDXBoolean}}, - {kCDXProp_Mole_Absolute, {"Absolute", ECDXType::CDXBoolean}}, - {kCDXProp_Mole_Relative, {"Relative", ECDXType::CDXBoolean}}, - {kCDXProp_Mole_Formula, {"Formula", ECDXType::CDXFormula}}, - {kCDXProp_Mole_Weight, {"Weight", ECDXType::CDXFLOAT64}}, - {kCDXProp_Frag_ConnectionOrder, {"ConnectionOrder", ECDXType::CDXObjectIDArray}}, - {kCDXProp_Bond_Order, {"Order", ECDXType::CDXINT16}}, - {kCDXProp_Bond_Display, {"Display", ECDXType::CDXINT16}}, - {kCDXProp_Bond_Display2, {"Display2", ECDXType::CDXINT16}}, - {kCDXProp_Bond_DoublePosition, {"DoublePosition", ECDXType::CDXINT16}}, - {kCDXProp_Bond_Begin, {"B", ECDXType::CDXObjectID}}, - {kCDXProp_Bond_End, {"E", ECDXType::CDXObjectID}}, - {kCDXProp_Bond_RestrictTopology, {"Topology", ECDXType::CDXINT8}}, - {kCDXProp_Bond_RestrictRxnParticipation, {"RxnParticipation", ECDXType::CDXINT8}}, - {kCDXProp_Bond_BeginAttach, {"BeginAttach", ECDXType::CDXUINT8}}, - {kCDXProp_Bond_EndAttach, {"EndAttach", ECDXType::CDXUINT8}}, - {kCDXProp_Bond_CIPStereochemistry, {"BS", ECDXType::CDXINT8}}, - {kCDXProp_Bond_BondOrdering, {"BondCircularOrdering", ECDXType::CDXObjectIDArray}}, - {kCDXProp_Bond_ShowQuery, {"ShowBondQuery", ECDXType::CDXBoolean}}, - {kCDXProp_Bond_ShowStereo, {"ShowBondStereo", ECDXType::CDXBoolean}}, - {kCDXProp_Bond_CrossingBonds, {"CrossingBonds", ECDXType::CDXObjectIDArray}}, - {kCDXProp_Bond_ShowRxn, {"ShowBondRxn", ECDXType::CDXBoolean}}, - {kCDXProp_Text, {"t", ECDXType::CDXString}}, - {kCDXProp_Justification, {"Justification", ECDXType::CDXINT8}}, - {kCDXProp_LineHeight, {"LineHeight", ECDXType::CDXUINT16}}, - {kCDXProp_WordWrapWidth, {"WordWrapWidth", ECDXType::CDXINT16}}, - {kCDXProp_LineStarts, {"LineStarts", ECDXType::CDXINT16ListWithCounts}}, - {kCDXProp_LabelAlignment, {"LabelAlignment", ECDXType::CDXINT8}}, - {kCDXProp_LabelLineHeight, {"LabelLineHeight", ECDXType::CDXINT16}}, - {kCDXProp_CaptionLineHeight, {"CaptionLineHeight", ECDXType::CDXINT16}}, - {kCDXProp_InterpretChemically, {"InterpretChemically", ECDXType::CDXBooleanImplied}}, - {kCDXProp_MacPrintInfo, {"MacPrintInfo", ECDXType::CDXUnformatted}}, - {kCDXProp_WinPrintInfo, {"WinPrintInfo", ECDXType::CDXUnformatted}}, - {kCDXProp_PrintMargins, {"PrintMargins", ECDXType::CDXRectangle}}, - {kCDXProp_ChainAngle, {"ChainAngle", ECDXType::CDXINT32}}, - {kCDXProp_BondSpacing, {"BondSpacing", ECDXType::CDXINT16}}, - {kCDXProp_BondLength, {"BondLength", ECDXType::CDXCoordinate}}, - {kCDXProp_BoldWidth, {"BoldWidth", ECDXType::CDXCoordinate}}, - {kCDXProp_LineWidth, {"LineWidth", ECDXType::CDXCoordinate}}, - {kCDXProp_MarginWidth, {"MarginWidth", ECDXType::CDXCoordinate}}, - {kCDXProp_HashSpacing, {"HashSpacing", ECDXType::CDXCoordinate}}, - {kCDXProp_LabelStyle, {"LabelStyle", ECDXType::CDXFontStyle}}, - {kCDXProp_CaptionStyle, {"CaptionStyle", ECDXType::CDXFontStyle}}, - {kCDXProp_CaptionJustification, {"CaptionJustification", ECDXType::CDXINT8}}, - {kCDXProp_FractionalWidths, {"FractionalWidths", ECDXType::CDXBooleanImplied}}, - {kCDXProp_Magnification, {"Magnification", ECDXType::CDXINT16}}, - {kCDXProp_WidthPages, {"WidthPages", ECDXType::CDXINT16}}, - {kCDXProp_HeightPages, {"HeightPages", ECDXType::CDXINT16}}, - {kCDXProp_DrawingSpaceType, {"DrawingSpace", ECDXType::CDXINT8}}, - {kCDXProp_Width, {"Width", ECDXType::CDXCoordinate}}, - {kCDXProp_Height, {"Height", ECDXType::CDXCoordinate}}, - {kCDXProp_PageOverlap, {"PageOverlap", ECDXType::CDXCoordinate}}, - {kCDXProp_Header, {"Header", ECDXType::CDXString}}, - {kCDXProp_HeaderPosition, {"HeaderPosition", ECDXType::CDXCoordinate}}, - {kCDXProp_Footer, {"Footer", ECDXType::CDXString}}, - {kCDXProp_FooterPosition, {"FooterPosition", ECDXType::CDXCoordinate}}, - {kCDXProp_PrintTrimMarks, {"PrintTrimMarks", ECDXType::CDXBooleanImplied}}, - {kCDXProp_LabelStyleFont, {"LabelFont", ECDXType::CDXINT16}}, - {kCDXProp_CaptionStyleFont, {"CaptionFont", ECDXType::CDXINT16}}, - {kCDXProp_LabelStyleSize, {"LabelSize", ECDXType::CDXINT16}}, - {kCDXProp_CaptionStyleSize, {"CaptionSize", ECDXType::CDXINT16}}, - {kCDXProp_LabelStyleFace, {"LabelFace", ECDXType::CDXINT16}}, - {kCDXProp_CaptionStyleFace, {"CaptionFace", ECDXType::CDXINT16}}, - {kCDXProp_LabelStyleColor, {"LabelColor", ECDXType::CDXINT16}}, - {kCDXProp_CaptionStyleColor, {"CaptionColor", ECDXType::CDXINT16}}, - {kCDXProp_BondSpacingAbs, {"BondSpacingAbs", ECDXType::CDXCoordinate}}, - {kCDXProp_LabelJustification, {"LabelJustification", ECDXType::CDXINT8}}, - {kCDXProp_FixInplaceExtent, {"FixInPlaceExtent", ECDXType::CDXPoint2D}}, - {kCDXProp_Side, {"Side", ECDXType::CDXUINT16}}, - {kCDXProp_FixInplaceGap, {"FixInPlaceGap", ECDXType::CDXPoint2D}}, - {kCDXProp_CartridgeData, {"CartridgeData", ECDXType::CDXUnformatted}}, - {kCDXProp_AminoAcidTermini, {"AminoAcidTermini", ECDXType::CDXINT8}}, - {kCDXProp_ShowSequenceTermini, {"ShowSequenceTermini", ECDXType::CDXBooleanImplied}}, - {kCDXProp_ShowSequenceBonds, {"ShowSequenceBonds", ECDXType::CDXBooleanImplied}}, - {kCDXProp_ResidueWrapCount, {"ResidueWrapCount", ECDXType::CDXINT8}}, - {kCDXProp_ResidueBlockCount, {"ResidueBlockCount", ECDXType::CDXINT8}}, - {kCDXProp_ResidueZigZag, {"ResidueZigZag", ECDXType::CDXBooleanImplied}}, - {kCDXProp_NumberResidueBlocks, {"NumberResidueBlocks", ECDXType::CDXBooleanImplied}}, - {kCDXProp_BondSpacingType, {"BondSpacingType", ECDXType::CDXINT8}}, - {kCDXProp_LabelStyleFontName, {"LabelStyleFontName", ECDXType::CDXString}}, - {kCDXProp_CaptionStyleFontName, {"CaptionStyleFontName", ECDXType::CDXString}}, - {kCDXProp_ShowSequenceUnlinkedBranches, {"ShowSequenceUnlinkedBranches", ECDXType::CDXBooleanImplied}}, - {kCDXProp_Window_IsZoomed, {"WindowIsZoomed", ECDXType::CDXBooleanImplied}}, - {kCDXProp_Window_Position, {"WindowPosition", ECDXType::CDXPoint2D}}, - {kCDXProp_Window_Size, {"WindowSize", ECDXType::CDXPoint2D}}, - {kCDXProp_Graphic_Type, {"GraphicType", ECDXType::CDXINT16}}, - {kCDXProp_Line_Type, {"LineType", ECDXType::CDXINT16}}, - {kCDXProp_Arrow_Type, {"ArrowType", ECDXType::CDXINT16}}, - {kCDXProp_Rectangle_Type, {"RectangleType", ECDXType::CDXINT16}}, - {kCDXProp_Oval_Type, {"OvalType", ECDXType::CDXINT16}}, - {kCDXProp_Orbital_Type, {"OrbitalType", ECDXType::CDXINT16}}, - {kCDXProp_Bracket_Type, {"BracketType", ECDXType::CDXINT16}}, - {kCDXProp_Symbol_Type, {"SymbolType", ECDXType::CDXINT16}}, - {kCDXProp_Curve_Type, {"CurveType", ECDXType::CDXINT16}}, - {kCDXProp_Arrow_HeadSize, {"HeadSize", ECDXType::CDXINT16}}, - {kCDXProp_Arc_AngularSize, {"AngularSize", ECDXType::CDXINT16}}, - {kCDXProp_Bracket_LipSize, {"LipSize", ECDXType::CDXINT16}}, - {kCDXProp_Curve_Points, {"CurvePoints", ECDXType::CDXCurvePoints}}, - {kCDXProp_Bracket_Usage, {"BracketUsage", ECDXType::CDXINT8}}, - {kCDXProp_Polymer_RepeatPattern, {"PolymerRepeatPattern", ECDXType::CDXINT8}}, - {kCDXProp_Polymer_FlipType, {"PolymerFlipType", ECDXType::CDXINT8}}, - {kCDXProp_BracketedObjects, {"BracketedObjectIDs", ECDXType::CDXObjectIDArray}}, - {kCDXProp_Bracket_RepeatCount, {"RepeatCount", ECDXType::CDXFLOAT64}}, - {kCDXProp_Bracket_ComponentOrder, {"ComponentOrder", ECDXType::CDXINT16}}, - {kCDXProp_Bracket_SRULabel, {"SRULabel", ECDXType::CDXString}}, - {kCDXProp_Bracket_GraphicID, {"GraphicID", ECDXType::CDXObjectID}}, - {kCDXProp_Bracket_BondID, {"BondID", ECDXType::CDXObjectID}}, - {kCDXProp_Bracket_InnerAtomID, {"InnerAtomID", ECDXType::CDXObjectID}}, - {kCDXProp_Curve_Points3D, {"CurvePoints3D", ECDXType::CDXCurvePoints3D}}, - {kCDXProp_Arrowhead_Type, {"ArrowHeadType", ECDXType::CDXINT16}}, - {kCDXProp_Arrowhead_CenterSize, {"HeadCenterSize", ECDXType::CDXUINT16}}, - {kCDXProp_Arrowhead_Width, {"HeadWidth", ECDXType::CDXUINT16}}, - {kCDXProp_ShadowSize, {"ShadowSize", ECDXType::CDXUINT16}}, - {kCDXProp_Arrow_ShaftSpacing, {"ArrowShaftSpacing", ECDXType::CDXUINT16}}, - {kCDXProp_Arrow_EquilibriumRatio, {"ArrowEquilibriumRatio", ECDXType::CDXUINT16}}, - {kCDXProp_Arrow_ArrowHead_Head, {"ArrowHeadHead", ECDXType::CDXINT16}}, - {kCDXProp_Arrow_ArrowHead_Tail, {"ArrowHeadTail", ECDXType::CDXINT16}}, - {kCDXProp_Fill_Type, {"FillType", ECDXType::CDXINT16}}, - {kCDXProp_Curve_Spacing, {"CurveSpacing", ECDXType::CDXUINT16}}, - {kCDXProp_Closed, {"Closed", ECDXType::CDXBoolean}}, - {kCDXProp_Arrow_Dipole, {"Dipole", ECDXType::CDXBoolean}}, - {kCDXProp_Arrow_NoGo, {"NoGo", ECDXType::CDXINT8}}, - {kCDXProp_CornerRadius, {"CornerRadius", ECDXType::CDXINT16}}, - {kCDXProp_Frame_Type, {"FrameType", ECDXType::CDXINT16}}, - {kCDXProp_Picture_Edition, {"Edition", ECDXType::CDXUnformatted}}, - {kCDXProp_Picture_EditionAlias, {"EditionAlias", ECDXType::CDXUnformatted}}, - {kCDXProp_MacPICT, {"MacPICT", ECDXType::CDXUnformatted}}, - {kCDXProp_WindowsMetafile, {"WindowsMetafile", ECDXType::CDXUnformatted}}, - {kCDXProp_OLEObject, {"OLEObject", ECDXType::CDXUnformatted}}, - {kCDXProp_EnhancedMetafile, {"EnhancedMetafile", ECDXType::CDXUnformatted}}, - {kCDXProp_GIF, {"GIF", ECDXType::CDXUnformatted}}, - {kCDXProp_TIFF, {"TIFF", ECDXType::CDXUnformatted}}, - {kCDXProp_PNG, {"PNG", ECDXType::CDXUnformatted}}, - {kCDXProp_JPEG, {"JPEG", ECDXType::CDXUnformatted}}, - {kCDXProp_BMP, {"BMP", ECDXType::CDXUnformatted}}, - {kCDXProp_Spectrum_XSpacing, {"XSpacing", ECDXType::CDXFLOAT64}}, - {kCDXProp_Spectrum_XLow, {"XLow", ECDXType::CDXFLOAT64}}, - {kCDXProp_Spectrum_XType, {"XType", ECDXType::CDXINT16}}, - {kCDXProp_Spectrum_YType, {"YType", ECDXType::CDXINT16}}, - {kCDXProp_Spectrum_XAxisLabel, {"XAxisLabel", ECDXType::CDXString}}, - {kCDXProp_Spectrum_YAxisLabel, {"YAxisLabel", ECDXType::CDXString}}, - {kCDXProp_Spectrum_Class, {"Class", ECDXType::CDXINT16}}, - {kCDXProp_Spectrum_YLow, {"YLow", ECDXType::CDXFLOAT64}}, - {kCDXProp_Spectrum_YScale, {"YScale", ECDXType::CDXFLOAT64}}, - {kCDXProp_TLC_OriginFraction, {"OriginFraction", ECDXType::CDXFLOAT64}}, - {kCDXProp_TLC_SolventFrontFraction, {"SolventFrontFraction", ECDXType::CDXFLOAT64}}, - {kCDXProp_TLC_ShowOrigin, {"ShowOrigin", ECDXType::CDXBoolean}}, - {kCDXProp_TLC_ShowSolventFront, {"ShowSolventFront", ECDXType::CDXBoolean}}, - {kCDXProp_TLC_ShowBorders, {"ShowBorders", ECDXType::CDXBoolean}}, - {kCDXProp_TLC_ShowSideTicks, {"ShowSideTicks", ECDXType::CDXBoolean}}, - {kCDXProp_TLC_Rf, {"Rf", ECDXType::CDXFLOAT64}}, - {kCDXProp_TLC_Tail, {"Tail", ECDXType::CDXCoordinate}}, - {kCDXProp_TLC_ShowRf, {"ShowRf", ECDXType::CDXBoolean}}, - {kCDXProp_NamedAlternativeGroup_TextFrame, {"TextFrame", ECDXType::CDXRectangle}}, - {kCDXProp_NamedAlternativeGroup_GroupFrame, {"GroupFrame", ECDXType::CDXRectangle}}, - {kCDXProp_NamedAlternativeGroup_Valence, {"Valence", ECDXType::CDXINT16}}, - {kCDXProp_GeometricFeature, {"GeometricFeature", ECDXType::CDXINT8}}, - {kCDXProp_RelationValue, {"RelationValue", ECDXType::CDXFLOAT64}}, - {kCDXProp_BasisObjects, {"BasisObjects", ECDXType::CDXObjectIDArray}}, - {kCDXProp_ConstraintType, {"ConstraintType", ECDXType::CDXINT8}}, - {kCDXProp_ConstraintMin, {"ConstraintMin", ECDXType::CDXFLOAT64}}, - {kCDXProp_ConstraintMax, {"ConstraintMax", ECDXType::CDXFLOAT64}}, - {kCDXProp_IgnoreUnconnectedAtoms, {"IgnoreUnconnectedAtoms", ECDXType::CDXBooleanImplied}}, - {kCDXProp_DihedralIsChiral, {"DihedralIsChiral", ECDXType::CDXBooleanImplied}}, - {kCDXProp_PointIsDirected, {"PointIsDirected", ECDXType::CDXBooleanImplied}}, - {kCDXProp_ChemicalPropertyType, {"ChemicalPropertyType", ECDXType::CDXUINT32}}, - {kCDXProp_ChemicalPropertyDisplayID, {"ChemicalPropertyDisplayID", ECDXType::CDXObjectID}}, - {kCDXProp_ChemicalPropertyIsActive, {"ChemicalPropertyIsActive", ECDXType::CDXBoolean}}, - {kCDXProp_ChemicalPropertyName, {"ChemPropName", ECDXType::CDXString}}, - {kCDXProp_ChemicalPropertyFormula, {"ChemPropFormula", ECDXType::CDXString}}, - {kCDXProp_ChemicalPropertyExactMass, {"ChemPropExactMass", ECDXType::CDXString}}, - {kCDXProp_ChemicalPropertyMolWeight, {"ChemPropMolWt", ECDXType::CDXString}}, - {kCDXProp_ChemicalPropertyMOverZ, {"ChemPropMOverZ", ECDXType::CDXString}}, - {kCDXProp_ChemicalPropertyAnalysis, {"ChemPropAnalysis", ECDXType::CDXString}}, - {kCDXProp_ChemicalPropertyBoilingPoint, {"ChemPropBoilingPt", ECDXType::CDXString}}, - {kCDXProp_ChemicalPropertyMeltingPoint, {"ChemPropMeltingPt", ECDXType::CDXString}}, - {kCDXProp_ChemicalPropertyCriticalTemp, {"ChemPropCritTemp", ECDXType::CDXString}}, - {kCDXProp_ChemicalPropertyCriticalPressure, {"ChemPropCritPres", ECDXType::CDXString}}, - {kCDXProp_ChemicalPropertyCriticalVolume, {"ChemPropCritVol", ECDXType::CDXString}}, - {kCDXProp_ChemicalPropertyGibbsEnergy, {"ChemPropGibbs", ECDXType::CDXString}}, - {kCDXProp_ChemicalPropertyLogP, {"ChemPropLogP", ECDXType::CDXString}}, - {kCDXProp_ChemicalPropertyMR, {"ChemPropMR", ECDXType::CDXString}}, - {kCDXProp_ChemicalPropertyHenrysLaw, {"ChemPropHenry", ECDXType::CDXString}}, - {kCDXProp_ChemicalPropertyHeatOfForm, {"ChemPropEForm", ECDXType::CDXString}}, - {kCDXProp_ChemicalPropertytPSA, {"ChemPropPSA", ECDXType::CDXString}}, - {kCDXProp_ChemicalPropertyID, {"ChemPropID", ECDXType::CDXString}}, - {kCDXProp_ChemicalPropertyFragmentLabel, {"ChemPropFragmentLabel", ECDXType::CDXString}}, - {kCDXProp_ReactionStep_Atom_Map, {"ReactionStepAtomMap", ECDXType::CDXObjectIDArray}}, - {kCDXProp_ReactionStep_Reactants, {"ReactionStepReactants", ECDXType::CDXObjectIDArray}}, - {kCDXProp_ReactionStep_Products, {"ReactionStepProducts", ECDXType::CDXObjectIDArray}}, - {kCDXProp_ReactionStep_Plusses, {"ReactionStepPlusses", ECDXType::CDXObjectIDArray}}, - {kCDXProp_ReactionStep_Arrows, {"ReactionStepArrows", ECDXType::CDXObjectIDArray}}, - {kCDXProp_ReactionStep_ObjectsAboveArrow, {"ReactionStepObjectsAboveArrow", ECDXType::CDXObjectIDArray}}, - {kCDXProp_ReactionStep_ObjectsBelowArrow, {"ReactionStepObjectsBelowArrow", ECDXType::CDXObjectIDArray}}, - {kCDXProp_ReactionStep_Atom_Map_Manual, {"ReactionStepAtomMapManual", ECDXType::CDXObjectIDArray}}, - {kCDXProp_ReactionStep_Atom_Map_Auto, {"ReactionStepAtomMapAuto", ECDXType::CDXObjectIDArray}}, - {kCDXProp_RxnAutonumber_Style, {"RxnAutonumberStyle", ECDXType::CDXINT16}}, - {kCDXProp_RxnAutonumber_Conditions, {"RxnAutonumberConditions", ECDXType::CDXBoolean}}, - {kCDXProp_RxnAutonumber_Start, {"RxnAutonumberStart", ECDXType::CDXINT16}}, - {kCDXProp_RxnAutonumber_Format, {"RxnAutonumberFormat", ECDXType::CDXString}}, - {kCDXProp_ObjectTag_Type, {"TagType", ECDXType::CDXINT16}}, - {kCDXProp_ObjectTag_Tracking, {"Tracking", ECDXType::CDXBoolean}}, - {kCDXProp_ObjectTag_Persistent, {"Persistent", ECDXType::CDXBoolean}}, - {kCDXProp_ObjectTag_Value, {"Value", ECDXType::CDXvaries}}, - {kCDXProp_Positioning, {"PositioningType", ECDXType::CDXINT8}}, - {kCDXProp_PositioningAngle, {"PositioningAngle", ECDXType::CDXINT32}}, - {kCDXProp_PositioningOffset, {"PositioningOffset", ECDXType::CDXPoint2D}}, - {kCDXProp_Sequence_Identifier, {"SequenceIdentifier", ECDXType::CDXString}}, - {kCDXProp_CrossReference_Container, {"CrossReferenceContainer", ECDXType::CDXString}}, - {kCDXProp_CrossReference_Document, {"CrossReferenceDocument", ECDXType::CDXString}}, - {kCDXProp_CrossReference_Identifier, {"CrossReferenceIdentifier", ECDXType::CDXString}}, - {kCDXProp_CrossReference_Sequence, {"CrossReferenceSequence", ECDXType::CDXString}}, - {kCDXProp_Template_PaneHeight, {"PaneHeight", ECDXType::CDXCoordinate}}, - {kCDXProp_Template_NumRows, {"NumRows", ECDXType::CDXINT16}}, - {kCDXProp_Template_NumColumns, {"NumColumns", ECDXType::CDXINT16}}, - {kCDXProp_Group_Integral, {"Integral", ECDXType::CDXBoolean}}, - {kCDXProp_SplitterPositions, {"SplitterPositions", ECDXType::CDXObjectIDArray}}, - {kCDXProp_PageDefinition, {"PageDefinition", ECDXType::CDXINT8}}}; - -const std::unordered_map> KCDXNameToProp = { - {"CreationUserName", {kCDXProp_CreationUserName, ECDXType::CDXString}}, - {"CreationDate", {kCDXProp_CreationDate, ECDXType::CDXDate}}, - {"CreationProgram", {kCDXProp_CreationProgram, ECDXType::CDXString}}, - {"ModificationUserName", {kCDXProp_ModificationUserName, ECDXType::CDXString}}, - {"ModificationDate", {kCDXProp_ModificationDate, ECDXType::CDXDate}}, - {"ModificationProgram", {kCDXProp_ModificationProgram, ECDXType::CDXString}}, - {"Name", {kCDXProp_Name, ECDXType::CDXString}}, - {"Comment", {kCDXProp_Comment, ECDXType::CDXString}}, - {"Z", {kCDXProp_ZOrder, ECDXType::CDXINT16}}, - {"RegistryNumber", {kCDXProp_RegistryNumber, ECDXType::CDXString}}, - {"RegistryAuthority", {kCDXProp_RegistryAuthority, ECDXType::CDXString}}, - {"RepresentsProperty", {kCDXProp_RepresentsProperty, ECDXType::CDXRepresentsProperty}}, - {"IgnoreWarnings", {kCDXProp_IgnoreWarnings, ECDXType::CDXBooleanImplied}}, - {"Warning", {kCDXProp_ChemicalWarning, ECDXType::CDXString}}, - {"Visible", {kCDXProp_Visible, ECDXType::CDXBoolean}}, - {"SupersededBy", {kCDXProp_SupersededBy, ECDXType::CDXObjectID}}, - {"fonttable", {kCDXProp_FontTable, ECDXType::CDXFontTable}}, - {"p", {kCDXProp_2DPosition, ECDXType::CDXPoint2D}}, - {"xyz", {kCDXProp_3DPosition, ECDXType::CDXPoint3D}}, - {"extent", {kCDXProp_2DExtent, ECDXType::CDXPoint2D}}, - {"extent3D", {kCDXProp_3DExtent, ECDXType::CDXPoint3D}}, - {"BoundingBox", {kCDXProp_BoundingBox, ECDXType::CDXRectangle}}, - {"RotationAngle", {kCDXProp_RotationAngle, ECDXType::CDXINT32}}, - {"Head3D", {kCDXProp_3DHead, ECDXType::CDXPoint3D}}, - {"Tail3D", {kCDXProp_3DTail, ECDXType::CDXPoint3D}}, - {"TopLeft", {kCDXProp_TopLeft, ECDXType::CDXPoint2D}}, - {"TopRight", {kCDXProp_TopRight, ECDXType::CDXPoint2D}}, - {"BottomRight", {kCDXProp_BottomRight, ECDXType::CDXPoint2D}}, - {"BottomLeft", {kCDXProp_BottomLeft, ECDXType::CDXPoint2D}}, - {"Center3D", {kCDXProp_3DCenter, ECDXType::CDXPoint3D}}, - {"Center3D", {kCDXProp_3DMajorAxisEnd, ECDXType::CDXPoint3D}}, - {"Center3D", {kCDXProp_3DMinorAxisEnd, ECDXType::CDXPoint3D}}, - {"colortable", {kCDXProp_ColorTable, ECDXType::CDXColorTable}}, - {"color", {kCDXProp_ForegroundColor, ECDXType::CDXUINT16}}, - {"bgcolor", {kCDXProp_BackgroundColor, ECDXType::CDXColorTableCDXINT16}}, - {"NodeType", {kCDXProp_Node_Type, ECDXType::CDXINT16}}, - {"LabelDisplay", {kCDXProp_Node_LabelDisplay, ECDXType::CDXINT8}}, - {"Element", {kCDXProp_Node_Element, ECDXType::CDXINT16}}, - {"ElementList", {kCDXProp_Atom_ElementList, ECDXType::CDXElementList}}, - {"Formula", {kCDXProp_Atom_Formula, ECDXType::CDXFormula}}, - {"Isotope", {kCDXProp_Atom_Isotope, ECDXType::CDXINT16}}, - {"Charge", {kCDXProp_Atom_Charge, ECDXType::CDXINT8}}, - {"Radical", {kCDXProp_Atom_Radical, ECDXType::CDXUINT8}}, - {"FreeSites", {kCDXProp_Atom_RestrictFreeSites, ECDXType::CDXUINT8}}, - {"ImplicitHydrogens", {kCDXProp_Atom_RestrictImplicitHydrogens, ECDXType::CDXBooleanImplied}}, - {"RingBondCount", {kCDXProp_Atom_RestrictRingBondCount, ECDXType::CDXINT8}}, - {"UnsaturatedBonds", {kCDXProp_Atom_RestrictUnsaturatedBonds, ECDXType::CDXINT8}}, - {"RxnChange", {kCDXProp_Atom_RestrictRxnChange, ECDXType::CDXBooleanImplied}}, - {"RxnStereo", {kCDXProp_Atom_RestrictRxnStereo, ECDXType::CDXINT8}}, - {"AbnormalValence", {kCDXProp_Atom_AbnormalValence, ECDXType::CDXBooleanImplied}}, - {"NumHydrogens", {kCDXProp_Atom_NumHydrogens, ECDXType::CDXUINT16}}, - {"HDot", {kCDXProp_Atom_HDot, ECDXType::CDXBooleanImplied}}, - {"HDash", {kCDXProp_Atom_HDash, ECDXType::CDXBooleanImplied}}, - {"Geometry", {kCDXProp_Atom_Geometry, ECDXType::CDXINT8}}, - {"BondOrdering", {kCDXProp_Atom_BondOrdering, ECDXType::CDXObjectIDArray}}, - {"Attachments", {kCDXProp_Node_Attachments, ECDXType::CDXObjectIDArrayWithCounts}}, - {"GenericNickname", {kCDXProp_Atom_GenericNickname, ECDXType::CDXString}}, - {"AltGroupID", {kCDXProp_Atom_AltGroupID, ECDXType::CDXObjectID}}, - {"SubstituentsUpTo", {kCDXProp_Atom_RestrictSubstituentsUpTo, ECDXType::CDXUINT8}}, - {"SubstituentsExactly", {kCDXProp_Atom_RestrictSubstituentsExactly, ECDXType::CDXUINT8}}, - {"AS", {kCDXProp_Atom_CIPStereochemistry, ECDXType::CDXINT8}}, - {"Translation", {kCDXProp_Atom_Translation, ECDXType::CDXINT8}}, - {"AtomNumber", {kCDXProp_Atom_AtomNumber, ECDXType::CDXString}}, - {"ShowAtomQuery", {kCDXProp_Atom_ShowQuery, ECDXType::CDXBoolean}}, - {"ShowAtomStereo", {kCDXProp_Atom_ShowStereo, ECDXType::CDXBoolean}}, - {"ShowAtomNumber", {kCDXProp_Atom_ShowAtomNumber, ECDXType::CDXBoolean}}, - {"LinkCountLow", {kCDXProp_Atom_LinkCountLow, ECDXType::CDXINT16}}, - {"LinkCountHigh", {kCDXProp_Atom_LinkCountHigh, ECDXType::CDXINT16}}, - {"IsotopicAbundance", {kCDXProp_Atom_IsotopicAbundance, ECDXType::CDXINT8}}, - {"ExternalConnectionType", {kCDXProp_Atom_ExternalConnectionType, ECDXType::CDXINT8}}, - {"GenericList", {kCDXProp_Atom_GenericList, ECDXType::CDXGenericList}}, - {"ShowTerminalCarbonLabels", {kCDXProp_Atom_ShowTerminalCarbonLabels, ECDXType::CDXBooleanImplied}}, - {"ShowNonTerminalCarbonLabels", {kCDXProp_Atom_ShowNonTerminalCarbonLabels, ECDXType::CDXBooleanImplied}}, - {"HideImplicitHydrogens", {kCDXProp_Atom_HideImplicitHydrogens, ECDXType::CDXBooleanImplied}}, - {"ShowAtomEnhancedStereo", {kCDXProp_Atom_ShowEnhancedStereo, ECDXType::CDXBoolean}}, - {"EnhancedStereoType", {kCDXProp_Atom_EnhancedStereoType, ECDXType::CDXUINT8}}, - {"EnhancedStereoGroupNum", {kCDXProp_Atom_EnhancedStereoGroupNum, ECDXType::CDXUINT16}}, - {"ShowResidueID", {kCDXProp_ShowResidueID, ECDXType::CDXBoolean}}, - {"Racemic", {kCDXProp_Mole_Racemic, ECDXType::CDXBoolean}}, - {"Absolute", {kCDXProp_Mole_Absolute, ECDXType::CDXBoolean}}, - {"Relative", {kCDXProp_Mole_Relative, ECDXType::CDXBoolean}}, - {"Formula", {kCDXProp_Mole_Formula, ECDXType::CDXFormula}}, - {"Weight", {kCDXProp_Mole_Weight, ECDXType::CDXFLOAT64}}, - {"ConnectionOrder", {kCDXProp_Frag_ConnectionOrder, ECDXType::CDXObjectIDArray}}, - {"Order", {kCDXProp_Bond_Order, ECDXType::CDXINT16}}, - {"Display", {kCDXProp_Bond_Display, ECDXType::CDXINT16}}, - {"Display2", {kCDXProp_Bond_Display2, ECDXType::CDXINT16}}, - {"DoublePosition", {kCDXProp_Bond_DoublePosition, ECDXType::CDXINT16}}, - {"B", {kCDXProp_Bond_Begin, ECDXType::CDXObjectID}}, - {"E", {kCDXProp_Bond_End, ECDXType::CDXObjectID}}, - {"Topology", {kCDXProp_Bond_RestrictTopology, ECDXType::CDXINT8}}, - {"RxnParticipation", {kCDXProp_Bond_RestrictRxnParticipation, ECDXType::CDXINT8}}, - {"BeginAttach", {kCDXProp_Bond_BeginAttach, ECDXType::CDXUINT8}}, - {"EndAttach", {kCDXProp_Bond_EndAttach, ECDXType::CDXUINT8}}, - {"BS", {kCDXProp_Bond_CIPStereochemistry, ECDXType::CDXINT8}}, - {"BondCircularOrdering", {kCDXProp_Bond_BondOrdering, ECDXType::CDXObjectIDArray}}, - {"ShowBondQuery", {kCDXProp_Bond_ShowQuery, ECDXType::CDXBoolean}}, - {"ShowBondStereo", {kCDXProp_Bond_ShowStereo, ECDXType::CDXBoolean}}, - {"CrossingBonds", {kCDXProp_Bond_CrossingBonds, ECDXType::CDXObjectIDArray}}, - {"ShowBondRxn", {kCDXProp_Bond_ShowRxn, ECDXType::CDXBoolean}}, - {"t", {kCDXProp_Text, ECDXType::CDXString}}, - {"Justification", {kCDXProp_Justification, ECDXType::CDXINT8}}, - {"LineHeight", {kCDXProp_LineHeight, ECDXType::CDXUINT16}}, - {"WordWrapWidth", {kCDXProp_WordWrapWidth, ECDXType::CDXINT16}}, - {"LineStarts", {kCDXProp_LineStarts, ECDXType::CDXINT16ListWithCounts}}, - {"LabelAlignment", {kCDXProp_LabelAlignment, ECDXType::CDXINT8}}, - {"LabelLineHeight", {kCDXProp_LabelLineHeight, ECDXType::CDXINT16}}, - {"CaptionLineHeight", {kCDXProp_CaptionLineHeight, ECDXType::CDXINT16}}, - {"InterpretChemically", {kCDXProp_InterpretChemically, ECDXType::CDXBooleanImplied}}, - {"MacPrintInfo", {kCDXProp_MacPrintInfo, ECDXType::CDXUnformatted}}, - {"WinPrintInfo", {kCDXProp_WinPrintInfo, ECDXType::CDXUnformatted}}, - {"PrintMargins", {kCDXProp_PrintMargins, ECDXType::CDXRectangle}}, - {"ChainAngle", {kCDXProp_ChainAngle, ECDXType::CDXINT32}}, - {"BondSpacing", {kCDXProp_BondSpacing, ECDXType::CDXINT16}}, - {"BondLength", {kCDXProp_BondLength, ECDXType::CDXCoordinate}}, - {"BoldWidth", {kCDXProp_BoldWidth, ECDXType::CDXCoordinate}}, - {"LineWidth", {kCDXProp_LineWidth, ECDXType::CDXCoordinate}}, - {"MarginWidth", {kCDXProp_MarginWidth, ECDXType::CDXCoordinate}}, - {"HashSpacing", {kCDXProp_HashSpacing, ECDXType::CDXCoordinate}}, - {"LabelStyle", {kCDXProp_LabelStyle, ECDXType::CDXFontStyle}}, - {"CaptionStyle", {kCDXProp_CaptionStyle, ECDXType::CDXFontStyle}}, - {"CaptionJustification", {kCDXProp_CaptionJustification, ECDXType::CDXINT8}}, - {"FractionalWidths", {kCDXProp_FractionalWidths, ECDXType::CDXBooleanImplied}}, - {"Magnification", {kCDXProp_Magnification, ECDXType::CDXINT16}}, - {"WidthPages", {kCDXProp_WidthPages, ECDXType::CDXINT16}}, - {"HeightPages", {kCDXProp_HeightPages, ECDXType::CDXINT16}}, - {"DrawingSpace", {kCDXProp_DrawingSpaceType, ECDXType::CDXINT8}}, - {"Width", {kCDXProp_Width, ECDXType::CDXCoordinate}}, - {"Height", {kCDXProp_Height, ECDXType::CDXCoordinate}}, - {"PageOverlap", {kCDXProp_PageOverlap, ECDXType::CDXCoordinate}}, - {"Header", {kCDXProp_Header, ECDXType::CDXString}}, - {"HeaderPosition", {kCDXProp_HeaderPosition, ECDXType::CDXCoordinate}}, - {"Footer", {kCDXProp_Footer, ECDXType::CDXString}}, - {"FooterPosition", {kCDXProp_FooterPosition, ECDXType::CDXCoordinate}}, - {"PrintTrimMarks", {kCDXProp_PrintTrimMarks, ECDXType::CDXBooleanImplied}}, - {"LabelFont", {kCDXProp_LabelStyleFont, ECDXType::CDXINT16}}, - {"CaptionFont", {kCDXProp_CaptionStyleFont, ECDXType::CDXINT16}}, - {"LabelSize", {kCDXProp_LabelStyleSize, ECDXType::CDXINT16}}, - {"CaptionSize", {kCDXProp_CaptionStyleSize, ECDXType::CDXINT16}}, - {"LabelFace", {kCDXProp_LabelStyleFace, ECDXType::CDXINT16}}, - {"CaptionFace", {kCDXProp_CaptionStyleFace, ECDXType::CDXINT16}}, - {"LabelColor", {kCDXProp_LabelStyleColor, ECDXType::CDXINT16}}, - {"CaptionColor", {kCDXProp_CaptionStyleColor, ECDXType::CDXINT16}}, - {"BondSpacingAbs", {kCDXProp_BondSpacingAbs, ECDXType::CDXCoordinate}}, - {"LabelJustification", {kCDXProp_LabelJustification, ECDXType::CDXINT8}}, - {"FixInPlaceExtent", {kCDXProp_FixInplaceExtent, ECDXType::CDXPoint2D}}, - {"Side", {kCDXProp_Side, ECDXType::CDXUINT16}}, - {"FixInPlaceGap", {kCDXProp_FixInplaceGap, ECDXType::CDXPoint2D}}, - {"CartridgeData", {kCDXProp_CartridgeData, ECDXType::CDXUnformatted}}, - {"AminoAcidTermini", {kCDXProp_AminoAcidTermini, ECDXType::CDXINT8}}, - {"ShowSequenceTermini", {kCDXProp_ShowSequenceTermini, ECDXType::CDXBooleanImplied}}, - {"ShowSequenceBonds", {kCDXProp_ShowSequenceBonds, ECDXType::CDXBooleanImplied}}, - {"ResidueWrapCount", {kCDXProp_ResidueWrapCount, ECDXType::CDXINT8}}, - {"ResidueBlockCount", {kCDXProp_ResidueBlockCount, ECDXType::CDXINT8}}, - {"ResidueZigZag", {kCDXProp_ResidueZigZag, ECDXType::CDXBooleanImplied}}, - {"NumberResidueBlocks", {kCDXProp_NumberResidueBlocks, ECDXType::CDXBooleanImplied}}, - {"BondSpacingType", {kCDXProp_BondSpacingType, ECDXType::CDXINT8}}, - {"LabelStyleFontName", {kCDXProp_LabelStyleFontName, ECDXType::CDXString}}, - {"CaptionStyleFontName", {kCDXProp_CaptionStyleFontName, ECDXType::CDXString}}, - {"ShowSequenceUnlinkedBranches", {kCDXProp_ShowSequenceUnlinkedBranches, ECDXType::CDXBooleanImplied}}, - {"WindowIsZoomed", {kCDXProp_Window_IsZoomed, ECDXType::CDXBooleanImplied}}, - {"WindowPosition", {kCDXProp_Window_Position, ECDXType::CDXPoint2D}}, - {"WindowSize", {kCDXProp_Window_Size, ECDXType::CDXPoint2D}}, - {"GraphicType", {kCDXProp_Graphic_Type, ECDXType::CDXINT16}}, - {"LineType", {kCDXProp_Line_Type, ECDXType::CDXINT16}}, - {"ArrowType", {kCDXProp_Arrow_Type, ECDXType::CDXINT16}}, - {"RectangleType", {kCDXProp_Rectangle_Type, ECDXType::CDXINT16}}, - {"OvalType", {kCDXProp_Oval_Type, ECDXType::CDXINT16}}, - {"OrbitalType", {kCDXProp_Orbital_Type, ECDXType::CDXINT16}}, - {"BracketType", {kCDXProp_Bracket_Type, ECDXType::CDXINT16}}, - {"SymbolType", {kCDXProp_Symbol_Type, ECDXType::CDXINT16}}, - {"CurveType", {kCDXProp_Curve_Type, ECDXType::CDXINT16}}, - {"HeadSize", {kCDXProp_Arrow_HeadSize, ECDXType::CDXINT16}}, - {"AngularSize", {kCDXProp_Arc_AngularSize, ECDXType::CDXINT16}}, - {"LipSize", {kCDXProp_Bracket_LipSize, ECDXType::CDXINT16}}, - {"CurvePoints", {kCDXProp_Curve_Points, ECDXType::CDXCurvePoints}}, - {"BracketUsage", {kCDXProp_Bracket_Usage, ECDXType::CDXINT8}}, - {"PolymerRepeatPattern", {kCDXProp_Polymer_RepeatPattern, ECDXType::CDXINT8}}, - {"PolymerFlipType", {kCDXProp_Polymer_FlipType, ECDXType::CDXINT8}}, - {"BracketedObjectIDs", {kCDXProp_BracketedObjects, ECDXType::CDXObjectIDArray}}, - {"RepeatCount", {kCDXProp_Bracket_RepeatCount, ECDXType::CDXFLOAT64}}, - {"ComponentOrder", {kCDXProp_Bracket_ComponentOrder, ECDXType::CDXINT16}}, - {"SRULabel", {kCDXProp_Bracket_SRULabel, ECDXType::CDXString}}, - {"GraphicID", {kCDXProp_Bracket_GraphicID, ECDXType::CDXObjectID}}, - {"BondID", {kCDXProp_Bracket_BondID, ECDXType::CDXObjectID}}, - {"InnerAtomID", {kCDXProp_Bracket_InnerAtomID, ECDXType::CDXObjectID}}, - {"CurvePoints3D", {kCDXProp_Curve_Points3D, ECDXType::CDXCurvePoints3D}}, - {"ArrowHeadType", {kCDXProp_Arrowhead_Type, ECDXType::CDXINT16}}, - {"HeadCenterSize", {kCDXProp_Arrowhead_CenterSize, ECDXType::CDXUINT16}}, - {"HeadWidth", {kCDXProp_Arrowhead_Width, ECDXType::CDXUINT16}}, - {"ShadowSize", {kCDXProp_ShadowSize, ECDXType::CDXUINT16}}, - {"ArrowShaftSpacing", {kCDXProp_Arrow_ShaftSpacing, ECDXType::CDXUINT16}}, - {"ArrowEquilibriumRatio", {kCDXProp_Arrow_EquilibriumRatio, ECDXType::CDXUINT16}}, - {"ArrowHeadHead", {kCDXProp_Arrow_ArrowHead_Head, ECDXType::CDXINT16}}, - {"ArrowHeadTail", {kCDXProp_Arrow_ArrowHead_Tail, ECDXType::CDXINT16}}, - {"FillType", {kCDXProp_Fill_Type, ECDXType::CDXINT16}}, - {"CurveSpacing", {kCDXProp_Curve_Spacing, ECDXType::CDXUINT16}}, - {"Closed", {kCDXProp_Closed, ECDXType::CDXBoolean}}, - {"Dipole", {kCDXProp_Arrow_Dipole, ECDXType::CDXBoolean}}, - {"NoGo", {kCDXProp_Arrow_NoGo, ECDXType::CDXINT8}}, - {"CornerRadius", {kCDXProp_CornerRadius, ECDXType::CDXINT16}}, - {"FrameType", {kCDXProp_Frame_Type, ECDXType::CDXINT16}}, - {"Edition", {kCDXProp_Picture_Edition, ECDXType::CDXUnformatted}}, - {"EditionAlias", {kCDXProp_Picture_EditionAlias, ECDXType::CDXUnformatted}}, - {"MacPICT", {kCDXProp_MacPICT, ECDXType::CDXUnformatted}}, - {"WindowsMetafile", {kCDXProp_WindowsMetafile, ECDXType::CDXUnformatted}}, - {"OLEObject", {kCDXProp_OLEObject, ECDXType::CDXUnformatted}}, - {"EnhancedMetafile", {kCDXProp_EnhancedMetafile, ECDXType::CDXUnformatted}}, - {"GIF", {kCDXProp_GIF, ECDXType::CDXUnformatted}}, - {"TIFF", {kCDXProp_TIFF, ECDXType::CDXUnformatted}}, - {"PNG", {kCDXProp_PNG, ECDXType::CDXUnformatted}}, - {"JPEG", {kCDXProp_JPEG, ECDXType::CDXUnformatted}}, - {"BMP", {kCDXProp_BMP, ECDXType::CDXUnformatted}}, - {"XSpacing", {kCDXProp_Spectrum_XSpacing, ECDXType::CDXFLOAT64}}, - {"XLow", {kCDXProp_Spectrum_XLow, ECDXType::CDXFLOAT64}}, - {"XType", {kCDXProp_Spectrum_XType, ECDXType::CDXINT16}}, - {"YType", {kCDXProp_Spectrum_YType, ECDXType::CDXINT16}}, - {"XAxisLabel", {kCDXProp_Spectrum_XAxisLabel, ECDXType::CDXString}}, - {"YAxisLabel", {kCDXProp_Spectrum_YAxisLabel, ECDXType::CDXString}}, - {"Class", {kCDXProp_Spectrum_Class, ECDXType::CDXINT16}}, - {"YLow", {kCDXProp_Spectrum_YLow, ECDXType::CDXFLOAT64}}, - {"YScale", {kCDXProp_Spectrum_YScale, ECDXType::CDXFLOAT64}}, - {"OriginFraction", {kCDXProp_TLC_OriginFraction, ECDXType::CDXFLOAT64}}, - {"SolventFrontFraction", {kCDXProp_TLC_SolventFrontFraction, ECDXType::CDXFLOAT64}}, - {"ShowOrigin", {kCDXProp_TLC_ShowOrigin, ECDXType::CDXBoolean}}, - {"ShowSolventFront", {kCDXProp_TLC_ShowSolventFront, ECDXType::CDXBoolean}}, - {"ShowBorders", {kCDXProp_TLC_ShowBorders, ECDXType::CDXBoolean}}, - {"ShowSideTicks", {kCDXProp_TLC_ShowSideTicks, ECDXType::CDXBoolean}}, - {"Rf", {kCDXProp_TLC_Rf, ECDXType::CDXFLOAT64}}, - {"Tail", {kCDXProp_TLC_Tail, ECDXType::CDXCoordinate}}, - {"ShowRf", {kCDXProp_TLC_ShowRf, ECDXType::CDXBoolean}}, - {"TextFrame", {kCDXProp_NamedAlternativeGroup_TextFrame, ECDXType::CDXRectangle}}, - {"GroupFrame", {kCDXProp_NamedAlternativeGroup_GroupFrame, ECDXType::CDXRectangle}}, - {"Valence", {kCDXProp_NamedAlternativeGroup_Valence, ECDXType::CDXINT16}}, - {"GeometricFeature", {kCDXProp_GeometricFeature, ECDXType::CDXINT8}}, - {"RelationValue", {kCDXProp_RelationValue, ECDXType::CDXFLOAT64}}, - {"BasisObjects", {kCDXProp_BasisObjects, ECDXType::CDXObjectIDArray}}, - {"ConstraintType", {kCDXProp_ConstraintType, ECDXType::CDXINT8}}, - {"ConstraintMin", {kCDXProp_ConstraintMin, ECDXType::CDXFLOAT64}}, - {"ConstraintMax", {kCDXProp_ConstraintMax, ECDXType::CDXFLOAT64}}, - {"IgnoreUnconnectedAtoms", {kCDXProp_IgnoreUnconnectedAtoms, ECDXType::CDXBooleanImplied}}, - {"DihedralIsChiral", {kCDXProp_DihedralIsChiral, ECDXType::CDXBooleanImplied}}, - {"PointIsDirected", {kCDXProp_PointIsDirected, ECDXType::CDXBooleanImplied}}, - {"ChemicalPropertyType", {kCDXProp_ChemicalPropertyType, ECDXType::CDXUINT32}}, - {"ChemicalPropertyDisplayID", {kCDXProp_ChemicalPropertyDisplayID, ECDXType::CDXObjectID}}, - {"ChemicalPropertyIsActive", {kCDXProp_ChemicalPropertyIsActive, ECDXType::CDXBoolean}}, - {"ChemPropName", {kCDXProp_ChemicalPropertyName, ECDXType::CDXString}}, - {"ChemPropFormula", {kCDXProp_ChemicalPropertyFormula, ECDXType::CDXString}}, - {"ChemPropExactMass", {kCDXProp_ChemicalPropertyExactMass, ECDXType::CDXString}}, - {"ChemPropMolWt", {kCDXProp_ChemicalPropertyMolWeight, ECDXType::CDXString}}, - {"ChemPropMOverZ", {kCDXProp_ChemicalPropertyMOverZ, ECDXType::CDXString}}, - {"ChemPropAnalysis", {kCDXProp_ChemicalPropertyAnalysis, ECDXType::CDXString}}, - {"ChemPropBoilingPt", {kCDXProp_ChemicalPropertyBoilingPoint, ECDXType::CDXString}}, - {"ChemPropMeltingPt", {kCDXProp_ChemicalPropertyMeltingPoint, ECDXType::CDXString}}, - {"ChemPropCritTemp", {kCDXProp_ChemicalPropertyCriticalTemp, ECDXType::CDXString}}, - {"ChemPropCritPres", {kCDXProp_ChemicalPropertyCriticalPressure, ECDXType::CDXString}}, - {"ChemPropCritVol", {kCDXProp_ChemicalPropertyCriticalVolume, ECDXType::CDXString}}, - {"ChemPropGibbs", {kCDXProp_ChemicalPropertyGibbsEnergy, ECDXType::CDXString}}, - {"ChemPropLogP", {kCDXProp_ChemicalPropertyLogP, ECDXType::CDXString}}, - {"ChemPropMR", {kCDXProp_ChemicalPropertyMR, ECDXType::CDXString}}, - {"ChemPropHenry", {kCDXProp_ChemicalPropertyHenrysLaw, ECDXType::CDXString}}, - {"ChemPropEForm", {kCDXProp_ChemicalPropertyHeatOfForm, ECDXType::CDXString}}, - {"ChemPropPSA", {kCDXProp_ChemicalPropertytPSA, ECDXType::CDXString}}, - {"ChemPropID", {kCDXProp_ChemicalPropertyID, ECDXType::CDXString}}, - {"ChemPropPSA", {kCDXProp_ChemicalPropertyFragmentLabel, ECDXType::CDXString}}, - {"ReactionStepAtomMap", {kCDXProp_ReactionStep_Atom_Map, ECDXType::CDXObjectIDArray}}, - {"ReactionStepReactants", {kCDXProp_ReactionStep_Reactants, ECDXType::CDXObjectIDArray}}, - {"ReactionStepProducts", {kCDXProp_ReactionStep_Products, ECDXType::CDXObjectIDArray}}, - {"ReactionStepPlusses", {kCDXProp_ReactionStep_Plusses, ECDXType::CDXObjectIDArray}}, - {"ReactionStepArrows", {kCDXProp_ReactionStep_Arrows, ECDXType::CDXObjectIDArray}}, - {"ReactionStepObjectsAboveArrow", {kCDXProp_ReactionStep_ObjectsAboveArrow, ECDXType::CDXObjectIDArray}}, - {"ReactionStepObjectsBelowArrow", {kCDXProp_ReactionStep_ObjectsBelowArrow, ECDXType::CDXObjectIDArray}}, - {"ReactionStepAtomMapManual", {kCDXProp_ReactionStep_Atom_Map_Manual, ECDXType::CDXObjectIDArray}}, - {"ReactionStepAtomMapAuto", {kCDXProp_ReactionStep_Atom_Map_Auto, ECDXType::CDXObjectIDArray}}, - {"RxnAutonumberStyle", {kCDXProp_RxnAutonumber_Style, ECDXType::CDXINT16}}, - {"RxnAutonumberConditions", {kCDXProp_RxnAutonumber_Conditions, ECDXType::CDXBoolean}}, - {"RxnAutonumberStart", {kCDXProp_RxnAutonumber_Start, ECDXType::CDXINT16}}, - {"RxnAutonumberFormat", {kCDXProp_RxnAutonumber_Format, ECDXType::CDXString}}, - {"TagType", {kCDXProp_ObjectTag_Type, ECDXType::CDXINT16}}, - {"Tracking", {kCDXProp_ObjectTag_Tracking, ECDXType::CDXBoolean}}, - {"Persistent", {kCDXProp_ObjectTag_Persistent, ECDXType::CDXBoolean}}, - {"Value", {kCDXProp_ObjectTag_Value, ECDXType::CDXvaries}}, - {"PositioningType", {kCDXProp_Positioning, ECDXType::CDXINT8}}, - {"PositioningAngle", {kCDXProp_PositioningAngle, ECDXType::CDXINT32}}, - {"PositioningOffset", {kCDXProp_PositioningOffset, ECDXType::CDXPoint2D}}, - {"SequenceIdentifier", {kCDXProp_Sequence_Identifier, ECDXType::CDXString}}, - {"CrossReferenceContainer", {kCDXProp_CrossReference_Container, ECDXType::CDXString}}, - {"CrossReferenceDocument", {kCDXProp_CrossReference_Document, ECDXType::CDXString}}, - {"CrossReferenceIdentifier", {kCDXProp_CrossReference_Identifier, ECDXType::CDXString}}, - {"CrossReferenceSequence", {kCDXProp_CrossReference_Sequence, ECDXType::CDXString}}, - {"PaneHeight", {kCDXProp_Template_PaneHeight, ECDXType::CDXCoordinate}}, - {"NumRows", {kCDXProp_Template_NumRows, ECDXType::CDXINT16}}, - {"NumColumns", {kCDXProp_Template_NumColumns, ECDXType::CDXINT16}}, - {"Integral", {kCDXProp_Group_Integral, ECDXType::CDXBoolean}}, - {"SplitterPositions", {kCDXProp_SplitterPositions, ECDXType::CDXObjectIDArray}}, - {"PageDefinition", {kCDXProp_PageDefinition, ECDXType::CDXINT8}}}; - -const std::unordered_map KCDXObjToName = {{kCDXObj_Document, "CDXML"}, - {kCDXObj_Page, "page"}, - {kCDXObj_Group, "group"}, - {kCDXObj_Fragment, "fragment"}, - {kCDXObj_Node, "n"}, - {kCDXObj_Bond, "b"}, - {kCDXObj_Text, "t"}, - {kCDXObj_Graphic, "graphic"}, - {kCDXObj_BracketedGroup, "bracketedgroup"}, - {kCDXObj_BracketAttachment, "bracketattachment"}, - {kCDXObj_CrossingBond, "crossingbond"}, - {kCDXObj_Curve, "curve"}, - {kCDXObj_EmbeddedObject, "embeddedobject"}, - {kCDXObj_Table, "table"}, - {kCDXObj_NamedAlternativeGroup, "altgroup"}, - {kCDXObj_TemplateGrid, "templategrid"}, - {kCDXObj_RegistryNumber, "regnum"}, - {kCDXObj_ReactionScheme, "scheme"}, - {kCDXObj_ReactionStep, "step"}, - {kCDXObj_Spectrum, "spectrum"}, - {kCDXObj_ObjectTag, "objecttag"}, - {kCDXObj_Sequence, "sequence"}, - {kCDXObj_CrossReference, "crossreference"}, - {kCDXObj_Border, "border"}, - {kCDXObj_Geometry, "geometry"}, - {kCDXObj_Constraint, "constraint"}, - {kCDXObj_TLCPlate, "tlcplate"}, - {kCDXObj_TLCLane, "tlclane"}, - {kCDXObj_TLCSpot, "tlcspot"}, - {kCDXObj_Splitter, "splitter"}, - {kCDXObj_ChemicalProperty, "chemicalproperty"}, - {kCDXProp_ColorTable, "colortable"}, - {kCDXProp_FontTable, "fonttable"}, - {kCDXProp_RepresentsProperty, "represent"}, - {kCDXObj_Arrow, "arrow"}}; - -const std::unordered_map KCDXNameToObjID = {{"CDXML", kCDXObj_Document}, - {"page", kCDXObj_Page}, - {"group", kCDXObj_Group}, - {"fragment", kCDXObj_Fragment}, - {"n", kCDXObj_Node}, - {"b", kCDXObj_Bond}, - {"t", kCDXObj_Text}, - {"graphic", kCDXObj_Graphic}, - {"bracketedgroup", kCDXObj_BracketedGroup}, - {"bracketattachment", kCDXObj_BracketAttachment}, - {"crossingbond", kCDXObj_CrossingBond}, - {"curve", kCDXObj_Curve}, - {"embeddedobject", kCDXObj_EmbeddedObject}, - {"table", kCDXObj_Table}, - {"altgroup", kCDXObj_NamedAlternativeGroup}, - {"templategrid", kCDXObj_TemplateGrid}, - {"regnum", kCDXObj_RegistryNumber}, - {"scheme", kCDXObj_ReactionScheme}, - {"step", kCDXObj_ReactionStep}, - {"spectrum", kCDXObj_Spectrum}, - {"objecttag", kCDXObj_ObjectTag}, - {"sequence", kCDXObj_Sequence}, - {"crossreference", kCDXObj_CrossReference}, - {"border", kCDXObj_Border}, - {"geometry", kCDXObj_Geometry}, - {"constraint", kCDXObj_Constraint}, - {"tlcplate", kCDXObj_TLCPlate}, - {"tlclane", kCDXObj_TLCLane}, - {"tlcspot", kCDXObj_TLCSpot}, - {"splitter", kCDXObj_Splitter}, - {"chemicalproperty", kCDXObj_ChemicalProperty}, - {"colortable", kCDXProp_ColorTable}, - {"fonttable", kCDXProp_FontTable}, - {"represent", kCDXProp_RepresentsProperty}, - {"arrow", kCDXObj_Arrow}}; - -const std::unordered_map KNodeTypeNameToInt = {{"Unspecified", kCDXNodeType_Unspecified}, - {"Element", kCDXNodeType_Element}, - {"ElementList", kCDXNodeType_ElementList}, - {"ElementListNickname", kCDXNodeType_ElementListNickname}, - {"Nickname", kCDXNodeType_Nickname}, - {"Fragment", kCDXNodeType_Fragment}, - {"Formula", kCDXNodeType_Formula}, - {"GenericNickname", kCDXNodeType_GenericNickname}, - {"AnonymousAlternativeGroup", kCDXNodeType_AnonymousAlternativeGroup}, - {"NamedAlternativeGroup", kCDXNodeType_NamedAlternativeGroup}, - {"MultiAttachment", kCDXNodeType_MultiAttachment}, - {"VariableAttachment", kCDXNodeType_VariableAttachment}, - {"ExternalConnectionPoint", kCDXNodeType_ExternalConnectionPoint}, - {"LinkNode", kCDXNodeType_LinkNode}}; - -const std::unordered_map KNodeTypeIntToName = {{kCDXNodeType_Unspecified, "Unspecified"}, - {kCDXNodeType_Element, "Element"}, - {kCDXNodeType_ElementList, "ElementList"}, - {kCDXNodeType_ElementListNickname, "ElementListNickname"}, - {kCDXNodeType_Nickname, "Nickname"}, - {kCDXNodeType_Fragment, "Fragment"}, - {kCDXNodeType_Formula, "Formula"}, - {kCDXNodeType_GenericNickname, "GenericNickname"}, - {kCDXNodeType_AnonymousAlternativeGroup, "AnonymousAlternativeGroup"}, - {kCDXNodeType_NamedAlternativeGroup, "NamedAlternativeGroup"}, - {kCDXNodeType_MultiAttachment, "MultiAttachment"}, - {kCDXNodeType_VariableAttachment, "VariableAttachment"}, - {kCDXNodeType_ExternalConnectionPoint, "ExternalConnectionPoint"}, - {kCDXNodeType_LinkNode, "LinkNode"}}; - -const std::unordered_map KGeometryTypeNameToInt = {{"Unspecified", kCDXAtomGeometry_Unknown}, - {"1", kCDXAtomGeometry_1Ligand}, - {"Linear", kCDXAtomGeometry_Linear}, - {"Bent", kCDXAtomGeometry_Bent}, - {"TrigonalPlanar", kCDXAtomGeometry_TrigonalPlanar}, - {"TrigonalPyramidal", kCDXAtomGeometry_TrigonalPyramidal}, - {"SquarePlanar", kCDXAtomGeometry_SquarePlanar}, - {"Tetrahedral", kCDXAtomGeometry_Tetrahedral}, - {"TrigonalBipyramidal", kCDXAtomGeometry_TrigonalBipyramidal}, - {"SquarePyramidal", kCDXAtomGeometry_SquarePyramidal}, - {"5", kCDXAtomGeometry_5Ligand}, - {"Octahedral", kCDXAtomGeometry_Octahedral}, - {"6", kCDXAtomGeometry_6Ligand}, - {"7", kCDXAtomGeometry_7Ligand}, - {"8", kCDXAtomGeometry_8Ligand}, - {"9", kCDXAtomGeometry_9Ligand}, - {"10", kCDXAtomGeometry_10Ligand}}; - -const std::unordered_map KGeometryTypeIntToName = {{kCDXAtomGeometry_Unknown, "Unspecified"}, - {kCDXAtomGeometry_1Ligand, "1"}, - {kCDXAtomGeometry_Linear, "Linear"}, - {kCDXAtomGeometry_Bent, "Bent"}, - {kCDXAtomGeometry_TrigonalPlanar, "TrigonalPlanar"}, - {kCDXAtomGeometry_TrigonalPyramidal, "TrigonalPyramidal"}, - {kCDXAtomGeometry_SquarePlanar, "SquarePlanar"}, - {kCDXAtomGeometry_Tetrahedral, "Tetrahedral"}, - {kCDXAtomGeometry_TrigonalBipyramidal, "TrigonalBipyramidal"}, - {kCDXAtomGeometry_SquarePyramidal, "SquarePyramidal"}, - {kCDXAtomGeometry_5Ligand, "5"}, - {kCDXAtomGeometry_Octahedral, "Octahedral"}, - {kCDXAtomGeometry_6Ligand, "6"}, - {kCDXAtomGeometry_7Ligand, "7"}, - {kCDXAtomGeometry_8Ligand, "8"}, - {kCDXAtomGeometry_9Ligand, "9"}, - {kCDXAtomGeometry_10Ligand, "10"}}; - -const std::unordered_map kBracketUsageNameToInt = {{"Unspecified", kCDXBracketUsage_Unspecified}, - {"Unused1", kCDXBracketUsage_Unused1}, - {"Unused2", kCDXBracketUsage_Unused2}, - {"SRU", kCDXBracketUsage_SRU}, - {"Monomer", kCDXBracketUsage_Monomer}, - {"Mer", kCDXBracketUsage_Mer}, - {"Copolymer", kCDXBracketUsage_Copolymer}, - {"CopolymerAlternating", kCDXBracketUsage_CopolymerAlternating}, - {"CopolymerRandom", kCDXBracketUsage_CopolymerRandom}, - {"CopolymerBlock", kCDXBracketUsage_CopolymerBlock}, - {"Crosslink", kCDXBracketUsage_Crosslink}, - {"Graft", kCDXBracketUsage_Graft}, - {"Modification", kCDXBracketUsage_Modification}, - {"Component", kCDXBracketUsage_Component}, - {"MixtureUnordered", kCDXBracketUsage_MixtureUnordered}, - {"MixtureOrdered", kCDXBracketUsage_MixtureOrdered}, - {"MultipleGroup", kCDXBracketUsage_MultipleGroup}, - {"Generic", kCDXBracketUsage_Generic}, - {"Anypolymer", kCDXBracketUsage_Anypolymer} - -}; - -const std::unordered_map kBracketUsageIntToName = {{kCDXBracketUsage_Unspecified, "Unspecified"}, - {kCDXBracketUsage_Unused1, "Unused1"}, - {kCDXBracketUsage_Unused2, "Unused2"}, - {kCDXBracketUsage_SRU, "SRU"}, - {kCDXBracketUsage_Monomer, "Monomer"}, - {kCDXBracketUsage_Mer, "Mer"}, - {kCDXBracketUsage_Copolymer, "Copolymer"}, - {kCDXBracketUsage_CopolymerAlternating, "CopolymerAlternating"}, - {kCDXBracketUsage_CopolymerRandom, "CopolymerRandom"}, - {kCDXBracketUsage_CopolymerBlock, "CopolymerBlock"}, - {kCDXBracketUsage_Crosslink, "Crosslink"}, - {kCDXBracketUsage_Graft, "Graft"}, - {kCDXBracketUsage_Modification, "Modification"}, - {kCDXBracketUsage_Component, "Component"}, - {kCDXBracketUsage_MixtureUnordered, "MixtureUnordered"}, - {kCDXBracketUsage_MixtureOrdered, "MixtureOrdered"}, - {kCDXBracketUsage_MultipleGroup, "MultipleGroup"}, - {kCDXBracketUsage_Generic, "Generic"}, - {kCDXBracketUsage_Anypolymer, "Anypolymer"}}; - -const std::vector KCIPStereochemistryIndexToChar = {'U', 'N', 'R', 'S', 'r', 's', 'u'}; -const std::unordered_map KCIPStereochemistryCharToIndex = {{'U', 0}, {'N', 1}, {'R', 2}, {'S', 3}, {'r', 4}, {'s', 5}, {'u', 6}}; -const std::vector KStyleProperties = {"font", "face", "size", "color"}; + enum class ECDXType + { + CDXString, + CDXDate, + CDXINT8, + CDXINT16, + CDXUINT8, + CDXUINT16, + CDXUINT32, + CDXRepresentsProperty, + CDXBooleanImplied, + CDXBoolean, + CDXObjectID, + CDXFontTable, + CDXPoint2D, + CDXPoint3D, + CDXINT32, + CDXRectangle, + CDXColorTable, + CDXElementList, + CDXFormula, + CDXObjectIDArray, + CDXObjectIDArrayWithCounts, + CDXGenericList, + CDXFLOAT64, + CDXINT16ListWithCounts, + CDXUnformatted, + CDXCoordinate, + CDXCurvePoints, + CDXCurvePoints3D, + CDXvaries, + CDXFontStyle + }; + + const std::unordered_map kCDXProp_Arrow_ArrowHeadStrToInt = {{"Full", 1}}; + + const std::unordered_map kLineTypeStrToInt = { + {"Solid", kCDXLineType_Solid}, {"Dashed", kCDXLineType_Dashed}, {"Bold", kCDXLineType_Bold}, {"Wavy", kCDXLineType_Wavy}}; + + const std::unordered_map kLineTypeIntToStr = { + {kCDXLineType_Solid, "Solid"}, {kCDXLineType_Dashed, "Dashed"}, {kCDXLineType_Bold, "Bold"}, {kCDXLineType_Wavy, "Wavy"}}; + + const std::unordered_map kRectangleTypeStrToInt = { + {"Plain", kCDXRectangleType_Plain}, {"RoundEdge", kCDXRectangleType_RoundEdge}, {"Shadow", kCDXRectangleType_Shadow}, + {"Shaded", kCDXRectangleType_Shaded}, {"Filled", kCDXRectangleType_Filled}, {"Dashed", kCDXRectangleType_Dashed}, + {"Bold", kCDXRectangleType_Bold}}; + + const std::unordered_map kRectangleTypeIntToStr = {{kCDXRectangleType_Plain, "Plain"}, {kCDXRectangleType_RoundEdge, "RoundEdge"}, + {kCDXRectangleType_Shadow, "Shadow"}, {kCDXRectangleType_Shaded, "Shaded"}, + {kCDXRectangleType_Filled, "Filled"}, {kCDXRectangleType_Dashed, "Dashed"}, + {kCDXRectangleType_Bold, "Bold"}}; + + const std::unordered_map kCharsetStrToInt = {{"Unknown", kCDXCharSetUnknown}, + {"EBCDICOEM", kCDXCharSetEBCDICOEM}, + {"MSDOSUS", kCDXCharSetMSDOSUS}, + {"EBCDIC500V1", kCDXCharSetEBCDIC500V1}, + {"ASMO-708", kCDXCharSetArabicASMO708}, + {"ArabicASMO449P", kCDXCharSetArabicASMO449P}, + {"ArabicTransparent", kCDXCharSetArabicTransparent}, + {"DOS-720", kCDXCharSetArabicTransparentASMO}, + {"Greek437G", kCDXCharSetGreek437G}, + {"cp775", kCDXCharSetBalticOEM}, + {"windows-850", kCDXCharSetMSDOSLatin1}, + {"ibm852", kCDXCharSetMSDOSLatin2}, + {"cp855", kCDXCharSetIBMCyrillic}, + {"cp857", kCDXCharSetIBMTurkish}, + {"cp860", kCDXCharSetMSDOSPortuguese}, + {"cp861", kCDXCharSetMSDOSIcelandic}, + {"DOS-862", kCDXCharSetHebrewOEM}, + {"cp863", kCDXCharSetMSDOSCanadianFrench}, + {"cp864", kCDXCharSetArabicOEM}, + {"cp865", kCDXCharSetMSDOSNordic}, + {"cp866", kCDXCharSetMSDOSRussian}, + {"cp869", kCDXCharSetIBMModernGreek}, + {"windows-874", kCDXCharSetThai}, + {"EBCDIC", kCDXCharSetEBCDIC}, + {"shift_jis", kCDXCharSetJapanese}, + {"gb2312", kCDXCharSetChineseSimplified}, + {"ks_c_5601-1987", kCDXCharSetKorean}, + {"big5", kCDXCharSetChineseTraditional}, + {"iso-10646", kCDXCharSetUnicodeISO10646}, + {"windows-1250", kCDXCharSetWin31EasternEuropean}, + {"windows-1251", kCDXCharSetWin31Cyrillic}, + {"iso-8859-1", kCDXCharSetWin31Latin1}, + {"iso-8859-7", kCDXCharSetWin31Greek}, + {"iso-8859-9", kCDXCharSetWin31Turkish}, + {"windows-1255", kCDXCharSetHebrew}, + {"windows-1256", kCDXCharSetArabic}, + {"windows-1257", kCDXCharSetBaltic}, + {"windows-1258", kCDXCharSetVietnamese}, + {"windows-1361", kCDXCharSetKoreanJohab}, + {"x-mac-roman", kCDXCharSetMacRoman}, + {"x-mac-japanese", kCDXCharSetMacJapanese}, + {"x-mac-tradchinese", kCDXCharSetMacTradChinese}, + {"x-mac-korean", kCDXCharSetMacKorean}, + {"x-mac-arabic", kCDXCharSetMacArabic}, + {"x-mac-hebrew", kCDXCharSetMacHebrew}, + {"x-mac-greek", kCDXCharSetMacGreek}, + {"x-mac-cyrillic", kCDXCharSetMacCyrillic}, + {"x-mac-reserved", kCDXCharSetMacReserved}, + {"x-mac-devanagari", kCDXCharSetMacDevanagari}, + {"x-mac-gurmukhi", kCDXCharSetMacGurmukhi}, + {"x-mac-gujarati", kCDXCharSetMacGujarati}, + {"x-mac-oriya", kCDXCharSetMacOriya}, + {"x-mac-bengali", kCDXCharSetMacBengali}, + {"x-mac-tamil", kCDXCharSetMacTamil}, + {"x-mac-telugu", kCDXCharSetMacTelugu}, + {"x-mac-kannada", kCDXCharSetMacKannada}, + {"x-mac-Malayalam", kCDXCharSetMacMalayalam}, + {"x-mac-sinhalese", kCDXCharSetMacSinhalese}, + {"x-mac-burmese", kCDXCharSetMacBurmese}, + {"x-mac-khmer", kCDXCharSetMacKhmer}, + {"x-mac-thai", kCDXCharSetMacThai}, + {"x-mac-lao", kCDXCharSetMacLao}, + {"x-mac-georgian", kCDXCharSetMacGeorgian}, + {"x-mac-armenian", kCDXCharSetMacArmenian}, + {"x-mac-simpChinese", kCDXCharSetMacSimpChinese}, + {"x-mac-tibetan", kCDXCharSetMacTibetan}, + {"x-mac-mongolian", kCDXCharSetMacMongolian}, + {"x-mac-ethiopic", kCDXCharSetMacEthiopic}, + {"x-mac-ce", kCDXCharSetMacCentralEuroRoman}, + {"x-mac-vietnamese", kCDXCharSetMacVietnamese}, + {"x-mac-extArabic", kCDXCharSetMacExtArabic}, + {"x-mac-uninterpreted", kCDXCharSetMacUninterpreted}, + {"x-mac-symbol", kCDXCharSetMacSymbol}, + {"x-mac-dingbats", kCDXCharSetMacDingbats}, + {"x-mac-croatian", kCDXCharSetMacCroatian}, + {"x-mac-romanian", kCDXCharSetMacRomanian}, + {"x-mac-celtic", kCDXCharSetMacCeltic}, + {"x-mac-gaelic", kCDXCharSetMacGaelic}, + {"x-mac-keyboardGlyphs", kCDXCharSetMacKeyboardGlyphs}, + {"x-mac-icelandic", kCDXCharSetMacIcelandic}, + {"x-mac-turkish", kCDXCharSetMacTurkish}, + {"utf-8", kCDXCharSetUTF8}}; + const std::unordered_map kRadicalStrToId = { + {"None", kCDXRadical_None}, {"Singlet", kCDXRadical_Singlet}, {"Doublet", kCDXRadical_Doublet}, {"Triplet", kCDXRadical_Triplet}}; + + const std::vector kRadicalIdToStr = {"None", "Singlet", "Doublet", "Triplet"}; + + const std::unordered_map kCharsetIntToStr = {{kCDXCharSetUnknown, "Unknown"}, + {kCDXCharSetEBCDICOEM, "EBCDICOEM"}, + {kCDXCharSetMSDOSUS, "MSDOSUS"}, + {kCDXCharSetEBCDIC500V1, "EBCDIC500V1"}, + {kCDXCharSetArabicASMO708, "ASMO-708"}, + {kCDXCharSetArabicASMO449P, "ArabicASMO449P"}, + {kCDXCharSetArabicTransparent, "ArabicTransparent"}, + {kCDXCharSetArabicTransparentASMO, "DOS-720"}, + {kCDXCharSetGreek437G, "Greek437G"}, + {kCDXCharSetBalticOEM, "cp775"}, + {kCDXCharSetMSDOSLatin1, "windows-850"}, + {kCDXCharSetMSDOSLatin2, "ibm852"}, + {kCDXCharSetIBMCyrillic, "cp855"}, + {kCDXCharSetIBMTurkish, "cp857"}, + {kCDXCharSetMSDOSPortuguese, "cp860"}, + {kCDXCharSetMSDOSIcelandic, "cp861"}, + {kCDXCharSetHebrewOEM, "DOS-862"}, + {kCDXCharSetMSDOSCanadianFrench, "cp863"}, + {kCDXCharSetArabicOEM, "cp864"}, + {kCDXCharSetMSDOSNordic, "cp865"}, + {kCDXCharSetMSDOSRussian, "cp866"}, + {kCDXCharSetIBMModernGreek, "cp869"}, + {kCDXCharSetThai, "windows-874"}, + {kCDXCharSetEBCDIC, "EBCDIC"}, + {kCDXCharSetJapanese, "shift_jis"}, + {kCDXCharSetChineseSimplified, "gb2312"}, + {kCDXCharSetKorean, "ks_c_5601-1987"}, + {kCDXCharSetChineseTraditional, "big5"}, + {kCDXCharSetUnicodeISO10646, "iso-10646"}, + {kCDXCharSetWin31EasternEuropean, "windows-1250"}, + {kCDXCharSetWin31Cyrillic, "windows-1251"}, + {kCDXCharSetWin31Latin1, "iso-8859-1"}, + {kCDXCharSetWin31Greek, "iso-8859-7"}, + {kCDXCharSetWin31Turkish, "iso-8859-9"}, + {kCDXCharSetHebrew, "windows-1255"}, + {kCDXCharSetArabic, "windows-1256"}, + {kCDXCharSetBaltic, "windows-1257"}, + {kCDXCharSetVietnamese, "windows-1258"}, + {kCDXCharSetKoreanJohab, "windows-1361"}, + {kCDXCharSetMacRoman, "x-mac-roman"}, + {kCDXCharSetMacJapanese, "x-mac-japanese"}, + {kCDXCharSetMacTradChinese, "x-mac-tradchinese"}, + {kCDXCharSetMacKorean, " x-mac-korean"}, + {kCDXCharSetMacArabic, "x-mac-arabic"}, + {kCDXCharSetMacHebrew, "x-mac-hebrew"}, + {kCDXCharSetMacGreek, "x-mac-greek"}, + {kCDXCharSetMacCyrillic, "x-mac-cyrillic"}, + {kCDXCharSetMacReserved, "x-mac-reserved"}, + {kCDXCharSetMacDevanagari, "x-mac-devanagari"}, + {kCDXCharSetMacGurmukhi, "x-mac-gurmukhi"}, + {kCDXCharSetMacGujarati, "x-mac-gujarati"}, + {kCDXCharSetMacOriya, "x-mac-oriya"}, + {kCDXCharSetMacBengali, "x-mac-bengali"}, + {kCDXCharSetMacTamil, "x-mac-tamil"}, + {kCDXCharSetMacTelugu, "x-mac-telugu"}, + {kCDXCharSetMacKannada, "x-mac-kannada"}, + {kCDXCharSetMacMalayalam, "x-mac-Malayalam"}, + {kCDXCharSetMacSinhalese, "x-mac-sinhalese"}, + {kCDXCharSetMacBurmese, "x-mac-burmese"}, + {kCDXCharSetMacKhmer, "x-mac-khmer"}, + {kCDXCharSetMacThai, "x-mac-thai"}, + {kCDXCharSetMacLao, "x-mac-lao"}, + {kCDXCharSetMacGeorgian, "x-mac-georgian"}, + {kCDXCharSetMacArmenian, "x-mac-armenian"}, + {kCDXCharSetMacSimpChinese, "x-mac-simpChinese"}, + {kCDXCharSetMacTibetan, "x-mac-tibetan"}, + {kCDXCharSetMacMongolian, "x-mac-mongolian"}, + {kCDXCharSetMacEthiopic, "x-mac-ethiopic"}, + {kCDXCharSetMacCentralEuroRoman, "x-mac-ce"}, + {kCDXCharSetMacVietnamese, "x-mac-vietnamese"}, + {kCDXCharSetMacExtArabic, "x-mac-extArabic"}, + {kCDXCharSetMacUninterpreted, "x-mac-uninterpreted"}, + {kCDXCharSetMacSymbol, "x-mac-symbol"}, + {kCDXCharSetMacDingbats, "x-mac-dingbats"}, + {kCDXCharSetMacCroatian, "x-mac-croatian"}, + {kCDXCharSetMacRomanian, "x-mac-"}, + {kCDXCharSetMacCeltic, "x-mac-celtic"}, + {kCDXCharSetMacGaelic, "x-mac-gaelic"}, + {kCDXCharSetMacKeyboardGlyphs, "x-mac-keyboardGlyphs"}, + {kCDXCharSetMacIcelandic, "x-mac-icelandic"}, + {kCDXCharSetMacTurkish, "x-mac-turkish"}, + {kCDXCharSetUTF8, "utf-8"}}; + + const std::unordered_map kTextJustificationIntToStr = { + {kCDXTextJustification_Right, "Right"}, {kCDXTextJustification_Left, "Left"}, {kCDXTextJustification_Center, "Center"}, + {kCDXTextJustification_Full, "Full"}, {kCDXTextJustification_Above, "Above"}, {kCDXTextJustification_Below, "Below"}, + {kCDXTextJustification_Auto, "Auto"}, {kCDXTextJustification_BestInitial, "Best"}}; + + const std::unordered_map kTextJustificationStrToInt = { + {"Right", kCDXTextJustification_Right}, {"Left", kCDXTextJustification_Left}, {"Center", kCDXTextJustification_Center}, + {"Full", kCDXTextJustification_Full}, {"Above", kCDXTextJustification_Above}, {"Below", kCDXTextJustification_Below}, + {"Auto", kCDXTextJustification_Auto}, {"Best", kCDXTextJustification_BestInitial}}; + + const std::unordered_map kLabelAlignmentIntTostr = { + {kCDXLabelDisplay_Auto, "Auto"}, {kCDXLabelDisplay_Left, "Left"}, {kCDXLabelDisplay_Center, "Center"}, {kCDXLabelDisplay_Right, "Right"}, + {kCDXLabelDisplay_Above, "Above"}, {kCDXLabelDisplay_Below, "Below"}, {kCDXLabelDisplay_BestInitial, "Best"}}; + + const std::unordered_map kLabelAlignmentStrToInt = { + {"Auto", kCDXLabelDisplay_Auto}, {"Left", kCDXLabelDisplay_Left}, {"Center", kCDXLabelDisplay_Center}, {"Right", kCDXLabelDisplay_Right}, + {"Above", kCDXLabelDisplay_Above}, {"Below", kCDXLabelDisplay_Below}, {"Best", kCDXLabelDisplay_BestInitial}}; + + const std::unordered_map kBondOrderIntToStr = {{kCDXBondOrder_Single, "1"}, + {kCDXBondOrder_Double, "2"}, + {kCDXBondOrder_Triple, "3"}, + {kCDXBondOrder_Quadruple, "4"}, + {kCDXBondOrder_Quintuple, "5"}, + {kCDXBondOrder_Sextuple, "6"}, + {kCDXBondOrder_Half, "0.5"}, + {kCDXBondOrder_OneHalf, "1.5"}, + {kCDXBondOrder_TwoHalf, "2.5"}, + {kCDXBondOrder_ThreeHalf, "3.5"}, + {kCDXBondOrder_FourHalf, "4.5"}, + {kCDXBondOrder_FiveHalf, "5.5"}, + {kCDXBondOrder_Dative, "dative"}, + {kCDXBondOrder_Ionic, "ionic"}, + {kCDXBondOrder_Hydrogen, "hydrogen"}, + {kCDXBondOrder_ThreeCenter, "threecenter"}, + {kCDXBondOrder_SingleOrDouble, "singleordouble"}, + {kCDXBondOrder_SingleOrAromatic, "singleoraromatic"}, + {kCDXBondOrder_DoubleOrAromatic, "doubleoraromatic"}}; + + const std::unordered_map kBondOrderStrToId = {{"1", kCDXBondOrder_Single}, + {"2", kCDXBondOrder_Double}, + {"3", kCDXBondOrder_Triple}, + {"4", kCDXBondOrder_Quadruple}, + {"5", kCDXBondOrder_Quintuple}, + {"6", kCDXBondOrder_Sextuple}, + {"0.5", kCDXBondOrder_Half}, + {"1.5", kCDXBondOrder_OneHalf}, + {"2.5", kCDXBondOrder_TwoHalf}, + {"3.5", kCDXBondOrder_ThreeHalf}, + {"4.5", kCDXBondOrder_FourHalf}, + {"5.5", kCDXBondOrder_FiveHalf}, + {"dative", kCDXBondOrder_Dative}, + {"ionic", kCDXBondOrder_Ionic}, + {"hydrogen", kCDXBondOrder_Hydrogen}, + {"threecenter", kCDXBondOrder_ThreeCenter}, + {"singleordouble", kCDXBondOrder_SingleOrDouble}, + {"singleoraromatic", kCDXBondOrder_SingleOrAromatic}, + {"doubleoraromatic", kCDXBondOrder_DoubleOrAromatic}}; + + const std::unordered_map kCDXProp_Arrow_TypeStrToID = {{"NoHead", kCDXArrowType_NoHead}, + {"HalfHead", kCDXArrowType_HalfHead}, + {"FullHead", kCDXArrowType_FullHead}, + {"Resonance", kCDXArrowType_Resonance}, + {"Equilibrium", kCDXArrowType_Equilibrium}, + {"Hollow", kCDXArrowType_Hollow}, + {"RetroSynthetic", kCDXArrowType_RetroSynthetic}}; + + const std::unordered_map kCDXProp_Arrow_TypeIDToStr = {{kCDXArrowType_NoHead, "NoHead"}, + {kCDXArrowType_HalfHead, "HalfHead"}, + {kCDXArrowType_FullHead, "FullHead"}, + {kCDXArrowType_Resonance, "Resonance"}, + {kCDXArrowType_Equilibrium, "Equilibrium"}, + {kCDXArrowType_Hollow, "Hollow"}, + {kCDXArrowType_RetroSynthetic, "RetroSynthetic"}}; + + const std::unordered_map kCDXPropSymbolTypeStrToID = { + {"LonePair", kCDXSymbolType_LonePair}, + {"Electron", kCDXSymbolType_Electron}, + {"RadicalCation", kCDXSymbolType_RadicalCation}, + {"RadicalAnion", kCDXSymbolType_RadicalAnion}, + {"CirclePlus", kCDXSymbolType_CirclePlus}, + {"CircleMinus", kCDXSymbolType_CircleMinus}, + {"Dagger", kCDXSymbolType_Dagger}, + {"DoubleDagger", kCDXSymbolType_DoubleDagger}, + {"Plus", kCDXSymbolType_Plus}, + {"Minus", kCDXSymbolType_Minus}, + {"Racemic", kCDXSymbolType_Racemic}, + {"Absolute", kCDXSymbolType_Absolute}, + {"Relative", kCDXSymbolType_Relative}, + }; + + const std::unordered_map kCDXPropSymbolTypeIDToStr = { + {kCDXSymbolType_LonePair, "LonePair"}, + {kCDXSymbolType_Electron, "Electron"}, + {kCDXSymbolType_RadicalCation, "RadicalCation"}, + {kCDXSymbolType_RadicalAnion, "RadicalAnion"}, + {kCDXSymbolType_CirclePlus, "CirclePlus"}, + {kCDXSymbolType_CircleMinus, "CircleMinus"}, + {kCDXSymbolType_Dagger, "Dagger"}, + {kCDXSymbolType_DoubleDagger, "DoubleDagger"}, + {kCDXSymbolType_Plus, "Plus"}, + {kCDXSymbolType_Minus, "Minus"}, + {kCDXSymbolType_Racemic, "Racemic"}, + {kCDXSymbolType_Absolute, "Absolute"}, + {kCDXSymbolType_Relative, "Relative"}, + }; + + const std::unordered_map kCDXPropGraphicTypeStrToID = { + {"Undefined", kCDXGraphicType_Undefined}, {"Line", kCDXGraphicType_Line}, + {"Rectangle", kCDXGraphicType_Rectangle}, {"Arc", kCDXGraphicType_Arc}, + {"Oval", kCDXGraphicType_Oval}, {"Orbital", kCDXGraphicType_Orbital}, + {"Bracket", kCDXGraphicType_Bracket}, {"Symbol", kCDXGraphicType_Symbol}}; + + const std::unordered_map kCDXPropGraphicTypeIDToStr = {{kCDXGraphicType_Undefined, "Undefined"}, {kCDXGraphicType_Line, "Line"}, + {kCDXGraphicType_Rectangle, "Rectangle"}, {kCDXGraphicType_Arc, "Arc"}, + {kCDXGraphicType_Oval, "Oval"}, {kCDXGraphicType_Orbital, "Orbital"}, + {kCDXGraphicType_Bracket, "Bracket"}, {kCDXGraphicType_Symbol, "Symbol"}}; + + const std::unordered_map kCDXProp_Bond_DisplayStrToID = {{"Solid", kCDXBondDisplay_Solid}, + {"Dash", kCDXBondDisplay_Dash}, + {"Hash", kCDXBondDisplay_Hash}, + {"WedgedHashBegin", kCDXBondDisplay_WedgedHashBegin}, + {"WedgedHashEnd", kCDXBondDisplay_WedgedHashEnd}, + {"Bold", kCDXBondDisplay_Bold}, + {"WedgeBegin", kCDXBondDisplay_WedgeBegin}, + {"WedgeEnd", kCDXBondDisplay_WedgeEnd}, + {"Wavy", kCDXBondDisplay_Wavy}, + {"HollowWedgeBegin", kCDXBondDisplay_HollowWedgeBegin}, + {"HollowWedgeEnd", kCDXBondDisplay_HollowWedgeEnd}, + {"WavyWedgeBegin", kCDXBondDisplay_WavyWedgeBegin}, + {"WavyWedgeEnd", kCDXBondDisplay_WavyWedgeEnd}, + {"Dot", kCDXBondDisplay_Dot}, + {"DashDot", kCDXBondDisplay_DashDot}}; + + const std::unordered_map kCDXProp_Bond_DisplayIdToStr = {{kCDXBondDisplay_Solid, "Solid"}, + {kCDXBondDisplay_Dash, "Dash"}, + {kCDXBondDisplay_Hash, "Hash"}, + {kCDXBondDisplay_WedgedHashBegin, "WedgedHashBegin"}, + {kCDXBondDisplay_WedgedHashEnd, "WedgedHashEnd"}, + {kCDXBondDisplay_Bold, "Bold"}, + {kCDXBondDisplay_WedgeBegin, "WedgeBegin"}, + {kCDXBondDisplay_WedgeEnd, "WedgeEnd"}, + {kCDXBondDisplay_Wavy, "Wavy"}, + {kCDXBondDisplay_HollowWedgeBegin, "HollowWedgeBegin"}, + {kCDXBondDisplay_HollowWedgeEnd, "HollowWedgeEnd"}, + {kCDXBondDisplay_WavyWedgeBegin, "WavyWedgeBegin"}, + {kCDXBondDisplay_WavyWedgeEnd, "WavyWedgeEnd"}, + {kCDXBondDisplay_Dot, "Dot"}, + {kCDXBondDisplay_DashDot, "DashDot"}}; + + const std::unordered_map kCDXEnhancedStereoStrToID = {{"Unspecified", EnhancedStereoType::UNSPECIFIED}, + {"None", EnhancedStereoType::NONE}, + {"Absolute", EnhancedStereoType::ABSOLUTE}, + {"Or", EnhancedStereoType::OR}, + {"And", EnhancedStereoType::AND}}; + + const std::unordered_map kCDXEnhancedStereoIDToStr = {{(int)EnhancedStereoType::UNSPECIFIED, "Unspecified"}, + {(int)EnhancedStereoType::NONE, "None"}, + {(int)EnhancedStereoType::ABSOLUTE, "Absolute"}, + {(int)EnhancedStereoType::OR, "Or"}, + {(int)EnhancedStereoType::AND, "And"}}; + + const std::unordered_map> KCDXPropToName = { + {kCDXProp_CreationUserName, {"CreationUserName", ECDXType::CDXString}}, + {kCDXProp_CreationDate, {"CreationDate", ECDXType::CDXDate}}, + {kCDXProp_CreationProgram, {"CreationProgram", ECDXType::CDXString}}, + {kCDXProp_ModificationUserName, {"ModificationUserName", ECDXType::CDXString}}, + {kCDXProp_ModificationDate, {"ModificationDate", ECDXType::CDXDate}}, + {kCDXProp_ModificationProgram, {"ModificationProgram", ECDXType::CDXString}}, + {kCDXProp_Name, {"Name", ECDXType::CDXString}}, + {kCDXProp_Comment, {"Comment", ECDXType::CDXString}}, + {kCDXProp_ZOrder, {"Z", ECDXType::CDXINT16}}, + {kCDXProp_RegistryNumber, {"RegistryNumber", ECDXType::CDXString}}, + {kCDXProp_RegistryAuthority, {"RegistryAuthority", ECDXType::CDXString}}, + {kCDXProp_RepresentsProperty, {"RepresentsProperty", ECDXType::CDXRepresentsProperty}}, + {kCDXProp_IgnoreWarnings, {"IgnoreWarnings", ECDXType::CDXBooleanImplied}}, + {kCDXProp_ChemicalWarning, {"Warning", ECDXType::CDXString}}, + {kCDXProp_Visible, {"Visible", ECDXType::CDXBoolean}}, + {kCDXProp_SupersededBy, {"SupersededBy", ECDXType::CDXObjectID}}, + {kCDXProp_FontTable, {"fonttable", ECDXType::CDXFontTable}}, + {kCDXProp_2DPosition, {"p", ECDXType::CDXPoint2D}}, + {kCDXProp_3DPosition, {"xyz", ECDXType::CDXPoint3D}}, + {kCDXProp_2DExtent, {"extent", ECDXType::CDXPoint2D}}, + {kCDXProp_3DExtent, {"extent3D", ECDXType::CDXPoint3D}}, + {kCDXProp_BoundingBox, {"BoundingBox", ECDXType::CDXRectangle}}, + {kCDXProp_RotationAngle, {"RotationAngle", ECDXType::CDXINT32}}, + {kCDXProp_3DHead, {"Head3D", ECDXType::CDXPoint3D}}, + {kCDXProp_3DTail, {"Tail3D", ECDXType::CDXPoint3D}}, + {kCDXProp_TopLeft, {"TopLeft", ECDXType::CDXPoint2D}}, + {kCDXProp_TopRight, {"TopRight", ECDXType::CDXPoint2D}}, + {kCDXProp_BottomRight, {"BottomRight", ECDXType::CDXPoint2D}}, + {kCDXProp_BottomLeft, {"BottomLeft", ECDXType::CDXPoint2D}}, + {kCDXProp_3DCenter, {"Center3D", ECDXType::CDXPoint3D}}, + {kCDXProp_3DMajorAxisEnd, {"MajorAxisEnd3D", ECDXType::CDXPoint3D}}, + {kCDXProp_3DMinorAxisEnd, {"MinorAxisEnd3D", ECDXType::CDXPoint3D}}, + {kCDXProp_ColorTable, {"colortable", ECDXType::CDXColorTable}}, + {kCDXProp_ForegroundColor, {"color", ECDXType::CDXUINT16}}, + {kCDXProp_BackgroundColor, {"bgcolor", ECDXType::CDXUINT16}}, + {kCDXProp_Node_Type, {"NodeType", ECDXType::CDXINT16}}, + {kCDXProp_Node_LabelDisplay, {"LabelDisplay", ECDXType::CDXINT8}}, + {kCDXProp_Node_Element, {"Element", ECDXType::CDXINT16}}, + {kCDXProp_Atom_ElementList, {"ElementList", ECDXType::CDXElementList}}, + {kCDXProp_Atom_Formula, {"Formula", ECDXType::CDXFormula}}, + {kCDXProp_Atom_Isotope, {"Isotope", ECDXType::CDXINT16}}, + {kCDXProp_Atom_Charge, {"Charge", ECDXType::CDXINT8}}, + {kCDXProp_Atom_Radical, {"Radical", ECDXType::CDXUINT8}}, + {kCDXProp_Atom_RestrictFreeSites, {"FreeSites", ECDXType::CDXUINT8}}, + {kCDXProp_Atom_RestrictImplicitHydrogens, {"ImplicitHydrogens", ECDXType::CDXBooleanImplied}}, + {kCDXProp_Atom_RestrictRingBondCount, {"RingBondCount", ECDXType::CDXINT8}}, + {kCDXProp_Atom_RestrictUnsaturatedBonds, {"UnsaturatedBonds", ECDXType::CDXINT8}}, + {kCDXProp_Atom_RestrictRxnChange, {"RxnChange", ECDXType::CDXBooleanImplied}}, + {kCDXProp_Atom_RestrictRxnStereo, {"RxnStereo", ECDXType::CDXINT8}}, + {kCDXProp_Atom_AbnormalValence, {"AbnormalValence", ECDXType::CDXBooleanImplied}}, + {kCDXProp_Atom_NumHydrogens, {"NumHydrogens", ECDXType::CDXUINT16}}, + {kCDXProp_Atom_HDot, {"HDot", ECDXType::CDXBooleanImplied}}, + {kCDXProp_Atom_HDash, {"HDash", ECDXType::CDXBooleanImplied}}, + {kCDXProp_Atom_Geometry, {"Geometry", ECDXType::CDXINT8}}, + {kCDXProp_Atom_BondOrdering, {"BondOrdering", ECDXType::CDXObjectIDArray}}, + {kCDXProp_Node_Attachments, {"Attachments", ECDXType::CDXObjectIDArrayWithCounts}}, + {kCDXProp_Atom_GenericNickname, {"GenericNickname", ECDXType::CDXString}}, + {kCDXProp_Atom_AltGroupID, {"AltGroupID", ECDXType::CDXObjectID}}, + {kCDXProp_Atom_RestrictSubstituentsUpTo, {"SubstituentsUpTo", ECDXType::CDXUINT8}}, + {kCDXProp_Atom_RestrictSubstituentsExactly, {"SubstituentsExactly", ECDXType::CDXUINT8}}, + {kCDXProp_Atom_CIPStereochemistry, {"AS", ECDXType::CDXINT8}}, + {kCDXProp_Atom_Translation, {"Translation", ECDXType::CDXINT8}}, + {kCDXProp_Atom_AtomNumber, {"AtomNumber", ECDXType::CDXString}}, + {kCDXProp_Atom_ShowQuery, {"ShowAtomQuery", ECDXType::CDXBoolean}}, + {kCDXProp_Atom_ShowStereo, {"ShowAtomStereo", ECDXType::CDXBoolean}}, + {kCDXProp_Atom_ShowAtomNumber, {"ShowAtomNumber", ECDXType::CDXBoolean}}, + {kCDXProp_Atom_LinkCountLow, {"LinkCountLow", ECDXType::CDXINT16}}, + {kCDXProp_Atom_LinkCountHigh, {"LinkCountHigh", ECDXType::CDXINT16}}, + {kCDXProp_Atom_IsotopicAbundance, {"IsotopicAbundance", ECDXType::CDXINT8}}, + {kCDXProp_Atom_ExternalConnectionType, {"ExternalConnectionType", ECDXType::CDXINT8}}, + {kCDXProp_Atom_GenericList, {"GenericList", ECDXType::CDXGenericList}}, + {kCDXProp_Atom_ShowTerminalCarbonLabels, {"ShowTerminalCarbonLabels", ECDXType::CDXBooleanImplied}}, + {kCDXProp_Atom_ShowNonTerminalCarbonLabels, {"ShowNonTerminalCarbonLabels", ECDXType::CDXBooleanImplied}}, + {kCDXProp_Atom_HideImplicitHydrogens, {"HideImplicitHydrogens", ECDXType::CDXBooleanImplied}}, + {kCDXProp_Atom_ShowEnhancedStereo, {"ShowAtomEnhancedStereo", ECDXType::CDXBoolean}}, + {kCDXProp_Atom_EnhancedStereoType, {"EnhancedStereoType", ECDXType::CDXUINT8}}, + {kCDXProp_Atom_EnhancedStereoGroupNum, {"EnhancedStereoGroupNum", ECDXType::CDXUINT16}}, + {kCDXProp_ShowResidueID, {"ShowResidueID", ECDXType::CDXBoolean}}, + {kCDXProp_Mole_Racemic, {"Racemic", ECDXType::CDXBoolean}}, + {kCDXProp_Mole_Absolute, {"Absolute", ECDXType::CDXBoolean}}, + {kCDXProp_Mole_Relative, {"Relative", ECDXType::CDXBoolean}}, + {kCDXProp_Mole_Formula, {"Formula", ECDXType::CDXFormula}}, + {kCDXProp_Mole_Weight, {"Weight", ECDXType::CDXFLOAT64}}, + {kCDXProp_Frag_ConnectionOrder, {"ConnectionOrder", ECDXType::CDXObjectIDArray}}, + {kCDXProp_Bond_Order, {"Order", ECDXType::CDXINT16}}, + {kCDXProp_Bond_Display, {"Display", ECDXType::CDXINT16}}, + {kCDXProp_Bond_Display2, {"Display2", ECDXType::CDXINT16}}, + {kCDXProp_Bond_DoublePosition, {"DoublePosition", ECDXType::CDXINT16}}, + {kCDXProp_Bond_Begin, {"B", ECDXType::CDXObjectID}}, + {kCDXProp_Bond_End, {"E", ECDXType::CDXObjectID}}, + {kCDXProp_Bond_RestrictTopology, {"Topology", ECDXType::CDXINT8}}, + {kCDXProp_Bond_RestrictRxnParticipation, {"RxnParticipation", ECDXType::CDXINT8}}, + {kCDXProp_Bond_BeginAttach, {"BeginAttach", ECDXType::CDXUINT8}}, + {kCDXProp_Bond_EndAttach, {"EndAttach", ECDXType::CDXUINT8}}, + {kCDXProp_Bond_CIPStereochemistry, {"BS", ECDXType::CDXINT8}}, + {kCDXProp_Bond_BondOrdering, {"BondCircularOrdering", ECDXType::CDXObjectIDArray}}, + {kCDXProp_Bond_ShowQuery, {"ShowBondQuery", ECDXType::CDXBoolean}}, + {kCDXProp_Bond_ShowStereo, {"ShowBondStereo", ECDXType::CDXBoolean}}, + {kCDXProp_Bond_CrossingBonds, {"CrossingBonds", ECDXType::CDXObjectIDArray}}, + {kCDXProp_Bond_ShowRxn, {"ShowBondRxn", ECDXType::CDXBoolean}}, + {kCDXProp_Text, {"t", ECDXType::CDXString}}, + {kCDXProp_Justification, {"Justification", ECDXType::CDXINT8}}, + {kCDXProp_LineHeight, {"LineHeight", ECDXType::CDXUINT16}}, + {kCDXProp_WordWrapWidth, {"WordWrapWidth", ECDXType::CDXINT16}}, + {kCDXProp_LineStarts, {"LineStarts", ECDXType::CDXINT16ListWithCounts}}, + {kCDXProp_LabelAlignment, {"LabelAlignment", ECDXType::CDXINT8}}, + {kCDXProp_LabelLineHeight, {"LabelLineHeight", ECDXType::CDXINT16}}, + {kCDXProp_CaptionLineHeight, {"CaptionLineHeight", ECDXType::CDXINT16}}, + {kCDXProp_InterpretChemically, {"InterpretChemically", ECDXType::CDXBooleanImplied}}, + {kCDXProp_MacPrintInfo, {"MacPrintInfo", ECDXType::CDXUnformatted}}, + {kCDXProp_WinPrintInfo, {"WinPrintInfo", ECDXType::CDXUnformatted}}, + {kCDXProp_PrintMargins, {"PrintMargins", ECDXType::CDXRectangle}}, + {kCDXProp_ChainAngle, {"ChainAngle", ECDXType::CDXINT32}}, + {kCDXProp_BondSpacing, {"BondSpacing", ECDXType::CDXINT16}}, + {kCDXProp_BondLength, {"BondLength", ECDXType::CDXCoordinate}}, + {kCDXProp_BoldWidth, {"BoldWidth", ECDXType::CDXCoordinate}}, + {kCDXProp_LineWidth, {"LineWidth", ECDXType::CDXCoordinate}}, + {kCDXProp_MarginWidth, {"MarginWidth", ECDXType::CDXCoordinate}}, + {kCDXProp_HashSpacing, {"HashSpacing", ECDXType::CDXCoordinate}}, + {kCDXProp_LabelStyle, {"LabelStyle", ECDXType::CDXFontStyle}}, + {kCDXProp_CaptionStyle, {"CaptionStyle", ECDXType::CDXFontStyle}}, + {kCDXProp_CaptionJustification, {"CaptionJustification", ECDXType::CDXINT8}}, + {kCDXProp_FractionalWidths, {"FractionalWidths", ECDXType::CDXBooleanImplied}}, + {kCDXProp_Magnification, {"Magnification", ECDXType::CDXINT16}}, + {kCDXProp_WidthPages, {"WidthPages", ECDXType::CDXINT16}}, + {kCDXProp_HeightPages, {"HeightPages", ECDXType::CDXINT16}}, + {kCDXProp_DrawingSpaceType, {"DrawingSpace", ECDXType::CDXINT8}}, + {kCDXProp_Width, {"Width", ECDXType::CDXCoordinate}}, + {kCDXProp_Height, {"Height", ECDXType::CDXCoordinate}}, + {kCDXProp_PageOverlap, {"PageOverlap", ECDXType::CDXCoordinate}}, + {kCDXProp_Header, {"Header", ECDXType::CDXString}}, + {kCDXProp_HeaderPosition, {"HeaderPosition", ECDXType::CDXCoordinate}}, + {kCDXProp_Footer, {"Footer", ECDXType::CDXString}}, + {kCDXProp_FooterPosition, {"FooterPosition", ECDXType::CDXCoordinate}}, + {kCDXProp_PrintTrimMarks, {"PrintTrimMarks", ECDXType::CDXBooleanImplied}}, + {kCDXProp_LabelStyleFont, {"LabelFont", ECDXType::CDXINT16}}, + {kCDXProp_CaptionStyleFont, {"CaptionFont", ECDXType::CDXINT16}}, + {kCDXProp_LabelStyleSize, {"LabelSize", ECDXType::CDXINT16}}, + {kCDXProp_CaptionStyleSize, {"CaptionSize", ECDXType::CDXINT16}}, + {kCDXProp_LabelStyleFace, {"LabelFace", ECDXType::CDXINT16}}, + {kCDXProp_CaptionStyleFace, {"CaptionFace", ECDXType::CDXINT16}}, + {kCDXProp_LabelStyleColor, {"LabelColor", ECDXType::CDXINT16}}, + {kCDXProp_CaptionStyleColor, {"CaptionColor", ECDXType::CDXINT16}}, + {kCDXProp_BondSpacingAbs, {"BondSpacingAbs", ECDXType::CDXCoordinate}}, + {kCDXProp_LabelJustification, {"LabelJustification", ECDXType::CDXINT8}}, + {kCDXProp_FixInplaceExtent, {"FixInPlaceExtent", ECDXType::CDXPoint2D}}, + {kCDXProp_Side, {"Side", ECDXType::CDXUINT16}}, + {kCDXProp_FixInplaceGap, {"FixInPlaceGap", ECDXType::CDXPoint2D}}, + {kCDXProp_CartridgeData, {"CartridgeData", ECDXType::CDXUnformatted}}, + {kCDXProp_AminoAcidTermini, {"AminoAcidTermini", ECDXType::CDXINT8}}, // values are undocumented + {kCDXProp_ShowSequenceTermini, {"ShowSequenceTermini", ECDXType::CDXBooleanImplied}}, + {kCDXProp_ShowSequenceBonds, {"ShowSequenceBonds", ECDXType::CDXBooleanImplied}}, + {kCDXProp_ResidueWrapCount, {"ResidueWrapCount", ECDXType::CDXINT8}}, + {kCDXProp_ResidueBlockCount, {"ResidueBlockCount", ECDXType::CDXINT8}}, + {kCDXProp_ResidueZigZag, {"ResidueZigZag", ECDXType::CDXBooleanImplied}}, + {kCDXProp_NumberResidueBlocks, {"NumberResidueBlocks", ECDXType::CDXBooleanImplied}}, + {kCDXProp_BondSpacingType, {"BondSpacingType", ECDXType::CDXINT8}}, + {kCDXProp_LabelStyleFontName, {"LabelStyleFontName", ECDXType::CDXString}}, + {kCDXProp_CaptionStyleFontName, {"CaptionStyleFontName", ECDXType::CDXString}}, + {kCDXProp_ShowSequenceUnlinkedBranches, {"ShowSequenceUnlinkedBranches", ECDXType::CDXBooleanImplied}}, + {kCDXProp_Window_IsZoomed, {"WindowIsZoomed", ECDXType::CDXBooleanImplied}}, + {kCDXProp_Window_Position, {"WindowPosition", ECDXType::CDXPoint2D}}, + {kCDXProp_Window_Size, {"WindowSize", ECDXType::CDXPoint2D}}, + {kCDXProp_Graphic_Type, {"GraphicType", ECDXType::CDXINT16}}, + {kCDXProp_Line_Type, {"LineType", ECDXType::CDXINT16}}, + {kCDXProp_Arrow_Type, {"ArrowType", ECDXType::CDXINT16}}, + {kCDXProp_Rectangle_Type, {"RectangleType", ECDXType::CDXINT16}}, + {kCDXProp_Oval_Type, {"OvalType", ECDXType::CDXINT16}}, + {kCDXProp_Orbital_Type, {"OrbitalType", ECDXType::CDXINT16}}, + {kCDXProp_Bracket_Type, {"BracketType", ECDXType::CDXINT16}}, + {kCDXProp_Symbol_Type, {"SymbolType", ECDXType::CDXINT16}}, + {kCDXProp_Curve_Type, {"CurveType", ECDXType::CDXINT16}}, + {kCDXProp_Arrow_HeadSize, {"HeadSize", ECDXType::CDXINT16}}, + {kCDXProp_Arc_AngularSize, {"AngularSize", ECDXType::CDXINT16}}, + {kCDXProp_Bracket_LipSize, {"LipSize", ECDXType::CDXINT16}}, + {kCDXProp_Curve_Points, {"CurvePoints", ECDXType::CDXCurvePoints}}, + {kCDXProp_Bracket_Usage, {"BracketUsage", ECDXType::CDXINT8}}, + {kCDXProp_Polymer_RepeatPattern, {"PolymerRepeatPattern", ECDXType::CDXINT8}}, + {kCDXProp_Polymer_FlipType, {"PolymerFlipType", ECDXType::CDXINT8}}, + {kCDXProp_BracketedObjects, {"BracketedObjectIDs", ECDXType::CDXObjectIDArray}}, + {kCDXProp_Bracket_RepeatCount, {"RepeatCount", ECDXType::CDXFLOAT64}}, + {kCDXProp_Bracket_ComponentOrder, {"ComponentOrder", ECDXType::CDXINT16}}, + {kCDXProp_Bracket_SRULabel, {"SRULabel", ECDXType::CDXString}}, + {kCDXProp_Bracket_GraphicID, {"GraphicID", ECDXType::CDXObjectID}}, + {kCDXProp_Bracket_BondID, {"BondID", ECDXType::CDXObjectID}}, + {kCDXProp_Bracket_InnerAtomID, {"InnerAtomID", ECDXType::CDXObjectID}}, + {kCDXProp_Curve_Points3D, {"CurvePoints3D", ECDXType::CDXCurvePoints3D}}, + {kCDXProp_Arrowhead_Type, {"ArrowheadType", ECDXType::CDXINT16}}, + {kCDXProp_Arrowhead_CenterSize, {"ArrowheadCenterSize", ECDXType::CDXUINT16}}, + {kCDXProp_Arrowhead_Width, {"ArrowheadWidth", ECDXType::CDXUINT16}}, + {kCDXProp_ShadowSize, {"ShadowSize", ECDXType::CDXUINT16}}, + {kCDXProp_Arrow_ShaftSpacing, {"ArrowShaftSpacing", ECDXType::CDXUINT16}}, + {kCDXProp_Arrow_EquilibriumRatio, {"ArrowEquilibriumRatio", ECDXType::CDXUINT16}}, + {kCDXProp_Arrow_ArrowHead_Head, {"ArrowheadHead", ECDXType::CDXINT16}}, + {kCDXProp_Arrow_ArrowHead_Tail, {"ArrowheadTail", ECDXType::CDXINT16}}, + {kCDXProp_Fill_Type, {"FillType", ECDXType::CDXINT16}}, + {kCDXProp_Curve_Spacing, {"CurveSpacing", ECDXType::CDXUINT16}}, + {kCDXProp_Closed, {"Closed", ECDXType::CDXBoolean}}, + {kCDXProp_Arrow_Dipole, {"Dipole", ECDXType::CDXBoolean}}, + {kCDXProp_Arrow_NoGo, {"NoGo", ECDXType::CDXINT8}}, + {kCDXProp_CornerRadius, {"CornerRadius", ECDXType::CDXINT16}}, + {kCDXProp_Frame_Type, {"FrameType", ECDXType::CDXINT16}}, + {kCDXProp_Picture_Edition, {"Edition", ECDXType::CDXUnformatted}}, + {kCDXProp_Picture_EditionAlias, {"EditionAlias", ECDXType::CDXUnformatted}}, + {kCDXProp_MacPICT, {"MacPICT", ECDXType::CDXUnformatted}}, + {kCDXProp_WindowsMetafile, {"WindowsMetafile", ECDXType::CDXUnformatted}}, + {kCDXProp_OLEObject, {"OLEObject", ECDXType::CDXUnformatted}}, + {kCDXProp_EnhancedMetafile, {"EnhancedMetafile", ECDXType::CDXUnformatted}}, + {kCDXProp_GIF, {"GIF", ECDXType::CDXUnformatted}}, + {kCDXProp_TIFF, {"TIFF", ECDXType::CDXUnformatted}}, + {kCDXProp_PNG, {"PNG", ECDXType::CDXUnformatted}}, + {kCDXProp_JPEG, {"JPEG", ECDXType::CDXUnformatted}}, + {kCDXProp_BMP, {"BMP", ECDXType::CDXUnformatted}}, + {kCDXProp_Spectrum_XSpacing, {"XSpacing", ECDXType::CDXFLOAT64}}, + {kCDXProp_Spectrum_XLow, {"XLow", ECDXType::CDXFLOAT64}}, + {kCDXProp_Spectrum_XType, {"XType", ECDXType::CDXINT16}}, + {kCDXProp_Spectrum_YType, {"YType", ECDXType::CDXINT16}}, + {kCDXProp_Spectrum_XAxisLabel, {"XAxisLabel", ECDXType::CDXString}}, + {kCDXProp_Spectrum_YAxisLabel, {"YAxisLabel", ECDXType::CDXString}}, + {kCDXProp_Spectrum_Class, {"Class", ECDXType::CDXINT16}}, + {kCDXProp_Spectrum_YLow, {"YLow", ECDXType::CDXFLOAT64}}, + {kCDXProp_Spectrum_YScale, {"YScale", ECDXType::CDXFLOAT64}}, + {kCDXProp_TLC_OriginFraction, {"OriginFraction", ECDXType::CDXFLOAT64}}, + {kCDXProp_TLC_SolventFrontFraction, {"SolventFrontFraction", ECDXType::CDXFLOAT64}}, + {kCDXProp_TLC_ShowOrigin, {"ShowOrigin", ECDXType::CDXBoolean}}, + {kCDXProp_TLC_ShowSolventFront, {"ShowSolventFront", ECDXType::CDXBoolean}}, + {kCDXProp_TLC_ShowBorders, {"ShowBorders", ECDXType::CDXBoolean}}, + {kCDXProp_TLC_ShowSideTicks, {"ShowSideTicks", ECDXType::CDXBoolean}}, + {kCDXProp_TLC_Rf, {"Rf", ECDXType::CDXFLOAT64}}, + {kCDXProp_TLC_Tail, {"Tail", ECDXType::CDXCoordinate}}, + {kCDXProp_TLC_ShowRf, {"ShowRf", ECDXType::CDXBoolean}}, + {kCDXProp_NamedAlternativeGroup_TextFrame, {"TextFrame", ECDXType::CDXRectangle}}, + {kCDXProp_NamedAlternativeGroup_GroupFrame, {"GroupFrame", ECDXType::CDXRectangle}}, + {kCDXProp_NamedAlternativeGroup_Valence, {"Valence", ECDXType::CDXINT16}}, + {kCDXProp_GeometricFeature, {"GeometricFeature", ECDXType::CDXINT8}}, + {kCDXProp_RelationValue, {"RelationValue", ECDXType::CDXFLOAT64}}, + {kCDXProp_BasisObjects, {"BasisObjects", ECDXType::CDXObjectIDArray}}, + {kCDXProp_ConstraintType, {"ConstraintType", ECDXType::CDXINT8}}, + {kCDXProp_ConstraintMin, {"ConstraintMin", ECDXType::CDXFLOAT64}}, + {kCDXProp_ConstraintMax, {"ConstraintMax", ECDXType::CDXFLOAT64}}, + {kCDXProp_IgnoreUnconnectedAtoms, {"IgnoreUnconnectedAtoms", ECDXType::CDXBooleanImplied}}, + {kCDXProp_DihedralIsChiral, {"DihedralIsChiral", ECDXType::CDXBooleanImplied}}, + {kCDXProp_PointIsDirected, {"PointIsDirected", ECDXType::CDXBooleanImplied}}, + {kCDXProp_ChemicalPropertyType, {"ChemicalPropertyType", ECDXType::CDXUINT32}}, + {kCDXProp_ChemicalPropertyDisplayID, {"ChemicalPropertyDisplayID", ECDXType::CDXObjectID}}, + {kCDXProp_ChemicalPropertyIsActive, {"ChemicalPropertyIsActive", ECDXType::CDXBoolean}}, + {kCDXProp_ChemicalPropertyName, {"ChemPropName", ECDXType::CDXString}}, + {kCDXProp_ChemicalPropertyFormula, {"ChemPropFormula", ECDXType::CDXString}}, + {kCDXProp_ChemicalPropertyExactMass, {"ChemPropExactMass", ECDXType::CDXString}}, + {kCDXProp_ChemicalPropertyMolWeight, {"ChemPropMolWt", ECDXType::CDXString}}, + {kCDXProp_ChemicalPropertyMOverZ, {"ChemPropMOverZ", ECDXType::CDXString}}, + {kCDXProp_ChemicalPropertyAnalysis, {"ChemPropAnalysis", ECDXType::CDXString}}, + {kCDXProp_ChemicalPropertyBoilingPoint, {"ChemPropBoilingPt", ECDXType::CDXString}}, + {kCDXProp_ChemicalPropertyMeltingPoint, {"ChemPropMeltingPt", ECDXType::CDXString}}, + {kCDXProp_ChemicalPropertyCriticalTemp, {"ChemPropCritTemp", ECDXType::CDXString}}, + {kCDXProp_ChemicalPropertyCriticalPressure, {"ChemPropCritPres", ECDXType::CDXString}}, + {kCDXProp_ChemicalPropertyCriticalVolume, {"ChemPropCritVol", ECDXType::CDXString}}, + {kCDXProp_ChemicalPropertyGibbsEnergy, {"ChemPropGibbs", ECDXType::CDXString}}, + {kCDXProp_ChemicalPropertyLogP, {"ChemPropLogP", ECDXType::CDXString}}, + {kCDXProp_ChemicalPropertyMR, {"ChemPropMR", ECDXType::CDXString}}, + {kCDXProp_ChemicalPropertyHenrysLaw, {"ChemPropHenry", ECDXType::CDXString}}, + {kCDXProp_ChemicalPropertyHeatOfForm, {"ChemPropEForm", ECDXType::CDXString}}, + {kCDXProp_ChemicalPropertytPSA, {"ChemProptPSA", ECDXType::CDXString}}, + {kCDXProp_ChemicalPropertyID, {"ChemPropID", ECDXType::CDXString}}, + {kCDXProp_ChemicalPropertyFragmentLabel, {"ChemPropFragmentLabel", ECDXType::CDXString}}, + {kCDXProp_ReactionStep_Atom_Map, {"ReactionStepAtomMap", ECDXType::CDXObjectIDArray}}, + {kCDXProp_ReactionStep_Reactants, {"ReactionStepReactants", ECDXType::CDXObjectIDArray}}, + {kCDXProp_ReactionStep_Products, {"ReactionStepProducts", ECDXType::CDXObjectIDArray}}, + {kCDXProp_ReactionStep_Plusses, {"ReactionStepPlusses", ECDXType::CDXObjectIDArray}}, + {kCDXProp_ReactionStep_Arrows, {"ReactionStepArrows", ECDXType::CDXObjectIDArray}}, + {kCDXProp_ReactionStep_ObjectsAboveArrow, {"ReactionStepObjectsAboveArrow", ECDXType::CDXObjectIDArray}}, + {kCDXProp_ReactionStep_ObjectsBelowArrow, {"ReactionStepObjectsBelowArrow", ECDXType::CDXObjectIDArray}}, + {kCDXProp_ReactionStep_Atom_Map_Manual, {"ReactionStepAtomMapManual", ECDXType::CDXObjectIDArray}}, + {kCDXProp_ReactionStep_Atom_Map_Auto, {"ReactionStepAtomMapAuto", ECDXType::CDXObjectIDArray}}, + {kCDXProp_RxnAutonumber_Style, {"RxnAutonumberStyle", ECDXType::CDXINT16}}, + {kCDXProp_RxnAutonumber_Conditions, {"RxnAutonumberConditions", ECDXType::CDXBoolean}}, + {kCDXProp_RxnAutonumber_Start, {"RxnAutonumberStart", ECDXType::CDXINT16}}, + {kCDXProp_RxnAutonumber_Format, {"RxnAutonumberFormat", ECDXType::CDXString}}, + {kCDXProp_ObjectTag_Type, {"TagType", ECDXType::CDXINT16}}, + {kCDXProp_ObjectTag_Tracking, {"Tracking", ECDXType::CDXBoolean}}, + {kCDXProp_ObjectTag_Persistent, {"Persistent", ECDXType::CDXBoolean}}, + {kCDXProp_ObjectTag_Value, {"Value", ECDXType::CDXvaries}}, + {kCDXProp_Positioning, {"PositioningType", ECDXType::CDXINT8}}, + {kCDXProp_PositioningAngle, {"PositioningAngle", ECDXType::CDXINT32}}, + {kCDXProp_PositioningOffset, {"PositioningOffset", ECDXType::CDXPoint2D}}, + {kCDXProp_Sequence_Identifier, {"SequenceIdentifier", ECDXType::CDXString}}, + {kCDXProp_CrossReference_Container, {"CrossReferenceContainer", ECDXType::CDXString}}, + {kCDXProp_CrossReference_Document, {"CrossReferenceDocument", ECDXType::CDXString}}, + {kCDXProp_CrossReference_Identifier, {"CrossReferenceIdentifier", ECDXType::CDXString}}, + {kCDXProp_CrossReference_Sequence, {"CrossReferenceSequence", ECDXType::CDXString}}, + {kCDXProp_Template_PaneHeight, {"PaneHeight", ECDXType::CDXCoordinate}}, + {kCDXProp_Template_NumRows, {"NumRows", ECDXType::CDXINT16}}, + {kCDXProp_Template_NumColumns, {"NumColumns", ECDXType::CDXINT16}}, + {kCDXProp_Group_Integral, {"Integral", ECDXType::CDXBoolean}}, + {kCDXProp_SplitterPositions, {"SplitterPositions", ECDXType::CDXObjectIDArray}}, + {kCDXProp_PageDefinition, {"PageDefinition", ECDXType::CDXINT8}}}; + + const std::unordered_map> KCDXNameToProp = { + {"CreationUserName", {kCDXProp_CreationUserName, ECDXType::CDXString}}, + {"CreationDate", {kCDXProp_CreationDate, ECDXType::CDXDate}}, + {"CreationProgram", {kCDXProp_CreationProgram, ECDXType::CDXString}}, + {"ModificationUserName", {kCDXProp_ModificationUserName, ECDXType::CDXString}}, + {"ModificationDate", {kCDXProp_ModificationDate, ECDXType::CDXDate}}, + {"ModificationProgram", {kCDXProp_ModificationProgram, ECDXType::CDXString}}, + {"Name", {kCDXProp_Name, ECDXType::CDXString}}, + {"Comment", {kCDXProp_Comment, ECDXType::CDXString}}, + {"Z", {kCDXProp_ZOrder, ECDXType::CDXINT16}}, + {"RegistryNumber", {kCDXProp_RegistryNumber, ECDXType::CDXString}}, + {"RegistryAuthority", {kCDXProp_RegistryAuthority, ECDXType::CDXString}}, + {"RepresentsProperty", {kCDXProp_RepresentsProperty, ECDXType::CDXRepresentsProperty}}, + {"IgnoreWarnings", {kCDXProp_IgnoreWarnings, ECDXType::CDXBooleanImplied}}, + {"Warning", {kCDXProp_ChemicalWarning, ECDXType::CDXString}}, + {"Visible", {kCDXProp_Visible, ECDXType::CDXBoolean}}, + {"SupersededBy", {kCDXProp_SupersededBy, ECDXType::CDXObjectID}}, + {"fonttable", {kCDXProp_FontTable, ECDXType::CDXFontTable}}, + {"p", {kCDXProp_2DPosition, ECDXType::CDXPoint2D}}, + {"xyz", {kCDXProp_3DPosition, ECDXType::CDXPoint3D}}, + {"extent", {kCDXProp_2DExtent, ECDXType::CDXPoint2D}}, + {"extent3D", {kCDXProp_3DExtent, ECDXType::CDXPoint3D}}, + {"BoundingBox", {kCDXProp_BoundingBox, ECDXType::CDXRectangle}}, + {"RotationAngle", {kCDXProp_RotationAngle, ECDXType::CDXINT32}}, + {"Head3D", {kCDXProp_3DHead, ECDXType::CDXPoint3D}}, + {"Tail3D", {kCDXProp_3DTail, ECDXType::CDXPoint3D}}, + {"TopLeft", {kCDXProp_TopLeft, ECDXType::CDXPoint2D}}, + {"TopRight", {kCDXProp_TopRight, ECDXType::CDXPoint2D}}, + {"BottomRight", {kCDXProp_BottomRight, ECDXType::CDXPoint2D}}, + {"BottomLeft", {kCDXProp_BottomLeft, ECDXType::CDXPoint2D}}, + {"Center3D", {kCDXProp_3DCenter, ECDXType::CDXPoint3D}}, + {"MajorAxisEnd3D", {kCDXProp_3DMajorAxisEnd, ECDXType::CDXPoint3D}}, + {"MinorAxisEnd3D", {kCDXProp_3DMinorAxisEnd, ECDXType::CDXPoint3D}}, + {"colortable", {kCDXProp_ColorTable, ECDXType::CDXColorTable}}, + {"color", {kCDXProp_ForegroundColor, ECDXType::CDXUINT16}}, + {"bgcolor", {kCDXProp_BackgroundColor, ECDXType::CDXUINT16}}, + {"NodeType", {kCDXProp_Node_Type, ECDXType::CDXINT16}}, + {"LabelDisplay", {kCDXProp_Node_LabelDisplay, ECDXType::CDXINT8}}, + {"Element", {kCDXProp_Node_Element, ECDXType::CDXINT16}}, + {"ElementList", {kCDXProp_Atom_ElementList, ECDXType::CDXElementList}}, + {"Formula", {kCDXProp_Atom_Formula, ECDXType::CDXFormula}}, + {"Isotope", {kCDXProp_Atom_Isotope, ECDXType::CDXINT16}}, + {"Charge", {kCDXProp_Atom_Charge, ECDXType::CDXINT8}}, + {"Radical", {kCDXProp_Atom_Radical, ECDXType::CDXUINT8}}, + {"FreeSites", {kCDXProp_Atom_RestrictFreeSites, ECDXType::CDXUINT8}}, + {"ImplicitHydrogens", {kCDXProp_Atom_RestrictImplicitHydrogens, ECDXType::CDXBooleanImplied}}, + {"RingBondCount", {kCDXProp_Atom_RestrictRingBondCount, ECDXType::CDXINT8}}, + {"UnsaturatedBonds", {kCDXProp_Atom_RestrictUnsaturatedBonds, ECDXType::CDXINT8}}, + {"RxnChange", {kCDXProp_Atom_RestrictRxnChange, ECDXType::CDXBooleanImplied}}, + {"RxnStereo", {kCDXProp_Atom_RestrictRxnStereo, ECDXType::CDXINT8}}, + {"AbnormalValence", {kCDXProp_Atom_AbnormalValence, ECDXType::CDXBooleanImplied}}, + {"NumHydrogens", {kCDXProp_Atom_NumHydrogens, ECDXType::CDXUINT16}}, + {"HDot", {kCDXProp_Atom_HDot, ECDXType::CDXBooleanImplied}}, + {"HDash", {kCDXProp_Atom_HDash, ECDXType::CDXBooleanImplied}}, + {"Geometry", {kCDXProp_Atom_Geometry, ECDXType::CDXINT8}}, + {"BondOrdering", {kCDXProp_Atom_BondOrdering, ECDXType::CDXObjectIDArray}}, + {"Attachments", {kCDXProp_Node_Attachments, ECDXType::CDXObjectIDArrayWithCounts}}, + {"GenericNickname", {kCDXProp_Atom_GenericNickname, ECDXType::CDXString}}, + {"AltGroupID", {kCDXProp_Atom_AltGroupID, ECDXType::CDXObjectID}}, + {"SubstituentsUpTo", {kCDXProp_Atom_RestrictSubstituentsUpTo, ECDXType::CDXUINT8}}, + {"SubstituentsExactly", {kCDXProp_Atom_RestrictSubstituentsExactly, ECDXType::CDXUINT8}}, + {"AS", {kCDXProp_Atom_CIPStereochemistry, ECDXType::CDXINT8}}, + {"Translation", {kCDXProp_Atom_Translation, ECDXType::CDXINT8}}, + {"AtomNumber", {kCDXProp_Atom_AtomNumber, ECDXType::CDXString}}, + {"ShowAtomQuery", {kCDXProp_Atom_ShowQuery, ECDXType::CDXBoolean}}, + {"ShowAtomStereo", {kCDXProp_Atom_ShowStereo, ECDXType::CDXBoolean}}, + {"ShowAtomNumber", {kCDXProp_Atom_ShowAtomNumber, ECDXType::CDXBoolean}}, + {"LinkCountLow", {kCDXProp_Atom_LinkCountLow, ECDXType::CDXINT16}}, + {"LinkCountHigh", {kCDXProp_Atom_LinkCountHigh, ECDXType::CDXINT16}}, + {"IsotopicAbundance", {kCDXProp_Atom_IsotopicAbundance, ECDXType::CDXINT8}}, + {"ExternalConnectionType", {kCDXProp_Atom_ExternalConnectionType, ECDXType::CDXINT8}}, + {"GenericList", {kCDXProp_Atom_GenericList, ECDXType::CDXGenericList}}, + {"ShowTerminalCarbonLabels", {kCDXProp_Atom_ShowTerminalCarbonLabels, ECDXType::CDXBooleanImplied}}, + {"ShowNonTerminalCarbonLabels", {kCDXProp_Atom_ShowNonTerminalCarbonLabels, ECDXType::CDXBooleanImplied}}, + {"HideImplicitHydrogens", {kCDXProp_Atom_HideImplicitHydrogens, ECDXType::CDXBooleanImplied}}, + {"ShowAtomEnhancedStereo", {kCDXProp_Atom_ShowEnhancedStereo, ECDXType::CDXBoolean}}, + {"EnhancedStereoType", {kCDXProp_Atom_EnhancedStereoType, ECDXType::CDXUINT8}}, + {"EnhancedStereoGroupNum", {kCDXProp_Atom_EnhancedStereoGroupNum, ECDXType::CDXUINT16}}, + {"ShowResidueID", {kCDXProp_ShowResidueID, ECDXType::CDXBoolean}}, + {"Racemic", {kCDXProp_Mole_Racemic, ECDXType::CDXBoolean}}, + {"Absolute", {kCDXProp_Mole_Absolute, ECDXType::CDXBoolean}}, + {"Relative", {kCDXProp_Mole_Relative, ECDXType::CDXBoolean}}, + {"Formula", {kCDXProp_Mole_Formula, ECDXType::CDXFormula}}, + {"Weight", {kCDXProp_Mole_Weight, ECDXType::CDXFLOAT64}}, + {"ConnectionOrder", {kCDXProp_Frag_ConnectionOrder, ECDXType::CDXObjectIDArray}}, + {"Order", {kCDXProp_Bond_Order, ECDXType::CDXINT16}}, + {"Display", {kCDXProp_Bond_Display, ECDXType::CDXINT16}}, + {"Display2", {kCDXProp_Bond_Display2, ECDXType::CDXINT16}}, + {"DoublePosition", {kCDXProp_Bond_DoublePosition, ECDXType::CDXINT16}}, + {"B", {kCDXProp_Bond_Begin, ECDXType::CDXObjectID}}, + {"E", {kCDXProp_Bond_End, ECDXType::CDXObjectID}}, + {"Topology", {kCDXProp_Bond_RestrictTopology, ECDXType::CDXINT8}}, + {"RxnParticipation", {kCDXProp_Bond_RestrictRxnParticipation, ECDXType::CDXINT8}}, + {"BeginAttach", {kCDXProp_Bond_BeginAttach, ECDXType::CDXUINT8}}, + {"EndAttach", {kCDXProp_Bond_EndAttach, ECDXType::CDXUINT8}}, + {"BS", {kCDXProp_Bond_CIPStereochemistry, ECDXType::CDXINT8}}, + {"BondCircularOrdering", {kCDXProp_Bond_BondOrdering, ECDXType::CDXObjectIDArray}}, + {"ShowBondQuery", {kCDXProp_Bond_ShowQuery, ECDXType::CDXBoolean}}, + {"ShowBondStereo", {kCDXProp_Bond_ShowStereo, ECDXType::CDXBoolean}}, + {"CrossingBonds", {kCDXProp_Bond_CrossingBonds, ECDXType::CDXObjectIDArray}}, + {"ShowBondRxn", {kCDXProp_Bond_ShowRxn, ECDXType::CDXBoolean}}, + {"t", {kCDXProp_Text, ECDXType::CDXString}}, + {"Justification", {kCDXProp_Justification, ECDXType::CDXINT8}}, + {"LineHeight", {kCDXProp_LineHeight, ECDXType::CDXUINT16}}, + {"WordWrapWidth", {kCDXProp_WordWrapWidth, ECDXType::CDXINT16}}, + {"LineStarts", {kCDXProp_LineStarts, ECDXType::CDXINT16ListWithCounts}}, + {"LabelAlignment", {kCDXProp_LabelAlignment, ECDXType::CDXINT8}}, + {"LabelLineHeight", {kCDXProp_LabelLineHeight, ECDXType::CDXINT16}}, + {"CaptionLineHeight", {kCDXProp_CaptionLineHeight, ECDXType::CDXINT16}}, + {"InterpretChemically", {kCDXProp_InterpretChemically, ECDXType::CDXBooleanImplied}}, + {"MacPrintInfo", {kCDXProp_MacPrintInfo, ECDXType::CDXUnformatted}}, + {"WinPrintInfo", {kCDXProp_WinPrintInfo, ECDXType::CDXUnformatted}}, + {"PrintMargins", {kCDXProp_PrintMargins, ECDXType::CDXRectangle}}, + {"ChainAngle", {kCDXProp_ChainAngle, ECDXType::CDXINT32}}, + {"BondSpacing", {kCDXProp_BondSpacing, ECDXType::CDXINT16}}, + {"BondLength", {kCDXProp_BondLength, ECDXType::CDXCoordinate}}, + {"BoldWidth", {kCDXProp_BoldWidth, ECDXType::CDXCoordinate}}, + {"LineWidth", {kCDXProp_LineWidth, ECDXType::CDXCoordinate}}, + {"MarginWidth", {kCDXProp_MarginWidth, ECDXType::CDXCoordinate}}, + {"HashSpacing", {kCDXProp_HashSpacing, ECDXType::CDXCoordinate}}, + {"LabelStyle", {kCDXProp_LabelStyle, ECDXType::CDXFontStyle}}, + {"CaptionStyle", {kCDXProp_CaptionStyle, ECDXType::CDXFontStyle}}, + {"CaptionJustification", {kCDXProp_CaptionJustification, ECDXType::CDXINT8}}, + {"FractionalWidths", {kCDXProp_FractionalWidths, ECDXType::CDXBooleanImplied}}, + {"Magnification", {kCDXProp_Magnification, ECDXType::CDXINT16}}, + {"WidthPages", {kCDXProp_WidthPages, ECDXType::CDXINT16}}, + {"HeightPages", {kCDXProp_HeightPages, ECDXType::CDXINT16}}, + {"DrawingSpace", {kCDXProp_DrawingSpaceType, ECDXType::CDXINT8}}, + {"Width", {kCDXProp_Width, ECDXType::CDXCoordinate}}, + {"Height", {kCDXProp_Height, ECDXType::CDXCoordinate}}, + {"PageOverlap", {kCDXProp_PageOverlap, ECDXType::CDXCoordinate}}, + {"Header", {kCDXProp_Header, ECDXType::CDXString}}, + {"HeaderPosition", {kCDXProp_HeaderPosition, ECDXType::CDXCoordinate}}, + {"Footer", {kCDXProp_Footer, ECDXType::CDXString}}, + {"FooterPosition", {kCDXProp_FooterPosition, ECDXType::CDXCoordinate}}, + {"PrintTrimMarks", {kCDXProp_PrintTrimMarks, ECDXType::CDXBooleanImplied}}, + {"LabelFont", {kCDXProp_LabelStyleFont, ECDXType::CDXINT16}}, + {"CaptionFont", {kCDXProp_CaptionStyleFont, ECDXType::CDXINT16}}, + {"LabelSize", {kCDXProp_LabelStyleSize, ECDXType::CDXINT16}}, + {"CaptionSize", {kCDXProp_CaptionStyleSize, ECDXType::CDXINT16}}, + {"LabelFace", {kCDXProp_LabelStyleFace, ECDXType::CDXINT16}}, + {"CaptionFace", {kCDXProp_CaptionStyleFace, ECDXType::CDXINT16}}, + {"LabelColor", {kCDXProp_LabelStyleColor, ECDXType::CDXINT16}}, + {"CaptionColor", {kCDXProp_CaptionStyleColor, ECDXType::CDXINT16}}, + {"BondSpacingAbs", {kCDXProp_BondSpacingAbs, ECDXType::CDXCoordinate}}, + {"LabelJustification", {kCDXProp_LabelJustification, ECDXType::CDXINT8}}, + {"FixInPlaceExtent", {kCDXProp_FixInplaceExtent, ECDXType::CDXPoint2D}}, + {"Side", {kCDXProp_Side, ECDXType::CDXUINT16}}, + {"FixInPlaceGap", {kCDXProp_FixInplaceGap, ECDXType::CDXPoint2D}}, + {"CartridgeData", {kCDXProp_CartridgeData, ECDXType::CDXUnformatted}}, + {"AminoAcidTermini", {kCDXProp_AminoAcidTermini, ECDXType::CDXINT8}}, + {"ShowSequenceTermini", {kCDXProp_ShowSequenceTermini, ECDXType::CDXBooleanImplied}}, + {"ShowSequenceBonds", {kCDXProp_ShowSequenceBonds, ECDXType::CDXBooleanImplied}}, + {"ResidueWrapCount", {kCDXProp_ResidueWrapCount, ECDXType::CDXINT8}}, + {"ResidueBlockCount", {kCDXProp_ResidueBlockCount, ECDXType::CDXINT8}}, + {"ResidueZigZag", {kCDXProp_ResidueZigZag, ECDXType::CDXBooleanImplied}}, + {"NumberResidueBlocks", {kCDXProp_NumberResidueBlocks, ECDXType::CDXBooleanImplied}}, + {"BondSpacingType", {kCDXProp_BondSpacingType, ECDXType::CDXINT8}}, + {"LabelStyleFontName", {kCDXProp_LabelStyleFontName, ECDXType::CDXString}}, + {"CaptionStyleFontName", {kCDXProp_CaptionStyleFontName, ECDXType::CDXString}}, + {"ShowSequenceUnlinkedBranches", {kCDXProp_ShowSequenceUnlinkedBranches, ECDXType::CDXBooleanImplied}}, + {"WindowIsZoomed", {kCDXProp_Window_IsZoomed, ECDXType::CDXBooleanImplied}}, + {"WindowPosition", {kCDXProp_Window_Position, ECDXType::CDXPoint2D}}, + {"WindowSize", {kCDXProp_Window_Size, ECDXType::CDXPoint2D}}, + {"GraphicType", {kCDXProp_Graphic_Type, ECDXType::CDXINT16}}, + {"LineType", {kCDXProp_Line_Type, ECDXType::CDXINT16}}, + {"ArrowType", {kCDXProp_Arrow_Type, ECDXType::CDXINT16}}, + {"RectangleType", {kCDXProp_Rectangle_Type, ECDXType::CDXINT16}}, + {"OvalType", {kCDXProp_Oval_Type, ECDXType::CDXINT16}}, + {"OrbitalType", {kCDXProp_Orbital_Type, ECDXType::CDXINT16}}, + {"BracketType", {kCDXProp_Bracket_Type, ECDXType::CDXINT16}}, + {"SymbolType", {kCDXProp_Symbol_Type, ECDXType::CDXINT16}}, + {"CurveType", {kCDXProp_Curve_Type, ECDXType::CDXINT16}}, + {"HeadSize", {kCDXProp_Arrow_HeadSize, ECDXType::CDXINT16}}, + {"AngularSize", {kCDXProp_Arc_AngularSize, ECDXType::CDXINT16}}, + {"LipSize", {kCDXProp_Bracket_LipSize, ECDXType::CDXINT16}}, + {"CurvePoints", {kCDXProp_Curve_Points, ECDXType::CDXCurvePoints}}, + {"BracketUsage", {kCDXProp_Bracket_Usage, ECDXType::CDXINT8}}, + {"PolymerRepeatPattern", {kCDXProp_Polymer_RepeatPattern, ECDXType::CDXINT8}}, + {"PolymerFlipType", {kCDXProp_Polymer_FlipType, ECDXType::CDXINT8}}, + {"BracketedObjectIDs", {kCDXProp_BracketedObjects, ECDXType::CDXObjectIDArray}}, + {"RepeatCount", {kCDXProp_Bracket_RepeatCount, ECDXType::CDXFLOAT64}}, + {"ComponentOrder", {kCDXProp_Bracket_ComponentOrder, ECDXType::CDXINT16}}, + {"SRULabel", {kCDXProp_Bracket_SRULabel, ECDXType::CDXString}}, + {"GraphicID", {kCDXProp_Bracket_GraphicID, ECDXType::CDXObjectID}}, + {"BondID", {kCDXProp_Bracket_BondID, ECDXType::CDXObjectID}}, + {"InnerAtomID", {kCDXProp_Bracket_InnerAtomID, ECDXType::CDXObjectID}}, + {"CurvePoints3D", {kCDXProp_Curve_Points3D, ECDXType::CDXCurvePoints3D}}, + {"ArrowheadType", {kCDXProp_Arrowhead_Type, ECDXType::CDXINT16}}, + {"ArrowheadCenterSize", {kCDXProp_Arrowhead_CenterSize, ECDXType::CDXUINT16}}, + {"ArrowheadWidth", {kCDXProp_Arrowhead_Width, ECDXType::CDXUINT16}}, + {"ShadowSize", {kCDXProp_ShadowSize, ECDXType::CDXUINT16}}, + {"ArrowShaftSpacing", {kCDXProp_Arrow_ShaftSpacing, ECDXType::CDXUINT16}}, + {"ArrowEquilibriumRatio", {kCDXProp_Arrow_EquilibriumRatio, ECDXType::CDXUINT16}}, + {"ArrowheadHead", {kCDXProp_Arrow_ArrowHead_Head, ECDXType::CDXINT16}}, + {"ArrowheadTail", {kCDXProp_Arrow_ArrowHead_Tail, ECDXType::CDXINT16}}, + {"FillType", {kCDXProp_Fill_Type, ECDXType::CDXINT16}}, + {"CurveSpacing", {kCDXProp_Curve_Spacing, ECDXType::CDXUINT16}}, + {"Closed", {kCDXProp_Closed, ECDXType::CDXBoolean}}, + {"Dipole", {kCDXProp_Arrow_Dipole, ECDXType::CDXBoolean}}, + {"NoGo", {kCDXProp_Arrow_NoGo, ECDXType::CDXINT8}}, + {"CornerRadius", {kCDXProp_CornerRadius, ECDXType::CDXINT16}}, + {"FrameType", {kCDXProp_Frame_Type, ECDXType::CDXINT16}}, + {"Edition", {kCDXProp_Picture_Edition, ECDXType::CDXUnformatted}}, + {"EditionAlias", {kCDXProp_Picture_EditionAlias, ECDXType::CDXUnformatted}}, + {"MacPICT", {kCDXProp_MacPICT, ECDXType::CDXUnformatted}}, + {"WindowsMetafile", {kCDXProp_WindowsMetafile, ECDXType::CDXUnformatted}}, + {"OLEObject", {kCDXProp_OLEObject, ECDXType::CDXUnformatted}}, + {"EnhancedMetafile", {kCDXProp_EnhancedMetafile, ECDXType::CDXUnformatted}}, + {"GIF", {kCDXProp_GIF, ECDXType::CDXUnformatted}}, + {"TIFF", {kCDXProp_TIFF, ECDXType::CDXUnformatted}}, + {"PNG", {kCDXProp_PNG, ECDXType::CDXUnformatted}}, + {"JPEG", {kCDXProp_JPEG, ECDXType::CDXUnformatted}}, + {"BMP", {kCDXProp_BMP, ECDXType::CDXUnformatted}}, + {"XSpacing", {kCDXProp_Spectrum_XSpacing, ECDXType::CDXFLOAT64}}, + {"XLow", {kCDXProp_Spectrum_XLow, ECDXType::CDXFLOAT64}}, + {"XType", {kCDXProp_Spectrum_XType, ECDXType::CDXINT16}}, + {"YType", {kCDXProp_Spectrum_YType, ECDXType::CDXINT16}}, + {"XAxisLabel", {kCDXProp_Spectrum_XAxisLabel, ECDXType::CDXString}}, + {"YAxisLabel", {kCDXProp_Spectrum_YAxisLabel, ECDXType::CDXString}}, + {"Class", {kCDXProp_Spectrum_Class, ECDXType::CDXINT16}}, + {"YLow", {kCDXProp_Spectrum_YLow, ECDXType::CDXFLOAT64}}, + {"YScale", {kCDXProp_Spectrum_YScale, ECDXType::CDXFLOAT64}}, + {"OriginFraction", {kCDXProp_TLC_OriginFraction, ECDXType::CDXFLOAT64}}, + {"SolventFrontFraction", {kCDXProp_TLC_SolventFrontFraction, ECDXType::CDXFLOAT64}}, + {"ShowOrigin", {kCDXProp_TLC_ShowOrigin, ECDXType::CDXBoolean}}, + {"ShowSolventFront", {kCDXProp_TLC_ShowSolventFront, ECDXType::CDXBoolean}}, + {"ShowBorders", {kCDXProp_TLC_ShowBorders, ECDXType::CDXBoolean}}, + {"ShowSideTicks", {kCDXProp_TLC_ShowSideTicks, ECDXType::CDXBoolean}}, + {"Rf", {kCDXProp_TLC_Rf, ECDXType::CDXFLOAT64}}, + {"Tail", {kCDXProp_TLC_Tail, ECDXType::CDXCoordinate}}, + {"ShowRf", {kCDXProp_TLC_ShowRf, ECDXType::CDXBoolean}}, + {"TextFrame", {kCDXProp_NamedAlternativeGroup_TextFrame, ECDXType::CDXRectangle}}, + {"GroupFrame", {kCDXProp_NamedAlternativeGroup_GroupFrame, ECDXType::CDXRectangle}}, + {"Valence", {kCDXProp_NamedAlternativeGroup_Valence, ECDXType::CDXINT16}}, + {"GeometricFeature", {kCDXProp_GeometricFeature, ECDXType::CDXINT8}}, + {"RelationValue", {kCDXProp_RelationValue, ECDXType::CDXFLOAT64}}, + {"BasisObjects", {kCDXProp_BasisObjects, ECDXType::CDXObjectIDArray}}, + {"ConstraintType", {kCDXProp_ConstraintType, ECDXType::CDXINT8}}, + {"ConstraintMin", {kCDXProp_ConstraintMin, ECDXType::CDXFLOAT64}}, + {"ConstraintMax", {kCDXProp_ConstraintMax, ECDXType::CDXFLOAT64}}, + {"IgnoreUnconnectedAtoms", {kCDXProp_IgnoreUnconnectedAtoms, ECDXType::CDXBooleanImplied}}, + {"DihedralIsChiral", {kCDXProp_DihedralIsChiral, ECDXType::CDXBooleanImplied}}, + {"PointIsDirected", {kCDXProp_PointIsDirected, ECDXType::CDXBooleanImplied}}, + {"ChemicalPropertyType", {kCDXProp_ChemicalPropertyType, ECDXType::CDXUINT32}}, + {"ChemicalPropertyDisplayID", {kCDXProp_ChemicalPropertyDisplayID, ECDXType::CDXObjectID}}, + {"ChemicalPropertyIsActive", {kCDXProp_ChemicalPropertyIsActive, ECDXType::CDXBoolean}}, + {"ChemPropName", {kCDXProp_ChemicalPropertyName, ECDXType::CDXString}}, + {"ChemPropFormula", {kCDXProp_ChemicalPropertyFormula, ECDXType::CDXString}}, + {"ChemPropExactMass", {kCDXProp_ChemicalPropertyExactMass, ECDXType::CDXString}}, + {"ChemPropMolWt", {kCDXProp_ChemicalPropertyMolWeight, ECDXType::CDXString}}, + {"ChemPropMOverZ", {kCDXProp_ChemicalPropertyMOverZ, ECDXType::CDXString}}, + {"ChemPropAnalysis", {kCDXProp_ChemicalPropertyAnalysis, ECDXType::CDXString}}, + {"ChemPropBoilingPt", {kCDXProp_ChemicalPropertyBoilingPoint, ECDXType::CDXString}}, + {"ChemPropMeltingPt", {kCDXProp_ChemicalPropertyMeltingPoint, ECDXType::CDXString}}, + {"ChemPropCritTemp", {kCDXProp_ChemicalPropertyCriticalTemp, ECDXType::CDXString}}, + {"ChemPropCritPres", {kCDXProp_ChemicalPropertyCriticalPressure, ECDXType::CDXString}}, + {"ChemPropCritVol", {kCDXProp_ChemicalPropertyCriticalVolume, ECDXType::CDXString}}, + {"ChemPropGibbs", {kCDXProp_ChemicalPropertyGibbsEnergy, ECDXType::CDXString}}, + {"ChemPropLogP", {kCDXProp_ChemicalPropertyLogP, ECDXType::CDXString}}, + {"ChemPropMR", {kCDXProp_ChemicalPropertyMR, ECDXType::CDXString}}, + {"ChemPropHenry", {kCDXProp_ChemicalPropertyHenrysLaw, ECDXType::CDXString}}, + {"ChemPropEForm", {kCDXProp_ChemicalPropertyHeatOfForm, ECDXType::CDXString}}, + {"ChemProptPSA", {kCDXProp_ChemicalPropertytPSA, ECDXType::CDXString}}, + {"ChemPropID", {kCDXProp_ChemicalPropertyID, ECDXType::CDXString}}, + {"ChemPropFragmentLabel", {kCDXProp_ChemicalPropertyFragmentLabel, ECDXType::CDXString}}, + {"ReactionStepAtomMap", {kCDXProp_ReactionStep_Atom_Map, ECDXType::CDXObjectIDArray}}, + {"ReactionStepReactants", {kCDXProp_ReactionStep_Reactants, ECDXType::CDXObjectIDArray}}, + {"ReactionStepProducts", {kCDXProp_ReactionStep_Products, ECDXType::CDXObjectIDArray}}, + {"ReactionStepPlusses", {kCDXProp_ReactionStep_Plusses, ECDXType::CDXObjectIDArray}}, + {"ReactionStepArrows", {kCDXProp_ReactionStep_Arrows, ECDXType::CDXObjectIDArray}}, + {"ReactionStepObjectsAboveArrow", {kCDXProp_ReactionStep_ObjectsAboveArrow, ECDXType::CDXObjectIDArray}}, + {"ReactionStepObjectsBelowArrow", {kCDXProp_ReactionStep_ObjectsBelowArrow, ECDXType::CDXObjectIDArray}}, + {"ReactionStepAtomMapManual", {kCDXProp_ReactionStep_Atom_Map_Manual, ECDXType::CDXObjectIDArray}}, + {"ReactionStepAtomMapAuto", {kCDXProp_ReactionStep_Atom_Map_Auto, ECDXType::CDXObjectIDArray}}, + {"RxnAutonumberStyle", {kCDXProp_RxnAutonumber_Style, ECDXType::CDXINT16}}, + {"RxnAutonumberConditions", {kCDXProp_RxnAutonumber_Conditions, ECDXType::CDXBoolean}}, + {"RxnAutonumberStart", {kCDXProp_RxnAutonumber_Start, ECDXType::CDXINT16}}, + {"RxnAutonumberFormat", {kCDXProp_RxnAutonumber_Format, ECDXType::CDXString}}, + {"TagType", {kCDXProp_ObjectTag_Type, ECDXType::CDXINT16}}, + {"Tracking", {kCDXProp_ObjectTag_Tracking, ECDXType::CDXBoolean}}, + {"Persistent", {kCDXProp_ObjectTag_Persistent, ECDXType::CDXBoolean}}, + {"Value", {kCDXProp_ObjectTag_Value, ECDXType::CDXvaries}}, + {"PositioningType", {kCDXProp_Positioning, ECDXType::CDXINT8}}, + {"PositioningAngle", {kCDXProp_PositioningAngle, ECDXType::CDXINT32}}, + {"PositioningOffset", {kCDXProp_PositioningOffset, ECDXType::CDXPoint2D}}, + {"SequenceIdentifier", {kCDXProp_Sequence_Identifier, ECDXType::CDXString}}, + {"CrossReferenceContainer", {kCDXProp_CrossReference_Container, ECDXType::CDXString}}, + {"CrossReferenceDocument", {kCDXProp_CrossReference_Document, ECDXType::CDXString}}, + {"CrossReferenceIdentifier", {kCDXProp_CrossReference_Identifier, ECDXType::CDXString}}, + {"CrossReferenceSequence", {kCDXProp_CrossReference_Sequence, ECDXType::CDXString}}, + {"PaneHeight", {kCDXProp_Template_PaneHeight, ECDXType::CDXCoordinate}}, + {"NumRows", {kCDXProp_Template_NumRows, ECDXType::CDXINT16}}, + {"NumColumns", {kCDXProp_Template_NumColumns, ECDXType::CDXINT16}}, + {"Integral", {kCDXProp_Group_Integral, ECDXType::CDXBoolean}}, + {"SplitterPositions", {kCDXProp_SplitterPositions, ECDXType::CDXObjectIDArray}}, + {"PageDefinition", {kCDXProp_PageDefinition, ECDXType::CDXINT8}}}; + + const std::unordered_map KCDXObjToName = {{kCDXObj_Document, "CDXML"}, + {kCDXObj_Page, "page"}, + {kCDXObj_Group, "group"}, + {kCDXObj_Fragment, "fragment"}, + {kCDXObj_Node, "n"}, + {kCDXObj_Bond, "b"}, + {kCDXObj_Text, "t"}, + {kCDXObj_Graphic, "graphic"}, + {kCDXObj_BracketedGroup, "bracketedgroup"}, + {kCDXObj_BracketAttachment, "bracketattachment"}, + {kCDXObj_CrossingBond, "crossingbond"}, + {kCDXObj_Curve, "curve"}, + {kCDXObj_EmbeddedObject, "embeddedobject"}, + {kCDXObj_Table, "table"}, + {kCDXObj_NamedAlternativeGroup, "altgroup"}, + {kCDXObj_TemplateGrid, "templategrid"}, + {kCDXObj_RegistryNumber, "regnum"}, + {kCDXObj_ReactionScheme, "scheme"}, + {kCDXObj_ReactionStep, "step"}, + {kCDXObj_Spectrum, "spectrum"}, + {kCDXObj_ObjectTag, "objecttag"}, + {kCDXObj_Sequence, "sequence"}, + {kCDXObj_CrossReference, "crossreference"}, + {kCDXObj_Border, "border"}, + {kCDXObj_Geometry, "geometry"}, + {kCDXObj_Constraint, "constraint"}, + {kCDXObj_TLCPlate, "tlcplate"}, + {kCDXObj_TLCLane, "tlclane"}, + {kCDXObj_TLCSpot, "tlcspot"}, + {kCDXObj_Splitter, "splitter"}, + {kCDXObj_ChemicalProperty, "chemicalproperty"}, + {kCDXProp_ColorTable, "colortable"}, + {kCDXProp_FontTable, "fonttable"}, + {kCDXProp_RepresentsProperty, "represent"}, + {kCDXObj_Arrow, "arrow"}}; + + const std::unordered_map KCDXNameToObjID = {{"CDXML", kCDXObj_Document}, + {"page", kCDXObj_Page}, + {"group", kCDXObj_Group}, + {"fragment", kCDXObj_Fragment}, + {"n", kCDXObj_Node}, + {"b", kCDXObj_Bond}, + {"t", kCDXObj_Text}, + {"graphic", kCDXObj_Graphic}, + {"bracketedgroup", kCDXObj_BracketedGroup}, + {"bracketattachment", kCDXObj_BracketAttachment}, + {"crossingbond", kCDXObj_CrossingBond}, + {"curve", kCDXObj_Curve}, + {"embeddedobject", kCDXObj_EmbeddedObject}, + {"table", kCDXObj_Table}, + {"altgroup", kCDXObj_NamedAlternativeGroup}, + {"templategrid", kCDXObj_TemplateGrid}, + {"regnum", kCDXObj_RegistryNumber}, + {"scheme", kCDXObj_ReactionScheme}, + {"step", kCDXObj_ReactionStep}, + {"spectrum", kCDXObj_Spectrum}, + {"objecttag", kCDXObj_ObjectTag}, + {"sequence", kCDXObj_Sequence}, + {"crossreference", kCDXObj_CrossReference}, + {"border", kCDXObj_Border}, + {"geometry", kCDXObj_Geometry}, + {"constraint", kCDXObj_Constraint}, + {"tlcplate", kCDXObj_TLCPlate}, + {"tlclane", kCDXObj_TLCLane}, + {"tlcspot", kCDXObj_TLCSpot}, + {"splitter", kCDXObj_Splitter}, + {"chemicalproperty", kCDXObj_ChemicalProperty}, + {"colortable", kCDXProp_ColorTable}, + {"fonttable", kCDXProp_FontTable}, + {"represent", kCDXProp_RepresentsProperty}, + {"arrow", kCDXObj_Arrow}}; + + const std::unordered_map KNodeTypeNameToInt = {{"Unspecified", kCDXNodeType_Unspecified}, + {"Element", kCDXNodeType_Element}, + {"ElementList", kCDXNodeType_ElementList}, + {"ElementListNickname", kCDXNodeType_ElementListNickname}, + {"Nickname", kCDXNodeType_Nickname}, + {"Fragment", kCDXNodeType_Fragment}, + {"Formula", kCDXNodeType_Formula}, + {"GenericNickname", kCDXNodeType_GenericNickname}, + {"AnonymousAlternativeGroup", kCDXNodeType_AnonymousAlternativeGroup}, + {"NamedAlternativeGroup", kCDXNodeType_NamedAlternativeGroup}, + {"MultiAttachment", kCDXNodeType_MultiAttachment}, + {"VariableAttachment", kCDXNodeType_VariableAttachment}, + {"ExternalConnectionPoint", kCDXNodeType_ExternalConnectionPoint}, + {"LinkNode", kCDXNodeType_LinkNode}}; + + const std::unordered_map KNodeTypeIntToName = {{kCDXNodeType_Unspecified, "Unspecified"}, + {kCDXNodeType_Element, "Element"}, + {kCDXNodeType_ElementList, "ElementList"}, + {kCDXNodeType_ElementListNickname, "ElementListNickname"}, + {kCDXNodeType_Nickname, "Nickname"}, + {kCDXNodeType_Fragment, "Fragment"}, + {kCDXNodeType_Formula, "Formula"}, + {kCDXNodeType_GenericNickname, "GenericNickname"}, + {kCDXNodeType_AnonymousAlternativeGroup, "AnonymousAlternativeGroup"}, + {kCDXNodeType_NamedAlternativeGroup, "NamedAlternativeGroup"}, + {kCDXNodeType_MultiAttachment, "MultiAttachment"}, + {kCDXNodeType_VariableAttachment, "VariableAttachment"}, + {kCDXNodeType_ExternalConnectionPoint, "ExternalConnectionPoint"}, + {kCDXNodeType_LinkNode, "LinkNode"}}; + + const std::unordered_map KGeometryTypeNameToInt = {{"Unspecified", kCDXAtomGeometry_Unknown}, + {"1", kCDXAtomGeometry_1Ligand}, + {"Linear", kCDXAtomGeometry_Linear}, + {"Bent", kCDXAtomGeometry_Bent}, + {"TrigonalPlanar", kCDXAtomGeometry_TrigonalPlanar}, + {"TrigonalPyramidal", kCDXAtomGeometry_TrigonalPyramidal}, + {"SquarePlanar", kCDXAtomGeometry_SquarePlanar}, + {"Tetrahedral", kCDXAtomGeometry_Tetrahedral}, + {"TrigonalBipyramidal", kCDXAtomGeometry_TrigonalBipyramidal}, + {"SquarePyramidal", kCDXAtomGeometry_SquarePyramidal}, + {"5", kCDXAtomGeometry_5Ligand}, + {"Octahedral", kCDXAtomGeometry_Octahedral}, + {"6", kCDXAtomGeometry_6Ligand}, + {"7", kCDXAtomGeometry_7Ligand}, + {"8", kCDXAtomGeometry_8Ligand}, + {"9", kCDXAtomGeometry_9Ligand}, + {"10", kCDXAtomGeometry_10Ligand}}; + + const std::unordered_map KGeometryTypeIntToName = {{kCDXAtomGeometry_Unknown, "Unspecified"}, + {kCDXAtomGeometry_1Ligand, "1"}, + {kCDXAtomGeometry_Linear, "Linear"}, + {kCDXAtomGeometry_Bent, "Bent"}, + {kCDXAtomGeometry_TrigonalPlanar, "TrigonalPlanar"}, + {kCDXAtomGeometry_TrigonalPyramidal, "TrigonalPyramidal"}, + {kCDXAtomGeometry_SquarePlanar, "SquarePlanar"}, + {kCDXAtomGeometry_Tetrahedral, "Tetrahedral"}, + {kCDXAtomGeometry_TrigonalBipyramidal, "TrigonalBipyramidal"}, + {kCDXAtomGeometry_SquarePyramidal, "SquarePyramidal"}, + {kCDXAtomGeometry_5Ligand, "5"}, + {kCDXAtomGeometry_Octahedral, "Octahedral"}, + {kCDXAtomGeometry_6Ligand, "6"}, + {kCDXAtomGeometry_7Ligand, "7"}, + {kCDXAtomGeometry_8Ligand, "8"}, + {kCDXAtomGeometry_9Ligand, "9"}, + {kCDXAtomGeometry_10Ligand, "10"}}; + + const std::unordered_map kBracketUsageNameToInt = {{"Unspecified", kCDXBracketUsage_Unspecified}, + {"Unused1", kCDXBracketUsage_Unused1}, + {"Unused2", kCDXBracketUsage_Unused2}, + {"SRU", kCDXBracketUsage_SRU}, + {"Monomer", kCDXBracketUsage_Monomer}, + {"Mer", kCDXBracketUsage_Mer}, + {"Copolymer", kCDXBracketUsage_Copolymer}, + {"CopolymerAlternating", kCDXBracketUsage_CopolymerAlternating}, + {"CopolymerRandom", kCDXBracketUsage_CopolymerRandom}, + {"CopolymerBlock", kCDXBracketUsage_CopolymerBlock}, + {"Crosslink", kCDXBracketUsage_Crosslink}, + {"Graft", kCDXBracketUsage_Graft}, + {"Modification", kCDXBracketUsage_Modification}, + {"Component", kCDXBracketUsage_Component}, + {"MixtureUnordered", kCDXBracketUsage_MixtureUnordered}, + {"MixtureOrdered", kCDXBracketUsage_MixtureOrdered}, + {"MultipleGroup", kCDXBracketUsage_MultipleGroup}, + {"Generic", kCDXBracketUsage_Generic}, + {"Anypolymer", kCDXBracketUsage_Anypolymer} + + }; + + const std::unordered_map kBracketUsageIntToName = {{kCDXBracketUsage_Unspecified, "Unspecified"}, + {kCDXBracketUsage_Unused1, "Unused1"}, + {kCDXBracketUsage_Unused2, "Unused2"}, + {kCDXBracketUsage_SRU, "SRU"}, + {kCDXBracketUsage_Monomer, "Monomer"}, + {kCDXBracketUsage_Mer, "Mer"}, + {kCDXBracketUsage_Copolymer, "Copolymer"}, + {kCDXBracketUsage_CopolymerAlternating, "CopolymerAlternating"}, + {kCDXBracketUsage_CopolymerRandom, "CopolymerRandom"}, + {kCDXBracketUsage_CopolymerBlock, "CopolymerBlock"}, + {kCDXBracketUsage_Crosslink, "Crosslink"}, + {kCDXBracketUsage_Graft, "Graft"}, + {kCDXBracketUsage_Modification, "Modification"}, + {kCDXBracketUsage_Component, "Component"}, + {kCDXBracketUsage_MixtureUnordered, "MixtureUnordered"}, + {kCDXBracketUsage_MixtureOrdered, "MixtureOrdered"}, + {kCDXBracketUsage_MultipleGroup, "MultipleGroup"}, + {kCDXBracketUsage_Generic, "Generic"}, + {kCDXBracketUsage_Anypolymer, "Anypolymer"}}; + + const std::vector kCIPStereochemistryIndexToChar = {'U', 'N', 'R', 'S', 'r', 's', 'u'}; + const std::unordered_map kCIPStereochemistryCharToIndex = {{'U', 0}, {'N', 1}, {'R', 2}, {'S', 3}, {'r', 4}, {'s', 5}, {'u', 6}}; + + const std::vector kCIPBondStereochemistryIndexToChar = {'U', 'N', 'E', 'Z'}; + const std::unordered_map kCIPBondStereochemistryCharToIndex = {{'U', 0}, {'N', 1}, {'E', 2}, {'Z', 3}}; + + const std::vector KStyleProperties = {"font", "face", "size", "color"}; + +} #endif // _H_CDXCommons diff --git a/core/indigo-core/molecule/CDXConstants.h b/core/indigo-core/molecule/CDXConstants.h index 4089e8dec1..a1fd76664d 100644 --- a/core/indigo-core/molecule/CDXConstants.h +++ b/core/indigo-core/molecule/CDXConstants.h @@ -1032,8 +1032,16 @@ enum CDXCharSet kCDXCharSetMacVietnamese, kCDXCharSetMacExtArabic, kCDXCharSetMacUninterpreted, + kCDXCharSetMacSymbol, + kCDXCharSetMacDingbats, + kCDXCharSetMacCroatian, + kCDXCharSetMacRomanian, + kCDXCharSetMacCeltic, + kCDXCharSetMacGaelic, + kCDXCharSetMacKeyboardGlyphs, kCDXCharSetMacIcelandic = 10079, - kCDXCharSetMacTurkish = 10081 + kCDXCharSetMacTurkish = 10081, + kCDXCharSetUTF8 = 65001 }; #endif // _H_CDXConstants diff --git a/core/indigo-core/molecule/molecule_cdxml_loader.h b/core/indigo-core/molecule/molecule_cdxml_loader.h index d8b70e12b8..d6bde0da81 100644 --- a/core/indigo-core/molecule/molecule_cdxml_loader.h +++ b/core/indigo-core/molecule/molecule_cdxml_loader.h @@ -38,7 +38,7 @@ typedef unsigned short int UINT16; typedef int INT32; typedef unsigned int UINT32; -#include "molecule/CDXCommons.h" +#include "CDXCommons.h" namespace tinyxml2 { @@ -336,7 +336,6 @@ namespace indigo } break; - break; case ECDXType::CDXUINT16: { auto ptr16 = (uint16_t*)ptr; result = parseCDXUINT16(*ptr16, tag); @@ -402,10 +401,6 @@ namespace indigo } break; - case ECDXType::CDXColorTableCDXINT16: - result = "ColorTableCDXINT16 not implemented"; - break; - case ECDXType::CDXColorTable: result = "ColorTable not implemented"; break; @@ -498,13 +493,21 @@ namespace indigo case kCDXProp_Atom_EnhancedStereoType: return kCDXEnhancedStereoIDToStr.at(val); break; + case kCDXProp_Bond_CIPStereochemistry: case kCDXProp_Atom_CIPStereochemistry: { - return std::string{KCIPStereochemistryIndexToChar[val]}; + return std::string{kCIPStereochemistryIndexToChar[val]}; } break; case kCDXProp_Bracket_Usage: return std::string{kBracketUsageIntToName.at(val)}; break; + case kCDXProp_Justification: + case kCDXProp_LabelJustification: + case kCDXProp_CaptionJustification: + return std::string(kTextJustificationIntToStr.at(val)); + case kCDXProp_Node_LabelDisplay: + case kCDXProp_LabelAlignment: + return std::string(kLabelAlignmentIntTostr.at(val)); default: break; } diff --git a/core/indigo-core/molecule/molecule_cdxml_saver.h b/core/indigo-core/molecule/molecule_cdxml_saver.h index 9cd40b5d0b..2341bea6d0 100644 --- a/core/indigo-core/molecule/molecule_cdxml_saver.h +++ b/core/indigo-core/molecule/molecule_cdxml_saver.h @@ -25,6 +25,11 @@ #include "ket_commons.h" #include "math/algebra.h" +typedef unsigned short int UINT16; +typedef int INT32; +typedef unsigned int UINT32; +#include "CDXCommons.h" + namespace tinyxml2 { class XMLElement; @@ -97,7 +102,11 @@ namespace indigo void endPage(); void endDocument(); void writeBinaryElement(tinyxml2::XMLElement* element); - bool writeBinaryAttributes(tinyxml2::XMLElement* pElement, int16_t tag); + void writeBinaryAttributes(tinyxml2::XMLElement* pElement); + void writeIrregularElement(tinyxml2::XMLElement* pElement, int16_t tag); + + void writeBinaryValue(const tinyxml2::XMLAttribute* pAttr, int16_t tag, ECDXType cdx_type); + void writeBinaryTextValue(const tinyxml2::XMLElement* pTextElement); int getHydrogenCount(BaseMolecule& mol, int idx, int charge, int radical); diff --git a/core/indigo-core/molecule/src/molecule_cdxml_loader.cpp b/core/indigo-core/molecule/src/molecule_cdxml_loader.cpp index 9d0e6a633f..9f1ed6cf00 100644 --- a/core/indigo-core/molecule/src/molecule_cdxml_loader.cpp +++ b/core/indigo-core/molecule/src/molecule_cdxml_loader.cpp @@ -777,7 +777,7 @@ void MoleculeCdxmlLoader::_parseNode(CdxmlNode& node, CDXElement elem) auto pos_lambda = [&node, this](const std::string& data) { this->parsePos(data, node.pos); }; - auto stereo_lambda = [&node](const std::string& data) { node.stereo = KCIPStereochemistryCharToIndex.at(data.front()); }; + auto stereo_lambda = [&node](const std::string& data) { node.stereo = kCIPStereochemistryCharToIndex.at(data.front()); }; auto node_type_lambda = [&node](const std::string& data) { node.type = KNodeTypeNameToInt.at(data); @@ -860,6 +860,8 @@ void MoleculeCdxmlLoader::_parseBond(CdxmlBond& bond, CDXProperty prop) bond.order = order_map.at(data); }; + auto stereo_lambda = [&bond](const std::string& data) { bond.stereo = kCIPBondStereochemistryCharToIndex.at(data.front()); }; + auto bond_dir_lambda = [&bond](const std::string& data) { static const std::unordered_map> dir_map = {{"WedgedHashBegin", {BOND_DOWN, false}}, {"WedgedHashEnd", {BOND_DOWN, true}}, @@ -876,7 +878,7 @@ void MoleculeCdxmlLoader::_parseBond(CdxmlBond& bond, CDXProperty prop) }; std::unordered_map> bond_dispatcher = { - {"id", id_lambda}, {"B", bond_begin_lambda}, {"E", bond_end_lambda}, {"Order", bond_order_lambda}, {"Display", bond_dir_lambda}}; + {"id", id_lambda}, {"B", bond_begin_lambda}, {"E", bond_end_lambda}, {"Order", bond_order_lambda}, {"Display", bond_dir_lambda}, {"BS", stereo_lambda}}; applyDispatcher(prop, bond_dispatcher); } diff --git a/core/indigo-core/molecule/src/molecule_cdxml_saver.cpp b/core/indigo-core/molecule/src/molecule_cdxml_saver.cpp index 592374a07d..982903ca58 100644 --- a/core/indigo-core/molecule/src/molecule_cdxml_saver.cpp +++ b/core/indigo-core/molecule/src/molecule_cdxml_saver.cpp @@ -24,8 +24,6 @@ #include "molecule/molecule_cdxml_loader.h" #include "molecule/query_molecule.h" -#include "molecule/CDXCommons.h" - #include #include #include @@ -34,164 +32,235 @@ using namespace indigo; using namespace tinyxml2; -void writeBinaryValue(const XMLAttribute* pAttr, int16_t tag, ECDXType cdx_type, Output& out) +void MoleculeCdxmlSaver::writeBinaryTextValue(const tinyxml2::XMLElement* pTextElement) { - out.writeBinaryUInt16(tag); + if (std::string(pTextElement->Name()) != "t") + throw Error("not a text element"); + std::vector styled_strings; + std::string text; + CDXTextStyle ts; + for (auto pStyleElem = pTextElement->FirstChildElement(); pStyleElem; pStyleElem = pStyleElem->NextSiblingElement()) + { + if (std::string(pStyleElem->Name()) == "s") + { + for (auto pAttr = pStyleElem->FirstAttribute(); pAttr; pAttr = pAttr->Next()) + { + std::string attr_name = pAttr->Name(); + if (attr_name == "font") + ts.font_index = pAttr->IntValue(); + else if (attr_name == "size") + ts.font_size = pAttr->FloatValue() * kCDXMLSizeMultiplier; + else if (attr_name == "color") + ts.font_color = pAttr->IntValue(); + else if (attr_name == "face") + ts.font_face = pAttr->IntValue(); + } + ts.offset = text.size(); + styled_strings.push_back(ts); + auto ptext = pStyleElem->GetText(); + if (ptext) + text += ptext; + } + } + + _output.writeBinaryUInt16(kCDXProp_Text); + if (text.size()) + { + _output.writeBinaryUInt16(styled_strings.size() * sizeof(CDXTextStyle) + sizeof(uint16_t) + text.size()); + _output.writeBinaryUInt16(styled_strings.size()); + for (const auto& ss : styled_strings) + { + _output.writeBinaryUInt16(ss.offset); + _output.writeBinaryUInt16(ss.font_index); + _output.writeBinaryUInt16(ss.font_face); + _output.writeBinaryUInt16(ss.font_size); + _output.writeBinaryUInt16(ss.font_color); + } + _output.write(text.c_str(), text.size()); + } + else + _output.writeBinaryUInt16(0); +} + +void MoleculeCdxmlSaver::writeBinaryValue(const XMLAttribute* pAttr, int16_t tag, ECDXType cdx_type) +{ + _output.writeBinaryUInt16(tag); switch (cdx_type) { case ECDXType::CDXString: { std::string val = pAttr->Value(); uint16_t styles = 0; - out.writeBinaryUInt16(val.size() + sizeof(styles)); - out.writeBinaryUInt16(styles); - out.write((const void*)val.data(), val.size()); - } - break; - case ECDXType::CDXDate: { + _output.writeBinaryUInt16(val.size() + sizeof(styles)); + _output.writeBinaryUInt16(styles); + _output.write((const void*)val.data(), val.size()); } break; case ECDXType::CDXUINT8: case ECDXType::CDXINT8: { - int8_t val = pAttr->IntValue(); - out.writeBinaryUInt16(sizeof(val)); - out.writeByte(val); + int8_t val; + switch (tag) + { + case kCDXProp_CaptionJustification: + case kCDXProp_Justification: + case kCDXProp_LabelJustification: + val = kTextJustificationStrToInt.at(pAttr->Value()); + break; + case kCDXProp_LabelAlignment: + case kCDXProp_Node_LabelDisplay: + val = kLabelAlignmentStrToInt.at(pAttr->Value()); + break; + case kCDXProp_Atom_Radical: + val = kRadicalStrToId.at(pAttr->Value()); + break; + case kCDXProp_Bond_CIPStereochemistry: + val = kCIPBondStereochemistryIndexToChar.at(pAttr->Value()[0]); + break; + case kCDXProp_Atom_CIPStereochemistry: + val = kCIPStereochemistryCharToIndex.at(pAttr->Value()[0]); + break; + case kCDXProp_Arrow_Type: + val = kCDXProp_Arrow_TypeStrToID.at(pAttr->Value()); + break; + default: + val = pAttr->IntValue(); + break; + } + _output.writeBinaryUInt16(sizeof(val)); + _output.writeByte(val); } break; case ECDXType::CDXINT16: case ECDXType::CDXUINT16: { int16_t val = pAttr->IntValue(); - out.writeBinaryUInt16(sizeof(val)); - out.writeBinaryUInt16(val); + switch (tag) + { + case kCDXProp_Graphic_Type: + val = kCDXPropGraphicTypeStrToID.at(pAttr->Value()); + break; + case kCDXProp_Rectangle_Type: { + auto vecs = split(pAttr->Value(), ' '); + for (auto str_val : vecs) + val |= kRectangleTypeStrToInt.at(str_val); + } + break; + case kCDXProp_BondSpacing: + val *= kBondSpacingMultiplier; + break; + case kCDXProp_Line_Type: + val = kLineTypeStrToInt.at(pAttr->Value()); + break; + case kCDXProp_Arrow_Type: + val = kCDXProp_Arrow_TypeStrToID.at(pAttr->Value()); + break; + case kCDXProp_Arrow_ArrowHead_Head: + case kCDXProp_Arrow_ArrowHead_Tail: + val = kCDXProp_Arrow_ArrowHeadStrToInt.at(pAttr->Value()); + break; + } + + _output.writeBinaryUInt16(sizeof(val)); + _output.writeBinaryUInt16(val); } break; case ECDXType::CDXINT32: case ECDXType::CDXUINT32: { int32_t val = pAttr->IntValue(); - out.writeBinaryUInt16(sizeof(val)); - out.writeBinaryInt(val); + if (tag == kCDXProp_ChainAngle) + val <<= 16; + _output.writeBinaryUInt16(sizeof(val)); + _output.writeBinaryInt(val); } break; - case ECDXType::CDXPoint2D: case ECDXType::CDXPoint3D: + case ECDXType::CDXPoint2D: case ECDXType::CDXRectangle: { std::string values = pAttr->Value(); - std::stringstream ss(values); - std::string val_str; - std::vector vec_strs; - while (std::getline(ss, val_str, ' ')) - vec_strs.push_back(val_str); + auto vec_strs = split(values, ' '); + if (vec_strs.size() % 2 == 0) + { + for (int i = 0; i < vec_strs.size(); i += 2) + std::swap(vec_strs[i], vec_strs[i + 1]); + } - out.writeBinaryUInt16(sizeof(int32_t) * vec_strs.size()); + _output.writeBinaryUInt16(sizeof(int32_t) * vec_strs.size()); for (const auto& v : vec_strs) { - int32_t coord = ceil(std::stod(v) * (1 << 16)); - out.writeBinaryInt(coord); + int32_t coord = std::stof(v) * (1 << 16); + _output.writeBinaryInt(coord); } } break; case ECDXType::CDXCoordinate: { - int32_t coord = ceil(pAttr->DoubleValue() * (1 << 16)); - out.writeBinaryUInt16(sizeof(coord)); - out.writeBinaryInt(coord); - } - break; - - case ECDXType::CDXRepresentsProperty: { - } - break; - - case ECDXType::CDXBooleanImplied: { - // no need to write anything + int32_t coord = pAttr->FloatValue() * (1 << 16); + _output.writeBinaryUInt16(sizeof(coord)); + _output.writeBinaryInt(coord); } break; + case ECDXType::CDXBooleanImplied: case ECDXType::CDXBoolean: { uint8_t val = std::string(pAttr->Value()) == "yes" ? 1 : 0; - out.writeBinaryUInt16(sizeof(val)); - out.writeByte(val); + _output.writeBinaryUInt16(sizeof(val)); + _output.writeByte(val); } break; case ECDXType::CDXObjectID: { uint32_t val = pAttr->IntValue(); - out.writeBinaryUInt16(sizeof(val)); - out.writeBinaryInt(val); - } - break; - - case ECDXType::CDXFontTable: { - } - break; - - case ECDXType::CDXColorTable: { - } - break; - - case ECDXType::CDXColorTableCDXINT16: { - } - break; - - case ECDXType::CDXElementList: { - } - break; - - case ECDXType::CDXFormula: { - } - break; - - case ECDXType::CDXObjectIDArray: { - } - break; - - case ECDXType::CDXObjectIDArrayWithCounts: { - } - break; - - case ECDXType::CDXGenericList: { - } - break; - - case ECDXType::CDXFLOAT64: { + _output.writeBinaryUInt16(sizeof(val)); + _output.writeBinaryInt(val); } break; - - case ECDXType::CDXINT16ListWithCounts: { - } - break; - case ECDXType::CDXUnformatted: { std::string values = pAttr->Value(); std::vector bytes_vector; - std::stringstream converter; for (int i = 0; i < values.size(); i += 2) { - uint8_t val; - converter << std::hex << values.substr(i, 2); + uint32_t val; + std::string hex_str = values.substr(i, 2); + std::stringstream converter; + converter << std::hex << hex_str; converter >> val; bytes_vector.push_back(val); } - out.writeBinaryUInt16(bytes_vector.size()); - out.write(bytes_vector.data(), bytes_vector.size()); - } - break; - - case ECDXType::CDXCurvePoints: { + _output.writeBinaryUInt16(bytes_vector.size()); + _output.write(bytes_vector.data(), bytes_vector.size()); } break; - case ECDXType::CDXCurvePoints3D: { + case ECDXType::CDXObjectIDArray: { + std::string values = pAttr->Value(); + auto vals = split(values, ' '); + _output.writeBinaryUInt16(vals.size() * sizeof(int32_t)); + for (const auto& val : vals) + _output.writeBinaryInt(std::stoi(val)); } break; - case ECDXType::CDXvaries: { - } - break; + case ECDXType::CDXDate: + case ECDXType::CDXRepresentsProperty: + case ECDXType::CDXFontTable: + case ECDXType::CDXColorTable: + case ECDXType::CDXElementList: + case ECDXType::CDXFormula: + case ECDXType::CDXObjectIDArrayWithCounts: + case ECDXType::CDXGenericList: + case ECDXType::CDXFLOAT64: + case ECDXType::CDXINT16ListWithCounts: + case ECDXType::CDXCurvePoints: + case ECDXType::CDXCurvePoints3D: + case ECDXType::CDXvaries: + case ECDXType::CDXFontStyle: + throw Error("Unsupported type: %d", cdx_type); + break; + default: + break; } } @@ -262,7 +331,7 @@ void MoleculeCdxmlSaver::beginDocument(Bounds* bounds) int max_height = (int)((_max_page_height * _bond_length / dpi_logical + 1) * dpi_print); if (height > max_height) { - _pages_height = (int)ceil((float)height / max_height); + _pages_height = (int)round((float)height / max_height); height = max_height; } @@ -1448,38 +1517,129 @@ void MoleculeCdxmlSaver::endPage() _current = _root; } -bool MoleculeCdxmlSaver::writeBinaryAttributes(tinyxml2::XMLElement* pElement, int16_t tag) +void MoleculeCdxmlSaver::writeBinaryAttributes(tinyxml2::XMLElement* pElement) { - switch (tag) - { - case kCDXProp_FontTable: - // write font_table, elem - return false; - break; - case kCDXProp_ColorTable: - return false; - break; - default: - break; - } - for (auto pAttr = pElement->FirstAttribute(); pAttr; pAttr = pAttr->Next()) { if (pAttr->Name() == std::string("id")) continue; auto prop_it = KCDXNameToProp.find(pAttr->Name()); - if (prop_it != KCDXNameToProp.end()) { - printf("property: %s tag: %x\n", prop_it->first.c_str(), prop_it->second.first); - writeBinaryValue(pAttr, prop_it->second.first, prop_it->second.second, _output); + writeBinaryValue(pAttr, prop_it->second.first, prop_it->second.second); } else { - printf("Undefined property: %s\n", pAttr->Name()); + if (std::string("NeedsClean") != pAttr->Name()) + { + throw Error("Undefined property: %s\n", pAttr->Name()); + } } } - return true; +} + +void MoleculeCdxmlSaver::writeIrregularElement(tinyxml2::XMLElement* pElement, int16_t tag) +{ + switch (tag) + { + case kCDXProp_FontTable: { + std::vector font_table; + uint16_t total_size = sizeof(uint16_t) * 2; // platform type + fonts counter + for (auto pElem = pElement->FirstChildElement(); pElem; pElem = pElem->NextSiblingElement()) + { + if (std::string(pElem->Name()) == "font") + { + CDXFont font; + for (auto pAttr = pElem->FirstAttribute(); pAttr; pAttr = pAttr->Next()) + { + std::string attr_name = pAttr->Name(); + if (attr_name == "id") + font.font_id = pAttr->IntValue(); + else if (attr_name == "charset") + { + font.char_set = kCharsetStrToInt.at(pAttr->Value()); + } + else if (attr_name == "name") + font.name = pAttr->Value(); + } + font_table.push_back(font); + total_size += sizeof(uint16_t) * 3 + font.name.size(); // font id + charset + name length + name + } + } + + _output.writeBinaryUInt16(total_size); + _output.writeBinaryUInt16(0); // platform type + _output.writeBinaryUInt16(font_table.size()); + + for (const auto& ft : font_table) + { + _output.writeBinaryUInt16(ft.font_id); + _output.writeBinaryUInt16(ft.char_set); + _output.writeBinaryUInt16(ft.name.size()); + _output.write(ft.name.c_str(), ft.name.size()); + } + } + break; + case kCDXProp_ColorTable: { + std::vector color_table; + for (auto pElem = pElement->FirstChildElement(); pElem; pElem = pElem->NextSiblingElement()) + { + float r = 0, g = 0, b = 0; + for (auto pAttr = pElem->FirstAttribute(); pAttr; pAttr = pAttr->Next()) + { + const char* pcol = pAttr->Name(); + switch (*pcol) + { + case 'r': + r = pAttr->FloatValue(); + break; + case 'g': + g = pAttr->FloatValue(); + break; + case 'b': + b = pAttr->FloatValue(); + break; + } + } + color_table.emplace_back(r, g, b); + } + _output.writeBinaryUInt16(color_table.size() * sizeof(CDXColor) + sizeof(uint16_t)); + _output.writeBinaryUInt16(color_table.size()); + for (const auto& rgb : color_table) + { + _output.write(&rgb, sizeof(rgb)); + } + } + break; + case kCDXProp_RepresentsProperty: { + AutoInt rp_obj = 0; + uint16_t rp_tag = 0; + for (auto pAttr = pElement->FirstAttribute(); pAttr; pAttr = pAttr->Next()) + { + std::string rp_attr = pAttr->Name(); + if (rp_attr == "attribute") + { + auto prop_it = KCDXNameToProp.find(pAttr->Value()); + if (prop_it != KCDXNameToProp.end()) + rp_tag = prop_it->second.first; + } + else if (rp_attr == "object") + rp_obj = std::string(pAttr->Value()); + } + if (rp_tag && rp_obj) + { + _output.writeBinaryUInt16(sizeof(rp_obj) + sizeof(rp_tag)); + _output.writeBinaryInt(rp_obj); + _output.writeBinaryUInt16(rp_tag); + } + else + _output.writeBinaryUInt16(0); + } + break; + default: + throw Error("Unexpected irregular property: %x", tag); + break; + } } void MoleculeCdxmlSaver::writeBinaryElement(tinyxml2::XMLElement* element) @@ -1494,29 +1654,35 @@ void MoleculeCdxmlSaver::writeBinaryElement(tinyxml2::XMLElement* element) { tag = it->second; _output.writeBinaryUInt16(tag); + if (tag < kCDXTag_Object) + { + writeIrregularElement(element, tag); + return; + } } + else + throw Error("Unknown object: %s", objname.c_str()); auto id_attribute = element->FindAttribute("id"); if (id_attribute) id = id_attribute->IntValue(); _output.writeBinaryInt(id); - printf("obj name: %s tag=%x id=%d\n", objname.c_str(), tag, id); } else tag = -1; - auto prop_it = KCDXNameToProp.find(objname); - if (prop_it != KCDXNameToProp.end()) - { - printf("irregular object-property: %s tag: %x\n", prop_it->first.c_str(), prop_it->second.first); - } - else if (!tag) + if (!tag && KCDXNameToProp.find(objname) == KCDXNameToProp.end()) throw Error("undefined object: %s", objname.c_str()); - if (writeBinaryAttributes(element, tag)) // go deeper if required + writeBinaryAttributes(element); // save attributes + if (tag == kCDXObj_Text) // at this point all text attributes are saved. Need to handle only - 's' entries { + writeBinaryTextValue(element); + } + else for (auto elem = element->FirstChildElement(); elem; elem = elem->NextSiblingElement()) writeBinaryElement(elem); - } + + _output.writeBinaryUInt16(0); } void MoleculeCdxmlSaver::endDocument() @@ -1528,6 +1694,7 @@ void MoleculeCdxmlSaver::endDocument() _output.write(kCDXReserved, sizeof(kCDXReserved)); auto cdxml = _doc->FirstChildElement(); writeBinaryElement(cdxml); + _output.writeBinaryUInt16(0); } else { diff --git a/core/indigo-core/reaction/src/reaction_cdxml_saver.cpp b/core/indigo-core/reaction/src/reaction_cdxml_saver.cpp index 6dfa970e1c..5314c41ef4 100644 --- a/core/indigo-core/reaction/src/reaction_cdxml_saver.cpp +++ b/core/indigo-core/reaction/src/reaction_cdxml_saver.cpp @@ -82,7 +82,7 @@ void ReactionCdxmlSaver::saveReaction(BaseReaction& rxn) std::vector> nodes_ids; - MoleculeCdxmlSaver molsaver(_output); + MoleculeCdxmlSaver molsaver(_output, _is_binary); MoleculeCdxmlSaver::Bounds b; molsaver.beginDocument(NULL); @@ -321,9 +321,12 @@ void ReactionCdxmlSaver::_addStep(BaseReaction& rxn, MoleculeCdxmlSaver& molsave } else { - auto& rb = rxn.reactionBlock(arrow_id.second); - for (auto i : rb.reactants) - buf_out.printf("%d ", mol_ids[i]); + if (rxn.reactionBlocksCount()) + { + auto& rb = rxn.reactionBlock(arrow_id.second); + for (auto i : rb.reactants) + buf_out.printf("%d ", mol_ids[i]); + } } if (buf.size() > 1) @@ -344,9 +347,12 @@ void ReactionCdxmlSaver::_addStep(BaseReaction& rxn, MoleculeCdxmlSaver& molsave } else { - auto& rb = rxn.reactionBlock(arrow_id.second); - for (auto i : rb.products) - buf_out.printf("%d ", mol_ids[i]); + if (rxn.reactionBlocksCount()) + { + auto& rb = rxn.reactionBlock(arrow_id.second); + for (auto i : rb.products) + buf_out.printf("%d ", mol_ids[i]); + } } if (buf.size() > 1) diff --git a/utils/indigo-depict/main.c b/utils/indigo-depict/main.c index 37423a871d..71416a88ef 100644 --- a/utils/indigo-depict/main.c +++ b/utils/indigo-depict/main.c @@ -246,6 +246,7 @@ enum OEXT_KET, OEXT_KER, OEXT_CDX, + OEXT_CDR, OEXT_CDXML, OEXT_CDXMLR, OEXT_SMI, @@ -877,6 +878,8 @@ int main(int argc, char* argv[]) p.out_ext = OEXT_CDXMLR; else if (strcmp(p.outfile_ext, "cdx") == 0) p.out_ext = OEXT_CDX; + else if (strcmp(p.outfile_ext, "cdr") == 0) + p.out_ext = OEXT_CDR; // guess whether to layout or render by extension p.action = ACTION_LAYOUT; @@ -973,10 +976,13 @@ int main(int argc, char* argv[]) indigoSaveRxnfileToFile(obj, p.outfile); else if (p.out_ext == OEXT_CDXML || p.out_ext == OEXT_CDXMLR) indigoSaveCdxmlToFile(obj, p.outfile); + else if (p.out_ext == OEXT_CDX || p.out_ext == OEXT_CDR) + { + indigoSaveCdxToFile(obj, p.outfile); + } else { indigoSaveJsonToFile(obj, p.outfile); - printf("smiles: %s\n", indigoSmiles(obj)); } } else diff --git a/utils/indigo-service/backend/service/v2/indigo_api.py b/utils/indigo-service/backend/service/v2/indigo_api.py index 3e7620f2a9..72a071da3d 100644 --- a/utils/indigo-service/backend/service/v2/indigo_api.py +++ b/utils/indigo-service/backend/service/v2/indigo_api.py @@ -373,6 +373,8 @@ def save_moldata(md, output_format=None, options={}, indigo=None): return md.struct.cml() elif output_format == "chemical/x-cdxml": return md.struct.cdxml() + elif output_format == "chemical/x-cdx": + return md.struct.b64cdx() elif output_format == "chemical/x-inchi": return indigo.inchi.getInchi(md.struct) elif output_format == "chemical/x-inchi-key": diff --git a/utils/indigo-service/backend/service/v2/validation.py b/utils/indigo-service/backend/service/v2/validation.py index ec942265fc..c9917be878 100644 --- a/utils/indigo-service/backend/service/v2/validation.py +++ b/utils/indigo-service/backend/service/v2/validation.py @@ -21,6 +21,7 @@ class InputFormatSchema(Schema): "chemical/x-inchi-aux", "chemical/x-chemaxon-cxsmiles", "chemical/x-cdxml", + "chemical/x-cdx", ) input_format = fields.Str(missing=None, validate=OneOf(struct_mime_types))