Repository: TheHydrophobicityProject/HydrophobicityExplorer (language: python)

Issue:
Progress bar
Add colored progress bars to conformer optimization step. It's reassuring to have visual feedback at the intermediate steps in addition to the announcement the next size polymer is being optimized.

This adds a small dependency, but once the build options are updated this will not significantly impact the build times.


Discussion / hints:

Fix patch:
diff --git a/.gitignore b/.gitignore
index d0f41a4..1e5e34c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -18,9 +18,6 @@ conda-out/*
 # Compiled python modules.
 *.pyc
 
-#Musescore files.
-*.mscz
-
 # Byte-compiled / optimized / DLL files
 __pycache__/
 *.py[cod]
@@ -173,3 +170,4 @@ cython_debug/
 #  and can be added to the global gitignore or merged into this file.  For a more nuclear
 #  option (not recommended) you can uncomment the following to ignore the entire idea folder.
 #.idea/
+hydrophobicity_explorer/HXSettings.json
diff --git a/Notes.txt b/Notes.txt
index 2fd024a..25d6eaa 100644
--- a/Notes.txt
+++ b/Notes.txt
@@ -5,7 +5,6 @@ https://www.rdkit.org/docs/source/rdkit.Chem.rdForceFieldHelpers.html
 m2.SetProp("_Name","cyclobutane")
 
 TODO
-Colored progress bar when optimizing many lengths of the same polymer.
 visualizations of polymers at different nitters on plot
 plotting jobs need to be able to interpret groups of files (or all should be stored in one big file)
 Maybe use ID and _name values to sort out conformer numbers and n=? issue since number of conformers won't be consistent and it is hard to 
diff --git a/README.md b/README.md
index 9867c38..18d2324 100644
--- a/README.md
+++ b/README.md
@@ -171,7 +171,10 @@ Some settings are not accessible with command-line arguments. Defaults are hardc
     "MV_gridSpacing":0.2, #Used for molar volume calculation.
     "MV_boxMargin" :2.0, #Used for molar volume calculation.
     "plot_dataPoint":"o", #Matplotlib argument to change plot point appearence.
-    "plot_Filename":"Size-dependent-stats.png" #name of plot.
+    "plot_Filename":"Size-dependent-stats.png", #name of plot.
+    "dielectricModel": 2, #Model 1 is constant; model 2 is distant-dependent
+    "dielectricConstant": 78, #Dielectric constant 78 corresponds to water
+    "NB_THRESH": 100 #Value to cut off long-distance interactions. 100 is rdkit default.
 }
 ```
 Some of the values are used by external functions and others by functions in this program. If it is desired to change the appearence of the plot points from blue circles to red pluses, change `"plot_dataPoint":"o"` to `"plot_dataPoint":"r+"`, as per the [matplotlib documentation](https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.plot.html).
diff --git a/conda/meta.yaml b/conda/meta.yaml
index b795e00..3c0333a 100644
--- a/conda/meta.yaml
+++ b/conda/meta.yaml
@@ -18,6 +18,7 @@ requirements:
     - scipy
     - matplotlib-base
     - rdkit
+    - tqdm
 
 build:
   script: python3 setup.py install
@@ -37,6 +38,7 @@ test:
     - hydrophobicity_explorer
     - pandas
     - matplotlib
+    - tqdm
 
   commands:
     - makePol -h
diff --git a/hydrophobicity_explorer/MakePolymer.py b/hydrophobicity_explorer/MakePolymer.py
index 0c3fc61..07d941d 100644
--- a/hydrophobicity_explorer/MakePolymer.py
+++ b/hydrophobicity_explorer/MakePolymer.py
@@ -1,7 +1,8 @@
 from functools import cache
-import argparse, os, json, pandas
+import argparse, os, json, pandas, tqdm
 from scipy.optimize import curve_fit
 import matplotlib.pyplot as plt
+import rdkit
 from rdkit import Chem
 from rdkit.Chem import AllChem, Draw, Descriptors, rdFreeSASA
 from hydrophobicity_explorer.smiles import monomer_dict, init_dict, checkAndMergeSMILESDicts
@@ -34,10 +35,12 @@ def getStaticSettings():
     """
     Reads the settings file if it exists in CWD. Otherwise uses the default settings.
     """
-    if os.path.exists("hydrophobicity_explorerSettings.json"):
+    expected_settings_path = "HXSettings.json"
+
+    if os.path.exists(expected_settings_path):
         from hydrophobicity_explorer.settings import readJson
-        print("NOTICE: found hydrophobicity_explorerSettings.json. This takes presedence over the built-in settings.")
-        settings_dict = readJson("hydrophobicity_explorerSettings.json")
+        print(f"NOTICE: found {expected_settings_path}. This takes presedence over the built-in settings.")
+        settings_dict = readJson(expected_settings_path)
     else:
         from hydrophobicity_explorer.settings import default_dict as settings_dict
 
@@ -301,8 +304,21 @@ def createPolymerObj(i, n, r, t, *, verbosity=False, test=False):
     else:
         return POL
    
-def optPol(FLAT, nConfs=5, threads=0, iters=1500):
-    #optimizes the Polymer and uses only the conformers that converged
+def optPol(FLAT, nConfs=5, threads=0, iters=1500, rdkit_params={"dielectricModel": 2, "dielectricConstant": 78, "NB_THRESH": 100}):
+    """
+    Optimizes the Polymer and uses only the conformers that converged
+
+    Arguments: FLAT, a 2D 2dkit mol object
+    nConfs: int, number of conformations to try
+    threads: int, number of threads to use for generating conformations
+    iters: int, maximum number of iterations to try and converge optimizations
+
+    rdkit_params: dict, must contain the following values:
+        dielectricModel: int, model 1 is constant; model 2 is distant-dependent
+        dielectricConstant: int, Dielectric constant 78 corresponds to water
+        NB_THRESH: int, Value to cut off long-distance interactions. 100 is rdkit default.
+    """
+   
     #check mol
     Chem.SanitizeMol(FLAT)
     #opt steps
@@ -311,12 +327,28 @@ def optPol(FLAT, nConfs=5, threads=0, iters=1500):
     ids = AllChem.EmbedMultipleConfs(
         pol_h, numConfs=nConfs, useRandomCoords=True,
         numThreads=threads)  #get multiple conformers for better stats
-    touple_list = AllChem.MMFFOptimizeMoleculeConfs( #touples are (conv, conf), where conv is 0 or 1 for whether an optimization is not converged.
-        pol_h, numThreads=threads,
-        maxIters=iters)  #rdkit default 200 iterations.
-    for i, tup in enumerate(touple_list):
-        if tup[0] == 1:  #not converged
-            pol_h.RemoveConformer(i)
+     
+    #unpack rdkit_params
+    dielectricModel=rdkit_params["dielectricModel"]
+    dielectricConstant=rdkit_params["dielectricConstant"]
+    NB_THRESH=rdkit_params["NB_THRESH"]
+
+    props = AllChem.MMFFGetMoleculeProperties(pol_h)
+    rdkit.ForceField.rdForceField.MMFFMolProperties.SetMMFFDielectricConstant(props,dielectricConstant)
+    rdkit.ForceField.rdForceField.MMFFMolProperties.SetMMFFDielectricModel(props,dielectricModel)
+
+    for CONF_ID in tqdm.trange(nConfs, desc=f"Optimizing Conformers", ncols=80, colour='MAGENTA'):
+        ff = AllChem.MMFFGetMoleculeForceField(pol_h, props, nonBondedThresh=NB_THRESH, confId=CONF_ID)
+        # print(f"Initial energy = {ff.CalcEnergy()}")
+        ff.Initialize()
+        converged = ff.Minimize(iters)
+        # print(f"Now calc energy = {ff.CalcEnergy()}")
+        # ff = AllChem.MMFFGetMoleculeForceField(pol_h, props, nonBondedThresh=NB_THRESH, confId=CONF_ID)
+        # print(f"True calc energy = {ff.CalcEnergy()}")
+        if  converged == 1:
+            print(f"minimization failed for conformer {CONF_ID}!")
+            pol_h.RemoveConformer(CONF_ID)
+    
     if pol_h.GetNumConformers() == 0: #all conformations have failed to converge. Tell the user to change something.
         raise Exception("Optimization failed to converge. Increase maxIters valve in mhpSettings.json and rereun.")
     
@@ -363,7 +395,7 @@ def confirmStructure(smi, *, proceed=None):
     if proceed is not None:
         return inp #used to stop plotting jobs from asking for confirmation for each pol those jobs generate.
 
-def make_One_or_More_Polymers(i, n, r, t, *, verbosity=False, plot=False, confirm=False, defaults={"opt_numConfs":5, "opt_numThreads":0, "opt_maxIters":1500}):
+def make_One_or_More_Polymers(i, n, r, t, *, verbosity=False, plot=False, confirm=False, defaults={"opt_numConfs":5, "opt_numThreads":0, "opt_maxIters":1500, "dielectricModel": 2, "dielectricConstant": 78, "NB_THRESH": 100}):
     # Makes polymers specified by user.
     POL_LIST = []
     if i == "Hydrogen" and t == "Hydrogen":
@@ -403,7 +435,8 @@ def make_One_or_More_Polymers(i, n, r, t, *, verbosity=False, plot=False, confir
             POL.suppl = optPol(POL.flat,
                                nConfs=defaults["opt_numConfs"],
                                threads=defaults["opt_numThreads"],
-                               iters=defaults["opt_maxIters"])
+                               iters=defaults["opt_maxIters"],
+                               rdkit_params=defaults)
         return POL_LIST
     else: #just one polymer.
         test_smi, POL = createPolymerObj(i, n, r, t, verbosity=verbosity, test=True)
@@ -419,7 +452,8 @@ def make_One_or_More_Polymers(i, n, r, t, *, verbosity=False, plot=False, confir
             POL.flat,
             nConfs=defaults["opt_numConfs"],
             threads=defaults["opt_numThreads"],
-            iters=defaults["opt_maxIters"])  #both are mol objects
+            iters=defaults["opt_maxIters"],  #both are mol objects
+            rdkit_params=defaults)
         return POL
 
 
@@ -764,7 +798,8 @@ def main(**kwargs):
                     POL.suppl = optPol(POL.flat,
                                        nConfs=default_dict["opt_numConfs"],
                                        threads=default_dict["opt_numThreads"],
-                                       iters=default_dict["opt_maxIters"])
+                                       iters=default_dict["opt_maxIters"],
+                                       rdkit_params=default_dict)
                     if vardict["plot"]:
                         POL_LIST.append(POL)
 
diff --git a/hydrophobicity_explorer/settings.py b/hydrophobicity_explorer/settings.py
index 4414d4e..aa05016 100644
--- a/hydrophobicity_explorer/settings.py
+++ b/hydrophobicity_explorer/settings.py
@@ -9,7 +9,10 @@
     "MV_gridSpacing": 0.2,
     "MV_boxMargin": 2.0,
     "plot_dataPoint": "o",
-    "plot_Filename": "Size-dependent-stats.png"
+    "plot_Filename": "Size-dependent-stats.png",
+    "dielectricModel": 2,
+    "dielectricConstant": 78,
+    "NB_THRESH": 100
 }
 
 
diff --git a/setup.py b/setup.py
index b4ab2f3..d026601 100644
--- a/setup.py
+++ b/setup.py
@@ -9,7 +9,7 @@
     description="Facilitates solubility calculations on a wide range of polymers.",
     long_description=open('README.md').read(),
     long_description_content_type='text/markdown',
-    install_requires=["rdkit", "scipy", "pandas", "matplotlib"],
+    install_requires=["rdkit", "scipy", "pandas", "matplotlib", "tqdm"],
     packages=setuptools.find_packages(),
     classifiers=[
         'Programming Language :: Python',


Test patch:
diff --git a/testing/Set_Dielectric_Constant_PE.ipynb b/testing/Set_Dielectric_Constant_PE.ipynb
new file mode 100644
index 0000000..f54fa24
--- /dev/null
+++ b/testing/Set_Dielectric_Constant_PE.ipynb
@@ -0,0 +1,840 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "id": "22302648",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from hydrophobicity_explorer import MakePolymer\n",
+    "import pandas as pd\n",
+    "import matplotlib.pyplot as plt\n",
+    "import logging\n",
+    "import rdkit\n",
+    "import rdkit.Chem as Chem\n",
+    "from rdkit.Chem import AllChem\n",
+    "from rdkit.Chem.Draw import IPythonConsole\n",
+    "IPythonConsole.ipython_useSVG = True\n",
+    "logging.getLogger().setLevel(logging.INFO)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "id": "a6e90b1c",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "INFO:root:Initial energy = 195.8082320294249\n",
+      "INFO:root:Now calc energy = 28.38446958939889\n",
+      "INFO:root:True calc energy = 28.38446958939889\n"
+     ]
+    },
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcIAAACWCAIAAADCEh9HAAAABmJLR0QA/wD/AP+gvaeTAAAcJUlEQVR4nO3daVhTVxoH8DckbCIIiBtoywgFRRQUV1ABS9VHoQOIinVQQY0+LkirFjtTjHUNFjTV6biUooJLxRkVQWsBFwSXKosgCoJKQyVIZFVZsjIfzkweHlBE7r1JxPf3qU1uzjkx5J97zz0Lq6WlBRBCCHWVjqYbgBBC7zeMUYQQogRjFCGEKMEYRQghSjBGEUKIEoxRhBCiBGMUIYQowRhFCCFKMEYRQogSjFGEEKIEYxQhhCjBGEUIIUowRhFCiBKMUYQQogRjFCGEKMEYRQghSjBGEUKIEoxRhBCiBGMUIYQowRhFCCFKMEYRQogSjFGEEKIEYxQhhCjBGEUIIUowRhFCiBKMUYQQogRjFCGEKMEYRQghSjBGEUKIEoxRhBCiBGMUIYQowRhFCCFKMEYRQogSjFGEEKIEYxQhhCjBGEUIIUowRhFCiBKMUYQQogRjFCGEKMEYRQghSjBGEUKIEoxR9EZisXjx4sUikUjTDUFIq2GMoteQyWQ//PCDnZ1dbGzsyJEjpVKppluEkPbCGO3m7t69u379+t9++626urqTL0lOTnZ0dAwLC6uvrweAxsZGPT09JtuI0PuN1dLSouk2IKZcvHgxICCgublZoVAAgJmZmYODg4uLi4uLy7Bhw4YPH94mHx8+fLh27drz588DgJ2dXVhY2IoVK+zt7YuKijTzBhB6H3A03QDElKioqPDwcKVS+dFHH1lZWd27d6+2tvb69evXr18nBxgaGg4bNszZ2XnEiBFmZmY5OTk//vijVCo1NTXdsGHDl19+mZ+fb2VlNWjQIM2+EYS0HMZoNySVSpcvX37o0CEWi8Xj8Xg8HovFAgCRSJSdnf3gwYP79+9nZ2cXFRVlZWVlZWWRV7FYLBaLFRQUFBUV1bdvXwBobm5evHhxv379lEqljg72/yD0enhR391UV1cHBARcvXrVyMgoPj7ez8/vTUfW19fn5eXl5+fn5eWlpKR8/PHHP/744/Dhw8mzjY2NK1eujI2Nffbs2YABA9TVfITePxij3UpxcbGPj09xcbGlpWViYuLo0aOpFJWYmLh+/Xoam4dQt4RXat1HSkrKuHHjiouLR44ceevWLSoZCgBWVlbkzpJSqaSpgQh1T3g22k388ssvwcHBzc3NgYGBsbGxhoaG1Mu8cuVKeno6h8P59ttvqZeGUHeFt5i6iejoaIVCMX369OPHj5MbStSZm5ufPHnyo48+oqW07qS8vDwwMDA3N3fChAlubm4uLi6urq69e/cmz8rlctKhzGazNdtOpB4Yo90Em82WyWQRERF0ZSgAGBkZFRUVSSQSugrsNtLT0zMzMwEgLS0tLS0NAFgs1pAhQ8aOHbtq1SqBQODl5SWTyZYuXarpliJ1wBjtJoRCIQB8/PHHNJZpZWUFACKRqKWlhcZ07gYeP34MACtWrJg+fXp2djYZjVtYWFhYWDhixIigoKBp06YBgK+vb2JiopmZWevXmpiYsNlsuVze3Ny8dOnSxYsX/+Uvf9HM20A0wRjtDiQSSWVlpa6ubv/+/Wks1tDQ0NTUtK6urqamRnXFigCgsLAQAMaMGePj4+Pj4wMAMpksLy/vzp07ZmZmqp8cMnmstra29WtV/2toaLht27Zt27a5uLhwudx58+YZGxur9W0gmmCMdgdlZWUtLS2DBg2ivTPO0tKyrq5OJBJhjLb24MEDAHBwcFA9oqurO3r06NGjR9fX169cubK6uprNZiclJUG7GH3x4oVCoZDJZHfu3ElJSTl9+nR2dvayZcu++uorf3//hQsXenp64mSH90wLev+lpqYCgKenJ+0le3l5AcDFixdpL/n9JZfLDQ0NWSxWfX39aw+QSCRFRUWvXr3qTGkvXryIjY11d3dXncN+9NFHwcHBEomE1lYjBuGPXnfARMcoYWlpCQC45GhrT548aWpqGjhwoImJyWsP0NPTs7e3NzIy6kxpxsbGwcHBV69eLSsr4/P5tra2ZWVlx44dCw0NpbXViEEYo90BiVEmRiZhjLb35MkTABg6dCi9xQ4cODA8PLy4uHjp0qVSqbShoYHe8hFzMEa7A+bORsls+oqKCtpLfn/17Nlz27Zt4eHhTBTOYrHI9LMePXowUT5iAsaotnj27NmcOXNcXV3Pnj37rvMvmb6oz8vLo73k91ReXl5SUlJYWFgnr9m7gHSStuD0QjoUFBScPXu2qamJ0VowRjWvurp606ZNdnZ2p06dun37tp+f36BBgzZs2FBeXt7JEpiLUQMDA0NDw8zMzGHDhm3atKm0tJT2Kt4vt27dCggI6NGjx7hx4xiqgsQoLmVAi3379vn5+fXu3dvHxycuLu7ly5eMVKPpe1wftLq6uo0bN5LRgiwWy9vbe/HixTY2NuSj0dfX/+KLLzIyMjouRC6X6+rqslispqYmJhr5xRdfmJqakibp6OhMmTIlNjb2TTepu72kpKSEhARGq/j5558BICQkhNFaPhAHDx4cO3asahSEoaGhv7//sWPH6P0DxhjVjFevXvH5fHNzc/Lpenl5ZWVlkacUCkVqaurs2bM5nP+N6h0yZAifz6+pqWlTiEQiOXfunK+vL5vNNjY2Zq61crk8NTU1KChIdSVrYGDg7e2dkJDwoY3LkcvlGzdu5PF48fHxDFURGxsLAMHBwQyV/wEqKysjM3RVA6v19fW9vLwEAkFlZSX18jFGNWDdunVkeXkA+PTTT2/cuPHaw8rLy/l8/sCBA8mRxsbGXC737t27SqUyMzNz+fLlqhTW09Pbvn27GlpeV1cXExPj4eGhGh9uYWEREBBw//59NdSuDZKTk93d3ffv389cFYcPHwaAhQsXMlfFB6u8vHzv3r0eHh6qPOVwODNnzqRYLMaouv3yyy/kEn78+PFpaWlvPV4ikZw4cWLy5MmqfpjWwxWdnZ2jo6PJtHd1evr0qUAgGDVqFPlDtLW1VXMDNCUiIgIA/v73vzNXxZEjRwBgwYIFzFWBqqqqjhw54u3tzWKxzM3Nb926RaU0jFF12759OwB4eHi86wuLiorCw8MNDQ3Nzc0tLS1DQ0Ozs7OZaOE7uXLlCgAYGRlpuiFq4uvrCwAnTpxgror4+HgA+Nvf/sZcFUjFzs4OACheTuGcenXLyMgAgGXLlr3rC+3t7fl8flhYWGlp6bhx47Rk2rWHh4e+vn5DQ0Nzc7OBgYGmm8O4e/fuAcCIESOYqwIHPKmf6j5E12jFV/HDoVAobty4AQCtL9LfSf/+/SdMmKAlGUpYWFgAwPPnzzXdEMY1NDSUlpbq6+t/8sknzNVCPlwc8KQecrkcMEbfL7m5ufX19ba2tmRYe/dAbpeJxWJNN4Rx9+7dUyqVQ4cO1dXVZa4WsrweGQuMmEZLjOJFvVpdu3YNKJyKaicSo9p/NtrU1HT27FlfX98ub1RFruhVe1AzhMymv3HjhrW19V//+tdFixaNHDmS0Rq7LDEx8fHjx3PnziUrfAOARCL5888/hUJhWVmZUCjMz88fMGDA1q1b26xdrT0wRt8/3TJG+/TpA1p/NlpTU2Nvb08GXTs5OXl5eXl5eU2aNElfX7/zhagnRpctW3b16tX09HShULhnz549e/Y4OzvPmzcvMDBQq/bFOn78uFQqXbp06aNHj9avX19aWioUCp89e9amV5fD4UgkkpiYGE21s2MkRqku1EvL3S7UGUqlkix+/OTJE023hU5fffUVAHz//feabkhHdu7cCQD6+vqtu5WNjIymTZsWGRl5+/ZtuVz+ptcqFIqKioq8vDxyV1c9q68qFIqMjIzQ0FDyK0W4uLgIBILHjx+roQEdaGhouH379sqVK5ubm8kjqtHNurq61tbW7u7uCxYsiIiIWL16NQD06tWrrq5Os21+E/KVrKqqolKIVsTokSNHdu7cWV5erumGMCs/Px8ABg4cqOmG0GzHjh0A8PXXX9Ne8m+//ebs7Ozh4REVFUXmHXStHKlUOmjQIJKA1dXVp0+fXr169bBhw1qfT5iamn7++ecLFiyIjIz8xz/+sWjRohkzZowcObLNBp9mZmYlJSX0vs2ONTc3nzt3LigoqGfPnqr0f/TokTrboFJcXBweHt67d28LC4vNmzerxgldvHgxMzPzzz//bP9rRK69IiMj1d7YTgkLC+NyuQ0NDVQK0WSMSqXShIQEssQDm83u2bNneHi41v5qUffPf/4TuuN4QDIHnInJi23GJPTp02f27NkHDhxQnc5XVlZmZmY2NjZ2XM6hQ4cAYPjw4W2CuLKyMiEhITQ01MXFhVShp6f32ou2vn37Ojo6jho16sCBA7S/zU56+fLl0aNHe/XqBQA7d+5UZ9Uymez06dNeXl6qyemurq55eXlr16799ttvL1261MFrL168CAD9+vV768ekfiKRaNWqVTweLzk5mUo5monR2trayMhI1YVA3759Vf/du3fvHTt2vHz5sjPlnD592tPTc8GCBWqb2U3lT2HOnDkAoMHvIUPOnTsHANRn1LVRUFDAYrGMjIxiYmJCQkLadAva2tqeP3+ey+WmpqaeOXOm46KcnJwAIC4uroNjysrKYmJi3Nzc5s2bt3nz5p9++ikpKenOnTtPnz6VSqW0vjNKyIjjffv2qae6kpISPp+vWjzMwMAgKCgoNzf3nQoZM2YMAOzdu5ehRnbZxo0b//jjD+rlqDtGS0tLw8PDVSsG2dnZCQQCkk2ZmZmffvopedzCwoLH47148eJN5Tx48MDb21t1+mBra8v0ujtisXjhwoXff//90aNHu1YCGeRUWFhIb8M07tatWwAwduxYeotdsmQJAKxevVr1yOPHjw8cODB79mxzc3MDA4OtW7c+fPiQPFVQUNB+6RbiwoULAGBlZdU9VlEhPdFRUVFqqKukpES1WamdnR2fz6+uru5COf/5z38AYNCgQdr2EaxevZqWc2S1xujOnTtJ/w6Lxfrss88uXrzYvrcrIyPD09NTdRHH5/PbvM/y8vKQkBByrWdmZubv7z9kyBBy/GeffVZQUEC9nZWVlZMnTx7cioWFRVRU1J07d8gBOTk5paWlnS9QKpWSOaC9e/fucgef1iKbtltbW9NYplgsJtvGFRUVtX9WLpcXFRX98MMPqumw48aNY7PZbm5uAoHg+fPnrQ8mf05afges88ik/u+++04Nde3btw8ATExMLl26ROXvVqlUOjo6AkBsbCyNzaMuOTl5x44dDx8+LC4uplKO+mJUqVSam5tzOBxvb++8vLyOD87IyHB3d1dd8pMwbWho4PP55OdRV1eXy+WSRa5kMtmBAwfIDU0Oh8PlcsViMZWm+vj4tB8AsW3bNlVGu7m5AcCAAQNIV10Hd06zsrJCQ0PJyMqePXu6u7tTaZh2qqqq0tPT69GjRyf3wuyMzZs3A8Dnn3/ewTFisXjRokWRkZEJCQlTp05tvQaaj49PfHx8fX19VlYWCYJu0+fO5/MBIDw8XA11kZuH69ato14UWSjA1ta2gxER6lddXX3s2LF//etfZIvyLlNfjP7+++8AMHDgwM7/rCUnJ6v6/s3MzFRdAQEBAe3vltbU1ISGhpJhtGZmZnw+v8tXEGvWrAGAiIiIx/8nFotLSkpCQkJSUlIuXbo0Z86cNvu2W1tbL1y48PDhw+QstaSkhMfj2draqg5wdHRct24dxRuCWouMDxcIBLSUJpFIyB5QV65ceevBqn9SsVi8f//+KVOmqPLUwMCA/LiuX7+eloZpgz179gDAqlWr1FBXSEgIXb35crmcfB1OnjzZ8ZGFhYVvPc2iS0JCAgD4+/tTLEd9Mfr1118DwJo1a971hampqS4uLhwOp0ePHmPGjElPT+/g4KKiohkzZpBvkb29/fnz59scIBQKz5w5ExERMXPmTCcnp4qKivaFhIWFAcDu3bvbPF5VVZWZmUn64BQKxd27dwUCga+vb5tIJfdSCSsrq3Xr1t29e/dd3/X7JSkpifxGdvzTJRaLv/vuOy6Xe/ny5Q6OJCvFtb+x3kmqNdA4HA6bzTY1NaXlNoKWYG5cRHuTJk0CgMuXL9NS2v79+wHAycmp9cdaXl6empoqEAi4XK6Xlxf52WOxWGvXrqWl0o7t3r2blt8k9cUo2Rvj2rVrXXitUqk8dOjQ8ePHO/m9OnPmjGorjmnTpvF4vPDw8KlTp5JFNFTIvh3tX/7ll18CwK5duzrfQtXdDwsLCz09PX19/dmzZ587d04mk3W+kPeXUql0dnZ+beeXXC7Pysri8/lubm6kR5tMHOrRo4eXlxefz8/KymrzsZKtMQ8fPkyxVSKRiOwfRbEcrULWq50zZ44a6urfvz8AULzgVWlubiZzRn19fYOCglxcXF67LSC5fWJhYdHBHWa6rFu3DgB27NhBsRw1xWhOTg4A9O/fX209I1KpVCAQ9OrVi8VitRl7OG3atG+++Wb+/Plv6mMiN0Ojo6O7UK9cLs/Nze3aDc332tGjR8kVgEKhaGlpEQqFBw8enDVrVutzcwMDgylTpri6upIbDiqWlpYLFiyIj4+vqKi4evUqAPTt25ehraXed+TEn/bhZe29fPmSxWIZGhqSD5QWa9eubTN73czMzM3NjcvlCgSC1NRUcpuB3BfZsmULXfW+ybx58+BtI+E6Q01z6smIh1mzZlGdu9ppurq6a9asmTt37qJFi5qamjw8PEaNGjVq1CgymwUA1q9fDwBtrsepY7PZ5LzsQxMYGLhp06aHDx/OnDlTKBQWFhaqnrK3t58+ffr06dMnT56s2n69oqIiLS0tLS0tNTVVJBLFxcXFxcWxWCxyrrpixYoPYfXSLiD/gI2NjUxXRG4/2NjY0Lgq45YtW4yNjfPz86dPn+7g4ODg4PDaJUu2bt06adKkqKiolStXMrqmCdl8V7WuStfRkelvR8Yk0dXJQovg4GAA+Pnnn9s/tXbtWlDX0LzuZPfu3a0nLJItwzpzTa3qEunVqxeZz9bNrsRp9OzZs3379h05coTpik6ePAkAfn5+TFf0WmQIeUREBKO1kK6/1w6qeyfqWG+0oKCgqKjIwsKC9FhrierqanjD2SguP941y5cvj4yMnDVrVnp6el1dXWpq6po1a6ytrd/6wsGDB3O53ISEBLFYfPz48YqKis686sN08+bN8vJyHR2d27dvM1rRo0ePAIDRBao7sGXLFgDYvXs3oyuHiUQiAKC++K86Lur//e9/A4C/vz/FRf3oVVVVBf9fub0NjNGuMTAwWLFixYoVK7pcgp6eHpkyi97k/PnzBw8eVM1tZ05JSQloLkYnTJgwY8aMCxcuREdHR0ZGMlHFrVu3mpqaTExMVDO1ukwdZ6OqjlE11NV5HZyNIqTN1LO/iGZjFAC2bNnCYrH27t1LzhlpIZfLMzMzN2zY4ODgMGHCBF1dXdVqHlQwfnpYXFxcUFBgamrq4eHBdF3vpP3ZaFNTU2VlZUVFBfkDwrNRpIXmz58fFhZmY2Pj6elJllxhCPkWtJ5ComajRo3y9fU9c+bMnj17yNytdyKTyXR0dMg97YqKigsXLly4cCElJeXVq1fkAAsLCycnp71791JvKrMxqlAowsPDAcDPz+9NS5BphEKhqKurY7FYS5cuff78+fPnz0UikerfFwBYLBaNv4EI0cXDw8PS0jIhIaGkpIShGM3Ozo6JiamqquJwOJrdNGzz5s3jxo2bN2/e9evXnZ2dXzvO9LUOHTpEpsmPGTNmx44dOTk5qrMiJyenmTNnzpw5k6zDQEs7GYlRhUJx8+bNU6dOJSQkPHv2TEdHR9s2k5FIJGZmZlVVVWfPnlU9SOYODhgwoG/fvsbGxrt27dJgCxF6k/z8/IiIiGnTpgUEBLz2gMbGxri4uPr6+lmzZtnY2HSyI1UsFh87diw2NragoAAAdHR0uFyuGjphO+Do6GhsbMzj8ebPn3/hwoXZs2e3OWD79u1CobCpqam5ubm+vl4qlb58+dLf37+kpIQsMpuZmZmdnW1oaOjm5ubt7e3n58fERiwsGi9dGxoafv311zNnziQnJ7948YI8aGdnN2XKFLJUjFapqKiIjo4eP358v379SHq2HiiOkNYSiURWVlYmJia1tbWtB3U+efKEDMX99ddfm5qadHR0ZDKZiYnJ8OHDXf5v6NChbcaBKpXKy5cvHzx4MDExUSqVAoC5uXlAQMDy5cu14exn3759Y8eOVa2t0Vpubu748eNJm1sLCQlhsVhk9yeFQpGSkuLh4dHlfQw7g54YFYvFgYGB5M4XecTZ2dnf39/f37/NVg0IIeqsra2FQuG9e/c++eSTa9eukY6/4uJi8qyOjo69vT2Hw6murm7TN2VqaqqKVADIycmJi4urqKgAAA6HM2PGjJCQkBkzZjC6g/Q7OXTokI2NzWt3gRQKhUOGDJFIJJs2bRo6dKiJiYmenp6JiUmfPn1iYmLs7e319fWnTJlibm7OeCspjjslJk6cSHoZHBwceDwe9eGsCKEOBAYGAoCTk1Pr7kJzc/PAwMD4+PjWC0XW1NRkZGQIBIKgoCAHB4fW333VAER7e3sejycUCjX4jt6krq5u4cKFO3fuPHHiRPtnyWJsc+fObf9UTk5Odna2epb3peFsVCaT9e/fv6amJikpiaxIjxBiVHR0NI/HIzvaDx482Nvb28fHx93d/a1nkSKRKDs7Ozs7+/r167m5ua6urt98882ECRPU0uouamxs3L9/f2VlZfsBpE+fPiVrmN6/f9/e3l4jzQNaLurPnz/v7e3t5OR09+5dWtqEEHqrmJiY8vLyJUuW0DAlXLtJJBJTU1OpVFpTU9P+BgaXy/3pp5+Cg4NjY2M10jygZfj9qVOnAKD9TTSEEHOWLFnC4/G6fYYCgL6+vouLi1KpvHnzZvtnN2zYwOFwjh49+scff6i9af9DNUZlMhlZuUvbJikhhLqNiRMnAkBmZmb7pwYPHjx37lyZTBYVFaX2dv0P1RhNSUmpqalxcnJS7SuHEEL0IruftYnRhoaGtLS0DRs2PHjwAAASExM10zjqw+/xih4hxLSJEyeSRa2qq6t///33q1evpqenZ2dnKxQKcgCbzdbgBTGlW0wymaxfv361tbWFhYV4NooQYo6jo+P9+/fZbLYqOvX09MaMGePp6enu7u7q6qpaEVz9KJ2NpqSk1NbW4hU9QohpU6dOJdPkXVxcvLy83NzcJk+erCUzDynFKF7RI4TUY9euXUFBQTY2NiYmJppuS1tdv6jHK3qEEAIqd+rxih4hhIBKjCoUiuHDh79pqS6EEPpAUJ0MqlAo1LZnMkIIaSE61xtFCKEPkDq2tEMIoW4MYxQhhCjBGEUIIUowRhFCiBKMUYQQogRjFCGEKMEYRQghSjBGEUKIEoxRhBCiBGMUIYQowRhFCCFKMEYRQogSjFGEEKIEYxQhhCjBGEUIIUowRhFCiBKMUYQQogRjFCGEKMEYRQghSjBGEUKIEoxRhBCiBGMUIYQowRhFCCFKMEYRQogSjFGEEKIEYxQhhCjBGEUIIUowRhFCiBKMUYQQogRjFCGEKMEYRQghSjBGEUKIEoxRhBCiBGMUIYQowRhFCCFKMEYRQogSjFGEEKIEYxQhhCjBGEUIIUowRhFCiBKMUYQQouS/OrObUhbIwGkAAAP8elRYdHJka2l0UEtMIHJka2l0IDIwMjMuMDMuMgAAeJztkutTlGUYh+9dDsthd4FlWZDT7rIgclCW82GX93kfzBAyTNIwFJxlUooRAkIkSUQYKUJEQDEXByhMglJ0ZCWZ9n3eh8GZNBqpSBOVymCanKV1MKhoYNqGr/0J/mauua/7+2XlLk6DbRJYndAGYyPVRq3AUVVqu3b2dqsitBc+k2fyv2KLxBUEIBCC0M72gL0DODiCowhETuDkDM4u4OIKrmIQS0AiBakbuLmDuwd4yEDmCZ5ykHuBlwIU3uDtAz5rYI0v+PqBnz/4B0BAIAQqQakClRrUQRCkAU0wBIdAyFpYGwqh62BdGISFQ3gERERC5HpYvwE2REGUFrTREB0DMbEQGwdx8RCfAAmJkJgEScmQnAIpOtDpQZ8K8v/C9563pS+AVYDZ9s4AbsucRBEjK+iKwYTTX+hElTkcStSZsPr4QbO+RIM2qodw1OAgKe0yoWt3PsGmezNkR7gFvZ7fg4t2PybzdXpU1t+LrbJI3vmAhZvsNuIwHcO/2TFCZO0f4FufPyFbklV84XPt+MSHCpJ+RMC3FbyH+ya3EubpRXIhux5L9gvRyYpiQq+W4e0ZQ0xat5zT9+Xjp2PuXFXP2+StsF3Y6jVJxsv3Eue/0/GCQcQfd5smxhMxuLzcQrxyj5GeeCWO/lTMfxGxQDav+OHQ8D4SX53B/7bki28aspgry4n8hWUnnKn0Qc/LF4jrlBOerXZkj+R9Sx4VWNkHYhXbMKUkLTtH2Satmt3y6zmyL6WbndujZRvUem4m5yx7/t0JdKowB/28r5W911HCfLVSx8gsO9jCgD9SBT9oSW7QCjIWWZnx5RZzxiJFoTnupLL2AOqvr2PEQil36Mv7iFusIt9kI0ZfshvpLhPiuVJLxifLUqcHovhZYSRZ5DaRrLN1fMPdY0RSuWDOc2zmD5Zf4/SvGtFOTSu/cOY0Mne2ouGMEZ4bnUBD1hnmcBrhfxFlsvnXxxksMPPFJ6tYq+VHlP/7FG/weYVdfi2eHdY40O0Vhaxgl4bFNzzpqZoEtt/FwCrPK6iv3yA61JHJfmYOol1LTahsbA49LEymV+/eQbEeM+jF2c106qcO9FdYImu6nEX7JF3cXKOWLajJo4H5waRt/y3UNFVBWx43c9KtVvTk9FEq2tbOMdUqVNZ8lG6U3Sb/WOw42RvvU+67+8Rj/Ay5RBppyqiK3P7Inb9pbqXiP7NJJ+TyS1nn6PyDGrMh4iU+raiXTmRIiVQh4ktzLtGWODEz4O/MG4dNlC42c/JHh8ne+us0adND8rW5ibz8MaXGRjv+++JM3Wj1DRrSu4evE42ZFf8Cz0Wt6zCObVoAAAYQelRYdE1PTCByZGtpdCAyMDIzLjAzLjIAAHicfVfLbhw3ELzrK+YHNGC/yObRsowgCCwDiZN/yN3/j1T1rDjcSyRNY7Vbw6nu6te+HPz58/2Pf38d68feX16Oo/3P35zz+Mdaay/fD7443r799vvH8fXnl7fPd77++Pvj519H16ML7sHvM/bLzx/fP9+R4+uhcpq00eSQs0eGdryYs7Xo961KoJ596AVUMbXAC8/R3G+gPYBhU/x4bWfrzQ0nnd3Sce9C+oUM6ep6vILF0DDnmZI580bGxVKap00iR46cRKZHw80L2YnEM723OYhMa9MDTx/WbdiNHBfSY+CT4xWMMzs8BmPvgttuaAIq8zTN5o3QOdQQWxzP22UL07ygbUhK+ZTZOjnDz2YOTgsqjdg8vcGpyedGIkBGbFOzuZEV6iQDfqXgX2BT5BELC8RqoyCUSjqCGBb0PBABsm3n1BF9c0wolgQCC20ItVBRJVQ8BOffUKoldk6J1HkhxEbFa46QFhs2Lmyfo0txRGCn1F05u+buGRUTPX0i5BVcIW8vlc3Tdw7UTJAHMVMKkT7Uja+aV8RvLEWb54wWU+vYOaYXGbhgT0LMgg6fkSWq4Z6B8w0+4kGbZ9oK2rNr4IRTmwQ+x/E5PGPjqlQsz0AAlMkf01XH9XjvuZWB6oUMFJQdINrErtzpbj62MlDKNVBxLXE8M6oNyIaoooJcdyTV6khDMymkJJKLZ6pGtp0ntXJKiJICcgQ6QJ2J/Bq6RVR7IcdkJNkqdFaGQARx3TqAjgKGG4gySKZzVrR49pZ+So3sNK+yxxOFZ5c/s425d5+qq3NmOILACkVmVR2gb1nbPLeqKjiMcF5FhdRmMSMVcs4t7kaFSMqnVHWIZU+kwzlkPPU+o0KV54pzSRTAy3WwiC2VjAqxLSCevVdetjGCziGnkKMblBIhcYZDz2qUfcijSAayek87o0ivfjak+JX4zaN7BQBBy9j7b7+wjshoBdMQAvRIaN8ifY/VuKDsE529XDqaOSOAyuY7N5JKvcaJvEOhUny21VLChzy5NS8kSj8RAZRQ9IFQg8YE0S2fvD2QrbPrGVqlpZAGKhHVvCGp1GtnoqHyK2NCjdmacCy3bPZSKtGqEagJZJfuI1gBgSGzI0upieSEo3VUiA8S5jwam/ruFxIPb52+G7IEPOFaR45vofeSSaDJQJfmFG0T3ZkvMlBYW6J4qYRexrLDB4jowCzj8SMFKbNBSyWhC/CeOgrGH7RTpt+0/dR8QCeaoVdSozj6vAo7n4NaQqFLp5tdFd9dW+dwRx9E8W7zt6TCoLD2iVXMvSoWHN/bVtRRYmH+IC9VapZoIqHZCbpiyO5YXVjHCKqeB+f96j+KhNiiG1dtDZBAdK8BIaNGJ0KC5itb0MIfYOUnV3kpWoqz5DTmU9ji0i0BHh0Sc0wpxrJyBIAY+G/gS7mJqskgZ244qlpgxfK0V1iUdlwz6Hm5BRVreHHQtaFb6USphz1nYGTM6jN2jU1g0ffGHoxSD9sTqq9Heyiio/igzVXJraWo5FMkbHJ8V+Q0O5KMnYTgTZNe+qmzW6Df1TaC4hnVw9hrtyLq+sB2NuZZ4UJbsCsqM6DPDf728f60el7L6NuPj/d7GeWv3isn/jnsXiwFl9/bo+CKe0UUXP3eAwXXuJc9wZX3Qie45r20Ca99M5Mysu1fUmaRE7KjWfyEBGkWRSFHmsWS7a3MIipkSrO4CsnSLLpCvjSLsZAyjO6bidDo4qwVTPzdAa2IKvaIbaMQGl2clZxhdHFWcobRxZlfEGh0cVZyhtHFWckZRhdnJWcY22e1HDWJt5ksNLY4GznD2J0HlQgYGIszvzPQ2OLMbyY0tjgbOcPY4mzkDGOLs5EzjC3ORs4wvk8tofHF2ckZxhdnDlsaX5ydnGH8Tt/KX8fM2KaH0Pji7OQM44uzkzOML85OzjC+ODs5w8TevoUmFucgZ5hYnIOcYWJxDnKGicU5yBkm7qqrsgs0xa09Ck0szpxuNLE4c8zRxOIc5AzT954lNH1x5mSi6YszO8reP/j/5xdhvH75DyTw3ZL4ZDXpAAADOHpUWHRTTUlMRVMgcmRraXQgMjAyMy4wMy4yAAB4nKVUSw7dQAi7SpetlETDH5Rlr9XD1ya9Qd/mRXgAA4bfv//n9+PPT5XH5NQlT0aH4X/mnHxVnyylXcWUdu86vvawue7znDxu6dd50tqPEAtJvW7ELN1gLj0vcsjxpr26emBvDwZDEE8h0HYmEKosrYyIR9V1I113JvPhZdsr85g2gSm1pC9fKoFTslm6D3jhSRyLV/rx084Q0SBqRI6azSsFAi2EWhB9lnv0AEqQD1YXZ5bkeUYr8pVAOVu3hYoqEfEQxrNnJPqziNXyngo5QSynlnBGzrr1pLImfXx6eYmExXbKvOGE1sV8RXmp8+OgqfLOM3Fi1mdq1ge5HUD5xLoYHqCHBjItRLJTE8T14GXQt8s7334iZYzFjivGvsE8m0hw/shyxHZU6aD2FgRxWi82+dSWnOqu/SbmYHhKNXRsS1UDlJ2t6AZQAbFtlxpKUSA1gjIRXJEXPNrF1QGEGwYEyqaDYvBB39cec0oMIQSutfnn1GA+z3S4XlRMfYM7deyw0aAUZisFiJbuw2nLy7g+sq/FOsmlpLAJO0GFH3MBgEhALzHSeik+1LT9QheKb9DzA729aG65f40pcuQXhOoe7+3PaVH5xhm54kQh4E3MyZcmA0tUggYeFg0I6oiEQbK5nNAYacTTCoJoH9aI7XMvCJAAJIeXkEBksV4bZNFFKGLDslgzBVTjsCdbnxf7G9AbFAIG896NtaPYoWJJ5xADuL33YDSBDcXLgM7wgEegCWCB9rRY9hFyyKCHoNYSnoczFnsOgot1Q+3RRUNWO8uslmKbmW3LxgFZUpCrr33k21/MN+fTVrMOrFtDqNt+1wMdMLg4vQKvP0iLJwMEcpg/sUu9m6mNUTVvm+IA/YP80z8ofQNT9I7xCvFQz72S2R2l8HURhWa+5YA29yhpzHJvYLXCbXWuEhbVT7LZuGVhnx8M+DlBDU2IgLdRc+UUwZK+u3FwA2+c2sKVolQtV3OAXA09xHWGJvJf1VorMEi/DDpRDKdnTzfKzk/QxAA51ben+GDkjH24Td26YEK0S3382ywccrbh15+/ei9TOv8Qv/AAAAAASUVORK5CYII=",
+      "image/svg+xml": [
+       "<?xml version='1.0' encoding='iso-8859-1'?>\n",
+       "<svg version='1.1' baseProfile='full'\n",
+       "              xmlns='http://www.w3.org/2000/svg'\n",
+       "                      xmlns:rdkit='http://www.rdkit.org/xml'\n",
+       "                      xmlns:xlink='http://www.w3.org/1999/xlink'\n",
+       "                  xml:space='preserve'\n",
+       "width='450px' height='150px' viewBox='0 0 450 150'>\n",
+       "<!-- END OF HEADER -->\n",
+       "<rect style='opacity:1.0;fill:#FFFFFF;stroke:none' width='450.0' height='150.0' x='0.0' y='0.0'> </rect>\n",
+       "<path class='bond-0 atom-0 atom-1' d='M 416.5,62.4 L 428.2,66.2' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-1 atom-1 atom-2' d='M 428.2,66.2 L 428.1,74.6' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-2 atom-2 atom-3' d='M 427.7,79.8 L 426.8,88.5' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-3 atom-3 atom-4' d='M 426.8,88.5 L 416.8,91.5' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-4 atom-4 atom-5' d='M 412.6,92.2 L 405.6,92.4' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-5 atom-5 atom-6' d='M 405.6,92.4 L 409.1,99.8' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-6 atom-6 atom-7' d='M 409.1,99.8 L 399.4,102.3' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-7 atom-7 atom-8' d='M 399.4,102.3 L 397.8,95.5' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-8 atom-8 atom-9' d='M 395.8,90.3 L 391.5,81.7' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-9 atom-9 atom-10' d='M 391.5,81.7 L 379.7,83.7' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-10 atom-10 atom-11' d='M 379.7,83.7 L 374.3,72.3' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-11 atom-11 atom-12' d='M 374.3,72.3 L 365.1,73.4' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-12 atom-12 atom-13' d='M 360.9,74.5 L 352.8,77.9' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-13 atom-13 atom-14' d='M 352.8,77.9 L 350.9,90.9' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-14 atom-14 atom-15' d='M 350.9,90.9 L 340.6,94.9' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-15 atom-15 atom-16' d='M 340.6,94.9 L 329.0,92.6' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-16 atom-16 atom-17' d='M 329.0,92.6 L 318.6,95.6' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-17 atom-17 atom-18' d='M 318.6,95.6 L 317.5,90.6' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-18 atom-18 atom-19' d='M 316.8,85.3 L 316.3,74.9' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-19 atom-19 atom-20' d='M 316.3,74.9 L 306.7,71.6' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-20 atom-20 atom-21' d='M 306.7,71.6 L 306.6,58.6' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-21 atom-21 atom-22' d='M 306.6,58.6 L 297.4,55.1' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-22 atom-22 atom-23' d='M 297.4,55.1 L 287.3,55.0' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-23 atom-23 atom-24' d='M 283.2,54.5 L 275.8,52.9' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-24 atom-24 atom-25' d='M 275.8,52.9 L 274.6,60.1' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-25 atom-25 atom-26' d='M 273.7,65.3 L 272.1,74.7' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-26 atom-26 atom-27' d='M 272.1,74.7 L 261.7,75.7' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-27 atom-27 atom-28' d='M 261.7,75.7 L 250.0,72.7' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-28 atom-28 atom-29' d='M 250.0,72.7 L 246.0,81.5' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-29 atom-29 atom-30' d='M 246.0,81.5 L 237.2,78.6' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-30 atom-30 atom-31' d='M 233.1,77.3 L 224.6,75.1' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-31 atom-31 atom-32' d='M 224.6,75.1 L 220.0,85.4' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-32 atom-32 atom-33' d='M 220.0,85.4 L 209.3,82.5' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-33 atom-33 atom-34' d='M 209.3,82.5 L 197.8,85.7' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-34 atom-34 atom-35' d='M 197.8,85.7 L 195.0,79.7' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-35 atom-35 atom-36' d='M 195.0,79.7 L 193.9,66.6' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-36 atom-36 atom-37' d='M 193.9,66.6 L 182.8,62.6' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-37 atom-37 atom-38' d='M 182.8,62.6 L 181.7,52.1' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-38 atom-38 atom-39' d='M 181.7,46.9 L 182.1,43.2' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-39 atom-39 atom-40' d='M 182.1,43.2 L 174.0,47.9' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-40 atom-40 atom-41' d='M 174.0,47.9 L 161.3,45.5' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-41 atom-41 atom-42' d='M 161.3,45.5 L 153.4,52.1' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-42 atom-42 atom-43' d='M 153.4,52.1 L 151.8,64.9' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-43 atom-43 atom-44' d='M 151.8,64.9 L 145.3,67.3' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-44 atom-44 atom-45' d='M 145.3,67.3 L 133.1,62.2' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-45 atom-45 atom-46' d='M 133.1,62.2 L 124.8,66.5' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-46 atom-46 atom-47' d='M 124.8,66.5 L 121.7,79.3' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-47 atom-47 atom-48' d='M 121.7,79.3 L 113.7,82.2' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-48 atom-48 atom-49' d='M 113.7,82.2 L 103.2,79.6' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-49 atom-49 atom-50' d='M 99.1,79.1 L 93.4,79.2' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-50 atom-50 atom-51' d='M 93.4,79.2 L 93.5,90.6' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-51 atom-51 atom-52' d='M 93.5,90.6 L 83.9,91.5' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-52 atom-52 atom-53' d='M 83.9,91.5 L 84.6,82.1' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-53 atom-53 atom-54' d='M 84.6,82.1 L 76.0,83.8' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-54 atom-54 atom-55' d='M 76.0,83.8 L 64.7,77.2' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-55 atom-55 atom-56' d='M 64.7,77.2 L 57.0,81.5' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-56 atom-56 atom-57' d='M 57.0,81.5 L 45.3,75.5' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-57 atom-57 atom-58' d='M 45.3,75.5 L 37.3,79.1' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-58 atom-58 atom-59' d='M 37.3,79.1 L 33.2,91.6' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-59 atom-59 atom-60' d='M 33.2,91.6 L 24.5,94.4' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-60 atom-60 atom-61' d='M 24.5,94.4 L 20.3,106.8' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path d='M 427.6,66.0 L 428.2,66.2 L 428.2,66.6' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 426.9,88.1 L 426.8,88.5 L 426.3,88.6' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 405.9,92.4 L 405.6,92.4 L 405.7,92.8' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 408.9,99.5 L 409.1,99.8 L 408.6,100.0' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 399.9,102.2 L 399.4,102.3 L 399.3,101.9' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 391.7,82.2 L 391.5,81.7 L 390.9,81.8' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 380.3,83.6 L 379.7,83.7 L 379.5,83.1' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 374.6,72.9 L 374.3,72.3 L 373.8,72.3' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 353.2,77.7 L 352.8,77.9 L 352.7,78.5' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 351.0,90.3 L 350.9,90.9 L 350.4,91.1' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 341.1,94.7 L 340.6,94.9 L 340.0,94.8' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 329.6,92.7 L 329.0,92.6 L 328.5,92.7' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 319.1,95.5 L 318.6,95.6 L 318.6,95.4' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 316.4,75.5 L 316.3,74.9 L 315.9,74.8' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 307.1,71.7 L 306.7,71.6 L 306.7,70.9' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 306.6,59.2 L 306.6,58.6 L 306.1,58.4' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 297.8,55.3 L 297.4,55.1 L 296.9,55.1' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 276.1,53.0 L 275.8,52.9 L 275.7,53.3' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 272.1,74.2 L 272.1,74.7 L 271.5,74.7' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 262.2,75.6 L 261.7,75.7 L 261.1,75.5' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 250.6,72.8 L 250.0,72.7 L 249.8,73.1' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 246.2,81.1 L 246.0,81.5 L 245.5,81.4' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 225.0,75.2 L 224.6,75.1 L 224.3,75.6' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 220.3,84.8 L 220.0,85.4 L 219.5,85.2' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 209.8,82.6 L 209.3,82.5 L 208.7,82.6' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 198.4,85.5 L 197.8,85.7 L 197.6,85.4' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 195.1,80.0 L 195.0,79.7 L 194.9,79.1' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 193.9,67.3 L 193.9,66.6 L 193.3,66.4' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 183.3,62.8 L 182.8,62.6 L 182.7,62.1' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 182.0,43.4 L 182.1,43.2 L 181.7,43.5' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 174.4,47.6 L 174.0,47.9 L 173.4,47.8' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 161.9,45.6 L 161.3,45.5 L 160.9,45.9' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 153.8,51.8 L 153.4,52.1 L 153.3,52.8' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 151.9,64.3 L 151.8,64.9 L 151.5,65.0' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 145.7,67.1 L 145.3,67.3 L 144.7,67.0' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 133.7,62.5 L 133.1,62.2 L 132.7,62.4' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 125.2,66.3 L 124.8,66.5 L 124.6,67.2' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 121.8,78.7 L 121.7,79.3 L 121.3,79.5' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 114.1,82.1 L 113.7,82.2 L 113.2,82.1' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 93.7,79.2 L 93.4,79.2 L 93.4,79.7' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 93.5,90.0 L 93.5,90.6 L 93.0,90.7' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 84.4,91.4 L 83.9,91.5 L 84.0,91.0' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 84.6,82.6 L 84.6,82.1 L 84.2,82.2' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 76.5,83.7 L 76.0,83.8 L 75.5,83.4' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 65.2,77.5 L 64.7,77.2 L 64.3,77.4' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 57.4,81.3 L 57.0,81.5 L 56.4,81.2' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 45.8,75.8 L 45.3,75.5 L 44.9,75.7' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 37.7,78.9 L 37.3,79.1 L 37.1,79.7' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 33.4,90.9 L 33.2,91.6 L 32.8,91.7' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 24.9,94.2 L 24.5,94.4 L 24.3,95.0' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path class='atom-2' d='M 426.4 77.2\n",
+       "Q 426.4 76.2, 426.9 75.6\n",
+       "Q 427.4 75.0, 428.3 75.0\n",
+       "Q 429.2 75.0, 429.7 75.7\n",
+       "L 429.3 76.0\n",
+       "Q 428.9 75.5, 428.3 75.5\n",
+       "Q 427.7 75.5, 427.3 76.0\n",
+       "Q 427.0 76.4, 427.0 77.2\n",
+       "Q 427.0 78.1, 427.3 78.5\n",
+       "Q 427.7 78.9, 428.4 78.9\n",
+       "Q 428.8 78.9, 429.4 78.6\n",
+       "L 429.6 79.1\n",
+       "Q 429.3 79.2, 429.0 79.3\n",
+       "Q 428.7 79.4, 428.3 79.4\n",
+       "Q 427.4 79.4, 426.9 78.8\n",
+       "Q 426.4 78.3, 426.4 77.2\n",
+       "' fill='#000000'/>\n",
+       "<path class='atom-4' d='M 413.0 92.1\n",
+       "Q 413.0 91.0, 413.5 90.5\n",
+       "Q 414.0 89.9, 415.0 89.9\n",
+       "Q 415.9 89.9, 416.3 90.5\n",
+       "L 415.9 90.9\n",
+       "Q 415.6 90.4, 415.0 90.4\n",
+       "Q 414.3 90.4, 414.0 90.9\n",
+       "Q 413.7 91.3, 413.7 92.1\n",
+       "Q 413.7 92.9, 414.0 93.4\n",
+       "Q 414.4 93.8, 415.0 93.8\n",
+       "Q 415.5 93.8, 416.1 93.5\n",
+       "L 416.2 94.0\n",
+       "Q 416.0 94.1, 415.7 94.2\n",
+       "Q 415.3 94.3, 415.0 94.3\n",
+       "Q 414.0 94.3, 413.5 93.7\n",
+       "Q 413.0 93.1, 413.0 92.1\n",
+       "' fill='#000000'/>\n",
+       "<path class='atom-8' d='M 395.5 92.9\n",
+       "Q 395.5 91.8, 396.0 91.3\n",
+       "Q 396.5 90.7, 397.5 90.7\n",
+       "Q 398.3 90.7, 398.8 91.3\n",
+       "L 398.4 91.7\n",
+       "Q 398.1 91.2, 397.5 91.2\n",
+       "Q 396.8 91.2, 396.5 91.6\n",
+       "Q 396.1 92.1, 396.1 92.9\n",
+       "Q 396.1 93.7, 396.5 94.2\n",
+       "Q 396.8 94.6, 397.5 94.6\n",
+       "Q 398.0 94.6, 398.5 94.3\n",
+       "L 398.7 94.8\n",
+       "Q 398.5 94.9, 398.2 95.0\n",
+       "Q 397.8 95.1, 397.4 95.1\n",
+       "Q 396.5 95.1, 396.0 94.5\n",
+       "Q 395.5 93.9, 395.5 92.9\n",
+       "' fill='#000000'/>\n",
+       "<path class='atom-12' d='M 361.4 73.7\n",
+       "Q 361.4 72.6, 361.9 72.1\n",
+       "Q 362.4 71.5, 363.3 71.5\n",
+       "Q 364.2 71.5, 364.7 72.1\n",
+       "L 364.3 72.4\n",
+       "Q 363.9 72.0, 363.3 72.0\n",
+       "Q 362.7 72.0, 362.3 72.4\n",
+       "Q 362.0 72.8, 362.0 73.7\n",
+       "Q 362.0 74.5, 362.3 74.9\n",
+       "Q 362.7 75.4, 363.4 75.4\n",
+       "Q 363.9 75.4, 364.4 75.1\n",
+       "L 364.6 75.5\n",
+       "Q 364.3 75.7, 364.0 75.8\n",
+       "Q 363.7 75.8, 363.3 75.8\n",
+       "Q 362.4 75.8, 361.9 75.3\n",
+       "Q 361.4 74.7, 361.4 73.7\n",
+       "' fill='#000000'/>\n",
+       "<path class='atom-18' d='M 315.3 87.9\n",
+       "Q 315.3 86.9, 315.7 86.3\n",
+       "Q 316.2 85.8, 317.2 85.8\n",
+       "Q 318.1 85.8, 318.5 86.4\n",
+       "L 318.1 86.7\n",
+       "Q 317.8 86.3, 317.2 86.3\n",
+       "Q 316.5 86.3, 316.2 86.7\n",
+       "Q 315.9 87.1, 315.9 87.9\n",
+       "Q 315.9 88.8, 316.2 89.2\n",
+       "Q 316.6 89.6, 317.3 89.6\n",
+       "Q 317.7 89.6, 318.3 89.4\n",
+       "L 318.4 89.8\n",
+       "Q 318.2 90.0, 317.9 90.0\n",
+       "Q 317.5 90.1, 317.2 90.1\n",
+       "Q 316.2 90.1, 315.7 89.6\n",
+       "Q 315.3 89.0, 315.3 87.9\n",
+       "' fill='#000000'/>\n",
+       "<path class='atom-23' d='M 283.6 55.0\n",
+       "Q 283.6 53.9, 284.1 53.4\n",
+       "Q 284.6 52.8, 285.5 52.8\n",
+       "Q 286.4 52.8, 286.9 53.5\n",
+       "L 286.5 53.8\n",
+       "Q 286.1 53.3, 285.5 53.3\n",
+       "Q 284.9 53.3, 284.5 53.8\n",
+       "Q 284.2 54.2, 284.2 55.0\n",
+       "Q 284.2 55.8, 284.6 56.3\n",
+       "Q 284.9 56.7, 285.6 56.7\n",
+       "Q 286.1 56.7, 286.6 56.4\n",
+       "L 286.8 56.9\n",
+       "Q 286.6 57.0, 286.2 57.1\n",
+       "Q 285.9 57.2, 285.5 57.2\n",
+       "Q 284.6 57.2, 284.1 56.6\n",
+       "Q 283.6 56.1, 283.6 55.0\n",
+       "' fill='#000000'/>\n",
+       "<path class='atom-25' d='M 272.6 62.7\n",
+       "Q 272.6 61.6, 273.1 61.1\n",
+       "Q 273.5 60.5, 274.5 60.5\n",
+       "Q 275.4 60.5, 275.8 61.1\n",
+       "L 275.4 61.4\n",
+       "Q 275.1 61.0, 274.5 61.0\n",
+       "Q 273.8 61.0, 273.5 61.4\n",
+       "Q 273.2 61.8, 273.2 62.7\n",
+       "Q 273.2 63.5, 273.5 63.9\n",
+       "Q 273.9 64.4, 274.6 64.4\n",
+       "Q 275.0 64.4, 275.6 64.1\n",
+       "L 275.7 64.5\n",
+       "Q 275.5 64.7, 275.2 64.8\n",
+       "Q 274.8 64.8, 274.5 64.8\n",
+       "Q 273.5 64.8, 273.1 64.3\n",
+       "Q 272.6 63.7, 272.6 62.7\n",
+       "' fill='#000000'/>\n",
+       "<path class='atom-30' d='M 233.5 77.9\n",
+       "Q 233.5 76.8, 234.0 76.3\n",
+       "Q 234.5 75.7, 235.4 75.7\n",
+       "Q 236.3 75.7, 236.8 76.3\n",
+       "L 236.4 76.7\n",
+       "Q 236.0 76.2, 235.4 76.2\n",
+       "Q 234.8 76.2, 234.4 76.6\n",
+       "Q 234.1 77.1, 234.1 77.9\n",
+       "Q 234.1 78.7, 234.4 79.2\n",
+       "Q 234.8 79.6, 235.5 79.6\n",
+       "Q 236.0 79.6, 236.5 79.3\n",
+       "L 236.7 79.8\n",
+       "Q 236.4 79.9, 236.1 80.0\n",
+       "Q 235.8 80.1, 235.4 80.1\n",
+       "Q 234.5 80.1, 234.0 79.5\n",
+       "Q 233.5 78.9, 233.5 77.9\n",
+       "' fill='#000000'/>\n",
+       "<path class='atom-38' d='M 179.8 49.5\n",
+       "Q 179.8 48.5, 180.3 47.9\n",
+       "Q 180.8 47.3, 181.8 47.3\n",
+       "Q 182.6 47.3, 183.1 48.0\n",
+       "L 182.7 48.3\n",
+       "Q 182.4 47.8, 181.8 47.8\n",
+       "Q 181.1 47.8, 180.8 48.3\n",
+       "Q 180.4 48.7, 180.4 49.5\n",
+       "Q 180.4 50.3, 180.8 50.8\n",
+       "Q 181.1 51.2, 181.8 51.2\n",
+       "Q 182.3 51.2, 182.8 50.9\n",
+       "L 183.0 51.4\n",
+       "Q 182.8 51.5, 182.4 51.6\n",
+       "Q 182.1 51.7, 181.7 51.7\n",
+       "Q 180.8 51.7, 180.3 51.1\n",
+       "Q 179.8 50.6, 179.8 49.5\n",
+       "' fill='#000000'/>\n",
+       "<path class='atom-49' d='M 99.5 79.1\n",
+       "Q 99.5 78.0, 100.0 77.5\n",
+       "Q 100.5 76.9, 101.4 76.9\n",
+       "Q 102.3 76.9, 102.8 77.5\n",
+       "L 102.4 77.9\n",
+       "Q 102.0 77.4, 101.4 77.4\n",
+       "Q 100.8 77.4, 100.4 77.8\n",
+       "Q 100.1 78.3, 100.1 79.1\n",
+       "Q 100.1 79.9, 100.5 80.4\n",
+       "Q 100.8 80.8, 101.5 80.8\n",
+       "Q 102.0 80.8, 102.5 80.5\n",
+       "L 102.7 81.0\n",
+       "Q 102.5 81.1, 102.1 81.2\n",
+       "Q 101.8 81.3, 101.4 81.3\n",
+       "Q 100.5 81.3, 100.0 80.7\n",
+       "Q 99.5 80.1, 99.5 79.1\n",
+       "' fill='#000000'/>\n",
+       "</svg>\n"
+      ],
+      "text/html": [
+       "<?xml version='1.0' encoding='iso-8859-1'?>\n",
+       "<svg version='1.1' baseProfile='full'\n",
+       "              xmlns='http://www.w3.org/2000/svg'\n",
+       "                      xmlns:rdkit='http://www.rdkit.org/xml'\n",
+       "                      xmlns:xlink='http://www.w3.org/1999/xlink'\n",
+       "                  xml:space='preserve'\n",
+       "width='450px' height='150px' viewBox='0 0 450 150'>\n",
+       "<!-- END OF HEADER -->\n",
+       "<rect style='opacity:1.0;fill:#FFFFFF;stroke:none' width='450.0' height='150.0' x='0.0' y='0.0'> </rect>\n",
+       "<path class='bond-0 atom-0 atom-1' d='M 416.5,62.4 L 428.2,66.2' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-1 atom-1 atom-2' d='M 428.2,66.2 L 428.1,74.6' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-2 atom-2 atom-3' d='M 427.7,79.8 L 426.8,88.5' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-3 atom-3 atom-4' d='M 426.8,88.5 L 416.8,91.5' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-4 atom-4 atom-5' d='M 412.6,92.2 L 405.6,92.4' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-5 atom-5 atom-6' d='M 405.6,92.4 L 409.1,99.8' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-6 atom-6 atom-7' d='M 409.1,99.8 L 399.4,102.3' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-7 atom-7 atom-8' d='M 399.4,102.3 L 397.8,95.5' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-8 atom-8 atom-9' d='M 395.8,90.3 L 391.5,81.7' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-9 atom-9 atom-10' d='M 391.5,81.7 L 379.7,83.7' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-10 atom-10 atom-11' d='M 379.7,83.7 L 374.3,72.3' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-11 atom-11 atom-12' d='M 374.3,72.3 L 365.1,73.4' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-12 atom-12 atom-13' d='M 360.9,74.5 L 352.8,77.9' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-13 atom-13 atom-14' d='M 352.8,77.9 L 350.9,90.9' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-14 atom-14 atom-15' d='M 350.9,90.9 L 340.6,94.9' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-15 atom-15 atom-16' d='M 340.6,94.9 L 329.0,92.6' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-16 atom-16 atom-17' d='M 329.0,92.6 L 318.6,95.6' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-17 atom-17 atom-18' d='M 318.6,95.6 L 317.5,90.6' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-18 atom-18 atom-19' d='M 316.8,85.3 L 316.3,74.9' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-19 atom-19 atom-20' d='M 316.3,74.9 L 306.7,71.6' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-20 atom-20 atom-21' d='M 306.7,71.6 L 306.6,58.6' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-21 atom-21 atom-22' d='M 306.6,58.6 L 297.4,55.1' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-22 atom-22 atom-23' d='M 297.4,55.1 L 287.3,55.0' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-23 atom-23 atom-24' d='M 283.2,54.5 L 275.8,52.9' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-24 atom-24 atom-25' d='M 275.8,52.9 L 274.6,60.1' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-25 atom-25 atom-26' d='M 273.7,65.3 L 272.1,74.7' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-26 atom-26 atom-27' d='M 272.1,74.7 L 261.7,75.7' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-27 atom-27 atom-28' d='M 261.7,75.7 L 250.0,72.7' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-28 atom-28 atom-29' d='M 250.0,72.7 L 246.0,81.5' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-29 atom-29 atom-30' d='M 246.0,81.5 L 237.2,78.6' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-30 atom-30 atom-31' d='M 233.1,77.3 L 224.6,75.1' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-31 atom-31 atom-32' d='M 224.6,75.1 L 220.0,85.4' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-32 atom-32 atom-33' d='M 220.0,85.4 L 209.3,82.5' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-33 atom-33 atom-34' d='M 209.3,82.5 L 197.8,85.7' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-34 atom-34 atom-35' d='M 197.8,85.7 L 195.0,79.7' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-35 atom-35 atom-36' d='M 195.0,79.7 L 193.9,66.6' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-36 atom-36 atom-37' d='M 193.9,66.6 L 182.8,62.6' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-37 atom-37 atom-38' d='M 182.8,62.6 L 181.7,52.1' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-38 atom-38 atom-39' d='M 181.7,46.9 L 182.1,43.2' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-39 atom-39 atom-40' d='M 182.1,43.2 L 174.0,47.9' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-40 atom-40 atom-41' d='M 174.0,47.9 L 161.3,45.5' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-41 atom-41 atom-42' d='M 161.3,45.5 L 153.4,52.1' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-42 atom-42 atom-43' d='M 153.4,52.1 L 151.8,64.9' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-43 atom-43 atom-44' d='M 151.8,64.9 L 145.3,67.3' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-44 atom-44 atom-45' d='M 145.3,67.3 L 133.1,62.2' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-45 atom-45 atom-46' d='M 133.1,62.2 L 124.8,66.5' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-46 atom-46 atom-47' d='M 124.8,66.5 L 121.7,79.3' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-47 atom-47 atom-48' d='M 121.7,79.3 L 113.7,82.2' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-48 atom-48 atom-49' d='M 113.7,82.2 L 103.2,79.6' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-49 atom-49 atom-50' d='M 99.1,79.1 L 93.4,79.2' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-50 atom-50 atom-51' d='M 93.4,79.2 L 93.5,90.6' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-51 atom-51 atom-52' d='M 93.5,90.6 L 83.9,91.5' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-52 atom-52 atom-53' d='M 83.9,91.5 L 84.6,82.1' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-53 atom-53 atom-54' d='M 84.6,82.1 L 76.0,83.8' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-54 atom-54 atom-55' d='M 76.0,83.8 L 64.7,77.2' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-55 atom-55 atom-56' d='M 64.7,77.2 L 57.0,81.5' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-56 atom-56 atom-57' d='M 57.0,81.5 L 45.3,75.5' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-57 atom-57 atom-58' d='M 45.3,75.5 L 37.3,79.1' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-58 atom-58 atom-59' d='M 37.3,79.1 L 33.2,91.6' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-59 atom-59 atom-60' d='M 33.2,91.6 L 24.5,94.4' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path class='bond-60 atom-60 atom-61' d='M 24.5,94.4 L 20.3,106.8' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n",
+       "<path d='M 427.6,66.0 L 428.2,66.2 L 428.2,66.6' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 426.9,88.1 L 426.8,88.5 L 426.3,88.6' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 405.9,92.4 L 405.6,92.4 L 405.7,92.8' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 408.9,99.5 L 409.1,99.8 L 408.6,100.0' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 399.9,102.2 L 399.4,102.3 L 399.3,101.9' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 391.7,82.2 L 391.5,81.7 L 390.9,81.8' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 380.3,83.6 L 379.7,83.7 L 379.5,83.1' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 374.6,72.9 L 374.3,72.3 L 373.8,72.3' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 353.2,77.7 L 352.8,77.9 L 352.7,78.5' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 351.0,90.3 L 350.9,90.9 L 350.4,91.1' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 341.1,94.7 L 340.6,94.9 L 340.0,94.8' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 329.6,92.7 L 329.0,92.6 L 328.5,92.7' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 319.1,95.5 L 318.6,95.6 L 318.6,95.4' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 316.4,75.5 L 316.3,74.9 L 315.9,74.8' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 307.1,71.7 L 306.7,71.6 L 306.7,70.9' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 306.6,59.2 L 306.6,58.6 L 306.1,58.4' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 297.8,55.3 L 297.4,55.1 L 296.9,55.1' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 276.1,53.0 L 275.8,52.9 L 275.7,53.3' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 272.1,74.2 L 272.1,74.7 L 271.5,74.7' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 262.2,75.6 L 261.7,75.7 L 261.1,75.5' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 250.6,72.8 L 250.0,72.7 L 249.8,73.1' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 246.2,81.1 L 246.0,81.5 L 245.5,81.4' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 225.0,75.2 L 224.6,75.1 L 224.3,75.6' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 220.3,84.8 L 220.0,85.4 L 219.5,85.2' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 209.8,82.6 L 209.3,82.5 L 208.7,82.6' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 198.4,85.5 L 197.8,85.7 L 197.6,85.4' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 195.1,80.0 L 195.0,79.7 L 194.9,79.1' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 193.9,67.3 L 193.9,66.6 L 193.3,66.4' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 183.3,62.8 L 182.8,62.6 L 182.7,62.1' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 182.0,43.4 L 182.1,43.2 L 181.7,43.5' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 174.4,47.6 L 174.0,47.9 L 173.4,47.8' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 161.9,45.6 L 161.3,45.5 L 160.9,45.9' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 153.8,51.8 L 153.4,52.1 L 153.3,52.8' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 151.9,64.3 L 151.8,64.9 L 151.5,65.0' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 145.7,67.1 L 145.3,67.3 L 144.7,67.0' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 133.7,62.5 L 133.1,62.2 L 132.7,62.4' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 125.2,66.3 L 124.8,66.5 L 124.6,67.2' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 121.8,78.7 L 121.7,79.3 L 121.3,79.5' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 114.1,82.1 L 113.7,82.2 L 113.2,82.1' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 93.7,79.2 L 93.4,79.2 L 93.4,79.7' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 93.5,90.0 L 93.5,90.6 L 93.0,90.7' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 84.4,91.4 L 83.9,91.5 L 84.0,91.0' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 84.6,82.6 L 84.6,82.1 L 84.2,82.2' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 76.5,83.7 L 76.0,83.8 L 75.5,83.4' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 65.2,77.5 L 64.7,77.2 L 64.3,77.4' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 57.4,81.3 L 57.0,81.5 L 56.4,81.2' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 45.8,75.8 L 45.3,75.5 L 44.9,75.7' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 37.7,78.9 L 37.3,79.1 L 37.1,79.7' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 33.4,90.9 L 33.2,91.6 L 32.8,91.7' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path d='M 24.9,94.2 L 24.5,94.4 L 24.3,95.0' style='fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;' />\n",
+       "<path class='atom-2' d='M 426.4 77.2\n",
+       "Q 426.4 76.2, 426.9 75.6\n",
+       "Q 427.4 75.0, 428.3 75.0\n",
+       "Q 429.2 75.0, 429.7 75.7\n",
+       "L 429.3 76.0\n",
+       "Q 428.9 75.5, 428.3 75.5\n",
+       "Q 427.7 75.5, 427.3 76.0\n",
+       "Q 427.0 76.4, 427.0 77.2\n",
+       "Q 427.0 78.1, 427.3 78.5\n",
+       "Q 427.7 78.9, 428.4 78.9\n",
+       "Q 428.8 78.9, 429.4 78.6\n",
+       "L 429.6 79.1\n",
+       "Q 429.3 79.2, 429.0 79.3\n",
+       "Q 428.7 79.4, 428.3 79.4\n",
+       "Q 427.4 79.4, 426.9 78.8\n",
+       "Q 426.4 78.3, 426.4 77.2\n",
+       "' fill='#000000'/>\n",
+       "<path class='atom-4' d='M 413.0 92.1\n",
+       "Q 413.0 91.0, 413.5 90.5\n",
+       "Q 414.0 89.9, 415.0 89.9\n",
+       "Q 415.9 89.9, 416.3 90.5\n",
+       "L 415.9 90.9\n",
+       "Q 415.6 90.4, 415.0 90.4\n",
+       "Q 414.3 90.4, 414.0 90.9\n",
+       "Q 413.7 91.3, 413.7 92.1\n",
+       "Q 413.7 92.9, 414.0 93.4\n",
+       "Q 414.4 93.8, 415.0 93.8\n",
+       "Q 415.5 93.8, 416.1 93.5\n",
+       "L 416.2 94.0\n",
+       "Q 416.0 94.1, 415.7 94.2\n",
+       "Q 415.3 94.3, 415.0 94.3\n",
+       "Q 414.0 94.3, 413.5 93.7\n",
+       "Q 413.0 93.1, 413.0 92.1\n",
+       "' fill='#000000'/>\n",
+       "<path class='atom-8' d='M 395.5 92.9\n",
+       "Q 395.5 91.8, 396.0 91.3\n",
+       "Q 396.5 90.7, 397.5 90.7\n",
+       "Q 398.3 90.7, 398.8 91.3\n",
+       "L 398.4 91.7\n",
+       "Q 398.1 91.2, 397.5 91.2\n",
+       "Q 396.8 91.2, 396.5 91.6\n",
+       "Q 396.1 92.1, 396.1 92.9\n",
+       "Q 396.1 93.7, 396.5 94.2\n",
+       "Q 396.8 94.6, 397.5 94.6\n",
+       "Q 398.0 94.6, 398.5 94.3\n",
+       "L 398.7 94.8\n",
+       "Q 398.5 94.9, 398.2 95.0\n",
+       "Q 397.8 95.1, 397.4 95.1\n",
+       "Q 396.5 95.1, 396.0 94.5\n",
+       "Q 395.5 93.9, 395.5 92.9\n",
+       "' fill='#000000'/>\n",
+       "<path class='atom-12' d='M 361.4 73.7\n",
+       "Q 361.4 72.6, 361.9 72.1\n",
+       "Q 362.4 71.5, 363.3 71.5\n",
+       "Q 364.2 71.5, 364.7 72.1\n",
+       "L 364.3 72.4\n",
+       "Q 363.9 72.0, 363.3 72.0\n",
+       "Q 362.7 72.0, 362.3 72.4\n",
+       "Q 362.0 72.8, 362.0 73.7\n",
+       "Q 362.0 74.5, 362.3 74.9\n",
+       "Q 362.7 75.4, 363.4 75.4\n",
+       "Q 363.9 75.4, 364.4 75.1\n",
+       "L 364.6 75.5\n",
+       "Q 364.3 75.7, 364.0 75.8\n",
+       "Q 363.7 75.8, 363.3 75.8\n",
+       "Q 362.4 75.8, 361.9 75.3\n",
+       "Q 361.4 74.7, 361.4 73.7\n",
+       "' fill='#000000'/>\n",
+       "<path class='atom-18' d='M 315.3 87.9\n",
+       "Q 315.3 86.9, 315.7 86.3\n",
+       "Q 316.2 85.8, 317.2 85.8\n",
+       "Q 318.1 85.8, 318.5 86.4\n",
+       "L 318.1 86.7\n",
+       "Q 317.8 86.3, 317.2 86.3\n",
+       "Q 316.5 86.3, 316.2 86.7\n",
+       "Q 315.9 87.1, 315.9 87.9\n",
+       "Q 315.9 88.8, 316.2 89.2\n",
+       "Q 316.6 89.6, 317.3 89.6\n",
+       "Q 317.7 89.6, 318.3 89.4\n",
+       "L 318.4 89.8\n",
+       "Q 318.2 90.0, 317.9 90.0\n",
+       "Q 317.5 90.1, 317.2 90.1\n",
+       "Q 316.2 90.1, 315.7 89.6\n",
+       "Q 315.3 89.0, 315.3 87.9\n",
+       "' fill='#000000'/>\n",
+       "<path class='atom-23' d='M 283.6 55.0\n",
+       "Q 283.6 53.9, 284.1 53.4\n",
+       "Q 284.6 52.8, 285.5 52.8\n",
+       "Q 286.4 52.8, 286.9 53.5\n",
+       "L 286.5 53.8\n",
+       "Q 286.1 53.3, 285.5 53.3\n",
+       "Q 284.9 53.3, 284.5 53.8\n",
+       "Q 284.2 54.2, 284.2 55.0\n",
+       "Q 284.2 55.8, 284.6 56.3\n",
+       "Q 284.9 56.7, 285.6 56.7\n",
+       "Q 286.1 56.7, 286.6 56.4\n",
+       "L 286.8 56.9\n",
+       "Q 286.6 57.0, 286.2 57.1\n",
+       "Q 285.9 57.2, 285.5 57.2\n",
+       "Q 284.6 57.2, 284.1 56.6\n",
+       "Q 283.6 56.1, 283.6 55.0\n",
+       "' fill='#000000'/>\n",
+       "<path class='atom-25' d='M 272.6 62.7\n",
+       "Q 272.6 61.6, 273.1 61.1\n",
+       "Q 273.5 60.5, 274.5 60.5\n",
+       "Q 275.4 60.5, 275.8 61.1\n",
+       "L 275.4 61.4\n",
+       "Q 275.1 61.0, 274.5 61.0\n",
+       "Q 273.8 61.0, 273.5 61.4\n",
+       "Q 273.2 61.8, 273.2 62.7\n",
+       "Q 273.2 63.5, 273.5 63.9\n",
+       "Q 273.9 64.4, 274.6 64.4\n",
+       "Q 275.0 64.4, 275.6 64.1\n",
+       "L 275.7 64.5\n",
+       "Q 275.5 64.7, 275.2 64.8\n",
+       "Q 274.8 64.8, 274.5 64.8\n",
+       "Q 273.5 64.8, 273.1 64.3\n",
+       "Q 272.6 63.7, 272.6 62.7\n",
+       "' fill='#000000'/>\n",
+       "<path class='atom-30' d='M 233.5 77.9\n",
+       "Q 233.5 76.8, 234.0 76.3\n",
+       "Q 234.5 75.7, 235.4 75.7\n",
+       "Q 236.3 75.7, 236.8 76.3\n",
+       "L 236.4 76.7\n",
+       "Q 236.0 76.2, 235.4 76.2\n",
+       "Q 234.8 76.2, 234.4 76.6\n",
+       "Q 234.1 77.1, 234.1 77.9\n",
+       "Q 234.1 78.7, 234.4 79.2\n",
+       "Q 234.8 79.6, 235.5 79.6\n",
+       "Q 236.0 79.6, 236.5 79.3\n",
+       "L 236.7 79.8\n",
+       "Q 236.4 79.9, 236.1 80.0\n",
+       "Q 235.8 80.1, 235.4 80.1\n",
+       "Q 234.5 80.1, 234.0 79.5\n",
+       "Q 233.5 78.9, 233.5 77.9\n",
+       "' fill='#000000'/>\n",
+       "<path class='atom-38' d='M 179.8 49.5\n",
+       "Q 179.8 48.5, 180.3 47.9\n",
+       "Q 180.8 47.3, 181.8 47.3\n",
+       "Q 182.6 47.3, 183.1 48.0\n",
+       "L 182.7 48.3\n",
+       "Q 182.4 47.8, 181.8 47.8\n",
+       "Q 181.1 47.8, 180.8 48.3\n",
+       "Q 180.4 48.7, 180.4 49.5\n",
+       "Q 180.4 50.3, 180.8 50.8\n",
+       "Q 181.1 51.2, 181.8 51.2\n",
+       "Q 182.3 51.2, 182.8 50.9\n",
+       "L 183.0 51.4\n",
+       "Q 182.8 51.5, 182.4 51.6\n",
+       "Q 182.1 51.7, 181.7 51.7\n",
+       "Q 180.8 51.7, 180.3 51.1\n",
+       "Q 179.8 50.6, 179.8 49.5\n",
+       "' fill='#000000'/>\n",
+       "<path class='atom-49' d='M 99.5 79.1\n",
+       "Q 99.5 78.0, 100.0 77.5\n",
+       "Q 100.5 76.9, 101.4 76.9\n",
+       "Q 102.3 76.9, 102.8 77.5\n",
+       "L 102.4 77.9\n",
+       "Q 102.0 77.4, 101.4 77.4\n",
+       "Q 100.8 77.4, 100.4 77.8\n",
+       "Q 100.1 78.3, 100.1 79.1\n",
+       "Q 100.1 79.9, 100.5 80.4\n",
+       "Q 100.8 80.8, 101.5 80.8\n",
+       "Q 102.0 80.8, 102.5 80.5\n",
+       "L 102.7 81.0\n",
+       "Q 102.5 81.1, 102.1 81.2\n",
+       "Q 101.8 81.3, 101.4 81.3\n",
+       "Q 100.5 81.3, 100.0 80.7\n",
+       "Q 99.5 80.1, 99.5 79.1\n",
+       "' fill='#000000'/>\n",
+       "</svg>\n"
+      ],
+      "text/plain": [
+       "<rdkit.Chem.rdchem.Mol at 0x7fdb49fc8900>"
+      ]
+     },
+     "execution_count": 2,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "SMILES = \"CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\"  # units of ethylene\n",
+    "CONF_ID = 0\n",
+    "NB_THRESH = 100   # 100 gives extended conformation with Dielectric const of 78\n",
+    "maxIters = 10000 # typically 3k-5k iterations is sufficient\n",
+    "numConfs = 100\n",
+    "\n",
+    "# embed\n",
+    "mol = Chem.MolFromSmiles(SMILES)\n",
+    "mol3d = Chem.AddHs(mol)  # add the hydrogens to the SMILES string\n",
+    "AllChem.EmbedMultipleConfs(mol3d, randomSeed=43)\n",
+    "\n",
+    "# minimize conformer CONF_ID\n",
+    "dielectricModel=2 # model 1 is constant; model 2 is distant-dependent\n",
+    "dielectricConstant=78\n",
+    "props = AllChem.MMFFGetMoleculeProperties(mol3d)\n",
+    "rdkit.ForceField.rdForceField.MMFFMolProperties.SetMMFFDielectricConstant(props,dielectricConstant)\n",
+    "rdkit.ForceField.rdForceField.MMFFMolProperties.SetMMFFDielectricModel(props,dielectricModel)\n",
+    "ff = AllChem.MMFFGetMoleculeForceField(mol3d, props, nonBondedThresh=NB_THRESH, confId=CONF_ID)\n",
+    "logging.info(f\"Initial energy = {ff.CalcEnergy()}\")\n",
+    "ff.Initialize()\n",
+    "converged = ff.Minimize(100) # WHY IS THIS 700??\n",
+    "logging.info(f\"Now calc energy = {ff.CalcEnergy()}\")\n",
+    "ff = AllChem.MMFFGetMoleculeForceField(mol3d, props, nonBondedThresh=NB_THRESH, confId=CONF_ID)\n",
+    "logging.info(f\"True calc energy = {ff.CalcEnergy()}\")\n",
+    "\n",
+    "# remove Hs and only leave the conformer that we minimized (for display)\n",
+    "mol3d = Chem.RemoveHs(mol3d)\n",
+    "for i in range(mol3d.GetNumConformers()):\n",
+    "    if i != CONF_ID:\n",
+    "        mol3d.RemoveConformer(i)\n",
+    "mol3d"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "id": "48648fa9",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Saved polymer image to Ethylene_oxide30.png\n",
+      "            SA  LogP        Rg   LogP/SA   N  \\\n",
+      "0  1885.480876  0.48  6.784566  0.000255  30   \n",
+      "\n",
+      "                                                 smi  \n",
+      "0  CCOCCOCCOCCOCCOCCOCCOCCOCCOCCOCCOCCOCCOCCOCCOC...  \n"
+     ]
+    }
+   ],
+   "source": [
+    "# Want to construct SMILES string composed of n-number of monomers from monomer dictionary\n",
+    "# and then see how changing dielectric constant of solvent changes Rg and SA\n",
+    "\n",
+    "MakePolymer.main(n=30, single_monomer='Ethylene_oxide', nonBondedThresh=100,\n",
+    "                 calculation=['MHP', 'Rg'], draw='Ethylene_oxide30', save='Ethylene_oxide30.mol')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "id": "3aaa89a0",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Help on module hydrophobicity_explorer.MakePolymer in hydrophobicity_explorer:\n",
+      "\n",
+      "NAME\n",
+      "    hydrophobicity_explorer.MakePolymer\n",
+      "\n",
+      "CLASSES\n",
+      "    builtins.object\n",
+      "        Polymer\n",
+      "    \n",
+      "    class Polymer(builtins.object)\n",
+      "     |  Polymer(n, smiles, mpn=1, ratio=None, suppl=None)\n",
+      "     |  \n",
+      "     |  Holds information related to a rdkit molecule. This includes \n",
+      "     |  n: int, number of monomers\n",
+      "     |  smiles: str, smiles string\n",
+      "     |  mpn: int, the number of monomers in a comonomer sequence\n",
+      "     |  flat: mol, 2D structure. Used for pictures\n",
+      "     |  suppl: SDMolsuppl, the itterator with the conformers\n",
+      "     |  ratio: str, the ratio of monomers in a polymer with random monomer ordering using a target ratio\n",
+      "     |  \n",
+      "     |  Methods defined here:\n",
+      "     |  \n",
+      "     |  __init__(self, n, smiles, mpn=1, ratio=None, suppl=None)\n",
+      "     |      Initialize self.  See help(type(self)) for accurate signature.\n",
+      "     |  \n",
+      "     |  get2D(self)\n",
+      "     |  \n",
+      "     |  ----------------------------------------------------------------------\n",
+      "     |  Data descriptors defined here:\n",
+      "     |  \n",
+      "     |  __dict__\n",
+      "     |      dictionary for instance variables (if defined)\n",
+      "     |  \n",
+      "     |  __weakref__\n",
+      "     |      list of weak references to the object (if defined)\n",
+      "\n",
+      "FUNCTIONS\n",
+      "    LogP(pol_h)\n",
+      "    \n",
+      "    MolVolume(pol_h, *, grid_spacing=0.2, box_margin=2.0)\n",
+      "    \n",
+      "    RadGyration(pol_h)\n",
+      "    \n",
+      "    Sasa(pol_h)\n",
+      "    \n",
+      "    add_inator_smiles(smi, init, term, *, verbosity=False)\n",
+      "    \n",
+      "    attatch_frags(polymer_smiles, *, add_initiator=(False, None), add_terminator=(False, None))\n",
+      "    \n",
+      "    avg_stat(list_of_stats)\n",
+      "    \n",
+      "    confirmStructure(smi, *, proceed=None)\n",
+      "    \n",
+      "    createPolymerObj(i, n, r, t, *, verbosity=False, test=False)\n",
+      "    \n",
+      "    doCalcs(pol_iter, calcs, defaults={'MV_gridSpacing': 0.2, 'MV_boxMargin': 2.0})\n",
+      "    \n",
+      "    drawPol(pol, drawName=None, image_size=250, show=False)\n",
+      "    \n",
+      "    exportToCSV(exptName, dataframe)\n",
+      "    \n",
+      "    func_exp(x, a, b, c)\n",
+      "    \n",
+      "    getArgs()\n",
+      "    \n",
+      "    getJsonArgs(jsonFile, dict)\n",
+      "        Reads run parameters from a file. Allows multiple jobs to be run sequentially with one command.\n",
+      "    \n",
+      "    getRepeatUnit(single, co)\n",
+      "    \n",
+      "    getStaticSettings()\n",
+      "        Reads the settings file if it exists in CWD. Otherwise uses the default settings.\n",
+      "    \n",
+      "    get_building_blocks(i, t, m, *, verbosity=False)\n",
+      "    \n",
+      "    inator_smi_lookup(i, t)\n",
+      "    \n",
+      "    main(**kwargs)\n",
+      "    \n",
+      "    makePlot(pol_list, calculations, verbosity=False, data_marker='o', fig_filename='Size-dependent-stats.png')\n",
+      "    \n",
+      "    make_One_or_More_Polymers(i, n, r, t, *, verbosity=False, plot=False, confirm=False, defaults={'opt_numConfs': 5, 'opt_numThreads': 0, 'opt_maxIters': 1500})\n",
+      "    \n",
+      "    monomer_smi_lookup(m)\n",
+      "    \n",
+      "    optPol(FLAT, nConfs=5, threads=0, iters=1500)\n",
+      "    \n",
+      "    parse_smiles_dict_keys(compound_list, compound_dict)\n",
+      "    \n",
+      "    read_pol(name, n=None, verbosity=False, suppl=None)\n",
+      "    \n",
+      "    validate_end_group(inator, *, Init=False, Term=False, verbosity=False)\n",
+      "    \n",
+      "    write_pol(name, verbosity=False, suppl=None)\n",
+      "\n",
+      "DATA\n",
+      "    ini = {'Benzoyl': 'c1ccc(cc1)C(=O)O*', 'Benzyl': '*Cc1ccccc1', 'Benzyl...\n",
+      "    init_dict = {'Benzoyl': 'c1ccc(cc1)C(=O)O*', 'Benzyl': '*Cc1ccccc1', '...\n",
+      "    mono = {'1-Hexene': 'CC(CCCC)', '3HB': 'C(C)CC(=O)O', '3HBV': 'C(CC)CC...\n",
+      "    monomer_dict = {'1-Hexene': 'CC(CCCC)', '3HB': 'C(C)CC(=O)O', '3HBV': ...\n",
+      "\n",
+      "FILE\n",
+      "    /home/sander/.var/app/com.vscodium.codium/data/python/lib/python3.10/site-packages/hydrophobicity_explorer/MakePolymer.py\n",
+      "\n",
+      "\n"
+     ]
+    }
+   ],
+   "source": [
+    "help(MakePolymer)"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.10.11"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/testing/test_pol b/testing/test_pol.sh
similarity index 100%
rename from testing/test_pol
rename to testing/test_pol.sh
diff --git a/testing/testcolor.py b/testing/testcolor.py
new file mode 100644
index 0000000..38b65d0
--- /dev/null
+++ b/testing/testcolor.py
@@ -0,0 +1,12 @@
+from tqdm import trange, tqdm
+import time
+
+# Define your function or loop
+def some_function():
+    for i in trange(100, desc="Processing", ncols=80, colour='MAGENTA'):
+        # Simulate some processing time
+        time.sleep(0.1)
+
+# Call your function
+some_function()
+