diff --git a/dimsim/_tests/compute/test_equilibration.py b/dimsim/_tests/compute/test_equilibration.py
new file mode 100644
index 0000000..ebad311
--- /dev/null
+++ b/dimsim/_tests/compute/test_equilibration.py
@@ -0,0 +1,35 @@
+import shutil
+from importlib.resources import files
+
+import pytest
+from parsl import File
+
+from dimsim.compute._equilibrate import _run_equilibration
+from dimsim.compute._files import MinimizationFiles
+
+
+@pytest.fixture
+def minimization_future() -> dict[str, MinimizationFiles]:
+ return {
+ "simulation_files": MinimizationFiles(
+ topology=File(files("dimsim") / "_tests/data/app_files/sample_density/minimized_topology.pdb"),
+ system=File(files("dimsim") / "_tests/data/app_files/sample_density/minimized_system.xml"),
+ integrator=File(files("dimsim") / "_tests/data/app_files/sample_density/minimized_integrator.xml"),
+ checkpoint=File(files("dimsim") / "_tests/data/app_files/sample_density/minimized_checkpoint.chk"),
+ )
+ }
+
+
+def test_basic(tmp_path, minimization_future):
+ for file in ["compute_config.json", "packed_topology.pdb", "openmm_system.xml"]:
+ shutil.copy(
+ str(files("dimsim") / f"_tests/data/app_files/sample_density/{file}"),
+ str(tmp_path / file),
+ )
+ pass
+
+ _run_equilibration(
+ equilibration_config=None, # Replace with an actual EquilibrationConfig object
+ minimization_future=minimization_future,
+ job_dir=str(tmp_path),
+ )
diff --git a/dimsim/_tests/compute/test_produce.py b/dimsim/_tests/compute/test_produce.py
new file mode 100644
index 0000000..8d497ec
--- /dev/null
+++ b/dimsim/_tests/compute/test_produce.py
@@ -0,0 +1,39 @@
+import shutil
+from importlib.resources import files
+
+import pytest
+from parsl import File
+
+from dimsim.compute._files import EquilibrationFiles
+from dimsim.compute._produce import _run_production
+
+
+@pytest.fixture
+def equilibration_future() -> dict[str, EquilibrationFiles]:
+ return {
+ "simulation_files": EquilibrationFiles(
+ topology=File(files("dimsim") / "_tests/data/app_files/sample_density/equilibrated_topology.pdb"),
+ dcd_trajectory=File("foo.dcd"),
+ msgpack_trajectory=File("foo.msgpack"),
+ log=File(files("dimsim") / "_tests/data/app_files/sample_density/equilibrate.log"),
+ state_data=File(files("dimsim") / "_tests/data/app_files/sample_density/equilibration.csv"),
+ system=File(files("dimsim") / "_tests/data/app_files/sample_density/equilibration_system.xml"),
+ integrator=File(files("dimsim") / "_tests/data/app_files/sample_density/equilibration_integrator.xml"),
+ checkpoint=File(files("dimsim") / "_tests/data/app_files/sample_density/equilibration_checkpoint.chk"),
+ )
+ }
+
+
+def test_basic(tmp_path, equilibration_future):
+ for file in ["compute_config.json", "packed_topology.pdb", "openmm_system.xml"]:
+ shutil.copy(
+ str(files("dimsim") / f"_tests/data/app_files/sample_density/{file}"),
+ str(tmp_path / file),
+ )
+ pass
+
+ _run_production(
+ production_config=None, # Replace with an actual ProductionConfig object
+ equilibration_future=equilibration_future,
+ job_dir=str(tmp_path),
+ )
diff --git a/dimsim/_tests/data/app_files/make_sample_density_files.py b/dimsim/_tests/data/app_files/make_sample_density_files.py
index 55da90b..0ef4323 100644
--- a/dimsim/_tests/data/app_files/make_sample_density_files.py
+++ b/dimsim/_tests/data/app_files/make_sample_density_files.py
@@ -40,7 +40,7 @@
data_entry=target,
force_field="openff-2.3.0.offxml",
n_molecules=200,
-)[0]
+)[0][0]
with open("sample_density/compute_config.json", "w") as compute_config:
json.dump(compute, compute_config, indent=4)
@@ -72,7 +72,6 @@
)
analysis_result = _run_density_analysis(
- production_future=production_result,
job_dir="sample_density",
)
diff --git a/dimsim/_tests/data/app_files/sample_density/equilibrated_topology.pdb b/dimsim/_tests/data/app_files/sample_density/equilibrated_topology.pdb
new file mode 100644
index 0000000..fd37bb2
--- /dev/null
+++ b/dimsim/_tests/data/app_files/sample_density/equilibrated_topology.pdb
@@ -0,0 +1,2603 @@
+REMARK 1 CREATED WITH OPENMM 8.4, 2026-09-04
+CRYST1 28.569 28.569 28.569 120.00 120.00 90.00 P 1 1
+HETATM 1 O1x UNK A 1 17.301 18.000 13.863 1.00 0.00 O
+HETATM 2 H1x UNK A 1 16.545 18.146 14.432 1.00 0.00 H
+HETATM 3 H2x UNK A 1 17.630 18.879 13.672 1.00 0.00 H
+TER 4 UNK A 1
+HETATM 5 O1x UNK B 1 -0.701 20.420 15.572 1.00 0.00 O
+HETATM 6 H1x UNK B 1 -0.262 20.640 14.751 1.00 0.00 H
+HETATM 7 H2x UNK B 1 -0.065 19.887 16.050 1.00 0.00 H
+TER 8 UNK B 1
+HETATM 9 O1x UNK C 1 14.029 5.533 -1.627 1.00 0.00 O
+HETATM 10 H1x UNK C 1 14.277 4.617 -1.505 1.00 0.00 H
+HETATM 11 H2x UNK C 1 14.819 6.027 -1.410 1.00 0.00 H
+TER 12 UNK C 1
+HETATM 13 O1x UNK D 1 11.592 6.170 -0.161 1.00 0.00 O
+HETATM 14 H1x UNK D 1 11.000 6.709 -0.686 1.00 0.00 H
+HETATM 15 H2x UNK D 1 12.452 6.297 -0.563 1.00 0.00 H
+TER 16 UNK D 1
+HETATM 17 O1x UNK E 1 11.100 -0.997 19.782 1.00 0.00 O
+HETATM 18 H1x UNK E 1 11.191 -1.945 19.886 1.00 0.00 H
+HETATM 19 H2x UNK E 1 11.159 -0.854 18.837 1.00 0.00 H
+TER 20 UNK E 1
+HETATM 21 O1x UNK F 1 9.360 3.284 3.750 1.00 0.00 O
+HETATM 22 H1x UNK F 1 8.828 4.079 3.720 1.00 0.00 H
+HETATM 23 H2x UNK F 1 9.920 3.340 2.975 1.00 0.00 H
+TER 24 UNK F 1
+HETATM 25 O1x UNK G 1 11.131 22.881 19.172 1.00 0.00 O
+HETATM 26 H1x UNK G 1 11.960 23.117 18.755 1.00 0.00 H
+HETATM 27 H2x UNK G 1 11.241 21.963 19.420 1.00 0.00 H
+TER 28 UNK G 1
+HETATM 29 O1x UNK H 1 9.263 17.699 11.604 1.00 0.00 O
+HETATM 30 H1x UNK H 1 10.029 17.498 12.141 1.00 0.00 H
+HETATM 31 H2x UNK H 1 9.414 18.592 11.294 1.00 0.00 H
+TER 32 UNK H 1
+HETATM 33 O1x UNK I 1 26.020 9.719 12.901 1.00 0.00 O
+HETATM 34 H1x UNK I 1 26.104 9.145 12.139 1.00 0.00 H
+HETATM 35 H2x UNK I 1 26.850 10.194 12.937 1.00 0.00 H
+TER 36 UNK I 1
+HETATM 37 O1x UNK J 1 24.925 6.041 14.621 1.00 0.00 O
+HETATM 38 H1x UNK J 1 24.759 5.514 13.839 1.00 0.00 H
+HETATM 39 H2x UNK J 1 25.575 5.539 15.114 1.00 0.00 H
+TER 40 UNK J 1
+HETATM 41 O1x UNK K 1 5.724 25.360 8.371 1.00 0.00 O
+HETATM 42 H1x UNK K 1 6.459 25.745 7.894 1.00 0.00 H
+HETATM 43 H2x UNK K 1 5.418 26.061 8.946 1.00 0.00 H
+TER 44 UNK K 1
+HETATM 45 O1x UNK L 1 17.681 0.650 6.467 1.00 0.00 O
+HETATM 46 H1x UNK L 1 17.204 1.029 7.204 1.00 0.00 H
+HETATM 47 H2x UNK L 1 17.137 0.844 5.703 1.00 0.00 H
+TER 48 UNK L 1
+HETATM 49 O1x UNK M 1 6.278 25.673 12.796 1.00 0.00 O
+HETATM 50 H1x UNK M 1 6.676 24.935 12.334 1.00 0.00 H
+HETATM 51 H2x UNK M 1 6.960 25.978 13.394 1.00 0.00 H
+TER 52 UNK M 1
+HETATM 53 O1x UNK N 1 16.303 24.637 11.762 1.00 0.00 O
+HETATM 54 H1x UNK N 1 17.166 24.874 11.423 1.00 0.00 H
+HETATM 55 H2x UNK N 1 16.258 23.686 11.660 1.00 0.00 H
+TER 56 UNK N 1
+HETATM 57 O1x UNK O 1 5.656 11.050 15.001 1.00 0.00 O
+HETATM 58 H1x UNK O 1 5.724 10.327 15.624 1.00 0.00 H
+HETATM 59 H2x UNK O 1 5.957 10.681 14.171 1.00 0.00 H
+TER 60 UNK O 1
+HETATM 61 O1x UNK P 1 18.742 20.236 13.748 1.00 0.00 O
+HETATM 62 H1x UNK P 1 19.533 19.714 13.613 1.00 0.00 H
+HETATM 63 H2x UNK P 1 18.838 20.977 13.149 1.00 0.00 H
+TER 64 UNK P 1
+HETATM 65 O1x UNK Q 1 -1.611 15.061 1.496 1.00 0.00 O
+HETATM 66 H1x UNK Q 1 -1.592 14.238 1.008 1.00 0.00 H
+HETATM 67 H2x UNK Q 1 -2.145 14.870 2.267 1.00 0.00 H
+TER 68 UNK Q 1
+HETATM 69 O1x UNK R 1 20.378 4.599 -0.176 1.00 0.00 O
+HETATM 70 H1x UNK R 1 20.839 3.771 -0.042 1.00 0.00 H
+HETATM 71 H2x UNK R 1 20.530 5.092 0.631 1.00 0.00 H
+TER 72 UNK R 1
+HETATM 73 O1x UNK S 1 8.041 6.124 3.586 1.00 0.00 O
+HETATM 74 H1x UNK S 1 7.342 5.512 3.356 1.00 0.00 H
+HETATM 75 H2x UNK S 1 7.796 6.453 4.451 1.00 0.00 H
+TER 76 UNK S 1
+HETATM 77 O1x UNK T 1 20.182 22.824 12.225 1.00 0.00 O
+HETATM 78 H1x UNK T 1 20.968 22.621 11.719 1.00 0.00 H
+HETATM 79 H2x UNK T 1 19.880 23.662 11.875 1.00 0.00 H
+TER 80 UNK T 1
+HETATM 81 O1x UNK U 1 11.119 4.806 9.724 1.00 0.00 O
+HETATM 82 H1x UNK U 1 11.579 4.484 8.949 1.00 0.00 H
+HETATM 83 H2x UNK U 1 11.717 5.446 10.111 1.00 0.00 H
+TER 84 UNK U 1
+HETATM 85 O1x UNK V 1 17.723 20.066 16.513 1.00 0.00 O
+HETATM 86 H1x UNK V 1 17.092 20.784 16.566 1.00 0.00 H
+HETATM 87 H2x UNK V 1 17.842 19.920 15.574 1.00 0.00 H
+TER 88 UNK V 1
+HETATM 89 O1x UNK W 1 7.399 19.461 8.906 1.00 0.00 O
+HETATM 90 H1x UNK W 1 6.592 19.849 8.569 1.00 0.00 H
+HETATM 91 H2x UNK W 1 7.105 18.801 9.534 1.00 0.00 H
+TER 92 UNK W 1
+HETATM 93 O1x UNK X 1 16.776 1.460 8.799 1.00 0.00 O
+HETATM 94 H1x UNK X 1 16.129 2.107 9.082 1.00 0.00 H
+HETATM 95 H2x UNK X 1 17.481 1.530 9.443 1.00 0.00 H
+TER 96 UNK X 1
+HETATM 97 O1x UNK Y 1 22.703 25.243 2.346 1.00 0.00 O
+HETATM 98 H1x UNK Y 1 23.109 25.560 1.540 1.00 0.00 H
+HETATM 99 H2x UNK Y 1 21.791 25.075 2.105 1.00 0.00 H
+TER 100 UNK Y 1
+HETATM 101 O1x UNK Z 1 2.696 11.216 -0.626 1.00 0.00 O
+HETATM 102 H1x UNK Z 1 3.284 10.588 -0.207 1.00 0.00 H
+HETATM 103 H2x UNK Z 1 3.092 12.070 -0.450 1.00 0.00 H
+TER 104 UNK Z 1
+HETATM 105 O1x UNK A 1 5.454 8.856 16.638 1.00 0.00 O
+HETATM 106 H1x UNK A 1 5.783 8.015 16.319 1.00 0.00 H
+HETATM 107 H2x UNK A 1 5.319 8.721 17.576 1.00 0.00 H
+TER 108 UNK A 1
+HETATM 109 O1x UNK B 1 25.728 11.994 19.231 1.00 0.00 O
+HETATM 110 H1x UNK B 1 25.831 11.384 18.501 1.00 0.00 H
+HETATM 111 H2x UNK B 1 24.793 11.970 19.434 1.00 0.00 H
+TER 112 UNK B 1
+HETATM 113 O1x UNK C 1 4.304 9.094 0.152 1.00 0.00 O
+HETATM 114 H1x UNK C 1 4.509 8.159 0.127 1.00 0.00 H
+HETATM 115 H2x UNK C 1 4.795 9.427 0.903 1.00 0.00 H
+TER 116 UNK C 1
+HETATM 117 O1x UNK D 1 3.641 11.948 12.998 1.00 0.00 O
+HETATM 118 H1x UNK D 1 3.458 11.105 12.582 1.00 0.00 H
+HETATM 119 H2x UNK D 1 4.236 11.736 13.717 1.00 0.00 H
+TER 120 UNK D 1
+HETATM 121 O1x UNK E 1 8.635 23.448 17.455 1.00 0.00 O
+HETATM 122 H1x UNK E 1 9.227 23.268 18.185 1.00 0.00 H
+HETATM 123 H2x UNK E 1 8.379 22.584 17.134 1.00 0.00 H
+TER 124 UNK E 1
+HETATM 125 O1x UNK F 1 22.830 14.351 6.699 1.00 0.00 O
+HETATM 126 H1x UNK F 1 23.043 15.238 6.409 1.00 0.00 H
+HETATM 127 H2x UNK F 1 23.680 13.927 6.817 1.00 0.00 H
+TER 128 UNK F 1
+HETATM 129 O1x UNK G 1 24.413 8.880 15.038 1.00 0.00 O
+HETATM 130 H1x UNK G 1 24.234 7.951 14.891 1.00 0.00 H
+HETATM 131 H2x UNK G 1 24.946 9.143 14.287 1.00 0.00 H
+TER 132 UNK G 1
+HETATM 133 O1x UNK H 1 9.777 24.614 0.794 1.00 0.00 O
+HETATM 134 H1x UNK H 1 8.852 24.829 0.674 1.00 0.00 H
+HETATM 135 H2x UNK H 1 9.926 23.865 0.217 1.00 0.00 H
+TER 136 UNK H 1
+HETATM 137 O1x UNK I 1 5.447 17.549 2.260 1.00 0.00 O
+HETATM 138 H1x UNK I 1 5.055 18.263 2.763 1.00 0.00 H
+HETATM 139 H2x UNK I 1 6.322 17.445 2.632 1.00 0.00 H
+TER 140 UNK I 1
+HETATM 141 O1x UNK J 1 7.550 12.598 17.536 1.00 0.00 O
+HETATM 142 H1x UNK J 1 7.082 12.265 16.770 1.00 0.00 H
+HETATM 143 H2x UNK J 1 6.909 13.143 17.991 1.00 0.00 H
+TER 144 UNK J 1
+HETATM 145 O1x UNK K 1 4.630 7.274 3.206 1.00 0.00 O
+HETATM 146 H1x UNK K 1 4.617 6.850 2.347 1.00 0.00 H
+HETATM 147 H2x UNK K 1 5.449 6.981 3.605 1.00 0.00 H
+TER 148 UNK K 1
+HETATM 149 O1x UNK L 1 11.338 24.617 16.748 1.00 0.00 O
+HETATM 150 H1x UNK L 1 10.469 24.311 17.007 1.00 0.00 H
+HETATM 151 H2x UNK L 1 11.327 24.590 15.791 1.00 0.00 H
+TER 152 UNK L 1
+HETATM 153 O1x UNK M 1 23.805 7.353 11.684 1.00 0.00 O
+HETATM 154 H1x UNK M 1 22.931 7.441 11.303 1.00 0.00 H
+HETATM 155 H2x UNK M 1 24.283 8.119 11.367 1.00 0.00 H
+TER 156 UNK M 1
+HETATM 157 O1x UNK N 1 3.638 8.553 7.141 1.00 0.00 O
+HETATM 158 H1x UNK N 1 4.574 8.366 7.072 1.00 0.00 H
+HETATM 159 H2x UNK N 1 3.313 8.482 6.243 1.00 0.00 H
+TER 160 UNK N 1
+HETATM 161 O1x UNK O 1 15.089 25.278 1.748 1.00 0.00 O
+HETATM 162 H1x UNK O 1 15.531 24.655 1.170 1.00 0.00 H
+HETATM 163 H2x UNK O 1 14.157 25.146 1.576 1.00 0.00 H
+TER 164 UNK O 1
+HETATM 165 O1x UNK P 1 13.905 15.648 5.898 1.00 0.00 O
+HETATM 166 H1x UNK P 1 13.302 16.130 6.465 1.00 0.00 H
+HETATM 167 H2x UNK P 1 13.938 14.769 6.276 1.00 0.00 H
+TER 168 UNK P 1
+HETATM 169 O1x UNK Q 1 25.708 25.973 2.844 1.00 0.00 O
+HETATM 170 H1x UNK Q 1 25.394 26.766 2.410 1.00 0.00 H
+HETATM 171 H2x UNK Q 1 24.911 25.520 3.121 1.00 0.00 H
+TER 172 UNK Q 1
+HETATM 173 O1x UNK R 1 0.528 4.501 10.303 1.00 0.00 O
+HETATM 174 H1x UNK R 1 0.750 4.273 9.400 1.00 0.00 H
+HETATM 175 H2x UNK R 1 0.773 3.730 10.813 1.00 0.00 H
+TER 176 UNK R 1
+HETATM 177 O1x UNK S 1 3.950 4.604 8.890 1.00 0.00 O
+HETATM 178 H1x UNK S 1 4.713 4.166 8.513 1.00 0.00 H
+HETATM 179 H2x UNK S 1 4.318 5.258 9.484 1.00 0.00 H
+TER 180 UNK S 1
+HETATM 181 O1x UNK T 1 14.688 21.442 8.216 1.00 0.00 O
+HETATM 182 H1x UNK T 1 14.961 22.130 7.610 1.00 0.00 H
+HETATM 183 H2x UNK T 1 13.814 21.191 7.917 1.00 0.00 H
+TER 184 UNK T 1
+HETATM 185 O1x UNK U 1 16.686 24.748 4.878 1.00 0.00 O
+HETATM 186 H1x UNK U 1 17.446 25.283 5.109 1.00 0.00 H
+HETATM 187 H2x UNK U 1 16.132 25.331 4.359 1.00 0.00 H
+TER 188 UNK U 1
+HETATM 189 O1x UNK V 1 14.205 18.125 15.819 1.00 0.00 O
+HETATM 190 H1x UNK V 1 13.952 19.046 15.765 1.00 0.00 H
+HETATM 191 H2x UNK V 1 14.725 18.065 16.621 1.00 0.00 H
+TER 192 UNK V 1
+HETATM 193 O1x UNK W 1 12.515 4.575 4.936 1.00 0.00 O
+HETATM 194 H1x UNK W 1 11.956 3.877 4.595 1.00 0.00 H
+HETATM 195 H2x UNK W 1 12.248 5.355 4.450 1.00 0.00 H
+TER 196 UNK W 1
+HETATM 197 O1x UNK X 1 24.359 11.825 5.335 1.00 0.00 O
+HETATM 198 H1x UNK X 1 24.125 12.378 4.589 1.00 0.00 H
+HETATM 199 H2x UNK X 1 24.877 12.395 5.903 1.00 0.00 H
+TER 200 UNK X 1
+HETATM 201 O1x UNK Y 1 5.221 20.596 7.963 1.00 0.00 O
+HETATM 202 H1x UNK Y 1 4.294 20.479 7.756 1.00 0.00 H
+HETATM 203 H2x UNK Y 1 5.421 21.485 7.670 1.00 0.00 H
+TER 204 UNK Y 1
+HETATM 205 O1x UNK Z 1 3.809 18.552 5.306 1.00 0.00 O
+HETATM 206 H1x UNK Z 1 3.300 17.742 5.350 1.00 0.00 H
+HETATM 207 H2x UNK Z 1 3.347 19.158 5.886 1.00 0.00 H
+TER 208 UNK Z 1
+HETATM 209 O1x UNK A 1 11.690 12.793 4.769 1.00 0.00 O
+HETATM 210 H1x UNK A 1 11.205 11.968 4.804 1.00 0.00 H
+HETATM 211 H2x UNK A 1 11.306 13.266 4.031 1.00 0.00 H
+TER 212 UNK A 1
+HETATM 213 O1x UNK B 1 3.928 0.641 6.742 1.00 0.00 O
+HETATM 214 H1x UNK B 1 4.422 -0.048 7.187 1.00 0.00 H
+HETATM 215 H2x UNK B 1 4.493 1.412 6.791 1.00 0.00 H
+TER 216 UNK B 1
+HETATM 217 O1x UNK C 1 6.661 18.452 5.024 1.00 0.00 O
+HETATM 218 H1x UNK C 1 6.927 17.767 5.637 1.00 0.00 H
+HETATM 219 H2x UNK C 1 5.711 18.506 5.122 1.00 0.00 H
+TER 220 UNK C 1
+HETATM 221 O1x UNK D 1 12.930 22.565 10.964 1.00 0.00 O
+HETATM 222 H1x UNK D 1 12.781 22.752 10.037 1.00 0.00 H
+HETATM 223 H2x UNK D 1 12.468 21.742 11.121 1.00 0.00 H
+TER 224 UNK D 1
+HETATM 225 O1x UNK E 1 5.838 2.735 8.335 1.00 0.00 O
+HETATM 226 H1x UNK E 1 6.771 2.774 8.125 1.00 0.00 H
+HETATM 227 H2x UNK E 1 5.790 2.181 9.115 1.00 0.00 H
+TER 228 UNK E 1
+HETATM 229 O1x UNK F 1 17.699 13.361 17.403 1.00 0.00 O
+HETATM 230 H1x UNK F 1 18.192 13.379 16.582 1.00 0.00 H
+HETATM 231 H2x UNK F 1 18.064 12.620 17.886 1.00 0.00 H
+TER 232 UNK F 1
+HETATM 233 O1x UNK G 1 9.047 6.930 9.779 1.00 0.00 O
+HETATM 234 H1x UNK G 1 9.669 6.217 9.633 1.00 0.00 H
+HETATM 235 H2x UNK G 1 9.136 7.139 10.709 1.00 0.00 H
+TER 236 UNK G 1
+HETATM 237 O1x UNK H 1 9.656 20.002 10.292 1.00 0.00 O
+HETATM 238 H1x UNK H 1 8.876 19.735 9.806 1.00 0.00 H
+HETATM 239 H2x UNK H 1 10.163 20.522 9.668 1.00 0.00 H
+TER 240 UNK H 1
+HETATM 241 O1x UNK I 1 17.595 13.112 10.932 1.00 0.00 O
+HETATM 242 H1x UNK I 1 18.249 13.729 11.260 1.00 0.00 H
+HETATM 243 H2x UNK I 1 17.450 12.507 11.659 1.00 0.00 H
+TER 244 UNK I 1
+HETATM 245 O1x UNK J 1 25.528 13.449 7.161 1.00 0.00 O
+HETATM 246 H1x UNK J 1 26.033 13.160 7.921 1.00 0.00 H
+HETATM 247 H2x UNK J 1 26.074 14.119 6.751 1.00 0.00 H
+TER 248 UNK J 1
+HETATM 249 O1x UNK K 1 20.559 13.309 5.400 1.00 0.00 O
+HETATM 250 H1x UNK K 1 20.823 12.738 4.678 1.00 0.00 H
+HETATM 251 H2x UNK K 1 21.350 13.406 5.931 1.00 0.00 H
+TER 252 UNK K 1
+HETATM 253 O1x UNK L 1 7.004 21.787 -1.859 1.00 0.00 O
+HETATM 254 H1x UNK L 1 6.768 21.344 -2.674 1.00 0.00 H
+HETATM 255 H2x UNK L 1 6.869 21.128 -1.179 1.00 0.00 H
+TER 256 UNK L 1
+HETATM 257 O1x UNK M 1 -0.713 2.380 14.325 1.00 0.00 O
+HETATM 258 H1x UNK M 1 -1.105 1.594 14.705 1.00 0.00 H
+HETATM 259 H2x UNK M 1 -0.397 2.879 15.078 1.00 0.00 H
+TER 260 UNK M 1
+HETATM 261 O1x UNK N 1 5.339 27.459 10.797 1.00 0.00 O
+HETATM 262 H1x UNK N 1 5.789 26.826 11.357 1.00 0.00 H
+HETATM 263 H2x UNK N 1 4.413 27.226 10.867 1.00 0.00 H
+TER 264 UNK N 1
+HETATM 265 O1x UNK O 1 20.484 15.217 3.245 1.00 0.00 O
+HETATM 266 H1x UNK O 1 19.706 15.518 2.775 1.00 0.00 H
+HETATM 267 H2x UNK O 1 20.140 14.792 4.030 1.00 0.00 H
+TER 268 UNK O 1
+HETATM 269 O1x UNK P 1 3.177 15.078 4.744 1.00 0.00 O
+HETATM 270 H1x UNK P 1 3.230 14.264 4.244 1.00 0.00 H
+HETATM 271 H2x UNK P 1 3.948 15.062 5.312 1.00 0.00 H
+TER 272 UNK P 1
+HETATM 273 O1x UNK Q 1 20.969 10.304 8.798 1.00 0.00 O
+HETATM 274 H1x UNK Q 1 20.679 11.137 9.169 1.00 0.00 H
+HETATM 275 H2x UNK Q 1 20.197 9.740 8.841 1.00 0.00 H
+TER 276 UNK Q 1
+HETATM 277 O1x UNK R 1 11.914 6.663 3.311 1.00 0.00 O
+HETATM 278 H1x UNK R 1 11.133 7.207 3.203 1.00 0.00 H
+HETATM 279 H2x UNK R 1 11.858 6.020 2.604 1.00 0.00 H
+TER 280 UNK R 1
+HETATM 281 O1x UNK S 1 22.702 9.844 17.257 1.00 0.00 O
+HETATM 282 H1x UNK S 1 23.171 9.549 16.476 1.00 0.00 H
+HETATM 283 H2x UNK S 1 21.800 9.554 17.119 1.00 0.00 H
+TER 284 UNK S 1
+HETATM 285 O1x UNK T 1 5.011 14.674 12.209 1.00 0.00 O
+HETATM 286 H1x UNK T 1 4.858 14.081 12.945 1.00 0.00 H
+HETATM 287 H2x UNK T 1 5.696 15.267 12.518 1.00 0.00 H
+TER 288 UNK T 1
+HETATM 289 O1x UNK U 1 23.603 2.653 12.547 1.00 0.00 O
+HETATM 290 H1x UNK U 1 23.539 3.534 12.176 1.00 0.00 H
+HETATM 291 H2x UNK U 1 24.419 2.662 13.047 1.00 0.00 H
+TER 292 UNK U 1
+HETATM 293 O1x UNK V 1 15.772 22.243 10.770 1.00 0.00 O
+HETATM 294 H1x UNK V 1 15.768 21.669 10.004 1.00 0.00 H
+HETATM 295 H2x UNK V 1 14.847 22.407 10.952 1.00 0.00 H
+TER 296 UNK V 1
+HETATM 297 O1x UNK W 1 1.133 21.061 13.875 1.00 0.00 O
+HETATM 298 H1x UNK W 1 1.579 21.451 14.627 1.00 0.00 H
+HETATM 299 H2x UNK W 1 1.675 20.308 13.639 1.00 0.00 H
+TER 300 UNK W 1
+HETATM 301 O1x UNK X 1 12.604 6.814 11.135 1.00 0.00 O
+HETATM 302 H1x UNK X 1 12.295 7.716 11.216 1.00 0.00 H
+HETATM 303 H2x UNK X 1 13.370 6.770 11.708 1.00 0.00 H
+TER 304 UNK X 1
+HETATM 305 O1x UNK Y 1 16.344 9.867 11.831 1.00 0.00 O
+HETATM 306 H1x UNK Y 1 17.194 9.432 11.890 1.00 0.00 H
+HETATM 307 H2x UNK Y 1 16.264 10.112 10.909 1.00 0.00 H
+TER 308 UNK Y 1
+HETATM 309 O1x UNK Z 1 15.768 0.679 3.942 1.00 0.00 O
+HETATM 310 H1x UNK Z 1 14.898 0.540 4.315 1.00 0.00 H
+HETATM 311 H2x UNK Z 1 15.667 0.472 3.013 1.00 0.00 H
+TER 312 UNK Z 1
+HETATM 313 O1x UNK A 1 12.153 9.951 14.233 1.00 0.00 O
+HETATM 314 H1x UNK A 1 12.934 10.148 13.715 1.00 0.00 H
+HETATM 315 H2x UNK A 1 12.466 9.371 14.927 1.00 0.00 H
+TER 316 UNK A 1
+HETATM 317 O1x UNK B 1 -3.271 13.858 3.674 1.00 0.00 O
+HETATM 318 H1x UNK B 1 -4.054 14.400 3.769 1.00 0.00 H
+HETATM 319 H2x UNK B 1 -3.504 13.215 3.005 1.00 0.00 H
+TER 320 UNK B 1
+HETATM 321 O1x UNK C 1 6.529 7.176 8.773 1.00 0.00 O
+HETATM 322 H1x UNK C 1 7.398 7.115 9.169 1.00 0.00 H
+HETATM 323 H2x UNK C 1 5.923 7.119 9.511 1.00 0.00 H
+TER 324 UNK C 1
+HETATM 325 O1x UNK D 1 1.802 6.807 8.731 1.00 0.00 O
+HETATM 326 H1x UNK D 1 2.412 7.366 8.250 1.00 0.00 H
+HETATM 327 H2x UNK D 1 2.080 5.914 8.524 1.00 0.00 H
+TER 328 UNK D 1
+HETATM 329 O1x UNK E 1 13.002 16.101 14.469 1.00 0.00 O
+HETATM 330 H1x UNK E 1 13.346 15.344 14.943 1.00 0.00 H
+HETATM 331 H2x UNK E 1 13.497 16.845 14.814 1.00 0.00 H
+TER 332 UNK E 1
+HETATM 333 O1x UNK F 1 21.675 7.784 9.985 1.00 0.00 O
+HETATM 334 H1x UNK F 1 21.742 8.686 9.673 1.00 0.00 H
+HETATM 335 H2x UNK F 1 21.864 7.248 9.215 1.00 0.00 H
+TER 336 UNK F 1
+HETATM 337 O1x UNK G 1 8.469 8.127 14.134 1.00 0.00 O
+HETATM 338 H1x UNK G 1 9.168 7.614 13.729 1.00 0.00 H
+HETATM 339 H2x UNK G 1 8.682 9.035 13.920 1.00 0.00 H
+TER 340 UNK G 1
+HETATM 341 O1x UNK H 1 10.056 6.647 12.679 1.00 0.00 O
+HETATM 342 H1x UNK H 1 10.836 6.202 12.347 1.00 0.00 H
+HETATM 343 H2x UNK H 1 9.453 5.939 12.904 1.00 0.00 H
+TER 344 UNK H 1
+HETATM 345 O1x UNK I 1 22.617 10.045 6.455 1.00 0.00 O
+HETATM 346 H1x UNK I 1 22.096 10.408 7.171 1.00 0.00 H
+HETATM 347 H2x UNK I 1 23.095 10.795 6.101 1.00 0.00 H
+TER 348 UNK I 1
+HETATM 349 O1x UNK J 1 0.381 10.101 -0.926 1.00 0.00 O
+HETATM 350 H1x UNK J 1 -0.157 10.632 -1.513 1.00 0.00 H
+HETATM 351 H2x UNK J 1 1.242 10.520 -0.944 1.00 0.00 H
+TER 352 UNK J 1
+HETATM 353 O1x UNK K 1 12.623 19.861 6.572 1.00 0.00 O
+HETATM 354 H1x UNK K 1 12.527 19.187 7.245 1.00 0.00 H
+HETATM 355 H2x UNK K 1 12.904 19.383 5.792 1.00 0.00 H
+TER 356 UNK K 1
+HETATM 357 O1x UNK L 1 21.007 13.872 17.012 1.00 0.00 O
+HETATM 358 H1x UNK L 1 20.893 13.421 17.848 1.00 0.00 H
+HETATM 359 H2x UNK L 1 21.903 13.664 16.748 1.00 0.00 H
+TER 360 UNK L 1
+HETATM 361 O1x UNK M 1 4.548 6.858 10.545 1.00 0.00 O
+HETATM 362 H1x UNK M 1 4.128 7.635 10.178 1.00 0.00 H
+HETATM 363 H2x UNK M 1 4.050 6.669 11.340 1.00 0.00 H
+TER 364 UNK M 1
+HETATM 365 O1x UNK N 1 6.487 19.878 0.068 1.00 0.00 O
+HETATM 366 H1x UNK N 1 5.801 19.219 -0.035 1.00 0.00 H
+HETATM 367 H2x UNK N 1 6.799 19.763 0.966 1.00 0.00 H
+TER 368 UNK N 1
+HETATM 369 O1x UNK O 1 12.175 -1.823 13.876 1.00 0.00 O
+HETATM 370 H1x UNK O 1 11.893 -2.509 13.271 1.00 0.00 H
+HETATM 371 H2x UNK O 1 13.055 -1.588 13.579 1.00 0.00 H
+TER 372 UNK O 1
+HETATM 373 O1x UNK P 1 4.732 6.153 0.406 1.00 0.00 O
+HETATM 374 H1x UNK P 1 5.015 5.248 0.538 1.00 0.00 H
+HETATM 375 H2x UNK P 1 4.997 6.358 -0.491 1.00 0.00 H
+TER 376 UNK P 1
+HETATM 377 O1x UNK Q 1 11.926 17.039 12.261 1.00 0.00 O
+HETATM 378 H1x UNK Q 1 12.348 16.734 13.065 1.00 0.00 H
+HETATM 379 H2x UNK Q 1 12.574 16.881 11.575 1.00 0.00 H
+TER 380 UNK Q 1
+HETATM 381 O1x UNK R 1 2.524 9.054 11.722 1.00 0.00 O
+HETATM 382 H1x UNK R 1 1.837 8.898 11.074 1.00 0.00 H
+HETATM 383 H2x UNK R 1 2.924 8.195 11.861 1.00 0.00 H
+TER 384 UNK R 1
+HETATM 385 O1x UNK S 1 24.917 4.923 11.925 1.00 0.00 O
+HETATM 386 H1x UNK S 1 25.655 4.943 11.317 1.00 0.00 H
+HETATM 387 H2x UNK S 1 24.371 5.665 11.665 1.00 0.00 H
+TER 388 UNK S 1
+HETATM 389 O1x UNK T 1 10.567 10.361 4.303 1.00 0.00 O
+HETATM 390 H1x UNK T 1 10.027 9.737 3.817 1.00 0.00 H
+HETATM 391 H2x UNK T 1 11.443 9.976 4.296 1.00 0.00 H
+TER 392 UNK T 1
+HETATM 393 O1x UNK U 1 16.320 11.161 9.292 1.00 0.00 O
+HETATM 394 H1x UNK U 1 16.598 12.036 9.563 1.00 0.00 H
+HETATM 395 H2x UNK U 1 15.910 11.294 8.437 1.00 0.00 H
+TER 396 UNK U 1
+HETATM 397 O1x UNK V 1 17.654 25.710 0.007 1.00 0.00 O
+HETATM 398 H1x UNK V 1 16.940 26.258 0.333 1.00 0.00 H
+HETATM 399 H2x UNK V 1 17.234 25.112 -0.611 1.00 0.00 H
+TER 400 UNK V 1
+HETATM 401 C1x UNK W 1 11.576 5.891 17.376 1.00 0.00 C
+HETATM 402 C2x UNK W 1 11.397 4.654 18.257 1.00 0.00 C
+HETATM 403 O1x UNK W 1 12.215 4.715 19.431 1.00 0.00 O
+HETATM 404 H1x UNK W 1 12.089 3.881 19.913 1.00 0.00 H
+HETATM 405 H2x UNK W 1 11.836 3.796 17.743 1.00 0.00 H
+HETATM 406 H3x UNK W 1 10.350 4.576 18.557 1.00 0.00 H
+HETATM 407 H4x UNK W 1 11.125 5.694 16.401 1.00 0.00 H
+HETATM 408 H5x UNK W 1 11.275 6.841 17.823 1.00 0.00 H
+HETATM 409 H6x UNK W 1 12.646 6.006 17.187 1.00 0.00 H
+TER 410 UNK W 1
+HETATM 411 C1x UNK X 1 8.243 9.142 6.461 1.00 0.00 C
+HETATM 412 C2x UNK X 1 6.808 8.976 5.941 1.00 0.00 C
+HETATM 413 O1x UNK X 1 6.344 7.704 6.319 1.00 0.00 O
+HETATM 414 H1x UNK X 1 6.498 7.522 7.260 1.00 0.00 H
+HETATM 415 H2x UNK X 1 6.830 9.066 4.853 1.00 0.00 H
+HETATM 416 H3x UNK X 1 6.143 9.674 6.456 1.00 0.00 H
+HETATM 417 H4x UNK X 1 8.942 8.633 5.793 1.00 0.00 H
+HETATM 418 H5x UNK X 1 8.603 10.173 6.491 1.00 0.00 H
+HETATM 419 H6x UNK X 1 8.287 8.744 7.478 1.00 0.00 H
+TER 420 UNK X 1
+HETATM 421 C1x UNK Y 1 0.087 17.293 4.487 1.00 0.00 C
+HETATM 422 C2x UNK Y 1 -0.338 15.795 4.677 1.00 0.00 C
+HETATM 423 O1x UNK Y 1 0.508 15.254 5.706 1.00 0.00 O
+HETATM 424 H1x UNK Y 1 1.420 15.323 5.378 1.00 0.00 H
+HETATM 425 H2x UNK Y 1 -0.214 15.232 3.748 1.00 0.00 H
+HETATM 426 H3x UNK Y 1 -1.345 15.793 5.100 1.00 0.00 H
+HETATM 427 H4x UNK Y 1 -0.513 17.639 3.642 1.00 0.00 H
+HETATM 428 H5x UNK Y 1 -0.228 17.792 5.406 1.00 0.00 H
+HETATM 429 H6x UNK Y 1 1.174 17.346 4.390 1.00 0.00 H
+TER 430 UNK Y 1
+HETATM 431 C1x UNK Z 1 1.827 18.909 11.132 1.00 0.00 C
+HETATM 432 C2x UNK Z 1 1.786 17.938 12.323 1.00 0.00 C
+HETATM 433 O1x UNK Z 1 2.560 18.524 13.404 1.00 0.00 O
+HETATM 434 H1x UNK Z 1 3.477 18.633 13.104 1.00 0.00 H
+HETATM 435 H2x UNK Z 1 2.156 16.929 12.129 1.00 0.00 H
+HETATM 436 H3x UNK Z 1 0.755 17.869 12.677 1.00 0.00 H
+HETATM 437 H4x UNK Z 1 1.448 18.396 10.244 1.00 0.00 H
+HETATM 438 H5x UNK Z 1 1.268 19.834 11.292 1.00 0.00 H
+HETATM 439 H6x UNK Z 1 2.861 19.173 10.902 1.00 0.00 H
+TER 440 UNK Z 1
+HETATM 441 C1x UNK A 1 6.763 15.952 15.225 1.00 0.00 C
+HETATM 442 C2x UNK A 1 7.287 16.895 14.239 1.00 0.00 C
+HETATM 443 O1x UNK A 1 7.111 16.609 12.855 1.00 0.00 O
+HETATM 444 H1x UNK A 1 7.937 16.819 12.391 1.00 0.00 H
+HETATM 445 H2x UNK A 1 8.371 16.915 14.374 1.00 0.00 H
+HETATM 446 H3x UNK A 1 6.948 17.885 14.553 1.00 0.00 H
+HETATM 447 H4x UNK A 1 6.845 16.337 16.244 1.00 0.00 H
+HETATM 448 H5x UNK A 1 5.696 15.778 15.071 1.00 0.00 H
+HETATM 449 H6x UNK A 1 7.231 14.966 15.189 1.00 0.00 H
+TER 450 UNK A 1
+HETATM 451 C1x UNK B 1 9.377 21.050 1.447 1.00 0.00 C
+HETATM 452 C2x UNK B 1 8.673 20.687 2.760 1.00 0.00 C
+HETATM 453 O1x UNK B 1 7.491 19.795 2.713 1.00 0.00 O
+HETATM 454 H1x UNK B 1 7.287 19.476 3.608 1.00 0.00 H
+HETATM 455 H2x UNK B 1 8.325 21.607 3.235 1.00 0.00 H
+HETATM 456 H3x UNK B 1 9.408 20.245 3.437 1.00 0.00 H
+HETATM 457 H4x UNK B 1 10.153 21.786 1.665 1.00 0.00 H
+HETATM 458 H5x UNK B 1 9.792 20.168 0.953 1.00 0.00 H
+HETATM 459 H6x UNK B 1 8.729 21.462 0.670 1.00 0.00 H
+TER 460 UNK B 1
+HETATM 461 C1x UNK C 1 18.460 3.897 10.334 1.00 0.00 C
+HETATM 462 C2x UNK C 1 18.653 2.800 11.381 1.00 0.00 C
+HETATM 463 O1x UNK C 1 18.752 1.644 10.605 1.00 0.00 O
+HETATM 464 H1x UNK C 1 19.510 1.789 10.016 1.00 0.00 H
+HETATM 465 H2x UNK C 1 17.819 2.810 12.087 1.00 0.00 H
+HETATM 466 H3x UNK C 1 19.588 2.967 11.922 1.00 0.00 H
+HETATM 467 H4x UNK C 1 18.260 4.883 10.758 1.00 0.00 H
+HETATM 468 H5x UNK C 1 19.265 3.915 9.595 1.00 0.00 H
+HETATM 469 H6x UNK C 1 17.455 3.714 9.946 1.00 0.00 H
+TER 470 UNK C 1
+HETATM 471 C1x UNK D 1 22.714 17.717 12.385 1.00 0.00 C
+HETATM 472 C2x UNK D 1 21.866 18.581 13.215 1.00 0.00 C
+HETATM 473 O1x UNK D 1 20.646 18.644 12.477 1.00 0.00 O
+HETATM 474 H1x UNK D 1 20.285 17.743 12.464 1.00 0.00 H
+HETATM 475 H2x UNK D 1 22.340 19.564 13.258 1.00 0.00 H
+HETATM 476 H3x UNK D 1 21.718 18.113 14.191 1.00 0.00 H
+HETATM 477 H4x UNK D 1 23.723 17.721 12.802 1.00 0.00 H
+HETATM 478 H5x UNK D 1 22.374 16.679 12.391 1.00 0.00 H
+HETATM 479 H6x UNK D 1 22.828 18.173 11.399 1.00 0.00 H
+TER 480 UNK D 1
+HETATM 481 C1x UNK E 1 5.311 22.520 4.264 1.00 0.00 C
+HETATM 482 C2x UNK E 1 5.787 23.428 5.401 1.00 0.00 C
+HETATM 483 O1x UNK E 1 5.020 23.068 6.567 1.00 0.00 O
+HETATM 484 H1x UNK E 1 4.994 23.828 7.170 1.00 0.00 H
+HETATM 485 H2x UNK E 1 5.506 24.449 5.133 1.00 0.00 H
+HETATM 486 H3x UNK E 1 6.873 23.483 5.505 1.00 0.00 H
+HETATM 487 H4x UNK E 1 5.981 22.406 3.409 1.00 0.00 H
+HETATM 488 H5x UNK E 1 5.041 21.533 4.647 1.00 0.00 H
+HETATM 489 H6x UNK E 1 4.416 22.965 3.824 1.00 0.00 H
+TER 490 UNK E 1
+HETATM 491 C1x UNK F 1 18.469 11.041 2.495 1.00 0.00 C
+HETATM 492 C2x UNK F 1 19.246 10.488 3.713 1.00 0.00 C
+HETATM 493 O1x UNK F 1 20.605 10.952 3.716 1.00 0.00 O
+HETATM 494 H1x UNK F 1 21.208 10.299 4.107 1.00 0.00 H
+HETATM 495 H2x UNK F 1 19.310 9.412 3.535 1.00 0.00 H
+HETATM 496 H3x UNK F 1 18.814 10.729 4.687 1.00 0.00 H
+HETATM 497 H4x UNK F 1 17.716 10.322 2.164 1.00 0.00 H
+HETATM 498 H5x UNK F 1 18.115 12.062 2.653 1.00 0.00 H
+HETATM 499 H6x UNK F 1 19.194 11.131 1.683 1.00 0.00 H
+TER 500 UNK F 1
+HETATM 501 C1x UNK G 1 18.478 23.352 15.263 1.00 0.00 C
+HETATM 502 C2x UNK G 1 16.998 23.040 15.061 1.00 0.00 C
+HETATM 503 O1x UNK G 1 16.433 22.548 16.211 1.00 0.00 O
+HETATM 504 H1x UNK G 1 16.282 23.270 16.843 1.00 0.00 H
+HETATM 505 H2x UNK G 1 17.059 22.296 14.264 1.00 0.00 H
+HETATM 506 H3x UNK G 1 16.437 23.931 14.768 1.00 0.00 H
+HETATM 507 H4x UNK G 1 19.042 23.605 14.363 1.00 0.00 H
+HETATM 508 H5x UNK G 1 18.508 24.234 15.907 1.00 0.00 H
+HETATM 509 H6x UNK G 1 18.970 22.480 15.700 1.00 0.00 H
+TER 510 UNK G 1
+HETATM 511 C1x UNK H 1 12.787 8.241 6.593 1.00 0.00 C
+HETATM 512 C2x UNK H 1 13.707 8.853 5.504 1.00 0.00 C
+HETATM 513 O1x UNK H 1 13.222 8.774 4.175 1.00 0.00 O
+HETATM 514 H1x UNK H 1 13.007 7.851 3.964 1.00 0.00 H
+HETATM 515 H2x UNK H 1 14.653 8.313 5.588 1.00 0.00 H
+HETATM 516 H3x UNK H 1 13.914 9.901 5.734 1.00 0.00 H
+HETATM 517 H4x UNK H 1 13.262 8.530 7.533 1.00 0.00 H
+HETATM 518 H5x UNK H 1 11.767 8.623 6.513 1.00 0.00 H
+HETATM 519 H6x UNK H 1 12.746 7.161 6.430 1.00 0.00 H
+TER 520 UNK H 1
+HETATM 521 C1x UNK I 1 12.586 20.718 3.432 1.00 0.00 C
+HETATM 522 C2x UNK I 1 12.889 19.265 3.036 1.00 0.00 C
+HETATM 523 O1x UNK I 1 12.655 18.609 4.317 1.00 0.00 O
+HETATM 524 H1x UNK I 1 12.622 17.646 4.189 1.00 0.00 H
+HETATM 525 H2x UNK I 1 13.956 19.282 2.800 1.00 0.00 H
+HETATM 526 H3x UNK I 1 12.230 18.873 2.258 1.00 0.00 H
+HETATM 527 H4x UNK I 1 12.702 21.337 2.540 1.00 0.00 H
+HETATM 528 H5x UNK I 1 11.601 20.824 3.892 1.00 0.00 H
+HETATM 529 H6x UNK I 1 13.372 21.067 4.106 1.00 0.00 H
+TER 530 UNK I 1
+HETATM 531 C1x UNK J 1 3.401 16.093 8.150 1.00 0.00 C
+HETATM 532 C2x UNK J 1 4.122 16.105 9.533 1.00 0.00 C
+HETATM 533 O1x UNK J 1 4.894 14.874 9.625 1.00 0.00 O
+HETATM 534 H1x UNK J 1 4.996 14.660 10.567 1.00 0.00 H
+HETATM 535 H2x UNK J 1 3.418 16.235 10.358 1.00 0.00 H
+HETATM 536 H3x UNK J 1 4.890 16.882 9.505 1.00 0.00 H
+HETATM 537 H4x UNK J 1 2.756 16.959 7.983 1.00 0.00 H
+HETATM 538 H5x UNK J 1 4.217 16.116 7.425 1.00 0.00 H
+HETATM 539 H6x UNK J 1 2.719 15.246 8.041 1.00 0.00 H
+TER 540 UNK J 1
+HETATM 541 C1x UNK K 1 19.467 22.361 2.322 1.00 0.00 C
+HETATM 542 C2x UNK K 1 19.876 23.688 2.841 1.00 0.00 C
+HETATM 543 O1x UNK K 1 20.332 24.421 1.634 1.00 0.00 O
+HETATM 544 H1x UNK K 1 19.499 24.748 1.256 1.00 0.00 H
+HETATM 545 H2x UNK K 1 20.673 23.583 3.581 1.00 0.00 H
+HETATM 546 H3x UNK K 1 19.048 24.275 3.246 1.00 0.00 H
+HETATM 547 H4x UNK K 1 19.229 21.652 3.118 1.00 0.00 H
+HETATM 548 H5x UNK K 1 18.621 22.450 1.637 1.00 0.00 H
+HETATM 549 H6x UNK K 1 20.168 21.865 1.646 1.00 0.00 H
+TER 550 UNK K 1
+HETATM 551 C1x UNK L 1 18.991 16.967 23.851 1.00 0.00 C
+HETATM 552 C2x UNK L 1 18.574 17.062 22.359 1.00 0.00 C
+HETATM 553 O1x UNK L 1 19.676 17.291 21.520 1.00 0.00 O
+HETATM 554 H1x UNK L 1 19.377 17.129 20.611 1.00 0.00 H
+HETATM 555 H2x UNK L 1 17.835 17.860 22.263 1.00 0.00 H
+HETATM 556 H3x UNK L 1 17.993 16.199 22.024 1.00 0.00 H
+HETATM 557 H4x UNK L 1 18.138 16.835 24.519 1.00 0.00 H
+HETATM 558 H5x UNK L 1 19.687 16.126 23.893 1.00 0.00 H
+HETATM 559 H6x UNK L 1 19.398 17.900 24.248 1.00 0.00 H
+TER 560 UNK L 1
+HETATM 561 C1x UNK M 1 16.419 3.452 2.197 1.00 0.00 C
+HETATM 562 C2x UNK M 1 17.860 3.701 1.687 1.00 0.00 C
+HETATM 563 O1x UNK M 1 17.728 4.368 0.430 1.00 0.00 O
+HETATM 564 H1x UNK M 1 18.639 4.431 0.099 1.00 0.00 H
+HETATM 565 H2x UNK M 1 18.432 2.770 1.702 1.00 0.00 H
+HETATM 566 H3x UNK M 1 18.377 4.306 2.435 1.00 0.00 H
+HETATM 567 H4x UNK M 1 16.554 2.902 3.132 1.00 0.00 H
+HETATM 568 H5x UNK M 1 15.774 4.300 2.439 1.00 0.00 H
+HETATM 569 H6x UNK M 1 15.843 2.760 1.579 1.00 0.00 H
+TER 570 UNK M 1
+HETATM 571 C1x UNK N 1 14.890 2.753 19.214 1.00 0.00 C
+HETATM 572 C2x UNK N 1 16.133 2.920 20.053 1.00 0.00 C
+HETATM 573 O1x UNK N 1 17.356 2.653 19.438 1.00 0.00 O
+HETATM 574 H1x UNK N 1 17.971 3.297 19.826 1.00 0.00 H
+HETATM 575 H2x UNK N 1 16.178 2.417 21.022 1.00 0.00 H
+HETATM 576 H3x UNK N 1 16.203 3.945 20.423 1.00 0.00 H
+HETATM 577 H4x UNK N 1 14.013 2.809 19.863 1.00 0.00 H
+HETATM 578 H5x UNK N 1 14.844 3.508 18.426 1.00 0.00 H
+HETATM 579 H6x UNK N 1 14.894 1.746 18.789 1.00 0.00 H
+TER 580 UNK N 1
+HETATM 581 C1x UNK O 1 12.932 2.482 0.696 1.00 0.00 C
+HETATM 582 C2x UNK O 1 11.468 2.668 1.116 1.00 0.00 C
+HETATM 583 O1x UNK O 1 11.159 3.899 1.813 1.00 0.00 O
+HETATM 584 H1x UNK O 1 11.303 4.612 1.170 1.00 0.00 H
+HETATM 585 H2x UNK O 1 11.168 1.878 1.808 1.00 0.00 H
+HETATM 586 H3x UNK O 1 10.801 2.454 0.277 1.00 0.00 H
+HETATM 587 H4x UNK O 1 13.170 1.535 0.207 1.00 0.00 H
+HETATM 588 H5x UNK O 1 13.237 3.305 0.045 1.00 0.00 H
+HETATM 589 H6x UNK O 1 13.535 2.580 1.601 1.00 0.00 H
+TER 590 UNK O 1
+HETATM 591 C1x UNK P 1 17.152 17.148 1.202 1.00 0.00 C
+HETATM 592 C2x UNK P 1 17.527 15.853 1.927 1.00 0.00 C
+HETATM 593 O1x UNK P 1 17.935 16.174 3.221 1.00 0.00 O
+HETATM 594 H1x UNK P 1 17.160 16.521 3.693 1.00 0.00 H
+HETATM 595 H2x UNK P 1 18.346 15.303 1.456 1.00 0.00 H
+HETATM 596 H3x UNK P 1 16.721 15.124 1.824 1.00 0.00 H
+HETATM 597 H4x UNK P 1 16.950 16.725 0.215 1.00 0.00 H
+HETATM 598 H5x UNK P 1 16.255 17.677 1.534 1.00 0.00 H
+HETATM 599 H6x UNK P 1 18.077 17.702 1.028 1.00 0.00 H
+TER 600 UNK P 1
+HETATM 601 C1x UNK Q 1 20.549 7.860 1.301 1.00 0.00 C
+HETATM 602 C2x UNK Q 1 20.239 7.042 2.511 1.00 0.00 C
+HETATM 603 O1x UNK Q 1 20.703 5.675 2.358 1.00 0.00 O
+HETATM 604 H1x UNK Q 1 20.469 5.146 3.139 1.00 0.00 H
+HETATM 605 H2x UNK Q 1 19.166 6.986 2.711 1.00 0.00 H
+HETATM 606 H3x UNK Q 1 20.718 7.487 3.386 1.00 0.00 H
+HETATM 607 H4x UNK Q 1 20.278 7.468 0.318 1.00 0.00 H
+HETATM 608 H5x UNK Q 1 20.110 8.854 1.418 1.00 0.00 H
+HETATM 609 H6x UNK Q 1 21.632 7.910 1.170 1.00 0.00 H
+TER 610 UNK Q 1
+HETATM 611 C1x UNK R 1 17.837 8.554 6.896 1.00 0.00 C
+HETATM 612 C2x UNK R 1 17.899 8.134 8.356 1.00 0.00 C
+HETATM 613 O1x UNK R 1 18.689 9.118 9.053 1.00 0.00 O
+HETATM 614 H1x UNK R 1 18.170 9.937 8.997 1.00 0.00 H
+HETATM 615 H2x UNK R 1 18.331 7.137 8.471 1.00 0.00 H
+HETATM 616 H3x UNK R 1 16.860 8.143 8.692 1.00 0.00 H
+HETATM 617 H4x UNK R 1 17.489 7.813 6.173 1.00 0.00 H
+HETATM 618 H5x UNK R 1 17.195 9.431 6.789 1.00 0.00 H
+HETATM 619 H6x UNK R 1 18.820 8.926 6.598 1.00 0.00 H
+TER 620 UNK R 1
+HETATM 621 C1x UNK S 1 8.815 0.634 9.701 1.00 0.00 C
+HETATM 622 C2x UNK S 1 9.209 -0.093 8.382 1.00 0.00 C
+HETATM 623 O1x UNK S 1 8.194 0.204 7.435 1.00 0.00 O
+HETATM 624 H1x UNK S 1 8.388 1.038 6.979 1.00 0.00 H
+HETATM 625 H2x UNK S 1 9.296 -1.124 8.733 1.00 0.00 H
+HETATM 626 H3x UNK S 1 10.181 0.322 8.107 1.00 0.00 H
+HETATM 627 H4x UNK S 1 9.663 0.874 10.347 1.00 0.00 H
+HETATM 628 H5x UNK S 1 8.370 1.604 9.469 1.00 0.00 H
+HETATM 629 H6x UNK S 1 8.186 -0.022 10.307 1.00 0.00 H
+TER 630 UNK S 1
+HETATM 631 C1x UNK T 1 0.102 6.164 0.044 1.00 0.00 C
+HETATM 632 C2x UNK T 1 1.570 6.510 0.230 1.00 0.00 C
+HETATM 633 O1x UNK T 1 2.145 5.385 -0.409 1.00 0.00 O
+HETATM 634 H1x UNK T 1 3.115 5.435 -0.432 1.00 0.00 H
+HETATM 635 H2x UNK T 1 1.768 6.553 1.304 1.00 0.00 H
+HETATM 636 H3x UNK T 1 1.912 7.429 -0.250 1.00 0.00 H
+HETATM 637 H4x UNK T 1 -0.183 6.592 -0.920 1.00 0.00 H
+HETATM 638 H5x UNK T 1 -0.150 5.113 0.200 1.00 0.00 H
+HETATM 639 H6x UNK T 1 -0.441 6.743 0.795 1.00 0.00 H
+TER 640 UNK T 1
+HETATM 641 C1x UNK U 1 3.537 24.054 0.651 1.00 0.00 C
+HETATM 642 C2x UNK U 1 4.733 23.223 0.182 1.00 0.00 C
+HETATM 643 O1x UNK U 1 5.544 23.923 -0.731 1.00 0.00 O
+HETATM 644 H1x UNK U 1 6.131 23.293 -1.178 1.00 0.00 H
+HETATM 645 H2x UNK U 1 4.430 22.336 -0.379 1.00 0.00 H
+HETATM 646 H3x UNK U 1 5.247 22.829 1.062 1.00 0.00 H
+HETATM 647 H4x UNK U 1 3.139 23.554 1.537 1.00 0.00 H
+HETATM 648 H5x UNK U 1 3.838 25.009 1.087 1.00 0.00 H
+HETATM 649 H6x UNK U 1 2.762 24.338 -0.064 1.00 0.00 H
+TER 650 UNK U 1
+HETATM 651 C1x UNK V 1 24.500 17.329 8.969 1.00 0.00 C
+HETATM 652 C2x UNK V 1 23.687 17.986 7.816 1.00 0.00 C
+HETATM 653 O1x UNK V 1 23.529 17.054 6.685 1.00 0.00 O
+HETATM 654 H1x UNK V 1 22.805 17.309 6.090 1.00 0.00 H
+HETATM 655 H2x UNK V 1 24.077 18.925 7.417 1.00 0.00 H
+HETATM 656 H3x UNK V 1 22.699 18.195 8.233 1.00 0.00 H
+HETATM 657 H4x UNK V 1 24.567 18.111 9.729 1.00 0.00 H
+HETATM 658 H5x UNK V 1 23.844 16.557 9.379 1.00 0.00 H
+HETATM 659 H6x UNK V 1 25.473 17.000 8.596 1.00 0.00 H
+TER 660 UNK V 1
+HETATM 661 C1x UNK W 1 10.417 10.527 17.735 1.00 0.00 C
+HETATM 662 C2x UNK W 1 10.973 11.985 17.792 1.00 0.00 C
+HETATM 663 O1x UNK W 1 10.124 12.807 18.515 1.00 0.00 O
+HETATM 664 H1x UNK W 1 9.246 12.751 18.104 1.00 0.00 H
+HETATM 665 H2x UNK W 1 11.049 12.388 16.780 1.00 0.00 H
+HETATM 666 H3x UNK W 1 11.954 11.932 18.270 1.00 0.00 H
+HETATM 667 H4x UNK W 1 10.881 9.879 16.988 1.00 0.00 H
+HETATM 668 H5x UNK W 1 10.411 10.096 18.739 1.00 0.00 H
+HETATM 669 H6x UNK W 1 9.350 10.570 17.508 1.00 0.00 H
+TER 670 UNK W 1
+HETATM 671 C1x UNK X 1 13.923 20.112 13.332 1.00 0.00 C
+HETATM 672 C2x UNK X 1 13.718 21.262 14.279 1.00 0.00 C
+HETATM 673 O1x UNK X 1 13.988 20.792 15.559 1.00 0.00 O
+HETATM 674 H1x UNK X 1 14.156 21.527 16.171 1.00 0.00 H
+HETATM 675 H2x UNK X 1 12.688 21.627 14.270 1.00 0.00 H
+HETATM 676 H3x UNK X 1 14.423 22.026 13.945 1.00 0.00 H
+HETATM 677 H4x UNK X 1 13.743 20.447 12.308 1.00 0.00 H
+HETATM 678 H5x UNK X 1 14.949 19.758 13.205 1.00 0.00 H
+HETATM 679 H6x UNK X 1 13.329 19.215 13.520 1.00 0.00 H
+TER 680 UNK X 1
+HETATM 681 C1x UNK Y 1 14.293 25.907 7.721 1.00 0.00 C
+HETATM 682 C2x UNK Y 1 14.990 24.686 8.051 1.00 0.00 C
+HETATM 683 O1x UNK Y 1 15.100 23.827 6.884 1.00 0.00 O
+HETATM 684 H1x UNK Y 1 15.825 24.178 6.342 1.00 0.00 H
+HETATM 685 H2x UNK Y 1 14.530 24.211 8.920 1.00 0.00 H
+HETATM 686 H3x UNK Y 1 16.005 24.858 8.418 1.00 0.00 H
+HETATM 687 H4x UNK Y 1 14.168 26.569 8.582 1.00 0.00 H
+HETATM 688 H5x UNK Y 1 14.989 26.455 7.081 1.00 0.00 H
+HETATM 689 H6x UNK Y 1 13.362 25.713 7.184 1.00 0.00 H
+TER 690 UNK Y 1
+HETATM 691 C1x UNK Z 1 11.545 -1.260 4.671 1.00 0.00 C
+HETATM 692 C2x UNK Z 1 12.344 -0.224 3.974 1.00 0.00 C
+HETATM 693 O1x UNK Z 1 13.280 0.377 4.828 1.00 0.00 O
+HETATM 694 H1x UNK Z 1 12.860 0.673 5.652 1.00 0.00 H
+HETATM 695 H2x UNK Z 1 11.750 0.568 3.514 1.00 0.00 H
+HETATM 696 H3x UNK Z 1 12.885 -0.566 3.088 1.00 0.00 H
+HETATM 697 H4x UNK Z 1 10.825 -1.592 3.919 1.00 0.00 H
+HETATM 698 H5x UNK Z 1 12.194 -2.037 5.081 1.00 0.00 H
+HETATM 699 H6x UNK Z 1 11.164 -0.761 5.565 1.00 0.00 H
+TER 700 UNK Z 1
+HETATM 701 C1x UNK A 1 9.531 17.122 3.488 1.00 0.00 C
+HETATM 702 C2x UNK A 1 9.491 15.944 2.473 1.00 0.00 C
+HETATM 703 O1x UNK A 1 10.183 14.885 3.173 1.00 0.00 O
+HETATM 704 H1x UNK A 1 11.049 15.233 3.441 1.00 0.00 H
+HETATM 705 H2x UNK A 1 9.946 16.060 1.486 1.00 0.00 H
+HETATM 706 H3x UNK A 1 8.460 15.630 2.294 1.00 0.00 H
+HETATM 707 H4x UNK A 1 8.827 17.920 3.239 1.00 0.00 H
+HETATM 708 H5x UNK A 1 9.344 16.791 4.512 1.00 0.00 H
+HETATM 709 H6x UNK A 1 10.501 17.624 3.496 1.00 0.00 H
+TER 710 UNK A 1
+HETATM 711 C1x UNK B 1 20.757 17.486 18.528 1.00 0.00 C
+HETATM 712 C2x UNK B 1 19.441 16.735 18.310 1.00 0.00 C
+HETATM 713 O1x UNK B 1 18.572 16.836 19.407 1.00 0.00 O
+HETATM 714 H1x UNK B 1 17.784 16.300 19.221 1.00 0.00 H
+HETATM 715 H2x UNK B 1 19.681 15.694 18.080 1.00 0.00 H
+HETATM 716 H3x UNK B 1 18.885 17.025 17.416 1.00 0.00 H
+HETATM 717 H4x UNK B 1 21.285 17.704 17.597 1.00 0.00 H
+HETATM 718 H5x UNK B 1 20.678 18.439 19.057 1.00 0.00 H
+HETATM 719 H6x UNK B 1 21.371 16.800 19.115 1.00 0.00 H
+TER 720 UNK B 1
+HETATM 721 C1x UNK C 1 4.801 21.060 13.015 1.00 0.00 C
+HETATM 722 C2x UNK C 1 5.866 19.991 12.708 1.00 0.00 C
+HETATM 723 O1x UNK C 1 5.240 18.703 12.576 1.00 0.00 O
+HETATM 724 H1x UNK C 1 5.893 17.989 12.664 1.00 0.00 H
+HETATM 725 H2x UNK C 1 6.717 20.058 13.389 1.00 0.00 H
+HETATM 726 H3x UNK C 1 6.246 20.400 11.769 1.00 0.00 H
+HETATM 727 H4x UNK C 1 5.237 22.059 12.949 1.00 0.00 H
+HETATM 728 H5x UNK C 1 3.867 20.792 12.515 1.00 0.00 H
+HETATM 729 H6x UNK C 1 4.608 21.036 14.090 1.00 0.00 H
+TER 730 UNK C 1
+HETATM 731 C1x UNK D 1 -2.334 22.886 11.785 1.00 0.00 C
+HETATM 732 C2x UNK D 1 -2.780 21.963 10.685 1.00 0.00 C
+HETATM 733 O1x UNK D 1 -4.136 22.268 10.473 1.00 0.00 O
+HETATM 734 H1x UNK D 1 -4.578 21.586 9.941 1.00 0.00 H
+HETATM 735 H2x UNK D 1 -2.719 20.922 11.012 1.00 0.00 H
+HETATM 736 H3x UNK D 1 -2.174 22.177 9.802 1.00 0.00 H
+HETATM 737 H4x UNK D 1 -2.268 23.908 11.404 1.00 0.00 H
+HETATM 738 H5x UNK D 1 -2.910 22.677 12.690 1.00 0.00 H
+HETATM 739 H6x UNK D 1 -1.318 22.585 12.051 1.00 0.00 H
+TER 740 UNK D 1
+HETATM 741 C1x UNK E 1 14.928 2.715 -3.421 1.00 0.00 C
+HETATM 742 C2x UNK E 1 16.030 2.967 -2.472 1.00 0.00 C
+HETATM 743 O1x UNK E 1 15.474 3.166 -1.122 1.00 0.00 O
+HETATM 744 H1x UNK E 1 16.199 3.384 -0.513 1.00 0.00 H
+HETATM 745 H2x UNK E 1 16.675 3.817 -2.707 1.00 0.00 H
+HETATM 746 H3x UNK E 1 16.676 2.087 -2.510 1.00 0.00 H
+HETATM 747 H4x UNK E 1 15.379 2.771 -4.415 1.00 0.00 H
+HETATM 748 H5x UNK E 1 14.460 1.751 -3.212 1.00 0.00 H
+HETATM 749 H6x UNK E 1 14.104 3.423 -3.304 1.00 0.00 H
+TER 750 UNK E 1
+HETATM 751 C1x UNK F 1 20.458 -0.459 14.618 1.00 0.00 C
+HETATM 752 C2x UNK F 1 21.035 0.790 14.085 1.00 0.00 C
+HETATM 753 O1x UNK F 1 22.532 0.752 14.031 1.00 0.00 O
+HETATM 754 H1x UNK F 1 22.812 1.407 13.370 1.00 0.00 H
+HETATM 755 H2x UNK F 1 20.593 1.551 14.732 1.00 0.00 H
+HETATM 756 H3x UNK F 1 20.651 0.801 13.062 1.00 0.00 H
+HETATM 757 H4x UNK F 1 19.389 -0.518 14.400 1.00 0.00 H
+HETATM 758 H5x UNK F 1 20.792 -1.328 14.046 1.00 0.00 H
+HETATM 759 H6x UNK F 1 20.823 -0.484 15.647 1.00 0.00 H
+TER 760 UNK F 1
+HETATM 761 C1x UNK G 1 1.605 6.461 4.749 1.00 0.00 C
+HETATM 762 C2x UNK G 1 1.564 7.867 4.185 1.00 0.00 C
+HETATM 763 O1x UNK G 1 2.879 8.398 4.546 1.00 0.00 O
+HETATM 764 H1x UNK G 1 3.521 7.985 3.947 1.00 0.00 H
+HETATM 765 H2x UNK G 1 0.798 8.454 4.697 1.00 0.00 H
+HETATM 766 H3x UNK G 1 1.474 7.731 3.105 1.00 0.00 H
+HETATM 767 H4x UNK G 1 2.356 5.885 4.204 1.00 0.00 H
+HETATM 768 H5x UNK G 1 1.871 6.416 5.808 1.00 0.00 H
+HETATM 769 H6x UNK G 1 0.679 5.911 4.566 1.00 0.00 H
+TER 770 UNK G 1
+HETATM 771 C1x UNK H 1 15.069 12.110 0.350 1.00 0.00 C
+HETATM 772 C2x UNK H 1 13.663 11.977 -0.220 1.00 0.00 C
+HETATM 773 O1x UNK H 1 13.463 12.812 -1.258 1.00 0.00 O
+HETATM 774 H1x UNK H 1 12.542 12.693 -1.543 1.00 0.00 H
+HETATM 775 H2x UNK H 1 12.878 12.170 0.516 1.00 0.00 H
+HETATM 776 H3x UNK H 1 13.448 10.946 -0.510 1.00 0.00 H
+HETATM 777 H4x UNK H 1 15.758 12.187 -0.494 1.00 0.00 H
+HETATM 778 H5x UNK H 1 15.243 13.082 0.817 1.00 0.00 H
+HETATM 779 H6x UNK H 1 15.393 11.238 0.924 1.00 0.00 H
+TER 780 UNK H 1
+HETATM 781 C1x UNK I 1 6.531 5.327 17.433 1.00 0.00 C
+HETATM 782 C2x UNK I 1 7.600 5.771 16.491 1.00 0.00 C
+HETATM 783 O1x UNK I 1 6.991 6.827 15.793 1.00 0.00 O
+HETATM 784 H1x UNK I 1 7.614 7.277 15.199 1.00 0.00 H
+HETATM 785 H2x UNK I 1 7.855 4.914 15.863 1.00 0.00 H
+HETATM 786 H3x UNK I 1 8.483 6.126 17.027 1.00 0.00 H
+HETATM 787 H4x UNK I 1 7.087 4.964 18.301 1.00 0.00 H
+HETATM 788 H5x UNK I 1 6.011 6.200 17.833 1.00 0.00 H
+HETATM 789 H6x UNK I 1 5.923 4.540 16.980 1.00 0.00 H
+TER 790 UNK I 1
+HETATM 791 C1x UNK J 1 13.977 14.674 18.695 1.00 0.00 C
+HETATM 792 C2x UNK J 1 15.083 14.315 19.682 1.00 0.00 C
+HETATM 793 O1x UNK J 1 16.406 14.881 19.201 1.00 0.00 O
+HETATM 794 H1x UNK J 1 16.704 14.472 18.372 1.00 0.00 H
+HETATM 795 H2x UNK J 1 15.078 13.223 19.697 1.00 0.00 H
+HETATM 796 H3x UNK J 1 14.828 14.786 20.634 1.00 0.00 H
+HETATM 797 H4x UNK J 1 13.063 14.139 18.965 1.00 0.00 H
+HETATM 798 H5x UNK J 1 13.736 15.737 18.638 1.00 0.00 H
+HETATM 799 H6x UNK J 1 14.324 14.323 17.721 1.00 0.00 H
+TER 800 UNK J 1
+HETATM 801 C1x UNK K 1 18.507 23.758 9.039 1.00 0.00 C
+HETATM 802 C2x UNK K 1 19.029 25.093 9.415 1.00 0.00 C
+HETATM 803 O1x UNK K 1 18.904 25.502 10.787 1.00 0.00 O
+HETATM 804 H1x UNK K 1 19.156 26.439 10.830 1.00 0.00 H
+HETATM 805 H2x UNK K 1 18.599 25.892 8.807 1.00 0.00 H
+HETATM 806 H3x UNK K 1 20.069 24.971 9.103 1.00 0.00 H
+HETATM 807 H4x UNK K 1 18.565 23.704 7.949 1.00 0.00 H
+HETATM 808 H5x UNK K 1 19.099 23.024 9.590 1.00 0.00 H
+HETATM 809 H6x UNK K 1 17.508 23.707 9.478 1.00 0.00 H
+TER 810 UNK K 1
+HETATM 811 C1x UNK L 1 6.819 3.834 12.421 1.00 0.00 C
+HETATM 812 C2x UNK L 1 7.894 4.295 11.361 1.00 0.00 C
+HETATM 813 O1x UNK L 1 9.332 4.282 11.735 1.00 0.00 O
+HETATM 814 H1x UNK L 1 9.919 4.408 10.972 1.00 0.00 H
+HETATM 815 H2x UNK L 1 7.628 5.342 11.202 1.00 0.00 H
+HETATM 816 H3x UNK L 1 7.747 3.643 10.497 1.00 0.00 H
+HETATM 817 H4x UNK L 1 5.829 4.100 12.042 1.00 0.00 H
+HETATM 818 H5x UNK L 1 6.910 2.746 12.436 1.00 0.00 H
+HETATM 819 H6x UNK L 1 6.950 4.252 13.422 1.00 0.00 H
+TER 820 UNK L 1
+HETATM 821 C1x UNK M 1 9.508 23.317 12.295 1.00 0.00 C
+HETATM 822 C2x UNK M 1 8.570 22.902 11.220 1.00 0.00 C
+HETATM 823 O1x UNK M 1 7.649 23.996 11.051 1.00 0.00 O
+HETATM 824 H1x UNK M 1 7.153 23.927 10.219 1.00 0.00 H
+HETATM 825 H2x UNK M 1 8.111 21.995 11.621 1.00 0.00 H
+HETATM 826 H3x UNK M 1 9.094 22.637 10.299 1.00 0.00 H
+HETATM 827 H4x UNK M 1 10.007 22.476 12.782 1.00 0.00 H
+HETATM 828 H5x UNK M 1 10.278 23.992 11.915 1.00 0.00 H
+HETATM 829 H6x UNK M 1 8.953 23.785 13.111 1.00 0.00 H
+TER 830 UNK M 1
+HETATM 831 C1x UNK N 1 7.401 10.752 10.812 1.00 0.00 C
+HETATM 832 C2x UNK N 1 6.257 10.023 11.465 1.00 0.00 C
+HETATM 833 O1x UNK N 1 6.596 9.773 12.830 1.00 0.00 O
+HETATM 834 H1x UNK N 1 7.227 9.035 12.853 1.00 0.00 H
+HETATM 835 H2x UNK N 1 6.172 9.095 10.894 1.00 0.00 H
+HETATM 836 H3x UNK N 1 5.403 10.690 11.327 1.00 0.00 H
+HETATM 837 H4x UNK N 1 7.388 10.836 9.723 1.00 0.00 H
+HETATM 838 H5x UNK N 1 7.512 11.779 11.169 1.00 0.00 H
+HETATM 839 H6x UNK N 1 8.368 10.260 10.932 1.00 0.00 H
+TER 840 UNK N 1
+HETATM 841 C1x UNK O 1 24.538 14.138 15.253 1.00 0.00 C
+HETATM 842 C2x UNK O 1 24.365 12.624 15.634 1.00 0.00 C
+HETATM 843 O1x UNK O 1 23.079 12.516 16.221 1.00 0.00 O
+HETATM 844 H1x UNK O 1 22.976 11.584 16.475 1.00 0.00 H
+HETATM 845 H2x UNK O 1 25.175 12.427 16.339 1.00 0.00 H
+HETATM 846 H3x UNK O 1 24.372 11.937 14.785 1.00 0.00 H
+HETATM 847 H4x UNK O 1 23.827 14.348 14.451 1.00 0.00 H
+HETATM 848 H5x UNK O 1 24.331 14.725 16.150 1.00 0.00 H
+HETATM 849 H6x UNK O 1 25.525 14.312 14.819 1.00 0.00 H
+TER 850 UNK O 1
+HETATM 851 C1x UNK P 1 12.911 2.931 12.131 1.00 0.00 C
+HETATM 852 C2x UNK P 1 13.328 1.682 11.321 1.00 0.00 C
+HETATM 853 O1x UNK P 1 14.664 1.901 10.938 1.00 0.00 O
+HETATM 854 H1x UNK P 1 15.224 1.719 11.710 1.00 0.00 H
+HETATM 855 H2x UNK P 1 12.800 1.645 10.366 1.00 0.00 H
+HETATM 856 H3x UNK P 1 13.267 0.727 11.847 1.00 0.00 H
+HETATM 857 H4x UNK P 1 11.834 3.040 12.278 1.00 0.00 H
+HETATM 858 H5x UNK P 1 13.406 2.874 13.103 1.00 0.00 H
+HETATM 859 H6x UNK P 1 13.170 3.804 11.528 1.00 0.00 H
+TER 860 UNK P 1
+HETATM 861 C1x UNK Q 1 10.653 13.134 13.342 1.00 0.00 C
+HETATM 862 C2x UNK Q 1 9.666 12.196 13.900 1.00 0.00 C
+HETATM 863 O1x UNK Q 1 9.851 10.735 13.654 1.00 0.00 O
+HETATM 864 H1x UNK Q 1 10.674 10.454 14.086 1.00 0.00 H
+HETATM 865 H2x UNK Q 1 8.696 12.596 13.594 1.00 0.00 H
+HETATM 866 H3x UNK Q 1 9.508 12.379 14.966 1.00 0.00 H
+HETATM 867 H4x UNK Q 1 10.617 14.134 13.782 1.00 0.00 H
+HETATM 868 H5x UNK Q 1 11.633 12.661 13.437 1.00 0.00 H
+HETATM 869 H6x UNK Q 1 10.331 13.282 12.309 1.00 0.00 H
+TER 870 UNK Q 1
+HETATM 871 C1x UNK R 1 0.278 14.800 11.294 1.00 0.00 C
+HETATM 872 C2x UNK R 1 1.108 13.955 12.265 1.00 0.00 C
+HETATM 873 O1x UNK R 1 1.668 12.877 11.622 1.00 0.00 O
+HETATM 874 H1x UNK R 1 2.397 12.477 12.125 1.00 0.00 H
+HETATM 875 H2x UNK R 1 0.555 13.682 13.167 1.00 0.00 H
+HETATM 876 H3x UNK R 1 1.986 14.493 12.632 1.00 0.00 H
+HETATM 877 H4x UNK R 1 -0.514 14.159 10.901 1.00 0.00 H
+HETATM 878 H5x UNK R 1 0.005 15.668 11.897 1.00 0.00 H
+HETATM 879 H6x UNK R 1 0.825 15.099 10.397 1.00 0.00 H
+TER 880 UNK R 1
+HETATM 881 C1x UNK S 1 0.504 21.903 7.051 1.00 0.00 C
+HETATM 882 C2x UNK S 1 1.888 22.402 6.837 1.00 0.00 C
+HETATM 883 O1x UNK S 1 2.600 21.449 6.132 1.00 0.00 O
+HETATM 884 H1x UNK S 1 3.422 21.906 5.889 1.00 0.00 H
+HETATM 885 H2x UNK S 1 2.364 22.570 7.806 1.00 0.00 H
+HETATM 886 H3x UNK S 1 1.861 23.256 6.156 1.00 0.00 H
+HETATM 887 H4x UNK S 1 -0.010 22.649 7.661 1.00 0.00 H
+HETATM 888 H5x UNK S 1 -0.032 21.897 6.099 1.00 0.00 H
+HETATM 889 H6x UNK S 1 0.493 20.888 7.454 1.00 0.00 H
+TER 890 UNK S 1
+HETATM 891 C1x UNK T 1 28.602 11.719 7.036 1.00 0.00 C
+HETATM 892 C2x UNK T 1 28.739 12.102 8.615 1.00 0.00 C
+HETATM 893 O1x UNK T 1 27.476 12.602 9.085 1.00 0.00 O
+HETATM 894 H1x UNK T 1 27.566 12.812 10.029 1.00 0.00 H
+HETATM 895 H2x UNK T 1 29.335 13.015 8.679 1.00 0.00 H
+HETATM 896 H3x UNK T 1 29.151 11.241 9.147 1.00 0.00 H
+HETATM 897 H4x UNK T 1 29.615 11.496 6.693 1.00 0.00 H
+HETATM 898 H5x UNK T 1 27.991 10.843 6.809 1.00 0.00 H
+HETATM 899 H6x UNK T 1 28.171 12.593 6.543 1.00 0.00 H
+TER 900 UNK T 1
+HETATM 901 C1x UNK U 1 7.267 26.862 2.495 1.00 0.00 C
+HETATM 902 C2x UNK U 1 6.570 25.802 1.762 1.00 0.00 C
+HETATM 903 O1x UNK U 1 7.141 25.528 0.480 1.00 0.00 O
+HETATM 904 H1x UNK U 1 6.572 24.924 -0.025 1.00 0.00 H
+HETATM 905 H2x UNK U 1 5.556 26.187 1.635 1.00 0.00 H
+HETATM 906 H3x UNK U 1 6.570 24.916 2.400 1.00 0.00 H
+HETATM 907 H4x UNK U 1 6.883 26.908 3.517 1.00 0.00 H
+HETATM 908 H5x UNK U 1 8.340 26.660 2.450 1.00 0.00 H
+HETATM 909 H6x UNK U 1 7.063 27.799 1.972 1.00 0.00 H
+TER 910 UNK U 1
+HETATM 911 C1x UNK V 1 -0.140 3.250 6.651 1.00 0.00 C
+HETATM 912 C2x UNK V 1 1.266 2.992 7.064 1.00 0.00 C
+HETATM 913 O1x UNK V 1 1.622 3.815 8.180 1.00 0.00 O
+HETATM 914 H1x UNK V 1 2.585 3.828 8.304 1.00 0.00 H
+HETATM 915 H2x UNK V 1 1.899 3.078 6.177 1.00 0.00 H
+HETATM 916 H3x UNK V 1 1.446 1.954 7.354 1.00 0.00 H
+HETATM 917 H4x UNK V 1 -0.380 2.596 5.809 1.00 0.00 H
+HETATM 918 H5x UNK V 1 -0.840 3.019 7.457 1.00 0.00 H
+HETATM 919 H6x UNK V 1 -0.189 4.268 6.259 1.00 0.00 H
+TER 920 UNK V 1
+HETATM 921 C1x UNK W 1 24.000 6.363 3.410 1.00 0.00 C
+HETATM 922 C2x UNK W 1 23.970 7.716 4.137 1.00 0.00 C
+HETATM 923 O1x UNK W 1 22.740 7.876 4.934 1.00 0.00 O
+HETATM 924 H1x UNK W 1 22.716 8.712 5.427 1.00 0.00 H
+HETATM 925 H2x UNK W 1 24.175 8.413 3.320 1.00 0.00 H
+HETATM 926 H3x UNK W 1 24.830 7.750 4.809 1.00 0.00 H
+HETATM 927 H4x UNK W 1 25.008 6.156 3.045 1.00 0.00 H
+HETATM 928 H5x UNK W 1 23.791 5.512 4.063 1.00 0.00 H
+HETATM 929 H6x UNK W 1 23.251 6.294 2.618 1.00 0.00 H
+TER 930 UNK W 1
+HETATM 931 C1x UNK X 1 12.758 15.665 1.064 1.00 0.00 C
+HETATM 932 C2x UNK X 1 13.473 15.527 2.426 1.00 0.00 C
+HETATM 933 O1x UNK X 1 12.607 15.559 3.573 1.00 0.00 O
+HETATM 934 H1x UNK X 1 13.214 15.475 4.327 1.00 0.00 H
+HETATM 935 H2x UNK X 1 14.197 16.329 2.590 1.00 0.00 H
+HETATM 936 H3x UNK X 1 13.998 14.576 2.314 1.00 0.00 H
+HETATM 937 H4x UNK X 1 13.443 15.335 0.279 1.00 0.00 H
+HETATM 938 H5x UNK X 1 11.908 14.980 1.086 1.00 0.00 H
+HETATM 939 H6x UNK X 1 12.314 16.649 0.897 1.00 0.00 H
+TER 940 UNK X 1
+HETATM 941 C1x UNK Y 1 9.364 4.608 6.841 1.00 0.00 C
+HETATM 942 C2x UNK Y 1 9.868 3.230 6.890 1.00 0.00 C
+HETATM 943 O1x UNK Y 1 8.906 2.435 6.292 1.00 0.00 O
+HETATM 944 H1x UNK Y 1 9.040 2.461 5.331 1.00 0.00 H
+HETATM 945 H2x UNK Y 1 10.112 2.897 7.901 1.00 0.00 H
+HETATM 946 H3x UNK Y 1 10.773 3.052 6.304 1.00 0.00 H
+HETATM 947 H4x UNK Y 1 9.999 5.306 7.391 1.00 0.00 H
+HETATM 948 H5x UNK Y 1 9.188 4.988 5.832 1.00 0.00 H
+HETATM 949 H6x UNK Y 1 8.420 4.775 7.364 1.00 0.00 H
+TER 950 UNK Y 1
+HETATM 951 C1x UNK Z 1 17.128 15.166 -3.139 1.00 0.00 C
+HETATM 952 C2x UNK Z 1 15.794 14.408 -3.075 1.00 0.00 C
+HETATM 953 O1x UNK Z 1 15.071 14.884 -1.812 1.00 0.00 O
+HETATM 954 H1x UNK Z 1 14.456 14.202 -1.495 1.00 0.00 H
+HETATM 955 H2x UNK Z 1 16.000 13.347 -2.920 1.00 0.00 H
+HETATM 956 H3x UNK Z 1 15.148 14.478 -3.954 1.00 0.00 H
+HETATM 957 H4x UNK Z 1 17.671 14.779 -4.005 1.00 0.00 H
+HETATM 958 H5x UNK Z 1 17.010 16.242 -3.284 1.00 0.00 H
+HETATM 959 H6x UNK Z 1 17.658 15.046 -2.192 1.00 0.00 H
+TER 960 UNK Z 1
+HETATM 961 C1x UNK A 1 6.214 13.185 1.098 1.00 0.00 C
+HETATM 962 C2x UNK A 1 5.740 13.280 -0.338 1.00 0.00 C
+HETATM 963 O1x UNK A 1 4.361 13.493 -0.322 1.00 0.00 O
+HETATM 964 H1x UNK A 1 4.231 14.378 0.054 1.00 0.00 H
+HETATM 965 H2x UNK A 1 5.962 12.372 -0.903 1.00 0.00 H
+HETATM 966 H3x UNK A 1 6.278 14.110 -0.802 1.00 0.00 H
+HETATM 967 H4x UNK A 1 7.294 13.021 1.102 1.00 0.00 H
+HETATM 968 H5x UNK A 1 5.888 14.115 1.569 1.00 0.00 H
+HETATM 969 H6x UNK A 1 5.747 12.378 1.666 1.00 0.00 H
+TER 970 UNK A 1
+HETATM 971 C1x UNK B 1 16.495 13.382 5.269 1.00 0.00 C
+HETATM 972 C2x UNK B 1 15.190 12.888 4.688 1.00 0.00 C
+HETATM 973 O1x UNK B 1 14.246 12.652 5.660 1.00 0.00 O
+HETATM 974 H1x UNK B 1 13.378 12.497 5.254 1.00 0.00 H
+HETATM 975 H2x UNK B 1 15.396 12.031 4.043 1.00 0.00 H
+HETATM 976 H3x UNK B 1 14.863 13.649 3.975 1.00 0.00 H
+HETATM 977 H4x UNK B 1 17.282 13.220 4.528 1.00 0.00 H
+HETATM 978 H5x UNK B 1 16.415 14.430 5.568 1.00 0.00 H
+HETATM 979 H6x UNK B 1 16.822 12.731 6.083 1.00 0.00 H
+TER 980 UNK B 1
+HETATM 981 C1x UNK C 1 25.069 8.554 8.595 1.00 0.00 C
+HETATM 982 C2x UNK C 1 26.120 9.260 9.427 1.00 0.00 C
+HETATM 983 O1x UNK C 1 26.691 8.403 10.274 1.00 0.00 O
+HETATM 984 H1x UNK C 1 27.129 7.672 9.807 1.00 0.00 H
+HETATM 985 H2x UNK C 1 25.731 10.102 10.005 1.00 0.00 H
+HETATM 986 H3x UNK C 1 26.844 9.738 8.763 1.00 0.00 H
+HETATM 987 H4x UNK C 1 24.738 9.254 7.825 1.00 0.00 H
+HETATM 988 H5x UNK C 1 25.587 7.742 8.079 1.00 0.00 H
+HETATM 989 H6x UNK C 1 24.151 8.184 9.056 1.00 0.00 H
+TER 990 UNK C 1
+HETATM 991 C1x UNK D 1 7.254 1.612 17.996 1.00 0.00 C
+HETATM 992 C2x UNK D 1 7.961 0.393 18.112 1.00 0.00 C
+HETATM 993 O1x UNK D 1 7.267 -0.604 17.343 1.00 0.00 O
+HETATM 994 H1x UNK D 1 7.778 -1.430 17.334 1.00 0.00 H
+HETATM 995 H2x UNK D 1 8.076 0.100 19.158 1.00 0.00 H
+HETATM 996 H3x UNK D 1 8.988 0.467 17.746 1.00 0.00 H
+HETATM 997 H4x UNK D 1 7.845 2.375 18.508 1.00 0.00 H
+HETATM 998 H5x UNK D 1 7.059 1.947 16.974 1.00 0.00 H
+HETATM 999 H6x UNK D 1 6.246 1.491 18.400 1.00 0.00 H
+TER 1000 UNK D 1
+HETATM 1001 C1x UNK E 1 9.638 22.548 6.201 1.00 0.00 C
+HETATM 1002 C2x UNK E 1 10.688 22.931 7.396 1.00 0.00 C
+HETATM 1003 O1x UNK E 1 11.229 21.766 8.042 1.00 0.00 O
+HETATM 1004 H1x UNK E 1 11.704 21.228 7.388 1.00 0.00 H
+HETATM 1005 H2x UNK E 1 10.069 23.399 8.166 1.00 0.00 H
+HETATM 1006 H3x UNK E 1 11.441 23.687 7.160 1.00 0.00 H
+HETATM 1007 H4x UNK E 1 9.187 23.476 5.841 1.00 0.00 H
+HETATM 1008 H5x UNK E 1 10.170 21.920 5.483 1.00 0.00 H
+HETATM 1009 H6x UNK E 1 8.749 22.064 6.614 1.00 0.00 H
+TER 1010 UNK E 1
+HETATM 1011 C1x UNK F 1 18.534 4.572 5.983 1.00 0.00 C
+HETATM 1012 C2x UNK F 1 19.848 4.998 5.461 1.00 0.00 C
+HETATM 1013 O1x UNK F 1 20.087 4.156 4.303 1.00 0.00 O
+HETATM 1014 H1x UNK F 1 19.923 3.227 4.531 1.00 0.00 H
+HETATM 1015 H2x UNK F 1 20.736 4.905 6.091 1.00 0.00 H
+HETATM 1016 H3x UNK F 1 19.800 6.033 5.116 1.00 0.00 H
+HETATM 1017 H4x UNK F 1 18.775 3.634 6.488 1.00 0.00 H
+HETATM 1018 H5x UNK F 1 18.139 5.229 6.761 1.00 0.00 H
+HETATM 1019 H6x UNK F 1 17.810 4.444 5.174 1.00 0.00 H
+TER 1020 UNK F 1
+HETATM 1021 C1x UNK G 1 23.646 6.093 -3.244 1.00 0.00 C
+HETATM 1022 C2x UNK G 1 23.385 6.825 -1.887 1.00 0.00 C
+HETATM 1023 O1x UNK G 1 22.063 7.105 -1.721 1.00 0.00 O
+HETATM 1024 H1x UNK G 1 21.507 6.314 -1.628 1.00 0.00 H
+HETATM 1025 H2x UNK G 1 24.061 7.682 -1.827 1.00 0.00 H
+HETATM 1026 H3x UNK G 1 23.672 6.174 -1.058 1.00 0.00 H
+HETATM 1027 H4x UNK G 1 23.098 6.617 -4.031 1.00 0.00 H
+HETATM 1028 H5x UNK G 1 24.713 6.078 -3.474 1.00 0.00 H
+HETATM 1029 H6x UNK G 1 23.433 5.022 -3.232 1.00 0.00 H
+TER 1030 UNK G 1
+HETATM 1031 C1x UNK H 1 14.616 4.679 8.611 1.00 0.00 C
+HETATM 1032 C2x UNK H 1 13.758 3.642 8.006 1.00 0.00 C
+HETATM 1033 O1x UNK H 1 12.606 4.185 7.494 1.00 0.00 O
+HETATM 1034 H1x UNK H 1 12.721 4.280 6.535 1.00 0.00 H
+HETATM 1035 H2x UNK H 1 13.603 2.762 8.635 1.00 0.00 H
+HETATM 1036 H3x UNK H 1 14.349 3.121 7.250 1.00 0.00 H
+HETATM 1037 H4x UNK H 1 15.467 4.309 9.189 1.00 0.00 H
+HETATM 1038 H5x UNK H 1 15.024 5.369 7.869 1.00 0.00 H
+HETATM 1039 H6x UNK H 1 14.006 5.330 9.241 1.00 0.00 H
+TER 1040 UNK H 1
+HETATM 1041 C1x UNK I 1 22.559 22.533 6.995 1.00 0.00 C
+HETATM 1042 C2x UNK I 1 21.238 21.835 7.487 1.00 0.00 C
+HETATM 1043 O1x UNK I 1 21.821 20.729 8.224 1.00 0.00 O
+HETATM 1044 H1x UNK I 1 21.145 20.123 8.568 1.00 0.00 H
+HETATM 1045 H2x UNK I 1 20.633 21.426 6.675 1.00 0.00 H
+HETATM 1046 H3x UNK I 1 20.702 22.398 8.255 1.00 0.00 H
+HETATM 1047 H4x UNK I 1 22.327 23.492 6.526 1.00 0.00 H
+HETATM 1048 H5x UNK I 1 23.140 22.952 7.820 1.00 0.00 H
+HETATM 1049 H6x UNK I 1 23.180 22.079 6.219 1.00 0.00 H
+TER 1050 UNK I 1
+HETATM 1051 C1x UNK J 1 1.731 11.309 15.987 1.00 0.00 C
+HETATM 1052 C2x UNK J 1 2.015 10.241 17.004 1.00 0.00 C
+HETATM 1053 O1x UNK J 1 3.332 10.420 17.416 1.00 0.00 O
+HETATM 1054 H1x UNK J 1 3.973 9.907 16.896 1.00 0.00 H
+HETATM 1055 H2x UNK J 1 1.857 9.233 16.612 1.00 0.00 H
+HETATM 1056 H3x UNK J 1 1.338 10.246 17.861 1.00 0.00 H
+HETATM 1057 H4x UNK J 1 0.690 11.258 15.659 1.00 0.00 H
+HETATM 1058 H5x UNK J 1 1.960 12.249 16.496 1.00 0.00 H
+HETATM 1059 H6x UNK J 1 2.395 11.187 15.128 1.00 0.00 H
+TER 1060 UNK J 1
+HETATM 1061 C1x UNK K 1 0.927 20.882 3.016 1.00 0.00 C
+HETATM 1062 C2x UNK K 1 2.187 20.789 2.176 1.00 0.00 C
+HETATM 1063 O1x UNK K 1 3.006 19.676 2.341 1.00 0.00 O
+HETATM 1064 H1x UNK K 1 2.528 18.876 2.067 1.00 0.00 H
+HETATM 1065 H2x UNK K 1 2.722 21.736 2.280 1.00 0.00 H
+HETATM 1066 H3x UNK K 1 1.834 20.913 1.149 1.00 0.00 H
+HETATM 1067 H4x UNK K 1 0.803 21.918 3.340 1.00 0.00 H
+HETATM 1068 H5x UNK K 1 0.033 20.693 2.418 1.00 0.00 H
+HETATM 1069 H6x UNK K 1 0.952 20.200 3.869 1.00 0.00 H
+TER 1070 UNK K 1
+HETATM 1071 C1x UNK L 1 14.805 7.943 0.936 1.00 0.00 C
+HETATM 1072 C2x UNK L 1 16.009 7.000 0.936 1.00 0.00 C
+HETATM 1073 O1x UNK L 1 16.234 6.632 -0.401 1.00 0.00 O
+HETATM 1074 H1x UNK L 1 16.872 5.901 -0.430 1.00 0.00 H
+HETATM 1075 H2x UNK L 1 15.832 6.139 1.584 1.00 0.00 H
+HETATM 1076 H3x UNK L 1 16.850 7.586 1.314 1.00 0.00 H
+HETATM 1077 H4x UNK L 1 14.476 8.256 1.930 1.00 0.00 H
+HETATM 1078 H5x UNK L 1 14.924 8.768 0.230 1.00 0.00 H
+HETATM 1079 H6x UNK L 1 13.968 7.449 0.436 1.00 0.00 H
+TER 1080 UNK L 1
+HETATM 1081 C1x UNK M 1 17.671 18.566 4.821 1.00 0.00 C
+HETATM 1082 C2x UNK M 1 16.462 17.972 5.596 1.00 0.00 C
+HETATM 1083 O1x UNK M 1 15.899 16.981 4.775 1.00 0.00 O
+HETATM 1084 H1x UNK M 1 15.112 16.625 5.219 1.00 0.00 H
+HETATM 1085 H2x UNK M 1 15.732 18.760 5.792 1.00 0.00 H
+HETATM 1086 H3x UNK M 1 16.721 17.609 6.593 1.00 0.00 H
+HETATM 1087 H4x UNK M 1 18.083 19.466 5.284 1.00 0.00 H
+HETATM 1088 H5x UNK M 1 18.498 17.865 4.950 1.00 0.00 H
+HETATM 1089 H6x UNK M 1 17.447 18.688 3.758 1.00 0.00 H
+TER 1090 UNK M 1
+HETATM 1091 C1x UNK N 1 20.678 14.448 13.602 1.00 0.00 C
+HETATM 1092 C2x UNK N 1 19.841 15.525 14.386 1.00 0.00 C
+HETATM 1093 O1x UNK N 1 19.557 16.401 13.264 1.00 0.00 O
+HETATM 1094 H1x UNK N 1 18.888 17.053 13.530 1.00 0.00 H
+HETATM 1095 H2x UNK N 1 20.329 16.070 15.198 1.00 0.00 H
+HETATM 1096 H3x UNK N 1 18.933 15.004 14.699 1.00 0.00 H
+HETATM 1097 H4x UNK N 1 20.873 13.586 14.244 1.00 0.00 H
+HETATM 1098 H5x UNK N 1 20.123 13.950 12.804 1.00 0.00 H
+HETATM 1099 H6x UNK N 1 21.638 14.747 13.176 1.00 0.00 H
+TER 1100 UNK N 1
+HETATM 1101 C1x UNK O 1 12.764 13.569 10.128 1.00 0.00 C
+HETATM 1102 C2x UNK O 1 13.186 13.009 8.731 1.00 0.00 C
+HETATM 1103 O1x UNK O 1 14.321 13.554 8.210 1.00 0.00 O
+HETATM 1104 H1x UNK O 1 14.429 13.068 7.376 1.00 0.00 H
+HETATM 1105 H2x UNK O 1 12.345 13.089 8.038 1.00 0.00 H
+HETATM 1106 H3x UNK O 1 13.235 11.924 8.850 1.00 0.00 H
+HETATM 1107 H4x UNK O 1 11.885 13.036 10.498 1.00 0.00 H
+HETATM 1108 H5x UNK O 1 13.581 13.466 10.845 1.00 0.00 H
+HETATM 1109 H6x UNK O 1 12.445 14.613 10.083 1.00 0.00 H
+TER 1110 UNK O 1
+HETATM 1111 C1x UNK P 1 3.723 7.333 14.448 1.00 0.00 C
+HETATM 1112 C2x UNK P 1 2.953 6.129 13.807 1.00 0.00 C
+HETATM 1113 O1x UNK P 1 2.747 6.465 12.430 1.00 0.00 O
+HETATM 1114 H1x UNK P 1 1.987 5.929 12.151 1.00 0.00 H
+HETATM 1115 H2x UNK P 1 1.947 5.969 14.201 1.00 0.00 H
+HETATM 1116 H3x UNK P 1 3.558 5.223 13.885 1.00 0.00 H
+HETATM 1117 H4x UNK P 1 4.096 7.084 15.444 1.00 0.00 H
+HETATM 1118 H5x UNK P 1 4.508 7.700 13.782 1.00 0.00 H
+HETATM 1119 H6x UNK P 1 3.110 8.236 14.489 1.00 0.00 H
+TER 1120 UNK P 1
+HETATM 1121 C1x UNK Q 1 -0.095 0.671 11.404 1.00 0.00 C
+HETATM 1122 C2x UNK Q 1 1.192 1.247 11.772 1.00 0.00 C
+HETATM 1123 O1x UNK Q 1 1.148 2.406 12.404 1.00 0.00 O
+HETATM 1124 H1x UNK Q 1 0.515 2.410 13.141 1.00 0.00 H
+HETATM 1125 H2x UNK Q 1 1.776 1.350 10.855 1.00 0.00 H
+HETATM 1126 H3x UNK Q 1 1.709 0.472 12.343 1.00 0.00 H
+HETATM 1127 H4x UNK Q 1 -0.586 1.399 10.755 1.00 0.00 H
+HETATM 1128 H5x UNK Q 1 -0.050 -0.281 10.871 1.00 0.00 H
+HETATM 1129 H6x UNK Q 1 -0.733 0.629 12.290 1.00 0.00 H
+TER 1130 UNK Q 1
+HETATM 1131 C1x UNK R 1 10.582 16.316 -1.794 1.00 0.00 C
+HETATM 1132 C2x UNK R 1 9.428 15.416 -1.344 1.00 0.00 C
+HETATM 1133 O1x UNK R 1 9.745 14.158 -1.940 1.00 0.00 O
+HETATM 1134 H1x UNK R 1 9.449 14.206 -2.864 1.00 0.00 H
+HETATM 1135 H2x UNK R 1 8.433 15.844 -1.492 1.00 0.00 H
+HETATM 1136 H3x UNK R 1 9.490 15.298 -0.260 1.00 0.00 H
+HETATM 1137 H4x UNK R 1 10.853 17.066 -1.047 1.00 0.00 H
+HETATM 1138 H5x UNK R 1 11.509 15.740 -1.838 1.00 0.00 H
+HETATM 1139 H6x UNK R 1 10.373 16.686 -2.800 1.00 0.00 H
+TER 1140 UNK R 1
+HETATM 1141 C1x UNK S 1 17.056 10.470 -2.885 1.00 0.00 C
+HETATM 1142 C2x UNK S 1 16.627 9.529 -1.775 1.00 0.00 C
+HETATM 1143 O1x UNK S 1 16.215 8.344 -2.379 1.00 0.00 O
+HETATM 1144 H1x UNK S 1 16.003 7.712 -1.672 1.00 0.00 H
+HETATM 1145 H2x UNK S 1 15.743 9.972 -1.312 1.00 0.00 H
+HETATM 1146 H3x UNK S 1 17.453 9.289 -1.101 1.00 0.00 H
+HETATM 1147 H4x UNK S 1 17.029 11.525 -2.605 1.00 0.00 H
+HETATM 1148 H5x UNK S 1 18.008 10.148 -3.316 1.00 0.00 H
+HETATM 1149 H6x UNK S 1 16.342 10.387 -3.708 1.00 0.00 H
+TER 1150 UNK S 1
+HETATM 1151 C1x UNK T 1 23.194 19.199 4.075 1.00 0.00 C
+HETATM 1152 C2x UNK T 1 21.704 18.858 4.014 1.00 0.00 C
+HETATM 1153 O1x UNK T 1 21.524 17.853 5.014 1.00 0.00 O
+HETATM 1154 H1x UNK T 1 20.664 17.408 4.940 1.00 0.00 H
+HETATM 1155 H2x UNK T 1 21.475 18.422 3.039 1.00 0.00 H
+HETATM 1156 H3x UNK T 1 21.106 19.738 4.264 1.00 0.00 H
+HETATM 1157 H4x UNK T 1 23.490 19.947 3.337 1.00 0.00 H
+HETATM 1158 H5x UNK T 1 23.386 19.611 5.069 1.00 0.00 H
+HETATM 1159 H6x UNK T 1 23.833 18.319 3.974 1.00 0.00 H
+TER 1160 UNK T 1
+HETATM 1161 C1x UNK U 1 23.091 4.457 8.643 1.00 0.00 C
+HETATM 1162 C2x UNK U 1 23.246 5.471 7.522 1.00 0.00 C
+HETATM 1163 O1x UNK U 1 22.266 6.485 7.607 1.00 0.00 O
+HETATM 1164 H1x UNK U 1 22.234 6.951 6.755 1.00 0.00 H
+HETATM 1165 H2x UNK U 1 23.118 4.898 6.600 1.00 0.00 H
+HETATM 1166 H3x UNK U 1 24.216 5.958 7.646 1.00 0.00 H
+HETATM 1167 H4x UNK U 1 23.899 3.725 8.703 1.00 0.00 H
+HETATM 1168 H5x UNK U 1 23.266 5.044 9.548 1.00 0.00 H
+HETATM 1169 H6x UNK U 1 22.118 3.962 8.619 1.00 0.00 H
+TER 1170 UNK U 1
+HETATM 1171 C1x UNK V 1 22.625 12.202 11.187 1.00 0.00 C
+HETATM 1172 C2x UNK V 1 22.066 13.170 10.122 1.00 0.00 C
+HETATM 1173 O1x UNK V 1 20.799 12.753 9.701 1.00 0.00 O
+HETATM 1174 H1x UNK V 1 20.389 13.432 9.141 1.00 0.00 H
+HETATM 1175 H2x UNK V 1 22.799 13.033 9.323 1.00 0.00 H
+HETATM 1176 H3x UNK V 1 21.996 14.146 10.607 1.00 0.00 H
+HETATM 1177 H4x UNK V 1 23.556 12.619 11.578 1.00 0.00 H
+HETATM 1178 H5x UNK V 1 21.882 12.034 11.970 1.00 0.00 H
+HETATM 1179 H6x UNK V 1 22.784 11.152 10.929 1.00 0.00 H
+TER 1180 UNK V 1
+HETATM 1181 C1x UNK W 1 13.691 19.082 -0.870 1.00 0.00 C
+HETATM 1182 C2x UNK W 1 14.541 17.930 -1.303 1.00 0.00 C
+HETATM 1183 O1x UNK W 1 13.847 17.085 -2.197 1.00 0.00 O
+HETATM 1184 H1x UNK W 1 14.336 16.247 -2.164 1.00 0.00 H
+HETATM 1185 H2x UNK W 1 14.777 17.289 -0.450 1.00 0.00 H
+HETATM 1186 H3x UNK W 1 15.503 18.162 -1.766 1.00 0.00 H
+HETATM 1187 H4x UNK W 1 14.229 19.799 -0.245 1.00 0.00 H
+HETATM 1188 H5x UNK W 1 13.354 19.772 -1.647 1.00 0.00 H
+HETATM 1189 H6x UNK W 1 12.819 18.698 -0.337 1.00 0.00 H
+TER 1190 UNK W 1
+HETATM 1191 C1x UNK X 1 7.607 12.932 4.590 1.00 0.00 C
+HETATM 1192 C2x UNK X 1 7.034 14.309 4.627 1.00 0.00 C
+HETATM 1193 O1x UNK X 1 5.904 14.461 5.494 1.00 0.00 O
+HETATM 1194 H1x UNK X 1 6.163 14.249 6.405 1.00 0.00 H
+HETATM 1195 H2x UNK X 1 6.852 14.687 3.619 1.00 0.00 H
+HETATM 1196 H3x UNK X 1 7.728 15.025 5.073 1.00 0.00 H
+HETATM 1197 H4x UNK X 1 8.551 12.949 4.040 1.00 0.00 H
+HETATM 1198 H5x UNK X 1 7.852 12.561 5.588 1.00 0.00 H
+HETATM 1199 H6x UNK X 1 6.936 12.168 4.192 1.00 0.00 H
+TER 1200 UNK X 1
+HETATM 1201 C1x UNK Y 1 13.803 9.691 10.114 1.00 0.00 C
+HETATM 1202 C2x UNK Y 1 12.262 9.613 10.085 1.00 0.00 C
+HETATM 1203 O1x UNK Y 1 11.702 9.184 11.295 1.00 0.00 O
+HETATM 1204 H1x UNK Y 1 10.867 9.623 11.527 1.00 0.00 H
+HETATM 1205 H2x UNK Y 1 12.013 8.969 9.238 1.00 0.00 H
+HETATM 1206 H3x UNK Y 1 11.837 10.597 9.874 1.00 0.00 H
+HETATM 1207 H4x UNK Y 1 14.138 9.654 9.075 1.00 0.00 H
+HETATM 1208 H5x UNK Y 1 14.135 10.710 10.330 1.00 0.00 H
+HETATM 1209 H6x UNK Y 1 14.264 8.905 10.716 1.00 0.00 H
+TER 1210 UNK Y 1
+HETATM 1211 C1x UNK Z 1 15.395 17.971 10.494 1.00 0.00 C
+HETATM 1212 C2x UNK Z 1 15.337 16.427 10.305 1.00 0.00 C
+HETATM 1213 O1x UNK Z 1 14.539 16.191 9.134 1.00 0.00 O
+HETATM 1214 H1x UNK Z 1 14.778 15.286 8.874 1.00 0.00 H
+HETATM 1215 H2x UNK Z 1 14.956 15.897 11.181 1.00 0.00 H
+HETATM 1216 H3x UNK Z 1 16.330 15.999 10.153 1.00 0.00 H
+HETATM 1217 H4x UNK Z 1 14.437 18.479 10.627 1.00 0.00 H
+HETATM 1218 H5x UNK Z 1 15.957 18.167 11.411 1.00 0.00 H
+HETATM 1219 H6x UNK Z 1 15.914 18.398 9.633 1.00 0.00 H
+TER 1220 UNK Z 1
+HETATM 1221 C1x UNK A 1 26.325 -2.135 14.539 1.00 0.00 C
+HETATM 1222 C2x UNK A 1 25.004 -1.818 15.120 1.00 0.00 C
+HETATM 1223 O1x UNK A 1 24.958 -0.397 15.463 1.00 0.00 O
+HETATM 1224 H1x UNK A 1 24.060 -0.187 15.768 1.00 0.00 H
+HETATM 1225 H2x UNK A 1 24.746 -2.510 15.926 1.00 0.00 H
+HETATM 1226 H3x UNK A 1 24.283 -2.085 14.343 1.00 0.00 H
+HETATM 1227 H4x UNK A 1 27.065 -2.013 15.333 1.00 0.00 H
+HETATM 1228 H5x UNK A 1 26.372 -3.104 14.037 1.00 0.00 H
+HETATM 1229 H6x UNK A 1 26.645 -1.441 13.758 1.00 0.00 H
+TER 1230 UNK A 1
+HETATM 1231 C1x UNK B 1 18.172 20.118 8.802 1.00 0.00 C
+HETATM 1232 C2x UNK B 1 18.801 20.022 10.187 1.00 0.00 C
+HETATM 1233 O1x UNK B 1 20.176 19.767 10.157 1.00 0.00 O
+HETATM 1234 H1x UNK B 1 20.382 19.587 11.088 1.00 0.00 H
+HETATM 1235 H2x UNK B 1 18.343 19.192 10.729 1.00 0.00 H
+HETATM 1236 H3x UNK B 1 18.366 20.801 10.817 1.00 0.00 H
+HETATM 1237 H4x UNK B 1 18.247 19.162 8.278 1.00 0.00 H
+HETATM 1238 H5x UNK B 1 17.151 20.480 8.939 1.00 0.00 H
+HETATM 1239 H6x UNK B 1 18.762 20.848 8.243 1.00 0.00 H
+TER 1240 UNK B 1
+HETATM 1241 C1x UNK C 1 10.065 17.571 7.666 1.00 0.00 C
+HETATM 1242 C2x UNK C 1 11.318 17.149 8.471 1.00 0.00 C
+HETATM 1243 O1x UNK C 1 12.534 17.235 7.764 1.00 0.00 O
+HETATM 1244 H1x UNK C 1 13.256 17.001 8.369 1.00 0.00 H
+HETATM 1245 H2x UNK C 1 11.180 16.145 8.879 1.00 0.00 H
+HETATM 1246 H3x UNK C 1 11.338 17.931 9.234 1.00 0.00 H
+HETATM 1247 H4x UNK C 1 9.098 17.453 8.161 1.00 0.00 H
+HETATM 1248 H5x UNK C 1 10.034 18.650 7.497 1.00 0.00 H
+HETATM 1249 H6x UNK C 1 10.023 17.013 6.728 1.00 0.00 H
+TER 1250 UNK C 1
+HETATM 1251 C1x UNK D 1 19.358 10.687 13.403 1.00 0.00 C
+HETATM 1252 C2x UNK D 1 19.878 9.933 12.167 1.00 0.00 C
+HETATM 1253 O1x UNK D 1 19.084 8.802 12.022 1.00 0.00 O
+HETATM 1254 H1x UNK D 1 19.402 8.238 11.298 1.00 0.00 H
+HETATM 1255 H2x UNK D 1 20.930 9.669 12.297 1.00 0.00 H
+HETATM 1256 H3x UNK D 1 19.810 10.585 11.293 1.00 0.00 H
+HETATM 1257 H4x UNK D 1 20.170 11.215 13.910 1.00 0.00 H
+HETATM 1258 H5x UNK D 1 18.557 11.358 13.084 1.00 0.00 H
+HETATM 1259 H6x UNK D 1 19.025 9.974 14.160 1.00 0.00 H
+TER 1260 UNK D 1
+HETATM 1261 C1x UNK E 1 2.693 22.952 10.965 1.00 0.00 C
+HETATM 1262 C2x UNK E 1 3.617 23.985 10.392 1.00 0.00 C
+HETATM 1263 O1x UNK E 1 3.667 25.094 11.221 1.00 0.00 O
+HETATM 1264 H1x UNK E 1 4.144 24.828 12.024 1.00 0.00 H
+HETATM 1265 H2x UNK E 1 3.328 24.279 9.380 1.00 0.00 H
+HETATM 1266 H3x UNK E 1 4.620 23.555 10.327 1.00 0.00 H
+HETATM 1267 H4x UNK E 1 2.812 21.972 10.497 1.00 0.00 H
+HETATM 1268 H5x UNK E 1 2.877 22.828 12.035 1.00 0.00 H
+HETATM 1269 H6x UNK E 1 1.632 23.200 10.881 1.00 0.00 H
+TER 1270 UNK E 1
+HETATM 1271 C1x UNK F 1 9.068 9.263 -2.862 1.00 0.00 C
+HETATM 1272 C2x UNK F 1 8.651 7.931 -2.341 1.00 0.00 C
+HETATM 1273 O1x UNK F 1 9.902 7.353 -1.985 1.00 0.00 O
+HETATM 1274 H1x UNK F 1 10.585 7.455 -2.667 1.00 0.00 H
+HETATM 1275 H2x UNK F 1 8.110 7.353 -3.093 1.00 0.00 H
+HETATM 1276 H3x UNK F 1 8.046 8.009 -1.435 1.00 0.00 H
+HETATM 1277 H4x UNK F 1 8.208 9.886 -3.117 1.00 0.00 H
+HETATM 1278 H5x UNK F 1 9.613 9.847 -2.118 1.00 0.00 H
+HETATM 1279 H6x UNK F 1 9.747 9.015 -3.682 1.00 0.00 H
+TER 1280 UNK F 1
+HETATM 1281 C1x UNK G 1 22.272 1.835 4.908 1.00 0.00 C
+HETATM 1282 C2x UNK G 1 21.179 1.533 5.886 1.00 0.00 C
+HETATM 1283 O1x UNK G 1 19.971 1.685 5.266 1.00 0.00 O
+HETATM 1284 H1x UNK G 1 19.284 1.236 5.786 1.00 0.00 H
+HETATM 1285 H2x UNK G 1 21.239 2.255 6.703 1.00 0.00 H
+HETATM 1286 H3x UNK G 1 21.349 0.532 6.291 1.00 0.00 H
+HETATM 1287 H4x UNK G 1 23.181 1.420 5.352 1.00 0.00 H
+HETATM 1288 H5x UNK G 1 22.017 1.236 4.031 1.00 0.00 H
+HETATM 1289 H6x UNK G 1 22.387 2.905 4.720 1.00 0.00 H
+TER 1290 UNK G 1
+HETATM 1291 C1x UNK H 1 23.573 2.569 1.572 1.00 0.00 C
+HETATM 1292 C2x UNK H 1 22.093 2.216 1.397 1.00 0.00 C
+HETATM 1293 O1x UNK H 1 21.930 2.224 0.042 1.00 0.00 O
+HETATM 1294 H1x UNK H 1 22.547 1.564 -0.314 1.00 0.00 H
+HETATM 1295 H2x UNK H 1 21.364 2.958 1.732 1.00 0.00 H
+HETATM 1296 H3x UNK H 1 21.876 1.209 1.761 1.00 0.00 H
+HETATM 1297 H4x UNK H 1 23.919 3.505 1.129 1.00 0.00 H
+HETATM 1298 H5x UNK H 1 23.877 2.379 2.605 1.00 0.00 H
+HETATM 1299 H6x UNK H 1 24.181 1.886 0.974 1.00 0.00 H
+TER 1300 UNK H 1
+HETATM 1301 C1x UNK I 1 15.069 12.471 13.880 1.00 0.00 C
+HETATM 1302 C2x UNK I 1 15.288 11.265 14.739 1.00 0.00 C
+HETATM 1303 O1x UNK I 1 14.915 10.194 13.999 1.00 0.00 O
+HETATM 1304 H1x UNK I 1 15.328 10.165 13.120 1.00 0.00 H
+HETATM 1305 H2x UNK I 1 14.808 11.363 15.715 1.00 0.00 H
+HETATM 1306 H3x UNK I 1 16.348 11.177 14.986 1.00 0.00 H
+HETATM 1307 H4x UNK I 1 15.443 13.295 14.493 1.00 0.00 H
+HETATM 1308 H5x UNK I 1 15.660 12.479 12.961 1.00 0.00 H
+HETATM 1309 H6x UNK I 1 14.007 12.603 13.662 1.00 0.00 H
+TER 1310 UNK I 1
+HETATM 1311 C1x UNK J 1 1.673 11.712 3.214 1.00 0.00 C
+HETATM 1312 C2x UNK J 1 3.191 11.761 3.400 1.00 0.00 C
+HETATM 1313 O1x UNK J 1 3.696 10.455 3.363 1.00 0.00 O
+HETATM 1314 H1x UNK J 1 3.181 9.967 4.026 1.00 0.00 H
+HETATM 1315 H2x UNK J 1 3.366 12.252 4.361 1.00 0.00 H
+HETATM 1316 H3x UNK J 1 3.664 12.379 2.634 1.00 0.00 H
+HETATM 1317 H4x UNK J 1 1.376 12.738 3.443 1.00 0.00 H
+HETATM 1318 H5x UNK J 1 1.340 11.542 2.187 1.00 0.00 H
+HETATM 1319 H6x UNK J 1 1.247 11.065 3.984 1.00 0.00 H
+TER 1320 UNK J 1
+HETATM 1321 C1x UNK K 1 16.831 28.239 14.677 1.00 0.00 C
+HETATM 1322 C2x UNK K 1 16.248 26.820 14.194 1.00 0.00 C
+HETATM 1323 O1x UNK K 1 16.077 27.018 12.790 1.00 0.00 O
+HETATM 1324 H1x UNK K 1 16.235 26.169 12.345 1.00 0.00 H
+HETATM 1325 H2x UNK K 1 15.356 26.541 14.759 1.00 0.00 H
+HETATM 1326 H3x UNK K 1 17.039 26.068 14.155 1.00 0.00 H
+HETATM 1327 H4x UNK K 1 16.840 28.243 15.770 1.00 0.00 H
+HETATM 1328 H5x UNK K 1 17.830 28.525 14.339 1.00 0.00 H
+HETATM 1329 H6x UNK K 1 16.144 29.023 14.351 1.00 0.00 H
+TER 1330 UNK K 1
+HETATM 1331 C1x UNK L 1 9.634 0.582 13.289 1.00 0.00 C
+HETATM 1332 C2x UNK L 1 9.013 0.876 14.743 1.00 0.00 C
+HETATM 1333 O1x UNK L 1 7.791 0.093 14.792 1.00 0.00 O
+HETATM 1334 H1x UNK L 1 7.573 -0.160 15.703 1.00 0.00 H
+HETATM 1335 H2x UNK L 1 8.721 1.929 14.727 1.00 0.00 H
+HETATM 1336 H3x UNK L 1 9.745 0.638 15.519 1.00 0.00 H
+HETATM 1337 H4x UNK L 1 10.564 1.154 13.258 1.00 0.00 H
+HETATM 1338 H5x UNK L 1 9.764 -0.492 13.134 1.00 0.00 H
+HETATM 1339 H6x UNK L 1 8.868 0.984 12.621 1.00 0.00 H
+TER 1340 UNK L 1
+HETATM 1341 C1x UNK M 1 15.718 5.007 13.149 1.00 0.00 C
+HETATM 1342 C2x UNK M 1 15.887 6.532 13.249 1.00 0.00 C
+HETATM 1343 O1x UNK M 1 14.643 7.269 13.086 1.00 0.00 O
+HETATM 1344 H1x UNK M 1 14.781 8.189 13.363 1.00 0.00 H
+HETATM 1345 H2x UNK M 1 16.712 6.878 12.621 1.00 0.00 H
+HETATM 1346 H3x UNK M 1 16.285 6.795 14.233 1.00 0.00 H
+HETATM 1347 H4x UNK M 1 16.724 4.602 13.284 1.00 0.00 H
+HETATM 1348 H5x UNK M 1 15.146 4.545 13.957 1.00 0.00 H
+HETATM 1349 H6x UNK M 1 15.357 4.652 12.181 1.00 0.00 H
+TER 1350 UNK M 1
+HETATM 1351 C1x UNK N 1 8.192 9.319 1.823 1.00 0.00 C
+HETATM 1352 C2x UNK N 1 9.575 8.629 1.708 1.00 0.00 C
+HETATM 1353 O1x UNK N 1 9.803 8.023 2.975 1.00 0.00 O
+HETATM 1354 H1x UNK N 1 9.095 7.368 3.090 1.00 0.00 H
+HETATM 1355 H2x UNK N 1 10.327 9.412 1.591 1.00 0.00 H
+HETATM 1356 H3x UNK N 1 9.465 7.891 0.910 1.00 0.00 H
+HETATM 1357 H4x UNK N 1 7.943 9.870 0.913 1.00 0.00 H
+HETATM 1358 H5x UNK N 1 7.416 8.575 2.021 1.00 0.00 H
+HETATM 1359 H6x UNK N 1 8.238 10.108 2.577 1.00 0.00 H
+TER 1360 UNK N 1
+HETATM 1361 C1x UNK O 1 19.752 16.072 9.230 1.00 0.00 C
+HETATM 1362 C2x UNK O 1 19.549 15.632 7.802 1.00 0.00 C
+HETATM 1363 O1x UNK O 1 19.488 14.198 7.770 1.00 0.00 O
+HETATM 1364 H1x UNK O 1 19.699 13.937 6.859 1.00 0.00 H
+HETATM 1365 H2x UNK O 1 20.391 15.978 7.197 1.00 0.00 H
+HETATM 1366 H3x UNK O 1 18.578 15.964 7.429 1.00 0.00 H
+HETATM 1367 H4x UNK O 1 19.807 17.151 9.067 1.00 0.00 H
+HETATM 1368 H5x UNK O 1 18.863 15.831 9.818 1.00 0.00 H
+HETATM 1369 H6x UNK O 1 20.733 15.677 9.506 1.00 0.00 H
+TER 1370 UNK O 1
+HETATM 1371 C1x UNK P 1 21.373 5.611 13.555 1.00 0.00 C
+HETATM 1372 C2x UNK P 1 19.983 5.964 13.987 1.00 0.00 C
+HETATM 1373 O1x UNK P 1 19.858 7.314 14.300 1.00 0.00 O
+HETATM 1374 H1x UNK P 1 19.811 7.829 13.479 1.00 0.00 H
+HETATM 1375 H2x UNK P 1 19.809 5.458 14.940 1.00 0.00 H
+HETATM 1376 H3x UNK P 1 19.172 5.544 13.388 1.00 0.00 H
+HETATM 1377 H4x UNK P 1 21.465 4.524 13.504 1.00 0.00 H
+HETATM 1378 H5x UNK P 1 21.584 6.036 12.570 1.00 0.00 H
+HETATM 1379 H6x UNK P 1 22.164 5.822 14.279 1.00 0.00 H
+TER 1380 UNK P 1
+HETATM 1381 C1x UNK Q 1 9.246 13.913 7.844 1.00 0.00 C
+HETATM 1382 C2x UNK Q 1 7.921 14.167 8.718 1.00 0.00 C
+HETATM 1383 O1x UNK Q 1 6.704 13.960 7.998 1.00 0.00 O
+HETATM 1384 H1x UNK Q 1 5.977 14.066 8.633 1.00 0.00 H
+HETATM 1385 H2x UNK Q 1 8.013 15.205 9.047 1.00 0.00 H
+HETATM 1386 H3x UNK Q 1 7.977 13.366 9.460 1.00 0.00 H
+HETATM 1387 H4x UNK Q 1 10.183 14.044 8.389 1.00 0.00 H
+HETATM 1388 H5x UNK Q 1 9.245 12.868 7.525 1.00 0.00 H
+HETATM 1389 H6x UNK Q 1 9.261 14.568 6.970 1.00 0.00 H
+TER 1390 UNK Q 1
+HETATM 1391 C1x UNK R 1 22.937 -0.546 9.755 1.00 0.00 C
+HETATM 1392 C2x UNK R 1 22.322 0.867 9.488 1.00 0.00 C
+HETATM 1393 O1x UNK R 1 21.801 1.509 10.608 1.00 0.00 O
+HETATM 1394 H1x UNK R 1 22.465 1.497 11.317 1.00 0.00 H
+HETATM 1395 H2x UNK R 1 21.478 0.808 8.797 1.00 0.00 H
+HETATM 1396 H3x UNK R 1 23.077 1.480 8.992 1.00 0.00 H
+HETATM 1397 H4x UNK R 1 23.009 -1.083 8.806 1.00 0.00 H
+HETATM 1398 H5x UNK R 1 23.983 -0.498 10.067 1.00 0.00 H
+HETATM 1399 H6x UNK R 1 22.344 -1.115 10.476 1.00 0.00 H
+TER 1400 UNK R 1
+CONECT 1 2 3
+CONECT 2 1
+CONECT 3 1
+CONECT 5 6 7
+CONECT 6 5
+CONECT 7 5
+CONECT 9 10 11
+CONECT 10 9
+CONECT 11 9
+CONECT 13 14 15
+CONECT 14 13
+CONECT 15 13
+CONECT 17 18 19
+CONECT 18 17
+CONECT 19 17
+CONECT 21 22 23
+CONECT 22 21
+CONECT 23 21
+CONECT 25 26 27
+CONECT 26 25
+CONECT 27 25
+CONECT 29 30 31
+CONECT 30 29
+CONECT 31 29
+CONECT 33 34 35
+CONECT 34 33
+CONECT 35 33
+CONECT 37 38 39
+CONECT 38 37
+CONECT 39 37
+CONECT 41 42 43
+CONECT 42 41
+CONECT 43 41
+CONECT 45 46 47
+CONECT 46 45
+CONECT 47 45
+CONECT 49 50 51
+CONECT 50 49
+CONECT 51 49
+CONECT 53 54 55
+CONECT 54 53
+CONECT 55 53
+CONECT 57 58 59
+CONECT 58 57
+CONECT 59 57
+CONECT 61 62 63
+CONECT 62 61
+CONECT 63 61
+CONECT 65 66 67
+CONECT 66 65
+CONECT 67 65
+CONECT 69 70 71
+CONECT 70 69
+CONECT 71 69
+CONECT 73 74 75
+CONECT 74 73
+CONECT 75 73
+CONECT 77 78 79
+CONECT 78 77
+CONECT 79 77
+CONECT 81 82 83
+CONECT 82 81
+CONECT 83 81
+CONECT 85 86 87
+CONECT 86 85
+CONECT 87 85
+CONECT 89 90 91
+CONECT 90 89
+CONECT 91 89
+CONECT 93 94 95
+CONECT 94 93
+CONECT 95 93
+CONECT 97 98 99
+CONECT 98 97
+CONECT 99 97
+CONECT 101 102 103
+CONECT 102 101
+CONECT 103 101
+CONECT 105 106 107
+CONECT 106 105
+CONECT 107 105
+CONECT 109 110 111
+CONECT 110 109
+CONECT 111 109
+CONECT 113 114 115
+CONECT 114 113
+CONECT 115 113
+CONECT 117 118 119
+CONECT 118 117
+CONECT 119 117
+CONECT 121 122 123
+CONECT 122 121
+CONECT 123 121
+CONECT 125 126 127
+CONECT 126 125
+CONECT 127 125
+CONECT 129 130 131
+CONECT 130 129
+CONECT 131 129
+CONECT 133 134 135
+CONECT 134 133
+CONECT 135 133
+CONECT 137 138 139
+CONECT 138 137
+CONECT 139 137
+CONECT 141 142 143
+CONECT 142 141
+CONECT 143 141
+CONECT 145 146 147
+CONECT 146 145
+CONECT 147 145
+CONECT 149 150 151
+CONECT 150 149
+CONECT 151 149
+CONECT 153 154 155
+CONECT 154 153
+CONECT 155 153
+CONECT 157 158 159
+CONECT 158 157
+CONECT 159 157
+CONECT 161 162 163
+CONECT 162 161
+CONECT 163 161
+CONECT 165 166 167
+CONECT 166 165
+CONECT 167 165
+CONECT 169 170 171
+CONECT 170 169
+CONECT 171 169
+CONECT 173 174 175
+CONECT 174 173
+CONECT 175 173
+CONECT 177 178 179
+CONECT 178 177
+CONECT 179 177
+CONECT 181 182 183
+CONECT 182 181
+CONECT 183 181
+CONECT 185 186 187
+CONECT 186 185
+CONECT 187 185
+CONECT 189 190 191
+CONECT 190 189
+CONECT 191 189
+CONECT 193 194 195
+CONECT 194 193
+CONECT 195 193
+CONECT 197 198 199
+CONECT 198 197
+CONECT 199 197
+CONECT 201 202 203
+CONECT 202 201
+CONECT 203 201
+CONECT 205 206 207
+CONECT 206 205
+CONECT 207 205
+CONECT 209 210 211
+CONECT 210 209
+CONECT 211 209
+CONECT 213 214 215
+CONECT 214 213
+CONECT 215 213
+CONECT 217 218 219
+CONECT 218 217
+CONECT 219 217
+CONECT 221 222 223
+CONECT 222 221
+CONECT 223 221
+CONECT 225 226 227
+CONECT 226 225
+CONECT 227 225
+CONECT 229 230 231
+CONECT 230 229
+CONECT 231 229
+CONECT 233 234 235
+CONECT 234 233
+CONECT 235 233
+CONECT 237 238 239
+CONECT 238 237
+CONECT 239 237
+CONECT 241 242 243
+CONECT 242 241
+CONECT 243 241
+CONECT 245 246 247
+CONECT 246 245
+CONECT 247 245
+CONECT 249 250 251
+CONECT 250 249
+CONECT 251 249
+CONECT 253 254 255
+CONECT 254 253
+CONECT 255 253
+CONECT 257 258 259
+CONECT 258 257
+CONECT 259 257
+CONECT 261 262 263
+CONECT 262 261
+CONECT 263 261
+CONECT 265 266 267
+CONECT 266 265
+CONECT 267 265
+CONECT 269 270 271
+CONECT 270 269
+CONECT 271 269
+CONECT 273 274 275
+CONECT 274 273
+CONECT 275 273
+CONECT 277 278 279
+CONECT 278 277
+CONECT 279 277
+CONECT 281 282 283
+CONECT 282 281
+CONECT 283 281
+CONECT 285 286 287
+CONECT 286 285
+CONECT 287 285
+CONECT 289 290 291
+CONECT 290 289
+CONECT 291 289
+CONECT 293 294 295
+CONECT 294 293
+CONECT 295 293
+CONECT 297 298 299
+CONECT 298 297
+CONECT 299 297
+CONECT 301 302 303
+CONECT 302 301
+CONECT 303 301
+CONECT 305 306 307
+CONECT 306 305
+CONECT 307 305
+CONECT 309 310 311
+CONECT 310 309
+CONECT 311 309
+CONECT 313 314 315
+CONECT 314 313
+CONECT 315 313
+CONECT 317 318 319
+CONECT 318 317
+CONECT 319 317
+CONECT 321 322 323
+CONECT 322 321
+CONECT 323 321
+CONECT 325 326 327
+CONECT 326 325
+CONECT 327 325
+CONECT 329 330 331
+CONECT 330 329
+CONECT 331 329
+CONECT 333 334 335
+CONECT 334 333
+CONECT 335 333
+CONECT 337 338 339
+CONECT 338 337
+CONECT 339 337
+CONECT 341 342 343
+CONECT 342 341
+CONECT 343 341
+CONECT 345 346 347
+CONECT 346 345
+CONECT 347 345
+CONECT 349 350 351
+CONECT 350 349
+CONECT 351 349
+CONECT 353 354 355
+CONECT 354 353
+CONECT 355 353
+CONECT 357 358 359
+CONECT 358 357
+CONECT 359 357
+CONECT 361 362 363
+CONECT 362 361
+CONECT 363 361
+CONECT 365 366 367
+CONECT 366 365
+CONECT 367 365
+CONECT 369 370 371
+CONECT 370 369
+CONECT 371 369
+CONECT 373 374 375
+CONECT 374 373
+CONECT 375 373
+CONECT 377 378 379
+CONECT 378 377
+CONECT 379 377
+CONECT 381 382 383
+CONECT 382 381
+CONECT 383 381
+CONECT 385 386 387
+CONECT 386 385
+CONECT 387 385
+CONECT 389 390 391
+CONECT 390 389
+CONECT 391 389
+CONECT 393 394 395
+CONECT 394 393
+CONECT 395 393
+CONECT 397 398 399
+CONECT 398 397
+CONECT 399 397
+CONECT 401 402 407 408 409
+CONECT 402 401 403 405 406
+CONECT 403 402 404
+CONECT 404 403
+CONECT 405 402
+CONECT 406 402
+CONECT 407 401
+CONECT 408 401
+CONECT 409 401
+CONECT 411 412 417 418 419
+CONECT 412 411 413 415 416
+CONECT 413 412 414
+CONECT 414 413
+CONECT 415 412
+CONECT 416 412
+CONECT 417 411
+CONECT 418 411
+CONECT 419 411
+CONECT 421 422 427 428 429
+CONECT 422 421 423 425 426
+CONECT 423 422 424
+CONECT 424 423
+CONECT 425 422
+CONECT 426 422
+CONECT 427 421
+CONECT 428 421
+CONECT 429 421
+CONECT 431 432 437 438 439
+CONECT 432 431 433 435 436
+CONECT 433 432 434
+CONECT 434 433
+CONECT 435 432
+CONECT 436 432
+CONECT 437 431
+CONECT 438 431
+CONECT 439 431
+CONECT 441 442 447 448 449
+CONECT 442 441 443 445 446
+CONECT 443 442 444
+CONECT 444 443
+CONECT 445 442
+CONECT 446 442
+CONECT 447 441
+CONECT 448 441
+CONECT 449 441
+CONECT 451 452 457 458 459
+CONECT 452 451 453 455 456
+CONECT 453 452 454
+CONECT 454 453
+CONECT 455 452
+CONECT 456 452
+CONECT 457 451
+CONECT 458 451
+CONECT 459 451
+CONECT 461 462 467 468 469
+CONECT 462 461 463 465 466
+CONECT 463 462 464
+CONECT 464 463
+CONECT 465 462
+CONECT 466 462
+CONECT 467 461
+CONECT 468 461
+CONECT 469 461
+CONECT 471 472 477 478 479
+CONECT 472 471 473 475 476
+CONECT 473 472 474
+CONECT 474 473
+CONECT 475 472
+CONECT 476 472
+CONECT 477 471
+CONECT 478 471
+CONECT 479 471
+CONECT 481 482 487 488 489
+CONECT 482 481 483 485 486
+CONECT 483 482 484
+CONECT 484 483
+CONECT 485 482
+CONECT 486 482
+CONECT 487 481
+CONECT 488 481
+CONECT 489 481
+CONECT 491 492 497 498 499
+CONECT 492 491 493 495 496
+CONECT 493 492 494
+CONECT 494 493
+CONECT 495 492
+CONECT 496 492
+CONECT 497 491
+CONECT 498 491
+CONECT 499 491
+CONECT 501 502 507 508 509
+CONECT 502 501 503 505 506
+CONECT 503 502 504
+CONECT 504 503
+CONECT 505 502
+CONECT 506 502
+CONECT 507 501
+CONECT 508 501
+CONECT 509 501
+CONECT 511 512 517 518 519
+CONECT 512 511 513 515 516
+CONECT 513 512 514
+CONECT 514 513
+CONECT 515 512
+CONECT 516 512
+CONECT 517 511
+CONECT 518 511
+CONECT 519 511
+CONECT 521 522 527 528 529
+CONECT 522 521 523 525 526
+CONECT 523 522 524
+CONECT 524 523
+CONECT 525 522
+CONECT 526 522
+CONECT 527 521
+CONECT 528 521
+CONECT 529 521
+CONECT 531 532 537 538 539
+CONECT 532 531 533 535 536
+CONECT 533 532 534
+CONECT 534 533
+CONECT 535 532
+CONECT 536 532
+CONECT 537 531
+CONECT 538 531
+CONECT 539 531
+CONECT 541 542 547 548 549
+CONECT 542 541 543 545 546
+CONECT 543 542 544
+CONECT 544 543
+CONECT 545 542
+CONECT 546 542
+CONECT 547 541
+CONECT 548 541
+CONECT 549 541
+CONECT 551 552 557 558 559
+CONECT 552 551 553 555 556
+CONECT 553 552 554
+CONECT 554 553
+CONECT 555 552
+CONECT 556 552
+CONECT 557 551
+CONECT 558 551
+CONECT 559 551
+CONECT 561 562 567 568 569
+CONECT 562 561 563 565 566
+CONECT 563 562 564
+CONECT 564 563
+CONECT 565 562
+CONECT 566 562
+CONECT 567 561
+CONECT 568 561
+CONECT 569 561
+CONECT 571 572 577 578 579
+CONECT 572 571 573 575 576
+CONECT 573 572 574
+CONECT 574 573
+CONECT 575 572
+CONECT 576 572
+CONECT 577 571
+CONECT 578 571
+CONECT 579 571
+CONECT 581 582 587 588 589
+CONECT 582 581 583 585 586
+CONECT 583 582 584
+CONECT 584 583
+CONECT 585 582
+CONECT 586 582
+CONECT 587 581
+CONECT 588 581
+CONECT 589 581
+CONECT 591 592 597 598 599
+CONECT 592 591 593 595 596
+CONECT 593 592 594
+CONECT 594 593
+CONECT 595 592
+CONECT 596 592
+CONECT 597 591
+CONECT 598 591
+CONECT 599 591
+CONECT 601 602 607 608 609
+CONECT 602 601 603 605 606
+CONECT 603 602 604
+CONECT 604 603
+CONECT 605 602
+CONECT 606 602
+CONECT 607 601
+CONECT 608 601
+CONECT 609 601
+CONECT 611 612 617 618 619
+CONECT 612 611 613 615 616
+CONECT 613 612 614
+CONECT 614 613
+CONECT 615 612
+CONECT 616 612
+CONECT 617 611
+CONECT 618 611
+CONECT 619 611
+CONECT 621 622 627 628 629
+CONECT 622 621 623 625 626
+CONECT 623 622 624
+CONECT 624 623
+CONECT 625 622
+CONECT 626 622
+CONECT 627 621
+CONECT 628 621
+CONECT 629 621
+CONECT 631 632 637 638 639
+CONECT 632 631 633 635 636
+CONECT 633 632 634
+CONECT 634 633
+CONECT 635 632
+CONECT 636 632
+CONECT 637 631
+CONECT 638 631
+CONECT 639 631
+CONECT 641 642 647 648 649
+CONECT 642 641 643 645 646
+CONECT 643 642 644
+CONECT 644 643
+CONECT 645 642
+CONECT 646 642
+CONECT 647 641
+CONECT 648 641
+CONECT 649 641
+CONECT 651 652 657 658 659
+CONECT 652 651 653 655 656
+CONECT 653 652 654
+CONECT 654 653
+CONECT 655 652
+CONECT 656 652
+CONECT 657 651
+CONECT 658 651
+CONECT 659 651
+CONECT 661 662 667 668 669
+CONECT 662 661 663 665 666
+CONECT 663 662 664
+CONECT 664 663
+CONECT 665 662
+CONECT 666 662
+CONECT 667 661
+CONECT 668 661
+CONECT 669 661
+CONECT 671 672 677 678 679
+CONECT 672 671 673 675 676
+CONECT 673 672 674
+CONECT 674 673
+CONECT 675 672
+CONECT 676 672
+CONECT 677 671
+CONECT 678 671
+CONECT 679 671
+CONECT 681 682 687 688 689
+CONECT 682 681 683 685 686
+CONECT 683 682 684
+CONECT 684 683
+CONECT 685 682
+CONECT 686 682
+CONECT 687 681
+CONECT 688 681
+CONECT 689 681
+CONECT 691 692 697 698 699
+CONECT 692 691 693 695 696
+CONECT 693 692 694
+CONECT 694 693
+CONECT 695 692
+CONECT 696 692
+CONECT 697 691
+CONECT 698 691
+CONECT 699 691
+CONECT 701 702 707 708 709
+CONECT 702 701 703 705 706
+CONECT 703 702 704
+CONECT 704 703
+CONECT 705 702
+CONECT 706 702
+CONECT 707 701
+CONECT 708 701
+CONECT 709 701
+CONECT 711 712 717 718 719
+CONECT 712 711 713 715 716
+CONECT 713 712 714
+CONECT 714 713
+CONECT 715 712
+CONECT 716 712
+CONECT 717 711
+CONECT 718 711
+CONECT 719 711
+CONECT 721 722 727 728 729
+CONECT 722 721 723 725 726
+CONECT 723 722 724
+CONECT 724 723
+CONECT 725 722
+CONECT 726 722
+CONECT 727 721
+CONECT 728 721
+CONECT 729 721
+CONECT 731 732 737 738 739
+CONECT 732 731 733 735 736
+CONECT 733 732 734
+CONECT 734 733
+CONECT 735 732
+CONECT 736 732
+CONECT 737 731
+CONECT 738 731
+CONECT 739 731
+CONECT 741 742 747 748 749
+CONECT 742 741 743 745 746
+CONECT 743 742 744
+CONECT 744 743
+CONECT 745 742
+CONECT 746 742
+CONECT 747 741
+CONECT 748 741
+CONECT 749 741
+CONECT 751 752 757 758 759
+CONECT 752 751 753 755 756
+CONECT 753 752 754
+CONECT 754 753
+CONECT 755 752
+CONECT 756 752
+CONECT 757 751
+CONECT 758 751
+CONECT 759 751
+CONECT 761 762 767 768 769
+CONECT 762 761 763 765 766
+CONECT 763 762 764
+CONECT 764 763
+CONECT 765 762
+CONECT 766 762
+CONECT 767 761
+CONECT 768 761
+CONECT 769 761
+CONECT 771 772 777 778 779
+CONECT 772 771 773 775 776
+CONECT 773 772 774
+CONECT 774 773
+CONECT 775 772
+CONECT 776 772
+CONECT 777 771
+CONECT 778 771
+CONECT 779 771
+CONECT 781 782 787 788 789
+CONECT 782 781 783 785 786
+CONECT 783 782 784
+CONECT 784 783
+CONECT 785 782
+CONECT 786 782
+CONECT 787 781
+CONECT 788 781
+CONECT 789 781
+CONECT 791 792 797 798 799
+CONECT 792 791 793 795 796
+CONECT 793 792 794
+CONECT 794 793
+CONECT 795 792
+CONECT 796 792
+CONECT 797 791
+CONECT 798 791
+CONECT 799 791
+CONECT 801 802 807 808 809
+CONECT 802 801 803 805 806
+CONECT 803 802 804
+CONECT 804 803
+CONECT 805 802
+CONECT 806 802
+CONECT 807 801
+CONECT 808 801
+CONECT 809 801
+CONECT 811 812 817 818 819
+CONECT 812 811 813 815 816
+CONECT 813 812 814
+CONECT 814 813
+CONECT 815 812
+CONECT 816 812
+CONECT 817 811
+CONECT 818 811
+CONECT 819 811
+CONECT 821 822 827 828 829
+CONECT 822 821 823 825 826
+CONECT 823 822 824
+CONECT 824 823
+CONECT 825 822
+CONECT 826 822
+CONECT 827 821
+CONECT 828 821
+CONECT 829 821
+CONECT 831 832 837 838 839
+CONECT 832 831 833 835 836
+CONECT 833 832 834
+CONECT 834 833
+CONECT 835 832
+CONECT 836 832
+CONECT 837 831
+CONECT 838 831
+CONECT 839 831
+CONECT 841 842 847 848 849
+CONECT 842 841 843 845 846
+CONECT 843 842 844
+CONECT 844 843
+CONECT 845 842
+CONECT 846 842
+CONECT 847 841
+CONECT 848 841
+CONECT 849 841
+CONECT 851 852 857 858 859
+CONECT 852 851 853 855 856
+CONECT 853 852 854
+CONECT 854 853
+CONECT 855 852
+CONECT 856 852
+CONECT 857 851
+CONECT 858 851
+CONECT 859 851
+CONECT 861 862 867 868 869
+CONECT 862 861 863 865 866
+CONECT 863 862 864
+CONECT 864 863
+CONECT 865 862
+CONECT 866 862
+CONECT 867 861
+CONECT 868 861
+CONECT 869 861
+CONECT 871 872 877 878 879
+CONECT 872 871 873 875 876
+CONECT 873 872 874
+CONECT 874 873
+CONECT 875 872
+CONECT 876 872
+CONECT 877 871
+CONECT 878 871
+CONECT 879 871
+CONECT 881 882 887 888 889
+CONECT 882 881 883 885 886
+CONECT 883 882 884
+CONECT 884 883
+CONECT 885 882
+CONECT 886 882
+CONECT 887 881
+CONECT 888 881
+CONECT 889 881
+CONECT 891 892 897 898 899
+CONECT 892 891 893 895 896
+CONECT 893 892 894
+CONECT 894 893
+CONECT 895 892
+CONECT 896 892
+CONECT 897 891
+CONECT 898 891
+CONECT 899 891
+CONECT 901 902 907 908 909
+CONECT 902 901 903 905 906
+CONECT 903 902 904
+CONECT 904 903
+CONECT 905 902
+CONECT 906 902
+CONECT 907 901
+CONECT 908 901
+CONECT 909 901
+CONECT 911 912 917 918 919
+CONECT 912 911 913 915 916
+CONECT 913 912 914
+CONECT 914 913
+CONECT 915 912
+CONECT 916 912
+CONECT 917 911
+CONECT 918 911
+CONECT 919 911
+CONECT 921 922 927 928 929
+CONECT 922 921 923 925 926
+CONECT 923 922 924
+CONECT 924 923
+CONECT 925 922
+CONECT 926 922
+CONECT 927 921
+CONECT 928 921
+CONECT 929 921
+CONECT 931 932 937 938 939
+CONECT 932 931 933 935 936
+CONECT 933 932 934
+CONECT 934 933
+CONECT 935 932
+CONECT 936 932
+CONECT 937 931
+CONECT 938 931
+CONECT 939 931
+CONECT 941 942 947 948 949
+CONECT 942 941 943 945 946
+CONECT 943 942 944
+CONECT 944 943
+CONECT 945 942
+CONECT 946 942
+CONECT 947 941
+CONECT 948 941
+CONECT 949 941
+CONECT 951 952 957 958 959
+CONECT 952 951 953 955 956
+CONECT 953 952 954
+CONECT 954 953
+CONECT 955 952
+CONECT 956 952
+CONECT 957 951
+CONECT 958 951
+CONECT 959 951
+CONECT 961 962 967 968 969
+CONECT 962 961 963 965 966
+CONECT 963 962 964
+CONECT 964 963
+CONECT 965 962
+CONECT 966 962
+CONECT 967 961
+CONECT 968 961
+CONECT 969 961
+CONECT 971 972 977 978 979
+CONECT 972 971 973 975 976
+CONECT 973 972 974
+CONECT 974 973
+CONECT 975 972
+CONECT 976 972
+CONECT 977 971
+CONECT 978 971
+CONECT 979 971
+CONECT 981 982 987 988 989
+CONECT 982 981 983 985 986
+CONECT 983 982 984
+CONECT 984 983
+CONECT 985 982
+CONECT 986 982
+CONECT 987 981
+CONECT 988 981
+CONECT 989 981
+CONECT 991 992 997 998 999
+CONECT 992 991 993 995 996
+CONECT 993 992 994
+CONECT 994 993
+CONECT 995 992
+CONECT 996 992
+CONECT 997 991
+CONECT 998 991
+CONECT 999 991
+CONECT 1001 1002 1007 1008 1009
+CONECT 1002 1001 1003 1005 1006
+CONECT 1003 1002 1004
+CONECT 1004 1003
+CONECT 1005 1002
+CONECT 1006 1002
+CONECT 1007 1001
+CONECT 1008 1001
+CONECT 1009 1001
+CONECT 1011 1012 1017 1018 1019
+CONECT 1012 1011 1013 1015 1016
+CONECT 1013 1012 1014
+CONECT 1014 1013
+CONECT 1015 1012
+CONECT 1016 1012
+CONECT 1017 1011
+CONECT 1018 1011
+CONECT 1019 1011
+CONECT 1021 1022 1027 1028 1029
+CONECT 1022 1021 1023 1025 1026
+CONECT 1023 1022 1024
+CONECT 1024 1023
+CONECT 1025 1022
+CONECT 1026 1022
+CONECT 1027 1021
+CONECT 1028 1021
+CONECT 1029 1021
+CONECT 1031 1032 1037 1038 1039
+CONECT 1032 1031 1033 1035 1036
+CONECT 1033 1032 1034
+CONECT 1034 1033
+CONECT 1035 1032
+CONECT 1036 1032
+CONECT 1037 1031
+CONECT 1038 1031
+CONECT 1039 1031
+CONECT 1041 1042 1047 1048 1049
+CONECT 1042 1041 1043 1045 1046
+CONECT 1043 1042 1044
+CONECT 1044 1043
+CONECT 1045 1042
+CONECT 1046 1042
+CONECT 1047 1041
+CONECT 1048 1041
+CONECT 1049 1041
+CONECT 1051 1052 1057 1058 1059
+CONECT 1052 1051 1053 1055 1056
+CONECT 1053 1052 1054
+CONECT 1054 1053
+CONECT 1055 1052
+CONECT 1056 1052
+CONECT 1057 1051
+CONECT 1058 1051
+CONECT 1059 1051
+CONECT 1061 1062 1067 1068 1069
+CONECT 1062 1061 1063 1065 1066
+CONECT 1063 1062 1064
+CONECT 1064 1063
+CONECT 1065 1062
+CONECT 1066 1062
+CONECT 1067 1061
+CONECT 1068 1061
+CONECT 1069 1061
+CONECT 1071 1072 1077 1078 1079
+CONECT 1072 1071 1073 1075 1076
+CONECT 1073 1072 1074
+CONECT 1074 1073
+CONECT 1075 1072
+CONECT 1076 1072
+CONECT 1077 1071
+CONECT 1078 1071
+CONECT 1079 1071
+CONECT 1081 1082 1087 1088 1089
+CONECT 1082 1081 1083 1085 1086
+CONECT 1083 1082 1084
+CONECT 1084 1083
+CONECT 1085 1082
+CONECT 1086 1082
+CONECT 1087 1081
+CONECT 1088 1081
+CONECT 1089 1081
+CONECT 1091 1092 1097 1098 1099
+CONECT 1092 1091 1093 1095 1096
+CONECT 1093 1092 1094
+CONECT 1094 1093
+CONECT 1095 1092
+CONECT 1096 1092
+CONECT 1097 1091
+CONECT 1098 1091
+CONECT 1099 1091
+CONECT 1101 1102 1107 1108 1109
+CONECT 1102 1101 1103 1105 1106
+CONECT 1103 1102 1104
+CONECT 1104 1103
+CONECT 1105 1102
+CONECT 1106 1102
+CONECT 1107 1101
+CONECT 1108 1101
+CONECT 1109 1101
+CONECT 1111 1112 1117 1118 1119
+CONECT 1112 1111 1113 1115 1116
+CONECT 1113 1112 1114
+CONECT 1114 1113
+CONECT 1115 1112
+CONECT 1116 1112
+CONECT 1117 1111
+CONECT 1118 1111
+CONECT 1119 1111
+CONECT 1121 1122 1127 1128 1129
+CONECT 1122 1121 1123 1125 1126
+CONECT 1123 1122 1124
+CONECT 1124 1123
+CONECT 1125 1122
+CONECT 1126 1122
+CONECT 1127 1121
+CONECT 1128 1121
+CONECT 1129 1121
+CONECT 1131 1132 1137 1138 1139
+CONECT 1132 1131 1133 1135 1136
+CONECT 1133 1132 1134
+CONECT 1134 1133
+CONECT 1135 1132
+CONECT 1136 1132
+CONECT 1137 1131
+CONECT 1138 1131
+CONECT 1139 1131
+CONECT 1141 1142 1147 1148 1149
+CONECT 1142 1141 1143 1145 1146
+CONECT 1143 1142 1144
+CONECT 1144 1143
+CONECT 1145 1142
+CONECT 1146 1142
+CONECT 1147 1141
+CONECT 1148 1141
+CONECT 1149 1141
+CONECT 1151 1152 1157 1158 1159
+CONECT 1152 1151 1153 1155 1156
+CONECT 1153 1152 1154
+CONECT 1154 1153
+CONECT 1155 1152
+CONECT 1156 1152
+CONECT 1157 1151
+CONECT 1158 1151
+CONECT 1159 1151
+CONECT 1161 1162 1167 1168 1169
+CONECT 1162 1161 1163 1165 1166
+CONECT 1163 1162 1164
+CONECT 1164 1163
+CONECT 1165 1162
+CONECT 1166 1162
+CONECT 1167 1161
+CONECT 1168 1161
+CONECT 1169 1161
+CONECT 1171 1172 1177 1178 1179
+CONECT 1172 1171 1173 1175 1176
+CONECT 1173 1172 1174
+CONECT 1174 1173
+CONECT 1175 1172
+CONECT 1176 1172
+CONECT 1177 1171
+CONECT 1178 1171
+CONECT 1179 1171
+CONECT 1181 1182 1187 1188 1189
+CONECT 1182 1181 1183 1185 1186
+CONECT 1183 1182 1184
+CONECT 1184 1183
+CONECT 1185 1182
+CONECT 1186 1182
+CONECT 1187 1181
+CONECT 1188 1181
+CONECT 1189 1181
+CONECT 1191 1192 1197 1198 1199
+CONECT 1192 1191 1193 1195 1196
+CONECT 1193 1192 1194
+CONECT 1194 1193
+CONECT 1195 1192
+CONECT 1196 1192
+CONECT 1197 1191
+CONECT 1198 1191
+CONECT 1199 1191
+CONECT 1201 1202 1207 1208 1209
+CONECT 1202 1201 1203 1205 1206
+CONECT 1203 1202 1204
+CONECT 1204 1203
+CONECT 1205 1202
+CONECT 1206 1202
+CONECT 1207 1201
+CONECT 1208 1201
+CONECT 1209 1201
+CONECT 1211 1212 1217 1218 1219
+CONECT 1212 1211 1213 1215 1216
+CONECT 1213 1212 1214
+CONECT 1214 1213
+CONECT 1215 1212
+CONECT 1216 1212
+CONECT 1217 1211
+CONECT 1218 1211
+CONECT 1219 1211
+CONECT 1221 1222 1227 1228 1229
+CONECT 1222 1221 1223 1225 1226
+CONECT 1223 1222 1224
+CONECT 1224 1223
+CONECT 1225 1222
+CONECT 1226 1222
+CONECT 1227 1221
+CONECT 1228 1221
+CONECT 1229 1221
+CONECT 1231 1232 1237 1238 1239
+CONECT 1232 1231 1233 1235 1236
+CONECT 1233 1232 1234
+CONECT 1234 1233
+CONECT 1235 1232
+CONECT 1236 1232
+CONECT 1237 1231
+CONECT 1238 1231
+CONECT 1239 1231
+CONECT 1241 1242 1247 1248 1249
+CONECT 1242 1241 1243 1245 1246
+CONECT 1243 1242 1244
+CONECT 1244 1243
+CONECT 1245 1242
+CONECT 1246 1242
+CONECT 1247 1241
+CONECT 1248 1241
+CONECT 1249 1241
+CONECT 1251 1252 1257 1258 1259
+CONECT 1252 1251 1253 1255 1256
+CONECT 1253 1252 1254
+CONECT 1254 1253
+CONECT 1255 1252
+CONECT 1256 1252
+CONECT 1257 1251
+CONECT 1258 1251
+CONECT 1259 1251
+CONECT 1261 1262 1267 1268 1269
+CONECT 1262 1261 1263 1265 1266
+CONECT 1263 1262 1264
+CONECT 1264 1263
+CONECT 1265 1262
+CONECT 1266 1262
+CONECT 1267 1261
+CONECT 1268 1261
+CONECT 1269 1261
+CONECT 1271 1272 1277 1278 1279
+CONECT 1272 1271 1273 1275 1276
+CONECT 1273 1272 1274
+CONECT 1274 1273
+CONECT 1275 1272
+CONECT 1276 1272
+CONECT 1277 1271
+CONECT 1278 1271
+CONECT 1279 1271
+CONECT 1281 1282 1287 1288 1289
+CONECT 1282 1281 1283 1285 1286
+CONECT 1283 1282 1284
+CONECT 1284 1283
+CONECT 1285 1282
+CONECT 1286 1282
+CONECT 1287 1281
+CONECT 1288 1281
+CONECT 1289 1281
+CONECT 1291 1292 1297 1298 1299
+CONECT 1292 1291 1293 1295 1296
+CONECT 1293 1292 1294
+CONECT 1294 1293
+CONECT 1295 1292
+CONECT 1296 1292
+CONECT 1297 1291
+CONECT 1298 1291
+CONECT 1299 1291
+CONECT 1301 1302 1307 1308 1309
+CONECT 1302 1301 1303 1305 1306
+CONECT 1303 1302 1304
+CONECT 1304 1303
+CONECT 1305 1302
+CONECT 1306 1302
+CONECT 1307 1301
+CONECT 1308 1301
+CONECT 1309 1301
+CONECT 1311 1312 1317 1318 1319
+CONECT 1312 1311 1313 1315 1316
+CONECT 1313 1312 1314
+CONECT 1314 1313
+CONECT 1315 1312
+CONECT 1316 1312
+CONECT 1317 1311
+CONECT 1318 1311
+CONECT 1319 1311
+CONECT 1321 1322 1327 1328 1329
+CONECT 1322 1321 1323 1325 1326
+CONECT 1323 1322 1324
+CONECT 1324 1323
+CONECT 1325 1322
+CONECT 1326 1322
+CONECT 1327 1321
+CONECT 1328 1321
+CONECT 1329 1321
+CONECT 1331 1332 1337 1338 1339
+CONECT 1332 1331 1333 1335 1336
+CONECT 1333 1332 1334
+CONECT 1334 1333
+CONECT 1335 1332
+CONECT 1336 1332
+CONECT 1337 1331
+CONECT 1338 1331
+CONECT 1339 1331
+CONECT 1341 1342 1347 1348 1349
+CONECT 1342 1341 1343 1345 1346
+CONECT 1343 1342 1344
+CONECT 1344 1343
+CONECT 1345 1342
+CONECT 1346 1342
+CONECT 1347 1341
+CONECT 1348 1341
+CONECT 1349 1341
+CONECT 1351 1352 1357 1358 1359
+CONECT 1352 1351 1353 1355 1356
+CONECT 1353 1352 1354
+CONECT 1354 1353
+CONECT 1355 1352
+CONECT 1356 1352
+CONECT 1357 1351
+CONECT 1358 1351
+CONECT 1359 1351
+CONECT 1361 1362 1367 1368 1369
+CONECT 1362 1361 1363 1365 1366
+CONECT 1363 1362 1364
+CONECT 1364 1363
+CONECT 1365 1362
+CONECT 1366 1362
+CONECT 1367 1361
+CONECT 1368 1361
+CONECT 1369 1361
+CONECT 1371 1372 1377 1378 1379
+CONECT 1372 1371 1373 1375 1376
+CONECT 1373 1372 1374
+CONECT 1374 1373
+CONECT 1375 1372
+CONECT 1376 1372
+CONECT 1377 1371
+CONECT 1378 1371
+CONECT 1379 1371
+CONECT 1381 1382 1387 1388 1389
+CONECT 1382 1381 1383 1385 1386
+CONECT 1383 1382 1384
+CONECT 1384 1383
+CONECT 1385 1382
+CONECT 1386 1382
+CONECT 1387 1381
+CONECT 1388 1381
+CONECT 1389 1381
+CONECT 1391 1392 1397 1398 1399
+CONECT 1392 1391 1393 1395 1396
+CONECT 1393 1392 1394
+CONECT 1394 1393
+CONECT 1395 1392
+CONECT 1396 1392
+CONECT 1397 1391
+CONECT 1398 1391
+CONECT 1399 1391
+END
diff --git a/dimsim/_tests/data/app_files/sample_density/equilibration_checkpoint.chk b/dimsim/_tests/data/app_files/sample_density/equilibration_checkpoint.chk
index d45bf8d..c87a7bc 100644
Binary files a/dimsim/_tests/data/app_files/sample_density/equilibration_checkpoint.chk and b/dimsim/_tests/data/app_files/sample_density/equilibration_checkpoint.chk differ
diff --git a/dimsim/_tests/data/app_files/sample_density/equilibration_system.xml b/dimsim/_tests/data/app_files/sample_density/equilibration_system.xml
new file mode 100644
index 0000000..85283a0
--- /dev/null
+++ b/dimsim/_tests/data/app_files/sample_density/equilibration_system.xml
@@ -0,0 +1,10037 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dimsim/_tests/data/app_files/sample_density/minimized_checkpoint.chk b/dimsim/_tests/data/app_files/sample_density/minimized_checkpoint.chk
index 8593014..b0124d2 100644
Binary files a/dimsim/_tests/data/app_files/sample_density/minimized_checkpoint.chk and b/dimsim/_tests/data/app_files/sample_density/minimized_checkpoint.chk differ
diff --git a/dimsim/_tests/data/app_files/sample_density/minimized_system.xml b/dimsim/_tests/data/app_files/sample_density/minimized_system.xml
new file mode 100644
index 0000000..d61d59b
--- /dev/null
+++ b/dimsim/_tests/data/app_files/sample_density/minimized_system.xml
@@ -0,0 +1,10036 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dimsim/_tests/data/app_files/sample_density/minimized_topology.pdb b/dimsim/_tests/data/app_files/sample_density/minimized_topology.pdb
index 8888eff..ae7c3ec 100644
--- a/dimsim/_tests/data/app_files/sample_density/minimized_topology.pdb
+++ b/dimsim/_tests/data/app_files/sample_density/minimized_topology.pdb
@@ -1,4 +1,4 @@
-REMARK 1 CREATED WITH OPENMM 8.4, 2026-08-11
+REMARK 1 CREATED WITH OPENMM 8.4, 2026-09-04
CRYST1 28.569 28.569 28.569 120.00 120.00 90.00 P 1 1
HETATM 1 O1x UNK A 1 19.761 19.723 15.109 1.00 0.00 O
HETATM 2 H1x UNK A 1 18.977 19.931 15.617 1.00 0.00 H
diff --git a/dimsim/_tests/data/app_files/sample_density/packed_topology.pdb b/dimsim/_tests/data/app_files/sample_density/packed_topology.pdb
index cffffe8..70397ad 100644
--- a/dimsim/_tests/data/app_files/sample_density/packed_topology.pdb
+++ b/dimsim/_tests/data/app_files/sample_density/packed_topology.pdb
@@ -1,4 +1,4 @@
-REMARK 1 CREATED WITH OPENMM 8.4, 2026-08-11
+REMARK 1 CREATED WITH OPENMM 8.4, 2026-09-04
CRYST1 28.569 28.569 28.569 60.00 60.00 90.00 P 1 1
HETATM 1 O1x UNK A 1 20.165 19.324 14.490 1.00 0.00 O
HETATM 2 H1x UNK A 1 19.298 19.180 14.900 1.00 0.00 H
diff --git a/dimsim/_tests/data/app_files/sample_density/production.csv b/dimsim/_tests/data/app_files/sample_density/production.csv
index e07ef62..7e1240c 100644
--- a/dimsim/_tests/data/app_files/sample_density/production.csv
+++ b/dimsim/_tests/data/app_files/sample_density/production.csv
@@ -1,101 +1,101 @@
#"Step","Potential Energy (kJ/mole)","Kinetic Energy (kJ/mole)","Total Energy (kJ/mole)","Temperature (K)","Box Volume (nm^3)","Density (g/mL)","Speed (ns/day)"
-11000,-7016.939888820329,3237.84423828125,-3779.0956505390786,288.7824633293344,12.838790822935957,0.8288473611432966,0
-12000,-7145.792587179334,3264.69580078125,-3881.096786398084,291.1773470211786,12.695052044596661,0.8382319234674183,297
-13000,-6851.632759405766,3295.58251953125,-3556.0502398745157,293.93212522184956,12.893714797374143,0.8253166803432322,291
-14000,-6850.856525435884,3520.88525390625,-3329.9712715296337,314.02681596033455,12.960196013270304,0.821083098046142,292
-15000,-6874.642549239965,3448.2900390625,-3426.352510177465,307.552068126378,12.88557445327346,0.82583806662635,291
-16000,-7039.282622611689,3534.156982421875,-3505.1256401898136,315.21051788399933,12.824351273322868,0.8297805999744725,281
-17000,-7212.011373567548,3386.0498046875,-3825.9615688800477,302.00087823635755,12.632085121799479,0.8424102427474254,282
-18000,-6913.5543502943765,3257.36669921875,-3656.1876510756265,290.5236664091881,12.890632012356297,0.8255140542109141,283
-19000,-7051.75049652678,3390.4580078125,-3661.29248871428,302.3940446963876,12.893745783225514,0.8253146969676934,284
-20000,-7126.933071115294,3307.02685546875,-3819.9062156465443,294.9528424892602,12.823231910345106,0.8298530330155164,285
-21000,-7075.885593863364,3435.837890625,-3640.047703238364,306.4414643311094,13.112729988779655,0.8115318398965667,285
-22000,-7157.891995974467,3396.10498046875,-3761.787015505717,302.89769668024303,12.785011410906838,0.8323338596931645,286
-23000,-7123.255431944461,3335.355712890625,-3787.8997190538357,297.47948572084977,12.708879139671648,0.8373199380457854,287
-24000,-7286.419032225822,3471.116455078125,-3815.302577147697,309.5879500777196,12.38788464041505,0.8590165474373278,285
-25000,-7256.721840466213,3277.635009765625,-3979.0868307005876,292.33139161661114,12.702328124191768,0.8377517719444315,285
-26000,-7173.446581989061,3230.62353515625,-3942.823046832811,288.1384507450495,12.481016649974926,0.8526066579586382,285
-27000,-7190.229768124278,3314.93359375,-3875.296174374278,295.6580423660065,12.493421590569149,0.8517600896374187,285
-28000,-7125.645456009297,3262.852294921875,-3862.793161087422,291.0129252256709,12.484985871318692,0.8523355976162807,285
-29000,-7279.808623439632,3348.7685546875,-3931.0400687521324,298.6757735004016,12.454210991932364,0.8544417547409922,285
-30000,-7106.0705775811075,3321.286865234375,-3784.7837123467325,296.22468895380894,12.509747562334866,0.8506484915731657,286
-31000,-7030.196680481669,3405.0478515625,-3625.1488289191693,303.69530896595967,12.542831780658648,0.8484047366616632,286
-32000,-7148.262787400941,3368.1767578125,-3780.0860295884413,300.4067859564575,12.697785857542696,0.8380514534776212,287
-33000,-7020.018693414779,3315.494140625,-3704.5245527897787,295.7080373921601,12.850583808283403,0.828086727624146,287
-34000,-7016.696044648117,3229.729248046875,-3786.966796601242,288.05868951647784,12.691434162102246,0.8384708739724154,287
-35000,-6961.301912987146,3246.64990234375,-3714.6520106433964,289.56783815655865,12.7406376808306,0.8352327536848608,288
-36000,-7112.439363650716,3337.2021484375,-3775.2372152132157,297.64416881440354,12.943861202827625,0.8221192831963151,288
-37000,-7193.826540036993,3700.451171875,-3493.375368161993,330.04225225214805,12.324597251678549,0.863427637962931,288
-38000,-7215.088090274345,3460.519775390625,-3754.5683148837197,308.64283504498025,12.504475665393077,0.8510071256575739,289
-39000,-6843.81336735504,3336.23681640625,-3507.57655094879,297.558071108214,13.168026664487368,0.8081239630657682,289
-40000,-7088.106057489284,3255.712890625,-3832.3931668642836,290.3761636621653,12.769545597296215,0.8333419394433595,289
-41000,-7277.2299161994815,3319.623779296875,-3957.6061369026065,296.07635876297354,12.835524027456987,0.8290583127808258,289
-42000,-7240.225372361951,3328.79931640625,-3911.4260559557006,296.89472246851784,12.789038207686772,0.8320717884371706,290
-43000,-7178.642646202119,3288.598876953125,-3890.043769248994,293.3092560044616,12.89080062532747,0.8255032564038987,290
-44000,-7093.088357534049,3488.52978515625,-3604.5585723777986,311.14104033921933,12.683166271913354,0.8390174555565376,290
-45000,-7195.712424979611,3285.240966796875,-3910.4714581827357,293.009764893958,12.378514222110613,0.8596668148470904,290
-46000,-7250.4997151747375,3388.748779296875,-3861.7509358778625,302.2415990613261,12.51726073075036,0.8501379113817764,290
-47000,-7101.50957799537,3316.515625,-3784.99395299537,295.7991433108999,12.4360453905084,0.8556898563576413,291
-48000,-7106.193958248965,3222.8271484375,-3883.366809811465,287.4430930947062,12.738526655595287,0.8353711682337376,291
-49000,-7305.910976146195,3538.541015625,-3767.369960521195,315.601528635149,12.383629855613785,0.8593116895396586,291
-50000,-7052.893495753538,3421.858642578125,-3631.0348531754134,305.19465892931174,12.757646155946999,0.8341192226044563,291
-51000,-6949.765164914621,3321.993896484375,-3627.771268430246,296.28774888226746,12.843244271319438,0.8285599548725244,291
-52000,-7028.3566475122425,3386.993896484375,-3641.3627510278675,302.08508153171294,12.804705411134641,0.8310537066013058,291
-53000,-7032.3566845304085,3384.62353515625,-3647.7331493741585,301.8736696375818,12.653247969497393,0.8410012922779964,291
-54000,-7030.337819336928,3190.5126953125,-3839.825124024428,284.56097564623644,12.704865025873756,0.8375844900508413,291
-55000,-7078.918603371414,3188.56689453125,-3890.351708840164,284.38743019395247,12.671325328572202,0.8398014902092571,291
-56000,-7139.351115762191,3237.11328125,-3902.2378345121906,288.7172694668327,12.462488947720459,0.8538742091167656,291
-57000,-7298.285106728028,3328.88916015625,-3969.395946571778,296.9027356085982,12.484062090106546,0.8523986677617063,291
-58000,-7101.044903773196,3228.753662109375,-3872.291241663821,287.97167726712695,12.96138478633946,0.8210077911641547,291
-59000,-7242.912676319429,3331.031005859375,-3911.881670460054,297.0937662551336,12.43974398475229,0.8554354419917863,291
-60000,-7279.075510927265,3317.53955078125,-3961.535960146015,295.89046697801143,12.663976977961116,0.8402887901944444,291
-61000,-7156.003821149665,3606.865234375,-3549.138586774665,321.6953474675679,12.54070603082127,0.8485485480409074,291
-62000,-7090.27057576181,3486.13330078125,-3604.1372749805596,310.9272985375106,12.848519945922561,0.8282197434917985,291
-63000,-7071.075561296908,3457.4384765625,-3613.637084734408,308.36801482499584,12.770943210108063,0.8332507410602757,291
-64000,-7047.993174585659,3397.765625,-3650.2275495856593,303.04580912270666,12.882801310330182,0.8260158359601765,291
-65000,-6950.792909444834,3313.876708984375,-3636.9162004604586,295.5637790958764,13.00516225594558,0.8182441467807373,291
-66000,-6991.651761263805,3294.5498046875,-3697.1019565763054,293.84001766059976,13.12795403291539,0.8105907338782822,291
-67000,-7056.230539875869,3318.70849609375,-3737.522043782119,295.99472489840485,12.693185429252791,0.838355190915041,291
-68000,-7260.264027371122,3340.83251953125,-3919.431507839872,297.9679606431943,12.789040208690993,0.8320716582492025,291
-69000,-7319.304074020751,3378.66748046875,-3940.6365935520007,301.34245070986293,12.929300499560018,0.8230451364498307,291
-70000,-7315.9964286968825,3318.1494140625,-3997.8470146343825,295.94486052127434,12.415168183967948,0.8571287747517407,291
-71000,-7515.8175164174245,3435.6884765625,-4080.1290398549245,306.4281381307583,12.596617827588288,0.844782150217747,291
-72000,-7224.790609484873,3271.9892578125,-3952.801351672373,291.82784850694156,12.988173727451711,0.8193144099520057,291
-73000,-7161.3130418138535,3191.9775390625,-3969.3355027513535,284.69162466928583,12.883555257023442,0.8259674974468019,291
-74000,-7255.210786640608,3299.90478515625,-3955.3060014843577,294.317626939194,12.801757352617477,0.8312450861822869,291
-75000,-7056.096606547857,3188.248291015625,-3867.848315532232,284.35901403143924,13.006845323265999,0.8181382671497166,291
-76000,-7004.7197407779095,3219.504150390625,-3785.2155903872845,287.1467157859187,12.896081011066176,0.8251652486309458,291
-77000,-7120.522225992194,3337.00439453125,-3783.517831460944,297.62653119629186,12.86988858379349,0.8268446012237827,291
-78000,-7226.735443027079,3502.884765625,-3723.850677402079,312.42135721542917,12.92660246882514,0.8232169218110414,291
-79000,-6968.475739630943,3502.012451171875,-3466.4632884590683,312.34355572220323,13.124738627894725,0.8107893189769505,291
-80000,-7187.573383935167,3509.6923828125,-3677.881001122667,313.02852677521406,12.806157043458029,0.8309595031319215,291
-81000,-7338.920302579485,3202.913818359375,-4136.00648422011,285.6670285005355,12.92421381804272,0.823369068608678,291
-82000,-7328.94535778257,3482.156494140625,-3846.7888636419448,310.5726082147686,12.661376935314935,0.840461345415,291
-83000,-7203.732369835343,3408.18017578125,-3795.552194054093,303.9746801269136,12.883670668712728,0.8259600984448693,291
-84000,-7019.856563840047,3200.650390625,-3819.206173215047,285.465153985087,13.064218058922215,0.8145453364194033,291
-85000,-7405.2362323586785,3474.89111328125,-3930.3451190774285,309.9246108352807,12.301413072594169,0.8650549193871709,291
-86000,-7386.870121659631,3197.1474609375,-4189.722660722131,285.15272862130155,12.56993070504962,0.846575700658903,291
-87000,-7234.077553920062,3274.710693359375,-3959.366860560687,292.0705726169302,12.71566758840081,0.8368729223126505,291
-88000,-7145.514792283466,3442.20947265625,-3703.305319627216,307.0097440316999,12.639661086673483,0.8419053185754249,291
-89000,-7279.114199204872,3183.99609375,-4095.1181054548724,283.979761692364,12.469205333810747,0.8534142801391412,291
-90000,-7283.716088959205,3353.051513671875,-3930.66457528733,299.0577694689609,12.484881872923522,0.8523426975260118,291
-91000,-7314.7187810807445,3410.29248046875,-3904.4263006119945,304.16307601815083,12.453755790969904,0.8544729856977935,291
-92000,-7159.9343060900865,3328.588623046875,-3831.3456830432115,296.87593078403586,12.483413708168822,0.8524429408998746,291
-93000,-7271.217715146144,3393.06298828125,-3878.1547268648937,302.62638220904375,12.645588541973002,0.8415106863979094,291
-94000,-7181.4303595983,3217.038330078125,-3964.392029520175,286.9267899304522,12.609628559642283,0.8439104961362256,291
-95000,-7207.784784292649,3371.86474609375,-3835.9200381988994,300.7357166468215,12.57494365652685,0.8462382166092625,291
-96000,-7223.4794702336,3355.375,-3868.1044702336003,299.2650005943544,12.299408441860836,0.8651959111824774,291
-97000,-7212.091337080616,3420.93212890625,-3791.1592081743656,305.112023422233,12.432735313544098,0.85591767422802,291
-98000,-7290.822649960595,3340.70703125,-3950.1156187105953,297.9567683768864,12.596284947622282,0.8448044751377228,291
-99000,-7273.823152661011,3344.15185546875,-3929.6712971922607,298.26401132942425,12.302370217030534,0.8649876167057662,291
-100000,-7239.399655059118,3265.795654296875,-3973.6040007622432,291.2754426626515,12.329900258469117,0.863056283569846,291
-101000,-7229.712496948137,3278.904541015625,-3950.8079559325124,292.4446207699206,12.59944560903226,0.8445925498684371,292
-102000,-7457.061028088399,3212.1416015625,-4244.919426525899,286.4900520212352,12.309562424361486,0.8644822234136582,292
-103000,-7394.520135214974,3329.776611328125,-4064.7435238868493,296.981887141729,12.573841132557384,0.8463124181128328,292
-104000,-7182.60197925385,3341.6259765625,-3840.97600269135,298.03872886401274,12.50898648559583,0.8507002470675676,292
-105000,-7253.104109095948,3265.703369140625,-3987.400739955323,291.2672117741994,12.580867876375722,0.8458397304881957,292
-106000,-7308.507683008065,3494.8310546875,-3813.676628320565,311.7030488867035,12.740389241136954,0.8352490408614549,292
-107000,-7239.331142506104,3411.295654296875,-3828.035488209229,304.2525488241025,12.811024485799944,0.830643786970857,292
-108000,-7147.509463211492,3407.3486328125,-3740.1608303989924,303.9005150314959,12.851746008428584,0.8280118426618666,292
-109000,-7080.723525999281,3307.453125,-3773.2704009992813,294.9908613549676,12.81514534221415,0.8303766839699893,292
-110000,-7065.615283740182,3509.8017578125,-3555.8135259276823,313.03828190226847,12.774591072500376,0.8330128012292134,292
+11000,-6970.422983652163,3501.37744140625,-3469.0455422459127,312.28691937071136,12.912202543655308,0.8241349884253577,0
+12000,-7163.228325591168,3417.5966796875,-3745.631645903668,304.81453559674947,12.747603744439234,0.8347763318657624,118
+13000,-7014.0716964288,3340.9267578125,-3673.1449386163004,297.9763657303438,13.103017622033953,0.8121333726947548,123
+14000,-7040.286366210843,3438.427734375,-3601.858631835843,306.6724518038607,13.00540592899256,0.8182288159217462,120
+15000,-6865.394993042864,3498.89013671875,-3366.5048563241144,312.06507732957346,12.836714966143639,0.8289813960914091,121
+16000,-7120.853434222176,3461.241455078125,-3659.6119791440506,308.70720146366926,13.020893908357987,0.8172555562433872,121
+17000,-6924.051193583757,3408.492919921875,-3515.5582736618817,304.0025736933346,12.801227229166454,0.8312795096407448,119
+18000,-7012.514576384165,3348.0126953125,-3664.5018810716647,298.6083586045081,12.818944609878676,0.8301305776499455,121
+19000,-7067.175300343952,3274.287353515625,-3792.8879468283267,292.03281504926895,12.613012282727523,0.8436840982414451,125
+20000,-7164.807394640957,3422.712158203125,-3742.0952364378318,305.2707837600752,12.837583729952675,0.8289252960456032,128
+21000,-7110.722554430176,3384.056884765625,-3726.6656696645514,301.82313024049887,13.024888725694636,0.8170048986958789,132
+22000,-6812.7059049839445,3106.73046875,-3705.9754362339445,277.08846122325156,12.755230713805592,0.8342771787219458,134
+23000,-7070.277027848431,3320.32177734375,-3749.9552505046813,296.1386130224566,12.790717203821325,0.8319625650610148,134
+24000,-7189.734588464533,3317.97705078125,-3871.757537683283,295.9294874862288,12.788243888035574,0.8321234711371996,133
+25000,-7100.471922773257,3413.666015625,-3686.8059071482567,304.46396071823364,13.163911563858534,0.8083765864150254,133
+26000,-7209.913317542014,3353.48291015625,-3856.430407385764,299.09624560624894,12.713783383230568,0.8369969483589914,133
+27000,-7403.096914790651,3317.31787109375,-4085.7790436969008,295.8706954258566,12.455770753493807,0.8543347581181484,133
+28000,-7273.754857811655,3268.462890625,-4005.291967186655,291.5133327587873,12.654938155346777,0.840888968656492,133
+29000,-7352.239059789288,3190.438232421875,-4161.800827367413,284.5543343208981,12.266112380522353,0.8675444642720677,133
+30000,-7414.652944257163,3265.638427734375,-4149.014516522788,291.2614196675109,12.804011329876442,0.831098756452282,133
+31000,-7452.17189911467,3321.356689453125,-4130.815209661545,296.23091655724096,12.43814729367692,0.855545254659504,134
+32000,-7249.9723587958,3209.41064453125,-4040.5617142645497,286.2464786925968,12.622835178580276,0.8430275562750481,133
+33000,-7377.888933253656,3298.5224609375,-4079.3664723161564,294.19433781110973,12.818758523631079,0.8301426284178826,132
+34000,-7233.322916358447,3317.42626953125,-3915.8966468271974,295.88036345356227,13.066426224840633,0.8144076820049568,132
+35000,-7269.546042747388,3323.9697265625,-3945.576316184888,296.46397263952394,12.64973274599524,0.8412349974136952,131
+36000,-7172.575049886385,3255.4287109375,-3917.1463389488854,290.35081775169374,12.923074886730587,0.8234416334449803,131
+37000,-7117.296139815226,3315.027099609375,-3802.2690402058506,295.6663821286445,12.885010206106077,0.825874230880965,130
+38000,-7115.168866967899,3325.624755859375,-3789.544111108524,296.61158426073257,12.753340516755745,0.8344008285421559,130
+39000,-7131.6004203049015,3189.684814453125,-3941.9156058517765,284.48713717337637,12.702973934736972,0.837709181214783,130
+40000,-7144.678371044487,3277.05224609375,-3867.626124950737,292.27941508027465,12.639429229624492,0.8419207624439058,130
+41000,-7159.6242397206515,3320.919921875,-3838.7043178456515,296.1919613735351,12.402303279373346,0.8580178741120834,130
+42000,-7285.010813486646,3350.02392578125,-3934.986887705396,298.7877397131549,12.388533149421377,0.8589715800500771,129
+43000,-7310.651099353447,3324.09912109375,-3986.5519782596966,296.47551330322665,12.264937652718196,0.8676275571203461,129
+44000,-7442.444714300793,3432.78271484375,-4009.661999457043,306.1689740187026,12.43022641409676,0.8560904314496749,128
+45000,-7261.879685863903,3528.9052734375,-3732.9744124264034,314.74211936153,12.468278550631718,0.8534777155200854,128
+46000,-7048.890458509733,3350.33984375,-3698.5506147597334,298.8159163524592,12.654037786083062,0.840948800197568,127
+47000,-7187.1305045513145,3268.6787109375,-3918.4517936138145,291.5325817148499,12.740874576706378,0.8352172238879483,127
+48000,-7208.778185199444,3307.68603515625,-3901.092150043194,295.0116345496324,12.981695334633828,0.8197232810934242,127
+49000,-7236.930131929752,3330.9423828125,-3905.987749117252,297.0858619892391,12.740634237770543,0.8352329794001964,127
+50000,-7078.684186086342,3278.51904296875,-3800.1651431175924,292.41023830202147,12.550540463351386,0.847883636958504,127
+51000,-7391.690501735437,3337.5390625,-4054.1514392354366,297.6742180897049,12.351371125909626,0.8615559993609655,126
+52000,-7303.812329084452,3273.099609375,-4030.7127197094524,291.926880466413,12.782824848800582,0.8324762343011942,126
+53000,-7206.700027389728,3334.877685546875,-3871.8223418428533,297.4368505896613,12.916280928521813,0.8238747633897339,126
+54000,-7475.614152961156,3391.484375,-4084.129777961156,302.4855861118709,12.730231886903713,0.8359154796550586,126
+55000,-6925.161725076483,3212.2919921875,-3712.869732888983,286.50346532093494,12.892860546795752,0.8253713638829308,126
+56000,-6940.456058146956,3315.4482421875,-3625.007815959456,295.7039437227712,13.085596657819849,0.8132145726425111,126
+57000,-7214.094463167035,3428.27587890625,-3785.8185842607854,305.767010524454,12.761168018111853,0.8338890200926722,126
+58000,-7282.858302935296,3481.013916015625,-3801.844386919671,310.47070197679005,12.772914200369433,0.8331221620163595,126
+59000,-7116.258372180062,3360.31689453125,-3755.941477648812,299.7057668484487,13.010361781905697,0.8179171396033645,126
+60000,-7109.151281298895,3303.240478515625,-3805.91080278327,294.61513653951465,12.933642619647896,0.822768821344697,126
+61000,-7209.933127325479,3459.251953125,-3750.6811742004793,308.52975831553096,12.701294652678861,0.8378199376405173,125
+62000,-7238.044974391109,3471.601318359375,-3766.4436560317336,309.631194904349,12.537569094079092,0.8487608573887482,125
+63000,-7098.802257818446,3297.66015625,-3801.1421015684464,294.11742908620795,12.53618688297995,0.8488544398064762,125
+64000,-7173.768232354909,3351.593505859375,-3822.174726495534,298.92773014135236,12.639962014375715,0.841885274794223,125
+65000,-7310.642083338251,3427.052001953125,-3883.590081385126,305.65785326569625,12.629008517383062,0.8426154657520425,125
+66000,-7381.285066063145,3338.316162109375,-4042.9689039537698,297.7435273964326,12.55006443196776,0.847915797687482,125
+67000,-7077.379239623791,3310.202880859375,-3767.1763587644164,295.23611134606847,13.072741865966517,0.8140142292234026,125
+68000,-7018.3138259734405,3257.892822265625,-3760.4210037078155,290.5705911833,12.850022508263015,0.8281228991636745,125
+69000,-7216.5163580149965,3378.742431640625,-3837.7739263743715,301.3491355848756,12.586065913137974,0.8454903992480454,125
+70000,-7336.938778264594,3346.765869140625,-3990.1729091239686,298.4971545110559,12.63177559136103,0.8424308852620035,125
+71000,-7062.201829349855,3273.79150390625,-3788.410325443605,291.9885903549667,12.923631292268098,0.8234061815294696,125
+72000,-6939.332877417757,3195.42041015625,-3743.912467261507,284.99869342312627,13.141649581813317,0.8097459780534578,125
+73000,-7222.964985309038,3273.43701171875,-3949.5279735902877,291.9569732913887,12.752518628208529,0.8344546049376084,125
+74000,-7058.177892343119,3501.11279296875,-3557.0650993743693,312.26331544721376,12.692903760851063,0.8383737948665997,125
+75000,-6953.168625527687,3379.443603515625,-3573.7250220120623,301.41167291724196,12.64119983346831,0.841802837867298,125
+76000,-7182.316160611015,3495.288818359375,-3687.02734225164,311.74387670640647,12.637141830866295,0.8420731551710183,125
+77000,-7123.661105884305,3281.4111328125,-3842.2499730718046,292.6681830231953,12.881056582721131,0.8261277190673777,125
+78000,-7171.974731921349,3262.55908203125,-3909.4156498900993,290.98677364622387,12.641417669744822,0.8417883319629329,125
+79000,-7255.738440415247,3263.800048828125,-3991.938391587122,291.0974551435839,12.667600247166199,0.840048445343211,125
+80000,-7357.749284645186,3530.272216796875,-3827.477067848311,314.8640366748723,13.190905186230372,0.8067223396442502,125
+81000,-7020.113607893487,3215.18603515625,-3804.927572737237,286.7615842408062,12.994864794412932,0.8188925442638271,125
+82000,-7071.0884366697355,3233.88623046875,-3837.2022062009855,288.42944966905486,13.185663616609729,0.8070430281913513,125
+83000,-7231.390910886825,3337.094482421875,-3894.2964284649497,297.63456611120944,12.809923708390441,0.8307151655314836,125
+84000,-7126.591330768555,3370.12548828125,-3756.465842487305,300.58059270678757,12.561001269690907,0.8471775191630959,125
+85000,-7158.404642227157,3305.169921875,-3853.2347203521567,294.78722307770795,12.64342245234616,0.8416548552394991,125
+86000,-7227.2916585893545,3303.7099609375,-3923.5816976518545,294.657009551402,12.573448069600225,0.846338874981299,125
+87000,-7265.4871319981685,3307.39794921875,-3958.0891827794185,294.98594024176606,12.404507897505715,0.8578653810201533,125
+88000,-7114.370383515226,3291.654296875,-3822.7160866402264,293.58176809170544,12.601250667354881,0.8444715667333811,124
+89000,-7074.488566441083,3482.1044921875,-3592.384074253583,310.56797017445035,12.507844518994947,0.8507779160270788,124
+90000,-7034.239332484329,3330.70068359375,-3703.5386488905788,297.06430490043596,12.587651611666058,0.8453838906694036,124
+91000,-6989.975241181084,3360.17919921875,-3629.796041962334,299.6934858402821,12.63797651073024,0.8420175401359695,124
+92000,-7006.937344651313,3380.451416015625,-3626.4859286356877,301.50155944509993,12.626086605284614,0.8428104626977064,124
+93000,-7029.673031576058,3361.73779296875,-3667.935238607308,299.8324964008067,12.8150289415397,0.8303842263958787,124
+94000,-7075.101741382823,3367.95166015625,-3707.150081226573,300.3867095565822,12.663948169167389,0.8402907017394146,124
+95000,-7101.3784530519915,3333.8828125,-3767.4956405519915,297.34811812817355,12.521071330016692,0.8498791847268434,124
+96000,-7147.1149430377045,3055.68798828125,-4091.4269547564545,272.5359960150951,12.440750155633765,0.855366256916775,124
+97000,-7278.670397385889,3200.380126953125,-4078.2902704327644,285.4410492403344,12.523734292658183,0.8496984721321955,124
+98000,-7043.926140335614,3263.12890625,-3780.797234085614,291.03759611619006,12.695117324766633,0.838227613154954,124
+99000,-7323.911778444948,3305.007568359375,-4018.904210085573,294.7727428109866,12.611395447171146,0.8437922621995178,124
+100000,-7124.174632962269,3275.951171875,-3848.2234610872692,292.1812105646158,12.749190361086042,0.8346724452669284,124
+101000,-7231.0125279599815,3317.4931640625,-3913.5193638974815,295.8863297589482,12.50783066675145,0.8507788582514474,124
+102000,-7075.1729219681,3255.13818359375,-3820.03473837435,290.3249056954556,12.753982609143186,0.8343588210817021,124
+103000,-7004.771562546892,3343.46435546875,-3661.307207078142,298.2026933879397,12.722024415032752,0.8364547611846289,124
+104000,-6937.175270560525,3395.72998046875,-3541.445290091775,302.86425053034236,13.045053589798485,0.8157419837802005,124
+105000,-7124.994631006266,3438.009765625,-3686.984865381266,306.63517328261725,12.936013481670644,0.8226180274888626,124
+106000,-7221.468993250324,3334.09130859375,-3887.3776846565743,297.36671383912096,12.780270859424425,0.8326425950522061,124
+107000,-7243.7500424522295,3203.06494140625,-4040.6851010459795,285.6805071247467,12.591401778947796,0.8451321052794243,124
+108000,-7335.689986599791,3270.43798828125,-4065.251998318541,291.6894911915323,12.629377663265457,0.8425908368243219,124
+109000,-7219.014389685974,3419.949951171875,-3799.0644385140986,305.0244232522784,12.65342558637322,0.840989487093615,124
+110000,-7045.3002615353835,3244.3759765625,-3800.9242849728835,289.36502732311163,12.633854534116091,0.8422922604598241,124
diff --git a/dimsim/_tests/data/app_files/sample_density/production_checkpoint.chk b/dimsim/_tests/data/app_files/sample_density/production_checkpoint.chk
index d98104e..3fd52ed 100644
Binary files a/dimsim/_tests/data/app_files/sample_density/production_checkpoint.chk and b/dimsim/_tests/data/app_files/sample_density/production_checkpoint.chk differ
diff --git a/dimsim/_tests/data/app_files/sample_density/target_config.json b/dimsim/_tests/data/app_files/sample_density/target_config.json
index fa6c49c..12df85c 100644
--- a/dimsim/_tests/data/app_files/sample_density/target_config.json
+++ b/dimsim/_tests/data/app_files/sample_density/target_config.json
@@ -1,5 +1,5 @@
{
- "id": 9045485791187039,
+ "id": 3347694672032073,
"tag": "density",
"x": [
0.5,
diff --git a/dimsim/compute/_equilibrate.py b/dimsim/compute/_equilibrate.py
index 34d2bcd..485df6c 100644
--- a/dimsim/compute/_equilibrate.py
+++ b/dimsim/compute/_equilibrate.py
@@ -18,7 +18,7 @@
def _run_equilibration(
equilibration_config: EquilibrationConfig,
- minimization_future: dict[str, float | MinimizationFiles],
+ minimization_future: dict[str, MinimizationFiles],
job_dir: str,
) -> dict[str, EquilibrationFiles]:
# TODO: Expose barostat (+ thermostat?) to user
@@ -35,7 +35,7 @@ def _run_equilibration(
compute_config = BulkLiquid(**json.load(open(f"{job_dir}/compute_config.json"))) # type: ignore[typeddict-item]
- minimized_files: MinimizationFiles = minimization_future["simulation_files"] # type: ignore[assignment]
+ minimized_files: MinimizationFiles = minimization_future["simulation_files"]
files = EquilibrationFiles(
topology=File(f"{job_dir}/equilibrated_topology.pdb"),
@@ -56,7 +56,9 @@ def _run_equilibration(
}
with open(minimized_files["topology"].filepath) as f:
- topology = openmm.app.PDBFile(f).getTopology()
+ pdb_file = openmm.app.PDBFile(f)
+
+ topology = pdb_file.getTopology()
with open(minimized_files["system"].filepath) as f:
system = openmm.XmlSerializer.deserialize(f.read())
@@ -64,8 +66,30 @@ def _run_equilibration(
with open(minimized_files["integrator"].filepath) as f:
integrator = openmm.XmlSerializer.deserialize(f.read())
- simulation = openmm.app.Simulation(topology, system, integrator)
- simulation.loadCheckpoint(minimized_files["checkpoint"].filepath)
+ simulation = openmm.app.Simulation(
+ topology,
+ system,
+ integrator,
+ )
+
+ try:
+ simulation.loadCheckpoint(minimized_files["checkpoint"].filepath)
+ except openmm.OpenMMException as error:
+ # loading checkpoint isn't so necessary when starting a new simulation since we are
+ # already loading the correct positions. The checkpoint also adds low-level stuff like
+ # RNG seeds, platform, hardware-specific stuff. It's nice to have these but I don't think
+ # they're **required** for things to run - this is not as true for restarting failed jobs
+ logger.warning(
+ f"Failed to load checkpoint from {minimized_files['checkpoint'].filepath} with below error, "
+ "starting from scratch."
+ )
+ logger.warning(f"{error}")
+
+ # but we need to set positions and box vectors if we fail to load the checkpoint!
+ simulation.context.setPositions(pdb_file.getPositions())
+
+ if topology.getPeriodicBoxVectors() is not None:
+ simulation.context.setPeriodicBoxVectors(*topology.getPeriodicBoxVectors())
pressure = compute_config.get("pressure", None)
@@ -104,6 +128,8 @@ def _run_equilibration(
reportInterval=1000,
)
+ simulation.reporters.append(dcd_reporter)
+
with open(files["msgpack_trajectory"].filepath, "wb") as f:
# type hints imply I can pass these in as openmm.unit.Quantity and let it deal with conversions
smee_reporter = TensorReporter(
@@ -113,17 +139,16 @@ def _run_equilibration(
pressure=pressure * openmm.unit.kilopascal,
)
- simulation.reporters.append(dcd_reporter)
- simulation.reporters.append(smee_reporter)
+ simulation.reporters.append(smee_reporter)
- simulation.context.setVelocitiesToTemperature(
- compute_config["temperature"], # kelvin, but as float
- compute_config["replicate_index"] + 1,
- )
+ simulation.context.setVelocitiesToTemperature(
+ compute_config["temperature"], # kelvin, but as float
+ compute_config["replicate_index"] + 1,
+ )
- logger.info("Running 10,000 steps of MD")
+ logger.info("Running 10,000 steps of MD")
- simulation.step(10_000)
+ simulation.step(10_000)
with open(files["topology"].filepath, "w") as f:
openmm.app.PDBFile.writeFile(
diff --git a/dimsim/compute/_produce.py b/dimsim/compute/_produce.py
index a2316b7..751fcff 100644
--- a/dimsim/compute/_produce.py
+++ b/dimsim/compute/_produce.py
@@ -52,7 +52,9 @@ def _run_production(
}
with open(equilibrated_files["topology"].filepath) as f:
- topology = openmm.app.PDBFile(f).getTopology()
+ pdb_file = openmm.app.PDBFile(f)
+
+ topology = pdb_file.getTopology()
with open(equilibrated_files["system"].filepath) as f:
system = openmm.XmlSerializer.deserialize(f.read())
@@ -60,9 +62,30 @@ def _run_production(
with open(equilibrated_files["integrator"].filepath) as f:
integrator = openmm.XmlSerializer.deserialize(f.read())
- with open(equilibrated_files["checkpoint"].filepath, "rb") as f:
- simulation = openmm.app.Simulation(topology, system, integrator)
- simulation.loadCheckpoint(f)
+ simulation = openmm.app.Simulation(
+ topology,
+ system,
+ integrator,
+ )
+
+ try:
+ simulation.loadCheckpoint(equilibrated_files["checkpoint"].filepath)
+ except openmm.OpenMMException as error:
+ # loading checkpoint isn't so necessary when starting a new simulation since we are
+ # already loading the correct positions. The checkpoint also adds low-level stuff like
+ # RNG seeds, platform, hardware-specific stuff. It's nice to have these but I don't think
+ # they're **required** for things to run - this is not as true for restarting failed jobs
+ logger.warning(
+ f"Failed to load checkpoint from {equilibrated_files['checkpoint'].filepath} with below error, "
+ "starting from scratch."
+ )
+ logger.warning(f"{error}")
+
+ # but we need to set positions and box vectors if we fail to load the checkpoint!
+ simulation.context.setPositions(pdb_file.getPositions())
+
+ if topology.getPeriodicBoxVectors() is not None:
+ simulation.context.setPeriodicBoxVectors(*topology.getPeriodicBoxVectors())
logger.info("Reinitializing context (in production step)")
simulation.context.reinitialize(preserveState=True)
@@ -100,6 +123,8 @@ def _run_production(
reportInterval=1000,
)
+ simulation.reporters.append(dcd_reporter)
+
pressure = compute_config.get("pressure", None)
if pressure is None:
@@ -113,12 +138,13 @@ def _run_production(
pressure=pressure * openmm.unit.kilopascal,
)
- simulation.reporters.append(dcd_reporter)
- simulation.reporters.append(smee_reporter)
+ simulation.reporters.append(smee_reporter)
- logger.info("Running 100,000 steps of MD")
+ logger.info("Running 100,000 steps of MD")
- simulation.step(100_000)
+ for index in range(10):
+ logger.info(f"Running from step {index * 10_000} to step {(index + 1) * 10_000}")
+ simulation.step(10_000)
with open(files["topology"].filepath, "w") as f:
openmm.app.PDBFile.writeFile(
diff --git a/dimsim/compute/apps.py b/dimsim/compute/apps.py
index 35b59c1..0050ac4 100644
--- a/dimsim/compute/apps.py
+++ b/dimsim/compute/apps.py
@@ -45,7 +45,7 @@ def minimize_energy(
@python_app
def run_equilibration(
equilibration_config: EquilibrationConfig,
- minimization_future: dict[str, float | MinimizationFiles],
+ minimization_future: dict[str, MinimizationFiles],
job_dir: str,
) -> dict[str, EquilibrationFiles]:
from dimsim.compute._equilibrate import _run_equilibration
diff --git a/pixi.toml b/pixi.toml
index 67ec9c0..8e7bde2 100644
--- a/pixi.toml
+++ b/pixi.toml
@@ -5,7 +5,10 @@ platforms = [ "linux-64", "osx-arm64" ]
[tasks]
run_mypy = "python -m mypy -p 'dimsim'"
-run_tests = "python -m pytest -n logical --durations=10 --cov=dimsim --cov-config=pyproject.toml --cov-append --cov-report=xml --color=yes dimsim/_tests"
+run_tests = {
+ cmd = "python -m pytest --lf --durations=10 --cov=dimsim --cov-config=pyproject.toml --cov-append --cov-report=xml --color=yes dimsim/_tests",
+ env = {OPENMM_DEFAULT_PLATFORM="CPU"}
+}
[pypi-dependencies]
pydantic = "*"