From 2379fa5dbc5e068b74467543ab051763aa476483 Mon Sep 17 00:00:00 2001 From: Alyssa Travitz Date: Wed, 29 Jul 2026 07:11:29 -0700 Subject: [PATCH 01/15] first thoughts on implementation --- src/openfe/orchestration/exorcist_utils.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/openfe/orchestration/exorcist_utils.py b/src/openfe/orchestration/exorcist_utils.py index 459877b9c..7681e1062 100644 --- a/src/openfe/orchestration/exorcist_utils.py +++ b/src/openfe/orchestration/exorcist_utils.py @@ -96,3 +96,11 @@ def build_task_db_from_alchemical_network( db = exorcist.TaskStatusDB.from_filename(db_path) db.add_task_network(global_dag, max_tries) return db + + +def build_protocol_dag_result_from_task_db(): + pass + + # identify transformations & their protocol dags + # query the status of the units of the dags + # collect results and return an iterable of transformations and their protocoldagresults From 832a726f0eaa14289d660a53ab79ff2584c54d75 Mon Sep 17 00:00:00 2001 From: Alyssa Travitz Date: Thu, 30 Jul 2026 11:20:32 -0700 Subject: [PATCH 02/15] add get_task_df --- src/openfe/orchestration/__init__.py | 1 + src/openfe/orchestration/exorcist_utils.py | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/src/openfe/orchestration/__init__.py b/src/openfe/orchestration/__init__.py index 14999e2f2..2196719bb 100644 --- a/src/openfe/orchestration/__init__.py +++ b/src/openfe/orchestration/__init__.py @@ -20,6 +20,7 @@ from .exorcist_utils import ( alchemical_network_to_task_graph, build_task_db_from_alchemical_network, + get_task_df, ) diff --git a/src/openfe/orchestration/exorcist_utils.py b/src/openfe/orchestration/exorcist_utils.py index 7681e1062..60bfd0b77 100644 --- a/src/openfe/orchestration/exorcist_utils.py +++ b/src/openfe/orchestration/exorcist_utils.py @@ -98,6 +98,13 @@ def build_task_db_from_alchemical_network( return db +def get_task_df(task_db: exorcist.TaskStatusDB): + task_status_unpack = {e.value: e.name for e in exorcist.TaskStatus} + task_table = pd.read_sql_table("tasks", task_db.engine) + task_table.replace({"status": task_status_unpack}, inplace=True) + return task_table + + def build_protocol_dag_result_from_task_db(): pass From c408766dba7e71aa2f195decb548c662f4deb7f0 Mon Sep 17 00:00:00 2001 From: Alyssa Travitz Date: Fri, 7 Aug 2026 13:20:39 -0700 Subject: [PATCH 03/15] add get_unit_results to warehouse --- src/openfe/storage/warehouse.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/openfe/storage/warehouse.py b/src/openfe/storage/warehouse.py index 6f8acb537..c7893164f 100644 --- a/src/openfe/storage/warehouse.py +++ b/src/openfe/storage/warehouse.py @@ -6,7 +6,7 @@ from typing import Generator, Literal, TypedDict from gufe.protocols.protocoldag import ProtocolDAG -from gufe.protocols.protocolunit import ProtocolUnit +from gufe.protocols.protocolunit import ProtocolUnit, ProtocolUnitResult from gufe.storage.externalresource import ExternalStorage, FileStorage from gufe.tokenization import ( JSON_HANDLER, @@ -356,6 +356,17 @@ def get_protocol_dags(self) -> Generator[ProtocolDAG, None, None]: dag = self.load_protocol_dag(item) yield dag + def get_unit_results(self) -> Generator[ProtocolUnitResult]: + """Yield all ProtocolUnitResult(s) stored in the Warehouse's 'results' store.""" + for i in self.stores["result"]: + obj = self.load_result_tokenizable(i) + if isinstance(obj, ProtocolUnitResult): + yield obj + else: + raise RuntimeError( + f"gufe tokenizable {obj} found in result store, but is not a ProtocolUnitResult." + ) + @property def setup_store(self): """Get the setup store From a8de80580437d817f99102204118e1f4ed85513c Mon Sep 17 00:00:00 2001 From: Alyssa Travitz Date: Fri, 7 Aug 2026 13:53:55 -0700 Subject: [PATCH 04/15] first pass at fuller gather_result approach fix protocol dag store deduplication order --- src/openfe/storage/warehouse.py | 59 +++++++++++++++++++++++++++++++-- 1 file changed, 57 insertions(+), 2 deletions(-) diff --git a/src/openfe/storage/warehouse.py b/src/openfe/storage/warehouse.py index c7893164f..4475ba7f4 100644 --- a/src/openfe/storage/warehouse.py +++ b/src/openfe/storage/warehouse.py @@ -3,9 +3,10 @@ import json import pathlib import re -from typing import Generator, Literal, TypedDict +from typing import Generator, Iterable, Literal, TypedDict -from gufe.protocols.protocoldag import ProtocolDAG +from gufe.protocols import ProtocolResult +from gufe.protocols.protocoldag import ProtocolDAG, ProtocolDAGResult from gufe.protocols.protocolunit import ProtocolUnit, ProtocolUnitResult from gufe.storage.externalresource import ExternalStorage, FileStorage from gufe.tokenization import ( @@ -367,6 +368,60 @@ def get_unit_results(self) -> Generator[ProtocolUnitResult]: f"gufe tokenizable {obj} found in result store, but is not a ProtocolUnitResult." ) + def gather_all_results(self) -> list[tuple[ProtocolResult, ProtocolDAGResult]]: + dags_to_purs = self._construct_dags_to_purs( + self.get_protocol_dags(), self.get_unit_results() + ) + dags_with_results = [ + self.load_protocol_dag(d) for d in dags_to_purs if dags_to_purs[d] != [] + ] + + result_edges: list[tuple[ProtocolResult, ProtocolDAGResult]] = [] + for dag in dags_with_results: + prot_dag_result: ProtocolDAGResult = self._construct_protocol_dag_result( + protocol_dag=dag, dags_to_purs=dags_to_purs + ) + prot_result: ProtocolResult = self.gather_result( + protocol_dag=dag, dags_to_purs=dags_to_purs + ) + result_edges.append((prot_result, prot_dag_result)) + + return result_edges + + @classmethod + def _construct_dags_to_purs(dags: Iterable[ProtocolDAG], purs: Iterable[ProtocolUnitResult]): + """Creating a mapping of protocolDAGs to their corresponding ProtocolUnitResults""" + pur_pu_keys = {str(pur.source_key): pur for pur in purs} + dag_map = {} + for dag in dags: + dag_purs = [] + for unit in dag.protocol_units: + if unit.key in pur_pu_keys: + dag_purs.append(pur_pu_keys[unit.key]) + dag_map[str(dag.key)] = dag_purs + return dag_map + + @classmethod + def _construct_protocol_dag_result( + protocol_dag: ProtocolDAG, + dags_to_purs: dict[str, list[ProtocolUnitResult]], + ) -> ProtocolDAGResult: + """Create a ProtocolDAGResult from the ProtocolDAG and its corresponding ProtocolUnitResults""" + purs = dags_to_purs[str(protocol_dag.key)] + dag_result = ProtocolDAGResult( + protocol_units=protocol_dag.protocol_units, + protocol_unit_results=purs, + transformation_key=protocol_dag.transformation_key, + extends_key=protocol_dag.extends_key, + ) + return dag_result + + def gather_result(self, protocol_dag, dags_to_purs) -> ProtocolResult: + protocol_dag_result = self._construct_protocol_dag_result(protocol_dag, dags_to_purs) + transformation = self.load_setup_tokenizable(protocol_dag.transformation_key) + result = transformation.gather([protocol_dag_result]) + return result + @property def setup_store(self): """Get the setup store From e5beea91798d5ef8a6205fab576036707385fe5d Mon Sep 17 00:00:00 2001 From: Alyssa Travitz Date: Wed, 12 Aug 2026 13:17:41 -0700 Subject: [PATCH 05/15] update docstrings --- src/openfe/storage/warehouse.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/openfe/storage/warehouse.py b/src/openfe/storage/warehouse.py index 4475ba7f4..abc45d95b 100644 --- a/src/openfe/storage/warehouse.py +++ b/src/openfe/storage/warehouse.py @@ -358,7 +358,18 @@ def get_protocol_dags(self) -> Generator[ProtocolDAG, None, None]: yield dag def get_unit_results(self) -> Generator[ProtocolUnitResult]: - """Yield all ProtocolUnitResult(s) stored in the Warehouse's 'results' store.""" + """Yield all ProtocolUnitResult(s) stored in the Warehouse's 'result' store. + + Yields + ------ + Generator[ProtocolUnitResult] + The ProtocolUnitResults found in this Warehouse's 'result' store + + Raises + ------ + RuntimeError + If any object in the result store is not a ProtocolUnitResult + """ for i in self.stores["result"]: obj = self.load_result_tokenizable(i) if isinstance(obj, ProtocolUnitResult): From 0de5cd8c8e829383115d0963b3200daf001e00a1 Mon Sep 17 00:00:00 2001 From: Alyssa Travitz Date: Wed, 12 Aug 2026 16:21:01 -0700 Subject: [PATCH 06/15] guardrails and docstrings --- src/openfe/orchestration/exorcist_utils.py | 30 +++++++++++++++++----- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/src/openfe/orchestration/exorcist_utils.py b/src/openfe/orchestration/exorcist_utils.py index 60bfd0b77..d880ffee1 100644 --- a/src/openfe/orchestration/exorcist_utils.py +++ b/src/openfe/orchestration/exorcist_utils.py @@ -4,6 +4,7 @@ structures and can initialize an Exorcist task database from that graph. """ +import sys from pathlib import Path import exorcist @@ -15,17 +16,22 @@ def alchemical_network_to_task_graph( - alchemical_network: AlchemicalNetwork, warehouse: WarehouseBaseClass + alchemical_network: AlchemicalNetwork, + warehouse: WarehouseBaseClass, ) -> nx.DiGraph: - """Build a global task DAG from an alchemical network. + """Build a global task DAG from `alchemical_network` and store its relevant data + in `warehouse` the following warehouse stores: + - 'setup': The AlchemicalNetwork, deduplicated on disk + - 'tasks': The ProtocolUnits to be executed as tasks + - 'protocol_dags': The ProtocolDAGs that the ProtocolUnits belong to. + Used to gather results after execution. Parameters ---------- alchemical_network : AlchemicalNetwork - Network containing transformations to execute. + Network containing alchemical transformations to be executed. warehouse : WarehouseBaseClass - Warehouse used to persist protocol units as tasks while the graph is - constructed. + Warehouse used to store data used by the execution and simulation engines. Returns ------- @@ -37,11 +43,18 @@ def alchemical_network_to_task_graph( Raises ------ ValueError - Raised if the assembled task graph is not acyclic. + If the assembled task graph is not acyclic. + If the input `alchemical_network` is not a valid openfe.AlchemicalNetwork """ + if not isinstance(alchemical_network, AlchemicalNetwork): + raise ValueError( + f"alchemical_network must be an AlchemicalNetwork, not {type(alchemical_network)}." + ) + + warehouse.store_setup_tokenizable(alchemical_network) global_dag = nx.DiGraph() - for transformation in alchemical_network.edges: + for transformation in alchemical_network.edges: # TODO: skip edges that already have units? dag = transformation.create() for unit in dag.protocol_units: node_id = str(unit.key) @@ -91,6 +104,9 @@ def build_task_db_from_alchemical_network( """ if db_path is None: db_path = Path(f"{warehouse.name}.db") + if db_path.exists(): + print(f"{db_path} already exists.") # TODO: add more user flexibility here + sys.exit() global_dag: nx.DiGraph = alchemical_network_to_task_graph(alchemical_network, warehouse) db = exorcist.TaskStatusDB.from_filename(db_path) From 65674f3461517566b4c76fe8b8f2915d1ddfca7d Mon Sep 17 00:00:00 2001 From: Alyssa Travitz Date: Thu, 13 Aug 2026 07:49:29 -0700 Subject: [PATCH 07/15] add helper functions --- src/openfe/orchestration/__init__.py | 1 - src/openfe/orchestration/exorcist_utils.py | 37 +++++++++++++++---- src/openfe/storage/warehouse.py | 34 +++++++++++++++-- .../orchestration/test_exorcist_utils.py | 3 +- 4 files changed, 61 insertions(+), 14 deletions(-) diff --git a/src/openfe/orchestration/__init__.py b/src/openfe/orchestration/__init__.py index 2196719bb..b7bb68db5 100644 --- a/src/openfe/orchestration/__init__.py +++ b/src/openfe/orchestration/__init__.py @@ -159,7 +159,6 @@ def _checkout_task(self) -> tuple[TaskStatusDB, str, ProtocolUnit] | None: The caller is responsible for calling ``mark_task_completed`` on the returned database using the returned task ID. """ - db: TaskStatusDB = TaskStatusDB.from_filename(self.task_db_path) # The format for the taskid is "ProtocolUnit-" taskid = db.check_out_task() diff --git a/src/openfe/orchestration/exorcist_utils.py b/src/openfe/orchestration/exorcist_utils.py index d880ffee1..b430ed097 100644 --- a/src/openfe/orchestration/exorcist_utils.py +++ b/src/openfe/orchestration/exorcist_utils.py @@ -114,16 +114,37 @@ def build_task_db_from_alchemical_network( return db -def get_task_df(task_db: exorcist.TaskStatusDB): - task_status_unpack = {e.value: e.name for e in exorcist.TaskStatus} +def get_task_df(task_db: exorcist.TaskStatusDB) -> pd.DataFrame: + """Create a pandas Dataframe from task_db. + + Parameters + ---------- + task_db : exorcist.TaskStatusDB + A task database. + + Returns + ------- + pd.DataFrame + A dataframe of the tasks and their statuses + """ + status_name_encoding = {e.value: e.name for e in exorcist.TaskStatus} task_table = pd.read_sql_table("tasks", task_db.engine) - task_table.replace({"status": task_status_unpack}, inplace=True) + task_table.replace({"status": status_name_encoding}, inplace=True) return task_table -def build_protocol_dag_result_from_task_db(): - pass +def get_dependency_df(task_db: exorcist.TaskStatusDB) -> pd.DataFrame: + """Create a pandas Dataframe from task_db. - # identify transformations & their protocol dags - # query the status of the units of the dags - # collect results and return an iterable of transformations and their protocoldagresults + Parameters + ---------- + task_db : exorcist.TaskStatusDB + A task database. + + Returns + ------- + pd.DataFrame + A dataframe of the tasks and their dependencies. + + """ + return pd.read_sql_table("dependencies", task_db.engine) diff --git a/src/openfe/storage/warehouse.py b/src/openfe/storage/warehouse.py index abc45d95b..8ddeccd82 100644 --- a/src/openfe/storage/warehouse.py +++ b/src/openfe/storage/warehouse.py @@ -380,9 +380,23 @@ def get_unit_results(self) -> Generator[ProtocolUnitResult]: ) def gather_all_results(self) -> list[tuple[ProtocolResult, ProtocolDAGResult]]: + """From this warehouse, gather all ProtocolDAGResults corresponding to the recorded + ProtocolDAGs, and return all (ProtocolResult, ProtocolDAGResult) pairs. + + Note: this requires the Warehouse to explicitly have stored the ProtocolDAGs and + their ProtocolUnits when constructing the task graph. + + Returns + ------- + list[tuple[ProtocolResult, ProtocolDAGResult]] + ProtocolResults and their corresponding ProtocolDAGResults + """ + + # construct a map of all the ProtocolDAGs and their corresponding ProtocolUnitResults dags_to_purs = self._construct_dags_to_purs( self.get_protocol_dags(), self.get_unit_results() ) + # load all dags dags_with_results = [ self.load_protocol_dag(d) for d in dags_to_purs if dags_to_purs[d] != [] ] @@ -399,7 +413,7 @@ def gather_all_results(self) -> list[tuple[ProtocolResult, ProtocolDAGResult]]: return result_edges - @classmethod + @staticmethod def _construct_dags_to_purs(dags: Iterable[ProtocolDAG], purs: Iterable[ProtocolUnitResult]): """Creating a mapping of protocolDAGs to their corresponding ProtocolUnitResults""" pur_pu_keys = {str(pur.source_key): pur for pur in purs} @@ -412,12 +426,24 @@ def _construct_dags_to_purs(dags: Iterable[ProtocolDAG], purs: Iterable[Protocol dag_map[str(dag.key)] = dag_purs return dag_map - @classmethod + @staticmethod def _construct_protocol_dag_result( protocol_dag: ProtocolDAG, dags_to_purs: dict[str, list[ProtocolUnitResult]], ) -> ProtocolDAGResult: - """Create a ProtocolDAGResult from the ProtocolDAG and its corresponding ProtocolUnitResults""" + """Create a ProtocolDAGResult from the ProtocolDAG and its corresponding ProtocolUnitResults + + Parameters + ---------- + protocol_dag : ProtocolDAG + The ProtocolDAG to construct a ProtocolDAGResult for. + dags_to_purs : dict[str, list[ProtocolUnitResult]] + Mapping of all ProtocolDAG keys and their ProtocolUnitResults + + Returns + ------- + ProtocolDAGResult + """ purs = dags_to_purs[str(protocol_dag.key)] dag_result = ProtocolDAGResult( protocol_units=protocol_dag.protocol_units, @@ -486,7 +512,7 @@ class FileSystemWarehouse(WarehouseBaseClass): """ def __init__(self, name): - # TODO: should name and location be different? + # TODO: should name and location be allowed to be different? self.root_dir = pathlib.Path(f"{name}") setup_store = FileStorage(f"{self.root_dir}/setup") result_store = FileStorage(f"{self.root_dir}/result") diff --git a/src/openfe/tests/orchestration/test_exorcist_utils.py b/src/openfe/tests/orchestration/test_exorcist_utils.py index aea4df87f..39f3fee66 100644 --- a/src/openfe/tests/orchestration/test_exorcist_utils.py +++ b/src/openfe/tests/orchestration/test_exorcist_utils.py @@ -6,6 +6,7 @@ import networkx as nx import pytest import sqlalchemy as sqla +from gufe import AlchemicalNetwork from gufe.tokenization import GufeKey from openfe.orchestration.exorcist_utils import ( @@ -118,7 +119,7 @@ def create(self): dag.graph.add_edges_from([(unit_a, unit_b), (unit_b, unit_a)]) return dag - network = mock.Mock() + network = mock.Mock(AlchemicalNetwork) network.edges = [_Transformation()] warehouse = mock.Mock() From 1becba15ef2e081229424acd3876f221f3cb9a1d Mon Sep 17 00:00:00 2001 From: Alyssa Travitz Date: Fri, 14 Aug 2026 11:49:59 -0700 Subject: [PATCH 08/15] add example warehouse for testing --- ...otocolDAG-32c19e7ec6864e13658a8d3ca48e582d | 1 + ...otocolDAG-616ec7a89d894b5f430007cd3a3b5d49 | 1 + ...otocolDAG-72133e3079ecad750b71ca7994237228 | 1 + ...otocolDAG-b51ae0bc4944b776b4fe63f17158bac1 | 1 + ...itFailure-64e7d042322d4495a096d379660dbfeb | 1 + ...itFailure-75091d6b95ba407e82bdc58baf08f6e7 | 1 + ...itFailure-fe2e15e4888c44e6825abf8be840bd30 | 1 + ...nitResult-0f16c1cb13c44d6c8ff4ffd3fe9f6406 | 1 + ...nitResult-33e1f8b9d34146baab84734e3a16cadf | 1 + ...nitResult-4388526f592f4586a4f0cb62c6a71ef2 | 1 + ...nitResult-5b13b16ed9834a51ac7be4751e9e5dc0 | 1 + ...nitResult-78baa9b66d104c5882c27fcb151b8d81 | 1 + ...nitResult-91ea5c49ccef4a40a84baca8efe7e4c0 | 1 + ...nitResult-ac48c86b69b04a159e530c42c8008a95 | 1 + ...nitResult-b86312cf436949138a4fa959cea6bee9 | 1 + ...nitResult-c7bd47185d5549f39bfb53d4385328a5 | 1 + ...nitResult-d33eca8ebd87402985a14b4dba99da37 | 1 + ...alNetwork-f7b23b93aebaa38a4fa6282ed9a2ee9b | 1 + ...calSystem-042fade29db8a39616f5a902e2da7ae3 | 1 + ...calSystem-092349f47625178f21bc28888fc27d6a | 1 + ...calSystem-5308ba234089fbedba66a79cdc314ef0 | 1 + ...calSystem-762ce73233b2ccd593c52026afef907a | 1 + ...calSystem-c16bf392cc055620e6c0177fbca350c5 | 1 + ...calSystem-d348563501aa206907231309a902cb32 | 1 + ...omMapping-0cdd365bd42a6a6dcc223a297aeba078 | 1 + ...omMapping-f41553d7a14794ba0032735151e13492 | 1 + ...Component-ee7ec9e5f1904266e3b388963bdcfe3c | 1 + ...yProtocol-59d604ce336f12d44f6e4647a6f7e616 | 1 + ...Component-8f5b6a9848f63293c9b2361b51b466ab | 1 + ...Component-e42f2d6e8715f91ce1dd6dd3a3b62fe9 | 1 + ...Component-e5a4596e9d800367c6832564a93877f3 | 1 + ...Component-26b4034ad9dbd9f908dfc298ea8d449f | 1 + ...formation-622f1d19bea91cd47a7e478e42376305 | 1 + ...formation-a8ccb7f841aafdc860143dad3f2bd82a | 1 + ...formation-ae340a619b2794a9a3da4e72ef977885 | 1 + ...formation-d51c5a0397bfe45865a78edd1935e3b0 | 1 + ...lysisUnit-72c71598dc75432a90aed831a4e4cb24 | 1 + ...lysisUnit-7e9620845eff4575a757b1993e88d517 | 1 + ...lysisUnit-a7252f67bcd541378e9846b01ad21a5e | 1 + ...lysisUnit-e44e96bb39c947ed9d68f5c1ada6defc | 1 + ...ationUnit-15972a17ad31428280da2cc53c8a6cdc | 1 + ...ationUnit-2821f959834844a79ff406338c9e4101 | 1 + ...ationUnit-cf34ef156b844592b4e860d9f47197a8 | 1 + ...ationUnit-f94c4264ca8f483095da93f626892c1a | 1 + ...SetupUnit-0238f65b55044b1ea751447537a28f2b | 1 + ...SetupUnit-17dc05e0d79747e79d3e93e55383c9bd | 1 + ...SetupUnit-78321eda905c4c2c9f75eb69c36496da | 1 + ...SetupUnit-d568ebe569b445c7875d9b6d5ce04cd0 | 1 + src/openfe/tests/storage/test_warehouse.py | 29 +++++++++++++++++-- 49 files changed, 74 insertions(+), 3 deletions(-) create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/protocol_dags/ProtocolDAG-32c19e7ec6864e13658a8d3ca48e582d create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/protocol_dags/ProtocolDAG-616ec7a89d894b5f430007cd3a3b5d49 create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/protocol_dags/ProtocolDAG-72133e3079ecad750b71ca7994237228 create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/protocol_dags/ProtocolDAG-b51ae0bc4944b776b4fe63f17158bac1 create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitFailure-64e7d042322d4495a096d379660dbfeb create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitFailure-75091d6b95ba407e82bdc58baf08f6e7 create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitFailure-fe2e15e4888c44e6825abf8be840bd30 create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-0f16c1cb13c44d6c8ff4ffd3fe9f6406 create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-33e1f8b9d34146baab84734e3a16cadf create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-4388526f592f4586a4f0cb62c6a71ef2 create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-5b13b16ed9834a51ac7be4751e9e5dc0 create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-78baa9b66d104c5882c27fcb151b8d81 create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-91ea5c49ccef4a40a84baca8efe7e4c0 create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-ac48c86b69b04a159e530c42c8008a95 create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-b86312cf436949138a4fa959cea6bee9 create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-c7bd47185d5549f39bfb53d4385328a5 create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-d33eca8ebd87402985a14b4dba99da37 create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/setup/AlchemicalNetwork-f7b23b93aebaa38a4fa6282ed9a2ee9b create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/setup/ChemicalSystem-042fade29db8a39616f5a902e2da7ae3 create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/setup/ChemicalSystem-092349f47625178f21bc28888fc27d6a create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/setup/ChemicalSystem-5308ba234089fbedba66a79cdc314ef0 create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/setup/ChemicalSystem-762ce73233b2ccd593c52026afef907a create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/setup/ChemicalSystem-c16bf392cc055620e6c0177fbca350c5 create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/setup/ChemicalSystem-d348563501aa206907231309a902cb32 create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/setup/LigandAtomMapping-0cdd365bd42a6a6dcc223a297aeba078 create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/setup/LigandAtomMapping-f41553d7a14794ba0032735151e13492 create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/setup/ProteinComponent-ee7ec9e5f1904266e3b388963bdcfe3c create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/setup/RelativeHybridTopologyProtocol-59d604ce336f12d44f6e4647a6f7e616 create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/setup/SmallMoleculeComponent-8f5b6a9848f63293c9b2361b51b466ab create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/setup/SmallMoleculeComponent-e42f2d6e8715f91ce1dd6dd3a3b62fe9 create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/setup/SmallMoleculeComponent-e5a4596e9d800367c6832564a93877f3 create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/setup/SolventComponent-26b4034ad9dbd9f908dfc298ea8d449f create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/setup/Transformation-622f1d19bea91cd47a7e478e42376305 create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/setup/Transformation-a8ccb7f841aafdc860143dad3f2bd82a create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/setup/Transformation-ae340a619b2794a9a3da4e72ef977885 create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/setup/Transformation-d51c5a0397bfe45865a78edd1935e3b0 create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/tasks/HybridTopologyMultiStateAnalysisUnit-72c71598dc75432a90aed831a4e4cb24 create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/tasks/HybridTopologyMultiStateAnalysisUnit-7e9620845eff4575a757b1993e88d517 create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/tasks/HybridTopologyMultiStateAnalysisUnit-a7252f67bcd541378e9846b01ad21a5e create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/tasks/HybridTopologyMultiStateAnalysisUnit-e44e96bb39c947ed9d68f5c1ada6defc create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/tasks/HybridTopologyMultiStateSimulationUnit-15972a17ad31428280da2cc53c8a6cdc create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/tasks/HybridTopologyMultiStateSimulationUnit-2821f959834844a79ff406338c9e4101 create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/tasks/HybridTopologyMultiStateSimulationUnit-cf34ef156b844592b4e860d9f47197a8 create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/tasks/HybridTopologyMultiStateSimulationUnit-f94c4264ca8f483095da93f626892c1a create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/tasks/HybridTopologySetupUnit-0238f65b55044b1ea751447537a28f2b create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/tasks/HybridTopologySetupUnit-17dc05e0d79747e79d3e93e55383c9bd create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/tasks/HybridTopologySetupUnit-78321eda905c4c2c9f75eb69c36496da create mode 100644 src/openfe/tests/data/warehouse/mc1_campaign/tasks/HybridTopologySetupUnit-d568ebe569b445c7875d9b6d5ce04cd0 diff --git a/src/openfe/tests/data/warehouse/mc1_campaign/protocol_dags/ProtocolDAG-32c19e7ec6864e13658a8d3ca48e582d b/src/openfe/tests/data/warehouse/mc1_campaign/protocol_dags/ProtocolDAG-32c19e7ec6864e13658a8d3ca48e582d new file mode 100644 index 000000000..e063d041c --- /dev/null +++ b/src/openfe/tests/data/warehouse/mc1_campaign/protocol_dags/ProtocolDAG-32c19e7ec6864e13658a8d3ca48e582d @@ -0,0 +1 @@ +{":version:": 1, "__module__": "gufe.protocols.protocoldag", "__qualname__": "ProtocolDAG", "extends_key": null, "name": null, "protocol_units": [{":gufe-key:": "HybridTopologySetupUnit-d568ebe569b445c7875d9b6d5ce04cd0"}, {":gufe-key:": "HybridTopologyMultiStateSimulationUnit-2821f959834844a79ff406338c9e4101"}, {":gufe-key:": "HybridTopologyMultiStateAnalysisUnit-a7252f67bcd541378e9846b01ad21a5e"}], "transformation_key": "Transformation-a8ccb7f841aafdc860143dad3f2bd82a"} \ No newline at end of file diff --git a/src/openfe/tests/data/warehouse/mc1_campaign/protocol_dags/ProtocolDAG-616ec7a89d894b5f430007cd3a3b5d49 b/src/openfe/tests/data/warehouse/mc1_campaign/protocol_dags/ProtocolDAG-616ec7a89d894b5f430007cd3a3b5d49 new file mode 100644 index 000000000..ceed63a21 --- /dev/null +++ b/src/openfe/tests/data/warehouse/mc1_campaign/protocol_dags/ProtocolDAG-616ec7a89d894b5f430007cd3a3b5d49 @@ -0,0 +1 @@ +{":version:": 1, "__module__": "gufe.protocols.protocoldag", "__qualname__": "ProtocolDAG", "extends_key": null, "name": null, "protocol_units": [{":gufe-key:": "HybridTopologySetupUnit-78321eda905c4c2c9f75eb69c36496da"}, {":gufe-key:": "HybridTopologyMultiStateSimulationUnit-f94c4264ca8f483095da93f626892c1a"}, {":gufe-key:": "HybridTopologyMultiStateAnalysisUnit-7e9620845eff4575a757b1993e88d517"}], "transformation_key": "Transformation-d51c5a0397bfe45865a78edd1935e3b0"} \ No newline at end of file diff --git a/src/openfe/tests/data/warehouse/mc1_campaign/protocol_dags/ProtocolDAG-72133e3079ecad750b71ca7994237228 b/src/openfe/tests/data/warehouse/mc1_campaign/protocol_dags/ProtocolDAG-72133e3079ecad750b71ca7994237228 new file mode 100644 index 000000000..57ce69805 --- /dev/null +++ b/src/openfe/tests/data/warehouse/mc1_campaign/protocol_dags/ProtocolDAG-72133e3079ecad750b71ca7994237228 @@ -0,0 +1 @@ +{":version:": 1, "__module__": "gufe.protocols.protocoldag", "__qualname__": "ProtocolDAG", "extends_key": null, "name": null, "protocol_units": [{":gufe-key:": "HybridTopologySetupUnit-0238f65b55044b1ea751447537a28f2b"}, {":gufe-key:": "HybridTopologyMultiStateSimulationUnit-cf34ef156b844592b4e860d9f47197a8"}, {":gufe-key:": "HybridTopologyMultiStateAnalysisUnit-72c71598dc75432a90aed831a4e4cb24"}], "transformation_key": "Transformation-622f1d19bea91cd47a7e478e42376305"} \ No newline at end of file diff --git a/src/openfe/tests/data/warehouse/mc1_campaign/protocol_dags/ProtocolDAG-b51ae0bc4944b776b4fe63f17158bac1 b/src/openfe/tests/data/warehouse/mc1_campaign/protocol_dags/ProtocolDAG-b51ae0bc4944b776b4fe63f17158bac1 new file mode 100644 index 000000000..f6914815d --- /dev/null +++ b/src/openfe/tests/data/warehouse/mc1_campaign/protocol_dags/ProtocolDAG-b51ae0bc4944b776b4fe63f17158bac1 @@ -0,0 +1 @@ +{":version:": 1, "__module__": "gufe.protocols.protocoldag", "__qualname__": "ProtocolDAG", "extends_key": null, "name": null, "protocol_units": [{":gufe-key:": "HybridTopologySetupUnit-17dc05e0d79747e79d3e93e55383c9bd"}, {":gufe-key:": "HybridTopologyMultiStateSimulationUnit-15972a17ad31428280da2cc53c8a6cdc"}, {":gufe-key:": "HybridTopologyMultiStateAnalysisUnit-e44e96bb39c947ed9d68f5c1ada6defc"}], "transformation_key": "Transformation-ae340a619b2794a9a3da4e72ef977885"} \ No newline at end of file diff --git a/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitFailure-64e7d042322d4495a096d379660dbfeb b/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitFailure-64e7d042322d4495a096d379660dbfeb new file mode 100644 index 000000000..c747393c9 --- /dev/null +++ b/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitFailure-64e7d042322d4495a096d379660dbfeb @@ -0,0 +1 @@ +{":version:": 1, "__module__": "gufe.protocols.protocolunit", "__qualname__": "ProtocolUnitFailure", "_key": "ProtocolUnitFailure-64e7d042322d4495a096d379660dbfeb", "end_time": {":is_custom:": true, "__class__": "datetime", "__module__": "datetime", "isotime": "2026-08-14T11:25:53.636128"}, "exception": ["SimulationNaNError", ["Propagating replica 0 at state 0 resulted in a NaN!\nThe state of the system and integrator before the error were saved in mc1_campaign/shared/task_workdirs/HybridTopologyMultiStateSimulationUnit-cf34ef156b844592b4e860d9f47197a8/nan-error-logs"]], "inputs": {"generation": 0, "protocol": {":gufe-key:": "RelativeHybridTopologyProtocol-59d604ce336f12d44f6e4647a6f7e616"}, "repeat_id": 284817259896887492684538463771894716234, "setup_results": {":gufe-key:": "ProtocolUnitResult-4388526f592f4586a4f0cb62c6a71ef2"}}, "name": "HybridTopology Simulation: ligand_2 to ligand_3 repeat 0 generation 0", "outputs": {}, "source_key": "HybridTopologyMultiStateSimulationUnit-cf34ef156b844592b4e860d9f47197a8", "start_time": {":is_custom:": true, "__class__": "datetime", "__module__": "datetime", "isotime": "2026-08-14T11:25:34.771776"}, "stderr": {}, "stdout": {}, "traceback": "Traceback (most recent call last):\n File \"/Users/atravitz/micromamba/envs/openfe-exorcist/lib/python3.14/site-packages/openmmtools/multistate/multistatesampler.py\", line 1323, in _propagate_replica\n mcmc_move.apply(thermodynamic_state, sampler_state, context_cache=self.sampler_context_cache)\n ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/Users/atravitz/micromamba/envs/openfe-exorcist/lib/python3.14/site-packages/openmmtools/mcmc.py\", line 1151, in apply\n super().apply(thermodynamic_state, sampler_state,\n ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n context_cache=context_cache)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/Users/atravitz/micromamba/envs/openfe-exorcist/lib/python3.14/site-packages/openmmtools/mcmc.py\", line 755, in apply\n raise IntegratorMoveError(err_msg, self, context)\nopenmmtools.mcmc.IntegratorMoveError: Potential energy is NaN after 20 attempts of integration with move LangevinDynamicsMove\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/Users/atravitz/micromamba/envs/openfe-exorcist/lib/python3.14/site-packages/gufe/protocols/protocolunit.py\", line 367, in execute\n outputs = self._execute(context, **inputs)\n File \"/Users/atravitz/software/openfe/src/openfe/protocols/openmm_rfe/hybridtop_units.py\", line 1444, in _execute\n outputs = self.run(\n system=system,\n ...<3 lines>...\n shared_basepath=ctx.shared,\n )\n File \"/Users/atravitz/software/openfe/src/openfe/protocols/openmm_rfe/hybridtop_units.py\", line 1380, in run\n self._run_simulation(\n ~~~~~~~~~~~~~~~~~~~~^\n sampler=sampler,\n ^^^^^^^^^^^^^^^^\n ...<4 lines>...\n dry=dry,\n ^^^^^^^^\n )\n ^\n File \"/Users/atravitz/software/openfe/src/openfe/protocols/openmm_rfe/hybridtop_units.py\", line 1248, in _run_simulation\n sampler.equilibrate(int(equil_steps / mc_steps))\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/Users/atravitz/micromamba/envs/openfe-exorcist/lib/python3.14/site-packages/openmmtools/multistate/multistatesampler.py\", line 693, in equilibrate\n self._propagate_replicas()\n ~~~~~~~~~~~~~~~~~~~~~~~~^^\n File \"/Users/atravitz/micromamba/envs/openfe-exorcist/lib/python3.14/site-packages/openmmtools/utils/utils.py\", line 95, in _wrapper\n return func(*args, **kwargs)\n File \"/Users/atravitz/micromamba/envs/openfe-exorcist/lib/python3.14/site-packages/openmmtools/multistate/multistatesampler.py\", line 1296, in _propagate_replicas\n propagated_states, replica_ids = mpiplus.distribute(self._propagate_replica, range(self.n_replicas),\n ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n send_results_to=0)\n ^^^^^^^^^^^^^^^^^^\n File \"/Users/atravitz/micromamba/envs/openfe-exorcist/lib/python3.14/site-packages/mpiplus/mpiplus.py\", line 523, in distribute\n all_results = [task(job_args, *other_args, **kwargs) for job_args in distributed_args]\n ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/Users/atravitz/micromamba/envs/openfe-exorcist/lib/python3.14/site-packages/openmmtools/multistate/multistatesampler.py\", line 1334, in _propagate_replica\n raise SimulationNaNError(message)\nopenmmtools.multistate.utils.SimulationNaNError: Propagating replica 0 at state 0 resulted in a NaN!\nThe state of the system and integrator before the error were saved in mc1_campaign/shared/task_workdirs/HybridTopologyMultiStateSimulationUnit-cf34ef156b844592b4e860d9f47197a8/nan-error-logs\n"} \ No newline at end of file diff --git a/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitFailure-75091d6b95ba407e82bdc58baf08f6e7 b/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitFailure-75091d6b95ba407e82bdc58baf08f6e7 new file mode 100644 index 000000000..7b44cda2f --- /dev/null +++ b/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitFailure-75091d6b95ba407e82bdc58baf08f6e7 @@ -0,0 +1 @@ +{":version:": 1, "__module__": "gufe.protocols.protocolunit", "__qualname__": "ProtocolUnitFailure", "_key": "ProtocolUnitFailure-75091d6b95ba407e82bdc58baf08f6e7", "end_time": {":is_custom:": true, "__class__": "datetime", "__module__": "datetime", "isotime": "2026-08-14T11:26:24.404849"}, "exception": ["SimulationNaNError", ["Propagating replica 0 at state 0 resulted in a NaN!\nThe state of the system and integrator before the error were saved in mc1_campaign/shared/task_workdirs/HybridTopologyMultiStateSimulationUnit-cf34ef156b844592b4e860d9f47197a8/nan-error-logs"]], "inputs": {"generation": 0, "protocol": {":gufe-key:": "RelativeHybridTopologyProtocol-59d604ce336f12d44f6e4647a6f7e616"}, "repeat_id": 284817259896887492684538463771894716234, "setup_results": {":gufe-key:": "ProtocolUnitResult-4388526f592f4586a4f0cb62c6a71ef2"}}, "name": "HybridTopology Simulation: ligand_2 to ligand_3 repeat 0 generation 0", "outputs": {}, "source_key": "HybridTopologyMultiStateSimulationUnit-cf34ef156b844592b4e860d9f47197a8", "start_time": {":is_custom:": true, "__class__": "datetime", "__module__": "datetime", "isotime": "2026-08-14T11:26:08.770736"}, "stderr": {}, "stdout": {}, "traceback": "Traceback (most recent call last):\n File \"/Users/atravitz/micromamba/envs/openfe-exorcist/lib/python3.14/site-packages/openmmtools/multistate/multistatesampler.py\", line 1323, in _propagate_replica\n mcmc_move.apply(thermodynamic_state, sampler_state, context_cache=self.sampler_context_cache)\n ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/Users/atravitz/micromamba/envs/openfe-exorcist/lib/python3.14/site-packages/openmmtools/mcmc.py\", line 1151, in apply\n super().apply(thermodynamic_state, sampler_state,\n ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n context_cache=context_cache)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/Users/atravitz/micromamba/envs/openfe-exorcist/lib/python3.14/site-packages/openmmtools/mcmc.py\", line 755, in apply\n raise IntegratorMoveError(err_msg, self, context)\nopenmmtools.mcmc.IntegratorMoveError: Potential energy is NaN after 20 attempts of integration with move LangevinDynamicsMove\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/Users/atravitz/micromamba/envs/openfe-exorcist/lib/python3.14/site-packages/gufe/protocols/protocolunit.py\", line 367, in execute\n outputs = self._execute(context, **inputs)\n File \"/Users/atravitz/software/openfe/src/openfe/protocols/openmm_rfe/hybridtop_units.py\", line 1444, in _execute\n outputs = self.run(\n system=system,\n ...<3 lines>...\n shared_basepath=ctx.shared,\n )\n File \"/Users/atravitz/software/openfe/src/openfe/protocols/openmm_rfe/hybridtop_units.py\", line 1380, in run\n self._run_simulation(\n ~~~~~~~~~~~~~~~~~~~~^\n sampler=sampler,\n ^^^^^^^^^^^^^^^^\n ...<4 lines>...\n dry=dry,\n ^^^^^^^^\n )\n ^\n File \"/Users/atravitz/software/openfe/src/openfe/protocols/openmm_rfe/hybridtop_units.py\", line 1248, in _run_simulation\n sampler.equilibrate(int(equil_steps / mc_steps))\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/Users/atravitz/micromamba/envs/openfe-exorcist/lib/python3.14/site-packages/openmmtools/multistate/multistatesampler.py\", line 693, in equilibrate\n self._propagate_replicas()\n ~~~~~~~~~~~~~~~~~~~~~~~~^^\n File \"/Users/atravitz/micromamba/envs/openfe-exorcist/lib/python3.14/site-packages/openmmtools/utils/utils.py\", line 95, in _wrapper\n return func(*args, **kwargs)\n File \"/Users/atravitz/micromamba/envs/openfe-exorcist/lib/python3.14/site-packages/openmmtools/multistate/multistatesampler.py\", line 1296, in _propagate_replicas\n propagated_states, replica_ids = mpiplus.distribute(self._propagate_replica, range(self.n_replicas),\n ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n send_results_to=0)\n ^^^^^^^^^^^^^^^^^^\n File \"/Users/atravitz/micromamba/envs/openfe-exorcist/lib/python3.14/site-packages/mpiplus/mpiplus.py\", line 523, in distribute\n all_results = [task(job_args, *other_args, **kwargs) for job_args in distributed_args]\n ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/Users/atravitz/micromamba/envs/openfe-exorcist/lib/python3.14/site-packages/openmmtools/multistate/multistatesampler.py\", line 1334, in _propagate_replica\n raise SimulationNaNError(message)\nopenmmtools.multistate.utils.SimulationNaNError: Propagating replica 0 at state 0 resulted in a NaN!\nThe state of the system and integrator before the error were saved in mc1_campaign/shared/task_workdirs/HybridTopologyMultiStateSimulationUnit-cf34ef156b844592b4e860d9f47197a8/nan-error-logs\n"} \ No newline at end of file diff --git a/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitFailure-fe2e15e4888c44e6825abf8be840bd30 b/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitFailure-fe2e15e4888c44e6825abf8be840bd30 new file mode 100644 index 000000000..24393b363 --- /dev/null +++ b/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitFailure-fe2e15e4888c44e6825abf8be840bd30 @@ -0,0 +1 @@ +{":version:": 1, "__module__": "gufe.protocols.protocolunit", "__qualname__": "ProtocolUnitFailure", "_key": "ProtocolUnitFailure-fe2e15e4888c44e6825abf8be840bd30", "end_time": {":is_custom:": true, "__class__": "datetime", "__module__": "datetime", "isotime": "2026-08-14T11:26:08.727990"}, "exception": ["SimulationNaNError", ["Propagating replica 0 at state 0 resulted in a NaN!\nThe state of the system and integrator before the error were saved in mc1_campaign/shared/task_workdirs/HybridTopologyMultiStateSimulationUnit-cf34ef156b844592b4e860d9f47197a8/nan-error-logs"]], "inputs": {"generation": 0, "protocol": {":gufe-key:": "RelativeHybridTopologyProtocol-59d604ce336f12d44f6e4647a6f7e616"}, "repeat_id": 284817259896887492684538463771894716234, "setup_results": {":gufe-key:": "ProtocolUnitResult-4388526f592f4586a4f0cb62c6a71ef2"}}, "name": "HybridTopology Simulation: ligand_2 to ligand_3 repeat 0 generation 0", "outputs": {}, "source_key": "HybridTopologyMultiStateSimulationUnit-cf34ef156b844592b4e860d9f47197a8", "start_time": {":is_custom:": true, "__class__": "datetime", "__module__": "datetime", "isotime": "2026-08-14T11:25:53.680247"}, "stderr": {}, "stdout": {}, "traceback": "Traceback (most recent call last):\n File \"/Users/atravitz/micromamba/envs/openfe-exorcist/lib/python3.14/site-packages/openmmtools/multistate/multistatesampler.py\", line 1323, in _propagate_replica\n mcmc_move.apply(thermodynamic_state, sampler_state, context_cache=self.sampler_context_cache)\n ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/Users/atravitz/micromamba/envs/openfe-exorcist/lib/python3.14/site-packages/openmmtools/mcmc.py\", line 1151, in apply\n super().apply(thermodynamic_state, sampler_state,\n ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n context_cache=context_cache)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/Users/atravitz/micromamba/envs/openfe-exorcist/lib/python3.14/site-packages/openmmtools/mcmc.py\", line 755, in apply\n raise IntegratorMoveError(err_msg, self, context)\nopenmmtools.mcmc.IntegratorMoveError: Potential energy is NaN after 20 attempts of integration with move LangevinDynamicsMove\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/Users/atravitz/micromamba/envs/openfe-exorcist/lib/python3.14/site-packages/gufe/protocols/protocolunit.py\", line 367, in execute\n outputs = self._execute(context, **inputs)\n File \"/Users/atravitz/software/openfe/src/openfe/protocols/openmm_rfe/hybridtop_units.py\", line 1444, in _execute\n outputs = self.run(\n system=system,\n ...<3 lines>...\n shared_basepath=ctx.shared,\n )\n File \"/Users/atravitz/software/openfe/src/openfe/protocols/openmm_rfe/hybridtop_units.py\", line 1380, in run\n self._run_simulation(\n ~~~~~~~~~~~~~~~~~~~~^\n sampler=sampler,\n ^^^^^^^^^^^^^^^^\n ...<4 lines>...\n dry=dry,\n ^^^^^^^^\n )\n ^\n File \"/Users/atravitz/software/openfe/src/openfe/protocols/openmm_rfe/hybridtop_units.py\", line 1248, in _run_simulation\n sampler.equilibrate(int(equil_steps / mc_steps))\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/Users/atravitz/micromamba/envs/openfe-exorcist/lib/python3.14/site-packages/openmmtools/multistate/multistatesampler.py\", line 693, in equilibrate\n self._propagate_replicas()\n ~~~~~~~~~~~~~~~~~~~~~~~~^^\n File \"/Users/atravitz/micromamba/envs/openfe-exorcist/lib/python3.14/site-packages/openmmtools/utils/utils.py\", line 95, in _wrapper\n return func(*args, **kwargs)\n File \"/Users/atravitz/micromamba/envs/openfe-exorcist/lib/python3.14/site-packages/openmmtools/multistate/multistatesampler.py\", line 1296, in _propagate_replicas\n propagated_states, replica_ids = mpiplus.distribute(self._propagate_replica, range(self.n_replicas),\n ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n send_results_to=0)\n ^^^^^^^^^^^^^^^^^^\n File \"/Users/atravitz/micromamba/envs/openfe-exorcist/lib/python3.14/site-packages/mpiplus/mpiplus.py\", line 523, in distribute\n all_results = [task(job_args, *other_args, **kwargs) for job_args in distributed_args]\n ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/Users/atravitz/micromamba/envs/openfe-exorcist/lib/python3.14/site-packages/openmmtools/multistate/multistatesampler.py\", line 1334, in _propagate_replica\n raise SimulationNaNError(message)\nopenmmtools.multistate.utils.SimulationNaNError: Propagating replica 0 at state 0 resulted in a NaN!\nThe state of the system and integrator before the error were saved in mc1_campaign/shared/task_workdirs/HybridTopologyMultiStateSimulationUnit-cf34ef156b844592b4e860d9f47197a8/nan-error-logs\n"} \ No newline at end of file diff --git a/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-0f16c1cb13c44d6c8ff4ffd3fe9f6406 b/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-0f16c1cb13c44d6c8ff4ffd3fe9f6406 new file mode 100644 index 000000000..ce1996b17 --- /dev/null +++ b/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-0f16c1cb13c44d6c8ff4ffd3fe9f6406 @@ -0,0 +1 @@ +{":version:": 1, "__module__": "gufe.protocols.protocolunit", "__qualname__": "ProtocolUnitResult", "_key": "ProtocolUnitResult-0f16c1cb13c44d6c8ff4ffd3fe9f6406", "end_time": {":is_custom:": true, "__class__": "datetime", "__module__": "datetime", "isotime": "2026-08-14T11:19:22.058604"}, "inputs": {"alchemical_components": {"stateA": [{":gufe-key:": "SmallMoleculeComponent-e5a4596e9d800367c6832564a93877f3"}], "stateB": [{":gufe-key:": "SmallMoleculeComponent-8f5b6a9848f63293c9b2361b51b466ab"}]}, "generation": 0, "ligandmapping": {":gufe-key:": "LigandAtomMapping-f41553d7a14794ba0032735151e13492"}, "protocol": {":gufe-key:": "RelativeHybridTopologyProtocol-59d604ce336f12d44f6e4647a6f7e616"}, "repeat_id": 169760174163788586857416122335155600493, "stateA": {":gufe-key:": "ChemicalSystem-042fade29db8a39616f5a902e2da7ae3"}, "stateB": {":gufe-key:": "ChemicalSystem-d348563501aa206907231309a902cb32"}}, "name": "HybridTopology Setup: ligand_1 to ligand_2 repeat 0 generation 0", "outputs": {"alchemical_resnames": ["LIG"], "generation": 0, "gufe_version": "1.12.1.dev15+g0b0edd955", "openfe_version": "1.12.1.dev34+g25c448160.d20260814", "openmm_version": "8.4", "pdb_structure": {":is_custom:": true, "__class__": "PosixPath", "__module__": "pathlib", "path": "mc1_campaign/shared/task_workdirs/HybridTopologySetupUnit-78321eda905c4c2c9f75eb69c36496da/hybrid_system.pdb"}, "positions": {":is_custom:": true, "__class__": "PosixPath", "__module__": "pathlib", "path": "mc1_campaign/shared/task_workdirs/HybridTopologySetupUnit-78321eda905c4c2c9f75eb69c36496da/hybrid_positions.npy"}, "repeat_id": 169760174163788586857416122335155600493, "selection_indices": {":is_custom:": true, "__class__": "ndarray", "__module__": "numpy", "bytes": {":is_custom:": true, "__class__": "bytes", "__module__": "builtins", "latin-1": "(\u00b5/\u00fd \u00b8\r\u0003\u0000$\u0003\u0000\u0000\u0001\u0000\u0002\u0000\u0003\u0000\u0004\u0000\u0005\u0000\u0006\u0000\u0007\u0000\b\u0000\t\u0000\n\u0000\u000b\u0000\f\u0000\r\u0000\u000e\u0000\u000f\u0000\u0010\u0000\u00fb\u0006\u00fc\u0006\u00fd\u0006\u00fe\u0006\u00ff\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0016\u0000``00\u0018\u0018\u0006R!\u0007\u00901\u0018\u0018\f\f\u0006\u0006\u0003\u0083\u0081\u00c1\u00c0``00\u0018\u0018\f\f\u0006\u0006\u0003\u0083\u0081\u00c1\u00c0`\u00e0\u0001`\u0001"}, "dtype": "int64", "shape": [23]}, "system": {":is_custom:": true, "__class__": "PosixPath", "__module__": "pathlib", "path": "mc1_campaign/shared/task_workdirs/HybridTopologySetupUnit-78321eda905c4c2c9f75eb69c36496da/hybrid_system.xml.bz2"}}, "source_key": "HybridTopologySetupUnit-78321eda905c4c2c9f75eb69c36496da", "start_time": {":is_custom:": true, "__class__": "datetime", "__module__": "datetime", "isotime": "2026-08-14T11:19:21.184064"}, "stderr": {}, "stdout": {}} \ No newline at end of file diff --git a/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-33e1f8b9d34146baab84734e3a16cadf b/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-33e1f8b9d34146baab84734e3a16cadf new file mode 100644 index 000000000..402fd7ed8 --- /dev/null +++ b/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-33e1f8b9d34146baab84734e3a16cadf @@ -0,0 +1 @@ +{":version:": 1, "__module__": "gufe.protocols.protocolunit", "__qualname__": "ProtocolUnitResult", "_key": "ProtocolUnitResult-33e1f8b9d34146baab84734e3a16cadf", "end_time": {":is_custom:": true, "__class__": "datetime", "__module__": "datetime", "isotime": "2026-08-14T11:19:16.238196"}, "inputs": {"alchemical_components": {"stateA": [{":gufe-key:": "SmallMoleculeComponent-e5a4596e9d800367c6832564a93877f3"}], "stateB": [{":gufe-key:": "SmallMoleculeComponent-8f5b6a9848f63293c9b2361b51b466ab"}]}, "generation": 0, "ligandmapping": {":gufe-key:": "LigandAtomMapping-f41553d7a14794ba0032735151e13492"}, "protocol": {":gufe-key:": "RelativeHybridTopologyProtocol-59d604ce336f12d44f6e4647a6f7e616"}, "repeat_id": 223213012988507154361364807974423595914, "stateA": {":gufe-key:": "ChemicalSystem-092349f47625178f21bc28888fc27d6a"}, "stateB": {":gufe-key:": "ChemicalSystem-c16bf392cc055620e6c0177fbca350c5"}}, "name": "HybridTopology Setup: ligand_1 to ligand_2 repeat 0 generation 0", "outputs": {"alchemical_resnames": ["LIG"], "generation": 0, "gufe_version": "1.12.1.dev15+g0b0edd955", "openfe_version": "1.12.1.dev34+g25c448160.d20260814", "openmm_version": "8.4", "pdb_structure": {":is_custom:": true, "__class__": "PosixPath", "__module__": "pathlib", "path": "mc1_campaign/shared/task_workdirs/HybridTopologySetupUnit-d568ebe569b445c7875d9b6d5ce04cd0/hybrid_system.pdb"}, "positions": {":is_custom:": true, "__class__": "PosixPath", "__module__": "pathlib", "path": "mc1_campaign/shared/task_workdirs/HybridTopologySetupUnit-d568ebe569b445c7875d9b6d5ce04cd0/hybrid_positions.npy"}, "repeat_id": 223213012988507154361364807974423595914, "selection_indices": {":is_custom:": true, "__class__": "ndarray", "__module__": "numpy", "bytes": {":is_custom:": true, "__class__": "bytes", "__module__": "builtins", "latin-1": "(\u00b5/\u00fd`\u0018N\u00ad\u0087\u0000j9iA\u001c\u0010\u0018<\f\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u00000\u0000\u0000\u0000P\u0002\u0000\u00004\u0093R\u00a6\u0094RJ)\u00ef\u0003\u00f6\u0003\u0004\u0004sV\u00ce\u00c6Y8\u00fbf\u00ddl\u009be\u00b3kV\u00cd\u00ee6\u00cd\u00a2\u00d93kf\u00cb,\u0099\u001d\u00b3b6\u00cc\u0082\u00d9/\u00ebe\u00bb,\u0097\u00dd\u00b2Z6\u00cbb\u00d9+ke\u00ab,\u0095\u009d\u00b2R6\u00caB\u00d9'\u00ebd\u009b,\u0093]\u00b2J6\u00c9\"\u00d9#kd\u008b,\u0091\u001d\u00b2B6\u00c8\u0002\u00d9\u001f\u00ebc{,\u008f\u00dd\u00b1:6\u00c7\u00e2\u00d8\u001bkck,\u008d\u009d\u00b126\u00c6\u00c2\u00d8\u0017\u00ebb[,\u008b]\u00b1*6\u00c5\u00a2\u00d8\u0013kbK,\u0089\u001d\u00b1\"6\u00c4\u0082\u00d8\u000f\u00eba;,\u0087\u00dd\u00b0\u001a6\u00c3b\u00d8\u000bka+,\u0085\u009d\u00b0\u00126\u00c2B\u00d8\u0007\u00eb`\u001b,\u0083]\u00b0\n6\u00c1\u00c6\u0085\u00fb\u00f6\u00d7\u00b7\u0097wW#P\b\u00f4\u0001u@\u001bP\u0006t\u0001U@\u0013P\u0004\u00f4\u00005@\u000bP\u0002t\u0000\u0015@\u0003P\u0000t\u009d\u00aa\u00d3t\u008aN\u00cf\u00a99-\u00a7\u00e4t\u009c\u008a\u00d3p\nN\u00bf\u00a97\u00ed\u00a6\u00dct\u009bj\u00d3l\u008aM\u00af\u00a95\u00ad\u00a6\u00d4t\u009aJ\u00d3h\nM\u009f\u00a93m\u00a6\u00cct\u0099*\u00d3d\u008aL\u008f\u00a91-\u00a6\u00c4t\u0098\n\u00d3`\nL\u007f\u00a9/\u00ed\u00a5\u00bct\u0097\u00ea\u00d2\\\u008aKo\u00a9-\u00ad\u00a5\u00b4t\u0096\u00ca\u00d2X\nK_\u00a9+m\u00a5\u00act\u0095\u00aa\u00d2T\u008aJO\u00a9)-\u00a5\u00a4t\u0094\u008a\u00d2P\nJ?\u00a9'\u00ed\u00a4\u009ct\u0093j\u00d2L\u008aI/\u00a9%\u00ad\u00a4\u0094t\u0092J\u00d2H\nI\u001f\u00a9#m\u00a4\u008ct\u0091*\u00d2D\u008aH\u000f\u00a9!-\u00a4\u0084t\u0090\n\u00d2@\nH\u00ff\u00a8\u001f\u00ed\u00a3|t\u008f\u00ea\u00d1<\u008aG\u00ef\u00a8\u001d\u00ad\u00a3tt\u008e\u00ca\u00d18\nG\u00df\u00a8\u001bm\u00a3lt\u008d\u00aa\u00d1\u009d\u00a6Q4zF\u00cdh\u0019%\u00a3cT\u008c\u0086Q0\u00faE\u00bdh\u0017\u00e5\u00a2[T\u008bfQ,zE\u00adh\u0015\u00a5\u00a2ST\u008aFQ(\u00faD\u009dh\u0013e\u00a2KT\u0089&Q$zD\u008dh\u0011%\u00a2CT\u0088\u0006Q \u00faC}h\u000f\u00e5\u00a1;T\u0087\u00e6P\u001czCmh\r\u00a5\u00a13T\u0086\u00c6P\u0018\u00faB]h\u000be\u00a1+T\u0085\u00a6P\u0014zBMh\t%\u00a1#T\u0084\u0086P\u0010\u00faA=h\u0007\u00e5\u00a0\u001bT\u0083fP\fzA-h\u0005\u00a5\u00a0\u0013T\u0082FP\b\u00fa@\u001dh\u0003e\u00a0\u000bT\u0081&\u00d0\u00a8P\u009f\u00be\u00ba\u00b6\u00b2\u00aejF\u0090\u0010\u00e4\u0003\u00e9@6\u0090\f\u00e4\u0002\u00a9@&\u0090\b\u00e4\u0001i@\u0016\u0090\u0004\u00e4\u0000)@\u0006\u0090\u0000\u00e4\u00baT\u0097\u00e9\u0012]\u009eKsY.\u00c9\u00e5\u00b8\u0014\u0097\u00e1\u0012\\~Ko\u00d9-\u00b9\u00e5\u00b6\u00d4\u0096\u00d9\u0012[^KkY-\u00a9\u00e5\u00b4\u0094\u0096\u00d1\u0012Z>Kg\u00d9,\u0099\u00e5\u00b2T\u0096\u00c9\u0012Y\u001eKcY,\u0089\u00e5\u00b0\u0014\u0096\u00c1\u0012X\u00feJ_\u00d9+y\u00e5\u00ae\u00d4\u0095\u00b9\u0012W\u00deJ[Y+i\u00e5\u00ac\u0094\u0095\u00b1\u0012V\u00beJW\u00d9*Y\u00e5\u00aaT\u0095\u00a9\u0012U\u009eJSY*I\u00e5\u00a8\u0014\u0095\u00a1\u0012T~JO\u00d9)9\u00e5\u00a6\u00d4\u0094\u0099\u0012S^JKY))\u00e5\u00a4\u0094\u0094\u0091\u0012R>JG\u00d9(\u0019\u00e5\u00a2T\u0094\u0089\u0012Q\u001eJCY(\t\u00e5\u00a0\u0014\u0094\u0081\u0012P\u00feI?\u00d9'\u00f9\u00e4\u009e\u00d4\u0093y\u0012O\u00deI;Y'\u00e9\u00e4\u009c\u0094\u0093q\u0012N\u00beI7\u00d9&\u00d9\u00e4\u009aT\u0093\u00bbL\u0093h\u00f2L\u009a\u00c92I&\u00c7\u00a4\u0098\f\u0093`\u00f2Kz\u00c9.\u00c9%\u00b7\u00a4\u0096\u00cc\u0092X\u00f2JZ\u00c9*I%\u00a7\u00a4\u0094\u008c\u0092P\u00f2I:\u00c9&\u00c9$\u0097\u00a4\u0092L\u0092H\u00f2H\u001a\u00c9\"I$\u0087\u00a4\u0090\f\u0092@\u00f2G\u00fa\u00c8\u001e\u00c9#w\u00a4\u008e\u00cc\u00918\u00f2F\u00da\u00c8\u001aI#g\u00a4\u008c\u008c\u00910\u00f2E\u00ba\u00c8\u0016\u00c9\"W\u00a4\u008aL\u0091(\u00f2D\u009a\u00c8\u0012I\"G\u00a4\u0088\f\u0091 \u00f2Cz\u00c8\u000e\u00c9!7\u00a4\u0086\u00cc\u0090\u0018\u00f2BZ\u00c8\nI!'\u00a4\u0084\u008c\u0090\u0010\u00f2A:\u00c8\u0006\u00c9 \u0017\u00a4\u0082L\u00901a\u00be\u00fc\u00f4\u00ec\u00e4\u00dc\u00d4\u00cc\u00ad\u00ae\u00d35\u00ba>\u00d7\u00e6\u00ba\\\u0093\u00ebq-\u00ae\u00c35\u00b8\u00fe\u00d6\u00de\u00ba[s\u00ebm\u00ad\u00ad\u00b35\u00b6\u00be\u00d6\u00d6\u00baZS\u00ebi-\u00ad\u00a35\u00b4~\u00d6\u00ce\u00baY3\u00ebe\u00ad\u00ac\u00935\u00b2>\u00d6\u00c6\u00baX\u0013\u00eba-\u00ac\u00835\u00b0\u00fe\u00d5\u00be\u00baW\u00f3\u00ea]\u00ad\u00abs5\u00ae\u00be\u00d5\u00b6\u00baV\u00d3\u00eaY-\u00abc5\u00ac~\u00d5\u00ae\u00baU\u00b3\u00eaU\u00ad\u00aaS5\u00aa>\u00d5\u00a6\u00baT\u0093\u00eaQ-\u00aaC5\u00a8\u00fe\u00d4\u009e\u00baSs\u00eaM\u00ad\u00a935\u00a6\u00be\u00d4\u0096\u00baRS\u00eaI-\u00a9#5\u00a4~\u00d4\u008e\u00baQ3\u00eaE\u00ad\u00a8\u00135\u00a2>\u00d4\u0086\u00baP\u0013\u00eaA-\u00a8\u00035\u00a0\u00fe\u00d3~\u00baO\u00f3\u00e9=\u00ad\u00a7\u00f34\u009e\u00be\u00d3v\u00baN\u00d3\u00e99-\u00a7\u00e34\u009c~\u00d3n\u00baM\u00b3\u00e95\u00ad\u00a6w\u009d\u00a6\u00d1\u00f4\u00996\u00d3e\u009aL\u008fi1\u001d\u00a6\u00c1\u00f4\u0097\u00f6\u00d2]\u009aKoi-\u009d\u00a5\u00b1\u00f4\u0095\u00b6\u00d2U\u009aJOi)\u001d\u00a5\u00a1\u00f4\u0093v\u00d2M\u009aI/i%\u009d\u00a4\u0091\u00f4\u00916\u00d2E\u009aH\u000fi!\u001d\u00a4\u0081\u00f4\u008f\u00f6\u00d1=\u009aG\u00efh\u001d\u009d\u00a3q\u00f4\u008d\u00b6\u00d15\u009aF\u00cfh\u0019\u001d\u00a3a\u00f4\u008bv\u00d1-\u009aE\u00afh\u0015\u009d\u00a2Q\u00f4\u00896\u00d1%\u009aD\u008fh\u0011\u001d\u00a2A\u00f4\u0087\u00f6\u00d0\u001d\u009aCoh\r\u009d\u00a11\u00f4\u0085\u00b6\u00d0\u0015\u009aBOh\t\u001d\u00a1!\u00f4\u0083v\u00d0\r\u009aA/h\u0005\u009d\u00a0c\u00c3~\u00fd\u00ed\u00dd\u00cd\u00bd\u00ad\u0011@\u00f0\u0000;\u00c0\r0\u0003\u00bc\u0000+\u00c0\t0\u0002|\u0000\u001b\u00c0\u00050\u0001<\u0000\u000b\u00c0\u00010\u0000\u00bc\u008e\u00d5q:F\u00c7\u00e7\u00d8\u001c\u0097cr<\u008e\u00c5q8\u0006\u00c7\u00df\u00d8\u001bwcn\u00bc\u008d\u00b5q6\u00c6\u00c6\u00d7\u00d8\u001aWcj<\u008d\u00a5q4\u0086\u00c6\u00cf\u00d8\u00197cf\u00bc\u008c\u0095q2F\u00c6\u00c7\u00d8\u0018\u0017cb<\u008c\u0085q0\u0006\u00c6\u00bf\u00d8\u0017\u00f7b^\u00bc\u008buq.\u00c6\u00c5\u00b7\u00d8\u0016\u00d7bZ<\u008beq,\u0086\u00c5\u00af\u00d8\u0015\u00b7bV\u00bc\u008aUq*F\u00c5\u00a7\u00d8\u0014\u0097bR<\u008aEq(\u0006\u00c5\u009f\u00d8\u0013wbN\u00bc\u00895q&\u00c6\u00c4\u0097\u00d8\u0012WbJ<\u0089%q$\u0086\u00c4\u008f\u00d8\u00117bF\u00bc\u0088\u0015q\"F\u00c4\u0087\u00d8\u0010\u0017bB<\u0088\u0005q \u0006\u00c4\u007f\u00d8\u000f\u00f7a>\u00bc\u0087\u00f5p\u001e\u00c6\u00c3w\u00d8\u000e\u00d7a:<\u0087\u00e5p\u001c\u0086\u00c3o\u00d8\r\u00b7a6\u00bc\u0086\u00d5\u00f0\u008e\u00d30\u001a>\u00c3f\u00b8\f\u0093\u00e11,\u0086\u00c30\u0018\u00fe\u00c2^\u00b8\u000bs\u00e1-\u00ac\u0085\u00b30\u0016\u00be\u00c2V\u00b8\nS\u00e1),\u0085\u00a30\u0014~\u00c2N\u00b8\t3\u00e1%\u00ac\u0084\u00930\u0012>\u00c2F\u00b8\b\u0013\u00e1!,\u0084\u00830\u0010\u00fe\u00c1>\u00b8\u0007\u00f3\u00e0\u001d\u00ac\u0083s0\u000e\u00be\u00c16\u00b8\u0006\u00d3\u00e0\u0019,\u0083c0\f~\u00c1.\u00b8\u0005\u00b3\u00e0\u0015\u00ac\u0082S0\n>\u00c1&\u00b8\u0004\u0093\u00e0\u0011,\u0082C0\b\u00fe\u00c0\u001e\u00b8\u0003s\u00e0\r\u00ac\u008130\u0006\u00be\u00c0\u0016\u00b8\u0002S\u00e0\t,\u0081#0\u0004~\u00c0\u000e\u00b8\u00013\u00e0\u0005\u00ac\u0080\u0013pd\u00c8\u008f\u009f\u009d\u009b\u0099\u00975\u0002\b\u00f6\u0081u`\u001bX\u0006v\u0081U`\u0013X\u0004\u00f6\u00805`\u000bX\u0002v\u0080\u0015`\u0003X\u0000v\u00dd\u00aa\u00dbt\u008bn\u00cf\u00ad\u00b9-\u00b7\u00e4v\u00dc\u008a\u00dbp\u000bn\u00bf\u00ad\u00b7\u00ed\u00b6\u00dcv\u00dbj\u00dbl\u008bm\u00af\u00ad\u00b5\u00ad\u00b6\u00d4v\u00daJ\u00dbh\u000bm\u009f\u00ad\u00b3m\u00b6\u00ccv\u00d9*\u00dbd\u008bl\u008f\u00ad\u00b1-\u00b6\u00c4v\u00d8\n\u00db`\u000bl\u007f\u00ad\u00af\u00ed\u00b5\u00bcv\u00d7\u00ea\u00da\\\u008bko\u00ad\u00ad\u00ad\u00b5\u00b4v\u00d6\u00ca\u00daX\u000bk_\u00ad\u00abm\u00b5\u00acv\u00d5\u00aa\u00daT\u008bjO\u00ad\u00a9-\u00b5\u00a4v\u00d4\u008a\u00daP\u000bj?\u00ad\u00a7\u00ed\u00b4\u009cv\u00d3j\u00daL\u008bi/\u00ad\u00a5\u00ad\u00b4\u0094v\u00d2J\u00daH\u000bi\u001f\u00ad\u00a3m\u00b4\u008cv\u00d1*\u00daD\u008bh\u000f\u00ad\u00a1-\u00b4\u0084v\u00d0\n\u00da@\u000bh\u00ff\u00ac\u009f\u00ed\u00b3|v\u00cf\u00ea\u00d9<\u008bg\u00ef\u00ac\u009d\u00ad\u00b3t6i\u001e\u009aw\u00e6\u0099ye\u001e\u00997\u00e6\u0089ya\u001e\u0098\u00f7\u00e5yy]\u001e\u0097\u00b7\u00e5iyY\u001e\u0096w\u00e5YyU\u001e\u00957\u00e5IyQ\u001e\u0094\u00f7\u00e49yM\u001e\u0093\u00b7\u00e4)yI\u001e\u0092w\u00e4\u0019yE\u001e\u00917\u00e4\tyA\u001e\u0090\u00f7\u00e3\u00f9x=\u001e\u008f\u00b7\u00e3\u00e9x9\u001e\u008ew\u00e3\u00d9x5\u001e\u008d7\u00e3\u00c9x1\u001e\u008c\u00f7\u00e2\u00b9x-\u001e\u008b\u00b7\u00e2\u00a9x)\u001e\u008aw\u00e2\u0099x%\u001e\u00897\u00e2\u0089x!\u001e\u0088\u00f7\u00e1yx\u001d\u001e\u0087\u00b7\u00e1ix\u0019\u001e\u0086w\u00e1Yx\u0015\u001e\u00857\u00e1Ix\u0011\u001e\u0084\u00f7\u00e09x\r\u001e\u0083\u00b7\u00e0)x\t^|\u00f0\u00bd\u00f7\u00cf_?~\u00fb4\u0002\b\u001ep\u00a0\u0001\u0006~\u0081W\u00e0\u0013x\u0004\u00fe\u00807\u00e0\u000bx\u0002~\u0080\u0017\u00e0\u0003x\u0000~\u00dd\u00ab\u00fbt\u008f\u00ee\u00cf\u00bd\u00b9/\u00f7\u00e4~\u00dc\u008b\u00fbp\u000f\u00ee\u00bf\u00bd\u00b7\u00ef\u00f6\u00dc~\u00dbk\u00fbl\u008f\u00ed\u00af\u00bd\u00b5\u00af\u00f6\u00d4~\u00daK\u00fbh\u000f\u00ed\u009f\u00bd\u00b3o\u00f6\u00cc~\u00d9+\u00fbd\u008f\u00ec\u008f\u00bd\u00b1/\u00f6\u00c4~\u00d8\u000b\u00fb`\u000f\u00ec\u007f\u00bd\u00af\u00ef\u00f5\u00bc~\u00d7\u00eb\u00fa\\\u008f\u00ebo\u00bd\u00ad\u00af\u00f5\u00b4~\u00d6\u00cb\u00faX\u000f\u00eb_\u00bd\u00abo\u00f5\u00ac~\u00d5\u00ab\u00faT\u008f\u00eaO\u00bd\u00a9/\u00f5\u00a4~\u00d4\u008b\u00faP\u000f\u00ea?\u00bd\u00a7\u00ef\u00f4\u009c~\u00d3k\u00faL\u008f\u00e9/\u00bd\u00a5\u00af\u00f4\u0094~\u00d2K\u00faH\u000f\u00e9\u001f\u00bd\u00a3o\u00f4\u008c~\u00d1+\u00faD\u008f\u00e8\u000f\u00bd\u00a1/\u00f4\u0084~\u00d0\u000b\u00fa@\u000f\u00e8\u00ff\u00bc\u009f\u00ef\u00f3|~\u00cf\u00eb\u00f9<\u008f\u00e7\u00ef\u00bc\u009d\u00af\u00f3t~\u00ce\u00cb\u00f98\u000f\u00e7\u00df\u00bc\u009bo\u00f3l~\u00cd\u00ab\u00f9\u00dd\u00a7y4\u007f\u00e6\u00cd|\u0099'\u00f3c^\u00cc\u0087y0\u00ff\u00e5\u00bd|\u0097\u00e7\u00f2[^\u00cbgy,\u007f\u00e5\u00ad|\u0095\u00a7\u00f2S^\u00caGy(\u00ff\u00e4\u009d|\u0093g\u00f2K^\u00c9'y$\u007f\u00e4\u008d|\u0091'\u00f2C^\u00c8\u0007y \u00ff\u00e3}|\u008f\u00e7\u00f1;^\u00c7\u00e7x\u001c\u007f\u00e3m|\u008d\u00a7\u00f13^\u00c6\u00c7x\u0018\u00ff\u00e2]|\u008bg\u00f1+^\u00c5\u00a7x\u0014\u007f\u00e2M|\u0089'\u00f1#^\u00c4\u0087x\u0010\u00ff\u00e1=|\u0087\u00e7\u00f0\u001b^\u00c3gx\f\u007f\u00e1-|\u0085\u00a7\u00f0\u0013^\u00c2Gx\b\u00ff\u00e0\u001d|\u0083g\u00f0\u000b^\u00c1'\u00f8\u00f8\u00f0\u00df\u00ff\u00fb\u00f7\u00f3\u00efk\u0004\u0010<\u00e0@\u0003\u00ce\u0080/\u00e0\nx\u0002\u008e\u0080\u001f\u00e0\u0006x\u0001N\u0080\u000f\u00e0\u0002x\u0000\u000e\u0080\u00afsu\u009e\u00ce\u00d1\u00f997\u00e7\u00e5\u009c\u009c\u008fsq\u001e\u00ce\u00c1\u00f97\u00f7\u00e6\u00dd\u009c\u009bosm\u009e\u00cd\u00b1\u00f95\u00b7\u00e6\u00d5\u009c\u009aOsi\u001e\u00cd\u00a1\u00f93w\u00e6\u00cd\u009c\u0099/se\u009e\u00cc\u0091\u00f917\u00e6\u00c5\u009c\u0098\u000fsa\u001e\u00cc\u0081\u00f9/\u00f7\u00e5\u00bd\u009c\u0097\u00efr]\u009e\u00cbq\u00f9-\u00b7\u00e5\u00b5\u009c\u0096\u00cfrY\u001e\u00cba\u00f9+w\u00e5\u00ad\u009c\u0095\u00afrU\u009e\u00caQ\u00f9)7\u00e5\u00a5\u009c\u0094\u008frQ\u001e\u00caA\u00f9'\u00f7\u00e4\u009d\u009c\u0093orM\u009e\u00c91\u00f9%\u00b7\u00e4\u0095\u009c\u0092OrI\u001e\u00c9!\u00f9#w\u00e4\u008d\u009c\u0091/rE\u009e\u00c8\u0011\u00f9!7\u00e4\u0085\u009c\u0090\u000frA\u001e\u00c8\u0001\u00f9\u001f\u00f7\u00e3}\u009c\u008f\u00efq=\u009e\u00c7\u00f1\u00f8\u001d\u00b7\u00e3u\u009c\u008e\u00cfq9\u001e\u00c7\u00e1\u00f8\u001bw\u00e3m\u009c\u008d\u00afq5\u00be\u00f34\u008e\u00c6\u00cf\u00b8\u0019/\u00e3d|\u008c\u008b\u00f10\u000e\u00c6\u00bf\u00b8\u0017\u00ef\u00e2\\|\u008bk\u00f1,\u008e\u00c5\u00af\u00b8\u0015\u00af\u00e2T|\u008aK\u00f1(\u000e\u00c5\u009f\u00b8\u0013o\u00e2L|\u0089+\u00f1$\u008e\u00c4\u008f\u00b8\u0011/\u00e2D|\u0088\u000b\u00f1 \u000e\u00c4\u007f\u00b8\u000f\u00ef\u00e1<|\u0087\u00eb\u00f0\u001c\u008e\u00c3o\u00b8\r\u00af\u00e14|\u0086\u00cb\u00f0\u0018\u000e\u00c3_\u00b8\u000bo\u00e1,|\u0085\u00ab\u00f0\u0014\u008e\u00c2O\u00b8\t/\u00e1$|\u0084\u008b\u00f0\u0010\u000e\u00c2?\u00b8\u0007\u00ef\u00e0\u001c|\u0083k\u00f0\f\u008e\u00c1/\u00b8\u0005\u00af\u00e0\u0014|\u0082K\u00f0\b\u000e\u00c1\u001f\u00b8\u0003o\u00e0\f|\u0081+\u00f0\u0004\u001e\u001d\u00fa\u00f3w\u00f7v\u00f6u\u008d\u0000\u0082\u0007\u001c\u00e8\u0006\u009a\u0081^\u00a0\u0015\u00e8\u0004\u001a\u0081>\u00a0\r\u00e8\u0002\u009a\u0080\u001e\u00a0\u0005\u00e8\u0000\u001a\u0080^\u0017\u0099\u0099\u0099;@\u00bb?;?\u00bb>;>\u00bb=;=\u00bb<;<\u00bb;;;\u00bb:;:\u00bb9;9\u00bb8;8\u00bb7;7\u00bb6;6\u00bb5;5\u00bb\u00dd.\u00cd\u000e\u00cd\u00ee\u00cc\u00ce\u00cc\u00ae\u00cc\u008e\u00ccn\u00ccN\u00cc.\u00cc\u000e\u00cc\u00ee\u00cb\u00ce\u00cb\u00ae\u00cb\u008e\u00cbn\u00cbN\u00cb.\u00cb\u000e\u00cb\u00ee\u00ca\u00ce\u00ca\u00ae\u00ca\u008e\u00can\u00ca.P\u0084\u0015_EW\u00b1Ud\u0015WEU1UD\u0015OES\u00b1T$\u0015GEQ1T\u0004\u0015?EO\u00b1S\u00e4\u00147EM1S\u00c4\u0014/EK\u00b1R\u00a4\u0014'EI1R\u0084\u0014\u001fEG\u00b1Qd\u0014\u0017EE1QD\u0014\u000fEC\u00b1P$\u0014\u0007EA1P\u0004\u0014\u00ffD?\u00b1O\u00e4\u0013\u00f7D=1O\u00c4\u0013\u00efD;\u00b1N\u00a4\u0013\u00e7D91N\u0084\u0013\u00dfD7\u00b1Md\u0013\u00d7D5q\u0017\u00d3D4\u00f1L4\u0013\u00cbD2qL\u0014\u0013\u00c3D0\u00f1K\u00f4\u0012\u00bbD.qK\u00d4\u0012\u00b3D,\u00f1J\u00b4\u0012\u00abD*qJ\u0094\u0012\u00a3D(\u00f1It\u0012\u009bD&qIT\u0012\u0093D$\u00f1H4\u0012\u008bD\"qH\u0014\u0012\u0083D \u00f1G\u00f4\u0011{D\u001eqG\u00d4\u0011sD\u001c\u00f1F\u00b4\u0011kD\u001aqF\u0094\u0011cD\u0018\u00f1Et\u0011[D\u0016qET\u0011SD\u0014\u00f1D4\u0011KD\u0012qD\u0014\u0011CD\u0010\u00f1C\u00f4\u0010;D\u000eqC\u00d4\u00103D\f\u00f1B\u00b4\u0010+D\nqB\u0094\u0010#D\b\u00f1At\u0010\u001bD\u0006qAT\u0010\u0013\u00c4\u0018a|\u00f1\u00a3\u00c7\u008e\u001c7j\u0004\u0010<\u00e0@\u0003\f,\u00a0\u0000L\u0000\"\u0000\u000f\u0080\u0006\u00c0\u0002 \u0001p\u0000(\u0000\f\u0000\u0002\u0000\u00d7Au0\u001dD\u0007\u00cfAs\u00b0\u001c$\u0007\u00c7Aq0\u001c\u0004\u0007\u00bfAo\u00b0\u001b\u00e4\u0006\u00b7Am0\u001b\u00c4\u0006\u00afAk\u00b0\u001a\u00a4\u0006\u00a7Ai0\u001a\u0084\u0006\u009fAg\u00b0\u0019d\u0006\u0097Ae0\u0019D\u0006\u008fAc\u00b0\u0018$\u0006\u0087Aa0\u0018\u0004\u0006\u007fA_\u00b0\u0017\u00e4\u0005wA]0\u0017\u00c4\u0005oA[\u00b0\u0016\u00a4\u0005gAY0\u0016\u0084\u0005_AW\u00b0\u0015d\u0005WAU0\u0015D\u0005OAS\u00b0\u0014$\u0005GAQ0\u0014\u0004\u0005?AO\u00b0\u0013\u00e4\u00047AM0\u0013\u00c4\u0004/AK\u00b0\u0012\u00a4\u0004'AI0\u0012\u0084\u0004\u001fAG\u00b0\u0011d\u0004\u0017AE0\u0011D\u0004\u000fAC\u00b0\u0010$\u0004\u0007AA0\u0010\u0004\u0004\u00ff@?\u00b0\u000f\u00e4\u0003\u00f7@=0\u000f\u00c4\u0003\u00ef@;\u00b0\u000e\u00a4\u0003\u00e7@90\u000e\u0084\u0003\u00df@7\u00b0\rd\u0003\u00d7@5p\u0007\u00d3@4\u00f0\f4\u0003\u00cb@2p\f\u0014\u0003\u00c3@0\u00f0\u000b\u00f4\u0002\u00bb@.p\u000b\u00d4\u0002\u00b3@,\u00f0\n\u00b4\u0002\u00ab@*p\n\u0094\u0002\u00a3@(\u00f0\tt\u0002\u009b@&p\tT\u0002\u0093@$\u00f0\b4\u0002\u008b@\"p\b\u0014\u0002\u0083@ \u00f0\u0007\u00f4\u0001{@\u001ep\u0007\u00d4\u0001s@\u001c\u00f0\u0006\u00b4\u0001k@\u001ap\u0006\u0094\u0001c@\u0018\u00f0\u0005t\u0001[@\u0016p\u0005T\u0001S@\u0014\u00f0\u00044\u0001K@\u0012p\u0004\u0014\u0001C@\u0010\u00f0\u0003\u00f4\u0000;@\u000ep\u0003\u00d4\u00003@\f\u00f0\u0002\u00b4\u0000+@\np\u0002\u0094\u0000#@\b\u00f0\u0001t\u0000\u001b@\u0006p\u0001T\u0000\u0013\u00c0\b!|\u00f0\u00a1\u00c3\u0086\f\u0017j\u0004\u0010<\u00e0@\u0003\f,\u00f0\u0014x\t<\u0004\u00de\u0001\u00cf\u0080W\u00c0#\u00e0\r\u00f0\u0004x\u0001<\u0000\u00de\u00ba\u00a7\u00ee\u00a5{\u00e8\u00de\u00b9g\u00ee\u0095{\u00e4\u00de\u00b8'\u00ee\u0085{\u00e0\u00de\u00b7\u00e7\u00edu{\u00dc\u00de\u00b6\u00a7\u00ede{\u00d8\u00de\u00b5g\u00edU{\u00d4\u00de\u00b4'\u00edE{\u00d0\u00de\u00b3\u00e7\u00ec5{\u00cc\u00de\u00b2\u00a7\u00ec%{\u00c8\u00de\u00b1g\u00ec\u0015{\u00c4\u00de\u00b0'\u00ec\u0005{\u00c0\u00de\u00af\u00e7\u00eb\u00f5z\u00bc\u00de\u00ae\u00a7\u00eb\u00e5z\u00b8\u00de\u00adg\u00eb\u00d5z\u00b4\u00de\u00ac'\u00eb\u00c5z\u00b0\u00de\u00ab\u00e7\u00ea\u00b5z\u00ac\u00de\u00aa\u00a7\u00ea\u00a5z\u00a8\u00de\u00a9g\u00ea\u0095z\u00a4\u00de\u00a8'\u00ea\u0085z\u00a0\u00de\u00a7\u00e7\u00e9uz\u009c\u00de\u00a6\u00a7\u00e9ez\u0098\u00de\u00a5g\u00e9Uz\u0094\u00de\u00a4'\u00e9Ez\u0090\u00de\u00a3\u00e7\u00e85z\u008c\u00de\u00a2\u00a7\u00e8%z\u0088\u00de\u00a1g\u00e8\u0015z\u0084\u00de\u00a0'\u00e8\u0005z\u0080\u00de\u009f\u00e7\u00e7\u00f5y|\u00de\u009e\u00a7\u00e7\u00e5yx\u00de\u009dg\u00e7\u00d5yt\u00de\u009c'\u00e7\u00c5yp\u00de\u009b\u00e7\u00e6\u00b5yl\u00de\u009a\u00a7\u00e6\u00ed^\u0089\u00e1\u00a84\u0000\u00c1\u007f\u00b3\u009f\u0090\u0005\u0000\u0014@\u00fcm\u000b\u00f5}U\u00a4lx\u000f=\u00b0>1\u00e3\u00ae\\\u0086\u0096\u00e8\u00d8\t\u00fa\u00d9\u00a6\u00f5\u00beQ\u0080\u0010\u00ff=\u00b0>1\u00e3\u00ae\\\u0086\u0096\u0084\u00e8\u00d86\u00b5*\u00f7~\u00cf|\u00f7\u00c3\u009a\u008ca\u00f7\u00e3\u001a\u001bt\u00b5\u00dc\u00d3\u00ac\u0007\u0086\u00a5~{`}b\u00c6]U\u00b8\u00ccV\u00ec\u001eO\u00b0\u0086\u00fb\u00ec\u00875\u0019\u00c3\u001e\u00eeg\u00bb\u0096\u00bbO\u00c4D\u00fez`}\u0014b\u00c6\u0012\u00e5> \u000b*\u00fb\u00e9\u0001\u0082\u00f5Y\u00ef\u00e6\u001e\u00dc'\u00e9\u007f\u00f6\u00bb\u001bZ8\u00fe\u00b9\u008cyG\u009aQ "}, "dtype": "int64", "shape": [2531]}, "system": {":is_custom:": true, "__class__": "PosixPath", "__module__": "pathlib", "path": "mc1_campaign/shared/task_workdirs/HybridTopologySetupUnit-d568ebe569b445c7875d9b6d5ce04cd0/hybrid_system.xml.bz2"}}, "source_key": "HybridTopologySetupUnit-d568ebe569b445c7875d9b6d5ce04cd0", "start_time": {":is_custom:": true, "__class__": "datetime", "__module__": "datetime", "isotime": "2026-08-14T11:19:09.784076"}, "stderr": {}, "stdout": {}} \ No newline at end of file diff --git a/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-4388526f592f4586a4f0cb62c6a71ef2 b/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-4388526f592f4586a4f0cb62c6a71ef2 new file mode 100644 index 000000000..aa82f182c --- /dev/null +++ b/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-4388526f592f4586a4f0cb62c6a71ef2 @@ -0,0 +1 @@ +{":version:": 1, "__module__": "gufe.protocols.protocolunit", "__qualname__": "ProtocolUnitResult", "_key": "ProtocolUnitResult-4388526f592f4586a4f0cb62c6a71ef2", "end_time": {":is_custom:": true, "__class__": "datetime", "__module__": "datetime", "isotime": "2026-08-14T11:19:22.539031"}, "inputs": {"alchemical_components": {"stateA": [{":gufe-key:": "SmallMoleculeComponent-8f5b6a9848f63293c9b2361b51b466ab"}], "stateB": [{":gufe-key:": "SmallMoleculeComponent-e42f2d6e8715f91ce1dd6dd3a3b62fe9"}]}, "generation": 0, "ligandmapping": {":gufe-key:": "LigandAtomMapping-0cdd365bd42a6a6dcc223a297aeba078"}, "protocol": {":gufe-key:": "RelativeHybridTopologyProtocol-59d604ce336f12d44f6e4647a6f7e616"}, "repeat_id": 284817259896887492684538463771894716234, "stateA": {":gufe-key:": "ChemicalSystem-d348563501aa206907231309a902cb32"}, "stateB": {":gufe-key:": "ChemicalSystem-5308ba234089fbedba66a79cdc314ef0"}}, "name": "HybridTopology Setup: ligand_2 to ligand_3 repeat 0 generation 0", "outputs": {"alchemical_resnames": ["LIG"], "generation": 0, "gufe_version": "1.12.1.dev15+g0b0edd955", "openfe_version": "1.12.1.dev34+g25c448160.d20260814", "openmm_version": "8.4", "pdb_structure": {":is_custom:": true, "__class__": "PosixPath", "__module__": "pathlib", "path": "mc1_campaign/shared/task_workdirs/HybridTopologySetupUnit-0238f65b55044b1ea751447537a28f2b/hybrid_system.pdb"}, "positions": {":is_custom:": true, "__class__": "PosixPath", "__module__": "pathlib", "path": "mc1_campaign/shared/task_workdirs/HybridTopologySetupUnit-0238f65b55044b1ea751447537a28f2b/hybrid_positions.npy"}, "repeat_id": 284817259896887492684538463771894716234, "selection_indices": {":is_custom:": true, "__class__": "ndarray", "__module__": "numpy", "bytes": {":is_custom:": true, "__class__": "bytes", "__module__": "builtins", "latin-1": "(\u00b5/\u00fd \u00b8\u0015\u0003\u00004\u0003\u0000\u0000\u0001\u0000\u0002\u0000\u0003\u0000\u0004\u0000\u0005\u0000\u0006\u0000\u0007\u0000\b\u0000\t\u0000\n\u0000\u000b\u0000\f\u0000\r\u0000\u000e\u0000\u000f\u0000\u0010\u0000\u00fd\u00f8\u0006\u00f9\u0006\u00fa\u0006\u00fb\u0006\u00fc\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0016\u0000``00\u0018\u0018\u0006r!30\u001a\u0018\r\u008c\u0006F\u0003\u00a3\u0081\u00d1\u00c0h`40\u001a\u0018\r\u008c\u0006F\u0003\u00a3\u0081\u00d1\u00c0h`\u00b4\u0001\u00b4\u0001"}, "dtype": "int64", "shape": [23]}, "system": {":is_custom:": true, "__class__": "PosixPath", "__module__": "pathlib", "path": "mc1_campaign/shared/task_workdirs/HybridTopologySetupUnit-0238f65b55044b1ea751447537a28f2b/hybrid_system.xml.bz2"}}, "source_key": "HybridTopologySetupUnit-0238f65b55044b1ea751447537a28f2b", "start_time": {":is_custom:": true, "__class__": "datetime", "__module__": "datetime", "isotime": "2026-08-14T11:19:22.079782"}, "stderr": {}, "stdout": {}} \ No newline at end of file diff --git a/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-5b13b16ed9834a51ac7be4751e9e5dc0 b/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-5b13b16ed9834a51ac7be4751e9e5dc0 new file mode 100644 index 000000000..a69aa869e --- /dev/null +++ b/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-5b13b16ed9834a51ac7be4751e9e5dc0 @@ -0,0 +1 @@ +{":version:": 1, "__module__": "gufe.protocols.protocolunit", "__qualname__": "ProtocolUnitResult", "_key": "ProtocolUnitResult-5b13b16ed9834a51ac7be4751e9e5dc0", "end_time": {":is_custom:": true, "__class__": "datetime", "__module__": "datetime", "isotime": "2026-08-14T11:19:21.132475"}, "inputs": {"alchemical_components": {"stateA": [{":gufe-key:": "SmallMoleculeComponent-8f5b6a9848f63293c9b2361b51b466ab"}], "stateB": [{":gufe-key:": "SmallMoleculeComponent-e42f2d6e8715f91ce1dd6dd3a3b62fe9"}]}, "generation": 0, "ligandmapping": {":gufe-key:": "LigandAtomMapping-0cdd365bd42a6a6dcc223a297aeba078"}, "protocol": {":gufe-key:": "RelativeHybridTopologyProtocol-59d604ce336f12d44f6e4647a6f7e616"}, "repeat_id": 223150426984276242809719357896568479063, "stateA": {":gufe-key:": "ChemicalSystem-c16bf392cc055620e6c0177fbca350c5"}, "stateB": {":gufe-key:": "ChemicalSystem-762ce73233b2ccd593c52026afef907a"}}, "name": "HybridTopology Setup: ligand_2 to ligand_3 repeat 0 generation 0", "outputs": {"alchemical_resnames": ["LIG"], "generation": 0, "gufe_version": "1.12.1.dev15+g0b0edd955", "openfe_version": "1.12.1.dev34+g25c448160.d20260814", "openmm_version": "8.4", "pdb_structure": {":is_custom:": true, "__class__": "PosixPath", "__module__": "pathlib", "path": "mc1_campaign/shared/task_workdirs/HybridTopologySetupUnit-17dc05e0d79747e79d3e93e55383c9bd/hybrid_system.pdb"}, "positions": {":is_custom:": true, "__class__": "PosixPath", "__module__": "pathlib", "path": "mc1_campaign/shared/task_workdirs/HybridTopologySetupUnit-17dc05e0d79747e79d3e93e55383c9bd/hybrid_positions.npy"}, "repeat_id": 223150426984276242809719357896568479063, "selection_indices": {":is_custom:": true, "__class__": "ndarray", "__module__": "numpy", "bytes": {":is_custom:": true, "__class__": "bytes", "__module__": "builtins", "latin-1": "(\u00b5/\u00fd`\u0018N\u00ad\u0087\u0000j9iA\u001c\u0010\u0018<\f\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u00000\u0000\u0000\u0000P\u0002\u0000\u00004\u0093R\u00a6\u0094RJ)\u00ef\u0003\u00f6\u0003\u0004\u0004sV\u00ce\u00c6Y8\u00fbf\u00ddl\u009be\u00b3kV\u00cd\u00ee6\u00cd\u00a2\u00d93kf\u00cb,\u0099\u001d\u00b3b6\u00cc\u0082\u00d9/\u00ebe\u00bb,\u0097\u00dd\u00b2Z6\u00cbb\u00d9+ke\u00ab,\u0095\u009d\u00b2R6\u00caB\u00d9'\u00ebd\u009b,\u0093]\u00b2J6\u00c9\"\u00d9#kd\u008b,\u0091\u001d\u00b2B6\u00c8\u0002\u00d9\u001f\u00ebc{,\u008f\u00dd\u00b1:6\u00c7\u00e2\u00d8\u001bkck,\u008d\u009d\u00b126\u00c6\u00c2\u00d8\u0017\u00ebb[,\u008b]\u00b1*6\u00c5\u00a2\u00d8\u0013kbK,\u0089\u001d\u00b1\"6\u00c4\u0082\u00d8\u000f\u00eba;,\u0087\u00dd\u00b0\u001a6\u00c3b\u00d8\u000bka+,\u0085\u009d\u00b0\u00126\u00c2B\u00d8\u0007\u00eb`\u001b,\u0083]\u00b0\n6\u00c1\u00c6\u0085\u00fb\u00f6\u00d7\u00b7\u0097wW#P\b\u00f4\u0001u@\u001bP\u0006t\u0001U@\u0013P\u0004\u00f4\u00005@\u000bP\u0002t\u0000\u0015@\u0003P\u0000t\u009d\u00aa\u00d3t\u008aN\u00cf\u00a99-\u00a7\u00e4t\u009c\u008a\u00d3p\nN\u00bf\u00a97\u00ed\u00a6\u00dct\u009bj\u00d3l\u008aM\u00af\u00a95\u00ad\u00a6\u00d4t\u009aJ\u00d3h\nM\u009f\u00a93m\u00a6\u00cct\u0099*\u00d3d\u008aL\u008f\u00a91-\u00a6\u00c4t\u0098\n\u00d3`\nL\u007f\u00a9/\u00ed\u00a5\u00bct\u0097\u00ea\u00d2\\\u008aKo\u00a9-\u00ad\u00a5\u00b4t\u0096\u00ca\u00d2X\nK_\u00a9+m\u00a5\u00act\u0095\u00aa\u00d2T\u008aJO\u00a9)-\u00a5\u00a4t\u0094\u008a\u00d2P\nJ?\u00a9'\u00ed\u00a4\u009ct\u0093j\u00d2L\u008aI/\u00a9%\u00ad\u00a4\u0094t\u0092J\u00d2H\nI\u001f\u00a9#m\u00a4\u008ct\u0091*\u00d2D\u008aH\u000f\u00a9!-\u00a4\u0084t\u0090\n\u00d2@\nH\u00ff\u00a8\u001f\u00ed\u00a3|t\u008f\u00ea\u00d1<\u008aG\u00ef\u00a8\u001d\u00ad\u00a3tt\u008e\u00ca\u00d18\nG\u00df\u00a8\u001bm\u00a3lt\u008d\u00aa\u00d1\u009d\u00a6Q4zF\u00cdh\u0019%\u00a3cT\u008c\u0086Q0\u00faE\u00bdh\u0017\u00e5\u00a2[T\u008bfQ,zE\u00adh\u0015\u00a5\u00a2ST\u008aFQ(\u00faD\u009dh\u0013e\u00a2KT\u0089&Q$zD\u008dh\u0011%\u00a2CT\u0088\u0006Q \u00faC}h\u000f\u00e5\u00a1;T\u0087\u00e6P\u001czCmh\r\u00a5\u00a13T\u0086\u00c6P\u0018\u00faB]h\u000be\u00a1+T\u0085\u00a6P\u0014zBMh\t%\u00a1#T\u0084\u0086P\u0010\u00faA=h\u0007\u00e5\u00a0\u001bT\u0083fP\fzA-h\u0005\u00a5\u00a0\u0013T\u0082FP\b\u00fa@\u001dh\u0003e\u00a0\u000bT\u0081&\u00d0\u00a8P\u009f\u00be\u00ba\u00b6\u00b2\u00aejF\u0090\u0010\u00e4\u0003\u00e9@6\u0090\f\u00e4\u0002\u00a9@&\u0090\b\u00e4\u0001i@\u0016\u0090\u0004\u00e4\u0000)@\u0006\u0090\u0000\u00e4\u00baT\u0097\u00e9\u0012]\u009eKsY.\u00c9\u00e5\u00b8\u0014\u0097\u00e1\u0012\\~Ko\u00d9-\u00b9\u00e5\u00b6\u00d4\u0096\u00d9\u0012[^KkY-\u00a9\u00e5\u00b4\u0094\u0096\u00d1\u0012Z>Kg\u00d9,\u0099\u00e5\u00b2T\u0096\u00c9\u0012Y\u001eKcY,\u0089\u00e5\u00b0\u0014\u0096\u00c1\u0012X\u00feJ_\u00d9+y\u00e5\u00ae\u00d4\u0095\u00b9\u0012W\u00deJ[Y+i\u00e5\u00ac\u0094\u0095\u00b1\u0012V\u00beJW\u00d9*Y\u00e5\u00aaT\u0095\u00a9\u0012U\u009eJSY*I\u00e5\u00a8\u0014\u0095\u00a1\u0012T~JO\u00d9)9\u00e5\u00a6\u00d4\u0094\u0099\u0012S^JKY))\u00e5\u00a4\u0094\u0094\u0091\u0012R>JG\u00d9(\u0019\u00e5\u00a2T\u0094\u0089\u0012Q\u001eJCY(\t\u00e5\u00a0\u0014\u0094\u0081\u0012P\u00feI?\u00d9'\u00f9\u00e4\u009e\u00d4\u0093y\u0012O\u00deI;Y'\u00e9\u00e4\u009c\u0094\u0093q\u0012N\u00beI7\u00d9&\u00d9\u00e4\u009aT\u0093\u00bbL\u0093h\u00f2L\u009a\u00c92I&\u00c7\u00a4\u0098\f\u0093`\u00f2Kz\u00c9.\u00c9%\u00b7\u00a4\u0096\u00cc\u0092X\u00f2JZ\u00c9*I%\u00a7\u00a4\u0094\u008c\u0092P\u00f2I:\u00c9&\u00c9$\u0097\u00a4\u0092L\u0092H\u00f2H\u001a\u00c9\"I$\u0087\u00a4\u0090\f\u0092@\u00f2G\u00fa\u00c8\u001e\u00c9#w\u00a4\u008e\u00cc\u00918\u00f2F\u00da\u00c8\u001aI#g\u00a4\u008c\u008c\u00910\u00f2E\u00ba\u00c8\u0016\u00c9\"W\u00a4\u008aL\u0091(\u00f2D\u009a\u00c8\u0012I\"G\u00a4\u0088\f\u0091 \u00f2Cz\u00c8\u000e\u00c9!7\u00a4\u0086\u00cc\u0090\u0018\u00f2BZ\u00c8\nI!'\u00a4\u0084\u008c\u0090\u0010\u00f2A:\u00c8\u0006\u00c9 \u0017\u00a4\u0082L\u00901a\u00be\u00fc\u00f4\u00ec\u00e4\u00dc\u00d4\u00cc\u00ad\u00ae\u00d35\u00ba>\u00d7\u00e6\u00ba\\\u0093\u00ebq-\u00ae\u00c35\u00b8\u00fe\u00d6\u00de\u00ba[s\u00ebm\u00ad\u00ad\u00b35\u00b6\u00be\u00d6\u00d6\u00baZS\u00ebi-\u00ad\u00a35\u00b4~\u00d6\u00ce\u00baY3\u00ebe\u00ad\u00ac\u00935\u00b2>\u00d6\u00c6\u00baX\u0013\u00eba-\u00ac\u00835\u00b0\u00fe\u00d5\u00be\u00baW\u00f3\u00ea]\u00ad\u00abs5\u00ae\u00be\u00d5\u00b6\u00baV\u00d3\u00eaY-\u00abc5\u00ac~\u00d5\u00ae\u00baU\u00b3\u00eaU\u00ad\u00aaS5\u00aa>\u00d5\u00a6\u00baT\u0093\u00eaQ-\u00aaC5\u00a8\u00fe\u00d4\u009e\u00baSs\u00eaM\u00ad\u00a935\u00a6\u00be\u00d4\u0096\u00baRS\u00eaI-\u00a9#5\u00a4~\u00d4\u008e\u00baQ3\u00eaE\u00ad\u00a8\u00135\u00a2>\u00d4\u0086\u00baP\u0013\u00eaA-\u00a8\u00035\u00a0\u00fe\u00d3~\u00baO\u00f3\u00e9=\u00ad\u00a7\u00f34\u009e\u00be\u00d3v\u00baN\u00d3\u00e99-\u00a7\u00e34\u009c~\u00d3n\u00baM\u00b3\u00e95\u00ad\u00a6w\u009d\u00a6\u00d1\u00f4\u00996\u00d3e\u009aL\u008fi1\u001d\u00a6\u00c1\u00f4\u0097\u00f6\u00d2]\u009aKoi-\u009d\u00a5\u00b1\u00f4\u0095\u00b6\u00d2U\u009aJOi)\u001d\u00a5\u00a1\u00f4\u0093v\u00d2M\u009aI/i%\u009d\u00a4\u0091\u00f4\u00916\u00d2E\u009aH\u000fi!\u001d\u00a4\u0081\u00f4\u008f\u00f6\u00d1=\u009aG\u00efh\u001d\u009d\u00a3q\u00f4\u008d\u00b6\u00d15\u009aF\u00cfh\u0019\u001d\u00a3a\u00f4\u008bv\u00d1-\u009aE\u00afh\u0015\u009d\u00a2Q\u00f4\u00896\u00d1%\u009aD\u008fh\u0011\u001d\u00a2A\u00f4\u0087\u00f6\u00d0\u001d\u009aCoh\r\u009d\u00a11\u00f4\u0085\u00b6\u00d0\u0015\u009aBOh\t\u001d\u00a1!\u00f4\u0083v\u00d0\r\u009aA/h\u0005\u009d\u00a0c\u00c3~\u00fd\u00ed\u00dd\u00cd\u00bd\u00ad\u0011@\u00f0\u0000;\u00c0\r0\u0003\u00bc\u0000+\u00c0\t0\u0002|\u0000\u001b\u00c0\u00050\u0001<\u0000\u000b\u00c0\u00010\u0000\u00bc\u008e\u00d5q:F\u00c7\u00e7\u00d8\u001c\u0097cr<\u008e\u00c5q8\u0006\u00c7\u00df\u00d8\u001bwcn\u00bc\u008d\u00b5q6\u00c6\u00c6\u00d7\u00d8\u001aWcj<\u008d\u00a5q4\u0086\u00c6\u00cf\u00d8\u00197cf\u00bc\u008c\u0095q2F\u00c6\u00c7\u00d8\u0018\u0017cb<\u008c\u0085q0\u0006\u00c6\u00bf\u00d8\u0017\u00f7b^\u00bc\u008buq.\u00c6\u00c5\u00b7\u00d8\u0016\u00d7bZ<\u008beq,\u0086\u00c5\u00af\u00d8\u0015\u00b7bV\u00bc\u008aUq*F\u00c5\u00a7\u00d8\u0014\u0097bR<\u008aEq(\u0006\u00c5\u009f\u00d8\u0013wbN\u00bc\u00895q&\u00c6\u00c4\u0097\u00d8\u0012WbJ<\u0089%q$\u0086\u00c4\u008f\u00d8\u00117bF\u00bc\u0088\u0015q\"F\u00c4\u0087\u00d8\u0010\u0017bB<\u0088\u0005q \u0006\u00c4\u007f\u00d8\u000f\u00f7a>\u00bc\u0087\u00f5p\u001e\u00c6\u00c3w\u00d8\u000e\u00d7a:<\u0087\u00e5p\u001c\u0086\u00c3o\u00d8\r\u00b7a6\u00bc\u0086\u00d5\u00f0\u008e\u00d30\u001a>\u00c3f\u00b8\f\u0093\u00e11,\u0086\u00c30\u0018\u00fe\u00c2^\u00b8\u000bs\u00e1-\u00ac\u0085\u00b30\u0016\u00be\u00c2V\u00b8\nS\u00e1),\u0085\u00a30\u0014~\u00c2N\u00b8\t3\u00e1%\u00ac\u0084\u00930\u0012>\u00c2F\u00b8\b\u0013\u00e1!,\u0084\u00830\u0010\u00fe\u00c1>\u00b8\u0007\u00f3\u00e0\u001d\u00ac\u0083s0\u000e\u00be\u00c16\u00b8\u0006\u00d3\u00e0\u0019,\u0083c0\f~\u00c1.\u00b8\u0005\u00b3\u00e0\u0015\u00ac\u0082S0\n>\u00c1&\u00b8\u0004\u0093\u00e0\u0011,\u0082C0\b\u00fe\u00c0\u001e\u00b8\u0003s\u00e0\r\u00ac\u008130\u0006\u00be\u00c0\u0016\u00b8\u0002S\u00e0\t,\u0081#0\u0004~\u00c0\u000e\u00b8\u00013\u00e0\u0005\u00ac\u0080\u0013pd\u00c8\u008f\u009f\u009d\u009b\u0099\u00975\u0002\b\u00f6\u0081u`\u001bX\u0006v\u0081U`\u0013X\u0004\u00f6\u00805`\u000bX\u0002v\u0080\u0015`\u0003X\u0000v\u00dd\u00aa\u00dbt\u008bn\u00cf\u00ad\u00b9-\u00b7\u00e4v\u00dc\u008a\u00dbp\u000bn\u00bf\u00ad\u00b7\u00ed\u00b6\u00dcv\u00dbj\u00dbl\u008bm\u00af\u00ad\u00b5\u00ad\u00b6\u00d4v\u00daJ\u00dbh\u000bm\u009f\u00ad\u00b3m\u00b6\u00ccv\u00d9*\u00dbd\u008bl\u008f\u00ad\u00b1-\u00b6\u00c4v\u00d8\n\u00db`\u000bl\u007f\u00ad\u00af\u00ed\u00b5\u00bcv\u00d7\u00ea\u00da\\\u008bko\u00ad\u00ad\u00ad\u00b5\u00b4v\u00d6\u00ca\u00daX\u000bk_\u00ad\u00abm\u00b5\u00acv\u00d5\u00aa\u00daT\u008bjO\u00ad\u00a9-\u00b5\u00a4v\u00d4\u008a\u00daP\u000bj?\u00ad\u00a7\u00ed\u00b4\u009cv\u00d3j\u00daL\u008bi/\u00ad\u00a5\u00ad\u00b4\u0094v\u00d2J\u00daH\u000bi\u001f\u00ad\u00a3m\u00b4\u008cv\u00d1*\u00daD\u008bh\u000f\u00ad\u00a1-\u00b4\u0084v\u00d0\n\u00da@\u000bh\u00ff\u00ac\u009f\u00ed\u00b3|v\u00cf\u00ea\u00d9<\u008bg\u00ef\u00ac\u009d\u00ad\u00b3t6i\u001e\u009aw\u00e6\u0099ye\u001e\u00997\u00e6\u0089ya\u001e\u0098\u00f7\u00e5yy]\u001e\u0097\u00b7\u00e5iyY\u001e\u0096w\u00e5YyU\u001e\u00957\u00e5IyQ\u001e\u0094\u00f7\u00e49yM\u001e\u0093\u00b7\u00e4)yI\u001e\u0092w\u00e4\u0019yE\u001e\u00917\u00e4\tyA\u001e\u0090\u00f7\u00e3\u00f9x=\u001e\u008f\u00b7\u00e3\u00e9x9\u001e\u008ew\u00e3\u00d9x5\u001e\u008d7\u00e3\u00c9x1\u001e\u008c\u00f7\u00e2\u00b9x-\u001e\u008b\u00b7\u00e2\u00a9x)\u001e\u008aw\u00e2\u0099x%\u001e\u00897\u00e2\u0089x!\u001e\u0088\u00f7\u00e1yx\u001d\u001e\u0087\u00b7\u00e1ix\u0019\u001e\u0086w\u00e1Yx\u0015\u001e\u00857\u00e1Ix\u0011\u001e\u0084\u00f7\u00e09x\r\u001e\u0083\u00b7\u00e0)x\t^|\u00f0\u00bd\u00f7\u00cf_?~\u00fb4\u0002\b\u001ep\u00a0\u0001\u0006~\u0081W\u00e0\u0013x\u0004\u00fe\u00807\u00e0\u000bx\u0002~\u0080\u0017\u00e0\u0003x\u0000~\u00dd\u00ab\u00fbt\u008f\u00ee\u00cf\u00bd\u00b9/\u00f7\u00e4~\u00dc\u008b\u00fbp\u000f\u00ee\u00bf\u00bd\u00b7\u00ef\u00f6\u00dc~\u00dbk\u00fbl\u008f\u00ed\u00af\u00bd\u00b5\u00af\u00f6\u00d4~\u00daK\u00fbh\u000f\u00ed\u009f\u00bd\u00b3o\u00f6\u00cc~\u00d9+\u00fbd\u008f\u00ec\u008f\u00bd\u00b1/\u00f6\u00c4~\u00d8\u000b\u00fb`\u000f\u00ec\u007f\u00bd\u00af\u00ef\u00f5\u00bc~\u00d7\u00eb\u00fa\\\u008f\u00ebo\u00bd\u00ad\u00af\u00f5\u00b4~\u00d6\u00cb\u00faX\u000f\u00eb_\u00bd\u00abo\u00f5\u00ac~\u00d5\u00ab\u00faT\u008f\u00eaO\u00bd\u00a9/\u00f5\u00a4~\u00d4\u008b\u00faP\u000f\u00ea?\u00bd\u00a7\u00ef\u00f4\u009c~\u00d3k\u00faL\u008f\u00e9/\u00bd\u00a5\u00af\u00f4\u0094~\u00d2K\u00faH\u000f\u00e9\u001f\u00bd\u00a3o\u00f4\u008c~\u00d1+\u00faD\u008f\u00e8\u000f\u00bd\u00a1/\u00f4\u0084~\u00d0\u000b\u00fa@\u000f\u00e8\u00ff\u00bc\u009f\u00ef\u00f3|~\u00cf\u00eb\u00f9<\u008f\u00e7\u00ef\u00bc\u009d\u00af\u00f3t~\u00ce\u00cb\u00f98\u000f\u00e7\u00df\u00bc\u009bo\u00f3l~\u00cd\u00ab\u00f9\u00dd\u00a7y4\u007f\u00e6\u00cd|\u0099'\u00f3c^\u00cc\u0087y0\u00ff\u00e5\u00bd|\u0097\u00e7\u00f2[^\u00cbgy,\u007f\u00e5\u00ad|\u0095\u00a7\u00f2S^\u00caGy(\u00ff\u00e4\u009d|\u0093g\u00f2K^\u00c9'y$\u007f\u00e4\u008d|\u0091'\u00f2C^\u00c8\u0007y \u00ff\u00e3}|\u008f\u00e7\u00f1;^\u00c7\u00e7x\u001c\u007f\u00e3m|\u008d\u00a7\u00f13^\u00c6\u00c7x\u0018\u00ff\u00e2]|\u008bg\u00f1+^\u00c5\u00a7x\u0014\u007f\u00e2M|\u0089'\u00f1#^\u00c4\u0087x\u0010\u00ff\u00e1=|\u0087\u00e7\u00f0\u001b^\u00c3gx\f\u007f\u00e1-|\u0085\u00a7\u00f0\u0013^\u00c2Gx\b\u00ff\u00e0\u001d|\u0083g\u00f0\u000b^\u00c1'\u00f8\u00f8\u00f0\u00df\u00ff\u00fb\u00f7\u00f3\u00efk\u0004\u0010<\u00e0@\u0003\u00ce\u0080/\u00e0\nx\u0002\u008e\u0080\u001f\u00e0\u0006x\u0001N\u0080\u000f\u00e0\u0002x\u0000\u000e\u0080\u00afsu\u009e\u00ce\u00d1\u00f997\u00e7\u00e5\u009c\u009c\u008fsq\u001e\u00ce\u00c1\u00f97\u00f7\u00e6\u00dd\u009c\u009bosm\u009e\u00cd\u00b1\u00f95\u00b7\u00e6\u00d5\u009c\u009aOsi\u001e\u00cd\u00a1\u00f93w\u00e6\u00cd\u009c\u0099/se\u009e\u00cc\u0091\u00f917\u00e6\u00c5\u009c\u0098\u000fsa\u001e\u00cc\u0081\u00f9/\u00f7\u00e5\u00bd\u009c\u0097\u00efr]\u009e\u00cbq\u00f9-\u00b7\u00e5\u00b5\u009c\u0096\u00cfrY\u001e\u00cba\u00f9+w\u00e5\u00ad\u009c\u0095\u00afrU\u009e\u00caQ\u00f9)7\u00e5\u00a5\u009c\u0094\u008frQ\u001e\u00caA\u00f9'\u00f7\u00e4\u009d\u009c\u0093orM\u009e\u00c91\u00f9%\u00b7\u00e4\u0095\u009c\u0092OrI\u001e\u00c9!\u00f9#w\u00e4\u008d\u009c\u0091/rE\u009e\u00c8\u0011\u00f9!7\u00e4\u0085\u009c\u0090\u000frA\u001e\u00c8\u0001\u00f9\u001f\u00f7\u00e3}\u009c\u008f\u00efq=\u009e\u00c7\u00f1\u00f8\u001d\u00b7\u00e3u\u009c\u008e\u00cfq9\u001e\u00c7\u00e1\u00f8\u001bw\u00e3m\u009c\u008d\u00afq5\u00be\u00f34\u008e\u00c6\u00cf\u00b8\u0019/\u00e3d|\u008c\u008b\u00f10\u000e\u00c6\u00bf\u00b8\u0017\u00ef\u00e2\\|\u008bk\u00f1,\u008e\u00c5\u00af\u00b8\u0015\u00af\u00e2T|\u008aK\u00f1(\u000e\u00c5\u009f\u00b8\u0013o\u00e2L|\u0089+\u00f1$\u008e\u00c4\u008f\u00b8\u0011/\u00e2D|\u0088\u000b\u00f1 \u000e\u00c4\u007f\u00b8\u000f\u00ef\u00e1<|\u0087\u00eb\u00f0\u001c\u008e\u00c3o\u00b8\r\u00af\u00e14|\u0086\u00cb\u00f0\u0018\u000e\u00c3_\u00b8\u000bo\u00e1,|\u0085\u00ab\u00f0\u0014\u008e\u00c2O\u00b8\t/\u00e1$|\u0084\u008b\u00f0\u0010\u000e\u00c2?\u00b8\u0007\u00ef\u00e0\u001c|\u0083k\u00f0\f\u008e\u00c1/\u00b8\u0005\u00af\u00e0\u0014|\u0082K\u00f0\b\u000e\u00c1\u001f\u00b8\u0003o\u00e0\f|\u0081+\u00f0\u0004\u001e\u001d\u00fa\u00f3w\u00f7v\u00f6u\u008d\u0000\u0082\u0007\u001c\u00e8\u0006\u009a\u0081^\u00a0\u0015\u00e8\u0004\u001a\u0081>\u00a0\r\u00e8\u0002\u009a\u0080\u001e\u00a0\u0005\u00e8\u0000\u001a\u0080^\u0017\u0099\u0099\u0099;@\u00bb?;?\u00bb>;>\u00bb=;=\u00bb<;<\u00bb;;;\u00bb:;:\u00bb9;9\u00bb8;8\u00bb7;7\u00bb6;6\u00bb5;5\u00bb\u00dd.\u00cd\u000e\u00cd\u00ee\u00cc\u00ce\u00cc\u00ae\u00cc\u008e\u00ccn\u00ccN\u00cc.\u00cc\u000e\u00cc\u00ee\u00cb\u00ce\u00cb\u00ae\u00cb\u008e\u00cbn\u00cbN\u00cb.\u00cb\u000e\u00cb\u00ee\u00ca\u00ce\u00ca\u00ae\u00ca\u008e\u00can\u00ca.P\u0084\u0015_EW\u00b1Ud\u0015WEU1UD\u0015OES\u00b1T$\u0015GEQ1T\u0004\u0015?EO\u00b1S\u00e4\u00147EM1S\u00c4\u0014/EK\u00b1R\u00a4\u0014'EI1R\u0084\u0014\u001fEG\u00b1Qd\u0014\u0017EE1QD\u0014\u000fEC\u00b1P$\u0014\u0007EA1P\u0004\u0014\u00ffD?\u00b1O\u00e4\u0013\u00f7D=1O\u00c4\u0013\u00efD;\u00b1N\u00a4\u0013\u00e7D91N\u0084\u0013\u00dfD7\u00b1Md\u0013\u00d7D5q\u0017\u00d3D4\u00f1L4\u0013\u00cbD2qL\u0014\u0013\u00c3D0\u00f1K\u00f4\u0012\u00bbD.qK\u00d4\u0012\u00b3D,\u00f1J\u00b4\u0012\u00abD*qJ\u0094\u0012\u00a3D(\u00f1It\u0012\u009bD&qIT\u0012\u0093D$\u00f1H4\u0012\u008bD\"qH\u0014\u0012\u0083D \u00f1G\u00f4\u0011{D\u001eqG\u00d4\u0011sD\u001c\u00f1F\u00b4\u0011kD\u001aqF\u0094\u0011cD\u0018\u00f1Et\u0011[D\u0016qET\u0011SD\u0014\u00f1D4\u0011KD\u0012qD\u0014\u0011CD\u0010\u00f1C\u00f4\u0010;D\u000eqC\u00d4\u00103D\f\u00f1B\u00b4\u0010+D\nqB\u0094\u0010#D\b\u00f1At\u0010\u001bD\u0006qAT\u0010\u0013\u00c4\u0018a|\u00f1\u00a3\u00c7\u008e\u001c7j\u0004\u0010<\u00e0@\u0003\f,\u00a0\u0000L\u0000\"\u0000\u000f\u0080\u0006\u00c0\u0002 \u0001p\u0000(\u0000\f\u0000\u0002\u0000\u00d7Au0\u001dD\u0007\u00cfAs\u00b0\u001c$\u0007\u00c7Aq0\u001c\u0004\u0007\u00bfAo\u00b0\u001b\u00e4\u0006\u00b7Am0\u001b\u00c4\u0006\u00afAk\u00b0\u001a\u00a4\u0006\u00a7Ai0\u001a\u0084\u0006\u009fAg\u00b0\u0019d\u0006\u0097Ae0\u0019D\u0006\u008fAc\u00b0\u0018$\u0006\u0087Aa0\u0018\u0004\u0006\u007fA_\u00b0\u0017\u00e4\u0005wA]0\u0017\u00c4\u0005oA[\u00b0\u0016\u00a4\u0005gAY0\u0016\u0084\u0005_AW\u00b0\u0015d\u0005WAU0\u0015D\u0005OAS\u00b0\u0014$\u0005GAQ0\u0014\u0004\u0005?AO\u00b0\u0013\u00e4\u00047AM0\u0013\u00c4\u0004/AK\u00b0\u0012\u00a4\u0004'AI0\u0012\u0084\u0004\u001fAG\u00b0\u0011d\u0004\u0017AE0\u0011D\u0004\u000fAC\u00b0\u0010$\u0004\u0007AA0\u0010\u0004\u0004\u00ff@?\u00b0\u000f\u00e4\u0003\u00f7@=0\u000f\u00c4\u0003\u00ef@;\u00b0\u000e\u00a4\u0003\u00e7@90\u000e\u0084\u0003\u00df@7\u00b0\rd\u0003\u00d7@5p\u0007\u00d3@4\u00f0\f4\u0003\u00cb@2p\f\u0014\u0003\u00c3@0\u00f0\u000b\u00f4\u0002\u00bb@.p\u000b\u00d4\u0002\u00b3@,\u00f0\n\u00b4\u0002\u00ab@*p\n\u0094\u0002\u00a3@(\u00f0\tt\u0002\u009b@&p\tT\u0002\u0093@$\u00f0\b4\u0002\u008b@\"p\b\u0014\u0002\u0083@ \u00f0\u0007\u00f4\u0001{@\u001ep\u0007\u00d4\u0001s@\u001c\u00f0\u0006\u00b4\u0001k@\u001ap\u0006\u0094\u0001c@\u0018\u00f0\u0005t\u0001[@\u0016p\u0005T\u0001S@\u0014\u00f0\u00044\u0001K@\u0012p\u0004\u0014\u0001C@\u0010\u00f0\u0003\u00f4\u0000;@\u000ep\u0003\u00d4\u00003@\f\u00f0\u0002\u00b4\u0000+@\np\u0002\u0094\u0000#@\b\u00f0\u0001t\u0000\u001b@\u0006p\u0001T\u0000\u0013\u00c0\b!|\u00f0\u00a1\u00c3\u0086\f\u0017j\u0004\u0010<\u00e0@\u0003\f,\u00f0\u0014x\t<\u0004\u00de\u0001\u00cf\u0080W\u00c0#\u00e0\r\u00f0\u0004x\u0001<\u0000\u00de\u00ba\u00a7\u00ee\u00a5{\u00e8\u00de\u00b9g\u00ee\u0095{\u00e4\u00de\u00b8'\u00ee\u0085{\u00e0\u00de\u00b7\u00e7\u00edu{\u00dc\u00de\u00b6\u00a7\u00ede{\u00d8\u00de\u00b5g\u00edU{\u00d4\u00de\u00b4'\u00edE{\u00d0\u00de\u00b3\u00e7\u00ec5{\u00cc\u00de\u00b2\u00a7\u00ec%{\u00c8\u00de\u00b1g\u00ec\u0015{\u00c4\u00de\u00b0'\u00ec\u0005{\u00c0\u00de\u00af\u00e7\u00eb\u00f5z\u00bc\u00de\u00ae\u00a7\u00eb\u00e5z\u00b8\u00de\u00adg\u00eb\u00d5z\u00b4\u00de\u00ac'\u00eb\u00c5z\u00b0\u00de\u00ab\u00e7\u00ea\u00b5z\u00ac\u00de\u00aa\u00a7\u00ea\u00a5z\u00a8\u00de\u00a9g\u00ea\u0095z\u00a4\u00de\u00a8'\u00ea\u0085z\u00a0\u00de\u00a7\u00e7\u00e9uz\u009c\u00de\u00a6\u00a7\u00e9ez\u0098\u00de\u00a5g\u00e9Uz\u0094\u00de\u00a4'\u00e9Ez\u0090\u00de\u00a3\u00e7\u00e85z\u008c\u00de\u00a2\u00a7\u00e8%z\u0088\u00de\u00a1g\u00e8\u0015z\u0084\u00de\u00a0'\u00e8\u0005z\u0080\u00de\u009f\u00e7\u00e7\u00f5y|\u00de\u009e\u00a7\u00e7\u00e5yx\u00de\u009dg\u00e7\u00d5yt\u00de\u009c'\u00e7\u00c5yp\u00de\u009b\u00e7\u00e6\u00b5yl\u00de\u009a\u00a7\u00e6\u00ed^\u0089\u00e1\u00a84\u0000\u00c1\u007f\u00b3\u009f\u0090\u0005\u0000\u0014@\u00fcm\u000b\u00f5}U\u00a4lx\u000f=\u00b0>1\u00e3\u00ae\\\u0086\u0096\u00e8\u00d8\t\u00fa\u00d9\u00a6\u00f5\u00beQ\u0080\u0010\u00ff=\u00b0>1\u00e3\u00ae\\\u0086\u0096\u0084\u00e8\u00d86\u00b5*\u00f7~\u00cf|\u00f7\u00c3\u009a\u008ca\u00f7\u00e3\u001a\u001bt\u00b5\u00dc\u00d3\u00ac\u0007\u0086\u00a5~{`}b\u00c6]U\u00b8\u00ccV\u00ec\u001eO\u00b0\u0086\u00fb\u00ec\u00875\u0019\u00c3\u001e\u00eeg\u00bb\u0096\u00bbO\u00c4D\u00fez`}\u0014b\u00c6\u0012\u00e5> \u000b*\u00fb\u00e9\u0001\u0082\u00f5Y\u00ef\u00e6\u001e\u00dc'\u00e9\u007f\u00f6\u00bb\u001bZ8\u00fe\u00b9\u008cyG\u009aQ "}, "dtype": "int64", "shape": [2531]}, "system": {":is_custom:": true, "__class__": "PosixPath", "__module__": "pathlib", "path": "mc1_campaign/shared/task_workdirs/HybridTopologySetupUnit-17dc05e0d79747e79d3e93e55383c9bd/hybrid_system.xml.bz2"}}, "source_key": "HybridTopologySetupUnit-17dc05e0d79747e79d3e93e55383c9bd", "start_time": {":is_custom:": true, "__class__": "datetime", "__module__": "datetime", "isotime": "2026-08-14T11:19:16.362136"}, "stderr": {}, "stdout": {}} \ No newline at end of file diff --git a/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-78baa9b66d104c5882c27fcb151b8d81 b/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-78baa9b66d104c5882c27fcb151b8d81 new file mode 100644 index 000000000..1bc5c7c1d --- /dev/null +++ b/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-78baa9b66d104c5882c27fcb151b8d81 @@ -0,0 +1 @@ +{":version:": 1, "__module__": "gufe.protocols.protocolunit", "__qualname__": "ProtocolUnitResult", "_key": "ProtocolUnitResult-78baa9b66d104c5882c27fcb151b8d81", "end_time": {":is_custom:": true, "__class__": "datetime", "__module__": "datetime", "isotime": "2026-08-14T11:25:10.128848"}, "inputs": {"generation": 0, "protocol": {":gufe-key:": "RelativeHybridTopologyProtocol-59d604ce336f12d44f6e4647a6f7e616"}, "repeat_id": 223213012988507154361364807974423595914, "setup_results": {":gufe-key:": "ProtocolUnitResult-33e1f8b9d34146baab84734e3a16cadf"}}, "name": "HybridTopology Simulation: ligand_1 to ligand_2 repeat 0 generation 0", "outputs": {"checkpoint": {":is_custom:": true, "__class__": "PosixPath", "__module__": "pathlib", "path": "mc1_campaign/shared/task_workdirs/HybridTopologyMultiStateSimulationUnit-2821f959834844a79ff406338c9e4101/checkpoint.chk"}, "generation": 0, "nc": {":is_custom:": true, "__class__": "PosixPath", "__module__": "pathlib", "path": "mc1_campaign/shared/task_workdirs/HybridTopologyMultiStateSimulationUnit-2821f959834844a79ff406338c9e4101/simulation.nc"}, "repeat_id": 223213012988507154361364807974423595914}, "source_key": "HybridTopologyMultiStateSimulationUnit-2821f959834844a79ff406338c9e4101", "start_time": {":is_custom:": true, "__class__": "datetime", "__module__": "datetime", "isotime": "2026-08-14T11:19:40.819098"}, "stderr": {}, "stdout": {}} \ No newline at end of file diff --git a/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-91ea5c49ccef4a40a84baca8efe7e4c0 b/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-91ea5c49ccef4a40a84baca8efe7e4c0 new file mode 100644 index 000000000..465e31359 --- /dev/null +++ b/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-91ea5c49ccef4a40a84baca8efe7e4c0 @@ -0,0 +1 @@ +{":version:": 1, "__module__": "gufe.protocols.protocolunit", "__qualname__": "ProtocolUnitResult", "_key": "ProtocolUnitResult-91ea5c49ccef4a40a84baca8efe7e4c0", "end_time": {":is_custom:": true, "__class__": "datetime", "__module__": "datetime", "isotime": "2026-08-14T11:26:22.120109"}, "inputs": {"generation": 0, "protocol": {":gufe-key:": "RelativeHybridTopologyProtocol-59d604ce336f12d44f6e4647a6f7e616"}, "repeat_id": 169760174163788586857416122335155600493, "setup_results": {":gufe-key:": "ProtocolUnitResult-0f16c1cb13c44d6c8ff4ffd3fe9f6406"}}, "name": "HybridTopology Simulation: ligand_1 to ligand_2 repeat 0 generation 0", "outputs": {"checkpoint": {":is_custom:": true, "__class__": "PosixPath", "__module__": "pathlib", "path": "mc1_campaign/shared/task_workdirs/HybridTopologyMultiStateSimulationUnit-f94c4264ca8f483095da93f626892c1a/checkpoint.chk"}, "generation": 0, "nc": {":is_custom:": true, "__class__": "PosixPath", "__module__": "pathlib", "path": "mc1_campaign/shared/task_workdirs/HybridTopologyMultiStateSimulationUnit-f94c4264ca8f483095da93f626892c1a/simulation.nc"}, "repeat_id": 169760174163788586857416122335155600493}, "source_key": "HybridTopologyMultiStateSimulationUnit-f94c4264ca8f483095da93f626892c1a", "start_time": {":is_custom:": true, "__class__": "datetime", "__module__": "datetime", "isotime": "2026-08-14T11:25:10.212971"}, "stderr": {}, "stdout": {}} \ No newline at end of file diff --git a/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-ac48c86b69b04a159e530c42c8008a95 b/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-ac48c86b69b04a159e530c42c8008a95 new file mode 100644 index 000000000..f243b0f7c --- /dev/null +++ b/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-ac48c86b69b04a159e530c42c8008a95 @@ -0,0 +1 @@ +{":version:": 1, "__module__": "gufe.protocols.protocolunit", "__qualname__": "ProtocolUnitResult", "_key": "ProtocolUnitResult-ac48c86b69b04a159e530c42c8008a95", "end_time": {":is_custom:": true, "__class__": "datetime", "__module__": "datetime", "isotime": "2026-08-14T11:25:34.691915"}, "inputs": {"generation": 0, "protocol": {":gufe-key:": "RelativeHybridTopologyProtocol-59d604ce336f12d44f6e4647a6f7e616"}, "repeat_id": 223150426984276242809719357896568479063, "setup_results": {":gufe-key:": "ProtocolUnitResult-5b13b16ed9834a51ac7be4751e9e5dc0"}}, "name": "HybridTopology Simulation: ligand_2 to ligand_3 repeat 0 generation 0", "outputs": {"checkpoint": {":is_custom:": true, "__class__": "PosixPath", "__module__": "pathlib", "path": "mc1_campaign/shared/task_workdirs/HybridTopologyMultiStateSimulationUnit-15972a17ad31428280da2cc53c8a6cdc/checkpoint.chk"}, "generation": 0, "nc": {":is_custom:": true, "__class__": "PosixPath", "__module__": "pathlib", "path": "mc1_campaign/shared/task_workdirs/HybridTopologyMultiStateSimulationUnit-15972a17ad31428280da2cc53c8a6cdc/simulation.nc"}, "repeat_id": 223150426984276242809719357896568479063}, "source_key": "HybridTopologyMultiStateSimulationUnit-15972a17ad31428280da2cc53c8a6cdc", "start_time": {":is_custom:": true, "__class__": "datetime", "__module__": "datetime", "isotime": "2026-08-14T11:20:00.082606"}, "stderr": {}, "stdout": {}} \ No newline at end of file diff --git a/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-b86312cf436949138a4fa959cea6bee9 b/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-b86312cf436949138a4fa959cea6bee9 new file mode 100644 index 000000000..b848c9503 --- /dev/null +++ b/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-b86312cf436949138a4fa959cea6bee9 @@ -0,0 +1 @@ +{":version:": 1, "__module__": "gufe.protocols.protocolunit", "__qualname__": "ProtocolUnitResult", "_key": "ProtocolUnitResult-b86312cf436949138a4fa959cea6bee9", "end_time": {":is_custom:": true, "__class__": "datetime", "__module__": "datetime", "isotime": "2026-08-14T11:29:07.623725"}, "inputs": {"generation": 0, "protocol": {":gufe-key:": "RelativeHybridTopologyProtocol-59d604ce336f12d44f6e4647a6f7e616"}, "repeat_id": 169760174163788586857416122335155600493, "setup_results": {":gufe-key:": "ProtocolUnitResult-0f16c1cb13c44d6c8ff4ffd3fe9f6406"}, "simulation_results": {":gufe-key:": "ProtocolUnitResult-91ea5c49ccef4a40a84baca8efe7e4c0"}}, "name": "HybridTopology Analysis: ligand_1 to ligand_2 repeat 0 generation 0", "outputs": {"checkpoint": {":is_custom:": true, "__class__": "PosixPath", "__module__": "pathlib", "path": "mc1_campaign/shared/task_workdirs/HybridTopologyMultiStateSimulationUnit-f94c4264ca8f483095da93f626892c1a/checkpoint.chk"}, "equilibration_iterations": 5.0, "forward_and_reverse_energies": {"forward_DGs": {":is_custom:": true, "magnitude": {":is_custom:": true, "__class__": "ndarray", "__module__": "numpy", "bytes": {":is_custom:": true, "__class__": "bytes", "__module__": "builtins", "latin-1": "(\u00b5/\u00fd P\u00c5\u0001\u0000\u00d4\u0002\u0082\u0093\u0086%>e\u001f@em\u00c84\u00d3K @\u0004\u00b9\u00e0>2o\u0016\u008eA\u0082-YL&K%JF\u00cb\u0016@\u00bc\u0006 \u00fc\u00e4\u0013\u0017@\u0003\u0000`\u0017\u00a0\u00a8CJ\u001c"}, "dtype": "float64", "shape": [10]}, "pint_unit_registry": "openff_units", "unit": "kilocalorie_per_mole"}, "forward_dDGs": {":is_custom:": true, "magnitude": {":is_custom:": true, "__class__": "ndarray", "__module__": "numpy", "bytes": {":is_custom:": true, "__class__": "bytes", "__module__": "builtins", "latin-1": "(\u00b5/\u00fd P\u00c5\u0001\u0000\u00d4\u00024\nk\u00cbc\u008cp@\u0080\u0092\u00ad\u00fa\f\u00d4h@\u009d\u00eeM\u00e0\u00ed\u00ba\"s\u0002+\u00e6G\u0094\u00d8\u0003\u00cb.\u0012\u00b0!@\u009a\u00c5mKDY!@\u0003\u0000`\u0017\u00a0\u00a8CJ\u001c"}, "dtype": "float64", "shape": [10]}, "pint_unit_registry": "openff_units", "unit": "kilocalorie_per_mole"}, "fractions": {":is_custom:": true, "__class__": "ndarray", "__module__": "numpy", "bytes": {":is_custom:": true, "__class__": "bytes", "__module__": "builtins", "latin-1": "(\u00b5/\u00fd P=\u0001\u0000\u0088UU\u00c5?U\u00d5?\u0000\u00e0\u00e5\u00e5?\u00ab\u00aa\u00ea\u00f0?\t\u0000C\u00a5\u00c0Y\u0002\u00f9\u0086\u001a\u00b1R\u0017w\u00cd\n\u0002p\u00c3\u0002X"}, "dtype": "float64", "shape": [10]}, "reverse_DGs": {":is_custom:": true, "magnitude": {":is_custom:": true, "__class__": "ndarray", "__module__": "numpy", "bytes": {":is_custom:": true, "__class__": "bytes", "__module__": "builtins", "latin-1": "(\u00b5/\u00fd P\u00cd\u0001\u0000\u00e4\u00029*\u00c9$\u00ad\u00df6@\u00cc?Nk$\u00ed0@\u00c5W\u0016=J\u00ab6\u0098\u00da\u00b7\u00d1\u00f2o\u0017\u0085~Nn\u0014=\u0017@\u00bc\u0006 \u00fc\u00e4\u0013\u0017@\u0003\u0000\u00a0\u0018\u00a0\u00a8CJ\u001c"}, "dtype": "float64", "shape": [10]}, "pint_unit_registry": "openff_units", "unit": "kilocalorie_per_mole"}, "reverse_dDGs": {":is_custom:": true, "magnitude": {":is_custom:": true, "__class__": "ndarray", "__module__": "numpy", "bytes": {":is_custom:": true, "__class__": "bytes", "__module__": "builtins", "latin-1": "(\u00b5/\u00fd P\u00d5\u0001\u0000\u00f4\u0002l\u00e9\u00d4\u00df,\u00a2\u00d5?\u00abW\u00a94o\u0005\u00cd?*\u008e,\r\u00dbM\u00c6\u009b\u00c0\u00fc8`=\"@\u00c9\u00a8\u0015`\u00e7\u009d!@\u009a\u00c5mKDY!@\u0003\u0000\u0080p\u00a0\u00a8CJ\u001c"}, "dtype": "float64", "shape": [10]}, "pint_unit_registry": "openff_units", "unit": "kilocalorie_per_mole"}}, "generation": 0, "pdb_structure": {":is_custom:": true, "__class__": "PosixPath", "__module__": "pathlib", "path": "mc1_campaign/shared/task_workdirs/HybridTopologySetupUnit-78321eda905c4c2c9f75eb69c36496da/hybrid_system.pdb"}, "production_iterations": 7.0, "repeat_id": 169760174163788586857416122335155600493, "replica_exchange_statistics": {"eigenvalues": {":is_custom:": true, "__class__": "ndarray", "__module__": "numpy", "bytes": {":is_custom:": true, "__class__": "bytes", "__module__": "builtins", "latin-1": "(\u00b5/\u00fd \u0018\u008d\u0000\u00008\u0000\u0000\u00f0?\u0000\u00e0?\u0003\u0000+\u0004\u00c0\r\u000b`\u0001"}, "dtype": "float64", "shape": [3]}, "matrix": {":is_custom:": true, "__class__": "ndarray", "__module__": "numpy", "bytes": {":is_custom:": true, "__class__": "bytes", "__module__": "builtins", "latin-1": "(\u00b5/\u00fd H\u00c5\u0000\u0000P\u0000\u0000\u00f0?\u0000\u00e8\u00d0?\u00e8?\u0005\u00003\t\u0000$\u000e\u00e52p\u008e\u0005m"}, "dtype": "float64", "shape": [3, 3]}}, "selection_indices": {":is_custom:": true, "__class__": "ndarray", "__module__": "numpy", "bytes": {":is_custom:": true, "__class__": "bytes", "__module__": "builtins", "latin-1": "(\u00b5/\u00fd \u00b8\r\u0003\u0000$\u0003\u0000\u0000\u0001\u0000\u0002\u0000\u0003\u0000\u0004\u0000\u0005\u0000\u0006\u0000\u0007\u0000\b\u0000\t\u0000\n\u0000\u000b\u0000\f\u0000\r\u0000\u000e\u0000\u000f\u0000\u0010\u0000\u00fb\u0006\u00fc\u0006\u00fd\u0006\u00fe\u0006\u00ff\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0016\u0000``00\u0018\u0018\u0006R!\u0007\u00901\u0018\u0018\f\f\u0006\u0006\u0003\u0083\u0081\u00c1\u00c0``00\u0018\u0018\f\f\u0006\u0006\u0003\u0083\u0081\u00c1\u00c0`\u00e0\u0001`\u0001"}, "dtype": "int64", "shape": [23]}, "structural_analysis_error": "index 0 is out of bounds for axis 0 with size 0", "trajectory": {":is_custom:": true, "__class__": "PosixPath", "__module__": "pathlib", "path": "mc1_campaign/shared/task_workdirs/HybridTopologyMultiStateSimulationUnit-f94c4264ca8f483095da93f626892c1a/simulation.nc"}, "unit_estimate": {":is_custom:": true, "magnitude": 5.76942819543336, "pint_unit_registry": "openff_units", "unit": "kilocalorie_per_mole"}, "unit_estimate_error": {":is_custom:": true, "magnitude": 3.759906514128199, "pint_unit_registry": "openff_units", "unit": "kilocalorie_per_mole"}, "unit_mbar_overlap": {"eigenvalues": {":is_custom:": true, "__class__": "ndarray", "__module__": "numpy", "bytes": {":is_custom:": true, "__class__": "bytes", "__module__": "builtins", "latin-1": "(\u00b5/\u00fd \u0018\u00c1\u0000\u0000\u000e\u00fa\u00ff\u00ff\u00ff\u00ff\u00ef?\u0099B\u0083\u00a6r\u00f6\u00ef?@\u00f0\t\u001a\u008bO\u00d2?"}, "dtype": "float64", "shape": [3]}, "matrix": {":is_custom:": true, "__class__": "ndarray", "__module__": "numpy", "bytes": {":is_custom:": true, "__class__": "bytes", "__module__": "builtins", "latin-1": "(\u00b5/\u00fd H\u00d5\u0001\u0000\u00e4\u0002\u0004`\"V\u00a1\u00f9\u00ef?\fa\u00c900\u009aE?F\u00d9X.\u00ba\u0003\u001f\u00f6\u0094\u00957\u0014\u0090\u00e4?)o\u00bcx\n\u00d5\u00d6\u00d0?\u00d0\u00a5\u0082\u0094\u00e4?\u0003\u0000\u0080\u0000C\u0095z\u008a)\u0006"}, "dtype": "float64", "shape": [3, 3]}, "scalar": 0.0011660335348268047}}, "source_key": "HybridTopologyMultiStateAnalysisUnit-7e9620845eff4575a757b1993e88d517", "start_time": {":is_custom:": true, "__class__": "datetime", "__module__": "datetime", "isotime": "2026-08-14T11:26:26.853220"}, "stderr": {}, "stdout": {}} \ No newline at end of file diff --git a/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-c7bd47185d5549f39bfb53d4385328a5 b/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-c7bd47185d5549f39bfb53d4385328a5 new file mode 100644 index 000000000..9ec79edb2 --- /dev/null +++ b/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-c7bd47185d5549f39bfb53d4385328a5 @@ -0,0 +1 @@ +{":version:": 1, "__module__": "gufe.protocols.protocolunit", "__qualname__": "ProtocolUnitResult", "_key": "ProtocolUnitResult-c7bd47185d5549f39bfb53d4385328a5", "end_time": {":is_custom:": true, "__class__": "datetime", "__module__": "datetime", "isotime": "2026-08-14T11:26:51.521492"}, "inputs": {"generation": 0, "protocol": {":gufe-key:": "RelativeHybridTopologyProtocol-59d604ce336f12d44f6e4647a6f7e616"}, "repeat_id": 223213012988507154361364807974423595914, "setup_results": {":gufe-key:": "ProtocolUnitResult-33e1f8b9d34146baab84734e3a16cadf"}, "simulation_results": {":gufe-key:": "ProtocolUnitResult-78baa9b66d104c5882c27fcb151b8d81"}}, "name": "HybridTopology Analysis: ligand_1 to ligand_2 repeat 0 generation 0", "outputs": {"checkpoint": {":is_custom:": true, "__class__": "PosixPath", "__module__": "pathlib", "path": "mc1_campaign/shared/task_workdirs/HybridTopologyMultiStateSimulationUnit-2821f959834844a79ff406338c9e4101/checkpoint.chk"}, "equilibration_iterations": 2.0, "forward_and_reverse_energies": {"forward_DGs": {":is_custom:": true, "magnitude": {":is_custom:": true, "__class__": "ndarray", "__module__": "numpy", "bytes": {":is_custom:": true, "__class__": "bytes", "__module__": "builtins", "latin-1": "(\u00b5/\u00fd P\u0081\u0002\u0000\u001f\u00e0\"(~},@\u001f\u00e0\"(~},@:\u001ep\u0017\u00ff\u00fb(@,\u00d0\u00d1,hV\"@\u00ac\u00edX\u009a\u009e90@\u00e0f\b\u00d7\u001c\u00a7\u0014@\u0006\u00d0\u00b9\u00e2\u00e3\u00ac\u0014@\u00de,\u00acg\u00ee4\u0015@\u000b\u00ea\u00c6\u00b2\u00ecG\u0016@\u0090w.\u00d250\u0016@"}, "dtype": "float64", "shape": [10]}, "pint_unit_registry": "openff_units", "unit": "kilocalorie_per_mole"}, "forward_dDGs": {":is_custom:": true, "magnitude": {":is_custom:": true, "__class__": "ndarray", "__module__": "numpy", "bytes": {":is_custom:": true, "__class__": "bytes", "__module__": "builtins", "latin-1": "(\u00b5/\u00fd Pe\u0002\u00004\u0004\u0085B\u00a9x\u008d\u00c6\u0083?\u00a6`\u00c4s\"\u00a3\u00bb?\u0000\u00f8\u007f;\u0097\u00bb\t\u00d3\u00b0\u00b4?\u0002\u00b9\u001d\u008bAPY@\u00f0d@\u00b2m,X@\u00e3?\u00a9R/oV@V\u00de\u00fe\u00fab\u0002S@z0\u001dd\u0001\u00b4R@\u0002\u00008qF\u0014."}, "dtype": "float64", "shape": [10]}, "pint_unit_registry": "openff_units", "unit": "kilocalorie_per_mole"}, "fractions": {":is_custom:": true, "__class__": "ndarray", "__module__": "numpy", "bytes": {":is_custom:": true, "__class__": "bytes", "__module__": "builtins", "latin-1": "(\u00b5/\u00fd P\u00b5\u0001\u00004\u0002\u001c\u00c7q\u001c\u00c7q\u00bc?\u00cc?U\u00d5\u00dc?r\u00e1\u00e5?9\u008e\u00e38\u008e\u00e3\u00e8\u00ec?\u0000\u0000\u0000\u0000\u0000\u0000\u00f0?\u0006\u0000C\u00e5\u00db\u0099\u0097\u00a86;\u00dd\u00c5\tcr\u00e1\u0002"}, "dtype": "float64", "shape": [10]}, "reverse_DGs": {":is_custom:": true, "magnitude": {":is_custom:": true, "__class__": "ndarray", "__module__": "numpy", "bytes": {":is_custom:": true, "__class__": "bytes", "__module__": "builtins", "latin-1": "(\u00b5/\u00fd P\u0081\u0002\u0000\u00fbG>@9-3@\u00fbG>@9-3@\u00cd\u00d4\u00e6s\u007f: @\u0096\u00e0\u00b1Y\u00d8o @$\u00b1\n\u00d2$D @\u00e7dp\u008c\u00d5\u0016\u0016@\u0086F\u00e8\u00d0\u00de\u00f2\u0015@l+\u00fcD\u00c7?\u0016@\u0013zJ\u00ac\u0096\u000f\u0016@\u0090w.\u00d250\u0016@"}, "dtype": "float64", "shape": [10]}, "pint_unit_registry": "openff_units", "unit": "kilocalorie_per_mole"}, "reverse_dDGs": {":is_custom:": true, "magnitude": {":is_custom:": true, "__class__": "ndarray", "__module__": "numpy", "bytes": {":is_custom:": true, "__class__": "bytes", "__module__": "builtins", "latin-1": "(\u00b5/\u00fd P\u0081\u0002\u0000\u00dfj\u0086\u00d8\u00b8\u0091\u00cb?\u00dfj\u0086\u00d8\u00b8\u0091\u00cb?W\u00cb\u00db?\u00f0,\u008a@\u0012\u00ad7\u00e0U\u00cb\u0088@c-\u000e\u00017&\u0088@9\re}:7T@H\u00a23d`\u0006T@\u00d1Tz\u008db\u00e5S@\u009aV\u001c\u00ff\u0019\u001cS@z0\u001dd\u0001\u00b4R@"}, "dtype": "float64", "shape": [10]}, "pint_unit_registry": "openff_units", "unit": "kilocalorie_per_mole"}}, "generation": 0, "pdb_structure": {":is_custom:": true, "__class__": "PosixPath", "__module__": "pathlib", "path": "mc1_campaign/shared/task_workdirs/HybridTopologySetupUnit-d568ebe569b445c7875d9b6d5ce04cd0/hybrid_system.pdb"}, "production_iterations": 10.0, "repeat_id": 223213012988507154361364807974423595914, "replica_exchange_statistics": {"eigenvalues": {":is_custom:": true, "__class__": "ndarray", "__module__": "numpy", "bytes": {":is_custom:": true, "__class__": "bytes", "__module__": "builtins", "latin-1": "(\u00b5/\u00fd \u0018\u00c1\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00f0?\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ef?\u00b6m\u00db\u00b6m\u00db\u00e6?"}, "dtype": "float64", "shape": [3]}, "matrix": {":is_custom:": true, "__class__": "ndarray", "__module__": "numpy", "bytes": {":is_custom:": true, "__class__": "bytes", "__module__": "builtins", "latin-1": "(\u00b5/\u00fd HM\u0001\u0000\u00e0\u0000\u0000\u00f0?\u0000\u00db\u00b6m\u00db\u00b6m\u00eb?\u0092$I\u0092$I\u00c2\u00db\u00b6m\u00db\u00b6m\u00eb?\u0004\u00003\t\u00b0TQA9\u0016\u00b4\u0001"}, "dtype": "float64", "shape": [3, 3]}}, "selection_indices": {":is_custom:": true, "__class__": "ndarray", "__module__": "numpy", "bytes": {":is_custom:": true, "__class__": "bytes", "__module__": "builtins", "latin-1": "(\u00b5/\u00fd`\u0018N\u00ad\u0087\u0000j9iA\u001c\u0010\u0018<\f\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u00000\u0000\u0000\u0000P\u0002\u0000\u00004\u0093R\u00a6\u0094RJ)\u00ef\u0003\u00f6\u0003\u0004\u0004sV\u00ce\u00c6Y8\u00fbf\u00ddl\u009be\u00b3kV\u00cd\u00ee6\u00cd\u00a2\u00d93kf\u00cb,\u0099\u001d\u00b3b6\u00cc\u0082\u00d9/\u00ebe\u00bb,\u0097\u00dd\u00b2Z6\u00cbb\u00d9+ke\u00ab,\u0095\u009d\u00b2R6\u00caB\u00d9'\u00ebd\u009b,\u0093]\u00b2J6\u00c9\"\u00d9#kd\u008b,\u0091\u001d\u00b2B6\u00c8\u0002\u00d9\u001f\u00ebc{,\u008f\u00dd\u00b1:6\u00c7\u00e2\u00d8\u001bkck,\u008d\u009d\u00b126\u00c6\u00c2\u00d8\u0017\u00ebb[,\u008b]\u00b1*6\u00c5\u00a2\u00d8\u0013kbK,\u0089\u001d\u00b1\"6\u00c4\u0082\u00d8\u000f\u00eba;,\u0087\u00dd\u00b0\u001a6\u00c3b\u00d8\u000bka+,\u0085\u009d\u00b0\u00126\u00c2B\u00d8\u0007\u00eb`\u001b,\u0083]\u00b0\n6\u00c1\u00c6\u0085\u00fb\u00f6\u00d7\u00b7\u0097wW#P\b\u00f4\u0001u@\u001bP\u0006t\u0001U@\u0013P\u0004\u00f4\u00005@\u000bP\u0002t\u0000\u0015@\u0003P\u0000t\u009d\u00aa\u00d3t\u008aN\u00cf\u00a99-\u00a7\u00e4t\u009c\u008a\u00d3p\nN\u00bf\u00a97\u00ed\u00a6\u00dct\u009bj\u00d3l\u008aM\u00af\u00a95\u00ad\u00a6\u00d4t\u009aJ\u00d3h\nM\u009f\u00a93m\u00a6\u00cct\u0099*\u00d3d\u008aL\u008f\u00a91-\u00a6\u00c4t\u0098\n\u00d3`\nL\u007f\u00a9/\u00ed\u00a5\u00bct\u0097\u00ea\u00d2\\\u008aKo\u00a9-\u00ad\u00a5\u00b4t\u0096\u00ca\u00d2X\nK_\u00a9+m\u00a5\u00act\u0095\u00aa\u00d2T\u008aJO\u00a9)-\u00a5\u00a4t\u0094\u008a\u00d2P\nJ?\u00a9'\u00ed\u00a4\u009ct\u0093j\u00d2L\u008aI/\u00a9%\u00ad\u00a4\u0094t\u0092J\u00d2H\nI\u001f\u00a9#m\u00a4\u008ct\u0091*\u00d2D\u008aH\u000f\u00a9!-\u00a4\u0084t\u0090\n\u00d2@\nH\u00ff\u00a8\u001f\u00ed\u00a3|t\u008f\u00ea\u00d1<\u008aG\u00ef\u00a8\u001d\u00ad\u00a3tt\u008e\u00ca\u00d18\nG\u00df\u00a8\u001bm\u00a3lt\u008d\u00aa\u00d1\u009d\u00a6Q4zF\u00cdh\u0019%\u00a3cT\u008c\u0086Q0\u00faE\u00bdh\u0017\u00e5\u00a2[T\u008bfQ,zE\u00adh\u0015\u00a5\u00a2ST\u008aFQ(\u00faD\u009dh\u0013e\u00a2KT\u0089&Q$zD\u008dh\u0011%\u00a2CT\u0088\u0006Q \u00faC}h\u000f\u00e5\u00a1;T\u0087\u00e6P\u001czCmh\r\u00a5\u00a13T\u0086\u00c6P\u0018\u00faB]h\u000be\u00a1+T\u0085\u00a6P\u0014zBMh\t%\u00a1#T\u0084\u0086P\u0010\u00faA=h\u0007\u00e5\u00a0\u001bT\u0083fP\fzA-h\u0005\u00a5\u00a0\u0013T\u0082FP\b\u00fa@\u001dh\u0003e\u00a0\u000bT\u0081&\u00d0\u00a8P\u009f\u00be\u00ba\u00b6\u00b2\u00aejF\u0090\u0010\u00e4\u0003\u00e9@6\u0090\f\u00e4\u0002\u00a9@&\u0090\b\u00e4\u0001i@\u0016\u0090\u0004\u00e4\u0000)@\u0006\u0090\u0000\u00e4\u00baT\u0097\u00e9\u0012]\u009eKsY.\u00c9\u00e5\u00b8\u0014\u0097\u00e1\u0012\\~Ko\u00d9-\u00b9\u00e5\u00b6\u00d4\u0096\u00d9\u0012[^KkY-\u00a9\u00e5\u00b4\u0094\u0096\u00d1\u0012Z>Kg\u00d9,\u0099\u00e5\u00b2T\u0096\u00c9\u0012Y\u001eKcY,\u0089\u00e5\u00b0\u0014\u0096\u00c1\u0012X\u00feJ_\u00d9+y\u00e5\u00ae\u00d4\u0095\u00b9\u0012W\u00deJ[Y+i\u00e5\u00ac\u0094\u0095\u00b1\u0012V\u00beJW\u00d9*Y\u00e5\u00aaT\u0095\u00a9\u0012U\u009eJSY*I\u00e5\u00a8\u0014\u0095\u00a1\u0012T~JO\u00d9)9\u00e5\u00a6\u00d4\u0094\u0099\u0012S^JKY))\u00e5\u00a4\u0094\u0094\u0091\u0012R>JG\u00d9(\u0019\u00e5\u00a2T\u0094\u0089\u0012Q\u001eJCY(\t\u00e5\u00a0\u0014\u0094\u0081\u0012P\u00feI?\u00d9'\u00f9\u00e4\u009e\u00d4\u0093y\u0012O\u00deI;Y'\u00e9\u00e4\u009c\u0094\u0093q\u0012N\u00beI7\u00d9&\u00d9\u00e4\u009aT\u0093\u00bbL\u0093h\u00f2L\u009a\u00c92I&\u00c7\u00a4\u0098\f\u0093`\u00f2Kz\u00c9.\u00c9%\u00b7\u00a4\u0096\u00cc\u0092X\u00f2JZ\u00c9*I%\u00a7\u00a4\u0094\u008c\u0092P\u00f2I:\u00c9&\u00c9$\u0097\u00a4\u0092L\u0092H\u00f2H\u001a\u00c9\"I$\u0087\u00a4\u0090\f\u0092@\u00f2G\u00fa\u00c8\u001e\u00c9#w\u00a4\u008e\u00cc\u00918\u00f2F\u00da\u00c8\u001aI#g\u00a4\u008c\u008c\u00910\u00f2E\u00ba\u00c8\u0016\u00c9\"W\u00a4\u008aL\u0091(\u00f2D\u009a\u00c8\u0012I\"G\u00a4\u0088\f\u0091 \u00f2Cz\u00c8\u000e\u00c9!7\u00a4\u0086\u00cc\u0090\u0018\u00f2BZ\u00c8\nI!'\u00a4\u0084\u008c\u0090\u0010\u00f2A:\u00c8\u0006\u00c9 \u0017\u00a4\u0082L\u00901a\u00be\u00fc\u00f4\u00ec\u00e4\u00dc\u00d4\u00cc\u00ad\u00ae\u00d35\u00ba>\u00d7\u00e6\u00ba\\\u0093\u00ebq-\u00ae\u00c35\u00b8\u00fe\u00d6\u00de\u00ba[s\u00ebm\u00ad\u00ad\u00b35\u00b6\u00be\u00d6\u00d6\u00baZS\u00ebi-\u00ad\u00a35\u00b4~\u00d6\u00ce\u00baY3\u00ebe\u00ad\u00ac\u00935\u00b2>\u00d6\u00c6\u00baX\u0013\u00eba-\u00ac\u00835\u00b0\u00fe\u00d5\u00be\u00baW\u00f3\u00ea]\u00ad\u00abs5\u00ae\u00be\u00d5\u00b6\u00baV\u00d3\u00eaY-\u00abc5\u00ac~\u00d5\u00ae\u00baU\u00b3\u00eaU\u00ad\u00aaS5\u00aa>\u00d5\u00a6\u00baT\u0093\u00eaQ-\u00aaC5\u00a8\u00fe\u00d4\u009e\u00baSs\u00eaM\u00ad\u00a935\u00a6\u00be\u00d4\u0096\u00baRS\u00eaI-\u00a9#5\u00a4~\u00d4\u008e\u00baQ3\u00eaE\u00ad\u00a8\u00135\u00a2>\u00d4\u0086\u00baP\u0013\u00eaA-\u00a8\u00035\u00a0\u00fe\u00d3~\u00baO\u00f3\u00e9=\u00ad\u00a7\u00f34\u009e\u00be\u00d3v\u00baN\u00d3\u00e99-\u00a7\u00e34\u009c~\u00d3n\u00baM\u00b3\u00e95\u00ad\u00a6w\u009d\u00a6\u00d1\u00f4\u00996\u00d3e\u009aL\u008fi1\u001d\u00a6\u00c1\u00f4\u0097\u00f6\u00d2]\u009aKoi-\u009d\u00a5\u00b1\u00f4\u0095\u00b6\u00d2U\u009aJOi)\u001d\u00a5\u00a1\u00f4\u0093v\u00d2M\u009aI/i%\u009d\u00a4\u0091\u00f4\u00916\u00d2E\u009aH\u000fi!\u001d\u00a4\u0081\u00f4\u008f\u00f6\u00d1=\u009aG\u00efh\u001d\u009d\u00a3q\u00f4\u008d\u00b6\u00d15\u009aF\u00cfh\u0019\u001d\u00a3a\u00f4\u008bv\u00d1-\u009aE\u00afh\u0015\u009d\u00a2Q\u00f4\u00896\u00d1%\u009aD\u008fh\u0011\u001d\u00a2A\u00f4\u0087\u00f6\u00d0\u001d\u009aCoh\r\u009d\u00a11\u00f4\u0085\u00b6\u00d0\u0015\u009aBOh\t\u001d\u00a1!\u00f4\u0083v\u00d0\r\u009aA/h\u0005\u009d\u00a0c\u00c3~\u00fd\u00ed\u00dd\u00cd\u00bd\u00ad\u0011@\u00f0\u0000;\u00c0\r0\u0003\u00bc\u0000+\u00c0\t0\u0002|\u0000\u001b\u00c0\u00050\u0001<\u0000\u000b\u00c0\u00010\u0000\u00bc\u008e\u00d5q:F\u00c7\u00e7\u00d8\u001c\u0097cr<\u008e\u00c5q8\u0006\u00c7\u00df\u00d8\u001bwcn\u00bc\u008d\u00b5q6\u00c6\u00c6\u00d7\u00d8\u001aWcj<\u008d\u00a5q4\u0086\u00c6\u00cf\u00d8\u00197cf\u00bc\u008c\u0095q2F\u00c6\u00c7\u00d8\u0018\u0017cb<\u008c\u0085q0\u0006\u00c6\u00bf\u00d8\u0017\u00f7b^\u00bc\u008buq.\u00c6\u00c5\u00b7\u00d8\u0016\u00d7bZ<\u008beq,\u0086\u00c5\u00af\u00d8\u0015\u00b7bV\u00bc\u008aUq*F\u00c5\u00a7\u00d8\u0014\u0097bR<\u008aEq(\u0006\u00c5\u009f\u00d8\u0013wbN\u00bc\u00895q&\u00c6\u00c4\u0097\u00d8\u0012WbJ<\u0089%q$\u0086\u00c4\u008f\u00d8\u00117bF\u00bc\u0088\u0015q\"F\u00c4\u0087\u00d8\u0010\u0017bB<\u0088\u0005q \u0006\u00c4\u007f\u00d8\u000f\u00f7a>\u00bc\u0087\u00f5p\u001e\u00c6\u00c3w\u00d8\u000e\u00d7a:<\u0087\u00e5p\u001c\u0086\u00c3o\u00d8\r\u00b7a6\u00bc\u0086\u00d5\u00f0\u008e\u00d30\u001a>\u00c3f\u00b8\f\u0093\u00e11,\u0086\u00c30\u0018\u00fe\u00c2^\u00b8\u000bs\u00e1-\u00ac\u0085\u00b30\u0016\u00be\u00c2V\u00b8\nS\u00e1),\u0085\u00a30\u0014~\u00c2N\u00b8\t3\u00e1%\u00ac\u0084\u00930\u0012>\u00c2F\u00b8\b\u0013\u00e1!,\u0084\u00830\u0010\u00fe\u00c1>\u00b8\u0007\u00f3\u00e0\u001d\u00ac\u0083s0\u000e\u00be\u00c16\u00b8\u0006\u00d3\u00e0\u0019,\u0083c0\f~\u00c1.\u00b8\u0005\u00b3\u00e0\u0015\u00ac\u0082S0\n>\u00c1&\u00b8\u0004\u0093\u00e0\u0011,\u0082C0\b\u00fe\u00c0\u001e\u00b8\u0003s\u00e0\r\u00ac\u008130\u0006\u00be\u00c0\u0016\u00b8\u0002S\u00e0\t,\u0081#0\u0004~\u00c0\u000e\u00b8\u00013\u00e0\u0005\u00ac\u0080\u0013pd\u00c8\u008f\u009f\u009d\u009b\u0099\u00975\u0002\b\u00f6\u0081u`\u001bX\u0006v\u0081U`\u0013X\u0004\u00f6\u00805`\u000bX\u0002v\u0080\u0015`\u0003X\u0000v\u00dd\u00aa\u00dbt\u008bn\u00cf\u00ad\u00b9-\u00b7\u00e4v\u00dc\u008a\u00dbp\u000bn\u00bf\u00ad\u00b7\u00ed\u00b6\u00dcv\u00dbj\u00dbl\u008bm\u00af\u00ad\u00b5\u00ad\u00b6\u00d4v\u00daJ\u00dbh\u000bm\u009f\u00ad\u00b3m\u00b6\u00ccv\u00d9*\u00dbd\u008bl\u008f\u00ad\u00b1-\u00b6\u00c4v\u00d8\n\u00db`\u000bl\u007f\u00ad\u00af\u00ed\u00b5\u00bcv\u00d7\u00ea\u00da\\\u008bko\u00ad\u00ad\u00ad\u00b5\u00b4v\u00d6\u00ca\u00daX\u000bk_\u00ad\u00abm\u00b5\u00acv\u00d5\u00aa\u00daT\u008bjO\u00ad\u00a9-\u00b5\u00a4v\u00d4\u008a\u00daP\u000bj?\u00ad\u00a7\u00ed\u00b4\u009cv\u00d3j\u00daL\u008bi/\u00ad\u00a5\u00ad\u00b4\u0094v\u00d2J\u00daH\u000bi\u001f\u00ad\u00a3m\u00b4\u008cv\u00d1*\u00daD\u008bh\u000f\u00ad\u00a1-\u00b4\u0084v\u00d0\n\u00da@\u000bh\u00ff\u00ac\u009f\u00ed\u00b3|v\u00cf\u00ea\u00d9<\u008bg\u00ef\u00ac\u009d\u00ad\u00b3t6i\u001e\u009aw\u00e6\u0099ye\u001e\u00997\u00e6\u0089ya\u001e\u0098\u00f7\u00e5yy]\u001e\u0097\u00b7\u00e5iyY\u001e\u0096w\u00e5YyU\u001e\u00957\u00e5IyQ\u001e\u0094\u00f7\u00e49yM\u001e\u0093\u00b7\u00e4)yI\u001e\u0092w\u00e4\u0019yE\u001e\u00917\u00e4\tyA\u001e\u0090\u00f7\u00e3\u00f9x=\u001e\u008f\u00b7\u00e3\u00e9x9\u001e\u008ew\u00e3\u00d9x5\u001e\u008d7\u00e3\u00c9x1\u001e\u008c\u00f7\u00e2\u00b9x-\u001e\u008b\u00b7\u00e2\u00a9x)\u001e\u008aw\u00e2\u0099x%\u001e\u00897\u00e2\u0089x!\u001e\u0088\u00f7\u00e1yx\u001d\u001e\u0087\u00b7\u00e1ix\u0019\u001e\u0086w\u00e1Yx\u0015\u001e\u00857\u00e1Ix\u0011\u001e\u0084\u00f7\u00e09x\r\u001e\u0083\u00b7\u00e0)x\t^|\u00f0\u00bd\u00f7\u00cf_?~\u00fb4\u0002\b\u001ep\u00a0\u0001\u0006~\u0081W\u00e0\u0013x\u0004\u00fe\u00807\u00e0\u000bx\u0002~\u0080\u0017\u00e0\u0003x\u0000~\u00dd\u00ab\u00fbt\u008f\u00ee\u00cf\u00bd\u00b9/\u00f7\u00e4~\u00dc\u008b\u00fbp\u000f\u00ee\u00bf\u00bd\u00b7\u00ef\u00f6\u00dc~\u00dbk\u00fbl\u008f\u00ed\u00af\u00bd\u00b5\u00af\u00f6\u00d4~\u00daK\u00fbh\u000f\u00ed\u009f\u00bd\u00b3o\u00f6\u00cc~\u00d9+\u00fbd\u008f\u00ec\u008f\u00bd\u00b1/\u00f6\u00c4~\u00d8\u000b\u00fb`\u000f\u00ec\u007f\u00bd\u00af\u00ef\u00f5\u00bc~\u00d7\u00eb\u00fa\\\u008f\u00ebo\u00bd\u00ad\u00af\u00f5\u00b4~\u00d6\u00cb\u00faX\u000f\u00eb_\u00bd\u00abo\u00f5\u00ac~\u00d5\u00ab\u00faT\u008f\u00eaO\u00bd\u00a9/\u00f5\u00a4~\u00d4\u008b\u00faP\u000f\u00ea?\u00bd\u00a7\u00ef\u00f4\u009c~\u00d3k\u00faL\u008f\u00e9/\u00bd\u00a5\u00af\u00f4\u0094~\u00d2K\u00faH\u000f\u00e9\u001f\u00bd\u00a3o\u00f4\u008c~\u00d1+\u00faD\u008f\u00e8\u000f\u00bd\u00a1/\u00f4\u0084~\u00d0\u000b\u00fa@\u000f\u00e8\u00ff\u00bc\u009f\u00ef\u00f3|~\u00cf\u00eb\u00f9<\u008f\u00e7\u00ef\u00bc\u009d\u00af\u00f3t~\u00ce\u00cb\u00f98\u000f\u00e7\u00df\u00bc\u009bo\u00f3l~\u00cd\u00ab\u00f9\u00dd\u00a7y4\u007f\u00e6\u00cd|\u0099'\u00f3c^\u00cc\u0087y0\u00ff\u00e5\u00bd|\u0097\u00e7\u00f2[^\u00cbgy,\u007f\u00e5\u00ad|\u0095\u00a7\u00f2S^\u00caGy(\u00ff\u00e4\u009d|\u0093g\u00f2K^\u00c9'y$\u007f\u00e4\u008d|\u0091'\u00f2C^\u00c8\u0007y \u00ff\u00e3}|\u008f\u00e7\u00f1;^\u00c7\u00e7x\u001c\u007f\u00e3m|\u008d\u00a7\u00f13^\u00c6\u00c7x\u0018\u00ff\u00e2]|\u008bg\u00f1+^\u00c5\u00a7x\u0014\u007f\u00e2M|\u0089'\u00f1#^\u00c4\u0087x\u0010\u00ff\u00e1=|\u0087\u00e7\u00f0\u001b^\u00c3gx\f\u007f\u00e1-|\u0085\u00a7\u00f0\u0013^\u00c2Gx\b\u00ff\u00e0\u001d|\u0083g\u00f0\u000b^\u00c1'\u00f8\u00f8\u00f0\u00df\u00ff\u00fb\u00f7\u00f3\u00efk\u0004\u0010<\u00e0@\u0003\u00ce\u0080/\u00e0\nx\u0002\u008e\u0080\u001f\u00e0\u0006x\u0001N\u0080\u000f\u00e0\u0002x\u0000\u000e\u0080\u00afsu\u009e\u00ce\u00d1\u00f997\u00e7\u00e5\u009c\u009c\u008fsq\u001e\u00ce\u00c1\u00f97\u00f7\u00e6\u00dd\u009c\u009bosm\u009e\u00cd\u00b1\u00f95\u00b7\u00e6\u00d5\u009c\u009aOsi\u001e\u00cd\u00a1\u00f93w\u00e6\u00cd\u009c\u0099/se\u009e\u00cc\u0091\u00f917\u00e6\u00c5\u009c\u0098\u000fsa\u001e\u00cc\u0081\u00f9/\u00f7\u00e5\u00bd\u009c\u0097\u00efr]\u009e\u00cbq\u00f9-\u00b7\u00e5\u00b5\u009c\u0096\u00cfrY\u001e\u00cba\u00f9+w\u00e5\u00ad\u009c\u0095\u00afrU\u009e\u00caQ\u00f9)7\u00e5\u00a5\u009c\u0094\u008frQ\u001e\u00caA\u00f9'\u00f7\u00e4\u009d\u009c\u0093orM\u009e\u00c91\u00f9%\u00b7\u00e4\u0095\u009c\u0092OrI\u001e\u00c9!\u00f9#w\u00e4\u008d\u009c\u0091/rE\u009e\u00c8\u0011\u00f9!7\u00e4\u0085\u009c\u0090\u000frA\u001e\u00c8\u0001\u00f9\u001f\u00f7\u00e3}\u009c\u008f\u00efq=\u009e\u00c7\u00f1\u00f8\u001d\u00b7\u00e3u\u009c\u008e\u00cfq9\u001e\u00c7\u00e1\u00f8\u001bw\u00e3m\u009c\u008d\u00afq5\u00be\u00f34\u008e\u00c6\u00cf\u00b8\u0019/\u00e3d|\u008c\u008b\u00f10\u000e\u00c6\u00bf\u00b8\u0017\u00ef\u00e2\\|\u008bk\u00f1,\u008e\u00c5\u00af\u00b8\u0015\u00af\u00e2T|\u008aK\u00f1(\u000e\u00c5\u009f\u00b8\u0013o\u00e2L|\u0089+\u00f1$\u008e\u00c4\u008f\u00b8\u0011/\u00e2D|\u0088\u000b\u00f1 \u000e\u00c4\u007f\u00b8\u000f\u00ef\u00e1<|\u0087\u00eb\u00f0\u001c\u008e\u00c3o\u00b8\r\u00af\u00e14|\u0086\u00cb\u00f0\u0018\u000e\u00c3_\u00b8\u000bo\u00e1,|\u0085\u00ab\u00f0\u0014\u008e\u00c2O\u00b8\t/\u00e1$|\u0084\u008b\u00f0\u0010\u000e\u00c2?\u00b8\u0007\u00ef\u00e0\u001c|\u0083k\u00f0\f\u008e\u00c1/\u00b8\u0005\u00af\u00e0\u0014|\u0082K\u00f0\b\u000e\u00c1\u001f\u00b8\u0003o\u00e0\f|\u0081+\u00f0\u0004\u001e\u001d\u00fa\u00f3w\u00f7v\u00f6u\u008d\u0000\u0082\u0007\u001c\u00e8\u0006\u009a\u0081^\u00a0\u0015\u00e8\u0004\u001a\u0081>\u00a0\r\u00e8\u0002\u009a\u0080\u001e\u00a0\u0005\u00e8\u0000\u001a\u0080^\u0017\u0099\u0099\u0099;@\u00bb?;?\u00bb>;>\u00bb=;=\u00bb<;<\u00bb;;;\u00bb:;:\u00bb9;9\u00bb8;8\u00bb7;7\u00bb6;6\u00bb5;5\u00bb\u00dd.\u00cd\u000e\u00cd\u00ee\u00cc\u00ce\u00cc\u00ae\u00cc\u008e\u00ccn\u00ccN\u00cc.\u00cc\u000e\u00cc\u00ee\u00cb\u00ce\u00cb\u00ae\u00cb\u008e\u00cbn\u00cbN\u00cb.\u00cb\u000e\u00cb\u00ee\u00ca\u00ce\u00ca\u00ae\u00ca\u008e\u00can\u00ca.P\u0084\u0015_EW\u00b1Ud\u0015WEU1UD\u0015OES\u00b1T$\u0015GEQ1T\u0004\u0015?EO\u00b1S\u00e4\u00147EM1S\u00c4\u0014/EK\u00b1R\u00a4\u0014'EI1R\u0084\u0014\u001fEG\u00b1Qd\u0014\u0017EE1QD\u0014\u000fEC\u00b1P$\u0014\u0007EA1P\u0004\u0014\u00ffD?\u00b1O\u00e4\u0013\u00f7D=1O\u00c4\u0013\u00efD;\u00b1N\u00a4\u0013\u00e7D91N\u0084\u0013\u00dfD7\u00b1Md\u0013\u00d7D5q\u0017\u00d3D4\u00f1L4\u0013\u00cbD2qL\u0014\u0013\u00c3D0\u00f1K\u00f4\u0012\u00bbD.qK\u00d4\u0012\u00b3D,\u00f1J\u00b4\u0012\u00abD*qJ\u0094\u0012\u00a3D(\u00f1It\u0012\u009bD&qIT\u0012\u0093D$\u00f1H4\u0012\u008bD\"qH\u0014\u0012\u0083D \u00f1G\u00f4\u0011{D\u001eqG\u00d4\u0011sD\u001c\u00f1F\u00b4\u0011kD\u001aqF\u0094\u0011cD\u0018\u00f1Et\u0011[D\u0016qET\u0011SD\u0014\u00f1D4\u0011KD\u0012qD\u0014\u0011CD\u0010\u00f1C\u00f4\u0010;D\u000eqC\u00d4\u00103D\f\u00f1B\u00b4\u0010+D\nqB\u0094\u0010#D\b\u00f1At\u0010\u001bD\u0006qAT\u0010\u0013\u00c4\u0018a|\u00f1\u00a3\u00c7\u008e\u001c7j\u0004\u0010<\u00e0@\u0003\f,\u00a0\u0000L\u0000\"\u0000\u000f\u0080\u0006\u00c0\u0002 \u0001p\u0000(\u0000\f\u0000\u0002\u0000\u00d7Au0\u001dD\u0007\u00cfAs\u00b0\u001c$\u0007\u00c7Aq0\u001c\u0004\u0007\u00bfAo\u00b0\u001b\u00e4\u0006\u00b7Am0\u001b\u00c4\u0006\u00afAk\u00b0\u001a\u00a4\u0006\u00a7Ai0\u001a\u0084\u0006\u009fAg\u00b0\u0019d\u0006\u0097Ae0\u0019D\u0006\u008fAc\u00b0\u0018$\u0006\u0087Aa0\u0018\u0004\u0006\u007fA_\u00b0\u0017\u00e4\u0005wA]0\u0017\u00c4\u0005oA[\u00b0\u0016\u00a4\u0005gAY0\u0016\u0084\u0005_AW\u00b0\u0015d\u0005WAU0\u0015D\u0005OAS\u00b0\u0014$\u0005GAQ0\u0014\u0004\u0005?AO\u00b0\u0013\u00e4\u00047AM0\u0013\u00c4\u0004/AK\u00b0\u0012\u00a4\u0004'AI0\u0012\u0084\u0004\u001fAG\u00b0\u0011d\u0004\u0017AE0\u0011D\u0004\u000fAC\u00b0\u0010$\u0004\u0007AA0\u0010\u0004\u0004\u00ff@?\u00b0\u000f\u00e4\u0003\u00f7@=0\u000f\u00c4\u0003\u00ef@;\u00b0\u000e\u00a4\u0003\u00e7@90\u000e\u0084\u0003\u00df@7\u00b0\rd\u0003\u00d7@5p\u0007\u00d3@4\u00f0\f4\u0003\u00cb@2p\f\u0014\u0003\u00c3@0\u00f0\u000b\u00f4\u0002\u00bb@.p\u000b\u00d4\u0002\u00b3@,\u00f0\n\u00b4\u0002\u00ab@*p\n\u0094\u0002\u00a3@(\u00f0\tt\u0002\u009b@&p\tT\u0002\u0093@$\u00f0\b4\u0002\u008b@\"p\b\u0014\u0002\u0083@ \u00f0\u0007\u00f4\u0001{@\u001ep\u0007\u00d4\u0001s@\u001c\u00f0\u0006\u00b4\u0001k@\u001ap\u0006\u0094\u0001c@\u0018\u00f0\u0005t\u0001[@\u0016p\u0005T\u0001S@\u0014\u00f0\u00044\u0001K@\u0012p\u0004\u0014\u0001C@\u0010\u00f0\u0003\u00f4\u0000;@\u000ep\u0003\u00d4\u00003@\f\u00f0\u0002\u00b4\u0000+@\np\u0002\u0094\u0000#@\b\u00f0\u0001t\u0000\u001b@\u0006p\u0001T\u0000\u0013\u00c0\b!|\u00f0\u00a1\u00c3\u0086\f\u0017j\u0004\u0010<\u00e0@\u0003\f,\u00f0\u0014x\t<\u0004\u00de\u0001\u00cf\u0080W\u00c0#\u00e0\r\u00f0\u0004x\u0001<\u0000\u00de\u00ba\u00a7\u00ee\u00a5{\u00e8\u00de\u00b9g\u00ee\u0095{\u00e4\u00de\u00b8'\u00ee\u0085{\u00e0\u00de\u00b7\u00e7\u00edu{\u00dc\u00de\u00b6\u00a7\u00ede{\u00d8\u00de\u00b5g\u00edU{\u00d4\u00de\u00b4'\u00edE{\u00d0\u00de\u00b3\u00e7\u00ec5{\u00cc\u00de\u00b2\u00a7\u00ec%{\u00c8\u00de\u00b1g\u00ec\u0015{\u00c4\u00de\u00b0'\u00ec\u0005{\u00c0\u00de\u00af\u00e7\u00eb\u00f5z\u00bc\u00de\u00ae\u00a7\u00eb\u00e5z\u00b8\u00de\u00adg\u00eb\u00d5z\u00b4\u00de\u00ac'\u00eb\u00c5z\u00b0\u00de\u00ab\u00e7\u00ea\u00b5z\u00ac\u00de\u00aa\u00a7\u00ea\u00a5z\u00a8\u00de\u00a9g\u00ea\u0095z\u00a4\u00de\u00a8'\u00ea\u0085z\u00a0\u00de\u00a7\u00e7\u00e9uz\u009c\u00de\u00a6\u00a7\u00e9ez\u0098\u00de\u00a5g\u00e9Uz\u0094\u00de\u00a4'\u00e9Ez\u0090\u00de\u00a3\u00e7\u00e85z\u008c\u00de\u00a2\u00a7\u00e8%z\u0088\u00de\u00a1g\u00e8\u0015z\u0084\u00de\u00a0'\u00e8\u0005z\u0080\u00de\u009f\u00e7\u00e7\u00f5y|\u00de\u009e\u00a7\u00e7\u00e5yx\u00de\u009dg\u00e7\u00d5yt\u00de\u009c'\u00e7\u00c5yp\u00de\u009b\u00e7\u00e6\u00b5yl\u00de\u009a\u00a7\u00e6\u00ed^\u0089\u00e1\u00a84\u0000\u00c1\u007f\u00b3\u009f\u0090\u0005\u0000\u0014@\u00fcm\u000b\u00f5}U\u00a4lx\u000f=\u00b0>1\u00e3\u00ae\\\u0086\u0096\u00e8\u00d8\t\u00fa\u00d9\u00a6\u00f5\u00beQ\u0080\u0010\u00ff=\u00b0>1\u00e3\u00ae\\\u0086\u0096\u0084\u00e8\u00d86\u00b5*\u00f7~\u00cf|\u00f7\u00c3\u009a\u008ca\u00f7\u00e3\u001a\u001bt\u00b5\u00dc\u00d3\u00ac\u0007\u0086\u00a5~{`}b\u00c6]U\u00b8\u00ccV\u00ec\u001eO\u00b0\u0086\u00fb\u00ec\u00875\u0019\u00c3\u001e\u00eeg\u00bb\u0096\u00bbO\u00c4D\u00fez`}\u0014b\u00c6\u0012\u00e5> \u000b*\u00fb\u00e9\u0001\u0082\u00f5Y\u00ef\u00e6\u001e\u00dc'\u00e9\u007f\u00f6\u00bb\u001bZ8\u00fe\u00b9\u008cyG\u009aQ "}, "dtype": "int64", "shape": [2531]}, "structural_analysis_error": "index 0 is out of bounds for axis 0 with size 0", "trajectory": {":is_custom:": true, "__class__": "PosixPath", "__module__": "pathlib", "path": "mc1_campaign/shared/task_workdirs/HybridTopologyMultiStateSimulationUnit-2821f959834844a79ff406338c9e4101/simulation.nc"}, "unit_estimate": {":is_custom:": true, "magnitude": 5.547080310903667, "pint_unit_registry": "openff_units", "unit": "kilocalorie_per_mole"}, "unit_estimate_error": {":is_custom:": true, "magnitude": 2.1531827158735815, "pint_unit_registry": "openff_units", "unit": "kilocalorie_per_mole"}, "unit_mbar_overlap": {"eigenvalues": {":is_custom:": true, "__class__": "ndarray", "__module__": "numpy", "bytes": {":is_custom:": true, "__class__": "bytes", "__module__": "builtins", "latin-1": "(\u00b5/\u00fd \u0018\u00c1\u0000\u0000z\u00af\u00ff\u00ff\u00ff\u00ff\u00ef?\u00b6G\u00f3\u0013\u00ea\u00ff\u00ef?^\u00dbL\u00c1\u0004`\u00c7?"}, "dtype": "float64", "shape": [3]}, "matrix": {":is_custom:": true, "__class__": "ndarray", "__module__": "numpy", "bytes": {":is_custom:": true, "__class__": "bytes", "__module__": "builtins", "latin-1": "(\u00b5/\u00fd H\u00dd\u0001\u0000\u0004\u0003^W\u00a1b\u00f1\u00ff\u00ef?Z\u00fb\u009b\u00ad\u008e\u0090\u00d5>\u001f<\u00d6;\u00ba\u00a8\u00be>\u00e8\u00c2:w\u00f9\u00eb\u00e2?\u00d7\u00a3\u00fb\u0080\u00f7'\u00da?\u00be\u0013jj\u0000\u00ec\u00e2?\u0003\u0004\u0005\u0000\u0018j1s\f"}, "dtype": "float64", "shape": [3, 3]}, "scalar": 1.0453257126785687e-05}}, "source_key": "HybridTopologyMultiStateAnalysisUnit-a7252f67bcd541378e9846b01ad21a5e", "start_time": {":is_custom:": true, "__class__": "datetime", "__module__": "datetime", "isotime": "2026-08-14T11:26:03.455126"}, "stderr": {}, "stdout": {}} \ No newline at end of file diff --git a/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-d33eca8ebd87402985a14b4dba99da37 b/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-d33eca8ebd87402985a14b4dba99da37 new file mode 100644 index 000000000..c9864168f --- /dev/null +++ b/src/openfe/tests/data/warehouse/mc1_campaign/result/ProtocolUnitResult-d33eca8ebd87402985a14b4dba99da37 @@ -0,0 +1 @@ +{":version:": 1, "__module__": "gufe.protocols.protocolunit", "__qualname__": "ProtocolUnitResult", "_key": "ProtocolUnitResult-d33eca8ebd87402985a14b4dba99da37", "end_time": {":is_custom:": true, "__class__": "datetime", "__module__": "datetime", "isotime": "2026-08-14T11:26:26.744717"}, "inputs": {"generation": 0, "protocol": {":gufe-key:": "RelativeHybridTopologyProtocol-59d604ce336f12d44f6e4647a6f7e616"}, "repeat_id": 223150426984276242809719357896568479063, "setup_results": {":gufe-key:": "ProtocolUnitResult-5b13b16ed9834a51ac7be4751e9e5dc0"}, "simulation_results": {":gufe-key:": "ProtocolUnitResult-ac48c86b69b04a159e530c42c8008a95"}}, "name": "HybridTopology Analysis: ligand_2 to ligand_3 repeat 0 generation 0", "outputs": {"checkpoint": {":is_custom:": true, "__class__": "PosixPath", "__module__": "pathlib", "path": "mc1_campaign/shared/task_workdirs/HybridTopologyMultiStateSimulationUnit-15972a17ad31428280da2cc53c8a6cdc/checkpoint.chk"}, "equilibration_iterations": 5.0, "forward_and_reverse_energies": {"forward_DGs": {":is_custom:": true, "magnitude": {":is_custom:": true, "__class__": "ndarray", "__module__": "numpy", "bytes": {":is_custom:": true, "__class__": "bytes", "__module__": "builtins", "latin-1": "(\u00b5/\u00fd P\u00c5\u0001\u0000\u00d4\u0002\u00e4a]L\u00a7\u00f8\u00f2\u00bf]=\u00fcg\u0095\u0094\u00f4\u00bf[N\b\u00cd\u00f3O9l\u00ba\u000e\u0007\u00a2\u00e9k\u0001*\u0014\u00df\u008b\u00e9\u00bfS\u00f9\u009f\u00dfu\u000f\u00e5\u00bf\u0003\u0000\u00a0\u0018`SC\n\u0017"}, "dtype": "float64", "shape": [10]}, "pint_unit_registry": "openff_units", "unit": "kilocalorie_per_mole"}, "forward_dDGs": {":is_custom:": true, "magnitude": {":is_custom:": true, "__class__": "ndarray", "__module__": "numpy", "bytes": {":is_custom:": true, "__class__": "bytes", "__module__": "builtins", "latin-1": "(\u00b5/\u00fd P\u00cd\u0001\u0000\u00e4\u0002Q\u00cb\u00a7 \u00c5\u000b\u00e9?\u00e0\u00fe\u0086\u0084_\u00ba\u00d6?{]\u0088\u00f229\u00dcM6f\u0086\u001d\u00c0\u00da\t\u00d8a\u00b1\u0085\u0017\u00dc?|\u00879O\u00ef\u0082\u00db?\u0003\u0000\u00a0\u0018\u00a0\u00a8CJ\u001c"}, "dtype": "float64", "shape": [10]}, "pint_unit_registry": "openff_units", "unit": "kilocalorie_per_mole"}, "fractions": {":is_custom:": true, "__class__": "ndarray", "__module__": "numpy", "bytes": {":is_custom:": true, "__class__": "bytes", "__module__": "builtins", "latin-1": "(\u00b5/\u00fd P=\u0001\u0000\u0088UU\u00c5?U\u00d5?\u0000\u00e0\u00e5\u00e5?\u00ab\u00aa\u00ea\u00f0?\t\u0000C\u00a5\u00c0Y\u0002\u00f9\u0086\u001a\u00b1R\u0017w\u00cd\n\u0002p\u00c3\u0002X"}, "dtype": "float64", "shape": [10]}, "reverse_DGs": {":is_custom:": true, "magnitude": {":is_custom:": true, "__class__": "ndarray", "__module__": "numpy", "bytes": {":is_custom:": true, "__class__": "bytes", "__module__": "builtins", "latin-1": "(\u00b5/\u00fd P\u00d5\u0001\u0000\u00f4\u0002\u0003\u00a4H\u00c8\u009c\u00ff\u0001@~4<\u00b44\u00dc\u0001@+*\u00e5\r\u00eb\u00f7\u00f5?\u00b0\u00ea\u00b1a\u00e00\u00edq\u00fc\u00d4\u001dP\u00be\u00dd\u00bfS\u00f9\u009f\u00dfu\u000f\u00e5\u00bf\u0003\u0000\u00a0\u0018\u0080XC\n\u0017"}, "dtype": "float64", "shape": [10]}, "pint_unit_registry": "openff_units", "unit": "kilocalorie_per_mole"}, "reverse_dDGs": {":is_custom:": true, "magnitude": {":is_custom:": true, "__class__": "ndarray", "__module__": "numpy", "bytes": {":is_custom:": true, "__class__": "bytes", "__module__": "builtins", "latin-1": "(\u00b5/\u00fd P\u00d5\u0001\u0000\u00f4\u0002\f\u00dd\u00a3\u0019\u00010 @a\u00e2\u009d\u008e\u00dbZ\u001f@u\u00b9\u001d\u00fa\u00c2\u00d4\u0000L\u0000n\u00fd\u000b0\u00f7?|\u00bc\u00e1y\u0096W\u00e2?|\u00879O\u00ef\u0082\u00db?\u0003\u0000\u0080p\u00a0\u00a8CJ\u001c"}, "dtype": "float64", "shape": [10]}, "pint_unit_registry": "openff_units", "unit": "kilocalorie_per_mole"}}, "generation": 0, "pdb_structure": {":is_custom:": true, "__class__": "PosixPath", "__module__": "pathlib", "path": "mc1_campaign/shared/task_workdirs/HybridTopologySetupUnit-17dc05e0d79747e79d3e93e55383c9bd/hybrid_system.pdb"}, "production_iterations": 7.0, "repeat_id": 223150426984276242809719357896568479063, "replica_exchange_statistics": {"eigenvalues": {":is_custom:": true, "__class__": "ndarray", "__module__": "numpy", "bytes": {":is_custom:": true, "__class__": "bytes", "__module__": "builtins", "latin-1": "(\u00b5/\u00fd \u0018\u008d\u0000\u00008\u0000\u0000\u00f0?\u0000\u00e0?\u0003\u0000+\u0004\u00c0\r\u000b`\u0001"}, "dtype": "float64", "shape": [3]}, "matrix": {":is_custom:": true, "__class__": "ndarray", "__module__": "numpy", "bytes": {":is_custom:": true, "__class__": "bytes", "__module__": "builtins", "latin-1": "(\u00b5/\u00fd H\u00c5\u0000\u0000P\u0000\u0000\u00f0?\u0000\u00e8\u00d0?\u00e8?\u0005\u00003\t\u0000$\u000e\u00e52p\u008e\u0005m"}, "dtype": "float64", "shape": [3, 3]}}, "selection_indices": {":is_custom:": true, "__class__": "ndarray", "__module__": "numpy", "bytes": {":is_custom:": true, "__class__": "bytes", "__module__": "builtins", "latin-1": "(\u00b5/\u00fd`\u0018N\u00ad\u0087\u0000j9iA\u001c\u0010\u0018<\f\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u00000\u0000\u0000\u0000P\u0002\u0000\u00004\u0093R\u00a6\u0094RJ)\u00ef\u0003\u00f6\u0003\u0004\u0004sV\u00ce\u00c6Y8\u00fbf\u00ddl\u009be\u00b3kV\u00cd\u00ee6\u00cd\u00a2\u00d93kf\u00cb,\u0099\u001d\u00b3b6\u00cc\u0082\u00d9/\u00ebe\u00bb,\u0097\u00dd\u00b2Z6\u00cbb\u00d9+ke\u00ab,\u0095\u009d\u00b2R6\u00caB\u00d9'\u00ebd\u009b,\u0093]\u00b2J6\u00c9\"\u00d9#kd\u008b,\u0091\u001d\u00b2B6\u00c8\u0002\u00d9\u001f\u00ebc{,\u008f\u00dd\u00b1:6\u00c7\u00e2\u00d8\u001bkck,\u008d\u009d\u00b126\u00c6\u00c2\u00d8\u0017\u00ebb[,\u008b]\u00b1*6\u00c5\u00a2\u00d8\u0013kbK,\u0089\u001d\u00b1\"6\u00c4\u0082\u00d8\u000f\u00eba;,\u0087\u00dd\u00b0\u001a6\u00c3b\u00d8\u000bka+,\u0085\u009d\u00b0\u00126\u00c2B\u00d8\u0007\u00eb`\u001b,\u0083]\u00b0\n6\u00c1\u00c6\u0085\u00fb\u00f6\u00d7\u00b7\u0097wW#P\b\u00f4\u0001u@\u001bP\u0006t\u0001U@\u0013P\u0004\u00f4\u00005@\u000bP\u0002t\u0000\u0015@\u0003P\u0000t\u009d\u00aa\u00d3t\u008aN\u00cf\u00a99-\u00a7\u00e4t\u009c\u008a\u00d3p\nN\u00bf\u00a97\u00ed\u00a6\u00dct\u009bj\u00d3l\u008aM\u00af\u00a95\u00ad\u00a6\u00d4t\u009aJ\u00d3h\nM\u009f\u00a93m\u00a6\u00cct\u0099*\u00d3d\u008aL\u008f\u00a91-\u00a6\u00c4t\u0098\n\u00d3`\nL\u007f\u00a9/\u00ed\u00a5\u00bct\u0097\u00ea\u00d2\\\u008aKo\u00a9-\u00ad\u00a5\u00b4t\u0096\u00ca\u00d2X\nK_\u00a9+m\u00a5\u00act\u0095\u00aa\u00d2T\u008aJO\u00a9)-\u00a5\u00a4t\u0094\u008a\u00d2P\nJ?\u00a9'\u00ed\u00a4\u009ct\u0093j\u00d2L\u008aI/\u00a9%\u00ad\u00a4\u0094t\u0092J\u00d2H\nI\u001f\u00a9#m\u00a4\u008ct\u0091*\u00d2D\u008aH\u000f\u00a9!-\u00a4\u0084t\u0090\n\u00d2@\nH\u00ff\u00a8\u001f\u00ed\u00a3|t\u008f\u00ea\u00d1<\u008aG\u00ef\u00a8\u001d\u00ad\u00a3tt\u008e\u00ca\u00d18\nG\u00df\u00a8\u001bm\u00a3lt\u008d\u00aa\u00d1\u009d\u00a6Q4zF\u00cdh\u0019%\u00a3cT\u008c\u0086Q0\u00faE\u00bdh\u0017\u00e5\u00a2[T\u008bfQ,zE\u00adh\u0015\u00a5\u00a2ST\u008aFQ(\u00faD\u009dh\u0013e\u00a2KT\u0089&Q$zD\u008dh\u0011%\u00a2CT\u0088\u0006Q \u00faC}h\u000f\u00e5\u00a1;T\u0087\u00e6P\u001czCmh\r\u00a5\u00a13T\u0086\u00c6P\u0018\u00faB]h\u000be\u00a1+T\u0085\u00a6P\u0014zBMh\t%\u00a1#T\u0084\u0086P\u0010\u00faA=h\u0007\u00e5\u00a0\u001bT\u0083fP\fzA-h\u0005\u00a5\u00a0\u0013T\u0082FP\b\u00fa@\u001dh\u0003e\u00a0\u000bT\u0081&\u00d0\u00a8P\u009f\u00be\u00ba\u00b6\u00b2\u00aejF\u0090\u0010\u00e4\u0003\u00e9@6\u0090\f\u00e4\u0002\u00a9@&\u0090\b\u00e4\u0001i@\u0016\u0090\u0004\u00e4\u0000)@\u0006\u0090\u0000\u00e4\u00baT\u0097\u00e9\u0012]\u009eKsY.\u00c9\u00e5\u00b8\u0014\u0097\u00e1\u0012\\~Ko\u00d9-\u00b9\u00e5\u00b6\u00d4\u0096\u00d9\u0012[^KkY-\u00a9\u00e5\u00b4\u0094\u0096\u00d1\u0012Z>Kg\u00d9,\u0099\u00e5\u00b2T\u0096\u00c9\u0012Y\u001eKcY,\u0089\u00e5\u00b0\u0014\u0096\u00c1\u0012X\u00feJ_\u00d9+y\u00e5\u00ae\u00d4\u0095\u00b9\u0012W\u00deJ[Y+i\u00e5\u00ac\u0094\u0095\u00b1\u0012V\u00beJW\u00d9*Y\u00e5\u00aaT\u0095\u00a9\u0012U\u009eJSY*I\u00e5\u00a8\u0014\u0095\u00a1\u0012T~JO\u00d9)9\u00e5\u00a6\u00d4\u0094\u0099\u0012S^JKY))\u00e5\u00a4\u0094\u0094\u0091\u0012R>JG\u00d9(\u0019\u00e5\u00a2T\u0094\u0089\u0012Q\u001eJCY(\t\u00e5\u00a0\u0014\u0094\u0081\u0012P\u00feI?\u00d9'\u00f9\u00e4\u009e\u00d4\u0093y\u0012O\u00deI;Y'\u00e9\u00e4\u009c\u0094\u0093q\u0012N\u00beI7\u00d9&\u00d9\u00e4\u009aT\u0093\u00bbL\u0093h\u00f2L\u009a\u00c92I&\u00c7\u00a4\u0098\f\u0093`\u00f2Kz\u00c9.\u00c9%\u00b7\u00a4\u0096\u00cc\u0092X\u00f2JZ\u00c9*I%\u00a7\u00a4\u0094\u008c\u0092P\u00f2I:\u00c9&\u00c9$\u0097\u00a4\u0092L\u0092H\u00f2H\u001a\u00c9\"I$\u0087\u00a4\u0090\f\u0092@\u00f2G\u00fa\u00c8\u001e\u00c9#w\u00a4\u008e\u00cc\u00918\u00f2F\u00da\u00c8\u001aI#g\u00a4\u008c\u008c\u00910\u00f2E\u00ba\u00c8\u0016\u00c9\"W\u00a4\u008aL\u0091(\u00f2D\u009a\u00c8\u0012I\"G\u00a4\u0088\f\u0091 \u00f2Cz\u00c8\u000e\u00c9!7\u00a4\u0086\u00cc\u0090\u0018\u00f2BZ\u00c8\nI!'\u00a4\u0084\u008c\u0090\u0010\u00f2A:\u00c8\u0006\u00c9 \u0017\u00a4\u0082L\u00901a\u00be\u00fc\u00f4\u00ec\u00e4\u00dc\u00d4\u00cc\u00ad\u00ae\u00d35\u00ba>\u00d7\u00e6\u00ba\\\u0093\u00ebq-\u00ae\u00c35\u00b8\u00fe\u00d6\u00de\u00ba[s\u00ebm\u00ad\u00ad\u00b35\u00b6\u00be\u00d6\u00d6\u00baZS\u00ebi-\u00ad\u00a35\u00b4~\u00d6\u00ce\u00baY3\u00ebe\u00ad\u00ac\u00935\u00b2>\u00d6\u00c6\u00baX\u0013\u00eba-\u00ac\u00835\u00b0\u00fe\u00d5\u00be\u00baW\u00f3\u00ea]\u00ad\u00abs5\u00ae\u00be\u00d5\u00b6\u00baV\u00d3\u00eaY-\u00abc5\u00ac~\u00d5\u00ae\u00baU\u00b3\u00eaU\u00ad\u00aaS5\u00aa>\u00d5\u00a6\u00baT\u0093\u00eaQ-\u00aaC5\u00a8\u00fe\u00d4\u009e\u00baSs\u00eaM\u00ad\u00a935\u00a6\u00be\u00d4\u0096\u00baRS\u00eaI-\u00a9#5\u00a4~\u00d4\u008e\u00baQ3\u00eaE\u00ad\u00a8\u00135\u00a2>\u00d4\u0086\u00baP\u0013\u00eaA-\u00a8\u00035\u00a0\u00fe\u00d3~\u00baO\u00f3\u00e9=\u00ad\u00a7\u00f34\u009e\u00be\u00d3v\u00baN\u00d3\u00e99-\u00a7\u00e34\u009c~\u00d3n\u00baM\u00b3\u00e95\u00ad\u00a6w\u009d\u00a6\u00d1\u00f4\u00996\u00d3e\u009aL\u008fi1\u001d\u00a6\u00c1\u00f4\u0097\u00f6\u00d2]\u009aKoi-\u009d\u00a5\u00b1\u00f4\u0095\u00b6\u00d2U\u009aJOi)\u001d\u00a5\u00a1\u00f4\u0093v\u00d2M\u009aI/i%\u009d\u00a4\u0091\u00f4\u00916\u00d2E\u009aH\u000fi!\u001d\u00a4\u0081\u00f4\u008f\u00f6\u00d1=\u009aG\u00efh\u001d\u009d\u00a3q\u00f4\u008d\u00b6\u00d15\u009aF\u00cfh\u0019\u001d\u00a3a\u00f4\u008bv\u00d1-\u009aE\u00afh\u0015\u009d\u00a2Q\u00f4\u00896\u00d1%\u009aD\u008fh\u0011\u001d\u00a2A\u00f4\u0087\u00f6\u00d0\u001d\u009aCoh\r\u009d\u00a11\u00f4\u0085\u00b6\u00d0\u0015\u009aBOh\t\u001d\u00a1!\u00f4\u0083v\u00d0\r\u009aA/h\u0005\u009d\u00a0c\u00c3~\u00fd\u00ed\u00dd\u00cd\u00bd\u00ad\u0011@\u00f0\u0000;\u00c0\r0\u0003\u00bc\u0000+\u00c0\t0\u0002|\u0000\u001b\u00c0\u00050\u0001<\u0000\u000b\u00c0\u00010\u0000\u00bc\u008e\u00d5q:F\u00c7\u00e7\u00d8\u001c\u0097cr<\u008e\u00c5q8\u0006\u00c7\u00df\u00d8\u001bwcn\u00bc\u008d\u00b5q6\u00c6\u00c6\u00d7\u00d8\u001aWcj<\u008d\u00a5q4\u0086\u00c6\u00cf\u00d8\u00197cf\u00bc\u008c\u0095q2F\u00c6\u00c7\u00d8\u0018\u0017cb<\u008c\u0085q0\u0006\u00c6\u00bf\u00d8\u0017\u00f7b^\u00bc\u008buq.\u00c6\u00c5\u00b7\u00d8\u0016\u00d7bZ<\u008beq,\u0086\u00c5\u00af\u00d8\u0015\u00b7bV\u00bc\u008aUq*F\u00c5\u00a7\u00d8\u0014\u0097bR<\u008aEq(\u0006\u00c5\u009f\u00d8\u0013wbN\u00bc\u00895q&\u00c6\u00c4\u0097\u00d8\u0012WbJ<\u0089%q$\u0086\u00c4\u008f\u00d8\u00117bF\u00bc\u0088\u0015q\"F\u00c4\u0087\u00d8\u0010\u0017bB<\u0088\u0005q \u0006\u00c4\u007f\u00d8\u000f\u00f7a>\u00bc\u0087\u00f5p\u001e\u00c6\u00c3w\u00d8\u000e\u00d7a:<\u0087\u00e5p\u001c\u0086\u00c3o\u00d8\r\u00b7a6\u00bc\u0086\u00d5\u00f0\u008e\u00d30\u001a>\u00c3f\u00b8\f\u0093\u00e11,\u0086\u00c30\u0018\u00fe\u00c2^\u00b8\u000bs\u00e1-\u00ac\u0085\u00b30\u0016\u00be\u00c2V\u00b8\nS\u00e1),\u0085\u00a30\u0014~\u00c2N\u00b8\t3\u00e1%\u00ac\u0084\u00930\u0012>\u00c2F\u00b8\b\u0013\u00e1!,\u0084\u00830\u0010\u00fe\u00c1>\u00b8\u0007\u00f3\u00e0\u001d\u00ac\u0083s0\u000e\u00be\u00c16\u00b8\u0006\u00d3\u00e0\u0019,\u0083c0\f~\u00c1.\u00b8\u0005\u00b3\u00e0\u0015\u00ac\u0082S0\n>\u00c1&\u00b8\u0004\u0093\u00e0\u0011,\u0082C0\b\u00fe\u00c0\u001e\u00b8\u0003s\u00e0\r\u00ac\u008130\u0006\u00be\u00c0\u0016\u00b8\u0002S\u00e0\t,\u0081#0\u0004~\u00c0\u000e\u00b8\u00013\u00e0\u0005\u00ac\u0080\u0013pd\u00c8\u008f\u009f\u009d\u009b\u0099\u00975\u0002\b\u00f6\u0081u`\u001bX\u0006v\u0081U`\u0013X\u0004\u00f6\u00805`\u000bX\u0002v\u0080\u0015`\u0003X\u0000v\u00dd\u00aa\u00dbt\u008bn\u00cf\u00ad\u00b9-\u00b7\u00e4v\u00dc\u008a\u00dbp\u000bn\u00bf\u00ad\u00b7\u00ed\u00b6\u00dcv\u00dbj\u00dbl\u008bm\u00af\u00ad\u00b5\u00ad\u00b6\u00d4v\u00daJ\u00dbh\u000bm\u009f\u00ad\u00b3m\u00b6\u00ccv\u00d9*\u00dbd\u008bl\u008f\u00ad\u00b1-\u00b6\u00c4v\u00d8\n\u00db`\u000bl\u007f\u00ad\u00af\u00ed\u00b5\u00bcv\u00d7\u00ea\u00da\\\u008bko\u00ad\u00ad\u00ad\u00b5\u00b4v\u00d6\u00ca\u00daX\u000bk_\u00ad\u00abm\u00b5\u00acv\u00d5\u00aa\u00daT\u008bjO\u00ad\u00a9-\u00b5\u00a4v\u00d4\u008a\u00daP\u000bj?\u00ad\u00a7\u00ed\u00b4\u009cv\u00d3j\u00daL\u008bi/\u00ad\u00a5\u00ad\u00b4\u0094v\u00d2J\u00daH\u000bi\u001f\u00ad\u00a3m\u00b4\u008cv\u00d1*\u00daD\u008bh\u000f\u00ad\u00a1-\u00b4\u0084v\u00d0\n\u00da@\u000bh\u00ff\u00ac\u009f\u00ed\u00b3|v\u00cf\u00ea\u00d9<\u008bg\u00ef\u00ac\u009d\u00ad\u00b3t6i\u001e\u009aw\u00e6\u0099ye\u001e\u00997\u00e6\u0089ya\u001e\u0098\u00f7\u00e5yy]\u001e\u0097\u00b7\u00e5iyY\u001e\u0096w\u00e5YyU\u001e\u00957\u00e5IyQ\u001e\u0094\u00f7\u00e49yM\u001e\u0093\u00b7\u00e4)yI\u001e\u0092w\u00e4\u0019yE\u001e\u00917\u00e4\tyA\u001e\u0090\u00f7\u00e3\u00f9x=\u001e\u008f\u00b7\u00e3\u00e9x9\u001e\u008ew\u00e3\u00d9x5\u001e\u008d7\u00e3\u00c9x1\u001e\u008c\u00f7\u00e2\u00b9x-\u001e\u008b\u00b7\u00e2\u00a9x)\u001e\u008aw\u00e2\u0099x%\u001e\u00897\u00e2\u0089x!\u001e\u0088\u00f7\u00e1yx\u001d\u001e\u0087\u00b7\u00e1ix\u0019\u001e\u0086w\u00e1Yx\u0015\u001e\u00857\u00e1Ix\u0011\u001e\u0084\u00f7\u00e09x\r\u001e\u0083\u00b7\u00e0)x\t^|\u00f0\u00bd\u00f7\u00cf_?~\u00fb4\u0002\b\u001ep\u00a0\u0001\u0006~\u0081W\u00e0\u0013x\u0004\u00fe\u00807\u00e0\u000bx\u0002~\u0080\u0017\u00e0\u0003x\u0000~\u00dd\u00ab\u00fbt\u008f\u00ee\u00cf\u00bd\u00b9/\u00f7\u00e4~\u00dc\u008b\u00fbp\u000f\u00ee\u00bf\u00bd\u00b7\u00ef\u00f6\u00dc~\u00dbk\u00fbl\u008f\u00ed\u00af\u00bd\u00b5\u00af\u00f6\u00d4~\u00daK\u00fbh\u000f\u00ed\u009f\u00bd\u00b3o\u00f6\u00cc~\u00d9+\u00fbd\u008f\u00ec\u008f\u00bd\u00b1/\u00f6\u00c4~\u00d8\u000b\u00fb`\u000f\u00ec\u007f\u00bd\u00af\u00ef\u00f5\u00bc~\u00d7\u00eb\u00fa\\\u008f\u00ebo\u00bd\u00ad\u00af\u00f5\u00b4~\u00d6\u00cb\u00faX\u000f\u00eb_\u00bd\u00abo\u00f5\u00ac~\u00d5\u00ab\u00faT\u008f\u00eaO\u00bd\u00a9/\u00f5\u00a4~\u00d4\u008b\u00faP\u000f\u00ea?\u00bd\u00a7\u00ef\u00f4\u009c~\u00d3k\u00faL\u008f\u00e9/\u00bd\u00a5\u00af\u00f4\u0094~\u00d2K\u00faH\u000f\u00e9\u001f\u00bd\u00a3o\u00f4\u008c~\u00d1+\u00faD\u008f\u00e8\u000f\u00bd\u00a1/\u00f4\u0084~\u00d0\u000b\u00fa@\u000f\u00e8\u00ff\u00bc\u009f\u00ef\u00f3|~\u00cf\u00eb\u00f9<\u008f\u00e7\u00ef\u00bc\u009d\u00af\u00f3t~\u00ce\u00cb\u00f98\u000f\u00e7\u00df\u00bc\u009bo\u00f3l~\u00cd\u00ab\u00f9\u00dd\u00a7y4\u007f\u00e6\u00cd|\u0099'\u00f3c^\u00cc\u0087y0\u00ff\u00e5\u00bd|\u0097\u00e7\u00f2[^\u00cbgy,\u007f\u00e5\u00ad|\u0095\u00a7\u00f2S^\u00caGy(\u00ff\u00e4\u009d|\u0093g\u00f2K^\u00c9'y$\u007f\u00e4\u008d|\u0091'\u00f2C^\u00c8\u0007y \u00ff\u00e3}|\u008f\u00e7\u00f1;^\u00c7\u00e7x\u001c\u007f\u00e3m|\u008d\u00a7\u00f13^\u00c6\u00c7x\u0018\u00ff\u00e2]|\u008bg\u00f1+^\u00c5\u00a7x\u0014\u007f\u00e2M|\u0089'\u00f1#^\u00c4\u0087x\u0010\u00ff\u00e1=|\u0087\u00e7\u00f0\u001b^\u00c3gx\f\u007f\u00e1-|\u0085\u00a7\u00f0\u0013^\u00c2Gx\b\u00ff\u00e0\u001d|\u0083g\u00f0\u000b^\u00c1'\u00f8\u00f8\u00f0\u00df\u00ff\u00fb\u00f7\u00f3\u00efk\u0004\u0010<\u00e0@\u0003\u00ce\u0080/\u00e0\nx\u0002\u008e\u0080\u001f\u00e0\u0006x\u0001N\u0080\u000f\u00e0\u0002x\u0000\u000e\u0080\u00afsu\u009e\u00ce\u00d1\u00f997\u00e7\u00e5\u009c\u009c\u008fsq\u001e\u00ce\u00c1\u00f97\u00f7\u00e6\u00dd\u009c\u009bosm\u009e\u00cd\u00b1\u00f95\u00b7\u00e6\u00d5\u009c\u009aOsi\u001e\u00cd\u00a1\u00f93w\u00e6\u00cd\u009c\u0099/se\u009e\u00cc\u0091\u00f917\u00e6\u00c5\u009c\u0098\u000fsa\u001e\u00cc\u0081\u00f9/\u00f7\u00e5\u00bd\u009c\u0097\u00efr]\u009e\u00cbq\u00f9-\u00b7\u00e5\u00b5\u009c\u0096\u00cfrY\u001e\u00cba\u00f9+w\u00e5\u00ad\u009c\u0095\u00afrU\u009e\u00caQ\u00f9)7\u00e5\u00a5\u009c\u0094\u008frQ\u001e\u00caA\u00f9'\u00f7\u00e4\u009d\u009c\u0093orM\u009e\u00c91\u00f9%\u00b7\u00e4\u0095\u009c\u0092OrI\u001e\u00c9!\u00f9#w\u00e4\u008d\u009c\u0091/rE\u009e\u00c8\u0011\u00f9!7\u00e4\u0085\u009c\u0090\u000frA\u001e\u00c8\u0001\u00f9\u001f\u00f7\u00e3}\u009c\u008f\u00efq=\u009e\u00c7\u00f1\u00f8\u001d\u00b7\u00e3u\u009c\u008e\u00cfq9\u001e\u00c7\u00e1\u00f8\u001bw\u00e3m\u009c\u008d\u00afq5\u00be\u00f34\u008e\u00c6\u00cf\u00b8\u0019/\u00e3d|\u008c\u008b\u00f10\u000e\u00c6\u00bf\u00b8\u0017\u00ef\u00e2\\|\u008bk\u00f1,\u008e\u00c5\u00af\u00b8\u0015\u00af\u00e2T|\u008aK\u00f1(\u000e\u00c5\u009f\u00b8\u0013o\u00e2L|\u0089+\u00f1$\u008e\u00c4\u008f\u00b8\u0011/\u00e2D|\u0088\u000b\u00f1 \u000e\u00c4\u007f\u00b8\u000f\u00ef\u00e1<|\u0087\u00eb\u00f0\u001c\u008e\u00c3o\u00b8\r\u00af\u00e14|\u0086\u00cb\u00f0\u0018\u000e\u00c3_\u00b8\u000bo\u00e1,|\u0085\u00ab\u00f0\u0014\u008e\u00c2O\u00b8\t/\u00e1$|\u0084\u008b\u00f0\u0010\u000e\u00c2?\u00b8\u0007\u00ef\u00e0\u001c|\u0083k\u00f0\f\u008e\u00c1/\u00b8\u0005\u00af\u00e0\u0014|\u0082K\u00f0\b\u000e\u00c1\u001f\u00b8\u0003o\u00e0\f|\u0081+\u00f0\u0004\u001e\u001d\u00fa\u00f3w\u00f7v\u00f6u\u008d\u0000\u0082\u0007\u001c\u00e8\u0006\u009a\u0081^\u00a0\u0015\u00e8\u0004\u001a\u0081>\u00a0\r\u00e8\u0002\u009a\u0080\u001e\u00a0\u0005\u00e8\u0000\u001a\u0080^\u0017\u0099\u0099\u0099;@\u00bb?;?\u00bb>;>\u00bb=;=\u00bb<;<\u00bb;;;\u00bb:;:\u00bb9;9\u00bb8;8\u00bb7;7\u00bb6;6\u00bb5;5\u00bb\u00dd.\u00cd\u000e\u00cd\u00ee\u00cc\u00ce\u00cc\u00ae\u00cc\u008e\u00ccn\u00ccN\u00cc.\u00cc\u000e\u00cc\u00ee\u00cb\u00ce\u00cb\u00ae\u00cb\u008e\u00cbn\u00cbN\u00cb.\u00cb\u000e\u00cb\u00ee\u00ca\u00ce\u00ca\u00ae\u00ca\u008e\u00can\u00ca.P\u0084\u0015_EW\u00b1Ud\u0015WEU1UD\u0015OES\u00b1T$\u0015GEQ1T\u0004\u0015?EO\u00b1S\u00e4\u00147EM1S\u00c4\u0014/EK\u00b1R\u00a4\u0014'EI1R\u0084\u0014\u001fEG\u00b1Qd\u0014\u0017EE1QD\u0014\u000fEC\u00b1P$\u0014\u0007EA1P\u0004\u0014\u00ffD?\u00b1O\u00e4\u0013\u00f7D=1O\u00c4\u0013\u00efD;\u00b1N\u00a4\u0013\u00e7D91N\u0084\u0013\u00dfD7\u00b1Md\u0013\u00d7D5q\u0017\u00d3D4\u00f1L4\u0013\u00cbD2qL\u0014\u0013\u00c3D0\u00f1K\u00f4\u0012\u00bbD.qK\u00d4\u0012\u00b3D,\u00f1J\u00b4\u0012\u00abD*qJ\u0094\u0012\u00a3D(\u00f1It\u0012\u009bD&qIT\u0012\u0093D$\u00f1H4\u0012\u008bD\"qH\u0014\u0012\u0083D \u00f1G\u00f4\u0011{D\u001eqG\u00d4\u0011sD\u001c\u00f1F\u00b4\u0011kD\u001aqF\u0094\u0011cD\u0018\u00f1Et\u0011[D\u0016qET\u0011SD\u0014\u00f1D4\u0011KD\u0012qD\u0014\u0011CD\u0010\u00f1C\u00f4\u0010;D\u000eqC\u00d4\u00103D\f\u00f1B\u00b4\u0010+D\nqB\u0094\u0010#D\b\u00f1At\u0010\u001bD\u0006qAT\u0010\u0013\u00c4\u0018a|\u00f1\u00a3\u00c7\u008e\u001c7j\u0004\u0010<\u00e0@\u0003\f,\u00a0\u0000L\u0000\"\u0000\u000f\u0080\u0006\u00c0\u0002 \u0001p\u0000(\u0000\f\u0000\u0002\u0000\u00d7Au0\u001dD\u0007\u00cfAs\u00b0\u001c$\u0007\u00c7Aq0\u001c\u0004\u0007\u00bfAo\u00b0\u001b\u00e4\u0006\u00b7Am0\u001b\u00c4\u0006\u00afAk\u00b0\u001a\u00a4\u0006\u00a7Ai0\u001a\u0084\u0006\u009fAg\u00b0\u0019d\u0006\u0097Ae0\u0019D\u0006\u008fAc\u00b0\u0018$\u0006\u0087Aa0\u0018\u0004\u0006\u007fA_\u00b0\u0017\u00e4\u0005wA]0\u0017\u00c4\u0005oA[\u00b0\u0016\u00a4\u0005gAY0\u0016\u0084\u0005_AW\u00b0\u0015d\u0005WAU0\u0015D\u0005OAS\u00b0\u0014$\u0005GAQ0\u0014\u0004\u0005?AO\u00b0\u0013\u00e4\u00047AM0\u0013\u00c4\u0004/AK\u00b0\u0012\u00a4\u0004'AI0\u0012\u0084\u0004\u001fAG\u00b0\u0011d\u0004\u0017AE0\u0011D\u0004\u000fAC\u00b0\u0010$\u0004\u0007AA0\u0010\u0004\u0004\u00ff@?\u00b0\u000f\u00e4\u0003\u00f7@=0\u000f\u00c4\u0003\u00ef@;\u00b0\u000e\u00a4\u0003\u00e7@90\u000e\u0084\u0003\u00df@7\u00b0\rd\u0003\u00d7@5p\u0007\u00d3@4\u00f0\f4\u0003\u00cb@2p\f\u0014\u0003\u00c3@0\u00f0\u000b\u00f4\u0002\u00bb@.p\u000b\u00d4\u0002\u00b3@,\u00f0\n\u00b4\u0002\u00ab@*p\n\u0094\u0002\u00a3@(\u00f0\tt\u0002\u009b@&p\tT\u0002\u0093@$\u00f0\b4\u0002\u008b@\"p\b\u0014\u0002\u0083@ \u00f0\u0007\u00f4\u0001{@\u001ep\u0007\u00d4\u0001s@\u001c\u00f0\u0006\u00b4\u0001k@\u001ap\u0006\u0094\u0001c@\u0018\u00f0\u0005t\u0001[@\u0016p\u0005T\u0001S@\u0014\u00f0\u00044\u0001K@\u0012p\u0004\u0014\u0001C@\u0010\u00f0\u0003\u00f4\u0000;@\u000ep\u0003\u00d4\u00003@\f\u00f0\u0002\u00b4\u0000+@\np\u0002\u0094\u0000#@\b\u00f0\u0001t\u0000\u001b@\u0006p\u0001T\u0000\u0013\u00c0\b!|\u00f0\u00a1\u00c3\u0086\f\u0017j\u0004\u0010<\u00e0@\u0003\f,\u00f0\u0014x\t<\u0004\u00de\u0001\u00cf\u0080W\u00c0#\u00e0\r\u00f0\u0004x\u0001<\u0000\u00de\u00ba\u00a7\u00ee\u00a5{\u00e8\u00de\u00b9g\u00ee\u0095{\u00e4\u00de\u00b8'\u00ee\u0085{\u00e0\u00de\u00b7\u00e7\u00edu{\u00dc\u00de\u00b6\u00a7\u00ede{\u00d8\u00de\u00b5g\u00edU{\u00d4\u00de\u00b4'\u00edE{\u00d0\u00de\u00b3\u00e7\u00ec5{\u00cc\u00de\u00b2\u00a7\u00ec%{\u00c8\u00de\u00b1g\u00ec\u0015{\u00c4\u00de\u00b0'\u00ec\u0005{\u00c0\u00de\u00af\u00e7\u00eb\u00f5z\u00bc\u00de\u00ae\u00a7\u00eb\u00e5z\u00b8\u00de\u00adg\u00eb\u00d5z\u00b4\u00de\u00ac'\u00eb\u00c5z\u00b0\u00de\u00ab\u00e7\u00ea\u00b5z\u00ac\u00de\u00aa\u00a7\u00ea\u00a5z\u00a8\u00de\u00a9g\u00ea\u0095z\u00a4\u00de\u00a8'\u00ea\u0085z\u00a0\u00de\u00a7\u00e7\u00e9uz\u009c\u00de\u00a6\u00a7\u00e9ez\u0098\u00de\u00a5g\u00e9Uz\u0094\u00de\u00a4'\u00e9Ez\u0090\u00de\u00a3\u00e7\u00e85z\u008c\u00de\u00a2\u00a7\u00e8%z\u0088\u00de\u00a1g\u00e8\u0015z\u0084\u00de\u00a0'\u00e8\u0005z\u0080\u00de\u009f\u00e7\u00e7\u00f5y|\u00de\u009e\u00a7\u00e7\u00e5yx\u00de\u009dg\u00e7\u00d5yt\u00de\u009c'\u00e7\u00c5yp\u00de\u009b\u00e7\u00e6\u00b5yl\u00de\u009a\u00a7\u00e6\u00ed^\u0089\u00e1\u00a84\u0000\u00c1\u007f\u00b3\u009f\u0090\u0005\u0000\u0014@\u00fcm\u000b\u00f5}U\u00a4lx\u000f=\u00b0>1\u00e3\u00ae\\\u0086\u0096\u00e8\u00d8\t\u00fa\u00d9\u00a6\u00f5\u00beQ\u0080\u0010\u00ff=\u00b0>1\u00e3\u00ae\\\u0086\u0096\u0084\u00e8\u00d86\u00b5*\u00f7~\u00cf|\u00f7\u00c3\u009a\u008ca\u00f7\u00e3\u001a\u001bt\u00b5\u00dc\u00d3\u00ac\u0007\u0086\u00a5~{`}b\u00c6]U\u00b8\u00ccV\u00ec\u001eO\u00b0\u0086\u00fb\u00ec\u00875\u0019\u00c3\u001e\u00eeg\u00bb\u0096\u00bbO\u00c4D\u00fez`}\u0014b\u00c6\u0012\u00e5> \u000b*\u00fb\u00e9\u0001\u0082\u00f5Y\u00ef\u00e6\u001e\u00dc'\u00e9\u007f\u00f6\u00bb\u001bZ8\u00fe\u00b9\u008cyG\u009aQ "}, "dtype": "int64", "shape": [2531]}, "structural_analysis_error": "index 0 is out of bounds for axis 0 with size 0", "trajectory": {":is_custom:": true, "__class__": "PosixPath", "__module__": "pathlib", "path": "mc1_campaign/shared/task_workdirs/HybridTopologyMultiStateSimulationUnit-15972a17ad31428280da2cc53c8a6cdc/simulation.nc"}, "unit_estimate": {":is_custom:": true, "magnitude": -0.6581372611688415, "pint_unit_registry": "openff_units", "unit": "kilocalorie_per_mole"}, "unit_estimate_error": {":is_custom:": true, "magnitude": 0.5347989282518214, "pint_unit_registry": "openff_units", "unit": "kilocalorie_per_mole"}, "unit_mbar_overlap": {"eigenvalues": {":is_custom:": true, "__class__": "ndarray", "__module__": "numpy", "bytes": {":is_custom:": true, "__class__": "bytes", "__module__": "builtins", "latin-1": "(\u00b5/\u00fd \u0018\u00c1\u0000\u0000\u009eQ\u0000\u0000\u0000\u0000\u00f0?\u00aaN\u0097\u00da,~\u00e5?\u0018VR\u0095\n\u00d7\u00a3p=\u00da\u00bf\u00a6\u009b\u00c4 \u00b0\u00f2\u0010\u00c0H\u00e1z\u0014\u00ae\u0007#\u00c0&\u0006\u0081\u0095C\u008b\u00fa\u00bf\u0003+\u0087\u0016\u00d9\u00ce\u00e7\u00bf&\u0006\u0081\u0095C\u008b$\u00c0\u0080j\u00bct\u0093\u0018\u00f4\u00bf\u009b\u0099\u0099\u0099\u0099\u0099\u00c9\u00bfR\u00b8\u001e\u0085\u00ebQ \u00c0\u00d4Mb\u0010X9\u00f4\u00bfy\u00e9&1\b\u00ac\u00d4\u00bf\u00a3E\u00b6\u00f3\u00fdT\u001e\u00c0L7\u0089A`\u00e5\u00f0\u00bf0\u00dd$\u0006\u0081\u0095\u00f3\u00bf\u0084\u00c0\u00ca\u00a1E6\u001d\u00c0=\n\u00d7\u00a3p=\u0002\u00c0sh\u0091\u00ed|?\u00d5?\u00be\u009f\u001a/\u00ddd \u00c0\u00fa~j\u00bct\u0093h\u00bfR\u00b8\u001e\u0085\u00ebQ\u00e0?\u00ee|?5^\u00ba\u001c\u00c0\u00a7\u009b\u00c4 \u00b0r\u00d8?\u00de$\u0006\u0081\u0095C\u00e3?\u00baI\f\u0002+\u0007!\u00c0\u00f7(\\\u008f\u00c2\u00f5\u00c8\u00bfP\u008d\u0097n\u0012\u0083\u00f8?\u00a8\u00c6K7\u0089\u00c1\u0018\u00c0\u00b5\u00c8v\u00be\u009f\u001a\u0004\u00c0\u00dfO\u008d\u0097n\u0012\u00c3\u00bf<\u00dfO\u008d\u0097.\"\u00c0\u00baI\f\u0002+\u0087\u00ee?j\u00bct\u0093\u0018\u0004\u00a6?\u00ecQ\u00b8\u001e\u0085\u00eb#\u00c0b\u0010X9\u00b4\u00c8\u00ea?\u008bl\u00e7\u00fb\u00a9\u00f1\u00da?\u00e8\u00fb\u00a9\u00f1\u00d2\u00cd\u001f\u00c0\u00c9v\u00be\u009f\u001a/\b\u00c07\u0089A`\u00e5\u00d0\u00f4?\u00a0\u001a/\u00dd$\u0086!\u00c0\u001a\u0004V\u000e-\u00b2\u0005\u00c0J\f\u0002+\u0087\u0016\u00fd?\u00b0rh\u0091\u00ed\u00fc\u001c\u00c0\u00f0\u00a7\u00c6K7\t\u0010\u00c0\u0018\u00d9\u00ce\u00f7S\u00e3\u00ff?n\u00e7\u00fb\u00a9\u00f1R\u0019\u00c0%\u0006\u0081\u0095C\u008b\f\u00c0\u0014\u00aeG\u00e1z\u0014\u0003@\u0094\u0018\u0004V\u000e-\u001b\u00c0P\u008d\u0097n\u0012\u0083\u0014\u00c0\u00db\u00f9~j\u00bct\u00f1?F\u00b6\u00f3\u00fd\u00d48 \u00c0,\u0087\u0016\u00d9\u00ce\u00f7\u0011\u00c0\u00b0rh\u0091\u00ed|\t@\u00b6\u00f3\u00fd\u00d4x)\"\u00c0\u00be\u009f\u001a/\u00dd\u00a4\u0013\u00c01\b\u00ac\u001cZd\u0007@\u00e7\u00fb\u00a9\u00f1\u00d2\u00cd \u00c08\u0089A`\u00e5\u00d0\f\u00c0?5^\u00baI\f\u000e@\u008f\u00c2\u00f5(\\\u008f\u0016\u00c0\u0085\u00ebQ\u00b8\u001e\u0005\u0016\u00c0\u001dZd;\u00dfO\u00f3?R\u00b8\u001e\u0085\u00eb\u00d1\u001d\u00c0\u000b\u00d7\u00a3p=\n\u0016\u00c0\u00d5x\u00e9&1\u0088\u0010@\u00db\u00f9~j\u00bct\u001b\u00c0\u001c/\u00dd$\u0006\u0001\u0019\u00c08\u0089A`\u00e5\u00d0\f@\f\u0002+\u0087\u0016\u00d9\u0019\u00c0333333\u0013\u00c0\u00bct\u0093\u0018\u0004V\u0014@\u00fe\u00d4x\u00e9&1\u0018\u00c0\u00e2z\u0014\u00aeG\u00e1\u000e\u00c0w\u00be\u009f\u001a/\u00dd\u0012@\r\u0002+\u0087\u0016\u00d9\u0016\u00c0\u00c4\u00f5(\\\u008fB\u0016\u00c0\u00a0\u001a/\u00dd$\u0006\u0015@\u00ea&1\b\u00ac\u009c\u001c\u00c0Nb\u0010X9\u00b4\u0012\u00c0\u00fe\u00d4x\u00e9&\u00b1\u0017@\u0085\u00ebQ\u00b8\u001e\u0005!\u00c0\u00bf\u009f\u001a/\u00dd$\u0019\u00c0\u00d3Mb\u0010X\u00b9\u0013@\u0017\u00d9\u00ce\u00f7Sc\"\u00c0\u001f\u0085\u00ebQ\u00b8\u001e\u001b\u00c0\u00db\u00f9~j\u00bc\u00f4\u0010@1\b\u00ac\u001cZ$\"\u00c0w\u00be\u009f\u001a/]\u0016\u00c0=\n\u00d7\u00a3p=\u0016@\u00a8\u00c6K7\u0089\u0001 \u00c0\u00e3\u00a5\u009b\u00c4 0\u001c\u00c0\u00aa\u00f1\u00d2Mb\u0010\u0016@r=\n\u00d7\u00a3p\u001e\u00c0W\u000e-\u00b2\u009do\u0016\u00c0ffffff\u00c6?\u001dZd;\u00df\u000f!\u00c0\u0088\u0016\u00d9\u00ce\u00f7\u00d3\u0014\u00c0T\u00e3\u00a5\u009b\u00c4 \u00c0?\u00e4\u00a5\u009b\u00c4 0\u001d\u00c0L7\u0089A`e\u001a\u00c0\u0086\u00ebQ\u00b8\u001e\u0085\u00eb\u00bf\u0085\u00ebQ\u00b8\u001e\u0005\u001c\u00c0q=\n\u00d7\u00a3\u00f0\u001d\u00c0\u008cl\u00e7\u00fb\u00a9\u00f1\u00d2\u00bf\u0006\u0081\u0095C\u008b\u00ec\u0018\u00c0H\u00e1z\u0014\u00ae\u00c7\u0018\u00c0\u0090\u00c2\u00f5(\\\u008f\u00fe\u00bf\u00b2\u009d\u00ef\u00a7\u00c6K!\u00c0\u00f2\u00d2Mb\u0010\u00d8\u001b\u00c0\u00de$\u0006\u0081\u0095C\u00f9\u00bf\u00bct\u0093\u0018\u0004V\"\u00c0'1\b\u00ac\u001cZ\u0018\u00c0\u009a\u0099\u0099\u0099\u0099\u0099\u00ff\u00bfNb\u0010X9\u00b4\"\u00c0\u00da\u00ce\u00f7S\u00e3\u00a5\u001d\u00c0\u00fc\u00a9\u00f1\u00d2Mb\u00ec\u00bf-\u00b2\u009d\u00ef\u00a7\u00c6\u0014\u00c0j\u00bct\u0093\u0018\u0084\u001b\u00c0\u00d3Mb\u0010X9\u0001\u00c0\u00e3\u00a5\u009b\u00c4 \u00f0 \u00c0S\u00b8\u001e\u0085\u00eb\u00d1\u001f\u00c0\u001eZd;\u00dfO\u0006\u00c0\u0092\u00ed|?5\u00de\"\u00c0\u00a6\u009b\u00c4 \u00b0r\u001f\u00c0\t\u00ac\u001cZd;\n\u00c0\u00dc\u00f9~j\u00bct\u001e\u00c0\u00e8\u00fb\u00a9\u00f1\u00d2\u00cd\u001e\u00c0R\u00b8\u001e\u0085\u00ebQ\u000b\u00c0\u0002+\u0087\u0016\u00d9\u008e \u00c0\u00e7\u00fb\u00a9\u00f1\u00d2\u00cd\"\u00c0\u00ac\u001cZd;\u00df\u0001\u00c0\u00c1\u00ca\u00a1E\u00b6s!\u00c0\u00f0\u00a7\u00c6K7\u00c9$\u00c0\u0094\u0018\u0004V\u000e-\u0007\u00c0\u00e3\u00a5\u009b\u00c4 \u00b0\u001e\u00c0n\u00e7\u00fb\u00a9\u00f1R#\u00c0\u00e3\u00a5\u009b\u00c4 \u00b0\u00f2\u00bf_\u00baI\f\u0002\u00ab\u0019\u00c0/\u00dd$\u0006\u0081\u0015\u0014\u00c0\u0093\u0018\u0004V\u000e-\u0004\u00c0\u0083\u00c0\u00ca\u00a1E\u00b6\u001c\u00c0\u00a8\u00c6K7\u0089\u00c1\u0011\u00c0\u000e-\u00b2\u009d\u00ef\u00a7\u0001\u00c0b\u0010X9\u00b4\u00c8\u0015\u00c09\u00b4\u00c8v\u00be\u009f\u0011\u00c0gfffff\u000b\u00c0sh\u0091\u00ed|?\u0015\u00c0\u009e\u00ef\u00a7\u00c6K7\u0014\u00c0^\u00baI\f\u0002+\u0011\u00c0\u0002+\u0087\u0016\u00d9\u00ce\u000f\u00c0\u00ecQ\u00b8\u001e\u0085k\u0011\u00c0d;\u00dfO\u008d\u0097\u0006\u00c0F\u00b6\u00f3\u00fd\u00d4\u00f8\u0017\u00c0\u00bf\u009f\u001a/\u00dd$\b\u00c0C`\u00e5\u00d0\"\u00db\u000f\u00c0U\u00e3\u00a5\u009b\u00c4 \u0019\u00c0\u00cd\u00cc\u00cc\u00cc\u00cc\u00cc\u0003\u00c0p\u0012\u0083\u00c0\u00ca\u00a1\b\u00c0?5^\u00baI\f\b\u00c0Zd;\u00dfO\r\u0013\u00c0\u00a4p=\n\u00d7\u00a3\u000b\u00c0\u00d0\u00f7S\u00e3\u00a5\u009b\u001c\u00c09\u00b4\u00c8v\u00be\u009f\n\u00c0\f\u0002+\u0087\u0016\u00d9\u0013\u00c0w\u00be\u009f\u001a/]\u001b\u00c0h\u0091\u00ed|?5\u000f\u00c0\u00a2E\u00b6\u00f3\u00fdT\u0017\u00c0\u00db\u00f9~j\u00bct\u001f\u00c0H\u00e1z\u0014\u00aeG\u0010\u00c0\u00f6(\\\u008f\u00c2u\u0012\u00c0\u008f\u00c2\u00f5(\\\u008f\u0013\u00c0\u00e9&1\b\u00ac\u001c\u0002\u00c0\u0092\u00ed|?5\u00de\u0012\u00c0)\\\u008f\u00c2\u00f5\u00a8\u0011\u00c0\u00afG\u00e1z\u0014\u00ae\u0006\u00c0Zd;\u00dfO\r\u0016\u00c0h\u0091\u00ed|?\u00b5\u0014\u00c0\u0096C\u008bl\u00e7\u00fb\u00f3\u00bf\u00b0rh\u0091\u00ed\u00fc\u0013\u00c0\u00bct\u0093\u0018\u0004V\u0010\u00c0T\u00e3\u00a5\u009b\u00c4 \u0000\u00c0\u009a\u0099\u0099\u0099\u0099\u0019\u0010\u00c0\u009e\u00ef\u00a7\u00c6K7 \u00c0\u00fe\u00d4x\u00e9&1\u0001\u00c0L7\u0089A`e\u0015\u00c0U\u00e3\u00a5\u009b\u00c4 \u001e\u00c0H\u00e1z\u0014\u00aeG\u00f5\u00bf\u00d9\u00ce\u00f7S\u00e3%\u0017\u00c0\u009e\u00ef\u00a7\u00c6K\u00f7 \u00c0\u00afG\u00e1z\u0014\u00ae\u00fb\u00bf\u0093\u0018\u0004V\u000e\u00ad\u0011\u00c0\u00a2E\u00b6\u00f3\u00fd\u0094!\u00c0w\u00be\u009f\u001a/\u00dd\u0003\u00c0\u00d6x\u00e9&1\u0088\u0018\u00c0e;\u00dfO\u008d\u0097\u000e\u00c0\u00cav\u00be\u009f\u001a/\u000f\u00c0Zd;\u00dfO\u008d\u00f9\u00bfT\u00e3\u00a5\u009b\u00c4\u00a0\u0012\u00c0\u0088\u0016\u00d9\u00ce\u00f7S\r\u00c0H\u00e1z\u0014\u00aeG\u00f1\u00bfK\f\u0002+\u0087\u0016\u0004\u00c0\u0080j\u00bct\u0093\u0018\u000e\u00c0\u0099n\u0012\u0083\u00c0\u00ca\u00ed\u00bf%\u0006\u0081\u0095C\u008b\u00fc\u00bf\u00c8K7\u0089A`\u000b\u00c07\u0089A`\u00e5\u00d0\u00fa\u00bf\u00a2E\u00b6\u00f3\u00fd\u00d4\u0000\u00c0-\u00b2\u009d\u00ef\u00a7F\u0014\u00c0\u00a8\u00c6K7\u0089A\u00d8\u00bfY9\u00b4\u00c8v\u00be\u0004\u00c0\u001a\u0004V\u000e-\u00b2\u0005\u00c0\u00aeG\u00e1z\u0014\u00ae\u00c7?_\u00baI\f\u0002+\f\u00c0\n\u00d7\u00a3p=\n\u0007\u00c0\u0088\u0016\u00d9\u00ce\u00f7S\u00e7?(1\b\u00ac\u001cZ\u00ec\u00bf\u00aeG\u00e1z\u0014.\u0015\u00c0\u00d3Mb\u0010X9\u00dc\u00bf\u00c8K7\u0089A`\u0005\u00c05^\u00baI\f\u0002\u00f5\u00bf\u00b2\u009d\u00ef\u00a7\u00c6K\u00df\u00bf$\u00db\u00f9~j\u00bc\u00fa\u00bf\u00e0O\u008d\u0097n\u0012\u00ef\u00bf\u0003+\u0087\u0016\u00d9\u00ce\u00e7\u00bfD\u008bl\u00e7\u00fb\u00a9\t\u00c0\u00d9\u00ce\u00f7S\u00e3\u00a5\u00f5\u00bfu\u0093\u0018\u0004V\u000e\u00f7\u00bf\u0014\u00aeG\u00e1z\u0014\u00f6\u00bf\u0000\u0000\u0000\u0000\u0000\u0000\u0005\u00c0j\u00bct\u0093\u0018\u0004\u00f2?\u00e2z\u0014\u00aeG\u00e1\u00f4\u00bf433333\f\u00c0\u00afG\u00e1z\u0014\u00ae\u00fb?\u007fj\u00bct\u0093\u0018\u00f6\u00bf*\\\u008f\u00c2\u00f5(\u00fc\u00bf%\u0006\u0081\u0095C\u008b\u00fc?\u00d9\u00ce\u00f7S\u00e3\u00a5\u00e3\u00bfh\u0091\u00ed|?5\u0005\u00c0\n\u00d7\u00a3p=\n\u00d7?\u00db\u00f9~j\u00bct\u000b\u00c0\u0014\u00aeG\u00e1z\u0014\u00ce\u00bf\u001dZd;\u00dfO\u00d5?\b\u00ac\u001cZd\u00bb\u0011\u00c0\t\u00ac\u001cZd;\u00df\u00bf\u00f4\u00fd\u00d4x\u00e9&\u00e5?\u0001\u0000\u0000\u0000\u0000\u0000\u0007\u00c0{\u0014\u00aeG\u00e1z\u0094?D\u008bl\u00e7\u00fb\u00a9\u00f3?\u00ecQ\u00b8\u001e\u0085\u00eb\f\u00c0\u0082\u0095C\u008bl\u00e7\u00e3?+\u0087\u0016\u00d9\u00ce\u00f7\u00d3\u00bfNb\u0010X9\u00b4\u0007\u00c0\u00b0rh\u0091\u00ed\u00fc\u0017\u00c09\u00b4\u00c8v\u00be\u009f\u00ba?<\u00dfO\u008d\u0097n\u000f\u00c0\u00fc\u00a9\u00f1\u00d2M\u00e2\u0016\u00c0\u0012\u0083\u00c0\u00ca\u00a1E\u00c6?\u00ac\u001cZd;\u00df\u0004\u00c0.\u00b2\u009d\u00ef\u00a7\u00c6\u001d\u00c0\u0090\u00c2\u00f5(\\\u008f\u00da?e;\u00dfO\u008d\u0097\u00fe\u00bf\u0093\u0018\u0004V\u000e-\u001e\u00c0\u0000\u0000\u0000\u0000\u0000\u0000\u00f4?th\u0091\u00ed|?\u00ff\u00bf\u00a8\u00c6K7\u0089A \u00c0\u00cb\u00a1E\u00b6\u00f3\u00fd\u00e8\u00bf\t\u00ac\u001cZd;\u000f\u00c0(1\b\u00ac\u001cZ \u00c0\u00e0O\u008d\u0097n\u0012\u00eb?d;\u00dfO\u008d\u0097\u0010\u00c0;\u00dfO\u008d\u0097\u00ee\u001e\u00c06^\u00baI\f\u0002\u00fd?\u00f0\u00a7\u00c6K7\u0089\u0012\u00c0H\u00e1z\u0014\u00ae\u0007 \u00c0z\u00e9&1\b\u00ac\u00ac?\u00b4\u00c8v\u00be\u009f\u001a\u00eb\u00bfo\u0012\u0083\u00c0\u00caa!\u00c0\u00a2E\u00b6\u00f3\u00fd\u00d4\u00e4\u00bf\u0094\u0018\u0004V\u000e-\f\u00c0\u009c\u00c4 \u00b0r(#\u00c0<\u00dfO\u008d\u0097n\u00ee?\u00cf\u00f7S\u00e3\u00a5\u009b\n\u00c0=\n\u00d7\u00a3p}#\u00c0\u0000\u0000\u0000\u0000\u0000\u0000\u00fe?\u0004V\u000e-\u00b2\u009d\u0004\u00c0fffff& \u00c0\u00f1\u00a7\u00c6K7\u0089\u00ff\u00bf2\b\u00ac\u001cZd\u000b\u00c0\u00a4p=\n\u00d7#\u001e\u00c0P\u008d\u0097n\u0012\u0083\u0000\u00c0-\u00b2\u009d\u00ef\u00a7\u00c6\u0000\u00c0\u0019\u0004V\u000e-r!\u00c0h\u0091\u00ed|?5\t\u00c0\u00d2\"\u00db\u00f9~j\u00fe\u00bf\u00a0\u001a/\u00dd$\u0086#\u00c0\u0097C\u008bl\u00e7\u00fb\u0006\u00c0B`\u00e5\u00d0\"\u00db\u00e9\u00bf\u00b4\u00c8v\u00be\u009f\u001a \u00c0\u00b4\u00c8v\u00be\u009f\u001a\r\u00c0\u0003+\u0087\u0016\u00d9\u00ce\b\u00c0;\u00dfO\u008d\u0097.!\u00c0\u00f4\u00fd\u00d4x\u00e9&\u0011\u00c0\u00a4p=\n\u00d7\u00a3\u000b\u00c0\u00d4Mb\u0010X9\u001e\u00c0\u0087\u0016\u00d9\u00ce\u00f7\u00d3\u0010\u00c0\u00db\u00f9~j\u00bct\u0005\u00c0\u00e5\u00d0\"\u00db\u00f9\u00be!\u00c0\u0085\u00ebQ\u00b8\u001e\u0005\u0015\u00c0\u00db\u00f9~j\u00bct\u00a3?\u00dd$\u0006\u0081\u0095\u0083!\u00c0X9\u00b4\u00c8v\u00be\u0010\u00c0333333\u0011\u00c0\u008f\u00c2\u00f5(\\\u000f#\u00c0F\u00b6\u00f3\u00fd\u00d4x\u000f\u00c0'1\b\u00ac\u001cZ\u0012\u00c0\u00d9\u00ce\u00f7S\u00e3\u00a5\"\u00c0H\u00e1z\u0014\u00aeG\u0007\u00c0\u00d6x\u00e9&1\b\u000f\u00c0\u00ab\u00f1\u00d2Mb\u0010%\u00c0\u0089A`\u00e5\u00d0\"\u000f\u00c0\u008d\u0097n\u0012\u0083\u00c0\u0015\u00c0\u00b4\u00c8v\u00be\u009f\u00da\"\u00c0\u001eZd;\u00df\u00cf\u0013\u00c0 \u0085\u00ebQ\u00b8\u001e\u0017\u00c0\u00b2\u009d\u00ef\u00a7\u00c6\u00cb \u00c0\u00c6 \u00b0rh\u0091\u0013\u00c0\u0085\u00ebQ\u00b8\u001e\u0085\u0014\u00c0\u009e\u00ef\u00a7\u00c6K\u00f7\"\u00c0\u00e5\u00d0\"\u00db\u00f9\u00fe\u0017\u00c0\u008f\u00c2\u00f5(\\\u000f\u001a\u00c0\u00e2z\u0014\u00aeG\u00e1$\u00c0\u0089A`\u00e5\u00d0\"\u0013\u00c0q=\n\u00d7\u00a3\u00f0\u001c\u00c0\u00b8\u001e\u0085\u00ebQ8$\u00c0\u0089A`\u00e5\u00d0\u00a2\u0010\u00c0\u0013\u0083\u00c0\u00ca\u00a1\u00c5\u0016\u00c0!\u00b0rh\u0091m(\u00c0%\u0006\u0081\u0095C\u008b\u0017\u00c0\u00cd\u00cc\u00cc\u00cc\u00cc\u00cc\u0013\u00c0i\u0091\u00ed|?u'\u00c0\u00d2\"\u00db\u00f9~j\u0019\u00c0 \u0085\u00ebQ\u00b8\u001e\u0017\u00c0\u00f4\u00fd\u00d4x\u00e9f*\u00c0\u00b9\u001e\u0085\u00ebQ8\u0018\u00c0\u00c4\u00f5(\\\u008f\u00c2\u001e\u00c0\u008f\u00c2\u00f5(\\\u008f(\u00c0\u00dfO\u008d\u0097n\u0092\u0013\u00c0\u00d0\u00f7S\u00e3\u00a5\u001b\u001f\u00c0\u009e\u00ef\u00a7\u00c6Kw*\u00c0\u00dd$\u0006\u0081\u0095\u00c3\u0014\u00c0\u00c3\u00f5(\\\u008f\u0082 \u00c0\u00d5x\u00e9&1\b(\u00c0\u00c7K7\u0089A`\u0010\u00c0\u00f7(\\\u008f\u00c2u\u001a\u00c0\u0098n\u0012\u0083\u00c0J'\u00c0\u00b4\u00c8v\u00be\u009f\u009a\u0014\u00c0\u00f1\u00a7\u00c6K7\u0089\u00e5\u00bfj\u00bct\u0093\u0018\u0004\u001b\u00c0\u0092\u00ed|?5^\u000b\u00c0\u009a\u0099\u0099\u0099\u0099\u0099\u00f7\u00bf\u00c5 \u00b0rh\u0011\u0019\u00c0G\u00b6\u00f3\u00fd\u00d4x\b\u00c0\u0091\u00ed|?5^\u00e2?\u00bf\u009f\u001a/\u00dd$\u0018\u00c0:\u00b4\u00c8v\u00be\u009f\r\u00c0\u00bct\u0093\u0018\u0004V\u00ee?$\u00db\u00f9~j\u00bc\u0019\u00c0\u0014\u00aeG\u00e1z\u0094\u0012\u00c0\u0001\u0000\u0000\u0000\u0000\u0000\u00fc?\u0087\u0016\u00d9\u00ce\u00f7S\u0019\u00c0\u0094\u0018\u0004V\u000e-\u0006\u00c0\u00ef|?5^\u00ba\u00c9?\u00d7\u00a3p=\nW\u0012\u00c0\u009e\u00ef\u00a7\u00c6K7\u000e\u00c0V\u000e-\u00b2\u009d\u00ef\u00c7?\u00c1\u00ca\u00a1E\u00b6\u00f3\u0010\u00c0\u00f6(\\\u008f\u00c2\u00f5\u0005\u00c0\u00d2\"\u00db\u00f9~j\u00e8\u00bfZd;\u00dfO\r\u0012\u00c09\u00b4\u00c8v\u00be\u001f\u0011\u00c0\u001c/\u00dd$\u0006\u0081\u0006@\u00f4\u00fd\u00d4x\u00e9&\u001a\u00c0>\n\u00d7\u00a3p=\n\u00c0\"\u00b0rh\u0091\u00ed\u00f2?\u00ecQ\u00b8\u001e\u0085\u00eb\f\u00c0u\u0093\u0018\u0004V\u000e\u0012\u00c0\u00f4\u00fd\u00d4x\u00e9&\u00e9?\u00a0\u001a/\u00dd$\u0006\t\u00c0sh\u0091\u00ed|?\u0017\u00c0z\u00e9&1\b\u00ac\u00ac\u00bf\u00fe\u00d4x\u00e9&1\r\u00c05^\u00baI\f\u0002\u0019\u00c0\"\u00b0rh\u0091\u00ed\u0002@\u00ea&1\b\u00ac\u001c\t\u00c0\u00fb~j\u00bct\u0093\u000f\u00c0\u00a4p=\n\u00d7\u00a3\u0005@\u00f3\u00d2Mb\u0010X\f\u00c0\u0001\u0000\u0000\u0000\u0000\u0000\b\u00c0\u00fe\u00d4x\u00e9&1\u00fa?\u00b0rh\u0091\u00ed|\u0002\u00c0\u00c5 \u00b0rh\u0011\u001a\u00c0\u00e1z\u0014\u00aeG\u00e1\u00f6?[d;\u00dfO\u008d\u00ff\u00bf\u009a\u0099\u0099\u0099\u0099\u0019\u001e\u00c0~?5^\u00baI\t@/\u00dd$\u0006\u0081\u0095\u0001\u00c0\u0000\u0000\u0000\u0000\u0000\u0080\u0012\u00c0\u0081\u0095C\u008blg\u0010@\u0083\u00c0\u00ca\u00a1E\u00b6\u00fd\u00bf7\u0089A`\u00e5\u00d0\u0010\u00c0z\u00e9&1\b\u00ac\n@\u00a6\u009b\u00c4 \u00b0r\u00e4\u00bf\u00e2z\u0014\u00aeG\u00e1\u0019\u00c0B`\u00e5\u00d0\"\u00db\u0006@\u00c2\u00ca\u00a1E\u00b6\u00f3\u00e1\u00bf\u0084\u00c0\u00ca\u00a1E6\u001d\u00c0\u00ff\u00d4x\u00e9&1\u0006@\u00d8\u00a3p=\n\u00d7\u00fb\u00bf\u00f0\u00a7\u00c6K7\u0089\u0017\u00c0\u001b/\u00dd$\u0006\u0081\u00f9?^\u00baI\f\u0002+\u0019\u00c0\u00b8\u001e\u0085\u00ebQ\u00b8\u00f6\u00bf\u009d\u00c4 \u00b0rh\u00e9?\u00b4\u00c8v\u00be\u009f\u009a\u0017\u00c0h\u0091\u00ed|?5\u00ee\u00bf\u007fj\u00bct\u0093\u0018\u0005@\u0092\u00ed|?5^\u001a\u00c0\t\u00ac\u001cZd;\u00df\u00bf`\u00e5\u00d0\"\u00db\u00f9\u000b@\u008e\u0097n\u0012\u0083@\u0018\u00c0#\u00db\u00f9~j\u00bc\u00ec\u00bf\u0085\u00ebQ\u00b8\u001e\u0085\b@V\u000e-\u00b2\u009d/ \u00c0q=\n\u00d7\u00a3p\u00e1\u00bf\u00cd\u00cc\u00cc\u00cc\u00cc\u00cc\u0002@\u00a2E\u00b6\u00f3\u00fdT\u0018\u00c0G\u00b6\u00f3\u00fd\u00d4x\u00ed?\u0004V\u000e-\u00b2\u009d\u00f7?[d;\u00dfO\u008d\u001a\u00c0{\u0014\u00aeG\u00e1z\u00f4?\u00dc\u00f9~j\u00bct\t@L7\u0089A`e\u0019\u00c0^\u00baI\f\u0002+\u00f9?^\u00baI\f\u0002+\u0011@\u00ac\u001cZd;\u009f \u00c0\u00c7K7\u0089A`\u00dd\u00bf-\u00b2\u009d\u00ef\u00a7\u00c6\u0000@)\\\u008f\u00c2\u00f5(\u0012\u00c0D\u008bl\u00e7\u00fb\u00a9\u00ed?\u009a\u0099\u0099\u0099\u0099\u0099\u00f5?\u00b4\u00c8v\u00be\u009f\u001a\u0011\u00c0\u0003+\u0087\u0016\u00d9\u00ce\u00c7?\u00e6\u00d0\"\u00db\u00f9~\u00f8?\u00ee|?5^:\u0010\u00c05^\u00baI\f\u0002\u0002@u\u0093\u0018\u0004V\u000e\u00ed?\\\u008f\u00c2\u00f5(\\\t\u00c0\u00be\u009f\u001a/\u00dd$\u0001@\u00aeG\u00e1z\u0014\u00ae\u00ef?\u00e9&1\b\u00ac\u009c\u0013\u00c0P\u008d\u0097n\u0012\u0083\u0005@th\u0091\u00ed|?\u0003@{\u0014\u00aeG\u00e1z\u000e\u00c0n\u00e7\u00fb\u00a9\u00f1\u00d2\u0006@\f\u0002+\u0087\u0016\u00d9\n@\u00e8\u00fb\u00a9\u00f1\u00d2M\r\u00c0=\n\u00d7\u00a3p=\u00e2?\u00aa\u00f1\u00d2Mb\u0010\r@\u0086\u00ebQ\u00b8\u001e\u0085\u000f\u00c0\u00ce\u00cc\u00cc\u00cc\u00cc\u00cc\u00dc\u00bf\b\u00ac\u001cZd\u00bb\u0010@\u009a\u0099\u0099\u0099\u0099\u0099\u000f\u00c00\u00dd$\u0006\u0081\u0095\u00f3?L7\u0089A`\u00e5\b@\u0098n\u0012\u0083\u00c0\u00ca\u0004\u00c0#\u00db\u00f9~j\u00bc\u00e0?\u00ee|?5^\u00ba\u0001@\u00f8S\u00e3\u00a5\u009b\u0004\"\u00c0\u00a8\u00c6K7\u0089A\u00ec\u00bf>\n\u00d7\u00a3p=\u00f4?\u0004V\u000e-\u00b2]!\u00c0V\u000e-\u00b2\u009d\u00ef\u00ef\u00bfv\u0093\u0018\u0004V\u000e\u0005@\u00baI\f\u0002+\u00c7$\u00c0\u00b7\u00f3\u00fd\u00d4x\u00e9\u00f4\u00bf433333\n@\u0002+\u0087\u0016\u00d9\u008e%\u00c0{\u0014\u00aeG\u00e1z\u00e0\u00bf\u00cc\u00a1E\u00b6\u00f3\u00fd\u000b@\u00ac\u001cZd;\u00df$\u00c0h\u0091\u00ed|?5\u0004\u00c0H\u00e1z\u0014\u00aeG\u00f7?\u00cb\u00a1E\u00b6\u00f3\u00bd&\u00c0u\u0093\u0018\u0004V\u000e\u00f7\u00bf\u0013\u0083\u00c0\u00ca\u00a1E\u00fe?;\u00dfO\u008d\u0097\u00ae(\u00c0x\u00be\u009f\u001a/\u00dd\u00fa\u00bf\u00e7\u00fb\u00a9\u00f1\u00d2M\u00e6?\u00ef|?5^\u00fa%\u00c0\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u00c0\u00aa\u00f1\u00d2Mb\u0090\u0012@\u009c\u00c4 \u00b0r\u00e8%\u00c0\u00baI\f\u0002+\u0087\u0003\u00c0\u0090\u00c2\u00f5(\\\u008f\u00ea?\u00ecQ\u00b8\u001e\u0085+'\u00c0\u001c/\u00dd$\u0006\u0081\u00b5\u00bfj\u00bct\u0093\u0018\u0004\u00f6?sh\u0091\u00ed|\u007f(\u00c0\u00b4\u00c8v\u00be\u009f\u001a\u00e3?j\u00bct\u0093\u0018\u0004\u00e6?\u00d1\"\u00db\u00f9~j%\u00c0J\f\u0002+\u0087\u0016\u00e1?\u00c2\u00ca\u00a1E\u00b6\u00f3\u00e1\u00bfNb\u0010X9t(\u00c0X9\u00b4\u00c8v\u00be\u00d7\u00bf#\u00db\u00f9~j\u00bc\u00e0\u00bf[d;\u00dfOM*\u00c0\u00bct\u0093\u0018\u0004V\u00ee\u00bf\u00bct\u0093\u0018\u0004V\u00f2\u00bf\u00bct\u0093\u0018\u0004\u00d6&\u00c0\u00edQ\u00b8\u001e\u0085\u00eb\u00e9\u00bf\u00d0\u00f7S\u00e3\u00a5\u009b\u00f2\u00bf\u008d\u0097n\u0012\u0083\u0000)\u00c0\u00f0\u00a7\u00c6K7\u0089\u00ed?\u0098n\u0012\u0083\u00c0\u00ca\u00e1\u00bf\u009a\u0099\u0099\u0099\u0099\u00d9(\u00c0\u009a\u0099\u0099\u0099\u0099\u0099\u00fb?2\b\u00ac\u001cZd\t\u00c0\u00c2\u00ca\u00a1E\u00b6\u00b3*\u00c0z\u00e9&1\b\u00ac\u00bc?\u0014\u00aeG\u00e1z\u0094\u0010\u00c0\u009f\u00ef\u00a7\u00c6K7+\u00c0*\\\u008f\u00c2\u00f5(\u00cc?\u00e9&1\b\u00ac\u001c\u0006\u00c0th\u0091\u00ed|\u00bf*\u00c0B`\u00e5\u00d0\"\u00db\u00e9\u00bf\u00da\u00ce\u00f7S\u00e3\u00a5\u0007\u00c0\u00d7\u00a3p=\n\u0017*\u00c0F\u00b6\u00f3\u00fd\u00d4x\u0002@sh\u0091\u00ed|?\u0002\u00c0$\u00db\u00f9~j\u00fc)\u00c0\u00a7\u009b\u00c4 \u00b0r\b@~?5^\u00baI\u000e\u00c0\u00dc\u00f9~j\u00bc4+\u00c0\u00bct\u0093\u0018\u0004V\u0003@\u00baI\f\u0002+\u0087\u0003\u00c0\u0006\u0081\u0095C\u008b\u00ec)\u00c0\u0000\u0000\u0000\u0000\u0000\u0000\u00f2?\u008f\u00c2\u00f5(\\\u008f\b@\u00fc\u00a9\u00f1\u00d2M\u00e2#\u00c0\u00b3\u009d\u00ef\u00a7\u00c6K\r\u00c0\u00e1z\u0014\u00aeG\u00e1\u0000@7\u0089A`\u00e5P#\u00c0\u00c8K7\u0089A`\u000e\u00c0\u009b\u0099\u0099\u0099\u0099\u0099\u000e@b\u0010X9\u00b4\u0088#\u00c0\u00d2\"\u00db\u00f9~j\u0013\u00c0\u00ee|?5^:\u0010@th\u0091\u00ed|\u007f%\u00c0\u00f0\u00a7\u00c6K7\t\u0015\u00c0\u0096C\u008bl\u00e7\u00fb\u0014@\u0094\u0018\u0004V\u000em\"\u00c0J\f\u0002+\u0087\u0096\u0012\u00c0\u009e\u00ef\u00a7\u00c6K7\b@\u00f8S\u00e3\u00a5\u009b\u0004\"\u00c0\u009f\u00ef\u00a7\u00c6K\u00b7\u0017\u00c0\u00b8\u001e\u0085\u00ebQ\u00b8\u0000@%\u0006\u0081\u0095C\u000b#\u00c0<\u00dfO\u008d\u0097n\u0018\u00c0Zd;\u00dfO\u008d\u0006@\u0096C\u008bl\u00e7\u00fb\u001f\u00c0\u008e\u0097n\u0012\u0083@\u0016\u00c0 \u0085\u00ebQ\u00b8\u001e\u0019@\u00a6\u009b\u00c4 \u00b0r#\u00c0\u00baI\f\u0002+\u0087\u0014\u00c0\u00b5\u00c8v\u00be\u009f\u001a\u000e@\u001dZd;\u00df\u008f!\u00c0B`\u00e5\u00d0\"\u00db\u001c\u00c0X9\u00b4\u00c8v>\u0011@\f\u0002+\u0087\u0016Y#\u00c0\u00d5x\u00e9&1\b\u001e\u00c0y\u00e9&1\b,\u0012@d;\u00dfO\u008d\u0017 \u00c06^\u00baI\f\u0002\u001c\u00c0\u00a3E\u00b6\u00f3\u00fd\u00d4\u0006@\u00cb\u00a1E\u00b6\u00f3\u00bd \u00c0\u00be\u009f\u001a/\u00dd\u00a4 \u00c0\u000e-\u00b2\u009d\u00ef\u00a7\n@W\u000e-\u00b2\u009d\u00ef\u001d\u00c0\u001a\u0004V\u000e-2\"\u00c0\u00bct\u0093\u0018\u0004V\u00fa?\u008e\u0097n\u0012\u0083@!\u00c0\u00e9&1\b\u00ac\u00dc \u00c0(1\b\u00ac\u001cZ\u0015@\u00cd\u00cc\u00cc\u00cc\u00cc\f \u00c0\u008f\u00c2\u00f5(\\\u000f\u0010\u00c0-\u00b2\u009d\u00ef\u00a7\u00c6\u0011@C`\u00e5\u00d0\"[\u001e\u00c0B`\u00e5\u00d0\"\u00db\u000e\u00c0433333\u001a@6^\u00baI\f\u0082\u001d\u00c0 \u0085\u00ebQ\u00b8\u001e\r\u00c0H\u00e1z\u0014\u00aeG\u001c@\u00ab\u00f1\u00d2Mb\u0090\u001c\u00c0\u00e8\u00fb\u00a9\u00f1\u00d2M\u0012\u00c0sh\u0091\u00ed|\u00bf\u001d@\u0081\u0095C\u008blg \u00c0\u00e7\u00fb\u00a9\u00f1\u00d2M\u0006\u00c0y\u00e9&1\b\u00ac\u0018@h\u0091\u00ed|?5\u0018\u00c0\u0097C\u008bl\u00e7\u00fb\u0006\u00c0\u0084\u00c0\u00ca\u00a1E6\u001c@\u00a8\u00c6K7\u0089A\u0016\u00c0\u00e3\u00a5\u009b\u00c4 \u00b0\u0003\u00c0\u00e2z\u0014\u00aeG\u00e1\u0015@9\u00b4\u00c8v\u00be\u001f\u0019\u00c0/\u00dd$\u0006\u0081\u0095\u0000\u00c0T\u00e3\u00a5\u009b\u00c4`!@\u0098n\u0012\u0083\u00c0\n \u00c0\u0012\u0083\u00c0\u00ca\u00a1E\u0007\u00c0L7\u0089A`\u00e5\u0015@\u00b8\u001e\u0085\u00ebQ8\u0014\u00c0$\u00db\u00f9~j\u00bc\u000e\u00c0\u0086\u00ebQ\u00b8\u001e\u0005\u0014@Zd;\u00dfO\r\u0011\u00c0\u00ab\u00f1\u00d2Mb\u0010\n\u00c0b\u0010X9\u00b4\u00c8\u0012@\u00d7\u00a3p=\nW\u0016\u00c0\u00fa~j\u00bct\u0093\u0011\u00c0e;\u00dfO\u008d\u0097\u0019@\u0081\u0095C\u008bl\u00e7\u0011\u00c0\u00b8\u001e\u0085\u00ebQ\u00b8\u0013\u00c0\u0093\u0018\u0004V\u000e\u00ad\u0017@\u00ecQ\u00b8\u001e\u0085\u00eb\u0011\u00c0\u00ce\u00cc\u00cc\u00cc\u00cc\u00cc\u0018\u00c0\u008f\u00c2\u00f5(\\\u000f\u0014@\u00b4\u00c8v\u00be\u009f\u009a\u0013\u00c0&\u0006\u0081\u0095C\u008b\u0019\u00c0\u00d1\"\u00db\u00f9~\u00ea\u0019@\u00cb\u00a1E\u00b6\u00f3}\u0010\u00c0\u0087\u0016\u00d9\u00ce\u00f7\u00d3\u001b\u00c0K\f\u0002+\u0087\u0016\u001e@y\u00e9&1\b,\u0010\u00c0\u00b6\u00f3\u00fd\u00d4x\u00e9\u0012\u00c0\u0082\u0095C\u008blg\u001b@q=\n\u00d7\u00a30\"\u00c0\u00b8\u001e\u0085\u00ebQ\u00b8\u00fe\u00bf\u0082\u0095C\u008blg\u0017@5^\u00baI\f\u0002\"\u00c0\u0018\u00d9\u00ce\u00f7S\u00e3\u00fd\u00bf\u00d8\u00a3p=\nW\u001e@\u00b2\u009d\u00ef\u00a7\u00c6\u000b$\u00c0H\u00e1z\u0014\u00aeG\u00f1\u00bf-\u00b2\u009d\u00ef\u00a7\u0006!@{\u0014\u00aeG\u00e1\u00fa\"\u00c0\u0089A`\u00e5\u00d0\"\u00eb\u00bf\u0013\u0083\u00c0\u00ca\u00a1E\u001f@\u0010X9\u00b4\u00c8\u00f6&\u00c0\u00d9\u00ce\u00f7S\u00e3\u00a5\u00f9\u00bf!\u00b0rh\u0091\u00ed\u001b@`\u00e5\u00d0\"\u00db\u00f9#\u00c0\u00e3\u00a5\u009b\u00c4 \u00b0\u00d2?\u001f\u0085\u00ebQ\u00b8\u001e\u001b@{\u0014\u00aeG\u00e1\u00fa!\u00c0\u00f2\u00d2Mb\u0010X\u00e5?\u00bf\u009f\u001a/\u00dd$\u0018@\u00c5 \u00b0rh\u0011%\u00c0\u00fe\u00d4x\u00e9&1\u00d8?\u00e6\u00d0\"\u00db\u00f9\u00fe\u001e@\u00e2z\u0014\u00aeG\u00a1$\u00c0\u00d8\u00a3p=\n\u00d7\u00ef?R\u00b8\u001e\u0085\u00ebQ @\u00f3\u00d2Mb\u0010\u00d8(\u00c0\u00ad\u001cZd;\u00df\u00eb\u00bf\u0012\u0083\u00c0\u00ca\u00a1\u00c5\u001e@\u00c3\u00f5(\\\u008fB'\u00c0G\u00b6\u00f3\u00fd\u00d4x\u0007\u00c0\u000f-\u00b2\u009d\u00ef\u00a7\u001d@\u009d\u00c4 \u00b0r\u00a8%\u00c0\u00ad\u001cZd;\u00df\u000b\u00c0\u00be\u009f\u001a/\u00dd$\u001f@;\u00dfO\u008d\u0097\u00ee)\u00c0n\u00e7\u00fb\u00a9\u00f1\u00d2\f\u00c0d;\u00dfO\u008d\u00d7 @\u0015\u00aeG\u00e1zT+\u00c0ffffff\b\u00c0\u0014\u00aeG\u00e1z\u0094 @\u0094\u0018\u0004V\u000e\u00ad)\u00c0\u00cf\u00f7S\u00e3\u00a5\u001b\u0014\u00c0\u008aA`\u00e5\u00d0\u00a2\u0019@\u0000\u0000\u0000\u0000\u0000@+\u00c0\u00baI\f\u0002+\u0087\u000e\u00c0\u009d\u00c4 \u00b0rh\u0019@q=\n\u00d7\u00a3\u00f0,\u00c0\u00b0rh\u0091\u00ed\u00fc\u0011\u00c07\u0089A`\u00e5\u0090!@\u00f2\u00d2Mb\u0010\u0098+\u00c0^\u00baI\f\u0002\u00ab\u0016\u00c0\u0098n\u0012\u0083\u00c0\u00ca\u0016@\u00a7\u009b\u00c4 \u00b02,\u00c0\u0007\u0081\u0095C\u008bl\u0004\u00c0\u00ecQ\u00b8\u001e\u0085k\u0018@y\u00e9&1\b,+\u00c0b\u0010X9\u00b4\u00c8\u00fa\u00bfp\u0012\u0083\u00c0\u00ca\u00a1\u0017@e;\u00dfO\u008dW.\u00c0^\u00baI\f\u0002+\u0004\u00c0\u0085\u00ebQ\u00b8\u001e\u0085\u0012@\u00ce\u00cc\u00cc\u00cc\u00cc\u00cc+\u00c0\u00e3\u00a5\u009b\u00c4 \u00b0\u0004\u00c0\u00d1\"\u00db\u00f9~j\u0016@\u00e8\u00fb\u00a9\u00f1\u00d2M)\u00c0H\u00e1z\u0014\u00ae\u00c7\u0011\u00c0\u0091\u00ed|?5\u00de\u0015@\u0080j\u00bct\u0093\u0018(\u00c0\u000f-\u00b2\u009d\u00ef\u00a7\r\u00c0\u0004V\u000e-\u00b2] @\u0085\u00ebQ\u00b8\u001eE'\u00c0+\u0087\u0016\u00d9\u00cew\u0016\u00c0\u00c6 \u00b0rh\u0091\u001e@\u009a\u0099\u0099\u0099\u0099\u00d9%\u00c0\u0004V\u000e-\u00b2\u009d\u0014\u00c0\u00e8\u00fb\u00a9\u00f1\u00d2\r!@\u00d9\u00ce\u00f7S\u00e3\u00e5&\u00c0\u000b\u00d7\u00a3p=\n\u001c\u00c09\u00b4\u00c8v\u00be\u00df\"@\u0092\u00ed|?5\u00de'\u00c0<\u00dfO\u008d\u0097n\u001d\u00c0\u00db\u00f9~j\u00bc\u00b4!@\u00d7\u00a3p=\n\u00d7$\u00c0\u00de$\u0006\u0081\u0095\u00c3\u001c\u00c08\u0089A`\u00e5\u00d0\u001d@\u008cl\u00e7\u00fb\u00a9\u00b1'\u00c0\u00c5 \u00b0rh\u0011 \u00c0\u0085\u00ebQ\u00b8\u001e\u0085\u001e@-\u00b2\u009d\u00ef\u00a7F'\u00c0Nb\u0010X9t\"\u00c0\u0014\u00aeG\u00e1z\u0014\u0019@B`\u00e5\u00d0\"\u009b(\u00c0\u001a\u0004V\u000e-2\u001e\u00c0\u00aeG\u00e1z\u0014\u00ae\u0018@\u00b8\u001e\u0085\u00ebQ\u00b8(\u00c0^\u00baI\f\u0002+\u001a\u00c0\u00e2z\u0014\u00aeG\u00e1\u0014@\u00cav\u00be\u009f\u001a\u00af)\u00c0\u00e7\u00fb\u00a9\u00f1\u00d2\u00cd \u00c0\u0098n\u0012\u0083\u00c0\u00ca\u0014@\u00a8\u00c6K7\u0089\u0081(\u00c0\u00a4p=\n\u00d7\u00a3\"\u00c0&\u0006\u0081\u0095C\u008b\u000e@\u00db\u00f9~j\u00bc4)\u00c0\u009c\u00c4 \u00b0r\u00e8\u001e\u00c0F\u00b6\u00f3\u00fd\u00d4\u00f8\u0015@)\\\u008f\u00c2\u00f5\u00a8,\u00c0o\u0012\u0083\u00c0\u00caa!\u00c0\u00f6(\\\u008f\u00c2u\u0013@\u00be\u009f\u001a/\u00ddd-\u00c0\u0086\u00ebQ\u00b8\u001e\u0005#\u00c0{\u0014\u00aeG\u00e1z\u0015@\u00e7\u00fb\u00a9\u00f1\u00d2\u00cd-\u00c0\u00d0\u00f7S\u00e3\u00a5\u001b\u001f\u00c0\u00fc\u00a9\u00f1\u00d2M\u00e2\u0019@\u00c3\u00f5(\\\u008f\u0002-\u00c0\u00dd$\u0006\u0081\u0095C\"\u00c0?5^\u00baI\f\r@\u00a4p=\n\u00d7#)\u00c0\t\u00ac\u001cZd;\u001a\u00c0%\u0006\u0081\u0095C\u008b\u0006@G\u00b6\u00f3\u00fd\u00d4\u00b8(\u00c0\u00e3\u00a5\u009b\u00c4 0!\u00c0\u0012\u0083\u00c0\u00ca\u00a1E\b@\u00ce\u00cc\u00cc\u00cc\u00ccL)\u00c0\u0014\u00aeG\u00e1z\u0014#\u00c0L7\u0089A`\u00e5\u00f6?\u0085\u00ebQ\u00b8\u001eE(\u00c0d;\u00dfO\u008d\u0097 \u00c0!\u00b0rh\u0091\u00ed\u00f6?W\u000e-\u00b2\u009do&\u00c0c\u0010X9\u00b4\u00c8\u001e\u00c0\u00d3Mb\u0010X9\u00ec?-\u00b2\u009d\u00ef\u00a7\u0086*\u00c0\u00e6\u00d0\"\u00db\u00f9~\u001d\u00c0\u0014\u00aeG\u00e1z\u0014\u00e2?!\u00b0rh\u0091m(\u00c0m\u00e7\u00fb\u00a9\u00f1\u0012#\u00c0\u00d6x\u00e9&1\b\u00ec?\u0014\u00aeG\u00e1z\u00d4&\u00c0L7\u0089A`e$\u00c0#\u00db\u00f9~j\u00bc\u00dc\u00bf\u00f8S\u00e3\u00a5\u009b\u0004(\u00c0B`\u00e5\u00d0\"[\"\u00c0\\\u008f\u00c2\u00f5(\\\u00f3?\u00d8\u00a3p=\n\u00d7,\u00c0\u00f9S\u00e3\u00a5\u009b\u00c4\u001d\u00c01\b\u00ac\u001cZd\u00e3?\u007fj\u00bct\u0093\u0018+\u00c0\u00e2z\u0014\u00aeG\u00a1$\u00c0>\n\u00d7\u00a3p=\u00fa?\t\u00ac\u001cZd{+\u00c0|\u0014\u00aeG\u00e1:%\u00c0\u00bbI\f\u0002+\u0087\u00c6?\u0099n\u0012\u0083\u00c0\u00ca,\u00c0\u008f\u00c2\u00f5(\\\u008f#\u00c0\u008f\u00c2\u00f5(\\\u008f\u00c2\u00bf\u0017\u00d9\u00ce\u00f7S\u00a3*\u00c0L7\u0089A`%'\u00c0\u00f6(\\\u008f\u00c2\u00f5\u00f2\u00bf\u009a\u0099\u0099\u0099\u0099\u0019*\u00c0R\u00b8\u001e\u0085\u00eb\u00d1&\u00c0\u008e\u0097n\u0012\u0083\u00c0\u00da?\u0007\u0081\u0095C\u008b,)\u00c0\u00c6 \u00b0rhQ(\u00c0\u00d6x\u00e9&1\b\u00cc\u00bf\u0085\u00ebQ\u00b8\u001eE-\u00c0G\u00b6\u00f3\u00fd\u00d4\u00b8(\u00c0\u0010X9\u00b4\u00c8v\u00f0\u00bfh\u0091\u00ed|?\u00f5,\u00c0\u00e1z\u0014\u00aeG!*\u00c0sh\u0091\u00ed|?\u00e1\u00bf\u0015\u00aeG\u00e1z\u00d4.\u00c0\u00d7\u00a3p=\nW'\u00c0\u0083\u00c0\u00ca\u00a1E\u00b6\u00f1?.\u00b2\u009d\u00ef\u00a7\u00c6-\u00c0\u008f\u00c2\u00f5(\\\u00cf)\u00c0y\u00e9&1\b\u00ac\u00f8?`\u00e5\u00d0\"\u00db9,\u00c0\u0085\u00ebQ\u00b8\u001e\u00c5*\u00c0\u00b2\u009d\u00ef\u00a7\u00c6K\u00f1?\u00b5\u00c8v\u00be\u009fZ/\u00c07\u0089A`\u00e5\u0010+\u00c0p\u0012\u0083\u00c0\u00ca\u00a1\u00fb?\u00b4\u00c8v\u00be\u009fZ.\u00c0\u00bdt\u0093\u0018\u0004V(\u00c0\u00ecQ\u00b8\u001e\u0085\u00eb\u00a1\u00bfy\u00e9&1\b\u00ac)\u00c0\u00c7K7\u0089A\u00e0\u0019\u00c0r=\n\u00d7\u00a3p\u00bd\u00bf\u00b6\u00f3\u00fd\u00d4x\u00a9'\u00c0Zd;\u00dfO\r\u001a\u00c0y\u00e9&1\b\u00ac\u00e8\u00bf]\u008f\u00c2\u00f5(\\+\u00c0^\u00baI\f\u0002+\u0016\u00c09\u00b4\u00c8v\u00be\u009f\u009a\u00bfD\u008bl\u00e7\u00fbi,\u00c0\u00bct\u0093\u0018\u0004\u00d6\u0013\u00c0d;\u00dfO\u008d\u0097\u00fc\u00bf\u00c3\u00f5(\\\u008fB-\u00c0i\u0091\u00ed|?\u00b5\u0018\u00c0|\u0014\u00aeG\u00e1z\u00f8\u00bf\u000e-\u00b2\u009d\u00ef\u00a7)\u00c0\u00be\u009f\u001a/\u00dd$\u0012\u00c0\u0011X9\u00b4\u00c8v\u00ee\u00bf\u00cf\u00f7S\u00e3\u00a5\u00db'\u00c0sh\u0091\u00ed|?\u0011\u00c0\u00dfO\u008d\u0097n\u0012\u0003\u00c0m\u00e7\u00fb\u00a9\u00f1\u00d2(\u00c0\u0002+\u0087\u0016\u00d9N\u0014\u00c0=\n\u00d7\u00a3p=\u0006\u00c0\u00bdt\u0093\u0018\u0004V,\u00c0r=\n\u00d7\u00a3\u00f0\u001a\u00c0\u00aa\u00f1\u00d2Mb\u0010\u0001\u00c0\u0005V\u000e-\u00b2\u001d+\u00c0b\u0010X9\u00b4\u00c8\n\u00c0B`\u00e5\u00d0\"\u00db\u0006\u00c0Zd;\u00dfO\u00cd)\u00c0\u000e-\u00b2\u009d\u00ef\u00a7\u0004\u00c0\t\u00ac\u001cZd;\u00ff\u00bf\u00f3\u00d2Mb\u0010\u0098-\u00c0\u00d7\u00a3p=\n\u00d7\t\u00c0!\u00b0rh\u0091\u00ed\u00f6\u00bf$\u00db\u00f9~j\u00bc/\u00c0\u00ac\u001cZd;\u00df\u0017\u00c0\u00b5\u00c8v\u00be\u009f\u001a\u00df\u00bf\u00d6x\u00e9&1\b0\u00c0p\u0012\u0083\u00c0\u00ca\u00a1\u0016\u00c0\u0014\u00aeG\u00e1z\u0014\u0001\u00c0\u00db\u00f9~j\u00bc\u00141\u00c0R\u00b8\u001e\u0085\u00eb\u00d1\u0018\u00c0\u00fa~j\u00bct\u0093\u0000\u00c0\u00e1z\u0014\u00aeGA1\u00c0\u00b4\u00c8v\u00be\u009f\u001a\u001d\u00c0B`\u00e5\u00d0\"\u00db\f\u00c0\u00cd\u00cc\u00cc\u00cc\u00cc\f1\u00c0;\u00dfO\u008d\u0097n\u0017\u00c0\u00a8\u00c6K7\u0089A\u00f6\u00bf\u00d4Mb\u0010XY2\u00c0\u0098n\u0012\u0083\u00c0\u00ca\u0016\u00c0\u00a6\u009b\u00c4 \u00b0r\u00fa\u00bf\u00d4Mb\u0010XY2\u00c0%\u0006\u0081\u0095C\u008b\u0012\u00c0\f\u0002+\u0087\u0016Y\u0011\u00c0\u00baI\f\u0002+\u00c71\u00c0433333\u001a\u00c0\u0093\u0018\u0004V\u000e-\u00fe\u00bf\u00f0\u00a7\u00c6K7\u00a93\u00c0\u00de$\u0006\u0081\u0095C\u0019\u00c0\u00ce\u00cc\u00cc\u00cc\u00cc\u00cc\u00fc\u00bf\u0002+\u0087\u0016\u00d9\u008e3\u00c0\u0015\u00aeG\u00e1z\u0094\u001d\u00c0\u00da\u00ce\u00f7S\u00e3\u00a5\u0006\u00c0\u00c7K7\u0089A\u00004\u00c0T\u00e3\u00a5\u009b\u00c4\u00a0\u0017\u00c0\u0081\u0095C\u008bl\u00e7\u00f1\u00bf\u00bf\u009f\u001a/\u00ddd4\u00c0\u00e4\u00a5\u009b\u00c4 0\u0018\u00c0*\\\u008f\u00c2\u00f5(\u00ac\u00bf\u00dd$\u0006\u0081\u0095C2\u00c0\u0082\u0095C\u008blg\u0017\u00c05^\u00baI\f\u0002\u00d3?\u00c1\u00ca\u00a1E\u00b6\u00132\u00c0\u0006\u0081\u0095C\u008b\u00ec\u0013\u00c01\b\u00ac\u001cZd\u0010\u00c0\u008bl\u00e7\u00fb\u00a9Q0\u00c0\u00d8\u00a3p=\nW\u0013\u00c0\u00d1\"\u00db\u00f9~j\u000b\u00c0\u00c9v\u00be\u009f\u001ao/\u00c0\u00c5 \u00b0rh\u0091\u0011\u00c0\u0081\u0095C\u008bl\u00e7\u0015\u00c0!\u00b0rh\u0091-0\u00c0\u00ecQ\u00b8\u001e\u0085k\u0011\u00c0\u009a\u0099\u0099\u0099\u0099\u0019\u0017\u00c0\u00e9&1\b\u00ac\u001c1\u00c0\u00f6(\\\u008f\u00c2\u00f5\u000e\u00c0|\u0014\u00aeG\u00e1\u00fa\u0019\u00c0z\u00e9&1\b\u00ac/\u00c0\u0012\u0083\u00c0\u00ca\u00a1\u00c5\u0015\u00c0J\f\u0002+\u0087\u0016\u0016\u00c05^\u00baI\f\u0002.\u00c0&\u0006\u0081\u0095C\u008b\n\u00c0\u00b2\u009d\u00ef\u00a7\u00c6\u00cb\u0012\u00c0\u001dZd;\u00df\u000f.\u00c0B`\u00e5\u00d0\"\u00db\u0004\u00c0\u00fc\u00a9\u00f1\u00d2M\u00e2\u0014\u00c0c\u0010X9\u00b4H,\u00c02\b\u00ac\u001cZd\u000f\u00c0\u00f8S\u00e3\u00a5\u009bD\u0019\u00c0\u0000\u0000\u0000\u0000\u0000\u00c0-\u00c0\u0089A`\u00e5\u00d0\u00a2\u0018\u00c0\u00c4\u00f5(\\\u008fB\u001b\u00c0\u00f4\u00fd\u00d4x\u00e9\u00a6-\u00c0\u00c1\u00ca\u00a1E\u00b6\u00f3\u0004\u00c0\u00c2\u00ca\u00a1E\u00b6s\u001e\u00c0\u00cc\u00a1E\u00b6\u00f3=-\u00c0$\u00db\u00f9~j\u00bc\n\u00c0\u00ee|?5^\u00ba\u001c\u00c0{\u0014\u00aeG\u00e1z/\u00c0333333\u0001\u00c0Ob\u0010X9\u00b4\u001b\u00c0\u00f7(\\\u008f\u00c2u+\u00c0j\u00bct\u0093\u0018\u0004\u00fa\u00bf\u0087\u0016\u00d9\u00ce\u00f7S\u0019\u00c0\u009e\u00ef\u00a7\u00c6K\u00f7+\u00c0\u0083\u00c0\u00ca\u00a1E\u00b6\u00e7\u00bf\u00a9\u00c6K7\u0089A\u001a\u00c0\u00e8\u00fb\u00a9\u00f1\u00d2\u008d)\u00c0^\u00baI\f\u0002+\u0000\u00c07\u0089A`\u00e5\u00d0 \u00c0\u0005V\u000e-\u00b2\u001d+\u00c0\u00ea&1\b\u00ac\u001c\u00f4\u00bf\u0091\u00ed|?5\u001e\"\u00c0\u00b1rh\u0091\u00ed<+\u00c06^\u00baI\f\u0002\u0001\u00c0w\u00be\u009f\u001a/]!\u00c0K\f\u0002+\u0087\u00d6,\u00c0\u00a9\u00c6K7\u0089A\u00e4\u00bf^\u00baI\f\u0002+!\u00c07\u0089A`\u00e5\u0090(\u00c0\u009e\u00ef\u00a7\u00c6K7\u00e1\u00bf\u00a8\u00c6K7\u0089\u0001 \u00c0\u00cav\u00be\u009f\u001a\u00af(\u00c0\u00ee|?5^\u00ba\u00d1?\u00f0\u00a7\u00c6K7\u00c9 \u00c0\u009e\u00ef\u00a7\u00c6K\u00f7&\u00c0\u0098n\u0012\u0083\u00c0\u00ca\u00f1\u00bf\u008d\u0097n\u0012\u0083\u0000#\u00c0J\f\u0002+\u0087V(\u00c0\u0000\u0000\u0000\u0000\u0000\u0000\u00c0\u00bf\u00f2\u00d2Mb\u0010X\u001e\u00c0\u00be\u009f\u001a/\u00dd\u00a40\u00c0v\u0093\u0018\u0004V\u008e\u0016\u00c0\u009c\u00c4 \u00b0rh!\u00c0\\\u008f\u00c2\u00f5(|0\u00c0\u00b0rh\u0091\u00ed|\u001a\u00c0\u001dZd;\u00df\u008f \u00c0L7\u0089A`\u00a50\u00c0\u00a7\u009b\u00c4 \u00b0r\u001e\u00c0\u0089A`\u00e5\u00d0\u00a2\"\u00c0\u00f2\u00d2Mb\u0010\u0018.\u00c0\u0018\u00d9\u00ce\u00f7S\u00e3\u001a\u00c0\u0014\u00aeG\u00e1z\u0094#\u00c0\u0006\u0081\u0095C\u008b\u008c1\u00c0\u00f1\u00a7\u00c6K7\t\u0019\u00c0\u009c\u00c4 \u00b0r\u00a8$\u00c0L7\u0089A`\u00e51\u00c0/\u00dd$\u0006\u0081\u0095\u001c\u00c0sh\u0091\u00ed|\u00ff$\u00c0sh\u0091\u00ed|\u001f1\u00c0\u00b8\u001e\u0085\u00ebQ8\u0016\u00c0\u0019\u0004V\u000e-r\"\u00c0\u0015\u00aeG\u00e1z\u0094,\u00c0\n\u00d7\u00a3p=\n\u0017\u00c0J\f\u0002+\u0087\u00d6!\u00c0H\u00e1z\u0014\u00ae\u00a72\u00c0Q\u008d\u0097n\u0012\u0083\u0016\u00c0Nb\u0010X9\u00f4\"\u00c0w\u00be\u009f\u001a/=3\u00c0u\u0093\u0018\u0004V\u008e\u0013\u00c0\f\u0002+\u0087\u0016\u00d9 \u00c0`\u00e5\u00d0\"\u00dbY3\u00c0#\u00db\u00f9~j<\u0019\u00c0F\u00b6\u00f3\u00fd\u00d4x\u001f\u00c0\u00d3Mb\u0010X\u00d91\u00c0\u007fj\u00bct\u0093\u0098\u0013\u00c0\u00cf\u00f7S\u00e3\u00a5[ \u00c0\u00f2\u00d2Mb\u0010\u00981\u00c0\u00f4\u00fd\u00d4x\u00e9&\u000f\u00c0F\u00b6\u00f3\u00fd\u00d4\u00f8\u001b\u00c0$\u00db\u00f9~j|2\u00c0L7\u0089A`e\u0013\u00c0\u00c9v\u00be\u009f\u001a\u00af#\u00c0S\u00b8\u001e\u0085\u00ebQ-\u00c00\u00dd$\u0006\u0081\u0095\u001f\u00c0\u00fe\u00d4x\u00e9&\u00f1#\u00c0\u0015\u00aeG\u00e1z\u00d4.\u00c0\u00e2z\u0014\u00aeG!!\u00c0\u00da\u00ce\u00f7S\u00e3%%\u00c0\u0091\u00ed|?5\u00de*\u00c0\u0089A`\u00e5\u00d0\" \u00c0;\u00dfO\u008d\u0097n&\u00c0b\u0010X9\u00b4\u0088*\u00c0\u00ce\u00cc\u00cc\u00cc\u00cc\u00cc\u001c\u00c0\u00cd\u00cc\u00cc\u00cc\u00cc\f'\u00c0\u009b\u0099\u0099\u0099\u0099\u0019+\u00c0\u000e-\u00b2\u009d\u00ef\u00a7\"\u00c0\u00dfO\u008d\u0097nR#\u00c0\u008bl\u00e7\u00fb\u00a9q(\u00c0\u00b4\u00c8v\u00be\u009fZ \u00c0\u0000\u0000\u0000\u0000\u0000\u0080\"\u00c0P\u008d\u0097n\u0012C(\u00c0\u00d4Mb\u0010X\u00b9\u001c\u00c0T\u00e3\u00a5\u009b\u00c4\u00e0!\u00c0|\u0014\u00aeG\u00e1z(\u00c0X9\u00b4\u00c8v\u00fe!\u00c0\u0088\u0016\u00d9\u00ce\u00f7S&\u00c0\u00e9&1\b\u00ac\u001c,\u00c0\u001eZd;\u00df\u00cf$\u00c0\u008e\u0097n\u0012\u0083\u0000%\u00c0u\u0093\u0018\u0004V\u00ce%\u00c0\u00a4p=\n\u00d7\u00e3 \u00c0\u00fc\u00a9\u00f1\u00d2Mb&\u00c0gfffff%\u00c0u\u0093\u0018\u0004V\u008e\u001e\u00c0~?5^\u00ba\t&\u00c0\u00b8\u001e\u0085\u00ebQ\u00f8%\u00c0%\u0006\u0081\u0095C\u00cb\"\u00c0|\u0014\u00aeG\u00e1\u00ba\"\u00c0\u00f2\u00d2Mb\u0010\u00d8\"\u00c0\u0014\u00aeG\u00e1z\u00d4 \u00c0\u00fe\u00d4x\u00e9&q\"\u00c0\u00aeG\u00e1z\u0014n\"\u00c0\u008cl\u00e7\u00fb\u00a9q\u001a\u00c0\u00f0\u00a7\u00c6K7I#\u00c0\u0086\u00ebQ\u00b8\u001eE$\u00c0B`\u00e5\u00d0\"\u00db\u0018\u00c0J\f\u0002+\u0087V \u00c0\u00a6\u009b\u00c4 \u00b02\"\u00c0\u00f2\u00d2Mb\u0010X\u0019\u00c0\u00db\u00f9~j\u00bct#\u00c0\u00e7\u00fb\u00a9\u00f1\u00d2\u008d \u00c0\u00b6\u00f3\u00fd\u00d4xi\u0019\u00c0Y9\u00b4\u00c8v~)\u00c0\u000f-\u00b2\u009d\u00ef'*\u00c0y\u00e9&1\bl\"\u00c0\u001c/\u00dd$\u0006\u0001*\u00c0\u00de$\u0006\u0081\u0095C)\u00c0\u00c9v\u00be\u009f\u001a\u00af \u00c0\u00f2\u00d2Mb\u0010\u00d8+\u00c0\u008e\u0097n\u0012\u0083\u00c0*\u00c0\b\u00ac\u001cZd\u00fb#\u00c0z\u00e9&1\bl+\u00c0c\u0010X9\u00b4\u0088,\u00c0\u00b6\u00f3\u00fd\u00d4x)%\u00c0%\u0006\u0081\u0095C\u008b-\u00c0\u00a0\u001a/\u00dd$F+\u00c0#\u00db\u00f9~j\u00bc\"\u00c0\u00cav\u00be\u009f\u001a\u00af,\u00c0\u00aeG\u00e1z\u0014\u00ae(\u00c0Zd;\u00dfO\r&\u00c0\u0019\u0004V\u000e-r+\u00c0Zd;\u00dfO\u008d&\u00c0T\u00e3\u00a5\u009b\u00c4`&\u00c0y\u00e9&1\b\u00ec.\u00c0\u00a4p=\n\u00d7#)\u00c0\u00ecQ\u00b8\u001e\u0085k'\u00c0\u00f0\u00a7\u00c6K7\u00c9/\u00c0*\\\u008f\u00c2\u00f5\u00e8*\u00c0^\u00baI\f\u0002\u00eb&\u00c0\u00dfO\u008d\u0097n\u00d2/\u00c0ffffff'\u00c0\u00b8\u001e\u0085\u00ebQ\u00b8)\u00c0\u00c9v\u00be\u009f\u001a/.\u00c0\u00f6(\\\u008f\u00c2\u00f5&\u00c0S\u00b8\u001e\u0085\u00eb\u0011+\u00c0\u0084\u00c0\u00ca\u00a1EV0\u00c0\u0002+\u0087\u0016\u00d9\u008e$\u00c0}?5^\u00ba\u00c9(\u00c0\b\u00ac\u001cZd\u001b1\u00c0\u00bbI\f\u0002+\u00c7(\u00c0`\u00e5\u00d0\"\u00db9+\u00c0\f\u0002+\u0087\u0016\u00f91\u00c0\u001c/\u00dd$\u0006\u0001)\u00c0\u00aeG\u00e1z\u0014\u00ee)\u00c0\u00d9\u00ce\u00f7S\u00e3\u00a50\u00c033333\u00b3*\u00c0\u00db\u00f9~j\u00bc\u00b4+\u00c0/\u00dd$\u0006\u0081U0\u00c0\u00a0\u001a/\u00dd$\u00c6\"\u00c0\u0086\u00ebQ\u00b8\u001e\u0085*\u00c0fffff\u00a61\u00c0\u007fj\u00bct\u0093\u0098'\u00c0\u001f\u0085\u00ebQ\u00b8\u00de-\u00c0\u00b8\u001e\u0085\u00ebQ\u00d80\u00c0J\f\u0002+\u0087V'\u00c0[d;\u00dfOM/\u00c0\u00d2\"\u00db\u00f9~*2\u00c0!\u00b0rh\u0091\u00ad%\u00c0\u00da\u00ce\u00f7S\u00e3\u00a5-\u00c0\u008f\u00c2\u00f5(\\\u008f2\u00c0\u00bdt\u0093\u0018\u0004\u0096)\u00c0\u00db\u00f9~j\u00bc4/\u00c0\u00be\u009f\u001a/\u00dd$3\u00c033333s*\u00c0S\u00b8\u001e\u0085\u00eb\u0091-\u00c0\u00b4\u00c8v\u00be\u009f\u00fa1\u00c0\u00dd$\u0006\u0081\u0095C+\u00c0P\u008d\u0097n\u0012\u00030\u00c0\u00d7\u00a3p=\nw3\u00c0\u00b0rh\u0091\u00ed<(\u00c0'1\b\u00ac\u001c\u009a0\u00c0j\u00bct\u0093\u0018$4\u00c0Zd;\u00dfO\r'\u00c0-\u00b2\u009d\u00ef\u00a7&0\u00c0\u0081\u0095C\u008bl\u00c72\u00c0\u0000\u0000\u0000\u0000\u0000\u00c0)\u00c0\u00ac\u001cZd;\u009f2\u00c0\u009a\u0099\u0099\u0099\u0099\u00f91\u00c0\u00d9\u00ce\u00f7S\u00e3\u00a5*\u00c0Nb\u0010X942\u00c0\u00ac\u001cZd;\u001f3\u00c0\u00b6\u00f3\u00fd\u00d4x)*\u00c0\u00ecQ\u00b8\u001e\u0085\u008b3\u00c0\f\u0002+\u0087\u0016y4\u00c0\u00fc\u00a9\u00f1\u00d2M\"'\u00c0\u001f\u0085\u00ebQ\u00b8~2\u00c0\u00e8\u00fb\u00a9\u00f1\u00d2\u008d4\u00c0\u00fa~j\u00bctS'\u00c0sh\u0091\u00ed|\u007f3\u00c0\u0014\u00aeG\u00e1z45\u00c0\u00aa\u00f1\u00d2Mb\u0010&\u00c0\u0002+\u0087\u0016\u00d9\u000e2\u00c07\u0089A`\u00e5\u00903\u00c0o\u0012\u0083\u00c0\u00caa(\u00c0\u0000\u0000\u0000\u0000\u0000\u00e01\u00c0z\u00e9&1\b\u00ac0\u00c0\u00a4p=\n\u00d7#$\u00c0\u008e\u0097n\u0012\u0083@&\u00c0\u009a\u0099\u0099\u0099\u0099\u00d90\u00c0\u0090\u00c2\u00f5(\\\u00cf%\u00c0\u00da\u00ce\u00f7S\u00e3%%\u00c0fffff\u00061\u00c0\u0000\u0000\u0000\u0000\u0000\u0080!\u00c0\u009c\u00c4 \u00b0r(%\u00c043333s1\u00c0\u00e3\u00a5\u009b\u00c4 0 \u00c0\u00ecQ\u00b8\u001e\u0085\u00ab&\u00c0&\u0006\u0081\u0095C\u008b/\u00c0\u00ef|?5^\u00ba\u001f\u00c0B`\u00e5\u00d0\"[$\u00c0q=\n\u00d7\u00a3\u00f01\u00c0\u00fa~j\u00bct\u0093!\u00c0H\u00e1z\u0014\u00ae\u00c7\"\u00c0\u00e7\u00fb\u00a9\u00f1\u00d2\r2\u00c0th\u0091\u00ed|?\u001f\u00c0/\u00dd$\u0006\u0081\u00d5!\u00c0\u00c7K7\u0089A\u00e02\u00c0\u00a8\u00c6K7\u0089\u0081\"\u00c0\u008bl\u00e7\u00fb\u00a9q#\u00c0\u0017\u00d9\u00ce\u00f7S\u00a3/\u00c0\u00e2z\u0014\u00aeG\u00e1\u001a\u00c0\u00be\u009f\u001a/\u00dd$$\u00c0\u008d\u0097n\u0012\u0083\u00801\u00c0!\u00b0rh\u0091-#\u00c0\u00e5\u00d0\"\u00db\u00f9\u00be \u00c0h\u0091\u00ed|?\u00b51\u00c0q=\n\u00d7\u00a30\"\u00c0\u0087\u0016\u00d9\u00ce\u00f7S\u001e\u00c0\u00c2\u00ca\u00a1E\u00b63-\u00c0=\n\u00d7\u00a3p\u00fd \u00c0\u00d8\u00a3p=\nW$\u00c0333333-\u00c0j\u00bct\u0093\u0018\u0004#\u00c0R\u00b8\u001e\u0085\u00ebQ$\u00c0\u00ecQ\u00b8\u001e\u0085\u00ab*\u00c0\u0007\u0081\u0095C\u008bl\u001f\u00c0\u001a\u0004V\u000e-r#\u00c0\u0082\u0095C\u008bl\u00e7*\u00c0=\n\u00d7\u00a3p=\u001d\u00c0\u00e0O\u008d\u0097n\u0092!\u00c0\u008aA`\u00e5\u00d0b)\u00c0\u001f\u0085\u00ebQ\u00b8^!\u00c09\u00b4\u00c8v\u00be\u00df\"\u00c0\u001b/\u00dd$\u0006\u0081)\u00c0|\u0014\u00aeG\u00e1z\u001b\u00c0\u00ce\u00cc\u00cc\u00cc\u00cc\u008c%\u00c0\u00f0\u00a7\u00c6K7I'\u00c0\u000e-\u00b2\u009d\u00ef\u00a7\u0019\u00c0\u0086\u00ebQ\u00b8\u001eE%\u00c0\u00d2\"\u00db\u00f9~\u00ea*\u00c0\u00d4Mb\u0010X9\u001a\u00c0y\u00e9&1\b\u00ac'\u00c0\u00bct\u0093\u0018\u0004\u00d6,\u00c0a\u00e5\u00d0\"\u00dby\u001b\u00c0\u00fa~j\u00bct\u00d3'\u00c0`\u00e5\u00d0\"\u00db\u00b9)\u00c0\u00e6\u00d0\"\u00db\u00f9~\u0017\u00c0)\\\u008f\u00c2\u00f5(*\u00c00\u00dd$\u0006\u0081U(\u00c0\r\u0002+\u0087\u0016Y\u001a\u00c0\u00b2\u009d\u00ef\u00a7\u00c6\u000b+\u00c0\u00fd\u00a9\u00f1\u00d2M\u00e2'\u00c0\u00a2E\u00b6\u00f3\u00fd\u00d4\u0012\u00c0)\\\u008f\u00c2\u00f5()\u00c0\u009e\u00ef\u00a7\u00c6K\u00f7+\u00c0R\u00b8\u001e\u0085\u00ebQ\u0016\u00c0\u00e3\u00a5\u009b\u00c4 0,\u00c0\u00e8\u00fb\u00a9\u00f1\u00d2\u008d-\u00c0\u00b8\u001e\u0085\u00ebQ\u00b8\u0013\u00c0\u00fe\u00d4x\u00e9&q+\u00c0\u001c/\u00dd$\u0006\u00c1,\u00c07\u0089A`\u00e5\u00d0\u0019\u00c0\u00e5\u00d0\"\u00db\u00f9>-\u00c0\u00f0\u00a7\u00c6K7\t+\u00c0\n\u00d7\u00a3p=\n\u0014\u00c0\u008f\u00c2\u00f5(\\\u00cf-\u00c0\u00baI\f\u0002+\u0087%\u00c0{\u0014\u00aeG\u00e1z\u0012\u00c0\u001eZd;\u00df\u00cf)\u00c0\"\u00b0rh\u0091\u00ed(\u00c0\u00ce\u00cc\u00cc\u00cc\u00cc\u00cc\r\u00c0\u00c1\u00ca\u00a1E\u00b6\u00b3'\u00c0\u0082\u0095C\u008bl\u00e7*\u00c0\u00a0\u001a/\u00dd$\u0006\u000e\u00c0\u001eZd;\u00dfO'\u00c0\u00e6\u00d0\"\u00db\u00f9~'\u00c0\n\u00d7\u00a3p=\n\u0004\u00c0\u0091\u00ed|?5\u00de&\u00c0\b\u00ac\u001cZd\u00bb&\u00c0d;\u00dfO\u008d\u0097\u0000\u00c0G\u00b6\u00f3\u00fd\u00d4\u00b8(\u00c0\u0010X9\u00b4\u00c8v%\u00c0x\u00be\u009f\u001a/\u00dd\u0005\u00c0{\u0014\u00aeG\u00e1\u00ba$\u00c0\u0000\u0000\u0000\u0000\u0000\u00c0)\u00c0ffffff\u00f8\u00bf\u0084\u00c0\u00ca\u00a1E\u00b6%\u00c0\u00bf\u009f\u001a/\u00dd\u00a4*\u00c0\u00c1\u00ca\u00a1E\u00b6\u00f3\u00ff\u00bf+\u0087\u0016\u00d9\u00ce\u00f7#\u00c0u\u0093\u0018\u0004VN#\u00c0`\u00e5\u00d0\"\u00db\u00f9\u0000\u00c06^\u00baI\f\u00c2$\u00c0x\u00be\u009f\u001a/](\u00c0S\u00b8\u001e\u0085\u00ebQ\u00c8\u00bf$\u00db\u00f9~j\u00fc$\u00c0'1\b\u00ac\u001cZ'\u00c0u\u0093\u0018\u0004V\u000e\u00cd?\u0083\u00c0\u00ca\u00a1E\u00b6&\u00c0d;\u00dfO\u008d\u0017*\u00c0\u0092\u00ed|?5^\u00da?\u00a4p=\n\u00d7c$\u00c0\u00cf\u00f7S\u00e3\u00a5\u001b'\u00c0%\u0006\u0081\u0095C\u008b\u00cc\u00bf\u00c2\u00ca\u00a1E\u00b63#\u00c0\u00f7(\\\u008f\u00c2\u00b5+\u00c0y\u00e9&1\b\u00ac\u00f4\u00bf\u00db\u00f9~j\u00bc\u00b4'\u00c0\u0012\u0083\u00c0\u00ca\u00a1\u0085,\u00c0=\n\u00d7\u00a3p=\u0001\u00c0\u0019\u0004V\u000e-\u00f2'\u00c0\u0017\u00d9\u00ce\u00f7S\u00e3%\u00c0:\u00b4\u00c8v\u00be\u009f\r\u00c0T\u00e3\u00a5\u009b\u00c4\u00e0\"\u00c0\u0000\u0000\u0000\u0000\u0000\u0080'\u00c0\u008e\u0097n\u0012\u0083@\u0011\u00c0\u00e9&1\b\u00ac\u00dc\"\u00c0=\n\u00d7\u00a3p\u00fd#\u00c0\u00e7\u00fb\u00a9\u00f1\u00d2M\u0010\u00c0D\u008bl\u00e7\u00fb\u00a9 \u00c0^\u00baI\f\u0002k#\u00c0\u00ea&1\b\u00ac\u001c\t\u00c0\u0081\u0095C\u008blg\u001f\u00c0P\u008d\u0097n\u0012\u0083!\u00c0\u00cb\u00a1E\u00b6\u00f3}\u0012\u00c0\u0014\u00aeG\u00e1z\u0014\"\u00c0)\\\u008f\u00c2\u00f5h%\u00c0\\\u008f\u00c2\u00f5(\\\u0014\u00c06^\u00baI\f\u0082\u001d\u00c0L7\u0089A`%$\u00c0\u00d5x\u00e9&1\u0088\u0015\u00c0E\u008bl\u00e7\u00fb)\u001a\u00c0\u00cd\u00cc\u00cc\u00cc\u00cc\u00cc%\u00c0\u0001\u0000\u0000\u0000\u0000\u0000\u0018\u00c0\u008e\u0097n\u0012\u0083\u00c0\u001f\u00c0V\u000e-\u00b2\u009do\u001e\u00c0\u00c9v\u00be\u009f\u001a\u00af\u0010\u00c0\u00f8S\u00e3\u00a5\u009b\u0084!\u00c0\u009a\u0099\u0099\u0099\u0099\u00d9'\u00c0\u00b8\u001e\u0085\u00ebQ8\u0012\u00c0\u00e0O\u008d\u0097n\u0092\u001b\u00c0*\\\u008f\u00c2\u00f5h(\u00c0\u00b5\u00c8v\u00be\u009f\u001a\u0014\u00c0\u00dc\u00f9~j\u00bct\u0018\u00c0m\u00e7\u00fb\u00a9\u00f1\u00d2!\u00c0d;\u00dfO\u008d\u0017\u0016\u00c0\u00a8\u00c6K7\u0089\u0001$\u00c0\u00cb\u00a1E\u00b6\u00f3\u00bd#\u00c0{\u0014\u00aeG\u00e1\u00fa\u0016\u00c0\u0010X9\u00b4\u00c8v$\u00c0\r\u0002+\u0087\u0016Y\u001f\u00c0\u00d8\u00a3p=\nW\u0018\u00c0n\u00e7\u00fb\u00a9\u00f1\u0092%\u00c0Nb\u0010X94\u001c\u00c0\u00e6\u00d0\"\u00db\u00f9\u00fe\u0019\u00c0\u001dZd;\u00dfO$\u00c0\"\u00b0rh\u0091m\u001c\u00c0\u0086\u00ebQ\u00b8\u001e\u0005\u0014\u00c0\u001a\u0004V\u000e-2'\u00c0d;\u00dfO\u008d\u00d7 \u00c0\u00e5\u00d0\"\u00db\u00f9\u00fe\u001c\u00c0\b\u00ac\u001cZd;'\u00c0sh\u0091\u00ed|?\"\u00c0\u00f1\u00a7\u00c6K7\u0089\u001b\u00c0+\u0087\u0016\u00d9\u00ce\u00b7(\u00c0\u00fe\u00d4x\u00e9&\u00f1!\u00c0\u0086\u00ebQ\u00b8\u001e\u0085\u001f\u00c0\u00aa\u00f1\u00d2Mb\u00d0%\u00c0)\\\u008f\u00c2\u00f5\u00a8\u0017\u00c0=\n\u00d7\u00a3p\u00bd\u0013\u00c0@5^\u00baIL'\u00c0\u00fc\u00a9\u00f1\u00d2Mb\u001d\u00c0T\u00e3\u00a5\u009b\u00c4 \u00c0\u00cd\u00cc\u00cc\u00cc\u00cc\u008c(\u00c0\u00f8S\u00e3\u00a5\u009bD\u001a\u00c0]\u008f\u00c2\u00f5(\u00dc\u001d\u00c0\u00dc\u00f9~j\u00bct)\u00c0}?5^\u00baI\u001b\u00c0\u00c7K7\u0089A`!\u00c0\u00d8\u00a3p=\n\u0017'\u00c0 \u0085\u00ebQ\u00b8\u009e\u001f\u00c0\u00e9&1\b\u00ac\u001c\"\u00c0*\\\u008f\u00c2\u00f5\u00a8*\u00c0\u00d3Mb\u0010X9\u001c\u00c0H\u00e1z\u0014\u00ae\u0007#\u00c0\"\u00b0rh\u0091\u00ad+\u00c0\u00ee|?5^\u00ba \u00c0\u00f0\u00a7\u00c6K7\t!\u00c0\u00fa~j\u00bctS,\u00c0^\u00baI\f\u0002\u00ab!\u00c0X9\u00b4\u00c8v\u00fe#\u00c0\u0011X9\u00b4\u00c8v)\u00c0H\u00e1z\u0014\u00ae\u0087#\u00c0\u00b0rh\u0091\u00ed|#\u00c0\u00da\u00ce\u00f7S\u00e3\u00e5(\u00c0\u00da\u00ce\u00f7S\u00e3%\u001e\u00c0\u0002+\u0087\u0016\u00d9\u008e'\u00c0v\u0093\u0018\u0004V\u008e(\u00c0\u00c6 \u00b0rh\u0091\u001d\u00c0\u001a\u0004V\u000e-2)\u00c0\u000e-\u00b2\u009d\u00efg'\u00c0J\f\u0002+\u0087\u0016\u001b\u00c0\u00d3Mb\u0010X\u00f9&\u00c0+\u0087\u0016\u00d9\u00ce\u00b7)\u00c0\u0012\u0083\u00c0\u00ca\u00a1E#\u00c0:\u00b4\u00c8v\u00be\u009f'\u00c0~?5^\u00baI'\u00c0>\n\u00d7\u00a3p\u00fd\"\u00c0o\u0012\u0083\u00c0\u00caa)\u00c0\f\u0002+\u0087\u0016Y&\u00c0$\u00db\u00f9~j\u00fc$\u00c0\u0014\u00aeG\u00e1z\u0094&\u00c0@5^\u00baIL'\u00c0\n\u00d7\u00a3p=J!\u00c0\u00aeG\u00e1z\u0014n&\u00c0H\u00e1z\u0014\u00ae\u0087(\u00c0.\u00b2\u009d\u00ef\u00a7F\u001f\u00c0}?5^\u00baI\u0010\u00c0\u00aeG\u00e1z\u0014n(\u00c0p\u0012\u0083\u00c0\u00ca\u00a1!\u00c0H\u00e1z\u0014\u00ae\u00c7\u0010\u00c0\u00e5\u00d0\"\u00db\u00f9>(\u00c0Ob\u0010X94\u001d\u00c0\u00aa\u00f1\u00d2Mb\u0010\u0007\u00c0\u0015\u00aeG\u00e1z\u00d4)\u00c0\u001eZd;\u00df\u00cf\u001a\u00c0\u001f\u0085\u00ebQ\u00b8\u001e\n\u00c0\u00d4Mb\u0010Xy+\u00c0\u001c/\u00dd$\u0006\u0001\u001a\u00c0\u00bct\u0093\u0018\u0004V\u0000\u00c0\u0083\u00c0\u00ca\u00a1E\u00f6'\u00c0\u009a\u0099\u0099\u0099\u0099\u0019!\u00c0\u0010X9\u00b4\u00c8v\u0000\u00c06^\u00baI\f\u0002+\u00c0d;\u00dfO\u008d\u0097\"\u00c0x\u00be\u009f\u001a/\u00dd\u0005\u00c09\u00b4\u00c8v\u00be\u00df+\u00c0+\u0087\u0016\u00d9\u00ce7\"\u00c0\u0099n\u0012\u0083\u00c0\u00ca\u00f7\u00bf\u00a1\u001a/\u00dd$\u0086)\u00c09\u00b4\u00c8v\u00be\u009f\u0015\u00c0\u0080j\u00bct\u0093\u0018\u00fa\u00bf]\u008f\u00c2\u00f5(\u009c(\u00c0\u00a2E\u00b6\u00f3\u00fdT \u00c0J\f\u0002+\u0087\u0016\u00f1\u00bf\u00cc\u00a1E\u00b6\u00f3=-\u00c0#\u00db\u00f9~j\u00fc!\u00c0\b\u00ac\u001cZd;\u00d7\u00bf+\u0087\u0016\u00d9\u00cew-\u00c0\u00b9\u001e\u0085\u00ebQ8\u001d\u00c0%\u0006\u0081\u0095C\u008b\u00dc\u00bf#\u00db\u00f9~j\u00bc,\u00c0\u0090\u00c2\u00f5(\\\u008f\u001f\u00c0\u00c2\u00ca\u00a1E\u00b6\u00f3\u00fd\u00bf\u00cd\u00cc\u00cc\u00cc\u00cc\u00cc/\u00c0=\n\u00d7\u00a3p=!\u00c0)\\\u008f\u00c2\u00f5(\u0005\u00c0^\u00baI\f\u0002+0\u00c0R\u00b8\u001e\u0085\u00eb\u00d1\u001b\u00c0\u00c9v\u00be\u009f\u001a/\u0003\u00c0\u00b0rh\u0091\u00ed|/\u00c0\u00b2\u009d\u00ef\u00a7\u00c6\u00cb\u001e\u00c0\u00fc\u00a9\u00f1\u00d2Mb\u00f0\u00bf\u00ac\u001cZd;\u001f1\u00c0\u00da\u00ce\u00f7S\u00e3\u00a5\u001c\u00c0\r\u0002+\u0087\u0016\u00d9\u00f6\u00bf\u00ee|?5^\u00fa1\u00c0%\u0006\u0081\u0095C\u008b\u001c\u00c0\u00ea&1\b\u00ac\u001c\u00ba\u00bf/\u00dd$\u0006\u0081\u00f50\u00c0\u00b2\u009d\u00ef\u00a7\u00c6\u000b\"\u00c0z\u00e9&1\b\u00ac\u00e0\u00bf\u008f\u00c2\u00f5(\\\u00af1\u00c0Nb\u0010X9t#\u00c0-\u00b2\u009d\u00ef\u00a7\u00c6\u00f3\u00bf\u00aa\u00f1\u00d2Mb\u00d01\u00c0\u00cav\u00be\u009f\u001a\u00af\"\u00c0\u00f7(\\\u008f\u00c2\u00f5\u00c8?\u0098n\u0012\u0083\u00c0\n1\u00c0sh\u0091\u00ed|\u00bf!\u00c0K\f\u0002+\u0087\u0016\u00b9\u00bf/\u00dd$\u0006\u0081\u00952\u00c0Ob\u0010X9\u00b4\u001b\u00c0L7\u0089A`\u00e5\u00fc\u00bf\u00ce\u00cc\u00cc\u00cc\u00cc\u008c%\u00c0p\u0012\u0083\u00c0\u00ca!\u001f\u00c0\u0012\u0083\u00c0\u00ca\u00a1E\u0002\u00c0/\u00dd$\u0006\u0081\u0015%\u00c0\n\u00d7\u00a3p=\n\u0019\u00c0b\u0010X9\u00b4\u00c8\u00f0\u00bf\u00aa\u00f1\u00d2Mb\u0090#\u00c0\t\u00ac\u001cZd\u00bb\u0017\u00c0\u00db\u00f9~j\u00bct\u00b3\u00bf\u0014\u00aeG\u00e1zT$\u00c0h\u0091\u00ed|?\u00b5\u0013\u00c0\u00bct\u0093\u0018\u0004V\u00fa\u00bf\u00fe\u00d4x\u00e9&\u00b1\"\u00c0\u009c\u00c4 \u00b0rh\u001c\u00c0\u0004V\u000e-\u00b2\u009d\u00e7\u00bfr=\n\u00d7\u00a30!\u00c0\u00baI\f\u0002+\u0007 \u00c0F\u00b6\u00f3\u00fd\u00d4x\u00d1\u00bf\u00b6\u00f3\u00fd\u00d4x\u00e9!\u00c0\u00b8\u001e\u0085\u00ebQ8\u001a\u00c0\u0083\u00c0\u00ca\u00a1E\u00b6\u00b3\u00bf\u00aeG\u00e1z\u0014\u00ae\u001f\u00c0\u00a5p=\n\u00d7\u00a3\u001d\u00c0\u008bl\u00e7\u00fb\u00a9\u00f1\u00fa\u00bf\u00e7\u00fb\u00a9\u00f1\u00d2M \u00c0\u009f\u00ef\u00a7\u00c6K7\u000f\u00c0R\u00b8\u001e\u0085\u00ebQ\u00f0\u00bf\u0017\u00d9\u00ce\u00f7S\u00e3\"\u00c0\u00a0\u001a/\u00dd$\u0086\u0013\u00c0\u00a5p=\n\u00d7\u00a3\u0007\u00c0J\f\u0002+\u0087V\"\u00c0>\n\u00d7\u00a3p\u00bd\u0016\u00c0,\u0087\u0016\u00d9\u00ce\u00f7\u000b\u00c0\u0017\u00d9\u00ce\u00f7S\u00e3\"\u00c0\u008d\u0097n\u0012\u0083\u00c0\f\u00c0333333\u000e\u00c0\u00c1\u00ca\u00a1E\u00b6\u00b3!\u00c0\u00f6(\\\u008f\u00c2\u00f5\t\u00c0G\u00b6\u00f3\u00fd\u00d4x\f\u00c0\r\u0002+\u0087\u0016Y\u001f\u00c0\u0098n\u0012\u0083\u00c0\u00ca\u0003\u00c0\u0097C\u008bl\u00e7\u00fb\f\u00c0\u00bct\u0093\u0018\u0004\u00d6#\u00c0+\u0087\u0016\u00d9\u00cew\u0010\u00c0\u0010X9\u00b4\u00c8\u00f6\u0014\u00c0\u00fa~j\u00bctS!\u00c0~?5^\u00baI\u0012\u00c0\u00b8\u001e\u0085\u00ebQ8\u0016\u00c0\u00c2\u00ca\u00a1E\u00b63#\u00c0\u0010X9\u00b4\u00c8\u00f6\u0013\u00c0\u0015\u00aeG\u00e1z\u0014\u0015\u00c0\n\u00d7\u00a3p=\n \u00c0!\u00b0rh\u0091\u00ed\u00f4\u00bfq=\n\u00d7\u00a3p\u000b\u00c0\u0080j\u00bct\u0093\u0018#\u00c0\u0099n\u0012\u0083\u00c0\u00ca\u0007\u00c0\u0014\u00aeG\u00e1z\u0014\u0019\u00c0\b\u00ac\u001cZd\u00bb \u00c0\u0083\u00c0\u00ca\u00a1E\u00b6\u0001\u00c0\u00c9v\u00be\u009f\u001a/\u0019\u00c0H\u00e1z\u0014\u00aeG\"\u00c0\u00e3\u00a5\u009b\u00c4 \u00b0\u0001\u00c07\u0089A`\u00e5P\u0018\u00c0L7\u0089A`\u00e5\u001b\u00c0\u0001\u0000\u0000\u0000\u0000\u0000\u0007\u00c0?5^\u00baI\f\u0018\u00c0\u00e2z\u0014\u00aeGa\u0018\u00c0\u00aa\u00f1\u00d2Mb\u0010\u00f8\u00bf\u0082\u0095C\u008blg\u001b\u00c0U\u00e3\u00a5\u009b\u00c4\u00a0\u001a\u00c0\u0013\u0083\u00c0\u00ca\u00a1E\u00fa\u00bfe;\u00dfO\u008d\u0097\u0014\u00c0\u0090\u00c2\u00f5(\\\u000f\u001c\u00c0\u00dd$\u0006\u0081\u0095C\f\u00c0Y9\u00b4\u00c8v\u00be\u001e\u00c0H\u00e1z\u0014\u00ae\u00c7 \u00c0}?5^\u00baI\u0010\u00c0\u00b1rh\u0091\u00ed\u00fc\u001f\u00c0\u00fa~j\u00bct\u0093\"\u00c0+\u0087\u0016\u00d9\u00ce\u00f7\u0005\u00c0J\f\u0002+\u0087\u00d6 \u00c0\u00fa~j\u00bct\u0093 \u00c0V\u000e-\u00b2\u009d\u00ef\u0010\u00c0\u0099n\u0012\u0083\u00c0J\u001f\u00c0\u00ce\u00cc\u00cc\u00cc\u00ccL\u001e\u00c0\u00da\u00ce\u00f7S\u00e3\u00a5\u0006\u00c08\u0089A`\u00e5\u00d0\f\u00c0\u00cav\u00be\u009f\u001ao&\u00c0\u00c8K7\u0089A`\u000e\u00c0\u0084\u00c0\u00ca\u00a1E\u00b6\u000e\u00c0\u00ea&1\b\u00ac\u00dc&\u00c0\u00b7\u00f3\u00fd\u00d4x\u00e9\u00fe\u00bf\u0012\u0083\u00c0\u00ca\u00a1E\u000b\u00c0c\u0010X9\u00b4\u00c8(\u00c0\u00be\u009f\u001a/\u00dd$\u00f0\u00bf\u009d\u00c4 \u00b0rh\u000f\u00c0Y9\u00b4\u00c8v>(\u00c0P\u008d\u0097n\u0012\u0083\u00f8\u00bfU\u00e3\u00a5\u009b\u00c4 \u00fe\u00bf\u00bf\u009f\u001a/\u00dd$)\u00c0\u0004V\u000e-\u00b2\u009d\u0004\u00c0\u00f6(\\\u008f\u00c2\u00f5\u000e\u00c0L7\u0089A`e+\u00c0\u00e4\u00a5\u009b\u00c4 \u00b0\f\u00c0\u00f1\u00a7\u00c6K7\u0089\u000b\u00c0\u001c/\u00dd$\u0006\u0081+\u00c0\u00e7\u00fb\u00a9\u00f1\u00d2M\u0006\u00c0h\u0091\u00ed|?\u00b5\u0013\u00c0;\u00dfO\u008d\u0097.+\u00c0*\\\u008f\u00c2\u00f5(\u00dc\u00bf\u00c9v\u00be\u009f\u001a/\u00f9\u00bf\u00a8\u00c6K7\u0089\u0001*\u00c0\u00bdt\u0093\u0018\u0004V\u00fc\u00bf\u00d3Mb\u0010X9\f\u00c0\u00fd\u00a9\u00f1\u00d2M\u00e2-\u00c0\u001a\u0004V\u000e-\u00b2\u00f9\u00bf\u000e-\u00b2\u009d\u00ef\u00a7\u0003\u00c0\u008aA`\u00e5\u00d0\".\u00c0~?5^\u00baI\u0002\u00c0\u00fb~j\u00bct\u0093\u000f\u00c0\u00f2\u00d2Mb\u0010\u0098/\u00c0\u001c/\u00dd$\u0006\u0081\u00d5\u00bfj\u00bct\u0093\u0018\u0084\u0010\u00c0\u00bbI\f\u0002+\u00c7-\u00c0Zd;\u00dfO\u008d\u00b7\u00bfffffff\u0014\u00c0\u008f\u00c2\u00f5(\\O,\u00c0\u001b/\u00dd$\u0006\u0081\u00dd?\u00e8\u00fb\u00a9\u00f1\u00d2M\r\u00c0\u00ecQ\u00b8\u001e\u0085k/\u00c0'1\b\u00ac\u001cZ\u0003\u00c0\u00c7K7\u0089A`\u00ed\u00bf\u008cl\u00e7\u00fb\u00a9\u00b1(\u00c0\u0092\u00ed|?5^\n\u00c09\u00b4\u00c8v\u00be\u009f\u00f4\u00bf\u00c3\u00f5(\\\u008f\u0002(\u00c0\u00b8\u001e\u0085\u00ebQ\u00b8\u0000\u00c0\u00fa~j\u00bct\u0093\u00e0?z\u00e9&1\b\u00ec(\u00c0\u0085\u00ebQ\u00b8\u001e\u0085\u00f7\u00bf'1\b\u00ac\u001cZ\u00e8?\u009d\u00c4 \u00b0r\u00a8*\u00c0#\u00db\u00f9~j\u00bc\u00f2\u00bf\u00f7(\\\u008f\u00c2\u00f5\u00ec?\u00dd$\u0006\u0081\u0095\u0083&\u00c0d;\u00dfO\u008d\u0097\u000b\u00c0\u00f4\u00fd\u00d4x\u00e9&\u00f5?\u0015\u00aeG\u00e1z\u00d4(\u00c0C`\u00e5\u00d0\"\u00db\u000f\u00c0)\\\u008f\u00c2\u00f5(\u00f2?\u0010X9\u00b4\u00c8\u00f6&\u00c0\u0087\u0016\u00d9\u00ce\u00f7S\u00d3\u00bf\u00afG\u00e1z\u0014\u00ae\u00fb?\u009d\u00c4 \u00b0r\u00e8&\u00c0\f\u0002+\u0087\u0016\u00d9\b\u00c0\u00b0rh\u0091\u00ed|\u0006@\u00fe\u00d4x\u00e9&1)\u00c0d;\u00dfO\u008d\u0097\u0005\u00c0\u0096C\u008bl\u00e7\u00fb\b@\u001b/\u00dd$\u0006A'\u00c0\u00aeG\u00e1z\u0014\u00ae\u000f\u00c0\u0012\u0083\u00c0\u00ca\u00a1E\u000b@\u000b\u00d7\u00a3p=\u00ca)\u00c0\u00aa\u00f1\u00d2Mb\u0010\u0002\u00c0\u00aeG\u00e1z\u0014\u00ae\u0007@\u00c3\u00f5(\\\u008f\u0082*\u00c0\u0091\u00ed|?5\u00de\u0011\u00c0\u00afG\u00e1z\u0014\u00ae\u00eb?\u0011X9\u00b4\u00c8\u00b6*\u00c0\u00d9\u00ce\u00f7S\u00e3%\u0013\u00c0\u00fc\u00a9\u00f1\u00d2Mb\u0090\u00bf\u00d5x\u00e9&1H*\u00c0\u000e-\u00b2\u009d\u00ef\u00a7\u00f4\u00bf\u00ecQ\u00b8\u001e\u0085\u00eb\u00d1?\u00da\u00ce\u00f7S\u00e3%$\u00c0\u00b2\u009d\u00ef\u00a7\u00c6K\u0000\u00c0\u00edQ\u00b8\u001e\u0085\u00eb\u00d9\u00bf\u00a4p=\n\u00d7#$\u00c0\u00a7\u009b\u00c4 \u00b0r\u00d8\u00bf(1\b\u00ac\u001cZ\u00e0?d;\u00dfO\u008d\u0017\"\u00c0\u00d1\"\u00db\u00f9~j\u00bc\u00bf\u00a0\u001a/\u00dd$\u0006\u00f9?h\u0091\u00ed|?\u00f5!\u00c0\u0007\u0081\u0095C\u008bl\u00ef?\u00cf\u00f7S\u00e3\u00a5\u009b\u00c4\u00bfNb\u0010X9\u00b4\"\u00c0\u00a8\u00c6K7\u0089A\u00ec\u00bf\u0089A`\u00e5\u00d0\"\u00ab\u00bf\u00d3Mb\u0010X\u00b9\u001e\u00c0\u00bbI\f\u0002+\u0087\u0096\u00bf\u00a8\u00c6K7\u0089A\u00d0\u00bf\u00aeG\u00e1z\u0014.\u001c\u00c0\u00c3\u00f5(\\\u008f\u00c2\u00f5\u00bf\u00fc\u00a9\u00f1\u00d2Mb\u00f0\u00bf\u00b8\u001e\u0085\u00ebQ8\u001f\u00c0\u000e-\u00b2\u009d\u00ef\u00a7\u00fe?-\u00b2\u009d\u00ef\u00a7\u00c6\u00cb?\u00c3\u00f5(\\\u008fB!\u00c0n\u00e7\u00fb\u00a9\u00f1\u00d2\u00fb\u00bfj\u00bct\u0093\u0018\u0004\u00ee?W\u000e-\u00b2\u009do\u001b\u00c0\u0017\u00d9\u00ce\u00f7S\u00e3\u0005\u00c0R\u00b8\u001e\u0085\u00ebQ\u00f0?U\u00e3\u00a5\u009b\u00c4 \u001d\u00c0K\f\u0002+\u0087\u0016\u00ff\u00bf5^\u00baI\f\u0002\u00d3?\u00a1\u001a/\u00dd$\u0006\u0016\u00c0\u008cl\u00e7\u00fb\u00a9\u00f1\u00ee\u00bf{\u0014\u00aeG\u00e1z\u0084\u00bf\u00f0\u00a7\u00c6K7\u0089\u0014\u00c0j\u00bct\u0093\u0018\u0004\u0003\u00c07\u0089A`\u00e5\u00d0\u00ee?\u00a0\u001a/\u00dd$\u0006\u0013\u00c0\u00f8S\u00e3\u00a5\u009b\u00c4\u0003\u00c0\u00a0\u001a/\u00dd$\u0006\u00e5\u00bfsh\u0091\u00ed|?\u0016\u00c0\u00d7\u00a3p=\n\u00d7\u00f1\u00bf\u009e\u00ef\u00a7\u00c6K7\u0002@\u0086\u00ebQ\u00b8\u001e\u0085\u001a\u00c0333333\u00b3\u00bfq=\n\u00d7\u00a3p\u0000@\u00e9&1\b\u00ac\u009c\u0019\u00c0\u00cb\u00a1E\u00b6\u00f3\u00fd\u00f2\u00bf\u009c\u00c4 \u00b0rh\u0007@5^\u00baI\f\u0002\u001e\u00c0\u00ee|?5^\u00ba\u00f7\u00bf\u00dd$\u0006\u0081\u0095C\u0006@\u008bl\u00e7\u00fb\u00a9\u00f1\u0016\u00c0\u00d3Mb\u0010X9\u00f2?\u00b6\u00f3\u00fd\u00d4x\u00e9\u00f2\u00bf6^\u00baI\f\u0082$\u00c0j\u00bct\u0093\u0018\u0004\u00d6?\u00f6(\\\u008f\u00c2\u00f5\u00fa\u00bfh\u0091\u00ed|?5%\u00c0\u0091\u00ed|?5^\u0004@\u00f0\u00a7\u00c6K7\u0089\u00f9\u00bf\u00a8\u00c6K7\u0089A%\u00c0\u00f7(\\\u008f\u00c2\u00f5\b@|\u0014\u00aeG\u00e1z\u00fc\u00bf\u00c9v\u00be\u009f\u001ao#\u00c0th\u0091\u00ed|?\t@5^\u00baI\f\u0002\u00e3\u00bfJ\f\u0002+\u0087\u0016'\u00c0\u00aeG\u00e1z\u0014\u00ae\u0003@=\n\u00d7\u00a3p=\u0007\u00c0\u0098n\u0012\u0083\u00c0\u00ca&\u00c0#\u00db\u00f9~j\u00bc\u00fc?7\u0089A`\u00e5\u00d0\u0005\u00c0\u00ef|?5^z(\u00c0p\u0012\u0083\u00c0\u00ca\u00a1\u000b@\u00d4Mb\u0010X9\t\u00c0\u0015\u00aeG\u00e1z\u0094'\u00c0w\u00be\u009f\u001a/]\u0011@J\f\u0002+\u0087\u0016\u00d1\u00bf<\u00dfO\u008d\u0097\u00ee&\u00c0R\u00b8\u001e\u0085\u00ebQ\u0000@\u0004V\u000e-\u00b2\u009d\u0010\u00c01\b\u00ac\u001cZ$%\u00c0\u00b0rh\u0091\u00ed|\u00f1?\u009f\u00ef\u00a7\u00c6K7\u000f\u00c0\u0093\u0018\u0004V\u000e-$\u00c0\u00b4\u00c8v\u00be\u009f\u001a\u0006@\u00d9\u00ce\u00f7S\u00e3%\u0011\u00c0\u00baI\f\u0002+\u0087#\u00c0Y9\u00b4\u00c8v\u00be\u00ff?\u0080j\u00bct\u0093\u0098\u0015\u00c0\u00e5\u00d0\"\u00db\u00f9\u00fe&\u00c0\u0080j\u00bct\u0093\u0018\b@%\u0006\u0081\u0095C\u008b\u0016\u00c07\u0089A`\u00e5\u0090'\u00c0\u0019\u0004V\u000e-\u00b2\u00f7?Nb\u0010X9\u00b4\u0014\u00c0p\u0012\u0083\u00c0\u00ca\u00e1(\u00c0\u00b8\u001e\u0085\u00ebQ\u00b8\u00f6?\u00ce\u00cc\u00cc\u00cc\u00ccL\u001a\u00c0\u00fc\u00a9\u00f1\u00d2M\u00a2%\u00c07\u0089A`\u00e5\u00d0\u00fe?fffff\u00e6\u001b\u00c0\u00d7\u00a3p=\n\u0017$\u00c0\u0089A`\u00e5\u00d0\"\u00e3\u00bf\u00ab\u00f1\u00d2Mb\u0010\u001b\u00c0\u00e5\u00d0\"\u00db\u00f9\u00fe'\u00c0\u00c2\u00ca\u00a1E\u00b6\u00f3\u00f7\u00bfB`\u00e5\u00d0\"\u00db\u001c\u00c0\u0010X9\u00b4\u00c8\u00b6'\u00c0\u00d4Mb\u0010X9\u00d4\u00bf\u0005V\u000e-\u00b2\u009d\u0018\u00c0-\u00b2\u009d\u00ef\u00a7\u0086)\u00c0\u00f7(\\\u008f\u00c2\u00f5\u00c8\u00bf)\\\u008f\u00c2\u00f5h \u00c0\u00aeG\u00e1z\u0014\u00ee$\u00c0\u0081\u0095C\u008bl\u00e7\u00eb\u00bf\u00a2E\u00b6\u00f3\u00fd\u0094!\u00c0\u00e2z\u0014\u00aeG\u00e1%\u00c0433333\u00db?\u00b0rh\u0091\u00ed1\u00c0\u00b6\u00f3\u00fd\u00d4x\u00e9\u00e2?\u008f\u00c2\u00f5(\\\u008f\u0001\u00c0`\u00e5\u00d0\"\u00db\u00b90\u00c0!\u00b0rh\u0091\u00ed\u00e0\u00bf\u00fc\u00a9\u00f1\u00d2Mb\u00e4\u00bf5^\u00baI\fB3\u00c0\u00db\u00f9~j\u00bct\u00f1\u00bf\u0086\u00ebQ\u00b8\u001e\u0085\u00eb\u00bf\u00fe\u00d4x\u00e9&\u00114\u00c0$\u00db\u00f9~j\u00bc\u00d4\u00bf\u00c3\u00f5(\\\u008f\u00c2\u00d5?\u0004V\u000e-\u00b2\u001d3\u00c0\\\u008f\u00c2\u00f5(\\\u00cf\u00bf@5^\u00baI\f\u0006\u00c0m\u00e7\u00fb\u00a9\u00f1\u00d22\u00c0B`\u00e5\u00d0\"\u00db\u00c9?;\u00dfO\u008d\u0097n\f\u00c01\b\u00ac\u001cZd2\u00c0\u00ee|?5^\u00ba\u00e5\u00bf\u00bbI\f\u0002+\u0087\u0006\u00c0\u0096C\u008bl\u00e7\u00bb3\u00c0\u0019\u0004V\u000e-\u00b2\u00ad\u00bf5^\u00baI\f\u0002\u00f9\u00bf\u0087\u0016\u00d9\u00ce\u00f7s2\u00c0\u00baI\f\u0002+\u0087\u0001@<\u00dfO\u008d\u0097n\b@x\u00be\u009f\u001a/\u001d(\u00c0^\u00baI\f\u0002+\u00f5?ffffff\u0004@\f\u0002+\u0087\u0016\u00d9'\u00c0F\u00b6\u00f3\u00fd\u00d4x\u0003@\u00ecQ\u00b8\u001e\u0085\u00eb\u0010@43333s&\u00c0Nb\u0010X9\u00b4\u0007@V\u000e-\u00b2\u009d\u00ef\u0013@L7\u0089A`\u00a5'\u00c0Y9\u00b4\u00c8v\u00be\n@9\u00b4\u00c8v\u00be\u009f\u000f@p\u0012\u0083\u00c0\u00ca!$\u00c0\u00c5 \u00b0rh\u0091\u00f1?7\u0089A`\u00e5P\u0013@\u0003+\u0087\u0016\u00d9N%\u00c0\u00b2\u009d\u00ef\u00a7\u00c6K\u00e3?\u00e7\u00fb\u00a9\u00f1\u00d2M\u0010@\u00cf\u00f7S\u00e3\u00a5\u001b$\u00c0Y9\u00b4\u00c8v\u00be\u000f@\u001f\u0085\u00ebQ\u00b8\u009e\u0013@9\u00b4\u00c8v\u00be\u001f#\u00c0\u00a9\u00c6K7\u0089A\u00f4?\u0019\u0004V\u000e-\u00b2\u0018@\n\u00d7\u00a3p=\n$\u00c0\u00aa\u00f1\u00d2Mb\u0010\u00d8?}?5^\u00baI\u001b@\u00a0\u001a/\u00dd$\u0006$\u00c0\u008f\u00c2\u00f5(\\\u008f\u00fc?\u0083\u00c0\u00ca\u00a1E\u00b6\u0018@\u0004V\u000e-\u00b2\u001d\"\u00c0\u00bct\u0093\u0018\u0004V\u00fe?Zd;\u00dfO\r\u001b@\u001f\u0085\u00ebQ\u00b8^%\u00c0\u00b2\u009d\u00ef\u00a7\u00c6K\u00b7?P\u008d\u0097n\u0012\u0083\u0014@Nb\u0010X9t'\u00c0\u00edQ\u00b8\u001e\u0085\u00eb\u00e9\u00bf1\b\u00ac\u001cZd\u0016@\"\u00b0rh\u0091\u00ad&\u00c0\f\u0002+\u0087\u0016\u00d9\u00e2?\u00aa\u00f1\u00d2Mb\u0010\u0017@\u00f4\u00fd\u00d4x\u00e9\u00e6(\u00c0x\u00be\u009f\u001a/\u00dd\u00c4\u00bf\u00bct\u0093\u0018\u0004\u00d6\u0010@.\u00b2\u009d\u00ef\u00a7\u0086(\u00c0\u0092\u00ed|?5^\f@[d;\u00dfO\u008d\u0005@\u009e\u00ef\u00a7\u00c6K7#\u00c0p\u0012\u0083\u00c0\u00ca\u00a1\u0007@\u00b2\u009d\u00ef\u00a7\u00c6K\u00ff?\u00a6\u009b\u00c4 \u00b0\u00f2#\u00c0\u0098n\u0012\u0083\u00c0\u00ca\u0012@P\u008d\u0097n\u0012\u0083\u0002@\u0019\u0004V\u000e-r!\u00c0\u00d7\u00a3p=\n\u00d7\u0012@%\u0006\u0081\u0095C\u008b\b@$\u00db\u00f9~j\u00bc\u001f\u00c033333\u00b3\u0011@D\u008bl\u00e7\u00fb\u00a9\u00f5?\u0002+\u0087\u0016\u00d9\u008e \u00c0\u00fc\u00a9\u00f1\u00d2Mb\u0018@\u0004V\u000e-\u00b2\u009d\u0002@)\\\u008f\u00c2\u00f5\u00a8\"\u00c0\u0084\u00c0\u00ca\u00a1E6\u001c@\u007fj\u00bct\u0093\u0018\u0000@h\u0091\u00ed|?5!\u00c00\u00dd$\u0006\u0081\u0095\u0019@+\u0087\u0016\u00d9\u00ce\u00f7\u0004@\u00a6\u009b\u00c4 \u00b02%\u00c0\u00ac\u001cZd;_\u0016@\u00c2\u00ca\u00a1E\u00b6\u00f3\u0006@Zd;\u00dfOM&\u00c0\u00c4\u00f5(\\\u008f\u00c2\u001e@2\b\u00ac\u001cZd\u0004@%\u0006\u0081\u0095C\u008b&\u00c033333\u00b3\u001f@\u0096C\u008bl\u00e7\u00fb\u00f7?o\u0012\u0083\u00c0\u00ca!&\u00c0\u00b2\u009d\u00ef\u00a7\u00c6\u008b!@\u00afG\u00e1z\u0014\u00ae\u000b@\u00bct\u0093\u0018\u0004V%\u00c0\u0003+\u0087\u0016\u00d9\u00ce\u001d@\u00aeG\u00e1z\u0014\u00ae\u0005@e;\u00dfO\u008d\u0097)\u00c0\u0019\u0004V\u000e-2\u001a@\u008bl\u00e7\u00fb\u00a9\u00f1\u0000@\u00e2z\u0014\u00aeG\u00e1)\u00c0\u00d3Mb\u0010X9\u001d@\u00fe\u00d4x\u00e9&1\u000e@\u00e2z\u0014\u00aeG\u00e1)\u00c0\u0012\u0083\u00c0\u00ca\u00a1E!@\u000e-\u00b2\u009d\u00ef\u00a7\u0012@\u00d4Mb\u0010X9%\u00c0-\u00b2\u009d\u00ef\u00a7F!@\u0088\u0016\u00d9\u00ce\u00f7S\u0001@\u00aeG\u00e1z\u0014.+\u00c0\u009a\u0099\u0099\u0099\u0099Y\"@\u00a5p=\n\u00d7\u00a3\u0007@\u009f\u00ef\u00a7\u00c6K\u00b7,\u00c0\u008bl\u00e7\u00fb\u00a9\u00f1!@\u000e-\u00b2\u009d\u00ef\u00a7\u00ee?\u00c7K7\u0089A\u00e0*\u00c0\u001b/\u00dd$\u0006\u00c1#@\b\u00ac\u001cZd;\u0007@\u00ea&1\b\u00ac\\$\u00c0\u00e9&1\b\u00ac\u00dc#@R\u00b8\u001e\u0085\u00ebQ\u00fe?L7\u0089A`%$\u00c0'1\b\u00ac\u001c\u001a&@\u00cb\u00a1E\u00b6\u00f3\u00fd\r@\u00d9\u00ce\u00f7S\u00e3\u00a5#\u00c0\u00a2E\u00b6\u00f3\u00fd\u00d4'@\u0083\u00c0\u00ca\u00a1E\u00b6\b@@5^\u00baI\u00cc#\u00c0\u00c4\u00f5(\\\u008fB&@!\u00b0rh\u0091m\u0012@\u0096C\u008bl\u00e7\u00fb$\u00c0R\u00b8\u001e\u0085\u00eb\u00d1%@h\u0091\u00ed|?5\u0011@\u00ee|?5^\u00ba \u00c0\u00fd\u00a9\u00f1\u00d2M\u00e2'@\u0019\u0004V\u000e-\u00b2\u0012@5^\u00baI\f\u0002\u001f\u00c0d;\u00dfO\u008dW#@\u0000\u0000\u0000\u0000\u0000\u0080\u0011@\u00ecQ\u00b8\u001e\u0085k\u001f\u00c0sh\u0091\u00ed|\u00bf!@7\u0089A`\u00e5\u00d0\u000f@\u00d1\"\u00db\u00f9~\u00aa \u00c0\u00b4\u00c8v\u00be\u009f\u00da\"@\u00d2\"\u00db\u00f9~j\u0014@2\b\u00ac\u001cZd\u001a\u00c0}?5^\u00ba\t#@43333\u00b3\u0018@%\u0006\u0081\u0095C\u000b\u001b\u00c0\u00a2E\u00b6\u00f3\u00fd\u0094$@\u00ac\u001cZd;_\u0012@C`\u00e5\u00d0\"\u00db\u0015\u00c033333\u00b3\u001f@\n\u00d7\u00a3p=\u008a\u0013@\u0082\u0095C\u008bl\u00e7\u0018\u00c0\u00a0\u001a/\u00dd$\u0006\u001f@\u009b\u0099\u0099\u0099\u0099\u0099\u000e@\u00b4\u00c8v\u00be\u009f\u001a\u0018\u00c0\u00b3\u009d\u00ef\u00a7\u00c6\u00cb%@b\u0010X9\u00b4\u00c8\u0015@\u00e4\u00a5\u009b\u00c4 0\u0013\u00c0*\\\u008f\u00c2\u00f5\u00a8\u001e@\u00a9\u00c6K7\u0089\u00c1\u0016@\u00e3\u00a5\u009b\u00c4 \u00b0\u0013\u00c0\u00c2\u00ca\u00a1E\u00b6s\u001a@<\u00dfO\u008d\u0097\u00ee\u0016@\u0000\u0000\u0000\u0000\u0000\u0080\u0012\u00c0\u00a0\u001a/\u00dd$\u0086\u001f@\u00ad\u001cZd;\u00df\u001a@\u0098n\u0012\u0083\u00c0\u00ca\u0014\u00c0\b\u00ac\u001cZd{ @\u00f8S\u00e3\u00a5\u009b\u00c4\u0015@\u009a\u0099\u0099\u0099\u0099\u0019\u0010\u00c0`\u00e5\u00d0\"\u00db\u00f9\u001b@\u00f4\u00fd\u00d4x\u00e9\u00a6\u0015@\u0094\u0018\u0004V\u000e-\u001d\u00c0}?5^\u00ba\u00c9\u001c@\u00b2\u009d\u00ef\u00a7\u00c6\u00cb\u0019@\u00ce\u00cc\u00cc\u00cc\u00ccL\u001e\u00c0\u00c4\u00f5(\\\u008fB\u001c@\u00b0rh\u0091\u00ed|\u0013@`\u00e5\u00d0\"\u00dby \u00c0\u00fe\u00d4x\u00e9&\u00b1\u0017@\u008d\u0097n\u0012\u0083@\u0015@\u00a0\u001a/\u00dd$\u0086\u001c\u00c0h\u0091\u00ed|?\u00b5$@\"\u00b0rh\u0091\u00ed\t@Zd;\u00dfO\r\u0015\u00c0\u00e2z\u0014\u00aeG\u00a1#@\u001dZd;\u00dfO\u0004@\u00a0\u001a/\u00dd$\u0006\u0017\u00c0H\u00e1z\u0014\u00aeG&@\u00d8\u00a3p=\n\u00d7\u0005@\u0019\u0004V\u000e-\u00b2\u0010\u00c0\u00d4Mb\u0010Xy%@\u008aA`\u00e5\u00d0\"\t@\u0000\u0000\u0000\u0000\u0000\u0000\n\u00c0\b\u00ac\u001cZd;)@P\u008d\u0097n\u0012\u0083\t@\u0012\u0083\u00c0\u00ca\u00a1\u00c5\u0010\u00c0~?5^\u00ba\t&@)\\\u008f\u00c2\u00f5(\u00f2?-\u00b2\u009d\u00ef\u00a7\u00c6\u0010\u00c0ffffff&@\u00a5p=\n\u00d7\u00a3\u00e8?\\\u008f\u00c2\u00f5(\u00dc\u0014\u00c0\u00f2\u00d2Mb\u0010X'@\u00f7(\\\u008f\u00c2\u00f5\u00e8?^\u00baI\f\u0002+\u000b\u00c0\u00a4p=\n\u00d7c*@\u0000\u0000\u0000\u0000\u0000\u0000\u000b@\u0093\u0018\u0004V\u000e-\t\u00c0\u0085\u00ebQ\u00b8\u001eE#@\u00b4\u00c8v\u00be\u009f\u001a\u00e3?8\u0089A`\u00e5\u00d0\r\u00c0\u008d\u0097n\u0012\u0083\u0000#@D\u008bl\u00e7\u00fb\u00a9\u00ed?\u0004V\u000e-\u00b2\u009d\u0005\u00c0\u0017\u00d9\u00ce\u00f7S\u00a3!@\u00a8\u00c6K7\u0089A\u00f0?\u00c3\u00f5(\\\u008fB\u0011\u00c0\u0010X9\u00b4\u00c8\u00b6\"@\u0084\u00c0\u00ca\u00a1E\u00b6\u00eb\u00bf\u0082\u0095C\u008bl\u00e7\u000f\u00c0\u00baI\f\u0002+\u0087 @\t\u00ac\u001cZd;\u00f5\u00bf\u00c5 \u00b0rh\u0011\u0012\u00c0\u00c8K7\u0089A\u00e0\u001d@8\u0089A`\u00e5\u00d0\u00e6\u00bf\u00e9&1\b\u00ac\u009c\u0012\u00c0\u008d\u0097n\u0012\u0083@ @/\u00dd$\u0006\u0081\u0095\u0002\u00c0\u001b/\u00dd$\u0006\u0001\u0012\u00c0\u0084\u00c0\u00ca\u00a1Ev$@\u00e2z\u0014\u00aeG\u00e1\u00fa\u00bf\"\u00b0rh\u0091\u00ed\r\u00c0\u00b5\u00c8v\u00be\u009fZ*@\u00d9\u00ce\u00f7S\u00e3\u00a5\n@ \u0085\u00ebQ\u00b8\u009e\u0015\u00c0gffff&)@)\\\u008f\u00c2\u00f5(\n@\u0018\u00d9\u00ce\u00f7S\u00e3\u0018\u00c0$\u00db\u00f9~j<-@V\u000e-\u00b2\u009d\u00ef\f@=\n\u00d7\u00a3p=\u0016\u00c0n\u00e7\u00fb\u00a9\u00f1R.@\u001b/\u00dd$\u0006\u0081\b@z\u00e9&1\b,\u0013\u00c0\"\u00b0rh\u0091\u00ed-@L7\u0089A`e\u0014@5^\u00baI\f\u0082\u0015\u00c0F\u00b6\u00f3\u00fd\u00d48.@\u00d7\u00a3p=\n\u00d7\b@\u00e4\u00a5\u009b\u00c4 \u00b0\u001b\u00c0\u0083\u00c0\u00ca\u00a1E\u00160@\u00c5 \u00b0rh\u0091\f@M7\u0089A`e\u001c\u00c0\u0099n\u0012\u0083\u00c0\u00ca,@x\u00be\u009f\u001a/\u00dd\n@H\u00e1z\u0014\u00ae\u00c7\u001e\u00c0i\u0091\u00ed|?\u00f5/@D\u008bl\u00e7\u00fb\u00a9\u0015@\u00e7\u00fb\u00a9\u00f1\u00d2M\u0013\u00c0\u009b\u0099\u0099\u0099\u0099\u0099.@th\u0091\u00ed|?\u00f9?\u0005V\u000e-\u00b2\u001d\u001c\u00c0^\u00baI\f\u0002+/@\u001dZd;\u00dfO\u00f3?\u00e4\u00a5\u009b\u00c4 0\u0018\u00c0\u0010X9\u00b4\u00c8\u00b6,@\u00e5\u00d0\"\u00db\u00f9~\u00f2?G\u00b6\u00f3\u00fd\u00d4x\u001d\u00c0\u00ac\u001cZd;_0@\u009a\u0099\u0099\u0099\u0099\u0099\u00f3?o\u0012\u0083\u00c0\u00ca! \u00c0-\u00b2\u009d\u00ef\u00a7\u00a60@\u00b6\u00f3\u00fd\u00d4x\u00e9\u00c6?\u00fe\u00d4x\u00e9&\u00b1\u001f\u00c0q=\n\u00d7\u00a3P1@\u00d3Mb\u0010X9\u00fc?\u0096C\u008bl\u00e7\u00fb\u001f\u00c0\u00cf\u00f7S\u00e3\u00a5\u009b/@\u00d1\"\u00db\u00f9~j\u00f6?Nb\u0010X9\u00f4\"\u00c0#\u00db\u00f9~j\u001c0@-\u00b2\u009d\u00ef\u00a7\u00c6\u0001@D\u008bl\u00e7\u00fb\u00e9#\u00c08\u0089A`\u00e5\u0090,@\u00cb\u00a1E\u00b6\u00f3\u00fd\u00d4\u00bf6^\u00baI\f\u0082#\u00c0x\u00be\u009f\u001a/\u001d+@\u00be\u009f\u001a/\u00dd$\u00e6\u00bf\u0011X9\u00b4\u00c8\u00b6$\u00c0#\u00db\u00f9~j\u00fc,@D\u008bl\u00e7\u00fb\u00a9\u00ed\u00bf\u00db\u00f9~j\u00bc\u00f4!\u00c0\u00b6\u00f3\u00fd\u00d4x\u00e9,@y\u00e9&1\b\u00ac\u00f2?>\n\u00d7\u00a3p}&\u00c0\u00d9\u00ce\u00f7S\u00e3\u00e5+@\u00fa~j\u00bct\u0093\u00e0?\u000f-\u00b2\u009d\u00ef\u00a7'\u00c0v\u0093\u0018\u0004V\u00ce-@\u001a\u0004V\u000e-\u00b2\u00ff?@5^\u00baIL'\u00c0Zd;\u00dfO\u00cd-@\u0003+\u0087\u0016\u00d9\u00ce\u00e7?\u0083\u00c0\u00ca\u00a1E6$\u00c0'1\b\u00ac\u001c\u001a,@gffff\u00e6\u0017@\u00d9\u00ce\u00f7S\u00e3%\u0017\u00c0\u00ecQ\u00b8\u001e\u0085k*@\f\u0002+\u0087\u0016Y\u0016@\u00e7\u00fb\u00a9\u00f1\u00d2\u00cd\u0018\u00c0\u00b5\u00c8v\u00be\u009f\u009a,@\u00aeG\u00e1z\u0014\u00ae\u001d@v\u0093\u0018\u0004V\u008e\u0016\u00c0r=\n\u00d7\u00a3\u00b0.@P\u008d\u0097n\u0012\u0083\u001e@\u001b/\u00dd$\u0006\u0081\u0017\u00c0@5^\u00baI\f,@w\u00be\u009f\u001a/]\u001f@\u00dfO\u008d\u0097n\u0092\u0010\u00c0\u00a7\u009b\u00c4 \u00b0\u00b2*@F\u00b6\u00f3\u00fd\u00d4x @\u00b4\u00c8v\u00be\u009f\u009a\u001a\u00c0M7\u0089A`\u00a5(@33333\u00b3\u001f@\u008cl\u00e7\u00fb\u00a9\u00f1\u0019\u00c0r=\n\u00d7\u00a3\u00f0*@\u0091\u00ed|?5\u009e\"@\u001c/\u00dd$\u0006\u0001\u001a\u00c0\u00e8\u00fb\u00a9\u00f1\u00d2\u008d-@R\u00b8\u001e\u0085\u00ebQ!@X9\u00b4\u00c8v\u00be\f\u00c0h\u0091\u00ed|?\u00b5+@\u00b4\u00c8v\u00be\u009f\u001a @1\b\u00ac\u001cZ$ \u00c0v\u0093\u0018\u0004V\u000e*@\u0083\u00c0\u00ca\u00a1E\u00b6\u001d@z\u00e9&1\b\u00ec!\u00c0n\u00e7\u00fb\u00a9\u00f1\u0092*@1\b\u00ac\u001cZd\u001d@\u00e1z\u0014\u00aeG\u00e1#\u00c0M7\u0089A`e(@\u001a\u0004V\u000e-2\u001c@\u001dZd;\u00df\u000f!\u00c05^\u00baI\f\u0002.@%\u0006\u0081\u0095C\u008b @\u00ee|?5^\u00ba \u00c0\u00fc\u00a9\u00f1\u00d2M\u00e2)@<\u00dfO\u008d\u0097n\u001d@\u00a3E\u00b6\u00f3\u00fd\u00d4\f\u00c0\u0082\u0095C\u008bl\u00e7(@D\u008bl\u00e7\u00fb\u00a9\u001a@\u00f4\u00fd\u00d4x\u00e9\u00a6\u0010\u00c0\u001c/\u00dd$\u0006A)@\u001eZd;\u00df\u00cf\u001d@\u001f\u0085\u00ebQ\u00b8\u001e\u0001\u00c0i\u0091\u00ed|?\u00b5)@D\u008bl\u00e7\u00fb\u00e9 @\u00fa~j\u00bct\u0093\u00fc\u00bf\u0094\u0018\u0004V\u000e\u00ed*@\u00ff\u00d4x\u00e9&\u00b1\u0019@\u00b4\u00c8v\u00be\u009f\u001a\u00f5\u00bfP\u008d\u0097n\u0012C&@\n\u00d7\u00a3p=\n\u001d@\u00d5x\u00e9&1\b\u00fe\u00bfP\u008d\u0097n\u0012\u00c3%@\u00aa\u00f1\u00d2Mb\u0010\u001d@\u00edQ\u00b8\u001e\u0085\u00eb\u00e9\u00bf\u00dfO\u008d\u0097n\u0012&@\u00ea&1\b\u00ac\u001c\u0019@\u0019\u0004V\u000e-\u00b2\u0002\u00c0Q\u008d\u0097n\u0012C*@\u00c1\u00ca\u00a1E\u00b6s\u0018@K\f\u0002+\u0087\u0016\u00c9\u00bf\u0097C\u008bl\u00e7{$@}?5^\u00ba\u0089 @\u0090\u00c2\u00f5(\\\u008f\u0004\u00c0\u00a0\u001a/\u00dd$\u0006$@\u00e4\u00a5\u009b\u00c4 \u00b0 @\u00ea&1\b\u00ac\u001c\u000f\u00c0\u00fc\u00a9\u00f1\u00d2M\u00e2$@\u00b2\u009d\u00ef\u00a7\u00c6K\u001f@\u00db\u00f9~j\u00bc\u00f4\u0012\u00c0\u00d1\"\u00db\u00f9~\u00ea\"@'1\b\u00ac\u001cZ\"@\u00a9\u00c6K7\u0089A\u00fe\u00bf?5^\u00baI\u00cc\"@\u00db\u00f9~j\u00bc\u00b4\"@\u00fa~j\u00bct\u0093\u00ec\u00bf\u008e\u0097n\u0012\u0083@!@\b\u00ac\u001cZd;#@\u00afG\u00e1z\u0014\u00ae\u0006\u00c0\u0081\u0095C\u008blg\u001f@\u00f2\u00d2Mb\u0010\u0098$@\u00aa\u00f1\u00d2Mb\u0010\u0004\u00c0m\u00e7\u00fb\u00a9\u00f1\u00d2!@\u0096C\u008bl\u00e7{\"@\u00cd\u00cc\u00cc\u00cc\u00ccL\u0010\u00c0\u0011X9\u00b4\u00c86-@|\u0014\u00aeG\u00e1z\u0017@\u0012\u0083\u00c0\u00ca\u00a1E\u00fc\u00bf\u00a5p=\n\u00d7\u00e3-@\u009b\u0099\u0099\u0099\u0099\u0099\u0018@\u00db\u00f9~j\u00bct\u0005\u00c0`\u00e5\u00d0\"\u00dby.@\u00be\u009f\u001a/\u00dd$\u0013@\u00b5\u00c8v\u00be\u009f\u001a\u00ef\u00bf\u00d2\"\u00db\u00f9~*-@P\u008d\u0097n\u0012\u0083\u000f@\u00cb\u00a1E\u00b6\u00f3\u00fd\u00e8\u00bf\u00c9v\u00be\u009f\u001a\u00af/@\u00cav\u00be\u009f\u001a/\u0015@\u0080j\u00bct\u0093\u0018\u00d4?\u00c3\u00f5(\\\u008fb0@^\u00baI\f\u0002\u00ab\u0010@,\u0087\u0016\u00d9\u00ce\u00f7\u00fd\u00bf\u00c1\u00ca\u00a1E\u00b6\u00f3/@\u00cav\u00be\u009f\u001a/\u000f@\u00b8\u001e\u0085\u00ebQ\u00b8\u0006\u00c0\u0014\u00aeG\u00e1z\u00141@\u008bl\u00e7\u00fb\u00a9\u00f1\u0013@q=\n\u00d7\u00a3p\u0000\u00c0\u00afG\u00e1z\u0014./@X9\u00b4\u00c8v>\u0012@\u00dd$\u0006\u0081\u0095C\u00f5?p\u0012\u0083\u00c0\u00ca\u00011@\u00aeG\u00e1z\u0014\u00ae\u0007@\u00b6\u00f3\u00fd\u00d4x\u00e9\u00f2\u00bffffff&0@\u00b8\u001e\u0085\u00ebQ\u00b8\u0003@\b\u00ac\u001cZd;\u00e7\u00bf\u0081\u0095C\u008bl\u00a71@\u009d\u00c4 \u00b0rh\t@sh\u0091\u00ed|?\u00d5\u00bf\u00d7\u00a3p=\n\u00971@\u00f4\u00fd\u00d4x\u00e9&\u0000@y\u00e9&1\b\u00ac\u0001\u00c0F\u00b6\u00f3\u00fd\u00d4\u00f80@b\u0010X9\u00b4\u00c8\u00f0?\u0096C\u008bl\u00e7\u00fb\u0004\u00c0F\u00b6\u00f3\u00fd\u00d4\u00b82@\u00be\u009f\u001a/\u00dd$\u0002@\u0004V\u000e-\u00b2\u009d\u0005\u00c0\u000e-\u00b2\u009d\u00ef\u00870@\u009c\u00c4 \u00b0r\u00e8\u0019@\u00e8\u00fb\u00a9\u00f1\u00d2M\u00d2?-\u00b2\u009d\u00ef\u00a7\u00860@\u0088\u0016\u00d9\u00ce\u00f7S\u001c@(1\b\u00ac\u001cZ\u00e0\u00bf\u00ecQ\u00b8\u001e\u0085+1@\r\u0002+\u0087\u0016\u00d9\u001b@B`\u00e5\u00d0\"\u00db\u00f7?\u00d4Mb\u0010X\u00b91@7\u0089A`\u00e5P\u0018@\u00b6\u00f3\u00fd\u00d4x\u00e9\u00fc?B`\u00e5\u00d0\"\u001b0@\u00d5x\u00e9&1\b\u001e@!\u00b0rh\u0091\u00ed\u0003@\u0087\u0016\u00d9\u00ce\u00f7\u00132@\u00a0\u001a/\u00dd$F @u\u0093\u0018\u0004V\u000e\u00f1?\f\u0002+\u0087\u0016y1@\u00f4\u00fd\u00d4x\u00e9\u00e6!@\u00cav\u00be\u009f\u001a/\u00e5?\u007fj\u00bct\u0093X0@\u00d5x\u00e9&1\b\u001e@d;\u00dfO\u008d\u0097\r@\u0012\u0083\u00c0\u00ca\u00a1\u00e52@\u00a8\u00c6K7\u0089A!@\u00ecQ\u00b8\u001e\u0085\u00eb\u0001@\u00a6\u009b\u00c4 \u00b0\u00923@\u00a9\u00c6K7\u0089A\u001f@\b\u00ac\u001cZd;\u0004@\u00dd$\u0006\u0081\u0095#2@\u00be\u009f\u001a/\u00dd\u00e4!@/\u00dd$\u0006\u0081\u0095\u0007@\u00dd$\u0006\u0081\u0095\u00a33@.\u00b2\u009d\u00ef\u00a7\u00c6\"@\u00aeG\u00e1z\u0014\u00ae\u00ff?\n\u00d7\u00a3p=\n3@\u0000\u0000\u0000\u0000\u0000\u0000\u001f@Y9\u00b4\u00c8v\u00be\u00af?\u00f0\u00a7\u00c6K7\u00892@(1\b\u00ac\u001c\u00da\u001e@\u0003+\u0087\u0016\u00d9\u00ce\u00e7\u00bfgffff\u00e6-@\u00bdt\u0093\u0018\u0004\u00d6\u001f@\t\u00ac\u001cZd;\u00ff?T\u00e3\u00a5\u009b\u00c4\u00e0-@&\u0006\u0081\u0095C\u008b\u001f@\u00bf\u009f\u001a/\u00dd$\u00ee?\u00bct\u0093\u0018\u0004\u0096+@\u00a6\u009b\u00c4 \u00b0\u00b2 @\u0098n\u0012\u0083\u00c0\u00ca\u0005@\u00e8\u00fb\u00a9\u00f1\u00d2M,@Nb\u0010X94\"@\u009c\u00c4 \u00b0rh\u000b@th\u0091\u00ed|?*@\u0086\u00ebQ\u00b8\u001e\u0005\u001d@\u00a3E\u00b6\u00f3\u00fd\u00d4\f@Zd;\u00dfO\u00cd)@d;\u00dfO\u008d\u0017\"@\u001eZd;\u00dfO\u00fb?h\u0091\u00ed|?5)@\u001dZd;\u00df\u00cf @(1\b\u00ac\u001cZ\u00ec?q=\n\u00d7\u00a3\u00f0'@\u00d1\"\u00db\u00f9~\u00aa\"@p\u0012\u0083\u00c0\u00ca\u00a1\u0001@\u00b7\u00f3\u00fd\u00d4x\u00e9*@\u009e\u00ef\u00a7\u00c6K\u00b7#@\u00c1\u00ca\u00a1E\u00b6\u00f3\u00f3?x\u00be\u009f\u001a/\u009d)@\u000e-\u00b2\u009d\u00ef'\u001d@H\u00e1z\u0014\u00aeG\u0013@\u0096C\u008bl\u00e7\u00fb)@\u00e2z\u0014\u00aeGa\u0018@Nb\u0010X9\u00b4\u0007@\u009a\u0099\u0099\u0099\u0099Y*@D\u008bl\u00e7\u00fb)\u0018@[d;\u00dfO\u008d\u00ff?\"\u00b0rh\u0091\u00ed(@7\u0089A`\u00e5P\u0013@p\u0012\u0083\u00c0\u00ca\u00a1\u000b@ \u0085\u00ebQ\u00b8\u001e'@\u00b6\u00f3\u00fd\u00d4x\u00e9\u0013@433333\u0010@|\u0014\u00aeG\u00e1\u00fa*@\u008f\u00c2\u00f5(\\\u008f\u0010@\u00f6(\\\u008f\u00c2u\u0011@~?5^\u00baI(@\u0092\u00ed|?5^\u000f@m\u00e7\u00fb\u00a9\u00f1\u00d2\u0001@\u0019\u0004V\u000e-\u00f2)@\\\u008f\u00c2\u00f5(\\\u000e@<\u00dfO\u008d\u0097n\u00f8?\u00f7(\\\u008f\u00c2\u00f5'@/\u00dd$\u0006\u0081\u0095\u0007@\u00aeG\u00e1z\u0014\u00ae\u0005@\u00fa~j\u00bctS*@F\u00b6\u00f3\u00fd\u00d4x\u000e@\u00baI\f\u0002+\u0007\u0016@\u0006\u0081\u0095C\u008b\u00ec%@ffffff\u0011@\u0006\u0081\u0095C\u008bl\u00f5?\u0003+\u0087\u0016\u00d9\u000e$@{\u0014\u00aeG\u00e1z\u0015@\u0097C\u008bl\u00e7\u00fb\u00fb?P\u008d\u0097n\u0012C$@7\u0089A`\u00e5P\u0017@b\u0010X9\u00b4\u00c8\u0005@\u0017\u00d9\u00ce\u00f7Sc%@\u00c9v\u00be\u009f\u001a/\r@`\u00e5\u00d0\"\u00db\u00f9\u00be?\r\u0002+\u0087\u0016\u00d9&@\u00dfO\u008d\u0097n\u0012\u0007@\u00c3\u00f5(\\\u008f\u00c2\u00b5\u00bf\u00c9v\u00be\u009f\u001a\u00af!@X9\u00b4\u00c8v>\u0016@\u0011X9\u00b4\u00c8v\u00ee?\u0014\u00aeG\u00e1zT @\u00b9\u001e\u0085\u00ebQ8\u0019@[d;\u00dfO\u008d\u00f5??5^\u00baIL#@\u00c4\u00f5(\\\u008fB\u0010@/\u00dd$\u0006\u0081\u0095\u00e7\u00bf\u0000\u0000\u0000\u0000\u0000\u0000#@\u00a8\u00c6K7\u0089A\f@&\u0006\u0081\u0095C\u008b\u00fa\u00bf\u00e7\u00fb\u00a9\u00f1\u00d2\u008d!@\u00b2\u009d\u00ef\u00a7\u00c6K\u0014@\\\u008f\u00c2\u00f5(\\\u00d7\u00bf\u00ef|?5^\u00ba\u001f@\u009f\u00ef\u00a7\u00c6K7\u0015@+\u0087\u0016\u00d9\u00ce\u00f7\u00ef\u00bfH\u00e1z\u0014\u00ae\u0087-@\u00d5x\u00e9&1\u0088\u0010@\u0000\u0000\u0000\u0000\u0000\u0000\u0010@\u00d4Mb\u0010X\u00f9-@\u00bct\u0093\u0018\u0004V\u0011@\u00e8\u00fb\u00a9\u00f1\u00d2M\b@\u0001\u0000\u0000\u0000\u0000\u00c0/@\u00b8\u001e\u0085\u00ebQ\u00b8\r@$\u00db\u00f9~j\u00bc\u0013@K\f\u0002+\u0087V/@\u00baI\f\u0002+\u0087\u0005@\u00f6(\\\u008f\u00c2\u00f5\u0014@\u00b8\u001e\u0085\u00ebQ\u00f8/@\u00fc\u00a9\u00f1\u00d2M\u00e2\u0011@\u0090\u00c2\u00f5(\\\u000f\u0019@9\u00b4\u00c8v\u00be\u001f1@\u00f2\u00d2Mb\u0010X\r@\u0000\u0000\u0000\u0000\u0000\u0080\u0010@Zd;\u00dfO\u00ed0@\u00c7K7\u0089A`\b@\u00a0\u001a/\u00dd$\u0006\n@\u00a0\u001a/\u00dd$F1@V\u000e-\u00b2\u009d\u00ef\u0012@\u00e4\u00a5\u009b\u00c4 \u00b0\u000f@\u0091\u00ed|?5\u00de/@)\\\u008f\u00c2\u00f5(\u000e@\u00a4p=\n\u00d7#\u001d@\u00baI\f\u0002+G2@\u001b/\u00dd$\u0006\u0081\u0007@\u00b8\u001e\u0085\u00ebQ\u00b8\u0013@\u00dd$\u0006\u0081\u0095\u00e31@\u0006\u0081\u0095C\u008bl\u0001@\u00edQ\u00b8\u001e\u0085k\u0016@h\u0091\u00ed|?\u00f52@\u00c6 \u00b0rh\u0091\u0003@+\u0087\u0016\u00d9\u00ce\u00f7\u0010@!\u00b0rh\u0091-3@\u008e\u0097n\u0012\u0083\u00c0\u000e@\u00a3E\u00b6\u00f3\u00fd\u00d4\u0016@\u00d1\"\u00db\u00f9~*4@sh\u0091\u00ed|?\u000b@x\u00be\u009f\u001a/]\u0019@\u0093\u0018\u0004V\u000e\u00cd4@\u00d0\u00f7S\u00e3\u00a5\u001b\u0010@.\u00b2\u009d\u00ef\u00a7F\u001b@X9\u00b4\u00c8v^4@\u00bct\u0093\u0018\u0004V\u0003@\u00e6\u00d0\"\u00db\u00f9\u00fe\u0018@\u00f6(\\\u008f\u00c2\u00f52@T\u00e3\u00a5\u009b\u00c4 \u0014@\u00c6 \u00b0rh\u0011\u0017@\u008bl\u00e7\u00fb\u00a9\u00f1/@!\u00b0rh\u0091m\u0017@U\u00e3\u00a5\u009b\u00c4 \u0019@M7\u0089A`\u00e5/@\u00b4\u00c8v\u00be\u009f\u009a\u0019@X9\u00b4\u00c8v\u00be\u0015@\u00baI\f\u0002+\u00c7/@\u00b2\u009d\u00ef\u00a7\u00c6K\u001a@R\u00b8\u001e\u0085\u00ebQ\u001e@u\u0093\u0018\u0004V\u00ce0@\u00b5\u00c8v\u00be\u009f\u001a\u001a@\u00f2\u00d2Mb\u0010X @\u00c6 \u00b0rh\u0091/@\u00b0rh\u0091\u00ed|\u001e@\u001eZd;\u00dfO\u001d@Zd;\u00dfO\u008d-@\u00f0\u00a7\u00c6K7\u0089\u0018@1\b\u00ac\u001cZ\u00e4 @)\\\u008f\u00c2\u00f5(.@\u0014\u00aeG\u00e1z\u0014\u0017@V\u000e-\u00b2\u009d/#@]\u008f\u00c2\u00f5(\u001c+@\u0089A`\u00e5\u00d0\u00a2\u0017@\u00c9v\u00be\u009f\u001a\u00af\u001f@\u00c3\u00f5(\\\u008f\u00c2*@\b\u00ac\u001cZd;\u0018@>\n\u00d7\u00a3p\u00bd\u001b@\u00a8\u00c6K7\u0089\u00c1(@=\n\u00d7\u00a3p=\u0016@\u00f8S\u00e3\u00a5\u009b\u0084!@\u0007\u0081\u0095C\u008b,(@\u0004V\u000e-\u00b2\u001d\u0019@\u00baI\f\u0002+\u0007#@\"\u00b0rh\u0091-)@\u00c3\u00f5(\\\u008f\u00c2\u0010@!\u00b0rh\u0091\u00ad\"@\u00e6\u00d0\"\u00db\u00f9~&@\u0019\u0004V\u000e-\u00b2\u0016@\u00d4Mb\u0010X9\u001f@\u00fe\u00d4x\u00e9&\u00b1&@H\u00e1z\u0014\u00ae\u00c7\u0013@{\u0014\u00aeG\u00e1\u00fa\u001b@\u0003+\u0087\u0016\u00d9\u008e&@\u009a\u0099\u0099\u0099\u0099\u0099\u001a@\f\u0002+\u0087\u0016Y\u001d@\u008cl\u00e7\u00fb\u00a9\u00f1(@e;\u00dfO\u008d\u0097\u000f@\u00c4\u00f5(\\\u008f\u0002%@+\u0087\u0016\u00d9\u00ce\u00b7#@;\u00dfO\u008d\u0097n\u0015@\u00baI\f\u0002+\u00c7 @\u00e1z\u0014\u00aeG\u00e1#@\u00f6(\\\u008f\u00c2u\u0011@^\u00baI\f\u0002\u00ab!@\u00a8\u00c6K7\u0089A\"@P\u008d\u0097n\u0012\u0083\u0015@\u00d8\u00a3p=\nW\u001e@X9\u00b4\u00c8v\u00be\"@\u00a5p=\n\u00d7#\u001a@\u00a0\u001a/\u00dd$\u0086#@m\u00e7\u00fb\u00a9\u00f1\u0092!@\u0091\u00ed|?5\u00de\u001f@\u00cf\u00f7S\u00e3\u00a5\u009b!@;\u00dfO\u008d\u0097n!@\u0098n\u0012\u0083\u00c0\u008a!@\u008f\u00c2\u00f5(\\\u000f#@-\u00b2\u009d\u00ef\u00a7\u0006#@\u00a4p=\n\u00d7c @%\u0006\u0081\u0095C\u000b @Zd;\u00dfO\r\u001f@\u009a\u0099\u0099\u0099\u0099\u0019\u001f@33333\u00f3 @\u00f4\u00fd\u00d4x\u00e9\u00e6)@\u001a\u0004V\u000e-\u00b2\t@\u00e9&1\b\u00ac\u001c!@\u001dZd;\u00dfO*@\u00e7\u00fb\u00a9\u00f1\u00d2M\u000b@\u00c8K7\u0089A`\u001e@\u00c8K7\u0089A\u00a0*@u\u0093\u0018\u0004V\u000e\u00fd?b\u0010X9\u00b4\b\"@\u00c2\u00ca\u00a1E\u00b6\u00f3(@\u000e-\u00b2\u009d\u00ef\u00a7\u00f6?V\u000e-\u00b2\u009d/#@<\u00dfO\u008d\u0097\u00ee,@C`\u00e5\u00d0\"\u00db\u00fb?9\u00b4\u00c8v\u00be\u001f$@\u0011X9\u00b4\u00c8\u00f6*@\u00b8\u001e\u0085\u00ebQ\u00b8\u00ee?\u00bdt\u0093\u0018\u0004\u00d6\u001e@~?5^\u00baI)@,\u0087\u0016\u00d9\u00ce\u00f7\u00eb?\u00c6 \u00b0rh\u0011\u001c@\u00cav\u00be\u009f\u001a\u00af,@\u00d9\u00ce\u00f7S\u00e3\u00a5\u00f5?\u0004V\u000e-\u00b2\u009d\u001c@Nb\u0010X9\u00b4,@)\\\u008f\u00c2\u00f5(\u00f2?\u00b2\u009d\u00ef\u00a7\u00c6K&@\u00fb~j\u00bct\u00d3+@\u00fc\u00a9\u00f1\u00d2Mb\u00e0\u00bfP\u008d\u0097n\u0012\u0003 @\u0088\u0016\u00d9\u00ce\u00f7\u0093-@\u00e0O\u008d\u0097n\u0012\u00db\u00bfZd;\u00dfOM!@\u000e-\u00b2\u009d\u00ef\u00a7)@433333\u00f5\u00bf\u0098n\u0012\u0083\u00c0J!@\u00ecQ\u00b8\u001e\u0085k)@\u0004V\u000e-\u00b2\u009d\u00ef\u00bf \u0085\u00ebQ\u00b8^#@k\u00bct\u0093\u0018\u0084*@\u00baI\f\u0002+\u0087\u0002\u00c05^\u00baI\f\u0082!@\u00c5 \u00b0rh\u00d1'@\u00d9\u00ce\u00f7S\u00e3\u00a5\u00f3\u00bf\u0089A`\u00e5\u00d0\" @b\u0010X9\u00b4\u00c8,@R\u00b8\u001e\u0085\u00ebQ\u00f2\u00bf\u00b4\u00c8v\u00be\u009f\u009a\u001a@i\u0091\u00ed|?u-@\u001eZd;\u00dfO\u0001\u00c0\u00db\u00f9~j\u00bct\u001b@\u0083\u00c0\u00ca\u00a1E6+@\u00a4p=\n\u00d7\u00a3\u00f2\u00bf\u0004V\u000e-\u00b2\u009d\u0017@\u00ecQ\u00b8\u001e\u0085+.@\u0011X9\u00b4\u00c8v\u00de\u00bfd;\u00dfO\u008d\u0097\u0018@h\u0091\u00ed|?5/@9\u00b4\u00c8v\u00be\u009f\u0003@\u00cb\u00a1E\u00b6\u00f3\u00bd#@\u00cb\u00a1E\u00b6\u00f3=/@\u00ecQ\u00b8\u001e\u0085\u00eb\u0007@\u00b2\u009d\u00ef\u00a7\u00c6\u000b\"@\u00db\u00f9~j\u00bc\u00b40@\u00cb\u00a1E\u00b6\u00f3\u00fd\u0003@\u009e\u00ef\u00a7\u00c6K\u00b7%@\u0087\u0016\u00d9\u00ce\u00f7\u00f30@\u0001\u0000\u0000\u0000\u0000\u0000\u00f8?\u008cl\u00e7\u00fb\u00a9q&@}?5^\u00baI0@\u00ef|?5^\u00ba\t@\u0097C\u008bl\u00e7;(@}?5^\u00ba\u00e91@.\u00b2\u009d\u00ef\u00a7\u00c6\b@2\b\u00ac\u001cZd$@}?5^\u00ba\u00c92@\u0093\u0018\u0004V\u000e-\n@\u0017\u00d9\u00ce\u00f7S\u00a3%@\u00bct\u0093\u0018\u0004\u00961@\u0098n\u0012\u0083\u00c0\u00ca\u000f@b\u0010X9\u00b4H#@\u0084\u00c0\u00ca\u00a1E\u00f60@\u001b/\u00dd$\u0006\u0081\u0007@\u00d5x\u00e9&1H*@\u00bct\u0093\u0018\u0004V2@\u00a8\u00c6K7\u0089A\u0001@\u00d8\u00a3p=\n\u0017\"@\u0012\u0083\u00c0\u00ca\u00a1\u00851@\u009c\u00c4 \u00b0rh\u0000@\u00f4\u00fd\u00d4x\u00e9\u00a6 @\u00ac\u001cZd;\u001f3@V\u000e-\u00b2\u009d\u00ef\u0005@\u0081\u0095C\u008bl'!@\u00c1\u00ca\u00a1E\u00b6\u00d32@\u0089A`\u00e5\u00d0\"\u00eb?8\u0089A`\u00e5\u0010#@\u00b4\u00c8v\u00be\u009f\u00fa1@\\\u008f\u00c2\u00f5(\\\u00cf?`\u00e5\u00d0\"\u00db\u00b9#@\u00dfO\u008d\u0097n\u00923@\u008f\u00c2\u00f5(\\\u008f\u00f0?\u0091\u00ed|?5\u009e$@~?5^\u00ba\u00893@\u00a8\u00c6K7\u0089A\u00c0?7\u0089A`\u00e5\u00d0 @<\u00dfO\u008d\u0097n4@j\u00bct\u0093\u0018\u0004\u00de?\u00aeG\u00e1z\u0014. @X9\u00b4\u00c8v\u00de1@/\u00dd$\u0006\u0081\u0095\u00f5\u00bffffff& @.\u00b2\u009d\u00ef\u00a7\u00861@`\u00e5\u00d0\"\u00db\u00f9\u0000\u00c0\u0004V\u000e-\u00b2\u001d\u001e@Zd;\u00dfOm1@L7\u0089A`\u00e5\u00f0\u00bfT\u00e3\u00a5\u009b\u00c4\u00e0!@+\u0087\u0016\u00d9\u00ce\u00b73@\u0012\u0083\u00c0\u00ca\u00a1E\u00f8\u00bf\u00e7\u00fb\u00a9\u00f1\u00d2M\u001b@\u00e6\u00d0\"\u00db\u00f9\u009e4@\u00fc\u00a9\u00f1\u00d2Mb\u00f2\u00bfNb\u0010X94\u001a@\u00e5\u00d0\"\u00db\u00f9~3@\u0002+\u0087\u0016\u00d9\u00ce\u0003\u00c0\u0003+\u0087\u0016\u00d9N\u001a@\u00b6\u00f3\u00fd\u00d4x\t3@\u00d1\"\u00db\u00f9~j\u00ec\u00bf\u00d0\u00f7S\u00e3\u00a5\u001b\u001f@0\u00dd$\u0006\u0081\u0095.@\u00a2E\u00b6\u00f3\u00fdT\u0010@\u00fc\u00a9\u00f1\u00d2M\"(@Zd;\u00dfO\u008d-@\u00a8\u00c6K7\u0089\u00c1\u0010@\u00f4\u00fd\u00d4x\u00e9f&@=\n\u00d7\u00a3p}-@`\u00e5\u00d0\"\u00db\u00f9\u0012@\u00a4p=\n\u00d7c*@>\n\u00d7\u00a3p\u00fd.@`\u00e5\u00d0\"\u00dby\u0014@\u00baI\f\u0002+\u00c7+@5^\u00baI\f\u0082+@\u00b2\u009d\u00ef\u00a7\u00c6K\u000f@\u0085\u00ebQ\u00b8\u001e\u0005,@\u001a\u0004V\u000e-2,@\u00b3\u009d\u00ef\u00a7\u00c6K\u0018@\u00aa\u00f1\u00d2Mb\u0090)@\u00fe\u00d4x\u00e9&\u00b1*@\u009a\u0099\u0099\u0099\u0099\u0099\u0017@\u0098n\u0012\u0083\u00c0\n(@8\u0089A`\u00e5\u00d0-@\u00f8S\u00e3\u00a5\u009b\u00c4\u001a@\u00f0\u00a7\u00c6K7\u00c9(@\u00a9\u00c6K7\u0089\u0081+@`\u00e5\u00d0\"\u00db\u00f9\u000f@6^\u00baI\f\u0082.@\u0012\u0083\u00c0\u00ca\u00a1\u00c5*@\u00ea&1\b\u00ac\u009c\u001b@th\u0091\u00ed|\u00bf+@8\u0089A`\u00e5P)@8\u0089A`\u00e5P\u0019@9\u00b4\u00c8v\u00be\u00df,@@5^\u00baIL,@\u00b2\u009d\u00ef\u00a7\u00c6\u00cb\u001c@r=\n\u00d7\u00a30-@\u00ecQ\u00b8\u001e\u0085\u00ab)@\u00e9&1\b\u00ac\\ @\u001a\u0004V\u000e-r*@ \u0085\u00ebQ\u00b8\u001e(@\u00ecQ\u00b8\u001e\u0085k\u001f@8\u0089A`\u00e5\u0010)@\u0094\u0018\u0004V\u000e-+@P\u008d\u0097n\u0012C!@\u00d2\"\u00db\u00f9~*)@G\u00b6\u00f3\u00fd\u00d4x(@\u00c1\u00ca\u00a1E\u00b63\"@G\u00b6\u00f3\u00fd\u00d4x,@\u009d\u00c4 \u00b0r\u00e8&@D\u008bl\u00e7\u00fb)!@\u007fj\u00bct\u0093\u0098-@\u007fj\u00bct\u0093X'@\u00ee|?5^\u00ba#@^\u00baI\f\u0002k+@\u00f1\u00a7\u00c6K7\u0089*@\u00c3\u00f5(\\\u008f\u0082#@\u00bct\u0093\u0018\u0004\u0016.@\u0005V\u000e-\u00b2\u009d)@*\\\u008f\u00c2\u00f5\u00e8$@\u00cb\u00a1E\u00b6\u00f3=/@\u00fa~j\u00bct\u0093+@\u00a8\u00c6K7\u0089A\"@&\u0006\u0081\u0095CK/@\u00b9\u001e\u0085\u00ebQ\u00b8+@9\u00b4\u00c8v\u00be\u009f$@L7\u0089A`\u00e5,@\u00d2\"\u00db\u00f9~\u00aa)@0\u00dd$\u0006\u0081\u0095\n@\u00baI\f\u0002+\u0087*@=\n\u00d7\u00a3p\u00bd)@\u00fc\u00a9\u00f1\u00d2Mb\f@\u00e8\u00fb\u00a9\u00f1\u00d2\u008d(@\u0019\u0004V\u000e-r'@\n\u00d7\u00a3p=\n\u0004@gffff\u00a6+@\u0007\u0081\u0095C\u008b\u00ec&@\u00b2\u009d\u00ef\u00a7\u00c6K\u0007@\u00b4\u00c8v\u00be\u009f\u009a-@\u0006\u0081\u0095C\u008b\u00ec'@\u00fe\u00d4x\u00e9&1\u00f0?S\u00b8\u001e\u0085\u00ebQ,@*\\\u008f\u00c2\u00f5\u00e8$@\u00cf\u00f7S\u00e3\u00a5\u009b\u0004@\u0083\u00c0\u00ca\u00a1E\u00f6)@\u00aeG\u00e1z\u0014.%@\u00aeG\u00e1z\u0014\u00ae\u0001@\u00c9v\u00be\u009f\u001a\u00ef'@\u00ecQ\u00b8\u001e\u0085k#@\u00cav\u00be\u009f\u001a/\u00ff?_\u00baI\f\u0002\u00eb*@\f\u0002+\u0087\u0016\u0099&@\u000e-\u00b2\u009d\u00ef\u00a7\u00de?Nb\u0010X9\u00f4-@H\u00e1z\u0014\u00ae\u00c7#@Y9\u00b4\u00c8v\u00be\u000f@\u0006\u0081\u0095C\u008b\u00ac)@\u0093\u0018\u0004V\u000e-%@\u0017\u00d9\u00ce\u00f7Sc\u0012@\u00c6 \u00b0rh\u0091(@{\u0014\u00aeG\u00e1\u00fa @v\u0093\u0018\u0004V\u000e\u000e@\u0006\u0081\u0095C\u008bl(@\u0098n\u0012\u0083\u00c0J @\u001c/\u00dd$\u0006\u0001\u0013@8\u0089A`\u00e5\u00d0'@\u0000\u0000\u0000\u0000\u0000\u0000\u001f@\u00a2E\u00b6\u00f3\u00fd\u00d4\n@\u00a2E\u00b6\u00f3\u00fd\u00d4)@-\u00b2\u009d\u00ef\u00a7\u0006!@\u00e6\u00d0\"\u00db\u00f9~\b@\u00a9\u00c6K7\u0089\u00c1&@\u0000\u0000\u0000\u0000\u0000\u0080#@;\u00dfO\u008d\u0097n\u0012@\u001c/\u00dd$\u0006\u0081,@\u00b8\u001e\u0085\u00ebQx%@sh\u0091\u00ed|\u00bf\u0012@\u00ecQ\u00b8\u001e\u0085k-@\u0017\u00d9\u00ce\u00f7Sc\"@!\u00b0rh\u0091\u00ed\u000f@\u000f-\u00b2\u009d\u00ef\u00e7-@o\u0012\u0083\u00c0\u00ca\u00a1\"@\u009c\u00c4 \u00b0rh\u0016@i\u0091\u00ed|?u,@\u00f9S\u00e3\u00a5\u009b\u0004*@ \u0085\u00ebQ\u00b8\u001e\u00dd?1\b\u00ac\u001cZ$+@$\u00db\u00f9~j\u00fc*@\u00e2z\u0014\u00aeG\u00e1\u00ee?<\u00dfO\u008d\u0097\u00ae)@\u00dd$\u0006\u0081\u0095C+@433333\u00eb\u00bfP\u008d\u0097n\u0012\u00c3+@\u00f8S\u00e3\u00a5\u009b\u00c4,@}?5^\u00baI\u00f0\u00bf,\u0087\u0016\u00d9\u00ce7*@\u0093\u0018\u0004V\u000e-)@1\b\u00ac\u001cZd\u0000\u00c0\u00fc\u00a9\u00f1\u00d2M\u00e2+@\u00fa~j\u00bct\u00d3,@\u0081\u0095C\u008bl\u00e7\u00e7\u00bf'1\b\u00ac\u001cZ.@@5^\u00baI\u00cc-@\u0019\u0004V\u000e-\u00b2\u00cd?&\u0006\u0081\u0095C\u008b.@\u0087\u0016\u00d9\u00ce\u00f7\u0093+@\u00d8\u00a3p=\n\u00d7\u00eb\u00bf\u001eZd;\u00df\u000f0@_\u00baI\f\u0002+(@\u00d7\u00a3p=\n\u00d7\u0003\u00c0\u0083\u00c0\u00ca\u00a1E\u00f6-@\u00b2\u009d\u00ef\u00a7\u00c6\u000b/@\u00a0\u001a/\u00dd$\u0006\u00fd\u00bf\u00ef|?5^\u00ba.@-\u00b2\u009d\u00ef\u00a7\u0086/@\u00a6\u009b\u00c4 \u00b0r\u0005\u00c0\u00cf\u00f7S\u00e3\u00a5\u001b-@Zd;\u00dfO\r0@d;\u00dfO\u008d\u0097\u00fc\u00bfm\u00e7\u00fb\u00a9\u00f1r0@I\u00e1z\u0014\u00aeG(@%\u0006\u0081\u0095C\u008b\u0003\u00c0\u0081\u0095C\u008blg)@[d;\u00dfOM)@j\u00bct\u0093\u0018\u0004\u0001\u00c0b\u0010X9\u00b4\u00c8'@+\u0087\u0016\u00d9\u00ce7&@\u00e9&1\b\u00ac\u001c\f\u00c0V\u000e-\u00b2\u009d/)@|\u0014\u00aeG\u00e1\u00fa$@\u00fa~j\u00bct\u0093\u000b\u00c0\u0096C\u008bl\u00e7\u00fb*@\u00e7\u00fb\u00a9\u00f1\u00d2\u008d'@%\u0006\u0081\u0095C\u008b\u0013\u00c0-\u00b2\u009d\u00ef\u00a7F)@\u0084\u00c0\u00ca\u00a1Ev$@th\u0091\u00ed|?\n\u00c0w\u00be\u009f\u001a/\u009d&@\u00aa\u00f1\u00d2Mb\u00d0%@\u000e-\u00b2\u009d\u00ef\u00a7\t\u00c0^\u00baI\f\u0002\u00eb$@\u0002+\u0087\u0016\u00d9N)@\u00ecQ\u00b8\u001e\u0085k\u0014\u00c01\b\u00ac\u001cZ\u00a4'@1\b\u00ac\u001cZ\u00e4\"@\u001f\u0085\u00ebQ\u00b8\u001e\u0000\u00c0^\u00baI\f\u0002\u00ab&@\u00fc\u00a9\u00f1\u00d2M\"\"@333333\u00fd\u00bfr=\n\u00d7\u00a3\u00b0(@\u00be\u009f\u001a/\u00dd$!@w\u00be\u009f\u001a/\u00dd\u0001\u00c0^\u00baI\f\u0002k%@u\u0093\u0018\u0004V\u008e\"@\u00a4p=\n\u00d7#\u0012\u00c0\u00db\u00f9~j\u00bct&@\u00be\u009f\u001a/\u00dd$!@\u009a\u0099\u0099\u0099\u0099\u0019\u0012\u00c0\u00ad\u001cZd;\u001f(@\u0000\u0000\u0000\u0000\u0000\u0080!@y\u00e9&1\b,\u0011\u00c0\u00c7K7\u0089A\u00a0$@\u00cd\u00cc\u00cc\u00cc\u00cc\u008c#@P\u008d\u0097n\u0012\u0003\u0016\u00c0v\u0093\u0018\u0004VN&@Nb\u0010X94$@\u0017\u00d9\u00ce\u00f7S\u00e3\u00e5\u00bf\u001dZd;\u00df\u00cf%@\u00cav\u00be\u009f\u001a\u00ef$@S\u00b8\u001e\u0085\u00ebQ\u00e8\u00bfj\u00bct\u0093\u0018\u00c4#@\u0006\u0081\u0095C\u008b\u00ac\"@\u001c/\u00dd$\u0006\u0081\u00b5?\u00a8\u00c6K7\u0089\u0001&@\u00cc\u00a1E\u00b6\u00f3\u00bd%@\u001f\u0085\u00ebQ\u00b8\u001e\u00d5\u00bf!\u00b0rh\u0091-'@\u00baI\f\u0002+\u00c7&@\u00cc\u00a1E\u00b6\u00f3\u00fd\u0016\u00c0\u0005V\u000e-\u00b2\u001d+@\u009d\u00c4 \u00b0r\u00a8%@\u008cl\u00e7\u00fb\u00a9q\u0015\u00c0\u0092\u00ed|?5\u009e,@\u00f5\u00fd\u00d4x\u00e9&'@\u00ac\u001cZd;\u00df\u001c\u00c0\u009c\u00c4 \u00b0r\u00e8*@`\u00e5\u00d0\"\u00db\u00b9'@\u00d0\u00f7S\u00e3\u00a5\u009b\u001d\u00c0\u00bct\u0093\u0018\u0004\u00d6(@\u00d2\"\u00db\u00f9~\u00aa$@`\u00e5\u00d0\"\u00db9 \u00c0\t\u00ac\u001cZd{+@\u00fb~j\u00bct\u0093)@\u0006\u0081\u0095C\u008b\u00ec\u001e\u00c0\u0010X9\u00b4\u00c8\u00b6,@\u0002+\u0087\u0016\u00d9\u00ce)@\u00fc\u00a9\u00f1\u00d2M\u00a2!\u00c0\u0089A`\u00e5\u00d0\u00a2,@Nb\u0010X9\u00f4(@;\u00dfO\u008d\u0097\u00ee\u001d\u00c0sh\u0091\u00ed|\u00bf.@H\u00e1z\u0014\u00ae\u00c7$@\u0019\u0004V\u000e-\u00b2\"\u00c0T\u00e3\u00a5\u009b\u00c4`+@M7\u0089A`e,@1\b\u00ac\u001cZd\u001c\u00c0\u00b0rh\u0091\u00ed\u00fc+@\u00ce\u00cc\u00cc\u00cc\u00cc\u00cc,@\\\u008f\u00c2\u00f5(\\\u001d\u00c0\u00f4\u00fd\u00d4x\u00e9\u00e6)@\u00d9\u00ce\u00f7S\u00e3%,@\u00a0\u001a/\u00dd$\u0006\u0018\u00c0\u00ad\u001cZd;\u001f,@\u00d3Mb\u0010Xy.@\u00ecQ\u00b8\u001e\u0085k\u001e\u00c0\u00b0rh\u0091\u00ed\u00fc-@5^\u00baI\f\u00c2-@ffffff\u001e\u00c0\u00d9\u00ce\u00f7S\u00e3\u00050@\u00d0\u00f7S\u00e3\u00a5\u001b/@`\u00e5\u00d0\"\u00db9!\u00c0G\u00b6\u00f3\u00fd\u00d4x-@\u00d1\"\u00db\u00f9~\u008a0@\u0011X9\u00b4\u00c8\u00f6\u001a\u00c043333\u00f3-@h\u0091\u00ed|?51@\u0081\u0095C\u008bl\u00e7\u001c\u00c0\u00e1z\u0014\u00aeGa/@;\u00dfO\u008d\u0097\u000e1@1\b\u00ac\u001cZ\u00e4\u001a\u00c0\u008e\u0097n\u0012\u0083\u0000,@\u0012\u0083\u00c0\u00ca\u00a1E0@;\u00dfO\u008d\u0097n\u0015\u00c0M7\u0089A`\u00e5.@\u0087\u0016\u00d9\u00ce\u00f7S/@\u00da\u00ce\u00f7S\u00e3%\u0015\u00c0o\u0012\u0083\u00c0\u00caA0@\u0083\u00c0\u00ca\u00a1E\u00161@`\u00e5\u00d0\"\u00db\u00f9\u0013\u00c0n\u00e7\u00fb\u00a9\u00f1\u00d2/@\u00f2\u00d2Mb\u0010\u00180@\u0096C\u008bl\u00e7{\u0012\u00c0\u00e0O\u008d\u0097n\u0092-@\u00dc\u00f9~j\u00bct\"@Q\u008d\u0097n\u0012\u0003\u001e\u00c0\u0082\u0095C\u008blg,@\u00baI\f\u0002+\u0087\"@\n\u00d7\u00a3p=\n\u001a\u00c0\u0083\u00c0\u00ca\u00a1E\u00b6,@\u0011X9\u00b4\u00c8\u00f6\u001f@#\u00db\u00f9~j< \u00c0\u00f5\u00fd\u00d4x\u00e9&-@\u00f1\u00a7\u00c6K7\u0089\u001f@j\u00bct\u0093\u0018\u00c4!\u00c0\u0092\u00ed|?5\u009e+@\u00ecQ\u00b8\u001e\u0085\u00eb\u001a@\u00c6 \u00b0rh\u0011\u001d\u00c0\u0099n\u0012\u0083\u00c0\u00ca,@\u00a2E\u00b6\u00f3\u00fd\u0014 @\u0089A`\u00e5\u00d0\u00a2!\u00c0\u00e3\u00a5\u009b\u00c4 \u00f0/@\u00c5 \u00b0rh\u0011\"@\u0093\u0018\u0004V\u000e-\"\u00c0\u00db\u00f9~j\u00bcT0@\u00b9\u001e\u0085\u00ebQ8\u001e@\u0014\u00aeG\u00e1z\u0094#\u00c0\u0085\u00ebQ\u00b8\u001e\u00c5/@\u00b8\u001e\u0085\u00ebQ8\u001b@,\u0087\u0016\u00d9\u00ce\u00f7\u0017\u00c0\u00d4Mb\u0010Xy,@(1\b\u00ac\u001c\u00da\u001d@X9\u00b4\u00c8v> \u00c0\u00cb\u00a1E\u00b6\u00f3\u001d1@\u00e8\u00fb\u00a9\u00f1\u00d2\u00cd\u001f@\u00fc\u00a9\u00f1\u00d2M\u00e2\u001b\u00c0sh\u0091\u00ed|\u007f1@T\u00e3\u00a5\u009b\u00c4 !@\"\u00b0rh\u0091\u00ed\u0019\u00c0\u00ee|?5^\u00da0@\u00f0\u00a7\u00c6K7\t\u001f@M7\u0089A`\u00e5\u001a\u00c0\u00c1\u00ca\u00a1E\u00b6s2@\u008d\u0097n\u0012\u0083@\u001a@\u00c7K7\u0089A !\u00c0\n\u00d7\u00a3p=\u00ca1@\u001b/\u00dd$\u0006\u0001\u0016@X9\u00b4\u00c8v>\u001f\u00c0!\u00b0rh\u0091--@\u008bl\u00e7\u00fb\u00a9\u00f1\u0015@T\u00e3\u00a5\u009b\u00c4\u00a0!\u00c0\u00e9&1\b\u00ac\\-@h\u0091\u00ed|?\u00b5\u0010@\u00d0\u00f7S\u00e3\u00a5\u009b\u001c\u00c0\u0086\u00ebQ\u00b8\u001e\u00c5,@\u00a0\u001a/\u00dd$\u0006\u0011@\u0010X9\u00b4\u00c8v\u001a\u00c0\u00c7K7\u0089A\u00e0*@(1\b\u00ac\u001cZ\u000f@o\u0012\u0083\u00c0\u00ca!\u0018\u00c0m\u00e7\u00fb\u00a9\u00f1\u00d2.@\u0099n\u0012\u0083\u00c0\u00ca\b@\u00d1\"\u00db\u00f9~j \u00c0\u008d\u0097n\u0012\u0083\u00c0,@\u00db\u00f9~j\u00bct\u0001@\u00c4\u00f5(\\\u008f\u00c2\u001e\u00c0\u00aeG\u00e1z\u0014.,@)\\\u008f\u00c2\u00f5(\t@\u00c5 \u00b0rh\u00d1!\u00c0\u0088\u0016\u00d9\u00ce\u00f7\u0013+@P\u008d\u0097n\u0012\u0083\t@,\u0087\u0016\u00d9\u00cew\u0014\u00c0\u00f1\u00a7\u00c6K7\t.@!\u00b0rh\u0091\u00ed\u0006@X9\u00b4\u00c8v\u00be!\u00c0X9\u00b4\u00c8v~/@U\u00e3\u00a5\u009b\u00c4 \u000e@\u00f4\u00fd\u00d4x\u00e9f\"\u00c0\u008aA`\u00e5\u00d0B0@/\u00dd$\u0006\u0081\u0095\u0002@\u0098n\u0012\u0083\u00c0J \u00c0\u00b4\u00c8v\u00be\u009fZ0@\u0082\u0095C\u008bl\u00e7\u00ff?\n\u00d7\u00a3p=J$\u00c0\u009a\u0099\u0099\u0099\u0099Y/@\u00e5\u00d0\"\u00db\u00f9~\u0004@sh\u0091\u00ed|\u007f&\u00c0c\u0010X9\u00b4\b/@\u00b1rh\u0091\u00ed|\u00e7?\u00d1\"\u00db\u00f9~*$\u00c0\u00a6\u009b\u00c4 \u00b0r/@;\u00dfO\u008d\u0097\u00ee\u0011@\u00e2z\u0014\u00aeGa\u0018\u00c0\u008e\u0097n\u0012\u0083\u00a00@\u009e\u00ef\u00a7\u00c6K7\u0014@\u00f1\u00a7\u00c6K7\u0089\u001b\u00c0\u00f0\u00a7\u00c6K7\u00e90@\u00a8\u00c6K7\u0089A\u0011@F\u00b6\u00f3\u00fd\u00d4\u00f8\u0013\u00c0\u00ac\u001cZd;\u009f1@5^\u00baI\f\u0002\n@\u00ea&1\b\u00ac\u001c\u0013\u00c0\u009e\u00ef\u00a7\u00c6K\u00b71@Zd;\u00dfO\r\u0014@\u0005V\u000e-\u00b2\u009d\r\u00c0\u00baI\f\u0002+'1@\u000e-\u00b2\u009d\u00ef\u00a7\u0013@\u00e9&1\b\u00ac\u001c\u0015\u00c0\u00aa\u00f1\u00d2Mb\u00f02@\u00c9v\u00be\u009f\u001a/\u0013@\u00ecQ\u00b8\u001e\u0085k\u0011\u00c0\u001f\u0085\u00ebQ\u00b8~3@\u00ac\u001cZd;\u00df\u0017@\u00a1\u001a/\u00dd$\u0006\u0016\u00c0!\u00b0rh\u0091\u00cd2@sh\u0091\u00ed|\u00bf\u0011@\u000e-\u00b2\u009d\u00ef\u00a7\u0004\u00c0\u00ac\u001cZd;?1@\u0012\u0083\u00c0\u00ca\u00a1\u00c5\u0010@\\\u008f\u00c2\u00f5(\\\u0019\u00c0V\u000e-\u00b2\u009d\u00af3@T\u00e3\u00a5\u009b\u00c4\u00a0\u0012@\u00f7(\\\u008f\u00c2u\u001a\u00c0Nb\u0010X9\u00d44@\u00fc\u00a9\u00f1\u00d2Mb\t@\u00c8K7\u0089A`\u001b\u00c0d;\u00dfO\u008d73@G\u00b6\u00f3\u00fd\u00d4x\u0018@\u00a2E\u00b6\u00f3\u00fd\u00d4\u000e\u00c0L7\u0089A`e0@\u00a0\u001a/\u00dd$\u0006\u001a@j\u00bct\u0093\u0018\u0004\u0013\u00c0\u0098n\u0012\u0083\u00c0*0@\u00b6\u00f3\u00fd\u00d4xi\u001b@\u00f3\u00d2Mb\u0010X\u0006\u00c0\u00da\u00ce\u00f7S\u00e3e/@\u00b4\u00c8v\u00be\u009f\u001a\u001c@\u00f2\u00d2Mb\u0010X\u00ff\u00bfT\u00e3\u00a5\u009b\u00c4`0@\u00dd$\u0006\u0081\u0095\u00c3\u0018@\u008bl\u00e7\u00fb\u00a9\u00f1\u0001\u00c0\u00c8K7\u0089A\u00e0,@\u008cl\u00e7\u00fb\u00a9q @$\u00db\u00f9~j\u00bc\n\u00c0\n\u00d7\u00a3p=J.@T\u00e3\u00a5\u009b\u00c4`!@%\u0006\u0081\u0095C\u008b\u0003\u00c06^\u00baI\f\u0082-@\u008e\u0097n\u0012\u0083\u0000 @\u00d6x\u00e9&1\b\u0010\u00c0\u00ac\u001cZd;\u009f,@\u000e-\u00b2\u009d\u00ef\u00a7\u0019@\u0088\u0016\u00d9\u00ce\u00f7S\u00f1\u00bf\u000e-\u00b2\u009d\u00ef',@\u00d3Mb\u0010X9\"@;\u00dfO\u008d\u0097n\u0010\u00c0\u008d\u0097n\u0012\u0083 0@\u00db\u00f9~j\u00bc4#@\u000e-\u00b2\u009d\u00ef\u00a7\u0014\u00c0~?5^\u00ba\u0089/@\u0000\u0000\u0000\u0000\u0000@\"@\u00e6\u00d0\"\u00db\u00f9~\r\u00c0\u00a0\u001a/\u00dd$F1@U\u00e3\u00a5\u009b\u00c4\u00a0\u0015@h\u0091\u00ed|?5\t\u00c0\u00bbI\f\u0002+\u0087+@\"\u00b0rh\u0091m\u0015@^\u00baI\f\u0002+\u0010\u00c0G\u00b6\u00f3\u00fd\u00d4x,@\u00bct\u0093\u0018\u0004\u00d6\u0011@\u00fc\u00a9\u00f1\u00d2Mb\u0006\u00c0\u00f1\u00a7\u00c6K7I)@\u00b8\u001e\u0085\u00ebQ\u00b8\u0013@J\f\u0002+\u0087\u0016\u0000\u00c0\u00f2\u00d2Mb\u0010\u0018(@\u00aeG\u00e1z\u0014\u00ae\t@\u00d3Mb\u0010X9\u0000\u00c0,\u0087\u0016\u00d9\u00cew*@1\b\u00ac\u001cZd\u0010@\u00fa~j\u00bct\u0013\u0010\u00c0\u0002+\u0087\u0016\u00d9\u008e'@\u009e\u00ef\u00a7\u00c6K7\u000e@\u00ea&1\b\u00ac\u001c\u0013\u00c0\u0010X9\u00b4\u00c8\u00f6(@\u0092\u00ed|?5^\u0006@333333\u00f1\u00bf\u00a3E\u00b6\u00f3\u00fdT)@b\u0010X9\u00b4\u00c8\u0007@B`\u00e5\u00d0\"\u00db\u000e\u00c0)\\\u008f\u00c2\u00f5h%@\u008f\u00c2\u00f5(\\\u008f\u0007@w\u00be\u009f\u001a/\u00dd\u0012\u00c0/\u00dd$\u0006\u0081\u0015$@\u00f1\u00a7\u00c6K7\u0089\u00ff?\u0080j\u00bct\u0093\u0018\r\u00c0x\u00be\u009f\u001a/\u001d&@\u0007\u0081\u0095C\u008bl\t@\u009c\u00c4 \u00b0rh\b\u00c0#\u00db\u00f9~j\u00fc#@\u00fa~j\u00bct\u0013\u0015@d;\u00dfO\u008d\u0017\u0012\u00c0~?5^\u00ba\t&@\u00a2E\u00b6\u00f3\u00fdT\u0017@\u00de$\u0006\u0081\u0095C\r\u00c0\u001f\u0085\u00ebQ\u00b8^%@B`\u00e5\u00d0\"[\u0014@M7\u0089A`\u00e5\u0014\u00c0\u00b6\u00f3\u00fd\u00d4xi$@%\u0006\u0081\u0095C\u008b\u0017@;\u00dfO\u008d\u0097\u00ee\u0013\u00c0\u0015\u00aeG\u00e1z\u0094'@V\u000e-\u00b2\u009d\u00ef\u0005@\n\u00d7\u00a3p=\n\u0003\u00c0\u00fd\u00a9\u00f1\u00d2M\u00e2,@\u0003+\u0087\u0016\u00d9\u00ce\b@333333\t\u00c0|\u0014\u00aeG\u00e1\u00fa-@6^\u00baI\f\u0002\u00fb?\u00b9\u001e\u0085\u00ebQ\u00b8\u00fa\u00bfz\u00e9&1\b,.@\u00e0O\u008d\u0097n\u0012\u00ef?\u0000\u0000\u0000\u0000\u0000\u0000\u00f6\u00bfT\u00e3\u00a5\u009b\u00c4\u00a0,@\u0002+\u0087\u0016\u00d9\u00ce\u0001@\u0093\u0018\u0004V\u000e-\u00d2\u00bf\u0000\u0000\u0000\u0000\u0000\u0000/@\u00d3Mb\u0010X9\u00f2?Nb\u0010X9\u00b4\u0004\u00c0\u00d3Mb\u0010X90@\u00e9&1\b\u00ac\u001c\u00e6?\u00d6x\u00e9&1\b\f\u00c0_\u00baI\f\u0002\u00ab/@\u00f2\u00d2Mb\u0010X\u0000@1\b\u00ac\u001cZd\u0006\u00c0y\u00e9&1\b\u00cc0@\u0099n\u0012\u0083\u00c0\u00ca\u00f7?ffffff\u00e6?43333\u00b3.@Zd;\u00dfO\u008d\u00b7?\u0006\u0081\u0095C\u008bl\u00fd\u00bf\u0089A`\u00e5\u00d0\"1@\u00b8\u001e\u0085\u00ebQ\u00b8\u00e2?\u00e1z\u0014\u00aeG\u00e1\u00f0\u00bfR\u00b8\u001e\u0085\u00eb\u00b11@\u00db\u00f9~j\u00bct\u00d3\u00bf\u00e3\u00a5\u009b\u00c4 \u00b0\u0004\u00c0\u0087\u0016\u00d9\u00ce\u00f7\u00d31@\u00f8S\u00e3\u00a5\u009b\u00c4\u00f0\u00bf\n\u00d7\u00a3p=\n\u00f5\u00bf\u00c7K7\u0089A`0@\u00fe\u00d4x\u00e9&1\u00e8\u00bf\u00bct\u0093\u0018\u0004V\u00de\u00bf{\u0014\u00aeG\u00e1z/@<\u00dfO\u008d\u0097n\u00fa\u00bf\u0014\u00aeG\u00e1z\u0014\u00ee\u00bf\u00c1\u00ca\u00a1E\u00b631@\n\u00d7\u00a3p=\n\u00fd\u00bf\u00f4\u00fd\u00d4x\u00e9&\u0003\u00c0\u0018\u00d9\u00ce\u00f7S#/@\u000e-\u00b2\u009d\u00ef\u00a7\u00f2\u00bf\u00dd$\u0006\u0081\u0095C\u0006\u00c0\u00e0O\u008d\u0097n\u0092-@Nb\u0010X9\u00b4\u00fe\u00bf\u00a9\u00c6K7\u0089A\t\u00c0J\f\u0002+\u0087V0@\u008e\u0097n\u0012\u0083\u00c0\b\u00c0\u00e2z\u0014\u00aeG\u00e1\u00fe\u00bf\u00cav\u00be\u009f\u001a\u00ef-@8\u0089A`\u00e5\u00d0\u0007\u00c0 \u0085\u00ebQ\u00b8\u001e\u00f7\u00bf!\u00b0rh\u0091-,@\u00ce\u00cc\u00cc\u00cc\u00cc\u00cc\f\u00c0\u00b8\u001e\u0085\u00ebQ\u00b8\u00f4\u00bf\u0092\u00ed|?5\u001e/@8\u0089A`\u00e5\u00d0\r\u00c0Ob\u0010X9\u00b4\u0005\u00c0\u0094\u0018\u0004V\u000e\u00ad-@\u008aA`\u00e5\u00d0\"\f@\u00cb\u00a1E\u00b6\u00f3\u00fd\u00c4\u00bf\u0007\u0081\u0095C\u008b\u00ac/@\u0081\u0095C\u008blg\u0010@`\u00e5\u00d0\"\u00db\u00f9\u00ee\u00bf=\n\u00d7\u00a3p\u00fd/@\u0004V\u000e-\u00b2\u009d\u0010@\u0010X9\u00b4\u00c8v\u00f2?R\u00b8\u001e\u0085\u00eb\u00110@.\u00b2\u009d\u00ef\u00a7\u00c6\f@\u00a5p=\n\u00d7\u00a3\u00fc?\u001b/\u00dd$\u0006\u00c10@\u00f6(\\\u008f\u00c2u\u0011@$\u00db\u00f9~j\u00bc\u00fe?\u00ef|?5^z-@\u00e7\u00fb\u00a9\u00f1\u00d2M\u0016@B`\u00e5\u00d0\"\u00db\u00ed?\u00a2E\u00b6\u00f3\u00fd\u00b40@\u0085\u00ebQ\u00b8\u001e\u0085\u0018@\u0086\u00ebQ\u00b8\u001e\u0085\u00cb?{\u0014\u00aeG\u00e1\u001a0@\u00b4\u00c8v\u00be\u009f\u009a\u0015@ffffff\u00e2?{\u0014\u00aeG\u00e1\u00ba1@/\u00dd$\u0006\u0081\u0015\u0010@\u00b1rh\u0091\u00ed|\b@\u00ad\u001cZd;_-@333333\u0019@\u008bl\u00e7\u00fb\u00a9\u00f1\u0000@-\u00b2\u009d\u00ef\u00a7\u00c60@Zd;\u00dfO\u008d\u001c@\\\u008f\u00c2\u00f5(\\\u00ff?\u00d7\u00a3p=\nW0@b\u0010X9\u00b4H\u0013@\u0093\u0018\u0004V\u000e-\u00f4?\u0089A`\u00e5\u00d0b+@\u00dd$\u0006\u0081\u0095\u00c3\u0013@J\f\u0002+\u0087\u0016\u00d1?h\u0091\u00ed|?\u00b5+@\u000e-\u00b2\u009d\u00ef\u00a7\u0013@\u00b8\u001e\u0085\u00ebQ\u00b8\u00fe?\u0094\u0018\u0004V\u000e\u00ad(@\u00c9v\u00be\u009f\u001a\u00af\u0016@\u0004V\u000e-\u00b2\u009d\u0005@m\u00e7\u00fb\u00a9\u00f1\u00d2(@Nb\u0010X9\u00b4\f@\u00be\u009f\u001a/\u00dd$\u0004@\u0012\u0083\u00c0\u00ca\u00a1\u00c5'@\u00fc\u00a9\u00f1\u00d2M\u00e2\u0015@[d;\u00dfO\u008d\u00eb?\u00d8\u00a3p=\n\u00d7&@\u0094\u0018\u0004V\u000e\u00ad\u0013@\u00db\u00f9~j\u00bct\u00b3\u00bf\u001a\u0004V\u000e-\u00f2&@%\u0006\u0081\u0095C\u000b\u001a@\r\u0002+\u0087\u0016\u00d9\u00e6?\u00e3\u00a5\u009b\u00c4 p'@\u00ad\u001cZd;\u00df\u000b@\u000f-\u00b2\u009d\u00ef\u00a7\r@\u00b2\u009d\u00ef\u00a7\u00c6K'@m\u00e7\u00fb\u00a9\u00f1R\u0016@\u0098n\u0012\u0083\u00c0\u00ca\u00f3?\n\u00d7\u00a3p=\u00ca#@\u00c3\u00f5(\\\u008fB\u0018@Nb\u0010X9\u00b4\u0001@\u0098n\u0012\u0083\u00c0\u00ca#@\u00d6x\u00e9&1\b\u001a@\u001f\u0085\u00ebQ\u00b8\u001e\u00c5?\u00fc\u00a9\u00f1\u00d2Mb\"@\u008e\u0097n\u0012\u0083\u00c0\u001d@\u0000\u0000\u0000\u0000\u0000\u0000\u00c0?\u00baI\f\u0002+\u0087#@\u00c6 \u00b0rh\u0011\u001b@\u00cc\u00a1E\u00b6\u00f3\u00fd\u00e0?y\u00e9&1\bl @\u00d3Mb\u0010X9\u0018@\u00be\u009f\u001a/\u00dd$\u00ea\u00bfu\u0093\u0018\u0004V\u000e\"@\u00e9&1\b\u00ac\u001c\u0011@\u00b7\u00f3\u00fd\u00d4x\u00e9\u00f4?\f\u0002+\u0087\u0016\u0019\"@\u00e8\u00fb\u00a9\u00f1\u00d2M\u0012@\u00fc\u00a9\u00f1\u00d2Mb\u00f6?\u00baI\f\u0002+\u0007 @\u0083\u00c0\u00ca\u00a1E\u00b6\r@\u00b0rh\u0091\u00ed|\u0001@\u00cav\u00be\u009f\u001a\u00af\"@\u008e\u0097n\u0012\u0083\u00c0\r@Nb\u0010X9\u00b4\u00d8?!\u00b0rh\u0091m\"@D\u008bl\u00e7\u00fb\u00a9\u0003@X9\u00b4\u00c8v\u00be\u00fb?\"\u00b0rh\u0091\u00ed'@^\u00baI\f\u0002+\u0005@\"\u00b0rh\u0091\u00ed\u00e8?\u00d3Mb\u0010Xy(@6^\u00baI\f\u0002\u00f1?\u0012\u0083\u00c0\u00ca\u00a1E\u0001@}?5^\u00ba\u00c9'@\u0089A`\u00e5\u00d0\"\u00eb?B`\u00e5\u00d0\"\u00db\u0001@fffff\u00a6%@*\\\u008f\u00c2\u00f5(\u00e8?\u00cf\u00f7S\u00e3\u00a5\u009b\u000b@,\u0087\u0016\u00d9\u00ce\u00f7(@\u00b8\u001e\u0085\u00ebQ\u00b8\u009e?\u00dd$\u0006\u0081\u0095C\u00f1?;\u00dfO\u008d\u0097\u00ae(@\u0098n\u0012\u0083\u00c0\u00ca\u00c1?]\u008f\u00c2\u00f5(\\\u00eb?Zd;\u00dfO\u00cd*@;\u00dfO\u008d\u0097n\u00d2?\u009c\u00c4 \u00b0rh\u00c1?F\u00b6\u00f3\u00fd\u00d4\u00b8'@\u00c9v\u00be\u009f\u001a/\u00ad?\u00f8S\u00e3\u00a5\u009bD\u0011@gffff\u00e6'@<\u00dfO\u008d\u0097n\u00f4\u00bf\u00b8\u001e\u0085\u00ebQ\u00b8\u00f6?Nb\u0010X9\u00f4'@R\u00b8\u001e\u0085\u00ebQ\u00fe\u00bf\u00e9&1\b\u00ac\u001c\u00e6?\u0081\u0095C\u008bl'(@\u00db\u00f9~j\u00bct\u00f3?\u00e6\u00d0\"\u00db\u00f9~\f@\u00fe\u00d4x\u00e9&q+@B`\u00e5\u00d0\"\u00db\u00f9?\u00d6x\u00e9&1\b\u0006@d;\u00dfO\u008dW,@\u00cc\u00a1E\u00b6\u00f3\u00fd\u00f0?\u00d9\u00ce\u00f7S\u00e3%\u0013@,\u0087\u0016\u00d9\u00ce\u00f7,@333333\u00b3?\u00e8\u00fb\u00a9\u00f1\u00d2\u00cd\u0014@\u00bbI\f\u0002+\u0087,@\u0087\u0016\u00d9\u00ce\u00f7S\u00ff?\u00b0rh\u0091\u00ed\u00fc\u0017@\\\u008f\u00c2\u00f5(\u001c,@\u00f4\u00fd\u00d4x\u00e9&\u00f3?\u00d1\"\u00db\u00f9~j\u0011@o\u0012\u0083\u00c0\u00ca\u00010@\u00a3E\u00b6\u00f3\u00fd\u00d4\u00f6?\u008f\u00c2\u00f5(\\\u000f\u0015@R\u00b8\u001e\u0085\u00eb\u00910@\u0012\u0083\u00c0\u00ca\u00a1E\u0000@\u00d3Mb\u0010X9\r@\u00d6x\u00e9&1\b0@\u0012\u0083\u00c0\u00ca\u00a1E\u00f6?]\u008f\u00c2\u00f5(\\\u001c@\u00bbI\f\u0002+\u0087+@\u00fa~j\u00bct\u0093x\u00bfG\u00b6\u00f3\u00fd\u00d4x\r@\u00a0\u001a/\u00dd$\u00860@\u00db\u00f9~j\u00bct\u00eb\u00bf\u00c1\u00ca\u00a1E\u00b6s\u0011@\u00b6\u00f3\u00fd\u00d4x\u00a90@F\u00b6\u00f3\u00fd\u00d4x\u00d1\u00bf\u00a3E\u00b6\u00f3\u00fd\u00d4\u0006@\u00b0rh\u0091\u00ed\u00bc/@\u00cb\u00a1E\u00b6\u00f3\u00fd\u00d4?\u00f2\u00d2Mb\u0010X\b@o\u0012\u0083\u00c0\u00ca\u00e11@h\u0091\u00ed|?5\u00f0?Nb\u0010X9\u00b4\u0001@\u00fe\u00d4x\u00e9&\u00b11@\u00fc\u00a9\u00f1\u00d2Mb\u00e8?\u00ac\u001cZd;\u00df\r@{\u0014\u00aeG\u00e1\u009a2@\u008bl\u00e7\u00fb\u00a9\u00f1\u00ea\u00bf\u00e0O\u008d\u0097n\u0012\u0004@\u008bl\u00e7\u00fb\u00a9\u00912@\u00afG\u00e1z\u0014\u00ae\u00fb\u00bfG\u00b6\u00f3\u00fd\u00d4x\u0007@0\u00dd$\u0006\u0081U2@;\u00dfO\u008d\u0097n\u00a2?\u001a\u0004V\u000e-\u00b2\u00e5?\u001c/\u00dd$\u0006\u00a13@\u0090\u00c2\u00f5(\\\u008f\u00ee?\u00c5 \u00b0rh\u0091\u00f1?}?5^\u00ba\u00a93@\u00da\u00ce\u00f7S\u00e3\u00a5\u00bb\u00bfH\u00e1z\u0014\u00aeG\u00c1\u00bf\u0019\u0004V\u000e-24@ffffff\u0001\u00c05^\u00baI\f\u0002\u00ef?fffff\u00863@R\u00b8\u001e\u0085\u00ebQ\u0002\u00c06^\u00baI\f\u0002\u00cb?\u00ecQ\u00b8\u001e\u0085+4@\u0088\u0016\u00d9\u00ce\u00f7S\u0007\u00c0Zd;\u00dfO\u008d\u00f9?:\u00b4\u00c8v\u00be?3@\u00fe\u00d4x\u00e9&1\u00f0\u00bfX9\u00b4\u00c8v\u00be\u00f5?=\n\u00d7\u00a3p=3@\u0018\u00d9\u00ce\u00f7S\u00e3\t@\u00fe\u00d4x\u00e9&\u00b1\u0016@\u008e\u0097n\u0012\u0083\u0000,@\u000e-\u00b2\u009d\u00ef\u00a7\u000b@}?5^\u00ba\u00c9\u0012@G\u00b6\u00f3\u00fd\u00d48,@{\u0014\u00aeG\u00e1\u00fa\u0010@\u00a8\u00c6K7\u0089\u00c1\u001a@\u00be\u009f\u001a/\u00ddd+@\u0006\u0081\u0095C\u008bl\u0010@\u00bf\u009f\u001a/\u00dd$\u001e@X9\u00b4\u00c8v\u00be,@`\u00e5\u00d0\"\u00db\u00f9\u000f@r=\n\u00d7\u00a3p\u001d@r=\n\u00d7\u00a3\u00b0(@)\\\u008f\u00c2\u00f5\u00a8\u0016@\u008f\u00c2\u00f5(\\\u008f\u0018@I\u00e1z\u0014\u00ae\u00c7+@*\\\u008f\u00c2\u00f5(\u0017@fffff\u00e6\u0014@\u00ea&1\b\u00ac\u009c*@\u0006\u0081\u0095C\u008bl\u0010@{\u0014\u00aeG\u00e1:!@\u00d9\u00ce\u00f7S\u00e3e(@P\u008d\u0097n\u0012\u0003\u001b@\u00fc\u00a9\u00f1\u00d2Mb\u001c@\u001f\u0085\u00ebQ\u00b8\u001e+@\u009b\u0099\u0099\u0099\u0099\u0099\u001e@\u00b7\u00f3\u00fd\u00d4x\u00e9\u0019@.\u00b2\u009d\u00ef\u00a7\u0006+@\u00e4\u00a5\u009b\u00c4 \u00b0\u001b@\u009f\u00ef\u00a7\u00c6K7\u001f@#\u00db\u00f9~j\u00bc,@\u00baI\f\u0002+\u0087\u001a@\u0091\u00ed|?5^\u001e@\u00fe\u00d4x\u00e9&1)@\u00b2\u009d\u00ef\u00a7\u00c6\u00cb\u0017@\u0083\u00c0\u00ca\u00a1E\u00b6\u0016@V\u000e-\u00b2\u009d\u00af.@2\b\u00ac\u001cZ\u00e4\u0017@#\u00db\u00f9~j<\u001a@\u00d3Mb\u0010X\u00f9/@Nb\u0010X94\u0014@\u0001\u0000\u0000\u0000\u0000\u0080\u0014@\u0086\u00ebQ\u00b8\u001eE/@\b\u00ac\u001cZd\u00bb\u001b@\f\u0002+\u0087\u0016\u00d9\u0014@1\b\u00ac\u001cZ\u00e4.@\u00ac\u001cZd;\u00df\f@)\\\u008f\u00c2\u00f5(\u001a@{\u0014\u00aeG\u00e1\u00ba&@\u008f\u00c2\u00f5(\\\u008f\f@\u00cav\u00be\u009f\u001a/\u0016@\u009c\u00c4 \u00b0r('@T\u00e3\u00a5\u009b\u00c4 \n@\u00c6 \u00b0rh\u0011\u001c@\n\u00d7\u00a3p=\n$@9\u00b4\u00c8v\u00be\u009f\u0010@\u00ee|?5^:\u001e@\u00ac\u001cZd;_#@J\f\u0002+\u0087\u0016\u0000@\u00c9v\u00be\u009f\u001a\u00af\u001f@w\u00be\u009f\u001a/\u00dd#@w\u00be\u009f\u001a/\u00dd\b@b\u0010X9\u00b4H\u0017@u\u0093\u0018\u0004V\u000e\"@\u0017\u00d9\u00ce\u00f7S\u00e3\u0001@B`\u00e5\u00d0\"\u00db\u0014@u\u0093\u0018\u0004V\u008e\"@\u00aeG\u00e1z\u0014\u00ae\u000f@o\u0012\u0083\u00c0\u00ca\u00a1\u0014@\u00ac\u001cZd;_\"@\u0014\u00aeG\u00e1z\u0014\u00fe?P\u008d\u0097n\u0012\u0083!@\u0010X9\u00b4\u00c8\u00f6!@\u00fa~j\u00bct\u0093\b@\u00c6 \u00b0rh\u0091\u0018@\u00c9v\u00be\u009f\u001a/\u001e@\u0096C\u008bl\u00e7\u00fb\u0000@\n\u00d7\u00a3p=\u008a\u001a@\u0002+\u0087\u0016\u00d9N\u001d@\u00c9v\u00be\u009f\u001a/\b@x\u00be\u009f\u001a/\u00dd\u0014@C`\u00e5\u00d0\"\u00db\u001b@\u00e3\u00a5\u009b\u00c4 \u00b0\u0011@\u0007\u0081\u0095C\u008b\u00ec\u001c@\u009a\u0099\u0099\u0099\u0099\u0099\u001b@\u00a6\u009b\u00c4 \u00b0r\u0017@\u0089A`\u00e5\u00d0\u00a2\u0018@S\u00b8\u001e\u0085\u00ebQ\u001c@\u00c3\u00f5(\\\u008f\u00c2\u0016@\u009c\u00c4 \u00b0r\u00e8\u0014@E\u008bl\u00e7\u00fb)\u001a@\u001b/\u00dd$\u0006\u0081\u0018@\n\u00d7\u00a3p=\n\u0018@\u00a8\u00c6K7\u0089A @\f\u0002+\u0087\u0016\u00d9\u001a@{\u0014\u00aeG\u00e1z\u001a@.\u00b2\u009d\u00ef\u00a7F\u001a@\u00e5\u00d0\"\u00db\u00f9~\u00f0?}?5^\u00baI\u001f@\u00db\u00f9~j\u00bc\u00b4%@\u0002+\u0087\u0016\u00d9\u00ce\u00f1?\u00b1rh\u0091\u00ed|\u001c@\u0081\u0095C\u008bl''@z\u00e9&1\b\u00ac\u009c?\f\u0002+\u0087\u0016\u00d9!@J\f\u0002+\u0087\u00d6%@\u000e-\u00b2\u009d\u00ef\u00a7\u00de\u00bf\u00f0\u00a7\u00c6K7\u00c9!@\u00d9\u00ce\u00f7S\u00e3\u00e5#@\u00e1z\u0014\u00aeG\u00e1\u00e2?{\u0014\u00aeG\u00e1\u00ba$@\u0082\u0095C\u008blg&@0\u00dd$\u0006\u0081\u0095\u00ef\u00bf1\b\u00ac\u001cZd!@?5^\u00baI\f(@\u00da\u00ce\u00f7S\u00e3\u00a5\u00db\u00bf:\u00b4\u00c8v\u00be_!@\u0006\u0081\u0095C\u008b\u00ec)@x\u00be\u009f\u001a/\u00dd\u00c4?\u0012\u0083\u00c0\u00ca\u00a1\u0085&@\u0094\u0018\u0004V\u000e\u00ed$@\u0010X9\u00b4\u00c8v\u00fa\u00bfth\u0091\u00ed|?\u001d@D\u008bl\u00e7\u00fb\u00a9'@\u001eZd;\u00dfO\u00ed\u00bf\u0080j\u00bct\u0093\u0018\u001a@\u009c\u00c4 \u00b0rh'@Nb\u0010X9\u00b4\u0001\u00c0\u00c6 \u00b0rh\u0011\u001d@\u0012\u0083\u00c0\u00ca\u00a1\u0085)@\u00cf\u00f7S\u00e3\u00a5\u009b\u0000\u00c0\u00dfO\u008d\u0097n\u0092#@\u00d0\u00f7S\u00e3\u00a5[(@7\u0089A`\u00e5\u00d0\u00fa\u00bf\u00afG\u00e1z\u0014n%@gffff&)@b\u0010X9\u00b4\u00c8\u0003\u00c0\u00e7\u00fb\u00a9\u00f1\u00d2\r$@\u0089A`\u00e5\u00d0b&@#\u00db\u00f9~j\u00bc\u0006\u00c0\u00a8\u00c6K7\u0089\u00c1\"@\u000e-\u00b2\u009d\u00ef\u00a7)@sh\u0091\u00ed|?\u0005\u00c0'1\b\u00ac\u001cZ\u001d@\u0081\u0095C\u008blg%@R\u00b8\u001e\u0085\u00ebQ\u000b\u00c0`\u00e5\u00d0\"\u00db9 @d;\u00dfO\u008d\u0097%@\u00c5 \u00b0rh\u0091\u0000\u00c08\u0089A`\u00e5\u00d0\u001d@J\f\u0002+\u0087\u0096#@\u001a\u0004V\u000e-\u00b2\t\u00c0\u0014\u00aeG\u00e1z\u0094\u0019@\u00ecQ\u00b8\u001e\u0085k%@\u00ea&1\b\u00ac\u001c\u00fa?|\u0014\u00aeG\u00e1\u00fa$@\u00c9v\u00be\u009f\u001a\u00ef'@\u00a0\u001a/\u00dd$\u0006\u0000@\u00a8\u00c6K7\u0089A#@\u00aeG\u00e1z\u0014\u00ae(@\u00a4p=\n\u00d7\u00a3\u0001@q=\n\u00d7\u00a3\u00b0'@\u0088\u0016\u00d9\u00ce\u00f7\u0093(@\u00ecQ\u00b8\u001e\u0085\u00eb\u00f5?d;\u00dfO\u008d\u0017)@\u00a2E\u00b6\u00f3\u00fd\u00d4(@\u00cb\u00a1E\u00b6\u00f3\u00fd\u0007@H\u00e1z\u0014\u00ae\u0007)@=\n\u00d7\u00a3p=&@\u008aA`\u00e5\u00d0\"\b@\u0082\u0095C\u008blg'@1\b\u00ac\u001cZ$+@\"\u00b0rh\u0091\u00ed\u000e@@5^\u00baI\f&@\u00f4\u00fd\u00d4x\u00e9&+@#\u00db\u00f9~j\u00bc\u000b@'1\b\u00ac\u001cZ)@\u0099n\u0012\u0083\u00c0\u008a+@=\n\u00d7\u00a3p=\r@H\u00e1z\u0014\u00ae\u0007+@q=\n\u00d7\u00a3\u00b0&@\u00cb\u00a1E\u00b6\u00f3\u00fd\u0001@\u00bct\u0093\u0018\u0004\u0096&@\u00baI\f\u0002+\u0087-@\u00ecQ\u00b8\u001e\u0085\u00eb\u0000@\u00e3\u00a5\u009b\u00c4 \u00f0#@\u0091\u00ed|?5^.@\u00c8K7\u0089A`\u0004@\u00c7K7\u0089A \"@S\u00b8\u001e\u0085\u00eb\u0091-@\u0005V\u000e-\u00b2\u009d\u00f9?\u00b3\u009d\u00ef\u00a7\u00c6\u000b(@\u00bf\u009f\u001a/\u00ddd/@\u00be\u009f\u001a/\u00dd$\u00fa?\u00ab\u00f1\u00d2Mb\u0010*@J\f\u0002+\u0087\u0096/@ffffff\u00f2?\u00b8\u001e\u0085\u00ebQx&@\u00ecQ\u00b8\u001e\u0085\u00ab0@\u0004V\u000e-\u00b2\u009d\u00e7?\u0010X9\u00b4\u00c8\u00f6&@p\u0012\u0083\u00c0\u00ca\u00a11@T\u00e3\u00a5\u009b\u00c4 \u00f6?h\u0091\u00ed|?\u00f5#@\u00c7K7\u0089A`0@\u00d3Mb\u0010X9\b@\u00de$\u0006\u0081\u0095\u0003(@\u0085\u00ebQ\u00b8\u001e\u00c5#@\u00a4p=\n\u00d7\u00a3\u0004@\u0083\u00c0\u00ca\u00a1E6&@\u00e2z\u0014\u00aeG\u00a1#@333333\r@th\u0091\u00ed|\u00ff(@\u0002+\u0087\u0016\u00d9N!@\u0002+\u0087\u0016\u00d9\u00ce\u000f@c\u0010X9\u00b4\b+@\u00a0\u001a/\u00dd$\u00c6!@\u001c/\u00dd$\u0006\u0081\u0005@\u00f4\u00fd\u00d4x\u00e9&)@\u001c/\u00dd$\u0006\u0001\u001e@\u00c3\u00f5(\\\u008fB\u0013@T\u00e3\u00a5\u009b\u00c4 '@\u00d1\"\u00db\u00f9~j @\u0010X9\u00b4\u00c8\u00f6\u0011@\u0096C\u008bl\u00e7;%@\u00be\u009f\u001a/\u00dd$\u001f@\u009f\u00ef\u00a7\u00c6K7\u0005@\u00da\u00ce\u00f7S\u00e3%+@\u00c6 \u00b0rh\u0011\u001b@>\n\u00d7\u00a3p\u00bd\u0016@^\u00baI\f\u0002\u00eb(@\u0002+\u0087\u0016\u00d9N\u001d@=\n\u00d7\u00a3p\u00bd\u0014@v\u0093\u0018\u0004VN*@\u00aa\u00f1\u00d2Mb\u0090\u001a@9\u00b4\u00c8v\u00be\u001f\u0019@z\u00e9&1\b,*@<\u00dfO\u008d\u0097\u00ee\u001f@\u0093\u0018\u0004V\u000e-\u0019@Q\u008d\u0097n\u0012\u00c3'@\u00cc\u00a1E\u00b6\u00f3}\u001a@\u009a\u0099\u0099\u0099\u0099\u0019\u0017@\u00a2E\u00b6\u00f3\u00fdT&@(1\b\u00ac\u001c\u00da\"@\u0091\u00ed|?5\u00de\u0014@\u0014\u00aeG\u00e1zT%@\u00c2\u00ca\u00a1E\u00b6s$@th\u0091\u00ed|?\u0018@0\u00dd$\u0006\u0081\u0015(@\u0086\u00ebQ\u00b8\u001e\u0005$@\u00aa\u00f1\u00d2Mb\u0090\u001a@\u0006\u0081\u0095C\u008b,%@\u00c9v\u00be\u009f\u001a/\"@Nb\u0010X9\u00b4\u00fc?9\u00b4\u00c8v\u00be\u001f'@o\u0012\u0083\u00c0\u00ca!\u001d@\u00ea&1\b\u00ac\u001c\u00fe?\u00d8\u00a3p=\n\u0097%@\u00b9\u001e\u0085\u00ebQ\u00b8\u001f@\u00d6x\u00e9&1\b\u00ec?)\\\u008f\u00c2\u00f5\u00e8&@:\u00b4\u00c8v\u00be\u009f\u0018@\u0092\u00ed|?5^\u00f6?\u0088\u0016\u00d9\u00ce\u00f7\u0093'@\u00baI\f\u0002+\u0007\u0015@d;\u00dfO\u008d\u0097\u00d6\u00bf\u00cav\u00be\u009f\u001a\u00af(@\u00d8\u00a3p=\nW\u0019@V\u000e-\u00b2\u009d\u00ef\u00e3?o\u0012\u0083\u00c0\u00ca\u00e1#@2\b\u00ac\u001cZ\u00e4\u0017@\u001c/\u00dd$\u0006\u0081\u0095\u00bf\u00ee|?5^\u00fa\"@<\u00dfO\u008d\u0097\u00ee\u001a@Y9\u00b4\u00c8v\u00be\u00f9?sh\u0091\u00ed|\u00ff\"@\u00aa\u00f1\u00d2Mb\u0010\u0018@\\\u008f\u00c2\u00f5(\\\u00ef\u00bf\u0012\u0083\u00c0\u00ca\u00a1\u0085)@\u00e1z\u0014\u00aeGa\u0015@L7\u0089A`\u00e5\u00b0\u00bf\u0085\u00ebQ\u00b8\u001eE#@\u00d9\u00ce\u00f7S\u00e3\u00a5\u0012@\u00f8S\u00e3\u00a5\u009b\u00c4\u00f6\u00bf\\\u008f\u00c2\u00f5(\u00dc\"@\u00a6\u009b\u00c4 \u00b0r\u0012@Zd;\u00dfO\u008d\u0000\u00c0\u00e7\u00fb\u00a9\u00f1\u00d2\r#@\u00c7K7\u0089A\u00e0\u0015@\u0092\u00ed|?5^\u00e6?\u00c5 \u00b0rh\u00d1\"@\u00afG\u00e1z\u0014\u00ae\f@,\u0087\u0016\u00d9\u00ce\u00f7\u00fb?J\f\u0002+\u0087V#@U\u00e3\u00a5\u009b\u00c4 \r@-\u00b2\u009d\u00ef\u00a7\u00c6\u00ff\u00bf}?5^\u00ba\t\"@\u00cc\u00a1E\u00b6\u00f3\u00fd\n@\u00fc\u00a9\u00f1\u00d2Mb\b\u00c0sh\u0091\u00ed|\u00bf!@\u00a9\u00c6K7\u0089A\n@b\u0010X9\u00b4\u00c8\u00c6?\u0087\u0016\u00d9\u00ce\u00f7\u00d3!@m\u00e7\u00fb\u00a9\u00f1\u00d2\u0002@,\u0087\u0016\u00d9\u00ce\u00f7\u00eb?d;\u00dfO\u008d\u0097!@\u008f\u00c2\u00f5(\\\u008f\u00f8?\u008d\u0097n\u0012\u0083\u00c0\u00f2\u00bf\u00cd\u00cc\u00cc\u00cc\u00cc\u008c!@\u00d5x\u00e9&1\b\u0002@\u009f\u00ef\u00a7\u00c6K7\u00fb\u00bf\u00dfO\u008d\u0097n\u0012!@o\u0012\u0083\u00c0\u00ca\u00a1\u00f5?\u0015\u00aeG\u00e1z\u0014\u00ea\u00bf\u0080j\u00bct\u0093\u0018)@'1\b\u00ac\u001cZ\u001e@\u0093\u0018\u0004V\u000e-\u00d2\u00bf\u009e\u00ef\u00a7\u00c6Kw(@P\u008d\u0097n\u0012\u00c3 @\u00b6\u00f3\u00fd\u00d4x\u00e9\u0000\u00c0X9\u00b4\u00c8v>*@\u00a4p=\n\u00d7\u00a3\u001f@Nb\u0010X9\u00b4\u0006\u00c0\u00d8\u00a3p=\n\u0017)@\u0018\u00d9\u00ce\u00f7Sc\u001d@/\u00dd$\u0006\u0081\u0095\u0001\u00c0Ob\u0010X94-@[d;\u00dfO\r\u001e@\u00d2\"\u00db\u00f9~j\u0003\u00c0\u00b2\u009d\u00ef\u00a7\u00c6\u00cb)@\u00baI\f\u0002+\u00c7\"@\u00a2E\u00b6\u00f3\u00fd\u00d4\u0001\u00c0\u00a8\u00c6K7\u0089\u00c1'@\u0093\u0018\u0004V\u000em#@/\u00dd$\u0006\u0081\u0095\u00fb\u00bf\u00f5\u00fd\u00d4x\u00e9\u00e6*@\u0012\u0083\u00c0\u00ca\u00a1\u0005$@b\u0010X9\u00b4\u00c8\n\u00c0\u008d\u0097n\u0012\u0083\u0000.@\u0013\u0083\u00c0\u00ca\u00a1\u00c5\u001c@^\u00baI\f\u0002+\u000e\u00c0\u00cf\u00f7S\u00e3\u00a5\u009b*@\u00e7\u00fb\u00a9\u00f1\u00d2M#@D\u008bl\u00e7\u00fb\u00a9\u000e\u00c0\u00c4\u00f5(\\\u008f\u0082,@\u00c1\u00ca\u00a1E\u00b6s#@\u00fa~j\u00bct\u0093\u00f2\u00bf\u00bdt\u0093\u0018\u0004\u00d6.@&\u0006\u0081\u0095C\u008b\u001e@\u000e-\u00b2\u009d\u00ef\u00a7\u00d6\u00bf\u0089A`\u00e5\u00d0\u00e2-@5^\u00baI\f\u0002 @\\\u008f\u00c2\u00f5(\\\u00f3\u00bf#\u00db\u00f9~j\u00dc0@\u001eZd;\u00df\u00cf\u001d@\u00a0\u001a/\u00dd$\u0006\u0002\u00c05^\u00baI\f\"1@#\u00db\u00f9~j<\u001e@\u008d\u0097n\u0012\u0083\u00c0\u00e6\u00bf\u00be\u009f\u001a/\u00dd$1@\u00a4p=\n\u00d7#\u0018@\u0098n\u0012\u0083\u00c0\u00ca\u00d1\u00bf\u00b2\u009d\u00ef\u00a7\u00c6\u008b1@Nb\u0010X9\u00f4 @:\u00b4\u00c8v\u00be\u009f\u00d2\u00bf\\\u008f\u00c2\u00f5(\u009c2@\u00ee|?5^z @\u00aa\u00f1\u00d2Mb\u0010\u00e8?sh\u0091\u00ed|?1@\u00d7\u00a3p=\n\u0097 @\u0014\u00aeG\u00e1z\u0014\u00ce?fffff\u00860@\u0014\u00aeG\u00e1z\u0014\u0016@\u00bct\u0093\u0018\u0004V\u00de\u00bf\u009c\u00c4 \u00b0rh1@\b\u00ac\u001cZd\u00fb#@F\u00b6\u00f3\u00fd\u00d4x\u00f5\u00bf=\n\u00d7\u00a3p\u009d0@^\u00baI\f\u0002\u00eb$@\u00a0\u001a/\u00dd$\u0006\u00d1?\u00b0rh\u0091\u00ed\u001c2@F\u00b6\u00f3\u00fd\u00d4x%@\u00fa~j\u00bct\u0093\u00f6\u00bf\u0087\u0016\u00d9\u00ce\u00f7\u00132@\u00a4p=\n\u00d7\u00a3\u0015@^\u00baI\f\u0002+\u0001\u00c0fffff\u00862@\u00dd$\u0006\u0081\u0095\u00c3\u0017@\u00db\u00f9~j\u00bct\u00ef\u00bf\u00b8\u001e\u0085\u00ebQ\u00b82@33333\u00b3\u0010@\u00f2\u00d2Mb\u0010X\u00b9?\u00cf\u00f7S\u00e3\u00a5\u00bb2@433333\u0010@P\u008d\u0097n\u0012\u0083\u00f4\u00bfj\u00bct\u0093\u0018\u00c43@\u00b2\u009d\u00ef\u00a7\u00c6\u00cb\u0010@5^\u00baI\f\u0002\u00f9\u00bfh\u0091\u00ed|?\u00152@\u00f2\u00d2Mb\u0010X\u0007@h\u0091\u00ed|?5\u0003\u00c0\u00d5x\u00e9&1(1@\u0014\u00aeG\u00e1z\u0014\b@\"\u00b0rh\u0091\u00ed\u00f2\u00bf\u00d5x\u00e9&1\u00a82@\u00c2\u00ca\u00a1E\u00b6\u00f3\u00fb?\u0018\u00d9\u00ce\u00f7S\u00e3\u00dd\u00bf`\u00e5\u00d0\"\u00dbY3@\u0080j\u00bct\u0093\u0018\u00fe?\u0019\u0004V\u000e-\u00b2\u00fd\u00bf\u009e\u00ef\u00a7\u00c6Kw2@\u008e\u0097n\u0012\u0083\u00c0\u00da?\u00b4\u00c8v\u00be\u009f\u001a\u0007\u00c0\u001a\u0004V\u000e-\u00d22@D\u008bl\u00e7\u00fb\u00a9\u00d9?J\f\u0002+\u0087\u0016\u00fb\u00bfD\u008bl\u00e7\u00fb\u00e90@\u001c/\u00dd$\u0006\u0081\u00a5?\u00aeG\u00e1z\u0014\u00ae\u00f3\u00bfj\u00bct\u0093\u0018d3@\u009f\u00ef\u00a7\u00c6K7\u00e5\u00bf\u00aeG\u00e1z\u0014\u00ae\u00c7\u00bf\u00a6\u009b\u00c4 \u00b0\u00123@@5^\u00baI\f\u00e6\u00bf\u000e-\u00b2\u009d\u00ef\u00a7\u00e2\u00bf\u009a\u0099\u0099\u0099\u0099Y0@\u0092\u00ed|?5^\u00ca?$\u00db\u00f9~j\u00bc\u00fe\u00bf\u0019\u0004V\u000e-23@Nb\u0010X9\u00b4\u0000\u00c0\u00e8\u00fb\u00a9\u00f1\u00d2M\u00f8\u00bf\u0019\u0004V\u000e-R2@\u00e3\u00a5\u009b\u00c4 \u00b0\u0004\u00c0q=\n\u00d7\u00a3p\u00fb\u00bf\u0011X9\u00b4\u00c8\u00164@(1\b\u00ac\u001cZ\u0005\u00c0\u0017\u00d9\u00ce\u00f7S\u00e3\u0007\u00c0\u00c5 \u00b0rh\u00113@\u00e3\u00a5\u009b\u00c4 \u00b0\u00fe\u00bf\u0098n\u0012\u0083\u00c0\u00ca\u00f5\u00bf\u00cav\u00be\u009f\u001a\u00ef4@\u00ce\u00cc\u00cc\u00cc\u00cc\u00cc\u00cc\u00bf\u0000\u0000\u0000\u0000\u0000\u0000\u00f0\u00bf=\n\u00d7\u00a3p\u001d5@\u00f2\u00d2Mb\u0010X\u00e9?ffffff\u00e6\u00bf\u00d8\u00a3p=\n\u00975@\u00f7(\\\u008f\u00c2\u00f5\u00e8\u00bf.\u00b2\u009d\u00ef\u00a7\u00c6\u0002\u00c0\\\u008f\u00c2\u00f5(\\5@\u00f9S\u00e3\u00a5\u009b\u00c4\u00d8\u00bf\u000b\u00d7\u00a3p=\n\u0006\u00c0\u0019\u0004V\u000e-20@\u00edQ\u00b8\u001e\u0085\u00eb\u00d9\u00bf\u009a\u0099\u0099\u0099\u0099\u0099\f\u00c0\u00b4\u00c8v\u00be\u009f\u00ba0@\u009c\u00c4 \u00b0rh\u00e5\u00bf\u0098n\u0012\u0083\u00c0\u00ca\u0005\u00c0\u001f\u0085\u00ebQ\u00b8\u009e-@\u00e2z\u0014\u00aeG\u00e1\u00ee\u00bf\u00e8\u00fb\u00a9\u00f1\u00d2M\u00fe\u00bf$\u00db\u00f9~j|,@\u00c3\u00f5(\\\u008f\u00c2\u00e1\u00bf#\u00db\u00f9~j\u00bc\u0005\u00c0v\u0093\u0018\u0004V\u008e-@{\u0014\u00aeG\u00e1z\u0003\u00c0\u00ad\u001cZd;\u00df\u000f\u00c0V\u000e-\u00b2\u009d\u00ef+@5^\u00baI\f\u0002\u00e3\u00bf\u00b2\u009d\u00ef\u00a7\u00c6K\u0013\u00c0\u009f\u00ef\u00a7\u00c6K\u00b7,@\u00e3\u00a5\u009b\u00c4 \u00b0\u00f2\u00bf\u009a\u0099\u0099\u0099\u0099\u0099\f\u00c0j\u00bct\u0093\u0018\u00c4.@\u0099n\u0012\u0083\u00c0\u00ca\b\u00c0\u00bct\u0093\u0018\u0004V\u000f\u00c0\u0089A`\u00e5\u00d0\u00e2(@@5^\u00baI\f\u00ea\u00bf\u0098n\u0012\u0083\u00c0J\u0013\u00c0\u0096C\u008bl\u00e7\u00fb'@\u00da\u00ce\u00f7S\u00e3\u00a5\u00db\u00bf\u000f-\u00b2\u009d\u00ef\u00a7\b\u00c0\u0087\u0016\u00d9\u00ce\u00f7\u0013(@\u0000\u0000\u0000\u0000\u0000\u0000\u00d0\u00bf\u00b8\u001e\u0085\u00ebQ\u00b8\r\u00c0\u00baI\f\u0002+\u0087(@\u00ac\u001cZd;\u00df\u00fd\u00bf\u0018\u00d9\u00ce\u00f7Sc\u0011\u00c0:\u00b4\u00c8v\u00be_,@/\u00dd$\u0006\u0081\u0095\u00e7?\u00db\u00f9~j\u00bct\u0013\u00c0>\n\u00d7\u00a3p\u00fd-@\u00dd$\u0006\u0081\u0095C\u00e7?\b\u00ac\u001cZd;\u00fd\u00bf\u00e2z\u0014\u00aeG\u00e1+@\"\u00b0rh\u0091\u00ed\u0007\u00c0:\u00b4\u00c8v\u00be\u009f\u00f2\u00bfS\u00b8\u001e\u0085\u00eb\u0011+@#\u00db\u00f9~j\u00bc\u0002\u00c0\u00b8\u001e\u0085\u00ebQ\u00b8\u00fe\u00bf\u00f0\u00a7\u00c6K7\t+@q=\n\u00d7\u00a3p\u0011\u00c0T\u00e3\u00a5\u009b\u00c4 \u0007\u00c0\u00de$\u0006\u0081\u0095\u0083+@o\u0012\u0083\u00c0\u00ca!\u0013\u00c0\u009e\u00ef\u00a7\u00c6K7\u00fd\u00bfX9\u00b4\u00c8v\u00fe'@\u00cd\u00cc\u00cc\u00cc\u00ccL\u0011\u00c0j\u00bct\u0093\u0018\u0004\u00ea\u00bf\u0096C\u008bl\u00e7{,@\u00dc\u00f9~j\u00bc\u00f4\u0014\u00c02\b\u00ac\u001cZd\u00ef\u00bfV\u000e-\u00b2\u009d\u00ef+@\u009a\u0099\u0099\u0099\u0099\u0019\u0019\u00c0<\u00dfO\u008d\u0097n\u00ee\u00bf\u007fj\u00bct\u0093\u0098.@\n\u00d7\u00a3p=\n\u0014\u00c0\u0004V\u000e-\u00b2\u009d\u00f7\u00bf\u00e4\u00a5\u009b\u00c4 \u00b0&@Y9\u00b4\u00c8v\u00be\n\u00c0\u0012\u0083\u00c0\u00ca\u00a1E\u00e2?9\u00b4\u00c8v\u00be\u00df+@\u00f8S\u00e3\u00a5\u009bD\u0013\u00c0\f\u0002+\u0087\u0016\u00d9\u00f4?\r\u0002+\u0087\u0016Y*@w\u00be\u009f\u001a/]\u0016\u00c0\u00e5\u00d0\"\u00db\u00f9~\u00ee?\u00afG\u00e1z\u0014.*@\u001f\u0085\u00ebQ\u00b8\u001e\u001a\u00c0333333\u0002@\u00a2E\u00b6\u00f3\u00fd\u0014*@.\u00b2\u009d\u00ef\u00a7F\u0015\u00c0\u00a4p=\n\u00d7\u00a3\u00f0?\u00fd\u00a9\u00f1\u00d2M\u00a2,@\u00c2\u00ca\u00a1E\u00b6\u00f3\r\u00c0\u00fa~j\u00bct\u0093\u0001\u00c0\u00b2\u009d\u00ef\u00a7\u00c6\u00cb&@\u00e5\u00d0\"\u00db\u00f9\u00fe\u0015\u00c0\u0091\u00ed|?5^\u0003\u00c0)\\\u008f\u00c2\u00f5\u00e8'@h\u0091\u00ed|?5\u0019\u00c0+\u0087\u0016\u00d9\u00ce\u00f7\u0000\u00c0d;\u00dfO\u008d\u00d7#@\u008d\u0097n\u0012\u0083\u00c0\u0016\u00c0\u0092\u00ed|?5^\u0006\u00c0?5^\u00baI\f#@\u0094\u0018\u0004V\u000e\u00ad\u0013\u00c0M7\u0089A`\u00e5\u00e4\u00bf\b\u00ac\u001cZd\u00bb\"@Zd;\u00dfO\r\u0016\u00c0\u00d1\"\u00db\u00f9~j\u0006\u00c0\u00f6(\\\u008f\u00c2\u00f5\"@<\u00dfO\u008d\u0097\u00ee\u001b\u00c0\b\u00ac\u001cZd;\u0003\u00c0\u0000\u0000\u0000\u0000\u0000@$@\u0080j\u00bct\u0093\u0018\u001f\u00c0P\u008d\u0097n\u0012\u0083\u0003\u00c0\u0093\u0018\u0004V\u000e\u00ed @j\u00bct\u0093\u0018\u0084\u001c\u00c0\u00cf\u00f7S\u00e3\u00a5\u009b\u00d4\u00bfZd;\u00dfO\u008d @-\u00b2\u009d\u00ef\u00a7\u00c6\u0013\u00c0\u00c9v\u00be\u009f\u001a/\u0011\u00c0\u00b4\u00c8v\u00be\u009f\u00da\"@\u00b4\u00c8v\u00be\u009f\u001a\u001c\u00c0\u00e4\u00a5\u009b\u00c4 0\u0014\u00c0\u00fe\u00d4x\u00e9&\u00f1#@\u00f0\u00a7\u00c6K7\t \u00c0\u001c/\u00dd$\u0006\u0001\u0013\u00c0W\u000e-\u00b2\u009d/%@\u00c1\u00ca\u00a1E\u00b6\u00b3!\u00c0:\u00b4\u00c8v\u00be\u001f\u0015\u00c0R\u00b8\u001e\u0085\u00ebQ!@\u008cl\u00e7\u00fb\u00a9\u00f1\u0018\u00c0E\u008bl\u00e7\u00fb)\u001a\u00c0/\u00dd$\u0006\u0081\u00d5!@\u0089A`\u00e5\u00d0\"\u001b\u00c0\u00a4p=\n\u00d7\u00a3\u0014\u00c0\u00c4\u00f5(\\\u008f\u00c2\u001e@/\u00dd$\u0006\u0081\u0015\u0015\u00c0\u00de$\u0006\u0081\u0095\u00c3\u0010\u00c0\u00ee|?5^\u00ba\u001d@\u00fa~j\u00bct\u0093\u0013\u00c0Zd;\u00dfO\u008d\u0019\u00c0\u008bl\u00e7\u00fb\u00a9\u00b1#@:\u00b4\u00c8v\u00be\u001f\u001f\u00c0$\u00db\u00f9~j<\u001c\u00c0\u0081\u0095C\u008bl'$@sh\u0091\u00ed|\u00ff \u00c0\u009c\u00c4 \u00b0r\u00e8\u001d\u00c0\u00c9v\u00be\u009f\u001a/\u001d@\n\u00d7\u00a3p=\u008a\u0014\u00c0\u0014\u00aeG\u00e1z\u0094 \u00c0\u0017\u00d9\u00ce\u00f7S\u00e3\u001b@5^\u00baI\f\u0002\u0012\u00c0\u00aa\u00f1\u00d2Mb\u0090\u001e\u00c0\u00aa\u00f1\u00d2Mb\u0090 @^\u00baI\f\u0002\u00ab\u0018\u00c0R\u00b8\u001e\u0085\u00eb\u0011!\u00c0\u00ac\u001cZd;_!@L7\u0089A`e\u001a\u00c0L7\u0089A`\u00e5\u0018\u00c0L7\u0089A`\u00e5\u001b@\u00a6\u009b\u00c4 \u00b0\u00f2\u0012\u00c0~?5^\u00baI\u0018\u00c0\u00da\u00ce\u00f7S\u00e3%\u0019@\u00d2\"\u00db\u00f9~j\u000f\u00c0\u00a8\u00c6K7\u0089A\u00d0?\u0086\u00ebQ\u00b8\u001eE$@\u009e\u00ef\u00a7\u00c6K7\u0018\u00c0;\u00dfO\u008d\u0097n\u0092\u00bf\u00baI\f\u0002+\u0007&@\u001eZd;\u00df\u00cf\u0019\u00c0\u00e7\u00fb\u00a9\u00f1\u00d2M\u00fa?\u0096C\u008bl\u00e7\u00bb#@V\u000e-\u00b2\u009do\u0017\u00c0\u0002+\u0087\u0016\u00d9\u00ce\u0001@j\u00bct\u0093\u0018D%@\u00b0rh\u0091\u00ed|\u0019\u00c0\u001c/\u00dd$\u0006\u0081\u00ff?\u00ea&1\b\u00ac\u00dc!@\u00fe\u00d4x\u00e9&1\u0019\u00c0\u00baI\f\u0002+\u0087\u0001@D\u008bl\u00e7\u00fb\u00a9#@\u0012\u0083\u00c0\u00ca\u00a1\u00c5\u0011\u00c0\u00d3Mb\u0010X9\b@\u00de$\u0006\u0081\u0095\u0003\"@Zd;\u00dfO\u008d\u0010\u00c0\n\u00d7\u00a3p=\n\u00f9?}?5^\u00ba\t%@n\u00e7\u00fb\u00a9\u00f1\u00d2\u000b\u00c0\u001b/\u00dd$\u0006\u0081\u00e9?\u00be\u009f\u001a/\u00dd$&@\u00c4\u00f5(\\\u008f\u00c2\u000e\u00c0#\u00db\u00f9~j\u00bc\u00fc?H\u00e1z\u0014\u00ae\u0007%@\n\u00d7\u00a3p=\n\u0000\u00c0\u00b6\u00f3\u00fd\u00d4x\u00e9\u0006@433333%@\u00ce\u00cc\u00cc\u00cc\u00cc\u00cc\u00fc\u00bf\u001f\u0085\u00ebQ\u00b8\u001e\u00f5?\u00cd\u00cc\u00cc\u00cc\u00ccL\"@\u00dc\u00f9~j\u00bct\u00f7\u00bf\u0012\u0083\u00c0\u00ca\u00a1E\u00f2?i\u0091\u00ed|?u'@Nb\u0010X9\u00b4\u00f4\u00bf\t\u00ac\u001cZd;\u00af?^\u00baI\f\u0002k'@\u00b6\u00f3\u00fd\u00d4x\u00e9\u00f2\u00bf\\\u008f\u00c2\u00f5(\\\u00f5?q=\n\u00d7\u00a30)@\u00a2E\u00b6\u00f3\u00fd\u00d4\u00fe\u00bf\u00b4\u00c8v\u00be\u009f\u001a\u0000@\u0090\u00c2\u00f5(\\\u00cf @\u001b/\u00dd$\u0006\u0081\u00e9\u00bf\u00aa\u00f1\u00d2Mb\u0010\u00fc?\u00d5x\u00e9&1\b(@\u0083\u00c0\u00ca\u00a1E\u00b6\u00b3?\u0012\u0083\u00c0\u00ca\u00a1E\u00fc?433333&@\u00f4\u00fd\u00d4x\u00e9&\u00e5?\u000b\u00d7\u00a3p=\n\u0006@\u0089A`\u00e5\u00d0\u00e2(@Zd;\u00dfO\u008d\u0097\u00bf\u00ce\u00cc\u00cc\u00cc\u00cc\u00cc\u00ec?433333*@\u00bct\u0093\u0018\u0004V\u00e6?\u00aa\u00f1\u00d2Mb\u0010\u00e4?n\u00e7\u00fb\u00a9\u00f1\u00d2+@\u00db\u00f9~j\u00bct\u00a3?\u00fc\u00a9\u00f1\u00d2Mb\u00a0\u00bf~?5^\u00baI)@ffffff\u00f0?ffffff\u00f8?Zd;\u00dfO\r+@\u001dZd;\u00dfO\u00ff?1\b\u00ac\u001cZd\u0003@^\u00baI\f\u0002+*@\u00b6\u00f3\u00fd\u00d4x\u00e9\u0000@\u00db\u00f9~j\u00bct\u00b3?~?5^\u00baI.@\u00e0O\u008d\u0097n\u0012\u0005@$\u00db\u00f9~j\u00bc\u00d4\u00bf \u0085\u00ebQ\u00b8^.@H\u00e1z\u0014\u00aeG\u00fb?\u00f9S\u00e3\u00a5\u009b\u00c4\u00d8\u00bf\u0004V\u000e-\u00b2]/@7\u0089A`\u00e5\u00d0\n@Zd;\u00dfO\u008d\u00f9?\u008d\u0097n\u0012\u0083\u0000-@n\u00e7\u00fb\u00a9\u00f1\u00d2\u000f@\u001f\u0085\u00ebQ\u00b8\u001e\u00f3?\u00f2\u00d2Mb\u0010\u0018.@\u00b6\u00f3\u00fd\u00d4x\u00e9\u0012@\u00a6\u009b\u00c4 \u00b0r\u0001@\u00a9\u00c6K7\u0089\u0081+@\u00a8\u00c6K7\u0089A\u0011@d;\u00dfO\u008d\u0097\u00f0?h\u0091\u00ed|?\u00b5,@\u00cc\u00a1E\u00b6\u00f3\u00fd\u0006@\u00fa~j\u00bct\u0093\u00b8?\u0096C\u008bl\u00e7{!@r=\n\u00d7\u00a3p\u00fd\u00bfP\u008d\u0097n\u0012\u0083\u00d8\u00bfNb\u0010X9t\"@\u00ef|?5^\u00ba\u0004\u00c0\u00d3Mb\u0010X9\u00dc\u00bf\u00cav\u00be\u009f\u001a\u00af\u001d@\u00b5\u00c8v\u00be\u009f\u001a\u00f9\u00bf(1\b\u00ac\u001cZ\u00dc\u00bf\u001f\u0085\u00ebQ\u00b8\u009e\u001d@c\u0010X9\u00b4\u00c8\u00de\u00bfY9\u00b4\u00c8v\u00be\u00df?\r\u0002+\u0087\u0016Y\u0019@\u007fj\u00bct\u0093\u0018\u0001\u00c0\u00baI\f\u0002+\u0087\u00fe\u00bf\u00bct\u0093\u0018\u0004\u00d6\u001c@\u0092\u00ed|?5^\u0000\u00c0\u0096C\u008bl\u00e7\u00fb\u00ff\u00bf\u00b3\u009d\u00ef\u00a7\u00c6K\u001e@\u00f0\u00a7\u00c6K7\u0089\b\u00c0\u00e1z\u0014\u00aeG\u00e1\u00e6?\u00b2\u009d\u00ef\u00a7\u00c6K\u0015@\u00f5\u00fd\u00d4x\u00e9&\u00f7\u00bf\u00baI\f\u0002+\u0087\u0005\u00c09\u00b4\u00c8v\u00be_ @5^\u00baI\f\u0002\u00f3\u00bf?5^\u00baI\f\u0001\u00c0\u0096C\u008bl\u00e7;\"@\u001f\u0085\u00ebQ\u00b8\u001e\u00f1\u00bf333333\u0007\u00c0\u0092\u00ed|?5\u00de\u001e@\u001eZd;\u00dfO\u00cd\u00bf{\u0014\u00aeG\u00e1z\u0003\u00c0V\u000e-\u00b2\u009d\u00ef\u0016@+\u0087\u0016\u00d9\u00ce\u00f7\u00ff\u00bf\u00d6x\u00e9&1\b\u0000\u00c0Nb\u0010X94\u0015@\u00be\u009f\u001a/\u00dd$\u0007\u00c0\u00e9&1\b\u00ac\u001c\f\u00c0Y9\u00b4\u00c8v>\u0017@\u00bct\u0093\u0018\u0004V\u0001\u00c0\u000e-\u00b2\u009d\u00ef\u00a7\u0001\u00c0\u00e7\u00fb\u00a9\u00f1\u00d2M\u0015@\u00a8\u00c6K7\u0089A\u00f0\u00bf\u00e5\u00d0\"\u00db\u00f9~\u0010\u00c0y\u00e9&1\b\u00ec @T\u00e3\u00a5\u009b\u00c4 \u00fc\u00bf\b\u00ac\u001cZd;\u0012\u00c0\u00f0\u00a7\u00c6K7\u0089\"@#\u00db\u00f9~j\u00bc\u00f2\u00bfV\u000e-\u00b2\u009do\u0010\u00c0m\u00e7\u00fb\u00a9\u00f1\u0092!@1\b\u00ac\u001cZd\u0006\u00c0;\u00dfO\u008d\u0097\u00ee\u0012\u00c0-\u00b2\u009d\u00ef\u00a7F\u001e@\u00e7\u00fb\u00a9\u00f1\u00d2M\u00fa\u00bf\u00de$\u0006\u0081\u0095C\u00ef?\u00e2z\u0014\u00aeG\u00e1\u0019@C`\u00e5\u00d0\"\u00db\n\u00c0\u00cf\u00f7S\u00e3\u00a5\u009b\u00e4?B`\u00e5\u00d0\"\u00db\u001c@\u0090\u00c2\u00f5(\\\u008f\u000f\u00c0ffffff\u00fc?P\u008d\u0097n\u0012\u0083\u0015@5^\u00baI\f\u0002\u0010\u00c05^\u00baI\f\u0002\u00f5?)\\\u008f\u00c2\u00f5\u00a8\u0011@\u00f2\u00d2Mb\u0010X\u000e\u00c0\u00c9v\u00be\u009f\u001a/\t@\u0093\u0018\u0004V\u000e-\u0015@\u0093\u0018\u0004V\u000e-\n\u00c0c\u0010X9\u00b4\u00c8\u00fe?\u00fb~j\u00bct\u0013\u0017@\u00aa\u00f1\u00d2Mb\u0010\u0016\u00c0\u00ac\u001cZd;\u00df\u0000@B`\u00e5\u00d0\"[\u001b@\u00bct\u0093\u0018\u0004V\u0016\u00c0\u00e8\u00fb\u00a9\u00f1\u00d2M\r@L7\u0089A`\u00e5\u0010@h\u0091\u00ed|?5\u0007\u00c0m\u00e7\u00fb\u00a9\u00f1\u00d2\u0007@\u00a2E\u00b6\u00f3\u00fd\u00d4\u0013@\u00f6(\\\u008f\u00c2u\u0018\u00c0\u00db\u00f9~j\u00bct\u0006@\t\u00ac\u001cZd;\u000f@\u00e9&1\b\u00ac\u009c\u0017\u00c0\u0011X9\u00b4\u00c8v\b@\u000e-\u00b2\u009d\u00ef'\u0014@\u00f8S\u00e3\u00a5\u009b\u00c4\u001c\u00c0Y9\u00b4\u00c8v\u00be\u000f@\u001eZd;\u00df\u00cf\u0014@\u00b6\u00f3\u00fd\u00d4x\u00e9\u0016\u00c0R\u00b8\u001e\u0085\u00ebQ\u00e0?V\u000e-\u00b2\u009do\u0015@\u001b/\u00dd$\u0006\u0081\u0018\u00c0\u00cd\u00cc\u00cc\u00cc\u00cc\u00cc\u00e0?d;\u00dfO\u008d\u0017\u0011@\u00e1z\u0014\u00aeG\u00e1\u0018\u00c0\u00a8\u00c6K7\u0089A\u00d0\u00bf333333\u0017@!\u00b0rh\u0091\u00ed\u0015\u00c0\u00fc\u00a9\u00f1\u00d2Mb\u00d0?\u00c3\u00f5(\\\u008fB\u0017@\u001eZd;\u00dfO\u001c\u00c0\u0018\u00d9\u00ce\u00f7S\u00e3\r@\u001eZd;\u00df\u00cf\u0019@/\u00dd$\u0006\u0081\u0095\u0006\u00c0&\u0006\u0081\u0095C\u008b\n@\u00b9\u001e\u0085\u00ebQ8\u001d@<\u00dfO\u008d\u0097n\t\u00c0\u00a4p=\n\u00d7#\u0013@\r\u0002+\u0087\u0016Y\u001a@\u0012\u0083\u00c0\u00ca\u00a1E\u00fc\u00bf\u00a4p=\n\u00d7\u00a3\u0016@|\u0014\u00aeG\u00e1z\u0018@-\u00b2\u009d\u00ef\u00a7\u00c6\u0001\u00c0\u00aa\u00f1\u00d2Mb\u0010\u0012@\u00baI\f\u0002+\u0087\u0017@\u00c9v\u00be\u009f\u001a/\u00dd\u00bf\u0018\u00d9\u00ce\u00f7S\u00e3\u0014@\u00a6\u009b\u00c4 \u00b02 @\u00b5\u00c8v\u00be\u009f\u001a\u00f9\u00bfw\u00be\u009f\u001a/]\u0011@\u00d0\u00f7S\u00e3\u00a5[!@\u0090\u00c2\u00f5(\\\u008f\u00f4\u00bf=\n\u00d7\u00a3p\u00bd\u0014@L7\u0089A`\u00e5\u0013@h\u0091\u00ed|?5\u00be\u00bf\u00bf\u009f\u001a/\u00dd$\u0019@\u00f4\u00fd\u00d4x\u00e9\u00a6 @\u00a4p=\n\u00d7\u00a3\u00e0\u00bf\u00bf\u009f\u001a/\u00dd\u00a4\u001b@\u00d4Mb\u0010X\u00b9\u001d@\u009c\u00c4 \u00b0rh\u00e1\u00bf\u00a0\u001a/\u00dd$\u0086\u001b@\u000e-\u00b2\u009d\u00efg\"@D\u008bl\u00e7\u00fb\u00a9\u00e9\u00bf@5^\u00baI\u008c\u0017@\u00c5 \u00b0rh\u00d1 @\u00b2\u009d\u00ef\u00a7\u00c6K\u00df?\u0002+\u0087\u0016\u00d9\u00ce\u0016@\u00b6\u00f3\u00fd\u00d4xi!@R\u00b8\u001e\u0085\u00ebQ\u0006\u00c0j\u00bct\u0093\u0018\u0084\u0013@43333s!@\u00e7\u00fb\u00a9\u00f1\u00d2M\n\u00c0\u007fj\u00bct\u0093\u0018\u000b@\u001b/\u00dd$\u0006\u0081\u0018@\u00e9&1\b\u00ac\u001c\u00d2?\u00c7K7\u0089A`\u0006@\u00f4\u00fd\u00d4x\u00e9\u00a6\u001b@Zd;\u00dfO\u008d\u00a7?\u008cl\u00e7\u00fb\u00a9\u00f1\u0007@\u0010X9\u00b4\u00c8\u00f6\u0014@L7\u0089A`\u00e5\u00f6?S\u00b8\u001e\u0085\u00ebQ\r@\u0014\u00aeG\u00e1z\u0094\u0015@h\u0091\u00ed|?5\u0002@\u00e1z\u0014\u00aeG\u00e1\b@\n\u00d7\u00a3p=\n\u000e@\u00bct\u0093\u0018\u0004V\u00f2?\u001b/\u00dd$\u0006\u0081\u00f9?\u00aa\u00f1\u00d2Mb\u0090\u0016@q=\n\u00d7\u00a3p\u00ff?\u00a3E\u00b6\u00f3\u00fd\u00d4\u00fc?k\u00bct\u0093\u0018\u0084\u001a@\"\u00b0rh\u0091\u00ed\u0002@z\u00e9&1\b\u00ac\u00ec?\u00e3\u00a5\u009b\u00c4 0\u0017@\u00e9&1\b\u00ac\u001c\u00f2?U\u00e3\u00a5\u009b\u00c4 \r@\u00b8\u001e\u0085\u00ebQ\u00b8\u0007@\n\u00d7\u00a3p=\n\u00ff?\u00db\u00f9~j\u00bct\u00ef?\u00ecQ\u00b8\u001e\u0085\u00eb\u0012@0\u00dd$\u0006\u0081\u0095\b@\u00ee|?5^\u00ba\u00ed?~?5^\u00baI\r@\u00c2\u00ca\u00a1E\u00b6\u00f3\u0006@\u00b4\u00c8v\u00be\u009f\u001a\u00fd?\u00f6(\\\u008f\u00c2u\u0013@\u0098n\u0012\u0083\u00c0J\u0011@\u001f\u0085\u00ebQ\u00b8\u001e\u0006@\u0012\u0083\u00c0\u00ca\u00a1E\u0011@\u00d3Mb\u0010X9\u0011@\u00d9\u00ce\u00f7S\u00e3\u00a5\u00f5?h\u0091\u00ed|?\u00b5\u0011@\u00a2E\u00b6\u00f3\u00fd\u00d4\u0014@\u001dZd;\u00dfO\u0000@\u0089A`\u00e5\u00d0\u00a2\u0017@\u00cd\u00cc\u00cc\u00cc\u00ccL\u0012@\u00f2\u00d2Mb\u0010X\u00d9\u00bfT\u00e3\u00a5\u009b\u00c4 \u0015@\u0015\u00aeG\u00e1z\u0014\u000b@\u00d1\"\u00db\u00f9~j\u00cc\u00bf\u00b3\u009d\u00ef\u00a7\u00c6K\u0019@\u00bf\u009f\u001a/\u00dd$\r@\u00f0\u00a7\u00c6K7\u0089\u00e9\u00bf\u00e1z\u0014\u00aeG\u00e1\u0012@\u00b6\u00f3\u00fd\u00d4x\u00e9\u0010@{\u0014\u00aeG\u00e1z\u00f2\u00bf\u0012\u0083\u00c0\u00ca\u00a1\u00c5\u0014@\u00f6(\\\u008f\u00c2\u00f5\u0004@\u00db\u00f9~j\u00bct\u0003@\u00b9\u001e\u0085\u00ebQ\u00b8\n@\u00c3\u00f5(\\\u008f\u00c2\u00b5?\u0082\u0095C\u008bl\u00e7\u00fd?\u00c3\u00f5(\\\u008f\u00c2\u000f@\u0018\u00d9\u00ce\u00f7S\u00e3\u00dd\u00bf\u0096C\u008bl\u00e7\u00fb\u0002@&\u0006\u0081\u0095C\u008b\u00fe?\u00e5\u00d0\"\u00db\u00f9~\u00d2\u00bf\u0084\u00c0\u00ca\u00a1E\u00b6\u00ff?\u00db\u00f9~j\u00bct\u00f5?B`\u00e5\u00d0\"\u00db\u00e1?\u00c6 \u00b0rh\u0091\u000e@z\u00e9&1\b\u00ac\u00f6?\u00d7\u00a3p=\n\u00d7\u00e3\u00bf\u00dd$\u0006\u0081\u0095C\u00f5?\u00fa~j\u00bct\u0093\u00fc?L7\u0089A`\u00e5\u00f6\u00bf\u00be\u009f\u001a/\u00dd$\u00fa?\u00a9\u00c6K7\u0089A\u0004@}?5^\u00baI\u0001\u00c0b\u0010X9\u00b4H\u0010@\u009c\u00c4 \u00b0rh\u00d1?\u00cav\u00be\u009f\u001a/\u00d5\u00bf\u00d1\"\u00db\u00f9~j\u00bc\u00bf\u00e1z\u0014\u00aeG\u00e1\u0000@e;\u00dfO\u008d\u0097\u00ee\u00bfH\u00e1z\u0014\u00aeG\u00c1\u00bf\u00dc\u00f9~j\u00bct\b@6^\u00baI\f\u0002\u00db\u00bf\u00e5\u00d0\"\u00db\u00f9~\u00da\u00bf\u00fa~j\u00bct\u0093\u00f6?\u00b6\u00f3\u00fd\u00d4x\u00e9\u00c6\u00bf\u000e-\u00b2\u009d\u00ef\u00a7\u00f6?\u0098n\u0012\u0083\u00c0\u00ca\u00d9?q=\n\u00d7\u00a3p\u0001\u00c0\u00ad\u001cZd;\u00df\u00ef?r=\n\u00d7\u00a3p\u00dd?\u00baI\f\u0002+\u0087\t\u00c0\u0002+\u0087\u0016\u00d9\u00ce\u00eb?y\u00e9&1\b\u00ac\u00d4\u00bf\u001dZd;\u00dfO\u00f9\u00bfd;\u00dfO\u008d\u0097\u0003@b\u0010X9\u00b4\u00c8\u00b6?r=\n\u00d7\u00a3p\u0002\u00c0\u00a8\u00c6K7\u0089A\u00f2\u00bfB`\u00e5\u00d0\"\u00db\u0000@\u00a2E\u00b6\u00f3\u00fd\u00d4\u0000\u00c0\n\u00d7\u00a3p=\n\u00e7\u00bf\u0081\u0095C\u008bl\u00e7\u0005@J\f\u0002+\u0087\u0016\u0007\u00c0=\n\u00d7\u00a3p=\u0000\u00c0\u00d7\u00a3p=\n\u00d7\u0004@[d;\u00dfO\u008d\u00fb\u00bf\u00cb\u00a1E\u00b6\u00f3\u00fd\u00f4\u00bf\u0006\u0081\u0095C\u008bl\u00f1?\u00c7K7\u0089A`\u0003\u00c0\u008f\u00c2\u00f5(\\\u008f\u0012@Zd;\u00dfO\u008d\u0002@\u00f4\u00fd\u00d4x\u00e9&\u00f3\u00bf\u008bl\u00e7\u00fb\u00a9\u00f1\u0010@\u00ef|?5^\u00ba\t@\u00e6\u00d0\"\u00db\u00f9~\u00f6\u00bf43333\u00b3\u0017@\u00c6 \u00b0rh\u0091\u00fd?h\u0091\u00ed|?5\u00fa\u00bf\u00e8\u00fb\u00a9\u00f1\u00d2M\u0017@\u00d3Mb\u0010X9\u00ec?\n\u00d7\u00a3p=\n\u0001\u00c0gfffff\u001b@\u0084\u00c0\u00ca\u00a1E\u00b6\u00fb?\u00dd$\u0006\u0081\u0095C\u00db\u00bfj\u00bct\u0093\u0018\u0004\u001a@\u00a6\u009b\u00c4 \u00b0r\u0006@\u009a\u0099\u0099\u0099\u0099\u0099\u0005\u00c0+\u0087\u0016\u00d9\u00ce\u00f7\u001a@\"\u00b0rh\u0091\u00ed\r@P\u008d\u0097n\u0012\u0083\u0001\u00c0\u00b2\u009d\u00ef\u00a7\u00c6\u00cb\u001d@y\u00e9&1\b\u00ac\u0003@\u0003+\u0087\u0016\u00d9\u00ce\b\u00c0\u00b8\u001e\u0085\u00ebQ8\u001f@-\u00b2\u009d\u00ef\u00a7\u00c6\u00ef?\u00edQ\u00b8\u001e\u0085\u00eb\u00d9\u00bfH\u00e1z\u0014\u00aeG\u0017@?5^\u00baI\f\b@\u00a9\u00c6K7\u0089A\u000f\u00c0j\u00bct\u0093\u0018\u0004\u0014@\u00f8S\u00e3\u00a5\u009b\u00c4\u000b@\u0005V\u000e-\u00b2\u009d\r\u00c0;\u00dfO\u008d\u0097\u00ee\u0019@\u00be\u009f\u001a/\u00dd$\u0003@C`\u00e5\u00d0\"\u00db\u00e5?\u00ee|?5^\u00ba\u0016@\u0096C\u008bl\u00e7\u00fb\u0007@\u0091\u00ed|?5^\u00e2?v\u0093\u0018\u0004V\u008e\u001c@\u00d5x\u00e9&1\b\u0001@433333\u0000@V\u000e-\u00b2\u009do @=\n\u00d7\u00a3p=\u0001@\u00cav\u00be\u009f\u001a/\u00ff?\u001a\u0004V\u000e-\u00b2\u001a@\u0006\u0081\u0095C\u008bl\u00e7?\u00e1z\u0014\u00aeG\u00e1\u0003@\u00f9S\u00e3\u00a5\u009bD\u001b@\u00fb~j\u00bct\u0093\t@\u00f0\u00a7\u00c6K7\u0089\b@\n\u00d7\u00a3p=\u008a\u001c@\u00dfO\u008d\u0097n\u0092\u0010@T\u00e3\u00a5\u009b\u00c4 \u0005@\u007fj\u00bct\u0093\u0018\u0017@\u00e0O\u008d\u0097n\u0012\u000b@\u001a\u0004V\u000e-\u00b2\n@B`\u00e5\u00d0\"\u00db\u001d@\u00a4p=\n\u00d7\u00a3\u00c0\u00bf\u00db\u00f9~j\u00bct\u0006@\u00aa\u00f1\u00d2Mb\u0090\u001e@\u00be\u009f\u001a/\u00dd$\u0007@\u00a8\u00c6K7\u0089A\u0011@&\u0006\u0081\u0095C\u000b\u001c@~?5^\u00baI\u0007@\u0019\u0004V\u000e-2\u0016@B`\u00e5\u00d0\"\u00db\u0017@R\u00b8\u001e\u0085\u00ebQ\t@i\u0091\u00ed|?5\u0016@\u00a2E\u00b6\u00f3\u00fd\u0014\"@(1\b\u00ac\u001cZ\u0005@\u0083\u00c0\u00ca\u00a1E6\u0011@\u00bct\u0093\u0018\u0004\u0016#@\u0000\u0000\u0000\u0000\u0000\u0000\u0006@\u0002+\u0087\u0016\u00d9\u00ce\n@\u00f5\u00fd\u00d4x\u00e9\u00a6\u001e@\u00d4Mb\u0010X9\u0005@6^\u00baI\f\u0002\u001b@\u00f9S\u00e3\u00a5\u009bD\u001c@V\u000e-\u00b2\u009d\u00ef\u0005@\u007fj\u00bct\u0093\u0098\u001e@\b\u00ac\u001cZd{#@X9\u00b4\u00c8v\u00be\u0002@\u00cc\u00a1E\u00b6\u00f3\u00fd\u0015@\u00aa\u00f1\u00d2Mb\u0090%@\f\u0002+\u0087\u0016\u00d9\u0000@ \u0085\u00ebQ\u00b8\u009e\u0015@7\u0089A`\u00e5\u0010\"@\u008aA`\u00e5\u00d0\"\u0002@\u00e2z\u0014\u00aeG\u00e1\u001a@\u00cf\u00f7S\u00e3\u00a5\u001b#@d;\u00dfO\u008d\u0097\u0000@\u00aa\u00f1\u00d2Mb\u0090\u001e@;\u00dfO\u008d\u0097n\u0015@\u0093\u0018\u0004V\u000e-\u00da?\u00fb~j\u00bct\u0093\u0004@\u001dZd;\u00df\u00cf\u0012@~?5^\u00baI\u00f2?\u0000\u0000\u0000\u0000\u0000\u0000\u0003@\u0085\u00ebQ\u00b8\u001e\u0085\u0013@\u00de$\u0006\u0081\u0095C\u00ef\u00bf+\u0087\u0016\u00d9\u00ce\u00f7\u0005@\u00db\u00f9~j\u00bct\u0014@\u00fc\u00a9\u00f1\u00d2Mb\u00f4\u00bf\u00c9v\u00be\u009f\u001a/\u000e@\u0098n\u0012\u0083\u00c0\u00ca\u000e@(1\b\u00ac\u001cZ\u00ec\u00bf\u0006\u0081\u0095C\u008bl\u0003@\u001dZd;\u00df\u00cf\u0016@\u00f4\u00fd\u00d4x\u00e9&\u00ff\u00bf\u00fb~j\u00bct\u0093\u00fe?\u0093\u0018\u0004V\u000e-\u0019@\u000e-\u00b2\u009d\u00ef\u00a7\u0006\u00c0L7\u0089A`\u00e5\u0003@m\u00e7\u00fb\u00a9\u00f1\u00d2\u0017@\u0013\u0083\u00c0\u00ca\u00a1E\u00fa\u00bf$\u00db\u00f9~j\u00bc\u00e4?\u00f1\u00a7\u00c6K7\u0089\u0015@j\u00bct\u0093\u0018\u0004\u00ee\u00bf\u008e\u0097n\u0012\u0083\u00c0\u00ca?\u001eZd;\u00dfO\u001b@9\u00b4\u00c8v\u00be\u009f\u0003\u00c0u\u0093\u0018\u0004V\u000e\u00cd\u00bf43333\u00b3\u0019@Ob\u0010X9\u00b4\u000b\u00c0~?5^\u00baI\u00cc\u00bf\u00cb\u00a1E\u00b6\u00f3} @\u0018\u00d9\u00ce\u00f7S\u00e3\u0004\u00c0\u00ad\u001cZd;\u00df\u00cf?\u00f6(\\\u008f\u00c2\u00f5\u001a@q=\n\u00d7\u00a3p\u00ff\u00bf\u008e\u0097n\u0012\u0083\u00c0\u00fa\u00bf\u00f6(\\\u008f\u00c2u\u001d@\u00ea&1\b\u00ac\u001c\u0004\u00c0\u0096C\u008bl\u00e7\u00fb\u0002\u00c0\u00a3E\u00b6\u00f3\u00fd\u00d4\u0016@\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00c0\u00d3Mb\u0010X9\u0000\u00c0W\u000e-\u00b2\u009do\u001c@\u0013\u0083\u00c0\u00ca\u00a1E\u00ee\u00bfZd;\u00dfO\u008d\u00f9\u00bf\u0089A`\u00e5\u00d0b!@\u00f9S\u00e3\u00a5\u009b\u00c4\r\u00c0}?5^\u00baI\u00e0?\u00a4p=\n\u00d7\u00e3!@5^\u00baI\f\u0002\u00f9\u00bf\u00cc\u00a1E\u00b6\u00f3\u00fd\u00e0?\u001f\u0085\u00ebQ\u00b8\u001e!@\u00a0\u001a/\u00dd$\u0006\u00e5\u00bf\u0091\u00ed|?5^\u00d2?\u00e5\u00d0\"\u00db\u00f9~$@d;\u00dfO\u008d\u0097\u00f8\u00bf\u0081\u0095C\u008bl\u00e7\u00f1?\u00cf\u00f7S\u00e3\u00a5\u00db%@e;\u00dfO\u008d\u0097\u00fe\u00bf_\u00baI\f\u0002+\u00d7?\\\u008f\u00c2\u00f5(\u009c$@\u000e-\u00b2\u009d\u00ef\u00a7\u0002\u00c0{\u0014\u00aeG\u00e1z\u0003@\u0083\u00c0\u00ca\u00a1E6%@*\\\u008f\u00c2\u00f5(\u00ac\u00bfNb\u0010X9\u00b4\u00f4?c\u0010X9\u00b4\b%@`\u00e5\u00d0\"\u00db\u00f9\u00de?`\u00e5\u00d0\"\u00db\u00f9\u00d6?\\\u008f\u00c2\u00f5(\u00dc#@\u00b2\u009d\u00ef\u00a7\u00c6K\u00d7?}?5^\u00baI\u0000@\u00f0\u00a7\u00c6K7\u0089&@\u0091\u00ed|?5^\b\u00c0/\u00dd$\u0006\u0081\u0095\u0005@d;\u00dfO\u008d\u00d7'@H\u00e1z\u0014\u00aeG\u00d1?\u00f0\u00a7\u00c6K7\u0089\u00fd?\u00bbI\f\u0002+\u0007*@u\u0093\u0018\u0004V\u000e\u00e1?\u0000\u0000\u0000\u0000\u0000\u0000\u00f0?H\u00e1z\u0014\u00ae\u00c7)@\u00d6x\u00e9&1\b\u00dc?\u0093\u0018\u0004V\u000e-\u00b2\u00bfJ\f\u0002+\u0087V(@ \u0085\u00ebQ\u00b8\u001e\u00dd?\u00d7\u00a3p=\n\u00d7\t@\u0017\u00d9\u00ce\u00f7S\u00a3&@_\u00baI\f\u0002+\u00d7?\u0089A`\u00e5\u00d0\"\u000f@\u00ff\u00d4x\u00e9&q,@\u00f2\u00d2Mb\u0010X\u00ed?\\\u008f\u00c2\u00f5(\\\u00f9?\u009a\u0099\u0099\u0099\u0099\u0019.@\u00c1\u00ca\u00a1E\u00b6\u00f3\u00f3?\u00d9\u00ce\u00f7S\u00e3\u00a5\u00ef?\u00f6(\\\u008f\u00c2\u00b5*@\u001b/\u00dd$\u0006\u0081\u00e9?<\u00dfO\u008d\u0097n\u000e@\u0088\u0016\u00d9\u00ce\u00f7\u00d3*@\u00d9\u00ce\u00f7S\u00e3\u00a5\u00ef?<\u00dfO\u008d\u0097n\u0013@\u00d8\u00a3p=\n\u00d7,@d;\u00dfO\u008d\u0097\u00f0?\u00d0\u00f7S\u00e3\u00a5\u009b\u0007@@5^\u00baI\u00cc.@\u0013\u0083\u00c0\u00ca\u00a1E\u00f4?\u00c3\u00f5(\\\u008f\u00c2\n@\u008e\u0097n\u0012\u0083\u0080\"@b\u0010X9\u00b4\u00c8\u0001\u00c0\"\u00b0rh\u0091\u00ed\t@\u00c7K7\u0089A\u00e0 @\u00ad\u001cZd;\u00df\u00fb\u00bf\u00a0\u001a/\u00dd$\u0006\u0007@\u00fc\u00a9\u00f1\u00d2Mb\"@sh\u0091\u00ed|?\u0006\u00c0\u0084\u00c0\u00ca\u00a1E6\u0012@\u000e-\u00b2\u009d\u00efg$@D\u008bl\u00e7\u00fb\u00a9\u0004\u00c0\u00e9&1\b\u00ac\u009c\u0013@\u0087\u0016\u00d9\u00ce\u00f7\u00d3!@-\u00b2\u009d\u00ef\u00a7F\u0011\u00c0\u00aeG\u00e1z\u0014\u00ae\u0011@Zd;\u00dfO\u008d @\u00d1\"\u00db\u00f9~j\u0000\u00c0\u007fj\u00bct\u0093\u0018\u0016@\u001eZd;\u00dfO\u001d@H\u00e1z\u0014\u00aeG\u0000\u00c0\u008bl\u00e7\u00fb\u00a9\u00f1\u0013@L7\u0089A`%#@\u00fb~j\u00bct\u0093\u0014\u00c0\u0097C\u008bl\u00e7{\u0014@R\u00b8\u001e\u0085\u00ebQ @\u009e\u00ef\u00a7\u00c6K7\u0006\u00c0\u00ea&1\b\u00ac\u009c\u001b@~?5^\u00ba\u00c9\u001e@\u00c9v\u00be\u009f\u001a/\u0001\u00c0\u00aeG\u00e1z\u0014\u00ae\u001e@H\u00e1z\u0014\u00aeG\"@1\b\u00ac\u001cZd\b\u00c0\u00e4\u00a5\u009b\u00c4 0\u001d@a\u00e5\u00d0\"\u00db\u00f9\u001d@6^\u00baI\f\u0002\r\u00c0<\u00dfO\u008d\u0097\u00ee\u001b@R\u00b8\u001e\u0085\u00eb\u0011!@\u00fe\u00d4x\u00e9&1\u00e4\u00bf\u00e5\u00d0\"\u00db\u00f9\u00fe\u0016@|\u0014\u00aeG\u00e1\u00ba\"@\u0093\u0018\u0004V\u000e-\u00da\u00bfNb\u0010X9\u00b4\u0019@\u0097C\u008bl\u00e7{\u001e@\u0014\u00aeG\u00e1z\u0014\u00ce\u00bf\u00dd$\u0006\u0081\u0095\u00c3\u0018@o\u0012\u0083\u00c0\u00caa!@\u00fa~j\u00bct\u0093\u0098\u00bfffffff\u0013@\u00f0\u00a7\u00c6K7\t @}?5^\u00ba\u00c9\u0012\u00c0\u00dd$\u0006\u0081\u0095C\f@\u0002+\u0087\u0016\u00d9N\u001e@\u0004V\u000e-\u00b2\u009d\u000f\u00c0333333\b@\u0018\u00d9\u00ce\u00f7S\u00e3\u001e@n\u00e7\u00fb\u00a9\u00f1R\u0018\u00c0\u0082\u0095C\u008bl\u00e7\t@\u008f\u00c2\u00f5(\\\u008f\u001d@\r\u0002+\u0087\u0016Y\u001a\u00c0\u00fa~j\u00bct\u0093\u0010@D\u008bl\u00e7\u00fb\u00e9!@\u00fd\u00a9\u00f1\u00d2Mb\u001b\u00c0\u00f1\u00a7\u00c6K7\u0089\u0005@\u00c5 \u00b0rh\u0011\u001a@x\u00be\u009f\u001a/]\u0018\u00c0o\u0012\u0083\u00c0\u00ca\u00a1\u0002@w\u00be\u009f\u001a/\u00dd\u0016@\u00fc\u00a9\u00f1\u00d2M\u00e2\u0015\u00c0!\u00b0rh\u0091\u00ed\u0005@R\u00b8\u001e\u0085\u00eb\u00d1\u0018@ffffff\u001c\u00c0\u0006\u0081\u0095C\u008bl\u0000@X9\u00b4\u00c8v>\u001b@\u0006\u0081\u0095C\u008bl\u0016\u00c0ffffff\u00f6?\u00db\u00f9~j\u00bc4\"@T\u00e3\u00a5\u009b\u00c4 \u00c0\u0092\u00ed|?5^\u0006@T\u00e3\u00a5\u009b\u00c4\u00a0#@\u00f0\u00a7\u00c6K7\u0089\u0018\u00c0\u0089A`\u00e5\u00d0\"\u00ff?H\u00e1z\u0014\u00ae\u0007#@sh\u0091\u00ed|\u00bf\u0014\u00c0:\u00b4\u00c8v\u00be\u009f\u00fc?\u00f9S\u00e3\u00a5\u009bD&@o\u0012\u0083\u00c0\u00ca\u00a1\u001a\u00c0\u008d\u0097n\u0012\u0083\u00c0\u00f6?M7\u0089A`%&@\u0002+\u0087\u0016\u00d9\u00ce\u001e\u00c0\u00ac\u001cZd;\u00df\u00f1?\u00c1\u00ca\u00a1E\u00b6s(@\\\u008f\u00c2\u00f5(\u00dc\u001a\u00c0\u00f4\u00fd\u00d4x\u00e9&\u0004@\u00cc\u00a1E\u00b6\u00f3\u00fd&@\u00e5\u00d0\"\u00db\u00f9\u00fe\u0016\u00c0\u0089A`\u00e5\u00d0\"\u00cb?\u00f7(\\\u008f\u00c2\u00b5&@\u00ac\u001cZd;\u00df\u0012\u00c0\u00a2E\u00b6\u00f3\u00fd\u00d4\u00e0?2\b\u00ac\u001cZ$)@>\n\u00d7\u00a3p\u00bd\u0017\u00c0\u00d1\"\u00db\u00f9~j\u00bc?\u00e3\u00a5\u009b\u00c4 \u00f0)@\u00a4p=\n\u00d7\u00a3\u001e\u00c0\u00aeG\u00e1z\u0014\u00ae\u0004@\u0098n\u0012\u0083\u00c0\u008a%@0\u00dd$\u0006\u0081\u0015\u0018\u00c01\b\u00ac\u001cZd\u00f1\u00bf\u00a4p=\n\u00d7c#@w\u00be\u009f\u001a/\u00dd\u0017\u00c0\u00d0\u00f7S\u00e3\u00a5\u009b\u00ec\u00bf\u00bct\u0093\u0018\u0004\u00d6%@i\u0091\u00ed|?5\u001c\u00c0}?5^\u00baI\u00f6\u00bf\u0002+\u0087\u0016\u00d9N&@\u00c9v\u00be\u009f\u001a/\u0014\u00c0;\u00dfO\u008d\u0097n\u0001\u00c0\u0091\u00ed|?5\u00de%@\u008f\u00c2\u00f5(\\\u000f\u0010\u00c0\u00fb~j\u00bct\u0093\u00fe\u00bf\u00aa\u00f1\u00d2MbP(@&\u0006\u0081\u0095C\u008b\u0014\u00c0\u0098n\u0012\u0083\u00c0\u00ca\u0004\u00c0\u00ee|?5^z$@\u00ecQ\u00b8\u001e\u0085k\u0015\u00c0\u00e0O\u008d\u0097n\u0012\u000b\u00c0T\u00e3\u00a5\u009b\u00c4`\"@R\u00b8\u001e\u0085\u00ebQ\u0015\u00c0\u0000\u0000\u0000\u0000\u0000\u0000\t\u00c0\u009b\u0099\u0099\u0099\u0099\u00d9$@\u00dfO\u008d\u0097n\u0092\u0019\u00c0\u00bdt\u0093\u0018\u0004V\r\u00c0\u0091\u00ed|?5\u00de$@\\\u008f\u00c2\u00f5(\u00dc\u0011\u00c0\u00fc\u00a9\u00f1\u00d2Mb\u0012\u00c0P\u008d\u0097n\u0012\u0083#@\u00d0\u00f7S\u00e3\u00a5\u009b\u0012\u00c0H\u00e1z\u0014\u00aeG\u0015\u00c0^\u00baI\f\u0002\u00ab&@u\u0093\u0018\u0004V\u000e\u0012\u00c0\u00afG\u00e1z\u0014.\u0014\u00c0\b\u00ac\u001cZd\u00bb$@\u00c2\u00ca\u00a1E\u00b6\u00f3\u000b\u00c0\u0012\u0083\u00c0\u00ca\u00a1E\u0011\u00c0\u00e8\u00fb\u00a9\u00f1\u00d2\u008d(@\n\u00d7\u00a3p=\n\u0017\u00c0p\u0012\u0083\u00c0\u00ca\u00a1\u000b@\u0085\u00ebQ\u00b8\u001e\u0085'@d;\u00dfO\u008d\u0097\u0013\u00c0\u0004V\u000e-\u00b2\u009d\n@\u0000\u0000\u0000\u0000\u0000@*@S\u00b8\u001e\u0085\u00ebQ\u0017\u00c0\u00dd$\u0006\u0081\u0095\u00c3\u0012@\u00e2z\u0014\u00aeGa,@\u00fd\u00a9\u00f1\u00d2M\u00e2\u0017\u00c0\u00b4\u00c8v\u00be\u009f\u001a\u0012@\u001dZd;\u00dfO)@\u00d3Mb\u0010X9\u001c\u00c0\u001dZd;\u00df\u00cf\u0015@$\u00db\u00f9~j\u00fc)@d;\u00dfO\u008d\u0017\u0012\u00c0\u0019\u0004V\u000e-2\u0016@\u009e\u00ef\u00a7\u00c6K\u00f7*@\u00b3\u009d\u00ef\u00a7\u00c6K\r\u00c0\u00bct\u0093\u0018\u0004V\u0014@2\b\u00ac\u001cZ\u00e4'@\u00d8\u00a3p=\n\u00d7\u0010\u00c0\u00a1\u001a/\u00dd$\u0006\u0016@\u0006\u0081\u0095C\u008b\u00ec*@\u0090\u00c2\u00f5(\\\u008f\u001f\u00c0h\u0091\u00ed|?5\u0017@\u00b2\u009d\u00ef\u00a7\u00c6\u000b+@(1\b\u00ac\u001c\u00da\u0012\u00c033333\u00b3\u001b@\\\u008f\u00c2\u00f5(\\)@*\\\u008f\u00c2\u00f5\u00a8\u0013\u00c0\u0002+\u0087\u0016\u00d9\u000e @\u00dd$\u0006\u0081\u0095C'@\u00e5\u00d0\"\u00db\u00f9~\u0014\u00c0\u008e\u0097n\u0012\u0083\u00c0\u001f@\u009c\u00c4 \u00b0r\u00a8-@{\u0014\u00aeG\u00e1z\u0012\u00c0\u009f\u00ef\u00a7\u00c6K\u00b7\u001d@i\u0091\u00ed|?u-@?5^\u00baI\f\u0013\u00c0Zd;\u00dfO\u008d!@Q\u008d\u0097n\u0012\u0003/@j\u00bct\u0093\u0018\u0084\u0012\u00c0\n\u00d7\u00a3p=\n#@\u0006\u0081\u0095C\u008b\u00ec*@\u00baI\f\u0002+\u0087\u0013\u00c0~?5^\u00baI\"@\f\u0002+\u0087\u0016\u0019*@w\u00be\u009f\u001a/\u00dd\u0013\u00c0T\u00e3\u00a5\u009b\u00c4 $@\u00cb\u00a1E\u00b6\u00f3\u00bd&@\u00f6(\\\u008f\u00c2u\u001c\u00c0\u0091\u00ed|?5\u00de\u0016@\u00f6(\\\u008f\u00c2\u00b5%@\u00ecQ\u00b8\u001e\u0085k\u0019\u00c0D\u008bl\u00e7\u00fb)\u0015@\u0087\u0016\u00d9\u00ce\u00f7S%@H\u00e1z\u0014\u00ae\u0087 \u00c0V\u000e-\u00b2\u009do\u0019@b\u0010X9\u00b4\b&@\u009e\u00ef\u00a7\u00c6Kw \u00c0\u008f\u00c2\u00f5(\\\u008f\u001d@\u00d3Mb\u0010X\u00f9%@o\u0012\u0083\u00c0\u00caa#\u00c0\u00dfO\u008d\u0097n\u0012\u0017@\u00b0rh\u0091\u00ed<\"@\u00dc\u00f9~j\u00bc\u00f4\u001f\u00c0\u00d4Mb\u0010X9\u001a@\u007fj\u00bct\u0093X!@\u00a2E\u00b6\u00f3\u00fd\u00d4\u001e\u00c0\u00b6\u00f3\u00fd\u00d4xi\u0016@)\\\u008f\u00c2\u00f5h!@h\u0091\u00ed|?\u00f5!\u00c0\u00d6x\u00e9&1\b\u001b@\u0098n\u0012\u0083\u00c0\u00ca&@q=\n\u00d7\u00a30%\u00c0\u00c5 \u00b0rh\u0011\u001a@j\u00bct\u0093\u0018D!@\u0017\u00d9\u00ce\u00f7S\u00e3\u001b\u00c0\u0084\u00c0\u00ca\u00a1E\u00b6\u001e@\u0094\u0018\u0004V\u000em\"@\u00fe\u00d4x\u00e9&1\u0018\u00c0\u00aa\u00f1\u00d2Mb\u0090\u001e@\u00ce\u00cc\u00cc\u00cc\u00cc\u00cc\u001c@\u0007\u0081\u0095C\u008bl\u001a\u00c0\u0082\u0095C\u008bl\u00e7\u001d@\u00cav\u00be\u009f\u001a/\u001c@\u00a4p=\n\u00d7#\u0018\u00c0#\u00db\u00f9~j<\u001a@h\u0091\u00ed|?5\u001a@2\b\u00ac\u001cZ\u00e4\u001d\u00c0\f\u0002+\u0087\u0016\u00d9\u001d@\u00de$\u0006\u0081\u0095\u00c3\u001b@b\u0010X9\u00b4\u00c8\u0017\u00c0\u00cf\u00f7S\u00e3\u00a5\u009b @+\u0087\u0016\u00d9\u00ce\u00b7!@\u00fc\u00a9\u00f1\u00d2Mb\u001e\u00c0\u00c9v\u00be\u009f\u001a/\"@\u00fe\u00d4x\u00e9&\u00b1 @&\u0006\u0081\u0095C\u000b\u001c\u00c0h\u0091\u00ed|?\u00b5#@43333s!@\u00f2\u00d2Mb\u0010X!\u00c0\f\u0002+\u0087\u0016Y\"@d;\u00dfO\u008d\u00d7#@G\u00b6\u00f3\u00fd\u00d4x\u001d\u00c0=\n\u00d7\u00a3p}\"@\u009a\u0099\u0099\u0099\u0099\u00d9%@\u00e2z\u0014\u00aeG\u00a1#\u00c0\u00c9v\u00be\u009f\u001a\u00af\u0011@43333\u00f3$@\u00bct\u0093\u0018\u0004\u0016\"\u00c0\u00a4p=\n\u00d7\u00a3\u000f@)\\\u008f\u00c2\u00f5\u00a8&@\u0098n\u0012\u0083\u00c0\n&\u00c0Nb\u0010X9\u00b4\r@33333s%@H\u00e1z\u0014\u00ae\u00c7'\u00c0$\u00db\u00f9~j\u00bc\u000f@D\u008bl\u00e7\u00fb\u00a9)@?5^\u00baI\u00cc&\u00c0\u00f2\u00d2Mb\u0010X\u000f@1\b\u00ac\u001cZd&@\u000e-\u00b2\u009d\u00efg%\u00c0\u00ac\u001cZd;\u00df\u0001@\u00c2\u00ca\u00a1E\u00b6\u00f3'@\u0012\u0083\u00c0\u00ca\u00a1\u0005$\u00c0\u00cd\u00cc\u00cc\u00cc\u00cc\u00cc\u00fe?\u001a\u0004V\u000e-\u00b2$@(1\b\u00ac\u001c\u001a$\u00c0\u00a0\u001a/\u00dd$\u0006\u0000@\u00d4Mb\u0010X9*@\u00b6\u00f3\u00fd\u00d4x))\u00c0\u0092\u00ed|?5^\u0010@\u00ee|?5^:&@\u0014\u00aeG\u00e1z\u00d4'\u00c0\u00c8K7\u0089A`\u00f5?>\n\u00d7\u00a3p\u00bd'@\u0090\u00c2\u00f5(\\O)\u00c00\u00dd$\u0006\u0081\u0095\u00f9??5^\u00baIL$@m\u00e7\u00fb\u00a9\u00f1\u00d2(\u00c0\u008bl\u00e7\u00fb\u00a9\u00f1\u00f6?%\u0006\u0081\u0095C\u008b&@\u00cf\u00f7S\u00e3\u00a5\u001b'\u00c0\u00c9v\u00be\u009f\u001a/\u00bd\u00bf\f\u0002+\u0087\u0016Y(@\u00be\u009f\u001a/\u00dd\u00e4%\u00c0\u00c3\u00f5(\\\u008f\u00c2\u00c5\u00bf\u00be\u009f\u001a/\u00dd\u00e4$@h\u0091\u00ed|?\u00f5%\u00c0w\u00be\u009f\u001a/\u00dd\u00e0\u00bf\b\u00ac\u001cZd;'@\u00f0\u00a7\u00c6K7\u00c9)\u00c0\u00f2\u00d2Mb\u0010X\u00ed\u00bfi\u0091\u00ed|?u'@V\u000e-\u00b2\u009d/)\u00c02\b\u00ac\u001cZd\u00ff\u00bf#\u00db\u00f9~j\u00fc(@\u008bl\u00e7\u00fb\u00a9\u00b1*\u00c0ffffff\u00de\u00bf\u0082\u0095C\u008bl'%@?5^\u00baI\u00cc+\u00c0333333\u00e7\u00bfy\u00e9&1\b,%@\\\u008f\u00c2\u00f5(\\-\u00c0\u0002+\u0087\u0016\u00d9\u00ce\u00f5\u00bf\u00d8\u00a3p=\nW#@\u00b7\u00f3\u00fd\u00d4x\u00e9*\u00c0\u008aA`\u00e5\u00d0\"\u00e7\u00bf\u00a6\u009b\u00c4 \u00b02%@[d;\u00dfO\u00cd,\u00c0\u008cl\u00e7\u00fb\u00a9\u00f1\u00c2?\u001c/\u00dd$\u0006\u0081+@\u0014\u00aeG\u00e1z\u00d4$\u00c0\u001b/\u00dd$\u0006\u0001\u0010@\f\u0002+\u0087\u0016\u00d9*@\u00b6\u00f3\u00fd\u00d4x\u00e9\"\u00c0h\u0091\u00ed|?5\u0010@\u00b9\u001e\u0085\u00ebQx.@E\u008bl\u00e7\u00fbi%\u00c0#\u00db\u00f9~j\u00bc\u0010@\u00e6\u00d0\"\u00db\u00f9\u00fe.@\u008bl\u00e7\u00fb\u00a91'\u00c0\u00f8S\u00e3\u00a5\u009b\u00c4\f@\u00d6x\u00e9&1\b/@43333s&\u00c0\u001c/\u00dd$\u0006\u0081\u0016@\u00e7\u00fb\u00a9\u00f1\u00d2-0@R\u00b8\u001e\u0085\u00eb\u0011#\u00c0$\u00db\u00f9~j\u00bc\u000e@\u0091\u00ed|?5\u00de/@-\u00b2\u009d\u00ef\u00a7F!\u00c0\u0093\u0018\u0004V\u000e\u00ad\u0011@\u007fj\u00bct\u0093X0@h\u0091\u00ed|?5(\u00c0\u00c1\u00ca\u00a1E\u00b6s\u0017@~?5^\u00ba\u00a91@h\u0091\u00ed|?\u00b5#\u00c0\u00dfO\u008d\u0097n\u0092\u0010@\u00a8\u00c6K7\u0089\u00e11@\u0019\u0004V\u000e-\u00b2\"\u00c0\u0091\u00ed|?5^\u0014@\u00baI\f\u0002+\u00e71@n\u00e7\u00fb\u00a9\u00f1\u00d2%\u00c0433333\u0010@sh\u0091\u00ed|?2@D\u008bl\u00e7\u00fb\u00a9\"\u00c0\u00cc\u00a1E\u00b6\u00f3\u00fd\n@fffff\u00060@\u00cav\u00be\u009f\u001a\u00af\"\u00c0$\u00db\u00f9~j\u00bc\u0003@\u00de$\u0006\u0081\u0095#0@th\u0091\u00ed|?$\u00c0y\u00e9&1\b\u00ac\u00fe?\u00f3\u00d2Mb\u0010\u00d8-@\u00ab\u00f1\u00d2Mb\u0010%\u00c0k\u00bct\u0093\u0018\u0084\u001a@ \u0085\u00ebQ\u00b8\u00de,@R\u00b8\u001e\u0085\u00ebQ#\u00c0\u00d7\u00a3p=\n\u00d7\u0019@\u00ce\u00cc\u00cc\u00cc\u00cc\f.@\u0089A`\u00e5\u00d0\"&\u00c0B`\u00e5\u00d0\"\u001b @H\u00e1z\u0014\u00ae\u00070@\\\u008f\u00c2\u00f5(\u00dc&\u00c0{\u0014\u00aeG\u00e1z @}?5^\u00ba\u0089,@}?5^\u00ba\u00c9(\u00c0d;\u00dfO\u008d\u0097 @\u0086\u00ebQ\u00b8\u001e\u00c5-@\u00ee|?5^\u00ba#\u00c0\u00cb\u00a1E\u00b6\u00f3\u00fd!@\u0001\u0000\u0000\u0000\u0000\u0080.@L7\u0089A`e$\u00c0!\u00b0rh\u0091\u00ed#@gffff\u00a6,@\u00e0O\u008d\u0097n\u00d2)\u00c0}?5^\u00ba\u00c9\"@\u008aA`\u00e5\u00d0\u00e2*@b\u0010X9\u00b4\u00c8\"\u00c0X9\u00b4\u00c8v>\"@d;\u00dfO\u008dW*@\u0014\u00aeG\u00e1z\u00d4!\u00c0w\u00be\u009f\u001a/] @\u0082\u0095C\u008bl\u00a7)@0\u00dd$\u0006\u0081\u0095$\u00c0-\u00b2\u009d\u00ef\u00a7\u0086\"@<\u00dfO\u008d\u0097\u00ae/@\u00d3Mb\u0010Xy!\u00c0'1\b\u00ac\u001c\u001a!@\u0085\u00ebQ\u00b8\u001e\u00050@/\u00dd$\u0006\u0081U \u00c0\u00b6\u00f3\u00fd\u00d4x\u00e9\"@\u00f3\u00d2Mb\u0010\u00d8.@\u00e3\u00a5\u009b\u00c4 0 \u00c0\u00ea&1\b\u00ac\u001c\u001f@\u00de$\u0006\u0081\u0095\u00c30@\u00d7\u00a3p=\nW\"\u00c0\u00e0O\u008d\u0097nR @\"\u00b0rh\u0091-*@o\u0012\u0083\u00c0\u00ca!!\u00c0\u00e3\u00a5\u009b\u00c4 \u00b0$@V\u000e-\u00b2\u009do(@\u00c3\u00f5(\\\u008f\u00c2\u001f\u00c0\u00fe\u00d4x\u00e9&q$@\u00a7\u009b\u00c4 \u00b0\u00f2+@\u00b7\u00f3\u00fd\u00d4x\u00e9\u001f\u00c0W\u000e-\u00b2\u009d/%@\u0085\u00ebQ\u00b8\u001e\u00c5)@\u00dc\u00f9~j\u00bct\"\u00c0\u00e1z\u0014\u00aeGa&@y\u00e9&1\b,+@\u00a6\u009b\u00c4 \u00b0\u00f2)\u00c0\u00d3Mb\u0010X9\u001d@p\u0012\u0083\u00c0\u00caa+@p\u0012\u0083\u00c0\u00ca!)\u00c0@5^\u00baI\u008c\u0019@\u00a2E\u00b6\u00f3\u00fd\u0094)@\u00a5p=\n\u00d7c,\u00c0@5^\u00baI\u008c\u001d@\"\u00b0rh\u0091\u00ed(@\u00afG\u00e1z\u0014\u00ae,\u00c0\u008bl\u00e7\u00fb\u00a9q\u0019@\u00dc\u00f9~j\u00bc4'@\u00ef|?5^:,\u00c0\u00e9&1\b\u00ac\u00dc @\u00be\u009f\u001a/\u00ddd+@\u00fa~j\u00bct\u00d3.\u00c0(1\b\u00ac\u001c\u00da\u001d@\u008e\u0097n\u0012\u0083\u0080,@6^\u00baI\f\u00c2.\u00c0u\u0093\u0018\u0004V\u00ce @\u00a0\u001a/\u00dd$\u0006*@\u00c4\u00f5(\\\u008fB0\u00c0\u00d7\u00a3p=\n\u00d7\u001d@y\u00e9&1\bl&@\u00fd\u00a9\u00f1\u00d2M\".\u00c0Zd;\u00dfOM\"@!\u00b0rh\u0091m-@<\u00dfO\u008d\u0097n/\u00c0\u0007\u0081\u0095C\u008bl\u0019@\u0000\u0000\u0000\u0000\u0000\u00c0,@L7\u0089A`\u00a5/\u00c0\u0081\u0095C\u008blg\u0014@\u00b3\u009d\u00ef\u00a7\u00c6\u00cb*@{\u0014\u00aeG\u00e1z/\u00c0\u00ecQ\u00b8\u001e\u0085k\u0013@\u0081\u0095C\u008bl'.@\u001a\u0004V\u000e-\u00f2/\u00c0/\u00dd$\u0006\u0081\u0095\u0011@\u00ad\u001cZd;\u00df/@2\b\u00ac\u001cZ\u00a4/\u00c0\u00fc\u00a9\u00f1\u00d2M\u00e2\u0019@Zd;\u00dfO\r&@\u008f\u00c2\u00f5(\\\u00cf)\u00c0\u0019\u0004V\u000e-2!@\u0015\u00aeG\u00e1zT&@\u0088\u0016\u00d9\u00ce\u00f7\u0093(\u00c0\u00b8\u001e\u0085\u00ebQ8\u001f@m\u00e7\u00fb\u00a9\u00f1\u00d2#@q=\n\u00d7\u00a30)\u00c0\u00fe\u00d4x\u00e9&\u00f1\"@\u00baI\f\u0002+G#@]\u008f\u00c2\u00f5(\u001c+\u00c0\u0014\u00aeG\u00e1z\u00d4#@\u0012\u0083\u00c0\u00ca\u00a1E!@\u00cd\u00cc\u00cc\u00cc\u00ccL(\u00c0w\u00be\u009f\u001a/\u009d!@\u0081\u0095C\u008bl\u00a7$@r=\n\u00d7\u00a3p'\u00c0\u00f2\u00d2Mb\u0010X%@\u00ecQ\u00b8\u001e\u0085\u00eb\"@\u0017\u00d9\u00ce\u00f7S\u00a3&\u00c0\u0082\u0095C\u008blg&@ \u0085\u00ebQ\u00b8\u00de%@o\u0012\u0083\u00c0\u00ca\u00e1%\u00c0\u0081\u0095C\u008blg$@\u008aA`\u00e5\u00d0\u00a2\u001f@\u00b5\u00c8v\u00be\u009f\u009a&\u00c0\u00a6\u009b\u00c4 \u00b0r\"@\u00d4Mb\u0010Xy&@\u00d1\"\u00db\u00f9~\u00aa(\u00c0\u008e\u0097n\u0012\u0083\u0080'@b\u0010X9\u00b4\b(@\u00bbI\f\u0002+\u0007*\u00c0\u0091\u00ed|?5\u00de&@\u00c7K7\u0089A\u00a0'@D\u008bl\u00e7\u00fb)'\u00c0\u00bdt\u0093\u0018\u0004\u0096(@\u0018\u00d9\u00ce\u00f7S\u00e3$@>\n\u00d7\u00a3p\u00fd)\u00c0\u00f9S\u00e3\u00a5\u009b\u00c4)@\u00e7\u00fb\u00a9\u00f1\u00d2\r$@\u009b\u0099\u0099\u0099\u0099\u0099(\u00c0\u009d\u00c4 \u00b0r\u00e8+@(1\b\u00ac\u001c\u001a$@\u00a2E\u00b6\u00f3\u00fd\u0094&\u00c0\u00d5x\u00e9&1\u00c8+@\u0012\u0083\u00c0\u00ca\u00a1\u0005#@{\u0014\u00aeG\u00e1z)\u00c0\u008aA`\u00e5\u00d0b-@Ob\u0010X9t$@\u00b1rh\u0091\u00ed|,\u00c0i\u0091\u00ed|?\u00f5)@\u00de$\u0006\u0081\u0095\u00c3 @$\u00db\u00f9~j\u00bc)\u00c0\u00d9\u00ce\u00f7S\u00e3\u00a5\u001e@\u00a8\u00c6K7\u0089\u00c1!@^\u00baI\f\u0002k+\u00c043333\u00b3\u001d@d;\u00dfO\u008d\u0097\u001c@a\u00e5\u00d0\"\u00db9)\u00c0\u00f3\u00d2Mb\u0010X\u001b@\u0090\u00c2\u00f5(\\\u000f\u001d@\u00e2z\u0014\u00aeG!'\u00c0Nb\u0010X94\u001a@{\u0014\u00aeG\u00e1\u00fa\u0016@S\u00b8\u001e\u0085\u00eb\u0091)\u00c05^\u00baI\f\u0002\u001e@h\u0091\u00ed|?\u00b5\u001c@\u00ecQ\u00b8\u001e\u0085\u00eb*\u00c0\u00cav\u00be\u009f\u001a/\u0016@\u0007\u0081\u0095C\u008bl\u0019@\u0089A`\u00e5\u00d0\"*\u00c0\u00b2\u009d\u00ef\u00a7\u00c6\u00cb\u0013@\u0015\u00aeG\u00e1z\u0094\u001c@\u0001\u0000\u0000\u0000\u0000\u0000-\u00c0\u00cb\u00a1E\u00b6\u00f3}\u0017@\u000e-\u00b2\u009d\u00ef'\u0013@\u00a5p=\n\u00d7\u00e3(\u00c0W\u000e-\u00b2\u009do\u001b@=\n\u00d7\u00a3p\u00fd @v\u0093\u0018\u0004VN*\u00c0\u00c9v\u00be\u009f\u001a/\u0013@\u009e\u00ef\u00a7\u00c6Kw @J\f\u0002+\u0087\u0096*\u00c0\u00edQ\u00b8\u001e\u0085\u00eb\r@\u0091\u00ed|?5^!@\u0094\u0018\u0004V\u000e-(\u00c0+\u0087\u0016\u00d9\u00cew\u0013@\u000e-\u00b2\u009d\u00efg#@\u0011X9\u00b4\u00c86,\u00c0^\u00baI\f\u0002+\u0014@\u0018\u00d9\u00ce\u00f7S\u00e3$@\u000e-\u00b2\u009d\u00ef\u00e7,\u00c0\u00a0\u001a/\u00dd$\u0086\u0010@\u00b4\u00c8v\u00be\u009f\u009a#@I\u00e1z\u0014\u00aeG-\u00c0\u00a2E\u00b6\u00f3\u00fd\u00d4\u0018@\"\u00b0rh\u0091m\u0016@\u0097C\u008bl\u00e7\u00bb*\u00c0\u001f\u0085\u00ebQ\u00b8^!@\u001eZd;\u00df\u00cf\u0019@\u00d3Mb\u0010X\u00f9*\u00c0`\u00e5\u00d0\"\u00dby\"@\n\u00d7\u00a3p=\n\u0011@\u00e4\u00a5\u009b\u00c4 p*\u00c0\u008bl\u00e7\u00fb\u00a9\u00b1\"@\u00f0\u00a7\u00c6K7\u0089\f@\u0004V\u000e-\u00b2\u009d+\u00c0\u00a8\u00c6K7\u0089\u0081!@y\u00e9&1\b\u00ac\u000e@\u0098n\u0012\u0083\u00c0\u008a'\u00c0>\n\u00d7\u00a3p\u00fd\"@\u00f4\u00fd\u00d4x\u00e9&\u0011@u\u0093\u0018\u0004V\u00ce+\u00c0E\u008bl\u00e7\u00fbi%@\u00fd\u00a9\u00f1\u00d2Mb\n@\u00d8\u00a3p=\n\u00d7+\u00c0\u00e7\u00fb\u00a9\u00f1\u00d2M&@P\u008d\u0097n\u0012\u0083\u0011@\u00f7(\\\u008f\u00c2\u00f5-\u00c0`\u00e5\u00d0\"\u00db9%@m\u00e7\u00fb\u00a9\u00f1\u00d2\u0004@D\u008bl\u00e7\u00fb)'\u00c0333333#@\u00f6(\\\u008f\u00c2u\u0014@\u00e2z\u0014\u00aeG\u00a1*\u00c0\u0011X9\u00b4\u00c86'@\u00d1\"\u00db\u00f9~\u00ea\u0017@\u00a2E\u00b6\u00f3\u00fdT+\u00c0R\u00b8\u001e\u0085\u00eb\u00d1&@\u00a4p=\n\u00d7#\u0013@<\u00dfO\u008d\u0097\u00ae%\u00c0\u00d7\u00a3p=\n\u0017#@0\u00dd$\u0006\u0081\u0015\u0017@\u00fc\u00a9\u00f1\u00d2M\"&\u00c0sh\u0091\u00ed|\u00ff\"@!\u00b0rh\u0091\u00ed\u0011@\u009a\u0099\u0099\u0099\u0099\u00d9\"\u00c0\u00ac\u001cZd;_#@\u00f9S\u00e3\u00a5\u009b\u00c4\u000e@\u00be\u009f\u001a/\u00dd\u00a4\"\u00c0\u00be\u009f\u001a/\u00dd$%@y\u00e9&1\b\u00ac\u000e@}?5^\u00ba\u0089!\u00c0\u008aA`\u00e5\u00d0\u00e2 @\u00f8S\u00e3\u00a5\u009b\u00c4\u0016@\u001eZd;\u00dfO!\u00c0\u00cf\u00f7S\u00e3\u00a5\u001b$@\u00f8S\u00e3\u00a5\u009b\u00c4\u0015@\u00aa\u00f1\u00d2Mb\u0090\u001e\u00c0\u00dc\u00f9~j\u00bc\u00b4$@\u00f0\u00a7\u00c6K7\u0089\u0019@\u0089A`\u00e5\u00d0\"!\u00c0D\u008bl\u00e7\u00fbi\"@\u00cd\u00cc\u00cc\u00cc\u00cc\u00cc\n@43333\u00b3\u001e\u00c0\u007fj\u00bct\u0093\u0018!@\u009d\u00c4 \u00b0rh\u001a@\u007fj\u00bct\u0093\u00d8\"\u00c0\u00fa~j\u00bct\u00d3&@:\u00b4\u00c8v\u00be\u001f\u001c@\u00b6\u00f3\u00fd\u00d4x\u00a9$\u00c0\u00bct\u0093\u0018\u0004\u0016%@>\n\u00d7\u00a3p=\u000f@L7\u0089A`\u00e5\"\u00c0\n\u00d7\u00a3p=\n\u001d@\u0096C\u008bl\u00e7\u00fb\u0010@\u00d6x\u00e9&1\u00c8$\u00c0h\u0091\u00ed|?\u00b5\u001c@\u00e0O\u008d\u0097n\u0012\u000b@\u00ac\u001cZd;\u009f!\u00c0z\u00e9&1\b,\u0018@\u0000\u0000\u0000\u0000\u0000\u0000\u000e@\u00cav\u00be\u009f\u001a/\u001f\u00c0\u00b1rh\u0091\u00ed|\u0017@r=\n\u00d7\u00a3p\u00fd?b\u0010X9\u00b4\u0088!\u00c0\n\u00d7\u00a3p=\n\u0018@\u00d1\"\u00db\u00f9~j\u0010@\u00e1z\u0014\u00aeG!#\u00c0\u00db\u00f9~j\u00bct\u0013@\u001c/\u00dd$\u0006\u0081\u0010@b\u0010X9\u00b4H%\u00c0X9\u00b4\u00c8v>\u0014@\u00baI\f\u0002+\u0087\u00f4?\u0092\u00ed|?5^\u001f\u00c0\u0014\u00aeG\u00e1z\u0014\u0016@\u00cb\u00a1E\u00b6\u00f3}\u0016@h\u0091\u00ed|?5\"\u00c0\u00d3Mb\u0010X9\u0013@\u0000\u0000\u0000\u0000\u0000\u0080\u0016@\u0004V\u000e-\u00b2\u001d \u00c0\u00cb\u00a1E\u00b6\u00f3\u00fd\u0011@\u0018\u00d9\u00ce\u00f7Sc\u0018@\u00c7K7\u0089A`\"\u00c0\u0094\u0018\u0004V\u000e-\u0017@M7\u0089A`\u00e5\n@^\u00baI\f\u0002\u00ab\"\u00c0S\u00b8\u001e\u0085\u00ebQ\f@\u00f6(\\\u008f\u00c2\u00f5\u0002@-\u00b2\u009d\u00ef\u00a7\u0086#\u00c0\u00a7\u009b\u00c4 \u00b0r\r@\u00dc\u00f9~j\u00bct\b@'1\b\u00ac\u001c\u009a \u00c0\u00a2E\u00b6\u00f3\u00fd\u00d4\n@j\u00bct\u0093\u0018\u0004\u000f@\u00fc\u00a9\u00f1\u00d2M\u00a2#\u00c0z\u00e9&1\b\u00ac\u0005@\u00fa~j\u00bct\u0013\u001a@\u00d1\"\u00db\u00f9~\u00ea#\u00c0P\u008d\u0097n\u0012\u0083\u000f@ \u0085\u00ebQ\u00b8\u009e\u0019@S\u00b8\u001e\u0085\u00eb\u0011&\u00c0R\u00b8\u001e\u0085\u00ebQ\u0010@\u00ce\u00cc\u00cc\u00cc\u00ccL\u0019@0\u00dd$\u0006\u0081\u0095#\u00c0,\u0087\u0016\u00d9\u00ce\u00f7\u0006@Ob\u0010X94\u001e@\u00fe\u00d4x\u00e9&q#\u00c0R\u00b8\u001e\u0085\u00eb\u00d1\u0010@\u00c1\u00ca\u00a1E\u00b6\u00f3\u00f3?d;\u00dfO\u008dW#\u00c0\u00da\u00ce\u00f7S\u00e3%\u001b@\b\u00ac\u001cZd;\u00fd?~?5^\u00ba\u00c9$\u00c0}?5^\u00ba\u00c9\u001c@\u0011X9\u00b4\u00c8v\u00ce\u00bf\u0093\u0018\u0004V\u000em#\u00c0\u00a7\u009b\u00c4 \u00b0\u00f2\u001b@sh\u0091\u00ed|?\u00e5\u00bf\u00f6(\\\u008f\u00c2\u00f5\"\u00c0\u0014\u00aeG\u00e1z\u0014\u0018@\u00dfO\u008d\u0097n\u0012\u00e7\u00bffffff\u00e6 \u00c0\u001dZd;\u00dfO\u001f@\u00aeG\u00e1z\u0014\u00ae\u00e7\u00bfH\u00e1z\u0014\u00aeG&\u00c0z\u00e9&1\b,\u001d@\u00de$\u0006\u0081\u0095C\u00fd\u00bf\u00d0\u00f7S\u00e3\u00a5\u001b&\u00c0v\u0093\u0018\u0004V\u008e\u001d@\u00e8\u00fb\u00a9\u00f1\u00d2M\u00d2\u00bf\u00d9\u00ce\u00f7S\u00e3\u00e5&\u00c0h\u0091\u00ed|?u @k\u00bct\u0093\u0018\u0004\u00f8\u00bf\u0081\u0095C\u008blg\u001e\u00c0~?5^\u00baI\u001d@~?5^\u00baI\u00dc\u00bf\u00a8\u00c6K7\u0089\u0081(\u00c0\u00f4\u00fd\u00d4x\u00e9&\u0019@P\u008d\u0097n\u0012\u0083\u00e4?+\u0087\u0016\u00d9\u00ce\u00b7(\u00c0\u00a9\u00c6K7\u0089A\u0019@_\u00baI\f\u0002+\u00e7\u00bf33333s*\u00c0\u00de$\u0006\u0081\u0095\u00c3\u001a@`\u00e5\u00d0\"\u00db\u00f9\u00f0\u00bf\u001b/\u00dd$\u0006A(\u00c0\u008bl\u00e7\u00fb\u00a9q\u0013@\u00db\u00f9~j\u00bct\u0000\u00c0\u00ecQ\u00b8\u001e\u0085\u00ab&\u00c0\u00c1\u00ca\u00a1E\u00b6\u00f3\u0012@\u00b0rh\u0091\u00ed|\u00e3\u00bf\u0082\u0095C\u008bl\u00a7)\u00c0\u00fd\u00a9\u00f1\u00d2Mb\u000f@o\u0012\u0083\u00c0\u00ca\u00a1\u00d5\u00bf\u00bct\u0093\u0018\u0004\u0096 \u00c0\u00c9v\u00be\u009f\u001a/\"@q=\n\u00d7\u00a3p\u00e5\u00bf\u000b\u00d7\u00a3p=\n\u001c\u00c0\u00d2\"\u00db\u00f9~j#@\u00c5 \u00b0rh\u0091\u00fb\u00bf<\u00dfO\u008d\u0097\u00ee\u001a\u00c0\u00fc\u00a9\u00f1\u00d2Mb#@\u0019\u0004V\u000e-\u00b2\u00ad\u00bf\u007fj\u00bct\u0093\u0018\u0017\u00c033333\u00f3!@J\f\u0002+\u0087\u0016\u00d1\u00bfX9\u00b4\u00c8v\u00be\u001c\u00c0\u00c7K7\u0089A`&@Nb\u0010X9\u00b4\u00c8?\u00e0O\u008d\u0097n\u0012\u0019\u00c0e;\u00dfO\u008d\u0017'@L7\u0089A`\u00e5\u00f2\u00bf\u0003+\u0087\u0016\u00d9\u00ce\u001d\u00c0\u00ff\u00d4x\u00e9&q'@\u0010X9\u00b4\u00c8v\u00e2\u00bf\u000e-\u00b2\u009d\u00ef\u00a7\u0012\u00c0\f\u0002+\u0087\u0016Y\"@\u0093\u0018\u0004V\u000e-\u00ea?\u00b8\u001e\u0085\u00ebQ8 \u00c0X9\u00b4\u00c8v>&@\u007fj\u00bct\u0093\u0018\u00fc?\u0013\u0083\u00c0\u00ca\u00a1E\u001e\u00c0\u00d2\"\u00db\u00f9~\u00ea%@\u00baI\f\u0002+\u0087\u00ee?\u00dfO\u008d\u0097nR!\u00c0\u00b4\u00c8v\u00be\u009f\u001a(@%\u0006\u0081\u0095C\u008b\u00e0?\u00b2\u009d\u00ef\u00a7\u00c6\u000b\"\u00c0\u00b8\u001e\u0085\u00ebQ\u00b8#@9\u00b4\u00c8v\u00be\u009f\u009a?)\\\u008f\u00c2\u00f5\u00e8#\u00c0d;\u00dfO\u008dW$@R\u00b8\u001e\u0085\u00ebQ\u00f6?\f\u0002+\u0087\u0016\u00d9\"\u00c0\u008bl\u00e7\u00fb\u00a9\u00b1\"@\f\u0002+\u0087\u0016\u00d9\u00ee?/\u00dd$\u0006\u0081\u0095\u0017\u00c0\u0096C\u008bl\u00e7; @2\b\u00ac\u001cZd\u00f5?\u00aeG\u00e1z\u0014.\u001b\u00c0(1\b\u00ac\u001cZ\u001f@\u0003+\u0087\u0016\u00d9\u00ce\u00f7?q=\n\u00d7\u00a3\u00f0\u0012\u00c043333\u00b3\u001d@^\u00baI\f\u0002+\u00f9?\t\u00ac\u001cZd;\u000f\u00c0\u00e6\u00d0\"\u00db\u00f9> @\u00baI\f\u0002+\u0087\u00de?\u00aa\u00f1\u00d2Mb\u0010\u0011\u00c0<\u00dfO\u008d\u0097n\u0019@\u00cf\u00f7S\u00e3\u00a5\u009b\u0006@9\u00b4\u00c8v\u00be\u001f\u0014\u00c0/\u00dd$\u0006\u0081\u0095\u001b@\u00c8K7\u0089A`\u0005@ \u0085\u00ebQ\u00b8\u001e\u0018\u00c01\b\u00ac\u001cZ\u00e4\u0019@\u0004V\u000e-\u00b2\u009d\u000b@\u00f5\u00fd\u00d4x\u00e9\u00a6\u0014\u00c0\u009a\u0099\u0099\u0099\u0099\u0019\u001f@\u0092\u00ed|?5^\u00ba?\u00c4\u00f5(\\\u008f\u00c2\b\u00c0\u0088\u0016\u00d9\u00ce\u00f7\u00d3\u0018@\u0084\u00c0\u00ca\u00a1E\u00b6\u000b@\u0083\u00c0\u00ca\u00a1E6\u0010\u00c0\u00ab\u00f1\u00d2Mb\u0090\u0017@z\u00e9&1\b\u00ac\u0006@\u00d9\u00ce\u00f7S\u00e3\u00a5\u000f\u00c0v\u0093\u0018\u0004V\u000e\u0014@h\u0091\u00ed|?5\r@D\u008bl\u00e7\u00fb\u00a9\u0004\u00c0c\u0010X9\u00b4\u00c8\u0019@?5^\u00baI\f\u0011@\u0000\u0000\u0000\u0000\u0000\u0000\u0005\u00c0M7\u0089A`e\u001d@q=\n\u00d7\u00a3p\u0005@\n\u00d7\u00a3p=\n\u0001\u00c0\u0004V\u000e-\u00b2\u009d\u001a@}?5^\u00ba\u00c9\u0010@\u00aeG\u00e1z\u0014\u00ae\u00ff\u00bf\u009d\u00c4 \u00b0r\u00e8\u0016@\u0087\u0016\u00d9\u00ce\u00f7S\u0013@\u001b/\u00dd$\u0006\u0081\u0012\u00c0\u0098n\u0012\u0083\u00c0J\u0016@\u00e4\u00a5\u009b\u00c4 \u00b0\u0015@)\\\u008f\u00c2\u00f5(\u0012\u00c0\u00edQ\u00b8\u001e\u0085\u00eb\u0019@\u0083\u00c0\u00ca\u00a1E6\u0015@\u008d\u0097n\u0012\u0083@\u0010\u00c0\u00f0\u00a7\u00c6K7\t\u0013@V\u000e-\u00b2\u009do\u0013@E\u008bl\u00e7\u00fb\u00a9\u0016\u00c0\u00cb\u00a1E\u00b6\u00f3\u00fd\u0014@m\u00e7\u00fb\u00a9\u00f1\u00d2\u00cd\u00bf\u00a2E\u00b6\u00f3\u00fd\u00d4\u0014\u00c0\u00a3E\u00b6\u00f3\u00fd\u00d4\u0016@z\u00e9&1\b\u00ac|?\u00cav\u00be\u009f\u001a\u00af\u0018\u00c05^\u00baI\f\u0082\u0017@\u0002+\u0087\u0016\u00d9\u00ce\u00f5\u00bfy\u00e9&1\b\u00ac\u0013\u00c0o\u0012\u0083\u00c0\u00ca!\u0013@\u0014\u00aeG\u00e1z\u0014\u00f0\u00bfn\u00e7\u00fb\u00a9\u00f1\u00d2\u0010\u00c0^\u00baI\f\u0002+\u0010@\u0002+\u0087\u0016\u00d9\u00ce\u0003\u00c0F\u00b6\u00f3\u00fd\u00d4x\u0010\u00c0\"\u00b0rh\u0091m\u0016@\u00d0\u00f7S\u00e3\u00a5\u009b\u00fe\u00bf\u00b3\u009d\u00ef\u00a7\u00c6K\u0018\u00c0&\u0006\u0081\u0095C\u008b\u000f@\u001c/\u00dd$\u0006\u0081\u00ff\u00bf\u008d\u0097n\u0012\u0083\u00c0\u001b\u00c0;\u00dfO\u008d\u0097n\u0012@\u001b/\u00dd$\u0006\u0081\u00f1\u00bf/\u00dd$\u0006\u0081\u0015\u0019\u00c0`\u00e5\u00d0\"\u00db\u00f9\t@n\u00e7\u00fb\u00a9\u00f1\u00d2\u0006\u00c0Y9\u00b4\u00c8v>\u0017\u00c09\u00b4\u00c8v\u00be\u009f\u000b@\u00a2E\u00b6\u00f3\u00fd\u00d4\u0007\u00c0\u008cl\u00e7\u00fb\u00a9\u00f1\b\u00c0\u0019\u0004V\u000e-2\u0014@\u009a\u0099\u0099\u0099\u0099\u0099\u0007\u00c0\u00e5\u00d0\"\u00db\u00f9~\u0012\u00c0\u00c6 \u00b0rh\u0011\u001b@\u0080j\u00bct\u0093\u0018\u0004\u00c0\u0006\u0081\u0095C\u008b\u00ec\u0015\u00c0\f\u0002+\u0087\u0016Y\u001c@\u00a8\u00c6K7\u0089A\u0010\u00c0\u00ecQ\u00b8\u001e\u0085\u00eb\u000f\u00c0|\u0014\u00aeG\u00e1\u00fa\u001d@\u008bl\u00e7\u00fb\u00a9\u00f1\u0013\u00c07\u0089A`\u00e5\u00d0\u000f\u00c0 \u0085\u00ebQ\u00b8\u009e\u001b@\u00e4\u00a5\u009b\u00c4 \u00b0\f\u00c0\u00e3\u00a5\u009b\u00c4 \u00b0\u0004\u00c0Y9\u00b4\u00c8v\u00be\u001f@\u0087\u0016\u00d9\u00ce\u00f7\u00d3\u0011\u00c0!\u00b0rh\u0091m\u0013\u00c0!\u00b0rh\u0091m!@\u00b6\u00f3\u00fd\u00d4xi\u0012\u00c0\u00cb\u00a1E\u00b6\u00f3}\u0017\u00c0\u0083\u00c0\u00ca\u00a1E\u00b6 @\u00e8\u00fb\u00a9\u00f1\u00d2M\f\u00c0\u00ac\u001cZd;\u00df\u0013\u00c0\u00a2E\u00b6\u00f3\u00fd\u0094\"@%\u0006\u0081\u0095C\u000b\u0011\u00c0\u0085\u00ebQ\u00b8\u001e\u0085\u00f9\u00bf\u001a\u0004V\u000e-\u00b2\u001e@\u008cl\u00e7\u00fb\u00a9q\u0016\u00c0b\u0010X9\u00b4H\u0011\u00c0\u00a4p=\n\u00d7##@\u00e2z\u0014\u00aeG\u00e1\u0019\u00c0\u001f\u0085\u00ebQ\u00b8\u009e\u0010\u00c0\u00d7\u00a3p=\n\u00d7!@V\u000e-\u00b2\u009do\u0015\u00c0\u00f6(\\\u008f\u00c2\u00f5\n\u00c0?5^\u00baI\f$@w\u00be\u009f\u001a/\u00dd\u0017\u00c0\u00e9&1\b\u00ac\u009c\u0014\u00c0\u00c8K7\u0089A\u00a0%@\u0000\u0000\u0000\u0000\u0000\u0080\u001c\u00c0\u00baI\f\u0002+\u0007\u0015\u00c0q=\n\u00d7\u00a3p&@+\u0087\u0016\u00d9\u00ce\u00f7\u0013\u00c0\u00fc\u00a9\u00f1\u00d2M\u00e2\u0016\u00c0q=\n\u00d7\u00a3\u00b0&@J\f\u0002+\u0087\u0016\u0003\u00c0ffffff\u0003\u00c09\u00b4\u00c8v\u00be\u00df @?5^\u00baI\f\u00fe\u00bf5^\u00baI\f\u0002\n\u00c0\u00d3Mb\u0010Xy!@\u000f-\u00b2\u009d\u00ef\u00a7\u00fc\u00bfD\u008bl\u00e7\u00fb\u00a9\u00f3\u00bf+\u0087\u0016\u00d9\u00ce\u00b7!@\u00e3\u00a5\u009b\u00c4 \u00b0\u0003\u00c0\u00b6\u00f3\u00fd\u00d4x\u00e9\u00e6\u00bf\u00b4\u00c8v\u00be\u009f\u001a#@\u00baI\f\u0002+\u0087\u00f8\u00bf\u00c2\u00ca\u00a1E\u00b6\u00f3\u00cd\u00bfx\u00be\u009f\u001a/\u00dd\u001e@\t\u00ac\u001cZd;\u00df\u00bfi\u0091\u00ed|?5\u00f6\u00bfP\u008d\u0097n\u0012C#@\u0092\u00ed|?5^\u00ca?th\u0091\u00ed|?\u00fd\u00bfZd;\u00dfO\u00cd!@\u00c9v\u00be\u009f\u001a/\u00bd\u00bf6^\u00baI\f\u0002\u00db\u00bf\u00a6\u009b\u00c4 \u00b0\u00f2#@\u00fd\u00a9\u00f1\u00d2Mb\u00fa\u00bf\u008e\u0097n\u0012\u0083\u00c0\u00ee?\u00f0\u00a7\u00c6K7\t @^\u00baI\f\u0002+\u00e3\u00bfr=\n\u00d7\u00a3p\u0002\u00c02\b\u00ac\u001cZd%@D\u008bl\u00e7\u00fb\u00a9\u00e5\u00bf\u0011X9\u00b4\u00c8v\t\u00c0\u00ad\u001cZd;\u009f$@\"\u00b0rh\u0091\u00ed\u00f2\u00bf\u00e3\u00a5\u009b\u00c4 \u00b0\u00e2\u00bf\u00d7\u00a3p=\n\u00d7\u0019@\u00a8\u00c6K7\u0089A\u00ec\u00bfP\u008d\u0097n\u0012\u0083\u00f8\u00bfd;\u00dfO\u008d\u0017\u0019@\u00cf\u00f7S\u00e3\u00a5\u009b\u00f0\u00bf\u0004V\u000e-\u00b2\u009d\u00df?\u00b3\u009d\u00ef\u00a7\u00c6\u00cb\u0015@\u00ee|?5^\u00ba\u00e5\u00bfJ\f\u0002+\u0087\u0016\u00f7?1\b\u00ac\u001cZd\u0017@ffffff\u0003\u00c0\u0089A`\u00e5\u00d0\"\u00ef?\u00b6\u00f3\u00fd\u00d4xi\u0014@\u00fe\u00d4x\u00e9&1\u00d0\u00bf\u00db\u00f9~j\u00bct\u00a3\u00bf\u0096C\u008bl\u00e7\u00fb\u0010@$\u00db\u00f9~j\u00bc\u00e4\u00bf(1\b\u00ac\u001cZ\u00f0\u00bf\u00cc\u00a1E\u00b6\u00f3\u00fd\u000f@\u00e3\u00a5\u009b\u00c4 \u00b0\u0004\u00c0^\u00baI\f\u0002+\u0001@P\u008d\u0097n\u0012\u0083\u0013@\u00fb~j\u00bct\u0093\u00f4?\u00a4p=\n\u00d7\u00a3\u00c0\u00bfffffff\u0012@\u00cav\u00be\u009f\u001a/\u00fb?S\u00b8\u001e\u0085\u00ebQ\u00e8\u00bf\u00a7\u009b\u00c4 \u00b0r\u000e@@5^\u00baI\f\u00f6?\u00aa\u00f1\u00d2Mb\u0010\u00e4\u00bfH\u00e1z\u0014\u00aeG\u0016@\u0089A`\u00e5\u00d0\"\u00d3\u00bf\u00f5\u00fd\u00d4x\u00e9&\u00ed?\u0017\u00d9\u00ce\u00f7S\u00e3\u0007@\u0083\u00c0\u00ca\u00a1E\u00b6\u00d3\u00bfth\u0091\u00ed|?\u00ff?\u00b0rh\u0091\u00ed|\n@\u00f4\u00fd\u00d4x\u00e9&\u00e1?\u0092\u00ed|?5^\u00e6?P\u008d\u0097n\u0012\u0083\u0002@R\u00b8\u001e\u0085\u00ebQ\u00f4\u00bfK\f\u0002+\u0087\u0016\u00e9??5^\u00baI\f\u0004@\u00e5\u00d0\"\u00db\u00f9~\u0000@d;\u00dfO\u008d\u0097\u00f2?B`\u00e5\u00d0\"[\u0013@\u00c5 \u00b0rh\u0091\u00fb?S\u00b8\u001e\u0085\u00ebQ\u00fc?\u00d4Mb\u0010X\u00b9\u0016@\u00d5x\u00e9&1\b\u0001@\u008cl\u00e7\u00fb\u00a9\u00f1\u00fc?\u00e4\u00a5\u009b\u00c4 \u00b0\u000f@\u00c6 \u00b0rh\u0091\b@%\u0006\u0081\u0095C\u008b\u00e8?'1\b\u00ac\u001c\u00da\u0013@z\u00e9&1\b\u00ac\u000b\u00c0\u0003+\u0087\u0016\u00d9\u00ce\u00b7?D\u008bl\u00e7\u00fb\u00a9\u0014@\u00ecQ\u00b8\u001e\u0085\u00eb\n\u00c0\u0084\u00c0\u00ca\u00a1E\u00b6\u00eb\u00bfL7\u0089A`\u00e5\u0015@\n\u00d7\u00a3p=\u008a\u0013\u00c0\u0092\u00ed|?5^\u00da?6^\u00baI\f\u0082\u0013@}?5^\u00baI\u0014\u00c0{\u0014\u00aeG\u00e1z\u00f0?\u0085\u00ebQ\u00b8\u001e\u0005\u0010@\u0091\u00ed|?5\u00de\u0015\u00c0\u00bct\u0093\u0018\u0004V\u00f4?\u00fb~j\u00bct\u0013\u0018@)\\\u008f\u00c2\u00f5\u00a8\u0016\u00c0T\u00e3\u00a5\u009b\u00c4 \u00ec\u00bf\u00d1\"\u00db\u00f9~j\u0012@2\b\u00ac\u001cZ\u00e4\u0016\u00c0\u00c2\u00ca\u00a1E\u00b6\u00f3\u00f7\u00bf\u0000\u0000\u0000\u0000\u0000\u0000\u0016@\u00baI\f\u0002+\u0087\u0018\u00c0\u00a8\u00c6K7\u0089A\u0002@Zd;\u00dfO\r\u0017@:\u00b4\u00c8v\u00be\u001f\u001c\u00c0\u00bct\u0093\u0018\u0004V\u00e2\u00bfo\u0012\u0083\u00c0\u00ca\u00a1\u0010@\u00d2\"\u00db\u00f9~j\u001e\u00c0\u00c2\u00ca\u00a1E\u00b6\u00f3\u00f7\u00bf=\n\u00d7\u00a3p=\u0010@S\u00b8\u001e\u0085\u00eb\u00d1\u001e\u00c0\u00b8\u001e\u0085\u00ebQ\u00b8\u008e\u00bf\u00c9v\u00be\u009f\u001a/\u0013@\u008e\u0097n\u0012\u0083@\u001c\u00c0\u00fa~j\u00bct\u0093h?c\u0010X9\u00b4\u00c8\t@\u0093\u0018\u0004V\u000e-\u0014\u00c0h\u0091\u00ed|?5\u00fa\u00bf\u00d3Mb\u0010X9\r@\u009c\u00c4 \u00b0rh\u0011\u00c0\u00c1\u00ca\u00a1E\u00b6\u00f3\u0000\u00c0\u00d1\"\u00db\u00f9~j\u0010@&\u0006\u0081\u0095C\u008b\u0014\u00c0\u0099n\u0012\u0083\u00c0\u00ca\u00ed?D\u008bl\u00e7\u00fb)\u001d@\u00d1\"\u00db\u00f9~j\u0012\u00c0b\u0010X9\u00b4\u00c8\u00b6?\u0088\u0016\u00d9\u00ce\u00f7\u00d3\u001d@d;\u00dfO\u008d\u0097\u0015\u00c0\u00a6\u009b\u00c4 \u00b0r\u00fc?&\u0006\u0081\u0095C\u00cb @\u0010X9\u00b4\u00c8\u00f6\u0019\u00c0\u000f-\u00b2\u009d\u00ef\u00a7\u00fc?\u00a0\u001a/\u00dd$\u00c6 @^\u00baI\f\u0002\u00ab\u0013\u00c0\u00a7\u009b\u00c4 \u00b0r\t@\u009a\u0099\u0099\u0099\u0099Y @\u00be\u009f\u001a/\u00dd$\u0013\u00c0\u009a\u0099\u0099\u0099\u0099\u0099\u00f3?\u0006\u0081\u0095C\u008bl#@/\u00dd$\u0006\u0081\u0015\u0014\u00c0~?5^\u00baI\u00fe?\u00fa~j\u00bct\u0013%@\u00a5p=\n\u00d7\u00a3\r\u00c01\b\u00ac\u001cZd\u00f3?\u0002+\u0087\u0016\u00d9\u000e#@6^\u00baI\f\u0002\u0017\u00c0\u00bct\u0093\u0018\u0004V\u0010@\u0093\u0018\u0004V\u000em @Nb\u0010X94\u0015\u00c0\u00db\u00f9~j\u00bct\u00c3\u00bf\u00f8S\u00e3\u00a5\u009bD$@\u00e2z\u0014\u00aeG\u00e1\u0019\u00c0\u001f\u0085\u00ebQ\u00b8\u001e\u00e1\u00bfu\u0093\u0018\u0004V\u00ce#@\u00c5 \u00b0rh\u0091\u0012\u00c0]\u008f\u00c2\u00f5(\\\u00eb\u00bfh\u0091\u00ed|?\u00f5%@\u00aa\u00f1\u00d2Mb\u0010\r\u00c0\u00d8\u00a3p=\n\u00d7\u000b@\u00b9\u001e\u0085\u00ebQ\u00b8\u001f@r=\n\u00d7\u00a3p\u0007\u00c0\u0000\u0000\u0000\u0000\u0000\u0000\u0006@0\u00dd$\u0006\u0081\u0095\u001f@\u0083\u00c0\u00ca\u00a1E\u00b6\b\u00c0th\u0091\u00ed|?\u0013@\u00e6\u00d0\"\u00db\u00f9\u00fe\u001e@\u00cf\u00f7S\u00e3\u00a5\u009b\n\u00c0\u00e8\u00fb\u00a9\u00f1\u00d2\u00cd\u0015@\u0019\u0004V\u000e-2!@\b\u00ac\u001cZd;\u000e\u00c0d;\u00dfO\u008d\u0017\u0016@K\f\u0002+\u0087\u0016\u001a@\u00a7\u009b\u00c4 \u00b0r\u00f8\u00bfZd;\u00dfO\r\u0013@I\u00e1z\u0014\u00aeG\u001e@[d;\u00dfO\u008d\u00f5\u00bf\u008e\u0097n\u0012\u0083\u00c0\u000f@\u0018\u00d9\u00ce\u00f7Sc\u001b@\u00f6(\\\u008f\u00c2\u00f5\u000f\u00c0\u00f4\u00fd\u00d4x\u00e9&\u001b@\u00d2\"\u00db\u00f9~j\u001a@|\u0014\u00aeG\u00e1z\u00e8\u00bfI\u00e1z\u0014\u00aeG\u0018@\u0018\u00d9\u00ce\u00f7Sc\u001c@^\u00baI\f\u0002+\u00f3\u00bf>\n\u00d7\u00a3p=\u001a@q=\n\u00d7\u00a3\u00f0\u0018@\u001c/\u00dd$\u0006\u0081\u00e5\u00bf.\u00b2\u009d\u00ef\u00a7F\u001b@\u0014\u00aeG\u00e1z\u0094\u001f@\u00f4\u00fd\u00d4x\u00e9&\u00d1?\u00da\u00ce\u00f7S\u00e3\u00a5\u0017@\u00da\u00ce\u00f7S\u00e3%\u001b@\u00f0\u00a7\u00c6K7\u0089\u00e9\u00bf\u0000\u0000\u0000\u0000\u0000\u0000\u0011@\u00da\u00ce\u00f7S\u00e3\u00a5!@\u0006\u0081\u0095C\u008bl\u00f5\u00bf\u000e-\u00b2\u009d\u00ef\u00a7\u000b@\u00fe\u00d4x\u00e9&\u00b1\"@?5^\u00baI\f\u00c2?\u00d9\u00ce\u00f7S\u00e3\u00a5\u000e@\u00ecQ\u00b8\u001e\u0085\u00eb @;\u00dfO\u008d\u0097n\u00e2\u00bf\u001eZd;\u00df\u00cf\u0013@X9\u00b4\u00c8v>#@\f\u0002+\u0087\u0016Y\u0010\u00c0\u0089A`\u00e5\u00d0\"\u0013@\u0085\u00ebQ\u00b8\u001e\u0005\u0016@\u00cc\u00a1E\u00b6\u00f3\u00fd\u000f\u00c0\u00c9v\u00be\u009f\u001a/\u000e@\u0014\u00aeG\u00e1z\u0014\u0016@\u0004V\u000e-\u00b2\u001d\u0013\u00c0{\u0014\u00aeG\u00e1z\u0015@\u00d5x\u00e9&1\u0088\u0011@Zd;\u00dfO\u008d\u0010\u00c0\u0019\u0004V\u000e-\u00b2\u0018@J\f\u0002+\u0087\u0016\u0010@\u001eZd;\u00df\u00cf\u0018\u00c0\u0083\u00c0\u00ca\u00a1E\u00b6\u0017@)\\\u008f\u00c2\u00f5\u00a8\u0012@\u001c/\u00dd$\u0006\u0001\u0013\u00c0\u00f4\u00fd\u00d4x\u00e9&\u0011@\u00e5\u00d0\"\u00db\u00f9~\n@?5^\u00baI\f\u000e\u00c0<\u00dfO\u008d\u0097n\u000f@\u00a7\u009b\u00c4 \u00b0r\b@\u0006\u0081\u0095C\u008b\u00ec\u0014\u00c0\u00b4\u00c8v\u00be\u009f\u001a\u000b@\u00aeG\u00e1z\u0014\u00ae\r@\u00f9S\u00e3\u00a5\u009b\u00c4\u0019\u00c0\u000b\u00d7\u00a3p=\n\u001c@\u0002+\u0087\u0016\u00d9\u00ce\u0010@fffff\u00e6\u0015\u00c0\u00be\u009f\u001a/\u00dd\u00a4\u0012@\u00a0\u001a/\u00dd$\u0006\u0000@8\u0089A`\u00e5P\u0019\u00c0\u00f8S\u00e3\u00a5\u009bD\u0015@\u00cf\u00f7S\u00e3\u00a5\u009b\u0001@~?5^\u00baI\u0012\u00c0\u00fe\u00d4x\u00e9&\u00b1\u0015@,\u0087\u0016\u00d9\u00ce\u00f7\u00f1?333333\u0011\u00c0b\u0010X9\u00b4H\u0019@\u00b9\u001e\u0085\u00ebQ\u00b8\u00fa?p\u0012\u0083\u00c0\u00ca\u00a1\r\u00c0\u0004V\u000e-\u00b2\u001d\u0013@+\u0087\u0016\u00d9\u00ce\u00f7\u00ef?\u00cf\u00f7S\u00e3\u00a5\u001b\u0014\u00c0\u008f\u00c2\u00f5(\\\u008f\u0016@$\u00db\u00f9~j\u00bc\u00c4?\u0084\u00c0\u00ca\u00a1E6\u0018\u00c0\u00f1\u00a7\u00c6K7\u0089\u000b@b\u0010X9\u00b4\u00c8\u00f4?*\\\u008f\u00c2\u00f5\u00a8\u001a\u00c0\u001b/\u00dd$\u0006\u0081\r@433333\u00db?{\u0014\u00aeG\u00e1z\u0015\u00c0\u007fj\u00bct\u0093\u0018\u0005@\u00a8\u00c6K7\u0089A\u00f0?\u00bdt\u0093\u0018\u0004\u00d6\u001a\u00c0h\u0091\u00ed|?5\b@\u00a6\u009b\u00c4 \u00b0r\u0000@c\u0010X9\u00b4H\u001c\u00c0\u00aa\u00f1\u00d2Mb\u0090\u0014@\u00e1z\u0014\u00aeGa\u0015@\u00d2\"\u00db\u00f9~\u00ea\u001a\u00c0<\u00dfO\u008d\u0097\u00ee\u0010@j\u00bct\u0093\u0018\u0084\u0016@\u00f2\u00d2Mb\u0010\u00d8 \u00c01\b\u00ac\u001cZ\u00e4\u0015@\u00c9v\u00be\u009f\u001a\u00af\u0016@\u0014\u00aeG\u00e1z\u0094!\u00c0\u0002+\u0087\u0016\u00d9N\u0018@w\u00be\u009f\u001a/]\u0013@\u00c9v\u00be\u009f\u001a/!\u00c0\u009e\u00ef\u00a7\u00c6K7\u0019@\u0014\u00aeG\u00e1z\u0094\u001b@\b\u00ac\u001cZd\u00bb\"\u00c0\u0091\u00ed|?5\u00de\u0010@\u00bbI\f\u0002+\u0087\u0016@D\u008bl\u00e7\u00fb)\"\u00c0b\u0010X9\u00b4\u00c8\u000b@`\u00e5\u00d0\"\u00dby\u0019@\"\u00b0rh\u0091\u00ed\"\u00c0z\u00e9&1\b\u00ac\u001c@\u0090\u00c2\u00f5(\\\u000f\u001c@=\n\u00d7\u00a3p\u00bd%\u00c0\u007fj\u00bct\u0093\u0098\u0012@\u00ecQ\u00b8\u001e\u0085k\u0017@\u009e\u00ef\u00a7\u00c6K7&\u00c0\u008aA`\u00e5\u00d0\u00a2\u0015@\u00c2\u00ca\u00a1E\u00b6s\u0014@\u008d\u0097n\u0012\u0083\u0000'\u00c0 \u0085\u00ebQ\u00b8\u001e\u000e@\u00b0rh\u0091\u00ed\u00fc\u0016@$\u00db\u00f9~j\u00fc%\u00c0V\u000e-\u00b2\u009do\u0014@R\u00b8\u001e\u0085\u00ebQ\u001b@\u00c8K7\u0089A #\u00c0\u00dfO\u008d\u0097n\u0012\f@\u00d9\u00ce\u00f7S\u00e3%\u0011@\"\u00b0rh\u0091-$\u00c0\u00a4p=\n\u00d7\u00a3\u0004@\u00db\u00f9~j\u00bc\u00f4\u0011@\u0091\u00ed|?5\u00de#\u00c0\u0004V\u000e-\u00b2\u009d\u0010@x\u00be\u009f\u001a/\u00dd\u000b@\u0014\u00aeG\u00e1z\u0014!\u00c0\u00c3\u00f5(\\\u008f\u00c2\n@\u00c6 \u00b0rh\u0091\u000f@\u00d0\u00f7S\u00e3\u00a5\u009b\u001e\u00c0\u000f-\u00b2\u009d\u00ef\u00a7\u0018@L7\u0089A`e\u001f@\u009e\u00ef\u00a7\u00c6K7\u001c\u00c02\b\u00ac\u001cZd\u0015@d;\u00dfO\u008d\u0017\u001f@\u00a1\u001a/\u00dd$\u0086\u001e\u00c0\u00f3\u00d2Mb\u0010X\u001c@\u0087\u0016\u00d9\u00ce\u00f7\u0013\"@\u0091\u00ed|?5^!\u00c0\u0003+\u0087\u0016\u00d9\u00ce\u001c@T\u00e3\u00a5\u009b\u00c4\u00a0\"@\u0015\u00aeG\u00e1z\u0094\u001c\u00c0?5^\u00baI\f!@T\u00e3\u00a5\u009b\u00c4\u00a0!@\u0098n\u0012\u0083\u00c0\u00ca\u001b\u00c09\u00b4\u00c8v\u00be\u001f\u0019@\u00baI\f\u0002+G$@\u008cl\u00e7\u00fb\u00a9q\u001b\u00c0F\u00b6\u00f3\u00fd\u00d4\u00f8\u001b@\u0094\u0018\u0004V\u000e\u00ed%@\u00d4Mb\u0010X\u00b9\u0017\u00c06^\u00baI\f\u0002\u0018@+\u0087\u0016\u00d9\u00ce\u00b7#@Ob\u0010X94\u001e\u00c0\u00e6\u00d0\"\u00db\u00f9\u00be\"@\u008bl\u00e7\u00fb\u00a91#@{\u0014\u00aeG\u00e1z\u001e\u00c0K\f\u0002+\u0087\u0016\u0014@q=\n\u00d7\u00a3p%@w\u00be\u009f\u001a/]!\u00c0x\u00be\u009f\u001a/\u00dd\u0014@\u00b4\u00c8v\u00be\u009f\u009a%@,\u0087\u0016\u00d9\u00cew\u001e\u00c0-\u00b2\u009d\u00ef\u00a7\u00c6\u0010@\u001c/\u00dd$\u0006\u0001$@\u00ff\u00d4x\u00e9&1\u001c\u00c0\u00f2\u00d2Mb\u0010X\u0012@fffff&(@\\\u008f\u00c2\u00f5(\u00dc\u0017\u00c0\u00dd$\u0006\u0081\u0095\u00c3\u0012@$\u00db\u00f9~j<(@,\u0087\u0016\u00d9\u00ce\u00f7\u001d\u00c0:\u00b4\u00c8v\u00be\u001f\u0015@\u00c6 \u00b0rh\u0091)@\u00e3\u00a5\u009b\u00c4 \u00b0\u001d\u00c0\u00a2E\u00b6\u00f3\u00fd\u00d4\t@\u00b6\u00f3\u00fd\u00d4x\u00e9(@b\u0010X9\u00b4\u00c8\u001f\u00c0\u00e9&1\b\u00ac\u001c\u0005@\u00f4\u00fd\u00d4x\u00e9\u00a6'@\u00e8\u00fb\u00a9\u00f1\u00d2M\u0019\u00c0\u000f-\u00b2\u009d\u00ef\u00a7\b@\u00b4\u00c8v\u00be\u009f\u001a-@+\u0087\u0016\u00d9\u00cew\u0017\u00c0\u0082\u0095C\u008bl\u00e7\u000f@8\u0089A`\u00e5\u0010-@\u00a5p=\n\u00d7#\u001a\u00c0\u009a\u0099\u0099\u0099\u0099\u0099\u0005@\u00aeG\u00e1z\u0014\u00ee.@\u00aa\u00f1\u00d2Mb\u0010\u001e\u00c0%\u0006\u0081\u0095C\u008b\u00f6?\u0017\u00d9\u00ce\u00f7S\u00a3+@\u0011X9\u00b4\u00c8\u00f6\u001f\u00c0\u00c6 \u00b0rh\u0091\u00e9?d;\u00dfO\u008dW*@E\u008bl\u00e7\u00fb\u00a9\u001c\u00c0T\u00e3\u00a5\u009b\u00c4 \u00f0?\u00b4\u00c8v\u00be\u009fZ-@\u008cl\u00e7\u00fb\u00a9q\u001c\u00c0\u0018\u00d9\u00ce\u00f7S\u00e3\u0004@W\u000e-\u00b2\u009d/+@\u00edQ\u00b8\u001e\u0085\u00eb\u0019\u00c0\u008d\u0097n\u0012\u0083\u0080!@\u0094\u0018\u0004V\u000e\u00ad\u001e@\u00e3\u00a5\u009b\u00c4 \u00b0\u0018\u00c0\u00bct\u0093\u0018\u0004\u0016 @J\f\u0002+\u0087\u0016\u001c@I\u00e1z\u0014\u00aeG\u0018\u00c0\u00a2E\u00b6\u00f3\u00fd\u0014$@R\u00b8\u001e\u0085\u00eb\u00d1\u001c@\u00e4\u00a5\u009b\u00c4 0\u0018\u00c0?5^\u00baI\u008c%@\u00b2\u009d\u00ef\u00a7\u00c6\u000b @5^\u00baI\f\u0082\u001b\u00c0\u0003+\u0087\u0016\u00d9N%@\u00f5\u00fd\u00d4x\u00e9&\u0018@\u00d3Mb\u0010X9\u0012\u00c0\u00fe\u00d4x\u00e9&1$@\u00a0\u001a/\u00dd$\u0086\u001b@\u0004V\u000e-\u00b2\u001d\u0011\u00c0\u00e3\u00a5\u009b\u00c4 0&@\u0083\u00c0\u00ca\u00a1E6\u001a@X9\u00b4\u00c8v\u00be\u001d\u00c0$\u00db\u00f9~j|'@\u00a6\u009b\u00c4 \u00b0\u00f2\u0018@\u00ecQ\u00b8\u001e\u0085\u00eb\f\u00c0F\u00b6\u00f3\u00fd\u00d4\u00b8#@\u0089A`\u00e5\u00d0\" @&\u0006\u0081\u0095C\u008b\u000f\u00c0\u00cf\u00f7S\u00e3\u00a5\u001b\"@;\u00dfO\u008d\u0097n!@\u00e7\u00fb\u00a9\u00f1\u00d2M\u0004\u00c0w\u00be\u009f\u001a/\u00dd#@\u00d9\u00ce\u00f7S\u00e3\u00a5\u001f@\u00a4p=\n\u00d7\u00a3\u000f\u00c0\u00bct\u0093\u0018\u0004V%@\u00c1\u00ca\u00a1E\u00b6s!@\u00fc\u00a9\u00f1\u00d2Mb\u0011\u00c0X9\u00b4\u00c8v~\"@J\f\u0002+\u0087\u0016\u0017@\u008bl\u00e7\u00fb\u00a9\u00f1\u0010\u00c0\u00fe\u00d4x\u00e9&\u00b1 @\u00bdt\u0093\u0018\u0004V\u0018@\u00f5\u00fd\u00d4x\u00e9&\u001c\u00c0\u00e3\u00a5\u009b\u00c4 \u00f0#@<\u00dfO\u008d\u0097n\u0013@\u00b7\u00f3\u00fd\u00d4x\u00e9\u001a\u00c0\u00a0\u001a/\u00dd$\u0006\"@33333\u00b3\u0013@\u00ce\u00cc\u00cc\u00cc\u00cc\u00cc\u001d\u00c0\u00f3\u00d2Mb\u0010\u0018%@z\u00e9&1\b\u00ac\f@\u00ea&1\b\u00ac\u001c\u001f\u00c0\\\u008f\u00c2\u00f5(\u001c'@\u009b\u0099\u0099\u0099\u0099\u0099\u000e@\u007fj\u00bct\u0093\u0098!\u00c0\u00ee|?5^\u00fa#@\u0001\u0000\u0000\u0000\u0000\u0000\b@>\n\u00d7\u00a3p=\u0019\u00c0\u00e0O\u008d\u0097n\u0012%@\u00fe\u00d4x\u00e9&1\u0004@\r\u0002+\u0087\u0016Y\u001a\u00c0\u00c3\u00f5(\\\u008f\u00c2%@ffffff\u00f8?i\u0091\u00ed|?\u00b5\u0018\u00c0\u00e3\u00a5\u009b\u00c4 \u00f0\"@\n\u00d7\u00a3p=\n\u0003@\\\u008f\u00c2\u00f5(\u001c\"\u00c0B`\u00e5\u00d0\"[$@ \u0085\u00ebQ\u00b8\u001e\u00fd?\u0013\u0083\u00c0\u00ca\u00a1E\u0014\u00c0F\u00b6\u00f3\u00fd\u00d4\u00b8&@\\\u008f\u00c2\u00f5(\\\u0007@#\u00db\u00f9~j<\u0012\u00c0\n\u00d7\u00a3p=\u00ca%@\u00e0O\u008d\u0097n\u0012\u000e@h\u0091\u00ed|?5\u0011\u00c0b\u0010X9\u00b4\u00c8&@\u00aa\u00f1\u00d2Mb\u0010\u0001@\b\u00ac\u001cZd;\u0016\u00c0Zd;\u00dfO\u008d)@\u00c8K7\u0089A`\n@\u009c\u00c4 \u00b0rh\u0018\u00c0q=\n\u00d7\u00a3p*@X9\u00b4\u00c8v\u00be\u0003@\u00cd\u00cc\u00cc\u00cc\u00ccL\u0018\u00c0\u00e3\u00a5\u009b\u00c4 \u00b0)@\u0000\u0000\u0000\u0000\u0000\u0000\u0011@\u00e7\u00fb\u00a9\u00f1\u00d2M\u0011\u00c0\u00a6\u009b\u00c4 \u00b02+@\u0010X9\u00b4\u00c8v\f@\u00c2\u00ca\u00a1E\u00b6\u00f3\f\u00c0\u00cc\u00a1E\u00b6\u00f3\u00fd*@x\u00be\u009f\u001a/\u00dd\u0005@I\u00e1z\u0014\u00aeG\u000e\u00c0\u0004V\u000e-\u00b2]*@\u00f4\u00fd\u00d4x\u00e9\u00a6\u0011@\u00cf\u00f7S\u00e3\u00a5\u001b\u0013\u00c0Nb\u0010X9\u00f4-@\u0018\u00d9\u00ce\u00f7S\u00e3\u000e@L7\u0089A`\u00e5\u0015\u00c0\u00f0\u00a7\u00c6K7\u00c9-@\u00ac\u001cZd;_\u0012@\u00e3\u00a5\u009b\u00c4 0\u0010\u00c0\u00f4\u00fd\u00d4x\u00e9\u00e6.@V\u000e-\u00b2\u009do\u0011@\u0007\u0081\u0095C\u008bl\u0014\u00c0m\u00e7\u00fb\u00a9\u00f1\u0012/@\u0083\u00c0\u00ca\u00a1E\u00b6\b@X9\u00b4\u00c8v~#\u00c0\u00ee|?5^\u00fa\"@\u00c1\u00ca\u00a1E\u00b6\u00f3\u000e@\u0098n\u0012\u0083\u00c0\n#\u00c0b\u0010X9\u00b4\u00c8\"@\u0017\u00d9\u00ce\u00f7Sc\u0013@\u0006\u0081\u0095C\u008b,&\u00c0\u00ee|?5^\u00fa!@\u00fd\u00a9\u00f1\u00d2Mb\u000b@T\u00e3\u00a5\u009b\u00c4\u00e0%\u00c0\u00c9v\u00be\u009f\u001ao @\u00b2\u009d\u00ef\u00a7\u00c6K\u0005@1\b\u00ac\u001cZ\u00a4'\u00c0z\u00e9&1\b,$@\u0098n\u0012\u0083\u00c0\u00ca\u0004@\u008f\u00c2\u00f5(\\\u00cf'\u00c0\u00be\u009f\u001a/\u00dd\u00a4 @\u001b/\u00dd$\u0006\u0001\u0012@:\u00b4\u00c8v\u00be\u009f(\u00c0`\u00e5\u00d0\"\u00db9\"@\u0085\u00ebQ\u00b8\u001e\u0085\u0014@q=\n\u00d7\u00a3p&\u00c0(1\b\u00ac\u001cZ\u001f@\u0012\u0083\u00c0\u00ca\u00a1\u00c5\u0014@\u0088\u0016\u00d9\u00ce\u00f7\u00d3(\u00c0o\u0012\u0083\u00c0\u00ca\u00a1#@\u00fc\u00a9\u00f1\u00d2Mb\u00f8?\u00a6\u009b\u00c4 \u00b0\u00f2)\u00c0\u00c2\u00ca\u00a1E\u00b6\u00f3\u001d@\u00e7\u00fb\u00a9\u00f1\u00d2M\u000f@\u00e6\u00d0\"\u00db\u00f9>+\u00c0P\u008d\u0097n\u0012C @\u00d9\u00ce\u00f7S\u00e3\u00a5\n@\u00f4\u00fd\u00d4x\u00e9&)\u00c0\u0082\u0095C\u008bl\u00e7\u001a@\u008cl\u00e7\u00fb\u00a9\u00f1\t@\u0081\u0095C\u008bl\u00a7+\u00c0\u00f4\u00fd\u00d4x\u00e9\u00a6\u001b@R\u00b8\u001e\u0085\u00eb\u00d1\u0013@\u00bct\u0093\u0018\u0004\u00d6,\u00c0\u00d9\u00ce\u00f7S\u00e3\u00a5\u001e@L7\u0089A`\u00e5\u0015@\u00cb\u00a1E\u00b6\u00f3=*\u00c0\u008cl\u00e7\u00fb\u00a9q\u001a@\u00fc\u00a9\u00f1\u00d2M\u00e2\u0016@\u0005V\u000e-\u00b2]-\u00c0\n\u00d7\u00a3p=\n\u0017@o\u0012\u0083\u00c0\u00ca!\u0012@h\u0091\u00ed|?\u00b5,\u00c0\u00db\u00f9~j\u00bct\u0013@L7\u0089A`e\u0013@\u0084\u00c0\u00ca\u00a1EV0\u00c0\u00cav\u00be\u009f\u001a/\u001c@\u008aA`\u00e5\u00d0\"\r@\u00f4\u00fd\u00d4x\u00e9F1\u00c0ffffff\u001c@\u00d6x\u00e9&1\b\n@\u00c8K7\u0089A\u00000\u00c0\u0011X9\u00b4\u00c8\u00f6\u001f@\u008cl\u00e7\u00fb\u00a9\u00f1\f@;\u00dfO\u008d\u0097\u00ae0\u00c0\u009c\u00c4 \u00b0rh\u0013@\u0014\u00aeG\u00e1z\u0014\u000e@|\u0014\u00aeG\u00e1:0\u00c0\u0004V\u000e-\u00b2\u009d\u000f@8\u0089A`\u00e5\u00d0\r@\u00ecQ\u00b8\u001e\u0085\u008b1\u00c0\u00c9v\u00be\u009f\u001a/\u0014@>\n\u00d7\u00a3p=\n@Zd;\u00dfO\u00cd/\u00c0+\u0087\u0016\u00d9\u00cew\u0017@\u009a\u0099\u0099\u0099\u0099\u0019\u0010@V\u000e-\u00b2\u009d\u00ef'\u00c0K\f\u0002+\u0087\u0096&@5^\u00baI\f\u0002\n@\u00dd$\u0006\u0081\u0095C'\u00c0\u00e0O\u008d\u0097n\u0092&@\u0098n\u0012\u0083\u00c0\u00ca\u0010@\u00ea&1\b\u00ac\\)\u00c0\u00cav\u00be\u009f\u001a\u00ef(@\u009f\u00ef\u00a7\u00c6K7\u0005@\u00fe\u00d4x\u00e9&q+\u00c0j\u00bct\u0093\u0018\u0084(@\u00d3Mb\u0010X9\u0003@e;\u00dfO\u008d\u0017(\u00c0\u0086\u00ebQ\u00b8\u001e\u0005*@\u00aa\u00f1\u00d2Mb\u0010\u00f6?-\u00b2\u009d\u00ef\u00a7\u0086)\u00c0fffff&+@,\u0087\u0016\u00d9\u00ce\u00f7\r@\u00ee|?5^z*\u00c0\u00e4\u00a5\u009b\u00c4 \u00f0,@\f\u0002+\u0087\u0016\u00d9\n@X9\u00b4\u00c8v~'\u00c0\u00e1z\u0014\u00aeG\u00a1+@m\u00e7\u00fb\u00a9\u00f1R\u0010@\u00b9\u001e\u0085\u00ebQx)\u00c0\u0089A`\u00e5\u00d0b+@F\u00b6\u00f3\u00fd\u00d4x\u00e5?\\\u008f\u00c2\u00f5(\u00dc*\u00c0\\\u008f\u00c2\u00f5(\\*@`\u00e5\u00d0\"\u00db\u00f9\u0013@^\u00baI\f\u0002k,\u00c0T\u00e3\u00a5\u009b\u00c4`(@\u00c1\u00ca\u00a1E\u00b6\u00f3\u0013@\u00ee|?5^:*\u00c0Nb\u0010X9t+@\u001a\u0004V\u000e-2\u0018@[d;\u00dfO\u008d%\u00c0\u00aeG\u00e1z\u0014n)@\u00a8\u00c6K7\u0089A\u00f2?\u0010X9\u00b4\u00c8v$\u00c0\u00c4\u00f5(\\\u008f\u00c2(@:\u00b4\u00c8v\u00be\u009f\u00fe?\u00ce\u00cc\u00cc\u00cc\u00cc\f$\u00c0r=\n\u00d7\u00a3\u00f0)@\u00c2\u00ca\u00a1E\u00b6\u00f3\u00bd\u00bfr=\n\u00d7\u00a3\u00f0$\u00c0th\u0091\u00ed|\u00bf+@\u00f8S\u00e3\u00a5\u009b\u00c4\u00e0\u00bf\u00c9v\u00be\u009f\u001a\u00af$\u00c0H\u00e1z\u0014\u00ae\u00c7'@\u009a\u0099\u0099\u0099\u0099\u0099\u00f1\u00bf\u0091\u00ed|?5\u001e!\u00c0\u0014\u00aeG\u00e1z\u0094*@\u00fc\u00a9\u00f1\u00d2Mb\u00c0?\u00d2\"\u00db\u00f9~\u00ea\u001f\u00c0\u0099n\u0012\u0083\u00c0\n)@&\u0006\u0081\u0095C\u008b\u00e4?\u008bl\u00e7\u00fb\u00a91!\u00c0\u0094\u0018\u0004V\u000e-,@X9\u00b4\u00c8v\u00be\u00eb?\u00d8\u00a3p=\n\u00d7%\u00c0~?5^\u00baI(@H\u00e1z\u0014\u00aeG\u0001\u00c0\u000f-\u00b2\u009d\u00ef'\u001f\u00c0\u00a0\u001a/\u00dd$F+@\u00aeG\u00e1z\u0014\u00ae\u00f1\u00bf?5^\u00baI\f\u001e\u00c0+\u0087\u0016\u00d9\u00ce\u00b7-@%\u0006\u0081\u0095C\u008b\u00f8\u00bf\u00fb~j\u00bct\u0093\u001f\u00c0&\u0006\u0081\u0095C\u008b/@\u0085\u00ebQ\u00b8\u001e\u0085\u00f1\u00bf\u009a\u0099\u0099\u0099\u0099\u0099\u001c\u00c0\u000e-\u00b2\u009d\u00efg)@z\u00e9&1\b\u00ac\u0000\u00c0v\u0093\u0018\u0004V\u000e\u001a\u00c0\u00cd\u00cc\u00cc\u00cc\u00cc\f+@:\u00b4\u00c8v\u00be\u009f\b\u00c0\u00d3Mb\u0010X9\u001c\u00c0\"\u00b0rh\u0091\u00ad&@\u00ac\u001cZd;\u00df\u0001\u00c0I\u00e1z\u0014\u00aeG\u001e\u00c0\u00c5 \u00b0rh\u0091%@\u009a\u0099\u0099\u0099\u0099\u0099\u00f7\u00bf,\u0087\u0016\u00d9\u00cew\u001b\u00c0i\u0091\u00ed|?\u00b5-@\u008bl\u00e7\u00fb\u00a9\u00f1\u0005\u00c0\u00d0\u00f7S\u00e3\u00a5\u001b\u001b\u00c0\u0099n\u0012\u0083\u00c0J/@\u00e2z\u0014\u00aeG\u00e1\n\u00c0G\u00b6\u00f3\u00fd\u00d4x\u0017\u00c0\f\u0002+\u0087\u0016\u0019'@;\u00dfO\u008d\u0097n\u0011\u00c0\u00a8\u00c6K7\u0089A\u0015\u00c0\u00c7K7\u0089A`&@\u00f2\u00d2Mb\u0010\u00d8\u0014\u00c0\u00cd\u00cc\u00cc\u00cc\u00ccL\u0017\u00c0\u00c7K7\u0089A\u00e0)@th\u0091\u00ed|\u00bf\u0010\u00c0\u00d3Mb\u0010X\u00b9\u0015\u00c0\u00e6\u00d0\"\u00db\u00f9>+@h\u0091\u00ed|?\u00b5\u0013\u00c0c\u0010X9\u00b4\u00c8\u0019\u00c0\"\u00b0rh\u0091m%@7\u0089A`\u00e5\u00d0\n\u00c0`\u00e5\u00d0\"\u00dby\u0019\u00c0\u0085\u00ebQ\u00b8\u001eE#@\u001eZd;\u00dfO\u000b\u00c0\u0012\u0083\u00c0\u00ca\u00a1\u0085$\u00c0B`\u00e5\u00d0\"[%@\u001f\u0085\u00ebQ\u00b8\u001e\u00e5\u00bf\u008bl\u00e7\u00fb\u00a9\u00b1#\u00c0\u0091\u00ed|?5\u00de$@\u0019\u0004V\u000e-\u00b2\u00cd?\b\u00ac\u001cZd\u00fb$\u00c0\u0086\u00ebQ\u00b8\u001e\u0005#@\u0094\u0018\u0004V\u000e-\u00f8\u00bf\u00e9&1\b\u00ac\u009c#\u00c0\u0087\u0016\u00d9\u00ce\u00f7\u00d3\"@w\u00be\u009f\u001a/\u00dd\u0002\u00c0\u00e3\u00a5\u009b\u00c4 \u00b0'\u00c0\u0093\u0018\u0004V\u000e\u00ed\"@\u00e9&1\b\u00ac\u001c\u0001\u00c0U\u00e3\u00a5\u009b\u00c4`$\u00c09\u00b4\u00c8v\u00be\u009f @\u000e-\u00b2\u009d\u00ef\u00a7\u00e2\u00bf\u00f1\u00a7\u00c6K7\u0089%\u00c08\u0089A`\u00e5\u00d0\u001d@\u009b\u0099\u0099\u0099\u0099\u0099\u00ed\u00bf\u00edQ\u00b8\u001e\u0085+%\u00c0\u00d7\u00a3p=\n\u0017!@B`\u00e5\u00d0\"\u00db\u00d9?&\u0006\u0081\u0095C\u000b(\u00c0\u008e\u0097n\u0012\u0083\u0080\"@[d;\u00dfO\u008d\n\u00c0\u0085\u00ebQ\u00b8\u001eE!\u00c0\\\u008f\u00c2\u00f5(\u00dc\u001f@\u00f0\u00a7\u00c6K7\u0089\u00d9\u00bf\u00d1\"\u00db\u00f9~* \u00c0\u00b8\u001e\u0085\u00ebQ\u00b8!@*\\\u008f\u00c2\u00f5(\u00bc\u00bf\u00e7\u00fb\u00a9\u00f1\u00d2\u00cd \u00c0~?5^\u00ba\u00c9\u001b@P\u008d\u0097n\u0012\u0083\u00e8?\u00d5x\u00e9&1\u0088!\u00c0\u00a2E\u00b6\u00f3\u00fd\u00d4\u0017@\u0011X9\u00b4\u00c8v\u00de?\u00b7\u00f3\u00fd\u00d4xi\u001d\u00c0\u00ce\u00cc\u00cc\u00cc\u00cc\u00cc\u001b@\u00a2E\u00b6\u00f3\u00fd\u00d4\u00f0?\b\u00ac\u001cZd\u00bb!\u00c0J\f\u0002+\u0087\u0016\u001d@\u00e0O\u008d\u0097n\u0012\u00fb? \u0085\u00ebQ\u00b8\u009e\u001f\u00c0=\n\u00d7\u00a3p=\u001d@\u001dZd;\u00dfO\u00f9\u00bfB`\u00e5\u00d0\"[\u001b\u00c0\u00a0\u001a/\u00dd$\u0006\u001e@B`\u00e5\u00d0\"\u00db\u00f7\u00bfz\u00e9&1\b\u00ac \u00c0\u0080j\u00bct\u0093\u0018\u001f@\u008e\u0097n\u0012\u0083\u00c0\u0003\u00c0m\u00e7\u00fb\u00a9\u00f1\u0012 \u00c0\u0082\u0095C\u008bl\u00e7\u0018@\u0015\u00aeG\u00e1z\u0014\u00fa\u00bf\u0084\u00c0\u00ca\u00a1E\u00b6)\u00c0sh\u0091\u00ed|\u007f#@J\f\u0002+\u0087\u0016\u00f5\u00bfx\u00be\u009f\u001a/])\u00c0\u00a4p=\n\u00d7\u00a3#@\u00cb\u00a1E\u00b6\u00f3\u00fd\u00d4\u00bf\u0010X9\u00b4\u00c8v,\u00c0\u00cd\u00cc\u00cc\u00cc\u00ccL#@\u0086\u00ebQ\u00b8\u001e\u0085\u00fb\u00bf8\u0089A`\u00e5\u0090,\u00c0\u00c3\u00f5(\\\u008fB!@\u0002+\u0087\u0016\u00d9\u00ce\u0000\u00c0\u00f7(\\\u008f\u00c2\u00f5,\u00c0\u00bct\u0093\u0018\u0004V%@H\u00e1z\u0014\u00aeG\u0007\u00c0#\u00db\u00f9~j<.\u00c0fffff\u00a6#@z\u00e9&1\b\u00ac\u00e0\u00bf%\u0006\u0081\u0095C\u008b-\u00c0\u00a2E\u00b6\u00f3\u00fd\u0014%@%\u0006\u0081\u0095C\u008b\u00cc?\u00fd\u00a9\u00f1\u00d2M\".\u00c09\u00b4\u00c8v\u00be\u009f$@\u00d9\u00ce\u00f7S\u00e3\u00a5\u000f\u00c0\u00e3\u00a5\u009b\u00c4 \u00900\u00c09\u00b4\u00c8v\u00be_$@\u0018\u00d9\u00ce\u00f7S\u00e3\u00e9\u00bf\u0098n\u0012\u0083\u00c0\u00aa0\u00c0\u00e3\u00a5\u009b\u00c4 0&@Nb\u0010X9\u00b4\u00f6\u00bffffff\u00061\u00c0\u008f\u00c2\u00f5(\\\u00cf\"@\u00fc\u00a9\u00f1\u00d2Mb\u00f6\u00bf\u00a4p=\n\u00d7\u00031\u00c0H\u00e1z\u0014\u00ae\u00c7$@\u001f\u0085\u00ebQ\u00b8\u001e\u00c5?\u00ad\u001cZd;\u009f.\u00c0j\u00bct\u0093\u0018\u0004!@\u00d6x\u00e9&1\b\u00cc?\u009c\u00c4 \u00b0r\u00a8,\u00c0\u00b6\u00f3\u00fd\u00d4x) @/\u00dd$\u0006\u0081\u0095\u00db?`\u00e5\u00d0\"\u00db\u00b9/\u00c0j\u00bct\u0093\u0018D!@\u0091\u00ed|?5^\u00f2?n\u00e7\u00fb\u00a9\u00f1\u00d2/\u00c0q=\n\u00d7\u00a3p\u001f@-\u00b2\u009d\u00ef\u00a7\u00c6\u00db\u00bf-\u00b2\u009d\u00ef\u00a7\u0006,\u00c0\u00d7\u00a3p=\n\u00d7'@\u0002+\u0087\u0016\u00d9\u00ce\u0005\u00c0y\u00e9&1\b\u00ec*\u00c02\b\u00ac\u001cZ$(@h\u0091\u00ed|?5\u00fe\u00bf\b\u00ac\u001cZd;,\u00c0\u00fa~j\u00bct\u0013*@\u00e8\u00fb\u00a9\u00f1\u00d2M\r\u00c0\u0090\u00c2\u00f5(\\O.\u00c0\u0013\u0083\u00c0\u00ca\u00a1\u0085*@\u001dZd;\u00dfO\u000f\u00c0\u0094\u0018\u0004V\u000e\u00ed*\u00c0\u00a4p=\n\u00d7c)@th\u0091\u00ed|?\u0014\u00c0\u00b7\u00f3\u00fd\u00d4x\u00e9*\u00c0c\u0010X9\u00b4\u0088,@\u0099n\u0012\u0083\u00c0\u00ca\u0007\u00c0\u00a5p=\n\u00d7\u00e3(\u00c0\u0014\u00aeG\u00e1z\u0014,@\u00e0O\u008d\u0097n\u0012\u0005\u00c0_\u00baI\f\u0002\u00eb*\u00c0\u0013\u0083\u00c0\u00ca\u00a1E.@\u0080j\u00bct\u0093\u0018\r\u00c0\u00ef|?5^\u00fa+\u00c0\u00ac\u001cZd;\u001f*@n\u00e7\u00fb\u00a9\u00f1R\u0018\u00c0\u00be\u009f\u001a/\u00dd\u00a4,\u00c0\u008aA`\u00e5\u00d0b-@\u00dc\u00f9~j\u00bct\u00fd\u00bf\u009c\u00c4 \u00b0rh,\u00c0-\u00b2\u009d\u00ef\u00a7\u00c6+@\u0083\u00c0\u00ca\u00a1E\u00b6\u00f1\u00bf0\u00dd$\u0006\u0081\u00d5+\u00c0\u001eZd;\u00df\u000f/@&\u0006\u0081\u0095C\u008b\u00f4\u00bfe;\u00dfO\u008d\u0097/\u00c0H\u00e1z\u0014\u00ae\u0007.@\u00da\u00ce\u00f7S\u00e3\u00a5\u0001\u00c0\u00c8K7\u0089A\u00a0/\u00c0\u00ce\u00cc\u00cc\u00cc\u00cc\u008c/@\f\u0002+\u0087\u0016\u00d9\u0007\u00c0p\u0012\u0083\u00c0\u00caa0\u00c0m\u00e7\u00fb\u00a9\u00f1R,@\u00f4\u00fd\u00d4x\u00e9&\u0004\u00c0L7\u0089A`\u00850\u00c0<\u00dfO\u008d\u0097\u00ae.@7\u0089A`\u00e5\u00d0\u00ee\u00bf\u0088\u0016\u00d9\u00ce\u00f7\u00d3/\u00c0\u0014\u00aeG\u00e1z\u00140@\u00cc\u00a1E\u00b6\u00f3\u00fd\u00dc\u00bfR\u00b8\u001e\u0085\u00eb\u00b10\u00c0\u009d\u00c4 \u00b0r\u00e8,@\u00c1\u00ca\u00a1E\u00b6\u00f3\u00d5\u00bfZd;\u00dfO\u00cd1\u00c0\u00baI\f\u0002+\u00c7/@-\u00b2\u009d\u00ef\u00a7\u00c6\u00f5\u00bf\u0014\u00aeG\u00e1z42\u00c0;\u00dfO\u008d\u0097.0@^\u00baI\f\u0002+\u00df\u00bf\u009a\u0099\u0099\u0099\u0099y2\u00c0\u0001\u0000\u0000\u0000\u0000\u0080.@\u00e8\u00fb\u00a9\u00f1\u00d2M\u00fc\u00bfd;\u00dfO\u008d\u00b71\u00c0\u0006\u0081\u0095C\u008b\u00ac0@\u0096C\u008bl\u00e7\u00fb\u00ff\u00bf\u008e\u0097n\u0012\u0083\u00c0(\u00c0\u00a4p=\n\u00d7\u00e3'@^\u00baI\f\u0002+\u0014\u00c0E\u008bl\u00e7\u00fb\u00e9'\u00c0\u00dc\u00f9~j\u00bct'@\u00aa\u00f1\u00d2Mb\u0090\u0010\u00c0H\u00e1z\u0014\u00aeG'\u00c0h\u0091\u00ed|?5'@\u00fa~j\u00bct\u0013\u0019\u00c0\u001b/\u00dd$\u0006\u0081'\u00c0.\u00b2\u009d\u00ef\u00a7\u00c6(@\u00baI\f\u0002+\u0007\u001c\u00c0\u00ab\u00f1\u00d2Mb\u0090(\u00c0fffff\u00a6$@~?5^\u00ba\u00c9\u001b\u00c0b\u0010X9\u00b4H$\u00c0\u0091\u00ed|?5\u00de&@L7\u0089A`\u00e5\u0017\u00c0\u0014\u00aeG\u00e1z\u00d4#\u00c0/\u00dd$\u0006\u0081U%@\u00a6\u009b\u00c4 \u00b0\u00f2\u0014\u00c0\u008d\u0097n\u0012\u0083\u0080#\u00c0m\u00e7\u00fb\u00a9\u00f1\u0012&@)\\\u008f\u00c2\u00f5\u00a8\u001b\u00c0\u00cd\u00cc\u00cc\u00cc\u00ccL'\u00c0\u00baI\f\u0002+\u0087#@\u00f7(\\\u008f\u00c2u\u001f\u00c0\u00fc\u00a9\u00f1\u00d2Mb\"\u00c0L7\u0089A`%)@!\u00b0rh\u0091\u00ed\u0015\u00c0\u00d7\u00a3p=\nW!\u00c0M7\u0089A`e(@\u009c\u00c4 \u00b0rh\u0012\u00c0\u00bct\u0093\u0018\u0004\u00d6 \u00c0\u00a4p=\n\u00d7c)@\u00a6\u009b\u00c4 \u00b0\u00f2\u0018\u00c0\u0087\u0016\u00d9\u00ce\u00f7\u0093#\u00c0gffff\u00a6+@\u00e1z\u0014\u00aeG\u00e1\u0013\u00c07\u0089A`\u00e5P#\u00c00\u00dd$\u0006\u0081U,@\u00ac\u001cZd;\u00df\r\u00c0\u008f\u00c2\u00f5(\\O\"\u00c0\u00a2E\u00b6\u00f3\u00fd\u0014+@?5^\u00baI\f\t\u00c0u\u0093\u0018\u0004V\u008e$\u00c0\u00e7\u00fb\u00a9\u00f1\u00d2\u00cd-@\u0012\u0083\u00c0\u00ca\u00a1E\u000b\u00c05^\u00baI\fB%\u00c0\u00c5 \u00b0rh\u00d1,@\u00b0rh\u0091\u00ed|\u0016\u00c0\u00d0\u00f7S\u00e3\u00a5\u00db*\u00c0J\f\u0002+\u0087\u0096#@fffff\u00e6\u0019\u00c0\u00fe\u00d4x\u00e9&\u00f1+\u00c0 \u0085\u00ebQ\u00b8\u009e$@D\u008bl\u00e7\u00fb)\u0017\u00c07\u0089A`\u00e5\u0010,\u00c0\u0006\u0081\u0095C\u008b\u00ec @;\u00dfO\u008d\u0097n\u001b\u00c0\u009f\u00ef\u00a7\u00c6K\u00b7-\u00c0sh\u0091\u00ed|\u007f @\u009f\u00ef\u00a7\u00c6K\u00b7\u0018\u00c0\u0013\u0083\u00c0\u00ca\u00a1E*\u00c0\u0097C\u008bl\u00e7\u00fb\u001c@e;\u00dfO\u008d\u0097\u001a\u00c0\u00b4\u00c8v\u00be\u009f\u001a-\u00c0\u0083\u00c0\u00ca\u00a1E6!@9\u00b4\u00c8v\u00be\u009f \u00c0.\u00b2\u009d\u00ef\u00a7\u0086-\u00c0\u0000\u0000\u0000\u0000\u0000@#@5^\u00baI\fB!\u00c0E\u008bl\u00e7\u00fb\u00a9+\u00c0\u00b2\u009d\u00ef\u00a7\u00c6\u008b @w\u00be\u009f\u001a/\u001d\"\u00c0\u0086\u00ebQ\u00b8\u001e\u0085*\u00c0X9\u00b4\u00c8v>\u0019@\u00b8\u001e\u0085\u00ebQ\u00b8\u001d\u00c0[d;\u00dfO\u008d/\u00c0\u0010X9\u00b4\u00c8\u00f6\u001e@;\u00dfO\u008d\u0097.!\u00c0-\u00b2\u009d\u00ef\u00a7\u00860\u00c0\u00c5 \u00b0rh\u0011\u001f@433333\u001f\u00c0\u00cd\u00cc\u00cc\u00cc\u00cc\u00cc.\u00c0x\u00be\u009f\u001a/\u00dd\u001a@\u00e9&1\b\u00ac\u001c!\u00c0\u0096C\u008bl\u00e7{0\u00c0)\\\u008f\u00c2\u00f5(\u001f@\u00d0\u00f7S\u00e3\u00a5\u00db#\u00c0|\u0014\u00aeG\u00e1z1\u00c0\u0006\u0081\u0095C\u008bl\u001d@\u00d1\"\u00db\u00f9~\u00aa#\u00c0\u0012\u0083\u00c0\u00ca\u00a1\u00a50\u00c0)\\\u008f\u00c2\u00f5\u00a8!@\\\u008f\u00c2\u00f5(\\$\u00c0\u00d5x\u00e9&1\u0088/\u00c0\u00b7\u00f3\u00fd\u00d4xi\u001c@sh\u0091\u00ed|\u00ff%\u00c0\u00b6\u00f3\u00fd\u00d4x\t0\u00c0d;\u00dfO\u008d\u0097\u0018@)\\\u008f\u00c2\u00f5h&\u00c0\u00c6 \u00b0rh\u0011-\u00c0\u00db\u00f9~j\u00bc\u00b4!@/\u00dd$\u0006\u0081\u0095'\u00c0\u00bbI\f\u0002+\u0007.\u00c0\u00a4p=\n\u00d7##@%\u0006\u0081\u0095C\u008b&\u00c0\u00e2z\u0014\u00aeG\u00e1+\u00c01\b\u00ac\u001cZ$\"@\u00ecQ\u00b8\u001e\u0085+)\u00c0\u008d\u0097n\u0012\u0083\u0000-\u00c0\u00f9S\u00e3\u00a5\u009bD\u001c@p\u0012\u0083\u00c0\u00ca\u00e1)\u00c0\u0084\u00c0\u00ca\u00a1E6,\u00c0D\u008bl\u00e7\u00fb\u00a9\u001e@R\u00b8\u001e\u0085\u00ebQ+\u00c0\u00b1rh\u0091\u00ed|-\u00c0Zd;\u00dfO\u008d\u0018@X9\u00b4\u00c8v~*\u00c0E\u008bl\u00e7\u00fb\u00e9-\u00c0\u00f0\u00a7\u00c6K7\u0089\u001e@\u00d4Mb\u0010X\u00b9'\u00c0x\u00be\u009f\u001a/\u009d(\u00c0\u0010X9\u00b4\u00c8\u00f6\u001c@\u0096C\u008bl\u00e7{\u0016\u00c05^\u00baI\f\u00c2(\u00c0R\u00b8\u001e\u0085\u00eb\u0011 @5^\u00baI\f\u0002\u0014\u00c0=\n\u00d7\u00a3p='\u00c0|\u0014\u00aeG\u00e1z\u0018@L7\u0089A`e\u0014\u00c0H\u00e1z\u0014\u00ae\u00c7(\u00c0\u00a0\u001a/\u00dd$\u0086\u0015@\u00c7K7\u0089A`\u0013\u00c0L7\u0089A`\u00e5%\u00c0r=\n\u00d7\u00a3p\u0019@\u009a\u0099\u0099\u0099\u0099\u0019\u0011\u00c0\u00fd\u00a9\u00f1\u00d2Mb%\u00c0u\u0093\u0018\u0004V\u008e\u0015@\u00cav\u00be\u009f\u001a\u00af\u0018\u00c0\u00c2\u00ca\u00a1E\u00b63$\u00c0\\\u008f\u00c2\u00f5(\u00dc\u0017@\u0098n\u0012\u0083\u00c0J\u001c\u00c0p\u0012\u0083\u00c0\u00caa%\u00c0D\u008bl\u00e7\u00fb)\u0010@\u0018\u00d9\u00ce\u00f7Sc\u0018\u00c0\u00a4p=\n\u00d7\u00e3&\u00c0?5^\u00baI\f\r@\u00b2\u009d\u00ef\u00a7\u00c6K\u0016\u00c0\u0082\u0095C\u008bl\u00e7#\u00c0\u00c8K7\u0089A`\t@\u00b8\u001e\u0085\u00ebQ8\u001c\u00c0\u00e4\u00a5\u009b\u00c4 \u00f0!\u00c0\u009e\u00ef\u00a7\u00c6K7\r@\u00e3\u00a5\u009b\u00c4 0\u001c\u00c0\u00a0\u001a/\u00dd$\u0006%\u00c0\u00cb\u00a1E\u00b6\u00f3\u00fd\t@y\u00e9&1\b\u00ec \u00c0\u00fc\u00a9\u00f1\u00d2M\u00a2#\u00c0\u00d3Mb\u0010X9\u00fc?\u0002+\u0087\u0016\u00d9\u00ce\u0019\u00c0\u00aa\u00f1\u00d2MbP\"\u00c0\u00a2E\u00b6\u00f3\u00fd\u00d4\u00f4?}?5^\u00ba\u00c9\u001c\u00c0\u00ac\u001cZd;\u009f%\u00c0\u00b4\u00c8v\u00be\u009f\u001a\u00f5?(1\b\u00ac\u001c\u00da\u0019\u00c0X9\u00b4\u00c8v~#\u00c0j\u00bct\u0093\u0018\u0004\n@(1\b\u00ac\u001c\u00da\"\u00c0\u0093\u0018\u0004V\u000e-\"\u00c0v\u0093\u0018\u0004V\u000e\u00f9?!\u00b0rh\u0091m\u0014\u00c0^\u00baI\f\u0002+#\u00c0:\u00b4\u00c8v\u00be\u009f\u00f2?\u00a9\u00c6K7\u0089A\u000f\u00c0\u00bbI\f\u0002+G%\u00c0\u00d9\u00ce\u00f7S\u00e3\u00a5\u00ef?\u00bct\u0093\u0018\u0004V\u000e\u00c0\u00a1\u001a/\u00dd$\u0086\u001e\u00c0\b\u00ac\u001cZd;\u00fd?333333\u0013\u00c0|\u0014\u00aeG\u00e1z\u001d\u00c0|\u0014\u00aeG\u00e1z\u00f8?\u00b2\u009d\u00ef\u00a7\u00c6K\u000b\u00c0z\u00e9&1\b,\u001a\u00c0Zd;\u00dfO\u008d\u0002@y\u00e9&1\b,\u0016\u00c0\u00d8\u00a3p=\n\u00d7\u001a\u00c0\u0087\u0016\u00d9\u00ce\u00f7S\u0005@\u0083\u00c0\u00ca\u00a1E6\u001a\u00c0L7\u0089A`%!\u00c0\u007fj\u00bct\u0093\u0018\u00f2?ffffff\u0007\u00c0#\u00db\u00f9~j|!\u00c0 \u0085\u00ebQ\u00b8\u001e\u00ed?\u00cav\u00be\u009f\u001a/\u00ff\u00bf|\u0014\u00aeG\u00e1\u00fa\u0013\u00c01\b\u00ac\u001cZd\u0000@V\u000e-\u00b2\u009d\u00ef\f\u00c0\u009e\u00ef\u00a7\u00c6K7\u0010\u00c0333333\u0002@h\u0091\u00ed|?5\t\u00c0I\u00e1z\u0014\u00aeG\u0018\u00c0I\u00e1z\u0014\u00aeG\u00f9?\u00be\u009f\u001a/\u00dd$\u0007\u00c0\u009c\u00c4 \u00b0r\u00e8\u0017\u00c0\u001f\u0085\u00ebQ\u00b8\u001e\u00f3?)\\\u008f\u00c2\u00f5(\u00fe\u00bf\u0000\u0000\u0000\u0000\u0000\u0000\u0015\u00c0u\u0093\u0018\u0004V\u000e\u0003@\u00d5x\u00e9&1\b\u0014\u00c0\u0017\u00d9\u00ce\u00f7S\u00e3\u0011\u00c0\u00ecQ\u00b8\u001e\u0085\u00eb\u0006@\u0092\u00ed|?5^\u0016\u00c0\u007fj\u00bct\u0093\u0098'\u00c0\u007fj\u00bct\u0093\u0018\u000b@\u00f4\u00fd\u00d4x\u00e9f!\u00c0,\u0087\u0016\u00d9\u00ce\u00f7(\u00c0w\u00be\u009f\u001a/\u00dd\f@G\u00b6\u00f3\u00fd\u00d4\u00f8\u001f\u00c0\u00a6\u009b\u00c4 \u00b0\u00f2(\u00c0\u00d3Mb\u0010X9\f@\u0099n\u0012\u0083\u00c0\n$\u00c0:\u00b4\u00c8v\u00be\u009f(\u00c0\u00a6\u009b\u00c4 \u00b0r\u0005@\u00ac\u001cZd;_%\u00c0\u00b0rh\u0091\u00ed\u00fc'\u00c0\u0093\u0018\u0004V\u000e-\u0013@E\u008bl\u00e7\u00fbi%\u00c0&\u0006\u0081\u0095C\u000b,\u00c0S\u00b8\u001e\u0085\u00ebQ\r@\u00e3\u00a5\u009b\u00c4 p#\u00c0Nb\u0010X9t,\u00c0\u000e-\u00b2\u009d\u00ef\u00a7\u0011@\u00d1\"\u00db\u00f9~\u00ea!\u00c0\u00f4\u00fd\u00d4x\u00e9\u00a6,\u00c0/\u00dd$\u0006\u0081\u0095\u0005@\u00c7K7\u0089A\u00a0\"\u00c0\u00e6\u00d0\"\u00db\u00f9~'\u00c0\u00a4p=\n\u00d7#\u0013@Zd;\u00dfO\u00cd'\u00c0r=\n\u00d7\u00a3\u00b0-\u00c0\u00dc\u00f9~j\u00bct\u000e@$\u00db\u00f9~j\u00fc%\u00c0\u0019\u0004V\u000e-\u00b2,\u00c0v\u0093\u0018\u0004V\u000e\u000b@\u0080j\u00bct\u0093\u0018(\u00c0\u009b\u0099\u0099\u0099\u0099\u00d9/\u00c0y\u00e9&1\b\u00ac\u0011@\u00d5x\u00e9&1\u00c8%\u00c0/\u00dd$\u0006\u0081\u0095'\u00c0\u00e0O\u008d\u0097n\u0092\u0017@\u0091\u00ed|?5\u00de#\u00c0~?5^\u00ba\t(\u00c0\\\u008f\u00c2\u00f5(\\\u0017@\u009c\u00c4 \u00b0r\u00e8!\u00c0\u00e0O\u008d\u0097nR&\u00c0\u00da\u00ce\u00f7S\u00e3\u00a5\u001c@J\f\u0002+\u0087\u00d6$\u00c0sh\u0091\u00ed|?'\u00c0\u009f\u00ef\u00a7\u00c6K\u00b7\u001d@th\u0091\u00ed|\u00bf&\u00c0<\u00dfO\u008d\u0097\u00ee&\u00c0\u00e6\u00d0\"\u00db\u00f9\u00fe\u001f@7\u0089A`\u00e5\u0090#\u00c0=\n\u00d7\u00a3p=#\u00c0th\u0091\u00ed|\u00bf\u001c@+\u0087\u0016\u00d9\u00ce\u00b7$\u00c0\u0093\u0018\u0004V\u000e-\"\u00c0\u008e\u0097n\u0012\u0083\u00c0\u001f@\u00e3\u00a5\u009b\u00c4 p&\u00c0\u00ea&1\b\u00ac\u00dc!\u00c0\u00f8S\u00e3\u00a5\u009bD\u0019@\u001f\u0085\u00ebQ\u00b8\u001e#\u00c0#\u00db\u00f9~j\u00bc\"\u00c0\u0010X9\u00b4\u00c8v\u0016@\u009e\u00ef\u00a7\u00c6K\u00f7!\u00c0\u00d1\"\u00db\u00f9~\u00ea\u001d\u00c0\u00e3\u00a5\u009b\u00c4 \u00b0\u0018@\u00fe\u00d4x\u00e9&q#\u00c0=\n\u00d7\u00a3p=\u001c\u00c0\u00d4Mb\u0010X\u00b9\u001c@\u00f4\u00fd\u00d4x\u00e9f#\u00c0\u001dZd;\u00df\u00cf\u001c\u00c0.\u00b2\u009d\u00ef\u00a7F\u0016@\u00aeG\u00e1z\u0014.&\u00c0\b\u00ac\u001cZd\u00bb\u001b\u00c0&\u0006\u0081\u0095C\u008b\u0015@!\u00b0rh\u0091\u00ed \u00c06^\u00baI\f\u0002\u001c\u00c0\u00ef|?5^:\u0018@\u00c2\u00ca\u00a1E\u00b6s\u001e\u00c0\u00bct\u0093\u0018\u0004\u00d6\u001d\u00c0\u00a8\u00c6K7\u0089\u00c1\u0011@\u0083\u00c0\u00ca\u00a1E\u00b6 \u00c0\u00f9S\u00e3\u00a5\u009b\u00c4\u0018\u00c0\u00f8S\u00e3\u00a5\u009b\u00c4\u0017@\u001b/\u00dd$\u0006\u0081'\u00c0\u0098n\u0012\u0083\u00c0\u00ca\u0015\u00c0\u00dd$\u0006\u0081\u0095\u00c3\u0013@\u00d7\u00a3p=\n\u0017!\u00c0T\u00e3\u00a5\u009b\u00c4 \u0012\u00c0_\u00baI\f\u0002+\u0018@T\u00e3\u00a5\u009b\u00c4 !\u00c0?5^\u00baI\u008c\u0013\u00c0\u00b8\u001e\u0085\u00ebQ8\u001c@\u00be\u009f\u001a/\u00dd\u00e4 \u00c0\u00d4Mb\u0010X9\u0014\u00c0X9\u00b4\u00c8v\u00be\f@|\u0014\u00aeG\u00e1z!\u00c0\u00dfO\u008d\u0097n\u0012\u0017\u00c0\u00dd$\u0006\u0081\u0095C\u0006@d;\u00dfO\u008d\u0097!\u00c0333333\t\u00c0\u00bdt\u0093\u0018\u0004V\u0017@Zd;\u00dfO\u008d!\u00c0H\u00e1z\u0014\u00aeG\u0003\u00c0,\u0087\u0016\u00d9\u00cew\u001a@u\u0093\u0018\u0004V\u00ce!\u00c0\u008f\u00c2\u00f5(\\\u008f\r\u00c0\u00b0rh\u0091\u00ed|\u000b@\u0098n\u0012\u0083\u00c0\n\"\u00c0\u0004V\u000e-\u00b2\u009d\n\u00c0ffffff\u0003@\u0098n\u0012\u0083\u00c0J\"\u00c0\u00db\u00f9~j\u00bct\u0006\u00c0\u00d5x\u00e9&1\b\u0012@\u00c5 \u00b0rh\u0011\"\u00c0\u00be\u009f\u001a/\u00dd$\u00fc\u00bf$\u00db\u00f9~j<\u0011@B`\u00e5\u00d0\"[\"\u00c0H\u00e1z\u0014\u00ae\u0007 \u00c0\u0087\u0016\u00d9\u00ce\u00f7S\u0012@\u007fj\u00bct\u0093\u0018'\u00c0\u00ecQ\u00b8\u001e\u0085\u00ab!\u00c0\u00a2E\u00b6\u00f3\u00fdT\u0011@Zd;\u00dfO\r&\u00c0\u0080j\u00bct\u0093\u0098\u001f\u00c0\u00be\u009f\u001a/\u00dd$\u0010@G\u00b6\u00f3\u00fd\u00d4\u00b8)\u00c0\u001eZd;\u00dfO\u001b\u00c0\u00c6 \u00b0rh\u0091\u000f@B`\u00e5\u00d0\"\u001b*\u00c0\u00d3Mb\u0010X\u00f9 \u00c00\u00dd$\u0006\u0081\u0095\u0013@\u00aa\u00f1\u00d2Mb\u0010,\u00c0\u00ecQ\u00b8\u001e\u0085\u00ab \u00c0{\u0014\u00aeG\u00e1z\u0004@~?5^\u00ba\u00c9)\u00c0\u00f0\u00a7\u00c6K7\t \u00c08\u0089A`\u00e5\u00d0\u0001@P\u008d\u0097n\u0012\u00c3+\u00c0\b\u00ac\u001cZd{ \u00c0\u00c9v\u00be\u009f\u001a/\u0012@\u009a\u0099\u0099\u0099\u0099Y.\u00c0\u0092\u00ed|?5\u00de\u001e\u00c0\u0084\u00c0\u00ca\u00a1E\u00b6\u00fb?v\u0093\u0018\u0004V\u008e'\u00c00\u00dd$\u0006\u0081\u0095\u001a\u00c0\u009e\u00ef\u00a7\u00c6K7\u00f9?\u001f\u0085\u00ebQ\u00b8\u00de'\u00c0\u00c9v\u00be\u009f\u001a\u00af\u001f\u00c0w\u00be\u009f\u001a/\u00dd\u0001@L7\u0089A`\u00a5%\u00c0\u00fc\u00a9\u00f1\u00d2Mb \u00c0*\\\u008f\u00c2\u00f5(\u00e8?`\u00e5\u00d0\"\u00dby'\u00c0\u00d9\u00ce\u00f7S\u00e3\u00a5#\u00c0\u00f8S\u00e3\u00a5\u009b\u00c4\u0003@0\u00dd$\u0006\u0081\u00d5)\u00c0\u00fe\u00d4x\u00e9&q$\u00c0\u009c\u00c4 \u00b0rh\u0007@\u00de$\u0006\u0081\u0095\u0003(\u00c0\u00e7\u00fb\u00a9\u00f1\u00d2M$\u00c0\u00b6\u00f3\u00fd\u00d4x\u00e9\u00f6?>\n\u00d7\u00a3p\u00fd)\u00c0R\u00b8\u001e\u0085\u00ebQ$\u00c0\b\u00ac\u001cZd;\b@/\u00dd$\u0006\u0081\u0095+\u00c0^\u00baI\f\u0002k\"\u00c0\u00c2\u00ca\u00a1E\u00b6\u00f3\u0017@\u0018\u00d9\u00ce\u00f7Sc+\u00c0V\u000e-\u00b2\u009do\"\u00c0\u00db\u00f9~j\u00bc\u00f4\u0018@!\u00b0rh\u0091m)\u00c0\u0086\u00ebQ\u00b8\u001e\u0005#\u00c0\u0082\u0095C\u008blg\u001c@\u0001\u0000\u0000\u0000\u0000@-\u00c0~?5^\u00ba\u0089#\u00c0\u00c1\u00ca\u00a1E\u00b6\u00f3\u001a@\u00a9\u00c6K7\u0089A/\u00c0\u00c5 \u00b0rh\u00d1 \u00c0433333 @S\u00b8\u001e\u0085\u00eb\u0091-\u00c0\u009a\u0099\u0099\u0099\u0099\u0099%\u00c0\u0019\u0004V\u000e-2\u001f@\u00da\u00ce\u00f7S\u00e3e,\u00c0\u0010X9\u00b4\u00c86%\u00c0\u008d\u0097n\u0012\u0083\u0000!@~?5^\u00ba\u00c9*\u00c0\u00b4\u00c8v\u00be\u009f\u001a'\u00c07\u0089A`\u00e5P\u001c@\u00e5\u00d0\"\u00db\u00f9\u00be+\u00c0\u0096C\u008bl\u00e7; \u00c0\u00c7K7\u0089A\u00e0 @\u00fc\u00a9\u00f1\u00d2M\u00e2/\u00c0\u00b5\u00c8v\u00be\u009f\u009a&\u00c0\u00a4p=\n\u00d7\u00e3 @\u00f4\u00fd\u00d4x\u00e9\u00e6.\u00c0\u0000\u0000\u0000\u0000\u0000@%\u00c0b\u0010X9\u00b4\u0088\"@<\u00dfO\u008d\u0097n/\u00c0$\u00db\u00f9~j<'\u00c0\u00e0O\u008d\u0097n\u0012\u001f@\u00e9&1\b\u00ac<0\u00c06^\u00baI\fB)\u00c01\b\u00ac\u001cZd\"@\u00b0rh\u0091\u00ed<.\u00c0v\u0093\u0018\u0004V\u000e*\u00c0\u00ecQ\u00b8\u001e\u0085\u00ab\"@x\u00be\u009f\u001a/\u00dd+\u00c0~?5^\u00ba\u00c9*\u00c0\u00f0\u00a7\u00c6K7I#@\u0012\u0083\u00c0\u00ca\u00a1\u00050\u00c0`\u00e5\u00d0\"\u00db\u00f9\u001e\u00c0\u00fa~j\u00bct\u00d3 @\u00f3\u00d2Mb\u0010X+\u00c0h\u0091\u00ed|?5 \u00c0\u00ecQ\u00b8\u001e\u0085\u00eb\u001f@*\\\u008f\u00c2\u00f5\u00a8)\u00c05^\u00baI\f\u0002\u001a\u00c09\u00b4\u00c8v\u00be_\"@^\u00baI\f\u0002++\u00c0\u00c6 \u00b0rh\u0091\u001a\u00c0\u0091\u00ed|?5^$@6^\u00baI\f\u0002,\u00c0\u00f0\u00a7\u00c6K7\t\u0015\u00c0\u000e-\u00b2\u009d\u00ef'!@E\u008bl\u00e7\u00fb\u00a9,\u00c0\u00a2E\u00b6\u00f3\u00fd\u00d4\u0018\u00c0/\u00dd$\u0006\u0081\u00d5\"@z\u00e9&1\b,(\u00c0th\u0091\u00ed|?\u001a\u00c0\u008f\u00c2\u00f5(\\\u000f!@\u00e2z\u0014\u00aeG!'\u00c0;\u00dfO\u008d\u0097n\u001b\u00c0w\u00be\u009f\u001a/]$@\u00c6 \u00b0rhQ'\u00c0\u00f8S\u00e3\u00a5\u009bD\u0012\u00c0+\u0087\u0016\u00d9\u00ce\u00b7\"@\u00a6\u009b\u00c4 \u00b0\u00f2-\u00c0?5^\u00baI\f\u0013\u00c0\u00cd\u00cc\u00cc\u00cc\u00cc\u008c#@+\u0087\u0016\u00d9\u00cew'\u00c0\u00f2\u00d2Mb\u0010X\u0011\u00c0\u0094\u0018\u0004V\u000e-&@|\u0014\u00aeG\u00e1\u00ba'\u00c0\u00d7\u00a3p=\n\u00d7\u0013\u00c0\u00a8\u00c6K7\u0089\u00c1'@+\u0087\u0016\u00d9\u00cew(\u00c0@5^\u00baI\f\u000f\u00c0\u0082\u0095C\u008blg!@b\u0010X9\u00b4\u00c8&\u00c09\u00b4\u00c8v\u00be\u009f\u0010\u00c0\u001a\u0004V\u000e-\u00b2\u001e@\u0092\u00ed|?5^&\u00c0\u00ea&1\b\u00ac\u001c\b\u00c0\u00c3\u00f5(\\\u008f\u00c2&@\u00bct\u0093\u0018\u0004\u0016'\u00c0D\u008bl\u00e7\u00fb\u00a9\u0004\u00c0sh\u0091\u00ed|\u00bf(@\u00de$\u0006\u0081\u0095\u0003'\u00c0F\u00b6\u00f3\u00fd\u00d4x\u0004\u00c0J\f\u0002+\u0087\u0016\"@\u00b7\u00f3\u00fd\u00d4x)&\u00c0\u00d1\"\u00db\u00f9~j\u00fc\u00bf\u009c\u00c4 \u00b0r\u00a8 @b\u0010X9\u00b4\u00c8%\u00c0\u00b8\u001e\u0085\u00ebQ\u00b8\u0000\u00c0\u00f6(\\\u008f\u00c2\u00b5$@\u00f0\u00a7\u00c6K7I&\u00c0\u00b2\u009d\u00ef\u00a7\u00c6K\u00f1\u00bfB`\u00e5\u00d0\"[%@x\u00be\u009f\u001a/\u00dd%\u00c0\u00ecQ\u00b8\u001e\u0085\u00eb\u0014\u00c0u\u0093\u0018\u0004V\u000e\u001d@\u00b0rh\u0091\u00ed\u00bc,\u00c0\u00dfO\u008d\u0097n\u0012\u0017\u00c0\f\u0002+\u0087\u0016\u00d9\u001a@\u0082\u0095C\u008blg+\u00c0\u00a6\u009b\u00c4 \u00b0r\u0010\u00c0\u00d2\"\u00db\u00f9~j\u001a@&\u0006\u0081\u0095CK.\u00c0|\u0014\u00aeG\u00e1z\r\u00c0\u0084\u00c0\u00ca\u00a1E6\u001d@,\u0087\u0016\u00d9\u00ce\u00b7/\u00c0\u00d7\u00a3p=\nW\u0012\u00c0\"\u00b0rh\u0091m\u0015@\u00aeG\u00e1z\u0014\u00ee/\u00c0\u0003+\u0087\u0016\u00d9\u00ce\u0007\u00c0m\u00e7\u00fb\u00a9\u00f1\u00d2\u0018@\u00e9&1\b\u00ac\\,\u00c0\u0012\u0083\u00c0\u00ca\u00a1E\u0006\u00c0\u00d3Mb\u0010X9\u001c@\u00cd\u00cc\u00cc\u00cc\u00cc\f+\u00c07\u0089A`\u00e5\u00d0\t\u00c0h\u0091\u00ed|?\u00b5\u0015@\u0006\u0081\u0095C\u008b\u00ec*\u00c0\u00ce\u00cc\u00cc\u00cc\u00ccL\u0015\u00c0\u00c2\u00ca\u00a1E\u00b6\u00f3\u0011@\u0019\u0004V\u000e-\u00f2.\u00c0v\u0093\u0018\u0004V\u000e\u00fb\u00bf\u008bl\u00e7\u00fb\u00a9\u00f1\u0016@M7\u0089A`\u00a5-\u00c0\u00fc\u00a9\u00f1\u00d2Mb\u00f8\u00bf\u007fj\u00bct\u0093\u0098\u0011@6^\u00baI\f\u0082.\u00c0\u00a2E\u00b6\u00f3\u00fd\u00d4\u0002\u00c0\u00d0\u00f7S\u00e3\u00a5\u009b\r@ \u0085\u00ebQ\u00b8^.\u00c0y\u00e9&1\b\u00ac\u00e4\u00bf\u00fe\u00d4x\u00e9&\u00b1\u001a@H\u00e1z\u0014\u00ae\u00c7-\u00c09\u00b4\u00c8v\u00be\u009f\u00e6\u00bf\u00d0\u00f7S\u00e3\u00a5\u009b\u001e@U\u00e3\u00a5\u009b\u00c4\u00e0,\u00c0\u009c\u00c4 \u00b0rh\u00d1\u00bf\u0000\u0000\u0000\u0000\u0000\u0000\u0010@#\u00db\u00f9~j|/\u00c0\u00e8\u00fb\u00a9\u00f1\u00d2M\u00c2\u00bf/\u00dd$\u0006\u0081\u0095\u0007@\u00d8\u00a3p=\n\u00d7/\u00c0X9\u00b4\u00c8v\u00be\u00e3?\u0096C\u008bl\u00e7\u00fb\u0018@\u00ef|?5^\u00ba.\u00c0\u00d1\"\u00db\u00f9~j\u00f6?\u00b6\u00f3\u00fd\u00d4x\u00e9\u001b@\u00c7K7\u0089A\u00e0.\u00c0@5^\u00baI\f\u00ea?\u00a8\u00c6K7\u0089\u00c1\u0013@fffff\u00a6/\u00c0\u00e1z\u0014\u00aeG\u00e1\u00fc?/\u00dd$\u0006\u0081\u0095\u0012@\u00d9\u00ce\u00f7S\u00e3%0\u00c0;\u00dfO\u008d\u0097n\u0011\u00c0D\u008bl\u00e7\u00fb\u00a9\u0015@-\u00b2\u009d\u00ef\u00a7F1\u00c0o\u0012\u0083\u00c0\u00ca!\u0010\u00c0\u008aA`\u00e5\u00d0\"\u0019@\u008f\u00c2\u00f5(\\\u00af1\u00c0}?5^\u00ba\u00c9\u0013\u00c0\u00be\u009f\u001a/\u00dd\u00a4\u0011@\u00db\u00f9~j\u00bc42\u00c0\"\u00b0rh\u0091\u00ed\u0017\u00c0\u0002+\u0087\u0016\u00d9N\u0011@w\u00be\u009f\u001a/\u00dd1\u00c0\u009e\u00ef\u00a7\u00c6K\u00b7\u0010\u00c0\u00b1rh\u0091\u00ed|\b@\u00f2\u00d2Mb\u0010\u00182\u00c0\u00d7\u00a3p=\n\u00d7\u0013\u00c0\u0002+\u0087\u0016\u00d9\u00ce\u0013@?5^\u00baI\u00ac3\u00c0\u0096C\u008bl\u00e7\u00fb\u0014\u00c0\u00baI\f\u0002+\u0007\u0018@\u008bl\u00e7\u00fb\u00a9\u00b13\u00c0\u00d2\"\u00db\u00f9~j\u000f\u00c0\u00cc\u00a1E\u00b6\u00f3}\u0013@1\b\u00ac\u001cZ\u00044\u00c0b\u0010X9\u00b4\u00c8\u0007\u00c0\f\u0002+\u0087\u0016\u00d9\b@\u0096C\u008bl\u00e7\u00db1\u00c0e;\u00dfO\u008d\u0017\u0017\u00c0-\u00b2\u009d\u00ef\u00a7\u00c6\u0010@w\u00be\u009f\u001a/\u00bd4\u00c0\u00f5\u00fd\u00d4x\u00e9&\u001c\u00c0\u00f8S\u00e3\u00a5\u009b\u00c4\u0011@/\u00dd$\u0006\u0081\u00155\u00c0r=\n\u00d7\u00a3p\u001e\u00c0D\u008bl\u00e7\u00fb)\u0015@\u008e\u0097n\u0012\u0083\u00c04\u00c0\u008d\u0097n\u0012\u0083@\u0015\u00c0\u00cb\u00a1E\u00b6\u00f3\u00fd\b@d;\u00dfO\u008dw5\u00c0\u001f\u0085\u00ebQ\u00b8\u009e\u0011\u00c0\u00db\u00f9~j\u00bct\u0005@\u00f2\u00d2Mb\u0010x5\u00c0\u00e2z\u0014\u00aeGa\u0019\u00c0\u0002+\u0087\u0016\u00d9\u00ce\u0005@\u000e-\u00b2\u009d\u00efG6\u00c0I\u00e1z\u0014\u00aeG\u0019\u00c0\u00d0\u00f7S\u00e3\u00a5\u009b\u00fe?w\u00be\u009f\u001a/\u00fd6\u00c0\u0088\u0016\u00d9\u00ce\u00f7\u00d3\u001d\u00c0\u00e8\u00fb\u00a9\u00f1\u00d2M\f@\u00f2\u00d2Mb\u0010\u00186\u00c0\u00c6 \u00b0rh\u0091\u0013\u00c0K\f\u0002+\u0087\u0016\u00ff?H\u00e1z\u0014\u00aeg2\u00c0%\u0006\u0081\u0095C\u008b\u0017\u00c0ffffff\u0000@\u008bl\u00e7\u00fb\u00a9\u00912\u00c0\u00aeG\u00e1z\u0014.\u0011\u00c0\u0010X9\u00b4\u00c8v\u00e2?\u00baI\f\u0002+\u00872\u00c0\u00f2\u00d2Mb\u0010X\n\u00c0\u0014\u00aeG\u00e1z\u0014\u00e6?%\u0006\u0081\u0095C\u00eb2\u00c0\u00c7K7\u0089A\u00e0\u0014\u00c0H\u00e1z\u0014\u00aeG\u00c1\u00bf\u00f2\u00d2Mb\u0010\u00983\u00c0\u0081\u0095C\u008bl\u00e7\u0010\u00c0\u00f4\u00fd\u00d4x\u00e9&\u00d1\u00bf/\u00dd$\u0006\u008151\u00c0-\u00b2\u009d\u00ef\u00a7\u00c6\u0014\u00c0\u00c1\u00ca\u00a1E\u00b6\u00f3\u00d5\u00bfh\u0091\u00ed|?\u00b50\u00c0:\u00b4\u00c8v\u00be\u009f\u0019\u00c0j\u00bct\u0093\u0018\u0004\u00a6\u00bfp\u0012\u0083\u00c0\u00ca\u00813\u00c0\u009d\u00c4 \u00b0rh\u000e\u00c0\u00b4\u00c8v\u00be\u009f\u001a\u00fb\u00bf\u00ecQ\u00b8\u001e\u0085\u008b1\u00c0\u00be\u009f\u001a/\u00dd$\u0007\u00c0\u0088\u0016\u00d9\u00ce\u00f7S\u00fb\u00bf}?5^\u00ba)2\u00c0\u00d0\u00f7S\u00e3\u00a5\u009b\u0012\u00c0\u0004V\u000e-\u00b2\u009d\u0000\u00c0B`\u00e5\u00d0\"\u001b2\u00c0\u00b1rh\u0091\u00ed|\f\u00c0d;\u00dfO\u008d\u0097\u0002\u00c0R\u00b8\u001e\u0085\u00eb\u00b10\u00c0r=\n\u00d7\u00a3p\t\u00c0\u00c3\u00f5(\\\u008f\u00c2\u00d5?\u00e7\u00fb\u00a9\u00f1\u00d2M0\u00c0!\u00b0rh\u0091\u00ed\u0001\u00c0}?5^\u00baI\u00d4?\\\u008f\u00c2\u00f5(\u00dc0\u00c0\\\u008f\u00c2\u00f5(\\\t\u00c0\u00fc\u00a9\u00f1\u00d2Mb\u00d0\u00bfc\u0010X9\u00b4\u00c8.\u00c0\u00f1\u00a7\u00c6K7\u0089\u000b\u00c0\u0014\u00aeG\u00e1z\u0014\u00f6?=\n\u00d7\u00a3p\u001d0\u00c0\u0017\u00d9\u00ce\u00f7S\u00e3\u0012\u00c0\u00baI\f\u0002+\u0087\u00ea\u00bf\u00be\u009f\u001a/\u00dd\u00a44\u00c0K\f\u0002+\u0087\u0016\u000e\u00c0\f\u0002+\u0087\u0016\u00d9\u00e2\u00bfx\u00be\u009f\u001a/\u00dd4\u00c0\u007fj\u00bct\u0093\u0018\u0016\u00c0\u00fd\u00a9\u00f1\u00d2Mb\u00fa\u00bfr=\n\u00d7\u00a3\u00905\u00c0\u00bct\u0093\u0018\u0004V\u0019\u00c0\u00d1\"\u00db\u00f9~j\u00f0\u00bf\u00e3\u00a5\u009b\u00c4 \u00f05\u00c0b\u0010X9\u00b4H\u0018\u00c0\u009a\u0099\u0099\u0099\u0099\u0099\u0007\u00c0\u00ecQ\u00b8\u001e\u0085\u00eb4\u00c0\u00a2E\u00b6\u00f3\u00fd\u00d4\u0012\u00c0\u00f2\u00d2Mb\u0010X\u00ff\u00bf&\u0006\u0081\u0095C\u00cb6\u00c0\u0018\u00d9\u00ce\u00f7Sc\u0011\u00c0P\u008d\u0097n\u0012\u0083\u00f0\u00bf\u00ac\u001cZd;?7\u00c0\u00cav\u00be\u009f\u001a/\u0015\u00c0\n\u00d7\u00a3p=\n\u0004\u00c0\u00a0\u001a/\u00dd$\u00867\u00c0r=\n\u00d7\u00a3\u00f0\u0015\u00c0ffffff\r\u00c0`\u00e5\u00d0\"\u00db\u00194\u00c0,\u0087\u0016\u00d9\u00ce\u00f7\u000b\u00c0\u00afG\u00e1z\u0014\u00ae\u0006\u00c0?5^\u00baI\u008c6\u00c05^\u00baI\f\u0002\u000f\u00c0333333\u000e\u00c0\u0082\u0095C\u008bl'6\u00c0:\u00b4\u00c8v\u00be\u009f\b\u00c0\u0083\u00c0\u00ca\u00a1E\u00b6\b\u00c0\u00dd$\u0006\u0081\u0095\u00837\u00c0\u00fc\u00a9\u00f1\u00d2Mb\u0002\u00c0\u00d0\u00f7S\u00e3\u00a5\u009b\u0002\u00c0\u0004V\u000e-\u00b2\u00bd5\u00c0%\u0006\u0081\u0095C\u008b\u0000\u00c0\u00f8S\u00e3\u00a5\u009b\u00c4\u00f0\u00bf\u0098n\u0012\u0083\u00c0\u00aa5\u00c0\u0082\u0095C\u008bl\u00e7\u00f9\u00bf\u00aa\u00f1\u00d2Mb\u0010\t\u00c0\u00e9&1\b\u00ac\u001c5\u00c0!\u00b0rh\u0091m\u001d\u00c0Y9\u00b4\u00c8v\u00be\t\u00c0.\u00b2\u009d\u00ef\u00a7F5\u00c0,\u0087\u0016\u00d9\u00cew\u001f\u00c0\u00e9&1\b\u00ac\u001c\u0005\u00c0\u00c9v\u00be\u009f\u001a\u00ef5\u00c0\u007fj\u00bct\u0093X \u00c0R\u00b8\u001e\u0085\u00ebQ\u0011\u00c0\u00a4p=\n\u00d7\u00c34\u00c0\u0098n\u0012\u0083\u00c0J\u001e\u00c0\b\u00ac\u001cZd\u00bb\u0014\u00c0\u0088\u0016\u00d9\u00ce\u00f7s4\u00c0\u009a\u0099\u0099\u0099\u0099\u0019\"\u00c0\u009c\u00c4 \u00b0rh\u0013\u00c0Zd;\u00dfO\u00ed5\u00c0\u001f\u0085\u00ebQ\u00b8\u00de!\u00c0\u00aa\u00f1\u00d2Mb\u0010\u000e\u00c0\u0092\u00ed|?5~3\u00c07\u0089A`\u00e5\u00d0\"\u00c0\u0019\u0004V\u000e-\u00b2\u0006\u00c0m\u00e7\u00fb\u00a9\u00f1\u00d23\u00c0\u0092\u00ed|?5^ \u00c0\u00bdt\u0093\u0018\u0004V\f\u00c0\b\u00ac\u001cZd\u00bb2\u00c09\u00b4\u00c8v\u00be\u00df!\u00c0\u00ad\u001cZd;_\u0018\u00c0\u00d5x\u00e9&1(6\u00c0B`\u00e5\u00d0\"\u00db#\u00c0\u0091\u00ed|?5^\u0013\u00c0\u00aeG\u00e1z\u0014\u00ee2\u00c0\u00e0O\u008d\u0097nR&\u00c0\u00c3\u00f5(\\\u008fB\u0012\u00c0'1\b\u00ac\u001c\u00ba2\u00c0\u0010X9\u00b4\u00c8\u00f6\"\u00c0^\u00baI\f\u0002\u00ab\u0017\u00c0\u000e-\u00b2\u009d\u00ef\u00a72\u00c0\u0080j\u00bct\u0093\u0018$\u00c0\u0019\u0004V\u000e-\u00b2\u0010\u00c06^\u00baI\fb6\u00c0"], "name": ""} \ No newline at end of file diff --git a/src/openfe/tests/data/warehouse/mc1_campaign/setup/RelativeHybridTopologyProtocol-59d604ce336f12d44f6e4647a6f7e616 b/src/openfe/tests/data/warehouse/mc1_campaign/setup/RelativeHybridTopologyProtocol-59d604ce336f12d44f6e4647a6f7e616 new file mode 100644 index 000000000..7991d5fc8 --- /dev/null +++ b/src/openfe/tests/data/warehouse/mc1_campaign/setup/RelativeHybridTopologyProtocol-59d604ce336f12d44f6e4647a6f7e616 @@ -0,0 +1 @@ +{":version:": 1, "__module__": "openfe.protocols.openmm_rfe.hybridtop_protocols", "__qualname__": "RelativeHybridTopologyProtocol", "settings": {":is_custom:": true, "__class__": "RelativeHybridTopologyProtocolSettings", "__module__": "openfe.protocols.openmm_rfe.equil_rfe_settings", "alchemical_settings": {":is_custom:": true, "__class__": "AlchemicalSettings", "__module__": "openfe.protocols.openmm_rfe.equil_rfe_settings", "endstate_dispersion_correction": false, "explicit_charge_correction": false, "explicit_charge_correction_cutoff": {":is_custom:": true, "magnitude": 0.8, "pint_unit_registry": "openff_units", "unit": "nanometer"}, "softcore_LJ": "gapsys", "softcore_alpha": 0.85, "turn_off_core_unique_exceptions": true, "use_dispersion_correction": false}, "engine_settings": {":is_custom:": true, "__class__": "OpenMMEngineSettings", "__module__": "openfe.protocols.openmm_utils.omm_settings", "compute_platform": null, "gpu_device_index": null}, "forcefield_settings": {":is_custom:": true, "__class__": "OpenMMSystemGeneratorFFSettings", "__module__": "gufe.settings.models", "constraints": "hbonds", "forcefields": ["amber/ff14SB.xml", "amber/tip3p_standard.xml", "amber/tip3p_HFE_multivalent.xml", "amber/phosaa10.xml", "amber/lipid17_merged.xml"], "hydrogen_mass": 3.0, "nonbonded_cutoff": {":is_custom:": true, "magnitude": 0.9, "pint_unit_registry": "openff_units", "unit": "nanometer"}, "nonbonded_method": "PME", "rigid_water": true, "small_molecule_forcefield": "openff-2.2.1"}, "integrator_settings": {":is_custom:": true, "__class__": "IntegratorSettings", "__module__": "openfe.protocols.openmm_utils.omm_settings", "barostat": "MonteCarloBarostat", "barostat_frequency": {":is_custom:": true, "magnitude": 25.0, "pint_unit_registry": "openff_units", "unit": "timestep"}, "constraint_tolerance": 1e-06, "langevin_collision_rate": {":is_custom:": true, "magnitude": 1.0, "pint_unit_registry": "openff_units", "unit": "1 / picosecond"}, "n_restart_attempts": 20, "reassign_velocities": false, "remove_com": false, "surface_tension": {":is_custom:": true, "magnitude": 0, "pint_unit_registry": "openff_units", "unit": "bar * nanometer"}, "timestep": {":is_custom:": true, "magnitude": 4.0, "pint_unit_registry": "openff_units", "unit": "femtosecond"}}, "lambda_settings": {":is_custom:": true, "__class__": "LambdaSettings", "__module__": "openfe.protocols.openmm_rfe.equil_rfe_settings", "lambda_functions": "default", "lambda_windows": 3}, "output_settings": {":is_custom:": true, "__class__": "MultiStateOutputSettings", "__module__": "openfe.protocols.openmm_utils.omm_settings", "checkpoint_interval": {":is_custom:": true, "magnitude": 1.0, "pint_unit_registry": "openff_units", "unit": "nanosecond"}, "checkpoint_storage_filename": "checkpoint.chk", "forcefield_cache": "db.json", "output_filename": "simulation.nc", "output_indices": "not water", "output_structure": "hybrid_system.pdb", "positions_write_frequency": {":is_custom:": true, "magnitude": 100.0, "pint_unit_registry": "openff_units", "unit": "picosecond"}, "velocities_write_frequency": null}, "partial_charge_settings": {":is_custom:": true, "__class__": "OpenFFPartialChargeSettings", "__module__": "openfe.protocols.openmm_utils.omm_settings", "nagl_model": null, "number_of_conformers": null, "off_toolkit_backend": "ambertools", "partial_charge_method": "am1bcc"}, "protocol_repeats": 1, "simulation_settings": {":is_custom:": true, "__class__": "MultiStateSimulationSettings", "__module__": "openfe.protocols.openmm_utils.omm_settings", "early_termination_target_error": {":is_custom:": true, "magnitude": 0.0, "pint_unit_registry": "openff_units", "unit": "kilocalorie_per_mole"}, "equilibration_length": {":is_custom:": true, "magnitude": 0.004999999999999999, "pint_unit_registry": "openff_units", "unit": "nanosecond"}, "minimization_steps": 500, "n_replicas": 3, "production_length": {":is_custom:": true, "magnitude": 0.009999999999999998, "pint_unit_registry": "openff_units", "unit": "nanosecond"}, "real_time_analysis_interval": {":is_custom:": true, "magnitude": 250.0, "pint_unit_registry": "openff_units", "unit": "picosecond"}, "real_time_analysis_minimum_time": {":is_custom:": true, "magnitude": 500.0, "pint_unit_registry": "openff_units", "unit": "picosecond"}, "sampler_method": "repex", "sams_flatness_criteria": "logZ-flatness", "sams_gamma0": 1.0, "time_per_iteration": {":is_custom:": true, "magnitude": 1.0, "pint_unit_registry": "openff_units", "unit": "picosecond"}}, "solvation_settings": {":is_custom:": true, "__class__": "OpenMMSolvationSettings", "__module__": "openfe.protocols.openmm_utils.omm_settings", "box_shape": "dodecahedron", "box_size": null, "box_vectors": null, "number_of_solvent_molecules": null, "solvent_model": "tip3p", "solvent_padding": {":is_custom:": true, "magnitude": 1.5, "pint_unit_registry": "openff_units", "unit": "nanometer"}}, "thermo_settings": {":is_custom:": true, "__class__": "ThermoSettings", "__module__": "gufe.settings.models", "ph": null, "pressure": {":is_custom:": true, "magnitude": 1, "pint_unit_registry": "openff_units", "unit": "bar"}, "redox_potential": null, "temperature": {":is_custom:": true, "magnitude": 298.15, "pint_unit_registry": "openff_units", "unit": "kelvin"}}}} diff --git a/src/openfe/tests/data/warehouse/mc1_campaign/setup/SmallMoleculeComponent-8f5b6a9848f63293c9b2361b51b466ab b/src/openfe/tests/data/warehouse/mc1_campaign/setup/SmallMoleculeComponent-8f5b6a9848f63293c9b2361b51b466ab new file mode 100644 index 000000000..c1cdc539c --- /dev/null +++ b/src/openfe/tests/data/warehouse/mc1_campaign/setup/SmallMoleculeComponent-8f5b6a9848f63293c9b2361b51b466ab @@ -0,0 +1 @@ +{":version:": 1, "__module__": "gufe.components.smallmoleculecomponent", "__qualname__": "SmallMoleculeComponent", "atoms": [[6, 0, 0, true, 0, 0, {"PartialCharge": -0.15505882352941178}, 3], [8, 0, 0, false, 0, 0, {"PartialCharge": -0.7983588235294118}, 3], [16, 0, 0, true, 0, 0, {"PartialCharge": 0.028441176470588237}, 3], [6, 0, 0, true, 0, 0, {"PartialCharge": -0.15005882352941177}, 3], [8, 0, -1, false, 0, 0, {"PartialCharge": -0.7983588235294118}, 3], [6, 0, 0, true, 0, 0, {"PartialCharge": -0.09305882352941176}, 3], [6, 0, 0, true, 0, 0, {"PartialCharge": -0.09905882352941177}, 3], [6, 0, 0, false, 0, 0, {"PartialCharge": 0.9317411764705882}, 3], [6, 0, 0, true, 0, 0, {"PartialCharge": -0.03485882352941176}, 3], [6, 0, 0, true, 0, 0, {"PartialCharge": -0.05565882352941176}, 3], [6, 0, 0, true, 0, 0, {"PartialCharge": -0.10515882352941176}, 3], [6, 0, 0, true, 0, 0, {"PartialCharge": -0.052858823529411764}, 3], [17, 0, 0, false, 0, 0, {"PartialCharge": -0.09245882352941176}, 4], [1, 0, 0, false, 0, 0, {"PartialCharge": 0.11994117647058823}, 1], [1, 0, 0, false, 0, 0, {"PartialCharge": 0.11094117647058824}, 1], [1, 0, 0, false, 0, 0, {"PartialCharge": 0.11194117647058824}, 1], [1, 0, 0, false, 0, 0, {"PartialCharge": 0.13194117647058823}, 1]], "bonds": [[0, 3, 12, 0, {}], [0, 5, 12, 0, {}], [0, 14, 1, 0, {}], [1, 7, 2, 0, {}], [2, 9, 12, 0, {}], [2, 10, 12, 0, {}], [3, 6, 12, 0, {}], [3, 15, 1, 0, {}], [4, 7, 1, 0, {}], [5, 10, 12, 0, {}], [5, 13, 1, 0, {}], [6, 11, 12, 0, {}], [6, 16, 1, 0, {}], [7, 9, 1, 0, {}], [8, 9, 12, 0, {}], [8, 11, 12, 0, {}], [8, 12, 1, 0, {}], [10, 11, 12, 0, {}]], "conformer": ["\u0093NUMPY\u0001\u0000v\u0000{'descr': ' Date: Thu, 13 Aug 2026 14:21:50 -0700 Subject: [PATCH 09/15] warehouse loading --- src/openfe/storage/warehouse.py | 28 ++++++++++++++++------ src/openfe/tests/storage/test_warehouse.py | 18 ++++++++------ 2 files changed, 32 insertions(+), 14 deletions(-) diff --git a/src/openfe/storage/warehouse.py b/src/openfe/storage/warehouse.py index 8ddeccd82..2b08526b3 100644 --- a/src/openfe/storage/warehouse.py +++ b/src/openfe/storage/warehouse.py @@ -1,5 +1,7 @@ # This code is part of OpenFE and is licensed under the MIT license. # For details, see https://github.com/OpenFreeEnergy/gufe +from __future__ import annotations + import json import pathlib import re @@ -501,8 +503,8 @@ class FileSystemWarehouse(WarehouseBaseClass): Parameters ---------- - root_dir : str, optional - Root directory for the warehouse storage, by default "warehouse". + root_dir : pathlib.Path, optional + Root directory in which to create the warehouse storage. Notes ----- @@ -511,14 +513,16 @@ class FileSystemWarehouse(WarehouseBaseClass): for results and other data types. """ - def __init__(self, name): - # TODO: should name and location be allowed to be different? - self.root_dir = pathlib.Path(f"{name}") + def __init__(self, root_dir: pathlib.Path): + self.root_dir = pathlib.Path(root_dir) + if self.root_dir.is_dir(): + raise ValueError( + "`root_dir` already exists. To load an existing Warehouse, use FileSystemWarehouse.load(`root_dir`)" + ) setup_store = FileStorage(f"{self.root_dir}/setup") result_store = FileStorage(f"{self.root_dir}/result") shared_store = FileStorage(f"{self.root_dir}/shared") tasks_store = FileStorage(f"{self.root_dir}/tasks") - # TODO: we can store dags in setup if we have a performant way of accessing them protocol_dag_store = FileStorage(f"{self.root_dir}/protocol_dags") stores = WarehouseStores( setup=setup_store, @@ -527,4 +531,14 @@ def __init__(self, name): tasks=tasks_store, protocol_dags=protocol_dag_store, ) - super().__init__(stores, name) + name = self.root_dir.resolve().name + super().__init__(stores=stores, name=name) + + @classmethod + def load(cls, root_dir: pathlib.Path) -> FileSystemWarehouse: + root_dir = pathlib.Path(root_dir) + if not root_dir.is_dir(): + raise ValueError( + "`root_dir` must be an existing filepath. To create a new Warehouse, use FileSystemWarehouse(`root_dir`)" + ) + return cls(root_dir=root_dir) diff --git a/src/openfe/tests/storage/test_warehouse.py b/src/openfe/tests/storage/test_warehouse.py index aabbc570a..941ef2361 100644 --- a/src/openfe/tests/storage/test_warehouse.py +++ b/src/openfe/tests/storage/test_warehouse.py @@ -43,7 +43,7 @@ def _test_store_load_same_process( store_name: Literal["setup", "result", "tasks"], ): stores = TestWarehouseBaseClass._build_stores() - client = WarehouseBaseClass(stores, "test_warehouse") + client = WarehouseBaseClass(stores=stores, name="test_warehouse") store_func = getattr(client, store_func_name) load_func = getattr(client, load_func_name) assert stores["setup"]._data == {} @@ -65,7 +65,7 @@ def _test_store_load_different_process( store_name: Literal["setup", "result", "tasks"], ): stores = TestWarehouseBaseClass._build_stores() - client = WarehouseBaseClass(stores, "test_warehouse") + client = WarehouseBaseClass(stores=stores, name="test_warehouse") store_func = getattr(client, store_func_name) load_func = getattr(client, load_func_name) assert stores["setup"]._data == {} @@ -182,24 +182,26 @@ class TestFileSystemWarehouse: @staticmethod def _test_store_load_same_process(obj, store_func_name, load_func_name): with tempfile.TemporaryDirectory() as tmpdir: - client = FileSystemWarehouse(tmpdir) + wh_dir = Path(tmpdir) / "warehouse_name" + client = FileSystemWarehouse(wh_dir) store_func = getattr(client, store_func_name) load_func = getattr(client, load_func_name) assert not any(Path(f"{tmpdir}").iterdir()) store_func(obj) - assert any(Path(f"{tmpdir}").iterdir()) + assert any(Path(f"{wh_dir}").iterdir()) reloaded = load_func(obj.key) assert reloaded is obj @staticmethod def _test_store_load_different_process(obj: GufeTokenizable, store_func_name, load_func_name): with tempfile.TemporaryDirectory() as tmpdir: - client = FileSystemWarehouse(tmpdir) + wh_dir = Path(tmpdir) / "warehouse_name" + client = FileSystemWarehouse(root_dir=wh_dir) store_func = getattr(client, store_func_name) load_func = getattr(client, load_func_name) assert not any(Path(f"{tmpdir}").iterdir()) store_func(obj) - assert any(Path(f"{tmpdir}").iterdir()) + assert any(Path(f"{wh_dir}").iterdir()) # make it look like we have an empty cache, as if this was a # different process key = obj.key @@ -225,7 +227,9 @@ def test_filesystemwarehouse_has_shared_and_tasks_stores(self, absolute_transfor unit = TestWarehouseBaseClass._get_protocol_unit(absolute_transformation) with tempfile.TemporaryDirectory() as tmpdir: - client = FileSystemWarehouse(tmpdir) + wh_dir = Path(tmpdir) / "warehouse_name" + client = FileSystemWarehouse(wh_dir) + assert client.name == "warehouse_name" assert "shared" in client.stores assert "tasks" in client.stores From e90ee888fffb7cb2b00238be7ba583a4bf10be26 Mon Sep 17 00:00:00 2001 From: Alyssa Travitz Date: Thu, 13 Aug 2026 14:32:36 -0700 Subject: [PATCH 10/15] separate creating new filesystem warehouse from loading an existing one --- src/openfe/storage/warehouse.py | 6 +++--- src/openfe/tests/storage/test_warehouse.py | 12 ++++++++++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/openfe/storage/warehouse.py b/src/openfe/storage/warehouse.py index 2b08526b3..41f80f120 100644 --- a/src/openfe/storage/warehouse.py +++ b/src/openfe/storage/warehouse.py @@ -513,9 +513,9 @@ class FileSystemWarehouse(WarehouseBaseClass): for results and other data types. """ - def __init__(self, root_dir: pathlib.Path): + def __init__(self, root_dir: pathlib.Path, exist_okay=False): self.root_dir = pathlib.Path(root_dir) - if self.root_dir.is_dir(): + if self.root_dir.is_dir() and not exist_okay: raise ValueError( "`root_dir` already exists. To load an existing Warehouse, use FileSystemWarehouse.load(`root_dir`)" ) @@ -541,4 +541,4 @@ def load(cls, root_dir: pathlib.Path) -> FileSystemWarehouse: raise ValueError( "`root_dir` must be an existing filepath. To create a new Warehouse, use FileSystemWarehouse(`root_dir`)" ) - return cls(root_dir=root_dir) + return cls(root_dir=root_dir, exist_okay=True) diff --git a/src/openfe/tests/storage/test_warehouse.py b/src/openfe/tests/storage/test_warehouse.py index 941ef2361..33106280b 100644 --- a/src/openfe/tests/storage/test_warehouse.py +++ b/src/openfe/tests/storage/test_warehouse.py @@ -241,6 +241,18 @@ def test_filesystemwarehouse_has_shared_and_tasks_stores(self, absolute_transfor client.store_task(unit) assert client.exists(unit.key) + def test_filesystem_warehouse_exists_error(self): + with tempfile.TemporaryDirectory() as tmpdir: + wh_dir = Path(tmpdir) / "warehouse_name" + client = FileSystemWarehouse(wh_dir) + # store some data so files are created + client.stores["shared"].store_bytes("sentinel", b"shared-data") + + with pytest.raises(ValueError, match="already exists"): + _ = FileSystemWarehouse(wh_dir) + + reloaded_client = FileSystemWarehouse.load(root_dir=wh_dir) + @pytest.mark.parametrize( "fixture", ["absolute_transformation", "complex_equilibrium"], From a8cff0c3f6b218e65225a1aa4182a1219f912e71 Mon Sep 17 00:00:00 2001 From: Alyssa Travitz Date: Fri, 14 Aug 2026 13:39:02 -0700 Subject: [PATCH 11/15] update tests --- src/openfe/tests/orchestration/test_worker.py | 4 ++-- src/openfe/tests/storage/test_warehouse.py | 11 +++++++---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/openfe/tests/orchestration/test_worker.py b/src/openfe/tests/orchestration/test_worker.py index 221e8de54..c6cd6a1f0 100644 --- a/src/openfe/tests/orchestration/test_worker.py +++ b/src/openfe/tests/orchestration/test_worker.py @@ -156,7 +156,7 @@ def test_checkout_task_returns_none_when_no_available_tasks(tmp_path): warehouse_root = tmp_path / "warehouse" db_path = warehouse_root / "tasks.db" warehouse_root.mkdir(parents=True, exist_ok=True) - warehouse = FileSystemWarehouse(str(warehouse_root)) + warehouse = FileSystemWarehouse.load(str(warehouse_root)) exorcist.TaskStatusDB.from_filename(db_path) worker = Worker(warehouse=warehouse, task_db_path=db_path) @@ -167,7 +167,7 @@ def test_execute_unit_returns_none_when_no_available_tasks(tmp_path): warehouse_root = tmp_path / "warehouse" db_path = warehouse_root / "tasks.db" warehouse_root.mkdir(parents=True, exist_ok=True) - warehouse = FileSystemWarehouse(str(warehouse_root)) + warehouse = FileSystemWarehouse.load(str(warehouse_root)) exorcist.TaskStatusDB.from_filename(db_path) worker = Worker(warehouse=warehouse, task_db_path=db_path) diff --git a/src/openfe/tests/storage/test_warehouse.py b/src/openfe/tests/storage/test_warehouse.py index 33106280b..8781d2ffe 100644 --- a/src/openfe/tests/storage/test_warehouse.py +++ b/src/openfe/tests/storage/test_warehouse.py @@ -3,10 +3,11 @@ from pathlib import Path from typing import Literal from unittest import mock -from openff.units import unit + import pytest from gufe.storage.externalresource import MemoryStorage from gufe.tokenization import GufeTokenizable +from openff.units import unit from openfe.orchestration import Worker, exorcist_utils from openfe.storage.warehouse import ( @@ -265,12 +266,14 @@ def test_store_load_transformation_different_process(self, request, fixture): "load_setup_tokenizable", ) + @pytest.fixture def warehouse_partial_failure(): with resources.path("openfe.tests.data.warehouse", "mc1_campaign") as d: warehouse = FileSystemWarehouse.load(root_dir=d) return warehouse + class TestWarehouseResultsGathering: def test_gather_results(self, warehouse_partial_failure): wh = warehouse_partial_failure @@ -280,10 +283,10 @@ def test_gather_results(self, warehouse_partial_failure): results_ok = [dag.ok() for _, dag in result_edges] assert results_ok == [True, False, True, True] # one failed edge - uncertainties = [pr.get_uncertainty() for pr,dag in result_edges if dag.ok()] - assert uncertainties == [0.0* unit.kilocalorie_per_mole] * 3 + uncertainties = [pr.get_uncertainty() for pr, dag in result_edges if dag.ok()] + assert uncertainties == [0.0 * unit.kilocalorie_per_mole] * 3 expected_estimates = [-0.658, 5.547, 5.769] estimates = [round(pr.get_estimate().m, 3) for pr, dag in result_edges if dag.ok()] assert expected_estimates == estimates - assert len(result_edges)==4 + assert len(result_edges) == 4 From 1dcc3c258cf49d29ff820935c55972b2b39c4c38 Mon Sep 17 00:00:00 2001 From: Alyssa Travitz Date: Fri, 14 Aug 2026 17:33:43 -0700 Subject: [PATCH 12/15] make alchemical_network_to_task_graph private --- src/openfe/orchestration/__init__.py | 2 +- src/openfe/orchestration/exorcist_utils.py | 45 +++++++++---------- .../orchestration/test_exorcist_utils.py | 18 ++++---- 3 files changed, 32 insertions(+), 33 deletions(-) diff --git a/src/openfe/orchestration/__init__.py b/src/openfe/orchestration/__init__.py index b7bb68db5..b96fc2614 100644 --- a/src/openfe/orchestration/__init__.py +++ b/src/openfe/orchestration/__init__.py @@ -18,7 +18,7 @@ from openfe.storage.warehouse import FileSystemWarehouse from .exorcist_utils import ( - alchemical_network_to_task_graph, + _alchemical_network_to_task_graph, build_task_db_from_alchemical_network, get_task_df, ) diff --git a/src/openfe/orchestration/exorcist_utils.py b/src/openfe/orchestration/exorcist_utils.py index b430ed097..43554b1c0 100644 --- a/src/openfe/orchestration/exorcist_utils.py +++ b/src/openfe/orchestration/exorcist_utils.py @@ -5,17 +5,18 @@ """ import sys +from collections.abc import Iterable from pathlib import Path import exorcist import networkx as nx import pandas as pd -from gufe import AlchemicalNetwork +from gufe import AlchemicalNetwork, ProtocolDAG from openfe.storage.warehouse import WarehouseBaseClass -def alchemical_network_to_task_graph( +def _alchemical_network_to_task_graph( alchemical_network: AlchemicalNetwork, warehouse: WarehouseBaseClass, ) -> nx.DiGraph: @@ -36,9 +37,8 @@ def alchemical_network_to_task_graph( Returns ------- nx.DiGraph - A directed acyclic graph where each node is a task ID in the form - ``":"`` and edges encode - protocol-unit dependencies. + A directed acyclic graph where each node is a task ID with the ProtocolUnit key as a name + and edges encode protocol-unit dependencies. Raises ------ @@ -53,35 +53,34 @@ def alchemical_network_to_task_graph( ) warehouse.store_setup_tokenizable(alchemical_network) - global_dag = nx.DiGraph() - for transformation in alchemical_network.edges: # TODO: skip edges that already have units? - dag = transformation.create() + + global_task_dag = nx.DiGraph() + for transformation in alchemical_network.edges: + dag: ProtocolDAG = transformation.create() for unit in dag.protocol_units: - node_id = str(unit.key) - global_dag.add_node(node_id) + global_task_dag.add_node(str(unit.key)) warehouse.store_task(unit) - # store the protocol_dag as a shallow dict, since all its units are - # already written to disk - warehouse.store_protocol_dag(dag) for dependent_unit, dependency_unit in dag.graph.edges: upstream_id = str(dependency_unit.key) downstream_id = str(dependent_unit.key) - global_dag.add_edge(upstream_id, downstream_id) + global_task_dag.add_edge(upstream_id, downstream_id) + + # at this point, stored as a shallow dict since all its units are already stored + warehouse.store_protocol_dag(dag) - if not nx.is_directed_acyclic_graph(global_dag): + if not nx.is_directed_acyclic_graph(global_task_dag): raise ValueError("AlchemicalNetwork produced a task graph that is not a DAG.") - return global_dag + return global_task_dag -# TODO: do we test adding a multiple alchemical networks to the same task graph? def build_task_db_from_alchemical_network( alchemical_network: AlchemicalNetwork, warehouse: WarehouseBaseClass, db_path: Path | None = None, max_tries: int = 1, ) -> exorcist.TaskStatusDB: - """Create and populate a task database from an alchemical network. + """Create and populate a task database and warehouse from an alchemical network. Parameters ---------- @@ -93,8 +92,8 @@ def build_task_db_from_alchemical_network( Location of the SQLite-backed Exorcist database. If ``None``, defaults to {warehouse.name}.db in the current working directory. max_tries : int, default=1 - Maximum number of retries for each task before Exorcist marks it as - ``TOO_MANY_RETRIES``. + Maximum number of times a task will attempt to be submitted before it + is labelled ``TOO_MANY_RETRIES``. Returns ------- @@ -105,12 +104,12 @@ def build_task_db_from_alchemical_network( if db_path is None: db_path = Path(f"{warehouse.name}.db") if db_path.exists(): - print(f"{db_path} already exists.") # TODO: add more user flexibility here + print(f"Error: {db_path} already exists.") # TODO: add more user flexibility here sys.exit() - global_dag: nx.DiGraph = alchemical_network_to_task_graph(alchemical_network, warehouse) + global_task_dag: nx.DiGraph = _alchemical_network_to_task_graph(alchemical_network, warehouse) db = exorcist.TaskStatusDB.from_filename(db_path) - db.add_task_network(global_dag, max_tries) + db.add_task_network(global_task_dag, max_tries) return db diff --git a/src/openfe/tests/orchestration/test_exorcist_utils.py b/src/openfe/tests/orchestration/test_exorcist_utils.py index 39f3fee66..6f72132bf 100644 --- a/src/openfe/tests/orchestration/test_exorcist_utils.py +++ b/src/openfe/tests/orchestration/test_exorcist_utils.py @@ -9,8 +9,8 @@ from gufe import AlchemicalNetwork from gufe.tokenization import GufeKey -from openfe.orchestration.exorcist_utils import ( - alchemical_network_to_task_graph, +from openfe.orchestration import ( + _alchemical_network_to_task_graph, build_task_db_from_alchemical_network, ) from openfe.storage.warehouse import FileSystemWarehouse, WarehouseBaseClass @@ -43,7 +43,7 @@ def test_alchemical_network_to_task_graph_stores_all_units(request, fixture): warehouse = _RecordingWarehouse() network = request.getfixturevalue(fixture) expected_units = _network_units(network) - alchemical_network_to_task_graph(network, cast(WarehouseBaseClass, warehouse)) + _alchemical_network_to_task_graph(network, cast(WarehouseBaseClass, warehouse)) stored_unit_names = [str(unit.name) for unit in warehouse.stored_tasks] expected_unit_names = [str(unit.name) for unit in expected_units] @@ -57,7 +57,7 @@ def test_alchemical_network_to_task_graph_uses_canonical_task_ids(request, fixtu warehouse = _RecordingWarehouse() network = request.getfixturevalue(fixture) - graph = alchemical_network_to_task_graph(network, cast(WarehouseBaseClass, warehouse)) + graph = _alchemical_network_to_task_graph(network, cast(WarehouseBaseClass, warehouse)) expected_protocol_unit_keys = sorted(str(unit.key) for unit in warehouse.stored_tasks) observed_protocol_unit_keys = [] @@ -74,7 +74,7 @@ def test_alchemical_network_to_task_graph_edges_reference_existing_nodes(request warehouse = _RecordingWarehouse() network = request.getfixturevalue(fixture) - graph = alchemical_network_to_task_graph(network, cast(WarehouseBaseClass, warehouse)) + graph = _alchemical_network_to_task_graph(network, cast(WarehouseBaseClass, warehouse)) assert len(graph.edges) > 0 for u, v in graph.edges: @@ -87,7 +87,7 @@ def test_alchemical_network_to_task_graph_edge_direction_matches_dependencies(re warehouse = _RecordingWarehouse() network = request.getfixturevalue(fixture) - graph = alchemical_network_to_task_graph(network, cast(WarehouseBaseClass, warehouse)) + graph = _alchemical_network_to_task_graph(network, cast(WarehouseBaseClass, warehouse)) units_by_key = {str(unit.key): unit for unit in warehouse.stored_tasks} for upstream_id, downstream_id in graph.edges: @@ -124,7 +124,7 @@ def create(self): warehouse = mock.Mock() with pytest.raises(ValueError, match="not a DAG"): - alchemical_network_to_task_graph(network, warehouse) + _alchemical_network_to_task_graph(network, warehouse) @pytest.mark.parametrize("fixture", ["benzene_variants_star_map"]) @@ -185,7 +185,7 @@ def test_build_task_db_default_path(request, fixture): with ( mock.patch( - "openfe.orchestration.exorcist_utils.alchemical_network_to_task_graph", + "openfe.orchestration.exorcist_utils._alchemical_network_to_task_graph", return_value=fake_graph, ) as task_graph_mock, mock.patch( @@ -211,7 +211,7 @@ def test_build_task_db_forwards_graph_and_max_tries(request, tmp_path, fixture): with ( mock.patch( - "openfe.orchestration.exorcist_utils.alchemical_network_to_task_graph", + "openfe.orchestration.exorcist_utils._alchemical_network_to_task_graph", return_value=fake_graph, ) as task_graph_mock, mock.patch( From e096c3299c34a47c9139d2b2dac073deaea09ae2 Mon Sep 17 00:00:00 2001 From: Alyssa Travitz Date: Mon, 17 Aug 2026 11:23:53 -0700 Subject: [PATCH 13/15] warehouse root_dir instead of obj --- environment.yml | 2 +- src/openfe/orchestration/exorcist_utils.py | 13 ++-- src/openfe/storage/warehouse.py | 39 +++++++---- .../orchestration/test_exorcist_utils.py | 64 ++++++++++--------- src/openfe/tests/orchestration/test_worker.py | 16 +++-- src/openfe/tests/storage/test_warehouse.py | 8 ++- 6 files changed, 84 insertions(+), 58 deletions(-) diff --git a/environment.yml b/environment.yml index e6736a22b..fcae07251 100644 --- a/environment.yml +++ b/environment.yml @@ -55,7 +55,7 @@ dependencies: - pip: - git+https://github.com/OpenFreeEnergy/kartograf@main # needs gufe which pins to pydantic < 2.13. update this once gufe v1.13 is released on conda-forge - git+https://github.com/OpenFreeEnergy/konnektor@main - - git+https://github.com/OpenFreeEnergy/gufe@main + - git+https://github.com/OpenFreeEnergy/gufe@feat/filestorage_create_on_init - git+https://github.com/OpenFreeEnergy/exorcist@main - run_constrained: # drop this pin when handled upstream in espaloma-feedstock diff --git a/src/openfe/orchestration/exorcist_utils.py b/src/openfe/orchestration/exorcist_utils.py index 43554b1c0..d3f9c933b 100644 --- a/src/openfe/orchestration/exorcist_utils.py +++ b/src/openfe/orchestration/exorcist_utils.py @@ -13,6 +13,7 @@ import pandas as pd from gufe import AlchemicalNetwork, ProtocolDAG +from openfe.orchestration import FileSystemWarehouse from openfe.storage.warehouse import WarehouseBaseClass @@ -76,7 +77,7 @@ def _alchemical_network_to_task_graph( def build_task_db_from_alchemical_network( alchemical_network: AlchemicalNetwork, - warehouse: WarehouseBaseClass, + warehouse_root_dir: Path, # TODO: make optional? db_path: Path | None = None, max_tries: int = 1, ) -> exorcist.TaskStatusDB: @@ -86,8 +87,8 @@ def build_task_db_from_alchemical_network( ---------- alchemical_network : AlchemicalNetwork Network containing transformations to convert into task records. - warehouse : WarehouseBaseClass - Warehouse used to persist protocol units while building the task DAG. + warehouse_root_dir : pathlib.Path or None, optional + Root director at which to create a FileSystemWarehouse db_path : pathlib.Path or None, optional Location of the SQLite-backed Exorcist database. If ``None``, defaults to {warehouse.name}.db in the current working directory. @@ -102,11 +103,15 @@ def build_task_db_from_alchemical_network( edges derived from ``alchemical_network``. """ if db_path is None: - db_path = Path(f"{warehouse.name}.db") + # use alchemical network name? + db_path = Path("alchemicalNetwork.db") if db_path.exists(): print(f"Error: {db_path} already exists.") # TODO: add more user flexibility here sys.exit() + warehouse = FileSystemWarehouse( + warehouse_root_dir, exist_ok=False + ) # start clean each time for now global_task_dag: nx.DiGraph = _alchemical_network_to_task_graph(alchemical_network, warehouse) db = exorcist.TaskStatusDB.from_filename(db_path) db.add_task_network(global_task_dag, max_tries) diff --git a/src/openfe/storage/warehouse.py b/src/openfe/storage/warehouse.py index 41f80f120..5550a3033 100644 --- a/src/openfe/storage/warehouse.py +++ b/src/openfe/storage/warehouse.py @@ -15,8 +15,6 @@ JSON_HANDLER, GufeKey, GufeTokenizable, - from_dict, - get_all_gufe_objs, key_decode_dependencies, ) @@ -513,17 +511,18 @@ class FileSystemWarehouse(WarehouseBaseClass): for results and other data types. """ - def __init__(self, root_dir: pathlib.Path, exist_okay=False): + def __init__(self, root_dir: pathlib.Path, exist_ok=False): self.root_dir = pathlib.Path(root_dir) - if self.root_dir.is_dir() and not exist_okay: + if self.root_dir.is_dir() and not exist_ok: raise ValueError( - "`root_dir` already exists. To load an existing Warehouse, use FileSystemWarehouse.load(`root_dir`)" + "`root_dir` already exists. To load an existing Warehouse, use FileSystemWarehouse.from_dir(`root_dir`)" ) - setup_store = FileStorage(f"{self.root_dir}/setup") - result_store = FileStorage(f"{self.root_dir}/result") - shared_store = FileStorage(f"{self.root_dir}/shared") - tasks_store = FileStorage(f"{self.root_dir}/tasks") - protocol_dag_store = FileStorage(f"{self.root_dir}/protocol_dags") + self.root_dir.mkdir(exist_ok=exist_ok) # make parents? + setup_store = FileStorage(f"{self.root_dir}/setup", exist_ok=exist_ok) + result_store = FileStorage(f"{self.root_dir}/result", exist_ok=exist_ok) + shared_store = FileStorage(f"{self.root_dir}/shared", exist_ok=exist_ok) + tasks_store = FileStorage(f"{self.root_dir}/tasks", exist_ok=exist_ok) + protocol_dag_store = FileStorage(f"{self.root_dir}/protocol_dags", exist_ok=exist_ok) stores = WarehouseStores( setup=setup_store, result=result_store, @@ -535,10 +534,26 @@ def __init__(self, root_dir: pathlib.Path, exist_okay=False): super().__init__(stores=stores, name=name) @classmethod - def load(cls, root_dir: pathlib.Path) -> FileSystemWarehouse: + def from_dir(cls, root_dir: pathlib.Path) -> FileSystemWarehouse: + """Initialize a FileSystemWarehouse from an existing directory. + + Parameters + ---------- + root_dir : pathlib.Path + Root directory of the Warehouse. + + Returns + ------- + FileSystemWarehouse + + Raises + ------ + ValueError + If `root_dir` is not an existing directory. + """ root_dir = pathlib.Path(root_dir) if not root_dir.is_dir(): raise ValueError( "`root_dir` must be an existing filepath. To create a new Warehouse, use FileSystemWarehouse(`root_dir`)" ) - return cls(root_dir=root_dir, exist_okay=True) + return cls(root_dir=root_dir, exist_ok=True) diff --git a/src/openfe/tests/orchestration/test_exorcist_utils.py b/src/openfe/tests/orchestration/test_exorcist_utils.py index 6f72132bf..eb20f166c 100644 --- a/src/openfe/tests/orchestration/test_exorcist_utils.py +++ b/src/openfe/tests/orchestration/test_exorcist_utils.py @@ -127,15 +127,16 @@ def create(self): _alchemical_network_to_task_graph(network, warehouse) +# TODO: slow test @pytest.mark.parametrize("fixture", ["benzene_variants_star_map"]) def test_build_task_db_checkout_order_is_dependency_safe(tmp_path, request, fixture): network = request.getfixturevalue(fixture) - warehouse = FileSystemWarehouse(str(tmp_path / "warehouse")) # Build the real sqlite task DB from a real alchemical network fixture. + wh_dir = tmp_path / "campaign" db = build_task_db_from_alchemical_network( network, - warehouse, - db_path=tmp_path / "tasks.db", + warehouse_root_dir=wh_dir, + db_path=tmp_path / "campaign.db", ) # Read task IDs and dependency edges from the persisted DB state. @@ -148,6 +149,7 @@ def test_build_task_db_checkout_order_is_dependency_safe(tmp_path, request, fixt checkout_order = [] # Hard upper bound prevents infinite checkout loops. max_checkouts = len(graph_taskids) + warehouse = FileSystemWarehouse.from_dir(wh_dir) for _ in range(max_checkouts): taskid = db.check_out_task() if taskid is None: @@ -176,39 +178,39 @@ def test_build_task_db_checkout_order_is_dependency_safe(tmp_path, request, fixt assert {row.status for row in task_rows} == {exorcist.TaskStatus.COMPLETED.value} -@pytest.mark.parametrize("fixture", ["benzene_variants_star_map"]) -def test_build_task_db_default_path(request, fixture): - network = request.getfixturevalue(fixture) - warehouse = mock.Mock() - fake_graph = nx.DiGraph() - fake_db = mock.Mock() - - with ( - mock.patch( - "openfe.orchestration.exorcist_utils._alchemical_network_to_task_graph", - return_value=fake_graph, - ) as task_graph_mock, - mock.patch( - "openfe.orchestration.exorcist_utils.exorcist.TaskStatusDB.from_filename", - return_value=fake_db, - ) as db_ctor, - ): - result = build_task_db_from_alchemical_network(network, warehouse) - - task_graph_mock.assert_called_once_with(network, warehouse) - db_ctor.assert_called_once_with(Path(f"{warehouse.name}.db")) - fake_db.add_task_network.assert_called_once_with(fake_graph, 1) - assert result is fake_db +# TODO: revisit this after deciding how we want to handle defaults +# @pytest.mark.parametrize("fixture", ["benzene_variants_star_map"]) +# def test_build_task_db_default_path(request, fixture): +# network = request.getfixturevalue(fixture) +# warehouse = mock.Mock() +# fake_graph = nx.DiGraph() +# fake_db = mock.Mock() + +# with ( +# mock.patch( +# "openfe.orchestration.exorcist_utils._alchemical_network_to_task_graph", +# return_value=fake_graph, +# ) as task_graph_mock, +# mock.patch( +# "openfe.orchestration.exorcist_utils.exorcist.TaskStatusDB.from_filename", +# return_value=fake_db, +# ) as db_ctor, +# ): +# result = build_task_db_from_alchemical_network(network, warehouse) + +# task_graph_mock.assert_called_once_with(network, warehouse) +# db_ctor.assert_called_once_with(Path(f"{warehouse.name}.db")) +# fake_db.add_task_network.assert_called_once_with(fake_graph, 1) +# assert result is fake_db @pytest.mark.parametrize("fixture", ["benzene_variants_star_map"]) def test_build_task_db_forwards_graph_and_max_tries(request, tmp_path, fixture): network = request.getfixturevalue(fixture) - warehouse = mock.Mock() fake_graph = nx.DiGraph() fake_db = mock.Mock() - db_path = tmp_path / "custom_tasks.db" - + db_path = tmp_path / "tmp_campaign.db" + wh_path = tmp_path / "tmp_campaign" with ( mock.patch( "openfe.orchestration.exorcist_utils._alchemical_network_to_task_graph", @@ -221,11 +223,11 @@ def test_build_task_db_forwards_graph_and_max_tries(request, tmp_path, fixture): ): result = build_task_db_from_alchemical_network( network, - warehouse, + wh_path, db_path=db_path, max_tries=7, ) - + warehouse = FileSystemWarehouse.from_dir(wh_path) task_graph_mock.assert_called_once_with(network, warehouse) db_ctor.assert_called_once_with(db_path) fake_db.add_task_network.assert_called_once_with(fake_graph, 7) diff --git a/src/openfe/tests/orchestration/test_worker.py b/src/openfe/tests/orchestration/test_worker.py index c6cd6a1f0..c0b1d7bc6 100644 --- a/src/openfe/tests/orchestration/test_worker.py +++ b/src/openfe/tests/orchestration/test_worker.py @@ -55,10 +55,10 @@ def _get_dependency_free_unit(absolute_transformation): @pytest.fixture def worker_with_real_db(tmp_path, absolute_transformation): warehouse_root = tmp_path / "warehouse" - db_path = warehouse_root / "tasks.db" - warehouse = FileSystemWarehouse(str(warehouse_root)) + db_path = tmp_path / "tasks.db" network = gufe.AlchemicalNetwork([absolute_transformation]) - db = build_task_db_from_alchemical_network(network, warehouse, db_path=db_path) + db = build_task_db_from_alchemical_network(network, warehouse_root, db_path=db_path) + warehouse = FileSystemWarehouse.from_dir(warehouse_root) worker = Worker(warehouse=warehouse, task_db_path=db_path) return worker, warehouse, db @@ -85,12 +85,14 @@ def worker_with_executable_task_db(tmp_path, absolute_transformation): def test_get_task_uses_default_db_path_without_patching( tmp_path, monkeypatch, absolute_transformation ): + # TODO: tasks.db shouldn't exist _within_ the warehouse monkeypatch.chdir(tmp_path) - warehouse = FileSystemWarehouse("warehouse") + warehouse_root = "warehouse" db_path = Path("warehouse/tasks.db") network = gufe.AlchemicalNetwork([absolute_transformation]) - db = build_task_db_from_alchemical_network(network, warehouse, db_path=db_path) + db = build_task_db_from_alchemical_network(network, warehouse_root, db_path=db_path) + warehouse = FileSystemWarehouse.from_dir("warehouse") worker = Worker(warehouse=warehouse) taskid, loaded = worker._get_task() @@ -156,7 +158,7 @@ def test_checkout_task_returns_none_when_no_available_tasks(tmp_path): warehouse_root = tmp_path / "warehouse" db_path = warehouse_root / "tasks.db" warehouse_root.mkdir(parents=True, exist_ok=True) - warehouse = FileSystemWarehouse.load(str(warehouse_root)) + warehouse = FileSystemWarehouse.from_dir(str(warehouse_root)) exorcist.TaskStatusDB.from_filename(db_path) worker = Worker(warehouse=warehouse, task_db_path=db_path) @@ -167,7 +169,7 @@ def test_execute_unit_returns_none_when_no_available_tasks(tmp_path): warehouse_root = tmp_path / "warehouse" db_path = warehouse_root / "tasks.db" warehouse_root.mkdir(parents=True, exist_ok=True) - warehouse = FileSystemWarehouse.load(str(warehouse_root)) + warehouse = FileSystemWarehouse.from_dir(str(warehouse_root)) exorcist.TaskStatusDB.from_filename(db_path) worker = Worker(warehouse=warehouse, task_db_path=db_path) diff --git a/src/openfe/tests/storage/test_warehouse.py b/src/openfe/tests/storage/test_warehouse.py index 8781d2ffe..bd5796606 100644 --- a/src/openfe/tests/storage/test_warehouse.py +++ b/src/openfe/tests/storage/test_warehouse.py @@ -187,7 +187,8 @@ def _test_store_load_same_process(obj, store_func_name, load_func_name): client = FileSystemWarehouse(wh_dir) store_func = getattr(client, store_func_name) load_func = getattr(client, load_func_name) - assert not any(Path(f"{tmpdir}").iterdir()) + # TODO: top dirs should exist but be empty + # assert not any((Path(tmpdir)/store_func_name).iterdir()) store_func(obj) assert any(Path(f"{wh_dir}").iterdir()) reloaded = load_func(obj.key) @@ -200,7 +201,8 @@ def _test_store_load_different_process(obj: GufeTokenizable, store_func_name, lo client = FileSystemWarehouse(root_dir=wh_dir) store_func = getattr(client, store_func_name) load_func = getattr(client, load_func_name) - assert not any(Path(f"{tmpdir}").iterdir()) + # TODO: top dirs should exist but be empty + # assert not any(Path(f"{tmpdir}").iterdir()) store_func(obj) assert any(Path(f"{wh_dir}").iterdir()) # make it look like we have an empty cache, as if this was a @@ -252,7 +254,7 @@ def test_filesystem_warehouse_exists_error(self): with pytest.raises(ValueError, match="already exists"): _ = FileSystemWarehouse(wh_dir) - reloaded_client = FileSystemWarehouse.load(root_dir=wh_dir) + reloaded_client = FileSystemWarehouse.from_dir(root_dir=wh_dir) @pytest.mark.parametrize( "fixture", From 0b8c49dc8f4bf0ec9f8c7334bd396b420f3323d9 Mon Sep 17 00:00:00 2001 From: Alyssa Travitz Date: Mon, 17 Aug 2026 12:00:48 -0700 Subject: [PATCH 14/15] require warehouse and db paths --- src/openfe/orchestration/exorcist_utils.py | 27 +++++++------------ .../orchestration/test_exorcist_utils.py | 2 +- 2 files changed, 11 insertions(+), 18 deletions(-) diff --git a/src/openfe/orchestration/exorcist_utils.py b/src/openfe/orchestration/exorcist_utils.py index d3f9c933b..f0c45a624 100644 --- a/src/openfe/orchestration/exorcist_utils.py +++ b/src/openfe/orchestration/exorcist_utils.py @@ -77,8 +77,8 @@ def _alchemical_network_to_task_graph( def build_task_db_from_alchemical_network( alchemical_network: AlchemicalNetwork, - warehouse_root_dir: Path, # TODO: make optional? - db_path: Path | None = None, + warehouse_dir: Path, # TODO: make optional? + db_path: Path, # TODO: make optional? max_tries: int = 1, ) -> exorcist.TaskStatusDB: """Create and populate a task database and warehouse from an alchemical network. @@ -86,12 +86,11 @@ def build_task_db_from_alchemical_network( Parameters ---------- alchemical_network : AlchemicalNetwork - Network containing transformations to convert into task records. - warehouse_root_dir : pathlib.Path or None, optional - Root director at which to create a FileSystemWarehouse - db_path : pathlib.Path or None, optional - Location of the SQLite-backed Exorcist database. If ``None``, defaults - to {warehouse.name}.db in the current working directory. + ``AlchemicalNetwork`` containing transformations to convert into task records. + warehouse_dir : pathlib.Path + Root directory at which to create a FileSystemWarehouse (e.g. ``campaign_name/``). + db_path : pathlib.Path + Location to store the SQLite-backed Exorcist database (e.g. ``campaign_name.db``). max_tries : int, default=1 Maximum number of times a task will attempt to be submitted before it is labelled ``TOO_MANY_RETRIES``. @@ -102,16 +101,10 @@ def build_task_db_from_alchemical_network( Initialized task database populated with graph nodes and dependency edges derived from ``alchemical_network``. """ - if db_path is None: - # use alchemical network name? - db_path = Path("alchemicalNetwork.db") + # require starting clean each time for now - guardrails around modifying existing state can come later if db_path.exists(): - print(f"Error: {db_path} already exists.") # TODO: add more user flexibility here - sys.exit() - - warehouse = FileSystemWarehouse( - warehouse_root_dir, exist_ok=False - ) # start clean each time for now + raise FileExistsError(f"Error: {db_path} cannot already exist.") + warehouse = FileSystemWarehouse(warehouse_dir, exist_ok=False) global_task_dag: nx.DiGraph = _alchemical_network_to_task_graph(alchemical_network, warehouse) db = exorcist.TaskStatusDB.from_filename(db_path) db.add_task_network(global_task_dag, max_tries) diff --git a/src/openfe/tests/orchestration/test_exorcist_utils.py b/src/openfe/tests/orchestration/test_exorcist_utils.py index eb20f166c..3392b3efe 100644 --- a/src/openfe/tests/orchestration/test_exorcist_utils.py +++ b/src/openfe/tests/orchestration/test_exorcist_utils.py @@ -135,7 +135,7 @@ def test_build_task_db_checkout_order_is_dependency_safe(tmp_path, request, fixt wh_dir = tmp_path / "campaign" db = build_task_db_from_alchemical_network( network, - warehouse_root_dir=wh_dir, + warehouse_dir=wh_dir, db_path=tmp_path / "campaign.db", ) From 2107dc323b1f39d70c74c79efcabb4668e768595 Mon Sep 17 00:00:00 2001 From: Alyssa Travitz Date: Mon, 17 Aug 2026 13:12:30 -0700 Subject: [PATCH 15/15] update test to use from_dir --- src/openfe/tests/storage/test_warehouse.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/openfe/tests/storage/test_warehouse.py b/src/openfe/tests/storage/test_warehouse.py index bd5796606..863053571 100644 --- a/src/openfe/tests/storage/test_warehouse.py +++ b/src/openfe/tests/storage/test_warehouse.py @@ -272,7 +272,7 @@ def test_store_load_transformation_different_process(self, request, fixture): @pytest.fixture def warehouse_partial_failure(): with resources.path("openfe.tests.data.warehouse", "mc1_campaign") as d: - warehouse = FileSystemWarehouse.load(root_dir=d) + warehouse = FileSystemWarehouse.from_dir(root_dir=d) return warehouse