From eca4d62fda6f43c7c004175b2c8237bad7a8b517 Mon Sep 17 00:00:00 2001 From: seanebum Date: Mon, 28 Feb 2022 14:47:02 -0500 Subject: [PATCH 01/25] small doc update --- .../.doctrees/classes/spatialpy.core.doctree | Bin 1331264 -> 1332244 bytes docs/build/html/.doctrees/environment.pickle | Bin 451357 -> 451496 bytes .../html/_modules/spatialpy/core/domain.html | 16 +++++++--------- .../html/_modules/spatialpy/core/result.html | 9 ++++++++- docs/build/html/classes/spatialpy.core.html | 18 ++++++++++++++++-- docs/build/html/searchindex.js | 2 +- spatialpy/core/result.py | 9 ++++++++- 7 files changed, 40 insertions(+), 14 deletions(-) diff --git a/docs/build/html/.doctrees/classes/spatialpy.core.doctree b/docs/build/html/.doctrees/classes/spatialpy.core.doctree index 372e3575c3e4f429d3d05f097810bae7bb61ab31..bf7b07074ae5c19792745e55d45c0be383267d20 100644 GIT binary patch delta 1550 zcmeHHOK1~O6wP}x$z&#N+DWP?QTl|G82mKdxX3~(MJj#@U0J)SX=Z9h+nJJ|gwonT z?5Zf38J_MUA_xHmX?!T6Rs_Lrbmu~(sUQe$+zFcEO)`xYM3*W!FwDK@+#$%GM#5=GTh&3r1BN&!%R0IMkwr*qTln5IBlk8FU%QY4j5 z0yv(X7@JOLfR7s)U5N#gIg&LdGgB&=NXFu6&CsDr&p<&|OT~@)L9X}B(cT46)GjGnCyA#gE7r%G(x4a0p$1TJ^i+&ydwyWiDB3)xjv-sK8Z?uz$NvG%-|m9U7`MXPsX#&rp1M7m`c%VTK-7^lq? ztB?GZkDel;J^h|-(B~Nhwl($kTO4E_)FxwRB5-ygK>KP^gpG1-6wWShO#jq=09z$4 z!cKGThoRkX6YM7PCNSH|d&`@ovSrk93ey|w-XJ~Ub7t5>zM}(p&hDapbHWz3iaJfq zX8F$1nqcdpd4l#ajO8Mx(HTi*cX&BG@b4|znIrQ5CHu2~J9h45|ad&c|JFQT;r**h5aFYt8rN~gdc^Zv_UMeD;*V>umc2zBK-_L}cX9Qy{D C3KRhV delta 614 zcmZvZPiWI{6vy-XCHW<3(xgdNR_Mh!=LSU=cUAnu`~xjIdQuO18$?%85fyJ8wA71;Hhljns?2)8oDG_rv3T>$i%nYsIoh zJnHeD;E5i)FYTv>&XYaRcw}ycvMecZZb(Ywc_uw2#DQs1a$v+W)VODLH+wWc z33GkK!9qgX@C!y3Oa_N`TLajn@^xbQ97nj7az&R#>Sqt(y@MiS^(jOy2yUy)w;DySMX+hhxdg1Q*M-8Xa{hEy}D;?oY&5Vhw)E%kUO4)DqE z5p1ag8-MR$UQF%^ae~*~$kRDvmg%&#cbCnt9d654=?ubYG4SsA?xl$6-@N%;1D@U3HcgGH_%J!vY%!ys&(bO%hCe7iL+~pSj05t!&#{d8T diff --git a/docs/build/html/.doctrees/environment.pickle b/docs/build/html/.doctrees/environment.pickle index ebf24ccd3f558a6b6b25240a2d882c35a423f221..4cc145587402db263ae760cb8c88a89995ca84e7 100644 GIT binary patch delta 3017 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 code for spatialpy.core.domain
         #vertices
         obj.vertices = mesh_obj.points
         # triangles
-        if 'triangle' in mesh_obj.cells:
-            obj.triangles = mesh_obj.cells['triangle']
+        triangles = list(filter(lambda cell: cell.type == "triangle", mesh_obj.cells))
+        if triangles:
+            obj.triangles = triangles[0].data
         #tetrahedrons
-        if 'tetra' in mesh_obj.cells:
-            obj.tetrahedrons = mesh_obj.cells['tetra']
+        tetras = list(filter(lambda cell: cell.type == "tetra", mesh_obj.cells))
+        if tetras:
+            obj.tetrahedrons = tetras[0].data
         # volume
         obj.calculate_vol()
         if not numpy.count_nonzero(obj.vol):
@@ -835,16 +837,12 @@ 

Source code for spatialpy.core.domain

         :returns: SpatialPy Domain object created from the mesh file.
         :rtype: spatialpy.Domain.Domain
         """
-        try:
-            import pygmsh # pylint: disable=import-outside-toplevel
-        except ImportError as err:
-            raise DomainError("The python package 'pygmsh' is not installed.") from err
         try:
             import meshio # pylint: disable=import-outside-toplevel
         except ImportError as err:
             raise DomainError("The python package 'meshio' is not installed.") from err
 
-        return cls.import_meshio_object(meshio.msh_io.read(filename))
+ return cls.import_meshio_object(meshio.read(filename))
[docs] def read_stochss_subdomain_file(self, filename, type_ids=None): """ diff --git a/docs/build/html/_modules/spatialpy/core/result.html b/docs/build/html/_modules/spatialpy/core/result.html index 4256e5b5..1eff9884 100644 --- a/docs/build/html/_modules/spatialpy/core/result.html +++ b/docs/build/html/_modules/spatialpy/core/result.html @@ -671,7 +671,14 @@

Source code for spatialpy.core.result

         given, that value is used to index into the timespan, and that time point is returned \
         as a 1D array with size (number of voxel).
 
-        :param property_name: A string describing the property to be returned.
+        :param property_name: A string describing the property to be returned.  Can be one of: {
+            'v' : velocity,
+            'rho': density,
+            'mass': mass,
+            'id': type_id,
+            'type': type as str,
+            'bvf_phi': boundary volume fraction,
+            'nu': viscosity}
         :type property_name: str
 
         :param timepoints: timespan index to be returned.  Default is None
diff --git a/docs/build/html/classes/spatialpy.core.html b/docs/build/html/classes/spatialpy.core.html
index a5249b96..7e561e2a 100644
--- a/docs/build/html/classes/spatialpy.core.html
+++ b/docs/build/html/classes/spatialpy.core.html
@@ -1643,7 +1643,14 @@ 

Submodules
Parameters
    -
  • property_name (str) – A string describing the property to be returned.

  • +
  • property_name (str) – A string describing the property to be returned. Can be one of: { +‘v’ : velocity, +‘rho’: density, +‘mass’: mass, +‘id’: type_id, +‘type’: type as str, +‘bvf_phi’: boundary volume fraction, +‘nu’: viscosity}

  • timepoints (int) – timespan index to be returned. Default is None

@@ -3825,7 +3832,14 @@

Submodules
Parameters
    -
  • property_name (str) – A string describing the property to be returned.

  • +
  • property_name (str) – A string describing the property to be returned. Can be one of: { +‘v’ : velocity, +‘rho’: density, +‘mass’: mass, +‘id’: type_id, +‘type’: type as str, +‘bvf_phi’: boundary volume fraction, +‘nu’: viscosity}

  • timepoints (int) – timespan index to be returned. Default is None

diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js index 4a0be063..6ffa4df0 100644 --- a/docs/build/html/searchindex.js +++ b/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["classes/spatialpy","classes/spatialpy.core","classes/spatialpy.solvers","classes/spatialpy.stochss","index"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.todo":2,"sphinx.ext.viewcode":1,sphinx:56},filenames:["classes/spatialpy.rst","classes/spatialpy.core.rst","classes/spatialpy.solvers.rst","classes/spatialpy.stochss.rst","index.rst"],objects:{"":{spatialpy:[0,0,0,"-"]},"spatialpy.core":{BoundaryCondition:[1,1,1,""],BoundaryConditionError:[1,3,1,""],DataFunction:[1,1,1,""],DataFunctionError:[1,3,1,""],Domain:[1,1,1,""],DomainError:[1,3,1,""],Geometry:[1,1,1,""],GeometryAll:[1,1,1,""],GeometryError:[1,3,1,""],GeometryExterior:[1,1,1,""],GeometryInterior:[1,1,1,""],InitialCondition:[1,1,1,""],InitialConditionError:[1,3,1,""],KDTree:[1,1,1,""],Model:[1,1,1,""],ModelError:[1,3,1,""],OrderedDict:[1,1,1,""],Parameter:[1,1,1,""],ParameterError:[1,3,1,""],PlaceInitialCondition:[1,1,1,""],Reaction:[1,1,1,""],ReactionError:[1,3,1,""],Result:[1,1,1,""],ResultError:[1,3,1,""],ScatterInitialCondition:[1,1,1,""],SimulationError:[1,3,1,""],SimulationTimeout:[1,3,1,""],Species:[1,1,1,""],SpeciesError:[1,3,1,""],UniformInitialCondition:[1,1,1,""],VTKReader:[1,1,1,""],VTKReaderError:[1,3,1,""],VTKReaderIOError:[1,3,1,""],boundarycondition:[1,0,0,"-"],cleanup:[1,0,0,"-"],cleanup_build_files:[1,5,1,""],cleanup_core_files:[1,5,1,""],cleanup_result_files:[1,5,1,""],cleanup_tempfiles:[1,5,1,""],combinations:[1,1,1,""],datafunction:[1,0,0,"-"],domain:[1,0,0,"-"],geometry:[1,0,0,"-"],init_notebook_mode:[1,5,1,""],initialcondition:[1,0,0,"-"],iplot:[1,5,1,""],model:[1,0,0,"-"],parameter:[1,0,0,"-"],reaction:[1,0,0,"-"],result:[1,0,0,"-"],spatialpyerror:[1,0,0,"-"],species:[1,0,0,"-"],vtkreader:[1,0,0,"-"]},"spatialpy.core.BoundaryCondition":{expression:[1,2,1,""]},"spatialpy.core.DataFunction":{map:[1,2,1,""]},"spatialpy.core.Domain":{add_point:[1,2,1,""],calculate_vol:[1,2,1,""],closest_vertex:[1,2,1,""],compile_prep:[1,2,1,""],coordinates:[1,2,1,""],create_2D_domain:[1,2,1,""],create_3D_domain:[1,2,1,""],distance_between_2_vertices:[1,2,1,""],fill_with_particles:[1,2,1,""],find_boundary_points:[1,2,1,""],find_h:[1,2,1,""],get_bounding_box:[1,2,1,""],get_domain_size:[1,2,1,""],get_num_voxels:[1,2,1,""],get_type_def:[1,2,1,""],get_vol:[1,2,1,""],import_meshio_object:[1,2,1,""],plot_types:[1,2,1,""],read_msh_file:[1,2,1,""],read_stochss_domain:[1,2,1,""],read_stochss_subdomain_file:[1,2,1,""],read_xml_mesh:[1,2,1,""],set_properties:[1,2,1,""]},"spatialpy.core.Geometry":{inside:[1,2,1,""]},"spatialpy.core.GeometryAll":{inside:[1,2,1,""]},"spatialpy.core.GeometryExterior":{inside:[1,2,1,""]},"spatialpy.core.GeometryInterior":{inside:[1,2,1,""]},"spatialpy.core.InitialCondition":{apply:[1,2,1,""]},"spatialpy.core.KDTree":{count_neighbors:[1,2,1,""],innernode:[1,1,1,""],leafnode:[1,1,1,""],node:[1,1,1,""],query:[1,2,1,""],query_ball_point:[1,2,1,""],query_ball_tree:[1,2,1,""],query_pairs:[1,2,1,""],sparse_distance_matrix:[1,2,1,""]},"spatialpy.core.Model":{add_boundary_condition:[1,2,1,""],add_data_function:[1,2,1,""],add_domain:[1,2,1,""],add_initial_condition:[1,2,1,""],add_parameter:[1,2,1,""],add_reaction:[1,2,1,""],add_species:[1,2,1,""],compile_prep:[1,2,1,""],delete_all_parameters:[1,2,1,""],delete_all_reactions:[1,2,1,""],delete_all_species:[1,2,1,""],delete_parameter:[1,2,1,""],delete_reaction:[1,2,1,""],delete_species:[1,2,1,""],get_all_parameters:[1,2,1,""],get_all_reactions:[1,2,1,""],get_all_species:[1,2,1,""],get_num_reactions:[1,2,1,""],get_num_species:[1,2,1,""],get_parameter:[1,2,1,""],get_reaction:[1,2,1,""],get_species:[1,2,1,""],reserved_names:[1,4,1,""],run:[1,2,1,""],sanitized_data_function_names:[1,2,1,""],sanitized_parameter_names:[1,2,1,""],sanitized_species_names:[1,2,1,""],set_timesteps:[1,2,1,""],special_characters:[1,4,1,""],timespan:[1,2,1,""],update_namespace:[1,2,1,""]},"spatialpy.core.OrderedDict":{clear:[1,2,1,""],copy:[1,2,1,""],fromkeys:[1,2,1,""],items:[1,2,1,""],keys:[1,2,1,""],move_to_end:[1,2,1,""],pop:[1,2,1,""],popitem:[1,2,1,""],setdefault:[1,2,1,""],update:[1,2,1,""],values:[1,2,1,""]},"spatialpy.core.PlaceInitialCondition":{apply:[1,2,1,""]},"spatialpy.core.Reaction":{add_product:[1,2,1,""],add_reactant:[1,2,1,""],annotate:[1,2,1,""],initialize:[1,2,1,""]},"spatialpy.core.Result":{export_to_csv:[1,2,1,""],export_to_vtk:[1,2,1,""],get_property:[1,2,1,""],get_species:[1,2,1,""],get_timespan:[1,2,1,""],plot_property:[1,2,1,""],plot_species:[1,2,1,""],read_step:[1,2,1,""]},"spatialpy.core.ScatterInitialCondition":{apply:[1,2,1,""]},"spatialpy.core.Species":{set_diffusion_coefficient:[1,2,1,""]},"spatialpy.core.UniformInitialCondition":{apply:[1,2,1,""]},"spatialpy.core.VTKReader":{get_array_name:[1,2,1,""],get_arrays:[1,2,1,""],get_num_points:[1,2,1,""],get_points:[1,2,1,""],read_file:[1,2,1,""],set_filename:[1,2,1,""]},"spatialpy.core.boundarycondition":{BoundaryCondition:[1,1,1,""]},"spatialpy.core.boundarycondition.BoundaryCondition":{expression:[1,2,1,""]},"spatialpy.core.cleanup":{cleanup_build_files:[1,5,1,""],cleanup_core_files:[1,5,1,""],cleanup_result_files:[1,5,1,""],cleanup_tempfiles:[1,5,1,""]},"spatialpy.core.datafunction":{DataFunction:[1,1,1,""]},"spatialpy.core.datafunction.DataFunction":{map:[1,2,1,""]},"spatialpy.core.domain":{Domain:[1,1,1,""]},"spatialpy.core.domain.Domain":{add_point:[1,2,1,""],calculate_vol:[1,2,1,""],closest_vertex:[1,2,1,""],compile_prep:[1,2,1,""],coordinates:[1,2,1,""],create_2D_domain:[1,2,1,""],create_3D_domain:[1,2,1,""],distance_between_2_vertices:[1,2,1,""],fill_with_particles:[1,2,1,""],find_boundary_points:[1,2,1,""],find_h:[1,2,1,""],get_bounding_box:[1,2,1,""],get_domain_size:[1,2,1,""],get_num_voxels:[1,2,1,""],get_type_def:[1,2,1,""],get_vol:[1,2,1,""],import_meshio_object:[1,2,1,""],plot_types:[1,2,1,""],read_msh_file:[1,2,1,""],read_stochss_domain:[1,2,1,""],read_stochss_subdomain_file:[1,2,1,""],read_xml_mesh:[1,2,1,""],set_properties:[1,2,1,""]},"spatialpy.core.geometry":{Geometry:[1,1,1,""],GeometryAll:[1,1,1,""],GeometryExterior:[1,1,1,""],GeometryInterior:[1,1,1,""]},"spatialpy.core.geometry.Geometry":{inside:[1,2,1,""]},"spatialpy.core.geometry.GeometryAll":{inside:[1,2,1,""]},"spatialpy.core.geometry.GeometryExterior":{inside:[1,2,1,""]},"spatialpy.core.geometry.GeometryInterior":{inside:[1,2,1,""]},"spatialpy.core.initialcondition":{InitialCondition:[1,1,1,""],PlaceInitialCondition:[1,1,1,""],ScatterInitialCondition:[1,1,1,""],UniformInitialCondition:[1,1,1,""]},"spatialpy.core.initialcondition.InitialCondition":{apply:[1,2,1,""]},"spatialpy.core.initialcondition.PlaceInitialCondition":{apply:[1,2,1,""]},"spatialpy.core.initialcondition.ScatterInitialCondition":{apply:[1,2,1,""]},"spatialpy.core.initialcondition.UniformInitialCondition":{apply:[1,2,1,""]},"spatialpy.core.model":{Model:[1,1,1,""],export_StochSS:[1,5,1,""]},"spatialpy.core.model.Model":{add_boundary_condition:[1,2,1,""],add_data_function:[1,2,1,""],add_domain:[1,2,1,""],add_initial_condition:[1,2,1,""],add_parameter:[1,2,1,""],add_reaction:[1,2,1,""],add_species:[1,2,1,""],compile_prep:[1,2,1,""],delete_all_parameters:[1,2,1,""],delete_all_reactions:[1,2,1,""],delete_all_species:[1,2,1,""],delete_parameter:[1,2,1,""],delete_reaction:[1,2,1,""],delete_species:[1,2,1,""],get_all_parameters:[1,2,1,""],get_all_reactions:[1,2,1,""],get_all_species:[1,2,1,""],get_num_reactions:[1,2,1,""],get_num_species:[1,2,1,""],get_parameter:[1,2,1,""],get_reaction:[1,2,1,""],get_species:[1,2,1,""],reserved_names:[1,4,1,""],run:[1,2,1,""],sanitized_data_function_names:[1,2,1,""],sanitized_parameter_names:[1,2,1,""],sanitized_species_names:[1,2,1,""],set_timesteps:[1,2,1,""],special_characters:[1,4,1,""],timespan:[1,2,1,""],update_namespace:[1,2,1,""]},"spatialpy.core.parameter":{Parameter:[1,1,1,""]},"spatialpy.core.reaction":{Reaction:[1,1,1,""]},"spatialpy.core.reaction.Reaction":{add_product:[1,2,1,""],add_reactant:[1,2,1,""],annotate:[1,2,1,""],initialize:[1,2,1,""]},"spatialpy.core.result":{Result:[1,1,1,""]},"spatialpy.core.result.Result":{export_to_csv:[1,2,1,""],export_to_vtk:[1,2,1,""],get_property:[1,2,1,""],get_species:[1,2,1,""],get_timespan:[1,2,1,""],plot_property:[1,2,1,""],plot_species:[1,2,1,""],read_step:[1,2,1,""]},"spatialpy.core.spatialpyerror":{BoundaryConditionError:[1,3,1,""],DataFunctionError:[1,3,1,""],DomainError:[1,3,1,""],GeometryError:[1,3,1,""],InitialConditionError:[1,3,1,""],ModelError:[1,3,1,""],ParameterError:[1,3,1,""],ReactionError:[1,3,1,""],ResultError:[1,3,1,""],SimulationError:[1,3,1,""],SimulationTimeout:[1,3,1,""],SpeciesError:[1,3,1,""],VTKReaderError:[1,3,1,""],VTKReaderIOError:[1,3,1,""]},"spatialpy.core.species":{Species:[1,1,1,""]},"spatialpy.core.species.Species":{set_diffusion_coefficient:[1,2,1,""]},"spatialpy.core.vtkreader":{VTKReader:[1,1,1,""]},"spatialpy.core.vtkreader.VTKReader":{get_array_name:[1,2,1,""],get_arrays:[1,2,1,""],get_num_points:[1,2,1,""],get_points:[1,2,1,""],read_file:[1,2,1,""],set_filename:[1,2,1,""]},"spatialpy.solvers":{build_expression:[2,0,0,"-"],solver:[2,0,0,"-"]},"spatialpy.solvers.build_expression":{BuildExpression:[2,1,1,""],CppConverter:[2,1,1,""],ExpressionConverter:[2,1,1,""],ExpressionResults:[2,1,1,""],PythonConverter:[2,1,1,""]},"spatialpy.solvers.build_expression.BuildExpression":{ValidationVisitor:[2,1,1,""],getexpr_cpp:[2,2,1,""],getexpr_python:[2,2,1,""],map_operator:[2,2,1,""],operator_map:[2,4,1,""],validate:[2,2,1,""],with_blacklist:[2,2,1,""],with_namespace:[2,2,1,""]},"spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor":{visit_Assign:[2,2,1,""],visit_BinOp:[2,2,1,""],visit_BoolOp:[2,2,1,""],visit_Call:[2,2,1,""],visit_Compare:[2,2,1,""],visit_Name:[2,2,1,""],visit_UnaryOp:[2,2,1,""]},"spatialpy.solvers.build_expression.CppConverter":{CppExpressionTransformer:[2,1,1,""],get_str:[2,2,1,""],visit_And:[2,2,1,""],visit_Or:[2,2,1,""]},"spatialpy.solvers.build_expression.CppConverter.CppExpressionTransformer":{visit_BinOp:[2,2,1,""]},"spatialpy.solvers.build_expression.ExpressionConverter":{convert_str:[2,2,1,""],get_str:[2,2,1,""],parse_comparison:[2,2,1,""],parse_logical:[2,2,1,""],parse_operator:[2,2,1,""],visit_Add:[2,2,1,""],visit_BinOp:[2,2,1,""],visit_BoolOp:[2,2,1,""],visit_Bytes:[2,2,1,""],visit_Call:[2,2,1,""],visit_Compare:[2,2,1,""],visit_Constant:[2,2,1,""],visit_Div:[2,2,1,""],visit_Ellipsis:[2,2,1,""],visit_Eq:[2,2,1,""],visit_Gt:[2,2,1,""],visit_GtE:[2,2,1,""],visit_Lt:[2,2,1,""],visit_LtE:[2,2,1,""],visit_Mult:[2,2,1,""],visit_Name:[2,2,1,""],visit_NameConstant:[2,2,1,""],visit_NotEq:[2,2,1,""],visit_Num:[2,2,1,""],visit_Pow:[2,2,1,""],visit_Str:[2,2,1,""],visit_Sub:[2,2,1,""],visit_USub:[2,2,1,""],visit_UnaryOp:[2,2,1,""]},"spatialpy.solvers.build_expression.PythonConverter":{visit_And:[2,2,1,""],visit_Or:[2,2,1,""]},"spatialpy.solvers.solver":{Solver:[2,1,1,""]},"spatialpy.solvers.solver.Solver":{compile:[2,2,1,""],run:[2,2,1,""]},"spatialpy.stochss":{stochss_export:[3,0,0,"-"]},"spatialpy.stochss.stochss_export":{"export":[3,5,1,""]},spatialpy:{core:[1,0,0,"-"],solvers:[2,0,0,"-"],stochss:[3,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","exception","Python exception"],"4":["py","attribute","Python attribute"],"5":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:exception","4":"py:attribute","5":"py:function"},terms:{"0":[1,2],"04":1,"1":[1,2],"10":1,"10000":1,"11":1,"13":1,"14142136":1,"15":1,"1999":1,"1d":1,"2":1,"20":1,"2000":1,"2015":1,"2019":[0,1,2,3],"2022":[0,1,2,3],"2d":1,"2e9":1,"2r01eb014877":4,"3":[0,1,2,3,4],"300":1,"3d":[1,4],"4":1,"5":1,"500":1,"6":1,"600":1,"7":1,"8":1,"800":1,"9":1,"abstract":[1,2],"byte":2,"case":1,"class":[1,2],"default":1,"do":1,"export":[1,3],"float":1,"function":[1,2],"import":1,"int":[1,2],"long":1,"new":[1,2],"public":[0,1,2,3,4],"return":[1,2,3],"short":4,"static":[1,4],"super":2,"switch":1,"true":[1,2],A:[0,1,2,3,4],And:2,By:[1,2],FOR:[0,1,2,3],For:[1,4],If:[0,1,2,3,4],In:1,It:1,No:1,Not:[1,2],Or:2,The:[1,2,4],These:1,Will:1,_ast:2,abl:1,about:1,absolut:1,acceler:1,accept:2,across:1,action:1,ad:[1,2],add:[1,2],add_boundary_condit:1,add_data_funct:1,add_domain:1,add_initial_condit:1,add_paramet:1,add_point:1,add_product:1,add_react:1,add_speci:1,addit:[1,2],addition:[1,2],addtion:[1,2],advect:[0,1,2,3,4],against:[1,2],algorithm:[1,4],align:1,all:[1,2],allow:2,along:[0,1,2,3],alreadi:1,also:[1,2,4],alwai:2,amount:1,an:[1,2,4],ani:[0,1,2,3,4],anim:1,animation_attribut:1,animation_opt:1,annot:1,append:2,appli:1,approxim:1,ar:[1,2],argument:1,arrai:1,arraid:1,array_lik:1,articl:4,artifici:1,asarrai:1,ascii:1,assign:[1,2],associ:1,assum:2,ast:2,attempt:1,attribut:1,author:4,auto_plai:1,automat:[1,2],autorang:1,avail:[1,2,4],averag:1,axi:1,background:1,bare:2,base:[1,2,4],bass:1,becaus:1,becom:1,been:1,begin:1,behavior:2,best:1,between:[1,2],binari:1,binboolopop:2,binop:2,biochem:1,bitand:2,bitor:2,bitxor:2,blacklist:2,blob:1,blue:1,bodi:1,bogu:1,bool:[1,2,3],boolop:2,both:[1,4],bottom:1,bound:1,bound_cond:1,boundari:1,boundarycondit:0,boundaryconditionerror:1,box:1,branch:1,brian:4,browser:1,brute:1,bugn:1,build:[1,2,4],build_dir:1,build_express:0,buildexpress:2,built:2,bulk:1,bupu:1,c0:1,c:[0,1,2,3],c_:1,calcul:1,calculate_vol:1,call:[1,2],can:[0,1,2,3,4],caus:2,cdn:1,cell:1,charact:1,chart:1,check:[1,2],chemic:1,choos:1,chosen:1,circumradiu:1,ckdtree:1,classmethod:[1,2],cleanup:0,cleanup_build_fil:1,cleanup_core_fil:1,cleanup_result_fil:1,cleanup_tempfil:1,clear:1,close:1,closest:1,closest_vertex:1,cloud:1,code:[1,4],coeffic:1,coeffici:1,collabor:1,collect:1,colormap:1,column:1,com:[1,4],combin:1,compar:[1,2],comparison:2,compil:[1,2],compile_prep:1,comput:1,conain:1,conatain:1,concentr:1,condit:[1,2],config:1,connect:1,consid:1,consol:2,constant:[1,2],construct:1,constructor:2,constuct:1,contact:4,contain:[1,2],content:4,context:2,contian:1,continu:4,convers:2,convert:[1,2,3],convert_str:2,convet:2,coodin:1,coordin:1,copi:[0,1,2,3],copy_numb:1,copyright:[0,1,2,3],core:[0,4],corner:1,correl:1,correspond:[1,2],could:[1,2],count:1,count_neighbor:1,coupl:1,cppconvert:2,cppexpressiontransform:2,creat:[1,2],create_2d_domain:1,create_3d_domain:1,csv:1,current:[1,2],custom:1,cylind:4,cython:1,d:1,data:[1,2],data_funct:1,datafunct:0,datafunctionerror:1,debug:[1,2],debug_level:[1,2],debugg:2,defer:1,defin:[1,2],definit:1,delete_all_paramet:1,delete_all_react:1,delete_all_speci:1,delete_paramet:1,delete_react:1,delete_speci:1,deltai:1,deltax:1,deltaz:1,demo:4,densiti:1,dependency_graph:1,describ:[1,4],descript:1,detail:[0,1,2,3],determinist:[0,1,2,3,4],determinst:1,develop:[0,1,2,3,4],diamet:1,dict:[1,2],dictionari:[1,2],differ:[1,2],diffus:[0,1,2,3,4],diffusion_coeffici:1,dimens:1,dimension:1,direct:1,directli:[1,4],directori:1,displai:1,dissip:4,distanc:1,distance_between_2_vertic:1,distance_upper_bound:1,distribut:[0,1,2,3],div:2,doe:1,doesn:1,dok_matrix:1,dolfin:1,dom:1,domain:[0,4],domainerror:1,domn:1,doubl:1,download:1,dr:4,draw:1,drawert:4,drawn:1,dtype:1,duplic:2,durat:1,dure:[1,2],dynam:4,e:1,each:1,edg:1,edit:1,effect:1,effici:1,either:1,element:1,ellipsi:2,els:1,embed:4,empti:2,end:1,engin:1,ensur:[1,2],enterpris:1,entir:1,entireti:1,ep:1,eq:2,equival:2,error:1,estim:1,euclidean:1,evalu:1,evaul:1,even:[0,1,2,3],evenli:1,exampl:1,exce:1,exceed:[1,2],except:1,execut:[1,2],exist:1,expect:[1,2],explor:1,export_stochss:1,export_to_csv:1,export_to_vtk:1,expres:2,express:[1,2],expressionconvert:2,expressionresult:2,extens:1,extra:1,f:1,f_durat:1,fail:2,fals:[1,2,3],far:2,faster:1,featur:4,fenic:1,fifo:1,figur:1,figure_or_data:1,file:1,filenam:[1,3],fill:[1,4],fill_with_particl:1,find:[1,4],find_boundary_point:1,find_h:1,first:[1,2],fit:[0,1,2,3],fix:1,flag:[1,2],flatten:1,flight:2,floordiv:2,flow:4,fluid:[1,4],folder_nam:1,follow:[1,2],forc:1,form:[1,4],format:1,forward:2,found:[1,2,4],foundat:[0,1,2,3],frame:[1,4],free:[0,1,2,3],frequenc:1,from:[1,2],fromkei:1,fund:4,further:1,furthest:1,g:1,gain:1,gdbgui:2,gener:[0,1,2,3,4],geometr:1,geometri:0,geometry_ivar:1,geometryal:1,geometryerror:1,geometryexterior:1,geometryinterior:1,get:[1,2],get_all_paramet:1,get_all_react:1,get_all_speci:1,get_arrai:1,get_array_nam:1,get_bounding_box:1,get_domain_s:1,get_num_point:1,get_num_react:1,get_num_speci:1,get_num_voxel:1,get_paramet:1,get_point:1,get_properti:1,get_react:1,get_speci:1,get_str:2,get_timespan:1,get_type_def:1,get_vol:1,getexpr_:2,getexpr_cpp:2,getexpr_python:2,github:[1,4],given:[1,2],gmsh:1,gnbu:1,gnu:[0,1,2,3,4],gprof:2,grai:1,grant:4,granular:2,graph:1,graph_obj:1,graph_refer:1,graviti:[1,4],greater:1,greatest:1,green:1,grei:1,gt:2,gte:2,guarante:1,h:1,ha:[1,4],hand:2,handl:2,happen:[1,2],hasn:[1,2],have:[0,1,2,3],height:1,held:1,help:1,here:1,high:1,higher:1,highest:1,hit:1,hope:[0,1,2,3],how:[1,2,4],http:[0,1,2,3,4],hybrid:4,hyperrectangl:1,i:1,id:1,idea:1,ideal:2,idempot:1,identifi:[1,2],idx:1,ignor:1,imag:1,image_height:1,image_width:1,immobil:1,implemenet:1,implement:[1,2],impli:[0,1,2,3],implicit:1,import_meshio_object:1,imposs:2,inch:1,incid:1,includ:1,included_types_list:1,incompat:1,increas:1,increment:2,indec:1,indeci:1,index:[1,4],indic:[1,2],inf:1,infer:2,infin:1,infinit:1,info:1,inform:[1,2,4],inherit:2,init_cond:1,init_notebook_mod:1,initailcondit:1,initi:1,initialcondit:0,initialconditionerror:1,inlin:1,innernod:1,input:1,insert:1,insid:1,instanc:[1,2],instead:1,integ:1,intend:4,intern:1,internet:1,interv:1,invalid:[1,2],invalid_:2,invalid_nam:2,invalid_oper:2,io:1,iplot:1,ipython:1,is_valid:2,item:[1,2],iter:1,its:1,j:1,jacob:4,jet:1,jpeg:1,js:1,json:1,jupyt:1,k:1,kd:1,kdtree:1,kei:[1,2],keyerror:1,keyword:1,kill:1,kth:1,kwarg:1,lack:1,lagrangian:4,larg:1,larger:1,last:[1,2],later:[1,2],latest:4,layout:1,leafnod:1,leafsiz:1,learn:1,leav:1,left:2,legaci:1,length:1,less:1,level:[1,2],li:4,librari:1,licens:[0,1,2,3,4],lifo:1,like:1,limit:1,link:1,link_text:1,list:[1,2],listofparamet:1,listofreact:1,listofspeci:1,listoftyp:1,load:1,local:1,locat:1,logic:2,look:1,lookup:1,lower:1,lowest:1,lshift:2,lt:2,lte:2,ly:1,m:1,mai:1,main:4,make:1,manag:2,maneewongvatana:1,manhattan:1,mani:[1,2],map:[1,2],map_oper:2,margin:1,mark:1,mass:1,master:1,mathemat:[1,2],matmult:2,matplotlib:1,matrix:1,max:1,max_dist:1,maximum:[1,2],mean:1,measur:1,meet:1,megabyt:1,merchant:[0,1,2,3],mesh:1,mesh_obj:1,meshio:1,messag:1,meta:1,method:[1,2],mgrid:1,midpoint:1,min:1,minim:1,minimum:1,minkowski:1,miss:1,mod:2,model:[0,2,3,4],modelerror:1,modelname_mesh:1,modelname_species_:1,modifi:[0,1,2,3],modul:4,molecul:1,moor:1,more:[0,1,2,3,4],most:[1,2],mount:1,move:1,move_to_end:1,movement:1,msh:1,much:1,mult:2,multipl:[1,2],must:1,n:1,name:[1,2],nameconst:2,namespac:[1,2],ndarrai:1,nearbi:1,nearby_point:1,nearer:1,nearest:1,necessarili:1,need:[1,4],neg:1,neighbor:1,nih:4,node:[1,2],nodetransform:2,nodevisitor:2,non:1,none:[1,2,3],nonneg:1,norm:1,notat:1,note:[1,2],notebook:[1,4],noteq:2,np:1,nsm:4,nu:1,num:2,num_step:1,number:[1,2],number_of_thread:[1,2],number_of_trajectori:[1,2],numpi:1,numpoint:1,nx:1,ny:1,nz:1,o:1,obj:1,object:[1,2],od:1,off:1,offlin:1,omit:1,on_boundari:1,one:[1,2],onli:[1,2],onlin:1,open:1,oper:2,operator_map:2,option:1,orang:1,order:1,ordereddict:1,org:[0,1,2,3],origin:2,orrd:1,other:[1,2],otherwis:[1,2],our:4,out:[1,4],outdat:1,output:[1,2],output_interv:1,over:1,overflow:1,overrid:2,overridden:1,p0:1,p:1,p_ndx:1,packag:4,page:[1,4],pair:1,param:1,param_nam:1,param_obj:1,paramet:[0,2,3],parametererror:1,paramt:1,parent:1,pars:2,parse_comparison:2,parse_log:2,parse_oper:2,part:1,partcil:1,particip:1,particl:[1,4],particular:[0,1,2,3],pass:[1,2],path:[1,3],pdf:1,perform:1,petzold:4,physic:4,pii:4,pixel:1,place:1,placeinitialcondit:1,platform:1,pleas:[1,4],plot:1,plot_imag:1,plot_properti:1,plot_speci:1,plot_typ:1,plotli:1,plotly3:1,plt:1,pname:1,png:1,point:1,pop:[1,2],popitem:1,popul:1,posit:1,positon:1,pow:2,pre:2,predict:1,preper:1,present:[1,2],pressur:1,print:[1,2],problem:[0,1,2,3,4],process:2,produc:1,product:1,profil:[1,2],program:[0,1,2,3],project:4,propens:1,propensity_funct:1,properti:[1,2],property_nam:1,proprti:1,prove:4,provid:[1,2,4],prune:1,pt:1,publish:[0,1,2,3],pubu:1,pubugn:1,pull:1,purd:1,purpl:1,purpos:[0,1,2,3],put:1,px:1,py:1,pypi:4,pyplot:1,python:[0,1,2,3,4],pythonconvert:2,pyurdm:4,queri:1,query_ball_point:1,query_ball_tre:1,query_pair:1,question:4,quick:1,r:1,radii:1,radiu:1,rais:[1,2],random:[1,2],randomli:1,rang:1,rapidli:1,rate:1,rather:1,ravel:1,raw:1,rdme:4,rdpu:1,reac:1,reach:1,react_nam:1,react_obj:1,reactant:1,reaction:[0,2,3,4],reactionerror:1,read:1,read_fil:1,read_msh_fil:1,read_step:1,read_stochss_domain:1,read_stochss_subdomain_fil:1,read_xml_mesh:1,reader:1,real:1,reason:1,receiv:[0,1,2,3],recent:[1,2],recurs:1,red:1,redistribut:[0,1,2,3],reevalu:1,refer:1,referenc:1,regardless:1,region:1,regist:4,registr:4,reject:2,rememb:1,remov:1,replac:4,repres:1,represent:[1,2],request:1,requir:1,reserved_nam:1,resolut:1,restrict:1,restrict_to:1,result:[0,2],result_dir:1,resulterror:1,resultserror:1,retreiv:1,retriev:1,return_plotly_figur:1,return_stochss_model:[1,3],rh:1,rho0:1,rho:1,right:[1,2],rname:1,rshift:2,rtype:2,rule:1,run:[1,2],runtimeerror:1,rvalu:2,s0021999118307101:4,s:[1,4],same:1,sampl:1,sanit:2,sanitized_data_function_nam:1,sanitized_parameter_nam:1,sanitized_species_nam:1,save:1,scalar:1,scatter:1,scatterinitialcondit:1,scienc:[1,4],sciencedirect:4,scipi:1,sdpd:[1,4],search:[1,4],second:[1,2],see:[0,1,2,3,4],seed:[1,2],self:[1,2],separ:1,sequenc:1,seri:[1,2],set:[1,2],set_diffusion_coeffici:1,set_filenam:1,set_properti:1,set_timestep:1,setdefault:1,setrecursionlimit:1,setter:1,shallow:1,shape:1,should:[0,1,2,3],show:1,show_link:1,significantli:1,simlat:1,simplifi:1,simul:[0,1,2,3,4],simulationerror:[1,2],simulationtimeout:[1,2],sinc:1,singl:[1,2],size:1,slide:1,smaller:1,smdl:1,smooth:4,sname:1,so:[1,2],softwar:[0,1,2,3,4],solver:[0,1,4],some:1,sort:1,sound:1,sourc:[1,2,3,4],space:1,spactialpi:2,span:1,spars:1,sparse_distance_matrix:1,spatailpy_model:1,spatial:[0,1,2,3,4],spatialpy_build:1,spatialpy_model:[1,3],spatialpy_result:1,spatialpyerror:0,spatialpysolv:1,spayialpi:1,speci:0,special_charact:1,species_nam:1,species_object:1,specieserror:1,specif:1,specifi:1,speed:1,split:1,split_dim:1,src:1,ssa:1,sssa:4,start:[1,2,4],statement:2,statist:1,step:1,step_num:1,stochast:[0,1,2,3,4],stochss:[0,1,4],stochss_export:0,stoichiometr:1,stoichiometri:1,store:1,str:[1,2,3],string:[1,2],struct:2,structur:1,style:1,sub:2,subclass:[1,2],subdomain:1,submodul:0,subpackag:4,substanti:1,substitut:2,success:1,suggest:4,sum:1,suppli:1,support:[1,4],sure:1,svg:1,sy:1,symbol:2,syntax:2,syntaxerror:2,system:[1,4],t:[1,2],t_durat:1,t_ndx:1,t_ndx_list:1,t_val:1,tag:1,take:1,target:[1,2],tempfil:1,term:[0,1,2,3],tetrahedron:1,text:1,than:1,them:1,thi:[0,1,2,3,4],thin:1,those:1,thread:[1,2],time:[1,2],time_span:1,timeout:[1,2],timepoint:1,timespan:1,timestep:1,timestep_s:1,titl:1,token:2,total:1,toth:1,trace:1,tracker:4,trajectori:[1,2],transit:1,travers:1,tree:[1,2],triangl:1,trigger:2,tspan:1,tupl:1,two:[1,2],txt:1,type:[1,2],type_id:1,u0:1,unabl:1,unaryop:2,under:[0,1,2,3,4],uniform:1,uniforminitialcondit:1,union:1,unit:1,univers:2,unnecessari:1,up:1,updat:1,update_namespac:1,upload:1,upon:1,upper:1,urdm:1,us:[0,1,2,3,4],use_matplotlib:1,user:[1,4],usual:1,usub:2,util:1,v1:1,v:1,valid:[1,2],validationvisitor:2,valu:[1,2],vari:1,vector:1,verbos:2,veri:1,version:[0,1,2,3,4],vertex:1,vertic:1,view:1,viewer:1,viscos:1,visit:2,visit_add:2,visit_and:2,visit_assign:2,visit_binop:2,visit_boolop:2,visit_byt:2,visit_cal:2,visit_compar:2,visit_const:2,visit_div:2,visit_ellipsi:2,visit_eq:2,visit_gt:2,visit_lt:2,visit_mult:2,visit_nam:2,visit_nameconst:2,visit_noteq:2,visit_num:2,visit_or:2,visit_pow:2,visit_str:2,visit_sub:2,visit_unaryop:2,visit_usub:2,visitor:2,vol:1,volum:1,voxel:1,vtk:1,vtkreader:0,vtkreadererror:1,vtkreaderioerror:1,wa:1,want:1,warranti:[0,1,2,3],we:[1,4],web:1,webp:1,weir:4,well:2,were:[1,2],what:2,when:[1,2],where:1,whether:[1,2,3],which:[1,2],whose:1,width:1,with_blacklist:2,with_namespac:2,within:1,without:[0,1,2,3],word:1,work:1,wp:1,write:1,write_imag:1,written:1,www:[0,1,2,3,4],x1:1,x2:1,x:1,xaxi:1,xlim:1,xmax:1,xmin:1,xml:1,y:1,yaxi:1,yet:1,yi:4,ylgn:1,ylgnbu:1,ylim:1,ylorbr:1,ylorrd:1,ymax:1,ymin:1,you:[0,1,2,3,4],your:[1,4],z:1,zero:1,zeroth:1,zip:1,zlim:1,zmax:1,zmin:1},titles:["spatialpy package","spatialpy.core package","spatialpy.solvers package","spatialpy.stochss package","Documentation for SpatialPy 1.0"],titleterms:{"0":4,"1":4,api:4,boundarycondit:1,build_express:2,cleanup:1,content:[0,1,2,3],copi:4,core:1,datafunct:1,document:4,domain:1,exampl:4,geometri:1,get:4,indic:4,initialcondit:1,issu:4,model:1,modul:[0,1,2,3],packag:[0,1,2,3],paramet:1,reaction:1,refer:4,report:4,result:1,solver:2,spatialpi:[0,1,2,3,4],spatialpyerror:1,speci:1,stochss:3,stochss_export:3,submodul:[1,2,3],subpackag:0,tabl:4,vtkreader:1}}) \ No newline at end of file +Search.setIndex({docnames:["classes/spatialpy","classes/spatialpy.core","classes/spatialpy.solvers","classes/spatialpy.stochss","index"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.todo":2,"sphinx.ext.viewcode":1,sphinx:56},filenames:["classes/spatialpy.rst","classes/spatialpy.core.rst","classes/spatialpy.solvers.rst","classes/spatialpy.stochss.rst","index.rst"],objects:{"":{spatialpy:[0,0,0,"-"]},"spatialpy.core":{BoundaryCondition:[1,1,1,""],BoundaryConditionError:[1,3,1,""],DataFunction:[1,1,1,""],DataFunctionError:[1,3,1,""],Domain:[1,1,1,""],DomainError:[1,3,1,""],Geometry:[1,1,1,""],GeometryAll:[1,1,1,""],GeometryError:[1,3,1,""],GeometryExterior:[1,1,1,""],GeometryInterior:[1,1,1,""],InitialCondition:[1,1,1,""],InitialConditionError:[1,3,1,""],KDTree:[1,1,1,""],Model:[1,1,1,""],ModelError:[1,3,1,""],OrderedDict:[1,1,1,""],Parameter:[1,1,1,""],ParameterError:[1,3,1,""],PlaceInitialCondition:[1,1,1,""],Reaction:[1,1,1,""],ReactionError:[1,3,1,""],Result:[1,1,1,""],ResultError:[1,3,1,""],ScatterInitialCondition:[1,1,1,""],SimulationError:[1,3,1,""],SimulationTimeout:[1,3,1,""],Species:[1,1,1,""],SpeciesError:[1,3,1,""],UniformInitialCondition:[1,1,1,""],VTKReader:[1,1,1,""],VTKReaderError:[1,3,1,""],VTKReaderIOError:[1,3,1,""],boundarycondition:[1,0,0,"-"],cleanup:[1,0,0,"-"],cleanup_build_files:[1,5,1,""],cleanup_core_files:[1,5,1,""],cleanup_result_files:[1,5,1,""],cleanup_tempfiles:[1,5,1,""],combinations:[1,1,1,""],datafunction:[1,0,0,"-"],domain:[1,0,0,"-"],geometry:[1,0,0,"-"],init_notebook_mode:[1,5,1,""],initialcondition:[1,0,0,"-"],iplot:[1,5,1,""],model:[1,0,0,"-"],parameter:[1,0,0,"-"],reaction:[1,0,0,"-"],result:[1,0,0,"-"],spatialpyerror:[1,0,0,"-"],species:[1,0,0,"-"],vtkreader:[1,0,0,"-"]},"spatialpy.core.BoundaryCondition":{expression:[1,2,1,""]},"spatialpy.core.DataFunction":{map:[1,2,1,""]},"spatialpy.core.Domain":{add_point:[1,2,1,""],calculate_vol:[1,2,1,""],closest_vertex:[1,2,1,""],compile_prep:[1,2,1,""],coordinates:[1,2,1,""],create_2D_domain:[1,2,1,""],create_3D_domain:[1,2,1,""],distance_between_2_vertices:[1,2,1,""],fill_with_particles:[1,2,1,""],find_boundary_points:[1,2,1,""],find_h:[1,2,1,""],get_bounding_box:[1,2,1,""],get_domain_size:[1,2,1,""],get_num_voxels:[1,2,1,""],get_type_def:[1,2,1,""],get_vol:[1,2,1,""],import_meshio_object:[1,2,1,""],plot_types:[1,2,1,""],read_msh_file:[1,2,1,""],read_stochss_domain:[1,2,1,""],read_stochss_subdomain_file:[1,2,1,""],read_xml_mesh:[1,2,1,""],set_properties:[1,2,1,""]},"spatialpy.core.Geometry":{inside:[1,2,1,""]},"spatialpy.core.GeometryAll":{inside:[1,2,1,""]},"spatialpy.core.GeometryExterior":{inside:[1,2,1,""]},"spatialpy.core.GeometryInterior":{inside:[1,2,1,""]},"spatialpy.core.InitialCondition":{apply:[1,2,1,""]},"spatialpy.core.KDTree":{count_neighbors:[1,2,1,""],innernode:[1,1,1,""],leafnode:[1,1,1,""],node:[1,1,1,""],query:[1,2,1,""],query_ball_point:[1,2,1,""],query_ball_tree:[1,2,1,""],query_pairs:[1,2,1,""],sparse_distance_matrix:[1,2,1,""]},"spatialpy.core.Model":{add_boundary_condition:[1,2,1,""],add_data_function:[1,2,1,""],add_domain:[1,2,1,""],add_initial_condition:[1,2,1,""],add_parameter:[1,2,1,""],add_reaction:[1,2,1,""],add_species:[1,2,1,""],compile_prep:[1,2,1,""],delete_all_parameters:[1,2,1,""],delete_all_reactions:[1,2,1,""],delete_all_species:[1,2,1,""],delete_parameter:[1,2,1,""],delete_reaction:[1,2,1,""],delete_species:[1,2,1,""],get_all_parameters:[1,2,1,""],get_all_reactions:[1,2,1,""],get_all_species:[1,2,1,""],get_num_reactions:[1,2,1,""],get_num_species:[1,2,1,""],get_parameter:[1,2,1,""],get_reaction:[1,2,1,""],get_species:[1,2,1,""],reserved_names:[1,4,1,""],run:[1,2,1,""],sanitized_data_function_names:[1,2,1,""],sanitized_parameter_names:[1,2,1,""],sanitized_species_names:[1,2,1,""],set_timesteps:[1,2,1,""],special_characters:[1,4,1,""],timespan:[1,2,1,""],update_namespace:[1,2,1,""]},"spatialpy.core.OrderedDict":{clear:[1,2,1,""],copy:[1,2,1,""],fromkeys:[1,2,1,""],items:[1,2,1,""],keys:[1,2,1,""],move_to_end:[1,2,1,""],pop:[1,2,1,""],popitem:[1,2,1,""],setdefault:[1,2,1,""],update:[1,2,1,""],values:[1,2,1,""]},"spatialpy.core.PlaceInitialCondition":{apply:[1,2,1,""]},"spatialpy.core.Reaction":{add_product:[1,2,1,""],add_reactant:[1,2,1,""],annotate:[1,2,1,""],initialize:[1,2,1,""]},"spatialpy.core.Result":{export_to_csv:[1,2,1,""],export_to_vtk:[1,2,1,""],get_property:[1,2,1,""],get_species:[1,2,1,""],get_timespan:[1,2,1,""],plot_property:[1,2,1,""],plot_species:[1,2,1,""],read_step:[1,2,1,""]},"spatialpy.core.ScatterInitialCondition":{apply:[1,2,1,""]},"spatialpy.core.Species":{set_diffusion_coefficient:[1,2,1,""]},"spatialpy.core.UniformInitialCondition":{apply:[1,2,1,""]},"spatialpy.core.VTKReader":{get_array_name:[1,2,1,""],get_arrays:[1,2,1,""],get_num_points:[1,2,1,""],get_points:[1,2,1,""],read_file:[1,2,1,""],set_filename:[1,2,1,""]},"spatialpy.core.boundarycondition":{BoundaryCondition:[1,1,1,""]},"spatialpy.core.boundarycondition.BoundaryCondition":{expression:[1,2,1,""]},"spatialpy.core.cleanup":{cleanup_build_files:[1,5,1,""],cleanup_core_files:[1,5,1,""],cleanup_result_files:[1,5,1,""],cleanup_tempfiles:[1,5,1,""]},"spatialpy.core.datafunction":{DataFunction:[1,1,1,""]},"spatialpy.core.datafunction.DataFunction":{map:[1,2,1,""]},"spatialpy.core.domain":{Domain:[1,1,1,""]},"spatialpy.core.domain.Domain":{add_point:[1,2,1,""],calculate_vol:[1,2,1,""],closest_vertex:[1,2,1,""],compile_prep:[1,2,1,""],coordinates:[1,2,1,""],create_2D_domain:[1,2,1,""],create_3D_domain:[1,2,1,""],distance_between_2_vertices:[1,2,1,""],fill_with_particles:[1,2,1,""],find_boundary_points:[1,2,1,""],find_h:[1,2,1,""],get_bounding_box:[1,2,1,""],get_domain_size:[1,2,1,""],get_num_voxels:[1,2,1,""],get_type_def:[1,2,1,""],get_vol:[1,2,1,""],import_meshio_object:[1,2,1,""],plot_types:[1,2,1,""],read_msh_file:[1,2,1,""],read_stochss_domain:[1,2,1,""],read_stochss_subdomain_file:[1,2,1,""],read_xml_mesh:[1,2,1,""],set_properties:[1,2,1,""]},"spatialpy.core.geometry":{Geometry:[1,1,1,""],GeometryAll:[1,1,1,""],GeometryExterior:[1,1,1,""],GeometryInterior:[1,1,1,""]},"spatialpy.core.geometry.Geometry":{inside:[1,2,1,""]},"spatialpy.core.geometry.GeometryAll":{inside:[1,2,1,""]},"spatialpy.core.geometry.GeometryExterior":{inside:[1,2,1,""]},"spatialpy.core.geometry.GeometryInterior":{inside:[1,2,1,""]},"spatialpy.core.initialcondition":{InitialCondition:[1,1,1,""],PlaceInitialCondition:[1,1,1,""],ScatterInitialCondition:[1,1,1,""],UniformInitialCondition:[1,1,1,""]},"spatialpy.core.initialcondition.InitialCondition":{apply:[1,2,1,""]},"spatialpy.core.initialcondition.PlaceInitialCondition":{apply:[1,2,1,""]},"spatialpy.core.initialcondition.ScatterInitialCondition":{apply:[1,2,1,""]},"spatialpy.core.initialcondition.UniformInitialCondition":{apply:[1,2,1,""]},"spatialpy.core.model":{Model:[1,1,1,""],export_StochSS:[1,5,1,""]},"spatialpy.core.model.Model":{add_boundary_condition:[1,2,1,""],add_data_function:[1,2,1,""],add_domain:[1,2,1,""],add_initial_condition:[1,2,1,""],add_parameter:[1,2,1,""],add_reaction:[1,2,1,""],add_species:[1,2,1,""],compile_prep:[1,2,1,""],delete_all_parameters:[1,2,1,""],delete_all_reactions:[1,2,1,""],delete_all_species:[1,2,1,""],delete_parameter:[1,2,1,""],delete_reaction:[1,2,1,""],delete_species:[1,2,1,""],get_all_parameters:[1,2,1,""],get_all_reactions:[1,2,1,""],get_all_species:[1,2,1,""],get_num_reactions:[1,2,1,""],get_num_species:[1,2,1,""],get_parameter:[1,2,1,""],get_reaction:[1,2,1,""],get_species:[1,2,1,""],reserved_names:[1,4,1,""],run:[1,2,1,""],sanitized_data_function_names:[1,2,1,""],sanitized_parameter_names:[1,2,1,""],sanitized_species_names:[1,2,1,""],set_timesteps:[1,2,1,""],special_characters:[1,4,1,""],timespan:[1,2,1,""],update_namespace:[1,2,1,""]},"spatialpy.core.parameter":{Parameter:[1,1,1,""]},"spatialpy.core.reaction":{Reaction:[1,1,1,""]},"spatialpy.core.reaction.Reaction":{add_product:[1,2,1,""],add_reactant:[1,2,1,""],annotate:[1,2,1,""],initialize:[1,2,1,""]},"spatialpy.core.result":{Result:[1,1,1,""]},"spatialpy.core.result.Result":{export_to_csv:[1,2,1,""],export_to_vtk:[1,2,1,""],get_property:[1,2,1,""],get_species:[1,2,1,""],get_timespan:[1,2,1,""],plot_property:[1,2,1,""],plot_species:[1,2,1,""],read_step:[1,2,1,""]},"spatialpy.core.spatialpyerror":{BoundaryConditionError:[1,3,1,""],DataFunctionError:[1,3,1,""],DomainError:[1,3,1,""],GeometryError:[1,3,1,""],InitialConditionError:[1,3,1,""],ModelError:[1,3,1,""],ParameterError:[1,3,1,""],ReactionError:[1,3,1,""],ResultError:[1,3,1,""],SimulationError:[1,3,1,""],SimulationTimeout:[1,3,1,""],SpeciesError:[1,3,1,""],VTKReaderError:[1,3,1,""],VTKReaderIOError:[1,3,1,""]},"spatialpy.core.species":{Species:[1,1,1,""]},"spatialpy.core.species.Species":{set_diffusion_coefficient:[1,2,1,""]},"spatialpy.core.vtkreader":{VTKReader:[1,1,1,""]},"spatialpy.core.vtkreader.VTKReader":{get_array_name:[1,2,1,""],get_arrays:[1,2,1,""],get_num_points:[1,2,1,""],get_points:[1,2,1,""],read_file:[1,2,1,""],set_filename:[1,2,1,""]},"spatialpy.solvers":{build_expression:[2,0,0,"-"],solver:[2,0,0,"-"]},"spatialpy.solvers.build_expression":{BuildExpression:[2,1,1,""],CppConverter:[2,1,1,""],ExpressionConverter:[2,1,1,""],ExpressionResults:[2,1,1,""],PythonConverter:[2,1,1,""]},"spatialpy.solvers.build_expression.BuildExpression":{ValidationVisitor:[2,1,1,""],getexpr_cpp:[2,2,1,""],getexpr_python:[2,2,1,""],map_operator:[2,2,1,""],operator_map:[2,4,1,""],validate:[2,2,1,""],with_blacklist:[2,2,1,""],with_namespace:[2,2,1,""]},"spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor":{visit_Assign:[2,2,1,""],visit_BinOp:[2,2,1,""],visit_BoolOp:[2,2,1,""],visit_Call:[2,2,1,""],visit_Compare:[2,2,1,""],visit_Name:[2,2,1,""],visit_UnaryOp:[2,2,1,""]},"spatialpy.solvers.build_expression.CppConverter":{CppExpressionTransformer:[2,1,1,""],get_str:[2,2,1,""],visit_And:[2,2,1,""],visit_Or:[2,2,1,""]},"spatialpy.solvers.build_expression.CppConverter.CppExpressionTransformer":{visit_BinOp:[2,2,1,""]},"spatialpy.solvers.build_expression.ExpressionConverter":{convert_str:[2,2,1,""],get_str:[2,2,1,""],parse_comparison:[2,2,1,""],parse_logical:[2,2,1,""],parse_operator:[2,2,1,""],visit_Add:[2,2,1,""],visit_BinOp:[2,2,1,""],visit_BoolOp:[2,2,1,""],visit_Bytes:[2,2,1,""],visit_Call:[2,2,1,""],visit_Compare:[2,2,1,""],visit_Constant:[2,2,1,""],visit_Div:[2,2,1,""],visit_Ellipsis:[2,2,1,""],visit_Eq:[2,2,1,""],visit_Gt:[2,2,1,""],visit_GtE:[2,2,1,""],visit_Lt:[2,2,1,""],visit_LtE:[2,2,1,""],visit_Mult:[2,2,1,""],visit_Name:[2,2,1,""],visit_NameConstant:[2,2,1,""],visit_NotEq:[2,2,1,""],visit_Num:[2,2,1,""],visit_Pow:[2,2,1,""],visit_Str:[2,2,1,""],visit_Sub:[2,2,1,""],visit_USub:[2,2,1,""],visit_UnaryOp:[2,2,1,""]},"spatialpy.solvers.build_expression.PythonConverter":{visit_And:[2,2,1,""],visit_Or:[2,2,1,""]},"spatialpy.solvers.solver":{Solver:[2,1,1,""]},"spatialpy.solvers.solver.Solver":{compile:[2,2,1,""],run:[2,2,1,""]},"spatialpy.stochss":{stochss_export:[3,0,0,"-"]},"spatialpy.stochss.stochss_export":{"export":[3,5,1,""]},spatialpy:{core:[1,0,0,"-"],solvers:[2,0,0,"-"],stochss:[3,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","exception","Python exception"],"4":["py","attribute","Python attribute"],"5":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:exception","4":"py:attribute","5":"py:function"},terms:{"0":[1,2],"04":1,"1":[1,2],"10":1,"10000":1,"11":1,"13":1,"14142136":1,"15":1,"1999":1,"1d":1,"2":1,"20":1,"2000":1,"2015":1,"2019":[0,1,2,3],"2022":[0,1,2,3],"2d":1,"2e9":1,"2r01eb014877":4,"3":[0,1,2,3,4],"300":1,"3d":[1,4],"4":1,"5":1,"500":1,"6":1,"600":1,"7":1,"8":1,"800":1,"9":1,"abstract":[1,2],"byte":2,"case":1,"class":[1,2],"default":1,"do":1,"export":[1,3],"float":1,"function":[1,2],"import":1,"int":[1,2],"long":1,"new":[1,2],"public":[0,1,2,3,4],"return":[1,2,3],"short":4,"static":[1,4],"super":2,"switch":1,"true":[1,2],A:[0,1,2,3,4],And:2,By:[1,2],FOR:[0,1,2,3],For:[1,4],If:[0,1,2,3,4],In:1,It:1,No:1,Not:[1,2],Or:2,The:[1,2,4],These:1,Will:1,_ast:2,abl:1,about:1,absolut:1,acceler:1,accept:2,across:1,action:1,ad:[1,2],add:[1,2],add_boundary_condit:1,add_data_funct:1,add_domain:1,add_initial_condit:1,add_paramet:1,add_point:1,add_product:1,add_react:1,add_speci:1,addit:[1,2],addition:[1,2],addtion:[1,2],advect:[0,1,2,3,4],against:[1,2],algorithm:[1,4],align:1,all:[1,2],allow:2,along:[0,1,2,3],alreadi:1,also:[1,2,4],alwai:2,amount:1,an:[1,2,4],ani:[0,1,2,3,4],anim:1,animation_attribut:1,animation_opt:1,annot:1,append:2,appli:1,approxim:1,ar:[1,2],argument:1,arrai:1,arraid:1,array_lik:1,articl:4,artifici:1,asarrai:1,ascii:1,assign:[1,2],associ:1,assum:2,ast:2,attempt:1,attribut:1,author:4,auto_plai:1,automat:[1,2],autorang:1,avail:[1,2,4],averag:1,axi:1,background:1,bare:2,base:[1,2,4],bass:1,becaus:1,becom:1,been:1,begin:1,behavior:2,best:1,between:[1,2],binari:1,binboolopop:2,binop:2,biochem:1,bitand:2,bitor:2,bitxor:2,blacklist:2,blob:1,blue:1,bodi:1,bogu:1,bool:[1,2,3],boolop:2,both:[1,4],bottom:1,bound:1,bound_cond:1,boundari:1,boundarycondit:0,boundaryconditionerror:1,box:1,branch:1,brian:4,browser:1,brute:1,bugn:1,build:[1,2,4],build_dir:1,build_express:0,buildexpress:2,built:2,bulk:1,bupu:1,bvf_phi:1,c0:1,c:[0,1,2,3],c_:1,calcul:1,calculate_vol:1,call:[1,2],can:[0,1,2,3,4],caus:2,cdn:1,cell:1,charact:1,chart:1,check:[1,2],chemic:1,choos:1,chosen:1,circumradiu:1,ckdtree:1,classmethod:[1,2],cleanup:0,cleanup_build_fil:1,cleanup_core_fil:1,cleanup_result_fil:1,cleanup_tempfil:1,clear:1,close:1,closest:1,closest_vertex:1,cloud:1,code:[1,4],coeffic:1,coeffici:1,collabor:1,collect:1,colormap:1,column:1,com:[1,4],combin:1,compar:[1,2],comparison:2,compil:[1,2],compile_prep:1,comput:1,conain:1,conatain:1,concentr:1,condit:[1,2],config:1,connect:1,consid:1,consol:2,constant:[1,2],construct:1,constructor:2,constuct:1,contact:4,contain:[1,2],content:4,context:2,contian:1,continu:4,convers:2,convert:[1,2,3],convert_str:2,convet:2,coodin:1,coordin:1,copi:[0,1,2,3],copy_numb:1,copyright:[0,1,2,3],core:[0,4],corner:1,correl:1,correspond:[1,2],could:[1,2],count:1,count_neighbor:1,coupl:1,cppconvert:2,cppexpressiontransform:2,creat:[1,2],create_2d_domain:1,create_3d_domain:1,csv:1,current:[1,2],custom:1,cylind:4,cython:1,d:1,data:[1,2],data_funct:1,datafunct:0,datafunctionerror:1,debug:[1,2],debug_level:[1,2],debugg:2,defer:1,defin:[1,2],definit:1,delete_all_paramet:1,delete_all_react:1,delete_all_speci:1,delete_paramet:1,delete_react:1,delete_speci:1,deltai:1,deltax:1,deltaz:1,demo:4,densiti:1,dependency_graph:1,describ:[1,4],descript:1,detail:[0,1,2,3],determinist:[0,1,2,3,4],determinst:1,develop:[0,1,2,3,4],diamet:1,dict:[1,2],dictionari:[1,2],differ:[1,2],diffus:[0,1,2,3,4],diffusion_coeffici:1,dimens:1,dimension:1,direct:1,directli:[1,4],directori:1,displai:1,dissip:4,distanc:1,distance_between_2_vertic:1,distance_upper_bound:1,distribut:[0,1,2,3],div:2,doe:1,doesn:1,dok_matrix:1,dolfin:1,dom:1,domain:[0,4],domainerror:1,domn:1,doubl:1,download:1,dr:4,draw:1,drawert:4,drawn:1,dtype:1,duplic:2,durat:1,dure:[1,2],dynam:4,e:1,each:1,edg:1,edit:1,effect:1,effici:1,either:1,element:1,ellipsi:2,els:1,embed:4,empti:2,end:1,engin:1,ensur:[1,2],enterpris:1,entir:1,entireti:1,ep:1,eq:2,equival:2,error:1,estim:1,euclidean:1,evalu:1,evaul:1,even:[0,1,2,3],evenli:1,exampl:1,exce:1,exceed:[1,2],except:1,execut:[1,2],exist:1,expect:[1,2],explor:1,export_stochss:1,export_to_csv:1,export_to_vtk:1,expres:2,express:[1,2],expressionconvert:2,expressionresult:2,extens:1,extra:1,f:1,f_durat:1,fail:2,fals:[1,2,3],far:2,faster:1,featur:4,fenic:1,fifo:1,figur:1,figure_or_data:1,file:1,filenam:[1,3],fill:[1,4],fill_with_particl:1,find:[1,4],find_boundary_point:1,find_h:1,first:[1,2],fit:[0,1,2,3],fix:1,flag:[1,2],flatten:1,flight:2,floordiv:2,flow:4,fluid:[1,4],folder_nam:1,follow:[1,2],forc:1,form:[1,4],format:1,forward:2,found:[1,2,4],foundat:[0,1,2,3],fraction:1,frame:[1,4],free:[0,1,2,3],frequenc:1,from:[1,2],fromkei:1,fund:4,further:1,furthest:1,g:1,gain:1,gdbgui:2,gener:[0,1,2,3,4],geometr:1,geometri:0,geometry_ivar:1,geometryal:1,geometryerror:1,geometryexterior:1,geometryinterior:1,get:[1,2],get_all_paramet:1,get_all_react:1,get_all_speci:1,get_arrai:1,get_array_nam:1,get_bounding_box:1,get_domain_s:1,get_num_point:1,get_num_react:1,get_num_speci:1,get_num_voxel:1,get_paramet:1,get_point:1,get_properti:1,get_react:1,get_speci:1,get_str:2,get_timespan:1,get_type_def:1,get_vol:1,getexpr_:2,getexpr_cpp:2,getexpr_python:2,github:[1,4],given:[1,2],gmsh:1,gnbu:1,gnu:[0,1,2,3,4],gprof:2,grai:1,grant:4,granular:2,graph:1,graph_obj:1,graph_refer:1,graviti:[1,4],greater:1,greatest:1,green:1,grei:1,gt:2,gte:2,guarante:1,h:1,ha:[1,4],hand:2,handl:2,happen:[1,2],hasn:[1,2],have:[0,1,2,3],height:1,held:1,help:1,here:1,high:1,higher:1,highest:1,hit:1,hope:[0,1,2,3],how:[1,2,4],http:[0,1,2,3,4],hybrid:4,hyperrectangl:1,i:1,id:1,idea:1,ideal:2,idempot:1,identifi:[1,2],idx:1,ignor:1,imag:1,image_height:1,image_width:1,immobil:1,implemenet:1,implement:[1,2],impli:[0,1,2,3],implicit:1,import_meshio_object:1,imposs:2,inch:1,incid:1,includ:1,included_types_list:1,incompat:1,increas:1,increment:2,indec:1,indeci:1,index:[1,4],indic:[1,2],inf:1,infer:2,infin:1,infinit:1,info:1,inform:[1,2,4],inherit:2,init_cond:1,init_notebook_mod:1,initailcondit:1,initi:1,initialcondit:0,initialconditionerror:1,inlin:1,innernod:1,input:1,insert:1,insid:1,instanc:[1,2],instead:1,integ:1,intend:4,intern:1,internet:1,interv:1,invalid:[1,2],invalid_:2,invalid_nam:2,invalid_oper:2,io:1,iplot:1,ipython:1,is_valid:2,item:[1,2],iter:1,its:1,j:1,jacob:4,jet:1,jpeg:1,js:1,json:1,jupyt:1,k:1,kd:1,kdtree:1,kei:[1,2],keyerror:1,keyword:1,kill:1,kth:1,kwarg:1,lack:1,lagrangian:4,larg:1,larger:1,last:[1,2],later:[1,2],latest:4,layout:1,leafnod:1,leafsiz:1,learn:1,leav:1,left:2,legaci:1,length:1,less:1,level:[1,2],li:4,librari:1,licens:[0,1,2,3,4],lifo:1,like:1,limit:1,link:1,link_text:1,list:[1,2],listofparamet:1,listofreact:1,listofspeci:1,listoftyp:1,load:1,local:1,locat:1,logic:2,look:1,lookup:1,lower:1,lowest:1,lshift:2,lt:2,lte:2,ly:1,m:1,mai:1,main:4,make:1,manag:2,maneewongvatana:1,manhattan:1,mani:[1,2],map:[1,2],map_oper:2,margin:1,mark:1,mass:1,master:1,mathemat:[1,2],matmult:2,matplotlib:1,matrix:1,max:1,max_dist:1,maximum:[1,2],mean:1,measur:1,meet:1,megabyt:1,merchant:[0,1,2,3],mesh:1,mesh_obj:1,meshio:1,messag:1,meta:1,method:[1,2],mgrid:1,midpoint:1,min:1,minim:1,minimum:1,minkowski:1,miss:1,mod:2,model:[0,2,3,4],modelerror:1,modelname_mesh:1,modelname_species_:1,modifi:[0,1,2,3],modul:4,molecul:1,moor:1,more:[0,1,2,3,4],most:[1,2],mount:1,move:1,move_to_end:1,movement:1,msh:1,much:1,mult:2,multipl:[1,2],must:1,n:1,name:[1,2],nameconst:2,namespac:[1,2],ndarrai:1,nearbi:1,nearby_point:1,nearer:1,nearest:1,necessarili:1,need:[1,4],neg:1,neighbor:1,nih:4,node:[1,2],nodetransform:2,nodevisitor:2,non:1,none:[1,2,3],nonneg:1,norm:1,notat:1,note:[1,2],notebook:[1,4],noteq:2,np:1,nsm:4,nu:1,num:2,num_step:1,number:[1,2],number_of_thread:[1,2],number_of_trajectori:[1,2],numpi:1,numpoint:1,nx:1,ny:1,nz:1,o:1,obj:1,object:[1,2],od:1,off:1,offlin:1,omit:1,on_boundari:1,one:[1,2],onli:[1,2],onlin:1,open:1,oper:2,operator_map:2,option:1,orang:1,order:1,ordereddict:1,org:[0,1,2,3],origin:2,orrd:1,other:[1,2],otherwis:[1,2],our:4,out:[1,4],outdat:1,output:[1,2],output_interv:1,over:1,overflow:1,overrid:2,overridden:1,p0:1,p:1,p_ndx:1,packag:4,page:[1,4],pair:1,param:1,param_nam:1,param_obj:1,paramet:[0,2,3],parametererror:1,paramt:1,parent:1,pars:2,parse_comparison:2,parse_log:2,parse_oper:2,part:1,partcil:1,particip:1,particl:[1,4],particular:[0,1,2,3],pass:[1,2],path:[1,3],pdf:1,perform:1,petzold:4,physic:4,pii:4,pixel:1,place:1,placeinitialcondit:1,platform:1,pleas:[1,4],plot:1,plot_imag:1,plot_properti:1,plot_speci:1,plot_typ:1,plotli:1,plotly3:1,plt:1,pname:1,png:1,point:1,pop:[1,2],popitem:1,popul:1,posit:1,positon:1,pow:2,pre:2,predict:1,preper:1,present:[1,2],pressur:1,print:[1,2],problem:[0,1,2,3,4],process:2,produc:1,product:1,profil:[1,2],program:[0,1,2,3],project:4,propens:1,propensity_funct:1,properti:[1,2],property_nam:1,proprti:1,prove:4,provid:[1,2,4],prune:1,pt:1,publish:[0,1,2,3],pubu:1,pubugn:1,pull:1,purd:1,purpl:1,purpos:[0,1,2,3],put:1,px:1,py:1,pypi:4,pyplot:1,python:[0,1,2,3,4],pythonconvert:2,pyurdm:4,queri:1,query_ball_point:1,query_ball_tre:1,query_pair:1,question:4,quick:1,r:1,radii:1,radiu:1,rais:[1,2],random:[1,2],randomli:1,rang:1,rapidli:1,rate:1,rather:1,ravel:1,raw:1,rdme:4,rdpu:1,reac:1,reach:1,react_nam:1,react_obj:1,reactant:1,reaction:[0,2,3,4],reactionerror:1,read:1,read_fil:1,read_msh_fil:1,read_step:1,read_stochss_domain:1,read_stochss_subdomain_fil:1,read_xml_mesh:1,reader:1,real:1,reason:1,receiv:[0,1,2,3],recent:[1,2],recurs:1,red:1,redistribut:[0,1,2,3],reevalu:1,refer:1,referenc:1,regardless:1,region:1,regist:4,registr:4,reject:2,rememb:1,remov:1,replac:4,repres:1,represent:[1,2],request:1,requir:1,reserved_nam:1,resolut:1,restrict:1,restrict_to:1,result:[0,2],result_dir:1,resulterror:1,resultserror:1,retreiv:1,retriev:1,return_plotly_figur:1,return_stochss_model:[1,3],rh:1,rho0:1,rho:1,right:[1,2],rname:1,rshift:2,rtype:2,rule:1,run:[1,2],runtimeerror:1,rvalu:2,s0021999118307101:4,s:[1,4],same:1,sampl:1,sanit:2,sanitized_data_function_nam:1,sanitized_parameter_nam:1,sanitized_species_nam:1,save:1,scalar:1,scatter:1,scatterinitialcondit:1,scienc:[1,4],sciencedirect:4,scipi:1,sdpd:[1,4],search:[1,4],second:[1,2],see:[0,1,2,3,4],seed:[1,2],self:[1,2],separ:1,sequenc:1,seri:[1,2],set:[1,2],set_diffusion_coeffici:1,set_filenam:1,set_properti:1,set_timestep:1,setdefault:1,setrecursionlimit:1,setter:1,shallow:1,shape:1,should:[0,1,2,3],show:1,show_link:1,significantli:1,simlat:1,simplifi:1,simul:[0,1,2,3,4],simulationerror:[1,2],simulationtimeout:[1,2],sinc:1,singl:[1,2],size:1,slide:1,smaller:1,smdl:1,smooth:4,sname:1,so:[1,2],softwar:[0,1,2,3,4],solver:[0,1,4],some:1,sort:1,sound:1,sourc:[1,2,3,4],space:1,spactialpi:2,span:1,spars:1,sparse_distance_matrix:1,spatailpy_model:1,spatial:[0,1,2,3,4],spatialpy_build:1,spatialpy_model:[1,3],spatialpy_result:1,spatialpyerror:0,spatialpysolv:1,spayialpi:1,speci:0,special_charact:1,species_nam:1,species_object:1,specieserror:1,specif:1,specifi:1,speed:1,split:1,split_dim:1,src:1,ssa:1,sssa:4,start:[1,2,4],statement:2,statist:1,step:1,step_num:1,stochast:[0,1,2,3,4],stochss:[0,1,4],stochss_export:0,stoichiometr:1,stoichiometri:1,store:1,str:[1,2,3],string:[1,2],struct:2,structur:1,style:1,sub:2,subclass:[1,2],subdomain:1,submodul:0,subpackag:4,substanti:1,substitut:2,success:1,suggest:4,sum:1,suppli:1,support:[1,4],sure:1,svg:1,sy:1,symbol:2,syntax:2,syntaxerror:2,system:[1,4],t:[1,2],t_durat:1,t_ndx:1,t_ndx_list:1,t_val:1,tag:1,take:1,target:[1,2],tempfil:1,term:[0,1,2,3],tetrahedron:1,text:1,than:1,them:1,thi:[0,1,2,3,4],thin:1,those:1,thread:[1,2],time:[1,2],time_span:1,timeout:[1,2],timepoint:1,timespan:1,timestep:1,timestep_s:1,titl:1,token:2,total:1,toth:1,trace:1,tracker:4,trajectori:[1,2],transit:1,travers:1,tree:[1,2],triangl:1,trigger:2,tspan:1,tupl:1,two:[1,2],txt:1,type:[1,2],type_id:1,u0:1,unabl:1,unaryop:2,under:[0,1,2,3,4],uniform:1,uniforminitialcondit:1,union:1,unit:1,univers:2,unnecessari:1,up:1,updat:1,update_namespac:1,upload:1,upon:1,upper:1,urdm:1,us:[0,1,2,3,4],use_matplotlib:1,user:[1,4],usual:1,usub:2,util:1,v1:1,v:1,valid:[1,2],validationvisitor:2,valu:[1,2],vari:1,vector:1,veloc:1,verbos:2,veri:1,version:[0,1,2,3,4],vertex:1,vertic:1,view:1,viewer:1,viscos:1,visit:2,visit_add:2,visit_and:2,visit_assign:2,visit_binop:2,visit_boolop:2,visit_byt:2,visit_cal:2,visit_compar:2,visit_const:2,visit_div:2,visit_ellipsi:2,visit_eq:2,visit_gt:2,visit_lt:2,visit_mult:2,visit_nam:2,visit_nameconst:2,visit_noteq:2,visit_num:2,visit_or:2,visit_pow:2,visit_str:2,visit_sub:2,visit_unaryop:2,visit_usub:2,visitor:2,vol:1,volum:1,voxel:1,vtk:1,vtkreader:0,vtkreadererror:1,vtkreaderioerror:1,wa:1,want:1,warranti:[0,1,2,3],we:[1,4],web:1,webp:1,weir:4,well:2,were:[1,2],what:2,when:[1,2],where:1,whether:[1,2,3],which:[1,2],whose:1,width:1,with_blacklist:2,with_namespac:2,within:1,without:[0,1,2,3],word:1,work:1,wp:1,write:1,write_imag:1,written:1,www:[0,1,2,3,4],x1:1,x2:1,x:1,xaxi:1,xlim:1,xmax:1,xmin:1,xml:1,y:1,yaxi:1,yet:1,yi:4,ylgn:1,ylgnbu:1,ylim:1,ylorbr:1,ylorrd:1,ymax:1,ymin:1,you:[0,1,2,3,4],your:[1,4],z:1,zero:1,zeroth:1,zip:1,zlim:1,zmax:1,zmin:1},titles:["spatialpy package","spatialpy.core package","spatialpy.solvers package","spatialpy.stochss package","Documentation for SpatialPy 1.0"],titleterms:{"0":4,"1":4,api:4,boundarycondit:1,build_express:2,cleanup:1,content:[0,1,2,3],copi:4,core:1,datafunct:1,document:4,domain:1,exampl:4,geometri:1,get:4,indic:4,initialcondit:1,issu:4,model:1,modul:[0,1,2,3],packag:[0,1,2,3],paramet:1,reaction:1,refer:4,report:4,result:1,solver:2,spatialpi:[0,1,2,3,4],spatialpyerror:1,speci:1,stochss:3,stochss_export:3,submodul:[1,2,3],subpackag:0,tabl:4,vtkreader:1}}) \ No newline at end of file diff --git a/spatialpy/core/result.py b/spatialpy/core/result.py index fbc06f5f..9f766c8e 100644 --- a/spatialpy/core/result.py +++ b/spatialpy/core/result.py @@ -578,7 +578,14 @@ def get_property(self, property_name, timepoints=None): given, that value is used to index into the timespan, and that time point is returned \ as a 1D array with size (number of voxel). - :param property_name: A string describing the property to be returned. + :param property_name: A string describing the property to be returned. Can be one of: { + 'v' : velocity, + 'rho': density, + 'mass': mass, + 'id': type_id, + 'type': type as str, + 'bvf_phi': boundary volume fraction, + 'nu': viscosity} :type property_name: str :param timepoints: timespan index to be returned. Default is None From 3372f964158676ef467b0ee2a185e6eff44b6fcc Mon Sep 17 00:00:00 2001 From: Bryan Rumsey Date: Tue, 1 Mar 2022 12:34:44 -0500 Subject: [PATCH 02/25] Fixed start here notebook name. --- docs/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index ef9b1b78..450e6250 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -20,7 +20,7 @@ The latest version of SpatialPy can be found on `PyPI `_ for more information on how to build and simulate your models with SpatialPy. For an example of how to use SpatialPy to simulate a spatial stochastic reaction-diffusion system, see the `3D Cylinder Demo `_. We also provide examples of how to use SpatialPy to simulate physics (`Gravity Demo `_) and fluid flow (`Weir Model `_). +See our `Example Notebook - Start Here `_ for more information on how to build and simulate your models with SpatialPy. For an example of how to use SpatialPy to simulate a spatial stochastic reaction-diffusion system, see the `3D Cylinder Demo `_. We also provide examples of how to use SpatialPy to simulate physics (`Gravity Demo `_) and fluid flow (`Weir Model `_). Reporting Issues From a2585ede8e312b1766e0e1eca228db25127fce77 Mon Sep 17 00:00:00 2001 From: Bryan Rumsey Date: Tue, 1 Mar 2022 12:42:02 -0500 Subject: [PATCH 03/25] Fixed doc strings for boundary conditions. --- spatialpy/core/boundarycondition.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spatialpy/core/boundarycondition.py b/spatialpy/core/boundarycondition.py index 55fb0bd0..1cef0911 100644 --- a/spatialpy/core/boundarycondition.py +++ b/spatialpy/core/boundarycondition.py @@ -59,7 +59,7 @@ class BoundaryCondition(): and applies to deterministic simulation. **BoundaryCondition not yet implemeneted for Stochastic Species**. :type deterministic: bool - :param target: Set **target** to properties, can be 'nu' 'rho' or 'v' or species name + :param target: Set **target** to properties, can be 'nu' 'rho' or 'v' or species name \ If species name, determinstic must also be set to True/False. :type target: str From 05ad212046e846c2e796569a75b57b9d683b6774 Mon Sep 17 00:00:00 2001 From: Bryan Rumsey Date: Tue, 1 Mar 2022 12:43:15 -0500 Subject: [PATCH 04/25] Fixed doc strings for boundary conditions. --- spatialpy/core/boundarycondition.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spatialpy/core/boundarycondition.py b/spatialpy/core/boundarycondition.py index 1cef0911..71657209 100644 --- a/spatialpy/core/boundarycondition.py +++ b/spatialpy/core/boundarycondition.py @@ -31,7 +31,7 @@ class BoundaryCondition(): - type_id: type (subdomain) of the partciles Targets (one of the following must be set): property: (str), 'nu', 'rho','v' - species: (str) name of a chemical species. + species: (str) name of a chemical species. \ Must also set deterministic=True/False flag. :param xmin: x-axis coordinate lower bound of **condition** From 86c3647b3c2bb44b262ce70a5e0200fe073d1aa2 Mon Sep 17 00:00:00 2001 From: Bryan Rumsey Date: Tue, 1 Mar 2022 14:15:25 -0500 Subject: [PATCH 05/25] Added a missing raises doc tag for data functions. --- spatialpy/core/datafunction.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spatialpy/core/datafunction.py b/spatialpy/core/datafunction.py index f63b375f..97d589c5 100644 --- a/spatialpy/core/datafunction.py +++ b/spatialpy/core/datafunction.py @@ -23,6 +23,8 @@ class DataFunction(): :param name: Name of the Data Function. :type name: str + + :raises DataFunctionError: If a name is not provided. """ def __init__(self, name=None): From 4ca44ad5949a4f6c027598caf55865f6b583c4ea Mon Sep 17 00:00:00 2001 From: Bryan Rumsey Date: Tue, 1 Mar 2022 15:31:46 -0500 Subject: [PATCH 06/25] Updated docs in domain. updated docs. --- docs/build/html/.buildinfo | 2 +- .../.doctrees/classes/spatialpy.core.doctree | Bin 1332244 -> 1462682 bytes .../html/.doctrees/classes/spatialpy.doctree | Bin 5787 -> 5949 bytes .../classes/spatialpy.solvers.doctree | Bin 225708 -> 234328 bytes .../classes/spatialpy.stochss.doctree | Bin 13469 -> 13763 bytes docs/build/html/.doctrees/environment.pickle | Bin 451496 -> 452171 bytes docs/build/html/.doctrees/index.doctree | Bin 15874 -> 16082 bytes docs/build/html/_modules/collections.html | 435 +++++-- docs/build/html/_modules/index.html | 2 +- .../html/_modules/plotly/offline/offline.html | 2 +- .../html/_modules/scipy/spatial/kdtree.html | 1071 ++++++++--------- .../spatialpy/core/boundarycondition.html | 6 +- .../html/_modules/spatialpy/core/cleanup.html | 2 +- .../_modules/spatialpy/core/datafunction.html | 4 +- .../html/_modules/spatialpy/core/domain.html | 53 +- .../_modules/spatialpy/core/geometry.html | 2 +- .../spatialpy/core/initialcondition.html | 2 +- .../html/_modules/spatialpy/core/model.html | 2 +- .../_modules/spatialpy/core/parameter.html | 2 +- .../_modules/spatialpy/core/reaction.html | 2 +- .../html/_modules/spatialpy/core/result.html | 2 +- .../spatialpy/core/spatialpyerror.html | 2 +- .../html/_modules/spatialpy/core/species.html | 2 +- .../_modules/spatialpy/core/vtkreader.html | 2 +- .../spatialpy/solvers/build_expression.html | 2 +- .../_modules/spatialpy/solvers/solver.html | 2 +- .../spatialpy/stochss/stochss_export.html | 2 +- docs/build/html/_sources/index.rst.txt | 2 +- docs/build/html/_static/basic.css | 6 +- docs/build/html/_static/doctools.js | 5 +- docs/build/html/_static/language_data.js | 2 +- docs/build/html/_static/pygments.css | 8 +- docs/build/html/_static/searchtools.js | 23 +- docs/build/html/classes/spatialpy.core.html | 934 +++++++++----- docs/build/html/classes/spatialpy.html | 17 +- .../build/html/classes/spatialpy.solvers.html | 51 +- .../build/html/classes/spatialpy.stochss.html | 21 +- docs/build/html/genindex.html | 58 +- docs/build/html/index.html | 31 +- docs/build/html/objects.inv | Bin 2547 -> 2622 bytes docs/build/html/py-modindex.html | 2 +- docs/build/html/search.html | 7 +- docs/build/html/searchindex.js | 2 +- spatialpy/core/domain.py | 51 +- 44 files changed, 1673 insertions(+), 1148 deletions(-) diff --git a/docs/build/html/.buildinfo b/docs/build/html/.buildinfo index ab4bd335..8940d805 100644 --- a/docs/build/html/.buildinfo +++ b/docs/build/html/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 9eb3e1c2ecc65d7c728e939f73f722a8 +config: dbb3a5f1ac404bdea5afd00c4aced27b tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/build/html/.doctrees/classes/spatialpy.core.doctree b/docs/build/html/.doctrees/classes/spatialpy.core.doctree index bf7b07074ae5c19792745e55d45c0be383267d20..7de450f71e8738e3e5183e5d5f205297b527fd81 100644 GIT binary patch literal 1462682 zcmeEv378y5b+C0?E8jLY_F8h=!q!M$tz;WtvLqwR2gbG#l8gbzSS66p+&#vSU zf1kBI-F3WrSG{`m>ecN_UcBJ21&85(y`wvm^+t1gxLmC^Th&@;ws&~7RhgQoHM_Gf znqB+M+1qAIz2)ul{!VMEU8&9X4ucYvdSkrWt~FdPtW&FW8?C0S zUSCpQT3>e4Y^lDyx1`(Xj@Oh=y%Rf=y$??6VlVyOaJ6k`tw|qnnqrRxOltaIxw|KnKtj+G28ZGw*%H3|eF*?^oeiVynR2r|HPNZfY`C1GwzFY38}-ha4FG3n1MhN!j*Q`U2L`k1 znuSxN^%aa30-5z=#P8m~?y1pJ<1G&!udq|vO_rWJl>te%M1-ZJ3N zc7s@|)LT4RZnS56B{r5zg0w-;_SUeX>r+eCm+t7!mXVA%z&JVJz1w|wa(Fmm#|B?hRUF=_3F>S^$_^-dhf`THf0(Pu3Oe_1?T&$VJfT1m$4oOt%ii zK2NBHV64>+I*o~`aZnoYp*1$ZQ4v&Y-CBF1(QI_Ojmm~jw^gZ^@iA!E%A}CiR~utv zQyr+bzFghMlvFU;ZjFxDCOQM#Taz>G#@>22C~aRGoV)Ryi-Yy>=iGCH2&8IlUv0cK z2~s^Q81LZ&aK!l&z!A4(=lljJvqOV%1SbOng;M>!b59*u1?ULOG=W?*)~?lpPHU{Y zA7+D1!Axr^sFa()2324UrtpJCHz+r&8-STWpc-Q{1MmVgOsySs>$LzGse|l{Kd#zw zeQ?zkJFeKZ?b=}H^_N|H_4WY%zhcMkD}pBiCmA6MGdPJ@Y4}rW1<_^gG$tm; z8$c!Cj&`}(ok1OP-4(mGKNiYwyX@*~uio?I0Qlm{tM}}to z_Uo_RwhMS**Urc9zG65Cb_0EZLk2Q&2r8}#G;lyqmC;-h8srah>=7S59~k0!{(Q9D z%13uR8HBw9^d7GU_42+N2z{m2*ay@u2Nh88noQT4wRU+t*oksm39fBaYRyhPvd3x)3Hr!CgoW5Nxc$`fJs0lMUJ4 zQUGVF-I%Sv9*v<_Bfv0yoY-3kRFW;yFLNxlL@N$kf?1Ii+EGxA%qwX1Nn%p+vI3WO zz<7d1QE$s-+{)c9t=tkV3{VB8S$u0}d*`N=8IE-@Yqb;E>Hy5!#jql*C}b21xx--D z2VX`y4OsYer`j5+UmokFG!1symL08TZ77(YC{Odpndt3I^!7mX_CWNuJ2P1uX;gVl z&DPtpr#%G?cgyX)wJtBPuRK0g@hC2c{u7Fh`iv(-7ZiO`yt#424Euk6_V-c%VBH_*L&f?UNhLZ7FVx;$s-sU!FPenZ$;glo+=6g&lyVUbog~L9ZJ0wAQ9^Ul>|@k zNCb~Kf_~Rj64f87{~YzmFC$dfe?hBq7}s(dmpQ0oV}d0HVfmr~9Uckp9v9q)Bisz= z!?Eu~c*7OglH`sEL;smaM!yF1dE zD7U*$oob2R>(lNrxv2Foe$@J^yC)a5cu#)R`hmN@9Moc96r+~3wym;-UnRBZhfb}f z3v+A2g;3Q)woY*O3+MK<1(AK7~D z{&J9wfl-KTu#izUlE}GWBOVyBN-;q~7}H@b)GBIIlR2>C8|PcB08o^(Q@heZr= zG5yd-_7Cp}=nx!q$ z9&-1WgJukjLNptQ9CtR7EnzE09_7G)=>$7^QEroD1yuDgNmjahauJO8@j`>+vV=bMKIozAHi;R_m_iU3=B_#r59g` zOB2(l2Wxv48V0WL;eCzT{tEcfXM0DB$B}ZgQrA3DX}cb{GsJanZ|w;10){N5#+X15 z7SwB0XTzfbOxn+ZkP`?9Bgd-R00oet|2n)CF)s(iyfg|L{+R-nAmR&LYO@ft1isJK zXb2G@vzm*xx0Jy++e_Vj0U(*@zrM70IP6G|lbetrMkntlVY3LFyVooLpgxYSBgK0S zAx&L1+D=4xm6RBVlP@d7#^R=66U5t4Kbvl50N>1n4)(K_@gmWBI(k(f3}0#RB0A3} zYY$0c+Fn|sT~8({U6$CcvY-(b@it#@K?DMzC&;eTuNt#4jH7!(1} zTR1s``w%nh874JSAW`2+L=E2zf7D1c5ql;=*CdC8cR@+oj;yvO%CL|P-;XbrAs51K zk|bGg1-z+ELsUSe(Ve}M3P5l`6CRfXzBvzsFUHCM9wPwfMwO+-;1Slpg2E6sb7=0J zAR7`xxORt-ZDEfy`~;4KI5&JbJ~HNw!fz&b*SbPHV7q-U1h~l18HV>@e;xLNgEGeG zfcu(7T!7;pVzWU00|?Ry>NVJ~2SMm`AtECvO-)wIUD&jTz^%F(?bYelCfOby@Y?)$ zEV(-TB4T1N{5(fUeWlG2tnT)3Y#z!Cp-^`@?vIW^C>@3?jTl=wVh?zE?*yaJ2ZRxF?w)fs?)`go=&a1cGJLm*eGr^*>>@! zpfon#DtFfg@QNBJPX}ZPirAp(pxS_tWemoGn&<=`f`7}?={0Axn&{#h3eb;|Uh{xf zlP~2r1^5t@AUKvW|5_1pf(&12h!|argTZ~*?uZLJG) zGQNqJM`0HnF?pMe5JRmEhG$`;c@P7^KH(WOTHS6iaOp%$PPsM_bBThOyiG=kq1Fb& zEqM`xqIPjH#H{mFTaif`?uu~X(@HdaYG5$jlXv)s!|-?d4qsUW7$+WjOPMyB?JZbO zYly`NnAB@1o(nSc_Ip%=LIo!GhLZfY}fnfPs1x_FE?*Xn-aDsy9$a-y}QGswsUIOAB4q!eV=WjPFYg^5AmJ&6KUN2Gw#Q(Y@SWK6suQu-Gm(6Q;WO}0 zR<&cyWh6}l0G7d^hc3oYaVyaZ(+GXxkM5x z0yKig8nC*t8#(ZK34M;4M`$4Onr6h&z)lfl6`l7|UP%!EJ{=4{=!4zx1B@hphkuyI zf*W#d45O{;ObpU+36$1lqomm-F?rd92As6%*Mq6QzB~<~)|FPP4Gsxd`US8ifU_8* z7!Qm336_TJ*cVeO7(>Y&5hI}IAYfa83fu|MypRK1MApA~;p9sUC!dEuVAMk3a8Qbv zm~f1rR2>t(Nzr+H^oRA15fIlVCgEgKqocySgcdjgX#Pv5c|}e>t%ul zaJXP?3JRgj63|mGGJ;^K1r^m$?(|gdiTcV?7=*?oD9GZ{IG-K4Zk^=Ib?XG}mdkfh zx5OobOLQ(tCJJKgWGo$r#HoZpISz)ONujv1hWI2EO_fzxY>V}`RaPNh&mpVfm!TJ- z9#A%w7zImg-DWQ=aoM~GDkaD!eo`66BAek)R0uOj;uDNE-IU~#xPxF!E~-jmxC{#0 z+>!~BxEqRxE8w3r0hEY}380CmBmuOPvk0KU5|Jd>1kfxDOlL`yqI5HQIDjk_+Bn6O744iwNG|Lfe@HPa-NNcqX2b1kY0L^i-Bm1uwlY2%gzX zA;J5!7rFS1XF`xJcrQpHuLK zvzJ1GH{?YwE_fyc>4NvYJ_{bYR8_${P;AD-=H!e=KXk#n&I?Oi@UAANwhA78>bKyH z8f|70yb*#ixo8o=t3unE1WzI=CU_>Ek_69E?(|faPz5i&FbJO6OCiC#!;4&8@JtBO z1@Fof0{hN*xZ&v*JVRr-XFP095xiI&`kTG5#0BpSG-j*d;irBJ-iM4flch zCKoLtcz+LVXA(S#sF>iHcuEpHOF4_+87$!zJhLzep4m$w!TW|6xwzn&5Tpyw0?YE%RfUuWa1KhI-z{i3iHB!WaZVR#>v1l0!Cg7DH2>9^hNI^0z+gEn21v zOES0OV7T!8p2lqzKK$e*e2ZYLLOam24&Nia;Nzy|BcRe;nVP3S+nEH9AxZZpEdr{_ z!Q!(%*o}Dx%lnBtnT@W2n`GDctarUFPuE-L5YOBF@C?itQ*b6PCMh^exy2}R5sG^3 zH>fGIY#}u@=7n^wrc4N6R3})Kf+TRlcgtwfRo-vgKuHe{xxLz3d)n1@u`D2(|eB+$qfgw z+zOcNCzt`Qz=TmXh%STkK2^#;w>!!$CxEjlWaBIlSIfp*Ni*6b=y~x6SI*BPp|mPz z{N$ya7b87{)?hz$2w!Wo=$<~fdVUo_m|V1oUG#crJCk~rXo{%~6H7^I!z`z(f-~2x zOXcBco9Oh^vXL?(*7yf6#BJ9-MT_@9ns5@o5@2z zL`Wf8ey&fnT%e|~f*%%qq$~L6qzI>{O*_jqHw7RGW0t=|OP0legE}6ftc;-XF-D1n zC}C_bL@D7Pp~ERc2{k!nUsK-=NmWicJ||>k5}!h#E1WA>L=s>o?wA$l{kUEhKXrBY zD=$iMh5Qg<)T)s2lb1qX(((2jpW_V4v+RiH&?=D-!Pu%lKmDJ1rehag=nEHz*~&cngg+r%-%bY z0MWb%=U`~!C|zy+w7+WW$?QA<3v@tCQ$Ws*=iNlc=@T)XoX}k}Ec;&t!KdY%kp&p;yJ|j%Zp%p!Hojd z@TBAU9eD|%KUd!8`bTd4FO1mYVaXCB!0>NdK0kvax&QN_N8IvUYfK#$d;Ul5t@MQQ$%NHP$fU<10 z;Xc_&@0EvMI%5T4aN7@LHV#**=vv6Jn3#@S43?$wPzD=5564X{-WETSkaYJCsXewH zp3Re|qj#!{C1&;f45$KFwhjeuGhs*gR2T=#*%AIZo-23({G-u3oP{?T(sa-%20E4y zz7!jJH8cz$V1f>gEJ}{h;rs%mxEqQI&K2Ar9sSz09d4I_47G5*1S}EDaFq;h;^J}k zh{y2&i;(4Lzk>OsK&KaJLW)ZGHiUREdVnM38ra5;h1D zzSr{Z9_3wc*{&L-sc*^yQ}VaOASs*se9$LOOMM6{N%n#HCj6MvHRGA+;B4>QZGuJG zHA=ePWGU!Hq5uc0W&C+H7Q(R5O;V5Fu{ z31LHO?<7Wu`8!BK>cPNKUOINRK%5BE8!<VqJ7`Uz?j=cK4%RD{!s7q~ zkPwROEi+A&$S*`?mO&0Ac24IatU~GZmEX&nEp}%d<}|P0PekVDMtK$)y=ODc0Rx$3 zkz!{wEx^+GA)b*+pC>m1Omw^`+=5S6<3C&F)1~mF!UZ>*#DFT*$9mCqd+X8KTrYH% zG*#EbG8M9W0iyUZd!-7c>55yo;zqx+NaTe0F|Q58Tlb8c5Y=k~R~l9@Bp50;rzS!|;+k&M*%{$Ro~qF5{d(@#UQG*;s?_`IE{n5gRB2ke#~d#eWZ60w~%Oh6$1oA8sYLq&1EonYmSyxR$Yo{2&xo?geD8Af+X|4*6*?yvE5^h8KxE{{`=K?~67hd_I}R+_028KOdJ!eD-oS02;)ECV4_Zort-{nkgheWbut26d}{8ZYU)Y ziSd*St#WU_&>V3uweUMD&g77L`-S?J5^ZsyzZzh`iyWF2ltbO$ACeCpOE4e$r}2q= z==5az(Ag4!yU}yHfj`o_P*{oRZ}(awtd$cFbG!?^9d9skiO_q-eEN!|;T#Q>g+;j5 zC?~{+BZ5!reP5J(4=Ao`L0t)DS(JQ7ws45xR*%p*E{;v1!EK+U_MtiFS8{9xRwNOE z!e3&0@fC@0Sd6vBxwm6~1JEbhu@Ou$JND~PuU~d7!hkv(?O29Qvb(;8h)uF%6&Ji_ zmBJMdljNenvky|WKwJw%tO*{;UO{qBc=izh%wV_{|76~4Lubr4aTM%=lCyZ_l$~lZ z5s2|iti&e*ekqM>B6tjR$|izs_(T%{Jta&89AM}x_hfLf5Kjmm#Cx=TTt;V0n%SoV zwaLT@fpM!#AD?LjkvBf)UZbZtxhRW*exhul_soMb`RR0syN%?8rx#@5l=hEO*hoz` z=?G0>9ovhm>7xyrlaA0mN7f>S>u4ZqMraxJl|Hm*IEUtR9z6}JdN_~%)ZLTI zdBl72a~}PryT2UHBL+sYtuMSm+aDdl~!^Mc}=SS=(@8xX)6p0B>^31{%$zb?nVih;NxEBcpDWezZ-!rtz zy+}fT2;JudSu7rQL;H-2Bg;pxSPD-E7I1r!umoE??8YZrJkV3Z;(;69dAFJ`5LUTd z#bw-RR?a2TN{_cAT{W`3#3e)T=?BG(RsciW)U{-ho2|0W+i1XIkC ztw6ngS+WR&uw)rF$?O_K#Aa|GZB`9gDO+*((NI9UVnYGuY-7__v@=?)5y@fU+Yo3t zC&ghGDqojBbwR_;-LQr=n49U%a^TKtVx|yy0t-;`qA^osa5Md1=#!zG5e3q?VqdmRwu;ltAm{Fona5$*9z&;`w@t}eZ^)| zwUe}XCbcYV#9XrgFcZaRKYYUCIXgXk0FIdYCyc3oBw5rpHCnXRL1hy~rZkRu7{t;FcaLsq6A_oTRo> z!sM!2`2H7U`2M*!ZeHE3O?Nj1YY6-`TZe+p)mo=A(rN4+0pq<=+Z4zm!J4gGS-!Cn z`YEY~k#uaALGk+6WM2zp);)NV%7vT(Pcdp4eDeLWNzAVT1+goamyqvK)jtnqcgPNU z&ptRNwLx0)QbiFnNXKYP4%lWxX7M~lC<~j|82MJTBMnEWTqYbp`b!mzGIqxny|DF0}E{*neJ3w=nZrpZ(B>@FM3BoO{lH4plw&oL}qi$+hRq zd-B_Je!IKB9DB|TjAX4WHj(+B^Ie1=L-fxCeX|DsUkm>~RR1|l3?bihw(>zN6`~_6)ErS=7=tE3^wi|r+m)p(RJJ~(iUx8XI+X_-E{5ZBMhKX=d zocYQ_WnLowL87{*R%AI0${RQuCkCqWA5ev{oZ>Y)ciSi&3@BINo+C1jraF*184f`} z0+CL43SM{XwE#sd5Kcik+2yG!Rdskg0yY>Pi+_ApEQb^oB9vMV%#`|kV&*I#REda( z)mUjIw-3@I9>@}Ovjgl>kq!$@i9p!Wj0ucn+No3XC0--o0Sp&HCAPwd9fHA6 zD)VTX4b&1SEd3CS%>M*h(~|6Ir_r9S#0(2pgf3i1@Ff>j^^<2_sBjmwt%fe>ib|@c z!B8S87QSHO2$uzr$o@s9fo~~yii7-8kbACDAmC=Z$;Jj#S%cxDQxJ;7=3xlP-6>j7 z9A*iqXu3!)-BoVDge#0?@l%eMX1lwfF_rO>sgJ;Z0J6{lCZ30tvWwyd)poz4-G-d# za3dYuzEKX)1jZYg@ZuA=$75fk3TM@rIbah3?abP-v1Y|kEnoCezus%qTzp?ccuz)< zDjs1C3fm@YHk&W1O;={AJWq-lz7fi2l8;vq6iK{~UsZBKxlj zObmQSHU-TEgKd>2AtPK@ob=Qd(u=4oW&qQ(Kplb3Mf(z{>RK&`MJZpyF34D%uVEvi zgoh!Fgpc`I!}g9*<%7tPxT1}~jIC(D3vAVw6>Uh1Bg)ph0g=ehF)_5z3gdg6gTaU5 z&epqmPaUQ&mcuciE2H4hHJrF^w;R=JttswqQO6&2rbcOrBG(_q8j<`LZb7;ZhL_+U zua(FlB&CG@i}(lt{r?F|SmD;?hVTQ*tKKa;9>3>`O~D>m+;MFijJGOfJY$Q71td|P z8i#bsaAhN`0Jm(UNFZi#KzK4su}oj#E=Oo$Y<#Lw4OsF`h#A=jX_%3iLANnc8y?_> z$&c0kFV5Y+uvQAR5Rra2BmEP6NFV+P1_E~6)mUlOHH(3Du7gKF`eCkY!yA3^CI;$X zF&bZ$jc?RveB?Gz1~)>3(-pG06#6})MBu?~XM8t?y~kzf;9IN%!Qm495LGn~EAQv| z;7^$Q&%sJ7`K*z?@;-;A#h|p0a*^Po`#g}SDM)1AVYiNeoJ|kS3>^q2Tb%|ShR5}- zu>{XB)xOeeFx-m2n`i{H_rlmB96zag)3yTni6R-j<1IrJ%x?WA`I&63|6}y$=FA_n zwb$DT{^X+SD#Uk@{%&YnU4&eSzcEJzO_*r0^E?$2iLphxiNmCYily9fsKX7$kO=G9 zzJj2d?Knl2GEBTA1%b-K1Q|c$!sJ<0G<{Jnv&3^BwEQhcO04k%XijCtWO^gGd|Cbg zR?04?XS17j;g_k8?6Zrs|pS{{c!9y&aVQN_BRKt~05c^#GA; zQG~`jCXQK`UQYPh5R+aE;8ZHY-w@5{=EB91I7X~9Bw@ASYOGjd$hD@4XK7;)`7DgP z3Ik(d-1HO+<0hX%Ec?0xJh8V2;ISP)3wY$|N=^)qpBZ#dmC(^s3_1!ri9uHizYoEJ zy(nUv1(>Vemw1$UR5~6OBSOKQq2?H>?FcoGMMt!7(@wO^RlB>8RF2`Z058D6x8tA8 zt2PWTzfIPl@bUm)&KF)(6&c@SDdG7w1ie!e0?TRKhUY2*s}~mZ{!sI&!Q>o>{|zH= zG#hwz^@dKjRjHTh7Hhami1JOXuQtZUrtn&@_2nv>t++l0k2_f96P`bMCppZgzR#&KbCkc3*A0HCb!J37Uv`U(J~Jm68>0Awb3=3)f}y z&KiomfSg2!4IYL8*j&Fn3?YyB=5HC_yw#U)!na@z7CJ5zjYiKu$na^-5r2?lk9g{X zjHf=3m!~jv+{#n`8#+G!q2vE-P;o9p$3JcKmAs6MLdQP~b#U#0q2mZED4~SVadRZj z)dbFsLdRj~xWbS5Y`c&2)?Ci4)8wFW`VQgZc8hhG)lanY*o^NA5x<7DP-;$1kZ-Uv z6ikmdCWe9;`u70++pf1ZZaHUo<4{n6zwl@0MhYY!3ih_k`x@Pu`3fsP>^R*J&lXmG zxKYdCA$wRkcI8@$s$u27kxbfq>in72lK4gtxtZ*mEfl1mDCx6Q*5u_{>BL!Jy` zI@nLm5B5YKz(%cW16#gFu<3^m_MQ2`eok?)4;Rw}fo`6tz>o9+VW%HD?61ua`zs0d z@Df$-7Hkon!IR$8+uc36PE_!ov=bGJU}6+~(X-y$hupp8I8VWVNH$e6$nz4K$8B_4 zSdoLlM|~_`aF68zAb@#9D_jdN!C3l?AC11{?#V?X-jhb7h37=0f=7K+54!uxK_Lc0 zAqp+yCYF^(JEPISqduAy$Ll7NZtOTGie*q0wz{**(aG+fTr}c6X*62Aqt&blL1I7j zk*#s}mxE3Wj6!reLbZTx#9GD+h>^+P`rsbp9-K?GHv5rnhr1^i*?3QWWcwp`e>up; z!0;qndT}0%XSEgc2IH+tJW$3wjb=NQ_x zy|AHDrYo5$5Jm`1bs7^Gc?hrNs(9Y|lWIS_563+i-phwCg5h<3wC&FvJnBZIvINAX zN7#7X-Sk->yoflPPhlmgzR;Tam=YDngH)HqUX{Xu*gIt->LR&L$9o#PEL5)51)hQr zqY#4%j3(l8n74&9BsU1OvoXpNpX({*jpPn;!u-$+1w4xG0jR`0p0Ox8{G{$eR;aUj<*@Hqp2RF&0ajkdHy2eDIirmauh## z@%$1Rqu_e}OVW(w@(D(pZY=ZY&>aM0a#77XcqA0g9<>$jhT@s{o*_y-W%hZbZ-GXgH$R8gs)V9-*^oGM^yZbC!~9 zA5(!Q*C**LOSuGH#6>z)X9>|C49&LFb=Lb+DCeuQa8oC<&N`5+v(k2oF7qND*I8Sk zQo_mtKlNK@-C(qtiNW>|jLAid=&UD0+nGd(Au7AhYULRz@1zep>lt~vzjY1~{mdeW zcIm8_<{7DE`@e7lga7DU#w95v^i*CO zVOKZcYeUQ;a#^`@%ieZt3iA8IacekEI77}iJj>ge>A=+hHt)zHXhbYW=vktIR$l+) zML@2%?xS&9Z7uxdr?=QTg-?psRm+!*Hj|Z+GBJLEU`#GrL~s2Yw4F(BNkqjs-NaK8 zr(4RMp3Vo7#=Q)MVQpdd;^cW^^$(?>*OS%Hu545}efMMyPO+mCkhmRP%x*4s?y?_y zqRx}aOo32y9zPN)CCttEsoy+)meHmgMsEDACK!{87UA&{w4I5^C8AVzBF?-87^jf7GKY>y}=KaX( z(gM(xWG#B|x$*(k3w3U|_>MbCS1&roow0;RK~pyGPa`4VC^J|->K+amZP z7m4_+Gs?RBV4ua{$QlB9k-H~XEFJGji=|s2<2vC>S zqQ&@0(1`ue2Q=aykSpNvMn57=xO;LDiT9M1NKbS3l!HhNfI>uCE>*ORPRsaLK`QxM zr`D`{WG-sGz>iw5bNA$;7Vk-?);VHi3(he_>K*Q$a!`u_P>5QKaTc`^YGHFqj07Kb z@_f`i6c>3u>_?t2x_fewhxeqDCt2hDr@N;d72e@wBkK!v|2(&og5qcrH}0tcaJ$}#sDcqGd!0>R;Z0&DgNg3+yinE zYXemEI8Cw5-II%0yeExVsi!F(@9r-LsTdfANVN!-2{tM%s0g-$C!OW$?s2#%RQ03K zK6g(p3h|ya3OS6uKXLbzgEkBRPuipx=SL=@MOC;QwOgV5#aWL`K;~k$IF443dbmA0 zgKlLhJtF{P2Phtd1!2Jh6m)naq@2ZXL6+iYC>SazD*k7D)tP#RV&k?dq{D>(_2%C3 z8Ve#0Cd+Ne90Wh%#uW6r@<>Z?0aR)-e%-&K6r=F{$Zmt--#NL?7Knb3SI~socXOx# zweO6@aQFLml#lzMNW`Rn6f3Rdl97<3HS~^2ey%`37i-4tH5{$`3RhPbRwEFL$ZPlg!F8ob7UHMTg5v|S;l|7#15hv@|O9o%r zyx^VmA)e&SJl&rGm0S)Z7180bP}n0pdJPoMi|F3MA$egXK1#JoKFKY4hT1<&@5s~r zHBf1;FuilmFg=!MsQttA{yg1x=Md8~1uz}DVx;~&&qx`f!H*oIxwws`b(fvf~kt1`px>Qj5ggc^6;ubf-$*h5!Mf&?M$pM5fx*76HiI3Zz=aE z!TL^Sh!{Uxd0>09uXMIwn1WI5oKGBQSxH#-0ELdj({NyDLDc5D*Vzigc--voH3Uz`n zxo8nln1Hr3i2_5CwrcAw0vZcfCOzxKcy^w_@_y15ZYgKEXY+LZ7juZ`m-yism@%eu zOkPYJqI3R(U`#GrMCW`H+RmhNB%)%nVB#rB7A)n~ zis?6<8zL$2s093P_L|QBA5KBHC;wkc8@EAewAC7C`90cGaQ&?^>qd9)jKe_|jB*
P;FAY+?oDPN91oX3&`7Pv{nJZPyH5U1o=6XdyK1?ts7cC+n_e0y61Vkb#CLkuBk_5z3 zZcSEhh{Pdt6<~g|$8_d@YYM7k%dcQ_Q1*crmZo^?vI9{}eos+tgbECA=a;od!j0d@%E*m*S@Tni>TF9|gKkc^J zQvLLsX3eWS#qk;*LKzJwd;yMZenKcuu+e!oF^n<-G8RTT4M6uVjPgy;8t6JoMa|Gb zv3^hEG`EIPDwFTp?LxXKV6sbTIio%FD2P&qPkPjlyd1sXHjxMn%G>59aAG&0!_G9?8bpZaMrvz2Y!3CwB zTisqz8E=7E)*Zpv!`gIqeS5ZB-)gNUD%|v2uuc_npf$*jyjr#1QTl*{+B08EULn2r zElz7Yqh!>3Uz3gWZa)a~h=w5BDOM#|)Hu$`PMG3ur1wG8U&}!=TI#amJc#;psOqv? zg&tnb?kV|c#^PLUN7M)(L>T8sZ9l@wuE}~kf-HwpEN^K}10sN|Y;R78i* zgu))t>@S7lc@gc7W`A3rq4p2c_vY#T9;h@|n7(h$F#Ux*L+u}?zmuo?Z_Od5zgqy) z&S>`E=NTzOG|Ub$|37|FHF=UN(o*ht+x#Twou2hG7$Rm%`fAV6^W;R_nL;PUiHH+% zMknHCDw=-B%d%ay?o_)eUGVa^94bw*!>e>eCeKNV5B_Ydl-+LFvVi+L?z@VDcATXPW<;L|Rm1 z=Di;HMO9-7!?fMW@jRnyvfvgPChOX7nDOIz1;+WRhub(|xfi!~ky&k2eD|R{x+QB- zB8_vF83}2V%lqeNsH|&0hPBG27ahMgKZEO^GU0SRFsH^JW9M|zL0v?eAS+2q@Y;jB z9s`_$Mim2_FrukexrJ_j5HU_X{)v6Yut^AgnyPgMz^{)|sw84&Y!3->sGI2OR*1nL zuXW@~?GS-RieNZ{cpMD(b94$Nt4m>g{l4-LkTc?gZo~)i#5(DI01-iu@EdB1pN-Mblr|%wI%A`+5;$4kfNh16X!tt7|ZqTU#&$cOD@kV0PvOI0c7|ga1 z42#6zy}@hbe2d|=P|0O6s4K1%_kAn|@2{Y3)q3sVZ=3u6l>|hR;|ss4lMa;I=#6p7 zBsuDW$eA!W?Hclzyqw156ipF#huoLZ6nk!lR^P$0i3?#9TEYpk2nG?FS_*^36nj6w z&~un#_??+z-@zv`#pr2nOtJG6cU*Q$tdwGjiPTo$bX>ZlJ6pzC?FL{3pM>W!6iOz_ z>e%hD70M8V8K%9H+)FC%us|0Goyjsa0x@QT{TxWqKO5{!K!C8p7&2(?{UxV&stva4Dww$xh79&Mx^=Lj zsw_34;Lo&Tl4Zm5kRpTOIZm#%SuF>hF9~tO9Bx2d+-S*=4N&e@h@=T(H$!5Gg!)P! z^a#6UJ62lBc|P54IcxVMTt)&X>>~2UQ};#oZ`R^+Aib!3e;@Rotgpq}~^$qTDRV+ zuAS|zciUS=>jjLirkIqCCQH+B5AINaH*dqeGSl$?jCR!w<^kGr&M;gz1L^YVugLK| z6hI1T*uztAp;@=?mi-VL*5Q%7^)CoNV(+3GH?M|x zn~uATwswS{@Tb^b+~B=_PPmh?lpZs^7<*!~g?0f>^d4A{{m?NnaJtTWIwqU}(@UYM zOPw15(+jD%0X7P*4Q%-y!KNQN*k|MidsT6;7dEFYK#R8kGCt}6Z^{qw1^ob+n-Usx zENrs31n`Uj@UHv-?`XB7Mq_NZ)YxXPD!r53J-Go9+3FsLOO!VGQRrHCPc91a zo-_(ME~0sgyQdtqVE`1OO&{*y>bS?{qE*X}R?l?z~OIL=QEV1j25n2C+1sx)Ti4wyNBaK;2RjJG_z$Xa|MY0#817?_qzLZu?OqZ6IbcQ z`EgV0+VnPX;fb{~xHIt<-K3-gnx`-GMN20ocxjRkoJMfQ_D?s5J1$~%c40nqvtrvU__ZD#{+$kY8E8e=v@hufjB$AQ-;L-D+b zb{}|cqk72$n&qx`f!3z@$w#P5p)(RYR3BGar zi_FawOSz5S3RTV=J^#8eDVs1P8+&NT;H5&xrBE36&iSQ6M^jPvr9wN<(Oz(ZnMs*o z(j5CAHVBriC~$B*-0>f1aOlPk%mZxrNo9b3OfX+I+H}LnCzvl1jLAidNaMdl+nMwp zLzJfIofFK1c}B`R>B9uG@KHMPlCg)(z!ClXIYjhg04Oh_-4o0yd4}3QOrM>n`w~=| zs|jX(0Zcn5nC*E+$`EavVDO8oU!aV2g0Ym#Hc6-o)pvqX>%w$l!jL|}+?ygxo)gT) z&FP>dZZ3i_r_owlyDkJHDDeD7w#ABbzje}!%zPdhCx*7pBltja*NJ$jP^3A zwr3H1$wiCIA$LIAnN*uZQq0&gag-zrmU8R;xFHe*&x#-gX7A}z&`3eMw-n6yNP#BA z7)+!eCvk4#f5?l=xD>pfhHI4q{M1h=_>9qBGHWXn{3i*%NnYS@Jf5Q#gxT+ zRfhwfBA?!~UA&!iKirqv6S0Vj6))^DcBIm zjtO15?7T9CES|D+qjs;GKuo5)yPTr5ad@LRF|TexhIPCQ3PTgXn_n?PJbvQErd*VM zK=`nV5`OBpC@nclZ!=jw6j53TmFCKmwhY?NBuWxdF;Oz{lq5=)ay$CWF_CQbyJZkI z6aI8zd!WC6FPte{w(b0syWzHYu__m*i-}dO;)I|2El#_PHZzIS;|a#( zqD5w=Jw%G=v9Ps>~2%+M?B;F_j==ok8$fe}Dgbu5e;3qFBNxgaZ z)kcfSjIT^NuOJAMix!cQ*FxKwWJIDVCL<=6l4QhEZhJp?Me;zeFU^5WnUJQ-)U#7a z5}z-6F(((F&(g?~XpUc134(HGW*SdqPG+qDbTfO?c7A%tZJM0fL`Qo!-OSK+ zGodSd+oCAgHvBO{%#7NltW*RFVd+6*NV;5>!uLUIEK$?plQZk7zuB4@%Jx<$1OWe# zkf*nx7S)rPXmb7=sM=fBu8pA&cDA>Kb!3acf^*W%**nAgq03N@XA3`$u!>%;j;->07BT44 zb+j6bzGpFw?iW-vJv&9lBqQgofmX9#K_g;RH)5rf7**wJmDSfb8)L2Z1jZfjX8A^T z&Ts`0v_`{PrOPH*5XMYprIyH69GK>EpJ7sb)HbN$T2?94Lv-|+dRiV4F8$g&i2_mq zqdvnER2;!d*{OIEpBf>*2-odg8zFd_VgrzvzDlg3L%%;W^qRu)3-IhE0+Y$w=n##Q z6(g_%vCU+9IU)3je=oLiYn^v6{U9RTz4DKUqXd#2Ecr(W-Hs%0_?_h+`5PD*%RfR- zbDMwUygAK3B3mzze`K1A3r{#9o7D1;9Dwl2C<{sRz{4*S$v*Gm-qg?BF1tLypVT*-L_LeYwAXA;Ka=+Z;9+K+-_22oC>7(wRTx8-sX=F;t{qjY3Z#hWC zfG9+&yt!X~>>iAZNZBz4k9ri3K6MD?w2#&19B1Sbg1f) z`{g`$PcB07o-{(G=6>1c?k@+a7#M{}l_U4dQ{3ZlQRs<&6so&>a#4u)q*2I``(>ZI zryR6l02HE4A9BC^xqDnLTHWPGt5>>va?y(Sq|quv?w7Z?d(1&I21p^AMO#R?Xe{X# zm^1gwKe>nFLg0OjRN9(JBzxg5Q1Me=H+{z4r;9yUpPsl%FV1tnSiJ%Bo%<#7cj((q z=yJam_k#w*2+mmUmk+?Yynnf0et{%D=(%4ajKC(?0vP`Xxtqg3_se;yxnH6Zl4-+b z>j>>j@K4s=BJhVF%-kMl4cB7R=xDuOY&sJdg7a$Ay_B|p3t+EzEG4#VHJ z+maZfv;jMh=2!BJly}mHqxqdY-A_U#mzz^XbT|TqZIK5Qnh?eiJq5+{BHDd4|E@ek z?H{IJk*E8+q0(Go`c(xm?L3%n zFD4Ah#-7-u9!{Y!>NlSI z*fe2CpJ2Y6qO^P`7~Fa;m|W~YN^-HZt?r%|{rLp*JmPfg1cRSc2I$8G^ID_LOltR4 z1Y>g1A`{H(q3uk1k0C1i1oQqpBjug+VS@Q+p6)*~hlu`I0Ytken6Kv4e}SpiHtCzydDT_Ge(q+&BMMB649{G#fYqzT4SF53j7DpcPIMy(4Ij0r>f1oNB} z3VTj4^O#)hLN7A&dE`8(l;8=&Pb!^L=aH1;V%Hk&Wn#mt3BKf_Mdpwl&~~OdL?S7+ znm2KjBny^u8PY1*m-3z!K?=;?)1_cz3fjG;VBV68{fQTsaVfZ+hHJH^@KZmf;BKS6 zWY$)c@k61TeV(i=wzu z1u7*NOZcgu0&y(cMV!B^NCsAm>BdnFK^4DJCE$j*B0+S)d-t9)4$&#SVDz_1g$wi9@&9k8G zOhO|O6%!g0Pf0>!DVIMzUL-U5+W?UwtMdqNU*n6KBH*$%2HzB|(G5D$9 z67w%co5^CJNX-2NV{*|V67xxDJCnpnM8zb=#8Z;QSjrX5j2DSb!G=I~Oz6^O=bb5J z@syoIDaGEBVV(7pc@GE4MQH(4O0d@OQ@=&&WTQ7kzhk!eJT3+0p0my&lw$8y zUL44!c#bm};WaJ$LVRF$TGV&g1JClq^G{t1Z#8Q%sSjzP! zCtf5weQ6G4%7ipsre2ytB2Sq*I4SnN=f#{{e7-{?Pog<~RV4_@&0&f?vo~%3Gh>Rq z#Tx)(mUBhqo|6nlNez}_fy8q!ekt}ALR-!_!=;czuiC22hIhePCr!?efvWx~_Vi-| zi7EDu$B495*Q^0q5I7~f+?HZb6mTb*dhvq8Ag2rbS6_S6EJy<-$oiJA)HnrE2&oGH6u7?^fkwB7g>LEJ%Og$~H9#;d}JBb3)1^ax4Cr);Cuu^s^Cg!R` z@H7qQn``f`%+PC^$L~N*wp@F$?%VsqE{r- zSpgqF#eP;c()-g5*LP~|&W6$UOu5;fn&{MKHeBASuzbuLu+J;|3xGbNp(l-j>j3OPVR=1Dcwwn2yXJN<7#y z;5pN#Jpff*bB@6HYKHM|Q*k}p+ah2Y3*7QGKuym&%u6@A7{CehLa6EubFwBAL*!@w zBc=-f6Y)xvob$8)XYlNpE-6b)0}z26O9Su;7()Nj01P4KSsDP296E;oDZ~@33sR5a zueqw$g#!q{!=OdsHbT;(!MOnwzd$HcnFcv?dC6PhCgiKZ@FFLB8Ac`@(Ldxg2%+|T zK8|@gt$&>l(u7U-IIOf%umcEY_%SdG);@Fgw%JmB2{X*XC9zi}_hHIMlb*93b{T?; zD_Z65TDrJzH%?lptS4J=DKgiqTI5*<^;!2CHedW#p;E$z4SrJRHjAaI9r4I=D*ra4 zO{ZBXPURmU7?X>twyp1}{AWPhs`u>C_}g|WpCL*cu=7;@OY)4AchZM5Eq|4#``1Gy z*NmhhI(#7%_BfUQW+WpzOT&?4Q6W0zmH#3O^yb5@QvGF6d2iFE#;0frY32j z^vo|{t(f(bja9MeFQ-rkhsSdl{4o`EPq!PvhEJVruV_}CQ*DaHzr~9-e44!&DkV&_ z_(>&BKc?ATMw^-V=kWw%a?v8%e-E^sN&7QIWuIolJR{|u^kJGkkf;0obBO3$3n1D( z&Au?tQ2U4J*XQZ}HFJpRH_jQR@5wXN{$cv#dAk4T9Af$t1u*TLX1|qZqzuuvX%@ez znmlQmwUj$To0OtSR(}sutXVgGioGC(GO;Pv*`(N_yD`JW%{O^)Wu4Jme-)eK-)mWB z-=n(!h7hoGbg;c zlCYMYIr3pRcINOq+nIX_42Eu z%!GV^S{Ms zML>LO?`a2-a@^;w?Ij+m!DHE*vlIZD8gF%Kenb+&dynz|LRHs1C^q2u9^<`KT;F3{ z%7no(6!i;?LHyK#|Bw8@f4MmDD+qWd!JJ%ru5|XDKFJ}>7_;C*`G@czL+B;2g)6pY zdJDFQ?%+vB*5dPAavQob!SkN9RQjnGQyk~+FGnJM21fD>nStRL&6uK1rkPA?z}U{b z1nO+}$XxmD*FaU+O3O;Ki`_lBXvTZ;quEvN{&LWafl-KN%jJA%qu65nDwv-A(E0vm z_n2JN`XfJTHQhbAsKtBoqt>nN{&G-@fl-uN+&D>~R(V>X7W~ku^K|nafGHHOB>i(ZkNHa3daKkF4b2OU*xp> zsSmQmHpq{$(n>BFeY>#gZ#6HTdb~t@7`}>oj42kj+zc8`*fqn@YB;-44%S3|ZBcMd z(3u*ojF&r|;UL&kuLWzMN~2mUtzE-Us0={WZoSb7TBBjD(gkh=CLOH>Q=M8h=(d7N zyH@Vjf^rppL4AWyOQ9BgYj_m-E|l?BC%{qXyDUP3TSfMi0jQJ^C4`?;FSKRjNei0k z4Mtdt;aTvHvy48T)kgoi7u*~Vk4Ot>Jjq4XjV|B7-7}$Wb(ibQz`WMLU5V6KSe%Jd za9Uc!;wdCs%hQbxo1qNJ z7k+py^5Un&Iw{*f0>D(+OlEi-4UY(X5{(8}E`D1Pep1^@m33u98hO~Z`}|a+O*f2O zewzeia#2-&!;7G>M?823if58viKv+Tns`c*UrV{Q*||c}y5~^|INR(sT^6oSLAR$Y z>}2~fezGt_vJjN2wXyQlc(;RdC6lSO4gr}FGYS(BbJORqVPGmlCv%h{Aa5jWSOo+> zsqOVcK<+i#bi>F69N3OI47rYcv}Z zQxm~-u&+EmMQc7>k&U*d*g1{S*0eqyac{~r+#+`4#+&TZQtB@0b}t^~a&#&2s8x>e zQ@`ctNk*HQ3ad2Xr+!P*8;v%TMMRmE zUPmw{7cC-9Z-TZnNs~lWOqxtQB}tQ|+_vJJqDoV7wi^shDAT3s&J^r9~Nh#fww9G<}IsVU;HQ)Ng5e&}cJRL=1Bgfd;4zK}v5e`&JMO}TKCI5(w5fvmew=l*2&!|`!x zItwZ#c;fL>zoqF?qfIxAe8sexU`#GrM4Gli+nJbSJ@>T(pQZ{TZ~KNtz_0V$x*dDM^|v<>cIypHoz6;&W5}#z2}(DAT2BGKD<; z(qx~Tat$kSZc2-y`X?_=<8v|)Fp-h*i52cXDQ<^Rp=kIX86+$W+-3Dx}-cp;{ z-)dI_h!CiF7G7O{) zKPFX9K^2)67G&_h^W*mzz?Jdz^$)0Mdem9QObZiECQ^9-k-#%8gjgvh-b@KJyc7ey zno|>_wKfKZMPVG>dKm(|YV8`2>Z(%gAy~^404AfK#2$6wcBJa*6>bU`@##LOBR+dt z20r5)fhg`XM|dV=c!kgK1ZUihm9lfjB9Syx)0!-@64W+*mPDiZ;+>hH(zMh?Ad5Do z)Sa2E&4w=lokYbUo9EtIcb0XW$y9k8(J5JTg47V{|0cbhNX39S^dh}m8@&T!R)JeZ z6l*4}D3YX$SYk<1ODYCJts@l!erKr|z6AqgsTk;KZc;I99&0qKBeV%whExV*qw4~g&wOt??!%9Bo*_wsv9xVYQ3;GGRqC!8~KkD-HTcCkz9O;~!F)6|?Wh1@k z9*m?2aRSe>69KE#BjyV^3hSp~Cg9U=nys&f|IdW~*TDa97m7HB&CeJ_qY77C3|N|< zGX{eW9!Nf95WyNdWbiW}PX7)WoB^0X9rj630Sqe?6aNtBfYd_>O4*s_#OCC1vq~IOs-khWWwg~A7gJ$8?EUkueejAONb z&jFh*40FIvOO_<&c0ykAz!Zr=*7K4WXYV1mqlJd{vZKXxDJ8*TM-vqsb~JuxcJ$}* zY3l&|Lr-&KM-P*wS|ya!s(V^N{t&RI3YpGJ z87<%kWFx)lgJb~%GUJ)Rd~M!n9N}+pNb_U!9;wkX*~*Qei&?q<3DEY>$~}G)s0wc7 zGCYtq_8m^;R4eyRvU2OuhHhu3)2&U=8AmwE$l_z+VYG~H^w!uI`oYA1>M_P(f4xzu z2lXBTTGwu+mB{zX_**6}$YRt71$gETb$vxw7~ zAye&3UxS)=t(umD(6QB)?!t!@!V&{KHNBizXdx!O7$B3`C=`g7*(l~8Nmz^7_*?+D z=P(=bJ2M;Kice%V($n0SjTeFcoOxg2st$OV&Tc@icN&mpy9G?ilezg}Hfc91k1>l0 z^D_QH>NhepKMeRzp5`(dn*Sgh={;-y4bAw_i<_L$h{Dg};O58VJSlqR?pqZWq`Acq-@Vw3`l;e&v0nMJsE1GOw3}!#bIZhaFHb***1CZEFO&k{wso{CF*3R~ZQkQ>9vjtXvk5pCyN{jZz-_gc!gaI9UFKsDW z`VDN>=Qn+l%DD7fDjVrN^WZG~6!i3CvmqK#_(&Yv{H**=w9`9z;TM4!Tlg&iu=}_0 z+W@VJg&#u*Em0P6x~DGuo_9s3+nB&?h_D1;v0*tRI!!`m2TGXZkzL`*lpXI$G zPsc#D!IM&o1w^IMu1rm|%hkq|TvT-7KA>{FR&BSMxFZ1#vo;4{GowtAyii-NHVz$t zq&S9K5SxSHB^;?j|LPKHEXZildPv9|F~mg?L(Juxb*B%C#46}IthAELbNZU~y0R7& zRB1K4WjL4C+)EA&xQ4Gu;Xo?)@;$RA1(7wH704C}xAawNTA>yr5e@F9iN#1em+UQRey5Vu||;WkWp5RA}BLYulPacfr0 zYm(F!YxZ>ju4^{~zcXw0pYe&TS$diqYxV*(|A5^__O+%VA~Cx$dv>ZZ8?{=%mQ}sl zQG<3<_9%TU!jd&#>yq+yz_RM7(WlLfhU`~lBfZ-Xjv*W2rXO}}G@kHBIJEh(V;`Z| zvC4S#qj_LXhPSfCV+3W)jQv-Dx_@Tu(k-B3c<>Cv2U#s&=2TBLV^6yZ_Ag*W{CF4> zHHa5BH!V`jN!ATd0FYp^Jr4hP1)3ZR{7Kk5nu8A5n@gK-jSq&zeEle_w373Fy3Kdm z4hwB@zltqce+UB7HTzoFF~o(2MkLt1MEHp0Z+$pt zdku%DpjiWz67meI=`B=)WN?`#bo;-gX!iz{$`WD{9F zqosHZ6-{3xWDGxh8Z@V}U@{*dxIC-NG*-$kp(Uh)OG9&EmFhWrg@}aN>i{u(KBFdL z-brY8V}}zHvD0T_dY-@i8=v6`qP__$WhbgsMHZ!npBIh=*Rc6~ z{A;37vLt&j-v^Ec)?D7Mjqz+i;bE6%obP^4KqSp&_*Eq*lw0qIZiy$~ioow?@98t$ z&r(pT%yh_fUJ~N$UBpZYqt?qOB32nv1}r`iQa+BDDg4fSB9B4RlTU=6=Ef(o0o@4u zTI1Q>A&*LRhd^@$JRu?%p9GA=*2qP)jDHm(Eq_Zkr3vE6fI^k+bs5d*^SE9%(wjLr zJ`X}DE$a&<8HxrH?!__9kE7ry#ZiC*N!&Dwz>E0^b^^Hl^AS89TEnRr^9nIU&^mS( zr*o>0V72fObX(mrBo}IpL#k2{$yC)(yJRXWnKtYp41?kGIVeK==zMD|yTGJad2l(C z(050KzFcmAjLVBx`=CZxqOZV8lGrd^xYGv>?y(S-AFCG{$5}=awC5}alzxZLaL9Ok z8`MZKGKKMo!_GK0-c3c*7lEGZhEMnmPf+V)SSdTT_<0F*wAfb;)qZ6qXJXeW0i9)TmYt0b(&Hu?#G>)J2E z@60wj=`q4KqNlmBjV^0UOt#wHk%?NT-e`@mOTkkOCAwie3N3dhb+q+Rz;-&5&$YH@ zOE?T11m8}oe_`!2XE8hBlHNr(Ze9(+y4_8|8iJnPFTG~#P_VgL>r^0^e(wlaeU;j# zKo$(vY~2cJ3^7e4EGAYc^^8UOMj(}HgVnz#`&|$SZ3<6PXOiW1kx|Q-0l!~1C&90R zGR3Z3?9TUD>Ys5Xt41bT)v57XXMw{;`w)^YGE>(AXsC|Tt^BJ=`{PlAnQk4jg|caY{se3;knZKxS;|U= z4qt{a42Cb^pon?Y&~Zw(Smro9C>cYo90uv|7r+2s6yY+L$**qn@qIG&l|&fL2ygMh zmM|sXjFnb$t(Cs>caBhFL5Wd&_&S(0X$ue^u6{fxJYI0l5W{9b-RBtTFg~d0g+8SF zyoSWRjUR+c3A=yzNu6pf=CHo|w?Y}En2NP`I=r7Z+IKRn*bV#)!JAyPfO#E$5!zNg z^M8TAKL*M-Tz?#CAa;ktU?`Cm+YK~v26K>gH_%epKScIbP{U=wC}c-G_L=OSEB;G; zh9}6s87pNc|4Gt18s-Zg_JBK6MrZmay$qc=!w!#NMggkZ>6M@O3%XSit zonl37b6t8l;U_@+d$EmESBX6oVIBzk#$Ac~350zn*}>u`AapzSQ1CnR6WjpNb0^1JEU?t$l+K!nhvO&Hhocq?cmwX{!VxuA+TW;l>sxlTnzf;zj(Iz~{70oV z-fB;jC;3l2%Dd(Kp`hF7j@S4*IR7|4RjpMigtjv>4oUR+m#I!|1kM6uKjV$jEmvad z^r4_#>rStO2b95tu?xtFLr9eGSl6wRCi8$hfS1g>0mE>-=x* zsKbpfsGoaiP>Lu~(%16?5or9gwxnM|p9Kl|FP(aSClPORN;ntu?}DnZbh~6hw7~8y z*dls^C%vZ+yL-9{nlU{|;U;(q^EB`2TD7OeC^@1t_CxRQv+n+$WcJrPzB4sRPR7ne zx!ry0RI3Y-8F%80evJx7vg$Ov7jFju06&@oW`!c@Hi|7}-^IAZPkm(HcaO{!{`_AI zrmQskmAfYw&3I3KG&}q3fV@r!$k=}x9EjVxzpX_b5U+3RP~Uy z4ep*?l;b`5QErR7zZ{ffU=*UhwH%j|Bx zxB<4idr`E8Wt+q$<*JOw?gVcNyNRVrA%($I2Xj?1cgk?E9nw{`n&UIUXf4>+sO^U! zc{r6;4jwlJ+m&$H@eWu?!u@5p$UVybH7MmTd>ZoSU^s(+ypAp&Y<~;UVjl+^XfgNO zmw)DiBjFdn3oEVUvXroW87_fs96i{e6b{7RDXi5d4^2>l3y^7R^9FPZBKJ%-Fw+o5 zvbLtWlT%${Hn<;gI)DQjc=$DP@f;dp7Dm^ zebBbLi7^B@&QtAbZ&Gxe_0zIc24m(mrd=Qf^z&nsCZTLGJHWLpdkB6@9|f=R%>DhyJ}VV6X1&(`d!6l z&S1Sl-S#8|Ez*l}b1ytGtJBDd5ILwtT$DhE;WE73OG3E@c??OYRfFIsKMmr}ituEk zJvYa24e~^SFS%$D4RRy2ok@d8B*ip{iK8S9VkuV=WW=yI7gtAQ?q#n7l5F-Fp0Xq| zd3(pMTc?T3x^=>RaHRG=>Yb*kr+X3cWa!ZXN&UnpEnaZgVM3mQZ`}S0E~DSL{gp%T zKgcP6B3b3nOkVK^)c~0lg+OkVGMBaa4<^5|(9S7*6um;HOpfU#f&kLa%c4BIJBLKvn7&ZoNeMLiL))`PD~(v#L-D5fRoMk(mDBo{&F(h8xV_z3rZLh zM=rH(0Y0K94YXYc(wKBA?ZznjZ`mc=n4buoyKsttH8UJsHiOAd&|iiZZcmPvXW*8L z@o`E!*0Gw?)}2glSzEtJ%#!`H)r%duxNIVJw2BLU@)DQDh$1l)upc^vyNwnz3CvD{ zFu7=vso;8OJCndjG{pqQ#8Q&LSjz3}J5xz?_xj&92&p-SbRoSkg?OIR%^Pfci$Mvt zMaG%qyIuo(s*T=lOg04K$SMTofQ74qC{}PmUT)8zELY3ja*3uWaozxKsHxOCYo)!5 zmzRU+g8MvZO=8Us7x;-X?bOt&jV|oejLy*E1XwGzt)gw;_vEr||0rom!hM&Q=y2h_ zgRpNEZv5mY+=yf;-1I|-@HIw@$r7u~hOZb^tcnJ0>SNBlI_WMYqH&Kz%1XcbzoNS@cr9p z3(YF|W-tqvdGocT6G{8OddU)(_RkTLtkRC3`YY`}Fj`C&VMW>>APAF-7LoQJLED+6 zU7{%_?IxCzq}@_(Yh2pB7)O%7SF|ONFB86W`TBGUVPf*-Y%*ND7}#wvd_@NDJ5Pv- z`{EhTD?N{j_U&}zc~|P9k<6Wl1b(`4BUVb;##i>|_b?ZtutCu9U=bi})zBClLN9CV z#7%(4ht1;IvZp;I!;a^s@rWVkrhQ3yqU{_86yAg%Z0@50z)@2LGv2nJpL8*P*&v%V2SPE-38N z#o}r%sL#s|de7K!JuJ#Q8%EnR1-Gtw&&>? zo}Af)1-fnY_`&?`Lvo6lJpyngV)}YVYD5%^YU8c0#2%6(vYoKZcs@2lOZeZ|Ui_5m z;ew$EDE-u-@l87;s(%AT9KF!Tal}kPW^#95G z5;(hxDsLeKq}dlmZ5l3XcO>Z$!e$_7hyem22}zJ`FuZiX&U=^ce(ig&6IymfaCt7H zjlzs5I*dDtxXkE$?usMmr=OoX4&sP7qt58(j{EYRb85L&b*t)Dz4!WcnDO_++?quhT$Xv4XS3scMOLjg9na9t2+663#vU|VEO`tH-x_=Y6^Q4rV z3m!dbG-t-k$uK^mZVO}cmXRu(u0nO~PoItdMCC*8Doi_*Q{I!5=q)j95|H;ItTezK zk|QNrnM(}{50x!Cp2G)0bj;f|K^tq1nN#AhIQv10oFHR0sv|u9Qie*7G-Z6H>Q8aT zqkrY`2BSS=0M!o~6Km?%5`FHXD*BC0Q@#n>RRf-mBKA? zxdcxkXEu@dWf4-4Y+H3RdA3y@r2SwFTS(fUC%O39$3qUtzAj5UGUV{XnC=Ow{|8nI zm%8()BXp@2zXrl~R*?cFr~9X1>Qzsbz7DE|=VrT!336Y*gOB+zC}JkuFYxQ)aw1ZN z{Et!_uZt2>cQNiqP2B~;lImcYx)ZxSM>XMlHg!MoJTY~rr@5KBucE0`qgflNG#Xo3 zST*)U=M#%(bNUB5n8qKg0)D;KA%SdqJegk$a#F{NusQriMlHid+UM~2DW9&ZbNDs# z1Fe_L(;QxxkL@_;LoDhirWn?Dy2~4ree7UXpD`*eV|(*3tG~|M5AUr08mQ{?sK%_m z8Caap>aDz)^I82f+(z!6+h?Ta=JwBlPIqr^|5junpWE*;mPIrCvw<@7M1?c_F+RiJ zjDCOfW`RG4hG77hTtrY4mk_3=A>Xc)7^Uba(d<`_Vv`GNqvi2rXt*&k3duz1izQm^ z)#s#hNZ*f~=uh9r86rk;!^!INJOCa8yN;_Qfxagb=-h9}{%j1h1p56HRvO@rv#sdE zdI-N`}TB|FZTk1#yk3JlamBKCY0b$Dd<3MYq85D+30(31kZh#&%6SeV z=$z%jgd^0nfWt%p$lx|H&p5ML2a{=gi}7EP+_8lpywmnCLRFt1GN$eSOvUwlg8ej= z;+@nxB1#DLd9wUL*Oec(-;sZ3l!cyU{A>T0d`HIdFKI`{6`tL>$N4@hXy+_rMuyuR zTP0UqoCjPogG)b;tm@5yaYq-sGI!u5BRLm%xevO~y}-)}AWML2bWJT|4o#Bp=PFeg z^;plN9>dLRntZxhDK(Q3*v?dieMz{JT;Sau%Z9HJNlJ6tkDlaGtcziqfYNKR(g3$SM>He;c)7F0xRj+_=z1nV zkE&m!pqQH2SuA9G6dQOfWCSWXVj=iSMHQXKLasB~(@~0{+aeY+L-e_es?&?uSjY{~ zwi*jrj(^)?A(BbCScu6ZS1iO*ZgG@iNKes7OiOAV5BxZK1zGm;q+geN8|DpH+%$mO+t8ZLU47G9f37c zDZx&4I2Tw9ula31`gtq+C|?)6(09gr$D;0I=h|;d0z&slL73 zoK2qzZ3kKEQAC8x3h}M#<)GZTj57>TcOnSM!R|E)R%}x2H8~pTjwlcVsxY@VRN*Ll z^L|~#{sd5tiv5XckhCaE?C-C^=6(By@I8zDrO+`J`=h71iT$yCL)T1<(~a`6X-5J3 zhD6gHMESIRL!vzy*Xwbr(Th#%3%WY~6-F(?Ionf>@KZj`R#S~`lpmP4?LtB_wj?9A zF(@m+wsac5O6No4+1;{7w#Z&!@HAsf`etlz9ukW_?Cpm)LU}(_^$kWwoa?=T#d(~| z%9}Y)EYh|MNriA;51$d4i)_6Ry4$_T)+5L~o>DYlJ6|L__+94L0Zlm47lze_cv$V6 zHIvoVn_(m1_!ykf$o36gdf_^DKRlu|0h_`rNTW=Dgw*t>|H+9GBctKUED1fk3Om1_ zv2*TIdHx*3CIQF)fRzTgt8xUt6gY0#NMujsz==b<8;K5C$CNNg-eQt|090~>uke)$ zUkfMc1*tqkMtfd;6ydAmh(32w73Rl=ubv5Qt1$oHL8#X7m1I(GLT>WNH5IUwb7bmB zGxntNn5}t%GQsqH3)rZ@bX090n8BhvmFKrqw0K$^c=`KCl!EYy@l{wU+!BX_QhC6? zlPi|%7O~YbDaO_W$K8zK1Bv$q;o?Ppby>WTi94^2>7H=7uf|H@VxGIiowo;5uezpm zB~%NK6^88`a{8;kgOB;(D8eTUQ{P=&PE6jB|50k=^+{s#E(UrrWce%c#2o>)q&iq8 z@5F9T;tsxNllO=5i4u3{X>KO(r#8yXt$3(gnND>poW09jofEvdI(n-eOx#nxrmZ(P zw7pydO6oIPt2;_{nJBV2*-;zkm$y%p8Z1j^aWXm0f2&t&{Aq;$I|f%nje2fx-(UZ( zz`o|s(y7w4^Oqnv6`trAA#mFHQ`t!Crrzi5nBC4#dN(|bZyp93@I)4Nk~J>zFD9?`b+MSBIkkbmp+AKgCvM|4jAlZBCS zacRj)3*aUF4%E}LPWg)VDL<95GBic$JpY$`DN6iHaVbjA^M9|6J1rR*?tv#j)%KQN z&?c)r@U0LQ`$Lyj&EF^A9i&&sN$Yz5mweLVUy75~EBxPULt2cCj-<60AE<1y+I@0b zND3cyIo;#$jZaQ@$I0n_|CfAn;$MoB(~=WPu}Wf?5DCg{0_N7uCP| zJLD79*W*O>1OJzNqT*kQ6V>DX@3kQ+Mn*@X+LHl2o1k_Z5n_TTT}b<{ZyO)JUWOO8?eH0XKlhi_bFQmo)(j~Uq-!Gq8Jv&Zf7x};B zlNkS!Cb59)(6{=(*oMp)A(1jGF3uN)vYAV|8~TLaBtJjJI#G1zJ7-kpR)zixre57! z6}lDmi|0Eteoz|ikNNzraA9V{s!=?~jS}YIDwXPF6)#}GJ+_$YJW59>tM{xdru$Xu z>@%=S%ydaQujZupB+2>h zF?GZ}JoG{-o|KE#XqF~NX!kdq zHpt&%x;>o`3wMFyjYxx#n_nG;Q)LGseBG?nM*Cp1c(YQ4tG2hL<&kExvkIpaK-w1^ z0X~Y_3R9EncDTD+hNkexsT$rpB$B-zh6C2K(?kV<6cQ4Hg*OcF=_tPQ?5>YPCC9Q9 zzEa~ph09X?9`=eJc*{tWqqx(*7~j|9PKLdSWvs7Jf80gYSaIw!*1tmA>N3`=@NZid zwq$B<8O!9UYZ=Q@?x37(CW&04^!@imQa4Uqy0C?_H3oV)_@9 z14~bNvM85*nnbnR23=Kj{tu=92<Pt%dAEw$*^0rTXOT%hCs-g;W<~`bBIt>nN_my$vZF zNbg2Q9C5({g|lQjCDS`RcGDfgKRkBRo!#&d(lT0Cnjh=3E6Qt)8!3t9jejZ-8S;>4 z;r}BQ^=ILqEOKOrAoo7G4lidT?~INYobF^3u3(1ypvEwp7F{kDw>nW7Z{+GL|Ca0| z?LEb-y{4LS$GHqDIUFaxigKI<>-py!?djHK(#I3*&n5cYMK#0uF-XN`CS*tH>xG?( zwB2>kc90`vOft?P0f~yyU;#es!r0bMXZd$5>C!(}2UWVrlSYrwIT8}Qqk6kDsHAh=7j^}p? zluIKOd0#KM8=8tZy-LBFz`LWghChLE9$S+0Pt0}4Pd{GdYf*oRt%sID)|;mJ28L*pzR<7 zkc`S1fXOG90a(f%j|LE+4w?Fg)&S)hEOfQp+;>Qu4s(KMQNoU^pu6kax1XkiPAT26W^lFTWtbg zb=xL>X|(B9bj2oqMl`yMc48BcL)$?%AsLmk36oDQo3NBS18t&R^~h|bqh`QnOv;LF z=9>i~iL{y1X|-CpO&Jd7r}^;|GG}BQ&cC1uGmpb1)rpDPHhIpnvBf4}>HCC>bk%n2 z7IuW2${35ncyO!2D*h2^?F%?3@XBn-nKrd?+Bw&3EAAYGz;(|65o<{KHC|5<)bzJMEv8 z-&%oNdv1+VPQJD0#aO9e@m1MmM?P(GdSV*{;bEA}96=LLF56i~2T|I-9Y)ig)n+A& z(ZflTEKCpD)lnOnB6ZXZ=++xz*hO18W&?DKYXP#g%UTe*1L#9B-4jdk_hY4SZID5A zZFQ09FbLWbXMZr5st&v&`*4t3e1PQS_RZifNc5j6E+=;JAP>7NdU3`L$C%7%_@r~*Cg36;7O*UO!7 zvk$Z#q=dT@5w39;->N7E%AMLK-=)H|-2(VclOFE?O2+e-aN|LJj4~eY*Toh%kpmUA z1x}>3N%OF5fuqG!&lWg*&$hr_fXYBy;ONP_1 ziese8f#QeO5t0JdvPhs3ZF9d_R7{#jT1A`dPq*Vg!Pmqd05wKs4WfGp=)P2t$;ZVb zub&;N90h&ld=dR_?FH!#bvRUT7LF&VjJA$sj5$Lb`wE$B#5U2n+13%P#1cpEjlGH) zX|2i5w&4j1if+*s<=_mQ3w8req=FNzcWh?acpGPM=qM!{XCRSoGFc9Qa^&jL_A(`S zG^!KRCIq9S%BWbj}qdboLNO^u9c-$ur z!I=`@%9QvPsgky%gNzgs%3Ylg^-yd_)0Fpb!89Kb-}ZWG0+nT~UWPp2+E^3vxXLS% znc8$R0_kz}@+fFTy}E6>37JC8q%=9Y6q1C%LaJjkeeeSW_F&G^gvbu+4CWq7btio-);QvVg)Vvi(v)W=Hh_^V{h|W42Rw!e zCCE+5rX8CeU)%=*PA*xy<-83SZ%J0Izbv_A)uv6W)^EA&44QG);4N4$Yo|IfHD1N3 zXsKQ=P11^A--T;7tv(ORuR43}y0u#_L(qE8+AZtXz@=m7Y}k~nN;aUicv{zvvb)2Y8>I`x)zb!u;yPTh7H zIDtlmj@+!2cHn`VBjxH2kbDWw+MJ@5UTN#)$#NY+{u|MrN0N2b5m*f__m#$LliQV; z1$Q_g`n6+tjOSw5dQeWztTdZbE0!+ZxpU|6_Q~ntT7COcXa!qnEIo@^{t%27)t(WQ zWzhBVqacX)8B(m=EeH3*eOwZ`N&Z4oX=rBqkH)v$GdnstZMt5aO+N~C5J|q7(+YzM zWLSZWWYhGQr6)Rwwv3O$$L+7{V|zI7fz}DtAW=DZ*5c&M(Q;#CD{OAq3iOV^U@VIy zgJ+!u2p2<{z;-?Zk(?)?{=g7w*e$g`HEJ2EU_Uw%KV?piRJp20M}AL!ptZBNC|Qvp z&gCkdzQ<}zUrkn zS^7Mmb!9*3#2j2e%+rvVr#pyA_kkBKdfGjVkNYx&D3~;8$Je7=g$wuN zJ^kzw3|uP`Witrd!o;?Mpy}?#izseW{sinl&5)rM2W}ngXjtE4ayGWX7SH!&pU*x< zp5nR2M|7Ky+hOt?Xv-V#bMG)&4^`uLm@J1{Y@-mW4BKHMx`}aEw!dUPeGTah3ex8y zQO#gmV|o>o!`VE@{$zZl^Ej1>{S{&eN!VBhIBEy%+rT+K+bqYnZom=|UZ;S|M{*{{ zZI15)g*g{ME+|lf`5cv#-fm96A$?R@#r{DIh<8(jzjW}VWHSxU+KqGv=lR7@ntra+LMldY^b@L- z7l`XvF`bKVl?dV@^eD2L!yv{D8lP@K z#<QB1z{DOa9_%-jqA=YDmij@YqP`kDl z{&X@_o&b5p@+)ae<)w?0%N8e>Lxcokq?0hrLTnWxR~RV4@fP#Dctk_LcqG6F?6-xn zKCJ6Jk!x?L#AfNqkbwa4mAVe2!AvGSeWPK(KB%LOHvQt^sa!`Ajqajq(n9PO^JAfH zb-DP5pb8mslvuGpWsK4~oZkOr;1Cfaf@Q5o5ll+?A8aBCSkubmY*jRTf=O45DdauKZG zphqi@!lEKy@?q=FR^O&!0d7y)Z<2F_7+)PFckbt2L7fGe=J$Kzt0+HLn6P?}(W2XR zp*XmgdkazME~jxFl1(}DFuCM14@GeXEmJz?4k7icRUI1p>*L zlDA2b)cT}=R(U!j!jgjUfH<%I$5gZ!O9dvi{udCbnuJ>`kqJDj?FU$?07WT5i!-*= zr(w~UEeH$jgU*AmNAmC=EEhE@rK$4bq&(gzC+C#l|7B33qc$?t>Zlpetv|%Di;}Z` z8?FV&)-G#7WK!$XFK$B{o{E*iwITDV7MKaXhP{^}qk&*Jn63_dC;xJg_k1Q0xJ_aOe8tZ)q3RL%l_G7g(2&a8Hdt)u(AAl$Yj*DJrti4cJ)ZG>+vR@N)SKB=!{eh*t`L73t+4PEX2!yrs|C2?z<--Wh( zW52E;8X);8RE=Nb{2J6^kt&ouTjMNd01lXZ^>com8>uI1hR-cCzyv#Go`+tBs(c-) z;Gm)9s~&P;seUz`TPr3KS^l5(oz#Q051Z~!pN#(~zlL*CE`k=_Xj zTOy&4uUO6f66EXn_l1M=4kaRZ_8P1-z~%acU4ndXRM&ZE{#{VXu>^^))KOVOj%_YM ze#U6iFCHG8|0L1qE~?_W*d@r%LECD0>1FsgopO!9P6D?6lrbuN3G$J4ddff2$r9v` z+xhN)LM7iYpmI3q2{MYqz9q;7m+1QGRuB{;*Cna%xiuD3-Cb)emU3ZBiW2sQ zFF~5$a*tN%it+Bvw--nfS;3be@1dekyd}sJqvX#0++wKY@N@Vo%Fkutaz|`@jnQI| zW}ZzHx{G#VgXcoqL0(R>DQ6xgmt5vyDc8y3VP-U)v;u}<(p79qiwXpiGbL}6VhQps z0S3yKAQ6@nOwh#=&H^Y~Xz@&8LTi9> zyfLP~C+22Ss+KiG0(YJ@M10Ry>2|*q zp6GZFddjWRQK%_q4N-*4fjqgep);d!4eu3&-ccIXTUG2~NDJ*Cw+y%-(-kde8LT$cg^+otz=U#B@zo zS1mXR;j5%#oXwU>vwiK39h#zwT*A}VO9lCY@xJv^d8&ocWLI}= ze#xr|fs3YJkd3r%oo7TO**-5Tr~fV)VM9&cmD5L|s&7CL%ZGgB^bsmPmn)}#Y`-tR zZKp5#)J*k3qU(I+G}E^9TS#NCR!$Ey;i}LzCz{JB&7rx^0_7c}xs---I>_Sa%Q8U6 zxI*so0WL%Eai4^;wzPv z8Z2&e`E=B1(=Q&rdTI}-a7__Y}EIbqcrsY#qb(|Po=)+)`v`WcdZXu%FWsGsrfDU zki}qge|lblBvGUJ^645X`ovp4{XbE1=YH->)LD>eeg`MMit=;WN`Yfp;QL04Zr6q4 z;9l-~M4`KACpP#)XgkQuNjBxo!{n07JS^opS@@JQ$xe50nsgPL(t`y8$(fS3NwIu- zc0j9q-3?($LEu3wpAJ*euI=Dle7SBCZmmQn@a5A*Sg8O-Da)s4xt33z;SlR4&Q6=j z6s*&hAk48chHtbCy8>$XMqcDER|n*8m(?M18TN{p?g_QH6f1?RMdn;Bc+=r;r-JF~ zz=>LxVVzKBoJ8fd8j^msxSWtavN1~fes9E=VNU?Rp^klClEpHtnBz&QT9#o6Bzl%% z@jYAU{5$9vTZW~l+(IWsuws^B#hL<;C)a^=W)v>N-iI{NGVJ>$b@Y^@uDi>yYbU$8 z3@cje#xksEs~5|#4+76sr3_n!{i;#RP-XivEPl#oRq8VA1M&m&7MvDRn7d`zAIMJH z0*WEauo;`u?_*=0W!S7cY<)~F!^#(Obf#t4#|wxHT86dK*Mnu)-vIH>z+FaEE^zlL zsMm4ePAtPB5dbM@8J0UzFJ{4-QfELRB3A79=eE?rmMfLExYE)}H?shel<5dpB zM{^mr=~{+`D+7E>u^YOv6gxj3mtHhohaBlo&*zL0tAe^lt4krAtGmL8N1jR%X%CiT zg$_n6$BHUqt)`+a#|rWViJztJBbxj|$ zF=E4$>oQ7nsICl@cZ}*%8q#Sw_A|(G4(u3L$X#wn2F>Gc*01yL3xDSwXhg*5t5|7( z3-<}T9Q(7VuJdJzA44U_axA`5XT=&kZgV+y;a}-(`o+T+Dt3oTK2N2B*4X9Py`XJ% zq2eLvbcSBhwD@u?V^sKZ>=Etslz*g?<=EkNzI#Fhhtp?3;SQE#qd4qaj$PAEPo=)+ z)|*Uqcda*B%FWqwtobeXki}p#9F<4*>^CdE9Q%DL`ovp~tw+h7`?*QdaFA(!ITl|< z`MGSxz_C1Vo6(|Q9Nf#@LKM1-s$MSE244nk2YETkrkr`0TymL*rQ9yD9Ba~5Y)V%b z2m}WQ&6K=Nisjhv1sEt_e?wSO5P%TNv0rAk+^yZLUy4#-z8w1?Rw_VIN@VYB*K({k zEMi@f?M72FWYOwIYY_7Iw-_GM;@r0a6ppI~^192a5xF$`$C&O3p#3|n6s{tfqqSg9 zhwnY;O5K~!i9@w4%{pPten5~9y^4{$ueh98nngB7N#F08_|ohb!H1~hpqq2(`S>xm zV!kJ(YFU~k!01_;#rJIS^SQtSwlqsmxy4V4X2mSciggAcPp%E=%qU!%y$ETdrP)oA zI(o`cr!LKA9~nw-hP(EZ>*tr?9@Zt>`GuZK*mZ)lWpP%pQc~Z5Aug&fiOb+obNVX% zm3^7iq5 zfiOVOG`w;E)OfzELH#%pCZ+AgTSr@itP^LL$4i=>ooyY@N-injim{%Zk=p6?T_#1t zQ!^_@Ya@6^Iox~)S5Xua2B%B{r&1~4C(a%8T*aO^1ZPTq6I1dVq{`ZYuWCS%`S^id zLR}PF(=_J^cojWYp(h~anJ&GW>C!7>bt!FOjUz5t=#uCE$cyA}U-%?AcN6}{RpWmo z6Efwxiz(ONwyRuwyOis;o?Tw=yC)uQYDYQa9mLh15tLo))yt29Al_+6v2wQ@^$+)P zNt`+1FC>+Q5})ojzU7_^&|1`Vy*itI5bEGS_hwEjTUG!W$);Poqr~z($-uGz!79YX z91HI3_Sf~XJ%IQ?>x{Jw_O6z&*Lez!iO}FI=@Sb;*|6EV6FxH7;9HVE*lep8>5$(w zgddg;`JYBDLuKsgkoYOzOjb>Y{I>i+>(!m@!8U~&3%e~6#x>!}@1;Q&0e5*NRB=IR zJ!F`FmQ1i=&X9D;jE(7^urW)zq^WemgB+N9p%b_7^L?|vz}yZieeI@84sB&Kyhe7a z!BU)lFEv$QwzaTc9;=Sdru#!DoD1w3ak&NdZvry|7TAw0@E)`2>+ztRJ=vMjNDTT^ zJjI4di&ohm=2}pgKKbd>h6xL#A3Ju63|-8;07je&@xR*al056xZ78 zigT9n5#4vhB|NS`mTl8pQ0HR0Y_(OD^Pp;c!s8OC#g>dwS}fsFbQ5GJ?yuMdeHQ5w z3fSj@`P?`Fvf*XW+h>32@+dNgm zxYNd&;l9n&+o&cSC^IqLXeQN(sqyked9q1&at@ZJrp9N6z>3S`iw1dG+~Q-E?Pnh?WMEjv)6T#KwgX7GeVswJVOAq=AY$wTtLhF`h3<%%cKLKc5@AvrNlV z3p{hK>M(uOKzE`u!0+34F_a?cC9Lw0z$z@0XQ=WO@k49C9OhX?ZiH;gmF^4kY*}L= z=LGZd{4c4o1YB2D*^^5wT5ApHyEwQ)6dV1DDy^UphPQlAN&N zKyTvbolw;`K#J@~p7?otU~!%-nTaT!MH)LwmW+pQt*6?R*L?#>MsN<&T?ZZL8l)p& z$xz*Akfj{eF(#28yb<~3%AHhV{HJa%v%xVpwu;-U`M`(cFb;?#wdu*G9QWF-E)_8S zKS*eQ`ejaU@CcONfHl~~SYMQ#bwf2oPkfzG@CIx|!rPqLM~AK(+6 z#7j@Pl{|9d1DxF4il&Mt6%qv~mry-dv2d;NSCYcVC57~qqmb61I=#{JIUC1IBW2TI z+(+_qeUnfQf+43A4Vu3!$oYks(eF^ zRVQ6><}uCkHO&>t;0Pkt!Lt@8XO5N|BU>BQ?OUNcBjpu|ERqbKb=H-<4RFO&BMWHJ z$hQAhX12l%!onp_HEJ1FU=Nqzr+ipl4VU!E542|I8HiX#mfKQV917uc$l`+1Rgr*B zkeslMl_4>cjF;&%v9Wy2+D zS%}x)0sYwzdKYeNzYEv4(*=D*R>w&JDmhBDs%Z~{d}l!K^gs{}_<5)rA7XqD)M6n<)D;$DjAsa{IKNDH zS49M*_^4w(l!LZ{i-P|O<@jvkUVJnolFzmW_;5xvg}^r-n}lDI%`!Aeo)^4p$L&Z> zOdmr!`_o4`xx$KcWmNqp@9QoL;YeT^_bmsm7M~H;x3N?&!BxHGdPA^W{Yi3y0>D~qGMyBx1F?&)`|30%b34kX<)ybwbnS69> z4DJg;@7*lbw}TN0TO$QC%q9TeKOg8)RotyR*comzms4jzdii~1_)2ZB&}0@sZ-sHt zvlJhBx`xr7pFX~eY>Mb}7gfz5T>*t7c5+Tb@gOshOv;&o$s?B;SjsIyGYHoS$;(z` zMKA~R>&519Ndem<&Eb48`Adez#%rbK70a(Av$%9|a@peKatLzO>Z8@kQWIA^YaGp> zW#sr{9aFODA|F(;A0*pI1>X(bQdQcmSBi10d!58L_ff6O6= zKLbo^o5Q{><$r0Xr&8Z@-p*8am$$Q&Ti%YTOT%cjRUJH^NlCHiyQe_TInU>9QtXml z5YQ^$3W?ahV74fB$^Mjzx~(2*<(uKelt$p+Ha8@p>x(si z?NF#(=RC;(M|+y>EF)l3NgoV!xddhete1_n{$^KP_g3HqaN`b|Bz&DdqdKJ>x>$HG=j~csk12U>}k>It^ zi>^h2Qwreg=yf$iG%O;WlelhXV5$bvXLUQ&2EgBtbXAW;2D@{q9keK8Cafv|hA z(f~I>M<7heG+9GFMop@tABHcabWDtG(GwwtH{joN z{SaS;66ak>M&?kh$wwEewUj$HNL?fgTVdtFo0#A7f=oJWI!C58cM!}%Pe^rt{W%aaC$?^znuQQP2&(xB)mmt;gZG3K}hv1BP@ z?H2M@0JIm0G-cJ#r)Ty7Iry4UH!P{6ryO-%Nr5_hGvo=u%7eKe8kGcfTIML|esUg# zk$FRb?+>SDuEp*9$`49{mzg~Ctyj8aX7 zS}i}&di^|45*%XdT{6_Dg|_zl6DJJjhLj}M8$Rb zm6efHqh5J|L%J;`>hAU_e`DvA_vHkm(@(DjJX^^A(mDT+?bH83#>z8x%V2$Lx0T{+ z@T7m~0soiIg=R|X;D>Ny1^ftDhJR_D`lUV4fs2o^KlJZ?&Huei&F{4iX-rQ|)#}Zy zjfqmd`GV;htR>9849U1aCBuzMjCcT3wc_GD9$+=g9wvY_fnR!>4tAXX=ZHSUYfCt-ZYO{pgkS4U0@xu2;X2BQ zO8`3n+VZ(!U9;5rS~>t#;}gJkhgxi!hPu*)1h8Ef2a)Qdmif>fS_`ItEroJC1#AI6 znkitb+$mrU2K@6&ruHPTF0>>)c6vI}+Mk}vNfuK;T_ug-0sFfP!&eepCWE<81iK)H zc_RLG9#$IQxYZH=N*CrrcSHW{m0c+jY%Gc`JZiQLDmkKN_)4A9Y5txEHh-=#tec5o z*BamU+J}gqT|<3w7gfD+Z1n7UXj_e*>24Vj1V1faGBg)GGx_O?o>|I8Rvc zM6fRy?fL2B87>bHeeR;F8Kkd)!V!sJ4?*!DGmuQmnSse8ml;^fMdov5rVv>X259r^ z#pZBt0oxd1I|Nnm_}%+a-Vy1d({uE=g}QVioy z!~v^e;HxOZ*aQ15r@i!t6eop5v&{=f{PDcMNt zjl1UJfRI6ta)@3b8Dd)@@P?;vgQ`ByYQzj*99W#k3^PfkFG3o7okKL>Rb_V;QAT$z zoOm_#qif;Blww1aMf85;ERQHMUeWw~0@)UlMRXDGDx8skXNL?T;uz%XB!fx4Gzr7w z_)JpUQD!?baA+n}LgUX+X?#3k$fY`#(AuL+D7s9v3^sSZRP8sUym=t7IAdAgY6W z^7lQcZ^k@N-ao)tSC>l*57X4yCs~n38 zUm;wemt>J;B!&rT!jv(UYwZQEF;H9I>|C} zG&#RnMpY1*>SDvPj9y^WGCZF>%LqT^GfFkfs4PD)@5?j}vGp#?=vK)K+Z-Y!%P8Y! z`Vwr+l4a!VCC@T)y_cS!2G7|7QiHOLtklkLmeISs{qj!Z-Ud}8rg3kj;@!(K`gHr0 zf4pjJdM;UQhM$4crpBvUSOP#N!&xWe;Sw_b~EjCRME(u+<1R?VfacO zE0e+8XBkbzFi*t4Qmiz_(>WETbE!=&qM#^bMd(RdKiOU}w0=e3d$5O{TzCYI}tyQ;=o!BcnY(eLR)oheV&d zsA>l3{ZKd}%jo|>@gOshOv;&o$s?B;Sjt5v3&~NpjpL@wuNRxcmkZb)X%6$7WpvDT zU6I||q!`ALP{}ct;HxOZD9kcC-DuHIAvcXvh(dSKPE2D3v>jv`l1(|&FuCM14NJLp zbA&P*X}1MHvnD;o#&URpAacgyZBk?zT^nG6d}RmWV8Jv)WEpJ_XqB(*2ox+}eGjsX z9Mh?YEF(t?BEv;S(%ADXBfos~pbz>k9!|{Y&V>_S3H|6=I5DNz5M>$t zU*s&$GGe@<`T47nZ6R4k=i*sK)(j&!hr5m3q7B%dH?JtNT{&W<-^D)lr{CdS6HeDX zydz(5$JTsj6#2D@N3|ZwBsS+6MZbz+p@^vb94ifQgLFhxc9o2xy(>)pgLFhp^cF%T z2cE@OQFzvoGZd3ibcFFuubzvTNI&(#T~tN9u`!VZ+Ex+ow?HAXP&K+i9utv_%pqQr zk1oV(DK}>sMdr7>(33KXb}wKuvV!AIG@3x%`4cMY79F! zr0gt*p7}D0@IA}fDdQ7m6wy;IXNQnuOh%Dd1Cv2p3wiegH1}i_;cG@+T~bF+IqKAm zqKtV%>9ugFbL)7Sr@sV`5?W#&CA0)iBAXsBL&nuHkZlE7S4xdx>)}Iq9WK@=iTo@a znffaIm3^60sVs&;;6(5}`-m&jSiE(pa-jI3)i0@H-=O2rM8n*#c*|r1>5G9oFp%Di z{{Ti1TI5x|$^lU023dnBJ{>4-@3z>{*5QmLXP6g>QMYDW{p|G;Tc?d=s*I>srL)Zg z^zEXH=ox`HXhZK)DV}$17I&5;)kacEHqJm+-ej^ofy?Z!E^RL-cyNBBIx#&?cj7_1 zbsz5=T+?n`drr>rDnFRjCAvjaqyP4v? zNvff3-eOx#>#bramZIs%`?pj;H$ZUP;jR@_ld*akt|h6BHFuWkaO2@jZ8{k#O@iD< zK^N-PZPQISPQIBys{c~Z9?-n%*i0Y%Fg-cSlm1b2-=8!tY4 z-P+X&{I_QP<~7OlK=gP?_wuCF=$o3}2Ac&c<_AE4$`ri(~+D5+YLrZOQo_r z0V&V4=6y_S?v2%&^gUSPhzl0Fn}?#S+!}?s`XngI|E9B`+&D#x2zq!lD!HN15JUA8BN&t zG1hnCnoXcJ%A2w~= zuzAgJl57T9!wI2%LE3^|YXSyAbW)}2c;-I-NA^9_sgE(8`lohvYHycL-F6u`fdSG2#7R2oWk{i^XTH|U}$({#N$n|=-IAYyzorxgYj zIP(BxB%7wcEIrAvt-z`(0>!)6a8W4-TQ;=}0cLz8fk*-F?c$GpsB`0l%C;jFEgZ{DY*wWBznaD&^vUtw?p1#fU}?~ zB&~+#N^kUk$(Jk5zog|#@1q#G=%DtS-p}XzzurdXG$YFGWQ|pj6~ryW%9UMPqBvg# zvFb>>nbQMX!N)=jqOnvu#-(V8OUd=lwid#98`aU-bQoxKu5V-%<<>WT3$7+$edAF1 zbtQ^1o4$SlSmT~4t!N+xINE&~Mki*aw4(8Q?#l{uq@SL@inq2cg;{g(1-q{?6h%wx zX&tOwu&Xw#Uz_{4*apjI-jkKeMr-nBcNrhi)gmrS`A%fnHoXOP8mtRcjRB``hpO>e z$}OnHLcb_2mZdDZiE&B_1P{!^phK#H^79Rms9lJCJ_6dPzf(ab3x-c+8dmmB5D zrij@929()2+X7gF8XNcYm8N+#vjnM@wJ)|o8j4$4bi@~dTe3HEBX z;sylF^Yo|RD_|dXlCL143Kuvtk-7BcfL8emlCWIiV%m)3KhQd}G&;I<8$}H3Gh5|# z3qy<48*3EAe<4i}*`9Tn2rjeX0XBsgwzq6V|8pJjWGD^M#~tksQ75Pee8QOSs~-RT zR2MmHkaxY7xxQ4&)id~Y4@Q*rn4NExj;V80e< z?+n<}oPuHdS0f8Kwr5Ns9B~2iCnQ^G$*NHZgia=BbBD9KHaS{t;=%^Q*mx5!-hM@+ zwFG35wWNNfcOhMHPZ}prI7{7XRiMrM`@pVam&D#XGWO1SYSDc$yb>_&UaSOHqTxSB z6sH!QpZOMbl*uUtfjIFiUXaFh1(XC9VZfi4N69xCh)(r2d$8LW7oaM+lxe)JHO}Ra6rEh}nKIPW*TQV-=i;HWY{x-xbg*$BDvq z2-oK&S!5ascP>rZlFIW_puv}Egzs4{&rw&y6T2Y|pK`f8gaCP_QQI)~G(>l>=v~@6 zHa$s67oiAtaRGwW8tnkQ9-ocuT9ZTCUsmXPP_A>rF<9P6jVAZD0$8rPBi+UW0qd!< zk=9M~09Z8!*|6$KtrsS0^nqfUv!X8i84}e*`GT~^%=bI6>?3c zAXx-(4HTn9q4M}}vZ}s)dIEx%EFrBr*=Uv~N7%{bjp=P8Ih^Ul&*$Pl=={bi=Ix^8r3FX z^ucQeA^iyPJ0`KrEXKqpOpB?Po7444%$ge;uR*5Fj?(yaS)lhzSN=C=AZ(UkEW|@s ziy}E5evn%**vb&oyyUWjIhSKid?|erLpTuP5 zcC0kOeP{7x=DC``Q|B|PDbiF1f5;3^nZ@vIo%CTPxNVL;d?w=^lkSb`FQ3f36Dm0- zGx$nH4~3JNr)FSE?Y)32uGdn*3A23K_^MaC#T4cf)C+gfPNp!Qg|^ix%#HZBZ3-h< znVZ6xoODfLEajfzQ5(s)mai0e46|MDJb*Syysdzt%G3odCUENVS}Iy>=6h{oV~Wrm z`M2ybsmhlIK29!v{JQc_M?lEYE$IJn2MpAye%)$q16`;+XCUxh}#=;c`92?yHjP5PP%xkcYC5I-FDFu$%sV-j3^#A zR*>$vWvloZG}tctnLRg^s*nIJT#Wcrm&hH#5>ZBt+p$u(cR8BEJ!|T9NWfpRBw0HN zlcMTqqWTgda>!yoIu7j1S`yt-f6}{lUsTsP0=$>x;1*egIezp2@KSj9Q?pdxUT)5& z_e0x3I`~c^!ikHFenGiItvr?NaJ)w>WVBVR({Cf%+ze858r399r@dbn8%D*fNlf_s zmF|GS3Hm8Q98zm7VO$zjJV(&udltt11$2ysap`Gp!nh|=q?4`<3yt3%mkqjRngR<) zu}jD*T2^{Y*1^-1z%8SU-D@VGfR<&@mvulItMZf7PC_~ROz1C=(Mo`G}Y6cC6LjV3%TwN^mZ-edLFWkhg=yWDD<-j@+2VS+B%BITX~?B>5&Mt zPGAC(u&scSQg_nl;rIK~Eu0MDOLeQW1<&Tyu84IPWvrX~s980JL1OYXhLr}m-WNyB z)^nk%(=75N!_TFEC|X?WSB{rn2$dWW zGkjGrJJORo56gxx)>X~`q2bQ=dOu!geAlbgB4+j)>W90iiu+=dKyQb(Rou4`|F*@< zBr|g{Gn1DtY-lO>%m~$yjBLf!0!Lzg*9*!h2D7t(;R=pKdkVynBUH3FrY0ss!XWrm zN%o%%;(tS9ssg*ULzx>rgq6aL|Cnq>qs@)T^0}##{&#tD^!=#5aby1;ao5cT)kxBJ zKw)=~CO0|yArucXlJ5`^E(5@~s?4C=Q{?1GW2%(3s{p9A*;=t$KSI>GS)`~nYD$z^ zd%rHGM`CysL%P2bpB@P~A{Ey%JtBE}rbqamO^=2q;fb%+DS1UI^IgfCMUKEgrORQu9|@ptCg~m)-CfevC6T{ zmie-`WF_%OpJtgawV9Uj5?qGzi_XnUB_pEeTU(%N#C&UGU~xX*$|RI-KpJ~8-|Eli zTX_*Vvt2S$b5pO=f%L9Ty>37b@~Ic&3C$l?AbUclUaM*9HEFqPLr>7=U9Y}S?ySo% zgLS1XsfuX}`_P}hoOea|dfm2d)3;s4dPx$uWs=Cx(aS*Hg zqWArSQGMrF?>?yHnAqVfbx5&=?SHPOZ=8^gwr1yZ+z^9XR2{v)UohzNnuVAEK0y6- z7ge!s>;&*3Xj{d$x8mQn37}+pZUSiX+=YKFCLkEyf6G{1!a?Z$N`D>l@!QJbYkH;9+{28$7%mq2iSA zh@mS6O3cZMgJpvq;9mtL$mWLVsbO6=*iY+;@CU}PQftY(F9Hs$9!WRjK#+T!Y@~JF zJb+xu8ymRYlkv-fY_&HUtX1EDyAXfsoO_P!bTptn6RJi4+S3Dzb3mI(BRvgi>BQXbL6Ck;3Kz0l{$AK*41;MAIku4!Wb_Rj$M(G+LUkmarY3*Pb(|b0I z$#)G%ke%D-nc-75x(B2;tcRvKjt1J7I4gDUj-( zHj!WbX`Qo83<$cfuz}|J_68*FS|;s0SnhVR@NF?X5@`7rtTe!_wHPg5OBU8pp)#|+ zOpS8sXGVcV1f8?;d|n1hiF&Q6WCL|xte04GjD>#`Az?KxurX z4qSy$`so>zHkcs>N>2%C3p8lH-}tuI5ClwqFZIP;v=f;80ccx=$&>iE4JI>&>WfE| zp2uZpN!5F>ozC*_43cd#9gq@v;?6Y1Mfyj@PG zS04&G%d$Lk$%4OZr>B8z_9!+d$5TRA{RLCH*}3%@=O_G}m?uG{xe~}iXuEBJ%qjvg zlNS5i=_wNkV8+}u6yK=+$~6tOlw018pO#{4wN)L4dy^9H{Ew!rw?iL&a#p6SIOGLR zS#PGI#ZfJp-OqJe{w-NS&ini*x$`=ww z%wls$OuiCR`1~LVzTuDzt;h-nqIy+umpT~m?1Th4+?SKkp)VFtf$vmrXhCmK(U$*z zk5SV-0Cm#qeEz=^Qps-ShV-yb21xp&J?XQRkT^-_Mm>`S#bd~Aq&04-Dq{$mXP3Q7 zPETcJ!%>0MF-!MhPJ=}0~J4O}czM{-KpcCwJuFIdIddeql zzbCP{B^Y6sxm=gOK-)no`D-G=1+wt1>VBZyF(E9LV@gQ{FCtc4Qon^)psb^!Fmh58T3nrwT8YRp3Ujs&Wt4{Cr&Mc=~t9 zrT+9SoLR#4>%PGj;h$&gClS9X6Y<;!_&*%OA_4wBfRzTgg%$_+;Y5CLVfpyJ(9Zns za%Pa?J&W#(zwkyV5!DyJ6$kYLoZ>@Ktl;SI^H9kV(#Kco$Yhxm>fz(3WiVK0fEWke z1*GcJnE0siWv||gsOGn+C+?yu&W+7`c?{ZCaqeCCw=JO0*r~InAfW%db~?+ylaE#C zpDqmO_tkY7yV-|0m&cFyf=a$2RONK~ICL)}puaD)-7crS0sW)f>1iOF-FnRaskwP<(NC{v9#h6R7I%u~N8P-98cNvw#h-X?Gnd zNCFTa3#Pw=vC2bD&*2CC&M8aXE1>1&W}{niCX){r6ygqub(s;Ja8UTwhKl zOesUKVlP}3)4Z0}`9u+CiE0F9$i1r5!GSD)jOs2&+P@>&xWyfziMcrJpP}s_oqL>! zxP8Hs;QUVbpKF-JV#aVf6wGjGimmWE;8M+R77vlXDB!3vM53-m8HV@kA~Y*zx?+Cr zuf#*MA_5{+-x8W7(Ci7#;(HdFJ*xpv6q=={xe3iKLz8Mul}D=OMrdUA_-rz0O~~fW zbr6_+Y8Lhqw85f`FnH|*mwl8D2$Z1xCUusEk4u25s`~3j8yJ(_EE{RPa2{f^lE3+o z>;hnuB_Nyqtc7Fc&)_WRS?ATH>}GT*HifD_NMwX!#{!Gep|P1TU>R1EtuqWS0=By z537DChC>3--H(+9xV06BRd2*4bY84@R+t1HT8Lk|V^5uhfCYGV9R;ddkT$8oR`x=6o-0fCjkl7~l08fC&3NLj7(JBwH?g^EA1Eb36 z^jFZmhyd$8(003=_6AswYNw}xY<8+O4`n#t>uSHO9TJDkqS zSSfrcUCf6?fw5SQ@lL#s!kyV1S1FTqTs;u%bukEGk;ll1q4=I&R#wus-JxF)DM+> zBSC~k=Az~av>l|7hY=AjWQA{4#{=b#T3g8AY&;Dp41=iom15ODw19Pr>Z3MAslNB? zB0Mf479z~zuf)USA}l49+Y%n9DUT;Sj_+A`{3_@e3y;&&+=RzZ8mUc8RmaO)r|RXY z(D=A7b6IV#g8=!VEJUETCfCEX@c6!J5fMtzf0XJ<@q-yd<#m@87$BdPjr2TeS?_N? zLcTlaQ{~9(XNM|BT{&Ah2L3w^{u_k<7QuhNuKWh=hsT<;uB5kNuX++|=4roLUz|sL zWEAFt%~L>e*MiM&g2sR`l`n(+GFDLVvd(2ay)C^H_HgUB>>@k8s83*oLp2oKlc zE@%iMPvK!7crY5=P6(%X;3b5mCflmXZf+qP$Ht}`cmsL8+-TMz z=NFzEi~B}knOHAbz6NZzK}DyV)$wYRUx2v1JXx-bviw+Uk+j*InJOn$2#Mnjk6`gw z5Zdp9gF~1s@b*XCNSa+9nT&yZ$fDi7x44_}GtGQ|VF1T}mpP=PYY znm{P?5h_|7=!uL6{3ND(LZUyyO5qY+*qnxIU)dtAb)wG;NCA-UkI$kqUF2k@?n{MLCS7Y_^3#QSwalMx6;eOSLDvWk8K9v$Ss*wtH zd7`&EiW7XI_Z+C?GjUZT(}SR}d(9&^(OUz>gVga%BEmJ%!?&vWK)Kc35P>w(?lcD; z)}+)s^CA!XEb6(}5QTxE&PExS_v>P^D27|%oBWmdWKqCMX+oCCBI$}}vWV~5Wbq~V zM7dP-G&hsQGvKBhIO=yRpxf+}%iydk-*NBOhMm*Lo}Yj2AP=WXm4^iWXV7J+@)hwz zYk*B+t+nm5*{4{`3T)$eD{YVl$~S{1sFtqVMd1AQZ)GF960cM3KCjq`Zq}#tUhG~^ zCc6CGRl8W7Gv18U+>G~jAiZld-p@i~V#dpOLeqykxb&?vUIm+dHPi(5WqO6Q}|t7)h&~=^bJ_!2WcjJ;W>Y;u#BTkE%Oo+GaMg?@J2^v(0-!`S%=aF_N^z5ncsM9k){(t zXLRP=@)baL*WB{Up)ui>8AHe|KcCCJ$Sp5c+%i|?yi?xH90E)F24E3aNosX^2NKnv zzMj(-j+(E;8q6KPPIfE^H48p~JC^Da>yGb*PcnD>UVI{VOiwO%%*gG;9iPfojh66m zQWLr|uH?G8oUv@v>57@g`T`63tWvf(mm0|=(p8nKgVn-`#0HFCPm#!(oO(nV-ToL> z{2PJA`7(bdg!Jo3V^176-{zRpKBwExsLZ+Tj|0_RbK84dleuli4szR{M9zflD_bi3 zwsPM_NZ2E~o;1hwU?3T^D)hbn!}NcJE2RO>@V^ za7ip^9gUR+xOo)s0b6C=1GZ6I@nXLggKg}pQ`~HnW7db2^>4OKl`p$nwyds*>KI?2 zIu$B8c5&e=Rh<2+p zp>Z^nz*V#(16sY0wJQ9Bz#3kX#e83QY-zUu`}B%K=_t_PyCe?ZGl2Ped?J8JPY!^| z@maee*;Dv%D8ewI*z%dh6MfNS2hdWVVv7cy$npTAGXhxVewW%yrvE-*wCZ+rdk(~v z@0N|UZkQijDcCdTu<`-f)o57xX{Z_jD?c7soWsgY2IWM&9uRQpODeKJP%rgrG_|n2pxcM33^JfK4JkE9@+$iZsFW_efEH`ddzz z@VL4a<_C#^UBJ$WqmO4CopUI;-;B>y8B7vTvJWc_aFZy8lFzb2Ng-@PlHw0M4gjuD z;|Q{yg8+_>>JW#JM?fV9gv3{>FE50U?vv0sf^-*VjXq@~YIm(i& z9qQR5W}q>FEa^&ZbkS^UQ88lVEp`AH`5glWg|0~C{(3nvjF~@6jU_vO1Mpb&FuL&u zqQ%$AMq1a;4_cJGCXl4%GG)QWV0nJ^*ieE$4ajeLgLCEGc$d?$bSW5WvP#!Gu7joT5 zV8xIs(g4%PkfQ$dQBIg}wYm)&uAJhI^KNCt&~Il9opY%8cnpsORQv^28sG*|3>8;e zp&}PGAw{7NP_PU)Mre4kjfi943z@X|(Rn})M~lw)Qio{} zInwy9SAhjsJe>OBF4_rLJPO)Y!QvyJ2v)EtnVAENCNEuJ(NgYkubN2KwfyD4F_>+8 zF&M$d1qDo1U?UnwAZ+|86?KaWTjj7(_ynQSUXlfD6rNeyss%Ql3_bI~Mtsj;;}|{> zY^0~TfsLncFE`sv*7s!<9O@ak0oRC;xD(%qll$H^ByPuG1Le(QC@nnf3Q($T#c>+=|HsCemEZeQkzLH;edMDF2p zF)R}B?bBFkfLl&6d|SIJKr3)}K5oJvtJNoxYX>QNWh-9#HMoL31GKwdxV;PGTYT)M zJF+$(yXj7~RmqZ8H%aYJzY)V+f(ic@YWU`&3QRyD1j2+*P|;$YiQG8-tC;Qy-T66I z3fG-I(4UalEtnagAA2taNIJduweX3cbde6AEdR0!X5Rx{vx3=$Kv02HN&34NmlMm; z$i^t?`|%zJiNfg!hv~1x)6c~qA*E^oiHAYYd>|3uGmy9vp9mz<)7*f>(}drxi?yZD z1?k0}@M5mf4j>|rFy@-HBgBJp<%FlSywQ#2dBAVCu>|77O|p^JO+Ah?T6*3&Jk0u& zj$+q(0uK*kE4=v*IniN8W)2-*2xNB+9bOBK33SN#LFjM;mwF*Od=5j0cqqLK9!f(@ z;2-yd{8ySz8DRmDZ%5w7NlBe|m2W z6A28w3u+XA1_1_;*@0l-^;ER$Q1GFc?g<_FXRH*iBke%JM}z6=E);w*eAfyEAAuJI zQYGpCYjHUtePm;l^!=!gLqXwOgkSVm;!seG2vVvRDEJc~*9QghJ%fUWUMHX+J1L65w*j0C16Pr03~U zxn6e;|FYhsXJE&A0{?h|pV=KJ_{)gQfxlyc=&pgkP0*MCe~cRhK91)SF9d&UeBh5O zv#3S*bUz zt`ggy-V(!KLI^iQjRGVg5CX~}5Ft!Z(XQjex5ji&sLz|RQn>oGgAe~9n6B>P!^`2j zR($vYcu^o#lKy?g<%IN+jZxC~Lp_cUh2Iel(_e|>LosMbsao*i=YU)vKE(G7AN~lR zC{##KbAt~lR5&?3v6Uu=crJ0bLWNqR9biNyRH!xS2^DJPv{0e`M!GvfihEoS_UMeO z2ZjotBpaERP@&#GhU~Pg#MqVOtUu|&*tMQuMP*u`cgTqrGct2%@eg1|T|og=;-mv_=Mn*)AHyLrgrAF*2DoJuBfwMe;Ol0sSsGVlkEg?z>u|)I zsRd<23EHeJb)nT}1E4-v#4v{j@Jpda!9XttaAacO0RCJm+I9Fg6Vp8*`yE&*T=om9 zlfH#sdM!mohHRRd<(eTF=G1{*~q-a_SD{W0k37fN&gc&))Ty@#P-zgIMG^0WDc!;6^QN{ zT6@wB;9mHK48{#YYhU9MFGOprBwBNh*<7vRs+GxRsX7T+e|$kt2XI|zNveLjKXeNQ z<$duV=X}MM{x=^nJyjt%qT8DjKF5ges2Ki;QT+(4G{9}A7||_SFEMnC=O=UWk>#g_G`%IhNdt@NnGBmEyV7pbwq^Mj9;biqN&XNz+m@K z6&PB3uWY1s-8^LBN!Hj-hFM7LB3|f64yrG-4Zq3@+~URR>swAp9(C_H~nUkNI!`*_5@@elI0I(qHsdYjKmzod?%3HHHi6B)2N(0<>ib3XcNkr=T z5X=;$zR(`w^&m!!B}?Nd-XpAKxl`6jX9-6~<9 zD~xY@^;v8eK8^a~F4_T_OV5P1)zI5-Ky$5NPBJvNUD)KOYrC+e+>u2ZBS)iFVNviF z<`=x+kD%uf1*`?XDxfD?Od#~^qoT#L4!L8@zk_TVno||ltqDjjzelf*mBJ1DbX*sZ z)-1d~+~o?F!NS6T5mdl^g@*e-Gr9q*<8O69NPl{345vr|UQD9$bCjP?i5%^+0z_^H zyC6@qE^4`+;)XcEq;u*BG-mU4WBrTXw_(y_!pgOg515|V0Zut5I z@OJNdd8}Eg!^B{=k-DuzOZLAco zGDD;&YwC5lR&&XcWPMEm0Ep~HlWPe+u$-|jU#P(ZCt*}W11~3#@k8LH zS*H*Sx?K#hY~tJMF~U;kdP3qKO0|n06zAh|B@aY(gCnR16B&xm*ey}$?Dql_-Ha&YbIlGT$_Y=d=$^e z+4OPwVzd%rHiBLedZr0%c8!y{rABGuOt9wBGq36J1=79RN) zbc}^Z=xJ`kBg=52EpvF)wMh3_^~V=PM|g7`1V@x3Ck1T{XKZ92r3=Dpwcn(Y(jf3F zL%nrd42+EYOg7Sb;XLH5NDf;9Bg81;gORbKywC$9*$Z?D>@S^X`@BeZ2|CZb87q51 zRUg1H0wW6oi}S!pCWmx)q_HP~k%O|ph!BJ`UnL_j7Z>>v=up?cWiO%zDYsAqNoalCw zoTIW(HpOsA0PYP~X@J{9aWG_<3_c$W;i@gOO;A0`qfGW@JfzrzY>(;*2TLPR$q^61 zSE}wGAS1iF?r+y ze3o)Yig<`i3#2i(3X6iJn_uvvDVp6}Rlr&W0HVGJ0>E`tv};k3e}LvxC3I_oGQasC zRth)IWf;}i%#I1+{ukDMjY!D$>W=bcGDv19;~}&yG^{2>La44D32Eok{pml)Fok6O zIg*N>c|2VNnb&1mN5(+DAJaYIlD~(Q!e#EfCc_;9aaNIrO5pbo!PKk1EB$Mz77+n) z5)=ls^@&XKMgARBp;!Zx!}l|&~}jeEhi#e zV*b2X7 z&1?^X>&C&1`&){Dx|=^sO{M|ncEdjOQ9Ura^4GGFp5Omx_89{Tm2b#f{`S3Ma7S%? zaB(u&9K4eG&B~+l?QV&PKf#mEmv_i6*-}d?KQ0+ljLLVw#P5Mh@cAdT4jnBwMz%Jp z+qX_lPmVOFA(^x`Is3ZV?8__Vmsc8J{zvbZTf0ron%_=8j8)|4gZlS*?^pc&dumH( ztIj!Og6eVIo`#2#DqjcMGZjkz4jVu@W;N3m{MN15OUrIi2vfcc864O5I6j!uUB@0dT_>hGNAbHpSgrdbHWH+E#jI zAGqFM0UgW}KaNk7{YOu8kmq%BwuT7R0C(Y_axi;P8e<@Wekcc(f;J=TSw@q)~Iu5x^<10^G zoY0>u&nb;JpoOV=ZLB(8W`9~U3Kvk9!0Urcr)S;j_P<59y0-jypKPR6@3j@6z$hB5 zr42R}X7-H#9A9hK#XikN2rsNf=$~pYEL^_pwJy=)q%dqFkT-^Z6jTMramH@SeYd-< z6rYDD{Y%UJUpg0>$qhLx;74%V{7dV!FD;W_T4sD{mH$hZnqO)i(wLr_s?}l1Yob(d zzF@l6EH`FfhHmZxm4IxdFg>ENTrt2nqltEJX~{NO?tyPbhu9xF_b&JM=~S~%NcnGDzvPn>|B@!BJnVMY^u*wMn#(d4^q4*D=I{3d7}&Uv;MC8 zg!;)ip?=l>C7)3Fm*Rx_sQ-Iy2$hl1kx=*3AdO9y`zR%Z6t&-U`Tfq{OP~B6kCWeC zFY)1})F(gwB~5<2ohW(-PkNu8;{Q?`l4AsPBsnGn1~+YTTS#&fed2%V{TlZ7%O|U6 zLe&U-a;E=FK3VZEX|h^Km|OOZ{iXNqeE%2QkQpPSBbn`|O%iNU+l!YFeUpFdy&LiO z&L_F8aguw1|4Tl}@h`jsu` z#|9~jWMM0;Jh&3`Tkb)Jxsv|$TLnzU*u>so7|{4Psi@yfPQutoW)ztDQZG%8)+Q)8 zny@Sv*qhgc7meEZj&j{<6ony{6K~ZO)U74h0j}_ip^`)4@l`h!evQ$dpT3_l2A@sz zxr?d_pY98V!xK8vbD?;U!b>LQ6yD^KOW`f$jtx=-Md5?WgHD>?DpvSK1x$`q_^Wwr zDbxA&^4!@*8PLUO18}yvcy?QBGx6DNdv_7&}&t{-Abm|%M7s!#JqblWH@wurMB1U0P$L*JwJWiUS3V~ zxr=sUFSF2gkiAGI@<~ZFbTTRXqbL7Tnc_X<^X82%~n)6}n0pg0)4DnSr&G0)$dv4o8 zQE)SSgy?e@?Zgbf3vCCPp=46d3{4)n%+OM9FjPyVlv}}7z(C9|78}TC3RoR!AQvjJ z*vvH6;d(S4rT`1rQ`4{wvkvgBDFNGx1eU5{wHpStlZKP$md8pkorWK+wxUILxs_jw0l1VxHFnQ#% z4@TR^3$BqG8!rKJgEQai zFdaryN=l=nRsNFIs!op8lF?}>pa!3;b`%hOAC1yYKDJy%?68h4_$tbF_CO|xxCQ$| zikYl?#%R%P63XbZgD7+t?ZkSng|>sNN3tnrJtmi2)?+ERx*NJ8Io#?>b6`^@rNuUN zWr2tyZR)T1nnkcxaif|l*YT3x(&R{)XHTJF>60(3amhsyF^3Y1CX%_NzVDAxUv6Oc z5^t;qhOfG7U=J8Ax~)bru+I>M?xLL-*gr$tK?Ww-lru1sOD+Smlsn&VU{Pu#RiV|* zR>9m%x{J;2T?GQmnVYxCbPpDM`g%YhkZ<9_2)mk#Yi3v>0Uu(meu~8mKMa3~P&(KW zEMEug_dUV$B#u->PDqbuaEj3Hb zuYhj0Svym&HX8s<8i-*I?Z0{k)bQ=rK_+sUBNMwU^T=&`XT)?*$o_P!6fS#Z+Z&TS zT zEJ8-@LK5r8QXRDY1eE^Hg6f`KNc&&Zx^2A4@B zXyS=5@dS@=fU{g`xN>Rm(y|9LEo&>;CJk%qie6UI+YCq^@ zzOmP^M4?;zW2JE2+5`2<1JT)gDNMrS#|P7;;_=8dqZa$J3ckMpY_=vE9SsB(NR_02 zWN|qGzLAYl(hmaP!YK*g>aWE2o{I5OO4S0sPX=;*w}Rq(2EH%HC)#*QPjdslpPeBS zd2w4D@IE;RcpHs(0J@Jd5tY%j9dJM0*-sJ6_mt3$ssVE87--jIBdwRt8_+g5XWNJx z3$n9*r8i?2djhhLEKmt|ws%G@2iUj2=1H(e5&kDL&(jq8(KV!f2Q(&-He(QBpmDAa zg-H9I;YeFbcYaa!6NqAI=jq!}9&oY*7mFALiV^m%WXz;lZ^<-kF46TzVmKub(1)?o z0CyCQBz6T|U*tpA7Htnl)^pIZ)TP!OG!ClyU<|_vQ+*z46ksobsZcP1nCb&mwCjla zhcVp~`t%=IDO{i0LDYW=rmMS%`fm8H6;b~VUKB``r2p&UazgsZ#wh9g!7&eK3r8e; zslO6O)M8weQneuJeO~TI)cBqu>Sg#uh?<_}22rofkS0I3E)Gwh6ojX>raM5>Iq0M{ zY{$}vIeI9NwDZ06i8MJqAEePSjy^{=(zQz8|*PwF^8WYf&afJZRYOVo=(E07*(3$sqeu487hF)pb>Gdd!{`6Wd65;BL zVe_tIyQEXsWI8pMp!qd1d=en%l~`$j`-NiAyuk;Wb9x>QnY-Su)S_0`n+BD9OAMaWD%vKR}cR4s7%F(B6$fX4R>Ey!yNLCx{02;66ct~w-i0u~HO3QVy-nQ;Y2nV3P zuuO*^T2D0GPwTM&&Bm|N8xmAL3MA1nR34Cxw65zlR91Ot1IWX1d?lt0>GuX5U^GEx zQtf;~YZ1t9%l)o%|8&VX25@ya<2{k^WT@(MH^wo2CsJ{}Uwcapv-HS#34Kw1(R;D6 z{a&o=ycY)x6VHr;3sIBMep)dq0ev!l)%#Uxzh9$_-J$0Y?(l!fcd8Hnl6I<3;W>o2 z_`lc2nLdmR_fTS0$KvArOrOlbq)U!Q9ce-7N06fa z^dC530&VCn&PZSYfHW}gLkRKngBd^Dnx{owa`nX+9tn*71*|l{?ZGiyi$AC5Y-6lT zhQ`KgC3Zv)f)Cu+3Mp_EvAI=vRY)^}BTDGJ2JU^e`@(bMAm1vK`(5e}p_3m(F@|p$ z`W{qr>}SPSD%!E6r0aKPEu`Ly(SrY_)A&cDO|OEBJ>S108r?-Zn6spRhPKs|nGfLK zwzGL8qjH;uOg_O#X+4|AQf@F*OC%Rt!BxPWm|t`cA?PIWlAK2iSPkXG2|eGYqW%+l z?vS7<+wt9me7bRQ90C{!p?1tYZI-Ss4=3y4jO7*Narub}+1_w6ADM|Nn?7M#BK}u` zBvwfM8>`kEv<((_l=IV0k`nlF^xQ8j*K5|Dc?x9X2B-WY1wf{DN=r8lw{9ZCxT!6J zN)A)QS5c-$$6j$NEk|ITZ?xy9k8d46m*{gBRn06t2nt7>2(%802bq~E z`9;tl)%M&5pxE*a!~{^m{Aoq_N^P$j!{!@|HvKemd!8j4-9EIsMZPQcVXRaDzm*K53urRAre23*U*L|qwUZ;Y3EU;SZM+Ou(@kuvPO_O8 zKm#Fs<~`u_KaRC!XpjT!x985ZO*PEjmwi$ISoJ5VPvkNlkKzFz{(n)RF%jmNyRGgw z&~}hH{)C8dnHs)TT^E#F*%|XC-#TpwjMSvgYf*$|e^kJ7G*WI(sG(8jJqr>G2N(is6uAmUh@8_;=jx<$e- zm_A88C;zYwc%HN)wGYm@2XwP6q;uPBuM-$pgtLg1_-4C-YnNS%_u5^D|D1*YtiXTH z#D7-eKSTJ>bCoiYq3krRxruYrI87`!CYTN+;htO+0G`~ySULqD&n0;813H*9{|kH~XHHKuq3tEld_P` z{#kb1aXV?zN4d*xsgrNaO>0Y@G6#KC7jX|$KZ4UryivLOZOIUmTX!zpegm?4EZjaq z$<+<7i?{2SjL^JGo(I25_3Nr$Iz$fxT2Y-tpH1Rg!zl)F&HQ5OZXfoD#nh`Y(^8>g2)@&& zG59a0?rYJSI$n7@IW<%(ml}=I6diNAVP9AqpTcqC2%JkYUd6Q?KJ$aCI_!WFJiMd? zhnKL6ctk|)WPK8E=YeJWra1f*7l;x%%{xA2GH3yjBESOwB~^=tcr7o+@hPB5$Yfao z!cR%$o;hoLxWXqvtM*o<`F5=iwHMKBK`g$$glM)WO-@^Ro>&mQ0?JNKTRjVZn-*Us z<5IK8I^S$lTZVMk&8%KY-gjoWBJgs0>+BsT_7AwwJCPw)oEqa-u|$;Az0f=7t2mzo zB9r!GS6FNrx5tlC%Rpt)t2p>6Sze|+<_LcHd#y}2jeHg7Yeb_xY100pw?JZ#RoQPq z@?7>O8I`g>oliFVGo;I2nTbs(J1yw6UPrbSJea}UlodFO6stI6IZEZz&e)YECtGw_ zj0Eu0O@}FI_LhZQt2j$vt*W_p}e%;S-V(t5dd0D;0r02_8X9P>AzO6HiqiBGhE zLQfXQ%*jo40b0uhiNCFgzBpQ1<=U>17(FEdWWHczywq$?hskoHi~E2i{LCo)k))8G zQWU-bD_hDGwz5n3I_CVWYf_y>VXf7uhRtbQi+!kbPI%*Fz0uk;+^UaMhKI4^fROYF zy1f}E{#vl;4wEqP3C_!>JLXj$wIHpxAX-nX94zT|IO{9alH#3(c&T&kg;hEV<1`x z!2{7E_(u`0SY>?-jOM?%-ovJi*_&cinaa2PDS-}0=t-ax1u&_zxi&Ni{f9D~{5rt6Ih+z>d^=l^-; zh(#{EIU{oRrZQ?>W$hc&{{R;e)-wx&Bv z(LuJy!{$oq<5ptty^=c5>COU3TP;sVPXZ=c@o-F03J?D$bY9)z;mX43PG}raAi(eu zC^Ci$ALG5F5ez36DNi4k_vKLAaOV(*F%TPEgG;_4`cNoJzQj_GqE8}0{n5vrs+6>G zYzc0|oWmZSK=nsB#j~<#_=pdC#N^>uG1F46>OI?mc?qg}sS03~Aq1RgG$_bkj2maV zQBEif_p!?CBK7o%5``+I-b<|^eE175p743bpFt*C4>ax<#IM>E-n~{g9Hn7n9BtXeAhEwi>hqysZR-Ufd%Hi?@LUwHK;#EIeeZtej&L-(mUZbDy!X1;nF)6GFeu0@l#TCraA3jCT=k391IN=nnuqm zeJi!{-1PC4qd}t2o-{d&?YnY&4wRjo#r_)*E3Mpa0iB5M0Y?vtBpH-iHPZQGo8>m7 zJ2i(YNal6&q~??+<&~}SM`th>+2En_YfQ*4aVO<9l@L@P?p$fmk_lJ>%RmNU)qgW2 zsikUY~eB#Tm(p>xP)8HRMH=1>wT-cFv>U>SNn*_KhtU~bAXoJEQ?)ql>>#qd=n zL>f6)mA=G!qs*OgIq$al6f`}l-gXT`Ch%3&k7K3`V3e2*-msC+gVANPR}636vVz^z z)Pf#ys5w!F+n^x@eTB=K*mSV~$dfQ_jH%_^SC2}I)v8AYg64hAhnckU_>~-*$8`jm z-eVo{ysPF{KFt%l@+fA?uPX}yRlq%51S|}$7JQ3HAq7Zof6;66>TwsIQr4a6Ee{5A zTvKFVOeFsUveSu`XJn+8{M}CK1MI3uF$xp&-R?|$fkTXZrCd|X4g;(YI#gWOW?Dd4 z4-H}q2&;h$Y>9)OoC^psfdkPSVPT=ukK-wt{9l372P+6#;J+}p0M(ubbHis`H=Rh9 zSR>%;2h*hr?)qAO-89OjuhL&x!hB+75XSn?0K~jl%*cYW(UR>^;zj3VSwAaSp0Fee z=intXomA-PN>t|lXcPWPtVK9|bLB|Lu~FtA%AW<47h7*BcR2MI>1!*pdDESf8I$$h zka3F2!Y!@o67uvKg}BaScMI{dhM~!+)#dsK^BEXnYm)^mBV2hPa3hjpdsjRztu}*F zux+YUfs?Y%h1JQC8%krWH;RL9q3}Llcu)>uzGk9YgQ(u>$VwX0mGDts9=M`h9UW~q zA%u5Dsk{$XHSr8CxKI!_gHJU3*3~Dc8r88%D;QX}JXm%1ITr>i;Loa6iD`gxxGx-s z3kVzWdg$Ya;8>9>Op!;WTAEg(Op{Y{qaX<-RdnUv9Tm_K5a3v&G!ek#Xd{G(?D}YH zf2jdS|4h}}!3Z3#)(Fd>6OHQLHmrSDTe!Tv5{5ruCe_iYK6uftm0?7LGXkhVO^OMJ zAD3;}8C$@Y*fP8!xEfRdwddTR)a;vV?}bqE3ZN#q#S%-| zh;$5dI)aULD4!z7C0KeKQXXs1ex^NbU+sxnnB$}?7ue+a@47r=v6b<(7G!M&tPdU_ zSRdpj4rBs!I@%r|>;nM@*KFEx`PQ8~f;C%q2iL6GzJ1M>9lI|g>DR2?w0YBx-8e+vxM|0h4a391#;x0fHNmzu+jneQ zw{!EF?Vu0aw{0EXFcbvCAZsYGFPF9eWCp!!z+RUSCmUlo@`P-AtWz&$I`yKWI(3*$ zr(U`noItZuZ;zLQN@-sR&R`_0?gPn}U?O)CImF48}^mP z>u>`t19qt?R=hQVcDgF!NujUIRYo`jN$g{5$LOBl3>}Tmx`kv;P^up=OhI~GXK0L^L*zhd_~Kp zY0A&^^yQV`RqmQx^5Zr6$?sZseFfyl$ncb3 zc5)sTW3=p|VKJxJ!eS;x4;_cb{097zH8dusDis>@ambe=H0C&)L!XXbkISVzJO-&i zl=CG(CCt}Se8(rb)65KyIeu*kpzG>jHB9DEFTDDC77Knovk|~di+GX*aFVZ}Lwu#C zFv`Sn=gF3WqrZSg2*4QKg=Mfn(uJ)0xH1L+wMx`(eIU9YN@Hu%hfYqdU~oc-tOXuL z??b-zN3VynT+_pBpeK6vzP2V1U0ji8{hg@u%GD<6Y z7-<#FM7n7Cd+8j*2~r!Br3(n5rXl|Q5TxUQSTDy%m?u@{Y#zP}Lo9IARSFuo7lG^t z0PaxVn#2wSoVI~bn=u%v)nJMR5)ab?1cq#IvVt6_FDYHjAWkIk0V32GVwMsf56LGSu)ijZ%4i01Apkz0R>TCtbK;VFS7T(dR-*&RUZb46}T^9Ch3|HxP37Z z$HNvh{Lj8P9rZPicG`l!_!Nf()_gKTjd02Yra$*;B#+?uF=S%H>tH~0-1sTEjH2`o zy!k$nO$SY@ zjDU7*o+Hd*Ujap7JRhuy)DlKv^zjQQhZw{1Uy?JV{V#(SB(>G9GT0Wb{eMEu z#!1wam&Z@Z@-n@Aj?+)xtd;4ekz2ssM58@vHx}?#C_9%0NJgbBKZ z?2b<^um!!|Y+JZ3gW)M#a26?|_x>qIKf@!l5MX5tS;UDb59cVAN9G7zDZsFsY95&* z2Hg_x86tC@3j7k|MrDA?_Vwat7MAlUKGDu&dP;@m(3C#k*Bete5RJePGZ7ZU!g40X z^hG)}Co?j}8J_bj=nfs>IVWk87_c#&#bdDG72%_@l1Y7z4!8pxO@H)zU{2EC*bN@^ zkAic4Cv#A6&gDRNvE`bwh`dP!=ZMBlcTQr>(_?dF0yQ)zCaqKJZbd;=Y&4qH4|kKI|sN#Ni70){^3WRo*s z=t0Qp5is<(?wVWyC%h&l;N+lX%Y=U7qbmGwx$7zrY{E#ecNJQ&(1#gslwhGF$greu zHHiz3QsM4bv@P*QZQ_5po9K!Z`UN8{Z=}#cuXl|notJ*_niRohMtU9PuCIXb7#Up& z?{K9fG|BEzkwS(zeJdb_(Om$Z0Ie$x6&cYOt<#mMMNT1RT*0+Y=8;xs~X$yciU zKId+wOMajBli%0fHM!)+Yx0xdzqsowAU{S%SMoawLg$oWoJoL-6N!Wbm3OKL|J&VA zmk1y86XD`J3!@lblb;BWch^@ygp3SN5oRan@y^DfPSJShz!vW;#+Gro^Lqh|s*$m{ zw0kqevchajOjIh|xefVpggZagvQnrzfcxP!uB6ODwDXmkx+swj zIisDg#xh*d&bzcq)aebsXy+YJR>5fJy^z&E+W9ib#iE^2TGnXiE>A!d3YvGRGcgUv z4v<7ax@Ln=&1kD1q~oE^m*b-r>b&bAIPR39;Z?gOKMA^$|lRQVzftd9R zYGGJz;!$`?*fSOcJwSULc34B`H5HE6fz-k=m=J^ww8_xwbdYozP6x%qw*}x{)Xf5xA8H5|&TH(ZG3(m2@R>P)o*b)o}K0p@A*kt?36OD&} zsz#&U5OLnSJ~v+^`u$tq@CTW~F;(5jRKl3(7PQ{}==t1;#k{-fTTNl^bM2{Ow=?rG z?tkjT9TDUHO3WlXWSscuMU4CTI9(dYxbvMMbSMNK?EoP*u)_q71A*N*A?((`s~-1G z83Q6SgWlik)oLCN`A*2h7Ozs_koYMX*`a`h0zvN|*UEG1tOy4F2+?Oxnhb^X4SN41 zl${KPRQr4chWtoR$)r>$q|PH-D5N3Xvb?$=jlYvS3wQ{u`KPW9k;{gGI;49uP?I@t<;R zabmujL(#+=$v0XqdJITTYO`IXu$|mGeogH(1`Fe-WOl1+1rlUuIW{+U`qoC|u_95AnvJah0Hv2H7yQmvok(}*xRSejX zPFc1c{fd;vEjx0){=%AZ3sX0)`qUt zN_0zs+t4ne(4I8e$N1XNbx?LL8(#_8qkZ8gFZ;?kko{d+d3KXQ332Os2hnFw+KqL+2g=T6U6M&D>(Y5-vo1rr)f~a) zQ5|g*97hmzp5al7rhxsCPF1#Tbuz@^XZ^{@#7H0}Mko&* znJI@oILlFrXN6$0rU`*zBcXXHl(p9OPhN`34e1|=Ge$$gPhN(UIHpKrh(Lgj6slAB zwN|&?k`hMuD{6~9X*WjqpHOx#qmv9x8J*5go6#B4UEGy2N!E6{D+jtYowjV#`$mRP zJWcO{c=a;w&DO(NWsNFK9I~m*WbYLW!0@WXqaoD|^~qIF-d!bMNv=^Zwc-t`G1#>X z8^n!kIb^cTGvFsLEpfBGl@QX(ryf9J(QixU?h`L2BY)HW-x|yr{+)z zDd0|?)S&!&J=x0tv;%}U8hx0Vqaja}KZS0towP$Wf$~(zuvZR~5G?iP@K4PS? zo5D|imIRCw9n!)0tkU;ttvtJVB)Xms(PvNEjU~MX%Fbm;j7gDlCdWa8foLl}s!e@o zk*4xm-U-Xc;t(j1E3ApC6=(RX`-@b4-wbm3ff?iSmy0wtCzqE9QwKd}lZ9X->PuDR z-z!4QcV>|9|J)7V4?&+L^qc)qoBLRi=KAs;-K-!&@}6F*#Pr>*dMdlSNO+b-kZGpo zI+sA%9-akME7eCMuae%^)<+xCZR%aGB>CLwVWH6D>r`j=_{|JcN%i>7BE_K!Z^<#c z$`4h*6}^n$2yv*w%X5_a0e0PqSjZGhuLXDDKh$}8sa)Q}r`zx@a!c%xjQI!vzE|pH z*rhd?m2@akw6R&>4nA@GcVXK%R)LYn%#p4q@iq%~!{{eXK(b{8r|OR%X#0X4FcN&Shwh&97m>6`%J#GUv9Bk1OfFCq3l z6tnN%^f`=~_xgFA7x^6@PKj8WZ(*jT+z5Jh?eXT}WG6}CibKP!GoqnAe-7B$yF6Nu zsZJc_C)RSfvsJNwAn1K9C44R$4A7wtiRJ zal{+ddYy_dmT(qBCRaa@9Mby+;T#2JCxQ28fH864En-9-gd>@m0^T|=ZNS@*ZiS!D zNM3e4GlI*}Yq$3*=rF60<5#3UZVB-~f=4N-J0RzLr7NaMGiEkP7>9Fb;^r9Kif^3e z(t2k;(WSkWydwL#%uDaM{j4Ls197I$>cdZ7_CwQKoKnM7*K@S;++63A#=D6=d(xy` zM5jSwkKmiq?d^9}d2l5pj***h@ebmuH;GW;m)^^&QI<^vJcQLkIpS!rXQ_@O=kWGZvXIW7%;oS_aBR-Ux8IQr@gCoP6SBH+jTqjY2J;T! z$G%R1aAK%8h7d?VB&er($7^AJ)2e>hvsR8asf$m-oa8G;_ zs1P6EGM>-~?c-d8nS1$8W&>PdP1X@^W;*F=qBDUc(AEL`<8?6OeDNp5!817dz`+?G z<6h#!Dlx`gjhU8mL+IHU_hLTZ=N{=wby0^erZKIY73A1g{+0?uebX*47I1vN12S30 zxA-ZkeX}*bozUu4`&eyblo;Pe)DC;nB#!qT-`1h*B#u8Fe}55HjA@oEF}{_|OyPK) zmo^-4NcU8mrby{`tVzI!=q1{F3NdE=qYPFikoy)&>K?PM@f)+28gSu4brMjg+&5yf z32mgBXZ(5(5S!FzyRu*lxqbW@wa_?z#ZSrdGVLQ{{Q96)o|`^Ce!ZXQvnNgJee}nW z*kkN zc$@T9s>8@RZaq~N(z$ic#;uagG;&eaWRvl(*deIHywq3a+(Z2Ho_rZF|LTM9Jya%4Ax+~XrV#t#~ooQ$l= zvvheHjqKo93VA+lYH-IU*FjryrIl(FJr8N(TPy7t4iPdwep;LD#m2*CHm}1 zli1XEO!fgNJBdwiz~81ZnPgH5o9aBWVN*l8WqI{Na1k&0;|0}P zwN)*RS8wt}kY{Bg$hhP#FyslcCyt97p#5t`0NEF(64sx5CDoUl)Ddq{or-GNIYDHf zETr?ta|I%kjZVYJ1;j35hl(JR9~AJI_<&A?gY&c9!UPQtzb#Q}6S7tsbZL3JCf-qT8Od8wh$Al%0g2 z!}!|-K_&B25LD-#4T2idJuRn_NG5jj<^WHj*XKlY1VC@fU~~e2qM_sjprbiT>f|iU!||{j8hJc)EnWDNQvjZtH&l6+M!ONzDLwU)3knK(+%^~_7@B>u+G5nKzjr~Z-@f(?gZt&a&G#9(ssoYu0 zNH^Tzi4B|XoXEbXBdX}LI@27J)rqwS@fwqhYIK>t?5Z}l6uDIKx^Fg*v!Ir05 za4wt-GIB#{ETnF%S)FK)6CQ$S)jlrPpd7ZsS-c37E6n4E;8=N&dn+mLvG^yq^5Pzd z*;b8&y(n7pIK2CktIOk%a@3nU4mpO+VQ3U&h zyuy;J#uKvbu~Ryq>D0MJbqcTVH0snJuJ4@v>pRzIQk==_JFn2{a*Wp&!f|8mMs+&c z40&*x2Cwf#TEPjyCKJ>3oq9{0&>Pp-gpb4PI}`d?4CFo3Sq3Kq;Q98B%RBKqYzj9+ zSBRTuNJ|MU5QK^Gj_caa(^v^?9yq>Y6Dr+Pt~O@thRrEW%K2{CyiLoc>4y1+O{~f_ z#N?@~9pUEjPd_vjFNkQ9Z>4e!-iENT-vUwm{ zh@0>i!9QVg(oZnuF@-779atF63M=OVEEHPF?+@WWRYLwegOFUO0mK4I(4qu>^usVI z95*XA%`Ry>^84cS{Il}E5HAC*W{8P zugOn-i{IuN5=I5&$H?%MUv_f7{$#Z7q6aRVWWPp=y3o!7fDhI3baW3$#d^3xOj2sG zX%h0~SZq4R=*875q>u!$&cu8yt#dTEzGQAYIeu-a88%l3tKmN9k#V@RX7%-K!RdNt z9RPlIRSf*VL%P=qd^g9?U-b`;X_%cEA~BQ0bmChg8(-M3h> zq?M*%=l1niZ3yD2I*CGZrj{-@s$-q~(FCtrU{+NZl30Y(JvWGqIGbQoQQ&`mc;jTf zftT3t8ENh_1{@Q((srR!7Hzlh0GKFMhXr-N@pJR1ZohA zIn982F4f{hK>|!E?^NEtTe8J8-f*JfcR*GTH2h(AO)fOWYw|-=pK;e$08KG6vf&X& z!*2%yTwR_3&m2v~3L3o)N$)C}Coh`9!>h=VsaC1>#^BM#C7m&mDSY)ZAi7I@Mc6K) zqpN;~%;TXvj2-0KUxA#-5z4dcMKDCZrcuSXU${b|)hI>bNUPqM!qDGR(1Z{TIBI3x z@YQfV;CRSyL8O}k2idJ)=*0F+gw4tj_8wTN0Kq@1d zk#8g2Gt6>hpDcEkV!`ELSQH5a#k7^-UPoGEgMoGHW)11h5zivf1Zv1?0{pG@$c1G3_V>1u#?_Ynnu%~n2X=rFjP_kv2fE~N;ed3AZ`?uaD1OnGj3M!aj9n zA%03OX)A+LKytXR>z4_Rb~29UzCbI_Ipz>yW9Jfm_N2+7rSHy#XF%D>u(AIDjgH5d z*iG`&(ioG}#^NbjTqfxQwYC;%Dz7E$0Q6HbwNlWPBc-ZA*B2rCIu8j&S3+Wseb0L# zc~J>P(@z2YW#f@lxZjOMTFL|jvpK2a@JrHEY|(>;bnDmj!h1+Lc6w7DbPhVLcA(6r z2>PQFfD0~!j26YWzMyZ;m@N^fNiWP%DvvxAU6S zea!0K@h(}sEn487P8TIe2}SQiW$BOJgMWM?hD1+xC}b8b&Eg^7-Xm}}Fh&kWRCx|C z({vnrhNjEn7e9ed6kSPAsrW^j`w$&3il7J6HqfQ^e%b~Kou|__L|N9f&Dp8J9&)J# z;1H&*0Ba-wO>$*9T5@3GRPn@A4ON<&z`?gtd1(UYTTac*If3){vXHr*z>%C*CvZ-% zvyr-2Z5{Jak(@rNQ#k53=o;b|DqnvkS>io;^KX#V<$A^B1fR?J2_>KT>8QRxbNM*u zbkst~>M}PC7L9MO+p_4Hc6vV zEpC8~IUTTR5~^gd>3R4>u!){*u!)h|4Qx6Owyfb@D3f8MHI*MVrBBvLtceXJ%d~t?tBCY(U9uQc9O|DU{v_TkS>-z)pa5muf(9D;$IT)F@0L{-cILH&ZFK;*U7bgR6IqVS;9god579v1N$r761V6asf{f`-S5!O5u|M*PN%>z_GUSI(y9K1k!ZEhgy?WIObeYhkR=T5*( zOSvDnoY4?1NUScg1*ZY`3Af)9o{W$rt>W<&I#|!6l{>o8doMmJjt{IIR_PKhWF0sV zctg%@ban9jzGeHC1*?O7;dmX!U{iyA%NmvXvemFr76xDRdjePBSA$DyHsNcv49|Gm z@t$fKe&Q2h={&M65*gC{a1E+VcM1$$z&`Z+NhOANpvLev zp~&zKb(mfrk4=L@AcUExUItAG_^1=+(r)wuRKps5ZGg#pe~@sd%U znW_Pl^;bUpr*oMeB?WNHiK`XLsmE%yn5h*(QXv54o#Yy+*HM37K)nvfO!?L8a8j-z z1imm*CZY@u9A_KVges+HN34^O%O{@#l({A|!7xcNPRdRv!e)@eJywi`+e=m0 zy(V-*{8X8|IX9CN-ewbK%C8R3VDoIv4UGm&C#_f!tgE-j%Mh^B3SjDuEt%oO6q}Zc zeT@j6eCNS&R0HTRMkgwxq$SDnMRV1cYNN|ujpk^jL=v)FxrY)ya3o-b!(f{v^SaZ~ zD3qN`^R6QzY&|`GO?DlSZXh?WC5t@rfVLoxj-^&Zyo)QkfR13Fd=_k#ClD~9(#!`O-;Jy})^`J!9VAggn6Vw-OX z$iG+!cRQL+M@Y<-^CG)gD;!Ce7GEhDI{<##z(~C|0;}B(I?L>mjivEsh%h8^j#>P2 zZ+ndWFz#tvoZyIX6v{hk1k_i4OtUA|_;ao-J}3+6+%h*Si&9?cg~hG>TWV<*;@OLE zotUacP|2&*$a5>pb;>93R`Rzhhp$T(dapZv6|%azYHi)>?b+fV`+^Bmbqg?V0Wx3#=hCLb{Ws!R;GmsiYI_JY0RN zws)7iy)Ieq@RQ}JyC#<`c}>2uY`JSJAWKF_SF&7O4rOm`lHmgSE@a1lsWN+|yIn4s z-R>u|H@a(b$&ANleh?3Fzpv1ak2C$UvP8 zglbwPxKDvEq;h}=VG)87BOx*n_3=o$bSlwz(CGT3e{|Yj5`VC%o~3gS?McDD!Relr z=zw4PFiA{Q{~Kmn$~{ESq63~Iw3K%D-V8BEBP|ggfCmCVoH70DjTE^L5&i1vma{ZR~D)Kat}^N7eHc<1<0!)xd*3V zaGqL#)V0wzEon%%9)bY6H%!T5+#B12^1$=!wA$eh^ZfnM0$`+Th5@HD`Eve2l+?ML zzbk_1&3FckR`g|LCB<2alL;^p4_1uNCrCQ4W`(BNS@aY6wleK78R{z>!P%FHt&54w z5xI#~ngTaxBw(}8Gf-3W?a3&I%)o~ifk=}c+3prm5BO5T3rP>aT+)FL_$gUlwug5I zKHR01=cbQ)_&bO`d(xzb_w_q>L)p3f4r7w);hje_e4t2Ec`aG~eTg`l0VAD-pI2W> zXGA^!CyEgB(HZ3Xr@G*~^T35~6ltlnfK;cV8-T4-NvGR|+b!25gSZR$MGSwF!443_ zmOq^Of1huZ8odjrH@f9)u{{I-`?v}qL)YDGka2T{XYd3Wi$R|1bi%;idVM?w8Ze=f?VsMFm1ysDum|P+(;JCGd(v+Dr?)}bx%wx@ zCXfE9a-1`Sc8O{_|aM-q}BWw@6E+6{Pwn-3V;`lOf&Z?*2(J@L<5@ zAL34+cV&X7)oIT5w11qT5q{&8&UOj`$nRlUa`PnUBs-D6}W-#&@0uW#{spj7=WC^THxc<+aR!@4TW2IhV~K z=Qnr3d8hB(TcoAZ3R1pPHv*gQG^AUl`OZ9+AA89nxp8qwYksyrT#zB1cg(uBz0DJ9Vl|&91cBwe-$xl} zm&ki_SPs{5RGJ>^xUzwc&;2RyB$H|8?_rugXQu@8z zly=ee>m=kt0pBJmI=uub#y7LmiS0wk;T|i7*hR;6Li|*jeCWGXaOZ54P=^JWDZe_b zXMvA$Pux6f(K` zG!J!5ZLd2O%Fd;O#}g4Y7=mAum>trcUySXNUquT5m#S0aL=I#*$7Zk?`(f@mbw(*XhW@h6Z9n*=+$aub3{+)N( z$8?G^yV!bnOd?=f6gObpEJtT|n!_wnWmC#YIUQkRfdaIxq-umh6QyJI;OI(kl?cfzrg{4H6;BBy-# zBf!%~F_Y9P=(^lDLOn|zH*$Rtrh-8VVjPJloInitWIK5}WK$|l_XWwuce*bNwCk%r z+#^)*CCK3dUI|oyT+WFK9;Bq%lL^Y8Dtn;y3!ml*<@h;f%C8*S_^IGPYr%V<(p)D@ zCXuaYyu53m^)6_&F?9Ywpe#e+q!_;^5jx$IfQ!gsFU80O7lp$Sp35 zTs#^$&~d;;{LbLwh4@4#yVKLmz{T??$LmFob$8!ktQ1-tFz&*OML1?uicFpDzNc2c zk)PPm+5<=P^5;oU8IP%XDA{ADGqj#XOne1~z|aWlz(;+eXaoR23Gw8lgJu2ieS zmYlFG4ti)|p?k*Rian8OGK8<^z|}Z=%58p9#QA4Kt*!X?x%j(U8yRoI-B5e*l*4AS z2-pDx#|-bmMvhPI8Lf`B8=;S0u+YSn6 zcN;k|^cGpjT-?B;H97^NcO4EIB@P-B7Xv(@m4~lMo(_Cje%myTEEebo@l!9P9#^2S zFjg*pI|MOS+W}RTdf|PJMhID5orW0q@N0-llw3VWqmPW1?3FiIY0m=sEZV_;sm5_z zar$pz1m!(A2ecD}fjwS90o$p^#Bj^jS1%0sEykD{wc< zC8`r4D~ylxdcq-hO)gRKniNrGdcup{^%XEIMn+cxTb#hFCW$R%--XD;PgQ0+-7Ry; z?2r6pHsY?yB{N==pUj@;uCIX17#Us347O?{h7~5M9V$`?xy3J3$-Ug&K9}TP;wQPg z+%>r*$7}MF+&%943P_HT(Us&DvJs$3WQX7bM8jE1ovq_!F}CblS^>CCPi=u z!{oVW9zCn=`WJU?1%$_l=uUX*T)$CxaT3uw@R4H0K-19wb~n-`yvO{6xA-p#0~B79 zDm+-}5Y0OnpH<-<@2;(Y@E8$Y3GX=D!i-6bM;j801{=Sr3|Qr6fJ?ALkktdeJj-2^ z%PM(IieNK4zb)?i3W%1G(UoXVu&=C{g!>dzav@#wM^(IIZYH?IJK`taw!0>mczI2V zcyplB7rARJAYevFR|0;DX?fHn+9TA2La6#{Rh(~fH`yi5yZprY9(PSHaq^mc#d*KG z#scDGgmfj&9vsa46?eN_GW%OUnSIw?lS^j2CSRHT++AY6`Adl!WIl=nji&Vx`HJ1DsEO1>fmeft|y*9{FMww!I+ z2Js=V3k>2%Sqqy%yNQP-Q*6l8P=NQ#)@$Qac**R(YPcURpN6w%OTiWG$tk$91kP}5 zg>X*K4KjwXhb2nK8J!BvgmAzB|Ky576Tzl0oc%jW^nei($Wl%@2&7Q7Y2UU|qcnk+ z#K;@4lCLDEDC*{XA2x}w!c~}QDYvPf9c8>x3G48_=oonkaZ*gV^dqg5qDANHyiItU z7i0KVp3RWSvh5u|CH2v;gH7EBo^gP2sFmlAR^*%B_Y!^fq+JALMq^NRa;wpa_}g@w zuw+tdSG3L}+jb;Fx|KQa)|FZ!&7k9*6}*d1fxSy&-lad|HBF?`-yVq#vF8E~Lb`DRKi{x^IAiV{sN-D5ji?Au&AnvB7 zfE?53z2c{2dD#ZxKJWFfwDR2aafA2((PvMZG>GUXNbGUW^nH*#mqAD-r3^ynkCW=eh}amsvVkG!HD?>bof$0mG=%FZ;x-r<9j}+z$@jA15S7)2>+ac>7o#aaQ0!Q( z-aw#&r!=!jTRiwQaj>GrT(SbdehSS@s<&Oo66W$F;*HT<@Kdt9OmkU491(pT|0M-Y zo&N!Usg~)ck(Kb zAv#afyOcud)ILZ6EkOQ-`l0Mty=QnSE$@fUgG?4+hM&9)i!NE`8+HsAu3x2TG zAo}b{yD_S*PRK2Xi>Yp z0G5>ak;1qW1V_b_)f>a{CU#DIj~#-uU~e6uTZ4{hiT7OK#*GTxNf#|a*?Z&;H3}xqXuZ&3^?)Cg4P35)p*u8EnLdv=s z^pT^8~>iVwtZQRzhB#chiz^CW^H?0n?77tTMG|RBz%Dv>?agN`7UdO zVGRr39+u%x->L9oihh?VJF5-yHYUf3fUS*EZ491_%LMT*2=3tH7gF-%;$PvV;@ri* zl!RqO(D=#E#lww`VrqvL3RL>urj=*++X)2yW}?rYv>O-yXHa%77cZHV@&h`LY{aK7?_$^+#LQ%-j?7 z4_C%{D~)~%Kl%A7_nOVmwesxFC*h}lLiE{_cH^fWg|c(`DaoXipVE0`^HYX& zCuOLBbn>07lz=Am^0U?ZD;bRSRPQrrBUB6}*z7uNof1njV~x^e#W;tRy@l$GdsR)e zs{>NaHTx9EWEo`PCqK=0_rR;Q^4#?CLDtiWK6}z`H2Y#GJC|llCZ#l6=aEgb4e5@x z2tU?nTME!*y}WEqJ}HBdo|^m|xim;O-q8Kp+9~Yhs&NVz77t6ox$F6AB3!kttTC!l zpmcGY$pGTrX99={3gX_GfM~-@&A1uVh&x6HkDt8EAoJq2mue;2wL9VB|AZ*CC+)@% zZiljS8G>X}$`Eue*$lyuZd32{Cbpd(77FI3Q=M&YH)M#*)7%>ImcL*CPr4$5Ll1&K zsQ17FEpdf$gsqF9^?5Du_i2|env5{Hg^-(J@|9#i8REyh)SMgQgTyzZA>t=LLqy() zA>kqPL#6O*T8Vb+N*Ll-h(dePZVd73PrI#0O&!h@X0CYBjAqyZt2kzZ-}?d(v)9Z4%1PWonX1 zDO1yVWHU8Gx*;?*5A}$x$Tue#h+coTfo#uUyr+TuQM}bT%RuTucw;!yZb3XXa0qVT zt~IMI7{|e`mezh)ZD6*;wpM8KamfwU!d~KvHG8?oOCPzt{28&uXfODwm-h0YR-WAm z683UG(PvNEjlFyX%Fbmkl1V9h(RpOE7el&B%=VI3TVnI+vLLV~ow{smdTWMQJguo_ z*o2-KsjZRYGys9n#e~g~Ms+Xl6x&~^j#L6Ve;C(ccrio4+9^oIf|YoO1hXh`{ye2L zF4YYlzoM6*%?a;qcOSIcm!u%FMCf8ZD z-I!k=l%31`B%4y^r*p|>eui}0dahJbAv(P;8;n$ML$;CrjMU35XOA61?=T%Ez%G=f z`IP;Y5IVR9#+%k)-V)4_Wk7UDCx8Ps9KnvS)R;o}NOx%k{J#O3yASGnqi_WBHcBw6 zTMl!cXxrwK4!EtDKT2VebwA6? zcDQw4OtxdRZv5nD-LTD7o)65XNL31VY9+d*&c}V*i9&nQZmjznC_9&ROE#sfTj!F^ zx((@GGEbCI3aK++C<0HS^DEnvT$rIKp56U5+Nwpo2$B{Xg|Q=W#*lwlxrX^!F)_uHF0~totR{_cl^{_d;c@7M7t3udh@puh4!S~*!!PD z*}3dpvMFWnI+twrZb)}&mx?3B-|4m_urHmyZ2NjihG0DH>x{%*@6u#I@r6gk3pI_!KnM1bmO)t&kw()gppwTw)Q*UkKQLRL~!Y6FwXGEbrX*ag+ zZAdnyY(wXg%{C0_jxkGLO0{E20Gh0qmaWPECxeYCO?DP3Zs}f^W1k_vZgUkSb(hL- z>0U`mvoF??x2y5KL;jX5B*QrW|5p{+u1m-SeoOZ%%#?BRMdHYmo7N;jbR(REzA%Iv z)@VKnFm;Kaogxr-;`%kYWsY!neIFq8)FrlkIj-iOOA;i*J99||7{*2)S<@9@>mY|~ zB#k;DRG5o=JN!T$gwgKn~Y+iTIse zm-t&~7`rZ!o@VB{#Pe`;y@y|J->ciTlV$esvP3~8|BKfVnr}%2%rgR*h~HdDaan_~ z8UWEF6V)2TG*w5$rGvDyo!@%Mwu15>Vw-}v5phPZQ8Z1f3JTSU67e?cvcx5-2o}M; z+Q)X(m(r-IUp@Lh)lsNkE$3B)B%B6zJC(tMPTUDhqr51Q!jQBLjnuf@C9C!eT4*mlzUIza!hyQ<5`A_Tv z_zj7tQodf_khr#ZLoQ_m<-Hedo4Y30xvRV;<=oZGldYfYuCKtUtBeeL*P2gY5Zvdw z(lYCSto`n0xem&0`U&jC?wVWz<2CsS>~-$?3J8pm(UriCHuSUHr6_&_E)Pre$CLuR zhxS(WA@6gy*Cok!`APBtcTFxy@|qM$<~ViybM6`o$dVD#oh%LT$S6xCos^~eR+Z)V z-0gMA^4os0eAHc&OP0JQUs?XQyT$^tWQ24j%kFQ)JoZB_G#I%=_GHNFai_!S?wVX8 z<25NF%k249x$7$+Fh)jK0_(|*m{+=6=91ZEelpwbuE`}cUX!29#@zK4kQpPRE1C81 zM$B8??Q==)WQnBTT%zJN zDWY=Ri1`(FO$CI+2k-QS4$6L+&*qWYnqsQ$0JCYPvqO^T>8`>=%{cJ|H%1jfkd zN?^Ub5%Xks16`u)hpZm(V}-jWm*{v+is*8n|BKu;77!jIq$}a|{6@?j?pC@axXn+3 zd)+m;B*<%0B$#P@lkWNo$d8fHmHfKA5%YF;n_SX*v7fZ=bl2pP7OzQ>mg7duceraR zASXsZS90q0jhG*GH_|1z2mA#0u)8Lg;CM}n;4*H+{HD9M0>WcNbSJ!c-_<4JPRM~s znd$P{t@ZEjM!JOesGsl-yx$2JT*BiuslpSjhgm$sjhIKeYbzi;MnqS_o9$~82i#0> z3HNl!>H%RcaM$D#F0V-uZVm{u-d$q>0W(6n67bAkn|PhO$u4p3_7mp~?wVZU-94#y&-wb~tN-3r>b!%cD(A>LQ6CXkC z;_!7W0b+QhL$ei@%D7Lp*{Y9JO89y?KaW~0e9lzyF=r0=YqFW&7v;=Cg)_5o z{pXXB;Jmk_ipcRJG1F4sH}vfK&u8*jrue{6+m((YA#7QWZ#6XTCX_)>Vk?MjLeV6hpcpPsNbJ?)c^ebJXj%qbSz@ z^+!+3U_7E2zK{PjO6tDp^SQ-u`c#e{m8YtKPfc`JJZ{AIHqhq-lrqeo6LS{ zE=W3k8z_ECmX~cZ?vtheR4dO-AKzgAN}|u6G-)!?HIUfDWL^u&bD4}}Qp#j>9@$LB zkS@M|F#BG+(Rmu(e7#llbI{DBnb>tTVRoM;-WbgeKPAh{ zG`k$Pihf%w(@i5cy>AkY_N3jI-glwwT&5=(l`=h@Pd3vtq>JqXB4T@SAFavsdQ>!+ zp5B6N)B8k*=sZpDW^L$%N2wT3+^*B+SsJX-n5+c-n#BI?lAe5cU zNF|$6MyhkkW~7F6A>lk!kCjU*NoRKI19R5fnr+TUWC+>QoG(|+Ej~LY2gjAH zCZKwFIt2(_dn>t4rn%Qk@i}mPF7d?JgW{*&n&y73M7zDAD7b01h(dePZcK9u%Fbn) zl1(Yo)VX9cO+&h~y%j|YyyKr2Oh%_6+hnfIV7{lxJhRIygiV&RAp2V2zx2{OZW-^T zrW-8-KY3Y3##z~)*2=Rhd%`Y0LG;;^c4HS0LD{+Nf-y;*@^M}Z{EtPN%4_NIy_G*N zLds8Okn4|j!FA`ol?xtJ_0_I43H_4#pK^J+`rBNdA>FCj*8<10WSu;z!L8}_WV^L@ zWk}J}t*z<$`d*V`6L;{6!!lSUF?*=fU*#oQ?%IYRlLe3Cr(U|Y%e3-xsor{`&z`g! z*R~1D&gI$|lRRA8o+3@g^EtUG8a&5Z$+gzI=-Dx?l z&lS5b z?)!pPp54DDP{3!2K6}z`T=BzDb}m;enUu0uokuo%O{e?A)wzGTIyZH3Hk=Wq8A-Og zeSe09c)Ht}zdHAzzft{)-MEo-?x%iFtu*>6{N(4S+zXsf^`ei@5mf z_{mSR-92zwE6;6tT(e6=pFL?enmr0-=hAG+q?BgsJhExFA)W1F+*qS+DL|9;^0GDg z@(f0LI_mj*b?%$I)Qp?KUBn%u8Q>=`Gss+{yH_jGuH6YJ`hKF&p0pc7_$w$ommx?t zr3^vmlFbkd>3Vp}ZEQO|EELR5r#jo*?#K|Ar@1{Iug?9kmzr}!`~mUJXo&d9&k(b& z&i%bsqTRX@hWI<8(4Mp#LpaEK**zaeE z)ze_-@71{%fQ}{2$gauQWNwzLAd_Xz96u$?%M3NkSPr~WE6+_Ihl!UHefFf?80A$^ zcCOx0GAU)0I*)8dX-GFCciYCMI3vY_0qQNuHo%n`BJ?!C`EYgai@a2so7xMB55^u4 zKlReo?$XM$+fSnZyMySnC+)`6?uN2+nVMu$%G7io*-Xul&i4Y`*ou5}f`RDuXB)`P z8I1Qdka>7@?w7svk=x6|#1^By;HO^N%MY~j>_(8Vm+upO_N3j|%a5S!T=pWFl(H9{ zM>cygr0ep=+t_@%EC{Sgr!L!?KA#~LPiuMt-^#i4qpFqJRULWCt@e1xWC4`;$;)ap zCtOx(CAul(ka8taXiwUW-JSDkr12c92^MxYtBs#ycJ;|{d zisI=>=KZalk(V`bdmkkx8GC8`)LVOhp;n^Zh!g$v%|xL+X*c$M8H zM%TQ$<9QwC8lUC~9l8`V<=3Gi*I{0ro31YWq~SVD>**ZZNmNb~Bk6C=PA8;~Z0xb; z5cgk-2>7A|~>`ciH29bPTw5aP8Y9=pUn6fboP=ABS>t`7QD zM1-yL#ji;y1L@Al$7so)ycxh1>a{uj78%1UGFX^!g{WU%#^9`7+;%CB&honLQk+*O z)!lI0Ci7o)`LyOFT&`UjpPU*R zsW-x*23=q~#E%w~1s1>Ova?JtYXB+4quubN_)>mzUuU9HtzIn21WZE7W) zwb)!aG_+FkaV7F`CFkSh)M`x7Y9Lx7P?V3`srwx}#~8WBnWo%vc&JE8AJrqA)odD0$&`%AB@?LMa!d;W=d{kbO z@A;?~xoa$NJ}M)`?oEv{%TCVEM~%%Y`aN3M?3|B!lIb*up^bRlrW|@Ts}t>U@GA8hoaPcv2Frx`FB=NBhpl#_ z)(lEPt33(8D=~B{1>k|f>(|PqMx!(pi2uMzP1Yfj9@5quTXI~eT#_Qn2 z_E%dKC=TzohZ;+8yeDR8)F;D6Ybq$!%5vOC1YUa%#L6?z{h@5qzklmpg81*>`i6Nz zzVwUHB${1+RC8LNcDNuN@H)qR38~l(oN7?9dk=}bSm--JJOkO&5q;ZAjnV|(GR-c} zg}x*CN^*%h;}`j`NDL@%#Y{`Nhv?ZUnS(;3@XXT|or|=CPOB}4HwM)j*;1=I5kmi6 zGaiW<_mEtX;}>e9-{RG1KEAjcGFg`E@KX}kcN_opS6X>$m#*opI40!-M4vrra{S|a zDCT`oc5?g^;qNcPan;d1ZzVSw-NVkVmP|@bQ0hFgjgbuLPH?D!6l}+p3VeZHuDwe{ zuU~~6cV;jYM??Iu%V|pLKJ0QkLFj-^2?_?v;b^Hn-eLzdFEsnDQ?k5F z_0L?bKJXK2iEaw{YW44lLVMDr0YsmJ#2!an9t;HKG62RVk3$2FFVa+Ai(%sBmx&$& zPm4-una~OCt*RSm79nRDWO9uoy5am_7o2w<9I&=XOBv(A3R3{c`(|jPXK-w%QZBV0BDax zjd+A1Pu=fzv63;JUY86?`6?eivnfl+;c`8wlw5sK9z9kc&()jv`7}>}?RR6Q{A#p- z#*d`WhJF~m5=$WENDBUm+>~|U%SF|>I?|7jwCue(2$mG!f$Vfb0g#hDR)Aa!IRBcP zxu~t&d;9=1f63Sc7vu$HErBT_T=|U`se+yd?%x1~{QWOVIWvU{&FL^XYL6~PO12_Rm*CSjNgX|< zsQb-ZpoXRTgy%qXG}PQVQLbmK!1at3Y&~PeM7`V|524=EU|tWdGD@UNt{(+FU8%AR z(k;Jk8vSZtrN6R-wXQMcm5GDPVU3U` zqgRxxqoeI6%xSDBmG{BrQ#iW;Q_~P}FwyK=2lq)es$-Q_FtBcUu`T#_dv{boTR@a!Fa?c@ zGujAYSW+Kt?JqUL)xlJ~9gM)(r4g1vI~vu!?N%66Teuvt67&h|r#d>-2QS*Sa@b%~ zzF}jciE9@)z`1P8&fu~QTQ+Q8vpLwdbM59$>jL}npLMmt86C3&9zTgw=f@`4TK;PSQH1wDqtSHcI0GAdqpm z3~zIFB&;>VzQhV=E8%cJ^l;4{40_;FJy3y*E3MY#>Xj?^@83T(R%;K{8)GY>6fB{+ z@=`wP0hC{zHG<;EzS*o41o2Kyij}tsDAYO8#U(M!b0?BYLvslq(CV`HX0*!RZd9kE z4?-S9o^R!}LZ<>N4Im>~H2pHPLBh7Okra5J1mUCkdpC+ zQq@31Y!;~!)%Pja05WIPVJzGPUAMrDfM6)I3H!hjf+9y-r3TE&O?RHQhYc5-dPJg> z2_IH2fK1i$G_~0p7!{MI&l5yn2NvcCj9Mz|H94^9==IRf%EIVQ_(PF~~Zg{zMKA|deTLaYUR9?&z8w+S)9m`?&pMDK${ z(CDW_S+4aERezM()D4ievj`P*YBHSe@QEwaA~_)R+Vt(w7of`MOvuGTLD2h055qeT zMj+)BIxT5vqquCSLvo*y~YA?qY z5dFun1)rXiqttGSkp3{b9;t)dfH;w2YEjj@WCtf&_z&cawH7)NSj6W`g=did!Zu%; z=ms+Kb?HbKeajX}6Y?G@T zO6Rb`yv`iLJOi0o2=B$HGP8y7Uaje8K7@CtmP^xWGs45FTqZ8S2_n3Xte`U=r8mRi z?tQZLMZsOnzv#VKSQ^|3ErUMQV13e$QRn$U20h0i*gW0>HlxMxK@n+!q*=pt*j%+= z#%}TEgEi7pxb7v8ugAC!NkM0ixQ+>joc-hy2Eup)d*ERksq%65tLOB*Zmr@`s2E9LN12uP$#;;b@R6(r^9~ES_z}ho4ZOjMOF4JV5nG+MQ5VL4fuS$m$Q!UJkh!KtrAA0-((wzeuW# z+T-%>0-Ajo(s3~J3VhUO+s<@CGwMfmQ09|GI=SfMSbKl;QBH)=dR3WBvuV#TwICN9 z6Xp(ZO!{UuBac3G&!#;B1TZ-Eb$lW?Mo%_4#whLvjvankScko-jVTVu&T<1XHMJFz zy=)F4nMPvP4B8J+=(7dN9>vNMLxg;w>_4?!nkJh;8CK;o+axIanXI5Q-y}D~ux!a^ zRDr0h&9gKb^DbJ9g{5Jc&@g~ynzc!vMZoNY3|evlGb1^(2F$RjR$vyBmI7u!gnT^) zW=M(vW=t^DoBf!p`n&*UmueE9nVGXqSW9=n>`IML-AwL3803D?ItpKKVvcX4D^-j~CEv4AOCEb`d`6&}`5J&Bi!D(7~BsCh6*; zNu&VI0^x+@hiCtarpso_;#R0AOG9;Hu~Qg5z%%Ki)r`5|*^7Z>2G3rCPXy2C$p+6D z#ofTOV>Z-7mPEK zHES>qn{0(~F=;6n_j<_JV;F~|2pGo%L_OadIFsiEjQclEjOfZ{2F5*xwR8vLey0(t zdL+O3wf}^&3c|Pr4;6uNKY;fpUr9=hdgSu`0?s`Z_{V|JPa#VR&RN$o z;plPPQe%x~^Uo+n^}2f_3y{gLRDJZeU$s96mek5uIrTa4()i0GDV=<_hQr)Q;IgZCf=} z%!k^p(Q;`DY@Texs$7Kv z&u+>fBo{t2(lTrK4BKhNXEA9he6|tt^%$QaDFUA{sZdw8i8DD9pPiWAc(6fiOUk{o z;4Qp1GXOg#v9mxcTirVFZY+i&tixnNZEwJPwW?J2;0K}J31t<8Q1?Mr|CzA6As2&C zC^iP65-kNeis1iwlo(nergyZ@omq!liWuh-* z-Tl$uaT0`9s;Z)48iGQXo9I^&jh0P7Az^O-g`{s(Gv~#3Vx<+GAYVGvU!}#P4s>BtA3KSG%#6?xwG<)d*F6 zkRSHC2Ffaky+X+9kG-ydTnu}mPINJSHLtuQX)`L2%gqaTwja`Qcy=W|=7wjJ;sE{J z@GPA}db#LUth+yY0Vg3pJo~?BwQQy;re8%_7I-G?9pIVt&uYe8@azsCnZdKy;}gL% zda}VYMsYXr>~OeyBDvEtBR)(`Z3Sm@xstAtn1#*Wfod{a*z7Mgoy>>LKCI~qY+f&LXe zF=H_nkr-2|9>@=wErPNNBC}&4t3NXPEpVA3Gt`MLklB3d)kv99e_TFZ0JCK%J_c-l z$5l=_C}Y4jZ`R=8K*weIGe{Q~osC4mDKYrRs!AHZqFJ+dA;~)RD!S6LiCHsY>;TK8 zZ&owrf@K?kWCqJN;uFC#da}VXMsYW=OgZMeld+3ZIVRk8zS&&vI#CGB0%SW;L1qh( z?a{O`A0Qjka;fgn0?4o`m$4=R*>hwCbGnN%Ew>qlV>ioo7lmUn=c4ChVQDxf^b5K} z#mc0oA~5#y3`%l=F(Wav2F9?VRxlQmmI7l}L%tq^F(gHRF(wx3zjkvbXM(YwtRlXj z*JegrxmOYY8jE2QU5T|dReK)Ps!|<<> zplFw=4Jx+LvI$Tmj1EAN^pI-CT%hRJKmY?pzriO0Mf79?MU3KZK+%!I@mgqkD ze@IVnov(WN94;oNh|B^=3qH>r&_HDtPJKNRD@(xjd;saGS}skW&8vx6mCJmS0BMP= zpfmquH^U%lP`14&NQ$`^orQ&^L6Xoh07)sUlirJf(&`LqaseeHL9+&wu(4L46qA+$ zN(&)hkAV`BB7hPT4fSk?aVF0WPDiEr0VNch3nlhdr@xUE%;{mOHtEeUboxix`l8S&=3n$JEG!M3gq8txGFYGVV+5Xl zl0i={@MI)u*1!`s*9x9u(o*2*Ly)h>;0Z|);E4%`db+>nOwI&P&q~LtyJJ;jEvE5k z?s)bizM%RB6<}SMh-WWQzZ&y?JXXa(nCDSp|XG8IaWEad_^89V)8)p9pi!ze;gTr4udBtd zLlEKxlktsR`4US-ik^iv_D7fUit|Ia`_Y8i5@1ZVioh(;O&C8wH|ej{jJcrOP9T{< zx2y4qpc_5epc|vO8|b!VcrqM;J2ClG*O?ivAeq<-*j_r9^IQsrSy(MZ9hohxR@W3V z-z3+5Etl#NEvtZ7mCH_(SZ!QZ(3xj~n_-yNkqzfC?T*6^fP>@VKjo&MJdyJ;52IIL zscF0>G!5{YYI4$V5mdWdr%59v7gRG+Giy){TWW=BF=;8NHVXNA4Aqbn0o9mXs28hp zCTBvm*@&C}C?`gAQz}a9)qO^v$66RbD;k~kMU7C^5&2=W&q7%RvDqV#)gPNZ0J#`8 zL!Ia%I%^)eNYZ6gAD5>Wi0ns@j$@k#@li))&XvU`>r}l~BlSGe&qcq$`un4Q<75cM zSM^B)S~Rs*F||R3Sz0zRwI(bc@R{__YQ|jnY{3@=K3j-SgwN>7hR+zq-Qcq$uHJDa zg!96+$sD0&Y;4q$TQS;P?*Gtf%tC3$0JCQerJanGdC#aV({gFbY@SiWs$904L}@3= z3g&cUqfvA-jMFZbO)ol~7Berp2n$QYGofMt&vc8Ej*9@=6&b|j0%%5hW(}ZWTde>s zCM^Zfj)i6tPntx^qOkM zT%hSbAb?G3eF&cjG|`g{G%+l- z1}4I0vosbi=lAW-LU7lYHJ!~j@AVH_E=|+ThzhH6nRyaXJuEBe%tM*ZFsAysYAC$&GxOHMEIZU`3lT zX(_b%5ajDI+C)+W+GILQ*x>VA`7+VwGksTXrSqjuDEGqc8cmZ_K>Cc_3%91~)pgs= zSQ9f*zj*~!^|xpQtG?O~)?SgJ+^Q}qSDo*Itp2d}63E41E$Rn@wSLS1of50I^QQ4?$GkDkXXG&@fXpc1bA99k_~ ztc|Hv;i;BQ;96ntfNPl-0H~>E%!O-T1|&0FdpkZ6uB9g%u4NP}l?_BwaG`nUbO}yZ zjMN)p95fK(O85#E)HoehPP=Xz+muLex~QBFJf=&PWsrXPb<-%|zDj>(37gld3;Ikmc6A8EE4)!JB4AGMK*Imrb78Oo{;XOR#3Yr&ec^b0GEBsCJbnm{75KwUf$x**XoAg}zd<)O2g;GK8bwd; z-BAJk0O5@_N)xCmqm3{On)T7v{!$}c9Zc2R!APkFvM+-^G^%^stuUyzf>N!#5`uHU zII5#leej}P!`ThorH0zmL|w%nmu=Y@T()7$hV5%M2itb8-MndC0RL~;GQ1(U8pIDe z1Ugx2_D#0;j#rx%i22z&MHx3D9mAZCU}GK12ZgTJWEA(~kn&h_9%7pFX zx^jU{p8u}PGZtGpsMd(J6|g*bD78?K`>W&Q!QL=vH^b5P_+TFhIJjohj?1_1+!3tV zvOBnD&GzkUw(Qt_5u^kc0$;&)Svl2-$?+;k3^b)tsXj?^ z@83T(R%;K{8)GY>6fB{+@=|8`12ERE&Kg1S3C*)vDG1`9G$~fzCQ;alE-uj|2C> zNGc7@v;0`AOC6{s`!5=1wHwvx=%z^mC5 zEw5>FvZh1Ob%@H?54FCwyS`m|eVwD5?a9e{qqV0wQEIfF*RHp~b>0rXIJz=PhTUyz z^U#09_@m6DpI~=&Ch;9(OfFh&`Kq$vRccL3ug4k|Mt8y=q5*N~mtbC)b+R;j{vap}X|&!ID7|;I4k_=C z*6;?10fnkmNxaWnKer-^`5oPRNDS`Sa5MT)>eWE>VB%e;Pu|SZ6rEf0mE;bA|Eqmi z6FmU+06&K@lXOD}Lcf?GfYZ4k^=csMOTDW^61$#)SUDJg;pXyS#fo4H{^FCj$vnV2Sba5Am~|@z)Q69 zoXQ#fg3CD)j^?+|i!y93qbfnsvzCHGB)X7ltR;e)-wx*+(LD|vb1qU4P zvgixg^Qc};`mqF)4qTqWBbbs|5PbjE*9F<>jyB0%a;#(g%mtQ|N|uA`kD?3~VnYvO z+#aK(ZtWeG&Mi5K68t~*-ULqaqB9&%c^>&LSXcad@R-u=*1_w*snaO$w z9sKyiDmdZmK5^@n_}eP0lxe#`E?e4f61gN%dw)Tf05=ON6168ZqBX{<8nILrDqxmp zgwOx}8(zUNaQ_XrS#bb06f8h3)noqT@R8y$J&>C7DrTxBgeN~rHAU_1GF{Ac`e*>F z-p#6_x#M#ZBTesMRW}9n`fgTLSb4%IRV<-f>Fg9NWDIG50EHP$xJq954)Om)YkPfy zuN)cvf&b~$n>d}QzZDNfbNs%10}6xe5*+&*pc0;Zb=zwbWC~o7;1@VMZ_DpcD9y>& zM!=_Yq8r9MKURQKN@scriqSxNu^~-fZle9q6M>Sj|AD}yR8R_pwd~o?`JH-qSgI}6 zLKs{PCNB$-nViu=dW7FUnW)2g_b8kSo$jwV|Jk$mr9{ z=)!~a3xd&IRoyGcdXRn%eXD!rcj5PY(3gaMaa4HZ2_Hx$qH=p>6Hl(avZY>`-L6y~ zW%tS^9Ns+$7?=a;R|*J#XyO|X6tBPy$j7N_u})Ze1tzwW7QOf?@jy1#318Hi)y*vk zEO!pC!A9Y_;1s@I(j6q+Hxw#X0cp3cqqiSFspr`$aq+O@4TEkkkZM)Zo3$iWk5!}6%c0^X}& zn=7L5EYM*wgKkzrN1t-g(T$TFbc5-8AU;#MuOn^{(FuG0>QKRz9q*l?YhcOs+!;F3 z*gTt=5X26&u%48N^v!@1V1qZ}AF!GQ?|9jG4DSuSPPU+XLt~{q3!^=L=P7q@NKS9I zcclI1P*y{~JCp&}o2<4emLnA19+DMj|L^|L{9Sm;82RIjkv}Hc(zcgZbr)zEx<9mQ z7(|gEkeqB+`e%3(hub87hLC66b1&nbFT`?B`gv@@?hpy3qtWw!J^23It^Lxiw`5^~%j zGH2r5CeS$&*Kv4d9$T%AkKni2lcbDi`*~#G6 z#&{j$x5SO2`j)9}8!xJjcPy!#`hH>Pn0s{tJnX{I@kT3yQ|uRpa46sIQ@t>Bq#U5P zbG{8}mA=Ncp+lWKA+|uC8d5`(gXpnxhBkvSjBl&J3 z@R8zfBHZ8~uf$CR28LTf8>fp;XZX=>3#}N<)R>KKOQ>8BjepZAcAI}*zPlqYV-SU2 z|9Pu_Bp=22NE*eKkn)yuW8d_--Qgdx1kD&Aku)o=&QFA`l3n&h_$b%y5xM+k_eVAX zqMV1m8C0fgFFg#}1swVw;!^1P4HAR`tsJ~T!gMX2E*{RQI1e{S{*w@NjZJ*35%OP1&Yt+*>ZVDC!vy> z2mN3ZaG?aslW{or8JS6NnS{7COkX>+{0fL?Z`Yf6xg7HlbRb;=h#sYC*fEK*vR#Of zTQ@Zc@zM4#eY zR<=%OR-HD?x>6tdYLFO^>T;(#53`Ne(a=V0yl|!g47H0*Y2y8ik>~z`&RM}|1w@K7 z*fX$^)beQe_2YuhT4APUmvrdL4n&J?mPx))T(KUvm$c*9%&g@aJo`cCrKdzqnjgb% zCI-Ttd+vq;7O7ICEj%o`DUG?aGj8Iobh+b{=Sqsf*LnF`Ffm=>@(cr!qyvZb3h za4MY5Ur$r9vN;y1{S~tLVw|h6@!1ziFWTVWY4qrakTd%G2|{;OmC@7ZLS>s(gfZ&O ze%0b3J`B}^7+s<%$LJ=OT#Rn1wud>QR z`Ur+kH8&AYy#0}x9jf;^*nq@_)7G&1ef63`pv|8pN0MkC@^8Ab(B(BSfc`+)N!53M zG71!A8qF%YFa<#b5b2U?KD#A^J;IFcol^@mr<_uN8iKXgQMgXd-sb-Fy5o+AroNq} z;hkC)SY71FkbtGf;m1m`?-8Dk-XTt!IQ<_P3+4PD`vL6L{U0f9r74NVlMs#E1;P+R z_Wb@FU4<@?11{z_5J{ONs7z%30&AJ%mvjWj7)Wb;D52AIsZ)1J2q&g!t@v6^CNBMu zD?-;ZGIY&-Jo@$+go*u62OF*Ayk8uTejo{V0veXx)XsE;Y13sTE}ih=D0sO|cQZ6% zhmN_e3l>G$bbG)o#0o&4B@dF?f1S~vmjT7r<<$hAyQ*r@#co~R0DY?#-PQP=g2lPR zQfyr$l5!TEi6fUqXRBxEb)o1%RL$C6qlq>o&o4j|+F{&cLJkeIm?o)eaY*;FE9%{; zc2mZ5%kMe^d=t7;8Olvn1eXVOe+?Uj3)DfEgJxWJX&qd4aD^0=WdkmvjtaJP6-z*S zt{Om=pT@vXWcd*x&_7R37My3F$+Cixg>Ik=1Zcm>S(AJ&|8fcPEW<|O*4>DxY9!Ca4r>cbX4nS-8CXWpqq!R`J9#WipzE6*r7`-qJgn8p{B;wSiL}%8j-f)m{kSB~D zIgACWkHN%P7(IQ;1*+3#j0dWh-cg<|cU+y=-K6<|LuQ~^Y-dpBOE2%v*3cMy3Mjvr zo#a8b{syfZ$mQ8|go;vs(lyj`z0wi5alBr3(z|Kb#l~dYc0hD~)3`gwmNUh(*roAp zS2n5iuW^3!w(UC5Mr!vx;|$K+mTMZ|?(3H8EzluyFP=Ixq|hE>C#QemmTRTha*aX~ zYVftz+LY#rzVCcTd*mKHl{*d^VtX$ z464KQRW|F>Zd8%`J*y-PEAwYvVx9^}cS}s5adoBaWS4sn)%jO9u(FAzTXBx_W?&h9 zZDm$Yzjg*|&d7Qqz}{CQ>w4%=7+DN4WF`Cs=Yv8c>ri22!Nj&eS{I1uVDc!v+nySd zfzub`cmwH+_^?8ExwSsRybyfc3O#ww;}>M8n@a=hH8H3X3-_zA(Mm1>#op~lTy79m zXrg?9BxNsO284ZA479Y4{v)&~SZ~ETin9t_M_)lz`));jE@pay7ZVB^0f9j9W2ZwktCH(P8vzha>=ym7949Jy@n4dbW^d3w5$D3k~0Zq zS7#`jOY>+d22El`ZeydBoa>9tqy3)1Gu|4+%>6Ej*vl0GMPCpDDlL%DgBAq~saPO! zN`VVxi>mhBHhNRc^aLedkB!19u^7e5=V799Nd{T~J{SyF73+vWrkY1jhjFdu(H&4w zKvkmtdy4A`>LVJXsPDIQxOpT*Sg0U>BW@lERVk@zF^@h4;QGuXENAA?&+rp@nCR2o zm`A7Kg`r`*k`Q}Rw>BW|Q+8g#IC@m(SCZY?T}qG{j?YEx;gnx=!C3lLkUgjCHPDf? zyX>U*{9SlTr_8##VU*1&JrJiiZ-&tU7Baif=rS;KcF`X}Z2D>!9S?XAb`iq~E%JYY zagc=y?V^3J0JfxydMIYn95R2F44R&Sh#yE#lkCOjSZoC?6fPwEJcff0_{keV#VfGL zxhZb5@{F7kOSHZ{AqGWa-Ms`Gt>o-oYyqv2jCsiuvoxH|?X_`;+B$dh`IlTGY0Eck zZ_Oo#)*q>PgxRA|SNQ^cx}#Ck<`n>x4Q11jNfh1iB}U4uE;|y zRkbnHJLnQSh9yFrH9&IA{=ADf*&BaJ@OdRn*c-?`f%e8l0ljj2Lr6=My&+VPRO|4fw`^xG5QHa%4|YvZo+y!9i;O6|4@FY1G?rms;&{ zP=Ia?6xv&@Dui19QSvY8ua5!BRmRsDFwhM7uG~Lukdy+DJ%A6^LSvug1BZ%* zA7>G?@M{Ac!l5e~gxdjvs!?`;kQtboR4}^DGsvQbJdrI=1vr@<@HG5Hb^v|y+5!3~ zhS-Qq+aiY!fX6cHSj?2?!o^pS2F8+U8;coqTP1Y#DF+>8=(A+n{s?3)>}A=jS*C4i zK;(06XH^YbgQt|9^=8|~oYkIe+xx-uz*CT|h38?Bv3$ATGiKj`d^C_w;h$i=h1s;* zvIS++o&?CsH{4B2nG!@~uMv;Qw$c6(Q( z%bsPN`clbvHgn8S6|}<6BUdPL0rDVMoZg>drfI%F{ux4^DYrK=mU(?F%cQTv7A!}$ zP%j!i|5xUT<{a_Aa_$*V-OhOGU1fO+b7Wh2>i=?N&wq~Wj~G-`61^RciQXW+-HshQ zhPE}QD8(JT<6dvV15WG2uEt+UG7W8U?lQ*GoiggeMf>Qfc4IdEG_=9ZEau2YSV0Ln za%7t`@mkQdTj4qmb7U+0Sk8vKt9Sf)t*PcH+!H##)f{c$ogrtgY{-zE7>9hh#!efL zE&9Iv*ssiWHaHFT3eS-}JyDzHA7`>(XR=>+X20&te#OK{!;MjyXd9kk6gJStD=A$S zdpn9(05ATO$jS{iY<--5=gz&cuZSledwoyJ{TqYH!jf|T(P(9`radV)4&~doa_83A zeZXM9lmql$TFpk^!r2VAIE>8-jP;>>gB*XbTZm)7lVsV?U{4|Lx!-jOf8^JFo2Zb) z+!>zI{joE0>1mJo?r(vfxiTyzI(SI|ctMG}tq^KSe{NnN(ndrxvV!j=VdJHmOL#Gs z3R<%-ItEYmV$kafJ_(wFOD#07^acKre0in$NLpTLcI%xRaJI|$SNO*(kyV<3;a-Le z-}ey1kCq7>sKu4FgIcv|g<9}Mr`EOpIr*}HZ)4DeQftOPl8;(^q&RBb>>sZLwHO%H zs3q4^E48pxQj5Om)OwwNPCjb=T^zOE=^x2QEk05lwLa`0uLQLi7*(m|lPxre6l&#U z>puUSeAK!(j#}UMkL05kA1RJnzx0n+f?5oWYSfZesa3YHR8ot+=(4r^8$QFtyKXIo zrV;DbA^wqk)Z!z>QR_JWcqORCz^F4s|42S+@sZ-F zb(Md-64YW~RHD}2>fX*KUdwm|K{NSX7qYH@az3(6#*ytt|42Tv@sZ-l_Ba0VN|23# zQHgAi9Icz1a2xUV(W(g&8o%m<{Cod&eS~~-93kKDAIV2ZK9WvI^hAg$E~YQ~%s%NK zuLL0(7?lXQLh+o~D7cir%FTB#;;TNhZ~JHFquDp&X!cY8NIshJk#w5Ld~o2|v+c}& z=O3>G%@`P!Xtq3aaM?(h7Wv!!Oi{y;;%b?4}`u!BVzyYy-`|93T{XH!ln}_!;P**ZV(fyn| zyg^UhmJ8b-R3ZZoJ+B4_N*j_5kSKa&yw>S#xTduwt&eoCVR8zq!ZKbZb8lrofp7g* zgMGCe2Z8T<(QnZ=J3@TzdzBnG!~@q#zKw!tx72lLK! z$Lh&wYogX@COgL9fv=>NOtxE-^>!EY{w;@?&TeC5yxxHvarI=ZK0b;eW}R*gGTIJK zO+xm#`e;(Gjf^Fo#>CWkjgJ31-TEXu@d6&6|AFP|m3{^>F_3MX3DzjACY zWc`v+H~m3gzob7_etYWv5M3@$Wjo1Wt65JVLG(lmXvt~6wKYE8+JO)3OiXpU$(DKo zf!(V&EI%Q^BayZ6Z*6)*GPo6@Dp`Vn@-5kgI9TogQke;+nF;?iZn>0gJBu<-1*c(>iektQf{ydAM5_tT*E zJX7zqlJsUckO6P$uMirxpp@=1!wdB`kp3nHFQgASQkLKmG$F++^y1yBpELX|SCG{^ ztt2~}h*|#c8Dh$InIVRH8%X!YPJ^R&aiQRdSqg~R6B_%LW6*|P#FUg)6ER0Ah$-7; zh8XH?AU&omVo;2ZtcI91k;*7rrqk0iT*UN}O`kd#NH>(7{+=-XQ)8#^-oT_2AWCTy z{y}D141Y5gMA`gFfNcH=)tu06?xApiALTUSSC~Yr%VO^XSJv8)fmNDZzzwPa+hKG7I~Cslckp~Ujv zWw`3r#yc%scj37^)3dpbUV=`xj@PygEhot_magL?Cc`A}pk7p)jJN8@R0HWq3~w2W z)Cy=nOzdS@q%t|^y?6nkU106j98CA$@QUWt{WsjUHi1vT5cm=P-wyxJBU@w}wsbqA zP&bA`>ThomgST>5(gLk8R!xzE4QQ1~^ZNv_%1@|GH#)EhYqdukP1t@V zV7@~NQF7X#-jU&PTv=!@!WPCk-4Qi)o)F-6;uwri%{`}tMXG(GxhObNeyLhpOK7Jd zM2>&c$#b{Sr=L|H#5D)@fCQtvs_JZrOo*L+7W!6`7U*6FT$lK3uo6+ZCzVV*0Wz(x z!CLAaRmc*Vg6IWQ24tC|q=zlZHWa;m)~u0Cwq}hW)n4+qY&epp2cyV!D2!x*z^f@h zgAJtbEFiFA%)XtfYTF;1;K3$W?0c<(H#G@vl5oLOj{b2|ZD48tZ|Q>K=2V;r7rcF- z5ep2@2_6>pTkwuE`t-xd1@9Pw(Op#)y!1Ojnec~;(n07uNbn@0a)M{#$t8G}dKOtS zSR$jbP4LXhz{KV#l?3n7C~|SZGa)DzyyXQ1jukxI8>@mhQ*Fh=?u3q7OkecXWIPH> zT=2$d&ejzVi~22i&o%mVOA{iS3*NH{Mt9XJg7-Y=J4o;(qH=;~;>jg=mU>4OvVBhJuR*@}-2KjZCAkTqq+qc6JPeJTn| zT<|_YbG8Z|7WG^3{@v))ElrBxeVt%*SFIv=--f<}1WzI=CwL~FT!Lq*XAwMuCH#VC zRtCW{N2w%ui@vS1fSU$LE-rW`1jT~)u>u0e3LZK=)fI1NwG|J$lPey5(FO15C@gWo zI|3RxOie86x8R*-^y#N0U-2G8FuJQ&5xg^??;ydGh{_3`i6@ufS?V2C$P%jH6;}qq zGe@Z;cu$Wa7Z*Gef?~lNC?IgW;OQ$~9&v`o@~?PB;oa9qVTlXg49(fP;$cz01@EOs zpKfVVR=mF^7~NH?2;MC89VB=XQ8~dg@#GRbOFfI=87$!!JhL(go;gY-!Fzucxwzn& z5EKjE_5uP&3f}4bfQ+7ihnIx$U?l+`3&yBO5lgzQM1-HPQ+@uTwP9$=pnQJnEWhik z-q)fq#f9(7G;gc$VNsOu$){+bJIlK>KQsDsOOqmaKPLFxRjUZzFQD%r!DC2DH8(E3 z56uZ;c`JI!cXZ^rXP``$k7G%Os}Bv_B+Q>Z@UzYb2bCH60BGbpDX)U(L!j>nJOlUS z6r9P6E(K?)w-{wELs5@?2Q_8Zt)!;Tj6ynBQzis3s{^e{K@!+eZkbK7%DcBfv?5jB zSG1$uWN=HXHBLH@4uDzMRnmZ?XgZos;D~24J69eet%z4TuvoK7ahXwMvp-nt3wdF zt5#7P)6jR2+K_04gb9;yNQs#9HLaH9V7K@`U4mwNHI%n*w6)O$Q*p}--3gEzc@c51MIr@U6dj6UHLilzKqH5r8jGS-P(Uow z`9`09ao~RH#}bV0ss(Dut9>qnzJs(6LzKR2UyNjzRxo{$@<9vuRb{5jM=IL42Vi@= z%*wU)(@D_CTzt^(5eE;M=n9<)Ae%* zq@RR~gthU>nW4)tg(mx#mZ2+|vxC)xXxF?y#Afj>Vb|KZu<>saaU^hGGwA2m&NwIG z9;WF7sq-F)FB|<82EIPZI%%Pd9i{plerAm6p95cveoS+4SFN%b{Q~+95?;g>t=c)c zGV$n=D@(nj1DHi3uoqGr9f<~xi)G~A0tDw|#M>piLo<-REg;4&EKLJl~afKTOoSW35q0C477)F(YuJbtqSL zDC^nCDs0{<@MRS~!q>0;-O%Ogz-)zAf09f`n&;B*=_`jWih)mdT`W84y?WuL+0_V< zf5>Zhj>WMfub&+pJL>A$v18!>W8wc*@c(M~|F>fgqnPkC7};dgr{TOSJ%3dq4My*9 zA4|C37|r0$CCE4r=2135MoPI2ZUsL?ItkqXqQ<@eH&GaBD2c!YoI470QfxRM-hS=E zkwG0dgS9R2q71lR@OF5{(Rj&Z3(v)z9YZir6KLluT}Z)5pN$X?q}Or4g_6-_LuC=1 zH9o4f;JKd&GLsSHc2KAKUG2f*w@jB^QSVN*oANG`{4Oy_s^yj#^ofg1e}#=C`@qVP z-jf4SxuJB@xq?O7b=2eaW|w7w05-wo5*}75(^O8dSEez~<^aRO2f{nsSE?u)0qZTxP<3JOR{r2l+zJwbZJVHD~8W*)b)grX1%(BFu^8ZXqn zB&p?jwC@ABzE@naoV|~>*ZuH`UT>pMx%bh?mdd@4W-j4~d=8$-kObiEk12O?`PSz( z$Swjcp|nV|meM5Xs#G4ziTHR93R+FRG+wE4n=sg6Zwqs624v#&Y9t#-9o%Epcn#HMCopnsNKHc4r ztg26s)F&|w(5kc7CTES-J0ruL#&vb^$ z@j7r1JmE9wZElp{IfMcT`f(^pLe(r6)5gc@@vR$%_$hVvS$FQ zYrVKkeJ_N*d9ffNFw^PReciWv^tW~iHhMl)eM3e5m$k}HbdkUvbUSQOeyke;<1 z*y}C;fZ30q!cSz~(kF-gm@-CZvZenhwFG%3R(zl7F}sQg^l@9^Izq7~ zdwWT?rkzEqzbT~`4yO7GU|1^rD~suiK82&aQ}Di|vJ#qtDHHmp)H?r2zAV^$q_`~D z8~x*z$b!wl(Dkya(1kgE3^T_MCHxoy?sorM`Jk-z{%Du=t_o^qyYB;_>b4J>9^7`% z0L$6#Uj;#`YP;juxPqeXzCbhs-$bxZqM*auTt z_Kerp8-wVK8D~e&AkDVuJ*bkP^O9yq-waLT?dWTv6|lU~eA2mF;IOJT0(S^8oq96WfnY=khXyOS)188!Dc3cu)rnlJg~Bh>R4xzc z8xWd-^mQC4`y!`OozG}NNpXf!OM<nrKZ4yU@ zJ>_7EY+Rm{6Qc1i$9Q^vCWYopB5ZMMj6Aad_&jXpz}-}9#{&I3!RM~3>Zi!Vne=#n+um@orN+|b!fi*qbO={u zwl_xWqe3Dr5yM&x`Tn_X#Z)aN`m9finl%^Sbw8B} z-@O=cFp!D`O)STyJvVD6YLk}8G?n=h8I*RU$9ppb9T^^+9FX@2k1*5ugJWM5Kj
it!uU?78%X7(en~QZi)aA9K{eu2gR2 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 delta 4707 zcmb7HeQaCR74OS8XL=h56X5Q5}WvFDcew`POH2Pbs8{`3hbXs;U6TVjfy{zkeG%lLqBxpajH)UT$LYVhZq8r$hWi^geHZbOJBhU?l8r@4|6}?f**d3_LHGpWGYp@R zIXz24WSsPnG2#z5!L~NsmW`2#!vE^e)V1!ltcSm!R9guuuF+TZ$GELxl0xWlek6QmXk5_Nn0^r!2?kzc^d zl8tIjZrq@L%ur_>xsaQoQ##VwsNJAnw1o=2ZTE8SWv5MmCA$u9eYPsBhE#M>)XDSo zD_5x5;A@!*8>YinuC#{qQaY(et(@8KX6}lFpF?6^(OMw^q9Uf^VnPpd5cx9w`-UTB zp$)iy9(=u)(B2|vwSKzd>EFQW1T(q}_|MbN-8=T%Q8vvdRg#T4;w-L|Mfx6#lw2~x z!}6eSwTJ0n+Ye8zVz9RKn%OzOZ(~FECpSk#W1ZW2LgboR=Nqk@W@DBcdZ9DW$XbK0 zbO!ElG)F5av!*aMQ;lZtOP-EOJL%`%ZZ1H_?)X7>iCz5(-6~)9`>xX8 ziBIx?$D7kRr)x&-YRo`KnSrxf7^)`RZB>ng2(WPMxFd*;wsmdH>7*GZkzGu@cp|!( zUJ!+ptco#Nepr|{Xc007Esin^n7X{B%L}}z%@?&xOHdlXV6b1X3fBW#Gdd4F=X--b z@B8Pba>8k*=fa+;8d+(dnC5@Dw2(|CM1`Lg7iAs#=ssX%Cq3);ZeXo$IXzF`^Cy}N z_;jq-Gh@zYt$iZF$1NiXG!nIDw%zwq*a^jni0; zR%q*CF{$te<%GC^S(u@mccuy+zzleHdDqXD)Me{&up=xoJH>&_R(Wf+tkP&1qN)C# zTxoS#GYHzC%HiB)O_1Wy0+cOg3uGK^;asaQ$eQ6MfkzqrSO4t6%Mc;d&FlE(m@sP& zGwILv4t6Yd<2)9vbQmlo9_iZn0V%@Li$O5UmuMJ19?HuNqmglw5n2WHiN3 zE79YkqCz#%w}bt+8{KThXb-pm6jCSM6?Dq8+KQzy*%IvD}X2+&4M}p?2zR{qsWK+H4I#9>1 zr^}<0`!Yr#kKorWahS4qFb8pT8tUWn^r=t}$k#%FoDS-xJPm3MC*TID zYxNm5p=-?`1$-Av+4{8+1i})q;Le1@YEV+v9YbcEU5qF+WOKj(S=VsgJwd(WfgMGr{(%~BBaxng z2dkSUdzG$QrOJ39_dYC@F)6(StF`iYrGkYTdHkS`_Dl%5KcTl4IEV1gaRMi&lhjc_ z{>~acoTQ@un``SAN!?h^>PHj2gVpO`t(;YRbrq}E>DZlo?wbn!2XBeh8x<_n$ZA7< zk=3S*7**n=l+zG!^yL~JoSdTm7i;SmIbFBzXR9jJnndNd1g$BSU04uRUE_i*%pCY} z^piCi9E0iO?Ot;*eYf5Fqbh@GxVWj3NHaSH`j?$2a}Pt{62a)d zCSQ?@+qgX<548@Bmev4u=+VP|K3|~J*;lkHe6mb*} zp%|?PF$^NB-3EWgbE3MGhKmRMx0f)K2>CifF6PNfp2ZMh{`1Utp83r)pLyml!hGeK zpFHysVfG_gvK0+7SZx677{Gd!TqW-_OypYw&>+Nk&_Hwm!)1ul_{0$D_{0$5v27r_ mhEEJpgN+CeFosA<6;AFR=Q>&wVq8|DYEn+=5iF=|Y~*{zO9r3- diff --git a/docs/build/html/_modules/collections.html b/docs/build/html/_modules/collections.html index 54bcd065..e044d857 100644 --- a/docs/build/html/_modules/collections.html +++ b/docs/build/html/_modules/collections.html @@ -107,17 +107,30 @@

Source code for collections

 
 '''
 
-__all__ = ['deque', 'defaultdict', 'namedtuple', 'UserDict', 'UserList',
-            'UserString', 'Counter', 'OrderedDict', 'ChainMap']
+__all__ = [
+    'ChainMap',
+    'Counter',
+    'OrderedDict',
+    'UserDict',
+    'UserList',
+    'UserString',
+    'defaultdict',
+    'deque',
+    'namedtuple',
+]
 
 import _collections_abc
-from operator import itemgetter as _itemgetter, eq as _eq
-from keyword import iskeyword as _iskeyword
-import sys as _sys
 import heapq as _heapq
-from _weakref import proxy as _proxy
-from itertools import repeat as _repeat, chain as _chain, starmap as _starmap
+import sys as _sys
+
+from itertools import chain as _chain
+from itertools import repeat as _repeat
+from itertools import starmap as _starmap
+from keyword import iskeyword as _iskeyword
+from operator import eq as _eq
+from operator import itemgetter as _itemgetter
 from reprlib import recursive_repr as _recursive_repr
+from _weakref import proxy as _proxy
 
 try:
     from _collections import deque
@@ -147,6 +160,7 @@ 

Source code for collections

         return obj
     raise AttributeError(f'module {__name__!r} has no attribute {name!r}')
 
+
 ################################################################################
 ### OrderedDict
 ################################################################################
@@ -384,7 +398,25 @@ 

Source code for collections

         '''
         if isinstance(other, OrderedDict):
             return dict.__eq__(self, other) and all(map(_eq, self, other))
-        return dict.__eq__(self, other)
+ return dict.__eq__(self, other) + + def __ior__(self, other): + self.update(other) + return self + + def __or__(self, other): + if not isinstance(other, dict): + return NotImplemented + new = self.__class__(self) + new.update(other) + return new + + def __ror__(self, other): + if not isinstance(other, dict): + return NotImplemented + new = self.__class__(other) + new.update(self) + return new
try: @@ -474,18 +506,23 @@

Source code for collections

     # Variables used in the methods and docstrings
     field_names = tuple(map(_sys.intern, field_names))
     num_fields = len(field_names)
-    arg_list = repr(field_names).replace("'", "")[1:-1]
+    arg_list = ', '.join(field_names)
+    if num_fields == 1:
+        arg_list += ','
     repr_fmt = '(' + ', '.join(f'{name}=%r' for name in field_names) + ')'
     tuple_new = tuple.__new__
     _dict, _tuple, _len, _map, _zip = dict, tuple, len, map, zip
 
     # Create all the named tuple methods to be added to the class namespace
 
-    s = f'def __new__(_cls, {arg_list}): return _tuple_new(_cls, ({arg_list}))'
-    namespace = {'_tuple_new': tuple_new, '__name__': f'namedtuple_{typename}'}
-    # Note: exec() has the side-effect of interning the field names
-    exec(s, namespace)
-    __new__ = namespace['__new__']
+    namespace = {
+        '_tuple_new': tuple_new,
+        '__builtins__': {},
+        '__name__': f'namedtuple_{typename}',
+    }
+    code = f'lambda _cls, {arg_list}: _tuple_new(_cls, ({arg_list}))'
+    __new__ = eval(code, namespace)
+    __new__.__name__ = '__new__'
     __new__.__doc__ = f'Create new instance of {typename}({arg_list})'
     if defaults is not None:
         __new__.__defaults__ = defaults
@@ -522,8 +559,14 @@ 

Source code for collections

         return _tuple(self)
 
     # Modify function metadata to help with introspection and debugging
-    for method in (__new__, _make.__func__, _replace,
-                   __repr__, _asdict, __getnewargs__):
+    for method in (
+        __new__,
+        _make.__func__,
+        _replace,
+        __repr__,
+        _asdict,
+        __getnewargs__,
+    ):
         method.__qualname__ = f'{typename}.{method.__name__}'
 
     # Build-up the class namespace dictionary
@@ -533,8 +576,6 @@ 

Source code for collections

         '__slots__': (),
         '_fields': field_names,
         '_field_defaults': field_defaults,
-        # alternate spelling for backward compatibility
-        '_fields_defaults': field_defaults,
         '__new__': __new__,
         '_make': _make,
         '_replace': _replace,
@@ -641,7 +682,7 @@ 

Source code for collections

         >>> c = Counter(a=4, b=2)                   # a new counter from keyword args
 
         '''
-        super(Counter, self).__init__()
+        super().__init__()
         self.update(iterable, **kwds)
 
     def __missing__(self, key):
@@ -725,7 +766,8 @@ 

Source code for collections

                     for elem, count in iterable.items():
                         self[elem] = count + self_get(elem, 0)
                 else:
-                    super(Counter, self).update(iterable) # fast path when counter is empty
+                    # fast path when counter is empty
+                    super().update(iterable)
             else:
                 _count_elements(self, iterable)
         if kwds:
@@ -772,13 +814,14 @@ 

Source code for collections

 
     def __repr__(self):
         if not self:
-            return '%s()' % self.__class__.__name__
+            return f'{self.__class__.__name__}()'
         try:
-            items = ', '.join(map('%r: %r'.__mod__, self.most_common()))
-            return '%s({%s})' % (self.__class__.__name__, items)
+            # dict() preserves the ordering returned by most_common()
+            d = dict(self.most_common())
         except TypeError:
             # handle case where values are not orderable
-            return '{0}({1!r})'.format(self.__class__.__name__, dict(self))
+            d = dict(self)
+        return f'{self.__class__.__name__}({d!r})'
 
     # Multiset-style mathematical operations discussed in:
     #       Knuth TAOCP Volume II section 4.6.3 exercise 19
@@ -999,7 +1042,7 @@ 

Source code for collections

     def __iter__(self):
         d = {}
         for mapping in reversed(self.maps):
-            d.update(mapping)                   # reuses stored hash values if possible
+            d.update(dict.fromkeys(mapping))    # reuses stored hash values if possible
         return iter(d)
 
     def __contains__(self, key):
@@ -1043,7 +1086,7 @@ 

Source code for collections

         try:
             del self.maps[0][key]
         except KeyError:
-            raise KeyError('Key not found in the first mapping: {!r}'.format(key))
+            raise KeyError(f'Key not found in the first mapping: {key!r}')
 
     def popitem(self):
         'Remove and return an item pair from maps[0]. Raise KeyError is maps[0] is empty.'
@@ -1057,12 +1100,31 @@ 

Source code for collections

         try:
             return self.maps[0].pop(key, *args)
         except KeyError:
-            raise KeyError('Key not found in the first mapping: {!r}'.format(key))
+            raise KeyError(f'Key not found in the first mapping: {key!r}')
 
     def clear(self):
         'Clear maps[0], leaving maps[1:] intact.'
         self.maps[0].clear()
 
+    def __ior__(self, other):
+        self.maps[0].update(other)
+        return self
+
+    def __or__(self, other):
+        if not isinstance(other, _collections_abc.Mapping):
+            return NotImplemented
+        m = self.copy()
+        m.maps[0].update(other)
+        return m
+
+    def __ror__(self, other):
+        if not isinstance(other, _collections_abc.Mapping):
+            return NotImplemented
+        m = dict(other)
+        for child in reversed(self.maps):
+            m.update(child)
+        return self.__class__(m)
+
 
 ################################################################################
 ### UserDict
@@ -1071,38 +1133,29 @@ 

Source code for collections

 class UserDict(_collections_abc.MutableMapping):
 
     # Start by filling-out the abstract methods
-    def __init__(*args, **kwargs):
-        if not args:
-            raise TypeError("descriptor '__init__' of 'UserDict' object "
-                            "needs an argument")
-        self, *args = args
-        if len(args) > 1:
-            raise TypeError('expected at most 1 arguments, got %d' % len(args))
-        if args:
-            dict = args[0]
-        elif 'dict' in kwargs:
-            dict = kwargs.pop('dict')
-            import warnings
-            warnings.warn("Passing 'dict' as keyword argument is deprecated",
-                          DeprecationWarning, stacklevel=2)
-        else:
-            dict = None
+    def __init__(self, dict=None, /, **kwargs):
         self.data = {}
         if dict is not None:
             self.update(dict)
         if kwargs:
             self.update(kwargs)
-    __init__.__text_signature__ = '($self, dict=None, /, **kwargs)'
 
-    def __len__(self): return len(self.data)
+    def __len__(self):
+        return len(self.data)
+
     def __getitem__(self, key):
         if key in self.data:
             return self.data[key]
         if hasattr(self.__class__, "__missing__"):
             return self.__class__.__missing__(self, key)
         raise KeyError(key)
-    def __setitem__(self, key, item): self.data[key] = item
-    def __delitem__(self, key): del self.data[key]
+
+    def __setitem__(self, key, item):
+        self.data[key] = item
+
+    def __delitem__(self, key):
+        del self.data[key]
+
     def __iter__(self):
         return iter(self.data)
 
@@ -1111,7 +1164,30 @@ 

Source code for collections

         return key in self.data
 
     # Now, add the methods in dicts but not in MutableMapping
-    def __repr__(self): return repr(self.data)
+    def __repr__(self):
+        return repr(self.data)
+
+    def __or__(self, other):
+        if isinstance(other, UserDict):
+            return self.__class__(self.data | other.data)
+        if isinstance(other, dict):
+            return self.__class__(self.data | other)
+        return NotImplemented
+
+    def __ror__(self, other):
+        if isinstance(other, UserDict):
+            return self.__class__(other.data | self.data)
+        if isinstance(other, dict):
+            return self.__class__(other | self.data)
+        return NotImplemented
+
+    def __ior__(self, other):
+        if isinstance(other, UserDict):
+            self.data |= other.data
+        else:
+            self.data |= other
+        return self
+
     def __copy__(self):
         inst = self.__class__.__new__(self.__class__)
         inst.__dict__.update(self.__dict__)
@@ -1140,13 +1216,13 @@ 

Source code for collections

         return d
 
 
-
 ################################################################################
 ### UserList
 ################################################################################
 
 class UserList(_collections_abc.MutableSequence):
     """A more or less complete user-defined wrapper around list objects."""
+
     def __init__(self, initlist=None):
         self.data = []
         if initlist is not None:
@@ -1157,35 +1233,60 @@ 

Source code for collections

                 self.data[:] = initlist.data[:]
             else:
                 self.data = list(initlist)
-    def __repr__(self): return repr(self.data)
-    def __lt__(self, other): return self.data <  self.__cast(other)
-    def __le__(self, other): return self.data <= self.__cast(other)
-    def __eq__(self, other): return self.data == self.__cast(other)
-    def __gt__(self, other): return self.data >  self.__cast(other)
-    def __ge__(self, other): return self.data >= self.__cast(other)
+
+    def __repr__(self):
+        return repr(self.data)
+
+    def __lt__(self, other):
+        return self.data < self.__cast(other)
+
+    def __le__(self, other):
+        return self.data <= self.__cast(other)
+
+    def __eq__(self, other):
+        return self.data == self.__cast(other)
+
+    def __gt__(self, other):
+        return self.data > self.__cast(other)
+
+    def __ge__(self, other):
+        return self.data >= self.__cast(other)
+
     def __cast(self, other):
         return other.data if isinstance(other, UserList) else other
-    def __contains__(self, item): return item in self.data
-    def __len__(self): return len(self.data)
+
+    def __contains__(self, item):
+        return item in self.data
+
+    def __len__(self):
+        return len(self.data)
+
     def __getitem__(self, i):
         if isinstance(i, slice):
             return self.__class__(self.data[i])
         else:
             return self.data[i]
-    def __setitem__(self, i, item): self.data[i] = item
-    def __delitem__(self, i): del self.data[i]
+
+    def __setitem__(self, i, item):
+        self.data[i] = item
+
+    def __delitem__(self, i):
+        del self.data[i]
+
     def __add__(self, other):
         if isinstance(other, UserList):
             return self.__class__(self.data + other.data)
         elif isinstance(other, type(self.data)):
             return self.__class__(self.data + other)
         return self.__class__(self.data + list(other))
+
     def __radd__(self, other):
         if isinstance(other, UserList):
             return self.__class__(other.data + self.data)
         elif isinstance(other, type(self.data)):
             return self.__class__(other + self.data)
         return self.__class__(list(other) + self.data)
+
     def __iadd__(self, other):
         if isinstance(other, UserList):
             self.data += other.data
@@ -1194,28 +1295,53 @@ 

Source code for collections

         else:
             self.data += list(other)
         return self
+
     def __mul__(self, n):
-        return self.__class__(self.data*n)
+        return self.__class__(self.data * n)
+
     __rmul__ = __mul__
+
     def __imul__(self, n):
         self.data *= n
         return self
+
     def __copy__(self):
         inst = self.__class__.__new__(self.__class__)
         inst.__dict__.update(self.__dict__)
         # Create a copy and avoid triggering descriptors
         inst.__dict__["data"] = self.__dict__["data"][:]
         return inst
-    def append(self, item): self.data.append(item)
-    def insert(self, i, item): self.data.insert(i, item)
-    def pop(self, i=-1): return self.data.pop(i)
-    def remove(self, item): self.data.remove(item)
-    def clear(self): self.data.clear()
-    def copy(self): return self.__class__(self)
-    def count(self, item): return self.data.count(item)
-    def index(self, item, *args): return self.data.index(item, *args)
-    def reverse(self): self.data.reverse()
-    def sort(self, /, *args, **kwds): self.data.sort(*args, **kwds)
+
+    def append(self, item):
+        self.data.append(item)
+
+    def insert(self, i, item):
+        self.data.insert(i, item)
+
+    def pop(self, i=-1):
+        return self.data.pop(i)
+
+    def remove(self, item):
+        self.data.remove(item)
+
+    def clear(self):
+        self.data.clear()
+
+    def copy(self):
+        return self.__class__(self)
+
+    def count(self, item):
+        return self.data.count(item)
+
+    def index(self, item, *args):
+        return self.data.index(item, *args)
+
+    def reverse(self):
+        self.data.reverse()
+
+    def sort(self, /, *args, **kwds):
+        self.data.sort(*args, **kwds)
+
     def extend(self, other):
         if isinstance(other, UserList):
             self.data.extend(other.data)
@@ -1223,12 +1349,12 @@ 

Source code for collections

             self.data.extend(other)
 
 
-
 ################################################################################
 ### UserString
 ################################################################################
 
 class UserString(_collections_abc.Sequence):
+
     def __init__(self, seq):
         if isinstance(seq, str):
             self.data = seq
@@ -1236,12 +1362,25 @@ 

Source code for collections

             self.data = seq.data[:]
         else:
             self.data = str(seq)
-    def __str__(self): return str(self.data)
-    def __repr__(self): return repr(self.data)
-    def __int__(self): return int(self.data)
-    def __float__(self): return float(self.data)
-    def __complex__(self): return complex(self.data)
-    def __hash__(self): return hash(self.data)
+
+    def __str__(self):
+        return str(self.data)
+
+    def __repr__(self):
+        return repr(self.data)
+
+    def __int__(self):
+        return int(self.data)
+
+    def __float__(self):
+        return float(self.data)
+
+    def __complex__(self):
+        return complex(self.data)
+
+    def __hash__(self):
+        return hash(self.data)
+
     def __getnewargs__(self):
         return (self.data[:],)
 
@@ -1249,18 +1388,22 @@ 

Source code for collections

         if isinstance(string, UserString):
             return self.data == string.data
         return self.data == string
+
     def __lt__(self, string):
         if isinstance(string, UserString):
             return self.data < string.data
         return self.data < string
+
     def __le__(self, string):
         if isinstance(string, UserString):
             return self.data <= string.data
         return self.data <= string
+
     def __gt__(self, string):
         if isinstance(string, UserString):
             return self.data > string.data
         return self.data > string
+
     def __ge__(self, string):
         if isinstance(string, UserString):
             return self.data >= string.data
@@ -1271,105 +1414,191 @@ 

Source code for collections

             char = char.data
         return char in self.data
 
-    def __len__(self): return len(self.data)
-    def __getitem__(self, index): return self.__class__(self.data[index])
+    def __len__(self):
+        return len(self.data)
+
+    def __getitem__(self, index):
+        return self.__class__(self.data[index])
+
     def __add__(self, other):
         if isinstance(other, UserString):
             return self.__class__(self.data + other.data)
         elif isinstance(other, str):
             return self.__class__(self.data + other)
         return self.__class__(self.data + str(other))
+
     def __radd__(self, other):
         if isinstance(other, str):
             return self.__class__(other + self.data)
         return self.__class__(str(other) + self.data)
+
     def __mul__(self, n):
-        return self.__class__(self.data*n)
+        return self.__class__(self.data * n)
+
     __rmul__ = __mul__
+
     def __mod__(self, args):
         return self.__class__(self.data % args)
+
     def __rmod__(self, template):
         return self.__class__(str(template) % self)
+
     # the following methods are defined in alphabetical order:
-    def capitalize(self): return self.__class__(self.data.capitalize())
+    def capitalize(self):
+        return self.__class__(self.data.capitalize())
+
     def casefold(self):
         return self.__class__(self.data.casefold())
+
     def center(self, width, *args):
         return self.__class__(self.data.center(width, *args))
+
     def count(self, sub, start=0, end=_sys.maxsize):
         if isinstance(sub, UserString):
             sub = sub.data
         return self.data.count(sub, start, end)
+
+    def removeprefix(self, prefix, /):
+        if isinstance(prefix, UserString):
+            prefix = prefix.data
+        return self.__class__(self.data.removeprefix(prefix))
+
+    def removesuffix(self, suffix, /):
+        if isinstance(suffix, UserString):
+            suffix = suffix.data
+        return self.__class__(self.data.removesuffix(suffix))
+
     def encode(self, encoding='utf-8', errors='strict'):
         encoding = 'utf-8' if encoding is None else encoding
         errors = 'strict' if errors is None else errors
         return self.data.encode(encoding, errors)
+
     def endswith(self, suffix, start=0, end=_sys.maxsize):
         return self.data.endswith(suffix, start, end)
+
     def expandtabs(self, tabsize=8):
         return self.__class__(self.data.expandtabs(tabsize))
+
     def find(self, sub, start=0, end=_sys.maxsize):
         if isinstance(sub, UserString):
             sub = sub.data
         return self.data.find(sub, start, end)
+
     def format(self, /, *args, **kwds):
         return self.data.format(*args, **kwds)
+
     def format_map(self, mapping):
         return self.data.format_map(mapping)
+
     def index(self, sub, start=0, end=_sys.maxsize):
         return self.data.index(sub, start, end)
-    def isalpha(self): return self.data.isalpha()
-    def isalnum(self): return self.data.isalnum()
-    def isascii(self): return self.data.isascii()
-    def isdecimal(self): return self.data.isdecimal()
-    def isdigit(self): return self.data.isdigit()
-    def isidentifier(self): return self.data.isidentifier()
-    def islower(self): return self.data.islower()
-    def isnumeric(self): return self.data.isnumeric()
-    def isprintable(self): return self.data.isprintable()
-    def isspace(self): return self.data.isspace()
-    def istitle(self): return self.data.istitle()
-    def isupper(self): return self.data.isupper()
-    def join(self, seq): return self.data.join(seq)
+
+    def isalpha(self):
+        return self.data.isalpha()
+
+    def isalnum(self):
+        return self.data.isalnum()
+
+    def isascii(self):
+        return self.data.isascii()
+
+    def isdecimal(self):
+        return self.data.isdecimal()
+
+    def isdigit(self):
+        return self.data.isdigit()
+
+    def isidentifier(self):
+        return self.data.isidentifier()
+
+    def islower(self):
+        return self.data.islower()
+
+    def isnumeric(self):
+        return self.data.isnumeric()
+
+    def isprintable(self):
+        return self.data.isprintable()
+
+    def isspace(self):
+        return self.data.isspace()
+
+    def istitle(self):
+        return self.data.istitle()
+
+    def isupper(self):
+        return self.data.isupper()
+
+    def join(self, seq):
+        return self.data.join(seq)
+
     def ljust(self, width, *args):
         return self.__class__(self.data.ljust(width, *args))
-    def lower(self): return self.__class__(self.data.lower())
-    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
+
+    def lower(self):
+        return self.__class__(self.data.lower())
+
+    def lstrip(self, chars=None):
+        return self.__class__(self.data.lstrip(chars))
+
     maketrans = str.maketrans
+
     def partition(self, sep):
         return self.data.partition(sep)
+
     def replace(self, old, new, maxsplit=-1):
         if isinstance(old, UserString):
             old = old.data
         if isinstance(new, UserString):
             new = new.data
         return self.__class__(self.data.replace(old, new, maxsplit))
+
     def rfind(self, sub, start=0, end=_sys.maxsize):
         if isinstance(sub, UserString):
             sub = sub.data
         return self.data.rfind(sub, start, end)
+
     def rindex(self, sub, start=0, end=_sys.maxsize):
         return self.data.rindex(sub, start, end)
+
     def rjust(self, width, *args):
         return self.__class__(self.data.rjust(width, *args))
+
     def rpartition(self, sep):
         return self.data.rpartition(sep)
+
     def rstrip(self, chars=None):
         return self.__class__(self.data.rstrip(chars))
+
     def split(self, sep=None, maxsplit=-1):
         return self.data.split(sep, maxsplit)
+
     def rsplit(self, sep=None, maxsplit=-1):
         return self.data.rsplit(sep, maxsplit)
-    def splitlines(self, keepends=False): return self.data.splitlines(keepends)
+
+    def splitlines(self, keepends=False):
+        return self.data.splitlines(keepends)
+
     def startswith(self, prefix, start=0, end=_sys.maxsize):
         return self.data.startswith(prefix, start, end)
-    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
-    def swapcase(self): return self.__class__(self.data.swapcase())
-    def title(self): return self.__class__(self.data.title())
+
+    def strip(self, chars=None):
+        return self.__class__(self.data.strip(chars))
+
+    def swapcase(self):
+        return self.__class__(self.data.swapcase())
+
+    def title(self):
+        return self.__class__(self.data.title())
+
     def translate(self, *args):
         return self.__class__(self.data.translate(*args))
-    def upper(self): return self.__class__(self.data.upper())
-    def zfill(self, width): return self.__class__(self.data.zfill(width))
+
+    def upper(self):
+        return self.__class__(self.data.upper())
+
+    def zfill(self, width):
+        return self.__class__(self.data.zfill(width))
 
@@ -1389,7 +1618,7 @@

Source code for collections

       ©Copyright (C) 2017-2022.
       
       |
-      Powered by Sphinx 4.1.1
+      Powered by Sphinx 4.4.0
       & Alabaster 0.7.12
       
     
diff --git a/docs/build/html/_modules/index.html b/docs/build/html/_modules/index.html index d1f4d7cf..bf0e1e5c 100644 --- a/docs/build/html/_modules/index.html +++ b/docs/build/html/_modules/index.html @@ -128,7 +128,7 @@

All modules for which code is available

©Copyright (C) 2017-2022. | - Powered by Sphinx 4.1.1 + Powered by
Sphinx 4.4.0 & Alabaster 0.7.12
diff --git a/docs/build/html/_modules/plotly/offline/offline.html b/docs/build/html/_modules/plotly/offline/offline.html index f45be670..3a9247a1 100644 --- a/docs/build/html/_modules/plotly/offline/offline.html +++ b/docs/build/html/_modules/plotly/offline/offline.html @@ -950,7 +950,7 @@

Source code for plotly.offline.offline

       ©Copyright (C) 2017-2022.
       
       |
-      Powered by Sphinx 4.1.1
+      Powered by Sphinx 4.4.0
       & Alabaster 0.7.12
       
     
diff --git a/docs/build/html/_modules/scipy/spatial/kdtree.html b/docs/build/html/_modules/scipy/spatial/kdtree.html index e4fe7acf..6992b244 100644 --- a/docs/build/html/_modules/scipy/spatial/kdtree.html +++ b/docs/build/html/_modules/scipy/spatial/kdtree.html @@ -94,8 +94,8 @@

Source code for scipy.spatial.kdtree

 # Copyright Anne M. Archibald 2008
 # Released under the scipy license
 import numpy as np
-from heapq import heappush, heappop
-import scipy.sparse
+import warnings
+from .ckdtree import cKDTree, cKDTreeNode
 
 __all__ = ['minkowski_distance_p', 'minkowski_distance',
            'distance_matrix',
@@ -103,8 +103,7 @@ 

Source code for scipy.spatial.kdtree

 
 
 def minkowski_distance_p(x, y, p=2):
-    """
-    Compute the pth power of the L**p distance between two arrays.
+    """Compute the pth power of the L**p distance between two arrays.
 
     For efficiency, this function computes the L**p distance but does
     not extract the pth root. If `p` is 1 or infinity, this is equal to
@@ -146,8 +145,7 @@ 

Source code for scipy.spatial.kdtree

 
 
 def minkowski_distance(x, y, p=2):
-    """
-    Compute the L**p distance between two arrays.
+    """Compute the L**p distance between two arrays.
 
     Parameters
     ----------
@@ -173,7 +171,7 @@ 

Source code for scipy.spatial.kdtree

         return minkowski_distance_p(x, y, p)**(1./p)
 
 
-class Rectangle(object):
+class Rectangle:
     """Hyperrectangle class.
 
     Represents a Cartesian product of intervals.
@@ -192,8 +190,7 @@ 

Source code for scipy.spatial.kdtree

         return np.prod(self.maxes-self.mins)
 
     def split(self, d, split):
-        """
-        Produce two hyperrectangles by splitting.
+        """Produce two hyperrectangles by splitting.
 
         In general, if you need to compute maximum and minimum
         distances to the children, it can be done more efficiently
@@ -217,7 +214,8 @@ 

Source code for scipy.spatial.kdtree

 
     def min_distance_point(self, x, p=2.):
         """
-        Return the minimum distance between input and points in the hyperrectangle.
+        Return the minimum distance between input and points in the
+        hyperrectangle.
 
         Parameters
         ----------
@@ -227,7 +225,10 @@ 

Source code for scipy.spatial.kdtree

             Input.
 
         """
-        return minkowski_distance(0, np.maximum(0,np.maximum(self.mins-x,x-self.maxes)),p)
+        return minkowski_distance(
+            0, np.maximum(0, np.maximum(self.mins-x, x-self.maxes)),
+            p
+        )
 
     def max_distance_point(self, x, p=2.):
         """
@@ -241,7 +242,7 @@ 

Source code for scipy.spatial.kdtree

             Input.
 
         """
-        return minkowski_distance(0, np.maximum(self.maxes-x,x-self.mins),p)
+        return minkowski_distance(0, np.maximum(self.maxes-x, x-self.mins), p)
 
     def min_distance_rectangle(self, other, p=2.):
         """
@@ -255,7 +256,12 @@ 

Source code for scipy.spatial.kdtree

             Input.
 
         """
-        return minkowski_distance(0, np.maximum(0,np.maximum(self.mins-other.maxes,other.mins-self.maxes)),p)
+        return minkowski_distance(
+            0,
+            np.maximum(0, np.maximum(self.mins-other.maxes,
+                                     other.mins-self.maxes)),
+            p
+        )
 
     def max_distance_rectangle(self, other, p=2.):
         """
@@ -269,38 +275,46 @@ 

Source code for scipy.spatial.kdtree

             Input.
 
         """
-        return minkowski_distance(0, np.maximum(self.maxes-other.mins,other.maxes-self.mins),p)
+        return minkowski_distance(
+            0, np.maximum(self.maxes-other.mins, other.maxes-self.mins), p)
 
 
-
[docs]class KDTree(object): - """ - kd-tree for quick nearest-neighbor lookup +
[docs]class KDTree(cKDTree): + """kd-tree for quick nearest-neighbor lookup. - This class provides an index into a set of k-D points which - can be used to rapidly look up the nearest neighbors of any point. + This class provides an index into a set of k-dimensional points + which can be used to rapidly look up the nearest neighbors of any + point. Parameters ---------- - data : (N,K) array_like - The data points to be indexed. This array is not copied, and - so modifying this data will result in bogus results. - leafsize : int, optional + data : array_like, shape (n,m) + The n data points of dimension m to be indexed. This array is + not copied unless this is necessary to produce a contiguous + array of doubles, and so modifying this data will result in + bogus results. The data are also copied if the kd-tree is built + with copy_data=True. + leafsize : positive int, optional The number of points at which the algorithm switches over to - brute-force. Has to be positive. - - Raises - ------ - RuntimeError - The maximum recursion limit can be exceeded for large data - sets. If this happens, either increase the value for the `leafsize` - parameter or increase the recursion limit by:: - - >>> import sys - >>> sys.setrecursionlimit(10000) - - See Also - -------- - cKDTree : Implementation of `KDTree` in Cython + brute-force. Default: 10. + compact_nodes : bool, optional + If True, the kd-tree is built to shrink the hyperrectangles to + the actual data range. This usually gives a more compact tree that + is robust against degenerated input data and gives faster queries + at the expense of longer build time. Default: True. + copy_data : bool, optional + If True the data is always copied to protect the kd-tree against + data corruption. Default: False. + balanced_tree : bool, optional + If True, the median is used to split the hyperrectangles instead of + the midpoint. This usually gives a more compact tree and + faster queries at the expense of longer build time. Default: True. + boxsize : array_like or scalar, optional + Apply a m-d toroidal topology to the KDTree.. The topology is generated + by :math:`x_i + n_i L_i` where :math:`n_i` are integers and :math:`L_i` + is the boxsize along i-th dimension. The input data shall be wrapped + into :math:`[0, L_i)`. A ValueError is raised if any of the data is + outside of this bound. Notes ----- @@ -323,27 +337,45 @@

Source code for scipy.spatial.kdtree

     significantly faster than brute force. High-dimensional nearest-neighbor
     queries are a substantial open problem in computer science.
 
-    The tree also supports all-neighbors queries, both with arrays of points
-    and with other kd-trees. These do use a reasonably efficient algorithm,
-    but the kd-tree is not necessarily the best data structure for this
-    sort of calculation.
+    Attributes
+    ----------
+    data : ndarray, shape (n,m)
+        The n data points of dimension m to be indexed. This array is
+        not copied unless this is necessary to produce a contiguous
+        array of doubles. The data are also copied if the kd-tree is built
+        with `copy_data=True`.
+    leafsize : positive int
+        The number of points at which the algorithm switches over to
+        brute-force.
+    m : int
+        The dimension of a single data-point.
+    n : int
+        The number of data points.
+    maxes : ndarray, shape (m,)
+        The maximum value in each dimension of the n data points.
+    mins : ndarray, shape (m,)
+        The minimum value in each dimension of the n data points.
+    size : int
+        The number of nodes in the tree.
 
     """
-    def __init__(self, data, leafsize=10):
-        self.data = np.asarray(data)
-        if self.data.dtype.kind == 'c':
-            raise TypeError("KDTree does not work with complex data")
 
-        self.n, self.m = np.shape(self.data)
-        self.leafsize = int(leafsize)
-        if self.leafsize < 1:
-            raise ValueError("leafsize must be at least 1")
-        self.maxes = np.amax(self.data,axis=0)
-        self.mins = np.amin(self.data,axis=0)
+
[docs] class node: + @staticmethod + def _create(ckdtree_node=None): + """Create either an inner or leaf node, wrapping a cKDTreeNode instance""" + if ckdtree_node is None: + return KDTree.node(ckdtree_node) + elif ckdtree_node.split_dim == -1: + return KDTree.leafnode(ckdtree_node) + else: + return KDTree.innernode(ckdtree_node) - self.tree = self.__build(np.arange(self.n), self.maxes, self.mins) + def __init__(self, ckdtree_node=None): + if ckdtree_node is None: + ckdtree_node = cKDTreeNode() + self._node = ckdtree_node -
[docs] class node(object): def __lt__(self, other): return id(self) < id(other) @@ -360,327 +392,227 @@

Source code for scipy.spatial.kdtree

             return id(self) == id(other)
[docs] class leafnode(node): - def __init__(self, idx): - self.idx = idx - self.children = len(idx)
+ @property + def idx(self): + return self._node.indices + + @property + def children(self): + return self._node.children
[docs] class innernode(node): - def __init__(self, split_dim, split, less, greater): - self.split_dim = split_dim - self.split = split - self.less = less - self.greater = greater - self.children = less.children+greater.children
- - def __build(self, idx, maxes, mins): - if len(idx) <= self.leafsize: - return KDTree.leafnode(idx) - else: - data = self.data[idx] - # maxes = np.amax(data,axis=0) - # mins = np.amin(data,axis=0) - d = np.argmax(maxes-mins) - maxval = maxes[d] - minval = mins[d] - if maxval == minval: - # all points are identical; warn user? - return KDTree.leafnode(idx) - data = data[:,d] - - # sliding midpoint rule; see Maneewongvatana and Mount 1999 - # for arguments that this is a good idea. - split = (maxval+minval)/2 - less_idx = np.nonzero(data <= split)[0] - greater_idx = np.nonzero(data > split)[0] - if len(less_idx) == 0: - split = np.amin(data) - less_idx = np.nonzero(data <= split)[0] - greater_idx = np.nonzero(data > split)[0] - if len(greater_idx) == 0: - split = np.amax(data) - less_idx = np.nonzero(data < split)[0] - greater_idx = np.nonzero(data >= split)[0] - if len(less_idx) == 0: - # _still_ zero? all must have the same value - if not np.all(data == data[0]): - raise ValueError("Troublesome data array: %s" % data) - split = data[0] - less_idx = np.arange(len(data)-1) - greater_idx = np.array([len(data)-1]) - - lessmaxes = np.copy(maxes) - lessmaxes[d] = split - greatermins = np.copy(mins) - greatermins[d] = split - return KDTree.innernode(d, split, - self.__build(idx[less_idx],lessmaxes,mins), - self.__build(idx[greater_idx],maxes,greatermins)) - - def __query(self, x, k=1, eps=0, p=2, distance_upper_bound=np.inf): - - side_distances = np.maximum(0,np.maximum(x-self.maxes,self.mins-x)) - if p != np.inf: - side_distances **= p - min_distance = np.sum(side_distances) - else: - min_distance = np.amax(side_distances) - - # priority queue for chasing nodes - # entries are: - # minimum distance between the cell and the target - # distances between the nearest side of the cell and the target - # the head node of the cell - q = [(min_distance, - tuple(side_distances), - self.tree)] - # priority queue for the nearest neighbors - # furthest known neighbor first - # entries are (-distance**p, i) - neighbors = [] - - if eps == 0: - epsfac = 1 - elif p == np.inf: - epsfac = 1/(1+eps) - else: - epsfac = 1/(1+eps)**p - - if p != np.inf and distance_upper_bound != np.inf: - distance_upper_bound = distance_upper_bound**p - - while q: - min_distance, side_distances, node = heappop(q) - if isinstance(node, KDTree.leafnode): - # brute-force - data = self.data[node.idx] - ds = minkowski_distance_p(data,x[np.newaxis,:],p) - for i in range(len(ds)): - if ds[i] < distance_upper_bound: - if len(neighbors) == k: - heappop(neighbors) - heappush(neighbors, (-ds[i], node.idx[i])) - if len(neighbors) == k: - distance_upper_bound = -neighbors[0][0] - else: - # we don't push cells that are too far onto the queue at all, - # but since the distance_upper_bound decreases, we might get - # here even if the cell's too far - if min_distance > distance_upper_bound*epsfac: - # since this is the nearest cell, we're done, bail out - break - # compute minimum distances to the children and push them on - if x[node.split_dim] < node.split: - near, far = node.less, node.greater - else: - near, far = node.greater, node.less - - # near child is at the same distance as the current node - heappush(q,(min_distance, side_distances, near)) - - # far child is further by an amount depending only - # on the split value - sd = list(side_distances) - if p == np.inf: - min_distance = max(min_distance, abs(node.split-x[node.split_dim])) - elif p == 1: - sd[node.split_dim] = np.abs(node.split-x[node.split_dim]) - min_distance = min_distance - side_distances[node.split_dim] + sd[node.split_dim] - else: - sd[node.split_dim] = np.abs(node.split-x[node.split_dim])**p - min_distance = min_distance - side_distances[node.split_dim] + sd[node.split_dim] - - # far child might be too far, if so, don't bother pushing it - if min_distance <= distance_upper_bound*epsfac: - heappush(q,(min_distance, tuple(sd), far)) - - if p == np.inf: - return sorted([(-d,i) for (d,i) in neighbors]) - else: - return sorted([((-d)**(1./p),i) for (d,i) in neighbors]) + def __init__(self, ckdtreenode): + assert isinstance(ckdtreenode, cKDTreeNode) + super().__init__(ckdtreenode) + self.less = KDTree.node._create(ckdtreenode.lesser) + self.greater = KDTree.node._create(ckdtreenode.greater) + + @property + def split_dim(self): + return self._node.split_dim + + @property + def split(self): + return self._node.split + + @property + def children(self): + return self._node.children
+ + @property + def tree(self): + if not hasattr(self, "_tree"): + self._tree = KDTree.node._create(super().tree) + + return self._tree + + def __init__(self, data, leafsize=10, compact_nodes=True, copy_data=False, + balanced_tree=True, boxsize=None): + data = np.asarray(data) + if data.dtype.kind == 'c': + raise TypeError("KDTree does not work with complex data") -
[docs] def query(self, x, k=1, eps=0, p=2, distance_upper_bound=np.inf): - """ - Query the kd-tree for nearest neighbors + # Note KDTree has different default leafsize from cKDTree + super().__init__(data, leafsize, compact_nodes, copy_data, + balanced_tree, boxsize) + +
[docs] def query( + self, x, k=1, eps=0, p=2, distance_upper_bound=np.inf, workers=1): + r"""Query the kd-tree for nearest neighbors. Parameters ---------- x : array_like, last dimension self.m An array of points to query. - k : int, optional - The number of nearest neighbors to return. + k : int or Sequence[int], optional + Either the number of nearest neighbors to return, or a list of the + k-th nearest neighbors to return, starting from 1. eps : nonnegative float, optional Return approximate nearest neighbors; the kth returned value is guaranteed to be no further than (1+eps) times the distance to the real kth nearest neighbor. p : float, 1<=p<=infinity, optional Which Minkowski p-norm to use. - 1 is the sum-of-absolute-values "Manhattan" distance - 2 is the usual Euclidean distance - infinity is the maximum-coordinate-difference distance + 1 is the sum-of-absolute-values distance ("Manhattan" distance). + 2 is the usual Euclidean distance. + infinity is the maximum-coordinate-difference distance. + A large, finite p may cause a ValueError if overflow can occur. distance_upper_bound : nonnegative float, optional Return only neighbors within this distance. This is used to prune tree searches, so if you are doing a series of nearest-neighbor queries, it may help to supply the distance to the nearest neighbor of the most recent point. + workers : int, optional + Number of workers to use for parallel processing. If -1 is given + all CPU threads are used. Default: 1. + + .. versionadded:: 1.6.0 Returns ------- d : float or array of floats The distances to the nearest neighbors. - If x has shape tuple+(self.m,), then d has shape tuple if - k is one, or tuple+(k,) if k is larger than one. Missing - neighbors (e.g. when k > n or distance_upper_bound is - given) are indicated with infinite distances. If k is None, - then d is an object array of shape tuple, containing lists - of distances. In either case the hits are sorted by distance - (nearest first). + If ``x`` has shape ``tuple+(self.m,)``, then ``d`` has shape + ``tuple+(k,)``. + When k == 1, the last dimension of the output is squeezed. + Missing neighbors are indicated with infinite distances. + Hits are sorted by distance (nearest first). + + .. deprecated:: 1.6.0 + If ``k=None``, then ``d`` is an object array of shape ``tuple``, + containing lists of distances. This behavior is deprecated and + will be removed in SciPy 1.8.0, use ``query_ball_point`` + instead. + i : integer or array of integers - The locations of the neighbors in self.data. i is the same - shape as d. + The index of each neighbor in ``self.data``. + ``i`` is the same shape as d. + Missing neighbors are indicated with ``self.n``. Examples -------- - >>> from scipy import spatial + + >>> import numpy as np + >>> from scipy.spatial import KDTree >>> x, y = np.mgrid[0:5, 2:8] - >>> tree = spatial.KDTree(list(zip(x.ravel(), y.ravel()))) - >>> tree.data - array([[0, 2], - [0, 3], - [0, 4], - [0, 5], - [0, 6], - [0, 7], - [1, 2], - [1, 3], - [1, 4], - [1, 5], - [1, 6], - [1, 7], - [2, 2], - [2, 3], - [2, 4], - [2, 5], - [2, 6], - [2, 7], - [3, 2], - [3, 3], - [3, 4], - [3, 5], - [3, 6], - [3, 7], - [4, 2], - [4, 3], - [4, 4], - [4, 5], - [4, 6], - [4, 7]]) - >>> pts = np.array([[0, 0], [2.1, 2.9]]) - >>> tree.query(pts) - (array([ 2. , 0.14142136]), array([ 0, 13])) - >>> tree.query(pts[0]) - (2.0, 0) + >>> tree = KDTree(np.c_[x.ravel(), y.ravel()]) + + To query the nearest neighbours and return squeezed result, use + + >>> dd, ii = tree.query([[0, 0], [2.2, 2.9]], k=1) + >>> print(dd, ii, sep='\n') + [2. 0.2236068] + [ 0 13] + + To query the nearest neighbours and return unsqueezed result, use + + >>> dd, ii = tree.query([[0, 0], [2.2, 2.9]], k=[1]) + >>> print(dd, ii, sep='\n') + [[2. ] + [0.2236068]] + [[ 0] + [13]] + + To query the second nearest neighbours and return unsqueezed result, + use + + >>> dd, ii = tree.query([[0, 0], [2.2, 2.9]], k=[2]) + >>> print(dd, ii, sep='\n') + [[2.23606798] + [0.80622577]] + [[ 6] + [19]] + + To query the first and second nearest neighbours, use + + >>> dd, ii = tree.query([[0, 0], [2.2, 2.9]], k=2) + >>> print(dd, ii, sep='\n') + [[2. 2.23606798] + [0.2236068 0.80622577]] + [[ 0 6] + [13 19]] + + or, be more specific + + >>> dd, ii = tree.query([[0, 0], [2.2, 2.9]], k=[1, 2]) + >>> print(dd, ii, sep='\n') + [[2. 2.23606798] + [0.2236068 0.80622577]] + [[ 0 6] + [13 19]] """ x = np.asarray(x) if x.dtype.kind == 'c': raise TypeError("KDTree does not work with complex data") - if np.shape(x)[-1] != self.m: - raise ValueError("x must consist of vectors of length %d but has shape %s" % (self.m, np.shape(x))) - if p < 1: - raise ValueError("Only p-norms with 1<=p<=infinity permitted") - retshape = np.shape(x)[:-1] - if retshape != (): - if k is None: - dd = np.empty(retshape,dtype=object) - ii = np.empty(retshape,dtype=object) - elif k > 1: - dd = np.empty(retshape+(k,),dtype=float) - dd.fill(np.inf) - ii = np.empty(retshape+(k,),dtype=int) - ii.fill(self.n) - elif k == 1: - dd = np.empty(retshape,dtype=float) - dd.fill(np.inf) - ii = np.empty(retshape,dtype=int) - ii.fill(self.n) - else: - raise ValueError("Requested %s nearest neighbors; acceptable numbers are integers greater than or equal to one, or None") - for c in np.ndindex(retshape): - hits = self.__query(x[c], k=k, eps=eps, p=p, distance_upper_bound=distance_upper_bound) - if k is None: - dd[c] = [d for (d,i) in hits] - ii[c] = [i for (d,i) in hits] - elif k > 1: - for j in range(len(hits)): - dd[c+(j,)], ii[c+(j,)] = hits[j] - elif k == 1: - if len(hits) > 0: - dd[c], ii[c] = hits[0] - else: - dd[c] = np.inf - ii[c] = self.n - return dd, ii - else: - hits = self.__query(x, k=k, eps=eps, p=p, distance_upper_bound=distance_upper_bound) - if k is None: - return [d for (d,i) in hits], [i for (d,i) in hits] - elif k == 1: - if len(hits) > 0: - return hits[0] - else: - return np.inf, self.n - elif k > 1: - dd = np.empty(k,dtype=float) - dd.fill(np.inf) - ii = np.empty(k,dtype=int) - ii.fill(self.n) - for j in range(len(hits)): - dd[j], ii[j] = hits[j] - return dd, ii - else: - raise ValueError("Requested %s nearest neighbors; acceptable numbers are integers greater than or equal to one, or None")
- - def __query_ball_point(self, x, r, p=2., eps=0): - R = Rectangle(self.maxes, self.mins) - - def traverse_checking(node, rect): - if rect.min_distance_point(x, p) > r / (1. + eps): - return [] - elif rect.max_distance_point(x, p) < r * (1. + eps): - return traverse_no_checking(node) - elif isinstance(node, KDTree.leafnode): - d = self.data[node.idx] - return node.idx[minkowski_distance(d, x, p) <= r].tolist() - else: - less, greater = rect.split(node.split_dim, node.split) - return traverse_checking(node.less, less) + \ - traverse_checking(node.greater, greater) - def traverse_no_checking(node): - if isinstance(node, KDTree.leafnode): - return node.idx.tolist() - else: - return traverse_no_checking(node.less) + \ - traverse_no_checking(node.greater) + if k is None: + # k=None, return all neighbors + warnings.warn( + "KDTree.query with k=None is deprecated and will be removed " + "in SciPy 1.8.0. Use KDTree.query_ball_point instead.", + DeprecationWarning) + + # Convert index query to a lists of distance and index, + # sorted by distance + def inds_to_hits(point, neighbors): + dist = minkowski_distance(point, self.data[neighbors], p) + hits = sorted([(d, i) for d, i in zip(dist, neighbors)]) + return [d for d, i in hits], [i for d, i in hits] + + x = np.asarray(x, dtype=np.float64) + inds = super().query_ball_point( + x, distance_upper_bound, p, eps, workers) + + if isinstance(inds, list): + return inds_to_hits(x, inds) + + dists = np.empty_like(inds) + for idx in np.ndindex(inds.shape): + dists[idx], inds[idx] = inds_to_hits(x[idx], inds[idx]) + + return dists, inds - return traverse_checking(self.tree, R) + d, i = super().query(x, k, eps, p, distance_upper_bound, workers) + if isinstance(i, int): + i = np.intp(i) + return d, i
-
[docs] def query_ball_point(self, x, r, p=2., eps=0): +
[docs] def query_ball_point(self, x, r, p=2., eps=0, workers=1, + return_sorted=None, return_length=False): """Find all points within distance r of point(s) x. Parameters ---------- x : array_like, shape tuple + (self.m,) The point or points to search for neighbors of. - r : positive float - The radius of points to return. + r : array_like, float + The radius of points to return, must broadcast to the length of x. p : float, optional Which Minkowski p-norm to use. Should be in the range [1, inf]. + A finite large p may cause a ValueError if overflow can occur. eps : nonnegative float, optional Approximate search. Branches of the tree are not explored if their nearest points are further than ``r / (1 + eps)``, and branches are added in bulk if their furthest points are nearer than ``r * (1 + eps)``. + workers : int, optional + Number of jobs to schedule for parallel processing. If -1 is given + all processors are used. Default: 1. + + .. versionadded:: 1.6.0 + return_sorted : bool, optional + Sorts returned indicies if True and does not sort them if False. If + None, does not sort single point queries, but does sort + multi-point queries which was the behavior before this option + was added. + + .. versionadded:: 1.6.0 + return_length: bool, optional + Return the number of points inside the radius instead of a list + of the indices. + + .. versionadded:: 1.6.0 Returns ------- @@ -701,7 +633,7 @@

Source code for scipy.spatial.kdtree

         >>> x, y = np.mgrid[0:5, 0:5]
         >>> points = np.c_[x.ravel(), y.ravel()]
         >>> tree = spatial.KDTree(points)
-        >>> tree.query_ball_point([2, 0], 1)
+        >>> sorted(tree.query_ball_point([2, 0], 1))
         [5, 10, 11, 15]
 
         Query multiple points and plot the results:
@@ -719,20 +651,13 @@ 

Source code for scipy.spatial.kdtree

         x = np.asarray(x)
         if x.dtype.kind == 'c':
             raise TypeError("KDTree does not work with complex data")
-        if x.shape[-1] != self.m:
-            raise ValueError("Searching for a %d-dimensional point in a "
-                             "%d-dimensional KDTree" % (x.shape[-1], self.m))
-        if len(x.shape) == 1:
-            return self.__query_ball_point(x, r, p, eps)
-        else:
-            retshape = x.shape[:-1]
-            result = np.empty(retshape, dtype=object)
-            for c in np.ndindex(retshape):
-                result[c] = self.__query_ball_point(x[c], r, p=p, eps=eps)
-            return result
+ return super().query_ball_point( + x, r, p, eps, workers, return_sorted, return_length)
[docs] def query_ball_tree(self, other, r, p=2., eps=0): - """Find all pairs of points whose distance is at most r + """ + Find all pairs of points between `self` and `other` whose distance is + at most r. Parameters ---------- @@ -755,54 +680,33 @@

Source code for scipy.spatial.kdtree

             For each element ``self.data[i]`` of this tree, ``results[i]`` is a
             list of the indices of its neighbors in ``other.data``.
 
-        """
-        results = [[] for i in range(self.n)]
-
-        def traverse_checking(node1, rect1, node2, rect2):
-            if rect1.min_distance_rectangle(rect2, p) > r/(1.+eps):
-                return
-            elif rect1.max_distance_rectangle(rect2, p) < r*(1.+eps):
-                traverse_no_checking(node1, node2)
-            elif isinstance(node1, KDTree.leafnode):
-                if isinstance(node2, KDTree.leafnode):
-                    d = other.data[node2.idx]
-                    for i in node1.idx:
-                        results[i] += node2.idx[minkowski_distance(d,self.data[i],p) <= r].tolist()
-                else:
-                    less, greater = rect2.split(node2.split_dim, node2.split)
-                    traverse_checking(node1,rect1,node2.less,less)
-                    traverse_checking(node1,rect1,node2.greater,greater)
-            elif isinstance(node2, KDTree.leafnode):
-                less, greater = rect1.split(node1.split_dim, node1.split)
-                traverse_checking(node1.less,less,node2,rect2)
-                traverse_checking(node1.greater,greater,node2,rect2)
-            else:
-                less1, greater1 = rect1.split(node1.split_dim, node1.split)
-                less2, greater2 = rect2.split(node2.split_dim, node2.split)
-                traverse_checking(node1.less,less1,node2.less,less2)
-                traverse_checking(node1.less,less1,node2.greater,greater2)
-                traverse_checking(node1.greater,greater1,node2.less,less2)
-                traverse_checking(node1.greater,greater1,node2.greater,greater2)
-
-        def traverse_no_checking(node1, node2):
-            if isinstance(node1, KDTree.leafnode):
-                if isinstance(node2, KDTree.leafnode):
-                    for i in node1.idx:
-                        results[i] += node2.idx.tolist()
-                else:
-                    traverse_no_checking(node1, node2.less)
-                    traverse_no_checking(node1, node2.greater)
-            else:
-                traverse_no_checking(node1.less, node2)
-                traverse_no_checking(node1.greater, node2)
+        Examples
+        --------
+        You can search all pairs of points between two kd-trees within a distance:
 
-        traverse_checking(self.tree, Rectangle(self.maxes, self.mins),
-                          other.tree, Rectangle(other.maxes, other.mins))
-        return results
+ >>> import matplotlib.pyplot as plt + >>> import numpy as np + >>> from scipy.spatial import KDTree + >>> rng = np.random.default_rng() + >>> points1 = rng.random((15, 2)) + >>> points2 = rng.random((15, 2)) + >>> plt.figure(figsize=(6, 6)) + >>> plt.plot(points1[:, 0], points1[:, 1], "xk", markersize=14) + >>> plt.plot(points2[:, 0], points2[:, 1], "og", markersize=14) + >>> kd_tree1 = KDTree(points1) + >>> kd_tree2 = KDTree(points2) + >>> indexes = kd_tree1.query_ball_tree(kd_tree2, r=0.2) + >>> for i in range(len(indexes)): + ... for j in indexes[i]: + ... plt.plot([points1[i, 0], points2[j, 0]], + ... [points1[i, 1], points2[j, 1]], "-r") + >>> plt.show() -
[docs] def query_pairs(self, r, p=2., eps=0): - """ - Find all pairs of points within a distance. + """ + return super().query_ball_tree(other, r, p, eps)
+ +
[docs] def query_pairs(self, r, p=2., eps=0, output_type='set'): + """Find all pairs of points in `self` whose distance is at most r. Parameters ---------- @@ -816,177 +720,190 @@

Source code for scipy.spatial.kdtree

             if their nearest points are further than ``r/(1+eps)``, and
             branches are added in bulk if their furthest points are nearer
             than ``r * (1+eps)``.  `eps` has to be non-negative.
+        output_type : string, optional
+            Choose the output container, 'set' or 'ndarray'. Default: 'set'
+
+            .. versionadded:: 1.6.0
 
         Returns
         -------
-        results : set
+        results : set or ndarray
             Set of pairs ``(i,j)``, with ``i < j``, for which the corresponding
-            positions are close.
+            positions are close. If output_type is 'ndarray', an ndarry is
+            returned instead of a set.
+
+        Examples
+        --------
+        You can search all pairs of points in a kd-tree within a distance:
+
+        >>> import matplotlib.pyplot as plt
+        >>> import numpy as np
+        >>> from scipy.spatial import KDTree
+        >>> rng = np.random.default_rng()
+        >>> points = rng.random((20, 2))
+        >>> plt.figure(figsize=(6, 6))
+        >>> plt.plot(points[:, 0], points[:, 1], "xk", markersize=14)
+        >>> kd_tree = KDTree(points)
+        >>> pairs = kd_tree.query_pairs(r=0.2)
+        >>> for (i, j) in pairs:
+        ...     plt.plot([points[i, 0], points[j, 0]],
+        ...             [points[i, 1], points[j, 1]], "-r")
+        >>> plt.show()
 
         """
-        results = set()
-
-        def traverse_checking(node1, rect1, node2, rect2):
-            if rect1.min_distance_rectangle(rect2, p) > r/(1.+eps):
-                return
-            elif rect1.max_distance_rectangle(rect2, p) < r*(1.+eps):
-                traverse_no_checking(node1, node2)
-            elif isinstance(node1, KDTree.leafnode):
-                if isinstance(node2, KDTree.leafnode):
-                    # Special care to avoid duplicate pairs
-                    if id(node1) == id(node2):
-                        d = self.data[node2.idx]
-                        for i in node1.idx:
-                            for j in node2.idx[minkowski_distance(d,self.data[i],p) <= r]:
-                                if i < j:
-                                    results.add((i,j))
-                    else:
-                        d = self.data[node2.idx]
-                        for i in node1.idx:
-                            for j in node2.idx[minkowski_distance(d,self.data[i],p) <= r]:
-                                if i < j:
-                                    results.add((i,j))
-                                elif j < i:
-                                    results.add((j,i))
-                else:
-                    less, greater = rect2.split(node2.split_dim, node2.split)
-                    traverse_checking(node1,rect1,node2.less,less)
-                    traverse_checking(node1,rect1,node2.greater,greater)
-            elif isinstance(node2, KDTree.leafnode):
-                less, greater = rect1.split(node1.split_dim, node1.split)
-                traverse_checking(node1.less,less,node2,rect2)
-                traverse_checking(node1.greater,greater,node2,rect2)
-            else:
-                less1, greater1 = rect1.split(node1.split_dim, node1.split)
-                less2, greater2 = rect2.split(node2.split_dim, node2.split)
-                traverse_checking(node1.less,less1,node2.less,less2)
-                traverse_checking(node1.less,less1,node2.greater,greater2)
-
-                # Avoid traversing (node1.less, node2.greater) and
-                # (node1.greater, node2.less) (it's the same node pair twice
-                # over, which is the source of the complication in the
-                # original KDTree.query_pairs)
-                if id(node1) != id(node2):
-                    traverse_checking(node1.greater,greater1,node2.less,less2)
-
-                traverse_checking(node1.greater,greater1,node2.greater,greater2)
-
-        def traverse_no_checking(node1, node2):
-            if isinstance(node1, KDTree.leafnode):
-                if isinstance(node2, KDTree.leafnode):
-                    # Special care to avoid duplicate pairs
-                    if id(node1) == id(node2):
-                        for i in node1.idx:
-                            for j in node2.idx:
-                                if i < j:
-                                    results.add((i,j))
-                    else:
-                        for i in node1.idx:
-                            for j in node2.idx:
-                                if i < j:
-                                    results.add((i,j))
-                                elif j < i:
-                                    results.add((j,i))
-                else:
-                    traverse_no_checking(node1, node2.less)
-                    traverse_no_checking(node1, node2.greater)
-            else:
-                # Avoid traversing (node1.less, node2.greater) and
-                # (node1.greater, node2.less) (it's the same node pair twice
-                # over, which is the source of the complication in the
-                # original KDTree.query_pairs)
-                if id(node1) == id(node2):
-                    traverse_no_checking(node1.less, node2.less)
-                    traverse_no_checking(node1.less, node2.greater)
-                    traverse_no_checking(node1.greater, node2.greater)
-                else:
-                    traverse_no_checking(node1.less, node2)
-                    traverse_no_checking(node1.greater, node2)
-
-        traverse_checking(self.tree, Rectangle(self.maxes, self.mins),
-                          self.tree, Rectangle(self.maxes, self.mins))
-        return results
- -
[docs] def count_neighbors(self, other, r, p=2.): - """ - Count how many nearby pairs can be formed. + return super().query_pairs(r, p, eps, output_type)
+ +
[docs] def count_neighbors(self, other, r, p=2., weights=None, cumulative=True): + """Count how many nearby pairs can be formed. - Count the number of pairs (x1,x2) can be formed, with x1 drawn - from self and x2 drawn from ``other``, and where + Count the number of pairs ``(x1,x2)`` can be formed, with ``x1`` drawn + from ``self`` and ``x2`` drawn from ``other``, and where ``distance(x1, x2, p) <= r``. - This is the "two-point correlation" described in Gray and Moore 2000, - "N-body problems in statistical learning", and the code here is based - on their algorithm. + + Data points on ``self`` and ``other`` are optionally weighted by the + ``weights`` argument. (See below) + + This is adapted from the "two-point correlation" algorithm described by + Gray and Moore [1]_. See notes for further discussion. Parameters ---------- - other : KDTree instance - The other tree to draw points from. + other : KDTree + The other tree to draw points from, can be the same tree as self. r : float or one-dimensional array of floats The radius to produce a count for. Multiple radii are searched with a single tree traversal. - p : float, 1<=p<=infinity, optional - Which Minkowski p-norm to use + If the count is non-cumulative(``cumulative=False``), ``r`` defines + the edges of the bins, and must be non-decreasing. + p : float, optional + 1<=p<=infinity. + Which Minkowski p-norm to use. + Default 2.0. + A finite large p may cause a ValueError if overflow can occur. + weights : tuple, array_like, or None, optional + If None, the pair-counting is unweighted. + If given as a tuple, weights[0] is the weights of points in + ``self``, and weights[1] is the weights of points in ``other``; + either can be None to indicate the points are unweighted. + If given as an array_like, weights is the weights of points in + ``self`` and ``other``. For this to make sense, ``self`` and + ``other`` must be the same tree. If ``self`` and ``other`` are two + different trees, a ``ValueError`` is raised. + Default: None + + .. versionadded:: 1.6.0 + cumulative : bool, optional + Whether the returned counts are cumulative. When cumulative is set + to ``False`` the algorithm is optimized to work with a large number + of bins (>10) specified by ``r``. When ``cumulative`` is set to + True, the algorithm is optimized to work with a small number of + ``r``. Default: True + + .. versionadded:: 1.6.0 Returns ------- - result : int or 1-D array of ints - The number of pairs. Note that this is internally stored in a numpy - int, and so may overflow if very large (2e9). + result : scalar or 1-D array + The number of pairs. For unweighted counts, the result is integer. + For weighted counts, the result is float. + If cumulative is False, ``result[i]`` contains the counts with + ``(-inf if i == 0 else r[i-1]) < R <= r[i]`` + + Notes + ----- + Pair-counting is the basic operation used to calculate the two point + correlation functions from a data set composed of position of objects. + + Two point correlation function measures the clustering of objects and + is widely used in cosmology to quantify the large scale structure + in our Universe, but it may be useful for data analysis in other fields + where self-similar assembly of objects also occur. + + The Landy-Szalay estimator for the two point correlation function of + ``D`` measures the clustering signal in ``D``. [2]_ + + For example, given the position of two sets of objects, + + - objects ``D`` (data) contains the clustering signal, and + + - objects ``R`` (random) that contains no signal, + + .. math:: + + \\xi(r) = \\frac{<D, D> - 2 f <D, R> + f^2<R, R>}{f^2<R, R>}, + + where the brackets represents counting pairs between two data sets + in a finite bin around ``r`` (distance), corresponding to setting + `cumulative=False`, and ``f = float(len(D)) / float(len(R))`` is the + ratio between number of objects from data and random. + + The algorithm implemented here is loosely based on the dual-tree + algorithm described in [1]_. We switch between two different + pair-cumulation scheme depending on the setting of ``cumulative``. + The computing time of the method we use when for + ``cumulative == False`` does not scale with the total number of bins. + The algorithm for ``cumulative == True`` scales linearly with the + number of bins, though it is slightly faster when only + 1 or 2 bins are used. [5]_. + + As an extension to the naive pair-counting, + weighted pair-counting counts the product of weights instead + of number of pairs. + Weighted pair-counting is used to estimate marked correlation functions + ([3]_, section 2.2), + or to properly calculate the average of data per distance bin + (e.g. [4]_, section 2.1 on redshift). + + .. [1] Gray and Moore, + "N-body problems in statistical learning", + Mining the sky, 2000, + https://arxiv.org/abs/astro-ph/0012333 + + .. [2] Landy and Szalay, + "Bias and variance of angular correlation functions", + The Astrophysical Journal, 1993, + http://adsabs.harvard.edu/abs/1993ApJ...412...64L + + .. [3] Sheth, Connolly and Skibba, + "Marked correlations in galaxy formation models", + Arxiv e-print, 2005, + https://arxiv.org/abs/astro-ph/0511773 + + .. [4] Hawkins, et al., + "The 2dF Galaxy Redshift Survey: correlation functions, + peculiar velocities and the matter density of the Universe", + Monthly Notices of the Royal Astronomical Society, 2002, + http://adsabs.harvard.edu/abs/2003MNRAS.346...78H + + .. [5] https://github.com/scipy/scipy/pull/5647#issuecomment-168474926 + + Examples + -------- + You can count neighbors number between two kd-trees within a distance: + + >>> import numpy as np + >>> from scipy.spatial import KDTree + >>> rng = np.random.default_rng() + >>> points1 = rng.random((5, 2)) + >>> points2 = rng.random((5, 2)) + >>> kd_tree1 = KDTree(points1) + >>> kd_tree2 = KDTree(points2) + >>> kd_tree1.count_neighbors(kd_tree2, 0.2) + 1 + + This number is same as the total pair number calculated by + `query_ball_tree`: + + >>> indexes = kd_tree1.query_ball_tree(kd_tree2, r=0.2) + >>> sum([len(i) for i in indexes]) + 1 """ - def traverse(node1, rect1, node2, rect2, idx): - min_r = rect1.min_distance_rectangle(rect2,p) - max_r = rect1.max_distance_rectangle(rect2,p) - c_greater = r[idx] > max_r - result[idx[c_greater]] += node1.children*node2.children - idx = idx[(min_r <= r[idx]) & (r[idx] <= max_r)] - if len(idx) == 0: - return - - if isinstance(node1,KDTree.leafnode): - if isinstance(node2,KDTree.leafnode): - ds = minkowski_distance(self.data[node1.idx][:,np.newaxis,:], - other.data[node2.idx][np.newaxis,:,:], - p).ravel() - ds.sort() - result[idx] += np.searchsorted(ds,r[idx],side='right') - else: - less, greater = rect2.split(node2.split_dim, node2.split) - traverse(node1, rect1, node2.less, less, idx) - traverse(node1, rect1, node2.greater, greater, idx) - else: - if isinstance(node2,KDTree.leafnode): - less, greater = rect1.split(node1.split_dim, node1.split) - traverse(node1.less, less, node2, rect2, idx) - traverse(node1.greater, greater, node2, rect2, idx) - else: - less1, greater1 = rect1.split(node1.split_dim, node1.split) - less2, greater2 = rect2.split(node2.split_dim, node2.split) - traverse(node1.less,less1,node2.less,less2,idx) - traverse(node1.less,less1,node2.greater,greater2,idx) - traverse(node1.greater,greater1,node2.less,less2,idx) - traverse(node1.greater,greater1,node2.greater,greater2,idx) - - R1 = Rectangle(self.maxes, self.mins) - R2 = Rectangle(other.maxes, other.mins) - if np.shape(r) == (): - r = np.array([r]) - result = np.zeros(1,dtype=int) - traverse(self.tree, R1, other.tree, R2, np.arange(1)) - return result[0] - elif len(np.shape(r)) == 1: - r = np.asarray(r) - n, = r.shape - result = np.zeros(n,dtype=int) - traverse(self.tree, R1, other.tree, R2, np.arange(n)) - return result - else: - raise ValueError("r must be either a single value or a one-dimensional array of values")
+ return super().count_neighbors(other, r, p, weights, cumulative)
-
[docs] def sparse_distance_matrix(self, other, max_distance, p=2.): - """ - Compute a sparse distance matrix +
[docs] def sparse_distance_matrix( + self, other, max_distance, p=2., output_type='dok_matrix'): + """Compute a sparse distance matrix. Computes a distance matrix between two KDTrees, leaving as zero any distance greater than max_distance. @@ -997,50 +914,60 @@

Source code for scipy.spatial.kdtree

 
         max_distance : positive float
 
-        p : float, optional
+        p : float, 1<=p<=infinity
+            Which Minkowski p-norm to use.
+            A finite large p may cause a ValueError if overflow can occur.
+
+        output_type : string, optional
+            Which container to use for output data. Options: 'dok_matrix',
+            'coo_matrix', 'dict', or 'ndarray'. Default: 'dok_matrix'.
+
+            .. versionadded:: 1.6.0
 
         Returns
         -------
-        result : dok_matrix
-            Sparse matrix representing the results in "dictionary of keys" format.
+        result : dok_matrix, coo_matrix, dict or ndarray
+            Sparse matrix representing the results in "dictionary of keys"
+            format. If a dict is returned the keys are (i,j) tuples of indices.
+            If output_type is 'ndarray' a record array with fields 'i', 'j',
+            and 'v' is returned,
 
-        """
-        result = scipy.sparse.dok_matrix((self.n,other.n))
-
-        def traverse(node1, rect1, node2, rect2):
-            if rect1.min_distance_rectangle(rect2, p) > max_distance:
-                return
-            elif isinstance(node1, KDTree.leafnode):
-                if isinstance(node2, KDTree.leafnode):
-                    for i in node1.idx:
-                        for j in node2.idx:
-                            d = minkowski_distance(self.data[i],other.data[j],p)
-                            if d <= max_distance:
-                                result[i,j] = d
-                else:
-                    less, greater = rect2.split(node2.split_dim, node2.split)
-                    traverse(node1,rect1,node2.less,less)
-                    traverse(node1,rect1,node2.greater,greater)
-            elif isinstance(node2, KDTree.leafnode):
-                less, greater = rect1.split(node1.split_dim, node1.split)
-                traverse(node1.less,less,node2,rect2)
-                traverse(node1.greater,greater,node2,rect2)
-            else:
-                less1, greater1 = rect1.split(node1.split_dim, node1.split)
-                less2, greater2 = rect2.split(node2.split_dim, node2.split)
-                traverse(node1.less,less1,node2.less,less2)
-                traverse(node1.less,less1,node2.greater,greater2)
-                traverse(node1.greater,greater1,node2.less,less2)
-                traverse(node1.greater,greater1,node2.greater,greater2)
-        traverse(self.tree, Rectangle(self.maxes, self.mins),
-                 other.tree, Rectangle(other.maxes, other.mins))
+        Examples
+        --------
+        You can compute a sparse distance matrix between two kd-trees:
+
+        >>> import numpy as np
+        >>> from scipy.spatial import KDTree
+        >>> rng = np.random.default_rng()
+        >>> points1 = rng.random((5, 2))
+        >>> points2 = rng.random((5, 2))
+        >>> kd_tree1 = KDTree(points1)
+        >>> kd_tree2 = KDTree(points2)
+        >>> sdm = kd_tree1.sparse_distance_matrix(kd_tree2, 0.3)
+        >>> sdm.toarray()
+        array([[0.        , 0.        , 0.12295571, 0.        , 0.        ],
+           [0.        , 0.        , 0.        , 0.        , 0.        ],
+           [0.28942611, 0.        , 0.        , 0.2333084 , 0.        ],
+           [0.        , 0.        , 0.        , 0.        , 0.        ],
+           [0.24617575, 0.29571802, 0.26836782, 0.        , 0.        ]])
+
+        You can check distances above the `max_distance` are zeros:
+
+        >>> from scipy.spatial import distance_matrix
+        >>> distance_matrix(points1, points2)
+        array([[0.56906522, 0.39923701, 0.12295571, 0.8658745 , 0.79428925],
+           [0.37327919, 0.7225693 , 0.87665969, 0.32580855, 0.75679479],
+           [0.28942611, 0.30088013, 0.6395831 , 0.2333084 , 0.33630734],
+           [0.31994999, 0.72658602, 0.71124834, 0.55396483, 0.90785663],
+           [0.24617575, 0.29571802, 0.26836782, 0.57714465, 0.6473269 ]])
 
-        return result
+ """ + return super().sparse_distance_matrix( + other, max_distance, p, output_type)
def distance_matrix(x, y, p=2, threshold=1000000): - """ - Compute the distance matrix. + """Compute the distance matrix. Returns the matrix of all pair-wise distances. @@ -1109,7 +1036,7 @@

Source code for scipy.spatial.kdtree

       ©Copyright (C) 2017-2022.
       
       |
-      Powered by Sphinx 4.1.1
+      Powered by Sphinx 4.4.0
       & Alabaster 0.7.12
       
     
diff --git a/docs/build/html/_modules/spatialpy/core/boundarycondition.html b/docs/build/html/_modules/spatialpy/core/boundarycondition.html index 514b800d..cb78923f 100644 --- a/docs/build/html/_modules/spatialpy/core/boundarycondition.html +++ b/docs/build/html/_modules/spatialpy/core/boundarycondition.html @@ -124,7 +124,7 @@

Source code for spatialpy.core.boundarycondition

- type_id: type (subdomain) of the partciles Targets (one of the following must be set): property: (str), 'nu', 'rho','v' - species: (str) name of a chemical species. + species: (str) name of a chemical species. \ Must also set deterministic=True/False flag. :param xmin: x-axis coordinate lower bound of **condition** @@ -152,7 +152,7 @@

Source code for spatialpy.core.boundarycondition

and applies to deterministic simulation. **BoundaryCondition not yet implemeneted for Stochastic Species**. :type deterministic: bool - :param target: Set **target** to properties, can be 'nu' 'rho' or 'v' or species name + :param target: Set **target** to properties, can be 'nu' 'rho' or 'v' or species name \ If species name, determinstic must also be set to True/False. :type target: str @@ -277,7 +277,7 @@

Source code for spatialpy.core.boundarycondition

©Copyright (C) 2017-2022. | - Powered by Sphinx 4.1.1 + Powered by Sphinx 4.4.0 & Alabaster 0.7.12
diff --git a/docs/build/html/_modules/spatialpy/core/cleanup.html b/docs/build/html/_modules/spatialpy/core/cleanup.html index 81d264d1..e5d3fe39 100644 --- a/docs/build/html/_modules/spatialpy/core/cleanup.html +++ b/docs/build/html/_modules/spatialpy/core/cleanup.html @@ -199,7 +199,7 @@

Source code for spatialpy.core.cleanup

       ©Copyright (C) 2017-2022.
       
       |
-      Powered by Sphinx 4.1.1
+      Powered by Sphinx 4.4.0
       & Alabaster 0.7.12
       
     
diff --git a/docs/build/html/_modules/spatialpy/core/datafunction.html b/docs/build/html/_modules/spatialpy/core/datafunction.html index 97cecec1..f4275e2c 100644 --- a/docs/build/html/_modules/spatialpy/core/datafunction.html +++ b/docs/build/html/_modules/spatialpy/core/datafunction.html @@ -116,6 +116,8 @@

Source code for spatialpy.core.datafunction

 
     :param name: Name of the Data Function.
     :type name: str
+
+    :raises DataFunctionError: If a name is not provided.
     """
 
     def __init__(self, name=None):
@@ -157,7 +159,7 @@ 

Source code for spatialpy.core.datafunction

       ©Copyright (C) 2017-2022.
       
       |
-      Powered by Sphinx 4.1.1
+      Powered by Sphinx 4.4.0
       & Alabaster 0.7.12
       
     
diff --git a/docs/build/html/_modules/spatialpy/core/domain.html b/docs/build/html/_modules/spatialpy/core/domain.html index dd647154..b7adf18a 100644 --- a/docs/build/html/_modules/spatialpy/core/domain.html +++ b/docs/build/html/_modules/spatialpy/core/domain.html @@ -225,10 +225,10 @@

Source code for spatialpy.core.domain

 
 
[docs] def compile_prep(self): """ - Generate the domain list of type ids and check for invalid type_ids and rho values + Generate the domains list of type ids and check for invalid type_ids and rho values in preperation of compiling the simulation files. - :raises DomainError: If a type_id is not set or rh for a particle is 0. + :raises DomainError: If a type_id is not set or rho=0 for a particle. """ if self.type_id.tolist().count(None) > 0: raise DomainError(f"Particles must be assigned a type_id.") @@ -243,7 +243,7 @@

Source code for spatialpy.core.domain

         Add a single point particle to the domain space.
 
         :param point: Spatial coordinate vertices of point to be added
-        :type point: tuple(float, float, float) or tuple(float, float)
+        :type point: tuple(float, float, float)
 
         :param vol: Default volume of particle to be added
         :type vol: float
@@ -251,19 +251,19 @@ 

Source code for spatialpy.core.domain

         :param mass: Default mass of particle to be added
         :type mass: float
 
-        :param type_id: Particle type ID of particle to be created
+        :param type_id: Particle type ID of particle to be craddedeated
         :type type_id: str | int
 
-        :param nu: Default viscosity of particle to be created
+        :param nu: Default viscosity of particle to be added
         :type nu: float
 
         :param fixed: True if particle is spatially fixed, else False
         :type fixed: bool
 
-        :param c: Default artificial speed of sound of particle to be created
+        :param c: Default artificial speed of sound of particle to be added
         :type c: float
 
-        :param rho: Default density of particle to be created
+        :param rho: Default density of particle to be added
         :type rho: float
 
         :raises DomainError: Type_id is 0 or type_id contains an invalid character.
@@ -297,9 +297,9 @@ 

Source code for spatialpy.core.domain

         """
         Add a type definition to the domain. By default, all regions are set to type 0.
 
-        :param geometry_ivar: an instance of a 'spatialpy.Geometry' subclass.  The 'inside()' method
+        :param geometry_ivar: an instance of a :py:class:`Geometry` subclass.  The 'inside()' method
                    of this object will be used to assign properties to points.
-        :type geometry_ivar: spatialpy.Geometry.Geometry
+        :type geometry_ivar: spatialpy.geometry.Geometry
 
         :param type_id: The identifier for this type.
         :type type_id: str | int
@@ -394,8 +394,7 @@ 

Source code for spatialpy.core.domain

         :param zmax: Maximum z value of the bounding box (defaults to Domain.zlim[1]).
         :type zmax: float
 
-        :param kwargs: Key word arguments for Domain.add_point.
-        :type kwargs: dict
+        :param \**kwargs: addition keyword arguments passed to :py:meth:`Domain.add_point`.
 
         :returns: The number of particles that were created within this geometry.
         :rtype: int
@@ -509,10 +508,10 @@ 

Source code for spatialpy.core.domain

         Get distance between 2 domain vertices.
 
         :param start: Starting point
-        :type start: tuple(float, float, float) or tuple(float, float)
+        :type start: tuple(float, float, float)
 
         :param end: Ending point
-        :type end: tuple(float, float, float) or tuple(float, float)
+        :type end: tuple(float, float, float)
 
         :returns: a distance measurement between start and end point
         :rtype: float
@@ -524,7 +523,7 @@ 

Source code for spatialpy.core.domain

         Find the nearest vertex of a given point in the domain.
 
         :param point: Target source point
-        :type point: tuple(float, float, float) or tuple(float, float)
+        :type point: tuple(float, float, float)
 
         :returns: The coordinates of the nearest vertex to the source point.
         :rtype: tuple(float, float, float) or tuple(float, float)
@@ -948,20 +947,13 @@ 

Source code for spatialpy.core.domain

         :type c: float
 
         :param rho: default density of particles to be created.
-        :type rho:
+        :type rho: float
 
         :param fixed: spatially fixed flag of particles to be created. Defaults to false.
         :type fixed: bool
 
-        :param rho0: background density for the system. Defaults to 1.0
-        :type rho0: float
-
-        :param c0: speed of sound for the system. Defaults to 10
-        :type c0: float
-
-        :param P0: background pressure for the system. Defaults to 10
-        :type P0: float
-
+        :param \**kwargs: addition keyword arguments passed to :py:class:`Domain`.
+        
         :returns: Uniform 3D SpatialPy Domain object.
         :rtype: spatialpy.Domain.Domain
         """
@@ -1014,19 +1006,12 @@ 

Source code for spatialpy.core.domain

         :type c: float
 
         :param rho: default density of particles to be created.
-        :type rho:
+        :type rho: float
 
         :param fixed: spatially fixed flag of particles to be created. Defaults to false.
         :type fixed: bool
 
-        :param rho0: background density for the system. Defaults to 1.0
-        :type rho0: float
-
-        :param c0: speed of sound for the system. Defaults to 10
-        :type c0: float
-
-        :param P0: background pressure for the system. Defaults to 10
-        :type P0: float
+        :param \**kwargs: addition keyword arguments passed to :py:class:`Domain`.
 
         :returns: Uniform 2D SpatialPy Domain object.
         :rtype: spatialpy.Domain.Domain
@@ -1065,7 +1050,7 @@ 

Source code for spatialpy.core.domain

       ©Copyright (C) 2017-2022.
       
       |
-      Powered by Sphinx 4.1.1
+      Powered by Sphinx 4.4.0
       & Alabaster 0.7.12
       
     
diff --git a/docs/build/html/_modules/spatialpy/core/geometry.html b/docs/build/html/_modules/spatialpy/core/geometry.html index bbdc26dc..df0a2100 100644 --- a/docs/build/html/_modules/spatialpy/core/geometry.html +++ b/docs/build/html/_modules/spatialpy/core/geometry.html @@ -201,7 +201,7 @@

Source code for spatialpy.core.geometry

       ©Copyright (C) 2017-2022.
       
       |
-      Powered by Sphinx 4.1.1
+      Powered by Sphinx 4.4.0
       & Alabaster 0.7.12
       
     
diff --git a/docs/build/html/_modules/spatialpy/core/initialcondition.html b/docs/build/html/_modules/spatialpy/core/initialcondition.html index 13d3e41e..cb3c93a8 100644 --- a/docs/build/html/_modules/spatialpy/core/initialcondition.html +++ b/docs/build/html/_modules/spatialpy/core/initialcondition.html @@ -294,7 +294,7 @@

Source code for spatialpy.core.initialcondition

< ©Copyright (C) 2017-2022. | - Powered by Sphinx 4.1.1 + Powered by Sphinx 4.4.0 & Alabaster 0.7.12
diff --git a/docs/build/html/_modules/spatialpy/core/model.html b/docs/build/html/_modules/spatialpy/core/model.html index 5f5db543..53d202c1 100644 --- a/docs/build/html/_modules/spatialpy/core/model.html +++ b/docs/build/html/_modules/spatialpy/core/model.html @@ -856,7 +856,7 @@

Source code for spatialpy.core.model

       ©Copyright (C) 2017-2022.
       
       |
-      Powered by Sphinx 4.1.1
+      Powered by Sphinx 4.4.0
       & Alabaster 0.7.12
       
     
diff --git a/docs/build/html/_modules/spatialpy/core/parameter.html b/docs/build/html/_modules/spatialpy/core/parameter.html index a1bd41b0..c3259fed 100644 --- a/docs/build/html/_modules/spatialpy/core/parameter.html +++ b/docs/build/html/_modules/spatialpy/core/parameter.html @@ -181,7 +181,7 @@

Source code for spatialpy.core.parameter

       ©Copyright (C) 2017-2022.
       
       |
-      Powered by Sphinx 4.1.1
+      Powered by Sphinx 4.4.0
       & Alabaster 0.7.12
       
     
diff --git a/docs/build/html/_modules/spatialpy/core/reaction.html b/docs/build/html/_modules/spatialpy/core/reaction.html index 3525a238..f3f0cadd 100644 --- a/docs/build/html/_modules/spatialpy/core/reaction.html +++ b/docs/build/html/_modules/spatialpy/core/reaction.html @@ -386,7 +386,7 @@

Source code for spatialpy.core.reaction

       ©Copyright (C) 2017-2022.
       
       |
-      Powered by Sphinx 4.1.1
+      Powered by Sphinx 4.4.0
       & Alabaster 0.7.12
       
     
diff --git a/docs/build/html/_modules/spatialpy/core/result.html b/docs/build/html/_modules/spatialpy/core/result.html index 1eff9884..f99c972e 100644 --- a/docs/build/html/_modules/spatialpy/core/result.html +++ b/docs/build/html/_modules/spatialpy/core/result.html @@ -992,7 +992,7 @@

Source code for spatialpy.core.result

       ©Copyright (C) 2017-2022.
       
       |
-      Powered by Sphinx 4.1.1
+      Powered by Sphinx 4.4.0
       & Alabaster 0.7.12
       
     
diff --git a/docs/build/html/_modules/spatialpy/core/spatialpyerror.html b/docs/build/html/_modules/spatialpy/core/spatialpyerror.html index 2cf15b1b..c511a67e 100644 --- a/docs/build/html/_modules/spatialpy/core/spatialpyerror.html +++ b/docs/build/html/_modules/spatialpy/core/spatialpyerror.html @@ -207,7 +207,7 @@

Source code for spatialpy.core.spatialpyerror

Sphinx 4.1.1 + Powered by Sphinx 4.4.0 & Alabaster 0.7.12
diff --git a/docs/build/html/_modules/spatialpy/core/species.html b/docs/build/html/_modules/spatialpy/core/species.html index 0de7a3d4..edd18741 100644 --- a/docs/build/html/_modules/spatialpy/core/species.html +++ b/docs/build/html/_modules/spatialpy/core/species.html @@ -192,7 +192,7 @@

Source code for spatialpy.core.species

       ©Copyright (C) 2017-2022.
       
       |
-      Powered by Sphinx 4.1.1
+      Powered by Sphinx 4.4.0
       & Alabaster 0.7.12
       
     
diff --git a/docs/build/html/_modules/spatialpy/core/vtkreader.html b/docs/build/html/_modules/spatialpy/core/vtkreader.html index 68768261..589bbff2 100644 --- a/docs/build/html/_modules/spatialpy/core/vtkreader.html +++ b/docs/build/html/_modules/spatialpy/core/vtkreader.html @@ -306,7 +306,7 @@

Source code for spatialpy.core.vtkreader

       ©Copyright (C) 2017-2022.
       
       |
-      Powered by Sphinx 4.1.1
+      Powered by Sphinx 4.4.0
       & Alabaster 0.7.12
       
     
diff --git a/docs/build/html/_modules/spatialpy/solvers/build_expression.html b/docs/build/html/_modules/spatialpy/solvers/build_expression.html index 6aaf4746..20b81fe4 100644 --- a/docs/build/html/_modules/spatialpy/solvers/build_expression.html +++ b/docs/build/html/_modules/spatialpy/solvers/build_expression.html @@ -865,7 +865,7 @@

Source code for spatialpy.solvers.build_expression

Sphinx 4.1.1 + Powered by Sphinx 4.4.0 & Alabaster 0.7.12
diff --git a/docs/build/html/_modules/spatialpy/solvers/solver.html b/docs/build/html/_modules/spatialpy/solvers/solver.html index c4967386..a4d18b10 100644 --- a/docs/build/html/_modules/spatialpy/solvers/solver.html +++ b/docs/build/html/_modules/spatialpy/solvers/solver.html @@ -724,7 +724,7 @@

Source code for spatialpy.solvers.solver

       ©Copyright (C) 2017-2022.
       
       |
-      Powered by Sphinx 4.1.1
+      Powered by Sphinx 4.4.0
       & Alabaster 0.7.12
       
     
diff --git a/docs/build/html/_modules/spatialpy/stochss/stochss_export.html b/docs/build/html/_modules/spatialpy/stochss/stochss_export.html index bb8ca688..01aa00a1 100644 --- a/docs/build/html/_modules/spatialpy/stochss/stochss_export.html +++ b/docs/build/html/_modules/spatialpy/stochss/stochss_export.html @@ -363,7 +363,7 @@

Source code for spatialpy.stochss.stochss_export

©Copyright (C) 2017-2022. | - Powered by Sphinx 4.1.1 + Powered by Sphinx 4.4.0 & Alabaster 0.7.12
diff --git a/docs/build/html/_sources/index.rst.txt b/docs/build/html/_sources/index.rst.txt index ef9b1b78..450e6250 100644 --- a/docs/build/html/_sources/index.rst.txt +++ b/docs/build/html/_sources/index.rst.txt @@ -20,7 +20,7 @@ The latest version of SpatialPy can be found on `PyPI `_ for more information on how to build and simulate your models with SpatialPy. For an example of how to use SpatialPy to simulate a spatial stochastic reaction-diffusion system, see the `3D Cylinder Demo `_. We also provide examples of how to use SpatialPy to simulate physics (`Gravity Demo `_) and fluid flow (`Weir Model `_). +See our `Example Notebook - Start Here `_ for more information on how to build and simulate your models with SpatialPy. For an example of how to use SpatialPy to simulate a spatial stochastic reaction-diffusion system, see the `3D Cylinder Demo `_. We also provide examples of how to use SpatialPy to simulate physics (`Gravity Demo `_) and fluid flow (`Weir Model `_). Reporting Issues diff --git a/docs/build/html/_static/basic.css b/docs/build/html/_static/basic.css index 912859b5..bf18350b 100644 --- a/docs/build/html/_static/basic.css +++ b/docs/build/html/_static/basic.css @@ -4,7 +4,7 @@ * * Sphinx stylesheet -- basic theme. * - * :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -731,8 +731,9 @@ dl.glossary dt { .classifier:before { font-style: normal; - margin: 0.5em; + margin: 0 0.5em; content: ":"; + display: inline-block; } abbr, acronym { @@ -756,6 +757,7 @@ span.pre { -ms-hyphens: none; -webkit-hyphens: none; hyphens: none; + white-space: nowrap; } div[class*="highlight-"] { diff --git a/docs/build/html/_static/doctools.js b/docs/build/html/_static/doctools.js index 8cbf1b16..e509e483 100644 --- a/docs/build/html/_static/doctools.js +++ b/docs/build/html/_static/doctools.js @@ -4,7 +4,7 @@ * * Sphinx JavaScript utilities for all documentation. * - * :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -264,6 +264,9 @@ var Documentation = { hideSearchWords : function() { $('#searchbox .highlight-link').fadeOut(300); $('span.highlighted').removeClass('highlighted'); + var url = new URL(window.location); + url.searchParams.delete('highlight'); + window.history.replaceState({}, '', url); }, /** diff --git a/docs/build/html/_static/language_data.js b/docs/build/html/_static/language_data.js index 863704b3..ebe2f03b 100644 --- a/docs/build/html/_static/language_data.js +++ b/docs/build/html/_static/language_data.js @@ -5,7 +5,7 @@ * This script contains the language-specific data used by searchtools.js, * namely the list of stopwords, stemmer, scorer and splitter. * - * :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ diff --git a/docs/build/html/_static/pygments.css b/docs/build/html/_static/pygments.css index 1b945229..87f8bd12 100644 --- a/docs/build/html/_static/pygments.css +++ b/docs/build/html/_static/pygments.css @@ -1,7 +1,7 @@ -pre { line-height: 125%; margin: 0; } -td.linenos pre { color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px; } -span.linenos { color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px; } -td.linenos pre.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } .highlight .hll { background-color: #ffffcc } .highlight { background: #f8f8f8; } diff --git a/docs/build/html/_static/searchtools.js b/docs/build/html/_static/searchtools.js index 8eb14218..2d778593 100644 --- a/docs/build/html/_static/searchtools.js +++ b/docs/build/html/_static/searchtools.js @@ -4,7 +4,7 @@ * * Sphinx JavaScript utilities for the full-text search. * - * :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -276,19 +276,28 @@ var Search = { setTimeout(function() { displayNextItem(); }, 5); - } else { + } else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) { $.ajax({url: requestUrl, dataType: "text", complete: function(jqxhr, textstatus) { var data = jqxhr.responseText; if (data !== '' && data !== undefined) { - listItem.append(Search.makeSearchSummary(data, searchterms, hlterms)); + var summary = Search.makeSearchSummary(data, searchterms, hlterms); + if (summary) { + listItem.append(summary); + } } Search.output.append(listItem); setTimeout(function() { displayNextItem(); }, 5); }}); + } else { + // no source available, just display title + Search.output.append(listItem); + setTimeout(function() { + displayNextItem(); + }, 5); } } // search finished, update title and status message @@ -319,7 +328,9 @@ var Search = { var results = []; for (var prefix in objects) { - for (var name in objects[prefix]) { + for (var iMatch = 0; iMatch != objects[prefix].length; ++iMatch) { + var match = objects[prefix][iMatch]; + var name = match[4]; var fullname = (prefix ? prefix + '.' : '') + name; var fullnameLower = fullname.toLowerCase() if (fullnameLower.indexOf(object) > -1) { @@ -333,7 +344,6 @@ var Search = { } else if (parts[parts.length - 1].indexOf(object) > -1) { score += Scorer.objPartialMatch; } - var match = objects[prefix][name]; var objname = objnames[match[1]][2]; var title = titles[match[0]]; // If more than one term searched for, we require other words to be @@ -492,6 +502,9 @@ var Search = { */ makeSearchSummary : function(htmlText, keywords, hlwords) { var text = Search.htmlToText(htmlText); + if (text == "") { + return null; + } var textLower = text.toLowerCase(); var start = 0; $.each(keywords, function() { diff --git a/docs/build/html/classes/spatialpy.core.html b/docs/build/html/classes/spatialpy.core.html index 7e561e2a..bbb262c3 100644 --- a/docs/build/html/classes/spatialpy.core.html +++ b/docs/build/html/classes/spatialpy.core.html @@ -4,7 +4,8 @@ - + + spatialpy.core package — SpatialPy 1.0 documentation @@ -13,6 +14,7 @@ + @@ -103,12 +105,12 @@

Quick search

-
+

spatialpy.core package

-
+

Submodules

-
-
+
+

spatialpy.core.boundarycondition module

SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -124,11 +126,11 @@

Submoduleshttp://www.gnu.org/licenses/>.

-class spatialpy.core.boundarycondition.BoundaryCondition(xmin=None, xmax=None, ymin=None, ymax=None, zmin=None, zmax=None, type_id=None, deterministic=True, target=None, value=None, model=None)[source]
+class spatialpy.core.boundarycondition.BoundaryCondition(xmin=None, xmax=None, ymin=None, ymax=None, zmin=None, zmax=None, type_id=None, deterministic=True, target=None, value=None, model=None)[source]

Bases: object

Set spatial regions of the domain where a property of particles are held constant (updated each simulation step)

-
+
Conditions (one or more of the following must be set):

+

spatialpy.core.cleanup module

SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -233,8 +224,8 @@

Submodules +

+

spatialpy.core.datafunction module

SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -250,13 +241,16 @@

Submoduleshttp://www.gnu.org/licenses/>.

-class spatialpy.core.datafunction.DataFunction(name=None)[source]
+class spatialpy.core.datafunction.DataFunction(name=None)[source]

Bases: object

Abstract class used to constuct the data function.

Parameters

name (str) – Name of the Data Function.

+
Raises
+

DataFunctionError – If a name is not provided.

+
@@ -281,8 +275,8 @@

Submodules +

+

spatialpy.core.domain module

SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -298,7 +292,7 @@

Submoduleshttp://www.gnu.org/licenses/>.

-class spatialpy.core.domain.Domain(numpoints, xlim, ylim, zlim, rho0=1.0, c0=10, P0=None, gravity=None)[source]
+class spatialpy.core.domain.Domain(numpoints, xlim, ylim, zlim, rho0=1.0, c0=10, P0=None, gravity=None)[source]

Bases: object

Domain class for SpatialPy. A domain defines points and attributes of a regional space for simulation.

@@ -322,14 +316,14 @@

Submodules
Parameters
    -
  • point (tuple(float, float, float) or tuple(float, float)) – Spatial coordinate vertices of point to be added

  • +
  • point (tuple(float, float, float)) – Spatial coordinate vertices of point to be added

  • vol (float) – Default volume of particle to be added

  • mass (float) – Default mass of particle to be added

  • -
  • type_id (str | int) – Particle type ID of particle to be created

  • -
  • nu (float) – Default viscosity of particle to be created

  • +
  • type_id (str | int) – Particle type ID of particle to be craddedeated

  • +
  • nu (float) – Default viscosity of particle to be added

  • fixed (bool) – True if particle is spatially fixed, else False

  • -
  • c (float) – Default artificial speed of sound of particle to be created

  • -
  • rho (float) – Default density of particle to be created

  • +
  • c (float) – Default artificial speed of sound of particle to be added

  • +
  • rho (float) – Default density of particle to be added

Raises
@@ -350,7 +344,7 @@

Submodules
Parameters
-

point (tuple(float, float, float) or tuple(float, float)) – Target source point

+

point (tuple(float, float, float)) – Target source point

Returns

The coordinates of the nearest vertex to the source point.

@@ -364,11 +358,11 @@

Submodules
compile_prep()[source]
-

Generate the domain list of type ids and check for invalid type_ids and rho values +

Generate the domains list of type ids and check for invalid type_ids and rho values in preperation of compiling the simulation files.

Raises
-

DomainError – If a type_id is not set or rh for a particle is 0.

+

DomainError – If a type_id is not set or rho=0 for a particle.

@@ -389,7 +383,7 @@

Submodules
-classmethod create_2D_domain(xlim, ylim, nx, ny, type_id=1, mass=1.0, nu=1.0, rho=None, c=0, fixed=False, **kwargs)[source]
+classmethod create_2D_domain(xlim, ylim, nx, ny, type_id=1, mass=1.0, nu=1.0, rho=None, c=0, fixed=False, **kwargs)[source]

Create a filled 2D domain

Parameters
@@ -402,11 +396,9 @@

SubmodulesDomain.

Returns
@@ -420,7 +412,7 @@

Submodules
-classmethod create_3D_domain(xlim, ylim, zlim, nx, ny, nz, type_id=1, mass=1.0, nu=1.0, rho=None, c=0, fixed=False, **kwargs)[source]
+classmethod create_3D_domain(xlim, ylim, zlim, nx, ny, nz, type_id=1, mass=1.0, nu=1.0, rho=None, c=0, fixed=False, **kwargs)[source]

Create a filled 3D domain

Parameters
@@ -435,11 +427,9 @@

SubmodulesDomain.

Returns
@@ -458,8 +448,8 @@

Submodules
Parameters
    -
  • start (tuple(float, float, float) or tuple(float, float)) – Starting point

  • -
  • end (tuple(float, float, float) or tuple(float, float)) – Ending point

  • +
  • start (tuple(float, float, float)) – Starting point

  • +
  • end (tuple(float, float, float)) – Ending point

Returns
@@ -489,7 +479,7 @@

SubmodulesDomain.add_point().

Returns
@@ -609,7 +599,7 @@

Submodules
-classmethod import_meshio_object(mesh_obj)[source]
+classmethod import_meshio_object(mesh_obj)[source]

Import a python meshio mesh object.

Parameters
@@ -652,7 +642,7 @@

Submodules
-classmethod read_msh_file(filename)[source]
+classmethod read_msh_file(filename)[source]

Read a Gmsh style .msh file

Parameters
@@ -669,7 +659,7 @@

Submodules
-classmethod read_stochss_domain(filename)[source]
+classmethod read_stochss_domain(filename)[source]

Read a StochSS Domain (.domn) file or pull a StochSS Domain from a StochSS Spatial Model (.smdl) file.

Parameters
@@ -703,7 +693,7 @@

Submodules
-classmethod read_xml_mesh(filename)[source]
+classmethod read_xml_mesh(filename)[source]

Read a FEniCS/dolfin style XML mesh file

Parameters
@@ -725,7 +715,7 @@

Submodules
Parameters

+

spatialpy.core.geometry module

SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -767,7 +757,7 @@

Submoduleshttp://www.gnu.org/licenses/>.

-class spatialpy.core.geometry.Geometry[source]
+class spatialpy.core.geometry.Geometry[source]

Bases: object

Geometry class provides a method for tagging parts of the spatial domain as separate parts.

@@ -793,7 +783,7 @@

Submodules
-class spatialpy.core.geometry.GeometryAll[source]
+class spatialpy.core.geometry.GeometryAll[source]

Bases: spatialpy.core.geometry.Geometry

Mark all particles.

@@ -819,7 +809,7 @@

Submodules
-class spatialpy.core.geometry.GeometryExterior[source]
+class spatialpy.core.geometry.GeometryExterior[source]

Bases: spatialpy.core.geometry.Geometry

Mark particles that are on the edge of the domain. only works for meshes that define triangles and tetrahedrons.

@@ -846,7 +836,7 @@

Submodules
-class spatialpy.core.geometry.GeometryInterior[source]
+class spatialpy.core.geometry.GeometryInterior[source]

Bases: spatialpy.core.geometry.Geometry

Mark particles that are not on the edge of the domain. Only works for meshes that define triangles and tetrahedrons.

@@ -871,8 +861,8 @@

Submodules +

+

spatialpy.core.initialcondition module

SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -888,7 +878,7 @@

Submoduleshttp://www.gnu.org/licenses/>.

-class spatialpy.core.initialcondition.InitialCondition[source]
+class spatialpy.core.initialcondition.InitialCondition[source]

Bases: object

Class used to defined initial conditions in SpatialPy. SubClasses must implement the ‘apply(model)’ method, which @@ -903,7 +893,7 @@

Submodules
-class spatialpy.core.initialcondition.PlaceInitialCondition(species, count, location)[source]
+class spatialpy.core.initialcondition.PlaceInitialCondition(species, count, location)[source]

Bases: spatialpy.core.initialcondition.InitialCondition

Class used to defined the place initial condition in SpatialPy.

@@ -930,7 +920,7 @@

Submodules
-class spatialpy.core.initialcondition.ScatterInitialCondition(species, count, types=None)[source]
+class spatialpy.core.initialcondition.ScatterInitialCondition(species, count, types=None)[source]

Bases: spatialpy.core.initialcondition.InitialCondition

Class used to defined the scatter initial condition in SpatialPy.

@@ -957,7 +947,7 @@

Submodules
-class spatialpy.core.initialcondition.UniformInitialCondition(species, count, types=None)[source]
+class spatialpy.core.initialcondition.UniformInitialCondition(species, count, types=None)[source]

Bases: spatialpy.core.initialcondition.InitialCondition

Class used to defined the uniform initial condition in SpatialPy.

@@ -982,8 +972,8 @@

Submodules +

+

spatialpy.core.model module

SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -999,7 +989,7 @@

Submoduleshttp://www.gnu.org/licenses/>.

-class spatialpy.core.model.Model(name='spatialpy')[source]
+class spatialpy.core.model.Model(name='spatialpy')[source]

Bases: object

Representation of a spatial biochemical model.

@@ -1330,7 +1320,7 @@

Submodules
-reserved_names = ['vol', 't']
+reserved_names = ['vol', 't']

@@ -1425,7 +1415,7 @@

Submodules
-special_characters = ['[', ']', '+', '-', '*', '/', '.', '^']
+special_characters = ['[', ']', '+', '-', '*', '/', '.', '^']

@@ -1475,8 +1465,8 @@

Submodules +

+

spatialpy.core.parameter module

SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -1492,7 +1482,7 @@

Submoduleshttp://www.gnu.org/licenses/>.

-class spatialpy.core.parameter.Parameter(name=None, expression=None)[source]
+class spatialpy.core.parameter.Parameter(name=None, expression=None)[source]

Bases: object

Model of a rate paramter. A parameter can be given as a String expression (function) or directly as a scalar value. @@ -1508,8 +1498,8 @@

Submodules +

+

spatialpy.core.reaction module

SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -1525,7 +1515,7 @@

Submoduleshttp://www.gnu.org/licenses/>.

-class spatialpy.core.reaction.Reaction(name='', reactants=None, products=None, propensity_function=None, rate=None, annotation=None, restrict_to=None)[source]
+class spatialpy.core.reaction.Reaction(name='', reactants=None, products=None, propensity_function=None, rate=None, annotation=None, restrict_to=None)[source]

Bases: object

Models a biochemical reaction. A reaction conatains dictionaries of species (reactants and products) and parameters. The reaction’s propensity function needs to be evaluable and result in a non-negative scalar value in the namespace defined by the union of its Reactant, Product and Parameter dictionaries. For mass-action, zeroth, first and second order reactions are supported, attempting to used higher orders will result in an error.

@@ -1593,8 +1583,8 @@

Submodules +

+

spatialpy.core.result module

SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -1610,7 +1600,7 @@

Submoduleshttp://www.gnu.org/licenses/>.

-class spatialpy.core.result.Result(model=None, result_dir=None)[source]
+class spatialpy.core.result.Result(model=None, result_dir=None)[source]

Bases: object

Result object for a URDME simulation.

@@ -1828,8 +1818,8 @@

Submodules +

+

spatialpy.core.spatialpyerror module

SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -1845,104 +1835,104 @@

Submoduleshttp://www.gnu.org/licenses/>.

-exception spatialpy.core.spatialpyerror.BoundaryConditionError[source]
+exception spatialpy.core.spatialpyerror.BoundaryConditionError[source]

Bases: spatialpy.core.spatialpyerror.ModelError

Base class for exceptions in the boundarycondition module.

-exception spatialpy.core.spatialpyerror.DataFunctionError[source]
+exception spatialpy.core.spatialpyerror.DataFunctionError[source]

Bases: spatialpy.core.spatialpyerror.ModelError

Class for exceptions in the datafunction module.

-exception spatialpy.core.spatialpyerror.DomainError[source]
+exception spatialpy.core.spatialpyerror.DomainError[source]

Bases: spatialpy.core.spatialpyerror.ModelError

Class for exceptions in the domain module.

-exception spatialpy.core.spatialpyerror.GeometryError[source]
+exception spatialpy.core.spatialpyerror.GeometryError[source]

Bases: spatialpy.core.spatialpyerror.ModelError

Class for exceptions in the geometry module.

-exception spatialpy.core.spatialpyerror.InitialConditionError[source]
+exception spatialpy.core.spatialpyerror.InitialConditionError[source]

Bases: spatialpy.core.spatialpyerror.ModelError

Class for exceptions in initailcondition module.

-exception spatialpy.core.spatialpyerror.ModelError[source]
+exception spatialpy.core.spatialpyerror.ModelError[source]

Bases: Exception

Class for exceptions in the model module.

-exception spatialpy.core.spatialpyerror.ParameterError[source]
+exception spatialpy.core.spatialpyerror.ParameterError[source]

Bases: spatialpy.core.spatialpyerror.ModelError

Class for exceptions in parameter module.

-exception spatialpy.core.spatialpyerror.ReactionError[source]
+exception spatialpy.core.spatialpyerror.ReactionError[source]

Bases: spatialpy.core.spatialpyerror.ModelError

Class for exceptions in reaction module.

-exception spatialpy.core.spatialpyerror.ResultError[source]
+exception spatialpy.core.spatialpyerror.ResultError[source]

Bases: Exception

Class for exceptions in the results module.

-exception spatialpy.core.spatialpyerror.SimulationError[source]
+exception spatialpy.core.spatialpyerror.SimulationError[source]

Bases: Exception

Class for exceptions in the simulation module.

-exception spatialpy.core.spatialpyerror.SimulationTimeout[source]
+exception spatialpy.core.spatialpyerror.SimulationTimeout[source]

Bases: spatialpy.core.spatialpyerror.SimulationError

Exception raised for timeout errors.

-exception spatialpy.core.spatialpyerror.SpeciesError[source]
+exception spatialpy.core.spatialpyerror.SpeciesError[source]

Bases: spatialpy.core.spatialpyerror.ModelError

Class for exceptions in the species module.

-exception spatialpy.core.spatialpyerror.VTKReaderError[source]
+exception spatialpy.core.spatialpyerror.VTKReaderError[source]

Bases: Exception

Bass class for exceptions in the vtkreader module.

-exception spatialpy.core.spatialpyerror.VTKReaderIOError(message)[source]
+exception spatialpy.core.spatialpyerror.VTKReaderIOError(message)[source]

Bases: spatialpy.core.spatialpyerror.VTKReaderError

Exception raised for I/O errors.

-

-
+ +

spatialpy.core.species module

SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -1958,7 +1948,7 @@

Submoduleshttp://www.gnu.org/licenses/>.

-class spatialpy.core.species.Species(name=None, diffusion_coefficient=None, restrict_to=None)[source]
+class spatialpy.core.species.Species(name=None, diffusion_coefficient=None, restrict_to=None)[source]

Bases: object

Model of a biochemical species. Must be assigned a diffusion coefficent.

@@ -1988,8 +1978,8 @@

Submodules +

+

spatialpy.core.vtkreader module

SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -2005,7 +1995,7 @@

Submoduleshttp://www.gnu.org/licenses/>.

-class spatialpy.core.vtkreader.VTKReader(filename=None, debug=False)[source]
+class spatialpy.core.vtkreader.VTKReader(filename=None, debug=False)[source]

Bases: object

VTKReader.py: SpatialPy minimal VTK legacy file reader. Reference: https://vtk.org/wp-content/uploads/2015/04/file-formats.pdf

@@ -2100,8 +2090,8 @@

Submodules +

+

Module contents

SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -2117,11 +2107,11 @@

Submoduleshttp://www.gnu.org/licenses/>.

-class spatialpy.core.BoundaryCondition(xmin=None, xmax=None, ymin=None, ymax=None, zmin=None, zmax=None, type_id=None, deterministic=True, target=None, value=None, model=None)[source]
+class spatialpy.core.BoundaryCondition(xmin=None, xmax=None, ymin=None, ymax=None, zmin=None, zmax=None, type_id=None, deterministic=True, target=None, value=None, model=None)[source]

Bases: object

Set spatial regions of the domain where a property of particles are held constant (updated each simulation step)

-
+
Conditions (one or more of the following must be set):
-class spatialpy.core.DataFunction(name=None)[source]
+class spatialpy.core.DataFunction(name=None)[source]

Bases: object

Abstract class used to constuct the data function.

Parameters

name (str) – Name of the Data Function.

+
Raises
+

DataFunctionError – If a name is not provided.

+
@@ -2219,14 +2201,14 @@

Submodules
-exception spatialpy.core.DataFunctionError[source]
+exception spatialpy.core.DataFunctionError[source]

Bases: spatialpy.core.spatialpyerror.ModelError

Class for exceptions in the datafunction module.

-class spatialpy.core.Domain(numpoints, xlim, ylim, zlim, rho0=1.0, c0=10, P0=None, gravity=None)[source]
+class spatialpy.core.Domain(numpoints, xlim, ylim, zlim, rho0=1.0, c0=10, P0=None, gravity=None)[source]

Bases: object

Domain class for SpatialPy. A domain defines points and attributes of a regional space for simulation.

@@ -2250,14 +2232,14 @@

Submodules
Parameters
    -
  • point (tuple(float, float, float) or tuple(float, float)) – Spatial coordinate vertices of point to be added

  • +
  • point (tuple(float, float, float)) – Spatial coordinate vertices of point to be added

  • vol (float) – Default volume of particle to be added

  • mass (float) – Default mass of particle to be added

  • -
  • type_id (str | int) – Particle type ID of particle to be created

  • -
  • nu (float) – Default viscosity of particle to be created

  • +
  • type_id (str | int) – Particle type ID of particle to be craddedeated

  • +
  • nu (float) – Default viscosity of particle to be added

  • fixed (bool) – True if particle is spatially fixed, else False

  • -
  • c (float) – Default artificial speed of sound of particle to be created

  • -
  • rho (float) – Default density of particle to be created

  • +
  • c (float) – Default artificial speed of sound of particle to be added

  • +
  • rho (float) – Default density of particle to be added

Raises
@@ -2278,7 +2260,7 @@

Submodules
Parameters
-

point (tuple(float, float, float) or tuple(float, float)) – Target source point

+

point (tuple(float, float, float)) – Target source point

Returns

The coordinates of the nearest vertex to the source point.

@@ -2292,11 +2274,11 @@

Submodules
compile_prep()[source]
-

Generate the domain list of type ids and check for invalid type_ids and rho values +

Generate the domains list of type ids and check for invalid type_ids and rho values in preperation of compiling the simulation files.

Raises
-

DomainError – If a type_id is not set or rh for a particle is 0.

+

DomainError – If a type_id is not set or rho=0 for a particle.

@@ -2317,7 +2299,7 @@

Submodules
-classmethod create_2D_domain(xlim, ylim, nx, ny, type_id=1, mass=1.0, nu=1.0, rho=None, c=0, fixed=False, **kwargs)[source]
+classmethod create_2D_domain(xlim, ylim, nx, ny, type_id=1, mass=1.0, nu=1.0, rho=None, c=0, fixed=False, **kwargs)[source]

Create a filled 2D domain

Parameters
@@ -2330,11 +2312,9 @@

SubmodulesDomain.

Returns
@@ -2348,7 +2328,7 @@

Submodules
-classmethod create_3D_domain(xlim, ylim, zlim, nx, ny, nz, type_id=1, mass=1.0, nu=1.0, rho=None, c=0, fixed=False, **kwargs)[source]
+classmethod create_3D_domain(xlim, ylim, zlim, nx, ny, nz, type_id=1, mass=1.0, nu=1.0, rho=None, c=0, fixed=False, **kwargs)[source]

Create a filled 3D domain

Parameters
@@ -2363,11 +2343,9 @@

SubmodulesDomain.

Returns
@@ -2386,8 +2364,8 @@

Submodules
Parameters
    -
  • start (tuple(float, float, float) or tuple(float, float)) – Starting point

  • -
  • end (tuple(float, float, float) or tuple(float, float)) – Ending point

  • +
  • start (tuple(float, float, float)) – Starting point

  • +
  • end (tuple(float, float, float)) – Ending point

Returns
@@ -2417,7 +2395,7 @@

SubmodulesDomain.add_point().

Returns
@@ -2537,7 +2515,7 @@

Submodules
-classmethod import_meshio_object(mesh_obj)[source]
+classmethod import_meshio_object(mesh_obj)[source]

Import a python meshio mesh object.

Parameters
@@ -2580,7 +2558,7 @@

Submodules
-classmethod read_msh_file(filename)[source]
+classmethod read_msh_file(filename)[source]

Read a Gmsh style .msh file

Parameters
@@ -2597,7 +2575,7 @@

Submodules
-classmethod read_stochss_domain(filename)[source]
+classmethod read_stochss_domain(filename)[source]

Read a StochSS Domain (.domn) file or pull a StochSS Domain from a StochSS Spatial Model (.smdl) file.

Parameters
@@ -2631,7 +2609,7 @@

Submodules
-classmethod read_xml_mesh(filename)[source]
+classmethod read_xml_mesh(filename)[source]

Read a FEniCS/dolfin style XML mesh file

Parameters
@@ -2653,7 +2631,7 @@

Submodules
Parameters

-class spatialpy.core.Geometry[source]
+class spatialpy.core.Geometry[source]

Bases: object

Geometry class provides a method for tagging parts of the spatial domain as separate parts.

@@ -2713,7 +2691,7 @@

Submodules
-class spatialpy.core.GeometryAll[source]
+class spatialpy.core.GeometryAll[source]

Bases: spatialpy.core.geometry.Geometry

Mark all particles.

@@ -2739,14 +2717,14 @@

Submodules
-exception spatialpy.core.GeometryError[source]
+exception spatialpy.core.GeometryError[source]

Bases: spatialpy.core.spatialpyerror.ModelError

Class for exceptions in the geometry module.

-class spatialpy.core.GeometryExterior[source]
+class spatialpy.core.GeometryExterior[source]

Bases: spatialpy.core.geometry.Geometry

Mark particles that are on the edge of the domain. only works for meshes that define triangles and tetrahedrons.

@@ -2773,7 +2751,7 @@

Submodules
-class spatialpy.core.GeometryInterior[source]
+class spatialpy.core.GeometryInterior[source]

Bases: spatialpy.core.geometry.Geometry

Mark particles that are not on the edge of the domain. Only works for meshes that define triangles and tetrahedrons.

@@ -2800,7 +2778,7 @@

Submodules
-class spatialpy.core.InitialCondition[source]
+class spatialpy.core.InitialCondition[source]

Bases: object

Class used to defined initial conditions in SpatialPy. SubClasses must implement the ‘apply(model)’ method, which @@ -2815,43 +2793,46 @@

Submodules
-exception spatialpy.core.InitialConditionError[source]
+exception spatialpy.core.InitialConditionError[source]

Bases: spatialpy.core.spatialpyerror.ModelError

Class for exceptions in initailcondition module.

-class spatialpy.core.KDTree(data, leafsize=10)[source]
-

Bases: object

-

kd-tree for quick nearest-neighbor lookup

-

This class provides an index into a set of k-D points which -can be used to rapidly look up the nearest neighbors of any point.

+class spatialpy.core.KDTree(data, leafsize=10, compact_nodes=True, copy_data=False, balanced_tree=True, boxsize=None)[source] +

Bases: scipy.spatial.ckdtree.cKDTree

+

kd-tree for quick nearest-neighbor lookup.

+

This class provides an index into a set of k-dimensional points +which can be used to rapidly look up the nearest neighbors of any +point.

Parameters
    -
  • data ((N,K) array_like) – The data points to be indexed. This array is not copied, and -so modifying this data will result in bogus results.

  • -
  • leafsize (int, optional) – The number of points at which the algorithm switches over to -brute-force. Has to be positive.

  • +
  • data (array_like, shape (n,m)) – The n data points of dimension m to be indexed. This array is +not copied unless this is necessary to produce a contiguous +array of doubles, and so modifying this data will result in +bogus results. The data are also copied if the kd-tree is built +with copy_data=True.

  • +
  • leafsize (positive int, optional) – The number of points at which the algorithm switches over to +brute-force. Default: 10.

  • +
  • compact_nodes (bool, optional) – If True, the kd-tree is built to shrink the hyperrectangles to +the actual data range. This usually gives a more compact tree that +is robust against degenerated input data and gives faster queries +at the expense of longer build time. Default: True.

  • +
  • copy_data (bool, optional) – If True the data is always copied to protect the kd-tree against +data corruption. Default: False.

  • +
  • balanced_tree (bool, optional) – If True, the median is used to split the hyperrectangles instead of +the midpoint. This usually gives a more compact tree and +faster queries at the expense of longer build time. Default: True.

  • +
  • boxsize (array_like or scalar, optional) – Apply a m-d toroidal topology to the KDTree.. The topology is generated +by \(x_i + n_i L_i\) where \(n_i\) are integers and \(L_i\) +is the boxsize along i-th dimension. The input data shall be wrapped +into \([0, L_i)\). A ValueError is raised if any of the data is +outside of this bound.

-
Raises
-

RuntimeError – The maximum recursion limit can be exceeded for large data - sets. If this happens, either increase the value for the leafsize - parameter or increase the recursion limit by:: - - >>> import sys - >>> sys.setrecursionlimit(10000)

-
-
-
-

See also

-
-
cKDTree

Implementation of KDTree in Cython

-
-

Notes

The algorithm used is described in Maneewongvatana and Mount 1999. The general idea is that the kd-tree is a binary tree, each of whose @@ -2868,153 +2849,414 @@

Submodules +
+data
+

The n data points of dimension m to be indexed. This array is +not copied unless this is necessary to produce a contiguous +array of doubles. The data are also copied if the kd-tree is built +with copy_data=True.

+
+
Type
+

ndarray, shape (n,m)

+
+
+

+ +
+
+leafsize
+

The number of points at which the algorithm switches over to +brute-force.

+
+
Type
+

positive int

+
+
+
+ +
+
+m
+

The dimension of a single data-point.

+
+
Type
+

int

+
+
+
+ +
+
+n
+

The number of data points.

+
+
Type
+

int

+
+
+
+ +
+
+maxes
+

The maximum value in each dimension of the n data points.

+
+
Type
+

ndarray, shape (m,)

+
+
+
+ +
+
+mins
+

The minimum value in each dimension of the n data points.

+
+
Type
+

ndarray, shape (m,)

+
+
+
+ +
+
+size
+

The number of nodes in the tree.

+
+
Type
+

int

+
+
+
+
-count_neighbors(other, r, p=2.0)[source]
+count_neighbors(other, r, p=2.0, weights=None, cumulative=True)[source]

Count how many nearby pairs can be formed.

-

Count the number of pairs (x1,x2) can be formed, with x1 drawn -from self and x2 drawn from other, and where -distance(x1, x2, p) <= r. -This is the “two-point correlation” described in Gray and Moore 2000, -“N-body problems in statistical learning”, and the code here is based -on their algorithm.

+

Count the number of pairs (x1,x2) can be formed, with x1 drawn +from self and x2 drawn from other, and where +distance(x1, x2, p) <= r.

+

Data points on self and other are optionally weighted by the +weights argument. (See below)

+

This is adapted from the “two-point correlation” algorithm described by +Gray and Moore 1. See notes for further discussion.

Parameters
    -
  • other (KDTree instance) – The other tree to draw points from.

  • +
  • other (KDTree) – The other tree to draw points from, can be the same tree as self.

  • r (float or one-dimensional array of floats) – The radius to produce a count for. Multiple radii are searched with -a single tree traversal.

  • -
  • p (float, 1<=p<=infinity, optional) – Which Minkowski p-norm to use

  • +a single tree traversal. +If the count is non-cumulative(cumulative=False), r defines +the edges of the bins, and must be non-decreasing.

    +
  • p (float, optional) – 1<=p<=infinity. +Which Minkowski p-norm to use. +Default 2.0. +A finite large p may cause a ValueError if overflow can occur.

  • +
  • weights (tuple, array_like, or None, optional) –

    If None, the pair-counting is unweighted. +If given as a tuple, weights[0] is the weights of points in +self, and weights[1] is the weights of points in other; +either can be None to indicate the points are unweighted. +If given as an array_like, weights is the weights of points in +self and other. For this to make sense, self and +other must be the same tree. If self and other are two +different trees, a ValueError is raised. +Default: None

    +
    +

    New in version 1.6.0.

    +
    +

  • +
  • cumulative (bool, optional) –

    Whether the returned counts are cumulative. When cumulative is set +to False the algorithm is optimized to work with a large number +of bins (>10) specified by r. When cumulative is set to +True, the algorithm is optimized to work with a small number of +r. Default: True

    +
    +

    New in version 1.6.0.

    +
    +

Returns
-

result – The number of pairs. Note that this is internally stored in a numpy -int, and so may overflow if very large (2e9).

+

result – The number of pairs. For unweighted counts, the result is integer. +For weighted counts, the result is float. +If cumulative is False, result[i] contains the counts with +(-inf if i == 0 else r[i-1]) < R <= r[i]

Return type
-

int or 1-D array of ints

+

scalar or 1-D array

+

Notes

+

Pair-counting is the basic operation used to calculate the two point +correlation functions from a data set composed of position of objects.

+

Two point correlation function measures the clustering of objects and +is widely used in cosmology to quantify the large scale structure +in our Universe, but it may be useful for data analysis in other fields +where self-similar assembly of objects also occur.

+

The Landy-Szalay estimator for the two point correlation function of +D measures the clustering signal in D. 2

+

For example, given the position of two sets of objects,

+
    +
  • objects D (data) contains the clustering signal, and

  • +
  • objects R (random) that contains no signal,

  • +
+
+\[\xi(r) = \frac{<D, D> - 2 f <D, R> + f^2<R, R>}{f^2<R, R>},\]
+

where the brackets represents counting pairs between two data sets +in a finite bin around r (distance), corresponding to setting +cumulative=False, and f = float(len(D)) / float(len(R)) is the +ratio between number of objects from data and random.

+

The algorithm implemented here is loosely based on the dual-tree +algorithm described in 1. We switch between two different +pair-cumulation scheme depending on the setting of cumulative. +The computing time of the method we use when for +cumulative == False does not scale with the total number of bins. +The algorithm for cumulative == True scales linearly with the +number of bins, though it is slightly faster when only +1 or 2 bins are used. 5.

+

As an extension to the naive pair-counting, +weighted pair-counting counts the product of weights instead +of number of pairs. +Weighted pair-counting is used to estimate marked correlation functions +(3, section 2.2), +or to properly calculate the average of data per distance bin +(e.g. 4, section 2.1 on redshift).

+
+
1(1,2)
+

Gray and Moore, +“N-body problems in statistical learning”, +Mining the sky, 2000, +https://arxiv.org/abs/astro-ph/0012333

+
+
2
+

Landy and Szalay, +“Bias and variance of angular correlation functions”, +The Astrophysical Journal, 1993, +http://adsabs.harvard.edu/abs/1993ApJ…412…64L

+
+
3
+

Sheth, Connolly and Skibba, +“Marked correlations in galaxy formation models”, +Arxiv e-print, 2005, +https://arxiv.org/abs/astro-ph/0511773

+
+
4
+

Hawkins, et al., +“The 2dF Galaxy Redshift Survey: correlation functions, +peculiar velocities and the matter density of the Universe”, +Monthly Notices of the Royal Astronomical Society, 2002, +http://adsabs.harvard.edu/abs/2003MNRAS.346…78H

+
+
5
+

https://github.com/scipy/scipy/pull/5647#issuecomment-168474926

+
+
+

Examples

+

You can count neighbors number between two kd-trees within a distance:

+
>>> import numpy as np
+>>> from scipy.spatial import KDTree
+>>> rng = np.random.default_rng()
+>>> points1 = rng.random((5, 2))
+>>> points2 = rng.random((5, 2))
+>>> kd_tree1 = KDTree(points1)
+>>> kd_tree2 = KDTree(points2)
+>>> kd_tree1.count_neighbors(kd_tree2, 0.2)
+1
+
+
+

This number is same as the total pair number calculated by +query_ball_tree:

+
>>> indexes = kd_tree1.query_ball_tree(kd_tree2, r=0.2)
+>>> sum([len(i) for i in indexes])
+1
+
+
-class innernode(split_dim, split, less, greater)[source]
+class innernode(ckdtreenode)[source]

Bases: scipy.spatial.kdtree.KDTree.node

+
+
+property children
+
+ +
+
+property split
+
+ +
+
+property split_dim
+
+
-class leafnode(idx)[source]
+class leafnode(ckdtree_node=None)[source]

Bases: scipy.spatial.kdtree.KDTree.node

+
+
+property children
+
+ +
+
+property idx
+
+
-class node[source]
+class node(ckdtree_node=None)[source]

Bases: object

-query(x, k=1, eps=0, p=2, distance_upper_bound=inf)[source]
-

Query the kd-tree for nearest neighbors

+query(x, k=1, eps=0, p=2, distance_upper_bound=inf, workers=1)[source] +

Query the kd-tree for nearest neighbors.

Parameters
  • x (array_like, last dimension self.m) – An array of points to query.

  • -
  • k (int, optional) – The number of nearest neighbors to return.

  • +
  • k (int or Sequence[int], optional) – Either the number of nearest neighbors to return, or a list of the +k-th nearest neighbors to return, starting from 1.

  • eps (nonnegative float, optional) – Return approximate nearest neighbors; the kth returned value is guaranteed to be no further than (1+eps) times the distance to the real kth nearest neighbor.

  • p (float, 1<=p<=infinity, optional) – Which Minkowski p-norm to use. -1 is the sum-of-absolute-values “Manhattan” distance -2 is the usual Euclidean distance -infinity is the maximum-coordinate-difference distance

  • +1 is the sum-of-absolute-values distance (“Manhattan” distance). +2 is the usual Euclidean distance. +infinity is the maximum-coordinate-difference distance. +A large, finite p may cause a ValueError if overflow can occur.

  • distance_upper_bound (nonnegative float, optional) – Return only neighbors within this distance. This is used to prune tree searches, so if you are doing a series of nearest-neighbor queries, it may help to supply the distance to the nearest neighbor of the most recent point.

  • +
  • workers (int, optional) –

    Number of workers to use for parallel processing. If -1 is given +all CPU threads are used. Default: 1.

    +
    +

    New in version 1.6.0.

    +
    +

Returns
-

    +

    • d (float or array of floats) – The distances to the nearest neighbors. -If x has shape tuple+(self.m,), then d has shape tuple if -k is one, or tuple+(k,) if k is larger than one. Missing -neighbors (e.g. when k > n or distance_upper_bound is -given) are indicated with infinite distances. If k is None, -then d is an object array of shape tuple, containing lists -of distances. In either case the hits are sorted by distance -(nearest first).

    • -
    • i (integer or array of integers) – The locations of the neighbors in self.data. i is the same -shape as d.

    • +If x has shape tuple+(self.m,), then d has shape +tuple+(k,). +When k == 1, the last dimension of the output is squeezed. +Missing neighbors are indicated with infinite distances. +Hits are sorted by distance (nearest first).

      +
      +

      Deprecated since version 1.6.0: If k=None, then d is an object array of shape tuple, +containing lists of distances. This behavior is deprecated and +will be removed in SciPy 1.8.0, use query_ball_point +instead.

      +
      + +
    • i (integer or array of integers) – The index of each neighbor in self.data. +i is the same shape as d. +Missing neighbors are indicated with self.n.

Examples

-
>>> from scipy import spatial
+
>>> import numpy as np
+>>> from scipy.spatial import KDTree
 >>> x, y = np.mgrid[0:5, 2:8]
->>> tree = spatial.KDTree(list(zip(x.ravel(), y.ravel())))
->>> tree.data
-array([[0, 2],
-       [0, 3],
-       [0, 4],
-       [0, 5],
-       [0, 6],
-       [0, 7],
-       [1, 2],
-       [1, 3],
-       [1, 4],
-       [1, 5],
-       [1, 6],
-       [1, 7],
-       [2, 2],
-       [2, 3],
-       [2, 4],
-       [2, 5],
-       [2, 6],
-       [2, 7],
-       [3, 2],
-       [3, 3],
-       [3, 4],
-       [3, 5],
-       [3, 6],
-       [3, 7],
-       [4, 2],
-       [4, 3],
-       [4, 4],
-       [4, 5],
-       [4, 6],
-       [4, 7]])
->>> pts = np.array([[0, 0], [2.1, 2.9]])
->>> tree.query(pts)
-(array([ 2.        ,  0.14142136]), array([ 0, 13]))
->>> tree.query(pts[0])
-(2.0, 0)
+>>> tree = KDTree(np.c_[x.ravel(), y.ravel()])
+
+
+

To query the nearest neighbours and return squeezed result, use

+
>>> dd, ii = tree.query([[0, 0], [2.2, 2.9]], k=1)
+>>> print(dd, ii, sep='\n')
+[2.         0.2236068]
+[ 0 13]
+
+
+

To query the nearest neighbours and return unsqueezed result, use

+
>>> dd, ii = tree.query([[0, 0], [2.2, 2.9]], k=[1])
+>>> print(dd, ii, sep='\n')
+[[2.        ]
+ [0.2236068]]
+[[ 0]
+ [13]]
+
+
+

To query the second nearest neighbours and return unsqueezed result, +use

+
>>> dd, ii = tree.query([[0, 0], [2.2, 2.9]], k=[2])
+>>> print(dd, ii, sep='\n')
+[[2.23606798]
+ [0.80622577]]
+[[ 6]
+ [19]]
+
+
+

To query the first and second nearest neighbours, use

+
>>> dd, ii = tree.query([[0, 0], [2.2, 2.9]], k=2)
+>>> print(dd, ii, sep='\n')
+[[2.         2.23606798]
+ [0.2236068  0.80622577]]
+[[ 0  6]
+ [13 19]]
+
+
+

or, be more specific

+
>>> dd, ii = tree.query([[0, 0], [2.2, 2.9]], k=[1, 2])
+>>> print(dd, ii, sep='\n')
+[[2.         2.23606798]
+ [0.2236068  0.80622577]]
+[[ 0  6]
+ [13 19]]
 
-query_ball_point(x, r, p=2.0, eps=0)[source]
+query_ball_point(x, r, p=2.0, eps=0, workers=1, return_sorted=None, return_length=False)[source]

Find all points within distance r of point(s) x.

Parameters
  • x (array_like, shape tuple + (self.m,)) – The point or points to search for neighbors of.

  • -
  • r (positive float) – The radius of points to return.

  • -
  • p (float, optional) – Which Minkowski p-norm to use. Should be in the range [1, inf].

  • +
  • r (array_like, float) – The radius of points to return, must broadcast to the length of x.

  • +
  • p (float, optional) – Which Minkowski p-norm to use. Should be in the range [1, inf]. +A finite large p may cause a ValueError if overflow can occur.

  • eps (nonnegative float, optional) – Approximate search. Branches of the tree are not explored if their nearest points are further than r / (1 + eps), and branches are added in bulk if their furthest points are nearer than r * (1 + eps).

  • +
  • workers (int, optional) –

    Number of jobs to schedule for parallel processing. If -1 is given +all processors are used. Default: 1.

    +
    +

    New in version 1.6.0.

    +
    +

  • +
  • return_sorted (bool, optional) –

    Sorts returned indicies if True and does not sort them if False. If +None, does not sort single point queries, but does sort +multi-point queries which was the behavior before this option +was added.

    +
    +

    New in version 1.6.0.

    +
    +

  • +
  • return_length (bool, optional) –

    Return the number of points inside the radius instead of a list +of the indices.

    +
    +

    New in version 1.6.0.

    +
    +

Returns
@@ -3035,7 +3277,7 @@

Submodules>>> x, y = np.mgrid[0:5, 0:5] >>> points = np.c_[x.ravel(), y.ravel()] >>> tree = spatial.KDTree(points) ->>> tree.query_ball_point([2, 0], 1) +>>> sorted(tree.query_ball_point([2, 0], 1)) [5, 10, 11, 15]

@@ -3055,7 +3297,8 @@

Submodules
query_ball_tree(other, r, p=2.0, eps=0)[source]
-

Find all pairs of points whose distance is at most r

+

Find all pairs of points between self and other whose distance is +at most r.

Parameters
+

Examples

+

You can search all pairs of points between two kd-trees within a distance:

+
>>> import matplotlib.pyplot as plt
+>>> import numpy as np
+>>> from scipy.spatial import KDTree
+>>> rng = np.random.default_rng()
+>>> points1 = rng.random((15, 2))
+>>> points2 = rng.random((15, 2))
+>>> plt.figure(figsize=(6, 6))
+>>> plt.plot(points1[:, 0], points1[:, 1], "xk", markersize=14)
+>>> plt.plot(points2[:, 0], points2[:, 1], "og", markersize=14)
+>>> kd_tree1 = KDTree(points1)
+>>> kd_tree2 = KDTree(points2)
+>>> indexes = kd_tree1.query_ball_tree(kd_tree2, r=0.2)
+>>> for i in range(len(indexes)):
+...     for j in indexes[i]:
+...         plt.plot([points1[i, 0], points2[j, 0]],
+...             [points1[i, 1], points2[j, 1]], "-r")
+>>> plt.show()
+
+
-query_pairs(r, p=2.0, eps=0)[source]
-

Find all pairs of points within a distance.

+query_pairs(r, p=2.0, eps=0, output_type='set')[source] +

Find all pairs of points in self whose distance is at most r.

Parameters
Returns

results – Set of pairs (i,j), with i < j, for which the corresponding -positions are close.

+positions are close. If output_type is ‘ndarray’, an ndarry is +returned instead of a set.

Return type
-

set

+

set or ndarray

+

Examples

+

You can search all pairs of points in a kd-tree within a distance:

+
>>> import matplotlib.pyplot as plt
+>>> import numpy as np
+>>> from scipy.spatial import KDTree
+>>> rng = np.random.default_rng()
+>>> points = rng.random((20, 2))
+>>> plt.figure(figsize=(6, 6))
+>>> plt.plot(points[:, 0], points[:, 1], "xk", markersize=14)
+>>> kd_tree = KDTree(points)
+>>> pairs = kd_tree.query_pairs(r=0.2)
+>>> for (i, j) in pairs:
+...     plt.plot([points[i, 0], points[j, 0]],
+...             [points[i, 1], points[j, 1]], "-r")
+>>> plt.show()
+
+
-sparse_distance_matrix(other, max_distance, p=2.0)[source]
-

Compute a sparse distance matrix

+sparse_distance_matrix(other, max_distance, p=2.0, output_type='dok_matrix')[source] +

Compute a sparse distance matrix.

Computes a distance matrix between two KDTrees, leaving as zero any distance greater than max_distance.

@@ -3116,23 +3403,66 @@

Submodules
  • other (KDTree) –

  • max_distance (positive float) –

  • -
  • p (float, optional) –

  • +
  • p (float, 1<=p<=infinity) – Which Minkowski p-norm to use. +A finite large p may cause a ValueError if overflow can occur.

  • +
  • output_type (string, optional) –

    Which container to use for output data. Options: ‘dok_matrix’, +‘coo_matrix’, ‘dict’, or ‘ndarray’. Default: ‘dok_matrix’.

    +
    +

    New in version 1.6.0.

    +
    +

Returns
-

result – Sparse matrix representing the results in “dictionary of keys” format.

+

result – Sparse matrix representing the results in “dictionary of keys” +format. If a dict is returned the keys are (i,j) tuples of indices. +If output_type is ‘ndarray’ a record array with fields ‘i’, ‘j’, +and ‘v’ is returned,

Return type
-

dok_matrix

+

dok_matrix, coo_matrix, dict or ndarray

+

Examples

+

You can compute a sparse distance matrix between two kd-trees:

+
>>> import numpy as np
+>>> from scipy.spatial import KDTree
+>>> rng = np.random.default_rng()
+>>> points1 = rng.random((5, 2))
+>>> points2 = rng.random((5, 2))
+>>> kd_tree1 = KDTree(points1)
+>>> kd_tree2 = KDTree(points2)
+>>> sdm = kd_tree1.sparse_distance_matrix(kd_tree2, 0.3)
+>>> sdm.toarray()
+array([[0.        , 0.        , 0.12295571, 0.        , 0.        ],
+   [0.        , 0.        , 0.        , 0.        , 0.        ],
+   [0.28942611, 0.        , 0.        , 0.2333084 , 0.        ],
+   [0.        , 0.        , 0.        , 0.        , 0.        ],
+   [0.24617575, 0.29571802, 0.26836782, 0.        , 0.        ]])
+
+
+

You can check distances above the max_distance are zeros:

+
>>> from scipy.spatial import distance_matrix
+>>> distance_matrix(points1, points2)
+array([[0.56906522, 0.39923701, 0.12295571, 0.8658745 , 0.79428925],
+   [0.37327919, 0.7225693 , 0.87665969, 0.32580855, 0.75679479],
+   [0.28942611, 0.30088013, 0.6395831 , 0.2333084 , 0.33630734],
+   [0.31994999, 0.72658602, 0.71124834, 0.55396483, 0.90785663],
+   [0.24617575, 0.29571802, 0.26836782, 0.57714465, 0.6473269 ]])
+
+

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 diff --git a/docs/build/html/.doctrees/classes/spatialpy.doctree b/docs/build/html/.doctrees/classes/spatialpy.doctree index 9c5f3485497d2593094e052efbaa563163a1a9f3..fab5a45253df17d87c84adbfb0ec084e793b98c9 100644 GIT binary patch delta 1456 zcmb7EOKTHR6n4@~Yx+u?)QH%ot+lqACaEo=xCj<2E}}uvuB3*^V!bm@~z<@OqoYRS>2V+`RP&8B4Nj5lJcGIcAjd5PO#)U&u za1th=7!v_+#Ec0rxWvX`c%H!so>4qwc+So<6MW!AcYnzpCcsNwwvgxV{xo5u{B5`c zbM&_jmVIy)1_~kJHiWp+{Ey`{RMF4~@h@sZCPOqPG=Cjx{2Egw)l{tx-Hc@fF(o94 zj-lnuYvxlWdtD{%2-jJwB+S!i*pgBEbm$?z7>8@gLJf#+*a!dBl27()J|CjegF96Tw86!CK^jg4Z}!z5(gF z!)}{>kEZoS0Th;5ngtb~Vk}x%i!RG>ZKO*iX*6Fcqp#Xcr z91?2RubvSMi7s|K#R|nsCLx{44wVIf{BPoUOR2P?{A|tAtJj&;s;j0Z5(X34 zvHXwjpB#50|E=c&$4yYDYlI$kpY!ylC51%OL`fPDO-r(5u$w(&^t@|r_zW0EM!y^k z#sxz#G!!J!0unJ20aZ%|aZS-Lu8VZa{i>^z$T1R+N^(K5bjv;2*Q*oJkW?kAlXL=c zl@wc}zuZfg_FxwjNWl(lo0dZnWMX79DD%Sf_9CD}U?*b2aN)X(l1|}*+D3up=)1oD z8`b5Mt8Rr#cPw7gaZKzfmipj6cjU-HG~=jhCV%(XG^NvCiQ8 zD@QBRPY;mF?|TCTx?$LvNP(`=l%=VR0X@f;$S9HdYm!Nyg(HxH9WMoB#m=g5^pO~Y z*sOr#cuwLO!80~1Y=}b`-A~utVH{*0_oSnp{rO`Lmu|u>xXq*8upEa;7@Af9QLd+@ z64^VQw$WxCtQkg�T%O{hIO1dtHvh3hM7(aHiTu@^auRk*jOc6EgW6-PZm;4UPlu zpca-hq#n=Cf~bD+m&mnuXnK1fZFqx2llCY*2zWipXEc2}xKf~1>C}pFVUwI^{7z4y zdZ8ysg6j=Ue&evV{JkBORxTW$N#|{|AmE2f=Qq?|$6BL~C!G{eMP1$fa(^|H_rO!9 zrImB+=}z6DGtG3HxQ#*C32XYCy+{)|y~t>hS%TJdxDkqu?9W*y+~k(O4-Mt&sP8=&9vqqkO_r=m}Ge-rCV_&MH;VnXjs)N1f2^r^8krVu5WOZ;D z7&EL(sT9-oMJrjLY(A-*c|Oy3ksFaXuk^j*>HY*S^*>zRhAq%w0XAX7b^=9Jqio5* zRdc7et$?P$reZ_P{oKN}TEItQ15qzS!0|EF%u^<~s81Vw;KwJW@otnG3tKPPkqQ>} oSFB?83p1pvud6fTfd=E%KLZn_KR8Eox`}<%i$ZamWoMIr0o$O$x&QzG diff --git a/docs/build/html/.doctrees/classes/spatialpy.solvers.doctree b/docs/build/html/.doctrees/classes/spatialpy.solvers.doctree index a972d00078fd8f9c9b97eef481c9429029440532..9e89df7f6dcc3cbda0ce94e66a821c17eb6f5e42 100644 GIT binary patch literal 234328 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 W@~TfhW}EQd3>lV$4TkUcM*bhD@l$~S diff --git a/docs/build/html/.doctrees/classes/spatialpy.stochss.doctree b/docs/build/html/.doctrees/classes/spatialpy.stochss.doctree index f269045d595f389f8795fc7c9a6e15983afd05c2..7bb1d6ca14abe6cb21b84eb0911a4574198d4746 100644 GIT binary patch literal 13763 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 diff --git a/docs/build/html/.doctrees/environment.pickle b/docs/build/html/.doctrees/environment.pickle index 4cc145587402db263ae760cb8c88a89995ca84e7..2783c515379a09035130a1fab3a2407c4e822e79 100644 GIT binary patch delta 64054 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 HRN4OnIwnWw delta 62376 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

+
+
+property tree
+
+
-class spatialpy.core.Model(name='spatialpy')[source]
+class spatialpy.core.Model(name='spatialpy')[source]

Bases: object

Representation of a spatial biochemical model.

@@ -3463,7 +3793,7 @@

Submodules
-reserved_names = ['vol', 't']
+reserved_names = ['vol', 't']

@@ -3558,7 +3888,7 @@

Submodules
-special_characters = ['[', ']', '+', '-', '*', '/', '.', '^']
+special_characters = ['[', ']', '+', '-', '*', '/', '.', '^']

@@ -3589,14 +3919,14 @@

Submodules
-exception spatialpy.core.ModelError[source]
+exception spatialpy.core.ModelError[source]

Bases: Exception

Class for exceptions in the model module.

-class spatialpy.core.OrderedDict[source]
+class spatialpy.core.OrderedDict[source]

Bases: dict

Dictionary that remembers insertion order

@@ -3617,12 +3947,12 @@

Submodules
-items() a set-like object providing a view on D’s items
+items() a set-like object providing a view on D's items

-keys() a set-like object providing a view on D’s keys
+keys() a set-like object providing a view on D's keys
@@ -3634,7 +3964,7 @@

Submodules
-pop(k[, d]) v, remove specified key and return the corresponding
+pop(k[, d]) v, remove specified key and return the corresponding

value. If key is not found, d is returned if given, otherwise KeyError is raised.

@@ -3655,7 +3985,7 @@

Submodules
-update([E, ]**F) None.  Update D from dict/iterable E and F.
+update([E, ]**F) None.  Update D from dict/iterable E and F.

If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]

@@ -3663,14 +3993,14 @@

Submodules
-values() an object providing a view on D’s values
+values() an object providing a view on D's values

-class spatialpy.core.Parameter(name=None, expression=None)[source]
+class spatialpy.core.Parameter(name=None, expression=None)[source]

Bases: object

Model of a rate paramter. A parameter can be given as a String expression (function) or directly as a scalar value. @@ -3688,14 +4018,14 @@

Submodules
-exception spatialpy.core.ParameterError[source]
+exception spatialpy.core.ParameterError[source]

Bases: spatialpy.core.spatialpyerror.ModelError

Class for exceptions in parameter module.

-class spatialpy.core.PlaceInitialCondition(species, count, location)[source]
+class spatialpy.core.PlaceInitialCondition(species, count, location)[source]

Bases: spatialpy.core.initialcondition.InitialCondition

Class used to defined the place initial condition in SpatialPy.

@@ -3722,7 +4052,7 @@

Submodules
-class spatialpy.core.Reaction(name='', reactants=None, products=None, propensity_function=None, rate=None, annotation=None, restrict_to=None)[source]
+class spatialpy.core.Reaction(name='', reactants=None, products=None, propensity_function=None, rate=None, annotation=None, restrict_to=None)[source]

Bases: object

Models a biochemical reaction. A reaction conatains dictionaries of species (reactants and products) and parameters. The reaction’s propensity function needs to be evaluable and result in a non-negative scalar value in the namespace defined by the union of its Reactant, Product and Parameter dictionaries. For mass-action, zeroth, first and second order reactions are supported, attempting to used higher orders will result in an error.

@@ -3792,14 +4122,14 @@

Submodules
-exception spatialpy.core.ReactionError[source]
+exception spatialpy.core.ReactionError[source]

Bases: spatialpy.core.spatialpyerror.ModelError

Class for exceptions in reaction module.

-class spatialpy.core.Result(model=None, result_dir=None)[source]
+class spatialpy.core.Result(model=None, result_dir=None)[source]

Bases: object

Result object for a URDME simulation.

@@ -4019,14 +4349,14 @@

Submodules
-exception spatialpy.core.ResultError[source]
+exception spatialpy.core.ResultError[source]

Bases: Exception

Class for exceptions in the results module.

-class spatialpy.core.ScatterInitialCondition(species, count, types=None)[source]
+class spatialpy.core.ScatterInitialCondition(species, count, types=None)[source]

Bases: spatialpy.core.initialcondition.InitialCondition

Class used to defined the scatter initial condition in SpatialPy.

@@ -4053,21 +4383,21 @@

Submodules
-exception spatialpy.core.SimulationError[source]
+exception spatialpy.core.SimulationError[source]

Bases: Exception

Class for exceptions in the simulation module.

-exception spatialpy.core.SimulationTimeout[source]
+exception spatialpy.core.SimulationTimeout[source]

Bases: spatialpy.core.spatialpyerror.SimulationError

Exception raised for timeout errors.

-class spatialpy.core.Species(name=None, diffusion_coefficient=None, restrict_to=None)[source]
+class spatialpy.core.Species(name=None, diffusion_coefficient=None, restrict_to=None)[source]

Bases: object

Model of a biochemical species. Must be assigned a diffusion coefficent.

@@ -4099,14 +4429,14 @@

Submodules
-exception spatialpy.core.SpeciesError[source]
+exception spatialpy.core.SpeciesError[source]

Bases: spatialpy.core.spatialpyerror.ModelError

Class for exceptions in the species module.

-class spatialpy.core.UniformInitialCondition(species, count, types=None)[source]
+class spatialpy.core.UniformInitialCondition(species, count, types=None)[source]

Bases: spatialpy.core.initialcondition.InitialCondition

Class used to defined the uniform initial condition in SpatialPy.

@@ -4133,7 +4463,7 @@

Submodules
-class spatialpy.core.VTKReader(filename=None, debug=False)[source]
+class spatialpy.core.VTKReader(filename=None, debug=False)[source]

Bases: object

VTKReader.py: SpatialPy minimal VTK legacy file reader. Reference: https://vtk.org/wp-content/uploads/2015/04/file-formats.pdf

@@ -4230,14 +4560,14 @@

Submodules
-exception spatialpy.core.VTKReaderError[source]
+exception spatialpy.core.VTKReaderError[source]

Bases: Exception

Bass class for exceptions in the vtkreader module.

-exception spatialpy.core.VTKReaderIOError(message)[source]
+exception spatialpy.core.VTKReaderIOError(message)[source]

Bases: spatialpy.core.spatialpyerror.VTKReaderError

Exception raised for I/O errors.

@@ -4278,7 +4608,7 @@

Submodules
-class spatialpy.core.combinations(iterable, r)
+class spatialpy.core.combinations(iterable, r)

Bases: object

Return successive r-length combinations of elements in the iterable.

combinations(range(4), 3) –> (0,1,2), (0,1,3), (0,2,3), (1,2,3)

@@ -4333,7 +4663,7 @@

Submodules -
image (default=None |’png’ |’jpeg’ |’svg’ |’webp’) – This parameter sets

the format of the image to be downloaded, if we choose to download an +

image (default=None |’png’ |’jpeg’ |’svg’ |’webp’) – This parameter sets

the format of the image to be downloaded, if we choose to download an image. This parameter has a default value of None indicating that no image should be downloaded. Please note: for higher resolution images and more export options, consider using plotly.io.write_image. See @@ -4370,7 +4700,7 @@

Submodulesiplot([{'x': [1, 2, 3], 'y': [5, 2, 7]}], image='png') `

animation_opts Example: -``` +``` from plotly.offline import iplot figure = {‘data’: [{‘x’: [0, 1], ‘y’: [0, 1]}],

@@ -4387,11 +4717,11 @@

Submodules```

+```

-

}znc)o6D4+w!S;uF~6shGJGOeU_9ap})ak6J6*7_v6>ePI@;l00#=gE;%bSr@#`z z5@`nAA)pp$z5t~F<&3r05qPVdyUoku^#=ScH1%l_V{`o1fz^3zTt<}iuMkGU$NX%L zdyh~>g2r_Z}J;GwkfHDxFi0=)-7Ow_7yN&A; z%y_^IiRJA&i(jNt$bSG`Y#pC!jEa|zCV-Cc`VkN_>B74;_Qd*UlpbGLAr*SaNdG-X z`tQV$UL@WBDmFUe(#60!--M6gpvk`sqwJX0$Kp*)G`?XrzlYfT9*mhE9g``O`x#Bn zD-9`6Sc63PHy3mAZ>s}~#&<}vF44vpqvM}5!_m|hD~4Z@5+02{3o>Jj#jG(8#g5#v;`!F5FxnV40#|c59jBXELuIYmDdT%m)_(bOY%|g5O=W%I5n#=v&=g zd=mIM^Ah5^%s1Z>iMh?Ui9^>8#8U5(sKX7$kO=G9N&y{aKVFfgV9iGtAW+$HAmaz_ zI37V&i#OXc1e-gJ5bs>?e;V_3YXL4*@Z%oPvPjKH4^O^b0w9Q zN>m#;rCwAsplUB>`b5ojRr4X}+P4ov;~gJ%_&{+z;X^}AMlpa_ zsR&0xwxXMR6;F`!3}{#;=h;3?A8n8!cPZOq*rJ>f`7BE1A^b#9D)cEAr9y6mm>6tv zW(RyH&-hL7$b;pM!Ny_+-Jc|M^eG2jUt+K=F1?;mXK+!NBIVT07`Yh@Z%Y<0)9Y39 zSV%7qi^+p0d`DX&{Hhe_U0H061hjyO+jLL#PP*>{z)s-KnU|pJLvXO@pzFkFWvFa> zzzz=OlUOxi=TUNi1xdZi@z$rv`PqC*A@SB3hSJAiXSv87$w#nESOiL6GR`l6Cn(g~ z3Q}2rRCK5{ijC6;m4RmJ^>jaISJnq5LalLZT*EM2W1(pq^2I!o)3-2gV?Ls+$2c%z z|EifbeT%a0;3&*19v)n*OU0A{sIKPXqC=huefdlvopm+C>^aahK00IsTCsf}a%Y7o z>jlZs$V0xxgjtj;(_5e(4CLQ{rMC>f+j|tYhl#MyqoSGm%802xB9&b#*L+AAG zPWl%f0bRfG#G&<&;}QPCpH1s2%zACItzFyR=+4Yn(Di2wJ_-xEzSn4FaG%|V!=Zd) zr`m9zlmqmhSWD8NEQavDhFFB}iyehxwXjuNAOo`idruQ&*DKz!1 zz{X+h?o?erMqZ3sz%qgCcQCfu7ai=Q%Y%JHAHYVnWdmFOj$qRl9qbL|!9KMQV56S3 zfh~VWu<45q_7&y9zPvivdy0jDKsWCmU?CMC?DR#4JuMIWR)RhF?!mNwB;VZwK9Y9# zU=LUd#l+~dKCc(}M=NpjfB~T!F{Z0qY)oTqtWgsX0w8i`m8?WAFBj~7zmXpw2T{7RvK-}W&(S47jXyzdov~1ml5cO?iVzsQ-BzPcAR%|HF9?q%Y*tx9=bgvkjxq zc8&LfbU{WcOITTPoQirWi_56`lSB zOqb_=Q-Tvum;L~HHIN0IwYtDlP_P9eIkRI|!I+F8x#6MR98p{e90$rTIto4zg#sRn z_Fib@h(*I9^>9_wuM88$MK6#lAt9D`13zcjzfb;U)my9qvbRaHyIUiA6`^sNSf z=;{(zZXRnUk(7%yGjRmlV(UdOOTA;S4B`n%<6d9`P!i^7ZmWqY*n#x+0yHBs_5!Ad z&fiH@{UUHOdYY2K?i9Ss#-8a|O=56Gt+|cvHZq@RQX6kU#@13HjNy1~F(v{G6 z5Z^OIX+oY}dmvzlSxk!t4P)u#GBf3aSgz1%k7X*sWGG~|$g%Uw4FA|UMD&GK5Iw6P zdbNS*tIEt&vVBgAnOyJEVwQS`dqr9bLeF0h)QZ`6vCjHapLG^`kb`yBj9X_Fxusti zMLe#vo=pI3Qc@|)S2=z2WF0Pn zqxX-v9evAwF83bef8Cg!n<MkzRTuZK}-Kz@x z1{s%!)CN{J$0=s@BMT55$?7NZ;19G`&K()4kJsDs;V4n0D|3+-OgqYvF(ce6kl!Un z$ad*Ou@tvmS~O!9rLa`xe5ki7bRrVC@FqYrbHrkrjmOf=+ogDX^6ddWLVhP34+9I% zqD5M}TLXH1H#;p6XQ1M|wtQ}{+UV#oofFzJe6dRg?%ZB1xLkH&TrS7~>B;T2nH{wc z$-Y=_ueHhc*7!!aMlb;hP4O>gj~i}`Zai@<9DCvqTN~5$(Tx|?#yj=337GHvw!z58 z_13&#d&vQWov-{NnUW;t69#+hnl&&-*hgh2y=TpPynlvG7WtoQQSIjv*{fifpRH*z z?MikNJ)T`DK!rks8|M$-kjS##EAYm#f2Baqjkwn@QFT3zeF?D|pOcmkZ4W3B>_VS) zMtP__*gt1*gofws_ETNs>MWW1!t?k@T6o?f87c~&^f~S8AE`uO9s|IwUIQq!lxYDQ zi56p#pb`6`PiU2YLcY+~W1wk74CN{Qk$gnrBZU&_eE&!#h{OP>M5Mi>inh^d87~#2 zlHYY|J>5SuAGMwuN3GO9l8;(^B%N9(ikU4s(GaO=|41dM#Q>;8t;M*C+6c9Kb4ttv zKkDSU#Xl7vd0rAnp4a+E@{xy+q?5<3@!sJdsRVf#0F}tILNRY_R9Zsif>8XMPOH28 z^YYQ^<8ie5vVSBWt@ub9t(K5cC+Eh#>2tf^KVk`*F+eKO46izo6>1|`frt6`{t5Yr z^>7@q_WD_AQ-Y7A5v%Zm#=-vaN|1_yQHfN0z&61~r9~rx?ckHna_jx`@KIxz$ z&i0Sw6DK~BMj?-}_XPh)C1}F{h@?$%b$$yY+f=3ZqU~KN$8YE@49MEYOWY9$rmfg35yu`EnG8|BB^oRLYr0|}^`g2DiaV!L(H@CqX_p}*H zCTs0(V+6j!n<406<(wB0?y6INl2{_&!)y$SMBMo;*k~meiN3|1KbbLy8g&a^m+@Au%m1(#Tz)eG9-C>k zM;lE@Oq@V^Vc;ir1%h<~jJ2hnfD5KR%GIvs$_#K3yekSZ+>QBmXyowTW0C5^ER04E zh|K+0qfdR8Zt%B=a{Cv8(Op&b-p59y-vxcE-uq|a_j~q$fB5Y#5s}Ui6&^A2tuiy^ zgY+R{FmLn>43@M_Y{{xuCuk zUK8lzY0DIQCQLO3eQS1sZ~XaDMCR-D4aCksz&cD6@(UF}07(6Jju|E9{ zQB&x%>`eS*M15c&>ceTk?X>zjCT zvA(6=qXp}GnIU8Ru=>FE=2*pSe|G_rBia5Ue(pl=K_=HF_-+;ko@|nPemGc9F1Y~X z2n`7sY14+Sj&IG_c5U(qM+BgVBOZw-+R`5J3!Q!4{DV{D;&2!=a_ro&C`ud(9*jKM z=+6%yx3Jd}eD11MMBxYFt|hI0gP*6sK`%_!dpwDh*f^B@K&l!eT{YUnC95 zKKQNCqnp7MS@;z}=&o8t7XAzR4w40lrkpI8SaQjNrQW(LBl$vNvlrbIc_|e7Ib!fkqCi z6pNzdB4Cv`&*;++BezV?AsF3Nt4PKL(07nzNJQl%!^D$IGA#AZ5UWHyb7V47p%ai6 z6RKiqSye!eNNG9Mxa}xVBCa}yOGmFDB4uY3^Kk*$PP4Tx99YzE0r_jAPdC>qOGl4j zbXTn+Ah$r@K>{KXl@kyXPc8wm)LRwG4VgFuHv#51M=WOkP64WO%ZT z!oZX9z)Ki^#k}Y5%cWu)Oh2Uj)?0c-te;;WzyR}9W^Am#iXM1fNo&z2ktF>z*-FjQxEVAtF zwG;Xk%3#8n(|*(E|Ffw1bLH{l0&a;A%scmk<6At>?bh1c>fPD&7tnW*U_L-VxP%T% zRV4=XPA!RdiLlZ=fJmC~c;$!AlfGYoWE4p*Jjjnx!s8uXJSr%{X~YdCf1_7Guma3e zgf~g?fHze1hJ);^#q+2jp2e`&TGss%KGAC}^eOjR3*BGhj|!H)U^O&S8y}&Ex`*L# zE#Q*XF%WOn1%p?<>BpkZv~HXit$NRy|4T*&WCbtz^$y};bXv1P>t(Hdv^qlH7{5vZ zB8__q&{UO7eSHtSv~{8EWP#vQzqqwK$JW@9*TZ{=M_oN@KEo-l((rJ}Y&z*vaAxxp zE_tAh&a=*t$qdL`$mBTybRR+{o6rrYHGGeb>qf>~V1adqG0w0)9iUnt?NF^+KTh4s_|o@6 z*5QKXwGP=$R;z;BSD%8=aOTgFJ4nU7om1D&8i6YAt+JEe4ZC2;&=6$1oT`L^8n-mr z#ZmOmI5FPhvLSemKO2y|Dt;*78e_A6W6K=rbS_6MnV%S^R@n7*mZ@Havu-@>l4bS$QC zo-<6py3ADjhv|2g8UF2ai0OA%z_d3={jM@IWr&8=A?MY{5>=DC9E_HF2iVppx$g9= z#bAh-J?ZYUydg4>9$Y{t#WjcvvFU*`x)jNc_Moc8&$BGMqTZcqH>G1;ewS0FCH6N4 zBHe2eg3CSY4`HKlyJ5qXU`S^7+2|=Bi*3noOR9E*bOBW9LQc3>r59jl)OZFm( zxD-i%4_YiW6nSQz>C-qPcp4R!Br$Z*`hN;>0je?cMGh=c)tFyv?mw8`Zy^D|X8bR5H4GavU~r&;3(%$D#B1thcP*gy$O}xC0*L8@sD_!bodk zvN2vCh7`n;0mlqSJB}HYUMd_iNUyEZo&ET9ZxwD~Na;W7CdfX&)|YjCZ4NwH*h_ZO zd-g6kSx~TIJ6DK3JI!X34&cP*$1{I`@XV{TaUPv!Fy{R7ivi|7_~lQ6ZiHW+p@BTb zOF5~nN2h~|2ll3m>rKpV45?*gUYSlZ-T((Zc;+!eDQS$dms3Z^>Lb_EQw<_Wi3c#T zVvKu)*rlm@XF0g=Q6QD9$&BA2r40>}J+KN<^yBr8+>|X4Xr%0=k3~EVq-S$<3Vo`J zpRupTGv5UuV8jP!W_*x8F(}^hi`Y3HqbRXy0l(YQ$&3;ZE*}?`s+<w>}!8mZBoyrL-r=aBmXt**-g zdVM!b{Vjw|XbCUKBE&;zYAFmBtLp}Uq35x>u$)<4@5E0O;z6J0#_C$Dc-{hxuA^K= zmqt}XcV}z3jy(lPACsM2#xlv|Rvo*^wL$?}SX|m~l3z)weF_k%ih#~mfdFAegKpEy;MSy_HQSy$|O#KlaumrM;C+#%XS4Am+@ie+H2IU~c^sx)J6U z!vZa{ALE2BG`Ehp7#1mo6O$c{?iiR$qb!tEFlJFT$*bw_aO8pXzc>Iw_2}$sGf;Lp zLlWYClOZl|p9~foDDn(~TPX6o#1KjIKELrvvw<_ln<&R^X3@b4dGmSp zGE+CSx|~Qav<0xk5i#?n#d82!_^cA;TmkVCxOgt3s>Ni~&JZ{$wcjKbh@5A|Oiz&W z3~Urm&K1q62?+GAwcE8B5=*-eR;#8%`4_=ZMwomrhbSwm&hJh1GyqiF@7Ew&R@?6~ zB1(~l7)T#qTu<0jh}$TZ@S8^5o)XGIC^dg0?!^+SSd!XePYnaOK6?twnLTwAejJb(l44uH6AKUL78aJN6af5A2eziy_my&h-i^D! zY&0m%eRX?7_^iavBTSAJhD*Lc$K8kI)R={)<1Wyw&hV4oiT&km+b7KlcQTgJgPs@T zNNj!39;V5D2Nq;sbWGgq#f0}oozFp2-&$=%Jb#9&8(_;f>-A9W#qxIqo4)8^|EN6J zKd27&?#*cnuEnnaGJeznUi4dC#&wSK;`xvL0GJyO8guO4WWN%?GX}timIwGz(6l0B z^yQ716U$HG1e!t``s~s<{*io{`1weBCVuxDF_-yADv^nw0pK=j0>pSvvCMMSq;Xkc z8pN&sDfu2u*b+yku74ySnfOQ=nf3sKf@TZ?M4xq$ztKNh2~sg2Dv@d_vx97e@+QlA zm47lmBHbECq`&u%O~JVrx-1>wAIV1{K9WWu&jT?>`9~^28wNln z+VtUVtPTEo`K0O8I9ffik3HC!k+>?Z&hLv__omn9u12~eoRpj> zz2FCs4t98H+&4xuICDoOFN1AQAC5}ih_q!lMi+=1gH9Z7mRCBUsZ@Lvm~S9^}-4^xa;DH9bZcL9#GhKZLV)aNq%FrA}$o*Oa(-U;RlU zi=6wPjKP#}?tdH`t>o??$5~CfM9C5bL!p1r{}#jL=-f#x?<=u~mBt#|#_%R{4Q@7% zw|3yi>}U@%IZ>?BbTZnQs5d)}R+DR1Ep1bwpXj?$=-@FX{|=2DH&(Go^?6#3HM9$y z;$8x$oArXkZ;U>5AB(}<;t8CG2u63+3Wp-;!_c>S7V>udZi|Cqh|(tPy|KFQf9cqB zgO3Mh{BABEBp<`CjVr?W1)^=i{YR7;egGQzyh19X)8$Y(;>KzM)ypET87?zrHVF7(a$)mWqAD7wvn09yhQBqB zQ!Mq?M{8EOg!JOu!s=|o;5PTrqQO^xzFwfcQ2hC;KVPA$1uG4@+AFR!GX*P6k!!yf zMSs51ypUKP9odO_6%C722I$91^LnGtApQFqg3(>IiUNEi^c|!C8KN|e?_Fs=SZ1bt zkUp$5pD8o^U2}-&dnzE>ztViK%vAe_>4(Y;|BE@q^sg&m+IwSv`TwUY1h+&g#uG!d zZGpiORlm3v7)!mdMM71mu?vja7M2SWhT;Y0rUD8_E-+^_r;|bPv=D?gZK=1l_dGC$ z0ZcUkX7uM~ZABTsoZxd;ts(`lg1&>KKq4t81tyMMQedeUz|1N)L`i|#5Tw8y zy;usaFF<>w6g*yBoRSN|D1T&>?)&La&2{k2d3a`&MSP78B|L>a{m#NAj5KV4ug={Y z#eiHuK1Z0a3J4bUQ$QXt`g3!=A|T%<_}o>i2*?ki?;rt@NXiL_i6fVQSn8coo<}la zsn7`sjtNz<;M`q6j!40I96dfcNS--*AxhxHe3a5JG(3345Szkqog;pyGq{_}a9Uho z4ueJxy9$e<1Sa4?oRf_{{V7^MYlbP~; zfXJ9I6^qQl1;mIHnM?IY1qD8=&&ZXL8gJ~>wNc#2C1x8Tz`Dd>QNJbT2BS~67%0ok z^#r54Y88pO5&9027>THy#F%(;NsOi5#%dgriA}|hKz2;%ie+cCfGm-+bCve+nm|m@ z+ge^xT0gX2T!>fqGv3$OJ`lyGT$J8R_^^r+7WG?{K5O*pmJdagK0`3Nt5y-E&qLoq zq9hTO6D1Q*E>W`7yS&dFlgU=Udj?@M;V%}p+Y1O6DQp{zciRN=Ebq3N!eu+xFL=9c z@$Yr^ck>@kgNxH{(8yuSVNt)u=}@CjKaAX#JBVO(SFIvW1JHMnI7vk1#L2{yOPnnA zj*sDpOje?rfgqS87Yo84`zr{W&1Z1=9m8?{5yc?h=F;C)=%Y6Ia8 zcmq(xQt@vRZxjmj7f~F@rQ|Z=Kyslf?{&HUPSrqiH8Uy+>}CoY_E^dpBIe&~*)=D}9F&ZkxUzAqL+)K)RIG%0MA3 zebAVaE|-Jp2k^%I?vpdKy*(#qPN4B->t;;bKSCt{_zpsz-h*0I&s?I(`6r-hZy7#_ z2szhgdrR0rwooj%DcziXQF=EFnd*UU>1PpEF-_#rw;)_A(|^WToFgthO2H`^5{rg1 zWTX!)qdAyJFBX~~(~QAv+5@MPx?W21s#RV78=F;8kXwzk?67=XN)_3 z77wZ`rw~>hm}bQv0AhINM`U7fb2v_FoLoquL z+niQhPp}Q*KZ9CNku>*ZA5khXg(FUPI9*dx9MfMO8Rwlrn z^eHRL1AJ&d0N!a~i`|>-SHkelY|BN)=PBg@KCwE$eaZK7S@|hkLQ@F7Sbvp&B;Q?Q zK9Y7>dyzZeOT#}>iA&lH0JlLIpf0QBd%4j+CEum#XUCE0Z~PtX|xK+_tN%{Sb}B@kV-Vm4vo;; zIH+4--h3}F_D{!$z?&JVv^|qZ@WP#*;;X)Iy3IePk3HC!k+>?Z&hx!ky#e!`?+@Y4gJZ}lAN zQ!r_3z88ilZNlDL_-o3{ln>H}TlgEw41Zb#qSND`vMtDfq7c#?qR)crWfASag?~kv zsrC=kBV~ra1{#I3bS$Rp6)^3+h5xKFGi8Vd|79*(3`5@Jk85PRCVE}d3jqD{rLj(CgODTU+2=iV3EoI{a9c=V)W@J z01rLBlVEgLRTr38Y5XYk9i;adqQV!L`^wCe57LJP<_Belzkd!9{ht*O?O$O2SZ1pI z!}Pw8mP-{AH=p9JjkEL$Xf#&~%p;)h(k$)EBX(SwnKDG%78op15$9T9EcL<`81;I7 z>;j{^Bu=+3Fj%BAKtC3k zF{95QX{-~B?y6N5m=yXBl17H8@CD|EGBf3a^kISdn=-?{WDXJi(h7+7FEDQ_Gu8fK z`h#VLf8QKp`a=~k?cKrLTV|#V(Y6H!OH}>hT3{^o!WI}+p~fySYFk)fOc;t6m?soa zIC6oR$2?;HZP3N7cySJV9r+zi*Sd~ikxJ*nb)+DV*a3_5{`~N9i|!H7Xs#@}M?v2~ zYluWrZZ~h@$R!JwdI1@f>|6QBh9Cvz=*3d-aKEKs-tvfD8pUN?3N9utvq}LL^-~J2 zG5QOVf~yHWchxGE)E4MFND3s9a#CR8$R!1qdI8L=?isS>AhIDyfjN4y6kJe%_UN@> zXG}IdZ7HKOXEpl-#GZPBBwrE5Wn2noX}VS^z@mOi!8?rp+^mf_=4-(}5Pa^cRixlu z(07m&NF?Q?z{HVD3M};km|5k9C@D}If)tpe7fZn{1!#|yf`ySy?*~x~$OYtkgbAyF zU{OB>nXpvo1O&%~s#tKo zT|kaV!P&Lh^iJAcXK*){;k3BG3_&BuIXf0b2~0pXy^D=L{V?)XNiU zVrGp#-D03DGq(_o?y6NJ=H<|LkiUbj7kWT|kyd z*;z>0^gbKKrd*UhP57{i5*GDal)h{9>6Q;gl)gnUx~oh(M4T_#)o?iqy5guhtWK3PDxNMW1bYyoDPIW4qFb3`Ylc;7=8L- zIia4!PsAeDt=E%i@uzvx{BL!grWz(xi zaUhqH8ll6w=wMNlloV#u+iCRZW_)GI*+CGxt5%Vb>!9x-8Ifqp$%u(1myB5I^(FmX zCOduU4rI!Nv{DR1^AVS> z0$C6^b!O8O6@v0fQ3|ZL7tA^*EMEB&+4O!95Xj8)vEkhsU$P(sfM?VDCX0FQS2n$U z7whuiCOyKyv+1qCMg>=aY}xeS@>Xy*JzrhP|5-LYUv*%bBV(pXJaIU*@I?(EIym(Z z9et*rmN}10zxJC%0jYqEG1C)N+<=Y3sp!l`hu~?7EjF9p6~WMJ3McL!O;|QPT^%8f zDV^s)dO6Y9D;>l(mloF(Y=iiZVjI8Kc{j_pDJ~KQX}^?b(-Su~B|BKM=@Gg;+4QiS zWz)L}CdRVq(Wkk|rgzq8qtmT5N9w~{>fIgndUN=s;qCQyw=q)h46aTFv)qp(t#+L! zfJ`Rp-Lcl_>e=3j*76}wrxmj6iS(16-Unea?e5y7-UR4Sq6X8w)nsD>p0-pU3>j}7 zU17WiNTixUI%5x}hrrnBq41BEc2}g!Spfy0R9`7O>Ahs#lREWwXWf?eOs(0Tn&{ML z)?LsVVL6u9Nu|GTv^COMH#D?PVt*Y{2Y#NYHJU?^To@~K+xRSIYilBF4G|4_EuN~- zi;#SVxaApwIes6l;&%xZTM|hr1!z;UYC1CSka)1=xbr6Lx*eMORvCfuV;IKYLDltq zZhHXBSm2gF1Jv|chxv2mVg5`RnBBTdOp)L2&zLIxM}(0mIp??gj}Ble-S)+`fnW5` zK+awCe;G`n4;TG^g(zni{W(_XqW!IiAjlD1c+q~<#q};+F#zTTg$Yj!lEO?*N|;0? zLT}2P#=-R^Q>BZR04xLPpEyWj`Oy`Nx|P8B;3fP8r#c9=f5=dKJ1nfLpF4Z~?BLiE zX4(v%Du1C~d;td-qqDnJFKn z54Tn($_$@IAUb^-RF1fJ--7C85$(UVa#NY9_7Br9FEjk#LL;A{qOx=>re85< zWp+1cpI-sd{$=)QWv1FcOs8dr-!_Ms9-lKz-&kg<{loO%mKpwU<`B~_tAJ_mGW+&2 zGi8XjEwfmnYI4^yYpJ)lwkTzbto}PJv1Z%iCH9Z8ORTp`aT<4YK(G8f2Y1$ij`@Ar z8eixRkZ)P>vmE(dVvZaE4;Tb-uWh(g^V7KRW1|8`fN~mlQZ4fYP1I|hsdgP-!joPh z<^ZUHU4phrw!a7FDAQCP+A)mlHNlWoFto(bLAKU$08s&9i2;r&t|u4(F&V`Ger3ZC z;e_{4ctQP*#FJLib((p;^@f9NXYDzJLmvk_gu5Ch#tz}=)7%`wJ!WfTe0+FEqdPV{ zi4MV$@u0)E)yBaNcfMOXt8nOctGn01ZS@xTX4^BvjqSDe+GMmo-mOjZzcU*zZ#C=u z%TE4fdZN*kA8XV6<4pGJ%!K@PXZGvP>{sy|sr7X40PECQ(2uoDYE@b`wgauzbzIjW zfv0(G*-7uF`9ICGA|QW?_pDt=Iqv0tw0dl~j|PwB7|v1w^sVu$PR*A{LPQ@Yz6hH7 z6r?z7qi;_LqLN@T@nVCbuq z3UL6#F`6+&>!z7ZRKVEIe9`G4|IB>J>VFPR;qWY!X1nd_)3uNx!c8+iQXI|p^^aGA zW(Gb|QI%TU zIB`&`Hmy(#zUb6?x_?eSYCScMTB&~|AGP>Manzdjk5__P42){jl2)aaT39NnMPGDk z-Qu5-}@`QEM$Ujj%G#_K)O~Ek05lwVvP~uLQLi7?r41{&lOm ze>y(&)fl1lP2ROTYVB<@?9TqWRmVT3k2%?Z&f{M*H%$8cWuOG+C;s&?x3g^4 z8TXojnu~j#0MPpo_j((Wm&d&_Y*27!3lS3%_j=q#;Gaxt3HQ=8Mv~50ZL*%A$1;%~ z%ORmfLaWPFA$=>d(LnlUFE^|y)GCR8zJ-!9DdMwb06(`XAH8$A=mq{(Mm27 zeS3ZCotpbjy)+^UhA!r=VhVe$HIqgY4#+Ty8ty05l2w@}TU1p8z5j;WOiqP*f>*JWU6v}(t&&Q;=j1?|Z^0QzO-#90 zWTvAB($5#L2ojRV`rSiS{jq*$GS7N4$l~ae6HZ7jFt21tSx;I`68`BEYSWDlTcHfe z7Y=wX^5Uz+I?4Jm%XQgwGd#|Q%leVf$RX=k6ea7**)#I6?V$N|qfbAKJoxVvg3(=7 zmEZJFK%R)u?+ws*ko-zS<>c4IlS_Ur^;U;-g`{;aq7m3D=BUN8aCiZ_BV}O|JBW#s zg&C5CWN@^;wKg^0?ciF;WNNiXKxV{>!UV)T?U{^XJ}w~Rgbko+{%tNS>bHR0Wc2Cg zdL#oEkQ)g`chxEaax?TDBp?z|IRP>8W`73lIP=t3-*CwCV_GM#L%jZe{@ z4|il+T2t&w#+KH!z8rBk$}~I)cGdc;?aNZ(@#u26U$64LoAGddT#lAPBZtj~MQVSA z`?CO>?MS0fKa6}yI-Fp1SFIvPM?v2~awHLzlOq#PE;+K)JGVNgWTMoE&On+>D2t_O zj{@?J(!|%M znaH(i#=ABZg%`Xjic`5Xy^c^}l_o6ew={jw=+iACiZs2CV02flB26EHzJsJmA}S|M zCZ1fg>V8%Rwki>2w+1>}jBCi~h{3P;YhsVMy8mr zQNN{W>E3#uZV^$WX%A@R3q-CWO?yJ$LDD1zm^9#rmDNPrMi+6b53LzDZZUc^1udUDQXthTZ2oz&E zDj~|E!^1DQ4-e`N)9vR$yBklBcLOSAKS(6f5$xBZn3N0BmkA3l+GD9IOHgkPvzVKs zY5v3Bzy?U$iJ<};t}!up4IRCu?|{e$kw7o~C4$awHa^m9=_C@L480n$M ze6Ymkk1!`ZivUtA$jbDe;EWnloF5Ia3WSqCchOLWl=OjRG#ODL=zcL>iN3dB`Z=lc z3aUt|@acdE34YTa1GoY&TECa77Ux)$NfbCg$?v-SJ!T(WSlm2-NZ?5oPQ*q9@n%X= zg>x{_t2s5XrQXKCuq=$DJ63}LuX?-Aqq;^Z_7JRP3ILPQPvVTaazAqFy~Svl;EZdqQ8;JF7wt8z2@3<$fmAGsM(f3NFjShB zii>gS(ZE5bN|)&5l^P=bGmGm9(jyL|NblE1JnMppVhz%YBK5h5C6*+$q&_Fqda^EH zIm^26c9RTUc1UZ_jVzXH}(b4cga!2Aavlb!Tluq*N(e;bl;QwRc|5fn+YWV-RV-KT}<<|+aS*2gX3C_=Tf&mW?xbG8Wu;%U)d8@m((C!Tcpf}bsQG>I>cyp zF=SH+rMyxQ(L(Zc`Y^&Xkp6~)CG?rj)+*6)PI#+e;V>@Y^`Q)}rLGl7gU)Z@E#KEC z{sx}JGQJEONiKlZ$dW!=q5R{{Me}ZQ26l|?+6>$R7_Co3wEh-w-10{!)+SfBAw*JWzXuss}AEGD5=4}k}>+%q2!xh|M~>(8;HRw832bsi$L2Cu^(svET*c(yMajC z?~It~38py}8-+8?LCwjb<|uK@;AnSdvc7Rkt2Hjxzr7Z>x7_d+PX+6E?jS=7haQD@n}7ggp1el-&}tUX;XmM^CxQEHt!OV*HJG zqB5~uN=dMo%tQr`$&BU9Wd1w+boO#^nb4=XF_~A9i8&VVFwo&1BYCWXS-hWW5&Sly^D-pKxRI_SFCxP%_IE;PHBG3+kG@z zx((V4x|~7#j{t2S4BBr%H^QK02q44jot(Ud2JMT;pdHJOX*)BWZheAoF2V&x7WE1r zw$#u$-rBkqy<6fx^>SjeW2`YUmW-d9Z`#ZaXuBGiPT$58&>Doq0QSBkW9u3bHP4;v_G$ zGuK=U4-n?APEj6=I^>z}HsFAClsy6}cs8bqYW)@ z=h9~TQVfp7a{UEtw33TMvCTH{gvJD#`<&A1#W`v5d+SKb_Po`A2TK|nW38&TxbXP06j=l6)^p|@utZq!J6?RbY6#8t1 zeGt%KwZa|=5K)lL9xz$M{fK4iniyejo?tX}Yaex@>7$`pgy+&?ZkC=XDDZGPp8r34 zdQbbGJ-ycd?CIUKK&R*3H_>vmA3z?s9HCy1T8_M1>348$^Rvl2 z$WCwf9xnqkx5xW5fZc~Z-fy8BvBzVWpxwyboZy9fycb^B={6=Xb0Jv!j7SNJSAqdD zH8>o=NQwG%!jA}Q@U^y0QPeH8mK%$O1CW%%bn*VcVgu>!_$TzmcREQ}5W+?b@u!R-=5l*_a14sX zhUY+Rw2}*Q@%HqxnikbF(rR{VaEA=uwMSnCypGqTcpjB|`AJxlqQDx>5yvPAzkb^PUCUfOjXc1_xAXNg*mHnw|-*?X!#Y|5y z)A`saoS9ZofY=a)`_PJP-%@GSBuQz3zA6|>b>A3!OrZgw9#;G}2)1>b{1hUJdl!qV zMgy4W%Hn$BumW)##S(sFlpj_I)f8pHiUm%R+G4>r09@Z;1(q`l_OJ01S+MkJZY(&k^L1YxdSShqKkKsbHo&WU#SAoF-y}Qf z-LPwn*9J2&5!N+D8+VF=A+-B1D%jw2f=or7BVPvrt50~>OPpRpM!3M z>Bpf_%+0iNbo4XVY)u*aPX;IS4`{6)Dk`3xY8T zdtb@0H1gz!PNJ6zhSTB7Vk){Dqz{czYmo5XD)_>7(tng%igp#x0i;&8oSr2+ z={o~eji4p@jHDC4P?DcBSu2r z2wI1>AKC)vAAfv;d;~e=Ar7DA3BlW3ShlUPy$*Nwp;X!m(d{HxrFSE21L>zZh(h7& zjAg8!utuz00HQ~@{bYvQQkLQJO|>@n_6h~2{v;7a>g!uESQ7T(H?Yx4E*8c1;X1BA z;2fyirk8%M1fq){@wF(**r3~s#&aA}dx*=5ytxrp@KDrrcs7`yLnB9WXDm{+yT$3G zKfbdEOi^H+KI`aSc7WcWmnp?t1B;=NPtR4bw9>txZ`DinuP|Y&p(T-&OQ~ey2z0&m zF&#_2BMKNnBCl6e69nGu-)mu!QTP)gyq^X++a>rA9$RP=IKpkV;KCRh zUvSsVx#;HO)bt1ORw!eLbx!+DpY|uCrp?#mj}wjD7>Z!NJNMHsB&VN(zJqx0p9u)p zT85=6IicPOap;zKifstW(Hy;arTb6;N)_dZOcx~~-qA($lQ3$9HSTZ3-5+9?A!Weg z{vhS!iGIRz=KffAAbcYC2Ys3w_s1am54N|)13Vuq-JTEVpn}swB*K%Rkf0iAftK-7 zA;j{#WK7aq2_Q{nbX_U~4~7nxo%CjQjeCO-N;~*U`F^sAq(eBT`SA(ttM~+PBF>|r z47{8>;9vl^5AJ{qp&Q{2U>Kk+>!F;$g-1ch2zNlY)vZCEpVl}e2o*6&qxuz8OP6rpHzhP7?`cPUE}`YzAVS8B%}xRcl#gBoFUj$oseoZXA}`U6*52+Oa% z3svK-BMI8`Rs%}!h?x%AiCt(>U{4A=5vLuv3SL81i}!nxTZEUzOixhjrPwH(TKtj& z`c&+j1nW(ce+Y(5wbWt*X)G5oE`x!s&WX1`K>=Zj0p3_#PcQ&tGKvBG77Y)f5t1&n zlfMx+gM@aKgteGK9{_NDr$AWF%%E@MCo+TR)7+RrXEr7#TkY=fM7=ZCXbrQcxZO4p zJ?NdqgF8|w+WM?uCLPO{Ra>`%2snbx4~fRUB2p~(PQU7`V<6DByCGRcV6%6eSDn2! zIcv1u8G)GhZNp&Mjnp?JvSPC8?6VJ{qTVvmq<1R{s{)A6b zOOlcHC!>|I=KZv0E_>er^@&6I7@VJ;jNJ!yeS1C8AbSLp%RU*786Q!p11G}R8&j56&+O)rBvWk2ZiSmT|C_e||L zXzJ6X#+lmDfz|n$niV(K=aND?({IvxB65ozF+9;4of@xq*2#_3I=o)8j@gm3y(Mk% zc8t#UM7~TbdpM2h4Az`6{c{k9J{Z%R5P9ruZ2^fDS)>ngfiE`bFCj&b_XB3SW00eh zX?*&VFtsn8#>a%zm7JUoBNq>(SL2_kVE$c@r_;(>kZ*nwOyDp11OS(%tb6tFj-P(1 zKS_kqQqYdUmarOI*k~nJSH(8|i9&xRgN)ikm%(aD2YdM8k|%P);|t;pF>LA6J&Bp} z;*-jL(5G~B)Redn@p;h5ai)hwDnnT;U;RvPg)&RA25Z0R@cy0AzrKnXOR+fPyN%#= zSFK=4r>}v&RiEcm@%ufXb<^KIup4S1_DI4&Dv_2u<1=vvi;wk;&r>R3slG;&t?kwXzl(!rIxiM1UbcBg*RnkT*?$;=A0qn?h(LZk z^7B8$W1q<$xw&6@PzmzyfsMk+f3P%*hWJj0{b5#T{-6hB+Sx?XlopwRVCYq~mEI0$ zk2oiE0u!Xm4h9%~hAfB`vCV^l5Hf0>@8|w^(Fo$c>sLV_xOT_)ykIg^mAhTpY5_26r?@yJH(KZ#C;{ zlQB%1+2vnGTH~$uL~W9P#T&O9Pg$FE8{P3b{|&Awj!%u&M=9#HGdvE->Uqgjr#=i< zc5$5X#+Hp2VT$s#NxR;iYBz`J*O}q1jcrryIxDkAq%P0E6q;H6NteuRKuPzq61amM zk)8CeoB!h)b-MYz^9vRRrHB%P`qq7U1{yEccJE85Sdfr^)2a7tiTLPP*qzW6HW+8B z{*Xl*#c1$JAF1ab>0;={bQ+}_;73@Q`AAPtM_P=MBL-t%^zmNlAMdH=c)bHUQ`c_!-DggV(~_+Z~Ekd~kv1EUh-v{4Qu+xD?u;@MkRtB;<7$%33yB>$$*?Q8xKOOTTRQi+_0x%YiGq8@0gE@o{n)RFK@KN5Td{#hJ>|KuOZM_@iu zEP?kqq~8V(10<5b#nt(_XSSnGrw#(p=O=D(|D2!09Xgmnm^wt)gpb<;7FW+T!D=w|Da)i4;;^k7#VO*V+)sn)^4xFA+b3;u%_M`3W|vMepMu^% z$VD$n#M3YfS<7c7c(8zHXibblwu<$HYW{iN-0{Sd@pH2pDGWzo$$2W$0?CrJwQ=4Ch_m^oATIw($A z8U-Xquh?FU8@5tazrez^CiKx~68kvzecnY@_yl?{3_-`e$h69>4WJ_>&l{9%T^ zk774Rvr(aKdlCW@>4#c#8+>9`r;*ek^Gu5nD1i>cSGeL(UES8!J5%QGWf5YE#8NL68 zSFeTtK~DK6l2!hh$t!-L79g{t63DGm=e#!m!sJ(0+BAh9#i%eSlVkc3K>%szby1%A zN30`$CAsEbP`2?Sf$)Fk*zQ)Qk zTJe&xxIn5SmyETP<6Q2{He<$f&C0_Y?&5(;+or1UZ0Xu4w&&K_Hkzf?I>Vwk-3r@I zA)uBm)eS~}ZiR`c<+}BHg3n#Gif+9T`VP{q5=lATYU0SHTP^jDC}4rit}3bt+RN;} zn7u~}5F5$f$I^jXW)5K<7WNZ=(`#G1HVJPzlr08U4B0RpIQr2|jn#DxCcV=sSqBC6aQSZQ{tq*_L_-If$Qew5tYive{oTC*NLx z$Vg6xy#Bc`xMUE6;mD2pShkKug$_hdr>#er+_JWoNz9V{v*a+Hz1=*9sNv$W2pTzzY%Gcr zm&J%8u@bN^I)sNAJ^CT!OTobep}T4ofjJ!d4iXrNrkuc-SaJ!BrQW8#GnGVlum636 zkeYKS7SjLjuaLgUcBq&P!m-FWb9|50!JcZPcN?<>fjF`TaE!v@R6!I+a6?{e&!8-i z*1EMpTB5|&0(e1Yq~2LA?Ol8_97Gq~=Sgc4TXwj>Pt@q7ras!}!b#1R8M=o6dnNu> zy|LQa4?MYS+Y2QvNw}|w5*;qwmy_sN*Fr3c6K+JZ6mI&WL%7Z8(JiscYB)*|x~o0ySb{t5}U(TEHfeYyDI7fD^9*nS}i= z$@XNsHQDYqV3lvzJFu#E`1x&igl1jT%_tTw^XAWzP9*KGjgloU?XMyvS*0C|`YY}4 zHF|W5up;fZ6NK)nRiyoW(07ouOEl%A-Nceh+Aa0Y&P#g~<4E%Ns`do(Wx`i1U#}=2 zOisSMU8alKN!Un$_nqHp!*lV#t4U9!s(ri2_`4`Z<`)?s#zqCl_{#bGmCR`-Y!Ea& zSOf^$H8i%aMK5das!f8%ht1;Icx8J^#v9K~=NUuJP5;2AD+Y9>W~M^|5d=vn)-)ii zD6%M`fIkHVK{28NDm#My1oIO&P!rU@3X1>lId^&Y-g@u8_o}LUCTKpHnOE=K<=k`5 zJ?GqW&b{|C#z!)^B$cK7B)-YT?%v+j)=rgAm1}FKN{G{J9J96aEs){9)1K(N*xLD1 z7?{}F$xlnOwR1c6la~+7;l!lrYRz-uuXD`P1@U`4t;Pn}=6Rk>f3(^w5`=XekH5?Z zJH6AHMA;5@dY@Cv;pO;)ov14xFPjHDy-jz}eetGeWA)wIG}&Az)tjBUR%Kz+H4R)6 ziyJswoAglvI9+F|wP}1j{?MKA`GuWSpxq?b9u&1hVxhOyesqg6aVI*R;*=0aIXQ1_ zY4uxrL~(m4Gwy(m&=P)}+Uwnix<>I4YYlrNsPoO*1!{kT#Eo9q}#_=w8T5QoUs7LOAz=l)rddTdc)n2Gof^m8zrdB>GZyC+2;hLwQ&yjEy{gdmI zreg(ZCrHSbCFyx251N!w`(&!LPD-NmA2r0%fS=nG9cYQPaN7 zn}~cp+BU7*74$nU5m_Ut$G_s@D9OJPQ|_#I4$w61CKSNTc3bmWzHE1orl8TVyNR`Z zwh9%M2QZz*MTh3MxF5}#43|uGfesQyb-DLd5@&n+U68Y9;*jT5VAg0j$kI5YI7 zqzdmwwd~o~$-rb1U%!pce8wkc6SK{4rI%BSbHaZvw(*K6wK!LLKiA@1Sy-AKVixC& zZqK<(^j$2@|BasbC}w_In#K7}UPHCojj7pI>ws8*Wj={{)LFloR=C~d01NdClUpq+ zTV|P;>!)L}V`_(N%k?KawH%=szg(xTeB5m=*H6|RbYFIqmg_Fnd1-tyQhwEHqkCoy z!>L6@>^ED;ZPa5NU;!T?DjcKsj=}=|YVSC_3;3s_s!xVG3-~KD7Dq8!s>R}F$rteF zCQtI@Wqbr`&oX{BMl*zEe3ft~m+{BUl;XwwT0ll3D0MMEEf@25l8C?aPGxEq$06(M zqij`DJYc?q0TG1eVBGLi|}iU_*&=Rm(Q53-b@`wFVGPD;$a91XX@vrbM1;uw)WRw~D) zbwqxJ6i355a}7i~8s3IV362K(WNP*pgWNv-nXfC9K=QL@Ot#5?&1uiemCDiZVTLcc zsA<0Ebu@egZJU<*3+Q*8qd_C7$I;;8D9ORhqqB)b{lBrHGNJqmzP^IiMaeF35gA)DF3#DpZ3-taf zM-=U^J_x=7cd=#03={l^Od3B1CBX@ULne4mU&B-L3{MgMDO4#t;S(JP1N$1bXNKMs zR^exW_F?-P5+&GX!05A+$*`+}(Ke=+Q*wgvpNnn0QcC$6lPEV+I?Db68?!Rl z5AY(t!IPA)$H6uu&pB(^HXp`Idmo^zvr%iojls5jY@b<|txnVX;W_qP{dTjx}#pBpW} zNEX1cluIuTIZJEQXu^fBCeWAXpttkWMOm_sB?7s}$8s1$7=n-GduWDKF`fJ-u)^!% z1xedf2ghyF!7<)G(v~aB*-|^0!ZxHT_7l+#aAn#a+A@Ab88n9L()8o(m1q?Xdxs65Jm2$wcd*ZjY;-_Po5U+#b(h_>zm7 zD~Y^rk89Dk>Gt?Om^Rk!p^?<%_Hc2O~CJ6$4trj<|!DjS`;+%LH{iG3E!f9&nD5MMB=N*UF8M%O}Ih>K5 zjK!r(D;76Po-SnV_tB(JysSL}vd4*a6^1(mC)T?NYcf&jXl-55c#t=XUk#W@$fSDE ziqeC2-L>`V)pueGUu_zPD2k0gdvCo(+}2J8nX-_wSJ1OD{4hZ?5`IturIer}!(!5O zjumu%AVTNT`?-EE51N$a{VA%nPRgibBthpJxdtLF=C7hsf~Sf;nVK_oJ)V-F^G{BD zUVc=bs_!y<$wf_zKCh?hF|=)3^zWzNaS1vaNj+B3LI-lgC=_}xjSFvw+n$2*@R3{kZ8hAZb%03gvGbQLizOyLS zA&R`!A}Z#s3Bi439y~C4FGmfZ;bD-M@HJ%e=1j+VUY_A8GCzkZWhe8}rQ_5yLvMTuS^twCAm&l#+GJ>m~}d% z+mnt%-^DupXX%O8>HM@b>-0^nO8WqvyH??Y*OC|NIs@mz_zWDoodMS9p^Q}94HjoA z4S>*GI8Z%QYU=clvEWdnCa+STE44)K%~(+H$al@zhJ2cm|4!q+rn2WQ^;7MBm9^`> z)?$=bn7;{9nFfiiA2O~me_c1yy?^;Laol0|u5a&L0unHKoy46}tbVwJoxKxN0M?E3 z)+W#wG;ZTu0N$nZAEByGWI5R&f5^q{Jf79kT^%zP>k~$yf7|f?UH|ZZdvN&Is7WTt zWu+jUfRFqh(DSnm`HJ&>Q^Sk-{}QOons{`Yzb9Yfk?bj7;?X*Pe|;n#2{4jXO$Jt5 ztEFHZtxlw`idf=@O|2dNG5Kx;-HNL4GGwLJHU6G_)RH~rqt+e%{`#Pn0AnC(t(J-^ zj#kIlJBm{DXw&JSe>6Ti&E%ugg1;vpon%k>==4+m{`#Pk0AnCJtx0VLVit(t$r#^u z(yYwzr3s~GCBQ0tkVw%hY*}1RWA#=|ej8 zJa|$b#)DL8ot#<;A)Wj;TEE*`W+Q)j9`|ULYV!-@>cjZ;(&xg7o19_QYM1I$ynP!d z1In+IM9;^z;$}{|pJ+WY?yF^-@wy(K>h^4-T)=Mc_G}dwUr&aWsdjLGLleYFk(aZS;-2$XixV~Xtg6*vIW%io$Rq@F5faO7#iC&Mi92yhEi?7b3B~6VOsDVz#<7{Wxghez)J zX(b;Xx&O_>kPv!iboaZR4OtZRa!s;{M0NmeEPhD}$q0usxBkUk)Sp|wU1h!&kx?Jq zOIM|_bSA+Ip<8d`LS)>|G)+0OByy>EtPs_XM#;YVw?-#(?|%|q6S>!AQzmT)uROi{oSs9ZTm}bzP@JwcN|7kRE1c?1 z$MjT6Q?vT^T!}Ib6{&)LK=l_E#$j+%! zcTiBoodEnUH~Xi?S3a4Gx#R@+7>_r00??;nPk=8wZ6=3bk)*4`bx4(4e|7Z%Lb29(s2wu3n4>Ph=ZS(D&IidlD5uIl@|a_%3Vq5oRZdL1p?vklc8kf}Z%mXEQE92%acj|brir4_ z)H6|BEG12pm~zF;3=z$W>~$~&+&jSK}lLmTC3Q+$5avP?M1$Xw!LQhbtr?N;5OiriZKT*~mwagCm8T z9^5rh8xbQ7)C_p*$Mc|zV;%cY!#9y>&Py&Jv<{gIa&GpyH_z}?D1Lz|W#@(ylv6z> z%mG64XH78nKE5t9R0Eg~qT@_r@l{MGuNY_2KbT%lk)CikWYVjXYov{-e%h%0XlB$B zpUUa~Yg8#a!LJoLN%|n0yAXcE)DB<)Y(CoO)_gwK_@(vmM@+0_`sd)no^xxyh_*8^ z;U6*(NqU#QnpOV*KRkJ z)~2UN%x*Uhb$E8W(RZ=i?Tqz!;@xiirzarOfI zF%CEAu137RiL>t(_oKk4yVjXg-E*Uip{Yi*A}>T{$>Qv;VI1ozGx;Xn)^{%^P->wVVl_Tw)!TQRPsS2OPx_-}C zu&Z2YO&vgv*a7r7RoNNnV!`@7dw^4J=j`rUUCW7^UrwDFNetPp>UxG#%MpU{C+$#I zE}xk+H&5ERRCjQU(e3-1B&TT_k24dh$Z5}eEjihWdA1%|+;+QSxC%!hhpX|IHR%*? z{sTfZ!cBM=HO48$C!>Y}O>+>$y)|)cNTyOCc``wAP68z1N%)WiOuy&bTzp`zQSQJu zuu0=~6X7=c$&(K$TF5G?mKS-Tc48OlgL^6O%EVJoQu8JZz2Btf*;V12&;j?2-soKB zV~9sNZ+EMtZ0gB2S3a|ZLk@QaMoOQ?yx?m6Q;0pj*@^|NNck&*#a7EkBFPfH0vTT6 zu$g7=cenT5wViGF5cMM5s7AUjPt3$2L;&;5e1ik1E!6U5Bfbu8`IdV&(^{6|&!B4l zY{ZwMmPjfk^&zqmvm=6LjmTC!)>xUi$EP%C2I8`^@Ixpk&vkkkJwl}+G#V4H?-2Ld5{w67sg6)joA-=yA0!jDQIl;vYHld1O92)4wHz_!YqYN0ge z)N}_Lv_h~e7DX1VVFg&)MVNGd0sw?b_j!6^gOi^UOuA4&4BN49v+jJA7#tKi>6U!L zdb+Xz!o4QOu^>F3Rh>jrPuiNvCRVqg+9>uOY`8TtwHT&6W|p*#?bf)NZL}qFisA+)qpaCX-ne3s1jhRgh#>DS|`>)!6{v)=i`uq(Kz{)nib7 z3(PdAK}CI&FeHQOC~_oQP>;yTk!nGm(`!MAtvs3Sqn!@F*!IyGhJ9oB$p&o+AW?!s}=hGXd{;1oJN&ZO=IikW0nMczC(7BuPyCMjX1)La-{ ze8X|aVKtBc*j*HwzJ%^71%ebW@~5UTn>erb5;)@_PY>!wx-U9P28qTu>wnyVqJ1je zGkOsxyleJ(Mk~1(f3Z(yGCpAb$zL`W->nf4=Nj^!2lTV3>XXUN@i=ei;x^t4TNy-1MbL zCL~S$(?O6n||`h{O|J_#^j==d6;)& z^?I~z21&mIR*39G;t{qCM?!%pYd>N5;Wa|tfg&sRIo9%?enu)gN!d&o{;tvQHmBd) z`sw%P92gFFqHvBKn*?m%82&S3r2CzbR{9yK=J%dFG?(3Jngx&C|B$;&G^X5znP#QO)t{MX74(@yk<;W|kv_`AVSF4yVS4 zFsUowq%lL7Kcze9-gA^Zh9Lj2qL}Z~qlt6>Wr<=&_z2%ijrB$`Pcj&X&3TAt>zys7 ze?0}HOtH*ZsFvR27Jd}K+p#Dzcw{Uy0;Di47!=Dqx~$2by`PkH zObusl>kVf*p@|t4>{pzWInep%5(wqvvW$i9m=WmA)}5{Hrn!;5jI0ww#`4IYX0Ep*HBA1y@=;Ta5NnOG!tal^cY}I;tZe6 z7q%B{gG)%LF-LzLRY)UQNnU5(T52BTgJ0E}B#L;(e$&z}Je8V;(}w=ZYFts`*|9LY z4P5jatQ<=XR+62gFS>b}GeeauKp`DMTXkD|u|$-6F7T>ARCC`Kvb?yrwb-a-zro7Q zUK(c%R*vaLx<7IBOb?ChqY|&YUgIFnVDZK)uSQj$m{dVK?17~{f}i| zKVz|1H=cN9#Ax9jf^oUxm1p$M!sL);1Z0mjwH`qCYfZ5UC$jBdMo5++OMwSg1EYkJ zqZqP$lk8u~HQRJB$x0emI@=bh(mF}bp&eSi+#$;k=Nh_n<^M7&C4?;Llc{Ir@}K&PDF^1Yi1%PK%j1 z^E!qwx#%Es@Mg4~Ny=$7^-K>JOG(osrraRG#%R(E(h4Sq3s?G7+L%I+o~h(*QiUwv zoneB?kR_QVDXVZ5vV5JG%fD`%MlLjTG5nbEuAA`=>DT09U};5lsZxp+WrQp*P6=6> zISyd9ti>aS$yx)<@yam9@Ps~yI!~vcTme|NhjX9o4FmcTBi5fb7>Va-3 zF-INs;|`j3sQ>-%0$?%$Y_)i z&j_?0AKith*RPLGMLel*(pMDmJeDL3y9w7z+NQ=om*YT;`y?>RXJ{EPLpu=T71WD} zhh{$q!k!TiI)K`uEni&p#|A3QaABuf*09%l=wK)%tTx&x${=@`(p5{~7_HTw&PMY5S;f9=$A7%Sckqpo~2$uz^hp*!fl zcrXK6O|9I=Whg2PE8*-1dPx0RUlCHm?^9zv)>rrRUUn2psrQ2x7Hp2K9Ty@iUQ%R? z(#OKruQ`_E7>$zve4-&10o7xOeFaDy)DWY-l_7Qva4OqhUz41cYJV+d{@Esnqinlt z(EPKV)OvsUXS*E0Y}u91&bpka-{0XJ*P&{DJ8J`K2|J4zuaEq*V}(bFJ$%YQnN@pH zPMTF?^yr#Z^PGgH6VR}k4yT*b1?0&a>k5r}Z6P?^XdVNHyiaR!)^IH))G4`5hg~$0}>(eLff&^IDPI|p}s-Nesk!y zq~_2m1s)~RU7TXP=>#v!nWunNX!f|!x|g^LST;G-l)9IC>7G$pzgRai=plpyTUZ+H zY|t$CIUsM*h={Yxym@tRL{*>ock=39&&8KAukOSBkL8#98H>HZGbN51x;zIY;~k>l#p~npUl{XW&8G-Tz9V1rk^}A zA?isCV{%c`^OrZd?kQ;7Ogs4&SRpb^iAUslAOca@lk2wiGg8^fAjx%C_tWn)a$q>z zgu(+P*X6>nFS+jSenzVKy(fFfW%s1)p_p<@mR#rdm8_}6N&{Qd!M{FbP8=wdsR zAAiYpKb4E_QqH}UIUF?YJr9IF<&twz9!Wyd$lIJ2lSLPiLrS?fGla=SO(~am4!#3z zXOeOnO+C}Y#ZuDrh$%NnTAW@k4tgGl3s?G7x<7>=JyXfsq)M*)_Y4zMW@V9ClHy%Z z$#s7v=JK$T>mJF)z%se+n^Y;qiZYVx_9P|OCHg#Kj|3UCnTWv#Z3(`Nf6jw9PSSfc z1CvR1Ap8!Q9dah=Jz=vgDU*d2%?-&Gr&6WtY!M097<)58-d>y;t^tH-Op;!rDRVvm zO3}hh{imjvQ%QP+#$43*OCy=2_m_|xrtb4oRGz${)_9t#F-dxCBzltc=(~uJJ`V#E z5mJ8YiIB46Do>K03LF4D9bmGNk(#78O)zni-i(HhpL(DhN|K(A-QHO5KX$9?4kLD} z+FFj-?ft;8$%5Hpx36$&IgA@0yQQvtbI6R{-m5z}YOz~Ig<-{R->!!g=OfILITs-% zd>b|9iQPuPJF#2+L2F))-M&8sxJ;>ZvG6UugD(64fKQCwMnLuW;tr!;zrHw?L`Qu? z-EtD$(Ta>{n#v&8f+Xfqjop4h0-^k2mOU}>*&%;Ut@jtZ{R;;$TXyA(-F^dY`78~a zD=qWqZ&5XW?Dli0B^+eLc#oslt;?gt9zJD2bBdD5zK?Q}t^b%F-PmnADRx_Lw0-g0 zXAL8MdvrS2k~=(M3otSguAqN_7&X;wj&{86M>U4)a)Ck8rHkRJPSaz!s-zAkS}|M& ztU`097_QUgP-D0kdFh@phWj+#$We>oIye#rSGe3U++7+GarT)vhI=`x`qY35WXiKq zwsY~NjN#tZ|5$GCXDs#t&y+Z7=rV>Iaa*{JU|jYXuFGq-h9<{}+Ob<|{b&{r!+ZgV9a}8a_Hr|Cw z2{ByyWGZIM2JSP4`*EjDKY3(y<2M+_Pnf&t-$r6VIjZ zB4YXj3{1px`Kc#j%1*32@mv*50C+m+WFsRrp1Wq7f^IE6@qS!>>Va-J@!T8h)poU1 zySjmUv)WZ8wB*=}>((74p6j-?9P!-qfnk#cv&C~aIJF$cjgRM2SH3x9#&gfp9duta z*k0VKAnueRZrYyQp7JhLh85p^x*lSj|1e8@H$qalhZ>8C@Ad*O3*&`5JCj@! z+h^xGt#(kIo3B;oD)lyBb-BJYKVMrY;-r&GZFId1?2QG7XRA}Qg>to7nPR<<@73ul z@5`+OTzI^*d0%V3GKH68hZ;vJwf(_d2|IO<=u7T?X-NQnIk z6ZS{KcS$0siD}OnGcqG7c+5&OgPr<~4R01W9}V2|lw55Yg@!M3w)eUv$GJ(zDpa6C zH@x8(vu+f;WJ~x0*6ZR2DyNvdNA_gg?V#=$@2-@X5E5Me()`F)#~*l^F=K%GVcp0v zja)lky^^I3qs@-j)Bgo1~~@BFB_fT)R>5~Fuf7#KSNcY`cq+A8KM4K#^N%n z8<8mdD#18VR5!n2*gZR*d6PHjMgaF1i=V&%`ZX3qR`t9=cjb0%FG`%SiS|2$o}}Qe z;o94AXGLhbs;emJ#7?^5S!yv-s`PWJ(W$q!66?3R=C|-nzz=ou1o|gWYEk&x%m6&t zQ)Oiz4{wp{M6%WV41y6g4^SAaTKKjQCZjk zagSp3SP+wMz1*Q8yi7yLPdyM0#TjyzJ2m7I`g()y)a=*la)vx;{_er%h zeG;875okU7^m^3mSDz~93-wLQ6>`2Di+s!4?j}j&RPW1joLKu#35;3>+WwjChJVJH zWcsI&%(v1Cn{|P>G}QLsyq|gz_P@KrN^B=`DDiClfCH#4^78q3egSRyYz>=zt>D#1 zP&L1g=dGwEd_2UV1DsfU%rZ6ckx#iOH_#uVoOA=dogQ5`&}QLPna07Wl_OJ?d2-LN z%ZKdSQnjZ2K;)+B)GFGN&0kSV-tdbA$w>Hl36Po#Hj6oy9&b9hF>W-ro##|j2BH!I zFc7usuq$Rd!S-(efG}hKmY&#*<);KAF%%Hf8oys(NpSNucQq>&U##pbJ*kC47Bw7S zNOWz1Pz4^7tUDoED3(j@(pXTdl%`wNdn&uPY#zgUW^TST)jm*%0BY@~Lm)%H_b1!XB+ix<5z5IRoj(~81=!@Or^D{HC3Ho z*d(dE>0p`A+8bY^LgTW~xGbbtf!$04n{elO(UZl5i^dJU$MPqY4>u17N^SC8z( zOXw`w(=BFC$8XuJx}rzBuS5R6_PTv_&un$(=NrxTf!189*?vK%(XO->A0T(k%_a!8 z@-m^#K(jM?rFb0aPO*xqF*^@Mj!QlJ0JDF=OKElV5RSE9$_v9m+ z?8zn@+4X90C-M(_WHw|0pjGSakFD_$evDRU~UcGfuQdNv8A7xUFW9r%75K@qG z=VJs>k2CMzv8))>nMZw-+kl*T%eyvVH{JK;$|%)Mx4Ab-iq}Va=`$tQK2u`pARJ^F za;NTdIMnvdjhenWYpE66pY4!)1vM=eH0!*;I@aTZ4oJ3a&F6)CIok5s`ZnKLUbsb6 z&F_Uff?C20N312ha4DlFZkGvIM}Y;20elO2njLiZ#d}arI@Ru>N7t#g;b3_qEztvV ztG%F8ojMrQE4a6y)!taIRA*)<@w(P%9PG?%cUqn*TCRq_LcQZEC<%n}b=X{Dt_|b} zj>i0s#ndbAnyt11_TL2a&BmcBTt2v#0cmLE$`SmHAbKfiA>@wW`oWFmDiY0F@KBa& z!F&T>TLsQ63#L$IvZ9mOnx*+_8P`A%j)TrT$KfRbKnOvA7ByL_FBG^TO^0I#poq$! z5LEtnUMhzlqZ;Skd;(Y`!hZN6<63DrQy`VX)Xi0e+e^*TTm{FlwUmxGUujs`IrI5E zfU5m7e?*nmNvF`THmdI(!_tyGCPA^(Y?c-d)T#&Jo@~vQ=HXDSkIjva1{*g9cOg%s z9&kCqR>T{c*@8LB`-z>|O3mRlv{iskf^$okpis5RFi8jm{+Mj`5u&tp<79tJ4c~5iB>xupO?}Y5}B3 zr-ro4dSS9L(`m`yEdr_{hCmmjzzy3_KvhLvijqlyYqC?VwF`%J|tC#k*S{7>J>MQ^!l^>0uqVb>~sG8Yt<9+n*YmU0B zp0XWR)Ex@n*-yW>qta5Ln1JmY#Vf`XhVf+cQrOQxvmv;jx2nAy$ zIaL`Cf@><%CD?yEgDsn5jkPGaCJnaeg=Qo+(tkVGe3wSs$62yrF869c`ec$K)o44} zM3@r5_DdV$uQ)v)RN1kNopyk+;dqcEx|0-Snn=b7jOW$BT5&QzmY=9 ze4=viIZ*3XJUJ*%HX1cYRNgopkaQnopN+d@rDb$$wppzo6FmfBe1SL^c~ydjqY-5x61nl82A8G)w{H;h-Xs24j#Do5twt-@uc({Mxq zj3%$UvD*?}tno;YC$77lIJ=bR&RfkqEYx>khL}P)S?&?>q)^|AN(n1*`ee43D%7K6 zO)#^>4;#XpofiENN+Es&LzrB25Fvgm+Rh}z1)6dQ@u_}>Dtj545O4Pb#0!=X--q(y zJ5GqZT$v=qW6J&8|5W*+XJPk$EDE3mU5-dsf}2vNLOvzfeX-8P@o7KSZmeUVj7qh` zr3J)Dgojx;lG{*vmWGt7s=$?|8qH>h*B^$O;RKo3C4-R-Bz27OM)M8pmtV>yO{9K# zAEOYHw0F@!pN6Yne#dDsS!o!HgikPp$wddzFTabnGwBzBrX2d^>-`K>_A)g6^7s7! z@i$9|@9*ZrcbtB4xiU$=#FQ&Z{j!8JSkK7rGIR!+>5ej8X1+Uxyg6m&Us}m;KDjAY z4Re)pl|snT;U=y5T2;tPcgaBZeWg@}jm}GlxoTO2gR`y}um&jD)_*W8>)#r+TC00g z{?5O`mZr%9&9MH@L!|`kpFRy&I$!3r=!Z~R|JxbDt932m?3Z7G{bt=4tm~>^cRHdW9 zs+<%>J}c@`u0aZoPP>KFEb$tJCvm7rId(Cj)0*W{LjTsR%L|F0&Lx=SLSm7rkNMua zkf2YwR8_8&kqnO0JVu3pJW8?e3`vKxVmk{48 zu-h&Nf5({#u0%*O6JpBUJVZGkWm$BG+AP#(59DjRC*sV+*~Nzz^-(Qn?W8w5CoFX% z65@f7Q>@n!s4Su{1`SM+nk>mk=v_#qV_?F8rBb^^%}1|dYJ?Y|B@O>c5`L&g4fP55 z5jDoJUNIzC&*;^^QBU2tubD>xts9L1KcaSd1h))n1UC=SScpLE4z<}-oSiPIuB;V} zxHalc1R7)Sz>u(a?QrZOEnT}qYA^<4>BjQwQUr95vFvS9UGni484_sZO%9aOowA)m zUGnjn46S|;DZfC3%4AoY9cI^J<4R|;S)DQk-^$x~-?UVG@|UJd_!eTAk?^N;@y#1W zr3e6(V1FSTD4~*Bd+(C@Yf(-QAF>Oxna;ClRwp@(9Nb!}S1N~L$sa;6xh}%Vx6)yO z!ImqoxMI9;7wm7bWT*wOy-Q@IQ-GQcb0acd3MQ*{&M`*_8+VA5re?`bKRnxLRgjxb z8!DQWd8Ccwj9yw&1f?U@*2Yq;I#UNAwnJ<@xR$C@Epd(^9nxEnbwp}9xzfaPL~hHF z=}eO)T0Y=Rf2?J&bU^CTY^B;n*rL%a1HN{pAeJpW1OkD^Gt;c#3zbD5v?)ep&r^rN zJa)fVr#e`L1&3&*B9cshL2zYtIjwIGRWv zGaVr5q62m(rV^87s#2?A@-@KMNb0E73X>J2eN;FrgP9szEb5BAy6+eUh>zU=HW$c8 z?tlAGz>KK$>w-%Er(Y^vl0>B+knG`%7`d@ZWVV!fKN~0zU|!ci5#+|W+o?DsrY=ZV zD5~`aye7>`yVI-_)f#leGtRj|Y7A{bsn&xQQDY7qFxQ!bOQQvOh>bGB2O;)n!C`SD zcG-|%pq(vnYeJ5(hH>;6hj#s_~`qn zn!1!w#c^-agbhrldI5(+)p3$M7^4lQl93qJCY&})3`=RVH(<}7wR_Orj#-eoTP$sC zW@;ddi#Bgzd)6E=6=jSeBbQu+#9CS}b$^6L6w&{Sg8rZHm;T#r`uBSX+QsaNbk8yr zu2w|ca8bY{XfnFkJva6!v~jBLoQD>fap~uwMMp4&C&Ri^re63Mp+#)#j@uab&t9x$ zJZAl$bR){#e1^GsC;WSSPv80<@~*Nso`BssycwI$!tS0VebtN|EC*=ozv|?25bnFO z>(njzUm}HZZ0w-ycO&G4&dlL`7ZXAe(5V5Rdi)PAS}y-cj0UV(KzTD#h= zRSsZ#Ac83n%;s|NbeFu!0ez}X_6SkzS2)Y*#qR?(#t^b>a4| zxlNOLCt6-D!NGj|kg@+2pk~^{ePSC4(`w)+-bFvOpy%Ok%QakiH|A!lq{Rjn{NZN} z*t$=wmw79$wd+~{p_k0z)zk*YP>e}1#td97+i<|WAv3sUtR?66+^F+R4(V$hm;in6 zzFfCZ{HSC1)E;o!Pv%H-%;9rTE&E1UwYj(N5o4>Y%~{z-+_Sy4vmB%44YvIbwP&Mh z#*w-kO&?sAk!IdK>W%_z+_S~gEt6T4JsqO#DvZ}OV`eYFd9D}X&wBhB-M>iAN$Ex; z0h7s%sD%)9uu&p3trO{0RH9XR6}^K|hYBnEC=!1#&Fq>*G4v}rNcTDA=8^J0sPt0o38s-vBWtiCM6`fEfz zVOU4SY?1PHNnk}WTM}k8uD_xiQFib3Cc}iE$M-&s>(iuhtuf^o*jIr`zbLy;HL!1F z8*~_(&y@ZjVvCwC;rD1fBjKYOt72(olg8wK!U>(IB>je0qw+sQI9U=S=fqur(YOJ` z3!FNgW(8H!VD=a}_O?}K+{n0jBGn}Wtv5FUV%4syQOWk$IhjE|V$A%!2B0M`Y zU=D$=1A)&#Wpk2wL_eY3m8cH;hzOD<4R!EC%|U+JO3|+vP6-lQfV(Bj*8}{nU-VNEA^LBnCl>wuv^1jsg1Me6_hOtVPl}iMI3{D&ZSBPp(e$~%a}Ezm zNR~&hm{)Jfyl^d|3hg!gJRux?dUEt-$_*x`L8V1t2L>mx>6f`*nI^ zsmo7GBz1AqeXK~eEbRoTTOUB`BC8@s>Z-RSb=?D{9+Om5WU)19MydOcx)CLHacgkY zQuufHKA_aCyHfWyu;6!Ozo}C9T-%)H;DX3w(D6TC5iKUd!fuwYYv`Y>Hl=Cs-VUf& z%F2LxN#yHO@&Kpg>p4_O&+km~b&RUyk*`}a1GYT!bv!dXj(oiXRNR2dCX;*QE8*4^ zTYmXU9h@zpOY20+SH)FoBHL2Z?M_;?Y63-+$HcX37Q?3lkQDh!MTC5<&=bp7ep(v& zx*oX$NchMgV@G1e@Hp4+U(VuIU;=;*4m&`2FA+`nF=QDnJJ`f{5q(b-92v#!J-QJk zZl7l|N!Y>nKE>_H%E;yMIfm|C;L5|Y?^Ka{1&Lghz^ppF z@}G~&cSK`e5|v-g1DsO%(^P3NmA^nup~*UFEx@Aa(AZ5FS^?RrziiTg5rL*i`vH z4jFJ5I5A~xkIIiUJEZq zdm%1nwv(z5+sEcE#Kg>=o*A$~OoQw(vt60taeTUEQ1Nn9HhJD7@d>xCAa!`ek@(cX zg%Y~7PNc+FT&3iREw|n7q)%5(CQ$w)>W=5JU9%Y8iZ3ZXT`D3Zev6)1;`7teNc_!? z04k0qiGN&6HQOj-@5e>)&RwUWL^W`f#p`Xz8UL)>SpxMzR{8Ab)r;0Scf)*yU-MQgp<#U;XytQRV+=e?GZ ztleHk+>|IFGitX7bR$O}{o#4W-k$DwKFqSFDcV<~ujD2~Sirgy-S`00LH@F_`|}zx zam!WCS?;-`TwbL8PE_?t6z78Qw{dYB@)gY(sO3vCzMD>d_s9E(_M?MCyOLR7Qous= zig|uZAkRA>f4P5r`Z7-U# z7$^P0c>#p2GE8NYfuBw`rBWQBR?7lvVEVT`xV6vl$sF&jSc$4I$FdUbN&cREM3X&P zL=!h6tF=PR^~e|b`|E>j0*rykcABF;;wV>$$|&NQuWb75@sE-+Q!M6$Q5H(6wlg37 zZt?fzqo3@_rXO9?pvEVzD7Qy;x4*wW=qJF)Nx$^s>wsgJo{{1W-%1kWJlG%M5?^oK zJv-irS+uVnCZfwLuOldh7L0}$z7$ZWuRpt|+D74GXzzgye}dRbCU6Qw@NLvDmr^u! z3A*8GKC@-EaTw9<`T}3{i*qXGOH~};D34FTE_56=ssq`1s%Rz)UqcKw628jIXQo(I z3!0ZPd3jV1%F5Q69B&sR;J~|HN(=ZWCW=S4j2+oJIx%67MIO5_F>z!IK9!rL!}Y>+ zvoRM;OtdPsX}qJOJn(s|`W(p5Y!XdOh>K47+{?nmggWzqdJB$hg)KW8?AjePCyZ^l z=O%+0Y4)zK6tMSJ2Yc2n-QAOn@v6DLT4EsTgN@&xcN(%?I}RDbU&3x{**otHJu4QQ zQ5W5W0;wZdB`BhRKmN#;s8NRdBLl&GvPtTw<*xlc70NY=OB9?Z64ONOF{Gav2-20z zfKijUeULbEF%>q#AedG`cKng8Q6mi3{~ZV}i77D~qLvi~<@;19*G^2xiKGCHT|_)O z7_8Zd{Us&wc4=) zb^02*9!j2zg%hz9w@aBQ3CBl`7zgAC0~lv$$y1IdCZtJB!n8Tl!PV#O@t}Ao?x~ur z)EbB7QXWg2)13Yyl=XfB%p(p8Z5fzpZeHj#kxBYdzbyScbJGu7My|hXAn1ZL!WigH zFPn;Q=p0RFH5n2XKQ|3DuCo)kNLv`)q!KY>$UI3_Cry$U^POyT)=#-KPdBTveLzOY z`R&6EvF` zI1J;A=|-bX2#7xq<3vJ}Vz(8pkx+Nqi>7z?glc)qBAeZ&tnIGEsT1}~YpwqS8>Oj>?1 z{B`4y3uq?t)`lN5-gOJNmzux+`_QM@o}YA zK$e}HY~eQySd`aOxW%uw$ca~s9(VJlaifSX;pp1w zY8_|6QpHMn26|N-&q#;Qw#0g1j_yo_2%zT5l_{LyM;lpV=e{SB@B^UJoTJH8glHh= z{J${`z@)u%o<5oFrOx@4Oa?XOVEUiy}rro9=Mmgh8K_y>Q#+>ot*8p|)w6X9E zw4G_j3q;vMF7-Z$Vn4%`J@w`d*quK$Wi}`}q?WTObVWZP?^r?#U73$UVC5c}>~eCF zOpYmcFUjPiB~J_^_~^m`P2l3jUi&_AV!{=EktgVM_fs@3779O}i{+$8FoH*#ag+sc zcJ~Cx+^Bi+GZp%k6BBTlstMB*qJ6;-;k$AWeV}J*cc5ls@R6?9|AiHWUtZ_X>#v)a zdfmAwYRj(O^SgFe>(H6i_QH7KxwBR5bGsE6mp2Z#4pxKtjdg?s=nz{R4L@GErZQcE zHV+Wk9WPuJa4j59&4=U8Bdo9h>ly{2|IIs_rh^7FI<(bcHohBEQ=Mj;nbfU7l&$f+*8%-* zKSPzhq^a7>*8zRGA0WQ4g!ukyK77Y1PnR!~lxIx2dye94j%4N0gaV@0#Y?)VeQgRu zJKVQkFI*=CD5->My^I6RaX3B0+`vgTfC!$=L}&rCfd~a*8o=x`<#qaaa2>FR zllXbDIafLe7Y;5_08(jSRIVV_^J;}hfN3WWPUfH11?9q@z=i9yP_9n%VZ6A90hg1| zI?>W#>efN60e3RBZmS%oz2UT6g{L;yGQI0n&8&zr}OzG#CB&8Yk6(%NvWNX2!fb0lW!DBT{OhhYRG!08d+*j;a4#G$PS4=Mt zi47mka`gyX{Nv6nu$@?$5;%U(X(HK%Ad^TstEgW#i8kh9X#+_)E2fS$V?xNE4m8>q z9>u9>;O?k`kxGe7T=$)U=-^2k^3RBjT=K(#pgT8NJ{m;yl^PC?pKy(>BJ<5`#&N*_ zSiVSwEhCOE90YyL9CRnn>3pt<=>`UTBbHlKf3Geq1jTQkLxh%3Wizs!t{snnZoLZ8e9 zYHGI0i9~fJ2*nQ@!rymV^y_o!7<`x^OfEWzWAG2rb|%N5KvNFK;5Yjjs_Z4rF__tH z@@PLm{KFFB`+NED4Yusb9C5i4Wn#1Wddfv^lMx83;Yg#236@6_6H6eGI0HgTB{P=; zoe6O`49O%rv80oBJX|*%Bt>>mcUUb#(Vc#+Bb{7JQ&L9Bqm}$Sf`v_kbDTz!r3{Ho z={lgE*>!N|5>Pz?u)8G9r(!N8^JZ)yjIEaZY>ZOBN`(v-cVrSo$wA2q@#zD>dh-yc znK9m>Hk*pG6l&fv5Qa{3%o<~qJ)dGA&Ak4&2$hvM$CC08l!!h`CSe7@#*&u!N$UhE zHT301%ZpR7+z21U7?Rc+4K(00&ASO}jf1*lwIH~}*G%|Uz~HPj!ne~q?;_(8NsKIu zjQ6889|%2*3@=NBCyMO`@63?*Ca+thT_q`iij%BH!Y&t0-wLz(j!L`Jq_cKK7MlKT zo4Oy;#K>Zd%j;)HEM%IKO zfs~BOOr<$qpu7o{LXuFHv&lKVBof3VC0Vs1v!21(SKW{5^>&F?T9jQO*La7KAW|r9 zL?U5O#s9(X-NELdQbQ_Wb6<7imi^czAKbw^<J4I32lSBV#q z;9;%)>0G!!2YrC2Kcy>K*{cr*kKF&zv4P%bl-&o88Jg3Uy$E%J*KMcYDX=jWV?gdLB%tA(H}3B+AX( zvhf;`r6#3R?|L1J(p93oL%|C(Lpp$4L-(D@wGjX$Ue1WUGd5=FV~P(5V_h3z#IC;6 zsh&)jL56E|pJT-7b6_1~CK+ZjU*sGhX38}OyuGXY57dbanoa3kqc`m|%-@x_(Y|n{ z4&^URgK(PgKN6NRlYxfxMs$EmJ)PftDcB^ksb6`!n}SNpei9qyrr?gPG66SYwOWV=JW-UGF`5L8+Sz?9n1j&w!^afzPe@qF2sMtapXaAqbkXsbE{ z7NO*6E;k*$H@W<`vNi94Vvib%02H|9p6UU2$^ z=8rli1M7;h9)8%Avw`ev@I)NCYAuYc@DqeQ09I3S#T^kfSO%?gD*MqTg*^4hY;b-$ zBBK7fSxSR$?szg2{aRE$ok8=D!b9}rzQQ@Ue8W2aqJ;_jfAxx;xJ|85fS0x10_>03 z1CzDJ)Il>L>B{FHsTP}~!S3Ms)6LS<3wK>J7F@F@*cfaLrUUwM$DZJlVEV_m?z)4X z?|WhNsD6sfy>Yl%nqPcC9ajBJ;wO!m z>utnD((%8AX-(Q>5|}th8l+j7$Kn9T@!^11I*)~x2I9Qb$x8ch1!*{>Y}7)mMOJ=E zZR$oY4g4UeMW>@;yFSEIwbd@wrz+U;&x?`Pd;=Q*(Il1-P*~J@!3g4sGg;*MsS^{^ zpb@*6i?vFuqMj83_Bsb)?I|%u^ zmktre%v;J{K;q{R(Tyt$dK8iG0EGiiW&hlj5{P~ zoN0v<<;s=$ija)5J1HH>!(pd6j2CDCniWo+wX?iyI?t9mL9o@C;H zg78kB+?g@5BLa#Q&L0nim8*h5Lr9z?9*Px3OY?kSQl#DCKGL_nmA<> zM|4i>Q(mCd+m#ZIKbbaEJumferWYUe0^`SS5NaBR1;_8Cf4_ooPV*pM#l@Ohh2p+# z`w!4jD;&qe8DLvS#|jh=K)A0-K|$zyI}%6-d6s6_qT%Hl%FxNyyow|fpir!g&p`Wc zx7&q{P{-P}+?uUUw?`wp;L|@EXpH#0`=c@<@cyYcI4f3Xs)Kj*RNoe%fT#MCoVvEn zb7|64hZwjbex?&JrqOfPQm}0_i0;y~p8>0wIU1|mBY+sIV_vN8NWv-!(9PM8(OWELkeOxf^K6;Bw!20hCU5!(kJtzAj}^|pZR2F4jH{2D4eaNeqcll`x{=a= zFee09P{UHE4sX`^V+EXq$Q~|8-PXZ{v0&@w&6~#xv+eeLYv-m-rRI_9q47p@W>aah zwFyg|Chh~6-L!f0maW^iZ4(abBAl1fxo2#o#7Xut#kA*4`)4JREzT^xl}e9YEd~V9?U+dL-?R z(#-)!Xr1{Xm}V7wwRt_kt-aLLtTKkQ91d?l8I8@ia)tq)+#<3JFfX53r8Di|aXwUP zR>{>&CQhk7gWMtCZwt$yI?HXa>W(f#B8O>T5e&M zj?b2wXuUjMDR+3*QkkpfZyFyT-@aul{@$_u7CCXl+e~;7YgRMXjXJ-a#%?%klW9hQ z4mo3Af=bqmeao?n5Iw2qdSS%0&QCU;;i-f(CVREF<0ax25(0}3K@B0Wg@iyZZc=QM zt>z>5zXyDXzrlym_*pc(-GM5Z%_7n8GsI<5G|;GWh=yq(LNKWz8a{`xt|1yIqe6;? z@b~GHPbg4>DMI1FJ82*JSa5ZtUT@T}o*-dx=fUdaWC`No)}GY~tL_=(C>?>T5eF5E zv_za-fUO4*4OfwV4k{bxkrdZv<$Y-_36nn`QF!9Vk|kpH?v$^~A#njs^UpdoGp2c}@)lg8*dc3iTi1Wt z=|9Va{wlGIoX`Y+jtPAbLlzuoOz4ZzhB2YZzpN(o)990LLQ{h&6Z)|mN{0`^IWZO> z(HB>GU>1|u-&(#dxL!=#JLEb)xU8(muB{LrBMzatnNT{w(MOT8{(O7`Fz{W$pF~_#UooKt#7MA|j zG}{5Ifo-?mcE?qBj&Iw(1Gd9um){U?J8V~svcg@Y{R@zs+je-A32(@aNB^gxS&OIN z?HM^_(z3IdSh4iWWQOSbWY2IOU-N~;>hU+)ENzI@6dNdJKBHmVY?$u*iwTj!uA*)hREx^;u^zcf8YBkoYXLko~+Sb>*GmkeizzG_~LRaw6lNpc7Rij1pAy8ak z%V41sY!)KlsA8cXVpZ~?i5LgVoWntzTW}^k<*upV!cN7r!)h)X{Hz%K zbe_SRRK3R_0!F^JdkXHL#5S*XPjchllMp%Dvu96G#r~*fn=mks6%kM|U!d2V2FLSz zTwWcoN{Y(>xlj}NdAm_#T&Bt4dNjJhHngIv5mXuC0aCZ zvYtBx#&q}ga@r~J7^KBTkc?7ds0`D#U}+^9A_?@9*3`U}FNT%#kdl1p_DrxN+1hQ+ zGNJ&Zny5MwNGGrrCSK5~G#3s`;^;JnenQMpaui=VK(mpKAFLV7$(K13IXD17Du}SHKE6yu^CgcxtqC<>a{v^#eJ02TOH;7VO5H!;BF9VY=1OwyGz@NJqzB; z7_^Zc{sdm;n*gs&vG~HD#tEpv>&tOOqFBX+Z>7icu$R{+Oi|pFxJqR8*+)@^y9!8z z{~CGLchl1+0B5*IKRq2!eCFh5xQmhSo*n2y`P%6ow!MmwU^%jUo_gP6arS9=xB!2Q z3Ey1}d#{O=^CDdNv!Cv65b}7uTCZ1{b$HE!;#3X$F*zVM4`*7bHopM5+^mc)cAqMh zjC?ch)?J)kbsGc>aoux)5(d(6iqC%52C_K&dG(^Z&TXqWb+Ak-gO*jN| z(`;j|GTE#g-c+kjZkk^}%4L1q_!XPr^ni~OIseGDXeo+SdqnQ<+XF_z6!7B_?c%lFE2JdH3+G^1rQ{g6?Q*4@tn3%SNAn?57QLc`K#l-psdMDj_y1#?Q-+-RLbau=$0R};@K%vZqCqNBK*j1MCj zWbuLUGsI(;qn5a!oVYFg9Ko870D|~ED0;LRlX$|XduaBM|6v;CX3t|@-bs(p;sY2N z+ooo#wQ>{N7mD@_?y(?b8ew|@)<#;{an-70b|`>n*9ke}Gds?4#h1}2n+uW2acN|7 zh+N0^LLRGQjjH5KhL=e6YG^YV9uGRToCy$bcu-e9;+uxYi*yIw!^1W_EVHtQ1q=$X zrnhX5H4)8)?1^63TKZ=+`~z4X5fZ|8Pfs-&%{M2WhRYhX6 zxiw$IzM?ddV2Y26QbY|rW@vH%*>QG{?2s)kkKp(-$q4xb$NzI`WfC0JRaU|AHQmAR zO|TTfA<^F}HC9H1q4l5mWy_0y*I*AIFQT!B|3>XO^5TnlHw1Z+#CJ+qh^|>!d|8gF zZ(*StfUt-eQC4AbE^gTn!eWG;SXl7W(g=&~OyC3M>Rc{?F`7wWP_qLFjdSCLhG=zp z1jlyJAit|)ms2Z~;GnLu3XaXXgYJ=Kwm3Au#JW3-ufpb78@;iG$dBnE3?M`zJcPGX zdyWvf1n-6*M0|Xx1c~UL1<6J^vc3h0Y5;;HW>i@PNef^ILDHrt79{-S6(o_P!S#k3 zW|3O513>L%vMWlnNUjsD1*ve~{)C3^B^o+@>VZzUZ{_l&Uz=!DiW2Nqm`?NDo)<6M zR8>cy<#F7e??9pawg(8L-E>d*GI(#_3Vi1mY437sWfE!BRaTMqCfz}|HEfYaNgXQa z>v(S?s`i>fYod>G0i|Eqvh1T8_5oyBgn;lP)E>iQxo)2zUAGat#5iyh3Khc*@O&!g zTK8nLDdn2BU)n?bWA6~Xp4`u%Dr6zf5Q+LM_t3EItytfa zqQ60a7?VqJkundGeAf4C@CPutA{>M-ruLlW7-I4GE_&j{BR};l&v-5l>ayNgEg#7vH_lIy8)(j1rsWYC zXSyPTn_C`f@o`E2eA41!r&cCuL0x5)79Z6ebYHN%(t>f{D=2W71xPGR6MnX>kFRTZ z2M`a@pu<0<_8jr>t9UmA@es>xN-~IkSu*^Z98%wsK{Wu$5Hp;tlHmscLr8}Iq$idP z{N$Ak(JH{>R#FBv0MsjByJD(aY3;2Fx&l2hbo|r<-B8?07fDHx=2AL0US4s&M^YYO zw=wLA=5d1vNQl9G835-Q!#yg#s|!I?bG4H#^Ki_ml}S2MS6QWFpgTB9M6;6)PZZP? z!cqLNrQ=l^-T|azH0bad)E>*|W5!?gT<;LQ{;E4sHHW{d;_u1luaZ4Mjz*rbRDV^= z-(Mg8DglNqX+8d`XEA=9NtEobish4~_E()`NUCICRRmg(uj*V3vTx-c`KsPRxRSoA zqae@Oa9Af9Cf;y}&Okb+H@{LGA)Yyl^1ZSrWxU$Xs56W#O0!`*SMtNuh7et=L@CEV z{C}KIY(~uISo$E^>eI3G2~^GRSo%5C5{@O}4B=Q(!vvqmyvOh<_$Xa7gj1g$BJLt@ zj#1_3sWy9aY}}Z0nmUt7PKrO!h!*6wFi17KzDa}O%^2UJCpNqIDZ%WL&7Dy7S9ud`VE!tgmaOOcMh?G8P=%y#)tF%(r%L z9t-AoV~3mC&v^g=ic0gqBwa_a8<)(E1&13rsj}JHy+sBXZG&N@gg{I?`O7vLzAt%7 zO>LXAGVV_J|8yfq3%~YWh|Bs!A}>6P_Qr`7VmWGu+2l*w4s*m2V^6qEOwxFSdJU9Q zP}L{3RKQ5am)3G|8`=}VJ8~3OTyVufwW!9E%>kqR1ALKyAZrBhGJj7#i%RxnSyZ0G z1F!Y>)Q2r40II>v7CG<9NtF4j*k^laDq(>+i`&8`+aho8*K1 ze#PHYAG8qw3`CnJCn>==f;};=u%co7M|;Zsfgc4vvOb)TtY7u_$s+3sFbmW` z`Pm-VU-^6MgR}yOfk?YnTQPC8TrIzVsMWfSlAyFD_G9B0Df#L*!uB(NenvPBzWwWS>9;TaQoRQJAko@CiHv)RH~{ zIecEG|FblXW0&b>I!W=z=x_)=M?xOy!siIkjWam2B02*`oCFWsGkXO+Rl?hdrAESA zyqskkHfkOEJsO7C4R@ogj1heZ*Vd`zGqJU{82)<9yN?;~x`o?IO&pqmv+A_fW4_YB z@RT4FCk7sdsjYV#Y?*YZ1#VHJhb{1GVZwT>gwR0@_%c z;q)lJ&48|R9>>j%8#e}5(WP-HNPEo1Aux130I$a6IsV}{41j1AA$=n~>xmcU8vobP zD#&{nmH6b0;XO6L;Zz*hAIe?iu1E#Sxccm;j0baZ}tP;M^MSP0yQZSz8i(( zb_(-W;$BL89K~}`g4Wif4$58LrHxF%Blkb#k|w6yQ@m4Bqps^OC#RMkenl7 zI|Zr4g!1Ol7jRMQg4iA@^wxtx5$E{Q1!8wrAX0EX_&)sJKNjF@4BV5LdNb#m2H4$%?LpINVxiTyFEXAQktEJ zN=r3|)}rl9b4Vb`mS!gsh1F=q4|}*z?Ps{Mr}sjn+J=DL`5MKm3V`T^4aDYtfY`W% zINv$|&chF{fj$=ewPK&cT{rYI(v0X%VeGyAbp7llMDpE(AoB=2{SJm1eq<7SW7 z7PxPKUQ%a{66<>A=oj|Pd38TPyb_g`N?N@ZZRe0yaT=c}VM_EQjUQ94b96MIrb+iG z0RX+_Vk6x~`3@^pzkbVMqkIYu?Vwo4^#zp~oS%l<-T2OH$3(e<4UeESk7GfORB?Ja zOci&rd!<+p!w?Z>3a({4RH}6<1)RJ%)4@6tx7>=`+a^)F5lnZQ((b`cbHy!}0Fcpu z?voW404u*B**#<$H7hvz{9ufk6Kl$(_~}2LYXVAh=2JWYW6c@*WHNuMIrD@bj4PQD z^F=c%n>v5y^yOy-Y3lqb!=7ApkmbVvMcbK#hd`ihZFq(CKld|K*~`#`^@%@b(>582 zWco^cuRx`x64tBGb`E^U32T>MlZ16lxwjwNvOv$3?lBH1gujd3bm9NWlxduAfx7o; zNPC+Pic;cl*|mFq7bPp;3OTw^LK!c-NPX^X6}O7xcDaL%!>xnWV18pA*VmA6#+{tw zxFs7>p2RfHR^8Z`-iV8<8nq5id1MvP(s>a<5!a#AXL0>SseZnGJ33z2sv79DaMgKm zZD*=hEmxo!lpYu_D9BXFxe`=U#7;YoQ z^&52YC*4wB3Z6qc>e^-#E3WEv(7*+tK*wP|(YrA<)oI45m+*IA8Z8#wIODEd@K6KxOSi0KdMbS)f9ZL_I^=ez%}g@wR)#UT=pZ`e4z!&~rU^vl&>^$^3|01$ zrbAA(r;I|m``X6+LO%cHf`UQ2V25#1f?2Yk&59`Mpb#?fBvs14W=&WvB3|?wZ%~o*N zSF1tFe*rgnAc7l|8+7P&3E%1Haq_Xt#qLJcS%CtC_%;^cm_M>6W-GOMGKT123IIix zkQ$m=z`6@&y84{T%{Ac1Z&s#o(z%F0##tQQ_*59_u#EqxIh|GhH*$$VX_kDIDIRN< z(5GBxNzB4lf*gGjn-uNjiJh3 z(#(}eLrTO)FKm22xgQ|TLZziz@}7&fbKpBpWxD*Dq%vd5eN!%Ze`Mv2rhfNFeyDF) zdmPjb{=@p)C3U(6{8EZc$)^FkZnSXkzg98$~N!jdCa%h0D>S|%l&R&m`b{s- z>{d(TC!w;!A94Z@U1Qw+bXKy^GEx9Nr9vyK*HaLb zP57!u%2MxP?=XvD2jGVf;xFqMPEr;)z>M(p+i1XRJDuD{{H#?gwM&z=$|7H`R7Jgy z>yA|h<+;9Q!nXp3?#WWxm&)Zzc`xlZAxOKZ-N{NZ%i3UkB0Or z-S9+_cUaF5^!$t{N(rSYfQG*&ir&pd)3ab#3;R!}!0O*N7aV`5LR{RQemA31=D+?o zQ7|R{HR9^MuR0!UX6do#G%%IB%06ENP?6Glm$CSSQ(lBm-PLDnya0RQNHB~0@LIE_ zdEAKCnXgqYDT>_KvC%PFoWlJcl_!AX@dLLaG!M>5n{R=6Gn;j)~jVS0KTEx7G+yF`w;~v z7otUWQ4Mgq+HAD}VBwm|JXY1*BDzCFz%p`nlDTw{PkhxQ1(XOlh%L`iRZ?i_}VosuWLvA0h$*cYhZSS7DSP{N1d~A<|GL)9cQu>g@}# z#4aDl9#RTPaPG0Vc#sp45%*}dVZmWYRW=kWGh`Pc1yIo*sd4l!qCVecN2X(?grJSW zGhdQMna^d25rk7z9EGn%6r%()WF-*uNnO~AsR`P91MuyJ4do3Rg5m~dRcio(c{k+c z-ie7L6B7}C1``tw4^K=;+D=TA&5{LO61+Sy@p$0o@o|Hfc9Q81OT7>T#Ksd7f{~r! z`q)__05zzM0l6A2WMS+H^GZr)?THEMUGX0-xczNU2x( zp52v z7ZkWpPLdqXC@#x2ic6`qF^VmtoT#2di$>jdH|LdMbVDj3&_t1S97lI0i#dgZo?Rz5 zIhB)_sbqS|d&o4&PBO%&F%0W!G zze+{#E*16w6tL`|^_`>5_U z%PLyxGq-Oj9<2y8cA{6Q(5C2y&khO3b+iOaTyjQ;>82D+9nV^A?god=fx{wk*K8r&ks4*|4F?P6z2DvD^;IZxT5k zk{u@#6Kva(>x3Kz6BAW96fk?q_0^vPMYdR{<^+pGD)8Np3$PjLV$T8-2v;n>q8hOv z^Z3*5vX?r^97BYa3(R$>l)S*Cuh!~m2lzlUz(Z}O z_@Hnxp%h#_Y;*TO@a!3Eq8eivw53!$K(GkMYJ`kc;za}nQ)q4=jI0=snhXDWHM? zuo1;!a)phO2S8)}polQ3^H+3)2j^{uZ^B(!T0X70_DE?CffpTIieBg`6#fzsdnEkD zTr__pxg_%T-Bnm=71i zA&v{dZd4hcn`u_d`!?^qbS&7q^YZ=tm2)k32cmotg{BVdJ2KuZ9jerd2s16H$Nl1D zOxW(n4nUd)Jn23f!{y;m0F~BtXzGB$Ha^4>U@Mear0bu4mppHVZ3z{|l0lnJlNJbN zxusGE(eS&~skJ#^q=e?c?dY+Fe<1kn(|P#KlnC36VY|#WM_g4dBXhP2mLc94XS=w# zZyy3+n{hbCzOCapNp6dk`^svrCUe?*SWq%6u7~HeJ5bTQ>2pj|!qIcjT%|=HN0*zv3sYi#yQqQzl>IRFY zS`~x^%PRFR=q483uZQVUw+Cc*6kQJ@oYKD-6o2fD9w!f{x?No9@@s?@sr7 z&3mtBrdb4n#_gdYHY!Tg#0?j|Xcje!5kX0WL`_hGMx&C%Xv7$oU;HG0|9CUx@cRDCws$4=Zkg57|iFR-x7*YQL?c3r~`0G?gfKu@mg8dzRzJJ&U=GQ-aS zH#eN;xw%0}QFCA7aMNsG;-Ep5cb~&9^*~ysW*id>vLAFVpY&>>!22I=kc~9wo;3PZ5La{t z>7?7+ycwb?v1D6=^xh2d8mMY|O{zm7f&=_!h*wf^{bq>6YcvMq9t-vof+O%*XN>o> z4(+?zhjsx;3CFsAlZE>%{s&qI`4bFdp*LAP>hH;S1UT zI0l>np_`XTerowPi=X&M<2$JRM{!j8wZA7Hm3U7YmEaBwu2eI(Sse2spX;BrKp_S| zTNLWZvHIuvN9Lo}*-#bYbfGe}*58wlTD&KnTI?PiRBfva)pm)$rxvKi0BDO^CuGgP zP5m9C6%!0;yw%mm4*zi1Lq4ZQkCM!{Gbzd6>XiHg|9IDXDA|On5tMv~zb79hc~2T87m(*F#>ju^WBahb z#};VG0Ewh!esO-+Me6e=cc7h_mAfuZaZD}T*IuMxGN&^gU$PIt?!dJdk0WQXt1vkx z=-P`4H@?7h_b537Ftvu`kd^%y&6QU`3PJ(*mGhetaHke*VG<45Z>3jQ_?;5@wYD$1;HC?y_RzQI-~8YFvY%Y-KB)57#!*H5dc^GQ)&OhbdB= zz706ghR(?0*PE30j_#?#iez|f*Qi_GB4XZ_QmimG~_A{kne&@5Y4k4 zAdjEa_Hs{LRd2!&G*s@(&}n$K(Yil{fS>t!7D4MSsvZ*%dpX8A(6)L^z&``OSTDz5 zD2q5I;DT0$%6rK>Cg2#2;e=5!-s+ftUMt{S8G-p^0~C(93}Y)4Zyob+sS9Ve>>UWh ztqe5~^DJp-Ty!pe>bRb41%Mh<@&!0lE|10afi`fRjBQA@&ww$HxU-d!T0|+CJ_&NA z_$>kEohNT=y%U`Kn9X7Ls)mCy)+PH!LF&1TE`^0ng3_whio@ke+NqtIHRkyb6vijv@U=a) zYH@f7uZRMJM|;^Rh>IJjxesF)x?f$KvYHu<`x}F7ZhL@(g@jEoeJP-7=I#7`mUeGF0A6o}mjka(6z=i&Q$g(T9A&F?~2x z^2td%m_7p9j=;1{MVY+mQc;$2m!OJjQ!-Pn)rreZ|aRfH; zx>W~mG}_D6fdTTk&1f@79b%gqv$su87YEbEG@cT)#yeii{WRI!{hc zs(a`F#5&mL;mI+uw79krcy=;BS{c_nX65MQ=S9(s8`$SUCC3U0eu^@%IY%cKjrRPK z$paWKC-~e&+cBa;&~}g!Wk`xJqEoF5mG{yyBl@~lfOz!`;=37#Z<`S{dD3M>Gv(6l zl6%vmlV?=C#nQ>F^(S4{$f@|=-G8p;3FGSCWrd#cqj!&YvGJ>PYn z&ravj!XdnP=M79(Ur?Kb`|%**W4H=0a59Ve?l{FA$Ip}}gqIF6lp_Yz2t(XAs{j_M@n`lKaC-%YVo?EvcSlpZ}E=Yp=%yp_ya87d}zRDs$8dl9ws{$7Vk`7 zGc8)YGdVFrEZ&_t(wLb-dsmvp{X>Tbr1|iJ&z2T*bU(2uBS{`LcT-w>a%%HNXT zX|8&OBu0omymW;27wGbbxU|o$ZU=@i03li!PSMxkcwc zVHrH#OaNJyX=9c2UK{2%C=H6sc~~w#Hl-$*+io$D-H0V`?KX@>%a-x+q(_!6 zl^s#Y3rH-TvCIEeDAI*gvqj*$iT8$AhIq3rBw7z+8>y6N$ncE;Lvd0h} zI1$>_`qRL?qBF!*2HB|=HJGDubbAMJw17BQ86tnt9)!~!gm5QOamJ)ds-Wf!cVxk+ zS9McB^#y=PpFu)v!1XpN!Vc^0MZ#~Invh4LY40TRNPj;NMRl&f{|YOG>+h5C)-vr7 zY`Vsb^huv31qZyv`B)<5a02xof&S|3KQH8NTgdt2xw1ko9tQZoh6R$qd^MX_`@rpkyc?APt zc?7mHtFl2sCmishhI1-tihRkDObXv0OAY}E}WZv>1KR%gN zXD0{ZDq3l{FFiw7J;G`SoS}=S>8|RBGjicL=2dW#)hgHzuxgz=Yx1{ZERyxeFkJv- zHw}L7p_PK)q+YsujiwsTe?BZ=PQhL=Sg(Ymx`krEwNc3Kr6o~*u5Nv^5Z0(Vatz7U zjC-$);a*jI*6HG-vhMX;;Lr)=UVhT|c(H-dkCpcfPE64_U`2IetieuOu0mc_ot^1j ztdnKzQ&|tn4PqVsa>wQY6MPgljMHf0)U+`1y_EybBO_c^-)Fzx1(< z%bxQaaT7T^zp(mWbIFm{1T>%+GQ@qj0tl;86A9!)EY9EQo6LH};4r8P z^OI02o#5}uMpyKLOscCB!R?u+xRGe@jj~Tb_eX^ z$#nS(r|KbXeC+$~_;5LIvN7^j@gs*ouUo)PSvJp+Qd- zT5OD5@OtLGPQt%7`teI7-=g#>g4vWYNp@HvKSiDL4`;`KDB=6eN!W)DcJM9RqC#Nr6OEMhZ+k zxun2St{a?u9 z*l5#F5iTn)AQ;_6+mV%*K-)pG!VsmKP46i{)mDbed+At)?QN|9amx(i`}gAT4UC!5 zO(tKubd#mrndT`#x`3tv)yyjiTF7i)pU}+PJ&~r3nWFmMD6;UWOxhp!+1aTJ-5#x? z49Hu|HX7|d>yvly&T6RiaD)@GAJeYMUHU}Si1|4ajuG2VNJxvClXd&Nr#rbYhsz@! zqF>U1M&uG1dp>Qak%XOM)CK!KA-Z0!$y*`$%p-e>(TcuR=gSj}y3`Yl*sjf(6O6j> z1S2?H9M8L;M!|OB=u&^KQmrhnl=c=~K3(47M&F9!25zdpP6V@>D*V)GQ}t7$O}G6) zPT{8N#{{FhXgj9r=g@YLsbYwVFjZZ6oeNZUu-_q0&sb(LK<11io#i z%H&Izsj`$Co(;8;D(U9z^aqB<9IJke(J^q0kI6Gvu7J#^QgLXsP#Pg}q1ijTQE`J(@9lpioL$Z>lyH2JMWoG<}Fg_DEykrXi(bFdR)(*|{KW;az%+QDd zS*cDrT19T!5sBC3ct!o&AFhzHyJEhT>F{Ovw~$mjYYXK@XPDy733 zP}^6+wV?J++7m+G;@vSGHrIqlW2JCSc#KeCY(E78WeIPC3u+Y9Aw4G;(l+KYCI~@p zb^##EAvkS9>d7xB7y~gJ#Tb6u{1IkF#WJd-U1s0Kk(VDVjzem5T`aVvFC;aRZAb|? zMFjuE?!L%?aP`SriuF}5fjtyMFw5unP0=M|jvRu$a6nMx;I-e?t2Y;9Tk9>iFPrX`~3g$1Zr^$8(-3{d*OZf_H5=l@$y%uo{?yAimbUb*A1JIB4d@xFuuv9_;Nqc&EpP1CZK4D{7{efmlDt9$MB_YLnt4#F`q)bLbxp7qT?;{dhK zt6A^hk(CYt`)vVEWbI_~P(=&i+HF}m$m_u|W`#1wz5u6tOMP%!2^?TbP4z43?pP|p zQv4hEIcY9D=EKW8_Z|8=YUL%$4dA=wLGGSlM&0Wg7Ss4m)Fit@vEo3 z|BgK+!hXk|hY)*8j+e~mf0M9lP(35L30kb9TY$h0BneP*5Vgoi3Eb(n5phn!A2=>qVCISvn-Ufp8 zOtEvt%}`@{la}b6laBvAe{U@$dov((EgDN9h~aKo$vJJAx{V>{nv-AqN3-7CT!6EB zeg*sg#!=~*qHi9R_^8Bt(x~J~$M5#{)B=SV0Bup|_>5+?QEQP>N-9?Movv8d`bX-c z-b$zn6S7blyTspeDg=$td zRh*Eu>FyiXQwYr%Uvd{f+<^@h2au`wh6;uR%4?tIN(T7NzoFt;&TS7cIb=H&vKjaV z%l?Tod<~_c)uz83#4heIxKK|r3fMK#G#c=)?eo<$?3HrMEgKHh;Yx|I?MzS$T1Mh# zY@{IGDE}s6W1`?~d=x;znctc4p(vE`VC{WaNy3b(trI&F&WAK>kvv`S=Ua>AD0TCJ zH@EtcsA2LXoQI&2W7h$GQUjHi;Ip2Sa;!cwp^eSglF4Yk`3<8NKR@%doPQ#y-9^<< zcI=*mZ$jH@{Q6e>ZQFAoQJ2YRG%@E&6S0(grY+lgP|+}s0w9oPYk30MoqQ$-jp&^5 zEb0fSsDBT^A(=&e;vSug-Asd{b4nqfI}ITn5e|7~Mrx8AyH% zVsJxesrKW9b1&C{A5Z~9u;oFv)X7Z&==UB?+=7ah%_PFrU#uAbc1b{6$(qDIW~DpHuV5!+Vb)1sz_ z?#iM*I)}?6O~UW8sMW2bIkA)bqqu>ast*vsK-#mLni@l#TsqBJ)ct@!g%zpWJ@-ZF#uzBdlvHnVSXrpxSS%B45yJgZG17EFG%x1A?%dn;rrJbBwa zs1V=>R|)V!Q3|q98kG6miO%)~n1n!PY*BpGYwZBpzB`m2EOEYFC?)r!1~E50Y_ zy)2UZF=b*3DxMC6`jqmn8Mr6t*kRq?xYa!(fiJEs!b&-dE6SdrcPV>0|^{;j7iLp7J6X;(l9ailih-gmVT&OgSr!VEC-wn&(a^ zkEqTAY#x$6zyKU6Rv_u0f~_8~siZMktI##S^+u^UjBpeo<652*)#}cnrBOKKJBQAa zl{8=O1ll>IVJX#6&Es*`kp2 zYlB$GX_|J?l&?bIC0Ut2fja9aeAJ=AQfwKQ}~i3s-X$tQ4;1js;bME(iBF$XRh*Dl-p?8vOkG z!4S6LcQ>iyAjkXnh-TpA*{+nqk2$jxsJT#JLb5nX?!883x29=lq_Xpf(dIM#t%Maf z#0t|R_e3$hw|8-gjL5u@eA(J&roTlRbSIAllL80EuL;S3aP_G$nN7X?O9D1C!Bo5` zb}@N2F?FIT$$ZJz*r2}>GicSn$E%0M;K9GwHZOeBo=_xr*ujA9L@|4sGjC-p(H^ zoo@UI+V}H2$}-~p7ExBJ1hPj@f<7=EncOWiLJvqijQ45zH8|fgBeEZ%rc4agEB3K` z56_kv%m-mxW_}64vn@09k!zN;JYA#4W1_K|3px*e$)o)qNbl_6;{D+dB~P zG1q6E?@ui0PMq%51a8AwEE{PaDg@GZ*lB3`0J7h~dDma+oO4O*!?~#a;k2~<=%uZL{33?Z z(5(@p{+@hWBY02R)`*<#NBjM~wXiLM0ij!@NQOJrrOdcoX*-f47u??HAFywa%j@F^ z`A7bqe1zmZX@opl)#^f1>o0XF`;fo?7D&s$iX?4*alYdvH3i8M1btR^y!3c2u6y%K z3M|ve=_r$<0Qe4Ue)&ge24>BpUjj#u;e)nL9L=c;6G;E&mnD~0$6@bn31igcddV|B zz?Pxw#g?x@RR@%moRxeB`|nQvg@ZBLW3x!AyyF;f`^O@zaVCx7pXC^oY5!ghFGS}} zNDJcr6Fj?w5v)E?7%LU`<6W?De8-KYTD1!=ofY0?VQ;NeY?NxS-VZT+)qcrQ&su*e z?*5D6?x|LBHxCe>;%*kU&Kx%4bMXu+i`AW9;qWBA!TIRO)|nH?4-=Pq&|Mzf8mK#D zLayiNjv5qCxi|$XIZ`h0Q%*2b&p$YVv9QqL;-};jnpLheTGhR46ZJghVmU$SE~*AZ zV>iaEhPKsM=r@4O){QX|Rhf-3CZ<65STEx+%caWImA8CS&cHGJ$hWc_PeuJ(S(d08 z!@6b5#(TQU%NG^&mpYAy0Th*U+=N5;IVbKW_yKjhuwl_0dwx*0;{7`ew+)q%u zi>jQNTn>dJwyWF(#e+CgqAtUkCgxn6X_m|9%$+#{kL1i7)2k|0UASf9!Y$%{3DSt> zdH55{)f4f%E-uhr6s5u#T-6KLxPW1tf@8zrIt#G5FDi~rmM*W=UjT!{Xg~^+YQ}<-O!3wjHbUqOfe{YhC;OpcR0=H-otUVI1y( zNi%xHW~Jk1XTyRdWWi25n_e>;oflUe5--`St4Ftf zQq*k^RC2hr_$f-=iqv85_=um9@yM-RZ?x)%k}KRb1f{!ZI|_Frv>l{y8LA=_?$%a@ z%6rLExJOorEsJA9)uu0WeD7)nh?hm+`|ke3Aj%E@i}l)yafr8RTa!gy+BQ=zO*WXC zGd&Vxn+79v(}Vy)If4OvQBq$YYYde zkseHE7MMTu)0yw~4l^K~`7UU{x6tBBXTDQ*EJ9?*`I?DMXXatI<2W&L7MUqC@ARCJ zWQ?)bzKe9`V*^Y)&-cR!QVyUAPiKCbigxUZgU2N?0>YXi;Pqv!loRk$0-aB?bY@D$ zWr0~1kA*u7Cg2lXbbwJ!OkWmx&ydA(HcB%%BE{Mi<{j@VP1Votf@Ei?N;%9JGaYK+ ziS#l}8C$?|lGks@H-I(yRL+}UV2C)HXsu~VNzHtK??OSv`~YYBIQ|+ zluKj7P^b*%_kSo6gz+$tW0p)@tnxEjOoLLWenO!NS zj1ga8)OXXYtr08zcVfigo@HkoFwXg?42=;!e^y4wdX5{LEz>-Vo-)~6Do(>w#h)u(Hj z<`;=f^P!xja%}-xT%IAX%4oM4$#lsdv%$VIX0Ym%s~a#S1`RT;Wti9W>oI2a>Wkc) zFO&k}MhG(nJnUwP`tZ1VtAstzu`j(`V&&i(mYxh12OCv#bm0~c_IJmQm2d?f`ybp0 zp*^o!y?WESbsJWh??rjIJpvv*4Tyrd4Xoa{Y3=IutDHSy1FP4pS+jEE+Jf3x2O(Iy ze$|F`8-PgA(o;tqXWMXg?qtWkkDh$}@3?QMBvPJ#$9*cBx}GKb zu5N?-q-rI5en03{(I;1;?by}JG$V3>G$Ny=p?xv~38vk9U=fw(@w?S@g55M9 z$Bd;qvmkxoXq}zkNa}_Kl?F@jDZ`BDXYn1YLnY?qzI=tx84bFfTQtJ_&>4h+ob5&G zz$Iat+G`8cUS~r!eghuk_eXqt)rj+gCy_bEg_Le-GTwRs-0N3e$&eJ>sFI4 zT(fD@>NOiylEzl;#K!gOHf~tEjn zal`uc>o%>Y_iI+K+qiP$I#R?N)~$y&Hf)j&sCHt_%9R^8u3WVS8(Y6-)4GjoR#9WB zomjJG{hE~<)~uBctXZ{b)7nj&I0OLedZy+#tXj2t?Z!20v9WdQ)@)i2Kk#|e$_*RW ztzW-JHV`7I>o#mywRY`#8p8UuFy{4}3W}Zh9ia|&LP^ObmHMsDsMNK2^AEoHNo2o* zGL|{Qx`OCq>rkG}PnccAHb4CwfM=VZ=*hMDiG|SH+5B`a-jxOm(G$f+xi|*5%RyAN zG|18b3lp{KM5)%8>Yr|&ZY?p0wVfNASmxak(>zAMEM7Dh@f>H? z41N5X{J3t%g-aWygAG{V7J&3#G*Gy3xKtn7RWI+|1t1NTHWy^6LhnTv?PLL7FkDB9 zN~w7wzBs0=$5BSVBYQl&AZ!gh>D=^8qn2S{o+=u7kE7oPosV7l*oWUpGx}91dz9>; zS?=_HFdK0>=_r-`XmvNxd`S!pv(OJ670V=~wv~v$-BsyulYVRu;Yh_LnGf&U&s5j> z3oJjSth4?o-TMeW6qu1_Q`Se%Lato`9JLhwI~V@zh5!0@PNNIKrCu}uQg0asR_tTh ztSL8^)TWXPyI_6#c>o5J`)ly&B78?r4!IAADGLCfUMsjg=~1G zuP#b;&VLeVLAvNBqgIeE!md;iGnrb|MOE2Bv$EoabvRjY#h%(!u~M5Hua~A)Tvi>L z#9PnnE4DLaZJSy#Tpg;f7#v(7(YFE($%=8L<>18BX8cZvAL0_9EX1r0E5xZt8&RJY zywhB4lobj(^Ik{nAIK5db<`1{@sfq`kH+r;2fqY;oZ=vPBQ};*lnXe-V75S0@?Sa_ z@5lk;R0QKR2N=mB_~3%%O!y{|beze$ge85eq`gd^zF%@aHY8BYe&_@G3-5ru+dV%5 zRYA{&ZZ>?#-_vto{HD!KHZz3rp0qt`ixj~Y1JvH>g`6X2*A^S-JI=c`1+NDdD4PrI7~aUN@$jJ-a|6Ct*3>D$Uc)1yHs;Je|A? zU~Ixl`3MO2bn<%W4K3r%@K@tn(^@47)N9qaj~I76nkCe}Q`(Xe(@ zb8;-U!F1ITtoyVxa*U5NI?6gv$2kBn=TF%YnAEOCXXUN{Qp1xd8u$_p9;UhROT10Q~I+2J2(=|Bkm!0#+jBsI3xjHmj8ZQqO#|q4(3Pl%N zP3ppA9YWEatl_{2KSgH^m9TsybA{*>YnDBT`MFqK+ln=?fUrHYE^w#5l6WC`d2S3+ zL=wd1SgD7*6j!4`d`vmpl56QS3G^&9$do5eyJ)uJFCaQ5P!Wll0?~H9G;@vk&M3h7 z=B}4OB?^{iH+SKuoXiA0Ie8wqf&#zvtRuE&wCCkEag{@r;ByyMbxiCA!v?giE`jUH zMyi+YL?S7({ldf%dW@6-W+-7xx#P1`m-uR0K7zcOt+?F|Ca>Mei*nG1gXHN)$ig|w zOyodb642^Lfd2txA-O`uv^;-YUmPCZwWm6XNAykYf^8JTWz?0H<9x_}FMzm@R)=9) zdA>2#pwEN$){NO^26#`*tIyYN9|2BKTkoSj*#!fJOHq_I%S}_0-H5FV;|s}hXENn z$dmtT#0>dbmN1~|$uGZn7*dWag-f`4xm0ME0`sVGua>mU@;rygT9UJp;{aSxjmP32 zC6=YjtIhj5WF(T%yNJUN&QA7D)ebvlOJi^)oU#H|>fr*C@04AYY87?mB*PTsvWd5l z!pbcXGRYp;*E~F28n*dws+QpsHuaTc57OluqsGg9xwTNq;mhGCmDjYHCUZ}9U#>f~ znqsI@Duj>cEu)X;8l!(NuM6MrDjJWwXgj{&wa~We`*q=Ox^)#Nnu_lyk(%-SOq{xW zKTEkY1x_98Bazq4D+zkUY(L*CT$O`Z#VbS^3iJwl0$Sx>p->&dEA)aa);xqdmm;mL zEwMF^Jpe<~vlNTp*`miZKGBj4J!KX>$oFe^(PI_*b-1l}*T`grw$tSMtLLSXM~k+p z(bXDi!&N=c(PW?2fz?qxJ~JSp3@l$H7n4f69}uppAYHBl-O~@qMw++HfqSYUXqtIl znrC{9Q3CvT-8r=tSf=`?mI9zyjJG;wKPQnA?WH~lRU^FA2Lg+8FEyoB@+pLIR=iZU z>_@W+ofvv>5_KGpX{TUj9Mty!*d1_C{}b`X9aM%1@}S;_NC|LIuZJbx!^lT1)FBL5 ztcj(zf>0~ML#>y`C&ws=I9PbWDD16+|HEl3Ba>rz#>!N6vM^eN9Km82S2AN$h5ay} z#{GYIa`j{b8-ijr9%?LHT-!^Fg4j?I%G4Xh$`ISpSD)NNL0lfW5=}y~$z`DNuHXs} zu04STXxK8?D2z|mVZ-1!>L`qpY>6!GkW!Mx0tZ3rctuFy?)wLc3KWXm5B;UOyERi0Ts;`^S~R)CZIW$ zLEZF6aQUv;ajX%0!CB1Omxf}YOF~bvdy%#Hm({-I)R~2q9jFsyRC4X0?znGa>chH8Zx4#G;o2s*ttDu@~ z$)48qlQ+X+JQWuiCoWim^w>wBFER=902{_~8h%qn&SDclxy?r$8Z{p^YPxx`oq@BS zYqe0F``^hzN1~Ou}DbP|tl~kqvNX zU~wL2O-Ye75yn}GvmR%%r#k~6g)b9eodkG05MccjB8&%E844)Sa{#ds5MXUC;n7u| zbICYJ1Xagzw}X(XfRd7Hk}qKY-O1l@FofpR<;@5IVaDj(N)(~)b1CX(K1TM<7zBx_ z*4MF859j#&7}-`%RCQ8CI%M!NrdILrvKK(anf+8!Kg6njmLH60nNS-dADi`Pc(Xr= z8Y}mXegu^q@iF|AGZ)gA_D@Mo78@!@fZ%ZFcgfdeM2@KF{d$>NM9AhrC7&Kty}a0T z&Lg31)ysPr5MzyyNn~asWF{_Mo}i`NvIy3Zh-}8x0!3o>>vh2>;_{!wIDXo2uMy=b z&};k}70r*JiK&ke2tF~A<0nSCIEs<@Oz0x46fXQr)AIMv~ygWQ=)Hrm;4rNJ=J4rrADx<4(DLrgdP#20Fe(7 zRZ5}cA%t;OW>?+m>?%tlXC_MuYG$JKAppGt6Rn>h?)XHDVS{E1_akCLCR&%$M5_Xs zB&1T5{6{_2ntw0fD0jqVm$*98mSn=@*EojmJ@* zCR6eqxV!faWuKm^ocQ3K>Z&(t?A)_k3Y8qwIQ*m<6U&m8K8;iMHJO9YU_+R-s5&~W zFErruiiMc&ZKCnIi?%b}y9nA=J=tFZ<6EbD66u-go{4jpw`(ca;=k`n`Zv zRSW5&8|c!$RW{PRc@A7!i5r_Mdj!Lm#gEm#Xilv91yqFisblWX<)EY8*FS}-5$@}U z0*iC^HKj)KL4 zZj*`tGOxgspml*kOftE4M1I3m=L#lL4?&7DM2<^ka9nGUmRyG<>#{md)_5b&xA z7#s=T_!n5Ihs$ZcZ+sKUR$Xy_WN9NF3nV_P{3!I?-oQmehumbb;KWz}gt&tI2zV7%*tQ2mcvnXeqvqoX()t*ub zHnHJx0a{{#^!Qq;>!Wr^*WJk%W6(m>ek`2Yh`tU}J2I>PshHsjs{a5hg;PB}U~w>& z*o-G8KZ(hE)<}YGI5G8BWCg>cI{XG*qqrHl4gG2dB*+5(iii$lu{ag@P1S}L?+q&2 zJc3hZWz^YBey2+%hnX?yVS@~y^zvC5vlWmyN@uK|iGq9^@-%Uco0ktrC>E za(ys46bte~tQ4+GR?!?q=J3NVZkVFsZtO}Gw@}-(1G;h@&SRN~8Yy4x7>7z7^7b-$ zEH!95h$YJegv-goud4cia!W%{oSNC7;^0J?J>?6)NDlfG0YILL5&&=SBF9C)6OaZ8k+rdpmH7yQnm{C@@mV^My3nwcp70LIB{rDEU#ElX0FGg4bb8*Rk+ zPh%ko4I*sT9^pS)EhnNE`b){F6tH;A;CEfU2FCaQMmEyCX%6E1DVDRj|8Ryi;K~x+ zS3hXMedPlx307Z6+LLm;(V_i+fvP?gXk?~*Bd|CR?WcrDzK$@?N@)LtEQh)?|5FGv zk^P4N;toXikE{WPd1Rj?B6uqt$Z1Ma#mU|-c z@f>RF`GcJf=l92;NK6~g!%96|HuJ;zaI*#|uWU45aA$T`I1@$joyGFSuYwZ87w_^z z_yOwhq9{~wUvM*2as=@4lgfRTDWD!KJ~cJKIs$|RbQh4UPu6g|(X*HDMfiRjjl^A4 zonyytVR#|5t$MY`;cwfigbbZJT5`hoW33F9_mhoG=w0WA?{8_P^BbX(&v>esPDY_{ zMEL$zDBdcjz2W=2TN!B}n%#WOqxbFtI^(~$6(IivD$Nu*-ro*6e8Kxqw=z;j4sZuE zVGR7D>MGZ~(o$}jP{ILXvaeJPZ?-; zYhNYM@&l|CZhiZ416N8Ty2(X7VkbQTT9}!L8Yw{|Dgixz6*F+6=hK9FKZ5v%FGNs> z=@}V}@2>0O*NPgSDB_Bp8hhz; zui>k_T_^BK|5SxMEuFuf*f8BJd$O-V%Q$U)d9X#qTWs`cW7di@(y-%*0>M zM@gzrl!oB8(EJ>0Wy!+`zw##9h`yej#q~?5N^do znmI2GsFNZ7PS1uZytq6z#!q)97aZgcGG=(5>f{6*30B@hB8qw~jl*43^-^P_s4sxFRWEfh{TwK7=VPuo${ zn_KC83M%in*={d-yg@sFX>OcCRK zal`=MD-+&C45})`HG#8~dse#&RART;c2i)LO$fbnCklV8&moO6-9y_HINdv&igqjz z`Y#57+zM0)fc!I73OA(#!fJ9Ki=_=8z`G*c$;xq+Qd-B=1H%3|1_MOcr-%f8O!0^) zVyeT0jf{vMGpS3UA8Z~G?ZQgo1XfM~5Two|C-VYFuPpc;-(*I{{aBQg2x;K8(E zglu30*`zZ8I&!5fY03CaRfHB_3J_pROWtVIbQ7?hF=x|~olcG%W+p8;Y>>HB-a0EI zwtx{w<&3d2ho5gEx`|`l6je+Fie!g1Nl=7*Dwr6Gf!L3g!u7`rnk}Rea%W1i&ULv>n8duOlE_o)vyo6%UkKa%C=pQ+pav7>uadOFrwr zItO(M>mxTsvA(x=5eyd*i>P3@2un%kwgkgz%Hs)!<98Mee;fwJg5mTuGr{nIq3ZZV zd91W+qE?#7kA~Zmk<~WZ2#24K9o%#c8#%75onhEU}_^A0<#|MqD_=>lLQ+~zWxh!@RoUIRDY zK`^)m_ZvdUcmhxBXq0L&ZGkr>ybrM0V0$guC5rWd!sNs-yh}4X>V@I*$jD^93{mA; zsotoSX-`0Xplb+Le)W>2gCL=GDmvLHkChu!>@LE+rAnzL%CZxnWtK4BlT#=|030t{ z1o_5-&{r3n{K2Sz7cpY?ae9wqVFZ*x8r%Nu9;8$f$yvY*V5oZVPgHPywlkA8=@~tf zSoU-db*s_!zzxi+V~``_>MO8P57#pJarIsb>olrxqhz@{UP6hW8#jl6c`L)E%FxuV zy|v=Rs8IUBv;i5ATrqdgCSF$=*Y-@lXtE9(WgPj*5G{&KI9OV7@(S8PNX#< zCOgakL6f$3K)=CSPLTcWSSg(B&(|kyFDQ?LeJf3XrMVHTMYg64X5K}uy$adiUoeJ!3<36J{E-uKCSz6BAf0)s=k)Wk;yBeuzQ6gGp+js z6c1v@KP4bs(>naBQW(lz+6fX!A?-|apkYl&y^}K%un*J7-RM^|Eb?rWfO&ftQ$t~H zqo#(!t&}2UnHmzWc&3KOXZPVN8?Cq|=>37=m~0=_I>G<(>T)mqy=cYUU{tngcZ#O_QVt&i8L6e0= zobJ~7tunn`eO+n1x?h>wf+~Q??MSUU?mCH5FmWqYC5I=MBY@y~b2x>T)tOwiw>U_+ z#472+8f-@NY&l48HE~q1zzH-W`9?PdeayA=DCd_#mrObDz$a49^yE;^99+~d*9&#R z^ouiy(_C1pz>Em4`ou`YBh9r6&xuU&0R7ybuA?a#t+uw@>iLdY&Ih$am#3Z2$Y^H; zO~kEzi56Hq$=(k;I?w)5GA^m+NzQn7t_@VpH^@eshYp_G)6D6Rk~?s8v!a<#caz_p z)0#q>QOx@Q@(w8Gw?Q*PF*9V4Vy1g<-I zABWM--ZrH?jy0H4ezzQ8kWv=-0HrKhCRQnb8oFdk`LFSblrlZJlrjUi9i_ZlQ6crv zO$NPrDw((BR>-%{okEtd<*DPWJW2%Fl<^5!ObQRf_DM1;DdHzMv)MT{P!WGcHqty) z@Y|jmP6w2H563nuYM5UvY@w#pJ5J%uDB&*x+#OKDzk+6j5@x6%CHxPZ;(1DVKvBY+ ziL)wrI}?9-!e(40$197i79o|l*~=e+DsR1Pq3g@w=~V!A z2bA;yL>phCXNVwOwgzz$vioa=(9+697a;+R=z3BRlUE^Z-N_vsM7#T8Fcn5G4h3l= z);4jsiv2zc zw*9I`5wKzIn`$?=NreOBqi20!_eTwkuPc23DmnIA;V0GfTk?bTZAG4Q_4&3FPYHc2 z4;g*yTGC);vES-5G!}PJb&V`?)i(JYw5_g@-HN|$`>iBGGr71XK3(f*mU3rG))AXR zb!L&sYvz>%HDR`|yI2NpY4z)UIfw;yDVCQ}Py$!K{xG0beixh24??qfK^E?$(AZLL z!O7Dr_9g!WF!=6b!|%+UJZeg~ll0_pC%I?VYH)Q0H-sX@lJ7~L^r1^@u@gfC!X55L~B!?R9M6QFX5l-Z) zz~bDAOlgp;L>OnqiF~FOa+O4I`j9D*86WaA0J;M{ck%r+5_i#d+{F(=+p4>`7k}H_MTyRgyJ%w5dUVtp-(duyjbaScCKjf{n;U4m% z{0*pFQO0BSa>8_(uO*j~Y%ry`8A;u`YZT?XGdJ;M~njAwW_z}x}P@HvPy?in&PkRLM- zF%sh$77Ki#C+iyW4{`-ac!nWWr069tM2NbR?Hn+nSas<$6gR~b=Ul!Bq1#e~&bVVZ z8iOO@7?!Y74;O`e$8d|)G32BszfkZ46f6xjbnmc*XyPqVgW}HN6jX9JhxjSVIdmRT z!+k^Ncge$KKK{_?*UP}dHGCtD!(Fr;*KiuzR$aqu@wd%2l*r7uh9)juuA!ye8D2J# zsB8MmfnqS*_Ig|tMcki*RK-a|;RtjR_XM=cokXD%gf8=fESyB4nWd~+oW%D73_d3j zzcVNC>-a=YB0bHFlel_ssS%w(Z_ftGw$z5R$YY7wHtk94Cu9o>kJ0u?@-B(}PXW=Y zy3u7h&};lJ*~qM?;@HNX^&De!)zbkbhus7SniU_6r{Y*fEp@Q6oA99LYQ*qRd*juhEH709tw=L|Zrv1~!8tfz+pvo>3iET5c<)a*`{;-8pookN4K3H1dIJD@)6u?1Xp6u6;yV+@Lf zv$hT^^>CTVch;`FIDji~e>`r3AF0;H3pe#r2Ffnvj^54e863G=gu=TfzQreRdu!U} zlegWYwkjE?*-22llPhD8OHRQRP{TLpRGb1NLZDNynu_Kp4n%HU-WxMK!8^lPDV%ra zqdp`Af^^Swn}JhT3ol zdGs*Tq}?ApK2uI;N6QyoK)wJtcH6~3Z}9W7k>+i)97D8>ynSad9Z&L4IJ8-D22WvY zwb=nVeZdsWj4${gfZYLK@V}rL;R`ZMkVEnir+2O|_-y72;*swzXHbe=0S?}Q^99h( zL-~4PUui1cEYp5NlI@fK525c)p5}uP3QnH~+2VJH0&f%kf05#UCLO}XH~Vyhfgxek zkH$(pTyF9m!i!D!E#(K*3xxT@O}+GqJA&+4bp$UDZwVa0v@LW1mDVJmG&=!WcT$K! zBANaksFC9$2-AbESSg%GT5)_#hGr|uIS8rsn2LW^e(_`+wR`IvXNO&cFK&p zeP=HnP4a(mV6)=v@x(lHI8IkD1v2C6y#;{ofUEa;Xhyht3=iaL+{0;|>*`(ZbM-hY zi@**G1N!{E4z-5Ne|P_3uyqziSU2IKPMgzCTH2LIh z_o|IPdD|alnw8qK*->D-lV8N(m)ydiLybVU5a|%;7<`9{cHAv|<}E%u}fR)18 zrxmwwSuk9kbqoI<&}?-J&jWyRs7lmdnqN-1g^0!|>ia!B9uE|HM<`5xCGHjq>mjLX zaSJyBxIVWKzcaV+<@iKyAwA8ETS)Q1%H;SiniInDya7k}xZ{CZLv6T*N<2_&(i0EV z%4zXH{fks_tuS_RI2}*&DjeFZxQNPZKp&9PNld}a zIEfViy8}+*z0izs5*a4QNu1#H&UF$8g_DTOdoZd!r5Y{`OHpGEBAzyi3&nCVIJTN( z>Ewe5S$A?D2T&-ld~a_qVtqQ9xxe?`6t^?!?|nK3L&D$tBv$I-GLi4^t;5r#8`VZ} zOrbpU7r$zxh)R}w| zm%nc74&W)xwBe;0CR@Vg4B%gYP)ou#8mUWNmk z74J+5;HkrL`erGR8Q<)30J;OdSsj`Yz8S*<`DV}Iw9fU-E|$KT(?WBGhTBRijbgb1 zX?uK)PIuQj(2`{O(0ReJ2H*Cu$v$_WuQB*mK%m4Gqc8#8e7&He;x1o~!(pg;rt1}fTd-|XR-;R(7v zh?T67ELLB~+J$n!%qh~1y7$DtjZoDm@y3aNYXgh-umb{9N+fF###wPG zPfQa4Q&Kn`$`r(mLwN>(+yRGj58{k($Yod{hw@BBNXUlViNHkYJ7Yj?=)0$?Bm5xstvI0Qkbz*0q-~Z_VTmX%lknZi@RtWzFYFA z(6$;@OYpaCFRw&sW-qUaPuE^vOS!Z1I7V`MGq)&c3$q8W*G7)!T{)-)y(%0{l$bzA z^A;+aKgS5%@b!IYPGwj(Cm^_=WJk~ZJ5~x8@QoPrm(nb>KU{tax2HnT-v}Y#Hb6uD zUl`qhRq;350HizlWelc>0segph=|k*>LbaK$XTuNk9)G)Zev<@mcqAB=EUk)VP zY}@NZ(d=e*4pJ4r57|7>?>m!~unP z9UWvcjgw$#gv3}z#xIDikNcjH?pjE^**X~A$=hPkMAUx^(aDca9vDG%c9{B+fss$d z3{P;uUt*Hg7n)Lpf{fn$vlJZ z4sg6e~1O4wEcA5jJWCO--{U?H}OY7B_DMo7%vkNITqRuVzC7Tgv&hQSCwi|?i3eV zrF^-IfKfDC%r}b9$U&206p>$|nA_XC2!;rsH!2t+W+9S&Ex`~{CZ1pjerLgutw>JF z8m6b235J}H6FZritFAnzi6`kH@vt4$k(a`oXd@J&oc<`_sXHSfixjYhm#e*#j7g%p z*I;Sg-Uh}&hGZkn8|NS&MPk?z1|dWd9*k@h<%1puNk5<(V83*ny+RH*It+3nRP`x2 zBMh=Xus9Ecq;yCo5yn{wgB+iRK?EV3QIHhCOcdnh0B{GQAn!qp@hAwx0Zr6*BRWE& zAaK_&9!gp-u%#Ti%UnxC;b9TE?JTa6WTxcL5UTFvBOExPQFR$KW}M&~_sp@B5k~J% zF*@_1kI%>&{gX>>d*EQlEd&~Pvl|nCxp^SdecFwSx5ci9Vvs_# z-Uu~(&VfQ}L|%t!9U1X>NzCvB&0mC-!fEcjpTZsRa8{9mN^Wl@7GM_{<4JVN=z4wQt9W%?ga-WG%$o)|x=l1@CL?$M?ko2 zC4N;Y3gyH_+Q9qe!@)2`~su12kh*X30qd8oc+)j*+MDh+ShTCJ1@ z3XSr3sXE!*hl?6U2pc(Jh47GF;T6-3e|YA*0^D^+9=hhUyG{kY88OgBA8mxSZTPE zVdfka-lL=>+h{o-zls5|A3B{L^^a-2IVJ?Yp8@{}gC>+tPxyQC(TVq@(P=&^FF7*$ zp^xl){{C8^76YR#Y8|aATN}X^@&aOH^0z*?U;78=BisMRk?ojQ>5h-CniC({cu#R; z>-P880@)ZCZIMmYd5TrE5%73Ld$OW}l$I|#QP=v1?j!0-s2ZU&FY))}BP#DHj;P!G z{k1?;21Z*%Jw|hBY_wdYln_+Z-s$u!`$y@cUn!1$2mC$x=*N4~=y&)^F*_;IV_U^X!}8z;rJoTzXX2NtL>^LZ~DVlX2XS=VBv9xgSGyq9EwvLgn9*AxNo z%Dfv*WR&+Z#raeM4uw8Aua~w8J-2$GFkY-o71Vf8p*~7!$9qZz2-8@TW>g1QX;`Rg z*JsH^6neid3Q>HSZ7WoAq}AXjl_m4jYQ(X{7=^-T9lpIrd-_yIjVR(Q_`lhC55okX zyQsPh7@Jm8hPKsZz%%i;Ev-f(DU()X;s{2*pz!2vZ!#AFEalD#Vit+QW>|SpC1zi4 zbAt*Nk5ITe2gyi}qZmD&OGOi}n5@RANGcSVv{EZphO6Tg7A>#@71%`AfDiTR*#1(@ zDipcFm3ILwDucSY1P8zw{$3gY(CHb4K7&E=liFUp4F8u#dw%#h!~Yq<=Ps%;d~!1s z4$s9%J`Tl$7+xYN!|*1KTnuk1cTNx^C=4G|9@y9HE1%)-$w6`?!|&r!rIhEl%EMpl zCGakW>v%uA>RjL+QZNRE0{2tU;W$u+E1mX~y7s|e5TMBkazctjqv)9MF07IwqgZ@b ziu^5+Ne1FaFlv>*-Aty)%MS=uR(ZisYJ2U<%QIfBx95kC%ge8GNZF3O%m;vihad z5=j{`G;!n-Lrb~dP%e>FZU$EY0Wo{b7mzhMsE!nnYm_K#DjLtjm1sQm0G6&NCSkv1 z4cxbebl5f*V38WuxxuKd9xPl|8Y#kb8eUpuMT_ZjDbe0Z%#nP&I*R|eeB41uv6?CT z)Jgfc*J#hp^hgPArtTs5+(p}wk9R=ZLGmGyl#ve;M=trWl-t-ct4OjpTW0h zf^N$pMx+F7CkZO_?WtDBC=77zL<9UexVdR$tO%YP9K}|H=`e~?p*TET<{w$Da%H4i z7@mXzYVgS_M*(s7uSD@Cmz^&YI;^sTpQ2=EJ|aQHE!Yo9W|Hn77%jR*LXn>D5rpod z?MTlLq3s~)k!Z?DkBKFh^jOMW+6i8f7;bi?Iglw6(tMfv`y3KQ%GAsFYDKVAaiN+h z)$kVFVr8hr^QKU+^vRc1xa4w(m_v!>5{X=5-zBfn1;WjfIAAVdJy6Nvyy2(L3fOw1 zML&exJgp%J-9_6Gu#M1mkbp@vWdzK`l1soW<*xDzSQOhxR%mvzRS-85?tF1OJ%?Z! zaq~8r%xBTP%LC?K{Ja^Au&dd&W^NS%@RzLBRaCTNJMC_cVsO6GZVD^qEC?u({&g3_ zK07+hVA~Wd8|5z+4Hp|lrdNPBTdbY3SBnh*C*2u?918xvE`XCb%@K(mrg`L!yAQ<- zPb>!Ahn2!WpQ&{|pAk zGTrHEW-{Hk)Qc6EGTaC|h)~Jw8kwvNq19shiSl#cS6feI@iy8SHZtBVX&nZ<(HB3Dz7KY0ttHs(B z^rHboB6JzC(GAshoWTsIs92hMRjfxc_ zY-6|!vs>Us@Cx1oA)S@&w4Pcol=c_LCc%M$4k55jK;V36qExAu8&k5+G`r7(BsGd#gtufR&-yfq*B%Hxo;?~<70eZM&v zF4g;vOe$)!o>fq`FyK`aG3IT^?VzR5}W zCn^v9P?BEatmF9*TFp)mbfNoWFeTia^RQA6*9?xlbj5{!zR!iWaC^A>JOeFDUTV%j zLVJXsPFfHx!WuhQIy*(?4qQq#cjR`!1cM!_?@}Ue~eG$Hq+D0 zxXl|<*OH$i7wR+*Tk&}C#a8TjG}&!b1YPl z(4qcHJfITck1Gpz@7lF%8FT}@Pb;v-WvkI*T5FVqAQn<**Td4ub zF}@41-?n3Xr);Eo^K3iDDh_S#@L(KX32A-$4LysECa6rZOg*5^S_IZdGw*fm-zO2r z+*#d)@g5-f9;oUw9LA}7@1o-RxQ>z>W*L$35yqmt(MR!M>!Wy}{ZX7C#5xrYPDG7D z$7sc<1dPdetB>o6*2nb~hVIZ~1Hb3*={dFo3i@!6ffQ&}U_idZI;3yO(fM5HmB=*8s>Jn3;ArLE`xm4#NV?B3{R7nL9J> zKf7ytslm1nmd7D)33t1rRN#$qm4Xapr`bs7KY8091=o?Xlk@|i;0*WTpQuHQxi%hz z&vQ7~tu9=2Z7bFwg$#0M>O#w?uOynt{9YJ?BjHhR!b&|{5*%~0_+xc0F|1snZ)B`m zWGCvN+kx9qA%|^L>_rv&6!L`NL=ie(f$LrE9`1|<JYz9{Wbz=7DHXf)X@j#tzIjDwm;y|5isHp!yowrJNDczvm zfP}a)ae4s=2>I)nJlZJkD-9O5!ePjpN#pVZ4$`gMBt9~gR5pG7s)G1m5wcJrcWr+WmJ_Q!X|(5ukBiyI2|jmGRm_sxp>V_jJ`X_gATg6j%7~eXBbS(2 z%Dw8);5o@d%|iqr5O@&p)Bv@q`KdJ5I%5s3&TzIG6rXNNw&-0;@Z@Sx#JRb#Z2g$QUR7Rdn zJh|lAQV!0ZQk*LrYe*6|^UH!1n0@3+!4G4lz}uwQ#(Gsit9(l%dbEMT&Gl3?KeQcm z8{9QftjIU9UWJu%+;1g&=xUlqUS6xgDJ^gt+?AD~>Nsv{-7{8#OW?-$lq+l|2Cji1 zKGPm>SRePbWl)ei*zccbCj2Lw&)t=FDI8e!mEsl z@#O@BOVseIs=A=umiCY@@z!obAfzUAUWp=ac1I4%QK55jLJo}*CvWfKt~fC)X-018; zGlkwS_g!xv-uvZPPhms(v9}xVP(a6qV^?Q6giux2Zk43oJ(u!W@S6h%7d;$;WWi-N|3@!HXG{uFH)DB$x!w&ONsdZB69*XiBb@QdZTKP#(`z zUr7wnEaVF@=n;#fk6@)9!D8rMXOBmSUmV@vpfz&5Yj$F4urge%)rwPe%IM|$OO>&y zUwH&K|`DABCs6$hmo(!Tt+au zi>mUM91DdbR#~rv;z9B!5tWfY6HhMrvy{tUX-P#Wzbx>y*+;$8#^x5{X-5U_H}dPUI8G>^7b6$AwzNQM}~^xesAw$5k)xA z!sYi@;u|i+BuVnO7Ug8;WgZLQ`W8{}J6lBg4}7Ai96ilURBq+u1RO3_Vq1{WH_ngF zookKGne8~Ebj@35VUayMzVrDwvzTzBvmd13(6s6B zKhUL5SD%54H@^ZVVIq8p;5E@Ag|X)WrNc=UBYI{f`f@TU{=p0#ox7V;C^J!*UjRKi z5QRAp1`j%pPSs?HplSWnoZ8kXjAAt}xD<}Dlt*epHezEGZ`Wuv;H=HzG=sc=sS9G3 zTiuhCh8k&%rL8t3rzdNXjNQpF9EMkYWUD+{qr-iVLL=LU$$s}ryk3x>vu_4;&4 zZ6~>~>#)PfOlJc078TVUyQ2|O%?|IUT~a6Pqu z=X7&nsnV#GOZ917TYaRdI!w*eY$kx5G(+uE*R;2w`KtERzU;At89IX#Q=5mYLv?@< z&TPd1BRhW{f<8mlS}8qVj+ItCJ3{rSTlps=$ZWKroGwML-*Ms6M(H5j+0qw zYkDslC|o#Pst-XH&|X{&8G;mIS**}|(M5nrY6sRcWG%z9oWRbMy%%9CzXy$4y5(@J z{9;!olc@w(mutsm2Zt8fo)*m8Tx<|r7~RZ!sfozu-YExWTR-Ycj)1j|WFh>c37kO9 zFF}!|s7adG7+EMaqeC(fc+;xT=zzRE2ar<{kkcH1B#YpK3zl0lNoQ^uKdM$5X%uUF zOO5H~dAq=Anj9ZqP8i1;jK%`xg=={CWm9BL9l21T`%&ZfCQ=y8?_8Rda7vf#OSwy z`LHXW$OvQpRVdpdJ80gsqB_x7F89g0`9?fYCL2ivOelcFoxf{kT;pR@2aGb9>=>D=(V97uwkA1g4eIzJ~#=SLwz z>gwRIben`0<7Q^eQb01U&Z$tZT~`PDMl}f+Y#iE5O773;oV2;_&na2=2T!RF_Iz&O z9SIwwdp^f0o=@7W?)2P@EihiS9f1D|qXS*}#Q8fnLR&5RJFkJN@&3*j)MEY)vJdlj z*dUQ{xvO(Xt32W+B(hJJ3-{q|P>#Dl6@1LNKWJk?HRH`PjZsMVsFlV`<9l$&K)C`p z%+L`FRW!$99@!sWL+ZBV-Pkv5Z{#2d*3>!2v{{%gbm&t;L2IiKr1OWyO2wLGeL=Bx z1vrplv^or4j~UTX3Jp?2hVLT)6iD}kc$ynBjR924FM@6071#_8HyDmr_rrZeV`GJK zqcjd~GhXLi9Tpq7)!9ByKwwmYZTK(A66E}R-pdbxf&S0RMw)*z_pXZDB^AUW-=M9v zfON#k<2ZQof(~mQO)yR|PeQXam8GEkNO@@bwaud-KEUQ?(+R5eCQPqcz+gJzz5!F{kii3= zeP%{v#{LUJ-<{YHoKBsR2cT4|&I>_Cp_=CL8DX2|?hGd@Y5KoLkVtJO_W)J|Q8|HJ zL25K+Jm@bPfO(+gmUJ+*_L>{?Kj9C>B=AIhqDde-77CF4(1m3Hkf~1obbA=6 z|N3Mj%|AZ0^&erQef5_PIN6M2rxw2rVj^Utd6JVtb|q&ouhZ&EiRKu^mi!dpO1;#q zVtWoW+lFGh9I8hsHXG_vU63q=);gfrjx)tZ>NQ3$(rf2(d|Ky2&cM8)*F*!L*CZRH zV+qr1`vC~HRCoZNNUzb;%;+@;iB!k;m8NXxcPcnbeZ8d~-6q;{>bK^54{3Ff!cYE- zCn8r+aFe1CZ>IDdC32$tf$@$4s zIJoZQKlvE#YDT4%h~2yvYp^_@|BwiBlUOm00-sr0Sz&k?^8WHL=Gqhs z`^(6cmBMAc5Iw{Ah;34^ApL^b$LyEn77B}W1H#*$7Mvm*ImE*v3Jf*LQ$omQ-eX4{xntcB_k(+V5H z6?1X|wAKN0qQy%X*PyDz`_&nl$(EeN5o)(30r3*ifNWN?jbX~O1VFHP#Rxu;@}wt+ z^5hz+)d2Fcm^pi4Io0jfH87HL zlWgP=kEAeckXma?QKkbWY73E;KqLd`E>&e)bbo$;aNz+j^`8H^_4K?{zs2-sv zZRl3iz7SD_mSi+0EqRdRvt=zQ8UQURStlJ!n3ntk0Kv56qxeKxlAdNp zORmDjt6h!iu2N+<)X6;06M#{gbL!0IeTQ@mMjHZ3zt1V|RkgcPvk#bTpa5xfjV&*z zO_r<|yDU=5ix`3SP8auo>i z)ud+~%l|78WK*i%c+4-LYKZ3J;fbG7aXp@Nl;jvbBJH-5`S?|E3j3i0f8w-nlH>(` zF;tBRCN1&z$5-j~pVT$l*oSO2<)R;}~jn9PeMC5&}KX6WOZj0>s(A9RtHVDN||x0H&~^RP#&`*wzWgks`n>HHLT{_V3h6^@(Z) zLwDT%XlwWL2oSb%M9-3+DMWX-mze|Sn|H}Zn!h1L(H)Z``}PeKb^ziz0yUT9@O|`F zb4Ze(UkfUYAr-#sDE+X+Mzl9_A5@L-M&3ikM-OWrLm5+$-i{fNV`|FOJQx;(Umq09 z^Uwy>Je<7*9}AxJF@2%+F?~L6OrH%b{uzX*J7Fkr>r&wna1)<$YVvMuAR8!H+p^%< z!v(Fir(^#|2r9S%_F05#I-+8$KZIu62paqVs)sNu&qcGLKBZgodT6Z!-qm75qe`!e zk(+#pH*j>?V+QFe-F39m2I-<#j*#jFPYDmA8L3WIh6f76=s7V>45}GikG*9$fNr2r z1s9}tK=n(yupoLWJiinKY$lqPJd>OVix40i$K#(Mwh<23oroE>Qg?4^G0HW)y?P^^^{ z179gT@5(E#Wyv~f@T37zFnC+ILi`ekG(x43|cVlVgogJ8zzVrpi#-n%mUB|ByEI z>Im|zeZPI^Ox`(Gx8SxatKsibyJGWY^_ApiGXLN7vT~sLe?m6W{LLbQ?g1Q6Yb7dv zZLtZtE}~E5gJZWV=p*a(_t%0S!@zLscq`fR zi*r9F6}jX;k+lpz<{#l*2mF|m?TSdcGOTNIWxk3~ge;p}dL``*rrABE+(PanX5-^l zD9&|g>M`!hC;$9F6^l>Pk+viwB-bJnbSKw%c|r9>g>&;2A_3vyDqdMzG`aLT+E_`^ zV>Vd0f`JWDjx;mM0a#Chl@^W@>DP3mt#r&g*_d~lKw=47RL)w)Q(C4`^SF75CBX7s$ z1BIQ-mR+Il41XaVmRq=tOVIT`3 ztjbQ)@CaZ!*y)5-4WP0UmVgOM6q)eS{gQr{&U?*!uah*$A}BM?JjW3l1VwR0M@0cy zT>e?yPyxkpK?FB&8TWBtn8p8`Q_HQYTUEE}-q%SxBOlQB-CN74v(-6Or%sjFRryXJ zUHGnw4bdr;lIx(g9@t*b&T3C-cQN{sy>UIqsC5ZRSzmb)HdIbQi)tM9t}#djk2Q@} zVa25~1hy8QDrH$h;L^U)T7&M6T2`Ulc9&uTwNsW=PQK{Uiz~-hPJuu3ZLN(}hc69k zZ?LjaZ*t@OrGY=X~nQRq& zB9o1tTqYX>x0K07#&+%Dd!K=iFo>pQI@9CBREFwQ)$5I zFVTQ(7IarSnlLSS9RR_!-U!US5`3yEjQ-v0ev4a9NTdz>w=$iep z9B}r5(;K;2?5z-K)8T$@#wLS$K=+n+kj42|ZB1Y{eie2&`=Jl&r`|z%w+?;?RU@_z zp7HnO+dAMq#cdtTyG0jKUD%QWTL%mbT{T-IG2!b3-(&dEf=zcdRF#cp^V2eda_TFc zeh2wSc?|HRnK(LG1TR5Z^h4DM`YrMIVPBZmtUN(^H?RjXo}{8WQt~~ZrS}5Qr)KcnjZ%~bLMMKp)xI!q(ifz&7|Q zIV)u>YF=q{qU*4@w9J#xmd^#ySx9qE{u-*L3GYI$p|})kv9!#{B`huTTs};cN}iZ` z>l!M=Hb_gKiG>`F7f;*@<@iF)27IJ_Rb?^nk+Yj4wK3c=twNMDTuDaK3TE=q{1cRm z$cDi^U0Y*8(iK|jTg9$+N)>-)VBJK6V#O9=K-EaS1qt=X;K&Ous3 zZ$}FDC2!?~3=Wx_33@K&z9f6&eUf|Ot$MpX*FWkji6dI3x-SMn;^NzTuu?xay3a&2 z<6-5-U1%4yUi^jkhakUJ2H+wzy5)Wa{sLjc$VzF(i!Dj*0^D3P_={14tL><0sWW)Mf`h{9h^<>CS>d32Tp@bs~JOo*9(TSbezOfo#m4dIcK_r63TDRU9Fi6cPdoXXSJ+*rxMC6wFC zL3)WaX9$~xho4A$lre6 zR(%5@%xMP(E)Td>=Sw$p;Fvg{?+29}e2$-b$>&EJ?fK#3e7=<6a~Dz8}PfyB4fd7)1p{eZBDDL9izn+F|)$;f$iu>o#V1=IN zzjPR{G1_#qHR78~z?B4}yJ#5+xE9(Dk^qUQj0Bi?a!G)t++h(+AraY)sRgoN_M0yY zBRL4q$bz@YWHy)r0LLc-<{5qwJQ`RzE=zJBYxRQxt=`3o3cFGm!+xmwWdy?MmiAtD zdxdFT_x=ScWwyKWCFC~RU7@Gx*}vFDG8HAunCkY+RTg&Zobi2h?uyP-6=*toAy6sZ zujsy}+#XAIc799_dPNm&|*kj&mJ*A=@P>dXnw2vCMXfWFpYurVvT(OH=J$Il$}# zOR~9}C02NfE~!Re`HKRhFN&d7=l9^Hpk>xopN4v6*Hy7^)Hiq!-i%T*v|jdoE=JZJ zdG&ncvDsx-sq=E~E)QOaJ=Wkf&DHK6r7Xn8b*(Seo{GJ&rP_heb`0O^bOTURK4b0_ zJ{j67xR|>Vs-~WO=wj|MP>U_*B5Sh6+;Bvo;PB<%na9n@K)wkCYnU!}PK9QA2PYx?DVGx&zG+c5nM8DRS!xgmk>exw`8j5Z|^hB*3Vo0~O zff5lcc8EZfYQyzfdl0UlnrL(&^=5Mz)`FT1ekwq**?Jz!a+|?PVYb>kjaml(*=;rK z$|q{7t#*s-pgUF0%*Gptf&9aQ{COcQneq-EAd9=S+4d1R&Z1E+DW;MSV`CY!t-GgV z1Z+Zce3dGP47$(cfEi@aSs~S;Um$4AE(knQLW`!@o)@NX`ng~26IiSAw?3+GdPn6A zfB8C8^-aMdq>@L2e3gppu{(1}*e%d2A8@UN71JUAZE?tdSswCvLO)r6*S`V$=?i@b zJHLs|qV_4wi~Jp+YBcioDNCIq1+91}hm}o>`W*wVP!3bgq!AsT0|Gfcj}*9!=W!#{ zE9-e+-@@~lsd|^3kedKdW`kKS(Nvv~lX9I9lM+MA4TB-r8F`Vx(z-KpoZA@*1VML7 z&cNQ74qs}RExGL(&dFH@;QDkP7in^Oj&SO%t*uR809E6ilVwngIVZ@y%sGiih~lKo zXvRk#^BGaXUm1mR+}=M9A5DMdMJGX~vUX(xlJVi~S#Y4e-oQuLO&>?A8P0-{-2^77 zu$v)lWYsv>rPZ->CuM+0>2~C-kX(jv_9aaYu6<%q6*nL2jI|I+Q>ECS{%DO?#h^|^ zYrGOG^>gE~XVDtxa_bBNHpZ)yz%%2ML;TgyDrV);w%>WcaH1&iA*9J69?Wo`b=ObY zbzBe1-;$}wdc8dgEqv$iO;E|P?~R|-^=(bhLyw@86D_`DUndU8f&weaQ$iohy++@< zsy3uU>=52fV{sQ%wQy`K$oAcSv_d%OS(1-Ldb`{7_Wbbi zjq*PceD0#E7$l#A!V#e&vjLzWF_1{gh=GYCml#;eEso;}iOX(eMGyzG_k3~qK@Qp@ z#o-L$ee&p$i;l!Z@rx^~2P-cfth@{imSzi*z(WLX8!a1V&7fptWX3wDr2Zxz5yJ>#z zq>|q=+RkKmm$tK%JF`&2ynFn(7{Atan(84^iXBW=#fk&n@)} zJk1Vlz{4IQYm;`UbPn&ADJuR;avx0{PkBWtF!{qbWh31;&crPefq&YN(3bh<5c1gK zv9_eIe$Y;`Dj!f!u=+Yq{~*y}+ez`RC;ui#OvM5*U(EkSU~#^loYE=z4}_8MvE|m2 zyL}!up3+z2P#^ISmlW#ELi6J=ilPh639Zq+0Vdq!fH#9~Vo@#}F|=Ot1mcKRt8!L$ zPhI6&D-g#*lywEP|Ck$9WeW_#h?EOiy=qQ!Wiki@glXe2{G&v}xeY7C2E-c7aB(Io zE#!lOAfRbKgY=>p1d3IyID#ztI+k2+-sWNNS@HTOI-?Wt9I~n@b|;0c=#q4i%IHBBqB2=s)-0bO(1h_4w6ynb8``eCeU1bK|rhATok%On2TPJ#XUM=8jvz@B=XDIVTo_9BkHdxM{g$waM zKY*m#=(KqTpYc|6WMWwTIbLhD>z&Cp;v6(Dh{vk=W3>TSP*ISS_*R3%bdaVN?t`W` zTOfAoF`%2OXTxHrzGc)h)So?e3cK=2rW!l-CD}oDQ#r?g2nBIyc`;M6oS=2Dk^uc$ z4#j5FheWlf$Vh&Ljb+25=A}S0mo0rE^)pRz+rC97w@$b~ugwaN<{dTgob&NpOipN) zH_{4i&q3hdG*>M5H1*zIGSP*jb8=v*bkjrKk<*rN3DO4qt+k&J^84` zdy1ph_P6_tpQHe_7#O9fwX5L;*l0FCEh8wWzS8Me@sH9+zx|Ue25>!Hkb!45(Vm#eYeqx>3_!@ zp}iB@@*N@3`A1!cPCf=z=vuB|tRA-xqPw-VwyR5^jI1A^${u1d92tvA}~9l3BE61VZh7T$n# zW9g0*;TSEd;6He4iaa#i9;#q4oakpEUalgn^@>h&%w&M zY_*f1#vWuU4{h*6mCC7*`*8yV=`UvMwu6<+YprHybg;4xF6HeIa0qa_h9Ua=K3*|w zKzj?oofsc)wmP+u!Ai9QSF(?H>W%dn6h~qIqxJQeUJ0V*YH-Q#rux{JI(SIA)M_yQn(V$8I_ILEGw%9f}9ZheT6GK1?jRdnM0CDIXYVy z&y_M_BpR_vQMygRg(!U?@klasJB&=_c{khP7`Y6+iO^w{A^fDampjAc%Fw+=i+%{X z4Bbr-x{H>Pq5GljAQ_Tq%E*w3C6^3Y$}NkRA;~C`^xZP8fCQOvdB|?M+=qaHqg%w8MK|*&Xjm2HG zjL@A6Z3hXRL}*6nOnkb8&Qk8UQp_Y#+b!1)Olu}=`J#734pAaS@0fI_G@Z>(uC<3- zbyzrLOPM&KiP@_%0HReDXP`7cO5I`Q)0O&4VvT00>!TQw3)i(YcIzyKpQ3~-XO?=C z(Vklhlv(N)g3n#FjKI7Z+71#JiKL9cm^g9?jHTRy0G5yh?uL{G<~RGvXa1{m5FE+; zuT*xKDb>PYrQK;kD#ki2wc{E-tQg>BOyW0uY|~t{lJ8EZVo}>%8=fG6p*g5CISv=q zq&4w3F1N#N>TCmHq`3k1KCBayw$IH4NqZ*|O_KEGC{E>)^e7?HDoOY$PLljt8-8fC z=N1n|lD<#yxr>&Oq#r}uL6XFfq#Z}^ZZ}vFlP^B%q}b-|I_li;D?{bI)z65L$n!lYChbV4gRPct5TT-e;rE62oRc z^x>{7GTd0)qnZ^!NZiv)9hl)Fz+5toxUa?G9@KAUjz(Om+SfHlTgol(-K-?>-0fkb zFyot0=g;_$Ig z4&=}S`ldZ)!}DS=B?4xS!b<&|_j?vFbJi+#HJM@(wFIQASTfQIyPF!9jUgnEu@1$~ zP$-|qI(jz6v zzd_#YFpa}qRCOt1Lv2Q(ZPleb0Dn_<2OfbfLTw~6Gv>94OP6_VDYrO|X(TSYkrhGb zn7zAa6V#ZP@8QfGv@2%v=~UDoc5}2g1*cg^SE;rKu8@(A-u7JW3AvX6z z@gTX7NXp2Ci6fU>Sjruc!xWOZ-Mo^($7cKaoPSFWVl$lYZBjUhrv$Xh9YmbL0v*J| z16t({qL{dagXo8vCnyodlAKU22}-U27<~Ct@H@*;GWVVEMEO(bDU+du+(Mo|rLh0H z1l>KFX(2o>$bmJlYtjr^(NYNycCod=7#DUYbxdN?)n7`XAdPn*U|Q8sx|#@dV*6wx z-B)c*CpINPHVNPs^DZet%Z7i|(V) z+@pK0>9uIw6n9*oaaR-yxDoz-sN`^B@sm2m}Q~D)mVQ8{5}6re-NdEKShtkh+r=poYh7m%&>?1v?g;{QAUdZ1 zn1f2iJimjA`W@2~;vCazt5YAYkArE+76ReHCKHA`8sen>4*;w3vzu9Pgj_zJp%Gf0 zRQ#m2mn$DRPU`OO(%bXH$DP#Oppwt*QTaZ30w9iXQulqQQa_3dd)xy;9 zL(QF6VIs*n)Z)B80WkQSSNzVL*BY`LIj{6IJ^p?IN7l*m-4XEg{L! z+!dXvDyq&4ft_NuUHel*m^U_%26kHaS?3AZg@c;DkODw6=v7`#66l;>E*t4yv(=na ziRP?hss^f}`qzEA%vUWrqWKlnlKM)==1me2(N5{>p{h?i3!m&@*f$3Dd2L{Ez7d&H zDCr`MTgrudR)%xk?pq3D#(kRrn0w&9eGHMt-8Y5?ay~X8Mnc@TgUNk^G!imXZN`IR z%jCc$L1iWPB%ebV`jXFZP=s#vP9Ah-{Hb3 z`QwjOs5}7iX%rfKLP~i^Rt#6O(cU7g2(mjj$^M48dYc)lY7K6Ks;?v~kXrs_)Bw2w z`ZK8HaM18moB;|W7IOy$)9dify+d!$%csKengx}7Do!;(V;!$~(6(xTei8<3b-W~! zG6txLBbNbcDYr0`FC-Sb!Bs#jm_2$eE^^F%OswFi3O5o_ECP+h#{ydAMxxLLLXmkv z78&A&B9>BWF%tWL&^{v(zcVB8YIcn2R6d}} zpnNSx(8!f?*wJ?3Bvkb&O~Wpn2rSO+!jv9K2VvY&cH!<8Ms-_;DU=z@@M3_v2bSSG z5N+HtWQZV}W)0#b#4>!*$#_b&1y%qLI+9FA7a9y!Aj{Yo3qB(Lpn%X8k6s&CB(28M z?MRtT?nc=Ak`MAB2t}-mt!-mqW(X$X|NSZcr`@LfR1BhoP5E)G)X!xn-=;i)h@V;Q zC)4sgcFXT7aUVOso@gDM*+?x>YZOj^0{VK?;J7{cRjA~!C-IXy8RRZ#?wZbf6tyPi zo6LL3z%=Rn+~~*4y~57?3Bm0yTE@=&1+=Z&neW5jwgrBPyo{Y`;?8AfTFN~qkVzyG zyP-8eQ<(jEO*XPJzm$V$TpZ_CCJIWRmHE#Bt#T_<=m(+PydVoJQz&&Qw-zgN*1P>y zCVppD=F#{>Rwg}pt;`_sM2=SgPhM}LR~%qjn&u3TK`KexElER=z=1(`qJ)l~GSKzp z9-^JaWPS>!mz?VEpUS$n6v{s9%b@AKL*2hAXAsIxS(3}~$z>zWVen!xKPJR7%Fjat zll;j_>mwjD$a4cy@)AHRT8IOqkIADg$6R#W!JXRX&a%qF+UDUJov&Z`!okXMBXHh+ zO}oB+4fHu&TUL?9DhpruLb#5K+S#kSgREs3j~8KQN{o8gokYV%EkhmJ?zkcm~oVQMiNDtUWn|LX@|X+8k44-&2nrudp+cmq7*yHCTxrhYxO9U_NURGHKYK_$XvP&egtqP5dEK<0a zNDZ?+ZzR<(UHJ+G`h6T2F_~&MUH7QMT_<2bL_hT4(VdV@RD1CQMR4*{C)@EkmDS`chx%jCrkp zl)j6Pu43?o((fPqJ^ARzdy1pqTm1bMpdSMxl79Kc`96tNx{LZx2e|wv#v7^M^a8+= zZh$I&QwmbXZ<+=5%KA;%xA2>`${a%u(j3kwxeikK3y=PdcO|BJ-TisC;{LEL9_Cl+ z&doQl4L;SdQikjDEu$0NGKh0so`ALrx-LJ2s`0MNBT$REF323t3y-!Qw;&09CY10% zo`G`Q1Nj0znjXlZ%xVyOd9(#nIe+EJXP;7O*EdXz(Vm{%vkNROReLh)AED2_WLx~B ztn2B#pw2xU?yY0%ksK;$S`G8vP1|k*6CeC@B`kr?0V4`|{y_Y35Ih_V{~ZedErkCT zT|Cv@zSe+c*jjrE7fc`Q4ng{CxWWi-bzd{w-e?W3C2zx%)QGH6tr^495b%!ncdy>! z2C_atesQ`dtI~5AyXn;i)-}iA7N<3IZ}*C3qh^is-Pu3_(>=yp$$4b$KF7;;fpHuQ zWFs>Kzj{8U-Av?>t)-jS_A&!{GNK)ohJ?MQz0+}fyhMx5rSTfvFMz5M2KSl%o_q!y z?+m8#Y>wW~ zKM$VZ4m?QcPHm_a`RT|tt5|KEhsA+OY{Y79|F!_BdY z4R9$TYzSuI!wdFc_wIt`=Gs_g`N<0hD+^cS|6Yp!dl~-kJV^A5e=oph=;>@&s-!pd z_HeUZ?@TUq_oEF5Iy$e;+F%_ng=W~(;qWvxG$bHdu~3*AtMC55M~L8Uv_^iFz|u>Q6YxIH^56J6$E= z#$qB@O|Dd?SV~e4ml)O7Rq@8o;Ry(-gVUXxnypK58y^;anfh78g7M*s(9URO6X*`6 zpEhOTT)t1(o6 zgTE<;iZ42dOkWI1`d~2w6sJix8Ps=+43+nim!kWiT&@&w1(eh|=r={c{v}lMy8m#` z-8zb&h{FwlI07a4(Ir8E;thhJ1t zfiiPI``&1#Znu;>`Gj6*4@t*vZ`y;&!GzUqA+yP$FZnd zVGIk>hBcqb=0RmK(mWjUQ_sTA2E<4&M5pHf6V177vBMV3hoZ~&d(Q{R*?uoQW%he% z(L+qUW%hfOl?a$pd$B?T&CJjh8iI^AG(9UcOEZ2Q;-v%TAZ&z#b)lFr>dthc27Gmu zRT=6uvsQy|CA*TkY1JJD^DqqnU$v+0NsO?r>CG9G*BLexsTz2 zyw_1qP3wl9Vl&+3UUh;soH1|%`SoQmOuqO;o;+I*2jhYkfxwP9ctaCPL%3Lb$wpeW z8B`rcdQ+Kb)H`T%)HjTeK}MlYWnHVeK`v2&+qt3EXhVNP^H(&bS2{LH7Io`yJkK7i@PHF?fo7G=RW+D6J0Km8Ef9WI-v`_YvjdZWt@_TjqkV#o=a7@FjkDWI;M}7NQ$;t4u`4{7RzEPu3Id-8r;K2eV7{kG(RmPSVw)O z59jRS!&%PY3pH0R^7rI3S9nix=1Se)UjcK4fuSo!kGaC=mtUNlE2;D)g9!STF<0RH zcUA#9t(6qUjJ2{Sz}y3CUklM#!I%KK zRK92sw&ONbA5EiBSYkGa}_?^p$2 zRcK;TyA_RBs(1zT;U~k^T&p@sS8PHE&gC%hbT|aHJVH-fmeWiM*xyNU2wOaVA%}$= zQsF0WK`H7>ZsWofY*x+ybAYtKt*I8s?zjyk_h)vu29l2{@4EBl&EE3jL-mzJ6q!_a z$6!fpxqSdD^>YR8NJEg!QDB0uVEJjlpN{n@p~=XEq`f)5@5YbS;>p%leJyUyX^M|! z#ZpwrNuWSrH;$Csx@DCs<}cj1u(GVOu{PEOcWZKR{=(L1bK$be2>My{djsyPFQYr* z;cI;ap7EC5HT4nriBJ3mDhPlEUasA^Zq4{;9p0~PPBccU5Tw8yKJe!Ft@861HYVWv zMzQ^SCAVX=i>?hbjPErWZ*`hI5=Aq<1Nd2}yDYNxs;>fl2V=4E86Od(SL%A>m!xXR)HNVQl z@DA7*-YSd??~s-0B|Z$!hd1>R`Yjn6Ug5KRDVZ8RaJHszZpMa!jR`8FFt=pV?n6Bo z@r)7KzQm-d+t@{$4ii;>I)|B&?|CZTPf$_6W;`jK{?qG|gmJ@-o{SQN6hRc#z->31 z?ok~ku6Wc}lAttG?Du|MOSnZ9N5{3!UQo%Qb?{T1)&aXtxO$YZT8D3m(VibZu5|_p zK6g=7>mxjl)=!#N;yVX z>LPY8s8+yd8K2~?4EkX#eAP zfWGAV82pn$zb=4TIa?u}ddyZkGPWXi3@S(uadPO?4Cj;nw!ss!oc9=M5kj%=iR<<{9mfQ zag_YDzb79hc~2T8=a3c^W8}Z|v3=R!V*y$+K+4h5qV}z{)XIr*?ySGn$NN+Nczv|| zVH_==@%QATCGRPgmh(Q~o5+#^v}AykqUDYwH91?`XgG(y3)=BtI?WF9kIP51eyAF8 zs(FdOCm+ptPq8#R-rr*ZnlV5kX_jA{hijyEPEth%-!kDE&(2zs?%2{4#7wlt831w* zqBTa4t9WcF!vgKop2a0TFIuB}&uJo5qdCsAd9;^k^O9JL3yIyB?}*vpOOFu0psxEt zH=QaN)O^pBTZRw;At12=BEw7n96^`bBx#|v^(Et8p);0z@d(b=x9N$&HgLFs!KObD z;MFlm601blVx@kr8hRE8@N&VWcn?IAIZE`+e(0TlyGZBXfJ#2ERmF7j5EPEsYkUfdM_?Mf^2}bN z$&IcRNJ}|5j4DJHleO|B__2a1QH+OMd(a+eeiK%=-6PiXZ_ObRu3Yk+`2X>Gz#PZUuGeOMfYq5zYMP7XfDFG~)fj z5_tD!OxRFlq*4MhlZq(-u1O_ZZuOaG1bXVr2?J}J&9T(bpmkwpXt@Mu1)#A`R)2>==%TUa{~^h1a6gGP()DIOV$TLbSW2;D`?SOa%M+dB4xGh6XUIp`NxZZ^VMm@{1YWG@3jYhQDmf23NrS9DFiNiz*6qJ z{})u3WV7!7iQ&TRX;M0W_PjAij^bv|?zpypSSdPn8m-8Qv)yS9k5)0BMNFL5`AMrT zl)iUsv;QuAK5?sb#aG=IDmi>r{M6g|=?J4mKZJaKT0#)Ii<|l@xi23P^ zB17f9OvC(iQ4w%fPb20pE`fRP{M0ToQYi(Q`N9ZPLP#k4_YBWtfd!4 z-`+Pe4d-!WnjZ7Gc2`EDnLP7!9C8jeBh{Nd$yBdFB$H5V^16|tXX$|RF&P&1B~}`=clz+}jT%0;mG356xyc{Fj+v8m z_e0x3Ja{Jo;W9(;t2(1Wxuc7rUE-@~1E5k(XuOsKNzQw7P^_p_WX34T@%Apx*opAO zs55pVXjaOG<%}K0K6%dA;dge%?sqUScE*mLrss?uCEvttWK6ytaLCS+d{eYi;*{N< zN^G=fZoqmjjxuSAB0|vhmy&a7-rMyaT_SYx4LljQqiker<q|Ob1 zKVJmEvjl`VB$&>sjUl+{9rOO-#9amGa9bBh2QNSgD^2mm`8)aS>mv zyNH<8M9K4r@d)Cy1LiG(aPRR6HRoenGEMo0#gGl$_S74)fY4Te-TVk1N2eLmH30Dv`0{wDa4LvUh@ z8}iEup9(P?#TY@Bp-?zNQ~E3M>I5Mi|jQta~QaeBWLt}LjJbVm8h z(OP}|XovrR%MkE5%{c#wxp9v_8XBp0#%laswNZ!jHnkCvzM+GSt{H=r4x-X{4Za=@ z*VwEXnc(>!j$R7AcGBNR;_rH6cx(c0Zd!xc3fpQE5CRWo!x|jq*yNgZ_4O02n&=O5 z0j~i7=v#fQcuOnFo+J`GYX}q8vhh}`e46im04%0Dkh(n(Xf8i38`&DSBbZR*4uZjFg<$wgC)gSOVfjwopBhK7)&8D*1miu$ z5p12mzXAkfV3Z=*_I$3jQj5MxYO!BBwXXJ$$w#d#;;8jne@{MY@t!nlZM#&A3!d~b zy~*EG0Xi`NO3`V4Y6@9NMW4lx=CEJ-uvN3-w8(d_sBo_sXpJ;l*%&b{7wxd6==7^P?i z=P(qv!bY`uqJ*GZ`a-AN0sis%D7PO}jj%fg{XO|8$9syS+%kWE1t`bBC`Gxs%mcKM zY&L!p0AZ zs5$gm42l2JhxIr9Vfje)syI^J?C;4(D&CVus@ys3o&Np`5R8FQieS6wYbZ9N%@aig z-O?92>Hf(-Kp*Ko5=Xj+{XO|e$9vL97m&^F>;4`K5RU;;ig>#k3tl$rG5?xYv;_Us zS2_iMKTQ6E>ytLR&7p6CWc-&- zt%d$E`KWa;RE;n|j`sKDqZaQ;qt>=;#1IApPx_cn^7mALP7HujblOEPa5H7!Q#0X9zE;h+U)PG0Pz?Q<%p-R^;?OT77?QZ z9VvDU3=Vz0e~>=ny*7?`xBGkY5s&wz6AyMe#PDX}vrfD_{k;_+9s{Bj@%C|T%-G1d zyQQ!gu=SgcfCv2u@DcVCafJPfzb7AIc~2T)b0@#2{rwdnEd!$zY4>yQtl5aWhpo7v zuKlA<-v9I?!AIWT$B}o3`wQDPyeEyk0oLi>{vHbum;q9Xz~vO*;I?EDyo8vg zDpZZ2S=--}k7m55Sem`k-(vxqF+d_|mS3EQo2JnK$!~B2c*}&F?qQ1=aVK0(fy~64 zeiMN1LA>dEkgs^WDZ>NBn|>Qnvj6BTV7XgorTgy?jDeTSDp7*V&xODcINJrGfoy2) z%0wGeAX8AtBW9!s5#(+TIS`~!V5xd7F%KbBUr9_+xXtHc&?F)V zAH+)iT$mi;rSUfvpQ^=kMBh}5xP$;H##~0aN=qyW9s<)kG<<~bMInYC(D@EjawG!5 zPikC~9fqO1OjfdQ;$bm(hA?dT;G{ zJYX9%?nrI32f5cnxhApBWe zPcz!{!^iXDoJ{b!i>d;V>;i=&vPUn6;z0r-k(3b#6GtwAu#|gl3`eBG5LFG>+Uz-B z5T2WZ@<>6rghFjA1M9|`RhG|Q4jjUaR}^6P3Crpn%K9#h2S3c?LgIh*JZKdJ5I&L49KBf`Vvza*h)@}Dx=^ux$S=Jf=l zyJ#7axf$9H5*dl8jL4XHa*2$k+&R7G9Et62&zlC(Ge?jwdYf}d7b$u#q!>DV4iY9+ z(RnC8Nbiv-rsea{XKCbC!NN~bfhZt3`x2l=grb}YLTJxUh=YZ!73)pz^m+JYVV|^ zkuh*#5m3&XMy$WI1lGM7x|&5sD)~R798LCjDMw4W6&LnaA4rOJd)+dqRulew)%xrl z?ub;a8(5IBOShg*N9v|kxr(@EKKqNG673{Nw?(lRH&AXNR9Oua{M1YJdbiP@TW2Z; z$_EHOchNHH^+V8hka}fEicqhgD>78xOOMs-6GcGz+B9PQ8zr#rRjrZLEhU>o!4p{DCX@^o686srUmwqN`-LUQ{gTKB(ldpz%|jiihjq z#L^CJ6zK3BWwhsqk6X}(6MXKXWmNnz&~}iDmq^O!0TV|qJ&-N88aLL9G4j*b+{Rh? z>1*CR2>$^)^Cx0y{><1Kf6T`kz}lh^u(wj?#1{X-*jyGmcS06I{>C2_YKT3ViU2+$2qXsLJ%|E-L~-DcTqNWN5)1e>lxwFS2vjIlF6#>N;pUNKZ*5W%QJZBbT1Clsh1Y1*DSi=9L6%!fZdEy=ys$ zjb!gb=>$}2O0d;+I5Q=-WY)K;EV%^1Qf_(g z_$HN|9ySW%Wf+*3H5kwP9EPqV^-ggH_b< zQ!hnryN~JZx#dR@wLj(1sf?)227rP@O(H2HY9@|cqGl;KgrXL~9;pZQD#W3(3}FJ}>a?xJPn7q@M;xAWSi}_He7d7Eg+88m$kHRw(f> z-onG18LFH(38h%D5}%M@6$MhwQ%UPqo%N7AmpSV_ShP-7_$f;G zn1{vzwz+G!87;bHN|~;1B?#R`%ZT4wpzR>>lW59_pNS=x_*u%G+jFLp4AJd<+aRRo z81jYmnjGRq3hBFSSp?WMv9zADX|x6tTnpn(8?bK4F2#cU-)J3D>Tj?OhjHSowkFYh zq#Lp-{GS0@yRS6YCbeOx+p5As%pzFx9I1dY2@$Q8<~UYubBW(jr9+{$kvg2vtE`=* zsTI~jTUOb&r#RrUV*eW(2EwYMq z|9~KL7cC>*KY_M`q+6mXBi$yJT+(eRcl``uMoFaZOo0eAiHWa#P4f91Mv2rU7aF@3 z=_W{)Y!t?hhBJoz!_GCV&x(avc33=(Yq!e2nF)hSz4=-aisb#E|EJ5RTSRc=T;BVk zlEak7Pra4*V~iI45b|A+BMCxx(K7P>d}upJ-X)qc@@`_uCGVDUFD%J8lKkDWErEQQ z@a4tD)^6*^p?;$cBj}muy(d?P;fe%JPl^z{zH7`JB8y2aOp{_BJW* z-u_y^S$BRfF{Y9TyejFF>{xuS?%w`f6x;E;w;#kxIhik%lqr{=pc>Jw+BnRGwMK_x zX3?gu^4uxH;#O{2lSk&r?rv@bOFeTn?fifXx3?w;DbH?AC_pfth@my5Yxr7#UWc2H}+jpob0ll|4E-KrbS)z zo`V$j4giqv5+6`^ME$w><-}cYh{hf(FmYivw|&J=9k)jX;}&%|S6_!?rEr?Rcx8I0 zb!GA5%1O|U;NH&wUr*;izwjYfAQu)`-O;LgUiS>++ zxW}*EiimmihhbHXSz_A#f!ZhFC;3}vrGJ)O5Pb*YN1>|Ed@`=oyPt~p`VPd$io^dU z2GFs0o$$JF=yJ^3=L@}9KJs=2wVf93CQHGr++i`&Fy2!f!4~@aD?l&?Mk#{rZkb-WCehRdTo0y9!$Js*x4J;Q*gxK5Oa?_x zi=*TUe@{M2@}4wG2ILigxxdE(v}Aykqou_vveHs3Cuym_)oD55AFq#=m&MWYI)6_- zTJoM^Y5978j|FJS04YVw@^@ao*FP*D$?k|F*@yi-`AEil(nyv&^F8SAuK>Xq7^Mi- zlRGcJ?H`$sW>3b^>}UR-d^F=d#nJ3P{rwf783Usf&3bs}quf$|e+4MVz$itzGIw4s_YcS?WT(WD>Oy}{K2q_XG*Wr)ysY_qDnKL#Kq(@X zzw`1c|FC?dx;&0lU4KtLQt_TNQsvHJZ}j(9fM5)aQUvSeotGc-570-t55|%16-t2utL-{+@i);yr29@?3uT0)I~h z=)?dhMW=NFU)=#1ZZie@{Nb@t!oo(274R4KGE*2c7bLy~VD7;MiFITv zenBEb1Kr2>R=zC@9Ou6vapk!Xp5wkC5l`AFr(fv0#L$}(r=w}PACzoDcI`_hyj*Ks zDF=~X{WBnpgecVFfWvW~L~iWgvV2`d+v3D@7e?AAh*9FHYS!0UgOyfw6TE3v@lazE zPCZg!Bh+F6K(&#<`EX5?ay1mIu6HtU{BU!8a!q4m!`fPF$;Rf`#D>};>{>L!jy-{G zHgf??Ipcc98Lx`vjO043alo0gfUT_5xd5o6ZBHVK&TCE71}p8+<|cV)Y#j)VD2I_@ zn7yIhsZ~cXe7@aj4v$vx^&*~nT5NqzSMw=mrWj^!D2kc68fLb@O`mtfKq>-;-+`6- z`J~XZn?7H}gP79Xpsw2+ML{^7oL*pPJvb<%op{u={4GgFfpi~_!UB&S{wJv9I4X#r z)R5XDbXVi$0M=w(KmZh1nYaM5cJjP9akM6V5P z2Z^3UR7UhnJh?>AQZAJbh>7jR)w4Fy>rvAndgci7MeqC^(nX5iD-72Ov!+;+Yd7hf zEIDiBlT~3}leWL^s z>aA$*_({D*x4bE$IS(rNPT`ah&7Gm`Akma)%7~_kC6{Pg$}Np%6iM)Id|eP36NY?| z`H$X;%!^9i7HpH0Ir%pLpA^M+Tryrnd}oym{1hb_Icc$18|?+j#rXuEyJ#7?cp0=E zBo_=x`jU_L2H^1`L*>2n_=?I`76Ij|X~g<Cv1*(BDV>ULR4Q2C7Aj4b zp*0uUE{b)pYTLiaNG1PgRGZ2EF4bl!cW}V%yQ%PYgNlQ4GkeNcZvT=aJ(0@oFSq12 z$C|AT)p63%z!0uma+gQ3B3H$ykkDCGF@B0u#r`|`{>o@CNGV)I@VSeYQN@=)+d)b} zA}J%UCXQV4nl1O2TXO$$OK#?lY)A)X2uZ%WJuyc@BGv8m-;#T?F+{g;Bj{XD-9V$X z>M8sbr>FcIobNN*^TWq?S>8kNxr>(3Q+Gn!L3&CeDWj)M9J%zArCi?Kx9OTtUP-Vf z%=Yuy`*k^pjb!g>y(Ra%QJlj$``a`?D`(@UIL`LZz<)5>bF(XAm2>uQ2|jnxGMxPk zv>n9R5=j}(HgV+QY)d)U9k?k+yGj5jo9*Ru@;7o28Og~r_mZPa+8twVvo%35*qR_9X8-vDvRe+~BL!pz-jX{K#gANGE+Mp7rzZT=OL>_z z+H(tmGBs@^_}oRy$jcSbc96VCBxU5q#F0y0EaggGZkviv$%a6hOz85Z>Eax+L`u{D z;R`tLj*<#4wRaNwtx}7hqNFx=!R0}tMYk|2a{Ebw&|S2Q+-pa-$MvFnRaWO&YE?Q^7D43a6Q!My<- zDR_s9`ZP6+kvCs{HD-7ssmYhHQaBG4x%u+P!Elw(la`w=o!L2lK%{c3YtS=9 z{qN?N6LpcC1!`JT!DzRHz6{Pn2HE%MUGBV%N2t8#}3u3!S3B)JME1YQ)@xcn(zR zk@1?j@bbCPcF+X9fPipKzW7x&WuV-lVThLa39SIC(Cp2tw@4Tc%t0Ye&Ri8De?b+M($S0~xsas+tOXgp)<9mb@qk+`4{VRa1=`iI@yVg#W~(;Dvk1y2ieG8jU1+v7fG}Y)H@u)y zUd*?M3;IrwJyGVH+d%<{SNe>l!TZHpgpZBi$>OoZqgs+Dq29CaaCs z#D;cla>>cfVaPn!=(LxtV(2<|atWkWY%duaS|Sm+1QEETMYsG8jZZGa0-YAxM`Q+R zXy&C%3{A0Qkq4-#*wczNjTVgaa^^uz0nFq5xt+bEdIzCR!Ir?0t10RQwgx6Tmor9w<*e-4_0k7SPuFWqfYqD^6%f;lL)ccpHddPdv-dv!lVi08Ax(h9_F80ZB@alfyq!%RDC6} zM6>YTF(?v##2#2liUrIa$-@~ylR24J1OCK+gMy=mN7{_gu(yL0|IR9E74- z!1G!TP*Fd7uO!>KLJ5H?10%I{)rqkV%f-CNmhX!duQ$NEhJ@KPX^b`}#zrUyESRUA z+6Xr$HNSce)f0lxe@QHn%wGf0s_g3K85|;K|5wlufoj>LdiY6gFPHsuH>PhgTJ%H6 z1F&u&2;D_h0Z3jBg(I?Az5$8{2>?S=M1Fufiwu?bVp(JPrJ{8)F_gk(f+vi(I&b`Q z5pX^Rm3$6F8O;A{3Cw$Q1Uyz`qzv&O1sVN@UsNG*={HNcBaDnsA(Aht)-6&S^q~ny zzCN7Hp>jqadYcrxG=~PX%9oeW>ZXC#fvKITFnh$zl)t2awWjDM^_{DFl2)L zUN3S~P4)=(%WT-(3~dMT-fIa6*9?wdjhTLN9J(c*x{(z@MVh^P^%+UX-{zoH zQIW`WQ4-?qU2Ncp1r4zb`b>YNtQy4RQ6Vv$|ea6>t7tHmg-=^n)P=)*c921dUqUL?N;gwkr+=wsqt_n3>0 zJGfKZ+*wvxSlc{Y8%LLV;R^>V$Boq5!)x00^=qKV;o7o_ELK_g!WXhd(E-o}JIGqb zR{VcsXUZz$=yznF+g600geNKWG~>>BSg&QMyq}so5ToA)T3}ZupQ$wGtNx>3g|g2` zux1$Do{{L;RnnL-p+HvVy^gy5yr>&U=E7c0vOWAy+tU@e`J;xLWM6EI_BYgxOvyn& zcujD0NCt8s*#{xn*8xegBYbcHb0ug&fu}q{hb`81ooWjv`l;@7)@*2wOh5`FbAMB! znuKqvI|nM&N2X|?&TW>IhceqNzXA3ty3H~=H+ch$kNQS61A8nph(~D={`XvZa`$=m zKd}nYIm;@`VCR@r{jy6=5$fd*CrSp|$x{W~9?)J#I zljAkuM%IySMQ&5I)tGus@(?o2=}?QUJEMkA9zj@lNJomG-GQLZICeq;`xG}y0o)~+ zY=m-fW8AiY+%xbIrWKg!();|LdlFg`6^yu&(@|S&jK^H6a)3wf4Z_y(M56;YID!zik6+Pj)Ob{nVmBR;+D$Z;7@LWU zwPY&NKp!wTD$HKG->7Bqq1|4>u6$xAYyz~G-YYxk-dxVkh2Uyr0@%W5Ops^kX39Ir z#-fZyOWRKm%aJk`(oq>=Kc%=z9>T^l_EUFn=NQ=h#)g<=D=B=f%?HP*y3IlL+?u~K3HbGlH zeX29J=6<~zs>Zutb*RPMFXUh5e#IjMrHp%NGo1C2%Y5de@Oa(;<+#UlDL$HB+X>8T zn`qY{BD4uX^y}&ke8e4F<~M+YKsF=BeR9tMT!vL5XkGepJ!nZz8p&G`*1qH|9Ax{9 zuIhU}-kGkkQW{up6wi+dP=h78)T^%~{>Yj6Pz>_KmhN3xsh^w9J-bl+TyY)?+`H-| zI~&4Z4XtAKtqiIZMS&aXHb{!IG&oRf3u=3S(w^m*k-v4cd?5-geDCiesN{&S#82uP zyQc5i`ludrwXYKg!i4ga(8uy!qi@$E!%D*x0G9i(U@WUBk|acs013x?A2{jGL6)id?p9oh!h^H`6(*ukJUVm z93(Ri*^m!fg+m?A*4_n9tYQ=3SndCLoyFa}gM;BBvkz2qhzx#;5}BO*lZPAa`QhU+ znL`AhyQnG#$sd3+wiRG>PU`+wu8h#A}J#VCXQTUU@5m4#UMLtFl;%ogTb(eO0P4x zu?t4N$6k+OJT4eD!T``S8?KC>q6A}hUcTh3j27Mej)>=?aRou>E?P!3u7S3LL_?w} zBN`@_T%utqcg%Uk*dvvZqAh^1nDFEa%i0`5WQ4`rq=;+%c)*Or0~664%yBak9+-G% zK&y8_2sj`@Si!=qFTA($yz2P)*rer5vSW$2!cJ7f4#%M3EITR;Q3u98M+SV)KF1;6 zh6i9jtTtvnt~`hL%zS(POR^yu_}}o#cHlAP$7Lhk+h*q8f}jDdy-&D^iZ(IzFz<>#g;5NYG`@ztB569@W@#nd}Wg!{Y z3(0<Dg0LQ1ECD z+mgb$PtQRzP72(xM4<^ZERPCkl^d2qR|vz>3$h695z~Z};cUEgG6^vF!nyG~i|ctG zK2cl`J!Rs0$av%d(?Q^gO)j}AYXOgzC*0xO_?bcXVF?{QWuWUxIQOorWHt#FwcR}+ zm3m4EWEL28g?0aJIg?a&TO_PI10)(;zR>Q^0CGt!D=c2zA*2ZrT&Pe zkjOqo&i%sV3@FEg1`fbSGiYGQ7wVlJ^fsftW2;HFNmd~geaTBWFv7gkImg)Uq@eYO zP>5K-cRG?FvrC8{m|ap)>lK3nzDEIMW_s1}i3~$}a+qETgSbq<_p?&N)P)GKX<-7d#h)C@~8l)MES%bH<=kH8GG2$WP!WQg6F15c14W(8@B8DcnGry-Vt zmNCR8p6>ecy*M|{)bL1CJxrc*aFFSjI7DJ5)XlXQxPweX z`qv{&zlmKjlWwuB%?`!NpUk~B24jSme%k<9*Lrbg-;>Z*L9_2iP&MA{`#jWQW*;&u zGy5X3fs0=}wsb}^IkJ>*f)U2ye?mEKQay@~rg3TDRwnYGQd%2tOEta;nfP1{s3;0?5n|+z+3~ z5TqxUA;=&uV+bC!ieHrBIqA2Tlwl^)yo#~o9dokp#k`4u24woAgL{yhyS{GSL>mqr zt{HCD)~&0e}ki;kPBkCv!>JBQpfy`G}tH1Y&+JdWiXxHY{Ra6Ql*-0OJoP# zPFbUy&Wz=q?&DjKA_TWrhxpEw<0xvLrI<+0!NxM?S$BKMsBCJIzoo7q%j~amKnb$U ztk7tI2+u3X>$LARpvNxkAlu?!wE%|M_*HC|u^;+~JKhm{!xzS(DwsH-hsdt=_vAZ7 z#(O#|>JZsK`1>nxh>U@uD|2-gFyb}F7=E+_`TMz5n~i*XT8j&MI=<=z{zpF=eCIRY z#Rd>c;0OFY`3TH=iX-r+{rwdnFax6$fp;_KCmUIJR0;`VYVULse#<{l9|@m`BjHc| zJ^4t;dx|6BGyeVxkdT29Ny7Z%Jf_O3+KW2f2f7Y=@_9Br-+2k3$?0vUFlD^$!=PSS zZyWm--uBiqGsvqRU0(cey1$^i%g9V2cQ;naFIWlgDZxqc&=NOVUUVGTUvOi7eG1g zp&o{hriXeui%Ipm9r-xzHe=<0{Lv}>+v`w-c`Xp7>LUv z4+b0<>BaW0K{-z(YY_6jRu3ACGj zRB;xJNZ2#&G#Cs>Stw!SMT21P)zCt_&gvn99j!bH3;xjqMlI8c71@H#5$KT^0#DmQg`rZTW@tXXA;svxL& zF&zJHcdB%!k6gk*CYP0IosYA-^+1)wz2TFpFJY=k)A67e;{0T42K z;0iyf?d3|u972ka3I0om@fSv$ei-?YtDg~!?xLzxBo9F0h|`F_g5p6^ArY043KLH* zsj!qgq5$(qgm#P62AMM9$d{?F*q(=)dUpBm0h-VMZSx3j%7FwlD^E=p1S-)SV?CLT zUsa(3X8Eh|@#{w;Y&d`t3KsB^uhbInUJ%|>9H#pcb6ojMbr9jnk5Wxhdz%#J_pS+G zRUT%I=1z{uEY9zZ1+>b;tc8^)j8f%v!yC>Ut+y*ML4bQ!-&liFGeQvH3@-5h1~^26 z*Iwexk>VftpUybYc^dMT*VV!7&hY#EWq2l6HVIn>%b*Zs2?RT3up*A-z#BLL+>*cH zqfESYdjxzsC%R$G@?!}&rF14W6r;Xm*pMbKH&M{jr9esWf96AFK`9W{qWL3_g)AIv zq}oy~1lzewzT+g%S(-U`gni&_)Yy3v1CXrdIcxd++{Op2F{QWLfgKS zcWdNUsOnpfF?I@W3M|f7Aye8WQwSsBbJ|xSyJCOXLt5t|WeRd;k@89yLeWLagjS#E zQ0FHRhx||{!wRi1T#X2#6`hJvWrMv`nyxH zQn)TSn%k8WqKVG@a%I&^HHa(V`ZQ|m;avB|n()o@Zm!x%ZCtD?=`SVa$(pQ2jhKu3 zUqPi%QA!Sm!tUjz%-vPPP&`PKUPeH;#00;pY6r?48ir_zpU?_0^P0Wo3&Vv3eULC9 ze?0zR`=dLRJ&O#U8flm~=NKcv2Me^2S4mXQE zV7Vn@0q+5DXT>cXmMazTGlT9f2^~FUpzF!uW?eM9efIcCQWb_Pn+8#K|GKOP$5ThJ zxNErHWu!R_s~q*ldR$jAK$1UMXOwt>FCqUI8vv_oPw6|nEw^(74?|KX=d!3yUR0)OUXO@Bqwcdq|dS0NFS-a ztVd2Ll7p0Oa4gWiU(uC}=H7IVQeuJPy4ItG4#8g7I-!#3hmv2&W|=-thmh`KkU%`g z094m&aq&b8pe?WcHy5&(!Xz@4{GG^U3OTQ;^~O}P6spF@6YT-Dm_LP#$>NE^5h4Ar z{u#&1$UeS_17#4e%Q_Lt@gStV@X-uH@?L$_7R%^#VV;aLimD^EYjP&`-V$h+PO8{hM+g0(2EKhoJ*mfM^GKXdkKfh6j zOt~A(`yXPi%W^c~v?7Wk#gM*v<0rqy4>KXFnjG(RXyDo!zW&JMfTligD`_3Szre-!=o3nAQ8@45{%UWjey6%qk`ns%Bus1eunUN{{ zQUH0&QRW6P!#z9A09-d?;@q>7pe^4_pfk6+@0Gj+s>Zu#M?)>&Urer`HDq6(5ZaO;7%2NY~!Tut`}`>Lqs9GpT^=Ys%qod zD1^JAZFTEZSIbhp_9YUbnJ5GkpRVmyOSy=fuOuELugfxfb(@q-BlRUW=Aavq!b7J2 zfr|P?X=_}U^+SM5WpOv};9$7Oe2)eL)XN@H!B1*?xgwKuUDkga?fK#32UMOR_}oQR zF-SfIh20SZnd`Ft1jU2IKq4t41}2VNVqhs3dFxdw3Xv6If;M~47l)@bwBPjXZ6IX^ z{B!Zt=)v&cq43{A_;1n0Q;~A9b??nO`Z1lO-E5^u$l*}QF{$9EC<)2EH|q?eML&dG zMouFL-9^jD$XU>Kkc>z)Wn{#}l1oM`<%-^Vl?qGI7C>rDc=DxYD2EUkVevL8&fUCL zlSR7-@^Cn`3v>Jpaqea^pjCeEMwr9GzAt>H!+CF(V+Fx|Zz@JNbC%-} zZ^Py8&3cblwgb;&yi+!^)vwX5V>vnffLeq7lEO{K z^}k4j*!Cj43*jHj5m#e%@`1qOe04IVRB}JUSn6~|{OV-4-%lTXZ3i_Izc(v|JF{?k zJB*{~!ev4$K6J$5`-n(>#DbxQyzaLlmO_qLoCZfM?006tl1G8tvd+Qw;5424rmVgV$3SSL|VUz|b;W-Hy1)fY8D?!N5}l^n(?eu^?q9k*a{$~eC2L|SU} z=_e95Ul-FD+(lLMHFl-r2xwb1Uw;N1n=U}3*5l_bBqB5BtBFUK`D!T_cITBuVfY}<)USPOWc0z2CiMvk8ubgz=o(NhMxo`jJfe8G8VuB=r@ z;DDkhJMTU+R**$M%1R|di4K*G46Lh<)i86B$kJO|JF))wQ>$a`+7<{NdNZI|Rf}Q4 zL+>(b8QRJoJcM2O1W64Zx>a`2y}VqM{>ILwEuwH<8s4;^Bu%dZggz=qV>8M_;=5CP zBp<=XvH?OnC{VMlRppJ;sbo8RHV2%bARsG5nt!vOo3Y8aF*5G%tQF@aw8Q7~LCmHug&&+Y*0|t6?p< zs;(h-cW+OOk2hPLHSG=6R_C&bW~bJkdJUQ+XF^%qEd>PCq<_D&vPwLA|1WxH!0heWSDaC|tISy|T_?5XW* zb;GiN3zYI??4jE==cAXsckD&LmWg57W6AYB4Vfxx|^3bq25v($Z&Q zA&29!h`)n!e9>YJKAHhGS4m?6t)?_?rm_Lzvo=7IR`^~SgEQ8{lNFqlAr}-H(L?iB z*49DJwZ?F5S!J}-8E-FJvIGQusM%V-WYah%FYG|psU;KRkkfFaz2u0chabIU=}}9t ziNzT1U+uJq#z)q%Nd!F0lX?J08Zg$I=0N}6z;Py=x6!wXz>@BRWu2 z(x5Pk)5N!w1{Y2s%WyXmS1iY^Gwr_m)QIL9Jbj__(wCwJ%~#~UfXuWOm^vF!fuB^@ zQ=53eQGxkHk3q`GgZuABdv0DwqVUzW?-6|NqGeXwegti+t8Mx`f z-BRwb2$qnD?8ejrwl@3C7leIt5S|ePZ<8YW;nM-)#TTw|zR8)pMfAhn0j=_dYcb7A z+oxzo%Olo9M$2leRh?Xen#z*KQW}40-~%Kp9RZqP?h}lcf(R_Ew(X#j!)n7%QC3?{w0ED;o|gfIbFvS?=Ps(+ zY_XvL{m`~*vpo*9OBcD&IN{ETL{i3PGjZgy*=*$uZ7$S1h^krIYZj5q@h1S?w;+gv z;WiO+XrN8>6Dpb?wzK`pT4$owkh#s}Z>fZ6w!a{X0r--^Dy$SPPIDL{cXHH3o>#{V zPw2aAu~ImB=A*CriVEDsAr@k?X(>U5NR#N$y)hU%RV5@#p<1{b$2tzu2{%K-q&R26 zc+v${!X$pn(VQ^I*@Ojsly@05!xUfaC|S=D!^~GeHxfGB;3^6TStg3py}gU1l)^L+ zv!A~bPf97wFUi4{a2?_xPf|+!&f;~xi%%3yL{FJ`9df~VG*RJ*`P9#7hxv;K=lhGG zxV8BB7+-NOi?t1qk-iy7c2Y0aoiANPIa8>wbV>LxK&C1~I%@^GhJTQabYDFaTtgT) zxj|Zx$aWlCqX%9I*)0#s9_J8#7Lp$aA9AQl)W15v zobc5UjZxJ1TRnXJS_rsMQ2t8XR1!*6Qq^KAO#!&Rz-#=@Or?+F6PZf%G(DygEw48w zHmn(M;!Rv(=8}JTJ#DRo$+Vw7kEU(f%_dqxPYVgnWxm#>iEl>Q0c&ur*Mp0%!D%5rj=1S*QQfgGiKC70DBM2s6Rk6!i-|*AUog@PW@anYF}YS z!En~XIRY@Dn8ZmF%2PtJZ8G;8K#9I&HvWk+pSJcowL(Q6QMN4~!!(;v`^KP3OwD^? zrGC!$ju;$eg?hIY22q9n$$pTe>}J0KVGoOemS)O@P$OqX6*DD{DsZOUor?C{PC7ki zc!C(GV5M+k$Q5?GnPgcuyEquCGFB3GtQtw%K(|&S>80=?honUM3-Zee(jyL|Nbk3I zxRE48ILb&8DpQiwVkBJ(;QEXt{LYM|*W(izN%S;5MiQ+j#TZEb^(59(3FF9EPZE%k z*0HT8i4Iw~0j($TS5h638}nX3rh8fmG>Gnyjcj$FU5vZDF_aD}`7n-eiy1@4dJ-Rz z(-2DG%osv%1Gsx&2t5kT2t$aWf()T|aH{7TLVF8CNL&ESh9u1(=Xc4f$v3gDzT`>X zrO-Yze+^0UBcbf^6lK%7hV+XVG>JL)XIQD9^LoAkwCh=L(YeK@&AgXH>}EazMYsK? zPyb|B1^bf!0XTD}N-+iEkOHT`A5+nuTR#WJ3{OyEf2AHZ8o!*=JlFEsWhDraJYypb9`m(i%j8~cxi7hgcOaBZzMV5uc#rV&!4yAPGbewJ z4Z2wNGchOiL5$&SmKH^%ov`Yp<;x{)xg(Yh+ex%j zCcBv}3MG~OAen+D>~BX6m!CcP22}D*su6R0=2qFKplx+#{{a4e7%nHH=w1*S5heII z0pW@O#ILFjhH`r?w_{i$#90C)$866#J(ET8Rf5keVZx$7_6f8oJ|562Us4g$B81%w zvPk$NRFLFmi$(DpfWc=`;CE(GEclkNDClW=EQ+OVIMyM~B!(FkhdPZ4wXG6%1`tuc5LHr35osXw^^{~VC9sk-w{1s5`fArbiyl7GYsY)=KXU0x@ArWaHdd>J&;3z>nTNwuO^GfU=u@Q!d$VUU<$^2t_#Q}C`c+T)xwcVbw+z^jviWziIN$BV) z16@y2`|Tpi` z{4>~@5~~oFI&iyh>$ME6ZBHGDUHRmePwAsy1$FRy30B#-o!*nK^iA=5d$AXiNiaoE zvKKZ+_KO;+E}00dGgFA9;--n@&>Ud)0gEZw7yhSd17Uvc`2XAc5;!@kYHt#(>?T(nMnxy!vF;c439-rL_`tw2@3k2 zprC@NfCwt+14TqO5m7*RKGE<0ze{ahUES54VE8`r`{h5?Rdu&>&pr3tbI&~`^{K%6 zG#YIz^0(qSV5%xmPSq+Ds6QiJqY9J`ImWV;_Ox|zs?bf|RKuvI^=n$?*W#B9bQyj0 zDX;r;@XLLywxKwO{m|Px^?jD6asD7K-dds@*jf-JVQ_9m?B3+`8<%2M~bidRB26jxPrFH_bS)~1G! zYE_y#tvzg}@&)fuc2}Q;$EAZ^+T5OtU2ao4m|aUwnIT%3HN{rjRFc+SqgYJ#1jKVb z@YF+Rl#GGW!g!0##w~}n#Scvx#jZp#)005m8BNcAE#7k2VK^lvl)Rm-v34q-l>3s8 zN$XS2zV1uqW9?w&j75cwYqxUt1-k%iE9}#z)w3Vk%?q+x)uWy{1Tr6DW|ivMXLwuA zag}4t7FI$*d$LA#>Qc}GYqUF*H@(KUMl1FfTX1$rJq*R+3o+wf{=8$u0% zFCl5z?5s6WWe9w}&exS8Fpw_qnc_+=@M;&F`_(sVoT^nQt~VoHvx+Or){5&^Hj0I! z@j2A5F8kx*m8z>fRmdsI{wZe;Td)h8LEYNz?$62!X^p|F-5%`HZte2wF5asE&tyqb zIJ8B{%Qt)M@2jwP9*CwRw;->uQRwAjkB+Y)Xu5A^efVFdx;cBq>!SK66*A_*(>9M+nqzewO_Plws`_enre2a0yWEf zImoB&3MKg#j#{ZCJGJ%dy1ryuN!H^XO7cS@lgeFEdGgVvEqP25=AkiIDhyOvD#_iv z5=yeTs-`5%8aJaPAJCOGlDTqUqO+XIN{?~zQkjDILW%w;Nz=;GIiW04kFvDE&cQmbxfMbpfxy~SRYx6AGJ1*?;F>2D5^%*&Xc&?r6n+eB{%2dHsDZ?t;9O*q!h zL~ld6?s%JZOK7t~Rl1vy6c(vN-0J7BMY=>>c}u!8yri&?J*bjAAA69YW7PZ_6v5`c z@bXrp+7UnXAgfVb4El7~8wGu;3tRoV(qRL6qfs4pk7}QKP=mnv(8I@3OYgMrQeK@p zRVc6Pkgi$fm1QgCRgDLsGY;T(T{>gyVkxrYNrWG^rLz>^amYxctCTNf3}^DJKY`7= z=9{d|RP!&YQgu(FTZb4F1pSjk&_?#Q-CsUb1I~TRCY6wrqkk(quP!?29qkcJG+pxm zrAlb9!WFiB6M@zdY+8h)J|S63$4hx(b`)>eJTS=Ho%}RHFFwMVYLB<(g-tw})$T?f zpFx+jRPA-$@iuo_q~;{D<(;{BC-=<2X zh?gossEB_Ng-Q|s60d}a7gtq8yeTW(jFo4O9+m~8Sk6lC_*#PAA7~&bi>jhtO-msk zIoKyCzgAVh&2H%#_MGJ0U@oag^1iEB1@QvU|JO`o?!F5$_1IIF_eE*z34UmgCLw>f zt3jl?j6DvW%t_3zQvOczb+VWsyqk7`ulUS8F((^6#kg;Io3?Lg(?ShCdm(8AgU|f% zlEMr=s-$QJpQFOdYrxpbBv*~2ivg&N=)Tv@N zeFww7+1Zq3>)BL}2{D`gO-YoR{%tcC2O4}N|J$p5x5Xzy3VWQG>&Qt{%@Y5(*5cKB zR<75!7I`RWdZwy8Xu8F1J{LzJl(zX?#6;7TXskHJP@zd3?+Cf7Mjsy^M6~+2Wu`WB zIfeSH*`JEkWM%ic0g0;EefY@DYn#XJ^EF?tp&YF3K3^5Jto~{bCpXWU8?H_^DLQ?i29dfo{7`1V*u?g4JjakR<;4RG(6$B$;YnTcZ>3p0@mOAk}I4 zxuA|*mE}jv53MJLR#`6#v>>;~b>*_ad6U=%a6T* zXs^$BR5oPW*V$_D8h-5bRTl%+IsY1k*;O-Yp)_Za0ts4&$>&hFj%xD(-Qm3^pSHNzqiTyMb17_0 z(Hh}wR5q81%~|G2tn^fKm8!cI=3eFsG7XJq3TYZzX*WDHnVthQoiGR3Jm{S~l$(60 zX()q2&Q-$_h7Q8rruj-`knV;hUEETru7%4>h>EO-OsV{YV6~*^K;dfm>K9Ebi}>lb#D`f6$0w6 zZlcn-^49j5#%ue_Mr!L7scsRj8>h@nLA~iDHrJ!@W@pSh*Z{dnQtuEHQ|d-Vvzm6F zDV5IQ`A!q=J$1W%4}V_H-dc8f*4Nf#m)o~HW3NN^1m+=)$fM+2J|39lE5s}6qPc31 zLtbGl?A4CkYjSf6l16vceixk~UA5Vr(p6hGldDbPlrcS0|B~ooQk*=)Q-=GKZc^F! zr_B(5 zT;KsN^n`I_^^D*%Q&&z-bB~hEJ)+U(GD?Wk$&MgO&%jB#eek~p|7V^)M3z&rJhhkr zr`YqPH=)ufs|URJ2&ya9$<@3P>ZG`;rcTPvX-1u#Exed>`I6C@&#$FFrikkqVps4x zlvHL=UAx>;4kdlrd?`EFp6~9?W^#u8H>hg0EDJL#6Sa2bb2*4{BeiI0GF!9{Wj3vx z6++pw9!o>c&S8uBmqetk*VHh%lA3zF2R*U}u+Zesvl|zzyVj*9IutU`Wqy^$hDpBe zl^WIFP`d0zO5iKL{mrpu4+1JbtyVeFT=@~41%4mH{wb< zn6@U`q;HLi}_j*?yrGK@*B6{|Vr}DkF0`}`@jePFh>)&6^v`4M^BKv)+`Fqv9EY`t0ikJjSM|!%sT^f*m9=-eb=%(yMjOUIk=7uJ z(MDJ4*43Yd)u&bfFMMzFIStAzTE-ks!Q4Rc4F+q1Q>?OeSe z`d5#PiFOr5zdJb#HF8&9rlEq(+yN!3ng}O|<(rR*oO)TCGuN7Q+ulVt$-SCz6?&~b zSOw+wZ-#QK=VMfUFiaX4CUz%$K*EM4O{FZUzJT!QGvlgFGnZ6OGjcfjMTAgRg)HsL zXS2!9d?AS=o?^~{JXP{CMyX!HPsm*%Iw6fA7L@=kK)x4J@WL-aI6HU%}w#qFJl_ zXI@M-y@*f@#U9fME65o*Rxtw$*uW^Z7x3>U#Q+zfa0xtWMG)pr1jTgbIg zE!Qh{0C>N)zske1rQMmHGLF^e3yD;+lx(BDsXqZRwN@Gl+OVL?txYic;-Z!%1AX~| zSOT$#_UvFwTU>kq2y?nvg|x*py;!}A2smwa#QjArd_5r^A%*yx=+C4|=|u-0aDcv% zHZncw(xL--2Xi~>rLswuOZh}!HaVz@Nam0O7k>#%@x{#>ZRf_&QCH9I#C3KK*1xXb zy&DoE6@SVNa`nqrxW%gHcDvS1Y&$qjH^0dIDz_aT_o#cH{tmvjrgH@!{W<;8~en;noef_}44cu8Sh zs7ms7A(qg(f!p%h+pc-xr8UrnvJy>o;W*cdKdARc$>+LR`lq*L$Az~nY|tHxq!D`T zqv0hT6Qm<8lsb|s$0pER( z-if3U`ttkXB^?vem#QRhU)It{9}h3DfxeX0h}f64Uss-6-QQWZBx&Q<@=#r{^`wKm+Egj0@-X^gQ_JLb6}E!o_R7KUa^9#xt--kvZxm;gK_fe%sNxXzU)~NsRmId?TB|KD*de=SP|fnN9@P zOU6&YMnHB@lC?c{qG80-rBYvU;q2LJM`5<~1DvhCS(faD;}_ilVxlN)?lUhDAs9Yu zN?^V2ZpyOF))d{J%Y8Z0@vuSaII5UARrc_dC_QZc2`$Bzn(E|HFuCl6^yuJi5Exkd zjKQE!OTYbfVQcMs*e9|}VAnn%YM~Bo8b}LD?B}Co`X)^fYnLiarhB;Rb9+FFO_F)O z5~@2v2-#OIWQNQI>>v1@e_GX0_}A@S4|luhQQ!LkG^jpLX#XF@N+XcCMX*x!M$yps zPcoq9y3pLsmn(R6avcRcFALDJ%Vu`&={g*JTBVnD%-)9xa&t~)irhhrC&hLqJ#y%3 z)0r=o^1ZVP+<3&EBm6rH5H*@BPLEUwr9z}qY~C`Hf`1wj_G6G(6AWY;YmMuK zm-X7jnPqr34P8B?$3cZ)I8M1)3I8i8tcCBcq4s&{jYQv8xF*Gvh}`5 zWAzpAT^voe&6}x1rIMslp;0QuK&3nqhwX`x#d~ErnxIuU@M3#g#9_C9eFYKyo~*_V zba4n)l9s7s+9L1dz@>ypVm}fyD7>7tN8DOt&^~q|=Os<|D*|eS6B-qJ_P94wL}ZUz zEpm92dO2OUNs{!UM!Rmjhr!Jp@~O(xUxF{4tmfhId@ud}gg<;Cz7GD~a2g;XscYcq zq*;vNtPZ`$^SwqqUoOD|0)BY(<5phbb`q(6Bnn11JmcX|h_uW~9QlFYUp!|>2R`K* z7(;It;7n2G8A^WD5=SX?&j~j{*>%#N50mBltI|%#UN1ZL+D1EeB06>miJKUc0lICg zN4Z`72`mDI@y{7&T;|2kYU#`MwBV1~XNbSWb>a_B2lTawQ78^+!8tRDb6J=g;1gPm zany9@3-CbELsI4~&IRB!l|F3%x0Y@kG=Koj=Xo?CZ$HB_LT>sfzg4FIa%0kVV8vJ~ zgDtz`qPCeF6e_sA2%l6Gp3BQjTnEIQ!rLL9d3-|nnl2RDMjDeG+5oTAe6~#Q8R>^p zjL{dj7lE$hO6p6$*`jd5;i{()FT;nnM-Q4zzP-PIqx;gGr#%iGK2}A&Dwa^+u33UU zvt;g4uNTFoj1ruCRbZu7)2qa9w*C^*k>@XV49e1_V+B74f8Ob1ZqBcLg*;q`>4ntg znqRG9XK7)KD|?g(-SJ*uE{>XIjmV_t%o`HRUiXsjf5T< zgDeLR1KlS}MoGS=XQIFE<~_(ki%#=9%uYH5Rn+&1@cJ&OQQ!H2^&N+rac#RLLQR4#xYfK75Echxsszr#3=IZ-yczr)qqrL|R)^`SKO8JF9a*_`aVGd_n zySIc2yPyV!EB)RD>ds)nub`PV7O1N~3<>>#T-_pa72fwden8#!pjpcq2Op3K+HfF= zFo37N>|K_+>?-?5nE3U~7%7c+4&B>V6K4+fhp2JvFZ&{mw!g3?V&0rAG$OASVi#ov zJq@5ks2~)h*lsLQ!u(PIsuL}@zkt77^TiBd3CxY zo34#!p{12MVZP&{&Yt$_X`D0u%@fF3_#7|))N6t98Dn=v`sJdR!;P^A>C@4TkQ91s z!|81XHG3%9N--x z7J4W48C{ufe4RiH2=$gSj>&ZcEQV|P2G+F8MVCCi;N%0RnSgx65eGf8eA!5U1}6uu z@kAE1tI4yGY9R)zqWBUUYzXb~3X`P0zBxLig|yt%)kJ4VSc^mQ!}d^p*`XiL@o|~= zK;j4zRgdf8eFIJf#HwkNFL5}(sblOcQHc4Y!+NWdCc)k1)W}*KmR|);s$|zJNj}jO zNmjJ;+$^k5e$FE~qOzVXQLN?FvISM5<{ChtP}$*@OuHemHr!&-5o##xU1RSUtPuy2 z*VqQsH8k}IQIISa^IaKX7SzL0g?JDfoiL-&vvI$>PLw zYEaLJp4blKTs6>Rpz7g?Z#B~I-_S#0q-ddwm(>l>i|@E6J?{V==c0;TN1ISihGMur z>dUIG;cD0Mq{gX^d7m3NL3DSRbXDW|Bb-xk?g8|xn^~tL@z+HMh0`fyL!zef)B2k2 zf#r;NdzaxOX~dg?fe*$>z9#HhjHnWa<&L{PQ1xv0pI8x*rD*y_@E=6!>5(ykgq2e) z-KA@QqEZo2s-RUOP|L9}Y3A~Aqq`fy1Tj#g{Zzip0V7mLOn&S_rl@z~AP4$Z{N zs%A)07=<#Q`;)w#zKIn$vgS`s1LhiUOr?Aa&D}R=Qz~-K-fR}8)h&>p zO9q6$>cZHXHEU#mOByAeAl=w<7XdUX14KiQ=Bu&FC#^GMGEm2<8(Ich7RFDV(-xnL zQ1hp^#ajmXdx7|U(CHgbpBbAG{|Ey}A(mpc=y5oZoBi4r#iHV!Q1e|uuB3fR#-JiM z(!qhAEsP`C9yi*1+T&})J2>_Tw}~}%*Gk3rkjZ9}G(*??qGKEJkGs#@oF8jb&c&s! zo9L~KZ>)Jf0I{0iK>2{^4l4u@UGDU+-i?&{fH^UQIAr{Ea@bD@_=1n=!lludr0*&@ zwT9K&E$e22xgDF8%gHtCQz`8+Qj5`rB$3*3d{KNu3j_O5QYZm}_&RfJ=^=iA4z>!j zYqe4x(pc5sL0c~J(ahs>VhzXeS3W1a^vwy0rW4HEIpHo5a}RL4M6eoSZapKM z+kM1(?%eB0E*O+ZF#H;jmx^e(G3dHM!r4u*Rz)hQ&TgqBXy`oW=B#-h&I+)G);1qq z&;qY%ct(PKz&*)5R;icSVpaUucsfQw z(0lXU@6E?F6!hM_wz%`2_yK7Xi@O=$9xzMb!>NV~GLy30J7DHUueu&6N1-=myX9cu zNC}jYiUN47WTZ_6SLeSVJOBA8o$nhUhoXC)mEBW$?#X?WuVeEPUlXJ|i~{U44+V7p zR->BgXD5yBYZuYpmPC6i3ensn<`7WqFOp)Rdtx){fs5^Eezf-HM#xf$}207NnOr0tt4l}kX@ng=$jdJ;=S6xSj=Yswf!(NPf z!SX6EaYN+h^r`is@XSK0L@(31K30gJG#=th>d;mwjWs;0=XyM=Sq!bWXxAAXFJ#fZSI_!(0_%Y`g{O(^BN5}o+4 z3is_%+(^``FgRpQ?#|~+j7IKyxMG+!p@^;8T)8(fKr_$~?o8y@k^2(Z?-5_LL6%eH z9sNm1_(PS_3GppsR2e0z1X*r0@y7UqLCaSnYpgS}Lo0?`IC+(|e~z@aHwH4G6%LG) zi~6OJ*2t96S?)pdiT%k!4u??i2HYunac3;fS9KX|)X*ktVkXyDE+w!#oloJdA!}^8 z)IIB9d`bk@)4UH8MxlUUw`m-E!6#5aXI8bVG-OS}GRK?CNRi8sHQo2bmxXx?27)zF z=Ihi!r=I40;7e?6$2Jr}s5D5FMVp4K30V2}l(EGQil^{p)YHfuZ@Q^biTF+t(k1oc{i{+-34(}%2`d4)poaV-(>*T^xq6uNvIf;6DR^f{;Y1Sj%NC(cGCI5;dj{y=|!f4hu5(4H^!%uX5W zX5-D`>>+C>rVtfD3PeIiNCJ$!A!`io&)VmJ`Jn5>LU)(17~XM;*;j9JP;n;ft~Cnn z8KcxK3(I%SPM3PKC~Pb~N+7)phgOWSrh_+o6ZSB*j~^x=;=m~vTiX=};q)?);OVX` zk1^x8P&UsYFdiTI!GIHIfQum54&t}`nGhdgk|dta6TV4&=&>Nj9jGlxiPUS$eJElg zgp*M0lsvc?Tm+w}TsL?@3y8@S8O3s^_r38(Z>N!x2gQo4to&Up4WfI~hEc-3ox1RG zp0x>_rOIRz$y5sG(dtkOmA87GDK8g7D4|;4Q)%p8~v2_&?tT zoI<$jVZarHPd)~?fsn`KYi0@SSf3){98}yqn@zr(R}Z7D<{x>rFJbRxfJ1n7GOxD9 zRoNQLmX!wk1Px`|I?{_fM6)_XlR89mIz&@CL^C=>6FNloJ4DqxM729al{-XrJ497G zL^V4^6+1-rHi@cj64lxysdFVxlK zY;$qzyKn?GSMICTQ1zN>p2;@I7Med{OMXW9?Kr@Tgb$AgoI>d0aLEwFaQO+ZUL}OJ zoiEhY_I1s*onpRQ`PI}Sfcsrd1-3>}VcA5qse|zHB*1F~Ar>}LO58vQYcXG_tHoxM zEr$DGCRekq;w{}uwm`M=ZMNg@gumS2*mI8iGIO15q62e!P0q!EKUjaCW@XB$3KM{mDPp!h$d4#YY@g4q0Skj#eW>5ly~tLmUi>xN@;k!$Cjvf3IOk-*g@hTW09pz0)qs5n-zWT# zaQ{aE4-$-10VY9Ab!Ui~j}S(s4S1n0DxKXNmAFHX@4(hA$NleXs1hsU>`Z5Jok=P#4wG%~6ft zSkKmCEb)@259_b!^A20_E@7Do=pf8l3pkK4ycaNM_93i16L1otqX;;W z&{qbO3D>Lxe1h-};U9!k`vFP9w+Y`P+&TcbopAXe;A+CU^?(h8<2L|S5%xX{Fq81V zgl#qg9w$6Wxb1AfR|w0`1*|0e;XJ_W1nUC8m4uNO0%C-#Hvz6Am=^=`gd;BjEG6uE zDPTI`n9Bgi5$+{?m+-MG0GAQoCj6Zs)WoG%;i`)e#u_r&)DL{-Ml>fi-YKKn)!g`u7)J2CTH3a!VyxLSK;tR!^25f<%K_A;u zCTzM1a5>?pp8-5cIPYe_MTEO=0ep*4xDC)xSoTFg2O)MBU=rcQ?*LvUh~?2~-^JA+ zA&gdhp)OjjZ*ElBiveLgszo#J+nRQ4k)qu%*siAu7kv+45f1!5;84N~gjWgw{s7=c z!qNu;#}WQY_&ed&9{|2YIOQS0X@pTf1dJ!#O}K~9{Ubn@u=9@r(+Cd|9wvw-=rs@H z>P|u!wfRC_)NXR6QsnVZIHcEDlBw4;ec1*@-${?4B|8$5KLK8VCb?H6@h*$&m#-F}MJ>_M3H1Yk$Pz|R012`hgNIEk?DF97=! z-X#ow67UVeJp^HNC_IHLZUux=hcDDc9izE1mw@RDM(9Kh;%Jhv@`@y{vI&1C9Q9kk zF@$}e1GEvIBs@*%e;#laVbTkLoe1|49w7YJ9{}GW9R6p(62i@d&l5(x2^dTGHsO1O zYu*CfKsfL3fQty%jDUgW214&>K!NbB34r?uUz!NGgK)tlz$U^&+W{USe0qDpErfNG z0UHRrAbf~9jqn=b4Z;~a1G)&;P6gaZ7>$U-=6FIsoH5O_2uH>NO9^-E3Amduy9Ka- z@GRl?gnw%VTtYa1KfuQbE&Bu72z$>0>__-H;a7z9?SOL#{RaTfB21eD*po129$j?`E11u!GMfe-x zg2Mq969#BM6L!NN(0)dPp?SwK0Gbiae-LOmH20(>jb=mhKmv`1()PBDSHkvoKCguB z?LT=XY;Ujginceig;uyn2~Q9PmjliwJWhC$u>T6c0fegv*AhO8VAp1X@HN6W3A-H+ zh!b8X{FSiwWWbq(vrhwDNVswh;9A0112Bm&BEz2qlaMFeV*>6c+_DyM8=>3_SWmb; z2ly)C>O9~&!gtRE{D5$O5%3`4cV)m!gfabqiG;O;GYO9penyxx0635^We~7CVc2@W zD8kEx*9iA*06ajr_AJ1Sgxp3zk+9@!z;eR0a{zl1?mZXqUBVgX1G)(R#E~v@#D#z| zVLf5niveQ@zaspGaK|Npy9t{v1zbk>#$|we2(vB+%q6^i1>jvm&&L71gk7%$Oefq! zxSufNDnKjYV}#2HldlHsLRd%GK=>8mS;D15fGY_fx(0AK;c>!KgbV&1a53S4YXJ)g zHxoWjcPEmbghxIJc%1Ofn*sL{cD@BLl~Dd1U_IgVTLGPfRi6i} zCT#l!z!<``+W>nJj4uM#5_Y;Bup43dmjNpYqwWNZBRoTRj_|2_0iPvocnEMV;mscb z{zmxRj{#pKJn;zNDZ)dK0v;s{{seFiVZX-!vk4m?2b@p1?+L(zgfo8zSV#EuF95d? zhMojmPq^flfGY@Z{0i_6;Ya@s_zB@NPXlfx3_JtaNSOO;z(IsR6W%7={2Ra*2W+Cdz?>rG&9qli7k zO2fAkM)$B~@`J>lT@ibeNuC0pr7YCk;l(~^9Gj2omORrAPoQSA@j6uuy&BCcXsUT7 zQn)wg1tlsp2J;7?PtqD`Z$XdX-o=nL`XfiK>R8rs40q1BGrwYIdoy1I+U6d>6|9qv z;v+IL8PLysj_`3j^x4|CauR-Pua`W)V!akj&OCZ6l}iiq~O(j4EFL;in(lR!P6>c{iMX^QuZ#?aF3H+g@=X z{P38i$wMLLia%_nH)yW!+KECM+X2RWIgc?jV&La1atPI0Gj z@PS(q17ph==J@zWy1>}N(G`Wwo2i$t4~pCo^Zgw`s#JEwDZIORJAzr7bRI2R6Wq={ zbQozhpTh&M1B&^)xFtPM%opSj;eukmB!37W6!R7NLph;L=*lnvGhArUQ^FTz0#C2# z0;QXb`;L4M&NJ{T>g~*DZO0?=>W;pf_S<9KIkuW&4J($fV&y6ptz54f)>vI3k>6xb z(Qy4Ml;~@?lfM}CWE(36Z?-PDQ9xV{S@>XFHY+`Z;L$jGvATaXC}`dZGOU0kT^x)Hmuux*WAi8`KaXSzos-+mmpye@e+0VsEGTsT_$+dWrGY&!YeY+>i@E(QJq(k^-vhdRK^2oHj zv|d^cSG4q~cw-z&UV=Rk7bV}qPen;S0VPMjuPAw2WJ=!J6eVL0C09P`q2xsTRFvcs zP;zW7O8$Q#H@+XahwiVphqT-yEV`t|0t?fnBQ^HMPt`+w^1hQAzlluAr|YF; zEvd2lZ5~QqjGu~722;-O@ zs4>^jtX#|06rP71#Sd1+g?BnFjE&6bP37Sw=bXsoY_FG`frE3rm#AU1g!6m2Zd8?H zRMds4&%Go#E;0$0)k^}+QReyl$~fGrfE7{R&Azn^;%>?{9!W^Vv&mwDvU#@ePk;eNMrvLRXZJp z6m@B*fdi=?ySUVoO&a4(8iEaLvVG>&Z7sCM*|)`E!*S{xCpbdc17o5UOYvB)I>Aci IA8~R2FM$cJUjP6A literal 1332244 zcmeEv37lL-nK-$VNw|^28SoL1^n_#*!W{@2ZiIxG1Qb~ud%EAG`_a=q^pVU&R8%~0 zpU29uBHpgIyR0s&!hcy;QPfq}^6zrw{ zsa9;Y;79nps9v0)pO%(8lgXDcz^xgMW1UXCq+Q&FMKhHHD}$94*kffVK4V>_F%hn7 zO+Yu5aKpMCbadOM*8!bc>sTl2)IpClTY&V@m(K5uRhCnlbD~ua;@{(e9i6d>M!8c1 z)ChGBSAI$eaT4IOj^eYmax{**atsW$5&%V4!vDv^|0lrz1sFzUH9>z3tzJ11uvjEF zhzD9puSMQG^{WJIAfW{ZmL5_;8q=y2A;ub=db!w~E;Z`qDoRm6N6ZK8TtA`4GXSHD z{itz)M2)4ull|gF)p|LclH`_(bXU5@OF#~rRU$-%c;RHR+MJ0CbS!5Dwn5Ltt7z4= z)|!>YTiY{5WaE`EPKJ2gG)v*gNFspiQ0vxZ=sq$zy%8lA22tM?G{)^XgXGKuS}lv0 zffg2bHH(uKiC*#hc5qDys;!_HY@2RZfW0Skg%8FX&7f7C=+wX*KtW@CfDJw80RICHz%ODKYj0e?rP^_2Nf%t&Z zRL7?W;0LfGVKV>=9H8j5P=N8vMO&{3F1ldr1=}}Y7HqrX+{-RGFM$6q*t+9_;7Z^< z%H7F9u{AK+8LL%Wm9QL)O_PQfA|5*!9>ImgN}-qvX?X%-o`}u!ff>_YVpEyIi9*Z6 zU#EGPu&NwX>x7&YP&N2aY$NmbRBN?hEDSoWaJ*AnGXQgQ@T^OAUVQl#JA=(zuL_>E zdHeRwTX$Y{7Ssfr0i~d<6i#(wvQ`Byfpj#B_4YJcjV%{!Kks6wzxmutF1uvsRRPGw zg_rEydclqz!G)J^4>kweHgDf~$$3{?ws||q!1isI@3>$j2zCH}K|%(cBm_;>1Uf5V znTqK8aGUW*Irc=3ZUTXLg})pv)5_5+t^#Fm0l#bIpiTck6F(`paS9Ch8 zhs|Ow*oJyr3NEXb!g?zlDApP`J>mxpCdPJ$v?y z?5cN08qHnn0185AtviSEwoo}duFe@kGlHaZ*(q@07MXcCm4mk%f=dmKKVJ+~7R5s* zf^k(aR}upRKWeb@cG=_PJ|=fj^78K%x4=n)Wlg;4T;{)?C;Zm}arx2k*?hU-nRtV(&Pb+% z8LbCM{eEy<7s8sZBr%UK#rA`R8Ezex@&>kVU2tqCgN3q zfgMQDFV;bgiNh$3FqWajOo#i60EUA3xrs>!k;N(9ZMn!=xYR-bnm_ zFDgI&K{pZ;KmN{-AOEC-Z{i1o@5hht=z8gaAGGs){19HGRzI**@Pm9&`SGA`Bqo0R z!jB*G=V#}z$ixo@-;W;$>3ZpbAGGtl{4nVUI{FenGWs#B8;OY@PbCeU?bYcz_$GcZ z_QYkJ*88TC9DGHiukT7%5!x?GBM^kevGN<;F}o3;QKLVudbIK z7(+YH#Tan=rQ-^+wAHZ(973rYXHx1{l~p(E25Dl|YyDXD4jp_Gs~CKhRk)Vt!&yka zsH6C6T`xVbiguohRm-Iv2OWJSTq!-;X6n>3ZpbCA9N= zEJ=3Yv@9XTTum0yZz@YR=mukA$p~rSJpVsk2j8S6489*rw(5H6fhDwaPnOuLF9#ns zvl9iYSsLO4fixq#tKps!?557d2l9`j#d@it?4;QCzVTFmS;lyH6u6BcDb|Pr2&;j1 z)$&Z`F|wr((FG9IqYsF|?bRp(Vke`aJK7QrK1-reAbzC+1aW*hTD-}g2MvXhP-qhVDtstG?eyPAy}m?$4l|p zoq}|-efYUWI8NFaY$QEwd>%#hc~qO=Fk=ZTPnMO*Pp}2{r$`GDVI+3;S4@TwBU9fs zIt65v_rVU-^#O-DOKMf{IEpo?ZgeZc#Yn5eT>Li&v7Pfp{W`1D#z zHihoU!P^K2qd(Wckhl7TI7HJ>lN>sg8xuuX;6?AnAC{oJ!RdkEPrMv{38&!fw^VJ< z+(atC5pW$oE`zug#_;H+*ci~G^gy|jC6|vE5uJgW5DW2m*~CXFBP{QXNdm74-GU>m z=x)TF2xjz3{77XpiK&>}5w^ML!x`!>h*}Ww5R}Zpo(dfD1w{_u)_a$V4`wXvF>vs}4n9!9Pb| zx&*}k+oTnYYakH|X>@F!UluPPgUK#zcNeQ=C~#?6icjxR9w>E$g^C_UjOirQGsuKu z1lnNq7#X{IV3DF2MgVYfK`c}BJA0GpA;fhsdXQ9&9)>^Sgyr-eg*;7;Ll!3F=oMr_ z4gzg3It+kX1V|Ukz=)| zIZAxT=;;Xse4r$QCIAMbbL}IL2fY*qeU80}I_U2HO1zj_nVERrTH@dT3ROu_z@HPX zGU{yfGi=38Tle13ApVQe0rK$cq=V>N@JFcahjx;%6FwKxK+$ee;Wfdk zdS?~<+pIKJty#5u6~ruuB?$Xw!!}iMCj4HE^m` zpfnCf6AqH0&PXeuRh6`g z9*}V7&Wo52;!FETWj@$vWnkWa!>#qs{WrXEO#q*OfA|sp-wpqJa4}i0MK@5wywFY< zSp1m@}GW3@)<+EEe#ke#R#3a#-G7)}DeMhU}jrsMiEzi}bAUt@0)#S}Uv zfmxrK>QfmqS5;LXaY5CmYa?^ZuVTGHv6SK~2XvywtFQ{vJ4sNyh!khIhHfQmnGTd0 z*v4ank_$c3Pl5xWA+VHjpyekiEkBNb=ynCn`APp{jq-E`zv$OlT~z!U<|QV=w-Mbw z;s39NWx?9w6hzmS8jU7wNWj7{fb|1}-;ZH1Bw9aMIMUlZ)O0~4&jD;NVic?>#OO*` z!QKLZ=Q67cAG+T{39>sttn7HTH1o>nP8cBB3yAJQ-r{yn^aDz%?-EcLOBxgsO(yiF zMbRx8>Hzi!aqPp1Nw|tqZOQmAA`2rv0QODgdeb7YzLE$NnUeB~k)sM!w*uyz&`qj3Sd51xyKqsV-=%J?R!YSl(q zdh^w|RvRI>%%F|Yeb9^WhOB{L=fSv53kicjF{OJNfuL17TBK3B=yx)b4l4F+3!0LO zU16yzt5|d(RMu@jc2TkCKy?E}n2HICWK>L)XjM#Z?&Lr5G1Br zw-E?h)uKiHP^~*GXiBQ}AxqUfs`U|oZJ-EKEkTitYKao9YKhWgtxT6y%U&5&3t{(7 zwZ4@C=A>F_4D71)1`8+sRZE?*u85vE##A{o^ZC0f-Ir5e>rG2N_M>B^v52)l2p zbuy4a2Iiz%X$so+qpa@efL6MAVi4v`9iPB@OOqW&5UKvyiVawW(%OQMC3Ye2> zr7^Ip))osV{Z&hywX%du*(CF|UmTC}Jis`Y6Lnv!aL(o!{# zYJCP^8z{n5OHd@ETB1a&TB1~=S}CTRRV!T?R10DEO|^cK0_LPzX${P1;9%&KK!hX z?{o{&()e5n3X&r_#LsGn7rS?Ofu(95f_}8UeGa9?~T43R=r}g@#a+xD2j5QiHV!p^Z9gUz0s&KSS zj+!yC(GGe}JVFc{-jcv#a$o}4&t!`yTCj6ta%c?sj)LMO=Dukm&D7qLBw8au=4L#m zJqe~kDlm0U2mxAf3#CkQZ|z9(YH{Rrwl#G_g<06tuYzY}WBq0eu??1m+1b|;2wFQ! zi>!8bA+m(q1^Pur@_iO0B}?>fOVvDv;R68MKo4eV1wAr`L6m3>10$BQmHX7ytF2O+ zoSqzOt(%w|!u-#{fMiSKWE>Drxe;)Fbe1(GL3{SQ0+W>EmYqWz04+pObweWC4ZI8URt+)ib~vvg)aV zIk0*)rA#7W`hgq?1ChZviAuU}7{&R-C&;pZNAD!TJIDk072|g@><~nb&*%crfu#^r znxc(eNFVVPQX|NSgv<>_UvoG@{tDCqy~0=!%PoTFZd&y&2dE#TRe4~#h>l63LoUAr zbA^&1I1>G~MtCPAW#@#5bYor-Xc)RbG{S9UU?Z*rnV+-~SAl%a?mJu|6VWqKRtKZY zeMD9c;aUZaIYl~S(VajeeozW#6D&dW_nDsx(LK^{u~#Ti$zmkXRrw@k)bnsmA`~e4 zs?;Y#%{%<(DjMcbBMwm0NW9C{CtpJx-YYR}7q^+yG`C~BcrCcMn6(oxpMX5TJqB<( zS!zwOx~D-_Yw$N_mUP_-AjjvgqtmBN)G1hELHP3n706I14WpF z$%d^gLWhWZ@IedO(g^!U*1O$1y~|QH4_QCnGg;?d&1njsRDyopg0Me9 z=bbD%J2}RXA%EOEA>kS$7+X-|dDo=I_Lv3X3?UInI^0cI39V-(O3%(^ z0)+s?`QX5mgc!*#n9;Q$p=o;@$iza^+N7#EH0?aNh#A%(QeI^E--17kkblW+v6Jp@ z(0ULkn%w{)EKSb|q&{c1_PY6r%kuiss|W<`oIs1LbHbCf14 ze0Fr&9DVj{9H4gd*?Y=$Te&yB7;aue8dSX5Ss0eJ8($I_;VLZLx@?-#0P;ev}r$>&usyioaP{zH6BW_v|~Ti{t{9})Ej^E~k>5K@iTyKbJ_1yCnu^q;mKhSJUwJHg8AACKK!yG>`vjvDNe%D@CLX|t zS3ot+2fCt@vrcS051zcn<@Y)OfW!k!QT1!Id^Scz{hgD&~1W2(^g5 zf*21*|I85QDynLR=6deqQTz!DzL>BeyWTI@7yL`Mhmdu9q%W836p zOa1#0BOxZxO0(KeE|ta`Hgi#Eh9s+Xo#xTzm*Wj0(MwY?tlm0?$UaZe8H|4AKsz?$ zBJCV!-0zX9b_Oq}3?^X;T$hyJ1Vsp=4;^r3^g&S7gV784CYr`!1^1Q|tGE;_xX7-g z=ba|)`UOYCtbh^#*;r3iC-<{*k!C zY`c;rMNxZB8R3YcOmiO5okR_?wzo}|ut&jXyurJ1ORpC<61G4ZJcpJcq?9fk~2 zg-RGF&wi~%KXENLPQuAt3rj-CLIs3kS#qQ%%kcHD)QfEL z^JPb;{8z}AQ>=F;IcPS8T51X9i(Uxi0P(mU|47N6%(EoCJ{L`k7Ua>jg8=K^y!%po z45eh|kuo;4nfPd0A^kKNFIS$UkPwTX>+8reh_;u=M91{~vE(G;iSvLLlanV7!imVf ziHhtSg#fxHTAB-SkTe4{B9V+I;A34(M4o_{C$jPZDl6~vm6hnd*n+$_CJc(g&p*m% zx0poyQI0*4sXM7meY97Zg15)?GWCDYj}_pNnmK&)3>fk06c;OR<69eje{(GQC+N$x zvKG&dMgNR7!8e4L#|VaCdi0NvW$-t8)+B;}SvGirOqRmle7Ae!Gng+lI@W;)nn%Ym zw;gWL!r41@+S1!ktUm0-uGV|9BN~XQZPWT{CF+pfoHz!fO6yPMy z8edg+Ef-dTtg!zlC0wdkU8p=*`Hix4;rp>a2Hrd@+WNnj%7*Od#_9=9p7lz0qYu@P zkyArkrcz@0a?|?4Wq&%MM>K%IvRlFjs9Yu3sSgtAY82F0iIxcX?oNG}7v9 ze4prO(!e>t^g11UQ+{a%-!H%PCS5N*$McQ-$LKOVDzf_NXL=~mtc;MLjoy_WmE zZr?wpTLNh&<05Tzv_D|kb!$GsDYG^IYfxT?t@+eL^js0yhWui>A&)rVT!0($RPxDg z@NbxXux`i~&SN_SMR@a8*fnaeA$ci0aSD%`L8z(Nes^ym^dY(qkOZza@Q?F00w%xp zeha!UwvAA*#*hUHX7|(WyRBaFb2lOr$5i_-i#srw$IrbO(GskNR_0ChONGHA`2pde zg@ie5E8+{Z4f6CcsUcVmuS+*D!)`O2Xu#99Bao1H5;Oc3YwQeC&2u1`Kj!{RzX$;! z)7={_gOvARuZ6l~4|XdKodpu#LI7w3AZU?hKUq!FgDIJS1l)G>uPUCmTku4TSjvMB zTB_#QmySM!B#?4psU%^$(t;$J2nSK3jc^d9r}icZf?{!x0Kgg`4ze}qJ~^O$!@c#_ zTgZ)^VSDSSCh0Bgv_`Qg;}<$WWqa$~CS>=7`7W=tb;~xYBW{X?)@rt^KLt2ohW~mA zbxqw}kI0TS)}TAqzrjyr$C`Xf?^si}oo!n8xaoRtd^&gNaCh6wZyy$u2;Ju97C8&B ztJ@x5H@iEtd?p=D21kPkDu$K9Vc7wQu#CPh4GvtP>V`Tsn3o32McaKx$7E%2NS18e z{OXE?VIfn-F=8mXOSlp6RDKM?~@K6Nqh5k(mK z>ea0z98G5` z%~M-6V*XNV(U>ZIq0lN~j9)DV)T=R0ND{>eENhGpOmUW20(F;0TP3wkGmwDcwnY9( z9oJs~D(S_SaiivKq=EBB&4+dHO&c`~zTZa8Kj?btVWWn2-rX1HJ1=ab=1rPzW$VhT zvyB?91kC>A`C7oT>*Sf>l$ks`(5_#TC*r^-Pb&Rn^4tSIcbz=t$jRaJv>P>4(#7&! z-l_3uAv7ZTHR3ZE{gR=jw|p{(>Edi?Ul}<<#0L^0&iY=>;{CJcB1I3rSF-@Bf>Xe_ zZQZNcl31;-n>8tRd+yfAMv!gS$Ug}wAohOHGEjMQ;%C5s%zn)g1b}wGh8Fc_zh=D! zPuvw?`!#DVRrBoEYyjBZNy7GP1W7XcHKIhjUn5FSllN;pgh8-2?iB(U1;oN{$L25# z!I3v?#|D+famQvq2dHevhFb=1$GT5!hzg5_SbpD zhb^7|fKKTQ@MHW$W&rZ3%M1`vgq6Mu(VxRnZk$AH(|B{HsM#p-0 zZHO&jncDJ!7gvjXM~lN}UZqRbguxFZa|WZ|G9I}x7^BR8En1K$^CNrS3oFIPb%`>U z2RRe3)Q6fYmDG6i1jV@GJ4?!7ZP7Y%T{z6RbRN(mi7$TQ1adP0dg36Qi1CvSAYyzd z{_%=(m|MY+^hS}9CtxHu6P70+=84oCPo-w1uhc}xVhb9B&W()1&p*mIY$g$Zlw(h1 zY6F$2^}Wgz#-M9u>i=TU=ROAgoD>&lGY0)4=qr5|B74?kS<`7&XQE56CM+;81|2a3 z)6*peJ&nI{3x@dZ%(7t&x+I0YZj79KKKQ8@ve25KP^uMMEoCJ`9c9^pg7EY7u83Sb zB125=ig1Lv6Ke`7IYNe0z%-po!1*^s!1-c|G+&JKuR`I;3Ve4;PP#92*r812>p;tK+*xwabPr32nax zQ0=;hl^~Yc!%R`G#4sL`9G3^>vJ0|8MQWU-j`o%BS^ z_ClzT)~G`C9)Q7im?o#!65Q3OP&}@~E0vG(8CP@wG>w-u!*P!T^;h;Co?WlIo?YFt^b#A_nQ= z@Q>Ga!akeF3EdMS&i=iLvw=2g-H|09g^?vAIupq_#3u1ep_TdG1o6hmDLlC^u@!tX zo`(ph{DAwDl-C9IQiOFDeWnF(`5akQHXISV4zYy*(H^hUBE?pLtpO{fUWX8gcmRkd z>(00ZOT>j8td}fRWuxPnpeL#TY%@XF;kqD5=5Sq5~m?7J3<*YJt8YG+AG} zdj~*2ut0;+Gc3eII=_UD!sm}kw)XX;ftCEvT5hOGIOmz=UAP& z)(P>W&mtcP73RjZjt{~KM9d#3W~zgR>dw+TCTM0H?GFLkeQ~s@4@Z(a{uYVI4vi^U z$c+9sNTF_r#{`?xJU@M2%F7nxg6GcetmiTL8~)H{3_uz~QkLhwH%1pk_}mS9u(x1^uqYqws$^MZ}RPVhmQ1r2JAQW0;F z;iF!VWwTR*e4Fq%7dWb$){}F3_#Ix{fxthSgOilPt6czMyw<6f1DebYPIPxeo=#+6 z(5_B|BLj5J6n#(b|ID8IC(yuL|louzDhgb z(kzG$@eP`#fkTQ?uRGP3J7CDx2A4rqz>b+b>)PNXGC>A~-Q;dOE(=Zuo#{X>+ZN3s z51KT!W_r!uV6xGwk_(;ad#4r&4wGitG6dNx{yo@?WKE892wNsRj{wmw6KIijnQ*9P zpj^DQWkQ09t2AvH1>(w<5xXr_^DHBt53tPyW6KCZu*@<-lxUX`qVy27#wh_1B#CvU zpoZ95o~MioNtO-QScrvmWy=N>aK~lCC8Vl7zkx^(%r>{gcQI1J{J(WTl4;?Gp{j=# zo=9J{0PW-ZE@X~F4=8Tf|| z$TFV(04d>aS*1sdG*$`M7UXHC)DG&y7JOu@5xoW~>-INkg4!El$|BWyE_c?Uli_&K zf(N?RxZeMzy&hLwq@NeFjb-}U#PA@AAX$<%(K(JE@Q^bY^N?dJw? zUv-T&b0D{D7=$TFVQ*gBz45B^so&W>{F0PI;HBOd9ii>J`fqe*Hw9Z>N+A^Loe8pk z2al&u)v6O~f@$*aUh;3V(pbOgq>=UTusZyOKik%mkjyo~u4Zv}wLP6DK=ZRH8B)&- zWgf@@nx7J_;?ivTsDi?&aLjZTQtD@mEtPJ?!VZ#cpl^yn=v*-K4cUYM(KirGDg<*e zmkbtU#lEWj|GT+=hp7HZh#d3}&9vLGv@BR09jlG0Q{V$msI%PmWOQEBi9&>(GA zj7PA))ilsZX~d3Te?_XRxGzK%)1aOF4hD;UQIS355Km+e&@}Kx7A=7eS@Am}OTMVc zuGaKzr0fZr2ENFm!O|fsen(`<7ZuraHGLbAJx9~P6WOKQt`daPF~?X)3J_!RMaB3z z8U&0OUr8D`#~fF5@J%tt489U`yZ~kmJ_zzz9m8&2A3a1I)2_SE-l?z%olY(yQ=5(x z^Gjj~_)#6fYjqPG1vM}JG!x1!x_n-Q4;VnA&CN41e3K!;|l#BpAsw4QIu7@6Y zKs(OGgC)$b&~jm0G6wjlj^Wd~F_^gU2|q4;RR`b11qNT?!osbMddQW5eo;s916?mY zaDsN8ixVqk$436yznHcjMKgKLMR5Kx(7{lQEG3H6SUV2~*?c9?w z_UbHpOY4jE8ohN)*NYK!>o#5l;qle-O!Ob%-*k=CN>EB4sYD-#b`FtR((~&i4G;CR z)yoiw0$^EGLtF&XA@BPuXLK%?A+{p`=BH~fL+sSZ zpWkJOZ5jyj1f_CNIU0N}H1)p>aUQgyffvY~u9qR^XzfPi0r_M(H6#H;lTeRceK;RK z5)qPuo_5i-6ubB^-e@K}?ju34nForMK|kscDn^&pB*d)PhD7^g9en5+4(N-J8fF*l z=@-ch6D5c<15mB%1cs);&tfe(XZ;D&9Zlo72ctb~_&fr-`_h~r5zHk&6Xs~*rtF~_ zUSU%)P$Iobl=TN4Ja)K$6B11rB50+#QW5P`lXnY$Vb@Ux2L-4-kn7Zyx)m!+y~`+Vmk#3BrP@ z1VJ*vRH8&1OeIR6y3>jGf=aPt15kSGL!QpM`yW*42cx%JNQ%^d2!tDezlBsai~7m9 zI}#Myoyl5QAdxM@MBKL*>$}KxBPQR)TBE)zm|9z$s?z7#Q=x>`-IU*0@HVrO$@VV^ z5Up&}BCBjKA|vI}&AtiF5iJ}z%x->|d@r$7mE}A73Lx(u_7klD*k+koosaG z75EV0lRCVW7MvyZb)_kdh+@`F8y|JDd#CFyRrApF)Lb;BH*`SyGKS<*3(gsu>VQyc zLy6WJiP9mXY6@P*=6YZr5Tc*$dBCE>zP1PVF`aGCba&fh+Z>&?u*a-s%=UB$5UuT@ zMg6cnud!e%3DTchs^-y?*8yxZQJC#vBbRMYbUZX>wjg7C-eW;p8lNjs?Z)S$?w#IY zshWqVcLMC5iMjOI9s2+-K~%9wBu0=-e#F#*5@GtL~DI$Q9rEDK~Hk_eD=3g&7&xX0Bkc+nDt>J zceXwS3(}IJxDwTFea>+2^i)gLJVf1?ho~m&v(18ZhNwF0Bg9*4eMD&&>%)}OYJIp8 zLrxWM>+_&Ri*cA9)@MB&G6rnH6|7wwoLekiyQ|sgKn`QLrV3ZKrpXQ!-iT~Xw;=to zZfjuy0O5W<`79_v7BVleaK@}-%vii|mHSt|PCvU@FPbYb{mt=*SGfHWP&z z9zm4MN; z%;`jqEfqnA5vHFEf678aPZ?gnO_52L~2GHl3ayak$yXGV_cH@}UHX zR*-2?KLmM=1yf0ohb>j}2=WNPHWP&jvLH%EkVT1BkVWZA2X-gY>{1&<8ln4%^g$M4 zdW!T07CeAn#^zEftc6XQn*mHSFH(&&Jq$~2@QRoNwh9&B1x1L@QMMp&<|GsE=Mf+v z-dcW%(p9d*5h%vaO@MRQk00l*u?#-LIpcPJ^eeiJf1AUu8@rf`$6=OJSDu^cItskDbWxxF(1P%T}btzPmbgj!IlxY}(^otNwqDz095F0WZ-Fz{G$T`Z3^jI`}3AF!(A1y4$6<>fral0NQOX z1}v963LPI7k#f!o_D$u+$8@7HapMj@ZrrPbZ{h}nuW(}#@tMRp=r?s7U(@x|16OGG zxwwKiM~G{uV~J%8_P=$*FtOu5{n+t{4!(&U48Fn+YpndzBQC64+6qD!{bS4ene83mXTj9LY|U>L`44; zQpF`ge*NY$grow^`Vflc;uHLUPDX+x}>yU~yfP|_bPBb!}tjbZY#=-#9C@eGc zssu4RET-RXp_07wSA)9Ag$1M^+xdGl0ixa5rbYIRZF_*{M=Y2kJ}kiVZ!A^ijcwlm z=8qu}egRRNucS{}WQoEyw%N#?!yLY3L0TH0D^cx7xZiW{^gEWSGEt+?LuHSs*&jgl zUWppdUlVXI0zV4tNOt3XYr%R}sJi4RyXj$~y3kTJ4^@`|?Af8}Q!H4|3RTy;ce>V6 zH4jxcs9WZUTLYChqhPepsg{2^*RgEJrLDyTwm3{k=F%AB1Gk4$?O zD@xaUdzr#k#r|z!rGh=nE0yjGRTw78dHY6(37kdn{W+;>zBzR&9MQ<}PUnZ?@X$dU zPYpZtr6zgNW^%4A2R}czu+cm*GspVB2oSAfO^fV~wcSiDe6q8*GS5;qk3ua5*k+G52|jZ9Aj z+^s%{H}>Es-ltj!>M7ov*#RSYVlTKJ-eaaWy|;yD{I4ORNDM&PisL$>1q#! z61<6hT7fme-u$e|ODx3ov?gcPJG!ZIcePc*7kH-qtcdZ%{SOw*&8os|$D;&@)^^Y$ ztL>0p$^bChYu|?rIy;01TdL-f^}_+SnJCPD2%=7lge`~RrAPw31FK^!sK3%BqR5t zL@W2Ablpx*{tJ4=-c3RNv0p#=zraFfPx-&Nq%-#DIF46K@E!!D2U2c7dAX2=ScW%R zhGFJ5Q-E6t5Um2xBC7&8nEu->m`W<}K}*#j}sKa9b+e{Ru4uU8dbr2<5br7Y)?tD*#-=h(TI`-u!>fg7JHY4iBU1fej z=VphEWp+Ua<3k)T=)8#TLI1s!)(LzIyiF3_BmEXH-d?P>LJ_mhzY3xfhh+1R-4SOY zEayN~TL_DkEAIjtfptN%2_YzO#cU_NC4(>jt|w6`?0czEZ^Nr!Ey&FXJ1x75HF)K> zR4F#$`K7SQZ=Btd$;uZgVJOR`&ba@j{HBijDu+=sBXFgqs=Ly~3&N?=45`mv@Qbbn z;7(e%onV2hso?$_Zcaxah|<$~B(k7R+$#joI>f?H>n^v@7PXG)2MV8;ewY=MU0~zU zV*CP|xzWq%wL2cKCv-vc*dPf`F+4Vi<@7nfH^ac_V}s;V<~cud$BsSc*Yo|lQ%l8K zi9EJF3a3!+ckEUh@7O6oyWX>lubYbtW+`0AI~<=+<@T)nGyfqzoP~!f%?dP+n|vv6 zf29JqEU90G_7IEu(Ucmf;ejrf^ZrIa*k`m;FX+u@l&Ku^0=TjmTr-n?>ylrsVj;iD z0HROhSdbghZ0Ep^57Y5(L#uB^b|LW(j@6lA zPN*K8fDD)$!~7(zKz6sx36>eld>~-mKg)atQjb|?N)KYj4o1?rT*x^6!YZWYLJM3E zi;xBeVtj~6z$2Yvu&cT|gr{N~aOwvO8|ik2Fw{M_7upz=5ZA$|$WV4R+xtlC2z{TM z(DzPh!O9o0)`hKC&iLKXSy}^Sg~BxkTi~`3uOX%xUG8W|6Z1C8S~*3w$K{Ki#pbTC zjXAKIC3cyIn3(k0M`C<%^+&%6_7h|LrTti}WDD*+NUYtsp6}l2W=qvPw7oC~ZH>nDPb^6HKvcVNt+{tvwN%YR z)Orr0nvLs?7OZE5s<*gz`g%*%JXC!{4yqdOSNxR)=?qc9@5&sfQLEc+%U_fps&gcT zgBWXzVZngy{Wj}wv`lk2D7IOTjx?EP);FxE?~pt!$sAUz!Z8+{ zU*YY83dCyD?}8F$>m#&DW#HB(5y{z zg^F%>7%>YKz1&h&UcOn*tR^9tg;eK}qB{Y$>}ej0-|t!g|KQ8+=vA;Yt4j$I-L{QH z>4qNYD?}mgr8OuM_AV=v(KjLP)Wu{pYIsS??c$qGC~uDL)F}>7nLEXm%FCVN7FdYC z#+}*)IK&2b3d^ZGbqjtXflcJo?6^}WOIus+-c-TjP4T>fux+<^YkQ`Mv(=R#2$_c? z456ALtWRVqY-xO{*Lv@uWT=AjFNi@uVbT61QiCoWI}K zkxI~y?#7YKjU#o4aHNvKboHYW6f=I*y8-3?`B7g3XxxvY#31wOdl`qVe$+7+!Mr5N zU$Cdzu7D#{rYUH-INGWS361WJM$`2eYEcN~@7c*a2GH$er$#N!;0Wjpi%Qo@~y%j=y9cnzr7 zY!;`9(rJ7_aEz2{DsE?3aP#osZUo;<_TbcRWmoPyKxeHhcZvlYv{@Apn3L@FxRZnw z^ZJBGB;v-PTaf-25X$83jtk|lZ55eNvh!|;v|tzv*RS4L(}_=Za9CG z+IFj_RH|X7tckE)X_SX&;U^S2fhY4UG<3LdPQR^G3| zTuz%#8i6;g;K>j2m%nkaCV&L{aPB2PZMAy!wR<3pvBjgxzrpwN;uU1zblf7zj{2jj zc`pP0b$7^QqsJnkD_;l6f3av4x97wOOOcaqX-SWG9h8<3KKW-0)bY=Vkx*wxo$Fm3 z(u5Y#%?K>(BVI8p%qJr(s3G$Uu_tPRm6xoN-@y*kFDe;60GOv|GGn~_do&F+(h{+F z`FE1)DP&O_bjXU|5n1v@MfM&|-$rCVu4&+j?ELza237tmAc`MVH2+o8s}ap_Y8rT> z$!1`M{qyVeSAynr3e8_>dNrc?fTn>bntgd_YG9?O%q}JkoSzXnQU~Akj0l6TJ|oio zp{Wye@OyYhgm&9~?oVA^(W&B6KL0SIqDYT5S>)4n12Mhla+V(>w&>uS7{TBxj937( zDj6Lp0r{*d>(#nGdSC|aIu|n*Qx`zT3S$Q@`koGZ6A%8? zj|cy)gKy#igRk(w@XFL9I`}16OGGxwx{FF9X?3p}Z?QfAwlU+u=ubvb$I}2otf+r_4~?g2i+V%6s8o)t;`@ z^<+{)+LI?;?A6&lTzwvXlKn z7#8kBSU3HTI*;rH1VxNvsDaGgj z{l-9lui-Y&F`t8T%8E(t!ksr%;bI2)n~RB!Zy!!8zXmFh#+q$-w1Wp4P_Rf z@DTz8SKmQ8u$vZXHq0aW_A8GfXNYQp*uP}K6xqct7Jk7}HOF>)^kpQ1bjdeM6c#YS zMlKK2cn|Hz7Nn)|xf0cW5A7lMP9L;Xm5Cbt5Gs3I^8FoD@0F$@Mv@k{e32spmxLdT%o*Cc)UhElio%vpi*X zcfMelObY6s&QKQp#|v-QFYUTFdEuvL6o|gcG(R2P788dm=>^S zziHvQ4&?Bd7S60s1qJ?O5JaSmg-zv&4+sG$VKltk!oYa4chFPKPLtWt{a_(6bSnrD zt@WoxR_njO{I1PYEm%t8w$f5Hk2ryze}A-$)9TudH=q)9T! z<|wC0`jJSpa2B-#N;-?zFut<}qYFw(m1IX#2eGje|?J&mV zoNo~#vk)-Ncsc>1)eKtH56!sBf~lk#S6Zs((TuABwwWkQGXzmGnjuQGnjuOz<&%U& zJ#qp99YLJ@bYzo-1)e%`weorzCydj(Sw@vvKO(LN%j=EkP54j{EJHx1;cYcRN^(!- z&n!bTO9xY#R}&ywm7zubP?>jIFqKs1otCP3ROY<^+e{RuGJ+@>l@TRcl@X;|`z#rP z@o~Q)gHj>ZeoFN!3zIyRY6GTcfCrd3(KPR^rIkl_L~VI-?cXd&n-H0_@vdZkRIF0iv~rw8&}=tq-gYS@4u>;Zc^Vd2Hb^0NYFw zW(x&LGPY2ZXmvr9p4ShV5WJ520uFQs@$=K2{VeS8)SYv|>aCaGVjU}%uHDsabn0cW zgb;`WFK>@SG7(ID)0%Fz!->=eO_wz&g5{dBkbDuuBZ{)qG7Pg+Fgv)70MRN6EwU<# z!y2?|!BkR}aZA-as&XyBHWP)ZiXcixRYZwaRYd8A9z;MeH}0i1C<6BGrwCgt#P(E# zvr38@q~0GkssI)A)Go~Yl8}G=C3kqgWP7?h6ELHOe z{vv>FCJGaLL6nT(ixREii&EKeyRu&}S26pptw9B_cRv;Qu|&Jno8m6%5@3M(6LKDPFcs z2lO69&=`xtQk$-bKF z9i)UMI$z@55o~1xDP7pb75ayG-x^B@EbQ7uu#Fh&S6gt-Vb{8&;AHG>vS0?9Ktfqx zZm-8vz97}TM8s@YSYAAS1H>!k3%^_=gg}$>g+!zq^5S7RP5JT(7#L0YLO#uI%9oR8 zHRX$do+IVUlzO{MfK*bx?1hkJ$nC-szts0WK9awD8#w7^BIV>S-w>_l^vakZY}e#3 zQVn{xz>~iu1*$#zPcf2SlfNXih<=Q~vdLdY<>W83AO>v9_>g(~?I*GTCFx$&hf|Z^ z!Dj1jJN+KUkiPO|%mwm@rh$A%ER}oWx1@TX(!d-(?1}6lng+heA_wV2s9c6!D1JxE zk}s;LjcEEdQg*ebfhV#&hE){;{wpAw%~^AyrdK1H=V}^wqv@Tq=DC_)jc7hc)4&_e zy&A^PuhU-%HTR|#r@J-18qsWO8hE1Fm()71(coc3{8glZ^KJb%>)@L%pfmW&ZT)%O zQ|o*{2fv3~`n22bj+ujb%a>Z`Q@Vke?$7^&A0xh^gKuI4gRd~cl3M5cx;}bf2JJc* zGkQ&}^RR9RCN@0i$A-nLHB*_14Gg{y8xGU;(E}T3*SXk`C$-L6-7rk77$yyzP19LA z_$F2`_zEkmsdX;V_0j_~Xy>_@(L-vTF&*|M9z55N2a`JZCLS>O3J(mabzZ20-vjk& zx4Ed_htxW6(2d5#jhp?r@opV_6E_%qg&Pj3b?(sh(*sv%_qn*zdup98>IPvV*5@cQ zl+^^!rNeds`B!yC@vpj`Ol+q;dD6vRou$^%u7u}0wNA3o@0#5{!84Ou=gY7kN?y|laL8I`4@Q`V%xXcDXr~2H>NYLNX3%$9klVtvfIa(7 z3$M2D&~sXt!;EWBvoO+Z=-8s*ECNJp{b`Za`dc!t?X+Mi>F_fxRr9FRl>pmJ5N7!W zK{7HgO0+UBN*!`g>6gcz4MEzmPd{lt!$M+jX`i!L9c-*S(}&ZV1wjefmlJS1ly=l=jC*e!&w)%-*V*?@SR^5+GVdphbBV;VcW5 zk|La8shUR-HUVriL6{;4f@BmylxP(}l;%hcm?%XKAfOd1=+Xx1zVQE znB{;eMuPy+Dh4gGDuzRDhgVuKm6YRUma2J_<5d9LOcbUZf+!i~5G7jW5T(86226CL zcNm}=h>4$S)GUPeRE>R_U+@!_v6zK`X~x|Ih*mRbQ9m@}8x~9@&G@RNY97t_7l3Uh z3eyZhl#FJG60K&4(wu1l6ZOam2y_H-^3##KEG+QUk;hYh!Ts0u!OL1kfM`{Q7WG4A zjGJ+@>l@TRcl@X==&H|X|P`@FAQX$rUO10R+Bu}N9oBV=T zS&%kM2Ag57AV5G}wEP#PUWoz|=6W>)&S8IkoZD_8f+y!5NBIR`Y8jamdtb!an+?LG zMOJHQ%`bSX1y9Kq-eRem#}?iOu+1c4?t>sn#ukbatuBbtz9a-pbfhofKz9&7Ki#?B z!VXW}*;n}mzib(XSt^(v{2~FObsK1rRZ$$)pg*!;Dyho-ma2JF<;MWqOcbUnf+!hP z5hYqx5v6jXDc2N}iDvZD8WaJ0_fv#_v=G}<5#}_%;L+>*;4~jafM}(k7WG5=H&`&0 zq<@{IY98r71zWARJ$bzXP_}5#i<`MiC18g%Vvj0zZ|{&{}E^$ro9ELR=gAahJaHbko0-;sCBFLYUdyuY{Yi?4G zI*|krE+9JR7c|vP1j7yVVD!zDBor&hykMqK3E)+WmGJ-Z@c#+$f8m-L;4rzY@ihl> zFrFbf`ph%W{DKcUAj^37OQeK5@46-n#Oux)O9*zeYZJjXl3#GyNoFr4hh6KAf|IdZ zWWkJ!$b5S}o?j5D?j<5-yTbAd@@ueO`33n6V<7~Z{DS0Ko*};=mec%#X9EprenIl7 z-}wb^*>69{l?MM^1KN6Td|tWQY8UIJaC9te?+L^D=!VhVVY6K=g{{JHP)L$tmKx1) zq}-S&R_iP=W-t-9D~d_MTCzNd?Pb~O5m|LGIAjB_PS7}Uy>sk}VHarxt zVV$t?>&lH%Yu(7mIzjMt$QSsT@MUs(BUWfP@ulC!cpz$xWVvT%OE#0=KtfDPOEr(( zB2uhL5hfJ?McFr%b~TOK8}n^dGz~OljSdES17*vkx{B`t5DE>p;%C5>d{!~NQPZ&z z(;GAmteAE;RXpPs%Q}&WOjLr7X#T}n&pNS^rTjE0P}c+$3CfuS6qmse`j>#>14wzA zfPxW+Bs$oNbaF`tvFf6*4VQMPb%Y01iFFJ%1XR@mZX`t>XXpAtqM|zym%-?x3?)A4 zsHQ`f7CKK3Js#`>A?6(kG4F&#+1$2*H$s9St%7iEmiZ-_8mEB8y$Zb%+cT`z&tds zkjfnVF$>Z?5Y=v6KkMGMUPSFB@HD%QF2`3scO_3p=(ti2%{M$+V~+Zt^oMm`XZ%k)>)L^|%aR zn~B2QWHxeVH+js0v@||fqS`Ha)4kJ%rD`6cwsR2GY{_3`!FpDx`X={IZ?#m-L)Ev; z8ddMGU_C2T{j__hpR`oXL)FjZp{j$M{9Oy~J zQFU%I72VDvTz+A#(r?fT4M&(N1oI3UXy{r5--%Q=h0XeoMIvvxwg zriM~*h@AU;!-7u^d&fI;nn=E4!2@)kETg|_8gfgy+m%V`kH(o^Bn*Z}-PKJ`0@g~qO&HD0aNM)y?PmC;E&TPxLk zVpi50gCjJcbHu8=ft{FZpcZz85bDuxPLEc17n^H>a#(8@;h{|OcY4#-Mm=O-_OdTi z6VNAI$3SeJTzpBhT14y4fUpL0KoT6zU zM=S7P6&8iFo>W)Iv6zaxW&m;tV9vj)C~wnXU_|*cO#@GqmrI(-SfjpPL(55#Kzus2 z;akz*VMM%4i8l-ZO+3mXp0|m20-sdE?AF0Iy~D%cD~}dgpYgg;*Gmsi7SYbTPg4$p zM7csuWOuHJG+b1i(hpX?MK>PPn?i5&!O01*C!V!k;N(9ZMn!=xX$ z#FY4v(U0%wMq=W}zxeUvCp!2helYlc{CG&$OAq{@o#*05?+6LH<4-uX`n7L z`OBOvjEjF&mGBr{PbQ|*o;>MdugC^L8~)Xsuf$Uks#Pv34>M8q*@LO!>ic+!vSd8 zu2fq=V=M|wZIC(;#<4Kyw8C=GZUm)fSZs$uu?*j!eM%lvcQ8^rWX!UqeiedA&L?iL zkX=4pxD4uQ?_^w0fWUrH_D%*Z(j1tmcQOVO+GVKCHP2W_9n~$CQAr23ueVf{4`_Vv zZ@d8sCf(o25|9O^2?AzO{$>))uF#Ejr_*G@S1wbEk#vKnto9o&J(#3}%sJ0i>TNK(sndi>x{=9hd?b?dj+b zEtpDr`U6W{FO|&J^JY0z|6_ zw5T77u-<~HqzG#*Rr4sq27qlQ3R46@l#C*X60IVL(sS&JU=)c&JMuyTl|iihROT=X z6M9k^c(sLukT^~gdwWtD%PCUDGBC4rFqJ72AX=57Mg35j7g#WrRA#TGY95t&5x_PR zg{h1nN=9WwiB@Gqse_;!MZ!yEjF3QO5Gy~GDO#A|sWQ*R^EX*xwp8oYiOxhY73?n7 zI%G|TE2gnVhhE1SYfP!r3)|J0g7;CcUVn{#nz5epeZ(>caXtjnG^+RipuwW`_&0&_Rd9>yzfbFC; zf+!iS5hYr!5v7~+ON6X7`NeB6Lfrhc=FvWD4IW=BTEpg=Y0tT4+BnzPPRuX22$)$w z*j#fd0ix9!TGS7%DO)g=w5DjOnn!EK0k)YaY_1VR$!Luz(Q1t-71KlS5+Q3%e(@TN z5H~-qx!A%A-?;`O4iv3n#-Jw}b)9Q$aSd;_jLIw^Olxi>K(tyzi~6B8AGTmBY0d4H zs(G~L4uEYY3ey@vl#JGh60O#VQZd)`E)lZUgC0C0eZ! zrDCq>T_R+y$uC}m5#r{jHTPRs;jcCNxuz!?b)9Q$F+!(-5SR|JowQ~H0ix9!TGS7% zxzvKGq%{{?s^-y}Edbk06gJlgqGYs2lxVd^l#02gcZra-hRrp-1B2ZF#LZ7@)>&BL zsWoTPn^dqZRxLsP$F*yNOT+14Por55;D%KP@3FRmaYzfvw#pz1VU*lp)gQ@FXyQnQ zeHBzAXOl0rjKC}mY+iX00ix9qT4dFbg*al4DgC12d8-9aNk49}RL!Fww*hQ3Ntk{J zl4SHllxX!slop&>F9;R8w*hI#p8TZ!dJADQ(r!H7=l9iH4yT>$Ix_|uIo@y`B~|a@fCFEYgeQrp z9IiCE;Ur>|8x%;_&r{N6OG7*u{kH>&nH(UA`z!~Z*V^|#%j{U7DlmB%fT|wyuz=_D z)!0n1u%uY9ikR?~7F=@JJKCL-!8^u+1yF=sXdkrK;}_bIa$amU+Z%SFokvl6U1;ag ztAdf53+*2OlM@>*v|~BF(0&CBj9zFbpJwMm``P2wdU=!_w-w<+IPnuaUST*XiB{93 z``5wFai#re5z(wenV2~FwS~j<-P8P^`a)G@>c9Yb?o+Lk%hmEoK!~U2=4yGCGBY&Z ze1&|CcYcB1!|(cl4!{1&BG{90MAzex$ZhpmPx?P-;CJ^B_5{~V2zv;)_b-I~W`KtF z>Pw*Rlqw|tdKcq4#9zN6liIx?&FRAzg6aiDh#cmL{bACE**t_W!Zt<~a;+3m>>e$I zBuDQ+d>|hTLyH?URhZ=q>C^@f?Nf;*lzekS$(~aEJ7yXBTj<8L{Fi3w4CL3IfE(VB?g%ce5tg*@UPET&;0#(`-X6ctWPuf|4Tq zD+Hi_0EK+S{euZocCV+D4Mz7kP@g$;NPWkd{&rH;?$~=ebU$=JmN|4kfT|v%a(I1m zq+TX+QYg2lC&Nu+jYf@SOVK-d14)zArRj$)Xv)5xXLNil_bR)5Z-PG6YX)qM`yfFE zoYG9nZCcW0a0wAogFEnSv%1QIixxv=_mJXvKDqh2i_#L=Ajs6e=E#v@;^G{HQY zz(LH7SGvE#x9)yuf?dWBy%MnPpC5W7K;wQWr33Mvp3V4b^+RtWerP2*sBBHQ+TjGb z`vzCsXj~?I7%SrKw#N84?m+SXUvmghEQG)tGg;=jizvO9!D4nZHr!y^c;*{$H>afrQMI7Tdg9ze|5t9+4P*>4c$0; z&hJEwhM1mqx&0}5&SzYd5gz^=8sGa2Fgs^g5$YX);CS3S43LwLddkUQbcX{qnJ0kM zbo2z?MymGR6aKmbvdk0y3RLxAy>tOh?;2|Fr2WK#kL(rty1cAI*&&RfJFU0-BMTmM zaScyp*z0k(59#N{Y_kW)+&*q1xE(V$Vs0OwQv^FTZr?+Iu4#i4%cyIGnk08IS0~-|o(1f@j8gTnl*j&w0EWpmFDsQiM1V>lm-C z&g1Hf;K|a=jUAF6A%xu7?P@b*&zB1C&Zmix;i!rj4Mw{dV%%)m-LHKmtAvi_gpRZ6 zh+PleI67j}h|v&}e!C+!cv*D$a2KBT5je}Znj@h=!;`fB%)KUK%2es~TH7MhP zhHSmxWlm4n!*YsiRoo~H!?|?fq=0S+>FCOr8xzH9eY92G3yHMkL|xgy5th$rcqU$BU4ltqbF9FQlst3^qGkbhU}`LU z{gwG$I6h?g^?aanzU9{*0U>V9)$&UsML#y|lOaSm;b`V&^>w(Ox7`ygaftlvOJ*T`1P`?6S?WwQi{)xZ{MLqdLW-5J+-%fwS04aVm;-PiP$Y4v(6?9# zJbn-o+85o9)Etcdk`a~LTKmFrA88p8f%hjOFq`YfPeM12>&A~GMng<*?d!%ZMJ4p5 z)Tp0WL$(7xk_QJ*5XFC&rpSs#C-+~^7d6v zc^i!W*?}2sHH*w}bVvSqC@lDT%# z)67yWuNZvK0+ep$6M^@^D7DMhc@}K=iNNn2D9YH66!l`i*|B6N0^H_s3u$h|yiq<^ z2?lGt(L;d(rV{}yr{3t9_=yC9kWaJYjh==c90=Ly?#2|v*tt8SCt97+1ZoanRNgI4 z0BT&(1Jr?VBbokLRgUdI;(U(iRskVy&XpsY(4ilGXflH6c{rH4@k5^^`JvKyy5{0e zu*|rjmjKrNb3^w4H138{dJrGvQpRVi8~T)s;0ypp#4aaMwSs8Z^v1uno{-e&W!U#% z^iqZbH%WGFq1O!wy=K#AyA`@|^x1AfjE0zu+kLjDY}N1(-8H(j5MI8up5S9_ ztqM$jzbBIiqxU$FfK8Q10>`QH^`vUwJ*Ce&Aj>?ZPeWA?e)(Sl`>q9-Jf0E3M)rta z1f6L;qHkHS;2zO8?Dcqz1X9k6&1UC@c|=^Jx%n|SVjdAUn}U%VkLag>uE`_9a_SKs z^mOhKkx#SZ5uJjL1O}atLLy&xe`wh14{?||yrCg!*5u#{W{)W zk+s4w&^Mnu^i%;Mo}4Rph!aBR3@u^Ap=+l@|RhiXK!`)*=_W5$gO0O$U>apOokb{~yW zgSaItkuWY#s;omd4yXI`PCPL{A%axi5Q1K9SK%%i-cZ7_UDe$oTrP)F;SPAW6CxG0 z5x2pp$x!5W*6!x*3r!=`Y$Vj|$;lhoR&26uS8krCIet6m3V}?!~04 z-Gz6&8T#K2NHW*`Cs5Tx{|ZQblbvO%D2%LogM@MJZGeT3;Q%}yx*Cigai9)kAyTK$ zEcCp&Ik?%`lpYCHJy9eP#gg9uR_SlJozjK6q%mxgsL9QJ)63E7c`sT|3Id#OYq$dU1*_zb1|rVh5@FjzKg)+|*$1Z{E%#Bf0P z5O+Jdhiq=db|O}S>7e6GR!3^X0yQs&NFg*obSL7&Ffe*HLq5&UPQ*G~zwd6;+&3YP zw{AiJxE%Wr2T6-Pf*4UzInT@zhBMb)@mzcu>L0UA!Mm@|eFf~+b(#W-s{YB`Rt z(c6u75faBVYLM@d2j`bbgq?61o$3l1jUGcB2BSwAD%{ejVwzfgf`c$L*Rn_m_HaV5 zo|fT`3xI>pb@m$fhpGuvVG1y(h8f(cVIaGB%?*jMj$mADtOguC7BTbk?2mC6HuLOp z*pAcP0I6zUoOycoPjf()Ie%wERSzEZb`y1{1s~bz@{K;x+$?wqG(p`mVLJrdEO>DL zev7>x_wSK@Ud&d#jg;}=z75x9ZgI?wm~X=^reLS$lw}OiHJ!3xIrVK`iJwT^3HdZT zzRkJSiOEK@JvtG#D%Hj)eLC3c=#Y1alYnS*!aZFNIeed|viVa7wt&OHLGVMEZ-@oW z3W76zlQ!VSO#M+ihMWtftK*ss*FRAQ6ZP?8_ifgEQUh`hV?AW&HKve*{eQwR_+h1r8C zTBO+(Ru86@OJn7erShAK^%)kdK`8k_)v1=MIXuy5BfvHjh`FJHK$(LoQKCJl5~W9U zr8=+_mRQ5RR z>WYGsWxB(H8J*q-qYv5ZaeIJN_Yx7KHR20oKD~2~#N3E2khw=Cgg~=ECge73{$n{^ zApaCUkp(jOG&>9A4U@G7jYIUfl(8z2-0Vf-kpyCnW$+uBN+iGvd#dGjWz*J1JzNu1 zFnwX0eJM3+jpjsgl6}S7n43;r6SS-CTF8Ebt8KMTIV_Wi%hqTOvVF6XPAeRR>zvq6 ztva^pLd^ZVCTNE3PP0Brew`j2ukPwJLt4g{-pTTFAi{9$j`>`|`&JR|w$?>Z*DmL5&qF3+qLsm~)JMQ{DKbtsnEEXcJ2%CBh0l7{ze)8LevP}1^uG-a+ zQEaxa>onRB0&o*LUT4akcQ=Ho{enX%EtHLp<&xg&c(Rz5^U?6H>Ub{Kjpz9Eco6X; zDB_n=OkBBgjSjwvD-6CLSFY9d(gRm$=efADzhXdjd|AqCaLyz@sJyvRH!2fvZt&yH z>vix=ykYSDc=L8$FFo*vcAkqji|K5pW6DA-;tZi*RA$_z8-|G)AMsf`9Rn=bubU;24iBzPyLwjKRWm(W-#~) zGpuvTzy+Eau?LpW&U3Nk$ZkHJjzNcNDsy&e%T(qaryI73c~2n?oE?Fabns2gWAOc$ z_cUEEJur`Uo{M>h>D+D|;|@?Oa-OAsR@wDz-9Sz3+UduxaUFaUyBK_hU5m(4gAa&( zQ^(QP_0t2xX!p4o_T=s>A|2Zf(^cnV)fcKmf3?F{~7|J9zEa^!Hxr={gW2Z2Kijz?ks} zk{`A`fOrito#}Ge7X5lbvKs)~vk;b0h#t=TCOyQ^Bs&v90p1%W2XW8BjW3jv$tosK z!O+7-r#;ze6QP1f%%%c}l*ikG$wn4bFI7TaU3g=J{dayiUhLG`n@(N7p4ssG7AC01 z4jUvZE;N%$-V^>7&`Nupx0C?U9_P^_>v5jAln+2O&#)eA!4kI$9)^*FMjT_QD({?o z29ia`0cov;Oeuc}?%++JR}25NNh@5*yK7uDJC=QiQPwhsH{+|ITR)MNia z!;9+Y;t!+-RHR?Y@A$15hIQ;9SyGZi?4qm-lQH#~9xg71U{GRkqrk(pz zK+TSH06l6jsT}_7g>ZPo^(MIghBq@^y#I!`tbzYQAK53Olk79qOZ-AwfNt_ipr2Bm zbDQi7)l*SvTL(Y#UZGQ}ujEHW0koRcMZIMou@3*0=r8+%I*cC?6{5%dchF__5%rmU zWI8Phh+f0Dk%YYQ-*U{JSe7X(Xm-!-?G_F8oEp}U6wP8qwF472D_$GkFy^n^=@vuQ z!-dyfFMXlf<=i|f<@`!U6`Cm zZnqjBu?WRaVz*d`<|(m|emoO-6%;W3ifnCd4)7!HXo1~oL0*SesaYMv{Zjg_Ev96F z%~Xgzr(i~cbEh%;1MXYl8@H3S;xr`1uhmE%rIywW)}HUNm9w@?P?q>J@30WWECoz0 z-a>$A)q)mT)nXwMid%O2MaA=@7Ca@zxWiI4k7C>ju+1c4iXljnQ4CR{RSZ$Ot?$Ak z2pabvHYg)v?x&2mSs3N1jPKH&$^`{DZm7|X=1K^DP!o5PG0O_59c=)|6Ep-8RIY>z z=3;Xib+%k=7Yk&{;qmJ5a78I>4GTXN-wOs6h3)E~F^Mf(OtB}5zAFvS8EU`?9e@cL8m6#UUl^97al$d-`@mz4R*^88v zct1V4F$8lvt1?qr{>_tHh%8WzTwC$eiFp{5U}f%mvcO&s_Z2BITau;#q3! zh0##p@g~vX$!24+*{;H@4e!juEZt(~pUKgbc9Kp9bTHjc|19`KwE8TI3YbNhY4zy@ zh*qmMfS4d9->vz&4YFX|*6pMyo}MR;xwnIa#gt5)i@WI4>m7BgD#2 zk4~{LA)`meg<$k6dcyPvH~_VsE3<1)c&_Ytr{%v$)xOa#3;G40UF(0-HP0dvnn97(d%OJ+A(sF{7RJ{h%;Pg4JveH&DCBUmhTOr$@L zF&Ql)k>jsf&_yH53_4w<|8ox2?A zZZ-j>WhbD!ot4wwoGDtx*UiOUJ7xHpJU9ENifMwI)UT>dxJ(S7*UUBv38G68SoR9w zQqCq~h1ENFsWRmPo>~S*E%`wm#2ECOcASivZJw)XAm6A<-Bf#yV|5lRtEI@SXSO*^ zry3eAsm=k2Ca?L|Em(GLnYSMVQow&nkn2}0ZDjA)H^}vyNQqy- z0`Zm6o!~@9S<0|I20@w39)l>+?lFkcC+S%(m>74d04j?xWM{zWE)r+;P7BE-XBB1H z(OG>LsoJ--`+?7JR=5>V)kEP<_R3E~jH$T4&{Nxli#;_59tSu=kGlNvO_4bvk+Ch%>>+!O8u0kzvXQdCT*tY@g-He*N zihYx474Mm|Rjf*c%v$zP4THJ=tu0ec$?alDy{>B$qC|g%!1lqq_S4XB+Cet1Yd@iB zAbZrQb?x1b)!DjMOOaV$*FL$s=5$}(Ca7jsw|@?U?%(S6r$|D!y4{DmL)N&r0xnK# z+;O(X-GSzF#}1xSurLC4v_4F{Gu&>T>_FI5F-X-SnFf#42`kiy?RNbn3>(=tNfiIuGAI|Mpb?crw zbYKrW0&1$LfdYJ@UmMmB)9BVCDvuPDm~mj(n>j7 z1rxyO9&&X0>n`-SNu%9uLjB z=}9hu%H3Xh=M6O5qYry1L-2(=xj*QyCoKVTJxWBJc1W(g<~hWjO6c}vKqgut@$ zCU!ek-dHYH-jCrEMT_aFH!JVe#=@*IyH%K#u-LJ&)=AxA}<<*5E5`D+#l8 zwHAldVPR*%mg-o8j)9d+^Yl>HK?fV;I@MW68B%h6?RKflCWajQ`Zx@}u&S+F`@V=b zxhNL%iE%mIkd@|j~AO%>)80K zvtuJwo#Y@OxKF2B9q%_s#SV^?QDm4$p-+HR*%Yax9#AlEJTHrs= z5JvopAvq6(DzSPXRO#X<0Z^LXihB=i1b$Js5ycaZT&29n!(bc>K5yz>RMman)M^PH zO2e3cdo%2eUIG8zBCcmD&&=RPS#Y{xHP|6L21nY6-LmupDu8`QYzj)G4^Dn4lY;!X zr$6oi=M6T$qDHJ5Ad0*iaDdT!39T}}s(~iJeaK~g!^M8NgFIDrtw_EGoe5tYCx=1X zZYHr-C?@5!LX}vxLX|GOEKnX4pIX7MfG*&7;&kDEJhGG11*dw+O*HQaXq8<>I3Wf4 z0bWg2{T{)+HkPXmxE6ucM*gW-N}_j_N1m|b>>#=Vs`}!eemwXmwhg-ZMH;hRwQgd7OQE(omK z3DXs~T3u@r^c3lg)6;Pe^HE$`qflI3P12u@6IycHz~+DUmrx&fh_IyXVL`Vm%BFXR7pXgMnfI z-->%5^a-aQuit2x{YGooOjlQLS~^yn9EbDR#Dco!}7hdaOnTB3bgags*sZ`a!9t^xV`0fBAc|~|9RE^NHk)R9_u+n5um3uw*wRG%a z-vsmfLF`h5`31*Y0Ka%ig8b_8pho6{{CxniJh%@aC&G~qDIu_|T8Z6`d=M-btJcFV zm#bEK>dmV4j7Fuo1rK$q(5X(|Wvfa7IoX*4Vz%1BiZ$UdtJ&c2wn_~ssn2bxZZFqW zPQv2S_Sz(0{5w@{h~$sOrRiDztv*rXr&0cQ9Ijj$E4umjK=Y##s%C#y){~ZkOJLNB z&0$C?$RgE3tKN@PkZdpWOV3R`U^j6ylR0vL@g1sRrjJ-E0JO{eYL3SRz|AZOcCKpA zv%KI~)t*h&%|w#D*)ePBfl&mstG`XEueA{2r1~n$3z1asBbA4T#>jlx0}APPpqZXc zdYhKdJL#PfYzxhId9kg1SH26kAD8d)TH9CJ$afJRFP>*I`7SmQ+E>{x+i2{GrE)mL zALe+x*VYr){d(_;8;_6M+INiyw;wki_uIbG#(0R2cQhV*^CV&$joqhb0I&vbsO9jt6Vnt z<4g_j*N~Y$Mp{p1am=YrnO~Jyk_+Rv9?t7=hR;D=YvARV)QC0kB8t3$m%%*y6vO3I z=B#7(>Z#B1%M%A`4)j#j{im^knnR&&Hv>6PqZpVA)Tk0`phlIxGAEFa-1g=?PanDM zj;v5ZJt>x0+6BQ>L(zJ1j;dXtCW8rbNw>SjGq-d}|JeTL-=9!bck=IPGI?(p zQhrM>zzcH7il9*dgD~BM>nq`|4!ri6%mG%nD!B3>v1+To70*ejFZRf^TP8V^Z!I-q zRccY>RccQ(b&H2eWHKx1wVtZFk|rlXl{B|qZr(z!Z1_(KRB~Hlq@-Q`0$j=1t zbXLXz>NToOx^FE`%ssB|=XpqXk0%THbEy%lkc*;j2zkvzsV3x;o~oS)`Hj%Fn<*^h ziYYlES0z>NSvd{9c^2zs?#(|BzFx$@5CmQ zTqNyho_@H8nPvaKs1d8|i=uAG{yv-Bpi7he1)i#%$o>Gd?PdzgzG6yF_Em{h_EqUh zl>K(aAk~GAngQKFdg65BM;@7q)QvMK_Nd)135P$^I&}t_Gdc-d+G*hmE^mt8RHvqD zTh#%ind=<_0-5J|q{lt_tP*EaBUY6VMP8NI({~r_6&^Y@h1lq++KED332nPs!U~~S zl2Zs(VpRxLIvhOksq}}x1EP*!iWBv-JdDkWy3 z&D99b5SSN+lfTn`YXxpvxGSLRoY($lZo_eH!odw{*HIg(_;l0^NYwi?5>>pN6(ofc*WVk!Rvvp~YnR79 za&NV4KC-)~H z=ej)1@?Z)^h4N36p?hui11=uiJ)mmD;I0vAB(B`-7u$EPhmMIuC+Nw!eaGD=K5h0>PnE-vd<7qI zpN9G3aPsh>K;8mMFqyCD`TxoF13(TI3+kp6b@Y^{4!f&w_Ero{Ei6DL8v;p^tns18gFPV6s)Y~p0t zZC;w)IFc4XZ;s5&tr)9~LXH9-MppRgV=mbZ`d*cNZ@p)e$d}qM zhZ94&v|$d?o2E<40T7PfP~KLd)P_cNYIYKijD&*P_yD&JzEL>0XbQ6U8n8fI+Q54* z%J_%}AB|$=C1cg`@!1AGmB+S2niMtwDN$P|D^rbu)wP+qdUe}GvoySVQR&oWr<_$< z0{@(PYAGdYtg^i_iM!r7YYHszlZW6`Z0{0cdxsK2+xa899S{I!s80f+>4za3AKr`^ zZZKfm>g6dEkMVj1axiP-%^i@8xuP^zn=Oq(qENju1~O2uZk=sHR!kEwi(d)}F`xz2 z@wox`0UTA6SDnA^(si4!Mi9Do z-RAXc;C7s~mv1bsDs5P`ar3&>S6sSkBgn(X4VQ0P1NoPmV5~t}27;so6S1aX5<}xu zu1=t^)j%*fuUbFj%VpDhP3ZW>FkMSb7sZTr8{=) z7}+*GJ5sA}TMDgU3yr1c3e6ve`Jvi3g3|3W{ro5l#C@4joOr96&WBuFlG!@$N=j&G z!T$yLmMg!T&Rm+USLc&2Vokt^Z(#~yDmkLHJB*BKkp8mJZ^C2CJSZ*Ofu|Fcr^s{%@r zc280(Z4qmb#!|)PrMOC2Dpw5itp#vCXLW2o83f7;PfknOlU-ycKLsHQ*juEXpJFbP zl9%iO{N5{hDf~l3paMMvt9mgGw3X%OEU4a-%#Jv}4D-N>(h5?V71xVx8Q0UO;jFMX zmutpI{RF%}H#2&MKeTm_t<~f%pj*mvvJM*%(citqx6?0?qFw?OvUYSh`BP{^Y)#l_ zW^ReaApkr{?nFKfCKp;-&~2qThK5`03V5}(H=f4|K0p|G@gZBLHNds$`B#Wr!&kst zV$%qUNb;9RtLz-oMG>c={#p={3LLGhQ$^< z)7(ut_Y_YD%%fc}dfHI5JAt1n_r2)by$tK3W*r_$n8&pZEcU7+qScIhMv^O8>YC0^ zkOIX`4bzUV#iiQxmaVi%t0PH*eWisu((B-Vnbsl%}F3StLVac2b@^-3j(z~BF z))uOB#X!69o7scEwGia&!CzZm@b;h>f6ET@e&|$&lDEN!I@=E&4pCYMW%R0eFLX*_ z4zIidDDD`q5Ks}2if)Ov_&ExI^wEVE=x;v}~_+U?OpO3zcP|ZRkeetn5TO`3^NQMl z4Ka&6lp;O6ZSEvbRUO{N?rl98+IBOAbBVa;`nI{`tNVb=aGK*a8BU$=AzJHS7*mr+ zwXZGDd~IX+*Dm)|)w!9R3zcoqn6NV~TBy3b+5kyxo14Ga`gdKXe^n3BIc|dV=90dY zTw4Rzs`SJl{Zxjg6;>YrDSknZ)D=%P&>c$6IUu0hyn%Oss=7DuZqVjqExU2uG~8xG zW@yI*Z0LvRL|LUkVWa~>59qb5j6np9qZNEU1%ni0_r5WMvvwH2Db5j?dy}V&ZgFCZ z^?GW=YOzF-*J62dAK&MpQVLpzNp)yV_l=+c+2eiuBAqXTq3-aWXfPA2LKc%XE%oCU&`QHIVa{APN zB40gdM{^FW++3f9Xr_o%;+h^Y3YrGqzsrs^h+{M+$}^S4rOITZQd(Pv|5uCuj@n2C zs-tFr=eu8NN|etlFqr&4fUP|C$kr~8ePn)Q3Az`Ec#lC&gv&r`AuYxfOs^8Uk^!MFgRy*-daE_rH$NHlk}o*wL3r#fsz-k>|v%r`pAvhvb9Kt&%(ZE2G;%+n-=~Ce<0qJwr?Q2GM=!wklWWS zE$H4(R(QpsJ@_et8k(Dhi@Gn|7Q5(_&{wa{wxbB;lq`o2 z^(`EBNM5^&BVs9$IdC!rM0X5M5}K(fiRUKdHsce)5VCg1B5!tKM688mWpIE#syKbJ zkLVRh>JX3SlQtsuZcm4G2f~Y?Zi+aN73^PrCpBXAFN-1r~D|>+O>Rnrm%;ZdmbDS`-+EXt$$%mbwYWq@xyvUH&Ujz`#gZLrj zMED@4CeC6F3#{JfJk)ex$}AzRLb!0BhYUGi{;j{B3~3?rqDIbet zj2X#Qk{U}(NQ;1&Bcz4pB53p*=$Hs;(NivHM9!R;kd|~Z19>VCU^2rS(%R>FlDd8I zX)6Y|=qX2CS3+9L)@;?$yisuK+R^94Df6>O#uNf8)f|n zc&!4;&F}_dCJuO|MCE)+N5gv^`;=tB3yDChjsY(*F62-eWUlVIfY%sPAbsJ+T-sT{ ztAzE6zb3s7+7Km3GwXH;6R)sS2Eq!6*08#cFV3 zLcLm^-iF6^!f70E>_)R*h66O}wdpjZ*8dMHvr9EYlGKr z&~8O|&`!>mY2+^5$y<;&rdtk0lY}GlCm&#J| z8Te4&0(nPfaix?ibDq_ZS4wFPdHp$1-ZAn@Xd0$y-T~L7;7f3Yro9g%gLYvw@99WZ z2IS~Ni_Buz$PiQoyF^Vp>7JNkQMA3KZ6>v`o=|( zfneK==3VZg6zSn;-ld+ZI<$<9<~;|QphffYOkwXh_dGb7H{l^#>t7gCozc9V;a{8e zRMokej6vlNqIpr=bVc)C;~_f7O_1JP7(>amHH@K3dlt>ZFX$ea;wcBZL(#nD0o~@% z#4@V-l!*;+TEg0ii4qk{JUAHxJqj|zTRz17F4pzLbz zqJsCSZpB9hQA+(tzORe_r2C@T0RH%$RiK^tZLhzfogC@=I)r9|a? zQ}2iOI`&P;s2~!7Rvn{)VqC~E^+D$9u8Ru(f+>(Lc4IE>EGoGBbs&H3MFsbSSF;YY zxTxS$EG_6RH&Y^vdH+CoH9ji%Q(&ZUW8qjop`(II#W}=>GT^}u6csGtfWl=AfLedX zVq=`W-z!hzVX$l&GOhz#zUk1HdYEJEfCCJXVO2sl5qYi6$OAod|TD5WkUIw)U} zA%+PfIw)mOny#SeV5Z6LMF%f&4tz*-@Iuu>AESdAeh5&L><_!+&QrWpwZ+3qj5vY`47N?SZ*Yu~p~jU@A+=)$pPIM+dWVWzM(g z{o=f=l+qjmJ0B?T7=a};9aD7hZOC#4VS+1U1}{Jc?ZW8bN06+r=-{6tsY5)ZPujhH zU+{ETcPzgL>ZY&?<%WIj4^SgkU%MzWkZhaL!ACrlB0U@({HCX>4l!e+gWp9aXwktu zQ`pDSJ*1s^OI-`U8J>M_r%*}l~RdsGAzkptJ5FL!-rYkylyocxdB7tubm!tf!9G;HDtV=PgRV+m2K{KyqdD4IC_0h5DmmNP`PNCIX7+a`NtgjPdeT@=QTUb|j<_W7lw2K5p(WI z>2`mU5t-uEnx1a=m+Gz7i(+)VB2O`Rtj~xi89fiNB&Ul$84R1=VdE zZgZbSpRz3Zdu%3~j+Y%!N#nt}0+XhHanlr#j%TB+?R321qN|&;gOFa~{BO{M!k}rU0944@?YM-xeJw5MYZh}X4foiQ@M?TQ-EV>UBJzu)Q+Sp06T%XawBRUu z9BVXtErNQSM)$Z9FwKwsp4F4(Mx!*_sK6l@wURg-V+`(aB5w;^N6GFMy4GpaOc{MJ z8|Fp^HqCCOH{tw@so6%eRGpfctV~s=n{+MQ!t%__gdG4 zShZdml`fp>c$E(3sFbMk$n3If8Z(tq_;K;}+Rn=4b)~5?9M!Q?T^aTMo)G-VZEw~| ze&n`0xIi)_1BGN~fWt4_<@iEUNHg|>G8s6X_^)Y;+$QeCl zV^eQ@)>A+U;eQEP=pm*%_eouApo@}LiJ}#@&b{ajqkZ~%N$P$0M5NMFmQ>*n==5f} z^EOPDM=M#)DL#vn1y3O}a0{I7n-Q&_$V`YazJaCI2H|K>f!u`9FD^~i;0obtZF&*U zOkYtG*7&8_3zD<1u8Hm zf1?PdfAzQ7rGv|n0APR13%V)G0Dyg{x=Hl{no=w@YXt~cL^YG%Vaw;8faOHX3z78h zBh7$?WU~yYPJb{7KhHvklkl@GFL((r_6EywVWedh#2etYLuugzcAq%*migg{(slD$ z=Q6o0n&tYoN^`yykF=8Cf-0F#5S#;fmqSWi4pn^_-s>8wlKV}O7zwF_=^#k;RaSSe zL+d>EwTn5Umz^tvuVK6qWI~@%OxM?01=lbJe&4*7@dfxPVH@L}_NM5+&?3ok?zEdM zE$F&nN|NDDdpW!s?@pV7w}d+lWka~r;@N;AO}V>6PoSBcL>mPu#QSz9)MLy&jgPdz z&{h-AwmY+M-7tfwFz<)M+tpJy99dMbnjN>JBrbU;(m9yCoyiSeUp&!XN!Lo!+aN%4z->c@atSvP>LUnt0&P5Kwe*C9q&UE5T(K`uJ+bpAPT z(ay|`@J}O~1SnrrTC$|H83apKh4pEpXe}$&tHa5+HO{3Fi0xVdBzoAx3_Vxhv=hiC z-oEe!Y6K*E_tJ0%dI10Rt;j>iL zz4Pa6g2$!d>U2}72G8_q)T1;Gw_>0*7En#;Zk2N=tv*(rE;lhM zS7Q`{8j$0URSDAN8&4AH4~lIhWRsq5xksK=VS*a5s)8u;s=@+df>Z|n%cS&09!fQJ zc%i3iC+hGA(6*Z?tPb3BeKJhGx(|q*SdHvpKF#LX;4XXq&#hALCXh7~j zye|L{@P;!)-JbQD+=2L^fL3`Ml3ZfQHBy_~K<;m?4UURiov>+Wd}UjK02zHY4!p^A z&JmVA-bz--vFSrcO+hn*RUxtIgH#Kx))ONZAbE}6b<=aLg_|?}UM+HM_^7ovz=~J{ z)XxM4WLKt6x9Lfi7xbm9^n>!1_QwZSXSZoO9?5YyG{lAexlLPx4nZxBQm0hs{HX)b zi>~=o$*Y@ClzId5m7~;xQ{;ErADLDZr5@HCOKaN-QAmL+Eq|DbuS~N;swEr zsS)dfKoofw1c#?HC{Z~=U6zy=l$t%c%hMAL0>0T(Rfo8-?xMSqN!mF+d8YA#K`||d zLsf|thpN&OiAO%MP)urt)d%Z1sY{CHWB0&~hZ$V7W-Jc?6#*YlWV2Su2F>Vz#EsK%VkjTgW5l&H~Enn6K#O zD7hZ5vBhFR-H#P@^pvBH(oj0hsX2cWB%XlpeqASLaW~AUF9pu$4 zFK9BCS<{@GsWi@6Uz@J9nOn2Zn5kOD6R)0Iv!{Bi_42;s=>p#LFT3VQ)%*DDnv`?N z5!g&7yXMHk&IzwgVY#xZG>JaLO<_QWjg3xoo$@peAT0)i52=ldOQ|fL%5iGvB0HE5J3EEyre)pQoT*EZP9LN(o1W%bL2PR$!vel*8b`6a#`;x z&d{tCVQJ<;OHPl!Lvue{9mm9^Qgv<_{|&dk*6%`J_oa=m%uYz^Gq^RK{< zpQV4ic=EQ2kiR-FgRM%|zh!W;5V&OKd|=l(dnhF?x7z(Z%-vmE?aJ&SBnCcD+u?+1 zq$SmE@N>{ow{O`)pJ0k4v@_Nct*&Md-G`s*PWI4ekiD4$U*oce{?5{ZuCt~j=}VU6 zAK=ya?4f($EwQ{q+2}&{&=U!(kZ_|YdDb4Zd+!mb$N57a!^dp?(5mA6p@u-f`M8}u zgQyEFDNCIE5NRDue!wJ4g(=3EsQ>8PdBP1;%Jtr75&aI>mDN;T&(KD57SV5zvqOv| z3miM~7q>oJFRQl$|ILCSPQW)b1H;v7VWcvy?0z@f;4sOl3h zi)fpt3+~Zn)flBltg0c3ysF{JB6@*`N=@A7JXLjZPgX4CRY4roY-IQVR59`uch^5X?U{Q;Osf{N68(KGq9$rj!w3hK@_l5 z{ivri?(t>?_z*Q>RRB@sRe(LQ_i8apf2ctvZ_EQ8IyDvejHhZRD)4z|+szVI0mYJ> z3aApR3aHXEHn%4RifyfSTL7g%D&myl10JU5l%jZnk5zxN2M{or>>to7haeEfd6oe( zE#;R1;E+QQ60=I!-F8~aMZsw)1>VavG3A^#ed#h?!bnZYb+ETw!@ZUn6Dwa%TiqXTMxJBFX7EIQ>pf zImRih#R)1Y-8q-tvCxmMx$MYsC=yi0khAQy6TBkFMhV##lA!V&?rLcvxzHCPc38-f zg@vVhd3vliH91$RZLf#~e4JhhU(gIQT%Md1afecMyhLFzm8){KY#GkVWDT)07Wg@yCh0Fe-f$HDX1jqR5L%3sO|rn_N(; z1eEOeC9vd~#<*26Er(lGi50i1(y)XS#iZ~A7W_gS zCVhj4p~!nikEk4h=<(KoRvA4?OCU{}8}o7ki!}R6S1lPL_W=#A1Qsk8DI))aPn5ty zPq`Ek!hbOdEHaj)T&5QCRs(E@crG4GVoPAbVnN*=+az`Ll%uXY2`pDkS7GnjRBsbl z3O>?F0!u-Y-A`Z{f??2At9a_w6IhN?Z|#CuLjiC4m%wte>V13yOUk+Anb=G=fu*o> zoWN34uB<9eJ!iQo3`k(H(YcEgST2W7WdVtFTtMfwHs$_jk zU|9)VGSdza7jXhhN?dL=d?>uvwbigpU_oNw^OV3MOd~C+4u_wEmco5YVEF=5B%z(L zmgsH*%Rl3%x|6{2b!2Zx2`pc=w4j?OQw6XM3vZHa6BRbOE&OW*)nR6!UU!Ayr~^ z3#rmRB(UJO^i^yz0uvTyFgeM?S{wyVU^#)Rx>aUZ9D{SSrwi`UW!2b0jaXGf6nRy{ zlfd#?50#p@|DmU?xQ`mKDu5{RDu6eE<=;GXYAWz`Pt{IT;G594n$XWK<30{%c?lfduNCL}+ zc*2S`c?C}BZ6j^va%|6;vJ%;@64c~&?9*WK67HHbtER&1LWq3XHOVS&`C(7ei_$Ub zd9unK@U5(ZXILeD8gD|fhFI~Q;K?c<^mI#yTem^o)SHP~%Lw$(s1Yjy6-8bIT9A$s zldSS-Pfw6u_DX!pQ&q>Pv0jP$kx5#zN}g$qQ5Dm27*&;6F{&!!cIoFmMMZ#*^?LnDeC+xhKYh;Efa18$|J$KyiCF zB969(1WQ(C?*yW5&9??c@e*67GkH2GQLX32=9AOceAgrkl5i4+{#Mn1yl0cV7PM4t zl**+IbIpm`bZL2MraXE>d0T}J(QZ_yW+&+~D9FVf;NHM>qi{&i6v$NrHViFoG;5<1 zWqd5vD`mPObjetCe0;V6cStQMk8S5`Lucx>t#H|BV_6gs84of@jO%$p90=aJ?1_xQC8F@vkTW>QMz!=`ZXI@U0T|3#rc=6TU~*g` zz;a_?W_By&j!(e#wp-`uxVp7S$0nwuv=+{=86&w=;_)P;Je8BpLQXcu%1QDZeB+o) z78H%=PqX8h4jWz1k0N~j4214=rh`+hOF( zaJbYAjyuT}jb3HCQZG-IHlRL_mM*Q1R;C-3f%0Sxj-f;ef|{wpfuUbFUYf4K@l*{E zfwL!?&6yQTm+siHV`SU(>`1M?Z7H;ZEi{&%D>Q!?7Bbbo5tN>e)X$H?Kul*wapJ9N zA|G;bNp5s?S5iVl-mx9U=VXH3190g(-xo1nz!;kx>oOUl#gP)GAS^ zjxE89AuZd1rWCe^*Y0mU<1#!AwfK5Y0!eTuCmfSTm!-o^JOqX5cX^tq;SEl4o0!ul z9Nyp~>FdMOa5d36uw9D3u&~WT0RJ>23&p@!&!K*YdaHGP?{KDM73CQ}resv}7-(#j z!dXzNgovc_9!0+mLk&;-Y~ts}36`?&kAeWDeNR4$&1ABm7truXYWOen>z{UiJs`u` zMuX|wY_BtHo_4nmYf9q~5A|FXXA%fJltp zOVmoIII>QsL4~YF#hur-%+i7`Nag_QPS50Acr`xV^#piJIEZm{M7pc&9J&C>^EuR) z$%2Fd2g&1Wq~z2MP>(|jC*or^Idx=XWu{(fRHmEKaRIoLMYOcF3eJkkRCN?EDQSsX zKgPbMtWR<^QZblZ$;3z@E1s576EINIk9n9_oARmm>77-TUm@)|P zmL;83^H@C{r!_d|zFDWcuh!#Vywnf|4>feyy#3HS6~4$rt{xpQH3mDvA(dOG5o<_A z6d48w3;aA^h!>0^sK~-%*&fRR3a@LE_s8es%|-A!zFKqw%rWjaEW3_E?lBY ztl<(>`qcdBDvq=)g`j`*mp2CIx4JJ2vScP2WKnRMe$2iH9nel*DIS?ZCQksl5 z-O=~A&MuFQZP`jrvHIK=b=LXtBK=wj4S8Qit0A~3b)q%~tDaMAGq`~ABleavPV8Jq z9E+i0`glRR!_*1tfm|K^TCF0ED56Eo%tggYa7dMYkP#EpOot@Ud{4E|+R^KkQ~{f8 znKA<@>nsb0T&a;WlPv{PrvGGe@F|md3-4S#{MMrp5+n2NM86EI&X77Cj^r0OG96{l z1VZZ8kV}Y*k9b+l$e)ljnI)^nz?(N+I-gC- z>e}>JwTa$&fqwClNxWW?=3ND$BHvO{m7E6Tf(1Vn{|S!hA%fb4`bP|1$`k{1>3L4e zg*c{}9d!l3>H;Kdh}FTL({gcYIrRA=H~0j*jac!RDDvVlEfg&~taL!)G-n;NS2uckg|st% zoAy-g1iv+qVOqLNo`H7Xfd*HK3zmx{l6&!qQe5aMmqbFCtkc~Ux48%+)yf91jEQ*%9&dT%LF;!HN|Vc@(j zukjG`3#x@yy)O{cV1^A{9+0VlD_A2R+g8EAn3f7)p)5(ke%|JNb|dv7xXzY zgEYStSe=n(Ix5LGae(@QG)3%))&b@am<~a-Xq=Xvl9>aUp98YH1~LzvNaB@$((Sx6%#%4dLxvB*!ra|AIZg~HHfnVu3aDw89nRrPJNQ{W&JnNQW}MzcIUDo#Rf%xOXY13Lo<%pFL$@YpD-v&Cb{j^}!+cCzTW2HB)7I`VAeMTcTrZqcDi ztcwm+`ZR}lDAu%GwZH;kYq|w+B6kSm3?}Dzn5Qi^P%{D-8;hu_Uy1kLDCP($8|rV> zV-oE703tao^E#*+p}vcB31$D#aAT412f)mm_Y+0Dp*qoucnQYjUD$^RI}SM_0Sw|` z05Yh{qqv_KMLHc>j->IMVg!xmrvr%P(fky0BHS3CZnr$87nJZUXE+d2rbp?c&Z{Sj zSpy>&W~~0%(<9viCDTwj{4j<>3WBWCmx(aw#~#3gOw?bL*}E;a>6^p$pFQlP_+DI> zb{mf9P}n%`IqilCyM7#Vvx^u-zny>BGkThxN2Tksh1hFjxe9r&(m2RJO#xf#;Xabc zc40A8jj#*HlN)7Cy$;#daHagZX;_L>$4a^tAku~{+F+uxfwU#r8T}`-Ll*{gh@HL{ zc&bK7-pml#mwh37s#&gYt2F16b*fLFq0LO=?jjqNLXO^@Lraa+MP03YAU-C7~8qD9r+nyVbE=xI$k69TToldg_fU zbQw7eYg6Uwbf^#X8R>MI4bBUP54F~T^YbXp`6(!a3mSmHyt{KCrCw>J_LCA#f*7foi9)&Jiy-rW1M!*{FUdqCHQDj4A#;KD>rqhw=Ftb6* zb78sJn`e4@gX6`)?uDMJI%bPaR$L5iyBWuRC&jqj%0QJ^(VQxMW`u|+R<&Z@0>gk` zi$i_~dYFsjz#a|Mn?U6EYpUw^OUVU_6ntL3sQ#1SR{}`n^~zT4f4FL&kghU}^$O`V zD>BJ-mlrIz1oVg(EH`cXEq8!8vOJaP+`TcLW8@NXv~iWV%Y^l-IcF&L;uvsF+5 z1Q*+g6Wj*TMx!`T56!K(J!*L!-cEy}L*RMl~5?4oQdGE_?j$TOH1Ws1SMMVTtGF3MEtF>V=B+-Z3# zf&sxcbpzsrgOn0*fro|K(hIdJ5Wy}BXqBDr(u71ISZVW>l3Nh$EYRS}KgM!_VBd{T zgkb5ZHwbn);=37X??V0Vn!m@2TvdY|AXaVGSIrI6QzP$vKfvgQRQJrUN@U4!e+t;E z3uQbk{iJH4HQg6js`y}oqk9S7Sg@#3VgOOS1Z=VV(`3{?K{vBAoD+inqvZt$1pQ)Q zb%vlR*OP~E0Qv$!4^1IxItYc(GbJ$xJwFa4cMWCF&~t-Q ze#kk3j6m|hk6^OO<>RWX0javvm;gk7c!AS7w}v*~2)9 zbPcgq`tj|}q)81O+zKsA#U+Rze}kREBF;fUhsQ#3Vt&zk#nD;hLU`m2QTvUNCUQOJXJdZwihF_ zG+>)&9s^tEkP&#H)G{77OPX2PL$}t&K>mC0kg11%vgWC(b2YgRDi^!4@yH;mF7s}h zP`zEQCMO;S`YetH$R)bH(nEASOC18sL^x`gB7J8#aew5g+6nXjxD)1IrZIm}#t41H zLv)V$U}|#9Kq2W+VqFHR(&g<~S2Y~1wqA$H7{9Mi#{MPa;sB;_v<@e#z$N2RRMqb@ zQd#3HtLksX3Np6e4j__e({Di4h}ksHXtCi3PL_sg4^Ehc6%w2<3X@>oZP?bks$-Th z4*B$8@)PV~1mGG>ejLC)9%E!*m&e%1C+BfCep4)=u|BvSjGPXDsu5$I9#=P#YG)2B zsUl}~`JpM2P%mW6%`-e5>A*&|te+2>v5q6EzX4O%rYJtAhyAmDK5hhabCc+<-{v3d=@(9fY!6Vyx@-@EGBjQgKq6cGIj9<8 z1x_L4uQJMECoe32a7Qkj|BNehwbLZkYcyJ2&exa^=pW~6yv|cK!j9zfHQoem2MOID z5)nnPN0pus!cL`Rt)S`vYp{KN%JYl(D?LopL>%QOO2nOCm+9xy+Ysdmmo6wJ&K6HN zEoB_J99S+q;a`Q02~RjZ^~Mu^D!P#61stJ{@brjX?dVqR;5XS`2Y&FQ#RA`;4x6=j z!S~lINk@SBqY_zyC_m1KW4sUihpL6vR9}4HDM#~}=x|;y@WtW**9!~>xK@BBLA-DB zXs<>d#yQ>JyIWq+J!Y8 z@AqQlGkd=UE66+g7)vC0M_&f+5PA3^$U9Dc+Ht7ORp9;J$T#lbhFfE8Wcs^>n;UX8 z#7P%$zJ&5H%HJ9Txs^I?y@|>RO%L&!1xPlUNn&x(R z`lI>Fnx3jUMvcwgm_t@+F77<**u~BKiE(ki)&l2GdU-M zkn^IIo+^E&G@SwFREs)zJ2GlhHEMV6LPC|j}z6+^p*WB3$H-l%& z1E6ZeOt}cR1f?TG*H!3;qNHAIIT=K}kq%?TOE8MZVILyU(qM9I0E481imEyVL!OWx zI*NvK+V8M_b^x*LsyZ7v5srI`?HW>L0Ro`4#qX%$qse`zDcKNjD}kzRS8Eh@u%zl@154;?7jO%zHEU0G3#Mnd#4lCsX|l=763})-0IKBQ>WNb2rNiHn$|-Iq^7YsmX9# zb@pPWd`^CgEbogK^Qk$hD|TY01m>KW-vffX=EOW1+00H%!3pwrJ<4+Ebz)uvPE0)B zmgQ)%zKG%9GJee~@q%J;E-ry+P%+30;mpa|88}S0F*^!}`KC#_J^h9f)8s5*1xzN- z!ha$__E6t7l}6|^CbKUd$xBg6!aS1ekgg%tD!)haR*V^I+c|`aY!VYjkvo!$Dft%H zX;RQMf290LOS(1WkOj_~i0d(BWe+oS=(HT_TD_CkQ6pe0^WI5OWLcD$-bw8+4})oP zo+>O?5>Ip1c293KS4YEBRmYsMzR8`)D9tySXB_(`nL9DQ$=7)3*18zTd#`WuZQ-B1 z+f!BNYVs^CSZH^upL;e_4qsoDwSAB*nyn; zP>5pD;!2f1yHf+G_}A*VDVRNxE`9cNE{13+_B_uppeXTD4Cj`>rPx}k+BHYx?%RVW zz~3VW!Y9DRa;{?pBvMy*lmS!~C(OpZl#X!RdoY}bLcjIlEC$#xOf;Ma2XKmq6FJr8 z;f(Y+o)SPTdzD6z6XC|Z`Lwh(rxF6B~VT^;g{UcHCCvwS>m^m0>@=&IkOKiktQ z&7`ARb=d|4`IGMsAdxlyPN*88`AZ3nr~c%^v{l^(aw%gl7H3#bee9JZ}baDL%_pNC(se9X{!y-D z>CjPvY;hga;=9_k8vWK-gkW3eB7@yK#ssnM6hQx#GQb1vDvf#R;Y zWKW025KTV>x++*f4!?bQbiFRwf4vMYDg!5K9jyR&I)& zc;ec&#^TcK%ozNZ<}@@)W7YBT*#=%1T(7{@_K;Kx&yB?cqYx1_YgTrGem1D;Y_mF9 zZSw7B+bYwQx~$9R^vZ0(=G;uBR0YQ|Uhf9ljTNE&0XVBcj0Il(hWiB5o8wC3U}*+;HlER&xSX&=8dO31Y9Nc0JcR6z+f^Kz#3kNBWnV2$_A?H_p3xM#9taf zEW_~^L)D0JT+p0_s~trg^NqQDe1x2$f*KZ*t2;gP=%_f-)h$1$1LJexb7q);z1?r} z&>^&aFnNQ&o^+xi|GGTbK`XAm3m}n)`2RrFh#`KCx#HSfoq{Q=G6R#xO)%l@9IaGf zrm4*~@%*6idgaDh)Lsl!(tEgLajFUv7)&{3z72rHrORuwuLty>*JS_Xsj5p~@*b#M z91_T_$^I3p2Z`Q45)nmfGF7^|8|+rf*Xl}hU@wurxOLq>P=B2ht5hMB&nOiNTGz=b zQ_k`3m-x_Xi3*jvSk`qUA&zw&mWy@W&`!Coqo>}i>sG=I8*sSk767N|$$!DgL9Roq ztqm8h^!jj0Yym;IwwZV^yEE*I@`u(jVufja+p^R=+*(lrlY&yEax~wa0RykAi>U@7 zi_cS43%i!DiE%ej>?${<}Ydn;*#u}3Z zQq=r@huJ@Z<8egGUZ`Z2Oz|Bob9R9ZF~x6GEwpwePdl^3X(y6*V}JT$iJw+H)WxZq zDWy3>{2HLVYlir5pfPEP1xv^fzn(|iXNZ?+hFA%3-VSf%9S^CiE&fF%(8=E;af8W& zOru?_#Il zUw%oNBj7T@+-k7_ZuHXtD{6e^H?Nb5JvrlhNS=ujOxTK)oRZ=FEz6l*NJ9+oFI5Yz zUB}DL%x>C+WMHmeW|wa{wG3V%`c3J~8Qq`2D0I!}9tTX2MprO|jPB2Qqk6O+K6{0w^|jO{b|WuH@>5wGL}7+WPSvBvfS z_@pqlYw(GTEj<+(TS0Co#`X*rHHwYlf+RG&tfh4onOfCmp`jHL>v8~?D?-)cFysj4 zHz^&Q?Tj>e`2r;?WbmHv6qFEy_dL}?>&AXf9*P^bO9)izzIhu~`g6>lrCI1*Ru7ze zmTt7Xpo1G3^5#8DQ-RevLY^`^nMA(#1rhU3xtxd<8s?PBoMFBKsP39!z6+VhQF6f! zGR#*ZXTbPb4YPjw(o$)ewc7zgoD$LRDV>tK*cZqHhJO3nQ zXFiPUj{>ImG6dXY^-1_vR^2k(kSG0r0?8U;HSljTT4mj2v_W1xVL!xQ>>R3-_i9Wa zO>=9vGAb}-)3X|BvaSz%x}yhS-U)Th_#a1tzCew@2lCs5M3E(t*4!rKIJBHY>y8>` zkG}8e5s0h27x+7#s(J(~GJcvohRo8o3gwx{!BfS&Tq3I~v7SAyN{>|{BKIenLZR5x z^3?>j$5wS%X2PV5pi?USgB~U#zd3@B3K1BQ`dC1#d8eEr9VYz^WOKy^oke&)4AtS1G9iXT4^d{XRp=j`#{)M+}vI8(^E`Vi&b}V>M zrY8~#=6+YAOSWn)a9Nj4)6o)w1kYD3v}XE+1SKna4g{}*&ShsNClI{a@`A4686bE? zV08w9DX){w$o9Sf!NU#LsA7E~4or#6;lOi%=&s?wKS16w4iwxV;PPx_Ob8BygS03< zC3}=#o^O;MQK?KZuP8lBUWXJ7Ca+<_q)jzdO&1c0{&s~v5f57_4|@*&{sg|2Rj~{+ zB=~zfk~PGl?+1TpS;3ziRKkAp58NTXwE`KhC=p}r><#~fryDwMc@@;Pg1&pG5i95u zMPATXe0CLMzTyf>U}<7_$kQJU@_pV@wG+tq56CJF^5t2_kWaBL2l-Tq74oUlBa37~ z@ugK*1+*L6(I-+9_+$i{K;B0@Y|}s<3Vs$#Wtx;Hw7n&uRR(!d%cVhbk}N@1@imwE4jJzJT_U?wCZw>S< zJNG!@-73oqx*}%a-8q5P8Q!I=PR>TI_XXbZrlyQ=6{5S8#vHnP2GHC!baw-?j?tZ9 z1|gG$$d?#&S1xgoB@geoKt*39x(j(lX<0Id6b&Xjm@sKfO-0jXM54Q0piRWWX3D~z zgS!@dE304`UPy5F3M6ZY1>X0s>BNK zROygY929d}?s}l;*rGn8I#Ck=y*oV&)PNo;K_Jk(J)l(vdQ#)1ZE}(E+wBq<0^ZuO(5Rtw;$m zY4{N@Fy+*okV25(A*zKwB(>POnn!=JS>0(Dk`u8veL+;5)MDvTA*xF0%%Q3SfbOoL zs+G`~L{)+z1PKn}k@m(;&)HaM&eq{dPuM0*8-vSr*iSW1+l{AcfFZ@EW6Jc#8)(KV zJ7L4|);YS8Mggr3TTybJtV6m7lM9)AY2Qpy&)^M;tM)!g%QE_$Xmdfz>^%MoxI|rT zh~*hy{jK;y`hP8aCJ=gEjT8;BhWMe^x>W(Aj~l#kANP2zK2^GTA?0pt!HbC&t`N@v z%Wjd@?6UY4AGz(#X`7GSc8A`oVnnN(qz)!ik#aVeBmslKfjk_9z^VVaRMj7ZkKBs; zssLhnpXSSiPnM!+k$Ta4U2L$Y$U&L^H9?P?Bwt1z;iWx%|z@BJpb53hFHxF zCU^Mj$&f8FFKVRSc#T1xG%L~wx?kcfK56*XSXw~d2Z3A{$is30^1h5u1oG&qHz4m> z(z4cNbS5-tyV&8-%Qe~o#ABacu1O2RdupzdG>MiHQ$KzL%+}W-=A;*b?|z_KXw`e} z*|T)Cb9k5bAo&e;rZ4dBND&Xscc>8ErDW#N-FJcPuA#d_Zb{Ld;0K|*@AEi&(cO6h z-QlU;Met53T?x*JfqnBhqeJ~h>4wT&x^blQhLo%)CFm4jykqg7nB3-FB-6z4K_(VB z-b;wL9LGECaPDPD(GY8iAL6ab0(FjZcuN53(zX!NX{{-F zXmx|M!Q_HSae{+*0+`KE4w)S|!7rhzU59d81BhiPw*{(3NJcwQZik1O?n1ez!Pl%% zuHhj=Lb(}#JqhKIc~K+nMr91;r1^+~a?;AHv9v(BmjbyiD2L?&%DoSt2+Gk@Z=l@i zat>|8ZF_TN-({NY0LEqJc|{{3v|(-I??Jh5iao!%-<1)g12*C z#= ziq!zox~BFx+A>-7Ht9A?u9;WhMaYLQ6{0lXoHggULI&8`7lt zFLlV}S$7d6ao;KXQ4>bo>e?w1&CNwcg5(t@@IZgZn8EEi~N89ou(qNm=Vt>qX) zpnTMrGv&0~&$HW5M~ntLKw8>@q!907J@j z-ylyFlSf9Shsr^MT%$HxrQ6qbRGSl}g(PMRr3d-^Hk-jDcvNLbmP#)NPUeyN!Q}Pa z32A%%u(1F7N8El*%I&s5Vboc3?}m?Mbx~I>kOsLU^-qwlA=VK;G`xU@LO)wTh`f>u z+LgKk+K->nV^8BC7BPDkZEJS~8uJnYEPz%@eXut#oDS{XnrF9pv; zPJ~5<#sP)eaG>4GYK znuCiKUL+~jO_j~oF;md^s>i_IOP6`1ajv;Yl&_{-$cZZFPb zIHx=0aZ*E*mHL`3;|}>%V0Ctfqzq4fiM;QNJB06_H~3%Z4M{1?c|*Pp6nD)VvJeM` zy&-}Xv_Ah1awWtYatgRH;C4B@^H1fbNFYtl5KLB@qGKZXNC@cwY2!^LQ_1N-Hp~Re z@t+9j+mD;ljq&9e*fORQqK>_HcU*)+8n#7n4bnBlI^cJAoJ^_>?v7@i92;mr(Xp|S zw`HSWqt5a`!#r#rqOX~jB13VVhj<-~EQPvOug2BXh}Ekhio9NpJ)nzHQ0ZBT9+~{Q zhf2f~?5U`Es_N)0_Hg_rGC=cGt-cHaj_1nyxiV<8TC*f?_-i=RH~G#5|BTCTBhUCsT5k z1@wts6H7c*BZMsHnm85O4icwDL<9m3n`=Uq9$Caf)%#Xq6%a;jM>lf*iR~m0bF_&K zWg|*_onMzu35iOhoDy5UzL$Wa}gclk9e7Cp*7i;{0zlS zi#vjtLfy_}XJ`ecJ0dMWr5AshEP4m&lgSvTJK`;t7aZ=0I|Hk;J0j(GatE@$FYbt^ zlFg^2Bgy_kZ$wI9&KvP!Ah>JZh|eM4*c%}@LEea$AX7rT5pbC*o>kc>i9m_k`D~frHLg`|vvt{W|XW2dHcHLj0N9SGUJLsh%xi&*a&Yb27_qnAL{2<1BkeF>YyF%fJRF3dF6p|2Ro?h*tOibT{$*cVJq}u_x-enO9ayxt? zfJ7FIk3rQ4!B~}g3Q9|sl&a&D2RlUpp0OI73yCfW-VjAa^~#O2l?LWgvC-~@OXA^x z{<2HrAy3r^`OCQ^{t?;^614}3h$5GSDqY?VdzHGi+Ik)4Mf|>QHJ#1`^2B}C!&Gfv zM0tx+3Fp_PD?_4N3BuhkaejqdRw(hexH8BBIb0c7E?gOhz7(El(+NHG#+7k8W+v9* zzCt>)sp0fxl$#Kl-8$QZ90%vcW@eKecr^H0scd`Ts@9LrJJ3=Nnvnfji80L@i-Ebi zNSceR5TC}dYM~Eznq|9)3;Kz#EPB!WEx?Ket^KcAxV<*HaB*p2bK!N;qjON{oRaao z$$^!Mez62MIiN2yIW=P9%b?0>uagzn01}ewMsfoD)~&^R%Rc-#Yd!?m+V}qIs~pp5 z-TMsYn{~tQ#IZOaB^ZO_;lC5%zmwp<;p^tnV6l~u4SY&p+3C>yt79F$PH3hBi*T#(F(ECmGZ+r6*-{(d(yW*9 zcCH$vjWo_VWpSxdsf?YozBXN1TxwRQDz(`r|E0Y$0a;sP4gP(svUPUbmPtrDnLKCN z;u8IN&f4;116r7=*T$=p74c_2xoZ#VkI3nwXH&^`varZ$#8k2nGt*Qpw8nbwI;GC! zU8YTqaed=8!@5Iud&*OkojaOQ%$+Z7ITl;IX?Y9nX%+Acz>JZhK zD%YDg&eoch#{4VrvuEj_O)Y)azGc$qUM9F;4BoyCzi@?h(AnD-Dm5`iP@eY z$wvy3KP6}g9f>d5+INivw{MKZo@jPdFX#`m7vHjdrH%0rAMa>9_ScQ0ZAkX!3bH@y zZ?j9kvUSNdFh7qQn7wbesGw_Lxc#_+Io$S@HU>s~yrY59Et57+*@oz;nvD}xK=F9Sz$728^(c)_z(IIZnoJ<_L}2 z`sNy;Epa1sqpf|{2yy$y2<^5^_5_|x`fs(h-^SR8&vrC6g3AKL*+ymojg0IG|7G^( z&9>gSMq@s1H2&1qzH2nNePc8h5NcKZ5PzBd_^9nWZH$Wed`F{lfB~*;9e5Yizjv*s=M6?K^FZjre@z*!Zh+c0sx%Np6R!yg%6m`>K`S zd|_5WN?0zdpaz6?%Q2B0{4zi!oK+w=K%Rjckr^Rb1s89sPR&ljNe-#6djwK)MWz96 zduYr~Hsz)V_I=|;Ne%HD9D>Ys(%X`{*`(5~6b|Rcqi2G{~nd#!JI+>L+cYxTvvN1#F@mh(=_9x8Da$%zin_f*xxJF$rlqsRblyG5QMoamq!l1p?@CDud- zReEBOP^h77h1CbsfM3u}L-8bn1{0I4*LWC;y#EC#08~Ans=C$TRP-C9!jB0B_44#s zZHnB0C6PP;+lZP_(5Ovruhgx=?{z=i=^@)ajvOm|6E$KLY*EyyVE?&?N=>le@2RQ_ zcCsBRhsVv64?}e~Ls+mCLvn(xO00sdN>2Vxdz7vco_4IYL@3ib``eMx0| zy*f6sQ2|si*1(IAbx?r2<-oX?N{lZMDD0@hg)Lhv12@3GpeVC51Rlzx69_2y6IP8- z-X6|tQ-3RFlEHt}(`&aFuwHzJ8nNnyDC$%%e(Rx9(~Dnus&=9mzk{~j3}L-c49V$* zDzWN?Dt%rLg+&QKtCwE^9mL+m>EO3KgBPiT=WAF?xYtr`L_;EqVQ!&lk~YT(wVQ2J ztg2=4&9RbMN))$A-A;SC8-BW_i`8uzHDXmaQPiort@BW+soPpl)lSsy5@_4a5LP$E zkes@y605qY(uJYYphmM5{0b-nekV>5mU!42sR);8p377PF2#r`?$?G8>&z_d6srU5 zYAT?$q6EQIh{wVtb?Qjzg35RqmbLJsRVNHTC~Jf9o8lbl!HYcoa}PV~!7bE?RS!f_ zr+V-v50#o8yunko6Fqn{wC!dH>w#iOP7hRxRS#6@nQe=N8s1j>ZGfgAC2^W^lZWw< znzD&Br8K;?R-2^d_~kQAz+rIv%J^g%5EmT!RENbWs!XXoHdf_A@m6(uyjB{Ug$lZ} z$Eq&@9_xoZJ#&i$>&S!Dh*d{Kkyl6dL{>;Ig7`xXHtF(rJalSW@-0u*PPF8E(6*Z; ztR;#iIW18oRxMGbtGgi+iifSPGzYqa^u_7UXFbCasXN!Qw?9~WSb1hDb-aVJJUv?B zd>vFEb8%!K-ZDfh*gn9QRj-Z%tNQ9NJ~6bJ5i)lq3s|= zQY^_Sk}9z(k}AE}tw>Sgp@zKG%~nCJklHx4I?OXTIkj?n-IAXOZ`!j1)<(P&1wGe# zUS~Gj2MPG(p3tqq%|4I0Q-k9%G7o1eZ4b{f&~oEzpK*y0bdjFp>Z zVKqQ$+k86}sx}({4!*B9AmOvCAVJx##Fz0mSl%zXLfDKH}Q$ z9WmZ;b0H2pVG)b9g<&pyMGYiP2!H9JxdZE2OhS-J{g{U`&|DIczwp4BE-eSoceuIxQotN(hYXb4r~Su4=~yi|t^rMBem|pkpF$nx1--H@&)1o(7PA z6YQ`+gR*6Oc6t=&C9&TkG^6@VM@F^t10CdAivwXsoXuPAxIM=Cf?Nl9YMJV`*DK8# z)U<#hS=76$7FsXtc^0*Y0r~vu*n4o(-Xw=%$Ed{{@|rYm(!%_x_~s-&sq`W(d5XJ&9s0Uq6YX>_6nr@5Cga@w#9$j^1DO2*x9v{j8So00Y@+yNqg2^m zo}2}!0v`m&G7*96nwiRUquQKP-%PVVo@7)j?M}`@@f}Q_rPR~67fH-tLr(xLCb>F| z32!&`B=E+9OHr!Bl1|nkMN0PJt>jAp)MfSvpcmY$l4g@!f$rKOK`)SSc%@p0s|i7Z z(XXY%7q{wy)Ydq?1mIMUT37PZs}F!kUKc5ngURy(28mHO4pJbbT1!>^>#IoAeRBY@ zjJkJ1)d-2&6Q#)ku|>HWLc-Ip^-!bZ>BuCTmiV3yo|nVd%)BFZ?6o{(Nbvj$e?1AF zk$F)g?Z&|jo~7A|0?%>|RAXrY&u;;8T^A5zxd6}i;S+5-q^I71=VzyAL)~>02b@n+ zpk^d{Hk*cQGmUounvct(q)gKmzR)G+nv-(XO5S5rJt{+eo`byFXKa)wK` zTlHc=a@v#RhuEpUfaIrphQBy>IVCp-kiQJ%cMTx#{;Cup3%(GL`6`dQ7a+ek93ZPf z-L>HONkp;I=Hy@)CO{zv;y+QD*Sl70NtX6wqI(RAPe4fy1H~nzXo&4VK_<2ail5^G z#TKa!2gE&SS;LEh{;p_eNBoIdCMU8Y25SFGU3JA-&PK~7n2+sn!E+CBM0tnxQ zPXvVNsW(9QoD?JSsaJ6@_|za6Y&6{g2+pA(qhSjKKC+;D5&##LE8|DY$dAHM6wj6+ ze&P?Q7Fs*|2!9R!bOZdR{Yd@}yVMu(drTJmn%ye&4X4EBpzr&D_^v_UuR&wdH!Qe9 zaODF$=3eOg?r`YKJ>Rv!_en#q(&FS%9E-u^dpso4teflDe8_ufmuf3X(Icr8wRIeF zpeOj(@R>l+`wOIKi1ptOdM|f@-kdy#L*A~ptE8pX^`=4e_G`K3ki6&(Ci}n}z9C__ zi$f9!f__F-yAF331rW<{_ax**xcsyOchB`u(_OgxZD6St?ym5VA>r<`{PiT92_e-2KA?G(WmKL~sDUj=eyI3yZZXKTp?$T3l;O_DUT(E(g)8L%fnMP=m z#IOtG>J4@PZC5kK(VH6<+aI=2L<~Z=i*aAj79w4oK!=Z88ju4*=gs90kvqWXt^~cA zUzOP-sQW4yhR&ew%Tx=k>E1(KonJP9I}*o3;?b~qf5$8Dwy(5t%!~MV z@g!gsGk z9P+Ll7ac#asnQf%bMhm%-5van(vjo@AQV9CarjSE z*r5MY0CDhGCbZp9!N7)c9TKk~6Qv>ThyIgd49%Hm;3$R#43;BZaJvD?eZkr({^*wT zGc#0aczm)}7N@o#Jix7#knc4i_ftyy2)Qd?_$<0tX;*gk+L3KAnSe+C@a_Xc?tm>pn zU;4z5EhQ_hCkR1c3Xn%}rr^yUk%%+}XUR#9)(ZNJxJjQ8Wi8KCm{~lq4rG2+<3Kw5 zAD;fWMU-{+F>1uBv!ckWvjNlKZm;&^7e2M@cb-mlqPKeh8E&Sq-YTZ#^j4Kv^;VU_ zIYt^NvWb8i%9g(_NISM1C+*+!Ffu3Y&bd@>#k?S(RdyL85)E`DE~Bb`mvPXIPZtIV z8#{_GfT}*QtYz0+LQA|g^*Wpj0yjRbn;xxA;l|9ZlNGq=X=-bATC9&?f|o-sYy%wY z#>iN?+UDOlu^XKB4*x?{AGT?k0hRSjsM$E^KPhn{%djPY1+4$qda6d~TkaC5GPE6} zZ&wi!V1%q%rAp7~jN^(&tqvOkeMFk#^zjN0qfsAOb5Ja!G{>#FoO&%+tWhp_=_pWI zVsXLW4BG2*!DG2_!M`0kCS36J)EgK4SrqasPi`5VfF<@QuCRkIhg#xt#N%y`MzbAw zDS~mV2*NEJk2X=(4F@G-%`_`wQlu)yo)i;goCutdE72!52>b z2hbr5(2wwmVu1A28v`^#lRvmeL&JY3IINCrs{>oJM0loUOT+lE1>Lt{F}{7|i&CS~ zA53-G>ow+_7;kKLS1q)vJvTOKw81xM8DaH?+7-n*#R=@#Ogy*WjY7aH|iZEN2Z_2Ty9qF&FjeWi`4 zm-u)(7i15o$wa-xQ2DEK)GJk<4FUxlq%EPs?)F!S>E@{w~-A@ z*QS@uPFHasy;uu^xlLnaz5R$XD9P=}fWhP?_)k<&t*_RX2IxghV_)KFcfiN8Mpn0( zxE5mtCaL5$Lnc58A%>fbGhCGT9V+We-^2B9078VdGa&G6plnBu( z;-emR>1+JkpsqFE_91EnroMc@wYsa*zu^Clyf|)603_um0s6d`BB_$_4q?zwXjdR)heC{(ca?)4Il6f zA&xf3`u>cnx?_F2+`+&5Yu#qbEmG{@`yKVvs&}Hut9Jno{v$nd@J$v1%b zh``*@(6*Z?tY?ZTIXzP)Ry|Xtey4q^D*n14yV!D^wEu<%)?8#|Cox0XoeCr!{O=BE zmEDv$HR`U7ES$wb=d%{yKvlcs;J?lzLHJ#sy`KkFeY3ab;9q7s_-!B#kBTWV%HwNa zyX?H54d@>0cHL7oLYH#R`yJ4BkSYq0e=t+~O&G87(` zZxo&=`F1N9yWu6!jdH`w<%^PK!>1^Y5Bvt`n9B{1<-!a0ap;)vg3(iNykKX{&cG>5 z6|vhB(QK$U>|}>GEZb(GSFCko&;3VvTF6!XpmZVubjHZu#24ic(p#H-(Xy@d;A|a< zcJl>FX9%i4oKXmKdI)j&e?hgd%XpX=zPQ-qQ_>D3-^9LvZbugHN$?o`1j58y7fTTdUfmF9m#mM3&-hd>z z1ZG!>l4<0J#Zu65YU|NJuQ0n$!zT(p&{KigWpZ-{zJSEHCXyY=NAb~&Hi?5vQJ&~Hx8_NfJR;ba59%>rG>`tysb5zHS1s(K%+4~kSxr!=(9!Y@VDKCKu zaEU-VGMNbp&j3mY2?X+T5+EoLdZzEB`!X{~iUHyx?y6UdF>gQuu{hxE{ajWjFTXm~%&m=75`(SS0s(b3xc~t$X>Qt2} z3!vxJdtDeI@SmKrw63I-4Iik!pIB_TnzHNbLI-MQ&+DsggxXi+5cV9u(AmGiz>Sst zDaKFUg`n4%=-U>8IDNl`pgT;Zbg&S_3fFrQPu(1o-3FNyb+{?JP?|YWSKtRtRkvMK zexIKL|K3F3ra(?#Q(%ruLfa5KSgtjX6r;)idF{ zVtBPWFM1^$0!|zVu(}?o!ivkD(1)FkkIz;9qFO&L=(ZL%6>H|6GA6P zfIyNxliHXm({YEQ?B?^nxND1P=V6apt^sIdeK^ME8Vq3wgLIh-cA>}O z^2;Je^|7LSLi%LNYF~aiO<)U%-fT5!adcxDhM(ZmxU9(#B@9A23da#d$Zl&(Tn`^( z5^l@!3n?A4>zOYE z+S$V3Yb;V2sWldvVw^FSsS9$bTZ*ThCpQ==Quj0KO%6eNn)M135>xJtyP_I`dBY70 z4O(gdYiA#j(P!GY8NzXUHz!Kbk?r5>sAaagdE50)B4D(AmgKa3=XHypaPX*D|Hm9z zRqKyl0hv8k89xQtv&F%!Uy37T{W8U9{W5hy4nvSCZ0E@h){oTvtp6T|AXCh_6>?B2T)M)hT?LSxfazDvEpK@161CWvxZ7+%iz; zUA7F*yC|0CV3w~$51=F*&{wgLd4L1p79D~DhK3WGS&>7kjhgX`92^yB_hgCAwr{0_ z31~A2FrM$uC)Q$7d|tY?H$!|aR*aLxoVNWVz9=9@qf(oxsrnM@QT7#AESVY(s>YTD=*c?i9y3^q&WFkPb}x>7Xu^CkPM9wyfPnvpd$FL{1+WF?#H**3Y|6Yk zpL3rsS5Jm)rK_h=FFn=X>H*AUtEa&D`z+Xfv%i?k1{0$t%|pbC_VKcOMmRoWob$jT zh%=uw!xNcu>JpYQ}2g5Q|zH9-!e?86V{pUyCcXk&($J1fDJ~ zSGL32A083}*M7mi*s*5M%KF4qqqeQu3Q8*%1xuHldUmiF{w!Up4ALv%_HY!g32Vfw zhEE=bW7EBtneMx#A(|F05_2OoMKoI`p%|iO9rtgpf>nUZw!xu90X&X0LWmr$kF<7_ z8*qBbRDCiShVz~pVFj$9Q5%|sHQ^fE13z9FfPo6QLTzNK2VP8$S77Xd<8!o`CdDqp zkBin{7F@Jy{i?wgYlDrKU9fh|$^iabwSLp8;Brtp+RL(_-0Yc{9D_O+MjL-@t9m(I=7=dY6bjMY}bgD6n6Rq!`> zfS_{Fn>bSj(B{bGXkQN~IJjcX=8HF6wmDd_{>tEr6@!B-)^EP@9Kxb-8Wddh2R8{K z9lA9TGzON^D38M}f6#QSTQ#`yV#vSZf;DT`Y`zi)v#Zx^UcYM7reO7k!C*zOamC=~ zH7hS$yJ8URVQ}MyO{@BYU=!#XDE8#C7J$HDcMaHk5#r=u+;BW4>mJ+G!_21sp;MdM zFUzKGz7iUNX0<*!S_!J+s}rbqvIo*0-9vHfs#U=Y!2=p`eJz5?ZX@Es@uJo0P;9qCJx|8X7u$3(B(17b_Q4v$aTa|L0tez6`tLmCBkb? zW3o6@-DG}n!t+g9>520Q-Kej04ZYA*H(QLx7~?9hhF)T#Z_^N`@28<#O{H|8Ay&Aj zhTPeCgodf5h&qkXH~|-~O*ffOi0(_?W*(J5Jeg4%F;}T5jXmJI98nraWi`ap(JLTC zLquvI7YG6HwsO`|QsBW}@ERv=oRJzwUQh-!w>(%*ecSSDSFtn9cX>QBFn6-*qtTZ-NdG}vP4z7tc6 z4H2~=$RP>6Onsa-)by3>}bXUG` zv?pYZ8(DCo=xfTRcs3*Nf1vk?XqRzd&3gRB$L|v3@{xA*J*B+16DA(-sG7QZq_

-
+ + @@ -4419,7 +4749,7 @@

SubmodulesSphinx 4.1.1 + Powered by Sphinx 4.4.0 & Alabaster 0.7.12 | diff --git a/docs/build/html/classes/spatialpy.html b/docs/build/html/classes/spatialpy.html index 2c1be40a..424282e2 100644 --- a/docs/build/html/classes/spatialpy.html +++ b/docs/build/html/classes/spatialpy.html @@ -4,7 +4,8 @@ - + + spatialpy package — SpatialPy 1.0 documentation @@ -101,9 +102,9 @@

Quick search

-
+

spatialpy package

-
+

Subpackages

    @@ -140,8 +141,8 @@

    Subpackages +

+

Module contents

SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -155,8 +156,8 @@

Subpackageshttp://www.gnu.org/licenses/>.

-

-
+ +
@@ -184,7 +185,7 @@

SubpackagesSphinx 4.1.1 + Powered by Sphinx 4.4.0 & Alabaster 0.7.12 | diff --git a/docs/build/html/classes/spatialpy.solvers.html b/docs/build/html/classes/spatialpy.solvers.html index 6399a06c..f20b5841 100644 --- a/docs/build/html/classes/spatialpy.solvers.html +++ b/docs/build/html/classes/spatialpy.solvers.html @@ -4,7 +4,8 @@ - + + spatialpy.solvers package — SpatialPy 1.0 documentation @@ -103,12 +104,12 @@

Quick search

-
+

spatialpy.solvers package

-
+

Submodules

-
-
+
+

spatialpy.solvers.build_expression module

SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -124,7 +125,7 @@

Submoduleshttp://www.gnu.org/licenses/>.

-class spatialpy.solvers.build_expression.BuildExpression(blacklist=None, namespace=None, sanitize=False)[source]
+class spatialpy.solvers.build_expression.BuildExpression(blacklist=None, namespace=None, sanitize=False)[source]

Bases: object

Accepts an expression string to validate and convert. Allows for pre-flight syntax and namespace validations, @@ -158,7 +159,7 @@

Submodules
-class ValidationVisitor(namespace=None, blacklist=None, sanitize=False)[source]
+class ValidationVisitor(namespace=None, blacklist=None, sanitize=False)[source]

Bases: ast.NodeTransformer

A subclass of ast.NodeTransformer used to sanitize spatialpy expresions.

@@ -172,7 +173,7 @@

Submodules
-visit_Assign(node: _ast.Assign)[source]
+visit_Assign(node: ast.Assign)[source]

Visitor function for ast.Assign nodes.

Parameters
@@ -334,7 +335,7 @@

Submodules
-classmethod map_operator(operator)[source]
+classmethod map_operator(operator)[source]

Map operator strings with built expressions.

Parameters
@@ -345,7 +346,7 @@

Submodules
-operator_map = {'!': <class '_ast.Not'>, '!=': <class '_ast.NotEq'>, '%': <class '_ast.Mod'>, '&': <class '_ast.BitAnd'>, '*': <class '_ast.Mult'>, '**': <class '_ast.Pow'>, '+': <class '_ast.Add'>, '-': <class '_ast.Sub'>, '/': <class '_ast.Div'>, '//': <class '_ast.FloorDiv'>, ':=': <class '_ast.Assign'>, '<': <class '_ast.Lt'>, '<<': <class '_ast.LShift'>, '<=': <class '_ast.LtE'>, '=': <class '_ast.Assign'>, '==': <class '_ast.Eq'>, '>': <class '_ast.Gt'>, '>=': <class '_ast.GtE'>, '>>': <class '_ast.RShift'>, '@': <class '_ast.MatMult'>, '^': <class '_ast.BitXor'>, 'and': <class '_ast.And'>, 'or': <class '_ast.Or'>, '|': <class '_ast.BitOr'>}
+operator_map = {'!': <class 'ast.Not'>, '!=': <class 'ast.NotEq'>, '%': <class 'ast.Mod'>, '&': <class 'ast.BitAnd'>, '*': <class 'ast.Mult'>, '**': <class 'ast.Pow'>, '+': <class 'ast.Add'>, '-': <class 'ast.Sub'>, '/': <class 'ast.Div'>, '//': <class 'ast.FloorDiv'>, ':=': <class 'ast.Assign'>, '<': <class 'ast.Lt'>, '<<': <class 'ast.LShift'>, '<=': <class 'ast.LtE'>, '=': <class 'ast.Assign'>, '==': <class 'ast.Eq'>, '>': <class 'ast.Gt'>, '>=': <class 'ast.GtE'>, '>>': <class 'ast.RShift'>, '@': <class 'ast.MatMult'>, '^': <class 'ast.BitXor'>, 'and': <class 'ast.And'>, 'or': <class 'ast.Or'>, '|': <class 'ast.BitOr'>}

@@ -415,17 +416,17 @@

Submodules
-class spatialpy.solvers.build_expression.CppConverter(tree)[source]
+class spatialpy.solvers.build_expression.CppConverter(tree)[source]

Bases: spatialpy.solvers.build_expression.ExpressionConverter

Converts an ast.AST to a C++ expression string.

-class CppExpressionTransformer[source]
+class CppExpressionTransformer[source]

Bases: ast.NodeTransformer

A subclass of ast.NodeTransformer used to convert ast.AST expresions to C++ expressions.

-visit_BinOp(node: _ast.BinOp)[source]
+visit_BinOp(node: ast.BinOp)[source]

Visitor function for ast.BinOp nodes.

Parameters
@@ -482,7 +483,7 @@

Submodules
-class spatialpy.solvers.build_expression.ExpressionConverter(tree)[source]
+class spatialpy.solvers.build_expression.ExpressionConverter(tree)[source]

Bases: ast.NodeVisitor

A subclass of ast.NodeVisitor used to convert spatialpy expresions.

@@ -492,7 +493,7 @@

Submodules
-classmethod convert_str(expression)[source]
+classmethod convert_str(expression)[source]

Convert ‘^’ to python pow operator.

Parameters
@@ -820,7 +821,7 @@

Submodules
-class spatialpy.solvers.build_expression.ExpressionResults(invalid_names=None, invalid_operators=None, is_valid=True)[source]
+class spatialpy.solvers.build_expression.ExpressionResults(invalid_names=None, invalid_operators=None, is_valid=True)[source]

Bases: object

Container struct for returning the results of expression validation. Any expression items which indicate an invalid expression are listed on an ExpressionResults instance. @@ -841,7 +842,7 @@

Submodules
-class spatialpy.solvers.build_expression.PythonConverter(tree)[source]
+class spatialpy.solvers.build_expression.PythonConverter(tree)[source]

Bases: spatialpy.solvers.build_expression.ExpressionConverter

Converts an ast.AST to a Python expression string.

@@ -868,8 +869,8 @@

Submodules +

+

spatialpy.solvers.solver module

SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -885,7 +886,7 @@

Submoduleshttp://www.gnu.org/licenses/>.

-class spatialpy.solvers.solver.Solver(model, debug_level=0)[source]
+class spatialpy.solvers.solver.Solver(model, debug_level=0)[source]

Bases: object

SpatialPy solver object.

@@ -946,8 +947,8 @@

Submodules +

+

Module contents

SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -961,8 +962,8 @@

Submoduleshttp://www.gnu.org/licenses/>.

-

-
+ + @@ -990,7 +991,7 @@

SubmodulesSphinx 4.1.1 + Powered by Sphinx 4.4.0 & Alabaster 0.7.12 | diff --git a/docs/build/html/classes/spatialpy.stochss.html b/docs/build/html/classes/spatialpy.stochss.html index 2cb25e06..4026adfb 100644 --- a/docs/build/html/classes/spatialpy.stochss.html +++ b/docs/build/html/classes/spatialpy.stochss.html @@ -4,7 +4,8 @@ - + + spatialpy.stochss package — SpatialPy 1.0 documentation @@ -101,12 +102,12 @@

Quick search

-
+

spatialpy.stochss package

-
+

Submodules

-
-
+
+

spatialpy.stochss.stochss_export module

SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -138,8 +139,8 @@

Submodules +

+

Module contents

SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -153,8 +154,8 @@

Submoduleshttp://www.gnu.org/licenses/>.

-

-
+ + @@ -178,7 +179,7 @@

SubmodulesSphinx 4.1.1 + Powered by Sphinx 4.4.0 & Alabaster 0.7.12 | diff --git a/docs/build/html/genindex.html b/docs/build/html/genindex.html index b01ffea2..f9cb72e9 100644 --- a/docs/build/html/genindex.html +++ b/docs/build/html/genindex.html @@ -101,7 +101,9 @@

Index

| G | I | K + | L | M + | N | O | P | Q @@ -232,6 +234,12 @@

C

+
  • children (spatialpy.core.KDTree.innernode property) + +
  • cleanup_build_files() (in module spatialpy.core) @@ -267,11 +275,11 @@

    C

  • combinations (class in spatialpy.core) -
  • -
  • compile() (spatialpy.solvers.solver.Solver method)
  • @@ -4077,7 +4077,7 @@

    Submodules
    Parameters
    @@ -4091,7 +4091,7 @@

    Submodules
    Parameters
    @@ -4115,7 +4115,7 @@

    Submodules
    Parameters
    -

    model (spatialpy.Model) – Target SpatialPy Model for annotation.

    +

    model (spatialpy.core.model.Model) – Target SpatialPy Model for annotation.

    From 0186da35216335acb28e5f980e3eb1b0bd0fa9f0 Mon Sep 17 00:00:00 2001 From: Bryan Rumsey Date: Wed, 2 Mar 2022 11:32:23 -0500 Subject: [PATCH 16/25] Updated docs for results. --- spatialpy/core/result.py | 52 +++++++++++++++++++++------------------- 1 file changed, 28 insertions(+), 24 deletions(-) diff --git a/spatialpy/core/result.py b/spatialpy/core/result.py index 9f766c8e..a8408d8f 100644 --- a/spatialpy/core/result.py +++ b/spatialpy/core/result.py @@ -312,25 +312,25 @@ def get_species(self, species, timepoints=None, concentration=False, determinist one or all timepoints. Returns a numpy array containing the species population/concentration values. :param species: A species in string or dictionary form to retreive information about - :type species: str | dict + :type species: str | spatialpy.core.species.Species :param timepoints: A time point where the information should be retreived from. If 'timepoints' is None (default), a matrix of dimension: (number of timepoints) x (number of voxels) is returned. If an integer value is given, that value is used to index into the timespan, and that time point is returned - as a 1D array with size (number of voxel). - :type timepoints: int (default None) + as a 1D array with size (number of voxel). Defaults to None + :type timepoints: int :param concentration: Whether or not the species is a concentration (True) or population (False) If concentration is False (default), the integer, raw, trajectory data is returned. - If set to True, the concentration (=copy_number/volume) is returned. - :type concentration: bool (default False) + If set to True, the concentration (=copy_number/volume) is returned. Defaults to False + :type concentration: bool - :param deterministic: Whether or not the species is deterministic (True) or stochastic (False) - :type deterministic: bool (default False) + :param deterministic: Whether or not the species is deterministic (True) or stochastic (False). Defaults to False + :type deterministic: bool - :param debug: Whether or not debug information should be printed - :type debug: bool (default False) + :param debug: Whether or not debug information should be printed. Defaults to False + :type debug: bool :returns: A numpy array containing population/concentration values for target species across specified timepoints. Defaults to all timepoints. @@ -340,7 +340,7 @@ def get_species(self, species, timepoints=None, concentration=False, determinist """ num_voxel = self.model.domain.get_num_voxels() - if isinstance(species,str): + if isinstance(species, str): spec_name = species else: spec_name = species.name @@ -404,11 +404,13 @@ def plot_species(self, species, t_ndx=None, t_val=None, concentration=False, :param deterministic: Whether or not to plot the data as deterministic :type deterministic: bool - :param width: Width in pixels of output plot box - :type width: int (default 500) + :param width: Width in pixels of output plot box or for matplotlib inches of output plot box. \ + Defaults to 500 (Plotly) or 6.4 (MatPlotLib) + :type width: int - :param height: Height in pixels of output plot box - :type height: int (default 500) + :param height: Height in pixels of output plot box or for matplotlib inches of output plot box. \ + Defaults to 500 (Plotly) or 4.8 (MatPlotLib) + :type height: int :param colormap: colormap to use. Plotly specification, valid values: "Plotly3","Jet","Blues","YlOrRd", "PuRd","BuGn","YlOrBr","PuBuGn","BuPu","YlGnBu", "PuBu","GnBu","YlGn","Greens","Reds", @@ -450,7 +452,7 @@ def plot_species(self, species, t_ndx=None, t_val=None, concentration=False, :returns: A dictionary containing data for a plotly figure of species output trajectory :rtype: dict - :raises ResultsError: unable to plot species for given time + :raises ResultError: unable to plot species for given time """ time_index_list = self.get_timespan() @@ -594,7 +596,7 @@ def get_property(self, property_name, timepoints=None): :returns: a numpy array of target property values across timepoints, defaults to all timepoints. :rtype: numpy.ndarray - :raises ResultsError: Could not get data for given timepoints. + :raises ResultError: Could not get data for given timepoints. """ l_time = len(self.get_timespan()) - 1 @@ -646,11 +648,13 @@ def plot_property(self, property_name, t_ndx=None, t_val=None, p_ndx=0, width=No :param p_ndx: The property index of the results to be plotted :type p_ndx: int - :param width: Width in pixels of output plot box or for matplotlib inches of output plot box - :type width: int (default 500) + :param width: Width in pixels of output plot box or for matplotlib inches of output plot box. \ + Defaults to 500 (Plotly) or 6.4 (MatPlotLib) + :type width: int - :param height: Height in pixels of output plot box or for matplotlib inches of output plot box - :type height: int (default 500) + :param height: Height in pixels of output plot box or for matplotlib inches of output plot box. \ + Defaults to 500 (Plotly) or 4.8 (MatPlotLib) + :type height: int :param colormap: colormap to use. Plotly specification, valid values: "Plotly3","Jet","Blues","YlOrRd", "PuRd","BuGn","YlOrBr","PuBuGn","BuPu","YlGnBu", "PuBu","GnBu","YlGn","Greens","Reds", @@ -842,9 +846,9 @@ def export_to_csv(self, folder_name=None): The columns of modelname_mesh.csv are: 'Voxel ID', 'X', 'Y', 'Z', 'Type', 'Volume', 'Mass', 'Viscosity' The columns of modelname_species_S.csv: 'Time', 'Voxel 0', Voxel 1', ... 'Voxel N'. - :type folder_name: str (default current working directory) - :param folder_name: A path where the vtk files will be written, created if non-existant. - If no path is provided current working directory is used. + :type folder_name: str + :param folder_name: A path where the vtk files will be written, created if non-existant. \ + Defaults current working directory """ if not folder_name: folder_name = os.path.abspath(os.getcwd()) @@ -873,7 +877,7 @@ def export_to_csv(self, folder_name=None): for voxel in range(num_vox): writer.writerow([voxel] + data[:,voxel].tolist()) - def export_to_vtk(self, timespan, folder_name=None): + def __export_to_vtk(self, timespan, folder_name=None): """ Write the trajectory to a collection of vtk files. The exported data is #molecules/volume, where the volume unit is implicit from the mesh dimension. From aaa16063c78be6444f3d93668fc20f79b532fbd1 Mon Sep 17 00:00:00 2001 From: Bryan Rumsey Date: Wed, 2 Mar 2022 11:35:30 -0500 Subject: [PATCH 17/25] Updated docs html files. --- .../.doctrees/classes/spatialpy.core.doctree | Bin 1458314 -> 1446171 bytes docs/build/html/.doctrees/environment.pickle | Bin 452584 -> 452444 bytes .../html/_modules/spatialpy/core/result.html | 54 +++++++------ docs/build/html/classes/spatialpy.core.html | 74 +++++++----------- docs/build/html/genindex.html | 6 -- docs/build/html/objects.inv | Bin 2622 -> 2612 bytes docs/build/html/searchindex.js | 2 +- 7 files changed, 58 insertions(+), 78 deletions(-) diff --git a/docs/build/html/.doctrees/classes/spatialpy.core.doctree b/docs/build/html/.doctrees/classes/spatialpy.core.doctree index 11541e34bdb14c03a2441f7db5c9240219b7d037..4e2cff48587a27bda8d8722f798f1eec70b92cac 100644 GIT binary patch delta 162156 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 WZN$9xZ+~m2)3sWjmydRECjCDc$r>5} delta 165207 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 S;l5eGSm30e(m6Ha2mdc1lH1b& diff --git a/docs/build/html/.doctrees/environment.pickle b/docs/build/html/.doctrees/environment.pickle index 3a57141d3ce57228f2ce04a37fb3f7bba36d2e0d..4cc502e8c6257ee6fad199408cf83e27521dad8d 100644 GIT binary patch delta 17592 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 U9BTf_^Z?JzF7SDpc3n>Se;g=I`2YX_ diff --git a/docs/build/html/_modules/spatialpy/core/result.html b/docs/build/html/_modules/spatialpy/core/result.html index f99c972e..1d4c4b2f 100644 --- a/docs/build/html/_modules/spatialpy/core/result.html +++ b/docs/build/html/_modules/spatialpy/core/result.html @@ -405,25 +405,25 @@

    Source code for spatialpy.core.result

             one or all timepoints. Returns a numpy array containing the species population/concentration values.
     
             :param species: A species in string or dictionary form to retreive information about
    -        :type species: str | dict
    +        :type species: str | spatialpy.core.species.Species
     
             :param timepoints: A time point where the information should be retreived from.
                 If 'timepoints' is None (default), a matrix of dimension:
                 (number of timepoints) x (number of voxels) is returned.
                 If an integer value is given, that value is used to index into the timespan, and that time point is returned
    -            as a 1D array with size (number of voxel).
    -        :type timepoints: int (default None)
    +            as a 1D array with size (number of voxel).  Defaults to None
    +        :type timepoints: int
     
             :param concentration: Whether or not the species is a concentration (True) or population (False)
                 If concentration is False (default), the integer, raw, trajectory data is returned.
    -            If set to True, the concentration (=copy_number/volume) is returned.
    -        :type concentration: bool (default False)
    +            If set to True, the concentration (=copy_number/volume) is returned.  Defaults to False
    +        :type concentration: bool
     
    -        :param deterministic: Whether or not the species is deterministic (True) or stochastic (False)
    -        :type deterministic: bool (default False)
    +        :param deterministic: Whether or not the species is deterministic (True) or stochastic (False).  Defaults to False
    +        :type deterministic: bool
     
    -        :param debug: Whether or not debug information should be printed
    -        :type debug: bool (default False)
    +        :param debug: Whether or not debug information should be printed. Defaults to False
    +        :type debug: bool
     
             :returns: A numpy array containing population/concentration values for target species across specified
                         timepoints.  Defaults to all timepoints.
    @@ -433,7 +433,7 @@ 

    Source code for spatialpy.core.result

             """
             num_voxel = self.model.domain.get_num_voxels()
     
    -        if isinstance(species,str):
    +        if isinstance(species, str):
                 spec_name = species
             else:
                 spec_name = species.name
    @@ -497,11 +497,13 @@ 

    Source code for spatialpy.core.result

             :param deterministic: Whether or not to plot the data as deterministic
             :type deterministic: bool
     
    -        :param width: Width in pixels of output plot box
    -        :type width: int (default 500)
    +        :param width: Width in pixels of output plot box or for matplotlib inches of output plot box. \
    +        Defaults to 500 (Plotly) or 6.4 (MatPlotLib)
    +        :type width: int
     
    -        :param height: Height in pixels of output plot box
    -        :type height: int (default 500)
    +        :param height: Height in pixels of output plot box or for matplotlib inches of output plot box. \
    +        Defaults to 500 (Plotly) or 4.8 (MatPlotLib)
    +        :type height: int
     
             :param colormap: colormap to use.  Plotly specification, valid values: "Plotly3","Jet","Blues","YlOrRd",
                     "PuRd","BuGn","YlOrBr","PuBuGn","BuPu","YlGnBu", "PuBu","GnBu","YlGn","Greens","Reds",
    @@ -543,7 +545,7 @@ 

    Source code for spatialpy.core.result

             :returns: A dictionary containing data for a plotly figure of species output trajectory
             :rtype: dict
     
    -        :raises ResultsError: unable to plot species for given time
    +        :raises ResultError: unable to plot species for given time
             """
             time_index_list = self.get_timespan()
     
    @@ -687,7 +689,7 @@ 

    Source code for spatialpy.core.result

             :returns: a numpy array of target property values across timepoints, defaults to all timepoints.
             :rtype: numpy.ndarray
     
    -        :raises ResultsError: Could not get data for given timepoints.
    +        :raises ResultError: Could not get data for given timepoints.
             """
     
             l_time = len(self.get_timespan()) - 1
    @@ -739,11 +741,13 @@ 

    Source code for spatialpy.core.result

             :param p_ndx: The property index of the results to be plotted
             :type p_ndx: int
     
    -        :param width: Width in pixels of output plot box or for matplotlib inches of output plot box
    -        :type width: int (default 500)
    +        :param width: Width in pixels of output plot box or for matplotlib inches of output plot box. \
    +        Defaults to 500 (Plotly) or 6.4 (MatPlotLib)
    +        :type width: int
     
    -        :param height: Height in pixels of output plot box or for matplotlib inches of output plot box
    -        :type height: int (default 500)
    +        :param height: Height in pixels of output plot box or for matplotlib inches of output plot box. \
    +        Defaults to 500 (Plotly) or 4.8 (MatPlotLib)
    +        :type height: int
     
             :param colormap: colormap to use.  Plotly specification, valid values: "Plotly3","Jet","Blues","YlOrRd",
                     "PuRd","BuGn","YlOrBr","PuBuGn","BuPu","YlGnBu", "PuBu","GnBu","YlGn","Greens","Reds",
    @@ -935,9 +939,9 @@ 

    Source code for spatialpy.core.result

             The columns of modelname_mesh.csv are: 'Voxel ID', 'X', 'Y', 'Z', 'Type', 'Volume', 'Mass', 'Viscosity'
             The columns of modelname_species_S.csv: 'Time', 'Voxel 0', Voxel 1', ... 'Voxel N'.
     
    -        :type folder_name: str (default current working directory)
    -        :param folder_name: A path where the vtk files will be written, created if non-existant.
    -        If no path is provided current working directory is used.
    +        :type folder_name: str
    +        :param folder_name: A path where the vtk files will be written, created if non-existant. \
    +        Defaults current working directory
             """
             if not folder_name:
                 folder_name = os.path.abspath(os.getcwd())
    @@ -966,13 +970,13 @@ 

    Source code for spatialpy.core.result

                     for voxel in range(num_vox):
                         writer.writerow([voxel] + data[:,voxel].tolist())
    -
    [docs] def export_to_vtk(self, timespan, folder_name=None): + def __export_to_vtk(self, timespan, folder_name=None): """ Write the trajectory to a collection of vtk files. The exported data is #molecules/volume, where the volume unit is implicit from the mesh dimension. Not currently implemented. """ - raise ResultError("Not implemented.")
    + raise ResultError("Not implemented.")
    diff --git a/docs/build/html/classes/spatialpy.core.html b/docs/build/html/classes/spatialpy.core.html index ab866213..a42f0c99 100644 --- a/docs/build/html/classes/spatialpy.core.html +++ b/docs/build/html/classes/spatialpy.core.html @@ -1613,18 +1613,9 @@

    Submodules
    Parameters
    -

    folder_name (str (default current working directory)) – A path where the vtk files will be written, created if non-existant.

    +

    folder_name (str) – A path where the vtk files will be written, created if non-existant. Defaults current working directory

    -

    If no path is provided current working directory is used.

    - - -
    -
    -export_to_vtk(timespan, folder_name=None)[source]
    -

    Write the trajectory to a collection of vtk files. -The exported data is #molecules/volume, where the volume unit is implicit from the mesh dimension. -Not currently implemented.

    @@ -1652,7 +1643,7 @@

    Submodules

    numpy.ndarray

    Raises
    -

    ResultsError – Could not get data for given timepoints.

    +

    ResultError – Could not get data for given timepoints.

    @@ -1665,17 +1656,17 @@

    Submodules
    Parameters
      -
    • species (str | dict) – A species in string or dictionary form to retreive information about

    • -
    • timepoints (int (default None)) – A time point where the information should be retreived from. +

    • species (str | spatialpy.core.species.Species) – A species in string or dictionary form to retreive information about

    • +
    • timepoints (int) – A time point where the information should be retreived from. If ‘timepoints’ is None (default), a matrix of dimension: (number of timepoints) x (number of voxels) is returned. If an integer value is given, that value is used to index into the timespan, and that time point is returned -as a 1D array with size (number of voxel).

    • -
    • concentration (bool (default False)) – Whether or not the species is a concentration (True) or population (False) +as a 1D array with size (number of voxel). Defaults to None

    • +
    • concentration (bool) – Whether or not the species is a concentration (True) or population (False) If concentration is False (default), the integer, raw, trajectory data is returned. -If set to True, the concentration (=copy_number/volume) is returned.

    • -
    • deterministic (bool (default False)) – Whether or not the species is deterministic (True) or stochastic (False)

    • -
    • debug (bool (default False)) – Whether or not debug information should be printed

    • +If set to True, the concentration (=copy_number/volume) is returned. Defaults to False

      +
    • deterministic (bool) – Whether or not the species is deterministic (True) or stochastic (False). Defaults to False

    • +
    • debug (bool) – Whether or not debug information should be printed. Defaults to False

    Returns
    @@ -1716,8 +1707,8 @@

    Submodules

    dict

    Raises
    -

    ResultsError – unable to plot species for given time

    +

    ResultError – unable to plot species for given time

    @@ -4143,18 +4134,9 @@

    Submodules
    Parameters
    -

    folder_name (str (default current working directory)) – A path where the vtk files will be written, created if non-existant.

    +

    folder_name (str) – A path where the vtk files will be written, created if non-existant. Defaults current working directory

    -

    If no path is provided current working directory is used.

    - - -
    -
    -export_to_vtk(timespan, folder_name=None)[source]
    -

    Write the trajectory to a collection of vtk files. -The exported data is #molecules/volume, where the volume unit is implicit from the mesh dimension. -Not currently implemented.

    @@ -4182,7 +4164,7 @@

    Submodules

    numpy.ndarray

    Raises
    -

    ResultsError – Could not get data for given timepoints.

    +

    ResultError – Could not get data for given timepoints.

    @@ -4195,17 +4177,17 @@

    Submodules
    Parameters
      -
    • species (str | dict) – A species in string or dictionary form to retreive information about

    • -
    • timepoints (int (default None)) – A time point where the information should be retreived from. +

    • species (str | spatialpy.core.species.Species) – A species in string or dictionary form to retreive information about

    • +
    • timepoints (int) – A time point where the information should be retreived from. If ‘timepoints’ is None (default), a matrix of dimension: (number of timepoints) x (number of voxels) is returned. If an integer value is given, that value is used to index into the timespan, and that time point is returned -as a 1D array with size (number of voxel).

    • -
    • concentration (bool (default False)) – Whether or not the species is a concentration (True) or population (False) +as a 1D array with size (number of voxel). Defaults to None

    • +
    • concentration (bool) – Whether or not the species is a concentration (True) or population (False) If concentration is False (default), the integer, raw, trajectory data is returned. -If set to True, the concentration (=copy_number/volume) is returned.

    • -
    • deterministic (bool (default False)) – Whether or not the species is deterministic (True) or stochastic (False)

    • -
    • debug (bool (default False)) – Whether or not debug information should be printed

    • +If set to True, the concentration (=copy_number/volume) is returned. Defaults to False

      +
    • deterministic (bool) – Whether or not the species is deterministic (True) or stochastic (False). Defaults to False

    • +
    • debug (bool) – Whether or not debug information should be printed. Defaults to False

    Returns
    @@ -4246,8 +4228,8 @@

    Submodules

    dict

    Raises
    -

    ResultsError – unable to plot species for given time

    +

    ResultError – unable to plot species for given time

    diff --git a/docs/build/html/genindex.html b/docs/build/html/genindex.html index f9cb72e9..61d2a048 100644 --- a/docs/build/html/genindex.html +++ b/docs/build/html/genindex.html @@ -400,12 +400,6 @@

    E

    -
  • export_to_vtk() (spatialpy.core.Result method) - -
  • diff --git a/docs/build/html/objects.inv b/docs/build/html/objects.inv index c3897c0fa95ec038fff7021e286642bd1aadde9a..f335ae26546f40e1c8858cf9394845d73fa8c58f 100644 GIT binary patch delta 2303 zcmVNiyX zM@wQD;qsVdLeXSr3jVLrXMM!|9WzuJA-J{|iw!GDZRb|@fN_7PGiI+e-$`C_qbN=O zc=%#pZnea`e6cBll=Aj zfA{aJp;vA`mE|HKc_*qeC+hfKlsR+WbE@Bb^Cmz&iIaNkL>tJ^L(36-7ZiO}n(hTh z@VKxynRIW1DStg6fTEC$)6_bygy4kAU0|jfK~vN<-A@l`-t{d8`7;oiGi^wj(R4%2 zcS_6jr@DJs25EyW<2?P&%r2G0K{<$8=IN#hG~U}`*c|}$OpPxdE1&I~0|@E+Jk{)P z3L=(OVTbmCat#8Sqoiq0w;&uQ?65)#WzvG`9TTb8{C|&Ti0CM}@D)Zho*meETIgMB zM+`;rv=P}(Yh17xP<6FwJQ7*vL&58w0`Ro;AgP3O;SAA9h{yczRM-CS+ z9Ku<~D^l(o0rq`W+D9v8&%2FKL2;)c=60>&FvJ+eHkF|_lO~q@!KftLF`g@0dq@*+ zj{vNeoS7KRG-m~bd%mF&O2W2fM`if|25hIF;m%lqFy!E$lm7xbf6@KXdRfQ>u)e?E zdFmGBS%2DaYXwhS_XJG0y&XURGI&vRVlh7*LD$-P46zidFgUxu0=A!)Gz(l-c^GOF z&(rKb+hS=QquS=vP;A?bSSqYJ8z#_q8Y0ep8X&C7ZmS60;Vl!`+bt4WZ?}a9E~7(2 z%Lw#Ehr>Cdqrqybf2gKvPxG|2l?|OnHpmK4Nlo0->2ErEik^yz!gt+_M>m}W1G}wi zW>JPp1kRPtJ^pvL1+q5&1owVjLP-EFP|4h#8`Z5RNk)T-i2asHkwyq5$?Ww6 zLLO19trEoxJ!%w>8Ct+#$buDOPg5gOTIMLE6cUJXEr-I{7$}m{EvdLc5&bwt(e{K_ zVbSub|KPrHfRj%IJAcgxzquzJz{#uJDYOlancjz0uI4?TPB)Jr9AGNkqamg*4X!?F z2UfP`;cD9)i-&DrcoxEA*O{GqQUwf?7l`43a?J`SFar(M6YY!jJyDrZ-pNC5Z8%S; z7aTd;ZYw9ROfx~ZTV^kWMc@XGXt}Q?+X__xUFHHY+-1If`G3QP_dIA$(lPv=j8f!S zFODGPIx#hl=k{d6g>FM8l2?boP#w?-=f;bp!8!#oNIKYu&j?(5Rx&&^2vdlkF`=6A zSI|K!a<`H%D+y?khSa{Mn~HJoskP^KXG*sgu>-pgV{lbHFNi_5OJRw_!dn*IqWG4C zwcun<(Lctx?SI|D8EM$a>Elot7#EqL=@`A!+`w9U?Pzd1#(;y#$`~SH$r&RoEJtI+ z1)cJasgR6~5fqrXF-iUzPmYwvF*E|s<`~1VNgWgP9gc@g@i-@gGCj`0n1qjWE+X&a zoC*zW=q!*S9g_?)WWsVnCa}2FkQq2GLuA4TB2i?B#ee0CJomCZ0_P(w3XwT-#sZ`X zoH4_4Nv3cyN(smaxyX!BUOMJAxU?${UqwZqY8!qw~-;1C7z1va>uk^1%tF51y> zTK7H`t9YLx!#x71ejj6D8u%%2g!00D7p00HGr@I-D&z;?3RdlCYWZm+K+XKL0hn@r zfJf=)2T-(%z7I!;(fT~3qTX{Gec;;dovqhl(|_<`fC-z5cPxk+co3z+3f7_!YTGjw zN_IO9M(A%R$N(YkITfSGRh^19xYujRWw0uDz`==ghgg(G_nZoNGM_^cL2^ii33n&3 z@FsxBc)LGoD-jEH_#rUP?`w{1pnuzPjEDW2)(DLJ>8KGp#t#mSOu!QBMqFqD&WMdn zw0}55qxA42FjjMZ5ss0dkMTIk_lOKt%3fk)gtPs?9~xV|JU?9MKO)5u{O`?+>ZI?1 zRqt33LHz^`D6OBR>lkE=-2M_h4jCfBp8^BK_*(FNyGeQ3Z<}w;xNiFmuQeWN&0~O* zckYA7fuYM|WMJnu1IahL*2?QA$Ty~$xdV3OACnLWHGiKA?rNIJC9TP$HM7JBFNjRt zE&yo)T4ZyrskBKenBPT4SloLLTEbat1@?xM?1eLJmNNL-t?pY4zL(Ojtm~A62#>oy z-TiT@*%w7h?Zh;1W;XJJZcv7L-_WSoW}3Of)n9-C8TuTfLZ`lp=$8{l>;$@g7pb47 zEXMPSDSvDJM^LkRUcq#fN6%%mTs*Uk@I`G#eCSOXZ3bVSFKRDV_?od8Yi2%U@_0SV z3~Mpc?0?2!wE6y=%~HSOEEH?>f$bNy_sBVunl0--kAE#{?sv1WxyMEA{nspPZrSR6 zy#6zGSc8#P_VWhcB-nfsX5pdusVWw=_aweAYJYESmYq+ntIeYJzAkPs+CJCGra#ct z_;u7%y@?fZp*AuQb%i@^3$e)cudtI6|C+2jYEYXGXl*J5s?II;x=eTu>64nTwV(gi zT>CZOXp^M9^ehrKInig;qyxSKpM7PeP5w(Rvg!Xx+1C{lUGx zJAJLO+55(W$f|;trarJ(ZG~E`y~U^F>c`}VJL@15R^;)%z2Gq)y}x;Ty{lJl^AT!z Zx28m8yWx%gGk?$8Uw?9K@PF6rlBHJNbH4xp delta 2313 zcmV+k3HJ816uuOYv3~=A2M4$RD4F1#W`>DUC!bYL70n-5W>)g}OU8-TtNR~U^&6`H zqa`tnaCuBJp=h!*1^?IRvp(Yfjv1_iUWJ}M=YBho`g zWnJoj41FMm{8p7&V4eGzq#!b+o_!XiilQJasB$$RA$guk!AcWUInT-n&niv~P4|K$ zcwE?X=)u;LU2OmE-+J#pegE_?x%+|@189N`7;oiGi^wj(R4%2 zcS_6jr~2`*4AKT$#(DaknO!Q0gK`kH%+pO1XuP+>usZg1ladgX@^$Io_8Ceg5pj?%_@_4A@RT!=14JVaUOclm7xbf8PDkdRfQ>u)e?E zdFmGBS%2DaYXwhSHv*>H-VPuD8N4Vuv6!EZplfYChFA(!7@S>S0ozYYnguSaJPfso z=V|tzZLzeDQEl^SD7I}zEEU$A4HM`)4H4%)4G>mkw^f9G;4KsQv|A*!-fjyITt

    *Y8lA5^D>2Eq3MNh><;k(C-M>h`%26kK3 z%%TjH2%IaO8~%5;1+q5&1V8<{gpvSUppv;eH>z7tl8gou5&JEZB8?DAlG*iXP>dPC zggl~HTP2DYdekT$GqixgkOeEmo~A~mw9HXRDI^f(S`LM?7*QmrTT*d@BKm%cqU{N< z!lLC2>9q6+!U3k%JsM&< z)Zpr)dtha29sz&f*2S*n0x_X06I@UB_m1Z$wKf1-V{z9%XZ$~$?; ztqtc1^#Uem+im6KnrSBJcFXLAu!!Ek5iR$%WLu#Mpvzn!hJU-vw=aL#;UW*3<8%za z$DfFr9h@=4a#N;oF-i%@FuBN#QC>jK$welhyzUq%Erp>QAzsp=Q9<9nB5ID6kXs{T zBr;*QBt@Kv2EH~6X7lFML~?|_37`(DBZYJP`Ul=SzU3K;Ou zp@`T!q{8&T6Igf?K-9tApR`q;1@@yMFwW0_j%=WRf^&?A{pi;SjQoYG5jw{2B8^PI z@_+wETxg!qh>gq#IYXml_9HM>%6<`!QMQlqI3@Xr3>DyBVq^5U{lFg@TfOQ(Jbz$B zijzlR=O(IC)CX3*V?lKK6EvV=f0nLekTEL$OY}Hoh_ZhQ4AA&%!T0Un=ViZbzBS{z z?KixHc_d+v0Z!hz4;}}GF87gvo!bl~-wo^%F0V(BZ%i|DO-T@w1_(8O#|3va&E%5S zXP9rSty$3DfthKOv!%6nSnKnxqeC-bUEe799 zX;;>DCPRebu1|M=oND$(ky1O2&YPKyJkSlwQ12TW728ZRcewgPH6TNuV^rw$tRnj5 zgb_P|uHQv^PE!`+dBv1}HUC?!Sv{{{I?B*<*(?{&EF*kTn-K@SDWgs2%kxF;#R^|D z7GurKXG|WiC$C{GMwqXGpR-x&R~)fojXtpbqV^s+XHv6e-RJSIMa}(g7B=^| zsJ;K1h0QHny^q&_Z4YZO(#n3`;F|=SPr@wR6+czQqV}G|_eJf0t?q^8u~R&_LC>#a>q* z&mn!T^tJZ$-hJ#G-rk+Q*4XTQ<3VIqK}%B~Sgf`}t=8V+({c4<^242VkO?dDc;8;|n2+Ay jyuIGlE4TRwHN0C>qO#raM*o?=XYH>)xi Date: Wed, 2 Mar 2022 11:48:05 -0500 Subject: [PATCH 18/25] Updated docs for species. --- spatialpy/core/species.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spatialpy/core/species.py b/spatialpy/core/species.py index 11a63b53..c1f03142 100644 --- a/spatialpy/core/species.py +++ b/spatialpy/core/species.py @@ -28,7 +28,7 @@ class Species(): :param diffusion_coefficient: Non-constant coefficient of diffusion for Species. :type diffusion_coefficient: float - :param restrict_to: Set the diffusion coefficient to zero for 'species' in all types not in 'listOfTypes'. + :param restrict_to: Set the diffusion coefficient to zero for 'species' in all types not in 'listOfTypes'. \ This effectively restricts the movement of 'species' to the types specified in 'listOfTypes'. :type restrict_to: int, str, list of ints or list of strs """ @@ -71,7 +71,7 @@ def set_diffusion_coefficient(self, diffusion_coefficient): :param diffusion_coefficient: Non-constant coefficient of diffusion for Species. :type diffusion_coefficient: float - :raises SpeciesError: If diffusion_coefficient is negative. + :raises SpeciesError: If diffusion_coefficient is negative or not a valid type. """ if not (isinstance(diffusion_coefficient, (Parameter, float, int)) or \ type(diffusion_coefficient).__name__ == 'Parameter'): From 93511d476de4402bbc9d5cae8a2eca20a11e073f Mon Sep 17 00:00:00 2001 From: Bryan Rumsey Date: Wed, 2 Mar 2022 11:50:49 -0500 Subject: [PATCH 19/25] Updated docs html files. --- .../.doctrees/classes/spatialpy.core.doctree | Bin 1446171 -> 1448363 bytes docs/build/html/.doctrees/environment.pickle | Bin 452444 -> 452466 bytes .../html/_modules/spatialpy/core/species.html | 4 ++-- docs/build/html/classes/spatialpy.core.html | 12 ++++-------- 4 files changed, 6 insertions(+), 10 deletions(-) diff --git a/docs/build/html/.doctrees/classes/spatialpy.core.doctree b/docs/build/html/.doctrees/classes/spatialpy.core.doctree index 4e2cff48587a27bda8d8722f798f1eec70b92cac..426c00af159c036612e9d66115d5137a0a593398 100644 GIT binary patch delta 139300 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 I6Wj9t1M@J%XaE2J delta 138476 zcmbrncYIYv^FPknOOktTA%z4;LJ~p?BqSsfq?Z6nhk#N`4dR!H=Z>*#7V`B;iRS9CV%9Y042kGFXGn#qi>YFU z{wU3C{Li(utETC2c<$R;rp%B;PoJ$i=VN=e`~Gi{P44JGQR=sPbnAN3?#jj#*hhQpX&l=4|z@PHJS#)ZJ>DDc)7@MH*B2 zPrd3MBhu|79g^gkvenyd@jZIF&5Y1zGtE2In62K6r{dLPTeUIAR>PY=H;Uz`r)HVa z@$1p%s393cb}}UcGyw2FU@{?1AIdTpnqNydzS^o&JC@DX2i}a;>hrC7;EJ$e>HwHN zpz4|Xs1CKQXW3OvotR_3r7mpM#h)AX)S0c`qPyae=$tQ%?ka4Xcj-s<45d?Z%@n<) zwykMQ#I`bJJkGE(WhQyPwc*drTlHr(&5A_1DZdgWs0%IqpPZ|_HNaiJ}TQ$wcIASnt^iwmr-BmuZqppzx6e0>5Z#mb5!qbjM3=9 zXlA!_tAuTOV3Y97m_Gl2soOT)Ei$ZfY&YTzWerK{G9jFveze>*y5~XEZW@H`fu+M9+uYym^mit2NtnpT_0_`x+{x zu~v93Zp_-B`-hLjtdg30w&{ya%@wG+w&-g3i-vhZ%8zZ6aa>H<NkM&E8AJOYhCAJQw){91Imrp3-iqxMm;^NooKk6 zr#=YC#E^#5bzw&cJnDvF*Pm%y3qAI1Y#Vh20(#D4bY&vFYJONndnalI9nu@So9hgZ zJXz8;yrLSsgUtz&ZXb0qo|PvT#v2ulr>HYkbX4cCCK=;EA8b;Bd&Y1)uc4bj1U_VA zkdTcTyrYcXcqz6A<;li8KrB;q%aI=sLI&MOOZ<3sW-lFZ#VB+ z?E9+KPFi_X^PPHWw2`SA@APhZFVmg26XFv?)o3RT(BXPmOkAXH+1IQNavq^o_1M1V zoz-ZBdNhryAt3UtHjRjZjMeHpd9{h^XErhaL&b@n$9BqUv$1^KSUuxLY>X=0DND}e zoow3e&r`)DPa_@ufSIO$>2G#YivWaHoR@a;5P1nTXBl18nw_-bs8u`l#ZF=Orh_hc zWE4=|8uK9|16)W0NJs-7CxfM{29*ck03}Vd=(B9sPx^vpQ#CI~{~= zf-1q&(Pp;#OK48}X~sQd^iWB=q(2F}g8MVf7S~wawhK197OhHOLmUUnX6lU_T+xaD zh&XGPUj2wlP)Lj4EL+_>|75IccN32+J@b_McOEp?y&LZfGcxq*!C0yicKJHVD^=l6 zUa6{6AAJLWS1N$ymFjDfD6dpcqEE6?Jqbuyl6bUTSFLsY5c6^W(ED_V*;~!oB|~rK zF1>VS*>-xPBd&u!Hx$NuCP_wGS_U>W)ZXxzb=AyW?AT1%rN{L(?+6-ZAA!I(%$5Ali;Ac(rdZ^CQzrTp3 zUo|kvXM(^d{V_x=(tl8Ie9RnSUqmH|o|mcNI^O(wVH#6>w)!u+0kM;1BiX%6wURt& zkfoj!7uUhqEF>71YD1AOY#N?!SVDRW7)bC(h4_%4IQo8DZ{rUV{2-Y+^YQ4G(!VIu zKPS>Z6kyEK|8EgX|3PBx69r4(wp*lc+wGHnZTgF)UwgM-`m1TkFMlFv$WM!p>#bVt zmLcC9TxiHc@>AT+!N6)H9~?;Dk0-{}Rn2#^yc_Mld9*(S0-wC|iCE;_WH*oY$Y;#f z<|ryo^gOydXtblT4iW4s6rgz;@{@Lp(>#%CCwb613qLtIuC4K39W~m_QS)~5=$wd} zG~&kt4B4=?yLHZ6j$FH+5Ffv4b!VOIh*P(2g=4IjzFbbs^IJ0JORFx zCf*M;!73=&%_?X@O^6Eece4ui@79}kg{Q<3TQ)jn_V_eVW{+P3<0hCN`R&crs&PGx zcs=e}Yv>zs+L&nWam9hsVxFdtPBa&&xIHZNs696ey*aA-gq}uZBJ`L&EcCP&%p7|s zDo*rtpmyra`ysrI-t~gnMYY`nXQ!E-xzSa_=ugjb&HJckk|%AC2>jJ1Kvw^{ZeH?^G1hjxVC&f<3%)J-mlic;6mT;XU9z zv}|pHMf;B!f+F%w+r#pmx<`iiRBDF>yq^BzA-+B!;EPkt4SoS1oN5j>ATtthez>ES zvB#UTk;iv4U2eKL&iIv|dC9l_8T`qwIJSrU3fIm6fMU|Y!+J$#T#ni)ium?_6cP1Z zKoP}6D~i}Aig;$G*}zOj6)2+ecRHtQH7SwMNd#ztys-|z}**EYR!j`^ASBH>Q-O!|)Zi4(um zZ_G7cP!qpfn={Y+*)U(1$IHJH6OupQe1sm#4)H^I_`W5AHI$VdBC5y^@e8T4IkXDx z5Ybd%hq&uI+99eR2}LcvYj8P7xdWi2sYd&UUEj$L5!GaeXf;JUMDU@YivD1+*$>df zt8KBwyrJxSd7G%B_UcXFI_e=$TSQmcy*{~3o$XCM(_AMlGhbFU_UfW{Z7tn_r=IG2 zdCQpeirGZf!(#+%LLci{D`7)6ykZ_u?NJxr@*R6=$EbSk)p;AkIE(F~8njn0ZEVY@ zr`YTnc{=X{v%EH6Gh3)J3S^oH3@As3+1N5(i?7)jcA2iwK??|D0%p$EPpIihOB zR4}VWZ<<-Yu8l}iEsX9$)kUZV2o-Wf^@vb)38i}1Y-hY6R1?0}vt~zR3DE>0dPRsP z1QU6aQ~DU62+cZa>02Q}?qWiD{qAG#D#kvcTo+8K&#yM`FfIz|Ss^VEQsfAvTaR01 zCeN#6)HBWoQO4?(2cz?hn)I|Wc800%qvN^S_z*&=`U6w83Q$(n1K0Qj)5Ew|hye>mXHA0!;`!4DJ;FxFCgNgNPRYkts$ciI}MO+QFPVEGTQAiTPu5sCvn^e9al?U`RqIBI2W<LEdDBYhqomIzu-nO^3uy+)?&i_ki2VMJ6y5e!k z`ad1Z#kqsJ^7jwkqE=PC=WmZN&anJ>&p%*8T!gO{0XX%;ng#Vb81~1dx&KIW|07c; zs*c>pGEH5RU%!E2pDY9~{4YL=SU)HD27D6dR3rD1>rhn(H% z7Ak&i78vhX>=4s2-=r3jU`=(-H{qSVV;kn_Rr}3IeWRYLf>0Rik3&3P?Bo6W7yCG3 zY#fqD9OKzfIII}Y5%3H4go4K^FB!fV4;ZaZGvc9t+R1}^^XApP<(fo!54Cf8pKcz5 zzspl`Wc!ZF_9KD?b@YHk=md%=+OjD~H=pgJAdt6C(*jlfM~NL*(K*}A1XblniElR| z2KChKKYEQD8S1xv6!uAP@?$BXR?)@Zn(<)9P?0om{vhQDTE8G@D55Y#(vKJuwUvcx zd5Z$|tcB`HLG`4CYL1|q6@qGBX;D2XsGby5;5lQj8Ia(JJ4AwbOfWwRf{7x6`FIG- zdZFuxa=;0c%yDr5l*;qbigVJnd%M0-LI={pNx zDDm8KxO4XN0L@(ySdVYJn$`^^*z$%tk%I_)o|X2FxfN#I#{P^B5Lj0gQP z%tkST93dc)qk)%2jivjv8`Yrz$3Fp(Qw8Ky3*_Zk*y6yGoV%jl@V zQQ4{zb5h{HscRcmTXHoI1kJXLjM6jZ?t&L}7s)q$(kY=~+=Vz>h5$vYyLF%^)bkU* zo|7q9^Hld_Lp^ptB98?Jc;FNq;8?JlEa;vOK{ute=)jDWfrQW@iELll+p|Z1wIT=_ ziqG^o>U;WYPpv))eY&n!l0N!sq@AkJ$bT3R116(y?;Wbx0)Oa$?iO!PFb+^;U0oLJ zmqM`rSz7Fe1UnL7hXo&4Y-T9rs0-2e);6%d{({+f=)ju7d#f7sgs|-o!4}(h7W_!m zlUZpr)0 z+kIhF!{LIj7-tJXEo6)vK zkyC8+(8hJMX|?*;^T}Dn1d#Y5IKzot0tdZ7J|WH9XV_$O7L_J?W*p)zueb8>*VNQQ z5-NN3kc7&XQk5jn@Iw^2N%KyBc%}N_kVO06JEX_uM5JTvbEs?)vJ@)YV^Qw%QzA&2 zrr#|=bnWD!K&P~kUnyO_GRpSre1 zP1|mYb-u0~U1$%!zN}-Jp1C6?Q8hfQ&o8kLQ>_lmUcAF$*^9S2%*VAY^haeKCshB# zviWWS&KCB5hq3vNwRync*{AGv)x)TQ4S21PDyU6|@Sdk}%2b=LdCaY3T^!Lx-`M+8 z^L%#N0?lEI)aY}XczQeIlH9gERyq0#ygK9QV7KT^WyB65nsfB<(+n%Qu zGf14Ep0w9d3l7VMX~kjLFij(w@P-LZPVw5C>8@k#FA*aQ1M3L&W9pp@w;AAt<8fWz z>6mPOLFI{_&4(qD)FikXTI}g9ceWFb$j)~95!%_RncM?QQ&W$Krd~QC zntJAlPg7`xx3-^sFjeQ5b5x;?t?O+(wv;qhr#c<6x^o4`81n-v#?6N#5(g`(;Fzk$ z9+9KTuaAgT_>$@*c_JYax(#z*B}YGX=!kd-KOSKZ0SPU#zd=ISESx_=0p30tzZ0aO zi!i|uL*_ro$-*Kb3;QF;XNHycu3F!kifASM{s@O2za$ysmJJSo)n>?s?#5)|m;`rr z?CD1ZrQVq6_(_+9b2SS@5(ZvpyCgfLULji~$1)VnjCZzOR>S~g|yFVUMxr7 zRSH%4#DDC^zG7Yw_ex7&1X|+5qaTm*ia3=N;~y-vB7!-uh|NjzyrxAS!(VJcBag|7 zh_T6G_A^0d5L0PvSS3sm4zov)o@71sQ&+aAeJf(SY)2b1ywkHC>r}=uSq$qRlf|&v zFV>Ltu_cQRi4->B9;CwOq#%Rrgq6$(sl){v~fF0Me2-n?Z;nHKyylIxs3TM}{Y= zmyd}t9ZMbOWe?5qve#ik>{I&LiS}4IW&zv40{AZVMW){PWBTHY_DSYiDoXTxa7?CG zR&Who`|47OC=dPjuYKE4EVAEDf3fDai|l=CUlw{qYhRDXj&{C-0dI$c@2a0I@t?EA z|Feky*fH;{LsRw6J7XK*f>hD%judafl&Y>{0RT#;HghyFqWK|TA9DvkJuXY(=gk~T zj5Ml~#3x}0`%5hz|-BDf_JYqC7S_Gaq33=Yp=oNT$SIDFCI=`i(p)n%xd|2T5 zjEc?*+L7mIj0n2F=?Q>DQFJb#`)equyW5dtAe2t<=mOh>;~ei#(TiF+Iv|wpCti1) z!~Nd|sMj6WGg>?9QaIg5jY@P{fUQOwM<+zn{nTffT2E?;RpqD33R#5ImHUL8gdi(q zC+~3Ft7@KLzoF_0J#Zg(O(*2=r0NMKX(c2Gv`4pr?Sm9KCLSvIZVwnkY@YJRWynL5 zG~^Ej5Bc(XV>`!0bp$&1yA7jGh}$ss1iKC6PtcUJ+=gdPh}$srgpBlp6TXp-R@iN* za^?wR6oHb6_##xW2KPuXBJb|wj*jEz>r|fTS&r}l?$LVxKKq0kd4ev!sr4tsgs!C; zNgj1v0;D6(Kd$zkkcFe@1TP##s7Y6vegz@?hF?y|!f}Q$1^ErZ7(*5gupz$z3Hc4+ z)-T^NoU&x#cc2YK2DYBydu|=OIR+Wk^rkLw*;0O@)}dUZyW=jSp&r;3h4p{pWv1i= zM>re*R7wa4xZjPzfAnTHa}wBfP^eXHb@USQ-8B_t0DE${=jLxr0ljgG;1?9|^|~eK@#-AD6a+ zOM*IBB%GF59W0jYVISlFql3(;uJNaj33m`sse?$UgXON@Mt@T076x}tFYE*L)zC}t zc33gZ)Sr0-rT#3@lg9KYS2g%KScy%4E~OGv^}zcu|GNtl@MQhnFWLS+p8rSpma{K2!`G2!*p)C$5GpRq$I-oSxJUM2dJCL=!Z{-&l|51oz=r-(!*s|4?h-` z>wIWPiy5DmwufLw!wCsV8$3G=#C{N2!mv09Lsi|+X7n{K1pzrPK+X#gW&edIYuGPA zqRw#qQc6*S8392;K)^HmK{(9F5|A@NK&t6-gB$}@%U{G|H2sD3-Sii6HG2q%?jaz0 zl@=w}vU;E+M>Rr2K7~}(e?H_Gqo!FHCJTni7KUYlVQ~nCS4)cl zT-fPdFI>_s-bL_T7KW zR(*Yf_g8DVSa0kd-#*gO)tE0-bC?Pfg(}esJjWt?KR`xxe#*jq##u4WUbw-`&3z-y z)h^(L+xE@LGCH+UbRE2R;ct$rFdh3d3r9KXD|L#O@V}W@MV*o*{BLPfC7+UIpB^(| z(TA$MZaUi0N;P0Y+#KID607?iLWpe97_1g!pD?PayDZ{*rz~Q)I$hN8Q+nVC#5tMl z35#q9k>#pM7R3-BMdNtq9crnxv`|P^S|kglrIfhHMD?jfx6nt&o<{abzX#gtq=u(4 zRBw3-{&)6C_A)Y{HQH^KKaQEryUi1)0=vytL@X|E=1KOpzfU$snZKb5oPrCdbfFF# z5j-BAafGY0=o?;Vb{Da}Jny zQF*Sq?N@OS8h|L+K{$hE#a$<~K|4!ON55cX8C`@PSq@hBlkB~}k_j_9=;+CgESY5g z#%bwS;55p|i6>d*UwM*&?@!f@@d{ZoWAT6v6H?(<_B>A3Foqh-h|DtVi==0Z&@;S2 zg!>BIxA%j=WPDWG9)cN}GBDfJ#g>MfXse%hJc29(Sr7tb$qNpTaXtvhX#sLtfT*&k z*{~a@gQSuXe!7&R1~USJgv<_jo=Z18lqHFr3<2_E24vL~F?+h*-taW*83{#@x(S9Z z!5He?Ray)UPg|#ILxl~PZt7Z7M@=`9)e}-QI+%0DQ>Ew3y#qt)UBlCQU|nM@VW-~J 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 Nw@LKA%Df?`{~tY6vF88) delta 8356 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 diff --git a/docs/build/html/_modules/spatialpy/core/species.html b/docs/build/html/_modules/spatialpy/core/species.html index edd18741..38cfe11e 100644 --- a/docs/build/html/_modules/spatialpy/core/species.html +++ b/docs/build/html/_modules/spatialpy/core/species.html @@ -121,7 +121,7 @@

    Source code for spatialpy.core.species

         :param diffusion_coefficient: Non-constant coefficient of diffusion for Species.
         :type diffusion_coefficient: float
     
    -    :param restrict_to: Set the diffusion coefficient to zero for 'species' in all types not in 'listOfTypes'.
    +    :param restrict_to: Set the diffusion coefficient to zero for 'species' in all types not in 'listOfTypes'. \
         This effectively restricts the movement of 'species' to the types specified in 'listOfTypes'.
         :type restrict_to: int, str, list of ints or list of strs
         """
    @@ -164,7 +164,7 @@ 

    Source code for spatialpy.core.species

             :param diffusion_coefficient: Non-constant coefficient of diffusion for Species.
             :type diffusion_coefficient: float
     
    -        :raises SpeciesError: If diffusion_coefficient is negative.
    +        :raises SpeciesError: If diffusion_coefficient is negative or not a valid type.
             """
             if not (isinstance(diffusion_coefficient, (Parameter, float, int)) or \
                                 type(diffusion_coefficient).__name__ == 'Parameter'):
    diff --git a/docs/build/html/classes/spatialpy.core.html b/docs/build/html/classes/spatialpy.core.html
    index a42f0c99..cbc65089 100644
    --- a/docs/build/html/classes/spatialpy.core.html
    +++ b/docs/build/html/classes/spatialpy.core.html
    @@ -1948,12 +1948,10 @@ 

    Submodules
    • name (str) – Name of the Species

    • diffusion_coefficient (float) – Non-constant coefficient of diffusion for Species.

    • -
    • restrict_to – Set the diffusion coefficient to zero for ‘species’ in all types not in ‘listOfTypes’.

    • +
    • restrict_to (int, str, list of ints or list of strs) – Set the diffusion coefficient to zero for ‘species’ in all types not in ‘listOfTypes’. This effectively restricts the movement of ‘species’ to the types specified in ‘listOfTypes’.

    -

    This effectively restricts the movement of ‘species’ to the types specified in ‘listOfTypes’. -:type restrict_to: int, str, list of ints or list of strs

    set_diffusion_coefficient(diffusion_coefficient)[source]
    @@ -1963,7 +1961,7 @@

    Submodules

    diffusion_coefficient (float) – Non-constant coefficient of diffusion for Species.

    Raises
    -

    SpeciesError – If diffusion_coefficient is negative.

    +

    SpeciesError – If diffusion_coefficient is negative or not a valid type.

    @@ -4389,12 +4387,10 @@

    Submodules
    • name (str) – Name of the Species

    • diffusion_coefficient (float) – Non-constant coefficient of diffusion for Species.

    • -
    • restrict_to – Set the diffusion coefficient to zero for ‘species’ in all types not in ‘listOfTypes’.

    • +
    • restrict_to (int, str, list of ints or list of strs) – Set the diffusion coefficient to zero for ‘species’ in all types not in ‘listOfTypes’. This effectively restricts the movement of ‘species’ to the types specified in ‘listOfTypes’.

    -

    This effectively restricts the movement of ‘species’ to the types specified in ‘listOfTypes’. -:type restrict_to: int, str, list of ints or list of strs

    set_diffusion_coefficient(diffusion_coefficient)[source]
    @@ -4404,7 +4400,7 @@

    Submodules

    diffusion_coefficient (float) – Non-constant coefficient of diffusion for Species.

    Raises
    -

    SpeciesError – If diffusion_coefficient is negative.

    +

    SpeciesError – If diffusion_coefficient is negative or not a valid type.

    From 5f417171a004d2b739c9e44f7bace06c52ad4b5c Mon Sep 17 00:00:00 2001 From: Bryan Rumsey Date: Wed, 2 Mar 2022 12:08:45 -0500 Subject: [PATCH 20/25] Updated docs for stochss export. --- spatialpy/stochss/stochss_export.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/spatialpy/stochss/stochss_export.py b/spatialpy/stochss/stochss_export.py index 3bd47f6c..02ecc484 100644 --- a/spatialpy/stochss/stochss_export.py +++ b/spatialpy/stochss/stochss_export.py @@ -200,13 +200,17 @@ def export(model, path=None, return_stochss_model=False): """ SpatialPy model to StochSS converter - Args: - spatialpy_model : spatialpy.Model - SpatialPy model to be converted to StochSS - filename : str - Path to the exported stochss model - return_stochss_model : bool - Whether or not to return the model + :param model: SpatialPy model to be converted to StochSS. + :type model: spatialpy.core.model.Model + + :param filename: Path to the exported stochss model. + :type filename: str + + :param return_stochss_model: Whether or not to return the model. + :type return_stochss_model: bool + + :returns: StochSS model dict if return_stochss_model is True else path to StochSS model file. + :rtype: dict | str """ _ = model.compile_prep() if path is None: From dd077f1717d85f0e15b503f367fcb825856a8c35 Mon Sep 17 00:00:00 2001 From: Bryan Rumsey Date: Wed, 2 Mar 2022 12:11:35 -0500 Subject: [PATCH 21/25] Updated docs html files. --- .../classes/spatialpy.stochss.doctree | Bin 13763 -> 16109 bytes docs/build/html/.doctrees/environment.pickle | Bin 452466 -> 452624 bytes .../spatialpy/stochss/stochss_export.html | 18 +++++++++++------- .../build/html/classes/spatialpy.stochss.html | 15 +++++++++------ docs/build/html/searchindex.js | 2 +- 5 files changed, 21 insertions(+), 14 deletions(-) diff --git a/docs/build/html/.doctrees/classes/spatialpy.stochss.doctree b/docs/build/html/.doctrees/classes/spatialpy.stochss.doctree index 7bb1d6ca14abe6cb21b84eb0911a4574198d4746..4c7328a903f201e048f78574fcc7d2281c50b83b 100644 GIT binary patch delta 2514 zcmbuBO>7%Q6o9?Ec5LUDC}|qmvAs4Ctn=fh7z6}0swh&WMlk}z0Z`RC_NKGL#IJZzz=WJ%jSM4QR zAs*63yk~9VvYyj5Q!QombLxDNWDLz{FtP&AKHld02lh1S`PAM%E=YUWN_4E9c8M+* z3DS0v-R%u8TYd;ESD4RedD{|;i?-DP0(GINYgx^-KexQFG#87iP45UU7dJOEr3l=y-)0i$>3;6WYa3&sRL0z^TLkWTuRb+@rB$OiIRC$*ALC{L z=C4wrzct7#@4Kp5F6E6HsoI+THS&58@7)8i#v6qEL*yS4o`w?9M{F}VbTpkd3t5s* z%TCkFX<1X&=434OY0Z$|E0tAQ)eTjKW=LeSAUE6NO@t2x``LiChp#gS_EoR&UhWbH zb_aR8CAJzJYojm~B;XqJ|5*dVu0@We_b1%p5SDo_tR~wes|U>+K@1NZ9jtMWNISWo zXy>Fa%e9uG?9zPzsT<8&?)9taUTNyyhwLm>xBGtSNr;?ZW=Xy*w?y#D)Y;Db!?Qp&jj(I#IBA|@i7`H zOz!fJ)4yRKTz~Qvm_5Wfe+H)--&YY!wntM2Lm}pPSQ1SORwS}q1**S+4AGljJyo|-=Vl8MNXx-af%zl`xQkM_tQyE zl5udtzJKYA?;?5*Su5=8o)xy?_ONToo?dhdL||CQ;gXweBm)o``z0xh7v1bhauLW@ J$jcuI{{iQ#6TScd delta 893 zcmaJ2OlYb!h+7ewX9S8A=+Xtg9H9cucFgM&6z!D4Q&RER(fLt{H& z7sSYU4jL1TAu(|?bZ}^F8fT52T-2d)YBcK5!MJ$uL!cVta`MjiedoL1J2_wGUR@LC z#rrRgJQwSIjc0v!Auy54Ch{|hbhdbDHZz?{V@1JjsDFY(Hb_Weu(<+$N1JJiHDa04 z$nJ6nhgIAIXI-b@m=ts#Z_BqBNm@x;(B`xt5zGG+m^I?2-vn6k4!{rTjC1hnOgeQv zF`Lq(+45-}2wN@P{n z?a%!-+uqTZ+n~r}Nbu5oNZ14SWN+1Hf`Pr=fUzu$!YJw5U5Y-bL-m`mw2a|EI#*R73_B1+;-+=`aOLAPl(M>Y$r!qCg_# zG1D;a@{lBKuz!v2^R)c!`gC(`g=C6&`2qQ+v>;tZjkTdQgkr`(vV-FeRtjY+zb3wp9KS=#CsYzwb+M`o)dKNxO841DVnkskuzq43m5k6o l@^B|NVk={1nU~wFg|FdWQE$OMBAZGaswg-4Myn?$gM6kGrR diff --git a/docs/build/html/.doctrees/environment.pickle b/docs/build/html/.doctrees/environment.pickle index de6f572ff061dff403747df761be4cd069e6db2d..d9cc58de4c1187bc04fec60c05e27b04bef8acae 100644 GIT binary patch delta 8537 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 delta 8533 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 diff --git a/docs/build/html/_modules/spatialpy/stochss/stochss_export.html b/docs/build/html/_modules/spatialpy/stochss/stochss_export.html index 01aa00a1..03309955 100644 --- a/docs/build/html/_modules/spatialpy/stochss/stochss_export.html +++ b/docs/build/html/_modules/spatialpy/stochss/stochss_export.html @@ -293,13 +293,17 @@

    Source code for spatialpy.stochss.stochss_export

    """ SpatialPy model to StochSS converter - Args: - spatialpy_model : spatialpy.Model - SpatialPy model to be converted to StochSS - filename : str - Path to the exported stochss model - return_stochss_model : bool - Whether or not to return the model + :param model: SpatialPy model to be converted to StochSS. + :type model: spatialpy.core.model.Model + + :param filename: Path to the exported stochss model. + :type filename: str + + :param return_stochss_model: Whether or not to return the model. + :type return_stochss_model: bool + + :returns: StochSS model dict if return_stochss_model is True else path to StochSS model file. + :rtype: dict | str """ _ = model.compile_prep() if path is None: diff --git a/docs/build/html/classes/spatialpy.stochss.html b/docs/build/html/classes/spatialpy.stochss.html index 4026adfb..87f7ecc8 100644 --- a/docs/build/html/classes/spatialpy.stochss.html +++ b/docs/build/html/classes/spatialpy.stochss.html @@ -128,14 +128,17 @@

    Submodules
    Parameters
    +
    Returns
    +

    StochSS model dict if return_stochss_model is True else path to StochSS model file.

    +
    +
    Return type
    +

    dict | str

    +
    diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js index 8c96f62d..c7334be8 100644 --- a/docs/build/html/searchindex.js +++ b/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["classes/spatialpy","classes/spatialpy.core","classes/spatialpy.solvers","classes/spatialpy.stochss","index"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.todo":2,"sphinx.ext.viewcode":1,sphinx:56},filenames:["classes/spatialpy.rst","classes/spatialpy.core.rst","classes/spatialpy.solvers.rst","classes/spatialpy.stochss.rst","index.rst"],objects:{"":[[0,0,0,"-","spatialpy"]],"spatialpy.core":[[1,1,1,"","BoundaryCondition"],[1,3,1,"","BoundaryConditionError"],[1,1,1,"","DataFunction"],[1,3,1,"","DataFunctionError"],[1,1,1,"","Domain"],[1,3,1,"","DomainError"],[1,1,1,"","Geometry"],[1,1,1,"","GeometryAll"],[1,3,1,"","GeometryError"],[1,1,1,"","GeometryExterior"],[1,1,1,"","GeometryInterior"],[1,1,1,"","InitialCondition"],[1,3,1,"","InitialConditionError"],[1,1,1,"","KDTree"],[1,1,1,"","Model"],[1,3,1,"","ModelError"],[1,1,1,"","OrderedDict"],[1,1,1,"","Parameter"],[1,3,1,"","ParameterError"],[1,1,1,"","PlaceInitialCondition"],[1,1,1,"","Reaction"],[1,3,1,"","ReactionError"],[1,1,1,"","Result"],[1,3,1,"","ResultError"],[1,1,1,"","ScatterInitialCondition"],[1,3,1,"","SimulationError"],[1,3,1,"","SimulationTimeout"],[1,1,1,"","Species"],[1,3,1,"","SpeciesError"],[1,1,1,"","UniformInitialCondition"],[1,1,1,"","VTKReader"],[1,3,1,"","VTKReaderError"],[1,3,1,"","VTKReaderIOError"],[1,0,0,"-","boundarycondition"],[1,0,0,"-","cleanup"],[1,6,1,"","cleanup_build_files"],[1,6,1,"","cleanup_core_files"],[1,6,1,"","cleanup_result_files"],[1,6,1,"","cleanup_tempfiles"],[1,1,1,"","combinations"],[1,0,0,"-","datafunction"],[1,0,0,"-","domain"],[1,0,0,"-","geometry"],[1,6,1,"","init_notebook_mode"],[1,0,0,"-","initialcondition"],[1,6,1,"","iplot"],[1,0,0,"-","model"],[1,0,0,"-","parameter"],[1,0,0,"-","reaction"],[1,0,0,"-","result"],[1,0,0,"-","spatialpyerror"],[1,0,0,"-","species"],[1,0,0,"-","vtkreader"]],"spatialpy.core.BoundaryCondition":[[1,2,1,"","expression"]],"spatialpy.core.DataFunction":[[1,2,1,"","map"]],"spatialpy.core.Domain":[[1,2,1,"","add_point"],[1,2,1,"","calculate_vol"],[1,2,1,"","closest_vertex"],[1,2,1,"","compile_prep"],[1,2,1,"","coordinates"],[1,2,1,"","create_2D_domain"],[1,2,1,"","create_3D_domain"],[1,2,1,"","distance_between_2_vertices"],[1,2,1,"","fill_with_particles"],[1,2,1,"","find_boundary_points"],[1,2,1,"","find_h"],[1,2,1,"","get_bounding_box"],[1,2,1,"","get_domain_size"],[1,2,1,"","get_num_voxels"],[1,2,1,"","get_type_def"],[1,2,1,"","get_vol"],[1,2,1,"","import_meshio_object"],[1,2,1,"","plot_types"],[1,2,1,"","read_msh_file"],[1,2,1,"","read_stochss_domain"],[1,2,1,"","read_stochss_subdomain_file"],[1,2,1,"","read_xml_mesh"],[1,2,1,"","set_properties"]],"spatialpy.core.Geometry":[[1,2,1,"","inside"]],"spatialpy.core.GeometryAll":[[1,2,1,"","inside"]],"spatialpy.core.GeometryExterior":[[1,2,1,"","inside"]],"spatialpy.core.GeometryInterior":[[1,2,1,"","inside"]],"spatialpy.core.InitialCondition":[[1,2,1,"","apply"]],"spatialpy.core.KDTree":[[1,2,1,"","count_neighbors"],[1,4,1,"","data"],[1,1,1,"","innernode"],[1,1,1,"","leafnode"],[1,4,1,"","leafsize"],[1,4,1,"","m"],[1,4,1,"","maxes"],[1,4,1,"","mins"],[1,4,1,"","n"],[1,1,1,"","node"],[1,2,1,"","query"],[1,2,1,"","query_ball_point"],[1,2,1,"","query_ball_tree"],[1,2,1,"","query_pairs"],[1,4,1,"","size"],[1,2,1,"","sparse_distance_matrix"],[1,5,1,"","tree"]],"spatialpy.core.KDTree.innernode":[[1,5,1,"","children"],[1,5,1,"","split"],[1,5,1,"","split_dim"]],"spatialpy.core.KDTree.leafnode":[[1,5,1,"","children"],[1,5,1,"","idx"]],"spatialpy.core.Model":[[1,2,1,"","add_boundary_condition"],[1,2,1,"","add_data_function"],[1,2,1,"","add_domain"],[1,2,1,"","add_initial_condition"],[1,2,1,"","add_parameter"],[1,2,1,"","add_reaction"],[1,2,1,"","add_species"],[1,2,1,"","compile_prep"],[1,2,1,"","delete_all_parameters"],[1,2,1,"","delete_all_reactions"],[1,2,1,"","delete_all_species"],[1,2,1,"","delete_parameter"],[1,2,1,"","delete_reaction"],[1,2,1,"","delete_species"],[1,2,1,"","get_all_parameters"],[1,2,1,"","get_all_reactions"],[1,2,1,"","get_all_species"],[1,2,1,"","get_num_reactions"],[1,2,1,"","get_num_species"],[1,2,1,"","get_parameter"],[1,2,1,"","get_reaction"],[1,2,1,"","get_species"],[1,4,1,"","reserved_names"],[1,2,1,"","run"],[1,2,1,"","sanitized_data_function_names"],[1,2,1,"","sanitized_parameter_names"],[1,2,1,"","sanitized_species_names"],[1,2,1,"","set_timesteps"],[1,4,1,"","special_characters"],[1,2,1,"","timespan"],[1,2,1,"","update_namespace"]],"spatialpy.core.OrderedDict":[[1,2,1,"","clear"],[1,2,1,"","copy"],[1,2,1,"","fromkeys"],[1,2,1,"","items"],[1,2,1,"","keys"],[1,2,1,"","move_to_end"],[1,2,1,"","pop"],[1,2,1,"","popitem"],[1,2,1,"","setdefault"],[1,2,1,"","update"],[1,2,1,"","values"]],"spatialpy.core.PlaceInitialCondition":[[1,2,1,"","apply"]],"spatialpy.core.Reaction":[[1,2,1,"","add_product"],[1,2,1,"","add_reactant"],[1,2,1,"","annotate"],[1,2,1,"","initialize"]],"spatialpy.core.Result":[[1,2,1,"","export_to_csv"],[1,2,1,"","get_property"],[1,2,1,"","get_species"],[1,2,1,"","get_timespan"],[1,2,1,"","plot_property"],[1,2,1,"","plot_species"],[1,2,1,"","read_step"]],"spatialpy.core.ScatterInitialCondition":[[1,2,1,"","apply"]],"spatialpy.core.Species":[[1,2,1,"","set_diffusion_coefficient"]],"spatialpy.core.UniformInitialCondition":[[1,2,1,"","apply"]],"spatialpy.core.VTKReader":[[1,2,1,"","get_array_name"],[1,2,1,"","get_arrays"],[1,2,1,"","get_num_points"],[1,2,1,"","get_points"],[1,2,1,"","read_file"],[1,2,1,"","set_filename"]],"spatialpy.core.boundarycondition":[[1,1,1,"","BoundaryCondition"]],"spatialpy.core.boundarycondition.BoundaryCondition":[[1,2,1,"","expression"]],"spatialpy.core.cleanup":[[1,6,1,"","cleanup_build_files"],[1,6,1,"","cleanup_core_files"],[1,6,1,"","cleanup_result_files"],[1,6,1,"","cleanup_tempfiles"]],"spatialpy.core.datafunction":[[1,1,1,"","DataFunction"]],"spatialpy.core.datafunction.DataFunction":[[1,2,1,"","map"]],"spatialpy.core.domain":[[1,1,1,"","Domain"]],"spatialpy.core.domain.Domain":[[1,2,1,"","add_point"],[1,2,1,"","calculate_vol"],[1,2,1,"","closest_vertex"],[1,2,1,"","compile_prep"],[1,2,1,"","coordinates"],[1,2,1,"","create_2D_domain"],[1,2,1,"","create_3D_domain"],[1,2,1,"","distance_between_2_vertices"],[1,2,1,"","fill_with_particles"],[1,2,1,"","find_boundary_points"],[1,2,1,"","find_h"],[1,2,1,"","get_bounding_box"],[1,2,1,"","get_domain_size"],[1,2,1,"","get_num_voxels"],[1,2,1,"","get_type_def"],[1,2,1,"","get_vol"],[1,2,1,"","import_meshio_object"],[1,2,1,"","plot_types"],[1,2,1,"","read_msh_file"],[1,2,1,"","read_stochss_domain"],[1,2,1,"","read_stochss_subdomain_file"],[1,2,1,"","read_xml_mesh"],[1,2,1,"","set_properties"]],"spatialpy.core.geometry":[[1,1,1,"","Geometry"],[1,1,1,"","GeometryAll"],[1,1,1,"","GeometryExterior"],[1,1,1,"","GeometryInterior"]],"spatialpy.core.geometry.Geometry":[[1,2,1,"","inside"]],"spatialpy.core.geometry.GeometryAll":[[1,2,1,"","inside"]],"spatialpy.core.geometry.GeometryExterior":[[1,2,1,"","inside"]],"spatialpy.core.geometry.GeometryInterior":[[1,2,1,"","inside"]],"spatialpy.core.initialcondition":[[1,1,1,"","InitialCondition"],[1,1,1,"","PlaceInitialCondition"],[1,1,1,"","ScatterInitialCondition"],[1,1,1,"","UniformInitialCondition"]],"spatialpy.core.initialcondition.InitialCondition":[[1,2,1,"","apply"]],"spatialpy.core.initialcondition.PlaceInitialCondition":[[1,2,1,"","apply"]],"spatialpy.core.initialcondition.ScatterInitialCondition":[[1,2,1,"","apply"]],"spatialpy.core.initialcondition.UniformInitialCondition":[[1,2,1,"","apply"]],"spatialpy.core.model":[[1,1,1,"","Model"],[1,6,1,"","export_StochSS"]],"spatialpy.core.model.Model":[[1,2,1,"","add_boundary_condition"],[1,2,1,"","add_data_function"],[1,2,1,"","add_domain"],[1,2,1,"","add_initial_condition"],[1,2,1,"","add_parameter"],[1,2,1,"","add_reaction"],[1,2,1,"","add_species"],[1,2,1,"","compile_prep"],[1,2,1,"","delete_all_parameters"],[1,2,1,"","delete_all_reactions"],[1,2,1,"","delete_all_species"],[1,2,1,"","delete_parameter"],[1,2,1,"","delete_reaction"],[1,2,1,"","delete_species"],[1,2,1,"","get_all_parameters"],[1,2,1,"","get_all_reactions"],[1,2,1,"","get_all_species"],[1,2,1,"","get_num_reactions"],[1,2,1,"","get_num_species"],[1,2,1,"","get_parameter"],[1,2,1,"","get_reaction"],[1,2,1,"","get_species"],[1,4,1,"","reserved_names"],[1,2,1,"","run"],[1,2,1,"","sanitized_data_function_names"],[1,2,1,"","sanitized_parameter_names"],[1,2,1,"","sanitized_species_names"],[1,2,1,"","set_timesteps"],[1,4,1,"","special_characters"],[1,2,1,"","timespan"],[1,2,1,"","update_namespace"]],"spatialpy.core.parameter":[[1,1,1,"","Parameter"]],"spatialpy.core.reaction":[[1,1,1,"","Reaction"]],"spatialpy.core.reaction.Reaction":[[1,2,1,"","add_product"],[1,2,1,"","add_reactant"],[1,2,1,"","annotate"],[1,2,1,"","initialize"]],"spatialpy.core.result":[[1,1,1,"","Result"]],"spatialpy.core.result.Result":[[1,2,1,"","export_to_csv"],[1,2,1,"","get_property"],[1,2,1,"","get_species"],[1,2,1,"","get_timespan"],[1,2,1,"","plot_property"],[1,2,1,"","plot_species"],[1,2,1,"","read_step"]],"spatialpy.core.spatialpyerror":[[1,3,1,"","BoundaryConditionError"],[1,3,1,"","DataFunctionError"],[1,3,1,"","DomainError"],[1,3,1,"","GeometryError"],[1,3,1,"","InitialConditionError"],[1,3,1,"","ModelError"],[1,3,1,"","ParameterError"],[1,3,1,"","ReactionError"],[1,3,1,"","ResultError"],[1,3,1,"","SimulationError"],[1,3,1,"","SimulationTimeout"],[1,3,1,"","SpeciesError"],[1,3,1,"","VTKReaderError"],[1,3,1,"","VTKReaderIOError"]],"spatialpy.core.species":[[1,1,1,"","Species"]],"spatialpy.core.species.Species":[[1,2,1,"","set_diffusion_coefficient"]],"spatialpy.core.vtkreader":[[1,1,1,"","VTKReader"]],"spatialpy.core.vtkreader.VTKReader":[[1,2,1,"","get_array_name"],[1,2,1,"","get_arrays"],[1,2,1,"","get_num_points"],[1,2,1,"","get_points"],[1,2,1,"","read_file"],[1,2,1,"","set_filename"]],"spatialpy.solvers":[[2,0,0,"-","build_expression"],[2,0,0,"-","solver"]],"spatialpy.solvers.build_expression":[[2,1,1,"","BuildExpression"],[2,1,1,"","CppConverter"],[2,1,1,"","ExpressionConverter"],[2,1,1,"","ExpressionResults"],[2,1,1,"","PythonConverter"]],"spatialpy.solvers.build_expression.BuildExpression":[[2,1,1,"","ValidationVisitor"],[2,2,1,"","getexpr_cpp"],[2,2,1,"","getexpr_python"],[2,2,1,"","map_operator"],[2,4,1,"","operator_map"],[2,2,1,"","validate"],[2,2,1,"","with_blacklist"],[2,2,1,"","with_namespace"]],"spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor":[[2,2,1,"","visit_Assign"],[2,2,1,"","visit_BinOp"],[2,2,1,"","visit_BoolOp"],[2,2,1,"","visit_Call"],[2,2,1,"","visit_Compare"],[2,2,1,"","visit_Name"],[2,2,1,"","visit_UnaryOp"]],"spatialpy.solvers.build_expression.CppConverter":[[2,1,1,"","CppExpressionTransformer"],[2,2,1,"","get_str"],[2,2,1,"","visit_And"],[2,2,1,"","visit_Or"]],"spatialpy.solvers.build_expression.CppConverter.CppExpressionTransformer":[[2,2,1,"","visit_BinOp"]],"spatialpy.solvers.build_expression.ExpressionConverter":[[2,2,1,"","convert_str"],[2,2,1,"","get_str"],[2,2,1,"","parse_comparison"],[2,2,1,"","parse_logical"],[2,2,1,"","parse_operator"],[2,2,1,"","visit_Add"],[2,2,1,"","visit_BinOp"],[2,2,1,"","visit_BoolOp"],[2,2,1,"","visit_Bytes"],[2,2,1,"","visit_Call"],[2,2,1,"","visit_Compare"],[2,2,1,"","visit_Constant"],[2,2,1,"","visit_Div"],[2,2,1,"","visit_Ellipsis"],[2,2,1,"","visit_Eq"],[2,2,1,"","visit_Gt"],[2,2,1,"","visit_GtE"],[2,2,1,"","visit_Lt"],[2,2,1,"","visit_LtE"],[2,2,1,"","visit_Mult"],[2,2,1,"","visit_Name"],[2,2,1,"","visit_NameConstant"],[2,2,1,"","visit_NotEq"],[2,2,1,"","visit_Num"],[2,2,1,"","visit_Pow"],[2,2,1,"","visit_Str"],[2,2,1,"","visit_Sub"],[2,2,1,"","visit_USub"],[2,2,1,"","visit_UnaryOp"]],"spatialpy.solvers.build_expression.PythonConverter":[[2,2,1,"","visit_And"],[2,2,1,"","visit_Or"]],"spatialpy.solvers.solver":[[2,1,1,"","Solver"]],"spatialpy.solvers.solver.Solver":[[2,2,1,"","compile"],[2,2,1,"","run"]],"spatialpy.stochss":[[3,0,0,"-","stochss_export"]],"spatialpy.stochss.stochss_export":[[3,6,1,"","export"]],spatialpy:[[1,0,0,"-","core"],[2,0,0,"-","solvers"],[3,0,0,"-","stochss"]]},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","exception","Python exception"],"4":["py","attribute","Python attribute"],"5":["py","property","Python property"],"6":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:exception","4":"py:attribute","5":"py:property","6":"py:function"},terms:{"0":[1,2],"0012333":1,"04":1,"0511773":1,"1":[1,2],"10":1,"11":1,"12295571":1,"13":1,"14":1,"15":1,"168474926":1,"19":1,"1993":1,"1993apj":1,"1999":1,"1d":1,"2":1,"20":1,"2000":1,"2002":1,"2003mnra":1,"2005":1,"2015":1,"2019":[0,1,2,3],"2022":[0,1,2,3],"2236068":1,"2333084":1,"23606798":1,"24617575":1,"26836782":1,"28942611":1,"29571802":1,"2d":1,"2df":1,"2r01eb014877":4,"3":[0,1,2,3,4],"300":1,"30088013":1,"31994999":1,"32580855":1,"33630734":1,"346":1,"37327919":1,"39923701":1,"3d":[1,4],"4":1,"412":1,"5":1,"500":1,"55396483":1,"5647":1,"56906522":1,"57714465":1,"6":1,"600":1,"6395831":1,"6473269":1,"64l":1,"7":1,"71124834":1,"7225693":1,"72658602":1,"75679479":1,"78h":1,"79428925":1,"8":1,"800":1,"80622577":1,"8658745":1,"87665969":1,"9":1,"90785663":1,"abstract":[1,2],"byte":2,"case":1,"class":[1,2],"default":1,"do":1,"export":[1,3],"float":1,"function":[1,2],"import":1,"int":[1,2],"long":1,"new":[1,2],"public":[0,1,2,3,4],"return":[1,2,3],"short":4,"static":[1,4],"super":2,"switch":1,"true":[1,2],A:[0,1,2,3,4],And:2,As:1,By:[1,2],FOR:[0,1,2,3],For:[1,4],If:[0,1,2,3,4],In:1,It:1,No:1,Not:2,Or:2,The:[1,2,4],To:1,Will:1,ab:1,abl:1,about:1,abov:1,absolut:1,acceler:1,accept:2,across:1,action:1,actual:1,ad:[1,2],adapt:1,add:[1,2],add_boundary_condit:1,add_data_funct:1,add_domain:1,add_initial_condit:1,add_paramet:1,add_point:1,add_product:1,add_react:1,add_speci:1,addit:[1,2],addition:[1,2],addtion:[1,2],adsab:1,advect:[0,1,2,3,4],against:[1,2],al:1,algorithm:[1,4],align:1,all:[1,2],allow:2,along:[0,1,2,3],alreadi:1,also:[1,2,4],alwai:[1,2],amount:1,an:[1,2,4],analysi:1,angular:1,ani:[0,1,2,3,4],anim:1,animation_attribut:1,animation_opt:1,annot:1,append:2,appli:1,approxim:1,ar:[1,2],argument:1,around:1,arrai:1,arraid:1,array_lik:1,articl:4,artifici:1,arxiv:1,asarrai:1,ascii:1,assembl:1,assign:[1,2],associ:1,assum:2,ast:2,astro:1,astronom:1,astrophys:1,attempt:1,attribut:1,author:4,auto_plai:1,automat:[1,2],autorang:1,avail:[1,2,4],averag:1,axi:1,background:1,balanced_tre:1,bare:2,base:[1,2,4],basic:1,bass:1,becaus:1,becom:1,been:1,befor:1,begin:1,behavior:[1,2],below:1,between:[1,2],bia:1,bin:1,binari:1,binboolopop:2,binop:2,biochem:1,bitand:2,bitor:2,bitxor:2,blacklist:2,blob:1,blue:1,bodi:1,bogu:1,bool:[1,2,3],boolop:2,both:4,bottom:1,bound:1,bound_cond:1,boundari:1,boundarycondit:0,boundaryconditionerror:1,box:1,boxsiz:1,bracket:1,branch:1,brian:4,broadcast:1,browser:1,brute:1,bugn:1,build:[1,2,4],build_dir:1,build_express:0,buildexpress:2,built:[1,2],bulk:1,bupu:1,bvf_phi:1,c0:1,c:[0,1,2,3],c_:1,calcul:1,calculate_vol:1,call:[1,2],can:[0,1,2,3,4],caus:[1,2],cdn:1,cell:1,charact:1,chart:1,check:[1,2],chemic:1,children:1,choos:1,chosen:1,circumradiu:1,ckdtree:1,ckdtree_nod:1,ckdtreenod:1,classmethod:[1,2],cleanup:0,cleanup_build_fil:1,cleanup_core_fil:1,cleanup_result_fil:1,cleanup_tempfil:1,clear:1,close:1,closest:1,closest_vertex:1,cloud:1,cluster:1,code:4,coeffic:1,coeffici:1,collabor:1,colormap:1,column:1,com:[1,4],combin:1,compact:1,compact_nod:1,compar:[1,2],comparison:2,compil:[1,2],compile_prep:1,compos:1,comput:1,conain:1,conatain:1,concentr:1,condit:[1,2],config:1,connect:1,connolli:1,consid:1,consol:2,constant:[1,2],construct:1,constructor:2,constuct:1,contact:4,contain:[1,2],content:4,context:2,contian:1,contigu:1,continu:4,convers:2,convert:[1,2,3],convert_str:2,convet:2,coo_matrix:1,coodin:1,coordin:1,copi:[0,1,2,3],copy_data:1,copy_numb:1,copyright:[0,1,2,3],core:[0,4],corner:1,correl:1,correspond:[1,2],corrupt:1,cosmolog:1,could:[1,2],count:1,count_neighbor:1,coupl:1,cppconvert:2,cppexpressiontransform:2,cpu:1,cradded:1,creat:[1,2],create_2d_domain:1,create_3d_domain:1,csv:1,cumul:1,current:[1,2],custom:1,cylind:4,d:1,data:[1,2],data_funct:1,datafunct:0,datafunctionerror:1,dd:1,debug:[1,2],debug_level:[1,2],debugg:2,decreas:1,default_rng:1,defer:1,defin:[1,2],definit:1,degener:1,delete_all_paramet:1,delete_all_react:1,delete_all_speci:1,delete_paramet:1,delete_react:1,delete_speci:1,deltai:1,deltax:1,deltaz:1,demo:4,densiti:1,depend:1,dependency_graph:1,deprec:1,describ:[1,4],descript:1,detail:[0,1,2,3],determinist:[0,1,2,3,4],determinst:1,develop:[0,1,2,3,4],diamet:1,dict:[1,2],dictionari:[1,2],differ:[1,2],diffus:[0,1,2,3,4],diffusion_coeffici:1,dimens:1,dimension:1,direct:1,directli:[1,4],directori:1,discuss:1,displai:1,dissip:4,distanc:1,distance_between_2_vertic:1,distance_matrix:1,distance_upper_bound:1,distribut:[0,1,2,3],div:2,doe:1,doesn:1,dok_matrix:1,dolfin:1,dom:1,domain:[0,4],domainerror:1,domn:1,doubl:1,download:1,dr:4,draw:1,drawert:4,drawn:1,dtype:1,dual:1,duplic:2,durat:1,dure:[1,2],dynam:4,e:1,each:1,edg:1,edit:1,edu:1,effect:1,effici:1,either:1,element:1,ellipsi:2,els:1,embed:4,empti:2,end:1,engin:1,ensur:[1,2],enterpris:1,entir:1,entireti:1,ep:1,eq:2,equival:2,error:1,estim:1,et:1,euclidean:1,evalu:1,evaul:1,even:[0,1,2,3],evenli:1,exampl:1,exce:1,exceed:2,except:1,execut:[1,2],exist:1,expect:[1,2],expens:1,explor:1,export_stochss:1,export_to_csv:1,expres:2,express:[1,2],expressionconvert:2,expressionresult:2,extens:1,extra:1,f:1,f_durat:1,fail:2,fals:[1,2,3],far:2,faster:1,featur:4,fenic:1,field:1,fifo:1,figsiz:1,figur:1,figure_or_data:1,file:1,filenam:[1,3],fill:[1,4],fill_with_particl:1,find:[1,4],find_boundary_point:1,find_h:1,finit:1,first:[1,2],fit:[0,1,2,3],fix:1,flag:[1,2],flatten:1,flight:2,floordiv:2,flow:4,fluid:[1,4],folder_nam:1,follow:[1,2],forc:1,form:[1,4],format:1,forward:2,found:[1,2,4],foundat:[0,1,2,3],frac:1,fraction:1,frame:[1,4],free:[0,1,2,3],frequenc:1,from:[1,2],fromkei:1,fund:4,further:1,furthest:1,g:1,gain:1,galaxi:1,gdbgui:2,gener:[0,1,2,3,4],geometr:1,geometri:0,geometry_ivar:1,geometryal:1,geometryerror:1,geometryexterior:1,geometryinterior:1,get:[1,2],get_all_paramet:1,get_all_react:1,get_all_speci:1,get_arrai:1,get_array_nam:1,get_bounding_box:1,get_domain_s:1,get_num_point:1,get_num_react:1,get_num_speci:1,get_num_voxel:1,get_paramet:1,get_point:1,get_properti:1,get_react:1,get_speci:1,get_str:2,get_timespan:1,get_type_def:1,get_vol:1,getexpr_:2,getexpr_cpp:2,getexpr_python:2,github:[1,4],give:1,given:[1,2],gmsh:1,gnbu:1,gnu:[0,1,2,3,4],gprof:2,grai:1,grant:4,granular:2,graph:1,graph_obj:1,graph_refer:1,graviti:[1,4],greater:1,greatest:1,green:1,grei:1,gt:2,gte:2,guarante:1,h:1,ha:[1,4],hand:2,handl:2,happen:2,harvard:1,hasn:[1,2],have:[0,1,2,3],hawkin:1,height:1,held:1,help:1,here:[1,4],high:1,higher:1,highest:1,hit:1,hope:[0,1,2,3],how:[1,2,4],http:[0,1,2,3,4],hybrid:4,hyperrectangl:1,i:1,id:1,idea:1,ideal:2,idempot:1,identifi:[1,2],idx:1,ignor:1,ii:1,imag:1,image_height:1,image_width:1,immobil:1,implemenet:1,implement:[1,2],impli:[0,1,2,3],import_meshio_object:1,imposs:2,inch:1,incid:1,includ:1,included_types_list:1,incompat:1,increas:1,increment:2,indec:1,indeci:1,index:[1,4],indic:[1,2],indici:1,inf:1,infer:2,infin:1,infinit:1,info:1,inform:[1,2,4],inherit:2,init_cond:1,init_notebook_mod:1,initailcondit:1,initi:1,initialcondit:0,initialconditionerror:1,inlin:1,innernod:1,input:1,insert:1,insid:1,instanc:[1,2],instead:1,integ:1,intend:4,intern:1,internet:1,interv:1,invalid:[1,2],invalid_:2,invalid_nam:2,invalid_oper:2,io:1,iplot:1,ipython:1,is_valid:2,issuecom:1,item:[1,2],iter:1,its:1,j:1,jacob:4,jet:1,job:1,journal:1,jpeg:1,js:1,json:1,jupyt:1,k:1,kd:1,kd_tree1:1,kd_tree2:1,kd_tree:1,kdtree:1,kei:[1,2],keyerror:1,keyword:1,kill:1,kth:1,kwarg:1,l_i:1,lack:1,lagrangian:4,landi:1,larg:1,larger:1,last:[1,2],later:[1,2],latest:4,layout:1,leafnod:1,leafsiz:1,learn:1,leav:1,left:2,legaci:1,len:1,length:1,less:1,level:[1,2],li:4,librari:1,licens:[0,1,2,3,4],lifo:1,like:1,limit:1,linearli:1,link:1,link_text:1,list:[1,2],listofparamet:1,listofreact:1,listofspeci:1,listoftyp:1,load:1,local:1,locat:1,logic:2,longer:1,look:1,lookup:1,loos:1,lower:1,lowest:1,lshift:2,lt:2,lte:2,ly:1,m:1,mai:1,main:4,make:1,manag:2,maneewongvatana:1,manhattan:1,mani:[1,2],map:[1,2],map_oper:2,margin:1,mark:1,markers:1,mass:1,master:1,mathemat:[1,2],matmult:2,matplotlib:1,matrix:1,matter:1,max:1,max_dist:1,maximum:[1,2],mean:1,measur:1,median:1,meet:1,megabyt:1,merchant:[0,1,2,3],mesh:1,mesh_obj:1,meshio:1,messag:1,meta:1,method:[1,2],mgrid:1,midpoint:1,min:1,mine:1,minim:1,minimum:1,minkowski:1,miss:1,mod:2,model:[0,2,3,4],modelerror:1,modelname_mesh:1,modelname_species_:1,modifi:[0,1,2,3],modul:4,monthli:1,moor:1,more:[0,1,2,3,4],most:[1,2],mount:1,move:1,move_to_end:1,movement:1,msh:1,much:1,mult:2,multi:1,multipl:[1,2],must:1,n:1,n_i:1,naiv:1,name:[1,2],nameconst:2,namespac:[1,2],ndarrai:1,ndarri:1,nearbi:1,nearby_point:1,nearer:1,nearest:1,necessari:1,need:[1,4],neg:1,neighbor:1,neighbour:1,nih:4,node:[1,2],nodetransform:2,nodevisitor:2,non:1,none:[1,2,3],nonneg:1,norm:1,notat:1,note:[1,2],notebook:[1,4],noteq:2,notic:1,np:1,nsm:4,nu:1,num:2,num_step:1,number:[1,2],number_of_thread:[1,2],number_of_trajectori:[1,2],numpi:1,numpoint:1,nx:1,ny:1,nz:1,o:1,obj:1,object:[1,2],occur:1,od:1,off:1,offlin:1,og:1,omit:1,on_boundari:1,one:[1,2],onli:[1,2],onlin:1,open:1,oper:[1,2],operator_map:2,optim:1,option:1,orang:1,order:1,ordereddict:1,org:[0,1,2,3],origin:2,orrd:1,other:[1,2],otherwis:[1,2],our:[1,4],out:[1,4],outdat:1,output:[1,2],output_interv:1,output_typ:1,outsid:1,over:1,overflow:1,overrid:2,overridden:1,p0:1,p:1,p_ndx:1,packag:4,page:[1,4],pair:1,parallel:1,param:1,param_nam:1,param_obj:1,paramet:[0,2,3],parametererror:1,paramt:1,parent:1,pars:2,parse_comparison:2,parse_log:2,parse_oper:2,part:1,partcil:1,particip:1,particl:[1,4],particular:[0,1,2,3],pass:[1,2],path:[1,3],pdf:1,peculiar:1,per:1,perform:1,petzold:4,ph:1,physic:4,pii:4,pixel:1,place:1,placeinitialcondit:1,platform:1,pleas:[1,4],plot:1,plot_imag:1,plot_properti:1,plot_speci:1,plot_typ:1,plotli:1,plotly3:1,plt:1,pname:1,png:1,point:1,points1:1,points2:1,pop:[1,2],popitem:1,popul:1,posit:1,positon:1,pow:2,pre:2,predict:1,preper:1,present:[1,2],pressur:1,print:[1,2],problem:[0,1,2,3,4],process:[1,2],processor:1,produc:1,product:1,profil:[1,2],program:[0,1,2,3],project:4,propens:1,propensity_funct:1,properli:1,properti:[1,2],property_nam:1,proprti:1,protect:1,prove:4,provid:[1,2,4],prune:1,publish:[0,1,2,3],pubu:1,pubugn:1,pull:1,purd:1,purpl:1,purpos:[0,1,2,3],put:1,px:1,py:1,pypi:4,pyplot:1,python:[0,1,2,3,4],pythonconvert:2,pyurdm:4,quantifi:1,queri:1,query_ball_point:1,query_ball_tre:1,query_pair:1,question:4,quick:1,r:1,radii:1,radiu:1,rais:[1,2],random:[1,2],randomli:1,rang:1,rapidli:1,rate:1,rather:1,ratio:1,ravel:1,raw:1,rdme:4,rdpu:1,re:1,reac:1,reach:1,react_nam:1,react_obj:1,reactant:1,reaction:[0,2,3,4],reactionerror:1,read:1,read_fil:1,read_msh_fil:1,read_step:1,read_stochss_domain:1,read_stochss_subdomain_fil:1,read_xml_mesh:1,reader:1,real:1,receiv:[0,1,2,3],recent:[1,2],record:1,red:1,redistribut:[0,1,2,3],redshift:1,refer:1,referenc:1,regardless:1,region:1,regist:4,registr:4,reject:2,rememb:1,remov:1,replac:4,repres:1,represent:[1,2],request:1,requir:1,reserved_nam:1,resolut:1,restrict:1,restrict_to:1,result:[0,2],result_dir:1,resulterror:1,retreiv:1,retriev:1,return_length:1,return_plotly_figur:1,return_sort:1,return_stochss_model:[1,3],rho0:1,rho:1,right:[1,2],rname:1,rng:1,robust:1,royal:1,rshift:2,rtype:2,rule:1,run:[1,2],rvalu:2,s0021999118307101:4,s:[1,4],same:1,sampl:1,sanit:2,sanitized_data_function_nam:1,sanitized_parameter_nam:1,sanitized_species_nam:1,save:1,scalar:1,scale:1,scatter:1,scatterinitialcondit:1,schedul:1,scheme:1,scienc:[1,4],sciencedirect:4,scipi:1,sdm:1,sdpd:[1,4],search:[1,4],second:[1,2],section:1,see:[0,1,2,3,4],seed:[1,2],self:[1,2],sens:1,sep:1,separ:1,sequenc:1,seri:[1,2],set:[1,2],set_diffusion_coeffici:1,set_filenam:1,set_properti:1,set_timestep:1,setdefault:1,setter:1,shall:1,shallow:1,shape:1,sheth:1,should:[0,1,2,3],show:1,show_link:1,shrink:1,signal:1,significantli:1,similar:1,simlat:1,simplifi:1,simul:[0,1,2,3,4],simulationerror:[1,2],simulationtimeout:[1,2],sinc:1,singl:[1,2],size:1,skibba:1,sky:1,slide:1,slightli:1,small:1,smaller:1,smdl:1,smooth:4,sname:1,so:[1,2],societi:1,softwar:[0,1,2,3,4],solver:[0,1,4],some:1,sort:1,sound:1,sourc:[1,2,3,4],space:1,spactialpi:2,span:1,spars:1,sparse_distance_matrix:1,spatial:[0,1,2,3,4],spatialpy_build:1,spatialpy_model:[1,3],spatialpy_result:1,spatialpyerror:0,spatialpysolv:1,speci:0,special_charact:1,species_nam:1,species_object:1,specieserror:1,specif:1,specifi:1,speed:1,split:1,split_dim:1,squeez:1,src:1,ssa:1,sssa:4,start:[1,2,4],statement:2,statist:1,step:1,step_num:1,stochast:[0,1,2,3,4],stochss:[0,1,4],stochss_export:0,stoichiometr:1,stoichiometri:1,str:[1,2,3],string:[1,2],struct:2,structur:1,style:1,sub:2,subclass:[1,2],subdomain:1,submodul:0,subpackag:4,substanti:1,substitut:2,success:1,suggest:4,sum:1,suppli:1,support:[1,4],sure:1,survei:1,svg:1,symbol:2,syntax:2,syntaxerror:2,system:[1,4],szalai:1,t:[1,2],t_durat:1,t_ndx:1,t_ndx_list:1,t_val:1,tag:1,take:1,target:[1,2],tempfil:1,term:[0,1,2,3],tetrahedron:1,text:1,th:1,than:1,them:1,thi:[0,1,2,3,4],thin:1,those:1,though:1,thread:[1,2],time:[1,2],time_span:1,timeout:[1,2],timepoint:1,timespan:1,timestep:1,timestep_s:1,titl:1,toarrai:1,token:2,topolog:1,toroid:1,total:1,toth:1,trace:1,tracker:4,trajectori:[1,2],transit:1,travers:1,tree:[1,2],triangl:1,trigger:2,tspan:1,tupl:1,two:[1,2],txt:1,type:[1,2],type_id:1,u0:1,unabl:1,unaryop:2,under:[0,1,2,3,4],uniform:1,uniforminitialcondit:1,union:1,univers:[1,2],unless:1,unnecessari:1,unsqueez:1,unweight:1,up:1,updat:1,update_namespac:1,upload:1,upon:1,upper:1,urdm:1,us:[0,1,2,3,4],use_matplotlib:1,user:[1,4],usual:1,usub:2,util:1,v1:1,v:1,valid:[1,2],validationvisitor:2,valu:[1,2],valueerror:1,vari:1,varianc:1,veloc:1,verbos:2,version:[0,1,2,3,4],vertex:1,vertic:1,view:1,viewer:1,viscos:1,visit:2,visit_add:2,visit_and:2,visit_assign:2,visit_binop:2,visit_boolop:2,visit_byt:2,visit_cal:2,visit_compar:2,visit_const:2,visit_div:2,visit_ellipsi:2,visit_eq:2,visit_gt:2,visit_lt:2,visit_mult:2,visit_nam:2,visit_nameconst:2,visit_noteq:2,visit_num:2,visit_or:2,visit_pow:2,visit_str:2,visit_sub:2,visit_unaryop:2,visit_usub:2,visitor:2,vol:1,volum:1,voxel:1,vtk:1,vtkreader:0,vtkreadererror:1,vtkreaderioerror:1,wa:1,want:1,warranti:[0,1,2,3],we:[1,4],web:1,webp:1,weight:1,weir:4,well:2,were:[1,2],what:2,when:[1,2],where:1,whether:[1,2,3],which:[1,2],whose:1,wide:1,width:1,with_blacklist:2,with_namespac:2,within:1,without:[0,1,2,3],work:1,worker:1,wp:1,wrap:1,write:1,write_imag:1,written:1,www:[0,1,2,3,4],x1:1,x2:1,x:1,x_i:1,xaxi:1,xi:1,xk:1,xlim:1,xmax:1,xmin:1,xml:1,y:1,yaxi:1,yet:1,yi:4,ylgn:1,ylgnbu:1,ylim:1,ylorbr:1,ylorrd:1,ymax:1,ymin:1,you:[0,1,2,3,4],your:[1,4],z:1,zero:1,zeroth:1,zlim:1,zmax:1,zmin:1},titles:["spatialpy package","spatialpy.core package","spatialpy.solvers package","spatialpy.stochss package","Documentation for SpatialPy 1.0"],titleterms:{"0":4,"1":4,api:4,boundarycondit:1,build_express:2,cleanup:1,content:[0,1,2,3],copi:4,core:1,datafunct:1,document:4,domain:1,exampl:4,geometri:1,get:4,indic:4,initialcondit:1,issu:4,model:1,modul:[0,1,2,3],packag:[0,1,2,3],paramet:1,reaction:1,refer:4,report:4,result:1,solver:2,spatialpi:[0,1,2,3,4],spatialpyerror:1,speci:1,stochss:3,stochss_export:3,submodul:[1,2,3],subpackag:0,tabl:4,vtkreader:1}}) \ No newline at end of file +Search.setIndex({docnames:["classes/spatialpy","classes/spatialpy.core","classes/spatialpy.solvers","classes/spatialpy.stochss","index"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.todo":2,"sphinx.ext.viewcode":1,sphinx:56},filenames:["classes/spatialpy.rst","classes/spatialpy.core.rst","classes/spatialpy.solvers.rst","classes/spatialpy.stochss.rst","index.rst"],objects:{"":[[0,0,0,"-","spatialpy"]],"spatialpy.core":[[1,1,1,"","BoundaryCondition"],[1,3,1,"","BoundaryConditionError"],[1,1,1,"","DataFunction"],[1,3,1,"","DataFunctionError"],[1,1,1,"","Domain"],[1,3,1,"","DomainError"],[1,1,1,"","Geometry"],[1,1,1,"","GeometryAll"],[1,3,1,"","GeometryError"],[1,1,1,"","GeometryExterior"],[1,1,1,"","GeometryInterior"],[1,1,1,"","InitialCondition"],[1,3,1,"","InitialConditionError"],[1,1,1,"","KDTree"],[1,1,1,"","Model"],[1,3,1,"","ModelError"],[1,1,1,"","OrderedDict"],[1,1,1,"","Parameter"],[1,3,1,"","ParameterError"],[1,1,1,"","PlaceInitialCondition"],[1,1,1,"","Reaction"],[1,3,1,"","ReactionError"],[1,1,1,"","Result"],[1,3,1,"","ResultError"],[1,1,1,"","ScatterInitialCondition"],[1,3,1,"","SimulationError"],[1,3,1,"","SimulationTimeout"],[1,1,1,"","Species"],[1,3,1,"","SpeciesError"],[1,1,1,"","UniformInitialCondition"],[1,1,1,"","VTKReader"],[1,3,1,"","VTKReaderError"],[1,3,1,"","VTKReaderIOError"],[1,0,0,"-","boundarycondition"],[1,0,0,"-","cleanup"],[1,6,1,"","cleanup_build_files"],[1,6,1,"","cleanup_core_files"],[1,6,1,"","cleanup_result_files"],[1,6,1,"","cleanup_tempfiles"],[1,1,1,"","combinations"],[1,0,0,"-","datafunction"],[1,0,0,"-","domain"],[1,0,0,"-","geometry"],[1,6,1,"","init_notebook_mode"],[1,0,0,"-","initialcondition"],[1,6,1,"","iplot"],[1,0,0,"-","model"],[1,0,0,"-","parameter"],[1,0,0,"-","reaction"],[1,0,0,"-","result"],[1,0,0,"-","spatialpyerror"],[1,0,0,"-","species"],[1,0,0,"-","vtkreader"]],"spatialpy.core.BoundaryCondition":[[1,2,1,"","expression"]],"spatialpy.core.DataFunction":[[1,2,1,"","map"]],"spatialpy.core.Domain":[[1,2,1,"","add_point"],[1,2,1,"","calculate_vol"],[1,2,1,"","closest_vertex"],[1,2,1,"","compile_prep"],[1,2,1,"","coordinates"],[1,2,1,"","create_2D_domain"],[1,2,1,"","create_3D_domain"],[1,2,1,"","distance_between_2_vertices"],[1,2,1,"","fill_with_particles"],[1,2,1,"","find_boundary_points"],[1,2,1,"","find_h"],[1,2,1,"","get_bounding_box"],[1,2,1,"","get_domain_size"],[1,2,1,"","get_num_voxels"],[1,2,1,"","get_type_def"],[1,2,1,"","get_vol"],[1,2,1,"","import_meshio_object"],[1,2,1,"","plot_types"],[1,2,1,"","read_msh_file"],[1,2,1,"","read_stochss_domain"],[1,2,1,"","read_stochss_subdomain_file"],[1,2,1,"","read_xml_mesh"],[1,2,1,"","set_properties"]],"spatialpy.core.Geometry":[[1,2,1,"","inside"]],"spatialpy.core.GeometryAll":[[1,2,1,"","inside"]],"spatialpy.core.GeometryExterior":[[1,2,1,"","inside"]],"spatialpy.core.GeometryInterior":[[1,2,1,"","inside"]],"spatialpy.core.InitialCondition":[[1,2,1,"","apply"]],"spatialpy.core.KDTree":[[1,2,1,"","count_neighbors"],[1,4,1,"","data"],[1,1,1,"","innernode"],[1,1,1,"","leafnode"],[1,4,1,"","leafsize"],[1,4,1,"","m"],[1,4,1,"","maxes"],[1,4,1,"","mins"],[1,4,1,"","n"],[1,1,1,"","node"],[1,2,1,"","query"],[1,2,1,"","query_ball_point"],[1,2,1,"","query_ball_tree"],[1,2,1,"","query_pairs"],[1,4,1,"","size"],[1,2,1,"","sparse_distance_matrix"],[1,5,1,"","tree"]],"spatialpy.core.KDTree.innernode":[[1,5,1,"","children"],[1,5,1,"","split"],[1,5,1,"","split_dim"]],"spatialpy.core.KDTree.leafnode":[[1,5,1,"","children"],[1,5,1,"","idx"]],"spatialpy.core.Model":[[1,2,1,"","add_boundary_condition"],[1,2,1,"","add_data_function"],[1,2,1,"","add_domain"],[1,2,1,"","add_initial_condition"],[1,2,1,"","add_parameter"],[1,2,1,"","add_reaction"],[1,2,1,"","add_species"],[1,2,1,"","compile_prep"],[1,2,1,"","delete_all_parameters"],[1,2,1,"","delete_all_reactions"],[1,2,1,"","delete_all_species"],[1,2,1,"","delete_parameter"],[1,2,1,"","delete_reaction"],[1,2,1,"","delete_species"],[1,2,1,"","get_all_parameters"],[1,2,1,"","get_all_reactions"],[1,2,1,"","get_all_species"],[1,2,1,"","get_num_reactions"],[1,2,1,"","get_num_species"],[1,2,1,"","get_parameter"],[1,2,1,"","get_reaction"],[1,2,1,"","get_species"],[1,4,1,"","reserved_names"],[1,2,1,"","run"],[1,2,1,"","sanitized_data_function_names"],[1,2,1,"","sanitized_parameter_names"],[1,2,1,"","sanitized_species_names"],[1,2,1,"","set_timesteps"],[1,4,1,"","special_characters"],[1,2,1,"","timespan"],[1,2,1,"","update_namespace"]],"spatialpy.core.OrderedDict":[[1,2,1,"","clear"],[1,2,1,"","copy"],[1,2,1,"","fromkeys"],[1,2,1,"","items"],[1,2,1,"","keys"],[1,2,1,"","move_to_end"],[1,2,1,"","pop"],[1,2,1,"","popitem"],[1,2,1,"","setdefault"],[1,2,1,"","update"],[1,2,1,"","values"]],"spatialpy.core.PlaceInitialCondition":[[1,2,1,"","apply"]],"spatialpy.core.Reaction":[[1,2,1,"","add_product"],[1,2,1,"","add_reactant"],[1,2,1,"","annotate"],[1,2,1,"","initialize"]],"spatialpy.core.Result":[[1,2,1,"","export_to_csv"],[1,2,1,"","get_property"],[1,2,1,"","get_species"],[1,2,1,"","get_timespan"],[1,2,1,"","plot_property"],[1,2,1,"","plot_species"],[1,2,1,"","read_step"]],"spatialpy.core.ScatterInitialCondition":[[1,2,1,"","apply"]],"spatialpy.core.Species":[[1,2,1,"","set_diffusion_coefficient"]],"spatialpy.core.UniformInitialCondition":[[1,2,1,"","apply"]],"spatialpy.core.VTKReader":[[1,2,1,"","get_array_name"],[1,2,1,"","get_arrays"],[1,2,1,"","get_num_points"],[1,2,1,"","get_points"],[1,2,1,"","read_file"],[1,2,1,"","set_filename"]],"spatialpy.core.boundarycondition":[[1,1,1,"","BoundaryCondition"]],"spatialpy.core.boundarycondition.BoundaryCondition":[[1,2,1,"","expression"]],"spatialpy.core.cleanup":[[1,6,1,"","cleanup_build_files"],[1,6,1,"","cleanup_core_files"],[1,6,1,"","cleanup_result_files"],[1,6,1,"","cleanup_tempfiles"]],"spatialpy.core.datafunction":[[1,1,1,"","DataFunction"]],"spatialpy.core.datafunction.DataFunction":[[1,2,1,"","map"]],"spatialpy.core.domain":[[1,1,1,"","Domain"]],"spatialpy.core.domain.Domain":[[1,2,1,"","add_point"],[1,2,1,"","calculate_vol"],[1,2,1,"","closest_vertex"],[1,2,1,"","compile_prep"],[1,2,1,"","coordinates"],[1,2,1,"","create_2D_domain"],[1,2,1,"","create_3D_domain"],[1,2,1,"","distance_between_2_vertices"],[1,2,1,"","fill_with_particles"],[1,2,1,"","find_boundary_points"],[1,2,1,"","find_h"],[1,2,1,"","get_bounding_box"],[1,2,1,"","get_domain_size"],[1,2,1,"","get_num_voxels"],[1,2,1,"","get_type_def"],[1,2,1,"","get_vol"],[1,2,1,"","import_meshio_object"],[1,2,1,"","plot_types"],[1,2,1,"","read_msh_file"],[1,2,1,"","read_stochss_domain"],[1,2,1,"","read_stochss_subdomain_file"],[1,2,1,"","read_xml_mesh"],[1,2,1,"","set_properties"]],"spatialpy.core.geometry":[[1,1,1,"","Geometry"],[1,1,1,"","GeometryAll"],[1,1,1,"","GeometryExterior"],[1,1,1,"","GeometryInterior"]],"spatialpy.core.geometry.Geometry":[[1,2,1,"","inside"]],"spatialpy.core.geometry.GeometryAll":[[1,2,1,"","inside"]],"spatialpy.core.geometry.GeometryExterior":[[1,2,1,"","inside"]],"spatialpy.core.geometry.GeometryInterior":[[1,2,1,"","inside"]],"spatialpy.core.initialcondition":[[1,1,1,"","InitialCondition"],[1,1,1,"","PlaceInitialCondition"],[1,1,1,"","ScatterInitialCondition"],[1,1,1,"","UniformInitialCondition"]],"spatialpy.core.initialcondition.InitialCondition":[[1,2,1,"","apply"]],"spatialpy.core.initialcondition.PlaceInitialCondition":[[1,2,1,"","apply"]],"spatialpy.core.initialcondition.ScatterInitialCondition":[[1,2,1,"","apply"]],"spatialpy.core.initialcondition.UniformInitialCondition":[[1,2,1,"","apply"]],"spatialpy.core.model":[[1,1,1,"","Model"],[1,6,1,"","export_StochSS"]],"spatialpy.core.model.Model":[[1,2,1,"","add_boundary_condition"],[1,2,1,"","add_data_function"],[1,2,1,"","add_domain"],[1,2,1,"","add_initial_condition"],[1,2,1,"","add_parameter"],[1,2,1,"","add_reaction"],[1,2,1,"","add_species"],[1,2,1,"","compile_prep"],[1,2,1,"","delete_all_parameters"],[1,2,1,"","delete_all_reactions"],[1,2,1,"","delete_all_species"],[1,2,1,"","delete_parameter"],[1,2,1,"","delete_reaction"],[1,2,1,"","delete_species"],[1,2,1,"","get_all_parameters"],[1,2,1,"","get_all_reactions"],[1,2,1,"","get_all_species"],[1,2,1,"","get_num_reactions"],[1,2,1,"","get_num_species"],[1,2,1,"","get_parameter"],[1,2,1,"","get_reaction"],[1,2,1,"","get_species"],[1,4,1,"","reserved_names"],[1,2,1,"","run"],[1,2,1,"","sanitized_data_function_names"],[1,2,1,"","sanitized_parameter_names"],[1,2,1,"","sanitized_species_names"],[1,2,1,"","set_timesteps"],[1,4,1,"","special_characters"],[1,2,1,"","timespan"],[1,2,1,"","update_namespace"]],"spatialpy.core.parameter":[[1,1,1,"","Parameter"]],"spatialpy.core.reaction":[[1,1,1,"","Reaction"]],"spatialpy.core.reaction.Reaction":[[1,2,1,"","add_product"],[1,2,1,"","add_reactant"],[1,2,1,"","annotate"],[1,2,1,"","initialize"]],"spatialpy.core.result":[[1,1,1,"","Result"]],"spatialpy.core.result.Result":[[1,2,1,"","export_to_csv"],[1,2,1,"","get_property"],[1,2,1,"","get_species"],[1,2,1,"","get_timespan"],[1,2,1,"","plot_property"],[1,2,1,"","plot_species"],[1,2,1,"","read_step"]],"spatialpy.core.spatialpyerror":[[1,3,1,"","BoundaryConditionError"],[1,3,1,"","DataFunctionError"],[1,3,1,"","DomainError"],[1,3,1,"","GeometryError"],[1,3,1,"","InitialConditionError"],[1,3,1,"","ModelError"],[1,3,1,"","ParameterError"],[1,3,1,"","ReactionError"],[1,3,1,"","ResultError"],[1,3,1,"","SimulationError"],[1,3,1,"","SimulationTimeout"],[1,3,1,"","SpeciesError"],[1,3,1,"","VTKReaderError"],[1,3,1,"","VTKReaderIOError"]],"spatialpy.core.species":[[1,1,1,"","Species"]],"spatialpy.core.species.Species":[[1,2,1,"","set_diffusion_coefficient"]],"spatialpy.core.vtkreader":[[1,1,1,"","VTKReader"]],"spatialpy.core.vtkreader.VTKReader":[[1,2,1,"","get_array_name"],[1,2,1,"","get_arrays"],[1,2,1,"","get_num_points"],[1,2,1,"","get_points"],[1,2,1,"","read_file"],[1,2,1,"","set_filename"]],"spatialpy.solvers":[[2,0,0,"-","build_expression"],[2,0,0,"-","solver"]],"spatialpy.solvers.build_expression":[[2,1,1,"","BuildExpression"],[2,1,1,"","CppConverter"],[2,1,1,"","ExpressionConverter"],[2,1,1,"","ExpressionResults"],[2,1,1,"","PythonConverter"]],"spatialpy.solvers.build_expression.BuildExpression":[[2,1,1,"","ValidationVisitor"],[2,2,1,"","getexpr_cpp"],[2,2,1,"","getexpr_python"],[2,2,1,"","map_operator"],[2,4,1,"","operator_map"],[2,2,1,"","validate"],[2,2,1,"","with_blacklist"],[2,2,1,"","with_namespace"]],"spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor":[[2,2,1,"","visit_Assign"],[2,2,1,"","visit_BinOp"],[2,2,1,"","visit_BoolOp"],[2,2,1,"","visit_Call"],[2,2,1,"","visit_Compare"],[2,2,1,"","visit_Name"],[2,2,1,"","visit_UnaryOp"]],"spatialpy.solvers.build_expression.CppConverter":[[2,1,1,"","CppExpressionTransformer"],[2,2,1,"","get_str"],[2,2,1,"","visit_And"],[2,2,1,"","visit_Or"]],"spatialpy.solvers.build_expression.CppConverter.CppExpressionTransformer":[[2,2,1,"","visit_BinOp"]],"spatialpy.solvers.build_expression.ExpressionConverter":[[2,2,1,"","convert_str"],[2,2,1,"","get_str"],[2,2,1,"","parse_comparison"],[2,2,1,"","parse_logical"],[2,2,1,"","parse_operator"],[2,2,1,"","visit_Add"],[2,2,1,"","visit_BinOp"],[2,2,1,"","visit_BoolOp"],[2,2,1,"","visit_Bytes"],[2,2,1,"","visit_Call"],[2,2,1,"","visit_Compare"],[2,2,1,"","visit_Constant"],[2,2,1,"","visit_Div"],[2,2,1,"","visit_Ellipsis"],[2,2,1,"","visit_Eq"],[2,2,1,"","visit_Gt"],[2,2,1,"","visit_GtE"],[2,2,1,"","visit_Lt"],[2,2,1,"","visit_LtE"],[2,2,1,"","visit_Mult"],[2,2,1,"","visit_Name"],[2,2,1,"","visit_NameConstant"],[2,2,1,"","visit_NotEq"],[2,2,1,"","visit_Num"],[2,2,1,"","visit_Pow"],[2,2,1,"","visit_Str"],[2,2,1,"","visit_Sub"],[2,2,1,"","visit_USub"],[2,2,1,"","visit_UnaryOp"]],"spatialpy.solvers.build_expression.PythonConverter":[[2,2,1,"","visit_And"],[2,2,1,"","visit_Or"]],"spatialpy.solvers.solver":[[2,1,1,"","Solver"]],"spatialpy.solvers.solver.Solver":[[2,2,1,"","compile"],[2,2,1,"","run"]],"spatialpy.stochss":[[3,0,0,"-","stochss_export"]],"spatialpy.stochss.stochss_export":[[3,6,1,"","export"]],spatialpy:[[1,0,0,"-","core"],[2,0,0,"-","solvers"],[3,0,0,"-","stochss"]]},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","exception","Python exception"],"4":["py","attribute","Python attribute"],"5":["py","property","Python property"],"6":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:exception","4":"py:attribute","5":"py:property","6":"py:function"},terms:{"0":[1,2],"0012333":1,"04":1,"0511773":1,"1":[1,2],"10":1,"11":1,"12295571":1,"13":1,"14":1,"15":1,"168474926":1,"19":1,"1993":1,"1993apj":1,"1999":1,"1d":1,"2":1,"20":1,"2000":1,"2002":1,"2003mnra":1,"2005":1,"2015":1,"2019":[0,1,2,3],"2022":[0,1,2,3],"2236068":1,"2333084":1,"23606798":1,"24617575":1,"26836782":1,"28942611":1,"29571802":1,"2d":1,"2df":1,"2r01eb014877":4,"3":[0,1,2,3,4],"300":1,"30088013":1,"31994999":1,"32580855":1,"33630734":1,"346":1,"37327919":1,"39923701":1,"3d":[1,4],"4":1,"412":1,"5":1,"500":1,"55396483":1,"5647":1,"56906522":1,"57714465":1,"6":1,"600":1,"6395831":1,"6473269":1,"64l":1,"7":1,"71124834":1,"7225693":1,"72658602":1,"75679479":1,"78h":1,"79428925":1,"8":1,"800":1,"80622577":1,"8658745":1,"87665969":1,"9":1,"90785663":1,"abstract":[1,2],"byte":2,"case":1,"class":[1,2],"default":1,"do":1,"export":[1,3],"float":1,"function":[1,2],"import":1,"int":[1,2],"long":1,"new":[1,2],"public":[0,1,2,3,4],"return":[1,2,3],"short":4,"static":[1,4],"super":2,"switch":1,"true":[1,2,3],A:[0,1,2,3,4],And:2,As:1,By:[1,2],FOR:[0,1,2,3],For:[1,4],If:[0,1,2,3,4],In:1,It:1,No:1,Not:2,Or:2,The:[1,2,4],To:1,Will:1,ab:1,abl:1,about:1,abov:1,absolut:1,acceler:1,accept:2,across:1,action:1,actual:1,ad:[1,2],adapt:1,add:[1,2],add_boundary_condit:1,add_data_funct:1,add_domain:1,add_initial_condit:1,add_paramet:1,add_point:1,add_product:1,add_react:1,add_speci:1,addit:[1,2],addition:[1,2],addtion:[1,2],adsab:1,advect:[0,1,2,3,4],against:[1,2],al:1,algorithm:[1,4],align:1,all:[1,2],allow:2,along:[0,1,2,3],alreadi:1,also:[1,2,4],alwai:[1,2],amount:1,an:[1,2,4],analysi:1,angular:1,ani:[0,1,2,3,4],anim:1,animation_attribut:1,animation_opt:1,annot:1,append:2,appli:1,approxim:1,ar:[1,2],argument:1,around:1,arrai:1,arraid:1,array_lik:1,articl:4,artifici:1,arxiv:1,asarrai:1,ascii:1,assembl:1,assign:[1,2],associ:1,assum:2,ast:2,astro:1,astronom:1,astrophys:1,attempt:1,attribut:1,author:4,auto_plai:1,automat:[1,2],autorang:1,avail:[1,2,4],averag:1,axi:1,background:1,balanced_tre:1,bare:2,base:[1,2,4],basic:1,bass:1,becaus:1,becom:1,been:1,befor:1,begin:1,behavior:[1,2],below:1,between:[1,2],bia:1,bin:1,binari:1,binboolopop:2,binop:2,biochem:1,bitand:2,bitor:2,bitxor:2,blacklist:2,blob:1,blue:1,bodi:1,bogu:1,bool:[1,2,3],boolop:2,both:4,bottom:1,bound:1,bound_cond:1,boundari:1,boundarycondit:0,boundaryconditionerror:1,box:1,boxsiz:1,bracket:1,branch:1,brian:4,broadcast:1,browser:1,brute:1,bugn:1,build:[1,2,4],build_dir:1,build_express:0,buildexpress:2,built:[1,2],bulk:1,bupu:1,bvf_phi:1,c0:1,c:[0,1,2,3],c_:1,calcul:1,calculate_vol:1,call:[1,2],can:[0,1,2,3,4],caus:[1,2],cdn:1,cell:1,charact:1,chart:1,check:[1,2],chemic:1,children:1,choos:1,chosen:1,circumradiu:1,ckdtree:1,ckdtree_nod:1,ckdtreenod:1,classmethod:[1,2],cleanup:0,cleanup_build_fil:1,cleanup_core_fil:1,cleanup_result_fil:1,cleanup_tempfil:1,clear:1,close:1,closest:1,closest_vertex:1,cloud:1,cluster:1,code:4,coeffic:1,coeffici:1,collabor:1,colormap:1,column:1,com:[1,4],combin:1,compact:1,compact_nod:1,compar:[1,2],comparison:2,compil:[1,2],compile_prep:1,compos:1,comput:1,conain:1,conatain:1,concentr:1,condit:[1,2],config:1,connect:1,connolli:1,consid:1,consol:2,constant:[1,2],construct:1,constructor:2,constuct:1,contact:4,contain:[1,2],content:4,context:2,contian:1,contigu:1,continu:4,convers:2,convert:[1,2,3],convert_str:2,convet:2,coo_matrix:1,coodin:1,coordin:1,copi:[0,1,2,3],copy_data:1,copy_numb:1,copyright:[0,1,2,3],core:[0,3,4],corner:1,correl:1,correspond:[1,2],corrupt:1,cosmolog:1,could:[1,2],count:1,count_neighbor:1,coupl:1,cppconvert:2,cppexpressiontransform:2,cpu:1,cradded:1,creat:[1,2],create_2d_domain:1,create_3d_domain:1,csv:1,cumul:1,current:[1,2],custom:1,cylind:4,d:1,data:[1,2],data_funct:1,datafunct:0,datafunctionerror:1,dd:1,debug:[1,2],debug_level:[1,2],debugg:2,decreas:1,default_rng:1,defer:1,defin:[1,2],definit:1,degener:1,delete_all_paramet:1,delete_all_react:1,delete_all_speci:1,delete_paramet:1,delete_react:1,delete_speci:1,deltai:1,deltax:1,deltaz:1,demo:4,densiti:1,depend:1,dependency_graph:1,deprec:1,describ:[1,4],descript:1,detail:[0,1,2,3],determinist:[0,1,2,3,4],determinst:1,develop:[0,1,2,3,4],diamet:1,dict:[1,2,3],dictionari:[1,2],differ:[1,2],diffus:[0,1,2,3,4],diffusion_coeffici:1,dimens:1,dimension:1,direct:1,directli:[1,4],directori:1,discuss:1,displai:1,dissip:4,distanc:1,distance_between_2_vertic:1,distance_matrix:1,distance_upper_bound:1,distribut:[0,1,2,3],div:2,doe:1,doesn:1,dok_matrix:1,dolfin:1,dom:1,domain:[0,4],domainerror:1,domn:1,doubl:1,download:1,dr:4,draw:1,drawert:4,drawn:1,dtype:1,dual:1,duplic:2,durat:1,dure:[1,2],dynam:4,e:1,each:1,edg:1,edit:1,edu:1,effect:1,effici:1,either:1,element:1,ellipsi:2,els:[1,3],embed:4,empti:2,end:1,engin:1,ensur:[1,2],enterpris:1,entir:1,entireti:1,ep:1,eq:2,equival:2,error:1,estim:1,et:1,euclidean:1,evalu:1,evaul:1,even:[0,1,2,3],evenli:1,exampl:1,exce:1,exceed:2,except:1,execut:[1,2],exist:1,expect:[1,2],expens:1,explor:1,export_stochss:1,export_to_csv:1,expres:2,express:[1,2],expressionconvert:2,expressionresult:2,extens:1,extra:1,f:1,f_durat:1,fail:2,fals:[1,2,3],far:2,faster:1,featur:4,fenic:1,field:1,fifo:1,figsiz:1,figur:1,figure_or_data:1,file:[1,3],filenam:[1,3],fill:[1,4],fill_with_particl:1,find:[1,4],find_boundary_point:1,find_h:1,finit:1,first:[1,2],fit:[0,1,2,3],fix:1,flag:[1,2],flatten:1,flight:2,floordiv:2,flow:4,fluid:[1,4],folder_nam:1,follow:[1,2],forc:1,form:[1,4],format:1,forward:2,found:[1,2,4],foundat:[0,1,2,3],frac:1,fraction:1,frame:[1,4],free:[0,1,2,3],frequenc:1,from:[1,2],fromkei:1,fund:4,further:1,furthest:1,g:1,gain:1,galaxi:1,gdbgui:2,gener:[0,1,2,3,4],geometr:1,geometri:0,geometry_ivar:1,geometryal:1,geometryerror:1,geometryexterior:1,geometryinterior:1,get:[1,2],get_all_paramet:1,get_all_react:1,get_all_speci:1,get_arrai:1,get_array_nam:1,get_bounding_box:1,get_domain_s:1,get_num_point:1,get_num_react:1,get_num_speci:1,get_num_voxel:1,get_paramet:1,get_point:1,get_properti:1,get_react:1,get_speci:1,get_str:2,get_timespan:1,get_type_def:1,get_vol:1,getexpr_:2,getexpr_cpp:2,getexpr_python:2,github:[1,4],give:1,given:[1,2],gmsh:1,gnbu:1,gnu:[0,1,2,3,4],gprof:2,grai:1,grant:4,granular:2,graph:1,graph_obj:1,graph_refer:1,graviti:[1,4],greater:1,greatest:1,green:1,grei:1,gt:2,gte:2,guarante:1,h:1,ha:[1,4],hand:2,handl:2,happen:2,harvard:1,hasn:[1,2],have:[0,1,2,3],hawkin:1,height:1,held:1,help:1,here:[1,4],high:1,higher:1,highest:1,hit:1,hope:[0,1,2,3],how:[1,2,4],http:[0,1,2,3,4],hybrid:4,hyperrectangl:1,i:1,id:1,idea:1,ideal:2,idempot:1,identifi:[1,2],idx:1,ignor:1,ii:1,imag:1,image_height:1,image_width:1,immobil:1,implemenet:1,implement:[1,2],impli:[0,1,2,3],import_meshio_object:1,imposs:2,inch:1,incid:1,includ:1,included_types_list:1,incompat:1,increas:1,increment:2,indec:1,indeci:1,index:[1,4],indic:[1,2],indici:1,inf:1,infer:2,infin:1,infinit:1,info:1,inform:[1,2,4],inherit:2,init_cond:1,init_notebook_mod:1,initailcondit:1,initi:1,initialcondit:0,initialconditionerror:1,inlin:1,innernod:1,input:1,insert:1,insid:1,instanc:[1,2],instead:1,integ:1,intend:4,intern:1,internet:1,interv:1,invalid:[1,2],invalid_:2,invalid_nam:2,invalid_oper:2,io:1,iplot:1,ipython:1,is_valid:2,issuecom:1,item:[1,2],iter:1,its:1,j:1,jacob:4,jet:1,job:1,journal:1,jpeg:1,js:1,json:1,jupyt:1,k:1,kd:1,kd_tree1:1,kd_tree2:1,kd_tree:1,kdtree:1,kei:[1,2],keyerror:1,keyword:1,kill:1,kth:1,kwarg:1,l_i:1,lack:1,lagrangian:4,landi:1,larg:1,larger:1,last:[1,2],later:[1,2],latest:4,layout:1,leafnod:1,leafsiz:1,learn:1,leav:1,left:2,legaci:1,len:1,length:1,less:1,level:[1,2],li:4,librari:1,licens:[0,1,2,3,4],lifo:1,like:1,limit:1,linearli:1,link:1,link_text:1,list:[1,2],listofparamet:1,listofreact:1,listofspeci:1,listoftyp:1,load:1,local:1,locat:1,logic:2,longer:1,look:1,lookup:1,loos:1,lower:1,lowest:1,lshift:2,lt:2,lte:2,ly:1,m:1,mai:1,main:4,make:1,manag:2,maneewongvatana:1,manhattan:1,mani:[1,2],map:[1,2],map_oper:2,margin:1,mark:1,markers:1,mass:1,master:1,mathemat:[1,2],matmult:2,matplotlib:1,matrix:1,matter:1,max:1,max_dist:1,maximum:[1,2],mean:1,measur:1,median:1,meet:1,megabyt:1,merchant:[0,1,2,3],mesh:1,mesh_obj:1,meshio:1,messag:1,meta:1,method:[1,2],mgrid:1,midpoint:1,min:1,mine:1,minim:1,minimum:1,minkowski:1,miss:1,mod:2,model:[0,2,3,4],modelerror:1,modelname_mesh:1,modelname_species_:1,modifi:[0,1,2,3],modul:4,monthli:1,moor:1,more:[0,1,2,3,4],most:[1,2],mount:1,move:1,move_to_end:1,movement:1,msh:1,much:1,mult:2,multi:1,multipl:[1,2],must:1,n:1,n_i:1,naiv:1,name:[1,2],nameconst:2,namespac:[1,2],ndarrai:1,ndarri:1,nearbi:1,nearby_point:1,nearer:1,nearest:1,necessari:1,need:[1,4],neg:1,neighbor:1,neighbour:1,nih:4,node:[1,2],nodetransform:2,nodevisitor:2,non:1,none:[1,2,3],nonneg:1,norm:1,notat:1,note:[1,2],notebook:[1,4],noteq:2,notic:1,np:1,nsm:4,nu:1,num:2,num_step:1,number:[1,2],number_of_thread:[1,2],number_of_trajectori:[1,2],numpi:1,numpoint:1,nx:1,ny:1,nz:1,o:1,obj:1,object:[1,2],occur:1,od:1,off:1,offlin:1,og:1,omit:1,on_boundari:1,one:[1,2],onli:[1,2],onlin:1,open:1,oper:[1,2],operator_map:2,optim:1,option:1,orang:1,order:1,ordereddict:1,org:[0,1,2,3],origin:2,orrd:1,other:[1,2],otherwis:[1,2],our:[1,4],out:[1,4],outdat:1,output:[1,2],output_interv:1,output_typ:1,outsid:1,over:1,overflow:1,overrid:2,overridden:1,p0:1,p:1,p_ndx:1,packag:4,page:[1,4],pair:1,parallel:1,param:1,param_nam:1,param_obj:1,paramet:[0,2,3],parametererror:1,paramt:1,parent:1,pars:2,parse_comparison:2,parse_log:2,parse_oper:2,part:1,partcil:1,particip:1,particl:[1,4],particular:[0,1,2,3],pass:[1,2],path:[1,3],pdf:1,peculiar:1,per:1,perform:1,petzold:4,ph:1,physic:4,pii:4,pixel:1,place:1,placeinitialcondit:1,platform:1,pleas:[1,4],plot:1,plot_imag:1,plot_properti:1,plot_speci:1,plot_typ:1,plotli:1,plotly3:1,plt:1,pname:1,png:1,point:1,points1:1,points2:1,pop:[1,2],popitem:1,popul:1,posit:1,positon:1,pow:2,pre:2,predict:1,preper:1,present:[1,2],pressur:1,print:[1,2],problem:[0,1,2,3,4],process:[1,2],processor:1,produc:1,product:1,profil:[1,2],program:[0,1,2,3],project:4,propens:1,propensity_funct:1,properli:1,properti:[1,2],property_nam:1,proprti:1,protect:1,prove:4,provid:[1,2,4],prune:1,publish:[0,1,2,3],pubu:1,pubugn:1,pull:1,purd:1,purpl:1,purpos:[0,1,2,3],put:1,px:1,py:1,pypi:4,pyplot:1,python:[0,1,2,3,4],pythonconvert:2,pyurdm:4,quantifi:1,queri:1,query_ball_point:1,query_ball_tre:1,query_pair:1,question:4,quick:1,r:1,radii:1,radiu:1,rais:[1,2],random:[1,2],randomli:1,rang:1,rapidli:1,rate:1,rather:1,ratio:1,ravel:1,raw:1,rdme:4,rdpu:1,re:1,reac:1,reach:1,react_nam:1,react_obj:1,reactant:1,reaction:[0,2,3,4],reactionerror:1,read:1,read_fil:1,read_msh_fil:1,read_step:1,read_stochss_domain:1,read_stochss_subdomain_fil:1,read_xml_mesh:1,reader:1,real:1,receiv:[0,1,2,3],recent:[1,2],record:1,red:1,redistribut:[0,1,2,3],redshift:1,refer:1,referenc:1,regardless:1,region:1,regist:4,registr:4,reject:2,rememb:1,remov:1,replac:4,repres:1,represent:[1,2],request:1,requir:1,reserved_nam:1,resolut:1,restrict:1,restrict_to:1,result:[0,2],result_dir:1,resulterror:1,retreiv:1,retriev:1,return_length:1,return_plotly_figur:1,return_sort:1,return_stochss_model:[1,3],rho0:1,rho:1,right:[1,2],rname:1,rng:1,robust:1,royal:1,rshift:2,rtype:2,rule:1,run:[1,2],rvalu:2,s0021999118307101:4,s:[1,4],same:1,sampl:1,sanit:2,sanitized_data_function_nam:1,sanitized_parameter_nam:1,sanitized_species_nam:1,save:1,scalar:1,scale:1,scatter:1,scatterinitialcondit:1,schedul:1,scheme:1,scienc:[1,4],sciencedirect:4,scipi:1,sdm:1,sdpd:[1,4],search:[1,4],second:[1,2],section:1,see:[0,1,2,3,4],seed:[1,2],self:[1,2],sens:1,sep:1,separ:1,sequenc:1,seri:[1,2],set:[1,2],set_diffusion_coeffici:1,set_filenam:1,set_properti:1,set_timestep:1,setdefault:1,setter:1,shall:1,shallow:1,shape:1,sheth:1,should:[0,1,2,3],show:1,show_link:1,shrink:1,signal:1,significantli:1,similar:1,simlat:1,simplifi:1,simul:[0,1,2,3,4],simulationerror:[1,2],simulationtimeout:[1,2],sinc:1,singl:[1,2],size:1,skibba:1,sky:1,slide:1,slightli:1,small:1,smaller:1,smdl:1,smooth:4,sname:1,so:[1,2],societi:1,softwar:[0,1,2,3,4],solver:[0,1,4],some:1,sort:1,sound:1,sourc:[1,2,3,4],space:1,spactialpi:2,span:1,spars:1,sparse_distance_matrix:1,spatial:[0,1,2,3,4],spatialpy_build:1,spatialpy_model:1,spatialpy_result:1,spatialpyerror:0,spatialpysolv:1,speci:0,special_charact:1,species_nam:1,species_object:1,specieserror:1,specif:1,specifi:1,speed:1,split:1,split_dim:1,squeez:1,src:1,ssa:1,sssa:4,start:[1,2,4],statement:2,statist:1,step:1,step_num:1,stochast:[0,1,2,3,4],stochss:[0,1,4],stochss_export:0,stoichiometr:1,stoichiometri:1,str:[1,2,3],string:[1,2],struct:2,structur:1,style:1,sub:2,subclass:[1,2],subdomain:1,submodul:0,subpackag:4,substanti:1,substitut:2,success:1,suggest:4,sum:1,suppli:1,support:[1,4],sure:1,survei:1,svg:1,symbol:2,syntax:2,syntaxerror:2,system:[1,4],szalai:1,t:[1,2],t_durat:1,t_ndx:1,t_ndx_list:1,t_val:1,tag:1,take:1,target:[1,2],tempfil:1,term:[0,1,2,3],tetrahedron:1,text:1,th:1,than:1,them:1,thi:[0,1,2,3,4],thin:1,those:1,though:1,thread:[1,2],time:[1,2],time_span:1,timeout:[1,2],timepoint:1,timespan:1,timestep:1,timestep_s:1,titl:1,toarrai:1,token:2,topolog:1,toroid:1,total:1,toth:1,trace:1,tracker:4,trajectori:[1,2],transit:1,travers:1,tree:[1,2],triangl:1,trigger:2,tspan:1,tupl:1,two:[1,2],txt:1,type:[1,2,3],type_id:1,u0:1,unabl:1,unaryop:2,under:[0,1,2,3,4],uniform:1,uniforminitialcondit:1,union:1,univers:[1,2],unless:1,unnecessari:1,unsqueez:1,unweight:1,up:1,updat:1,update_namespac:1,upload:1,upon:1,upper:1,urdm:1,us:[0,1,2,3,4],use_matplotlib:1,user:[1,4],usual:1,usub:2,util:1,v1:1,v:1,valid:[1,2],validationvisitor:2,valu:[1,2],valueerror:1,vari:1,varianc:1,veloc:1,verbos:2,version:[0,1,2,3,4],vertex:1,vertic:1,view:1,viewer:1,viscos:1,visit:2,visit_add:2,visit_and:2,visit_assign:2,visit_binop:2,visit_boolop:2,visit_byt:2,visit_cal:2,visit_compar:2,visit_const:2,visit_div:2,visit_ellipsi:2,visit_eq:2,visit_gt:2,visit_lt:2,visit_mult:2,visit_nam:2,visit_nameconst:2,visit_noteq:2,visit_num:2,visit_or:2,visit_pow:2,visit_str:2,visit_sub:2,visit_unaryop:2,visit_usub:2,visitor:2,vol:1,volum:1,voxel:1,vtk:1,vtkreader:0,vtkreadererror:1,vtkreaderioerror:1,wa:1,want:1,warranti:[0,1,2,3],we:[1,4],web:1,webp:1,weight:1,weir:4,well:2,were:[1,2],what:2,when:[1,2],where:1,whether:[1,2,3],which:[1,2],whose:1,wide:1,width:1,with_blacklist:2,with_namespac:2,within:1,without:[0,1,2,3],work:1,worker:1,wp:1,wrap:1,write:1,write_imag:1,written:1,www:[0,1,2,3,4],x1:1,x2:1,x:1,x_i:1,xaxi:1,xi:1,xk:1,xlim:1,xmax:1,xmin:1,xml:1,y:1,yaxi:1,yet:1,yi:4,ylgn:1,ylgnbu:1,ylim:1,ylorbr:1,ylorrd:1,ymax:1,ymin:1,you:[0,1,2,3,4],your:[1,4],z:1,zero:1,zeroth:1,zlim:1,zmax:1,zmin:1},titles:["spatialpy package","spatialpy.core package","spatialpy.solvers package","spatialpy.stochss package","Documentation for SpatialPy 1.0"],titleterms:{"0":4,"1":4,api:4,boundarycondit:1,build_express:2,cleanup:1,content:[0,1,2,3],copi:4,core:1,datafunct:1,document:4,domain:1,exampl:4,geometri:1,get:4,indic:4,initialcondit:1,issu:4,model:1,modul:[0,1,2,3],packag:[0,1,2,3],paramet:1,reaction:1,refer:4,report:4,result:1,solver:2,spatialpi:[0,1,2,3,4],spatialpyerror:1,speci:1,stochss:3,stochss_export:3,submodul:[1,2,3],subpackag:0,tabl:4,vtkreader:1}}) \ No newline at end of file From e9edd0289939ffd0c88e291e72bf9c4c90412b52 Mon Sep 17 00:00:00 2001 From: Bryan Rumsey Date: Wed, 2 Mar 2022 12:13:36 -0500 Subject: [PATCH 22/25] Updated docs for solver. --- spatialpy/solvers/solver.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spatialpy/solvers/solver.py b/spatialpy/solvers/solver.py index 6f30f0c6..0387165f 100644 --- a/spatialpy/solvers/solver.py +++ b/spatialpy/solvers/solver.py @@ -49,7 +49,7 @@ class Solver: SpatialPy solver object. :param model: Target model of solver simulation. - :type model: spatialpy.Model.Model + :type model: spatialpy.core.model.Model :param debug_level: Target level of debugging. :type debug_level: int From 7d7f806711f0f4d228d2419225424385b110d96b Mon Sep 17 00:00:00 2001 From: Bryan Rumsey Date: Wed, 2 Mar 2022 12:17:22 -0500 Subject: [PATCH 23/25] Updated docs html files. --- .../classes/spatialpy.solvers.doctree | Bin 234328 -> 234343 bytes docs/build/html/.doctrees/environment.pickle | Bin 452624 -> 452629 bytes .../_modules/spatialpy/solvers/solver.html | 2 +- .../build/html/classes/spatialpy.solvers.html | 2 +- docs/build/html/searchindex.js | 2 +- 5 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/build/html/.doctrees/classes/spatialpy.solvers.doctree b/docs/build/html/.doctrees/classes/spatialpy.solvers.doctree index 9e89df7f6dcc3cbda0ce94e66a821c17eb6f5e42..06e22d16f19863511d1ddaeafc92aeb8b128e9a3 100644 GIT binary patch delta 125 zcmcbyjPLm}zJ?aY7N#l88`;)PVgQ0^U5ujB6Fx8oZkJ_bo+dBhk(-~AnxmjmT##6j vnV3^hsh6Bzl&Y6I{g?vtOA{${VUS`yUl2JZgFSXihFA}VlI=GYnd=Jy7I`iQ delta 110 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

    l=an{GOkL_X&i8b^bYOW+5M zN;lZ@!>STF-oV5na<()Evz_d0|z1gyBMQVE%o7};7hXB=(yGM2u+9u;@YgXcAh!XK;wGtncp6k_0N+^%s01kc_Ivr0m zE9t<-&NVB)3dJKgj)ymlRLJ?qNi@S>oLOpLtG_TS~KUVZ_A!^8i83sC-kDXS^ Wvc)B_f5^(tY|2o)2L}c=75pz~q@bn% delta 8325 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 code for spatialpy.solvers.solver

         SpatialPy solver object.
     
         :param model: Target model of solver simulation.
    -    :type model: spatialpy.Model.Model
    +    :type model: spatialpy.core.model.Model
     
         :param debug_level: Target level of debugging.
         :type debug_level: int
    diff --git a/docs/build/html/classes/spatialpy.solvers.html b/docs/build/html/classes/spatialpy.solvers.html
    index f20b5841..c3b84ac1 100644
    --- a/docs/build/html/classes/spatialpy.solvers.html
    +++ b/docs/build/html/classes/spatialpy.solvers.html
    @@ -892,7 +892,7 @@ 

    Submodules
    Parameters
    diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js index c7334be8..a6ef7e16 100644 --- a/docs/build/html/searchindex.js +++ b/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["classes/spatialpy","classes/spatialpy.core","classes/spatialpy.solvers","classes/spatialpy.stochss","index"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.todo":2,"sphinx.ext.viewcode":1,sphinx:56},filenames:["classes/spatialpy.rst","classes/spatialpy.core.rst","classes/spatialpy.solvers.rst","classes/spatialpy.stochss.rst","index.rst"],objects:{"":[[0,0,0,"-","spatialpy"]],"spatialpy.core":[[1,1,1,"","BoundaryCondition"],[1,3,1,"","BoundaryConditionError"],[1,1,1,"","DataFunction"],[1,3,1,"","DataFunctionError"],[1,1,1,"","Domain"],[1,3,1,"","DomainError"],[1,1,1,"","Geometry"],[1,1,1,"","GeometryAll"],[1,3,1,"","GeometryError"],[1,1,1,"","GeometryExterior"],[1,1,1,"","GeometryInterior"],[1,1,1,"","InitialCondition"],[1,3,1,"","InitialConditionError"],[1,1,1,"","KDTree"],[1,1,1,"","Model"],[1,3,1,"","ModelError"],[1,1,1,"","OrderedDict"],[1,1,1,"","Parameter"],[1,3,1,"","ParameterError"],[1,1,1,"","PlaceInitialCondition"],[1,1,1,"","Reaction"],[1,3,1,"","ReactionError"],[1,1,1,"","Result"],[1,3,1,"","ResultError"],[1,1,1,"","ScatterInitialCondition"],[1,3,1,"","SimulationError"],[1,3,1,"","SimulationTimeout"],[1,1,1,"","Species"],[1,3,1,"","SpeciesError"],[1,1,1,"","UniformInitialCondition"],[1,1,1,"","VTKReader"],[1,3,1,"","VTKReaderError"],[1,3,1,"","VTKReaderIOError"],[1,0,0,"-","boundarycondition"],[1,0,0,"-","cleanup"],[1,6,1,"","cleanup_build_files"],[1,6,1,"","cleanup_core_files"],[1,6,1,"","cleanup_result_files"],[1,6,1,"","cleanup_tempfiles"],[1,1,1,"","combinations"],[1,0,0,"-","datafunction"],[1,0,0,"-","domain"],[1,0,0,"-","geometry"],[1,6,1,"","init_notebook_mode"],[1,0,0,"-","initialcondition"],[1,6,1,"","iplot"],[1,0,0,"-","model"],[1,0,0,"-","parameter"],[1,0,0,"-","reaction"],[1,0,0,"-","result"],[1,0,0,"-","spatialpyerror"],[1,0,0,"-","species"],[1,0,0,"-","vtkreader"]],"spatialpy.core.BoundaryCondition":[[1,2,1,"","expression"]],"spatialpy.core.DataFunction":[[1,2,1,"","map"]],"spatialpy.core.Domain":[[1,2,1,"","add_point"],[1,2,1,"","calculate_vol"],[1,2,1,"","closest_vertex"],[1,2,1,"","compile_prep"],[1,2,1,"","coordinates"],[1,2,1,"","create_2D_domain"],[1,2,1,"","create_3D_domain"],[1,2,1,"","distance_between_2_vertices"],[1,2,1,"","fill_with_particles"],[1,2,1,"","find_boundary_points"],[1,2,1,"","find_h"],[1,2,1,"","get_bounding_box"],[1,2,1,"","get_domain_size"],[1,2,1,"","get_num_voxels"],[1,2,1,"","get_type_def"],[1,2,1,"","get_vol"],[1,2,1,"","import_meshio_object"],[1,2,1,"","plot_types"],[1,2,1,"","read_msh_file"],[1,2,1,"","read_stochss_domain"],[1,2,1,"","read_stochss_subdomain_file"],[1,2,1,"","read_xml_mesh"],[1,2,1,"","set_properties"]],"spatialpy.core.Geometry":[[1,2,1,"","inside"]],"spatialpy.core.GeometryAll":[[1,2,1,"","inside"]],"spatialpy.core.GeometryExterior":[[1,2,1,"","inside"]],"spatialpy.core.GeometryInterior":[[1,2,1,"","inside"]],"spatialpy.core.InitialCondition":[[1,2,1,"","apply"]],"spatialpy.core.KDTree":[[1,2,1,"","count_neighbors"],[1,4,1,"","data"],[1,1,1,"","innernode"],[1,1,1,"","leafnode"],[1,4,1,"","leafsize"],[1,4,1,"","m"],[1,4,1,"","maxes"],[1,4,1,"","mins"],[1,4,1,"","n"],[1,1,1,"","node"],[1,2,1,"","query"],[1,2,1,"","query_ball_point"],[1,2,1,"","query_ball_tree"],[1,2,1,"","query_pairs"],[1,4,1,"","size"],[1,2,1,"","sparse_distance_matrix"],[1,5,1,"","tree"]],"spatialpy.core.KDTree.innernode":[[1,5,1,"","children"],[1,5,1,"","split"],[1,5,1,"","split_dim"]],"spatialpy.core.KDTree.leafnode":[[1,5,1,"","children"],[1,5,1,"","idx"]],"spatialpy.core.Model":[[1,2,1,"","add_boundary_condition"],[1,2,1,"","add_data_function"],[1,2,1,"","add_domain"],[1,2,1,"","add_initial_condition"],[1,2,1,"","add_parameter"],[1,2,1,"","add_reaction"],[1,2,1,"","add_species"],[1,2,1,"","compile_prep"],[1,2,1,"","delete_all_parameters"],[1,2,1,"","delete_all_reactions"],[1,2,1,"","delete_all_species"],[1,2,1,"","delete_parameter"],[1,2,1,"","delete_reaction"],[1,2,1,"","delete_species"],[1,2,1,"","get_all_parameters"],[1,2,1,"","get_all_reactions"],[1,2,1,"","get_all_species"],[1,2,1,"","get_num_reactions"],[1,2,1,"","get_num_species"],[1,2,1,"","get_parameter"],[1,2,1,"","get_reaction"],[1,2,1,"","get_species"],[1,4,1,"","reserved_names"],[1,2,1,"","run"],[1,2,1,"","sanitized_data_function_names"],[1,2,1,"","sanitized_parameter_names"],[1,2,1,"","sanitized_species_names"],[1,2,1,"","set_timesteps"],[1,4,1,"","special_characters"],[1,2,1,"","timespan"],[1,2,1,"","update_namespace"]],"spatialpy.core.OrderedDict":[[1,2,1,"","clear"],[1,2,1,"","copy"],[1,2,1,"","fromkeys"],[1,2,1,"","items"],[1,2,1,"","keys"],[1,2,1,"","move_to_end"],[1,2,1,"","pop"],[1,2,1,"","popitem"],[1,2,1,"","setdefault"],[1,2,1,"","update"],[1,2,1,"","values"]],"spatialpy.core.PlaceInitialCondition":[[1,2,1,"","apply"]],"spatialpy.core.Reaction":[[1,2,1,"","add_product"],[1,2,1,"","add_reactant"],[1,2,1,"","annotate"],[1,2,1,"","initialize"]],"spatialpy.core.Result":[[1,2,1,"","export_to_csv"],[1,2,1,"","get_property"],[1,2,1,"","get_species"],[1,2,1,"","get_timespan"],[1,2,1,"","plot_property"],[1,2,1,"","plot_species"],[1,2,1,"","read_step"]],"spatialpy.core.ScatterInitialCondition":[[1,2,1,"","apply"]],"spatialpy.core.Species":[[1,2,1,"","set_diffusion_coefficient"]],"spatialpy.core.UniformInitialCondition":[[1,2,1,"","apply"]],"spatialpy.core.VTKReader":[[1,2,1,"","get_array_name"],[1,2,1,"","get_arrays"],[1,2,1,"","get_num_points"],[1,2,1,"","get_points"],[1,2,1,"","read_file"],[1,2,1,"","set_filename"]],"spatialpy.core.boundarycondition":[[1,1,1,"","BoundaryCondition"]],"spatialpy.core.boundarycondition.BoundaryCondition":[[1,2,1,"","expression"]],"spatialpy.core.cleanup":[[1,6,1,"","cleanup_build_files"],[1,6,1,"","cleanup_core_files"],[1,6,1,"","cleanup_result_files"],[1,6,1,"","cleanup_tempfiles"]],"spatialpy.core.datafunction":[[1,1,1,"","DataFunction"]],"spatialpy.core.datafunction.DataFunction":[[1,2,1,"","map"]],"spatialpy.core.domain":[[1,1,1,"","Domain"]],"spatialpy.core.domain.Domain":[[1,2,1,"","add_point"],[1,2,1,"","calculate_vol"],[1,2,1,"","closest_vertex"],[1,2,1,"","compile_prep"],[1,2,1,"","coordinates"],[1,2,1,"","create_2D_domain"],[1,2,1,"","create_3D_domain"],[1,2,1,"","distance_between_2_vertices"],[1,2,1,"","fill_with_particles"],[1,2,1,"","find_boundary_points"],[1,2,1,"","find_h"],[1,2,1,"","get_bounding_box"],[1,2,1,"","get_domain_size"],[1,2,1,"","get_num_voxels"],[1,2,1,"","get_type_def"],[1,2,1,"","get_vol"],[1,2,1,"","import_meshio_object"],[1,2,1,"","plot_types"],[1,2,1,"","read_msh_file"],[1,2,1,"","read_stochss_domain"],[1,2,1,"","read_stochss_subdomain_file"],[1,2,1,"","read_xml_mesh"],[1,2,1,"","set_properties"]],"spatialpy.core.geometry":[[1,1,1,"","Geometry"],[1,1,1,"","GeometryAll"],[1,1,1,"","GeometryExterior"],[1,1,1,"","GeometryInterior"]],"spatialpy.core.geometry.Geometry":[[1,2,1,"","inside"]],"spatialpy.core.geometry.GeometryAll":[[1,2,1,"","inside"]],"spatialpy.core.geometry.GeometryExterior":[[1,2,1,"","inside"]],"spatialpy.core.geometry.GeometryInterior":[[1,2,1,"","inside"]],"spatialpy.core.initialcondition":[[1,1,1,"","InitialCondition"],[1,1,1,"","PlaceInitialCondition"],[1,1,1,"","ScatterInitialCondition"],[1,1,1,"","UniformInitialCondition"]],"spatialpy.core.initialcondition.InitialCondition":[[1,2,1,"","apply"]],"spatialpy.core.initialcondition.PlaceInitialCondition":[[1,2,1,"","apply"]],"spatialpy.core.initialcondition.ScatterInitialCondition":[[1,2,1,"","apply"]],"spatialpy.core.initialcondition.UniformInitialCondition":[[1,2,1,"","apply"]],"spatialpy.core.model":[[1,1,1,"","Model"],[1,6,1,"","export_StochSS"]],"spatialpy.core.model.Model":[[1,2,1,"","add_boundary_condition"],[1,2,1,"","add_data_function"],[1,2,1,"","add_domain"],[1,2,1,"","add_initial_condition"],[1,2,1,"","add_parameter"],[1,2,1,"","add_reaction"],[1,2,1,"","add_species"],[1,2,1,"","compile_prep"],[1,2,1,"","delete_all_parameters"],[1,2,1,"","delete_all_reactions"],[1,2,1,"","delete_all_species"],[1,2,1,"","delete_parameter"],[1,2,1,"","delete_reaction"],[1,2,1,"","delete_species"],[1,2,1,"","get_all_parameters"],[1,2,1,"","get_all_reactions"],[1,2,1,"","get_all_species"],[1,2,1,"","get_num_reactions"],[1,2,1,"","get_num_species"],[1,2,1,"","get_parameter"],[1,2,1,"","get_reaction"],[1,2,1,"","get_species"],[1,4,1,"","reserved_names"],[1,2,1,"","run"],[1,2,1,"","sanitized_data_function_names"],[1,2,1,"","sanitized_parameter_names"],[1,2,1,"","sanitized_species_names"],[1,2,1,"","set_timesteps"],[1,4,1,"","special_characters"],[1,2,1,"","timespan"],[1,2,1,"","update_namespace"]],"spatialpy.core.parameter":[[1,1,1,"","Parameter"]],"spatialpy.core.reaction":[[1,1,1,"","Reaction"]],"spatialpy.core.reaction.Reaction":[[1,2,1,"","add_product"],[1,2,1,"","add_reactant"],[1,2,1,"","annotate"],[1,2,1,"","initialize"]],"spatialpy.core.result":[[1,1,1,"","Result"]],"spatialpy.core.result.Result":[[1,2,1,"","export_to_csv"],[1,2,1,"","get_property"],[1,2,1,"","get_species"],[1,2,1,"","get_timespan"],[1,2,1,"","plot_property"],[1,2,1,"","plot_species"],[1,2,1,"","read_step"]],"spatialpy.core.spatialpyerror":[[1,3,1,"","BoundaryConditionError"],[1,3,1,"","DataFunctionError"],[1,3,1,"","DomainError"],[1,3,1,"","GeometryError"],[1,3,1,"","InitialConditionError"],[1,3,1,"","ModelError"],[1,3,1,"","ParameterError"],[1,3,1,"","ReactionError"],[1,3,1,"","ResultError"],[1,3,1,"","SimulationError"],[1,3,1,"","SimulationTimeout"],[1,3,1,"","SpeciesError"],[1,3,1,"","VTKReaderError"],[1,3,1,"","VTKReaderIOError"]],"spatialpy.core.species":[[1,1,1,"","Species"]],"spatialpy.core.species.Species":[[1,2,1,"","set_diffusion_coefficient"]],"spatialpy.core.vtkreader":[[1,1,1,"","VTKReader"]],"spatialpy.core.vtkreader.VTKReader":[[1,2,1,"","get_array_name"],[1,2,1,"","get_arrays"],[1,2,1,"","get_num_points"],[1,2,1,"","get_points"],[1,2,1,"","read_file"],[1,2,1,"","set_filename"]],"spatialpy.solvers":[[2,0,0,"-","build_expression"],[2,0,0,"-","solver"]],"spatialpy.solvers.build_expression":[[2,1,1,"","BuildExpression"],[2,1,1,"","CppConverter"],[2,1,1,"","ExpressionConverter"],[2,1,1,"","ExpressionResults"],[2,1,1,"","PythonConverter"]],"spatialpy.solvers.build_expression.BuildExpression":[[2,1,1,"","ValidationVisitor"],[2,2,1,"","getexpr_cpp"],[2,2,1,"","getexpr_python"],[2,2,1,"","map_operator"],[2,4,1,"","operator_map"],[2,2,1,"","validate"],[2,2,1,"","with_blacklist"],[2,2,1,"","with_namespace"]],"spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor":[[2,2,1,"","visit_Assign"],[2,2,1,"","visit_BinOp"],[2,2,1,"","visit_BoolOp"],[2,2,1,"","visit_Call"],[2,2,1,"","visit_Compare"],[2,2,1,"","visit_Name"],[2,2,1,"","visit_UnaryOp"]],"spatialpy.solvers.build_expression.CppConverter":[[2,1,1,"","CppExpressionTransformer"],[2,2,1,"","get_str"],[2,2,1,"","visit_And"],[2,2,1,"","visit_Or"]],"spatialpy.solvers.build_expression.CppConverter.CppExpressionTransformer":[[2,2,1,"","visit_BinOp"]],"spatialpy.solvers.build_expression.ExpressionConverter":[[2,2,1,"","convert_str"],[2,2,1,"","get_str"],[2,2,1,"","parse_comparison"],[2,2,1,"","parse_logical"],[2,2,1,"","parse_operator"],[2,2,1,"","visit_Add"],[2,2,1,"","visit_BinOp"],[2,2,1,"","visit_BoolOp"],[2,2,1,"","visit_Bytes"],[2,2,1,"","visit_Call"],[2,2,1,"","visit_Compare"],[2,2,1,"","visit_Constant"],[2,2,1,"","visit_Div"],[2,2,1,"","visit_Ellipsis"],[2,2,1,"","visit_Eq"],[2,2,1,"","visit_Gt"],[2,2,1,"","visit_GtE"],[2,2,1,"","visit_Lt"],[2,2,1,"","visit_LtE"],[2,2,1,"","visit_Mult"],[2,2,1,"","visit_Name"],[2,2,1,"","visit_NameConstant"],[2,2,1,"","visit_NotEq"],[2,2,1,"","visit_Num"],[2,2,1,"","visit_Pow"],[2,2,1,"","visit_Str"],[2,2,1,"","visit_Sub"],[2,2,1,"","visit_USub"],[2,2,1,"","visit_UnaryOp"]],"spatialpy.solvers.build_expression.PythonConverter":[[2,2,1,"","visit_And"],[2,2,1,"","visit_Or"]],"spatialpy.solvers.solver":[[2,1,1,"","Solver"]],"spatialpy.solvers.solver.Solver":[[2,2,1,"","compile"],[2,2,1,"","run"]],"spatialpy.stochss":[[3,0,0,"-","stochss_export"]],"spatialpy.stochss.stochss_export":[[3,6,1,"","export"]],spatialpy:[[1,0,0,"-","core"],[2,0,0,"-","solvers"],[3,0,0,"-","stochss"]]},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","exception","Python exception"],"4":["py","attribute","Python attribute"],"5":["py","property","Python property"],"6":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:exception","4":"py:attribute","5":"py:property","6":"py:function"},terms:{"0":[1,2],"0012333":1,"04":1,"0511773":1,"1":[1,2],"10":1,"11":1,"12295571":1,"13":1,"14":1,"15":1,"168474926":1,"19":1,"1993":1,"1993apj":1,"1999":1,"1d":1,"2":1,"20":1,"2000":1,"2002":1,"2003mnra":1,"2005":1,"2015":1,"2019":[0,1,2,3],"2022":[0,1,2,3],"2236068":1,"2333084":1,"23606798":1,"24617575":1,"26836782":1,"28942611":1,"29571802":1,"2d":1,"2df":1,"2r01eb014877":4,"3":[0,1,2,3,4],"300":1,"30088013":1,"31994999":1,"32580855":1,"33630734":1,"346":1,"37327919":1,"39923701":1,"3d":[1,4],"4":1,"412":1,"5":1,"500":1,"55396483":1,"5647":1,"56906522":1,"57714465":1,"6":1,"600":1,"6395831":1,"6473269":1,"64l":1,"7":1,"71124834":1,"7225693":1,"72658602":1,"75679479":1,"78h":1,"79428925":1,"8":1,"800":1,"80622577":1,"8658745":1,"87665969":1,"9":1,"90785663":1,"abstract":[1,2],"byte":2,"case":1,"class":[1,2],"default":1,"do":1,"export":[1,3],"float":1,"function":[1,2],"import":1,"int":[1,2],"long":1,"new":[1,2],"public":[0,1,2,3,4],"return":[1,2,3],"short":4,"static":[1,4],"super":2,"switch":1,"true":[1,2,3],A:[0,1,2,3,4],And:2,As:1,By:[1,2],FOR:[0,1,2,3],For:[1,4],If:[0,1,2,3,4],In:1,It:1,No:1,Not:2,Or:2,The:[1,2,4],To:1,Will:1,ab:1,abl:1,about:1,abov:1,absolut:1,acceler:1,accept:2,across:1,action:1,actual:1,ad:[1,2],adapt:1,add:[1,2],add_boundary_condit:1,add_data_funct:1,add_domain:1,add_initial_condit:1,add_paramet:1,add_point:1,add_product:1,add_react:1,add_speci:1,addit:[1,2],addition:[1,2],addtion:[1,2],adsab:1,advect:[0,1,2,3,4],against:[1,2],al:1,algorithm:[1,4],align:1,all:[1,2],allow:2,along:[0,1,2,3],alreadi:1,also:[1,2,4],alwai:[1,2],amount:1,an:[1,2,4],analysi:1,angular:1,ani:[0,1,2,3,4],anim:1,animation_attribut:1,animation_opt:1,annot:1,append:2,appli:1,approxim:1,ar:[1,2],argument:1,around:1,arrai:1,arraid:1,array_lik:1,articl:4,artifici:1,arxiv:1,asarrai:1,ascii:1,assembl:1,assign:[1,2],associ:1,assum:2,ast:2,astro:1,astronom:1,astrophys:1,attempt:1,attribut:1,author:4,auto_plai:1,automat:[1,2],autorang:1,avail:[1,2,4],averag:1,axi:1,background:1,balanced_tre:1,bare:2,base:[1,2,4],basic:1,bass:1,becaus:1,becom:1,been:1,befor:1,begin:1,behavior:[1,2],below:1,between:[1,2],bia:1,bin:1,binari:1,binboolopop:2,binop:2,biochem:1,bitand:2,bitor:2,bitxor:2,blacklist:2,blob:1,blue:1,bodi:1,bogu:1,bool:[1,2,3],boolop:2,both:4,bottom:1,bound:1,bound_cond:1,boundari:1,boundarycondit:0,boundaryconditionerror:1,box:1,boxsiz:1,bracket:1,branch:1,brian:4,broadcast:1,browser:1,brute:1,bugn:1,build:[1,2,4],build_dir:1,build_express:0,buildexpress:2,built:[1,2],bulk:1,bupu:1,bvf_phi:1,c0:1,c:[0,1,2,3],c_:1,calcul:1,calculate_vol:1,call:[1,2],can:[0,1,2,3,4],caus:[1,2],cdn:1,cell:1,charact:1,chart:1,check:[1,2],chemic:1,children:1,choos:1,chosen:1,circumradiu:1,ckdtree:1,ckdtree_nod:1,ckdtreenod:1,classmethod:[1,2],cleanup:0,cleanup_build_fil:1,cleanup_core_fil:1,cleanup_result_fil:1,cleanup_tempfil:1,clear:1,close:1,closest:1,closest_vertex:1,cloud:1,cluster:1,code:4,coeffic:1,coeffici:1,collabor:1,colormap:1,column:1,com:[1,4],combin:1,compact:1,compact_nod:1,compar:[1,2],comparison:2,compil:[1,2],compile_prep:1,compos:1,comput:1,conain:1,conatain:1,concentr:1,condit:[1,2],config:1,connect:1,connolli:1,consid:1,consol:2,constant:[1,2],construct:1,constructor:2,constuct:1,contact:4,contain:[1,2],content:4,context:2,contian:1,contigu:1,continu:4,convers:2,convert:[1,2,3],convert_str:2,convet:2,coo_matrix:1,coodin:1,coordin:1,copi:[0,1,2,3],copy_data:1,copy_numb:1,copyright:[0,1,2,3],core:[0,3,4],corner:1,correl:1,correspond:[1,2],corrupt:1,cosmolog:1,could:[1,2],count:1,count_neighbor:1,coupl:1,cppconvert:2,cppexpressiontransform:2,cpu:1,cradded:1,creat:[1,2],create_2d_domain:1,create_3d_domain:1,csv:1,cumul:1,current:[1,2],custom:1,cylind:4,d:1,data:[1,2],data_funct:1,datafunct:0,datafunctionerror:1,dd:1,debug:[1,2],debug_level:[1,2],debugg:2,decreas:1,default_rng:1,defer:1,defin:[1,2],definit:1,degener:1,delete_all_paramet:1,delete_all_react:1,delete_all_speci:1,delete_paramet:1,delete_react:1,delete_speci:1,deltai:1,deltax:1,deltaz:1,demo:4,densiti:1,depend:1,dependency_graph:1,deprec:1,describ:[1,4],descript:1,detail:[0,1,2,3],determinist:[0,1,2,3,4],determinst:1,develop:[0,1,2,3,4],diamet:1,dict:[1,2,3],dictionari:[1,2],differ:[1,2],diffus:[0,1,2,3,4],diffusion_coeffici:1,dimens:1,dimension:1,direct:1,directli:[1,4],directori:1,discuss:1,displai:1,dissip:4,distanc:1,distance_between_2_vertic:1,distance_matrix:1,distance_upper_bound:1,distribut:[0,1,2,3],div:2,doe:1,doesn:1,dok_matrix:1,dolfin:1,dom:1,domain:[0,4],domainerror:1,domn:1,doubl:1,download:1,dr:4,draw:1,drawert:4,drawn:1,dtype:1,dual:1,duplic:2,durat:1,dure:[1,2],dynam:4,e:1,each:1,edg:1,edit:1,edu:1,effect:1,effici:1,either:1,element:1,ellipsi:2,els:[1,3],embed:4,empti:2,end:1,engin:1,ensur:[1,2],enterpris:1,entir:1,entireti:1,ep:1,eq:2,equival:2,error:1,estim:1,et:1,euclidean:1,evalu:1,evaul:1,even:[0,1,2,3],evenli:1,exampl:1,exce:1,exceed:2,except:1,execut:[1,2],exist:1,expect:[1,2],expens:1,explor:1,export_stochss:1,export_to_csv:1,expres:2,express:[1,2],expressionconvert:2,expressionresult:2,extens:1,extra:1,f:1,f_durat:1,fail:2,fals:[1,2,3],far:2,faster:1,featur:4,fenic:1,field:1,fifo:1,figsiz:1,figur:1,figure_or_data:1,file:[1,3],filenam:[1,3],fill:[1,4],fill_with_particl:1,find:[1,4],find_boundary_point:1,find_h:1,finit:1,first:[1,2],fit:[0,1,2,3],fix:1,flag:[1,2],flatten:1,flight:2,floordiv:2,flow:4,fluid:[1,4],folder_nam:1,follow:[1,2],forc:1,form:[1,4],format:1,forward:2,found:[1,2,4],foundat:[0,1,2,3],frac:1,fraction:1,frame:[1,4],free:[0,1,2,3],frequenc:1,from:[1,2],fromkei:1,fund:4,further:1,furthest:1,g:1,gain:1,galaxi:1,gdbgui:2,gener:[0,1,2,3,4],geometr:1,geometri:0,geometry_ivar:1,geometryal:1,geometryerror:1,geometryexterior:1,geometryinterior:1,get:[1,2],get_all_paramet:1,get_all_react:1,get_all_speci:1,get_arrai:1,get_array_nam:1,get_bounding_box:1,get_domain_s:1,get_num_point:1,get_num_react:1,get_num_speci:1,get_num_voxel:1,get_paramet:1,get_point:1,get_properti:1,get_react:1,get_speci:1,get_str:2,get_timespan:1,get_type_def:1,get_vol:1,getexpr_:2,getexpr_cpp:2,getexpr_python:2,github:[1,4],give:1,given:[1,2],gmsh:1,gnbu:1,gnu:[0,1,2,3,4],gprof:2,grai:1,grant:4,granular:2,graph:1,graph_obj:1,graph_refer:1,graviti:[1,4],greater:1,greatest:1,green:1,grei:1,gt:2,gte:2,guarante:1,h:1,ha:[1,4],hand:2,handl:2,happen:2,harvard:1,hasn:[1,2],have:[0,1,2,3],hawkin:1,height:1,held:1,help:1,here:[1,4],high:1,higher:1,highest:1,hit:1,hope:[0,1,2,3],how:[1,2,4],http:[0,1,2,3,4],hybrid:4,hyperrectangl:1,i:1,id:1,idea:1,ideal:2,idempot:1,identifi:[1,2],idx:1,ignor:1,ii:1,imag:1,image_height:1,image_width:1,immobil:1,implemenet:1,implement:[1,2],impli:[0,1,2,3],import_meshio_object:1,imposs:2,inch:1,incid:1,includ:1,included_types_list:1,incompat:1,increas:1,increment:2,indec:1,indeci:1,index:[1,4],indic:[1,2],indici:1,inf:1,infer:2,infin:1,infinit:1,info:1,inform:[1,2,4],inherit:2,init_cond:1,init_notebook_mod:1,initailcondit:1,initi:1,initialcondit:0,initialconditionerror:1,inlin:1,innernod:1,input:1,insert:1,insid:1,instanc:[1,2],instead:1,integ:1,intend:4,intern:1,internet:1,interv:1,invalid:[1,2],invalid_:2,invalid_nam:2,invalid_oper:2,io:1,iplot:1,ipython:1,is_valid:2,issuecom:1,item:[1,2],iter:1,its:1,j:1,jacob:4,jet:1,job:1,journal:1,jpeg:1,js:1,json:1,jupyt:1,k:1,kd:1,kd_tree1:1,kd_tree2:1,kd_tree:1,kdtree:1,kei:[1,2],keyerror:1,keyword:1,kill:1,kth:1,kwarg:1,l_i:1,lack:1,lagrangian:4,landi:1,larg:1,larger:1,last:[1,2],later:[1,2],latest:4,layout:1,leafnod:1,leafsiz:1,learn:1,leav:1,left:2,legaci:1,len:1,length:1,less:1,level:[1,2],li:4,librari:1,licens:[0,1,2,3,4],lifo:1,like:1,limit:1,linearli:1,link:1,link_text:1,list:[1,2],listofparamet:1,listofreact:1,listofspeci:1,listoftyp:1,load:1,local:1,locat:1,logic:2,longer:1,look:1,lookup:1,loos:1,lower:1,lowest:1,lshift:2,lt:2,lte:2,ly:1,m:1,mai:1,main:4,make:1,manag:2,maneewongvatana:1,manhattan:1,mani:[1,2],map:[1,2],map_oper:2,margin:1,mark:1,markers:1,mass:1,master:1,mathemat:[1,2],matmult:2,matplotlib:1,matrix:1,matter:1,max:1,max_dist:1,maximum:[1,2],mean:1,measur:1,median:1,meet:1,megabyt:1,merchant:[0,1,2,3],mesh:1,mesh_obj:1,meshio:1,messag:1,meta:1,method:[1,2],mgrid:1,midpoint:1,min:1,mine:1,minim:1,minimum:1,minkowski:1,miss:1,mod:2,model:[0,2,3,4],modelerror:1,modelname_mesh:1,modelname_species_:1,modifi:[0,1,2,3],modul:4,monthli:1,moor:1,more:[0,1,2,3,4],most:[1,2],mount:1,move:1,move_to_end:1,movement:1,msh:1,much:1,mult:2,multi:1,multipl:[1,2],must:1,n:1,n_i:1,naiv:1,name:[1,2],nameconst:2,namespac:[1,2],ndarrai:1,ndarri:1,nearbi:1,nearby_point:1,nearer:1,nearest:1,necessari:1,need:[1,4],neg:1,neighbor:1,neighbour:1,nih:4,node:[1,2],nodetransform:2,nodevisitor:2,non:1,none:[1,2,3],nonneg:1,norm:1,notat:1,note:[1,2],notebook:[1,4],noteq:2,notic:1,np:1,nsm:4,nu:1,num:2,num_step:1,number:[1,2],number_of_thread:[1,2],number_of_trajectori:[1,2],numpi:1,numpoint:1,nx:1,ny:1,nz:1,o:1,obj:1,object:[1,2],occur:1,od:1,off:1,offlin:1,og:1,omit:1,on_boundari:1,one:[1,2],onli:[1,2],onlin:1,open:1,oper:[1,2],operator_map:2,optim:1,option:1,orang:1,order:1,ordereddict:1,org:[0,1,2,3],origin:2,orrd:1,other:[1,2],otherwis:[1,2],our:[1,4],out:[1,4],outdat:1,output:[1,2],output_interv:1,output_typ:1,outsid:1,over:1,overflow:1,overrid:2,overridden:1,p0:1,p:1,p_ndx:1,packag:4,page:[1,4],pair:1,parallel:1,param:1,param_nam:1,param_obj:1,paramet:[0,2,3],parametererror:1,paramt:1,parent:1,pars:2,parse_comparison:2,parse_log:2,parse_oper:2,part:1,partcil:1,particip:1,particl:[1,4],particular:[0,1,2,3],pass:[1,2],path:[1,3],pdf:1,peculiar:1,per:1,perform:1,petzold:4,ph:1,physic:4,pii:4,pixel:1,place:1,placeinitialcondit:1,platform:1,pleas:[1,4],plot:1,plot_imag:1,plot_properti:1,plot_speci:1,plot_typ:1,plotli:1,plotly3:1,plt:1,pname:1,png:1,point:1,points1:1,points2:1,pop:[1,2],popitem:1,popul:1,posit:1,positon:1,pow:2,pre:2,predict:1,preper:1,present:[1,2],pressur:1,print:[1,2],problem:[0,1,2,3,4],process:[1,2],processor:1,produc:1,product:1,profil:[1,2],program:[0,1,2,3],project:4,propens:1,propensity_funct:1,properli:1,properti:[1,2],property_nam:1,proprti:1,protect:1,prove:4,provid:[1,2,4],prune:1,publish:[0,1,2,3],pubu:1,pubugn:1,pull:1,purd:1,purpl:1,purpos:[0,1,2,3],put:1,px:1,py:1,pypi:4,pyplot:1,python:[0,1,2,3,4],pythonconvert:2,pyurdm:4,quantifi:1,queri:1,query_ball_point:1,query_ball_tre:1,query_pair:1,question:4,quick:1,r:1,radii:1,radiu:1,rais:[1,2],random:[1,2],randomli:1,rang:1,rapidli:1,rate:1,rather:1,ratio:1,ravel:1,raw:1,rdme:4,rdpu:1,re:1,reac:1,reach:1,react_nam:1,react_obj:1,reactant:1,reaction:[0,2,3,4],reactionerror:1,read:1,read_fil:1,read_msh_fil:1,read_step:1,read_stochss_domain:1,read_stochss_subdomain_fil:1,read_xml_mesh:1,reader:1,real:1,receiv:[0,1,2,3],recent:[1,2],record:1,red:1,redistribut:[0,1,2,3],redshift:1,refer:1,referenc:1,regardless:1,region:1,regist:4,registr:4,reject:2,rememb:1,remov:1,replac:4,repres:1,represent:[1,2],request:1,requir:1,reserved_nam:1,resolut:1,restrict:1,restrict_to:1,result:[0,2],result_dir:1,resulterror:1,retreiv:1,retriev:1,return_length:1,return_plotly_figur:1,return_sort:1,return_stochss_model:[1,3],rho0:1,rho:1,right:[1,2],rname:1,rng:1,robust:1,royal:1,rshift:2,rtype:2,rule:1,run:[1,2],rvalu:2,s0021999118307101:4,s:[1,4],same:1,sampl:1,sanit:2,sanitized_data_function_nam:1,sanitized_parameter_nam:1,sanitized_species_nam:1,save:1,scalar:1,scale:1,scatter:1,scatterinitialcondit:1,schedul:1,scheme:1,scienc:[1,4],sciencedirect:4,scipi:1,sdm:1,sdpd:[1,4],search:[1,4],second:[1,2],section:1,see:[0,1,2,3,4],seed:[1,2],self:[1,2],sens:1,sep:1,separ:1,sequenc:1,seri:[1,2],set:[1,2],set_diffusion_coeffici:1,set_filenam:1,set_properti:1,set_timestep:1,setdefault:1,setter:1,shall:1,shallow:1,shape:1,sheth:1,should:[0,1,2,3],show:1,show_link:1,shrink:1,signal:1,significantli:1,similar:1,simlat:1,simplifi:1,simul:[0,1,2,3,4],simulationerror:[1,2],simulationtimeout:[1,2],sinc:1,singl:[1,2],size:1,skibba:1,sky:1,slide:1,slightli:1,small:1,smaller:1,smdl:1,smooth:4,sname:1,so:[1,2],societi:1,softwar:[0,1,2,3,4],solver:[0,1,4],some:1,sort:1,sound:1,sourc:[1,2,3,4],space:1,spactialpi:2,span:1,spars:1,sparse_distance_matrix:1,spatial:[0,1,2,3,4],spatialpy_build:1,spatialpy_model:1,spatialpy_result:1,spatialpyerror:0,spatialpysolv:1,speci:0,special_charact:1,species_nam:1,species_object:1,specieserror:1,specif:1,specifi:1,speed:1,split:1,split_dim:1,squeez:1,src:1,ssa:1,sssa:4,start:[1,2,4],statement:2,statist:1,step:1,step_num:1,stochast:[0,1,2,3,4],stochss:[0,1,4],stochss_export:0,stoichiometr:1,stoichiometri:1,str:[1,2,3],string:[1,2],struct:2,structur:1,style:1,sub:2,subclass:[1,2],subdomain:1,submodul:0,subpackag:4,substanti:1,substitut:2,success:1,suggest:4,sum:1,suppli:1,support:[1,4],sure:1,survei:1,svg:1,symbol:2,syntax:2,syntaxerror:2,system:[1,4],szalai:1,t:[1,2],t_durat:1,t_ndx:1,t_ndx_list:1,t_val:1,tag:1,take:1,target:[1,2],tempfil:1,term:[0,1,2,3],tetrahedron:1,text:1,th:1,than:1,them:1,thi:[0,1,2,3,4],thin:1,those:1,though:1,thread:[1,2],time:[1,2],time_span:1,timeout:[1,2],timepoint:1,timespan:1,timestep:1,timestep_s:1,titl:1,toarrai:1,token:2,topolog:1,toroid:1,total:1,toth:1,trace:1,tracker:4,trajectori:[1,2],transit:1,travers:1,tree:[1,2],triangl:1,trigger:2,tspan:1,tupl:1,two:[1,2],txt:1,type:[1,2,3],type_id:1,u0:1,unabl:1,unaryop:2,under:[0,1,2,3,4],uniform:1,uniforminitialcondit:1,union:1,univers:[1,2],unless:1,unnecessari:1,unsqueez:1,unweight:1,up:1,updat:1,update_namespac:1,upload:1,upon:1,upper:1,urdm:1,us:[0,1,2,3,4],use_matplotlib:1,user:[1,4],usual:1,usub:2,util:1,v1:1,v:1,valid:[1,2],validationvisitor:2,valu:[1,2],valueerror:1,vari:1,varianc:1,veloc:1,verbos:2,version:[0,1,2,3,4],vertex:1,vertic:1,view:1,viewer:1,viscos:1,visit:2,visit_add:2,visit_and:2,visit_assign:2,visit_binop:2,visit_boolop:2,visit_byt:2,visit_cal:2,visit_compar:2,visit_const:2,visit_div:2,visit_ellipsi:2,visit_eq:2,visit_gt:2,visit_lt:2,visit_mult:2,visit_nam:2,visit_nameconst:2,visit_noteq:2,visit_num:2,visit_or:2,visit_pow:2,visit_str:2,visit_sub:2,visit_unaryop:2,visit_usub:2,visitor:2,vol:1,volum:1,voxel:1,vtk:1,vtkreader:0,vtkreadererror:1,vtkreaderioerror:1,wa:1,want:1,warranti:[0,1,2,3],we:[1,4],web:1,webp:1,weight:1,weir:4,well:2,were:[1,2],what:2,when:[1,2],where:1,whether:[1,2,3],which:[1,2],whose:1,wide:1,width:1,with_blacklist:2,with_namespac:2,within:1,without:[0,1,2,3],work:1,worker:1,wp:1,wrap:1,write:1,write_imag:1,written:1,www:[0,1,2,3,4],x1:1,x2:1,x:1,x_i:1,xaxi:1,xi:1,xk:1,xlim:1,xmax:1,xmin:1,xml:1,y:1,yaxi:1,yet:1,yi:4,ylgn:1,ylgnbu:1,ylim:1,ylorbr:1,ylorrd:1,ymax:1,ymin:1,you:[0,1,2,3,4],your:[1,4],z:1,zero:1,zeroth:1,zlim:1,zmax:1,zmin:1},titles:["spatialpy package","spatialpy.core package","spatialpy.solvers package","spatialpy.stochss package","Documentation for SpatialPy 1.0"],titleterms:{"0":4,"1":4,api:4,boundarycondit:1,build_express:2,cleanup:1,content:[0,1,2,3],copi:4,core:1,datafunct:1,document:4,domain:1,exampl:4,geometri:1,get:4,indic:4,initialcondit:1,issu:4,model:1,modul:[0,1,2,3],packag:[0,1,2,3],paramet:1,reaction:1,refer:4,report:4,result:1,solver:2,spatialpi:[0,1,2,3,4],spatialpyerror:1,speci:1,stochss:3,stochss_export:3,submodul:[1,2,3],subpackag:0,tabl:4,vtkreader:1}}) \ No newline at end of file +Search.setIndex({docnames:["classes/spatialpy","classes/spatialpy.core","classes/spatialpy.solvers","classes/spatialpy.stochss","index"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.todo":2,"sphinx.ext.viewcode":1,sphinx:56},filenames:["classes/spatialpy.rst","classes/spatialpy.core.rst","classes/spatialpy.solvers.rst","classes/spatialpy.stochss.rst","index.rst"],objects:{"":[[0,0,0,"-","spatialpy"]],"spatialpy.core":[[1,1,1,"","BoundaryCondition"],[1,3,1,"","BoundaryConditionError"],[1,1,1,"","DataFunction"],[1,3,1,"","DataFunctionError"],[1,1,1,"","Domain"],[1,3,1,"","DomainError"],[1,1,1,"","Geometry"],[1,1,1,"","GeometryAll"],[1,3,1,"","GeometryError"],[1,1,1,"","GeometryExterior"],[1,1,1,"","GeometryInterior"],[1,1,1,"","InitialCondition"],[1,3,1,"","InitialConditionError"],[1,1,1,"","KDTree"],[1,1,1,"","Model"],[1,3,1,"","ModelError"],[1,1,1,"","OrderedDict"],[1,1,1,"","Parameter"],[1,3,1,"","ParameterError"],[1,1,1,"","PlaceInitialCondition"],[1,1,1,"","Reaction"],[1,3,1,"","ReactionError"],[1,1,1,"","Result"],[1,3,1,"","ResultError"],[1,1,1,"","ScatterInitialCondition"],[1,3,1,"","SimulationError"],[1,3,1,"","SimulationTimeout"],[1,1,1,"","Species"],[1,3,1,"","SpeciesError"],[1,1,1,"","UniformInitialCondition"],[1,1,1,"","VTKReader"],[1,3,1,"","VTKReaderError"],[1,3,1,"","VTKReaderIOError"],[1,0,0,"-","boundarycondition"],[1,0,0,"-","cleanup"],[1,6,1,"","cleanup_build_files"],[1,6,1,"","cleanup_core_files"],[1,6,1,"","cleanup_result_files"],[1,6,1,"","cleanup_tempfiles"],[1,1,1,"","combinations"],[1,0,0,"-","datafunction"],[1,0,0,"-","domain"],[1,0,0,"-","geometry"],[1,6,1,"","init_notebook_mode"],[1,0,0,"-","initialcondition"],[1,6,1,"","iplot"],[1,0,0,"-","model"],[1,0,0,"-","parameter"],[1,0,0,"-","reaction"],[1,0,0,"-","result"],[1,0,0,"-","spatialpyerror"],[1,0,0,"-","species"],[1,0,0,"-","vtkreader"]],"spatialpy.core.BoundaryCondition":[[1,2,1,"","expression"]],"spatialpy.core.DataFunction":[[1,2,1,"","map"]],"spatialpy.core.Domain":[[1,2,1,"","add_point"],[1,2,1,"","calculate_vol"],[1,2,1,"","closest_vertex"],[1,2,1,"","compile_prep"],[1,2,1,"","coordinates"],[1,2,1,"","create_2D_domain"],[1,2,1,"","create_3D_domain"],[1,2,1,"","distance_between_2_vertices"],[1,2,1,"","fill_with_particles"],[1,2,1,"","find_boundary_points"],[1,2,1,"","find_h"],[1,2,1,"","get_bounding_box"],[1,2,1,"","get_domain_size"],[1,2,1,"","get_num_voxels"],[1,2,1,"","get_type_def"],[1,2,1,"","get_vol"],[1,2,1,"","import_meshio_object"],[1,2,1,"","plot_types"],[1,2,1,"","read_msh_file"],[1,2,1,"","read_stochss_domain"],[1,2,1,"","read_stochss_subdomain_file"],[1,2,1,"","read_xml_mesh"],[1,2,1,"","set_properties"]],"spatialpy.core.Geometry":[[1,2,1,"","inside"]],"spatialpy.core.GeometryAll":[[1,2,1,"","inside"]],"spatialpy.core.GeometryExterior":[[1,2,1,"","inside"]],"spatialpy.core.GeometryInterior":[[1,2,1,"","inside"]],"spatialpy.core.InitialCondition":[[1,2,1,"","apply"]],"spatialpy.core.KDTree":[[1,2,1,"","count_neighbors"],[1,4,1,"","data"],[1,1,1,"","innernode"],[1,1,1,"","leafnode"],[1,4,1,"","leafsize"],[1,4,1,"","m"],[1,4,1,"","maxes"],[1,4,1,"","mins"],[1,4,1,"","n"],[1,1,1,"","node"],[1,2,1,"","query"],[1,2,1,"","query_ball_point"],[1,2,1,"","query_ball_tree"],[1,2,1,"","query_pairs"],[1,4,1,"","size"],[1,2,1,"","sparse_distance_matrix"],[1,5,1,"","tree"]],"spatialpy.core.KDTree.innernode":[[1,5,1,"","children"],[1,5,1,"","split"],[1,5,1,"","split_dim"]],"spatialpy.core.KDTree.leafnode":[[1,5,1,"","children"],[1,5,1,"","idx"]],"spatialpy.core.Model":[[1,2,1,"","add_boundary_condition"],[1,2,1,"","add_data_function"],[1,2,1,"","add_domain"],[1,2,1,"","add_initial_condition"],[1,2,1,"","add_parameter"],[1,2,1,"","add_reaction"],[1,2,1,"","add_species"],[1,2,1,"","compile_prep"],[1,2,1,"","delete_all_parameters"],[1,2,1,"","delete_all_reactions"],[1,2,1,"","delete_all_species"],[1,2,1,"","delete_parameter"],[1,2,1,"","delete_reaction"],[1,2,1,"","delete_species"],[1,2,1,"","get_all_parameters"],[1,2,1,"","get_all_reactions"],[1,2,1,"","get_all_species"],[1,2,1,"","get_num_reactions"],[1,2,1,"","get_num_species"],[1,2,1,"","get_parameter"],[1,2,1,"","get_reaction"],[1,2,1,"","get_species"],[1,4,1,"","reserved_names"],[1,2,1,"","run"],[1,2,1,"","sanitized_data_function_names"],[1,2,1,"","sanitized_parameter_names"],[1,2,1,"","sanitized_species_names"],[1,2,1,"","set_timesteps"],[1,4,1,"","special_characters"],[1,2,1,"","timespan"],[1,2,1,"","update_namespace"]],"spatialpy.core.OrderedDict":[[1,2,1,"","clear"],[1,2,1,"","copy"],[1,2,1,"","fromkeys"],[1,2,1,"","items"],[1,2,1,"","keys"],[1,2,1,"","move_to_end"],[1,2,1,"","pop"],[1,2,1,"","popitem"],[1,2,1,"","setdefault"],[1,2,1,"","update"],[1,2,1,"","values"]],"spatialpy.core.PlaceInitialCondition":[[1,2,1,"","apply"]],"spatialpy.core.Reaction":[[1,2,1,"","add_product"],[1,2,1,"","add_reactant"],[1,2,1,"","annotate"],[1,2,1,"","initialize"]],"spatialpy.core.Result":[[1,2,1,"","export_to_csv"],[1,2,1,"","get_property"],[1,2,1,"","get_species"],[1,2,1,"","get_timespan"],[1,2,1,"","plot_property"],[1,2,1,"","plot_species"],[1,2,1,"","read_step"]],"spatialpy.core.ScatterInitialCondition":[[1,2,1,"","apply"]],"spatialpy.core.Species":[[1,2,1,"","set_diffusion_coefficient"]],"spatialpy.core.UniformInitialCondition":[[1,2,1,"","apply"]],"spatialpy.core.VTKReader":[[1,2,1,"","get_array_name"],[1,2,1,"","get_arrays"],[1,2,1,"","get_num_points"],[1,2,1,"","get_points"],[1,2,1,"","read_file"],[1,2,1,"","set_filename"]],"spatialpy.core.boundarycondition":[[1,1,1,"","BoundaryCondition"]],"spatialpy.core.boundarycondition.BoundaryCondition":[[1,2,1,"","expression"]],"spatialpy.core.cleanup":[[1,6,1,"","cleanup_build_files"],[1,6,1,"","cleanup_core_files"],[1,6,1,"","cleanup_result_files"],[1,6,1,"","cleanup_tempfiles"]],"spatialpy.core.datafunction":[[1,1,1,"","DataFunction"]],"spatialpy.core.datafunction.DataFunction":[[1,2,1,"","map"]],"spatialpy.core.domain":[[1,1,1,"","Domain"]],"spatialpy.core.domain.Domain":[[1,2,1,"","add_point"],[1,2,1,"","calculate_vol"],[1,2,1,"","closest_vertex"],[1,2,1,"","compile_prep"],[1,2,1,"","coordinates"],[1,2,1,"","create_2D_domain"],[1,2,1,"","create_3D_domain"],[1,2,1,"","distance_between_2_vertices"],[1,2,1,"","fill_with_particles"],[1,2,1,"","find_boundary_points"],[1,2,1,"","find_h"],[1,2,1,"","get_bounding_box"],[1,2,1,"","get_domain_size"],[1,2,1,"","get_num_voxels"],[1,2,1,"","get_type_def"],[1,2,1,"","get_vol"],[1,2,1,"","import_meshio_object"],[1,2,1,"","plot_types"],[1,2,1,"","read_msh_file"],[1,2,1,"","read_stochss_domain"],[1,2,1,"","read_stochss_subdomain_file"],[1,2,1,"","read_xml_mesh"],[1,2,1,"","set_properties"]],"spatialpy.core.geometry":[[1,1,1,"","Geometry"],[1,1,1,"","GeometryAll"],[1,1,1,"","GeometryExterior"],[1,1,1,"","GeometryInterior"]],"spatialpy.core.geometry.Geometry":[[1,2,1,"","inside"]],"spatialpy.core.geometry.GeometryAll":[[1,2,1,"","inside"]],"spatialpy.core.geometry.GeometryExterior":[[1,2,1,"","inside"]],"spatialpy.core.geometry.GeometryInterior":[[1,2,1,"","inside"]],"spatialpy.core.initialcondition":[[1,1,1,"","InitialCondition"],[1,1,1,"","PlaceInitialCondition"],[1,1,1,"","ScatterInitialCondition"],[1,1,1,"","UniformInitialCondition"]],"spatialpy.core.initialcondition.InitialCondition":[[1,2,1,"","apply"]],"spatialpy.core.initialcondition.PlaceInitialCondition":[[1,2,1,"","apply"]],"spatialpy.core.initialcondition.ScatterInitialCondition":[[1,2,1,"","apply"]],"spatialpy.core.initialcondition.UniformInitialCondition":[[1,2,1,"","apply"]],"spatialpy.core.model":[[1,1,1,"","Model"],[1,6,1,"","export_StochSS"]],"spatialpy.core.model.Model":[[1,2,1,"","add_boundary_condition"],[1,2,1,"","add_data_function"],[1,2,1,"","add_domain"],[1,2,1,"","add_initial_condition"],[1,2,1,"","add_parameter"],[1,2,1,"","add_reaction"],[1,2,1,"","add_species"],[1,2,1,"","compile_prep"],[1,2,1,"","delete_all_parameters"],[1,2,1,"","delete_all_reactions"],[1,2,1,"","delete_all_species"],[1,2,1,"","delete_parameter"],[1,2,1,"","delete_reaction"],[1,2,1,"","delete_species"],[1,2,1,"","get_all_parameters"],[1,2,1,"","get_all_reactions"],[1,2,1,"","get_all_species"],[1,2,1,"","get_num_reactions"],[1,2,1,"","get_num_species"],[1,2,1,"","get_parameter"],[1,2,1,"","get_reaction"],[1,2,1,"","get_species"],[1,4,1,"","reserved_names"],[1,2,1,"","run"],[1,2,1,"","sanitized_data_function_names"],[1,2,1,"","sanitized_parameter_names"],[1,2,1,"","sanitized_species_names"],[1,2,1,"","set_timesteps"],[1,4,1,"","special_characters"],[1,2,1,"","timespan"],[1,2,1,"","update_namespace"]],"spatialpy.core.parameter":[[1,1,1,"","Parameter"]],"spatialpy.core.reaction":[[1,1,1,"","Reaction"]],"spatialpy.core.reaction.Reaction":[[1,2,1,"","add_product"],[1,2,1,"","add_reactant"],[1,2,1,"","annotate"],[1,2,1,"","initialize"]],"spatialpy.core.result":[[1,1,1,"","Result"]],"spatialpy.core.result.Result":[[1,2,1,"","export_to_csv"],[1,2,1,"","get_property"],[1,2,1,"","get_species"],[1,2,1,"","get_timespan"],[1,2,1,"","plot_property"],[1,2,1,"","plot_species"],[1,2,1,"","read_step"]],"spatialpy.core.spatialpyerror":[[1,3,1,"","BoundaryConditionError"],[1,3,1,"","DataFunctionError"],[1,3,1,"","DomainError"],[1,3,1,"","GeometryError"],[1,3,1,"","InitialConditionError"],[1,3,1,"","ModelError"],[1,3,1,"","ParameterError"],[1,3,1,"","ReactionError"],[1,3,1,"","ResultError"],[1,3,1,"","SimulationError"],[1,3,1,"","SimulationTimeout"],[1,3,1,"","SpeciesError"],[1,3,1,"","VTKReaderError"],[1,3,1,"","VTKReaderIOError"]],"spatialpy.core.species":[[1,1,1,"","Species"]],"spatialpy.core.species.Species":[[1,2,1,"","set_diffusion_coefficient"]],"spatialpy.core.vtkreader":[[1,1,1,"","VTKReader"]],"spatialpy.core.vtkreader.VTKReader":[[1,2,1,"","get_array_name"],[1,2,1,"","get_arrays"],[1,2,1,"","get_num_points"],[1,2,1,"","get_points"],[1,2,1,"","read_file"],[1,2,1,"","set_filename"]],"spatialpy.solvers":[[2,0,0,"-","build_expression"],[2,0,0,"-","solver"]],"spatialpy.solvers.build_expression":[[2,1,1,"","BuildExpression"],[2,1,1,"","CppConverter"],[2,1,1,"","ExpressionConverter"],[2,1,1,"","ExpressionResults"],[2,1,1,"","PythonConverter"]],"spatialpy.solvers.build_expression.BuildExpression":[[2,1,1,"","ValidationVisitor"],[2,2,1,"","getexpr_cpp"],[2,2,1,"","getexpr_python"],[2,2,1,"","map_operator"],[2,4,1,"","operator_map"],[2,2,1,"","validate"],[2,2,1,"","with_blacklist"],[2,2,1,"","with_namespace"]],"spatialpy.solvers.build_expression.BuildExpression.ValidationVisitor":[[2,2,1,"","visit_Assign"],[2,2,1,"","visit_BinOp"],[2,2,1,"","visit_BoolOp"],[2,2,1,"","visit_Call"],[2,2,1,"","visit_Compare"],[2,2,1,"","visit_Name"],[2,2,1,"","visit_UnaryOp"]],"spatialpy.solvers.build_expression.CppConverter":[[2,1,1,"","CppExpressionTransformer"],[2,2,1,"","get_str"],[2,2,1,"","visit_And"],[2,2,1,"","visit_Or"]],"spatialpy.solvers.build_expression.CppConverter.CppExpressionTransformer":[[2,2,1,"","visit_BinOp"]],"spatialpy.solvers.build_expression.ExpressionConverter":[[2,2,1,"","convert_str"],[2,2,1,"","get_str"],[2,2,1,"","parse_comparison"],[2,2,1,"","parse_logical"],[2,2,1,"","parse_operator"],[2,2,1,"","visit_Add"],[2,2,1,"","visit_BinOp"],[2,2,1,"","visit_BoolOp"],[2,2,1,"","visit_Bytes"],[2,2,1,"","visit_Call"],[2,2,1,"","visit_Compare"],[2,2,1,"","visit_Constant"],[2,2,1,"","visit_Div"],[2,2,1,"","visit_Ellipsis"],[2,2,1,"","visit_Eq"],[2,2,1,"","visit_Gt"],[2,2,1,"","visit_GtE"],[2,2,1,"","visit_Lt"],[2,2,1,"","visit_LtE"],[2,2,1,"","visit_Mult"],[2,2,1,"","visit_Name"],[2,2,1,"","visit_NameConstant"],[2,2,1,"","visit_NotEq"],[2,2,1,"","visit_Num"],[2,2,1,"","visit_Pow"],[2,2,1,"","visit_Str"],[2,2,1,"","visit_Sub"],[2,2,1,"","visit_USub"],[2,2,1,"","visit_UnaryOp"]],"spatialpy.solvers.build_expression.PythonConverter":[[2,2,1,"","visit_And"],[2,2,1,"","visit_Or"]],"spatialpy.solvers.solver":[[2,1,1,"","Solver"]],"spatialpy.solvers.solver.Solver":[[2,2,1,"","compile"],[2,2,1,"","run"]],"spatialpy.stochss":[[3,0,0,"-","stochss_export"]],"spatialpy.stochss.stochss_export":[[3,6,1,"","export"]],spatialpy:[[1,0,0,"-","core"],[2,0,0,"-","solvers"],[3,0,0,"-","stochss"]]},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","exception","Python exception"],"4":["py","attribute","Python attribute"],"5":["py","property","Python property"],"6":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:exception","4":"py:attribute","5":"py:property","6":"py:function"},terms:{"0":[1,2],"0012333":1,"04":1,"0511773":1,"1":[1,2],"10":1,"11":1,"12295571":1,"13":1,"14":1,"15":1,"168474926":1,"19":1,"1993":1,"1993apj":1,"1999":1,"1d":1,"2":1,"20":1,"2000":1,"2002":1,"2003mnra":1,"2005":1,"2015":1,"2019":[0,1,2,3],"2022":[0,1,2,3],"2236068":1,"2333084":1,"23606798":1,"24617575":1,"26836782":1,"28942611":1,"29571802":1,"2d":1,"2df":1,"2r01eb014877":4,"3":[0,1,2,3,4],"300":1,"30088013":1,"31994999":1,"32580855":1,"33630734":1,"346":1,"37327919":1,"39923701":1,"3d":[1,4],"4":1,"412":1,"5":1,"500":1,"55396483":1,"5647":1,"56906522":1,"57714465":1,"6":1,"600":1,"6395831":1,"6473269":1,"64l":1,"7":1,"71124834":1,"7225693":1,"72658602":1,"75679479":1,"78h":1,"79428925":1,"8":1,"800":1,"80622577":1,"8658745":1,"87665969":1,"9":1,"90785663":1,"abstract":[1,2],"byte":2,"case":1,"class":[1,2],"default":1,"do":1,"export":[1,3],"float":1,"function":[1,2],"import":1,"int":[1,2],"long":1,"new":[1,2],"public":[0,1,2,3,4],"return":[1,2,3],"short":4,"static":[1,4],"super":2,"switch":1,"true":[1,2,3],A:[0,1,2,3,4],And:2,As:1,By:[1,2],FOR:[0,1,2,3],For:[1,4],If:[0,1,2,3,4],In:1,It:1,No:1,Not:2,Or:2,The:[1,2,4],To:1,Will:1,ab:1,abl:1,about:1,abov:1,absolut:1,acceler:1,accept:2,across:1,action:1,actual:1,ad:[1,2],adapt:1,add:[1,2],add_boundary_condit:1,add_data_funct:1,add_domain:1,add_initial_condit:1,add_paramet:1,add_point:1,add_product:1,add_react:1,add_speci:1,addit:[1,2],addition:[1,2],addtion:[1,2],adsab:1,advect:[0,1,2,3,4],against:[1,2],al:1,algorithm:[1,4],align:1,all:[1,2],allow:2,along:[0,1,2,3],alreadi:1,also:[1,2,4],alwai:[1,2],amount:1,an:[1,2,4],analysi:1,angular:1,ani:[0,1,2,3,4],anim:1,animation_attribut:1,animation_opt:1,annot:1,append:2,appli:1,approxim:1,ar:[1,2],argument:1,around:1,arrai:1,arraid:1,array_lik:1,articl:4,artifici:1,arxiv:1,asarrai:1,ascii:1,assembl:1,assign:[1,2],associ:1,assum:2,ast:2,astro:1,astronom:1,astrophys:1,attempt:1,attribut:1,author:4,auto_plai:1,automat:[1,2],autorang:1,avail:[1,2,4],averag:1,axi:1,background:1,balanced_tre:1,bare:2,base:[1,2,4],basic:1,bass:1,becaus:1,becom:1,been:1,befor:1,begin:1,behavior:[1,2],below:1,between:[1,2],bia:1,bin:1,binari:1,binboolopop:2,binop:2,biochem:1,bitand:2,bitor:2,bitxor:2,blacklist:2,blob:1,blue:1,bodi:1,bogu:1,bool:[1,2,3],boolop:2,both:4,bottom:1,bound:1,bound_cond:1,boundari:1,boundarycondit:0,boundaryconditionerror:1,box:1,boxsiz:1,bracket:1,branch:1,brian:4,broadcast:1,browser:1,brute:1,bugn:1,build:[1,2,4],build_dir:1,build_express:0,buildexpress:2,built:[1,2],bulk:1,bupu:1,bvf_phi:1,c0:1,c:[0,1,2,3],c_:1,calcul:1,calculate_vol:1,call:[1,2],can:[0,1,2,3,4],caus:[1,2],cdn:1,cell:1,charact:1,chart:1,check:[1,2],chemic:1,children:1,choos:1,chosen:1,circumradiu:1,ckdtree:1,ckdtree_nod:1,ckdtreenod:1,classmethod:[1,2],cleanup:0,cleanup_build_fil:1,cleanup_core_fil:1,cleanup_result_fil:1,cleanup_tempfil:1,clear:1,close:1,closest:1,closest_vertex:1,cloud:1,cluster:1,code:4,coeffic:1,coeffici:1,collabor:1,colormap:1,column:1,com:[1,4],combin:1,compact:1,compact_nod:1,compar:[1,2],comparison:2,compil:[1,2],compile_prep:1,compos:1,comput:1,conain:1,conatain:1,concentr:1,condit:[1,2],config:1,connect:1,connolli:1,consid:1,consol:2,constant:[1,2],construct:1,constructor:2,constuct:1,contact:4,contain:[1,2],content:4,context:2,contian:1,contigu:1,continu:4,convers:2,convert:[1,2,3],convert_str:2,convet:2,coo_matrix:1,coodin:1,coordin:1,copi:[0,1,2,3],copy_data:1,copy_numb:1,copyright:[0,1,2,3],core:[0,2,3,4],corner:1,correl:1,correspond:[1,2],corrupt:1,cosmolog:1,could:[1,2],count:1,count_neighbor:1,coupl:1,cppconvert:2,cppexpressiontransform:2,cpu:1,cradded:1,creat:[1,2],create_2d_domain:1,create_3d_domain:1,csv:1,cumul:1,current:[1,2],custom:1,cylind:4,d:1,data:[1,2],data_funct:1,datafunct:0,datafunctionerror:1,dd:1,debug:[1,2],debug_level:[1,2],debugg:2,decreas:1,default_rng:1,defer:1,defin:[1,2],definit:1,degener:1,delete_all_paramet:1,delete_all_react:1,delete_all_speci:1,delete_paramet:1,delete_react:1,delete_speci:1,deltai:1,deltax:1,deltaz:1,demo:4,densiti:1,depend:1,dependency_graph:1,deprec:1,describ:[1,4],descript:1,detail:[0,1,2,3],determinist:[0,1,2,3,4],determinst:1,develop:[0,1,2,3,4],diamet:1,dict:[1,2,3],dictionari:[1,2],differ:[1,2],diffus:[0,1,2,3,4],diffusion_coeffici:1,dimens:1,dimension:1,direct:1,directli:[1,4],directori:1,discuss:1,displai:1,dissip:4,distanc:1,distance_between_2_vertic:1,distance_matrix:1,distance_upper_bound:1,distribut:[0,1,2,3],div:2,doe:1,doesn:1,dok_matrix:1,dolfin:1,dom:1,domain:[0,4],domainerror:1,domn:1,doubl:1,download:1,dr:4,draw:1,drawert:4,drawn:1,dtype:1,dual:1,duplic:2,durat:1,dure:[1,2],dynam:4,e:1,each:1,edg:1,edit:1,edu:1,effect:1,effici:1,either:1,element:1,ellipsi:2,els:[1,3],embed:4,empti:2,end:1,engin:1,ensur:[1,2],enterpris:1,entir:1,entireti:1,ep:1,eq:2,equival:2,error:1,estim:1,et:1,euclidean:1,evalu:1,evaul:1,even:[0,1,2,3],evenli:1,exampl:1,exce:1,exceed:2,except:1,execut:[1,2],exist:1,expect:[1,2],expens:1,explor:1,export_stochss:1,export_to_csv:1,expres:2,express:[1,2],expressionconvert:2,expressionresult:2,extens:1,extra:1,f:1,f_durat:1,fail:2,fals:[1,2,3],far:2,faster:1,featur:4,fenic:1,field:1,fifo:1,figsiz:1,figur:1,figure_or_data:1,file:[1,3],filenam:[1,3],fill:[1,4],fill_with_particl:1,find:[1,4],find_boundary_point:1,find_h:1,finit:1,first:[1,2],fit:[0,1,2,3],fix:1,flag:[1,2],flatten:1,flight:2,floordiv:2,flow:4,fluid:[1,4],folder_nam:1,follow:[1,2],forc:1,form:[1,4],format:1,forward:2,found:[1,2,4],foundat:[0,1,2,3],frac:1,fraction:1,frame:[1,4],free:[0,1,2,3],frequenc:1,from:[1,2],fromkei:1,fund:4,further:1,furthest:1,g:1,gain:1,galaxi:1,gdbgui:2,gener:[0,1,2,3,4],geometr:1,geometri:0,geometry_ivar:1,geometryal:1,geometryerror:1,geometryexterior:1,geometryinterior:1,get:[1,2],get_all_paramet:1,get_all_react:1,get_all_speci:1,get_arrai:1,get_array_nam:1,get_bounding_box:1,get_domain_s:1,get_num_point:1,get_num_react:1,get_num_speci:1,get_num_voxel:1,get_paramet:1,get_point:1,get_properti:1,get_react:1,get_speci:1,get_str:2,get_timespan:1,get_type_def:1,get_vol:1,getexpr_:2,getexpr_cpp:2,getexpr_python:2,github:[1,4],give:1,given:[1,2],gmsh:1,gnbu:1,gnu:[0,1,2,3,4],gprof:2,grai:1,grant:4,granular:2,graph:1,graph_obj:1,graph_refer:1,graviti:[1,4],greater:1,greatest:1,green:1,grei:1,gt:2,gte:2,guarante:1,h:1,ha:[1,4],hand:2,handl:2,happen:2,harvard:1,hasn:[1,2],have:[0,1,2,3],hawkin:1,height:1,held:1,help:1,here:[1,4],high:1,higher:1,highest:1,hit:1,hope:[0,1,2,3],how:[1,2,4],http:[0,1,2,3,4],hybrid:4,hyperrectangl:1,i:1,id:1,idea:1,ideal:2,idempot:1,identifi:[1,2],idx:1,ignor:1,ii:1,imag:1,image_height:1,image_width:1,immobil:1,implemenet:1,implement:[1,2],impli:[0,1,2,3],import_meshio_object:1,imposs:2,inch:1,incid:1,includ:1,included_types_list:1,incompat:1,increas:1,increment:2,indec:1,indeci:1,index:[1,4],indic:[1,2],indici:1,inf:1,infer:2,infin:1,infinit:1,info:1,inform:[1,2,4],inherit:2,init_cond:1,init_notebook_mod:1,initailcondit:1,initi:1,initialcondit:0,initialconditionerror:1,inlin:1,innernod:1,input:1,insert:1,insid:1,instanc:[1,2],instead:1,integ:1,intend:4,intern:1,internet:1,interv:1,invalid:[1,2],invalid_:2,invalid_nam:2,invalid_oper:2,io:1,iplot:1,ipython:1,is_valid:2,issuecom:1,item:[1,2],iter:1,its:1,j:1,jacob:4,jet:1,job:1,journal:1,jpeg:1,js:1,json:1,jupyt:1,k:1,kd:1,kd_tree1:1,kd_tree2:1,kd_tree:1,kdtree:1,kei:[1,2],keyerror:1,keyword:1,kill:1,kth:1,kwarg:1,l_i:1,lack:1,lagrangian:4,landi:1,larg:1,larger:1,last:[1,2],later:[1,2],latest:4,layout:1,leafnod:1,leafsiz:1,learn:1,leav:1,left:2,legaci:1,len:1,length:1,less:1,level:[1,2],li:4,librari:1,licens:[0,1,2,3,4],lifo:1,like:1,limit:1,linearli:1,link:1,link_text:1,list:[1,2],listofparamet:1,listofreact:1,listofspeci:1,listoftyp:1,load:1,local:1,locat:1,logic:2,longer:1,look:1,lookup:1,loos:1,lower:1,lowest:1,lshift:2,lt:2,lte:2,ly:1,m:1,mai:1,main:4,make:1,manag:2,maneewongvatana:1,manhattan:1,mani:[1,2],map:[1,2],map_oper:2,margin:1,mark:1,markers:1,mass:1,master:1,mathemat:[1,2],matmult:2,matplotlib:1,matrix:1,matter:1,max:1,max_dist:1,maximum:[1,2],mean:1,measur:1,median:1,meet:1,megabyt:1,merchant:[0,1,2,3],mesh:1,mesh_obj:1,meshio:1,messag:1,meta:1,method:[1,2],mgrid:1,midpoint:1,min:1,mine:1,minim:1,minimum:1,minkowski:1,miss:1,mod:2,model:[0,2,3,4],modelerror:1,modelname_mesh:1,modelname_species_:1,modifi:[0,1,2,3],modul:4,monthli:1,moor:1,more:[0,1,2,3,4],most:[1,2],mount:1,move:1,move_to_end:1,movement:1,msh:1,much:1,mult:2,multi:1,multipl:[1,2],must:1,n:1,n_i:1,naiv:1,name:[1,2],nameconst:2,namespac:[1,2],ndarrai:1,ndarri:1,nearbi:1,nearby_point:1,nearer:1,nearest:1,necessari:1,need:[1,4],neg:1,neighbor:1,neighbour:1,nih:4,node:[1,2],nodetransform:2,nodevisitor:2,non:1,none:[1,2,3],nonneg:1,norm:1,notat:1,note:[1,2],notebook:[1,4],noteq:2,notic:1,np:1,nsm:4,nu:1,num:2,num_step:1,number:[1,2],number_of_thread:[1,2],number_of_trajectori:[1,2],numpi:1,numpoint:1,nx:1,ny:1,nz:1,o:1,obj:1,object:[1,2],occur:1,od:1,off:1,offlin:1,og:1,omit:1,on_boundari:1,one:[1,2],onli:[1,2],onlin:1,open:1,oper:[1,2],operator_map:2,optim:1,option:1,orang:1,order:1,ordereddict:1,org:[0,1,2,3],origin:2,orrd:1,other:[1,2],otherwis:[1,2],our:[1,4],out:[1,4],outdat:1,output:[1,2],output_interv:1,output_typ:1,outsid:1,over:1,overflow:1,overrid:2,overridden:1,p0:1,p:1,p_ndx:1,packag:4,page:[1,4],pair:1,parallel:1,param:1,param_nam:1,param_obj:1,paramet:[0,2,3],parametererror:1,paramt:1,parent:1,pars:2,parse_comparison:2,parse_log:2,parse_oper:2,part:1,partcil:1,particip:1,particl:[1,4],particular:[0,1,2,3],pass:[1,2],path:[1,3],pdf:1,peculiar:1,per:1,perform:1,petzold:4,ph:1,physic:4,pii:4,pixel:1,place:1,placeinitialcondit:1,platform:1,pleas:[1,4],plot:1,plot_imag:1,plot_properti:1,plot_speci:1,plot_typ:1,plotli:1,plotly3:1,plt:1,pname:1,png:1,point:1,points1:1,points2:1,pop:[1,2],popitem:1,popul:1,posit:1,positon:1,pow:2,pre:2,predict:1,preper:1,present:[1,2],pressur:1,print:[1,2],problem:[0,1,2,3,4],process:[1,2],processor:1,produc:1,product:1,profil:[1,2],program:[0,1,2,3],project:4,propens:1,propensity_funct:1,properli:1,properti:[1,2],property_nam:1,proprti:1,protect:1,prove:4,provid:[1,2,4],prune:1,publish:[0,1,2,3],pubu:1,pubugn:1,pull:1,purd:1,purpl:1,purpos:[0,1,2,3],put:1,px:1,py:1,pypi:4,pyplot:1,python:[0,1,2,3,4],pythonconvert:2,pyurdm:4,quantifi:1,queri:1,query_ball_point:1,query_ball_tre:1,query_pair:1,question:4,quick:1,r:1,radii:1,radiu:1,rais:[1,2],random:[1,2],randomli:1,rang:1,rapidli:1,rate:1,rather:1,ratio:1,ravel:1,raw:1,rdme:4,rdpu:1,re:1,reac:1,reach:1,react_nam:1,react_obj:1,reactant:1,reaction:[0,2,3,4],reactionerror:1,read:1,read_fil:1,read_msh_fil:1,read_step:1,read_stochss_domain:1,read_stochss_subdomain_fil:1,read_xml_mesh:1,reader:1,real:1,receiv:[0,1,2,3],recent:[1,2],record:1,red:1,redistribut:[0,1,2,3],redshift:1,refer:1,referenc:1,regardless:1,region:1,regist:4,registr:4,reject:2,rememb:1,remov:1,replac:4,repres:1,represent:[1,2],request:1,requir:1,reserved_nam:1,resolut:1,restrict:1,restrict_to:1,result:[0,2],result_dir:1,resulterror:1,retreiv:1,retriev:1,return_length:1,return_plotly_figur:1,return_sort:1,return_stochss_model:[1,3],rho0:1,rho:1,right:[1,2],rname:1,rng:1,robust:1,royal:1,rshift:2,rtype:2,rule:1,run:[1,2],rvalu:2,s0021999118307101:4,s:[1,4],same:1,sampl:1,sanit:2,sanitized_data_function_nam:1,sanitized_parameter_nam:1,sanitized_species_nam:1,save:1,scalar:1,scale:1,scatter:1,scatterinitialcondit:1,schedul:1,scheme:1,scienc:[1,4],sciencedirect:4,scipi:1,sdm:1,sdpd:[1,4],search:[1,4],second:[1,2],section:1,see:[0,1,2,3,4],seed:[1,2],self:[1,2],sens:1,sep:1,separ:1,sequenc:1,seri:[1,2],set:[1,2],set_diffusion_coeffici:1,set_filenam:1,set_properti:1,set_timestep:1,setdefault:1,setter:1,shall:1,shallow:1,shape:1,sheth:1,should:[0,1,2,3],show:1,show_link:1,shrink:1,signal:1,significantli:1,similar:1,simlat:1,simplifi:1,simul:[0,1,2,3,4],simulationerror:[1,2],simulationtimeout:[1,2],sinc:1,singl:[1,2],size:1,skibba:1,sky:1,slide:1,slightli:1,small:1,smaller:1,smdl:1,smooth:4,sname:1,so:[1,2],societi:1,softwar:[0,1,2,3,4],solver:[0,1,4],some:1,sort:1,sound:1,sourc:[1,2,3,4],space:1,spactialpi:2,span:1,spars:1,sparse_distance_matrix:1,spatial:[0,1,2,3,4],spatialpy_build:1,spatialpy_model:1,spatialpy_result:1,spatialpyerror:0,spatialpysolv:1,speci:0,special_charact:1,species_nam:1,species_object:1,specieserror:1,specif:1,specifi:1,speed:1,split:1,split_dim:1,squeez:1,src:1,ssa:1,sssa:4,start:[1,2,4],statement:2,statist:1,step:1,step_num:1,stochast:[0,1,2,3,4],stochss:[0,1,4],stochss_export:0,stoichiometr:1,stoichiometri:1,str:[1,2,3],string:[1,2],struct:2,structur:1,style:1,sub:2,subclass:[1,2],subdomain:1,submodul:0,subpackag:4,substanti:1,substitut:2,success:1,suggest:4,sum:1,suppli:1,support:[1,4],sure:1,survei:1,svg:1,symbol:2,syntax:2,syntaxerror:2,system:[1,4],szalai:1,t:[1,2],t_durat:1,t_ndx:1,t_ndx_list:1,t_val:1,tag:1,take:1,target:[1,2],tempfil:1,term:[0,1,2,3],tetrahedron:1,text:1,th:1,than:1,them:1,thi:[0,1,2,3,4],thin:1,those:1,though:1,thread:[1,2],time:[1,2],time_span:1,timeout:[1,2],timepoint:1,timespan:1,timestep:1,timestep_s:1,titl:1,toarrai:1,token:2,topolog:1,toroid:1,total:1,toth:1,trace:1,tracker:4,trajectori:[1,2],transit:1,travers:1,tree:[1,2],triangl:1,trigger:2,tspan:1,tupl:1,two:[1,2],txt:1,type:[1,2,3],type_id:1,u0:1,unabl:1,unaryop:2,under:[0,1,2,3,4],uniform:1,uniforminitialcondit:1,union:1,univers:[1,2],unless:1,unnecessari:1,unsqueez:1,unweight:1,up:1,updat:1,update_namespac:1,upload:1,upon:1,upper:1,urdm:1,us:[0,1,2,3,4],use_matplotlib:1,user:[1,4],usual:1,usub:2,util:1,v1:1,v:1,valid:[1,2],validationvisitor:2,valu:[1,2],valueerror:1,vari:1,varianc:1,veloc:1,verbos:2,version:[0,1,2,3,4],vertex:1,vertic:1,view:1,viewer:1,viscos:1,visit:2,visit_add:2,visit_and:2,visit_assign:2,visit_binop:2,visit_boolop:2,visit_byt:2,visit_cal:2,visit_compar:2,visit_const:2,visit_div:2,visit_ellipsi:2,visit_eq:2,visit_gt:2,visit_lt:2,visit_mult:2,visit_nam:2,visit_nameconst:2,visit_noteq:2,visit_num:2,visit_or:2,visit_pow:2,visit_str:2,visit_sub:2,visit_unaryop:2,visit_usub:2,visitor:2,vol:1,volum:1,voxel:1,vtk:1,vtkreader:0,vtkreadererror:1,vtkreaderioerror:1,wa:1,want:1,warranti:[0,1,2,3],we:[1,4],web:1,webp:1,weight:1,weir:4,well:2,were:[1,2],what:2,when:[1,2],where:1,whether:[1,2,3],which:[1,2],whose:1,wide:1,width:1,with_blacklist:2,with_namespac:2,within:1,without:[0,1,2,3],work:1,worker:1,wp:1,wrap:1,write:1,write_imag:1,written:1,www:[0,1,2,3,4],x1:1,x2:1,x:1,x_i:1,xaxi:1,xi:1,xk:1,xlim:1,xmax:1,xmin:1,xml:1,y:1,yaxi:1,yet:1,yi:4,ylgn:1,ylgnbu:1,ylim:1,ylorbr:1,ylorrd:1,ymax:1,ymin:1,you:[0,1,2,3,4],your:[1,4],z:1,zero:1,zeroth:1,zlim:1,zmax:1,zmin:1},titles:["spatialpy package","spatialpy.core package","spatialpy.solvers package","spatialpy.stochss package","Documentation for SpatialPy 1.0"],titleterms:{"0":4,"1":4,api:4,boundarycondit:1,build_express:2,cleanup:1,content:[0,1,2,3],copi:4,core:1,datafunct:1,document:4,domain:1,exampl:4,geometri:1,get:4,indic:4,initialcondit:1,issu:4,model:1,modul:[0,1,2,3],packag:[0,1,2,3],paramet:1,reaction:1,refer:4,report:4,result:1,solver:2,spatialpi:[0,1,2,3,4],spatialpyerror:1,speci:1,stochss:3,stochss_export:3,submodul:[1,2,3],subpackag:0,tabl:4,vtkreader:1}}) \ No newline at end of file From a60534dd22bfbfdd46171e4694b8f96ee8177b1f Mon Sep 17 00:00:00 2001 From: seanebum Date: Mon, 7 Mar 2022 14:06:12 -0500 Subject: [PATCH 24/25] update to domain docs --- docs/build/html/.buildinfo | 2 +- .../.doctrees/classes/spatialpy.core.doctree | Bin 1448363 -> 1306308 bytes .../html/.doctrees/classes/spatialpy.doctree | Bin 5949 -> 5787 bytes .../classes/spatialpy.solvers.doctree | Bin 234343 -> 225723 bytes .../classes/spatialpy.stochss.doctree | Bin 16109 -> 15653 bytes docs/build/html/.doctrees/environment.pickle | Bin 452629 -> 451550 bytes docs/build/html/.doctrees/index.doctree | Bin 16082 -> 15839 bytes docs/build/html/_modules/collections.html | 435 ++----- docs/build/html/_modules/index.html | 2 +- .../html/_modules/plotly/offline/offline.html | 2 +- .../html/_modules/scipy/spatial/kdtree.html | 1071 +++++++++-------- .../spatialpy/core/boundarycondition.html | 2 +- .../html/_modules/spatialpy/core/cleanup.html | 2 +- .../_modules/spatialpy/core/datafunction.html | 2 +- .../html/_modules/spatialpy/core/domain.html | 8 +- .../_modules/spatialpy/core/geometry.html | 2 +- .../spatialpy/core/initialcondition.html | 2 +- .../html/_modules/spatialpy/core/model.html | 2 +- .../_modules/spatialpy/core/parameter.html | 2 +- .../_modules/spatialpy/core/reaction.html | 2 +- .../html/_modules/spatialpy/core/result.html | 2 +- .../spatialpy/core/spatialpyerror.html | 2 +- .../html/_modules/spatialpy/core/species.html | 2 +- .../_modules/spatialpy/core/vtkreader.html | 2 +- .../spatialpy/solvers/build_expression.html | 2 +- .../_modules/spatialpy/solvers/solver.html | 2 +- .../spatialpy/stochss/stochss_export.html | 2 +- docs/build/html/_static/basic.css | 6 +- docs/build/html/_static/doctools.js | 5 +- docs/build/html/_static/language_data.js | 2 +- docs/build/html/_static/pygments.css | 8 +- docs/build/html/_static/searchtools.js | 23 +- docs/build/html/classes/spatialpy.core.html | 834 ++++--------- docs/build/html/classes/spatialpy.html | 17 +- .../build/html/classes/spatialpy.solvers.html | 51 +- .../build/html/classes/spatialpy.stochss.html | 21 +- docs/build/html/genindex.html | 58 +- docs/build/html/index.html | 29 +- docs/build/html/objects.inv | Bin 2612 -> 2537 bytes docs/build/html/py-modindex.html | 2 +- docs/build/html/search.html | 7 +- docs/build/html/searchindex.js | 2 +- spatialpy/core/domain.py | 6 +- 43 files changed, 1022 insertions(+), 1599 deletions(-) diff --git a/docs/build/html/.buildinfo b/docs/build/html/.buildinfo index 8940d805..ab4bd335 100644 --- a/docs/build/html/.buildinfo +++ b/docs/build/html/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: dbb3a5f1ac404bdea5afd00c4aced27b +config: 9eb3e1c2ecc65d7c728e939f73f722a8 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/build/html/.doctrees/classes/spatialpy.core.doctree b/docs/build/html/.doctrees/classes/spatialpy.core.doctree index 426c00af159c036612e9d66115d5137a0a593398..3c9dfe513734edd881daf28356edbdbb34ce9d4a 100644 GIT binary patch literal 1306308 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 Lj7b*@ab5opMwD*n literal 1448363 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 Njxjcp$o1K_{|j5>{yP8w diff --git a/docs/build/html/.doctrees/classes/spatialpy.doctree b/docs/build/html/.doctrees/classes/spatialpy.doctree index fab5a45253df17d87c84adbfb0ec084e793b98c9..9c5f3485497d2593094e052efbaa563163a1a9f3 100644 GIT binary patch delta 1302 zcmb7^&ubGw6vsPhHX*SlG;Py@T@5O2O--T}6$B#|y%@TP^;D>^NvCiQ8 zD@QBRPY;mF?|TCTx?$LvNP(`=l%=VR0X@f;$S9HdYm!Nyg(HxH9WMoB#m=g5^pO~Y z*sOr#cuwLO!80~1Y=}b`-A~utVH{*0_oSnp{rO`Lmu|u>xXq*8upEa;7@Af9QLd+@ z64^VQw$WxCtQkg�T%O{hIO1dtHvh3hM7(aHiTu@^auRk*jOc6EgW6-PZm;4UPlu zpca-hq#n=Cf~bD+m&mnuXnK1fZFqx2llCY*2zWipXEc2}xKf~1>C}pFVUwI^{7z4y zdZ8ysg6j=Ue&evV{JkBORxTW$N#|{|AmE2f=Qq?|$6BL~C!G{eMP1$fa(^|H_rO!9 zrImB+=}z6DGtG3HxQ#*C32XYCy+{)|y~t>hS%TJdxDkqu?9W*y+~k(O4-Mt&sP8=&9vqqkO_r=m}Ge-rCV_&MH;VnXjs)N1f2^r^8krVu5WOZ;D z7&EL(sT9-oMJrjLY(A-*c|Oy3ksFaXuk^j*>HY*S^*>zRhAq%w0XAX7b^=9Jqio5* zRdc7et$?P$reZ_P{oKN}TEItQ15qzS!0|EF%u^<~s81Vw;KwJW@otnG3tKPPkqQ>} oSFB?83p1pvud6fTfd=E%KLZn_KR8Eox`}<%i$ZamWoMIr0o$O$x&QzG delta 1456 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 literal 234343 zcmeFa37i~9bw6&|I#<381~aVPmMrhemR8sX4Dy9!%SKq1gd`g~#K^O|vzjUI&a7u< zB`@Ky^W!oM1mcB20tpcAB;-#Hzz`A$2{!>lY)tqOz&SX=Vc^G2!vDQjM^{x>RafuK ztag+5^O3iwyN*}ys_%PMU46%jS3cpGWyj!uos(MA)mr`bk@EO>y)j;C&2?6fH^yeB zD)si<-E$l7oO|}%aA!@ke5BQwX^vIqI>$hXv1)B{yjiKw-8|Ph5sSBLldTa^e^sk8 z)~+?`s(N)rb!Bzc&2z)mHJughT6?mhJ?fm%nl86%<;m&Ukyc~!aHZKwrpsfumJe0t zuoBc+exPzY5)&%={5hf&x;m}1a=Hw(wdbm*bk-bHgQ*_ZSt-V_yR&?oGsUzGgGa~?3SwpgIinn^Re%p-2!yBwummb zWLPrNY{7WWy!P0c(dt?*6v@@<$?|t+VE@eMRAYQ*5@;pfoo?Jpd2}HV_!v&$?&_Jy zhU!@`_UhTd@AdF+1N<9;e;Z+3)$?gQn|bl-CZJ-4UZFG4N_#EK>egMYv4NC1vN3x| z!`hh6%kpA$2DI>6{4jTO$#kr18q(%4B02Ji>@n*QGaW~Gv}8WZg!Fq>>mW*alfSh)_WFb?X$Cyb=lPRjN1Euc_f zTD6JU0k|;(X5CEM)k=cO)Iz1kAJ^=@KDlPc?j8HK?Mn7uzkS!vD--y)WB2|Y$qk?l zsEHRP<<`LT%;;pTRjrICqq9`;YNTVopd-1u0qv9GD*ai4l&6aHY!Jq86jG$>GjRrT z%J7G_3{z2!C$&1UvkJxs7v(kz??`QOG8wHTGp)+R%;cs4Kmp0qb{=^0p6d@J+jifS zJZ;;)ecN^)xakro30?%Ag8A}xYE#pbHINc$N3&dS&!Qi>ZpXeWpA6--` z1$|W+L6`I*|0Bnq>d{L;A?_-!M{AsV^un9K*jpg)$?>FGK3oB#AFI?3gS5-Z7&v*u zrYrSIvpkvXMY|nKcGboz^;Tt|JlTK=4YdYjn>rQ{_s)r=-e_-1S|IjItL^sm)-79( z962&_s6I2&Xdc=EtzZkSEthlI4p&d_)E11OImOb2>=dN%JG$_2atB;p0T>S{!3F-)35xR4qk;H^^ije56!6x>+}g3zjS*>=RoJ5qE!Oko8&z#X-Q^Hhj%i|);ovb4Ji?QMtr`SQ?U|+_>MN{1hDRqM+Jd>UecA3ty|O8x zFbqP)ium0s*K6(CGb@)}U7l=JHj*|BL+>Y1ALTk&9Zj4XA)O1Ke(Cx)M3-BWA!5?d z<(raAB~1r`5o0j*t0KwJ<(ETLM4{~IofT9gl|Jdy1G+vz=W2kwF}?3)iBwp)QaVJf zJgB!~YGr5Hk-4%RpnVmz=Yg3~zp8cC+&(qAmBs_%JH}0w=HUtjclSfx&++~`bBh7s zXO#;hRN&?DT#%5cz$jbu3hN^@R`NQktSOCO`lT`4SqsX$85l}5bxuGMNiXPkMHf`{ zC)J;#$^SfMc=cx#eZ$z+(AeyOon+a797N{6K`=WJayucKS0l}w;MLf#msWN>wxskU zCHGV!7vrxfjG53Xb%Bf&vsGbI(pprrdXp!bO{yxyar7VuZRV{}H6+`#J0`<61sT>^ zR?nCmJC8WS&V@guoTm^+kPeLQ%I!u|r+(RGk_Nak`@Srv??$%oON_qPbXL~tl+V&k zVmbOq*(d*DcDp;=EwFW>JTuuoc(^<{Q!z>CoYtC|o^CYT2U}C+X8X382IkK00^Mf2 zbjtkhNSFdUhZj%a&&(*>0Dt7v*EtczNe+wLJC`>*UoWyo6_Eqg?wF&kVn>vabLG3( z#qij6s#3z^@C=B%RPQ+;&corJp6u#L$W!!mo!(Qf9G@5N?dtG>dAY%N*N1;U4E9JWfbK;pG=U z6A88F0Z=8rb^ris@@d4Lu{f4kf~RB6w3&OgZ0m92<0 zB4p^HW^H_qoeYE$Scj}4EEv#K46#%OARzQ%_Zg$&oFbw zEDiXKHR^4BRYooV3~O1eGq#r@bljS3g}f^Dv-K8E@-5s3A!1o2iloy}daGJuKekj7 zao2REJ`Taf!P|k!`mA=UryB_0R!!Cb7nCQp;_SF%L5Xll=k(4>!AR2_R$&3JmxiP_ z5zskydKN+K>}JkMLl`L571&IPErUP$LWNwKkSiNXP1wJp(xC2*H>S$9`W!nIs&-bP zGR{teMhlU3*1{cFb$|%H)}FhI3PAd&4wq|y-$D!6cd<1fj|)Jkq^{X=@JQ>gkllle z7I>o~l1hYv3shW)W7!b$ophJ|P-qdTZ<=C#>$b76%5)o&^7TYpyb;O&b|V3-QG?`W z1(T|fXsN?uV0&a>+vH^92;^fS^94A2^TZ^j*juypcKLQHsbGL?0FtS#O#|gta-;(J zJ@_ly!Zn7`O8ZC!a(H4{0DHRf{PQ(>(v;egp;uWEdkk0o5&YvdBt0k*vRm8==+vf% z_K+_oy_hQ3%ZE_9*>r!3B1( z1ZWrtgEI9Te%_biV)5Zb%I9 zwKiGx$`aIAyaH%f!8rV5rfv2;Z5=dsq1sO<8z}_8PF-z9X)L~Vo z*(y)2OH$<)8VgPslyPPZGBKM5V9g#>7wg<&rPS8r8qGmf`<4U}TGhrlpH^_84c3F} zuvefdCjjo&w<0o3JKdU~2YEVlnC6FH>lyxocf3|H;K4gy*BuL>F~tOIObtXDu7?d8 z`k(XAc~r$T2fFs_re7`{zOf7xUmhK_&k@h);E1 z!aR6wF9)0|X-}I4jk77wQ`Zvv0&ya&En-eYZHb%{KOE6&{+u|otv;J%)CmC>P9PY6 z;GQ+57|E@bS-wjJwj3Qg1W`menSgyCP*4OZFddBy@YyJ>wlx_CWya|U!;)D(CxOV1 zQtwJR*h$BM8kX1z_(${XL0M65LE!h37uW@zU4&2x(9gt5kuK<3=|B*ZKdlPb17r-D z4%7&6GO)E4HXycPb8;$NewB>Fb_5>rA_PJ;;3+=S>!ewA;dIg)N-8wXJ-*OLh0nPV zD*1g5KGmfR3V21gLsUd}-xR2lO<}%o*+L@@>Z`=ts0NX~r4-R>zHfOy`WBu(AO`{% z7B&l_M=|^fM0&XGtvu6)Y$xn)MTCus2SAFLaN~&x(8GbTMiVv)Ok*+w6fJE7x|pf7 zB*0AXqtAgT5|V3>z{fE0;CTZ5@I(jpR2i4vN-F-=WVF$kl-O)Zk3lIXJA|rVVio)| zA3ygn!_UocM^N>nojn%P9l3#LSixJ|P;1p7G)f9?4!SCTiNoH%k?qvnE~GG}3L!sb z!ph<5z4AuqsktK>RthQh1*woIxKHQ{s*7Il31Tm@w4nMm)t7${5PP{*%knwjvDd4s zUj?1Pu0lRX?m>Y~KkRv`gU(wP(%@FSojyt#+;yqBcz>50E z!##yo)J0FmihAy5h%bcuo5y-OC&P~mq&A!b5(k_5bIu=Ac%}mq@-=s|s3KB%y*bi{ z!b1#ghxj%pE_Nr&e}#Jr2~YG?OnApH4^5VA9>U{fbSFFsQ~0h@m+(?VoddBqga;TB z-PusJfZbgb?kOZX(UT#%h@C9k!adGIc$|=e!pkqtce1$M_WhdM7Re&tYmu~FpsTGa zowIYH%$&JJ0rv~=Eh`%N_O2E7TrgX{afN*Y#>2h||1%~q_8qtrwO56G4;#QOHS8h$ zUlp~G?@|$y9qkXeQ#cAx&>uiCIW=<*>bq0U&F)Tt_v=P>!?vLVkY#T{T70U~jNYo! zwseji11TEWd*>`|bBebYwo{ksyrJx8+Z%X zR0LzM%1fYXk-aKxJ>+M+ggxtq<&VP)=-H zxeYHNUW1%Qx{USYZJ36ky+*iT>QD@Pe~gyzNv=7SHyCb}tYF6eX|M%)jtt>B3YduP+6jWap8M%9+8sohb! zMX}NYg?J&-gZ~JXC_Q*=GHf|de57Ya4Bst=c}(YIxviiwH4U#~*IF7c;H@GUuq2%S zFlqjt)kn}6*mtmWiG7P`_7~NCFZb?_U4gW1kY-OEC$R5B+q8+W1v`FVC24H#MJ{iw zTyBXe4ldi6!$3%`IyXSrjD~U#cPofup05CK$8OD!x43sLv3qm)iG%$NXZ@$BDEln@ zk+XP4;V)E?QZkGdLJGf)7EjPQr%%MFJ0oTSArl$H;1BW6se*;wVXg)s5 z(R}t@jRkmC2_F8zaS8vSL`AlFxz%ErLZRoE5QYAtx}LM;P}sHm)uZQ6g5qp7{4Yl*~xsUt+ZwrcfySi-xXf{<={3ru;@^Icw;i$i-i=iyaq3A zKeZRl!Am?Tjn*Pfh7o~9nkVIEHjJKz(P?d^z>2d+yt~a#(6R}g<4xlDbZFjGT25Z# zn?WxTncn|5)kx>hm&PKA!CE*o3|CBy^@x*gb`!QR-@bI088+X)T#gMXU_w7k2^_Q1 z^!%nB2NxQCN$v!87C%hAS35mZA8XHKUg2N1RgwT#X8$J#`|m89Hs5PSXL2G|DKXJ~ z)I!}^!CtEFg*x7W$xnD=r9HwefQv-WX9*+>C%S2+%;8=TCPX{bO`q#{5Tjmp%0w+j zhi3F*zW0PFCH=i8kuBueqY~Q;)Y&Pn2o>;86V}qpPje<9SzIK5Q^RIIK^rGKS=a<{ z{zAEF%VrV~wN+$;)3Ic-!C!^3^)wqy=|ai|kE1|EHkh-JGBgh&Hz|jfmkpL%5GK&D zAwx!cu2b#Su`HmWb0do@n_x|}hZ38PHVYgL=ERn$rziGLiP3`B&u-8i?(q)Y=NDnE z%#i&iRvHvmcP;n?SBC6XnE~iL5hs>pIMoXg^3!cRTn#tk4{^6S1gEw&reMosvTgqX zXB3n>XZ>!WA&GGRRZz(j?&G6E(U0!mMbNL`QtC|@=TEKH%^B9p_sSI49}~6yqS@IY zKE?GeXj_kjCh@mgXF#7tiwPyBSeA)|Y>xRNAxF94ZR9lQd@fXr2k&?_SBwYmc#WwV zijAFftU4Z5;uPzW^v_J(kCfQmIgCbji0B24A~Je;E)~tU7BaHdjSy@sZKtFe;` zeG8h?hvnA`Bv*uh+@!%=Byx!gEGw5~^rK<86%>AxsKGr05; z`zbLkJT@T;99xe?v6hR1e3eA2#yvG+63H2><{^^Pu~NK9bf1E5#*vi)>FA|Q8b_jO z)ZGdDJ78{nCei3W%B`FSWZ5Xwa)YD~L;2;TX(D3_=|j*lFp*f0^R!GXge!d?B4N;C ziLI2JA-FRu4s#B#5-|AXR1azf3~DjA3|u^%ts3T%xs5t-`JLy-UnC6f0%rJrDBn52Wc?6 zeFanvIVu^hij9RYjVvyr+f;U}gESt6=yr1<)%S08N{5mOZf9UhkNg(FE$1Lb zS4WVUF~RKyZ?sClfZFEk(#*M0{odE#1pq)#yp{AjM~t-%OhxMrTb z*X}6ICj7f{wb^!1tz}eu98?N9R2_yE-MFzD+ScLchhgx}s8%s76V=-M@x z3Q;ZbF%Zk3>&zQ*-PX}B+@-B*NWiedIZjgZD`=>;5Hk40g`uVUcFJvCyo>FFZFlMZzX zE5(aMb143hRx4yu`21)JbyvblP^~~jt92jcQSOB1bA(LF@SOZ|GN47S7E*?wSC9d% zoSr2X30D#Ut;ADG$c})P80-vaSq1$tK4%kn^q^_!P)%)O8EaY#8%{cvtUVFKa z&uQ!;e0^**hUeVy#;;2G2RQJ)Zv9W;Y3ETpH_`5u_YbJrv(UMzoB?k zIE4LIs2XxjRtWpm$l@Y|O@+t4f;1k55H@;&R>;e{K%0&w6T^NC#@448_QW+H9}&ZH z7E&Db3FKx>4C`NU<>R%2*x2IA(AlGbK!{==g@1q`Idhn{ZXrgBVwctet+Hlf|0Bd` z7i58UOA*#e)U^pK4GOEv4`a0jT0T;D97{7q4+7b%3JpmFvQL6aoDreY$kLjK zlqsLd^jk{33HIJ(wI0-M8Oq*3)cT9+__Jsz`*dhq2cDk40ewuKB_2hl>nPisXY>DPANeiF_Hik3G|Y zErFS$rVn}`np)klusT#L5ZGpji1IT32%Us5B;prbzrQ!XoD6S~&xO<@=qF@&E2nJ< zQo@x)cq^fn61yY3B{m1bTYS#L+qDBSyrrxDgtx!OR~4^>vzmIpG`pvVOS4E}7oqKi zv7s$-!W-BQr0kOGvidF45YGVt`aOAMP@AYmI`3Li%d%Wx3lP#?qBvAIq`erbhTM@A z(q0r?-Ux22xIStN}ezlAL(;TZWy~7@g?`kJcvziD5a(l_K&TWgBmSE z*tZj<{-Qe4EE>YT6WZ3nWetD3LRiJFObBap%NN2r%AIS4qp%u_Tnq%T>#Q0>E){~^ z!WN%{2$MkZ%X65lg|BD`k)ZflRJ3Q|>({Me`E^1IU;h;=#oO(bnf=8{Z9<*RjbC%8 zZ?VC51n_*_BefQMVn{t6H#a2rq%CDZot`uY^U6<)u#vRmMaT->N*OJu1`B#V2GD?Kx1kaDAPxox>L%`SqF?8B{lz$rnqC#j@2G8f@ zmy^LWvb2yU1ih3Do+VI_peS5P1kV!IDG57*XX0-lc*f^Eczy;9jIRyTReyr#n?*F( zn1XNER(c;l@9Sm!%!%wGgnnFfEFt*ejiOI5_$C8s>#k{#M?juB-Z33UWGvlMjdcEE zX~oh~cnc6tzf3Wya5(*9s2XxmRyh5F$l@ZLPNm15k2D^IaC%EY6YxjW>0mMubsYxR zr-=G5kmDkv<~*dpZW`Gc6HyQOBWkXpR!|*XUKu<4TcoALJ}5|%Q;2Eru0`UdYSAQt z52O<4e`tMQ5#Gws`g2%mP*`4mXnlzmT65KKN7wvW4+89O6&jQXu>Tz@c>-*Fq)#}x z0rpx7u%)BsF}86}={O%36i*%5=4K7iuNqn-U>3) zmDH~pTCjaFR*JXeUau8jTZCp3#gm~%2v%sKz_ImM6a^#OT9M&N=Q@Fv;zeS(6@PGR z6f?cgbE2u#T?%^`R4WkQ8U*MeuGhCb6FSHdHL1jr{BknHMcx)tiJ)(gA+DUTB|ZsP z5+Sa{SxVH75SLgS2yyW_4{_gxSG4_^uKE+=iuK{$<*7czx4m2+Mhd$KZll+Si4)$) zRxAc{V#H=K9_-RB(+EES0`zpm-e>?ODkBQfN+BOutTOA?u5=QoP;vW)YT~K~LIJ7Syx# z;omR9M$(SoBRPiIE!KyT-96Thf>HEe6&arN?)PA&cr7tKp2Iy(5Y!87qU z5Io~^9y~8UQ3lU+)t}&5tPfvbhmXwn7Q02W9c(gBTH<3SaE6r!s*8ge*y*jW{6DX|Gb zlAJ<bGEch0Pv@`3&9(5`)yT>4mB@lgA4y(0b8%-k; zM9)yso(0=qh30f6^=pO}Y=0Rm#anW(*N4Afgk}=OcZq4?v5CkQ$JS#}6pU<7I%ysv zIUXy;izMS}9L@=B&nRYkpL3$A)LjaDAF#JTd}|O8Dfk0Zfp{gttHQmeNc@bcP~=bx`XY_*%U`k|45 zePwvJtp(5b&(_=J+jlgZjV8VdH%5(8JE}UbgD=O`rluS4UBc1H^s^jCn+#|@Be z68nf?pqv7N=#Jw1rQmBwH$I%|M*m~^FBRdVjO8D|N`u1w^JDqPDu)T5xokHnkl#Do zu7Vch&{gvVSu}~@G*>$X4G<;tLZR-&GZ(+bZd`D-7;h*?YlVVaP ze7AYz3*Q~(&d%2d#lKEOVek-kFD4Srz9CX#-z4#eB_ZNOv;Z62T20EctnZ_uJqy{N zR7i2eo3WQ+rFetg?wn3G;mmQkJXsqbNyN9LlHHAZMct-vaV8Vx+NAj8G$=qXno1?# zi`GCjo?3*5ltS1IHA0q$_90XQdEH~xD40TM6d9iM>62I~UPT7Ly(P~g`IDC$b~r>3 zzr*uAFPb{tov}wjwF0RF>Nv`u-2n}g(?1TzV|_6epXGRc802!a0;}flS~dM%rJGUm zo(l{!-w8gO*x@Hv({xms9&7qaj#%ZyDSs*tKy&+tqIrwN3K#g-SSen=_v?sx^X6nH zd|46zcy^i^Ys^gIkr8c$UYhO7IHDOFl}kvI{fw`<7jUiCwPb{G&*a7z3vojro%>02 zeksQ*W#_oc?PGIPzFlrY=sd^11dT`OiU%D~SxGj9Zl@IZ}M&sRJ2Ee9m)xk3I#i=nWOR>Q9bu zmrUnOQ^+yDQy9`T-?lE&e4K(VGJP9;nGZ2G6=*q=eJ7fnkiNyft;~a*?c+d3x)qu} zBQoW8foi1lhl@JpCnc2KC!ca)CMl<~GgqY{YpO;E{`d&5Wi6yyjs3+3KE zV6_)iV3~V+AJOM8sw3v2xwpT8wspY#O#Dq-XRO?tVp1meX7k7gsvYId%F_lV-A-;% za1VA5L0n16l{e(DR)fN*`;k!irBt+MdAFZJbGj1xH9-qHe}t9dO?8LQo6jrt)}z)^ z>G!BX(2+H#7GNgn$V#XYf;XCuAk%xSBLx$1Lq&!s-TFCLDPC9RpMbkGnmXO5vCjcp zyGg)#o!S#fwBWED2{?SFTb;x8Lq%5tZl6`tZ?D~qGMj+Q8D_pWd>paEPp+ovs4_j) zbeVAz>ud6-aso8L&qniB^M!}8QoMe95^&aB70SM4oTeJizugUON5P2~6A?bBfKPSXgK{$e)}0iTGWDoEm{4q5^UdsqIRenk3^liq znFV{7`8OG8$S^8gN#x&T_^1rYk$)pc9mv1obDn?uJPeHI-{`78`M14O<>`Zs=}NQQ zZZzkaeWU$?X%6m+dF0@9D!RzPW%kyQVbt@0~h{)n159#F1{hG``vr$ZEJ$r7rdNy3FhkqO3-w^!Uc(bui z)j9v*RAYQ*veMe3{K=M9V-mL8wYH4T)F#IdrrVR|IxCu$iQ4#F=h1c^(ohob3wtT$ znJnbLfSvRy3%LW?%d?P6!v-k__iw^+z(FxT$jElMdaLqoo31NQC(;-ap80GgM{4bA zf&y%7`^(ZTDa9%&!(a!{C`xP}{?T@3n>Ma18!{f>EL;-Kj~Ks4jLmsMPkt(8U~jnz zXPdzGy_TGH^jnIRH2oYZ!bce-k7K1l;TQ9BpBE|Jz>SBnzhko2YCjz=Z>CL%dju*G zdk?{orz_)p!ZnxVQ$H!j~GWGc~ zqR(Gck5!7MKJSLM^;qRP{OwA8awb`W#T`3BB97$2JLWT3(T^iW{O)os9ljhjN%qZu zn40kZ`E>qXs1%w!bxyOlK;ig=4Eq2SpEswMJzb6!uFQdcem(<@&xgyV>ILFXuB*&SOA%nZ*KpqI(r6vm$x$j=Sv$!BOtvZl9@CqT?w5 z6Q|u;FyN)6?@W%Uv=|*HhEQCBMfbvb7SK_SX!TlNRL+NmVswdK)I8;g(aClLF*-iy zG5Ql823NF4hOYV(qhBlM$%8Nl!ZP7BY~?LaPS1`AI6Pv*;Smc2C*?N0axyy8u56s^ z%qKk83Fsm`&wz8YT`;dcs8#k416Kr`Z$V0asb6SiH@vc*iEK+c2Fn}V^ zG?#H>6^!FIhRz;>R0U7W4B;^ayBlpxXAGTvS@yw>+vw2->&bOI12S~3b$@%Uy{%5k zk)iXfN7v0v@@~$vpX_ZMp-#@XYHS{I?SJe*l`}TvYCmW5Xe7e;h zgiL2cRhwQer6p9wBsZgqbR@8WX1_%))7 z%k2vLQo5dGwRK&&tt9Xa>lsMx#zvE0_KA~yvDPv+t3(3c{WXn!_}yS z*0{1N*Y2sRJE3(8RDy8lq?H=DTXvb6i7&He;%2Z9R)S_SnUNFWCd@m$r?{cq5$q;7 zlkz`hf&2*A=+ ze*o;&^j;dAbTH2aCcYd4*!7a)*mp$s-34x4Z{caxX3qHytJA)D=$PIx?ee2SFJvS$ zFWCBF)kx=ci*i9H2VYazyVm~yNO{|9yAZT|?HvhBYkPCtY7f${Os)q6s z*22mCk;TQrNh&&aAJRztS=fb>NBVT!zjZsMIo#W=xz-ON z-y*hd-`IdPi|bo(00X@;R;y1mnp6DU*y(2DaBUo34{J5xJ=x}_q*8CqG%HZ9+@`{Z zYKJRz$6ID_Dg){E$iM;TTWIhcJ~7&=jBiSsaOMN{ojLTO2B$^9SrBzNGlJU6cEejw z7rn4Ny!BR3#;TRETY>EIp>nO>(n*C8K@z=PtF$&Ht(mcEQf?)6SOcK7Z0Kw}U7i`8 zERWraY15Gbh{_5W%*n!{Dz8J8z&``wc*yEv+XLSr8>H5{}>ewEu zJrg8ZOS^J)Y!}hzFRHKE6kQ#ADzvSy*&L6*U8`e?Nts-~%_Co~-%;*iP8Cpqr{jJO zc5kU=|C2;m^B@LJq#S~6cElsoXjtmOZ z{SLisQZb~{%T_@Fey<2`No8J5!VSwns0_-W$0}3sjevWK3{R@gyRlNd>YTDe9j3&U zh;PDhI7RRQj>1Z|r0o9?O|kCa*f>;+UzB!{5#{eb0o{axCFxf_nqN-(736l0l|=5I z7t6Zxr^)CaLBEB)$`7zoylPyo9VwB(X%-knq*Feid=9UDVF6FVI~2*>C1V^?A;xUn zGY5Xc=|u)E(7*sx3JJb|GG_M8p9F13Y2QjB!Z(xRQ(d4?Zc9;yD^3-!3eMD~AbdDv|pHDyoqsBn@VqmV2VfU}Bz`dv%o16m_t(9`Vo%mxavK|!6;v(goDla>Nq#uQp zbLPwt%VfQ~^;6n2iRXhbmOdq(Ka30(iD%9-N;i!n_aYL{owr}vtiT!=BueX*Bgy#8 z^ki)ee?!0sY20LNrrCspz_o`diuq~9_yBGZo`lS|$b_dkUYW05N)#(M!|p|Sl-Os4SR`ce z8wQU?23Z+v@O9cxr84dRF(dy{gi;xOeibVzn$a;%Xy<{z9ES^z>8lvql)fax<}UkP zkhDM*l)3{iXjE&sQUD7d6n9KcHjemC9Z{|3I{u#)8l(s({vTBGBp30K4&zBWVEgHw z)x3hh{6DprUtQB#U74D$mRq&f+}(5PUCWi6YB>)t$1$WGQOx^3tEsU0y%$UK{%H!n zXg&-{^=@9(9pev*ACym--fE~U)gVv7M8ZlUd1yq1L}q`(e0m8atZ@3_39J8$SCp`# zD^J2opib1!o1`!Wdh@;|y$ZsFChX~$gWZ1Bk9K&{N^R>nYDp_a!IDf`Y1GdzX{8z% zR#$mRD^*aMEl*mdx0U^n0slB?z>!I-AE-tabJ8kh0Z&YrNh|e~7);Ewl2(oqcG5}} zk<4F{-ZA-p!XrbGL2%pP8mL+zX;ljM6iQl&o{A-{Hir9~N79OuVR}th7U~?H<61%d z@y|q7(kfM6wj4=cG)b#eb-YQdl=e*0>f2zGeM(yGMFxwc6=xYGt-dF`0O)4;42Oq$ zkhD_Ffvtu0*#uHm^>%Hd2ImkY_h{WRXw16DkpycfL=K zPjzuaAhW#(<5YC_q%}}Wn@;~^BhwAfp>g|X87&?~t;h=(#GC3YqE+#xx-1GmH6oK!$gfCe@V61I#yNu}l$`px#e8-T%>Ocr z(TPY&9d||nLt`Q(g}olll$1T{y!l5N+*-ps1gpvSJta;Dt5pGySy8<28AwTO04DR4 z)VX*?DJi=0rKC8DgDJ}FNe|<2#^hPE>ZiGDhdJ1Wg&m>-S-5k>wxrSRrydI+Ka)D^vbGY1CLYtu<+L)58yBg5@x zMQ(aZPx$CuXq{GyhdRWbQz}HEd@fBU*8%Sh0;3LexZbK|;Vbun4%k&lu|&X6CzS3~ z9dur?C|+pQWy4P-t^Pu}yY=~cq^8KIvZjofVuowy)G%8G2^F>){#ViMRI>Bu;CfPa zvKlr<$rJOq9dm&Eo#o?=nR%Yt+VGkPzEsv-CwGgczO^@7OaVpo<^Mhp5PFncCY>`h{&^ktG*S3$jACb6n3 z`8V2;9+|=7dP^CstKl~KtlSLN&h2IR%KFx1>-6ka^7&hDiLlfi>TL}*W!ypg?DrgXOVh!D0?+wj9afqim=ef<1}mkx&Jgil$6FunUQI|X{@ zJ6cvx&u%8hnkP*lL|6fZfFU1)wn8>zs+;kW!2M9QvkDIP#XuB}`Q;tCHh3HEQJ?BxIX!}?NQtU6xC6% zw`A3_6x9uTv8#}MN}PrV^Pi+T=)7am!CtQ_x=!eSq)%^U-q2q_`3IVe9-~;|2ES1_ zGvzDWg6$oJ#lsCzy6-=6B^^Qreht8odI`S>2XX}V6lfZq?q^{F;hdv6=XfEMTm*J* z7J>02DaR|CFN=m(H;8_v*_!a`EDc_Hdoi(785`u-=`=?b3mA=A-JAAb3>Y1Rw&n?p zrl4wZV6+cvabSc(<-o`}W)1Z$Ehj{(i7FCuw-OFL7s?4Zv>z{RICSGSI5uaLXNq8t zyhAw>Tqi+<1Uon3Jq%d25uk}LWy2{ta7a%hF+a(azWv|74wM6BFT#jGFyQ1F@*=Zm}!9)=T|+6TAS>U*Xm_tHgq_4ETt2YQ9VMl@0_L?#&_r5!?K+oR~$ zI~%Sy#$o>}>N@es`C{f;gF5bCjeAN(X^wwKP(LGgx4lI*(s}pN!A?4B1&%WEUng1Y zcBI0bMXW7v%dr^=z4#AP1Rqk|bHS`&TI>T*6@Y+wQ14dR*|M$HB>I_fPoaZ)c~5Z% z^?o_njpv|VF%%=CxJIcu=Y94y7)T3gg-pJFFHDC01*GxD6r3tE$F6{riPI^beGk&5 zlp7IW64d*ngh&ha3c$XqvAMfCYarRhKc6(maL(^Ql7?r$=9qwUJgHG){{fF}3=$z~ zbD>9{KCBGrJ&yKW#YF}*wP5yMWZO|d=@%6ChknGK4kv@y-vGnwDPku`_YkJs&n|&X z1!Cu1Bv|x^$k3Ra>4qC{4unlh6Ek(%=0rP~lnua(f$+MiO8!KaRyM)50C|8&Hsc>4 zN6u0Ch-B&dbmIScV!+O=A-z7CZhH~#${iwCV5LD}dHE;PU5tv53@gQ;?>22C^`O^9 zaP!a*A%vl1qS=_j^DQBx$Ti2>{FXaAJ+07y#Fn@HP>D7R9GeVVa}Yk#)z63{0g?b> zG2W@v{jCTWy&iwkYCEXf@@3K*(dsX%C&r7uOj?Jw_4gb%;%_>u&YBJs!!oZR+WdkU z&$*A#QEtf6i3jg^HEG3zcf7{b3*{p^>#ZtoH7YT?H~+lEgT4~mo5N-deZ|{pXbw4X zq&&^;QYxCiu~qHo5-OyAtDzGbek(MmE2m#8kX-Td;hV5hy!D=nyY?E*+Mya8^-4yo zT)OL#BCz9n3jX}PMQEnISbs@O3y)2R0>{>4Q4~BS?*1aflOp*%R*Dyi=1|E06vLVS z5lx})O4yxH&9$ONOKw5f8Rb#F4$a#DQwM<3F8?*ZoU}{iY9VC^dIkB`sGOc99tl?x zFAYjerG%W>H#N)|9N3|S0^mEe&U`dn(GD%TvUfo-3hM`LDCs(6Q;;WsqiD_!A9}jsb)pI#KjNM7pEEV^mhyL-wIO{uc*v{-Hz0i*kM7W^w2@% zfEykbx6TveTPfqSFG@uOg$h810p&}Iuuh_v7hxr(CNSlO-;p{O0i{rjQ~@v>N{n z;L%5LBcD=;*y2hJIbkxoE5ws0kZ?WD_ABF$nu_GKWq6M&xhoP)dL2H}dJCtdXi++D@j zgy4IF^H^F-;oTF9!aLP%7Xa_k#_XhxhrB#RW`Fg~ZN7 z8jk`@H6xW&F6K5|bffq29r`KF8K8O^jG<3J^(JJj0IHl-gqI$UT#H%6Sbu|W5d++h zwS*B>R%sYJgfx^`MUW!Bc0L?kSNtUmuN`I^@ z(t$$n0UAOm6rXbx`X6{jD3q@HgF>(5bKaira*R)y9|+yk>;i+992gXafga8YL08L> zN|%t{Fnz-EGfiJ(8hT`|@fg)e=XVz?07dpM0RAi~RusmckASKL@aJif#RdLMWyDTJ z8jk}0e7IAI{dv-q0GdtQ)Y&pk~i^xV_z0rEUj zXea`CwxE&+dEz5ow{nr^N<^OMTKR&O{Hc_dz<$SS)tqCjC1Hs>?;7zwy@Pcr~J6RZ4CR&`3u?k5Q02z5^9FjzyKsQi(r z^VcI<6{u6%d?C~+-LSGn2kLwS&=5kM_?)B8&*K%LPPz)B&LBr6D3))h19|GK1+!xA z(I{V4)O}4+M^`p=JvbU=Tl#jXdfmO~2`Te^zq-0|cYCgkGwqGlQv5+FXE;b+sPj^O z4g%5LW87x+W6v^cSw7AE;wW|%GCBRl(H|?aI5EZ0H1~XiX32y&Tc#Pal zAM5!9Ix*hJ(#cV9>K=ArJaNjbT=eIL~(1k_pH^e>3xg6 zwmXB|95q|e;j1Zm9ig)S169*^dScHrsX{FdOi_^hwcX5k5vb9+_u!&-|D<@R1fgjS zbrsJmc_ow+FX-0rlGc5+^GdFCzo08aZ~Nt3m9Y~iP2=miYCB3#+EOl({XWtQ`%nbg z65aZ>MvQs!3on&K|BrTlR}uEfApMOKu2y!!_|A`jn4TwO%GSpp>f&M zi=JQ|+R4XMEo?hmJz!HQtT?EcX~j2p6a0Uro|eNn!1q< z?$#Q*!=a{ePdNkfq1UP*yViXo*U?hGv8P~r+4ZV{RMp6-n;~81sS()OPr)VXx6JXB zgX0MXc{fAV5K6Z8QQZ_-Tm*Se9xZ5)*EuW4ANW_aQsOfa;09nrFC#!k5d-b~e<5<1 zuV^h9d!%S#2ngrUKj&*T>qYi58G6PL9=kI=3lm2@nQk0W-?vq8e@K>vy!$gS?d~hD z41&E1=_s)|L5`dxEx)N9=fLOn!KKCRSEStT`~I)D7h$D@_iw>UgTgiD!~4gkzA_mG zOiuvc`g9`-e-ysK%@1+%eC}BHl5%HT+O{<%|8=2}3DEyOsN@0t_^1%*SG)JYzdN?- zf8J^@sKgTNf0pR;7wrb@-v@2$VE?!9H!a4A_{@;_sTn+rA1%yBt78PHq`NN1-1^AbSFa27OWVzBMeX}x1$3omUfQHaQ z96sj@agRD1u4o~SuI!~QMsU5`H%xb`movd1Ov7ty<;m&ULIFkkCc@?OYe2pq+C?-n z=t3WAWP}Rm_uA=2AOqdgnC2b{VYjG8IVdVOv!xpb&m2ni8IY zqUXUt`UFL9gr)@)75pNgw@GMC?s`P=cS*&BUA&_5`)mTKE3t7wq;!*}ePq)*gG<5! zi2vo3|5@nQyLVA%i*Qh)zQb5)P-+WIf8lpg*Zbc^txQgsFQP`3ReI2gDh`VB;v&PO zy*Mv~8ljL`g8;~mNC?oPqWQb$3ciB+wj#rmQhYO3ikG4SvBoMPPtCb;?FXW%>H@50 zUqQVEx^<$}d*DHiNJ;eX&MzlZzsSQvq7MT(f&QfJOScxTBwj(44qJ)Tf&M-T?f`=SMnSq?eUvniWh=~?@! znVz+tVtQ7)WwQNj#W7d9IhdXugsLIOWTj`%h%7GBv#BWABaz0VfQQeCF$g~}PDhXd z#>-$teFDbUAe+To2b^&P%#K4I#=P`;tMR>Vt~co9^iONkNsMhcs^d`YaHXy?qi{GQ zoMaBSCt)W|(mvAA>a_6F+bsl66}85tGN}vNr_z6RJ@Nz&02Hi|^Hx3_UsAq>#J@Kc ze-@YL13UfwTba1rTW*$NEfGG#ZY3_OMffRUT?H!*3RBNd$v&|G$HCwvlqO^kl$#Ka zr^+ZlnO(0O(e%){0b{jnO-@$n4W%tKNjJLWW!$H<$<4|p^JlP9?epOchT@ca*IzQhJM&u}^7jpvh6AX?>M`zttc0k_l2Oufk zJDDyb5|V#cHPU&@B8TKkNLf6dP6)I)Zo@L|Gu75J1B;u_z;&fJOkS^9AL4Zohp&LD z1#tMX$l?Nrr}AURAdN=>ho7CR`hF0elAi(L-vrI<6A0geJQg6FbB$2ge+XO1%}!Sh z5H9pmLoxi!>mDNTh3inMJ-ZCmsl+b9KiXiw4rlAr!*ic8@_IOW6AvIjq*OHyT7F_I^r4s{(sVKTrsJ%PB+I zrvrQc7SIsF-uRqj?+@V>VQ;$X5BA>6k)}kWy#U`kx&q&lk}lBqCO-s`tq;o!C;UFq zWQxS!_HAVh1i=3Z#HG6^(@#VK@cUIGowqJ>04_P`I$$RS&V54Q-&cGpoC*I9R4stO zzZqFvAn;Ux>>EhqQ9$79^3~rD!BhG(5d2;kPoE(8BhE=7IAapKKBIBF$9yz?bq=dFG>!%liN-ICXjPzb=?4m-aXEV^`*fi3BS1q4jpK8U#@~)t zgvRNrKWO~g!}K-cZR4>AraPwkbeqbP<_W|V5nW*L^$yC!hi`Fo-XkpKnd#%|SX=Fm zngI!L|1C&F_d=#Chy>h!ts3dPanS;9O(5B9cX~Lw`C6cM-^g;O_rWE(4paZ4Vo70a zeIHaUfUWP1EH1EhDl7I`r12-od9@haLZH{A2qPtW9mGn5 z!kF^WtA4clxaVl~@m?IQ{}!oksKCl zcoj_`60bfgqE&%crR5jGtI{nii*(@CgFr(Fui|r#S6_iwgjeaRKX~;zKK0SpeS48Q zp6`ht8W~++)(w8l%17u$t!oVe#IX_jJ=1Tz17xH7Bhwi~BGqI**f*hAf{j8*FG$=RelJzc4fLksQ3t+3-7nk-Kq zDbKc4_03h1`brIz+~e{E17{Z4OyBulN_l+8|CqF>c2s4RMf8QO|*?$G(X*# z=B1~bjj>9rg*9qzxpDh{`62nCoH6?m>QagQP^grgu1$Yz;W${IUd%^)=mss$QhX@2 zn7;36S$%G3YO`1=j-@~`iHb4aO(bgtICj5jY`b!Ek7nXJ%`O&OoHYR8Iv3v(W;0^q!*A* zE=aQ6O)e)}Wu1EaG#-V>B*{~8|9+K}`b=nY7mTJ)p~+{E#UeD}Ory}`CCI;s z(4_NMH+bU`GHDT*4B$EJ>X@>oI3Km#YRyblFq$a0lXdVl!gUk`tlQIECtj$-gRYZu zvyzNgCTevEL`G-fjm~PNS!*K(rjtcS26j$OPgbTNWa076L1+owB}OLPZO{kvAROV1 zz=3Ji^5I&eDdUOG-}P(|58m-w=={MuUPrydFZ?pj>lS7($^o)3qx4GbOG1cpo-}=+ zgV8sx(@hJ6R zA|6-p^9f5y2yfT7S`QB7#Rl+j>Os z1rW9~B2X;LLGzAQjA z@CwD0!qLD>p=!u!SSPvM6r53Zu$LwR(;l$LR*O_{0Vx;MMI<*5G^~(?6~qf8QxIAc1MW z36(sU79Z*JMlPo18Er04J}YT=lqwUVJ$Be^JE+GJ(f*2P^%w01(JlvqbVU0%(3ca@ zDu!hct<5hVqIHyW<+zcL0YID0al6#0#O&UJ;E?d_zvr-7!?S1(k$CoV5v>Y5E4_ep zazTdl$fySN9uvOL+7 z<5ISDmElGzx@fMn0~=e0>bULc#&o&mBq!C3kPWd8seEPyO$ z89}S3Bllu}>^V31vf4OW3&+M4Rz}SJ1gR*oKN7@94{zGB3&t)HOC?snEoF7zQS1kc za8jb!4`8K1VNm%f_Hk)$7FECrV(~!_FzkJWh9fZSy->-6VeyeZVdP@i)tHwhvlfRg zrZi~Azh%@p}jmN-S5bz)9*F8|%19tI|KAq%(-L(XE`M_lI#ki-mn;`G!toDPdEg|n` zh+couZXoYJLfbmz{Vn|Mg1m}p8OUq%%m;ZLk zpmk{mQ6vH1cjvHL1HNb@k-+zj5v>Z~D_w*1eL<2X@RdGXnXCi&ejR8C0bhL1f$tgT zN#ILY{QAKlM6vqx`LZN zA`<V6F}x49p+eU}YYg72aHESR&E; z2B_r0zW7L=OmeaB@f`c|0ZH&{-c*`R==XhA4?(q-==VKDvA<|H==ZOnZ5{m{!QU?Q ztJs!7zc$x==+{y1JPXJY`sLgVz+XE}4Di>jQYB{h83dDre}6xR*&6;u1Bt}HFOFzc z;9uz%q~{BgEb*`O;mTee`1dnFLkR!kbB=$PoiFh(UG)e5iUaPhsvYhH^zH6|J0PM9 z)EhY94oBw&yy7@J>RfDf;!_3QG5yA)Kq9(lGMzyr%spK-vgi-EBc3b(!o5JTq%gwW z3{?vt+>MdN1;R~b#fFi_qkwP&2i&1}yx=w^Jp*n}fuZyX+&&HYE5I%17=hcDWyhc0t<3e!v~KQsVP1DWCg}W^XUTNQq`=u+pF~ zrhGK39dHMubOKqp-vbQ$(n5m~81^ox;#KLEl|?%6>U)5O5MIUS9It*8uV|w! zUG)dAihS*k$;sMutJafu$GXecN=mvwu7P~5Y~2rEMPgPKl;N*^+jJwxZZh4I=^G+} z?0xz-61x`v0M3@PfN9q* zaJ$&^wUS5hQ6pmelf?)Z;t1zkif~gR+?%n|pfIp}gsbIieuMYhC2S7sz|Kf9wfA7UB!oPIYAN>0io}1ipTQAbJS9JB7*^b+~z`P+K zaGM|Pu9m}>ZX>;6x{PmuFm$J6`hiG<`|qle&Knl_>t!g61;Dn;Hiy_6#J2wl%q)Oy ze->F>VB1tw?58NTqkwH6?ca6-(($6&l=2L!{Ths@&Ez&`<(a1^`dP9nWwx{1$$Fm&f*+I}QH{Rh>^qQ|Gmkp;k~ z-&7nayp!PHplShp`nAa70-vU$VqZlX7Z*MS>3H#JN_hsKejG;9CwzL+NQzH6!w5Qk z5_#7hKD~y2ETpB5&GqBcw5T#(HVA|PJ}u#&LYdaZj!(%#iOG)?V_OJ(`j{eol=yTr zRvHwBR0yA5({|$1YuY`)r#lJ_Mc~tIP|1T&@sX}#ariWydI+DwPo=wrPk+s7)tq=d z`1EN+rN3x5`1IGIZ5^LJ0)M;ksbWLH1;ZwTm4?Y$9U9V~H=tTmx zyZx>}L>CA(u-_F&=Y^R~V%Ss_y6kR^41^FaoP?gi0Q)ijQ6Vp6I`Hb#fQArW#pfKa-i23$SLv!hcvYfa+^tBz*#^UqSW?pvoCW0P6RU zcQHWKpCsKCpHEGTD&u9}K?+LjKLjDtpPTk;P4uv&H@Gw`l$iXDl*xU6E9;oYg#4hz zM~PDZ6A2s?hLn#|we|j8?tJR5UgT3BUT7!+qn-klJQx)p=~F~5Mx_L5I`zn(N_PpN zo@cchR9v~X#fGg4d@5~T`m-R(azCo{#>y5Q`1A@GSqPuvbB<4M!z;q4 zbk!exD)Onj7DGN2i0Dr~6-VcVs3Lnxog4X7ykq)`7lTA}4`gamBuIUMYGl#pQ;8=F zfKuO}SW+0Jz7DDuK&h{ZEG|%LDl7JCr12=A)IdHJ#p8vkDd`!QdM6B}PcZeP$X@|d zImZY={U2mr3{3UsNMW$i`Bbf}GGKNe(okZb7o@-$j42HNQ{-Y* z%Ab-XwR|f6RtijL_0$W@c7xh0(dtQ1DdZ!&L8}jgwso}n85p<|ttw_^(5lTVA6j*k zbL3NjXGQX<4)rN9yQd)dqy4ErCRGSaqXNeVg9Abnh{UT8MzkvMs<*;yD4^EBhq_2UUf7z_o`J137)zgE>z^Wn1#IOkBRF*{axVt9`oFz}qqT5rTw!Iz z>;p(eiM?MCBR#xn$1dQy*gw=IER|UO-jvmSN3NeO!byo-KaG_Jg+b*bSM5VxI7}yW z#RomWuK!kOI0CzV4JvuCD?ZXEj9lzW-{s=M0I(mH%{&wwMRqV>3SDRZt^y(;QztIoxRv{My@HO+HE|&_GnB7+p3=)3*=Nu+$ z`BpT9Nc{SVh*kxDmG&>aTaaXlU!{LmcIm*cCtVoEulStf*KK%3_?52uieGn^r+V_0 zuI}(FQqdp$O5@AJue^H$ztSz!Y5W?9MR!N0Cy2zaH>gGyJ$~g}SpfWco8n1f{5l0y z3*gsUWO0FCQ(>_x(zv+rE6K-;UsKvM`1PqUmOkOv-$4co{K{EIplUyIuRHvTqm9O| zdSPY6?9E6;iT$AW{Tuh6!R zU;hAqyYQ=GR|db@-16a9M>z+6MWz+OuPzlTF}trI7$p4qksKy#_!SKy62JagM5_Y7 zO8b}IEl9G&uhKs&yL8~!p8yS^{3|}^_;uq&62H<_fAH%8et;9oO@1$;7cXM%?CK;d zotiH2>?Z#KKza}UtpulLnIreTx*nO%WjlyZcUz{%h{U;6Jbn!!oAN$Mho1_Sw~>( z669hG?%m`)1xwdX3;!0Yq>P-s6san)mk8qIOkvu&3kNSTOC}M#C>259@$l=5a8%;q z*I}hWVQ~3)cn2mkl3_eSN>>dpE|!yH5Ag9{78;(w$M1ql9(;_C^ob@HAD?WGT25-& z2TI!sFMq=7DX8iaFMpIM_ZRI3FMkT!*75QS@wW>vEB0mZvdujoUUrllvChVVe6Oxc z0o-h#7(1lbvsJ9b?7o9wl<@OAbC|B-XEdBh{QSEStqS}s{e|?3L6RkYmVRE@u>(JU z1!xH2XME1_^C^#&_?fQygP*Sx5V6tj%@MHMy93ThMi+>ALjX3=2)!xbwHhC!J2CE= zp5#1`jqbBd_Yet=&sB|d-n7`kF&E4NWP!ISrW8iSmqFD6sQ8JI#RV!(rNy3rG#&+1 zd{&Nn`{8g(dBAKPp91OJMw)|5mrj%`+Tf4D2yr}`ChCcU(^CONX1bzcLOJXjYW>GMV|)?GtbmwR8H4A$-_RVH-%XI9%mJ(lS9Pl;B4(QeS~UqIVB zx^3WZ7rIpp%b;7EUp{o}C^zIlx5&o;tX*$a8QSeqqY|@w3xY$!v#-iwvxaBU93t`T zZ$`8#@T~L#(#Zu$mUvb=YGs`cJo{0gA%th~Imfd@&63K%x<{uqkKyOAL!J%eD^z)<>xVD}(@1%l-qBTTgx znHPg#{qK*#U@iO_RaO}=yBTRHv8M}Cq+>U2*o9sf`}+f3a z2DMjW*54sI{YAUMtgnT(bZCuHGtdbo>|;1{;l6wX({9*$xz7iCu|*06I&@ zZrbot#H-v&iO)|GgIkF6V{a_NNQqak$4Z03mBv-8}ku6^Q5$Ud7Sn z;Z^F~z^i!2^cD|-M077?x`0T$`p>G7MUPjBCkudAf2LScIKTQMs9FH8em}Cfz^kdO z*h5I;;=-#a9xq-^NzdTbFTzmzgjdhHIK``+V}zr=gv{$MzY2qm#;aOcWx#ARkOp}5 zeEjp@3a@f2B|Z;}!7T({eNqudO1yd*RvHw>R0yxaD4lo}?)Lz%USDW10!s4W>&lA3}i)H60aU2I{ihv!K;(dwvJba@V5)EDrRNys?94O zUUign;8oyR5xnY9pAxfs3W7hvtGjbptl?EOfk?c%HKJ94SEc0_!mH9PD~ojC)#m~Y zA-syuIbMAiUJ+iUtN!BEnbAdnS7%21gjZp7xp);jH}NXmF}=knKq9&qGF?CK7x63%r`jiamfdE;76d;_>3ul=KW<{SXYLPk43J z6H>g&IYv0@!^pfY@#@TIJYG%9Dg$N@2hsqqo`!$^d*M~GQsVQ;VsHzASBHx*QsUJO zSZPogQ!%_cGwQ~xGowAgtCtlTjKHf;gi0Q~ijQ7M5SNB=%nlq3G zukIl_{YAUMs|TQM9j~5*zg>7$F)M>tZC?5Cs-v6>ug;7X!mC;JDKWdJe7ySj92RSM z6-^)#uda(|Rp3==`GxSRbj!*j9eDK+&=A6__?+X_*WeZ5Rl4dAUKQubUcbLLfVI2x zxR8o25NqH(SsI@gvWmlFdH393=(kLl@n;|w-4&UBAQH5`Q#G>a&*S1;Spd}famACu zsP*rmY5~;xp~&I_wWh*iA4D3D0%{GMCrk42!q$}b3~YTnjHOSo^?S%*u`PhJjNsHC zA@^cntN(~t9Ib_0;|ePyX8(y)l-Mr>G19}Ec5F@kkVF|=DwayD{%OkUzVBo``H3Nq zXmL^^*AuYPpfIR>f2DtRz2KGJ8AT#UPxAT1w{oTrR?N~sCyuCv+?YP3YUXA!;r zqTL|fbD(V<>3#(S?nJtZX&Izz^UQ~I9pyG!2M54OT0(CEVAoFW4v8wZI+d8+V-P&j z{(_Y`tk&=@nnonv{Q(vA3lLiscvpG^sn9`^CEk^;TUn|D?_LZe3*lXS&hc&yuL$qb zRS@q+k@v$hrBSid&w@*wrOk@N>>+s2Sur+QZnfqrx@TvVRX`3t=F}Zl)X|kqUG-|o zx#~@F8$DPaCPUA{cQ?+4i}mnt1N<9;e;aR}>#VBO+s#^~HHYtXe6({#I-~EawBSP? ztz?)8OKSBbA5?Fg>pV8U)JUci6KcaaXfd+$szruF1xxt)fAv!)kB6)G${U?snGp`x z>W9mdwef>>ICZ#n+3rTYvI%&~?=_|?&2qcZRQFp4>A__OnlqJ+q z)vu|(mL<}&!wSGEP{<-}LRs`o?Lj_P2MYr-!SyVgf& zzhr1sS(D{|qB!CTMuyoccu|Y3hW{CEMDq0K22a@^V`CIGoS?nm)j1`jyOLnX6O+96 z=a6>>lJ_VNdF*(2;G^&?ox&$dyD4l-+zi+Ty|q)bt%+ji>%~qmibZwg36Jk$TWL`{&*SQLaWTp54EGe0oao7v9KrxOy5;o49NE*t{mnyioQ#5! z%P%fcSLwvAO+xnrtK~eJhg#P(D--Q<^H8Nd*E#>-RAYQ*veMe3=H4x>#^m8jv$bV( zrZzc#uyXr!v(jqS8uhu(3aD8dpJN{Y2jX3DP3g6XOshYmDP#qJ%`yT&|2r%>Djr?>gn0d9IF~w z290tB{|NPOLtCNrswrMQQNUggRXeLtiDsuOpcK5L&RVzw$}(9StF`Cuq5?Xl~FYBy)b+Q~$tnKUcynP$CKKa{kq75K$t$i_sH8eu}QO}P#BI5M!U zKC3^fwJTGt`e#c+#k2nG9})TCH}uK2{kS z*fBNTo~7cgwB2^K+$J(L+G;IM-iY+K|J{eFW)k*(lyZsPBZMt;38snam`rNQi_l30 zH07#ZXo{3aZyHNS{c%3(kIr}0D}ZIGeXzc#vcFV>P?^ep04ohLAt(f)6X3ke*_M5B zxqWMxeKvDX^8i(eqA3nbhS3_I4!+=KN__8vUx{h>wQIt=q$qa6b*6|Ql#h;GFr4RCIDoR(B0H9|t-pxlGq4lOH>u zt}iISWR^f-7ntxc`SDPE-c0^4jmbA#Ox`u0kt&7HEOyxX?py3|l)JW<-av`7)6-_b zk=vB#p`;S~9=V6Goqh&<05tw>DjIgFl)bNTYxoeVoh*CYv`Wdmt6m1n7wvbEZO3D#oU&$aE9^ zXM5J^7t>^-aEIv)#W(VTzbK>>!VCU{hV2tLKGhu|lzW6{FzLkaF9L$GTV!w7pj2nz z7ReKyG=lzoqdoO9lQh4ZM9IAkdNFzzkqE4XLmvZ4Dgnh)&Z$`}b6+T=HxPpfGBG`jv9)u8;;B}py$NF} z9#B!nr3M)gh{sU(Q!oH#00?0MECg`G=qx?GMS_s?ZV@RH5YS<;pz)D`t%zZj?QBg( z8;wcA+PJuUWe+;nG`T0uf$r?Il-1Pwwc2oH)UZZzASH*ae4o`+l-^_ir0E;t*qItZ zWCh0xxlpYwjEJ>`5qoW6#OlJmr-gg3(B6@UTkQ;$-eCPeso0y*Z>sZU1mmXKepijs`)V+T6&Y-8Xh_r1xQp z;y+Bf{~<_sa7q6YP&Jf$6PhfyEqo-hxL7B3@?v4vN#6$)n+s_OTkaDRfyKCV(qYeo zNBvkQMS2k7;W{bTUcN#lD9K$X-I-k{jd1Ph(vq4%qSsY_WiiRf5_h(1>#E%lVy?pu zTn={4ZT9i=Yt_O%$76%EDbwwBimcnNhPFaBW2&2xW;q?I7GJmh1xSFe+oJaHb=&!} z1+`zS^DfruhztU?E;PlW4dE*9FbbBh-ThK1su53IC=|YhE3CNRf7|{8NxPAh6Fx`i zp#-GeVc}P;oX)4Ja?I=kB&@`?;2*EzIaVVVElMDLL~ZO@{}odxcq+*B27Tmkh`}a(r9FH0g+NU zu`<#~yjW0()H%be&i=O_Q?fZfHRSXZ7)CFV6QfCwHkrK~c`LvZ=N37oUC21v-jlP* z%>ShiuuJRB$EdPO$=L5B4JGzkL5g%ERye7>xgsX8C19PzQ$ ztTZT$DF1Co?W=Skd*_>uaNm9{4IrttjU)FfA0H_+7?D^1Tc|`Cw_}rG3(4Xm9Z(o> z9Oe%o(O7Ql&{saRc}M+L%1g7(m#lV!nk%<%JV12%i|XLF=+=!dL)-cqzz((x>srZ-IIa0v)NS6kEKBO&Ru#vEYVZbaGBHyh!=2@{%#ZnsJ@zL(Vu~v3WiLPqO6+-p5b4BC19qh$7P*OvoX?#p zgZmCkUsHsK5|+LSD-8+*%7>*Fps(hKaO`n^%VSS3KIQSwLPHUt^c_&i14{9cK0oAw z(v@7b<-8+*D!nC0`eCcppwdc6`az=7U$h%Y`uEVb4oUC8-!4e1Se1dKHm7`$)KTu7 z?13A5Lf`R7tnx!y)hRK%pCG!UV>aHJ!(a`NqVh)q(z_#C6@XOQy!2&3k|iLOo>P;L>gdX* zE09&S(WE&cS!ES`Hu(2&0NrrkT zy>oT%O82hsi@UqFl^01$Dei3A0(UxXXG$Px0&O}p`KO&sXP99~LYOvflV(bi$#m$X z>Cj9{LuhEzkhH(=oU>;iclYeBuCVctKlJJD?s4qpkt)8&VAurE!!rm z;cava7rRA?>EsAwYy*}sGj64SsSWgl$Z@UA!CJl!Enk`~Tz5q4Z;7~?gm==W>IF zV=*W53*4E}ELZIcJ5Gnfdqv?|QHPsLwOoUTc)2icTJ=H+b4IyH ziXF`tPvN8}X-#nSnycUlUhlqoW3gFYC|TObzHQpB9XoH=R*{A>w40s<~H^HpM(dALbvW_{km8CF~f zvskya0ygpB=m(x?mgj67tt?yE*DH=gafXt=T10D?U)hm&?f6BpCA5o zwU-O98u59lGfwg-M&K@{=d{I-%V&F+DvoHGAR~q{I#&zCwPve`vXiL(iZXIHj4d zF+b7XBm1ZK9YFet+YTN+ID0|^k4zq%o!UP$qfH*2hH`XlVtV%AzT<}{roj)>$BxeI zAJeoM&>F1Mn~GcLz;LyW6Mz`3^5u#*jJzZJ?(tNC^HhGRJk=A&Q@?crgMbOzSBhFG ze~J!h7jzu9EMjgcV8jo|x{jmW`HFUojTZC79!T`E)@Z!{u|JWE!^OI}@r)v5Z@dL!oxF+%n#eJfu-RA=-*T=yGQzXe5hfPZ2%w)L&Pf z^=qi)T_VOf@-g;}aZA(oUU06TVb^*neRsLa1?PrXO?Hfz607$KGq~b*w~f4n5loqS zWjhA1IeQ^jA!TUKj&pEZ+fyMTr*qW(i%_l*YeYNhQdO!2sNYfdQ?df*^tslYB~8i3 zTJn5xuZUB%rNXL6A^D$)))!^>qSV7QSFd>pGM=Zxm_0bKpRn3xP42qqJ_Z}|^@N6` z^0JL=OTbQlX%u&}F=-^|cH6}gvM)x!sl@kztTa4XurIGD`=WF!`B!AkV7q^rB@ecI zZ9sBG-vV9e^QCadY7wHOo^HTH%zVA;r0%{f_>Vk zu4xH(OYsK8PaYwMAWpgDwe6}r zj(jP0RW`&8Wi57VgL{t@wSs1I@{fKVzlELu3Hq64Bc=0uq^3d)6R>5cyhrK;l_3Vf z$a|#j4OJ4H&9dDibq~r?jU+*$`t9F_j;z`Jk?%w#oi-z9%oUu`9_3PP5#7Y zq~x7OI>Ba#=qF<{pAl<=XEEY3qj8eTIXFIn9EyyOP|3r_heZXh?K(*JC?n1J#-fLk zxBhOR$Fg9@-C_GZ$|MI1P<&bL20Fl|du_xUwF+41kFmF7M@VsIK4Y`&5o748llGV$e4o7>o*g~|(zYETf{+{Uhq@3}kI zs**^~=R0|!+LdfCck);WC0tLu#=!@^VdJR;1QQy>r3HV&lB(~18TToh8tx0X{1U>J zmn0!9(Skf@5pt&tD5pX`0`DYR7+<{^qCq^fP+x?U{1593$k6UwNuT_iL5Whb3f*+Y zf&C7)Z|JsQdFu9wi(3YeNjabU?!z*^i56$Ls_7Dxor>=zlG^w_jH5Wdk4Sf=;QJ_M zkce|ssleyqa+CS|$Bf`=+z0qvS)_ZD!jmaV6^@xSMI~q=u4CrMQSAkQbtqyHlCD)I1ijBrp(&0q|2 z24>hoMvf^#8v-d)!Z75uu+1wbEOh^0nZI zakuZC(|arrrwsDQFZQ5B1X~R+C6#h+noskVpZ}UWQtk4(5}!IHXD;mhSRdVvLOt52KZShK}bc>Y5Oc2U*u5m+kb)UtZ?|^2ebP)h!eP@<*(N z@k#vxVib`$!@~U&NS;bSB%0a;B#fmv0f|U=V}gK0Gl(R*v$XtR{cu~7h2^6OL}(Kh zWs&Y;e>6p@VzEy%S<1!!6)b7;^t*aGUxwq6JN3Gc62DBSzKg>ALJ-e~go5Lk-htnj zDO19<>)Q&sc1HT@?r%2X{f6sFC*k=92Q1vF;$Lr%M9E-aA{`8s<@T=aeXyH9&D2fT zDN5#Mlgn!f zs3B$%oK4JsWXWy99^AX@@~X&jv|_?I?h4g`GJW&x8oN(U(9}m z4@?-$Xw~WY;<2V(%Vc4Th_4v1#ZiGBSl1p9OFU{;&92Vr&0KvxXEpN_b*WAGaSI*T<-5(Y-cp!Nd>k>EDvEP#4*${U( z=;W7?pg^ZI)lJJnoDZBYQyuFjTg(T{bfyof=ZX$OjSJY4HpI0_4(D;7 zgOsgGqGUD~mXS4sx$pz(np8$7QB%O^v|^{*QTz(_>8!e@B^aA{1L6nBkeN{Dmstb~cr!Yp zR=o^NuD zBH)m3^yEohQbv3U619K7YBp4Ev8+MX3}fb%>Y7wU6*Xle>WI3&B@mT2qa&g&!=~7T zx?d_W+>?!BN7Xf{C?;wOP%Oo!*nR36mq0V#kdA1!Y@1@I)V)(tu9=N;52|ZYQBKs9 zm2!`&Yg_{5ctbj(T)%&<5H)aiiv;d)DW8LbMnu(xiRP_A-0Dg>L+{L0;?H_A!s3wadDX`6@A% z*vI6kV4HMDg(`!ISsg1`o3?9+8H>Zw(i-O;d<^btCMT4_V!TQ0G;I8@lB+^~6y!dA zz8BF9b^k3|4b;8$`9cJAK-t&tTwrUmmER)~b2L zDE8ZR+!M4oYb`hkk#WQr8!*xO^;lo=?vNYzSuzzf+FYLrUBY0y1({-YL+O*>2oz;# z4u;cI`)K}3sJx(2DNIhW)pILrUwl%(K{=~$@&wBE8dM-K(9$aIGL%%9;n8Ws`o$-lcB>C6S^z{7Y887ti~mZ z4uP}pg{EFb6iPfGxD<`K?99JivC54K^4K+VTcqeDT2juSm3}sk=OyZz5DSZS4b*IR zU8Ya|@;ViZkB7=rw@--0Z?pErC-sYkF^j|*c0hj@$y14iL{ghrgmDxn77^+8cE}>0 zsB~HqgdyC%WbwH_fiM}xXRk0jc@k93pMf$W#fNSQ(hK!k(PYk6eBXj!-(uGy1x8w~ zT-O2DvL!LcW|J?WBYrlI=QW?$JjZ$;DK_-UUtXtT^X*W1>h=k-d5N_zK4~Xn^Bt6( zN^B&O+QcS|qd2jNNH>~|FC?vaShj}BQ@2kD%eAb1 z@ku)omTf3Im9R)8wFyfYM{&Xuk#1{RE|FArQfGmHglkL|kiG;|XA}@b;KWTMKDRT| z$~WPEsVx-e7VNU{yQJWTIN~AQNlboO56^2ZR_E#!g#4Tr-X{FsI9v@^+iKxTphg3? z{vb9CNl55uS&BmoxlH^hbh3LHk|HM;`jkmt5*;_KP>JzkK(rAOb3bcge9}%N<`l|K zB{33BZ4wj4Qk=v@q`P-nIS9A=`+3NdvJ=Z%O^{KCjc~t`e(2%1qYcegu)9<{9o zE?8TjFXE^bxqsr~yFAHW{uG?P^0;X+O3n_{;zQfxf1Zhzg|I!%dLAik^l5p8 z?YU5i@e0De52sPO}38?5qIpFfA6vSpg;s%V zxYlG@_)%6_P!{PrK5t5~MiTC!Wa3Wg9@@i_CObZNPwST5tVz#j`7F`O);Y78*i*PZ z-$j`cEb>0r=jjRG&B4>U2@{~W2L_sG4cC9xXo3`nqUlmvjSLvDf{-UApE&26urGRh zHhi@QwtFjzmI!)FN(Y1LS#ZuwxO2#%8V_jb5UfPBS!P!1| zej`iw+)bX3P^R=Ob(435o-@>#;HwX6xPjR6-8~cd?5=Ju@}1B_o4MEQyJE@=DPMn( zx_ceyD^6@eh+Xt8VTwb>iwTXPo<9@H89$YE(sN#Owr;Knhk8rb z$yg)@8TyOoq~EcP$%u+=A*zK@p`5$eX!8i;o_Ol|MjH~_WgczZBRWDV-NztF{xda6 zsIg+&`T=E17-O<;B=7VN&RZy+oMg0(Qi(4JOR;uBozp5DH#(HRP2c3U+so zBfbRDv-V(6#?`bGYH=?zsV12WLfv-KXAotl;^Wn<5g33XFNC76{;><`HhNf!z_dh5 zLORUK;j)wEWK{yfi1ozA>P0N6dSi9m>xn!e=DkAa^n%UfTd`wfY1ydlP?!*`w)YZO zY!<&ggz8i*G?9RjPFQFXWv61HJ**LNEJR7kmxVi!2ekIqbDAU2TqtYMU^KuK;Ho`Z)SMxCD2&Ln@o5s+)!5_31 z<_FUrC3ay4)7UTN!L(p4{!$75;@sR5;vQAZAkVYgRU^*LeG^wuIq`9Z=reEKCuHl` zueR1*OErjNb6)F4j0wE=-ES_V4e{Nu_83F4SD}mWIW1*mA&SqVh%7XS%N%XEa?m0U zjvjKU+4f$FknuT^zG34T`j`4T5Q-f1S($@H4%&d0E$uFO-MIpuerR??E0;@-7K96`ei0__VAM&w(6GTAJkL3A z_#_1q;zg6X0ORZkHRS?qxyLx);f(X`tc+uPi*oP?LGDl!pyxX>N{--&cVyo^p87uL zsaKZDQxqX6lBa$VA!wx3b&ewhy%D0~TNxqf|3Y=eujts7bu2>AiaW79fFJP_U>a&G z2BDY;LE)ZwT5DW{ATh>KgdmR}y=)`KS5TodC^RyuWO@NK#V1eyR4TJj8NI?CFZhep zp+#UtsKjoBPA`!gI@685*seFP;`%JpPFE_;D67r7-7LV8zMU|;!Wk&o%_j8coOnOw z^t*2=<(l4_a@Lr-WnquRY&k;+CkZP60;XY0gw*aL4(8mQuh_Wb=CPItFEu#j^enI# zUbu|{`FpV8s>2bZ+Q35}uO^4GPvWsxJlf3)p4K8*WNr=-Ch04x>q5Jli!EpUe7$bf z>Xz>NcxZ*Q7M`jWobz&L=x(bP-V9KD!A1`E*^uwIi6V#j8y&GF=}nH}hvf>Dyh+#c zphl5FzUXi2je67KQI%SURyw_VpYH!40xeL7!UA z+Dg8*U?UtTFkZy-O1;){ETu~Qq8eZx!OETDq1&mf9AX@jTMRlPTG{OiL}|OzkIo>3X^mf>2Cfmwa&(cg z*}AXgTu#4G33d(1NCpa1X+@B{ubDqBAHkwSBvs&?+5#A{Qm&S*){%8voq>kl$N?!j zWU;^y)=zKd@@P8=hoe!*Hd92lYb+v;VvPm2LoC#Bq%_A{&SjK?H3T_wmX6qpki3?& z2Jc6&+i@fCI?$XigsP!8UNu|XYRF51Sofsf94qVAJg=-?7%y4X3M%Wd@^g@;qE%`g zTH|a2Z&q_sOl3!M*wq53oORZji`Z*DlPe*#YlXtQwy?>AfPO8f->kx!Fn7NV`8I*D zOV~4i%vI`zyg>0L#F0gNKt?Wiz&1lAa-XytsA2$vlU24r2RH2ltqEpP3t6*i58q1$eYY}yqblt+c%Lm`9Oj6%0>3Rn_lwYBgPg;xp56ZX8G=Zxq z#V~;F^iWRPTBUM$-l@{QDVA-DWtn2hr|i;ZO2EqPFTJlc$_hnD>V;B|vzm9vn*+MU zzUI})Q`&rAtF$2JH8)hB(^WPxyS5%CE7v2`+)d7d9a}TlMW8t^@O83PV=SD7nK=;U zdXnZ;s2nerzHU6Q3K)Bkz{_0#-y>j?$?yFHzOn}3s|1F70W<=&J^+)zbNv8cCUEHh zz!e0nL4ZX9+lK&l68P?VfL90{xD?1oY{su~0xRAPu$sWX6L^)t*RBEh zCjwu%7T{R|PhJP`83Jdw0Q?St`?ms|B5+~^;MWOEYy+4iupcMfOyIej0KQD%Pu~mh41q^(2Kapf5A6nU2t0^z@5WgIckTr^ zN?;d7m%oVs6D~5IGE1rP=$+x)c}uQ5umq_@;%yM?*`P>a#-|9-)zAiA9c>(ez1*O~ z*K8nRIy6(6mAxjNI#sXFuj$Hm*7~P1HpH$ilrbUFIFDhMzah=VO~=P_{~MkTBRr-) z@_m=HBTIT|=%q~E6DYCAt(9e3A1I&sHj~zSS-33myUwR`yomBlA zawwNhT`c?wEebAX&PYx-B3n-#oVtT_8CokH>V=lhmsiHEE7{uB_j(! ztZO|u^ZpO*BgESjoj=Ts&i}}YPUHK?;bL-K222iKP?+pHrG w;K{YH<~r-8?a5V+n3C2fU$aGjU%6JO*hQFp>I<~q?=6yfOjwfm3UloL0gdl&$N&HU diff --git a/docs/build/html/.doctrees/classes/spatialpy.stochss.doctree b/docs/build/html/.doctrees/classes/spatialpy.stochss.doctree index 4c7328a903f201e048f78574fcc7d2281c50b83b..f901dc9777572e91da589d44668f9bddfdaa5350 100644 GIT binary patch literal 15653 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 literal 16109 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 WmiG4Oo_5`&9W7D*WN1aLwf_UXp>p~F diff --git a/docs/build/html/.doctrees/environment.pickle b/docs/build/html/.doctrees/environment.pickle index 229ce013bfb21eda6fd99e21e7ff525363c1ebeb..ad915c636278faf58adb7226bac89bb8d7fc7b7d 100644 GIT binary patch delta 61422 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 delta 63695 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 O79uGBJw5)GD*b=k16B0^ diff --git a/docs/build/html/.doctrees/index.doctree b/docs/build/html/.doctrees/index.doctree index f1845d56f6a9857aec6da0bca01fed4aa5263270..a8eb7e26b8f65972826b4e6e2337bce28568e678 100644 GIT binary patch delta 4483 zcmb7HeQZ-z6zA>Rv9du}XIOf+FiKOVb%ZhiH&9SkJ} zqOKuNQ12r_0|KH6A;Czd5{!zN;73eIMof$*3h@sT6ODur{D?-+xv%f_tu5X7qo?oP z-upY}_dDm@dwY4;mFG%#mmd7K|4iv3u8457nd`3LNHJ;f5gQ%mo~mUpa!V%>$N0|J zm_HsTd^i1xtLJP}e{&yk1NRXtxtC~be2IXcICm+nWa+R%TH)h@Pdj`%hLr^IkZ#gI zx`@qN2Ft2&St3Asrv5BGP*k~AN1?BlP4sOn1SOYA{I-M?R>&qq^#a;jKr%nEg_}2z zZY?=F^;>ysQFR6q0wWu!v+`uXKR4W<0hgZ>r3#G_tv1`}2d2P^pN%Id?CjgPOa%H81k?ps}(QT^bFV^oEQy9LcC-j;KxJ->g-{lvWgzFSr)KX z(43y2U)n-t>A1TZ&4cOv3qV5lpav2`5Wlvk>3t!1Z^z_nqnCcyxH%t_`|Ss9PZeZB z|Fv5{{Pis2b4{iK34jDa0?supepGLlsu9UQ9*$4A(?M&5v~m0G$cWiwsNK<@kAdir zSMDvyAd`#A&3st0ZxloPC}v@ha+bjYe1J3XS#6m=WGpCvtK1Ga?lFdw*|6BCT^r3Q zG@8Sx&)Ja7ZV0VMp?(V-UUgcBWttkos^E9{$D*Tr%&ZwNJqoNcKM@HP~ETluEo7(FN9UHsbH?3=f z2m!bSzwW4*ocan@m}d7Hv!>Y0mY{-rEw`SYcE1$ysd5N?xK_R2HG}gNIGlAKl&j-n zFfQ@Dd%NV1MtKREW#$!8SdJ)GVP+suyqcW!c*o*&!NJqgJZ+WkDsPiv(ajE5dQo$y z%bK;Q*l=7HvFqDpXYab08pyNwbw?UT^c76Qa?fM)d$ej4QgoZAnM=`qo(8ZdJ&vRT z)3bGIl}mQO4NH-WWATt8mxFcVJD;uAYif`O@?aRJvU4gV1{GltX3BQ~R!AK4ha-x> z9i`SDH{H`^NqU5r5l&5E2P9$NEU?(v+La#Xzcl-N;RSSI753m4lNCjR{0c8pOSfZ1 zMybzm23#eC{qUgcr;pMZqg3j4B)@{893_P}VRWuKUd)3qM;$L0(S{y(@;&rc0p}3j zId(r}V`|SV%I7#HCZr(z$Lj*BQ(Nx)o#Te4 zHmqFEab0w8Z!^8to2s*tcsv^G>+Fn+;%KZR%*VHNh|&l>(6@rV)9a#N^c|tGRc`vh zs^^o>K;Qzw=>Hln}G5;y%JH`B_ zn9mgR=VQK7%ukB>@G*Q}f-FTqMym>FjRUQ>$tCg?<3#>Z3AI9u8&yUdFkHqcicgG@ vf=`SQ9@{FTtN6qimFSG{0Aq}V$kg-w-Q42J5FZpJe>^Nk6dx8;BGBU`Nel@%-hd2AA9AhPog3d7_SM;0 z%tF(pt$>X>ZIa%JDq5fkP*r`12&_t!KLJ&uMOEcA{nbA$w5lkr)Cxrv2o$O3-r0HV zt{ty`?3tN6_nv#c?|kRpJNwrsZ=9`vs{Yb%55HEwn`>2@R)kb6n?OlLBR$+iqYKyJ zeG%*?OWarQW)JFg=#dPPGoh%QRE zY!pwezgKs@w)v>(h2$K$LlN`wwoX-tjLu|bQNs^X|0lrj(e;6b>$N?WKX8B-N4}}i zxa!rT)E2wdQW5>{SoHXHD`b-ISRjveoSrS=x4Lu} zv-NUA=dQlLZ(R$-+coMM$L|-5q0`8*r79wIdFxsIkc(a3URwnhu6rM- zr35#uHD^M<_N?!-}8Ilp0ehx^hE-_{<zC+bU`yZDJqJ5|sZ8!ObtGm#bis~kBJ3dF; z2U`2gg}^{(u3lbPy}F=}lU(*Y9xo=#a;ZBpufMY-0N(c zZ!N3##?ZlIiXNv-FFT?*WsYDJ7eWuWOc`R8&XEs71Kc^%5_W+d348l5ncejzz+UTQ zIo!Wg#vjq+x&W7Q_U(s!b}j@SHR(R+sW!o>P)H?sF{w$HYsuWy82KdJlOLD9N8Ra3 z4MJMJvyEFywDIjg`#-yVf9YvDMZfeddSOgbULfPrGvva!cg7;;ZQ7$@S(DDgjY*l= zs+F{o568XvcTJy_BsP1t;;BarZ#{L01Fzj(*$^=BBSp>-yJgAY*6|qN@*bf z8lA2YHahlwMwcu*zab#uH``2N=a=@swtat#-_A;ck4<`P1m6U2l?0ouB?R9jFHU;$ zpV1Lp%714Bf3gjhO(ff75L{30nhNUtIx>itW4N5%FtGK%ZDz2uOZ$JceSeGHnworx ze60nmbmfHo%n{AT<4Dm|&dSC==k5LO|i8rKc74mf-2m z`);#%joBSm29-%=Od1ZJ+kXHnN;)$e3JJWz7Y__U5h-VaDS4ItD?xsGaE3I_zTj*{i6|0Q z#00;JGUTP%@Ex5Q6r)S|N(RNxfZyb!+Bx#a*|YgL5F?3{olo({_*MK1d;@Ptufxef zx=PIiH6dzFQL{wN6V$9x^CC4rqQ*=8xT*OUef)r$Hu~5?jX(`gO}GwB08CbGf-mnp zQgUfH6~Z495)CDSKaJp53;0HX#Smfh7uehdHgAE=Szz-;*jxoRPl3%5Vg4goJWL%j zSginS4PgBQZ{T+sCVWc=Gy*X$>WCI;xD3(P=p93JiQX|p^z@)3dY|4gMD->jx}h^f nQfmFVyC%577BLx%X9dV&YE=VWH47+~lG#qGvHxSource code for collections

     
     '''
     
    -__all__ = [
    -    'ChainMap',
    -    'Counter',
    -    'OrderedDict',
    -    'UserDict',
    -    'UserList',
    -    'UserString',
    -    'defaultdict',
    -    'deque',
    -    'namedtuple',
    -]
    +__all__ = ['deque', 'defaultdict', 'namedtuple', 'UserDict', 'UserList',
    +            'UserString', 'Counter', 'OrderedDict', 'ChainMap']
     
     import _collections_abc
    -import heapq as _heapq
    -import sys as _sys
    -
    -from itertools import chain as _chain
    -from itertools import repeat as _repeat
    -from itertools import starmap as _starmap
    +from operator import itemgetter as _itemgetter, eq as _eq
     from keyword import iskeyword as _iskeyword
    -from operator import eq as _eq
    -from operator import itemgetter as _itemgetter
    -from reprlib import recursive_repr as _recursive_repr
    +import sys as _sys
    +import heapq as _heapq
     from _weakref import proxy as _proxy
    +from itertools import repeat as _repeat, chain as _chain, starmap as _starmap
    +from reprlib import recursive_repr as _recursive_repr
     
     try:
         from _collections import deque
    @@ -160,7 +147,6 @@ 

    Source code for collections

             return obj
         raise AttributeError(f'module {__name__!r} has no attribute {name!r}')
     
    -
     ################################################################################
     ### OrderedDict
     ################################################################################
    @@ -398,25 +384,7 @@ 

    Source code for collections

             '''
             if isinstance(other, OrderedDict):
                 return dict.__eq__(self, other) and all(map(_eq, self, other))
    -        return dict.__eq__(self, other)
    -
    -    def __ior__(self, other):
    -        self.update(other)
    -        return self
    -
    -    def __or__(self, other):
    -        if not isinstance(other, dict):
    -            return NotImplemented
    -        new = self.__class__(self)
    -        new.update(other)
    -        return new
    -
    -    def __ror__(self, other):
    -        if not isinstance(other, dict):
    -            return NotImplemented
    -        new = self.__class__(other)
    -        new.update(self)
    -        return new
    + return dict.__eq__(self, other)
    try: @@ -506,23 +474,18 @@

    Source code for collections

         # Variables used in the methods and docstrings
         field_names = tuple(map(_sys.intern, field_names))
         num_fields = len(field_names)
    -    arg_list = ', '.join(field_names)
    -    if num_fields == 1:
    -        arg_list += ','
    +    arg_list = repr(field_names).replace("'", "")[1:-1]
         repr_fmt = '(' + ', '.join(f'{name}=%r' for name in field_names) + ')'
         tuple_new = tuple.__new__
         _dict, _tuple, _len, _map, _zip = dict, tuple, len, map, zip
     
         # Create all the named tuple methods to be added to the class namespace
     
    -    namespace = {
    -        '_tuple_new': tuple_new,
    -        '__builtins__': {},
    -        '__name__': f'namedtuple_{typename}',
    -    }
    -    code = f'lambda _cls, {arg_list}: _tuple_new(_cls, ({arg_list}))'
    -    __new__ = eval(code, namespace)
    -    __new__.__name__ = '__new__'
    +    s = f'def __new__(_cls, {arg_list}): return _tuple_new(_cls, ({arg_list}))'
    +    namespace = {'_tuple_new': tuple_new, '__name__': f'namedtuple_{typename}'}
    +    # Note: exec() has the side-effect of interning the field names
    +    exec(s, namespace)
    +    __new__ = namespace['__new__']
         __new__.__doc__ = f'Create new instance of {typename}({arg_list})'
         if defaults is not None:
             __new__.__defaults__ = defaults
    @@ -559,14 +522,8 @@ 

    Source code for collections

             return _tuple(self)
     
         # Modify function metadata to help with introspection and debugging
    -    for method in (
    -        __new__,
    -        _make.__func__,
    -        _replace,
    -        __repr__,
    -        _asdict,
    -        __getnewargs__,
    -    ):
    +    for method in (__new__, _make.__func__, _replace,
    +                   __repr__, _asdict, __getnewargs__):
             method.__qualname__ = f'{typename}.{method.__name__}'
     
         # Build-up the class namespace dictionary
    @@ -576,6 +533,8 @@ 

    Source code for collections

             '__slots__': (),
             '_fields': field_names,
             '_field_defaults': field_defaults,
    +        # alternate spelling for backward compatibility
    +        '_fields_defaults': field_defaults,
             '__new__': __new__,
             '_make': _make,
             '_replace': _replace,
    @@ -682,7 +641,7 @@ 

    Source code for collections

             >>> c = Counter(a=4, b=2)                   # a new counter from keyword args
     
             '''
    -        super().__init__()
    +        super(Counter, self).__init__()
             self.update(iterable, **kwds)
     
         def __missing__(self, key):
    @@ -766,8 +725,7 @@ 

    Source code for collections

                         for elem, count in iterable.items():
                             self[elem] = count + self_get(elem, 0)
                     else:
    -                    # fast path when counter is empty
    -                    super().update(iterable)
    +                    super(Counter, self).update(iterable) # fast path when counter is empty
                 else:
                     _count_elements(self, iterable)
             if kwds:
    @@ -814,14 +772,13 @@ 

    Source code for collections

     
         def __repr__(self):
             if not self:
    -            return f'{self.__class__.__name__}()'
    +            return '%s()' % self.__class__.__name__
             try:
    -            # dict() preserves the ordering returned by most_common()
    -            d = dict(self.most_common())
    +            items = ', '.join(map('%r: %r'.__mod__, self.most_common()))
    +            return '%s({%s})' % (self.__class__.__name__, items)
             except TypeError:
                 # handle case where values are not orderable
    -            d = dict(self)
    -        return f'{self.__class__.__name__}({d!r})'
    +            return '{0}({1!r})'.format(self.__class__.__name__, dict(self))
     
         # Multiset-style mathematical operations discussed in:
         #       Knuth TAOCP Volume II section 4.6.3 exercise 19
    @@ -1042,7 +999,7 @@ 

    Source code for collections

         def __iter__(self):
             d = {}
             for mapping in reversed(self.maps):
    -            d.update(dict.fromkeys(mapping))    # reuses stored hash values if possible
    +            d.update(mapping)                   # reuses stored hash values if possible
             return iter(d)
     
         def __contains__(self, key):
    @@ -1086,7 +1043,7 @@ 

    Source code for collections

             try:
                 del self.maps[0][key]
             except KeyError:
    -            raise KeyError(f'Key not found in the first mapping: {key!r}')
    +            raise KeyError('Key not found in the first mapping: {!r}'.format(key))
     
         def popitem(self):
             'Remove and return an item pair from maps[0]. Raise KeyError is maps[0] is empty.'
    @@ -1100,31 +1057,12 @@ 

    Source code for collections

             try:
                 return self.maps[0].pop(key, *args)
             except KeyError:
    -            raise KeyError(f'Key not found in the first mapping: {key!r}')
    +            raise KeyError('Key not found in the first mapping: {!r}'.format(key))
     
         def clear(self):
             'Clear maps[0], leaving maps[1:] intact.'
             self.maps[0].clear()
     
    -    def __ior__(self, other):
    -        self.maps[0].update(other)
    -        return self
    -
    -    def __or__(self, other):
    -        if not isinstance(other, _collections_abc.Mapping):
    -            return NotImplemented
    -        m = self.copy()
    -        m.maps[0].update(other)
    -        return m
    -
    -    def __ror__(self, other):
    -        if not isinstance(other, _collections_abc.Mapping):
    -            return NotImplemented
    -        m = dict(other)
    -        for child in reversed(self.maps):
    -            m.update(child)
    -        return self.__class__(m)
    -
     
     ################################################################################
     ### UserDict
    @@ -1133,29 +1071,38 @@ 

    Source code for collections

     class UserDict(_collections_abc.MutableMapping):
     
         # Start by filling-out the abstract methods
    -    def __init__(self, dict=None, /, **kwargs):
    +    def __init__(*args, **kwargs):
    +        if not args:
    +            raise TypeError("descriptor '__init__' of 'UserDict' object "
    +                            "needs an argument")
    +        self, *args = args
    +        if len(args) > 1:
    +            raise TypeError('expected at most 1 arguments, got %d' % len(args))
    +        if args:
    +            dict = args[0]
    +        elif 'dict' in kwargs:
    +            dict = kwargs.pop('dict')
    +            import warnings
    +            warnings.warn("Passing 'dict' as keyword argument is deprecated",
    +                          DeprecationWarning, stacklevel=2)
    +        else:
    +            dict = None
             self.data = {}
             if dict is not None:
                 self.update(dict)
             if kwargs:
                 self.update(kwargs)
    +    __init__.__text_signature__ = '($self, dict=None, /, **kwargs)'
     
    -    def __len__(self):
    -        return len(self.data)
    -
    +    def __len__(self): return len(self.data)
         def __getitem__(self, key):
             if key in self.data:
                 return self.data[key]
             if hasattr(self.__class__, "__missing__"):
                 return self.__class__.__missing__(self, key)
             raise KeyError(key)
    -
    -    def __setitem__(self, key, item):
    -        self.data[key] = item
    -
    -    def __delitem__(self, key):
    -        del self.data[key]
    -
    +    def __setitem__(self, key, item): self.data[key] = item
    +    def __delitem__(self, key): del self.data[key]
         def __iter__(self):
             return iter(self.data)
     
    @@ -1164,30 +1111,7 @@ 

    Source code for collections

             return key in self.data
     
         # Now, add the methods in dicts but not in MutableMapping
    -    def __repr__(self):
    -        return repr(self.data)
    -
    -    def __or__(self, other):
    -        if isinstance(other, UserDict):
    -            return self.__class__(self.data | other.data)
    -        if isinstance(other, dict):
    -            return self.__class__(self.data | other)
    -        return NotImplemented
    -
    -    def __ror__(self, other):
    -        if isinstance(other, UserDict):
    -            return self.__class__(other.data | self.data)
    -        if isinstance(other, dict):
    -            return self.__class__(other | self.data)
    -        return NotImplemented
    -
    -    def __ior__(self, other):
    -        if isinstance(other, UserDict):
    -            self.data |= other.data
    -        else:
    -            self.data |= other
    -        return self
    -
    +    def __repr__(self): return repr(self.data)
         def __copy__(self):
             inst = self.__class__.__new__(self.__class__)
             inst.__dict__.update(self.__dict__)
    @@ -1216,13 +1140,13 @@ 

    Source code for collections

             return d
     
     
    +
     ################################################################################
     ### UserList
     ################################################################################
     
     class UserList(_collections_abc.MutableSequence):
         """A more or less complete user-defined wrapper around list objects."""
    -
         def __init__(self, initlist=None):
             self.data = []
             if initlist is not None:
    @@ -1233,60 +1157,35 @@ 

    Source code for collections

                     self.data[:] = initlist.data[:]
                 else:
                     self.data = list(initlist)
    -
    -    def __repr__(self):
    -        return repr(self.data)
    -
    -    def __lt__(self, other):
    -        return self.data < self.__cast(other)
    -
    -    def __le__(self, other):
    -        return self.data <= self.__cast(other)
    -
    -    def __eq__(self, other):
    -        return self.data == self.__cast(other)
    -
    -    def __gt__(self, other):
    -        return self.data > self.__cast(other)
    -
    -    def __ge__(self, other):
    -        return self.data >= self.__cast(other)
    -
    +    def __repr__(self): return repr(self.data)
    +    def __lt__(self, other): return self.data <  self.__cast(other)
    +    def __le__(self, other): return self.data <= self.__cast(other)
    +    def __eq__(self, other): return self.data == self.__cast(other)
    +    def __gt__(self, other): return self.data >  self.__cast(other)
    +    def __ge__(self, other): return self.data >= self.__cast(other)
         def __cast(self, other):
             return other.data if isinstance(other, UserList) else other
    -
    -    def __contains__(self, item):
    -        return item in self.data
    -
    -    def __len__(self):
    -        return len(self.data)
    -
    +    def __contains__(self, item): return item in self.data
    +    def __len__(self): return len(self.data)
         def __getitem__(self, i):
             if isinstance(i, slice):
                 return self.__class__(self.data[i])
             else:
                 return self.data[i]
    -
    -    def __setitem__(self, i, item):
    -        self.data[i] = item
    -
    -    def __delitem__(self, i):
    -        del self.data[i]
    -
    +    def __setitem__(self, i, item): self.data[i] = item
    +    def __delitem__(self, i): del self.data[i]
         def __add__(self, other):
             if isinstance(other, UserList):
                 return self.__class__(self.data + other.data)
             elif isinstance(other, type(self.data)):
                 return self.__class__(self.data + other)
             return self.__class__(self.data + list(other))
    -
         def __radd__(self, other):
             if isinstance(other, UserList):
                 return self.__class__(other.data + self.data)
             elif isinstance(other, type(self.data)):
                 return self.__class__(other + self.data)
             return self.__class__(list(other) + self.data)
    -
         def __iadd__(self, other):
             if isinstance(other, UserList):
                 self.data += other.data
    @@ -1295,53 +1194,28 @@ 

    Source code for collections

             else:
                 self.data += list(other)
             return self
    -
         def __mul__(self, n):
    -        return self.__class__(self.data * n)
    -
    +        return self.__class__(self.data*n)
         __rmul__ = __mul__
    -
         def __imul__(self, n):
             self.data *= n
             return self
    -
         def __copy__(self):
             inst = self.__class__.__new__(self.__class__)
             inst.__dict__.update(self.__dict__)
             # Create a copy and avoid triggering descriptors
             inst.__dict__["data"] = self.__dict__["data"][:]
             return inst
    -
    -    def append(self, item):
    -        self.data.append(item)
    -
    -    def insert(self, i, item):
    -        self.data.insert(i, item)
    -
    -    def pop(self, i=-1):
    -        return self.data.pop(i)
    -
    -    def remove(self, item):
    -        self.data.remove(item)
    -
    -    def clear(self):
    -        self.data.clear()
    -
    -    def copy(self):
    -        return self.__class__(self)
    -
    -    def count(self, item):
    -        return self.data.count(item)
    -
    -    def index(self, item, *args):
    -        return self.data.index(item, *args)
    -
    -    def reverse(self):
    -        self.data.reverse()
    -
    -    def sort(self, /, *args, **kwds):
    -        self.data.sort(*args, **kwds)
    -
    +    def append(self, item): self.data.append(item)
    +    def insert(self, i, item): self.data.insert(i, item)
    +    def pop(self, i=-1): return self.data.pop(i)
    +    def remove(self, item): self.data.remove(item)
    +    def clear(self): self.data.clear()
    +    def copy(self): return self.__class__(self)
    +    def count(self, item): return self.data.count(item)
    +    def index(self, item, *args): return self.data.index(item, *args)
    +    def reverse(self): self.data.reverse()
    +    def sort(self, /, *args, **kwds): self.data.sort(*args, **kwds)
         def extend(self, other):
             if isinstance(other, UserList):
                 self.data.extend(other.data)
    @@ -1349,12 +1223,12 @@ 

    Source code for collections

                 self.data.extend(other)
     
     
    +
     ################################################################################
     ### UserString
     ################################################################################
     
     class UserString(_collections_abc.Sequence):
    -
         def __init__(self, seq):
             if isinstance(seq, str):
                 self.data = seq
    @@ -1362,25 +1236,12 @@ 

    Source code for collections

                 self.data = seq.data[:]
             else:
                 self.data = str(seq)
    -
    -    def __str__(self):
    -        return str(self.data)
    -
    -    def __repr__(self):
    -        return repr(self.data)
    -
    -    def __int__(self):
    -        return int(self.data)
    -
    -    def __float__(self):
    -        return float(self.data)
    -
    -    def __complex__(self):
    -        return complex(self.data)
    -
    -    def __hash__(self):
    -        return hash(self.data)
    -
    +    def __str__(self): return str(self.data)
    +    def __repr__(self): return repr(self.data)
    +    def __int__(self): return int(self.data)
    +    def __float__(self): return float(self.data)
    +    def __complex__(self): return complex(self.data)
    +    def __hash__(self): return hash(self.data)
         def __getnewargs__(self):
             return (self.data[:],)
     
    @@ -1388,22 +1249,18 @@ 

    Source code for collections

             if isinstance(string, UserString):
                 return self.data == string.data
             return self.data == string
    -
         def __lt__(self, string):
             if isinstance(string, UserString):
                 return self.data < string.data
             return self.data < string
    -
         def __le__(self, string):
             if isinstance(string, UserString):
                 return self.data <= string.data
             return self.data <= string
    -
         def __gt__(self, string):
             if isinstance(string, UserString):
                 return self.data > string.data
             return self.data > string
    -
         def __ge__(self, string):
             if isinstance(string, UserString):
                 return self.data >= string.data
    @@ -1414,191 +1271,105 @@ 

    Source code for collections

                 char = char.data
             return char in self.data
     
    -    def __len__(self):
    -        return len(self.data)
    -
    -    def __getitem__(self, index):
    -        return self.__class__(self.data[index])
    -
    +    def __len__(self): return len(self.data)
    +    def __getitem__(self, index): return self.__class__(self.data[index])
         def __add__(self, other):
             if isinstance(other, UserString):
                 return self.__class__(self.data + other.data)
             elif isinstance(other, str):
                 return self.__class__(self.data + other)
             return self.__class__(self.data + str(other))
    -
         def __radd__(self, other):
             if isinstance(other, str):
                 return self.__class__(other + self.data)
             return self.__class__(str(other) + self.data)
    -
         def __mul__(self, n):
    -        return self.__class__(self.data * n)
    -
    +        return self.__class__(self.data*n)
         __rmul__ = __mul__
    -
         def __mod__(self, args):
             return self.__class__(self.data % args)
    -
         def __rmod__(self, template):
             return self.__class__(str(template) % self)
    -
         # the following methods are defined in alphabetical order:
    -    def capitalize(self):
    -        return self.__class__(self.data.capitalize())
    -
    +    def capitalize(self): return self.__class__(self.data.capitalize())
         def casefold(self):
             return self.__class__(self.data.casefold())
    -
         def center(self, width, *args):
             return self.__class__(self.data.center(width, *args))
    -
         def count(self, sub, start=0, end=_sys.maxsize):
             if isinstance(sub, UserString):
                 sub = sub.data
             return self.data.count(sub, start, end)
    -
    -    def removeprefix(self, prefix, /):
    -        if isinstance(prefix, UserString):
    -            prefix = prefix.data
    -        return self.__class__(self.data.removeprefix(prefix))
    -
    -    def removesuffix(self, suffix, /):
    -        if isinstance(suffix, UserString):
    -            suffix = suffix.data
    -        return self.__class__(self.data.removesuffix(suffix))
    -
         def encode(self, encoding='utf-8', errors='strict'):
             encoding = 'utf-8' if encoding is None else encoding
             errors = 'strict' if errors is None else errors
             return self.data.encode(encoding, errors)
    -
         def endswith(self, suffix, start=0, end=_sys.maxsize):
             return self.data.endswith(suffix, start, end)
    -
         def expandtabs(self, tabsize=8):
             return self.__class__(self.data.expandtabs(tabsize))
    -
         def find(self, sub, start=0, end=_sys.maxsize):
             if isinstance(sub, UserString):
                 sub = sub.data
             return self.data.find(sub, start, end)
    -
         def format(self, /, *args, **kwds):
             return self.data.format(*args, **kwds)
    -
         def format_map(self, mapping):
             return self.data.format_map(mapping)
    -
         def index(self, sub, start=0, end=_sys.maxsize):
             return self.data.index(sub, start, end)
    -
    -    def isalpha(self):
    -        return self.data.isalpha()
    -
    -    def isalnum(self):
    -        return self.data.isalnum()
    -
    -    def isascii(self):
    -        return self.data.isascii()
    -
    -    def isdecimal(self):
    -        return self.data.isdecimal()
    -
    -    def isdigit(self):
    -        return self.data.isdigit()
    -
    -    def isidentifier(self):
    -        return self.data.isidentifier()
    -
    -    def islower(self):
    -        return self.data.islower()
    -
    -    def isnumeric(self):
    -        return self.data.isnumeric()
    -
    -    def isprintable(self):
    -        return self.data.isprintable()
    -
    -    def isspace(self):
    -        return self.data.isspace()
    -
    -    def istitle(self):
    -        return self.data.istitle()
    -
    -    def isupper(self):
    -        return self.data.isupper()
    -
    -    def join(self, seq):
    -        return self.data.join(seq)
    -
    +    def isalpha(self): return self.data.isalpha()
    +    def isalnum(self): return self.data.isalnum()
    +    def isascii(self): return self.data.isascii()
    +    def isdecimal(self): return self.data.isdecimal()
    +    def isdigit(self): return self.data.isdigit()
    +    def isidentifier(self): return self.data.isidentifier()
    +    def islower(self): return self.data.islower()
    +    def isnumeric(self): return self.data.isnumeric()
    +    def isprintable(self): return self.data.isprintable()
    +    def isspace(self): return self.data.isspace()
    +    def istitle(self): return self.data.istitle()
    +    def isupper(self): return self.data.isupper()
    +    def join(self, seq): return self.data.join(seq)
         def ljust(self, width, *args):
             return self.__class__(self.data.ljust(width, *args))
    -
    -    def lower(self):
    -        return self.__class__(self.data.lower())
    -
    -    def lstrip(self, chars=None):
    -        return self.__class__(self.data.lstrip(chars))
    -
    +    def lower(self): return self.__class__(self.data.lower())
    +    def lstrip(self, chars=None): return self.__class__(self.data.lstrip(chars))
         maketrans = str.maketrans
    -
         def partition(self, sep):
             return self.data.partition(sep)
    -
         def replace(self, old, new, maxsplit=-1):
             if isinstance(old, UserString):
                 old = old.data
             if isinstance(new, UserString):
                 new = new.data
             return self.__class__(self.data.replace(old, new, maxsplit))
    -
         def rfind(self, sub, start=0, end=_sys.maxsize):
             if isinstance(sub, UserString):
                 sub = sub.data
             return self.data.rfind(sub, start, end)
    -
         def rindex(self, sub, start=0, end=_sys.maxsize):
             return self.data.rindex(sub, start, end)
    -
         def rjust(self, width, *args):
             return self.__class__(self.data.rjust(width, *args))
    -
         def rpartition(self, sep):
             return self.data.rpartition(sep)
    -
         def rstrip(self, chars=None):
             return self.__class__(self.data.rstrip(chars))
    -
         def split(self, sep=None, maxsplit=-1):
             return self.data.split(sep, maxsplit)
    -
         def rsplit(self, sep=None, maxsplit=-1):
             return self.data.rsplit(sep, maxsplit)
    -
    -    def splitlines(self, keepends=False):
    -        return self.data.splitlines(keepends)
    -
    +    def splitlines(self, keepends=False): return self.data.splitlines(keepends)
         def startswith(self, prefix, start=0, end=_sys.maxsize):
             return self.data.startswith(prefix, start, end)
    -
    -    def strip(self, chars=None):
    -        return self.__class__(self.data.strip(chars))
    -
    -    def swapcase(self):
    -        return self.__class__(self.data.swapcase())
    -
    -    def title(self):
    -        return self.__class__(self.data.title())
    -
    +    def strip(self, chars=None): return self.__class__(self.data.strip(chars))
    +    def swapcase(self): return self.__class__(self.data.swapcase())
    +    def title(self): return self.__class__(self.data.title())
         def translate(self, *args):
             return self.__class__(self.data.translate(*args))
    -
    -    def upper(self):
    -        return self.__class__(self.data.upper())
    -
    -    def zfill(self, width):
    -        return self.__class__(self.data.zfill(width))
    +    def upper(self): return self.__class__(self.data.upper())
    +    def zfill(self, width): return self.__class__(self.data.zfill(width))
     
    @@ -1618,7 +1389,7 @@

    Source code for collections

           ©Copyright (C) 2017-2022.
           
           |
    -      Powered by Sphinx 4.4.0
    +      Powered by Sphinx 4.1.1
           & Alabaster 0.7.12
           
         
    diff --git a/docs/build/html/_modules/index.html b/docs/build/html/_modules/index.html index bf0e1e5c..d1f4d7cf 100644 --- a/docs/build/html/_modules/index.html +++ b/docs/build/html/_modules/index.html @@ -128,7 +128,7 @@

    All modules for which code is available

    ©Copyright (C) 2017-2022. | - Powered by Sphinx 4.4.0 + Powered by
    Sphinx 4.1.1 & Alabaster 0.7.12
    diff --git a/docs/build/html/_modules/plotly/offline/offline.html b/docs/build/html/_modules/plotly/offline/offline.html index 3a9247a1..f45be670 100644 --- a/docs/build/html/_modules/plotly/offline/offline.html +++ b/docs/build/html/_modules/plotly/offline/offline.html @@ -950,7 +950,7 @@

    Source code for plotly.offline.offline

           ©Copyright (C) 2017-2022.
           
           |
    -      Powered by Sphinx 4.4.0
    +      Powered by Sphinx 4.1.1
           & Alabaster 0.7.12
           
         
    diff --git a/docs/build/html/_modules/scipy/spatial/kdtree.html b/docs/build/html/_modules/scipy/spatial/kdtree.html index 6992b244..e4fe7acf 100644 --- a/docs/build/html/_modules/scipy/spatial/kdtree.html +++ b/docs/build/html/_modules/scipy/spatial/kdtree.html @@ -94,8 +94,8 @@

    Source code for scipy.spatial.kdtree

     # Copyright Anne M. Archibald 2008
     # Released under the scipy license
     import numpy as np
    -import warnings
    -from .ckdtree import cKDTree, cKDTreeNode
    +from heapq import heappush, heappop
    +import scipy.sparse
     
     __all__ = ['minkowski_distance_p', 'minkowski_distance',
                'distance_matrix',
    @@ -103,7 +103,8 @@ 

    Source code for scipy.spatial.kdtree

     
     
     def minkowski_distance_p(x, y, p=2):
    -    """Compute the pth power of the L**p distance between two arrays.
    +    """
    +    Compute the pth power of the L**p distance between two arrays.
     
         For efficiency, this function computes the L**p distance but does
         not extract the pth root. If `p` is 1 or infinity, this is equal to
    @@ -145,7 +146,8 @@ 

    Source code for scipy.spatial.kdtree

     
     
     def minkowski_distance(x, y, p=2):
    -    """Compute the L**p distance between two arrays.
    +    """
    +    Compute the L**p distance between two arrays.
     
         Parameters
         ----------
    @@ -171,7 +173,7 @@ 

    Source code for scipy.spatial.kdtree

             return minkowski_distance_p(x, y, p)**(1./p)
     
     
    -class Rectangle:
    +class Rectangle(object):
         """Hyperrectangle class.
     
         Represents a Cartesian product of intervals.
    @@ -190,7 +192,8 @@ 

    Source code for scipy.spatial.kdtree

             return np.prod(self.maxes-self.mins)
     
         def split(self, d, split):
    -        """Produce two hyperrectangles by splitting.
    +        """
    +        Produce two hyperrectangles by splitting.
     
             In general, if you need to compute maximum and minimum
             distances to the children, it can be done more efficiently
    @@ -214,8 +217,7 @@ 

    Source code for scipy.spatial.kdtree

     
         def min_distance_point(self, x, p=2.):
             """
    -        Return the minimum distance between input and points in the
    -        hyperrectangle.
    +        Return the minimum distance between input and points in the hyperrectangle.
     
             Parameters
             ----------
    @@ -225,10 +227,7 @@ 

    Source code for scipy.spatial.kdtree

                 Input.
     
             """
    -        return minkowski_distance(
    -            0, np.maximum(0, np.maximum(self.mins-x, x-self.maxes)),
    -            p
    -        )
    +        return minkowski_distance(0, np.maximum(0,np.maximum(self.mins-x,x-self.maxes)),p)
     
         def max_distance_point(self, x, p=2.):
             """
    @@ -242,7 +241,7 @@ 

    Source code for scipy.spatial.kdtree

                 Input.
     
             """
    -        return minkowski_distance(0, np.maximum(self.maxes-x, x-self.mins), p)
    +        return minkowski_distance(0, np.maximum(self.maxes-x,x-self.mins),p)
     
         def min_distance_rectangle(self, other, p=2.):
             """
    @@ -256,12 +255,7 @@ 

    Source code for scipy.spatial.kdtree

                 Input.
     
             """
    -        return minkowski_distance(
    -            0,
    -            np.maximum(0, np.maximum(self.mins-other.maxes,
    -                                     other.mins-self.maxes)),
    -            p
    -        )
    +        return minkowski_distance(0, np.maximum(0,np.maximum(self.mins-other.maxes,other.mins-self.maxes)),p)
     
         def max_distance_rectangle(self, other, p=2.):
             """
    @@ -275,46 +269,38 @@ 

    Source code for scipy.spatial.kdtree

                 Input.
     
             """
    -        return minkowski_distance(
    -            0, np.maximum(self.maxes-other.mins, other.maxes-self.mins), p)
    +        return minkowski_distance(0, np.maximum(self.maxes-other.mins,other.maxes-self.mins),p)
     
     
    -
    [docs]class KDTree(cKDTree): - """kd-tree for quick nearest-neighbor lookup. +
    [docs]class KDTree(object): + """ + kd-tree for quick nearest-neighbor lookup - This class provides an index into a set of k-dimensional points - which can be used to rapidly look up the nearest neighbors of any - point. + This class provides an index into a set of k-D points which + can be used to rapidly look up the nearest neighbors of any point. Parameters ---------- - data : array_like, shape (n,m) - The n data points of dimension m to be indexed. This array is - not copied unless this is necessary to produce a contiguous - array of doubles, and so modifying this data will result in - bogus results. The data are also copied if the kd-tree is built - with copy_data=True. - leafsize : positive int, optional + data : (N,K) array_like + The data points to be indexed. This array is not copied, and + so modifying this data will result in bogus results. + leafsize : int, optional The number of points at which the algorithm switches over to - brute-force. Default: 10. - compact_nodes : bool, optional - If True, the kd-tree is built to shrink the hyperrectangles to - the actual data range. This usually gives a more compact tree that - is robust against degenerated input data and gives faster queries - at the expense of longer build time. Default: True. - copy_data : bool, optional - If True the data is always copied to protect the kd-tree against - data corruption. Default: False. - balanced_tree : bool, optional - If True, the median is used to split the hyperrectangles instead of - the midpoint. This usually gives a more compact tree and - faster queries at the expense of longer build time. Default: True. - boxsize : array_like or scalar, optional - Apply a m-d toroidal topology to the KDTree.. The topology is generated - by :math:`x_i + n_i L_i` where :math:`n_i` are integers and :math:`L_i` - is the boxsize along i-th dimension. The input data shall be wrapped - into :math:`[0, L_i)`. A ValueError is raised if any of the data is - outside of this bound. + brute-force. Has to be positive. + + Raises + ------ + RuntimeError + The maximum recursion limit can be exceeded for large data + sets. If this happens, either increase the value for the `leafsize` + parameter or increase the recursion limit by:: + + >>> import sys + >>> sys.setrecursionlimit(10000) + + See Also + -------- + cKDTree : Implementation of `KDTree` in Cython Notes ----- @@ -337,45 +323,27 @@

    Source code for scipy.spatial.kdtree

         significantly faster than brute force. High-dimensional nearest-neighbor
         queries are a substantial open problem in computer science.
     
    -    Attributes
    -    ----------
    -    data : ndarray, shape (n,m)
    -        The n data points of dimension m to be indexed. This array is
    -        not copied unless this is necessary to produce a contiguous
    -        array of doubles. The data are also copied if the kd-tree is built
    -        with `copy_data=True`.
    -    leafsize : positive int
    -        The number of points at which the algorithm switches over to
    -        brute-force.
    -    m : int
    -        The dimension of a single data-point.
    -    n : int
    -        The number of data points.
    -    maxes : ndarray, shape (m,)
    -        The maximum value in each dimension of the n data points.
    -    mins : ndarray, shape (m,)
    -        The minimum value in each dimension of the n data points.
    -    size : int
    -        The number of nodes in the tree.
    +    The tree also supports all-neighbors queries, both with arrays of points
    +    and with other kd-trees. These do use a reasonably efficient algorithm,
    +    but the kd-tree is not necessarily the best data structure for this
    +    sort of calculation.
     
         """
    +    def __init__(self, data, leafsize=10):
    +        self.data = np.asarray(data)
    +        if self.data.dtype.kind == 'c':
    +            raise TypeError("KDTree does not work with complex data")
     
    -
    [docs] class node: - @staticmethod - def _create(ckdtree_node=None): - """Create either an inner or leaf node, wrapping a cKDTreeNode instance""" - if ckdtree_node is None: - return KDTree.node(ckdtree_node) - elif ckdtree_node.split_dim == -1: - return KDTree.leafnode(ckdtree_node) - else: - return KDTree.innernode(ckdtree_node) + self.n, self.m = np.shape(self.data) + self.leafsize = int(leafsize) + if self.leafsize < 1: + raise ValueError("leafsize must be at least 1") + self.maxes = np.amax(self.data,axis=0) + self.mins = np.amin(self.data,axis=0) - def __init__(self, ckdtree_node=None): - if ckdtree_node is None: - ckdtree_node = cKDTreeNode() - self._node = ckdtree_node + self.tree = self.__build(np.arange(self.n), self.maxes, self.mins) +
    [docs] class node(object): def __lt__(self, other): return id(self) < id(other) @@ -392,227 +360,327 @@

    Source code for scipy.spatial.kdtree

                 return id(self) == id(other)
    [docs] class leafnode(node): - @property - def idx(self): - return self._node.indices - - @property - def children(self): - return self._node.children
    + def __init__(self, idx): + self.idx = idx + self.children = len(idx)
    [docs] class innernode(node): - def __init__(self, ckdtreenode): - assert isinstance(ckdtreenode, cKDTreeNode) - super().__init__(ckdtreenode) - self.less = KDTree.node._create(ckdtreenode.lesser) - self.greater = KDTree.node._create(ckdtreenode.greater) - - @property - def split_dim(self): - return self._node.split_dim - - @property - def split(self): - return self._node.split - - @property - def children(self): - return self._node.children
    - - @property - def tree(self): - if not hasattr(self, "_tree"): - self._tree = KDTree.node._create(super().tree) - - return self._tree - - def __init__(self, data, leafsize=10, compact_nodes=True, copy_data=False, - balanced_tree=True, boxsize=None): - data = np.asarray(data) - if data.dtype.kind == 'c': - raise TypeError("KDTree does not work with complex data") - - # Note KDTree has different default leafsize from cKDTree - super().__init__(data, leafsize, compact_nodes, copy_data, - balanced_tree, boxsize) + def __init__(self, split_dim, split, less, greater): + self.split_dim = split_dim + self.split = split + self.less = less + self.greater = greater + self.children = less.children+greater.children
    + + def __build(self, idx, maxes, mins): + if len(idx) <= self.leafsize: + return KDTree.leafnode(idx) + else: + data = self.data[idx] + # maxes = np.amax(data,axis=0) + # mins = np.amin(data,axis=0) + d = np.argmax(maxes-mins) + maxval = maxes[d] + minval = mins[d] + if maxval == minval: + # all points are identical; warn user? + return KDTree.leafnode(idx) + data = data[:,d] + + # sliding midpoint rule; see Maneewongvatana and Mount 1999 + # for arguments that this is a good idea. + split = (maxval+minval)/2 + less_idx = np.nonzero(data <= split)[0] + greater_idx = np.nonzero(data > split)[0] + if len(less_idx) == 0: + split = np.amin(data) + less_idx = np.nonzero(data <= split)[0] + greater_idx = np.nonzero(data > split)[0] + if len(greater_idx) == 0: + split = np.amax(data) + less_idx = np.nonzero(data < split)[0] + greater_idx = np.nonzero(data >= split)[0] + if len(less_idx) == 0: + # _still_ zero? all must have the same value + if not np.all(data == data[0]): + raise ValueError("Troublesome data array: %s" % data) + split = data[0] + less_idx = np.arange(len(data)-1) + greater_idx = np.array([len(data)-1]) + + lessmaxes = np.copy(maxes) + lessmaxes[d] = split + greatermins = np.copy(mins) + greatermins[d] = split + return KDTree.innernode(d, split, + self.__build(idx[less_idx],lessmaxes,mins), + self.__build(idx[greater_idx],maxes,greatermins)) + + def __query(self, x, k=1, eps=0, p=2, distance_upper_bound=np.inf): + + side_distances = np.maximum(0,np.maximum(x-self.maxes,self.mins-x)) + if p != np.inf: + side_distances **= p + min_distance = np.sum(side_distances) + else: + min_distance = np.amax(side_distances) + + # priority queue for chasing nodes + # entries are: + # minimum distance between the cell and the target + # distances between the nearest side of the cell and the target + # the head node of the cell + q = [(min_distance, + tuple(side_distances), + self.tree)] + # priority queue for the nearest neighbors + # furthest known neighbor first + # entries are (-distance**p, i) + neighbors = [] + + if eps == 0: + epsfac = 1 + elif p == np.inf: + epsfac = 1/(1+eps) + else: + epsfac = 1/(1+eps)**p + + if p != np.inf and distance_upper_bound != np.inf: + distance_upper_bound = distance_upper_bound**p + + while q: + min_distance, side_distances, node = heappop(q) + if isinstance(node, KDTree.leafnode): + # brute-force + data = self.data[node.idx] + ds = minkowski_distance_p(data,x[np.newaxis,:],p) + for i in range(len(ds)): + if ds[i] < distance_upper_bound: + if len(neighbors) == k: + heappop(neighbors) + heappush(neighbors, (-ds[i], node.idx[i])) + if len(neighbors) == k: + distance_upper_bound = -neighbors[0][0] + else: + # we don't push cells that are too far onto the queue at all, + # but since the distance_upper_bound decreases, we might get + # here even if the cell's too far + if min_distance > distance_upper_bound*epsfac: + # since this is the nearest cell, we're done, bail out + break + # compute minimum distances to the children and push them on + if x[node.split_dim] < node.split: + near, far = node.less, node.greater + else: + near, far = node.greater, node.less + + # near child is at the same distance as the current node + heappush(q,(min_distance, side_distances, near)) + + # far child is further by an amount depending only + # on the split value + sd = list(side_distances) + if p == np.inf: + min_distance = max(min_distance, abs(node.split-x[node.split_dim])) + elif p == 1: + sd[node.split_dim] = np.abs(node.split-x[node.split_dim]) + min_distance = min_distance - side_distances[node.split_dim] + sd[node.split_dim] + else: + sd[node.split_dim] = np.abs(node.split-x[node.split_dim])**p + min_distance = min_distance - side_distances[node.split_dim] + sd[node.split_dim] + + # far child might be too far, if so, don't bother pushing it + if min_distance <= distance_upper_bound*epsfac: + heappush(q,(min_distance, tuple(sd), far)) + + if p == np.inf: + return sorted([(-d,i) for (d,i) in neighbors]) + else: + return sorted([((-d)**(1./p),i) for (d,i) in neighbors]) -
    [docs] def query( - self, x, k=1, eps=0, p=2, distance_upper_bound=np.inf, workers=1): - r"""Query the kd-tree for nearest neighbors. +
    [docs] def query(self, x, k=1, eps=0, p=2, distance_upper_bound=np.inf): + """ + Query the kd-tree for nearest neighbors Parameters ---------- x : array_like, last dimension self.m An array of points to query. - k : int or Sequence[int], optional - Either the number of nearest neighbors to return, or a list of the - k-th nearest neighbors to return, starting from 1. + k : int, optional + The number of nearest neighbors to return. eps : nonnegative float, optional Return approximate nearest neighbors; the kth returned value is guaranteed to be no further than (1+eps) times the distance to the real kth nearest neighbor. p : float, 1<=p<=infinity, optional Which Minkowski p-norm to use. - 1 is the sum-of-absolute-values distance ("Manhattan" distance). - 2 is the usual Euclidean distance. - infinity is the maximum-coordinate-difference distance. - A large, finite p may cause a ValueError if overflow can occur. + 1 is the sum-of-absolute-values "Manhattan" distance + 2 is the usual Euclidean distance + infinity is the maximum-coordinate-difference distance distance_upper_bound : nonnegative float, optional Return only neighbors within this distance. This is used to prune tree searches, so if you are doing a series of nearest-neighbor queries, it may help to supply the distance to the nearest neighbor of the most recent point. - workers : int, optional - Number of workers to use for parallel processing. If -1 is given - all CPU threads are used. Default: 1. - - .. versionadded:: 1.6.0 Returns ------- d : float or array of floats The distances to the nearest neighbors. - If ``x`` has shape ``tuple+(self.m,)``, then ``d`` has shape - ``tuple+(k,)``. - When k == 1, the last dimension of the output is squeezed. - Missing neighbors are indicated with infinite distances. - Hits are sorted by distance (nearest first). - - .. deprecated:: 1.6.0 - If ``k=None``, then ``d`` is an object array of shape ``tuple``, - containing lists of distances. This behavior is deprecated and - will be removed in SciPy 1.8.0, use ``query_ball_point`` - instead. - + If x has shape tuple+(self.m,), then d has shape tuple if + k is one, or tuple+(k,) if k is larger than one. Missing + neighbors (e.g. when k > n or distance_upper_bound is + given) are indicated with infinite distances. If k is None, + then d is an object array of shape tuple, containing lists + of distances. In either case the hits are sorted by distance + (nearest first). i : integer or array of integers - The index of each neighbor in ``self.data``. - ``i`` is the same shape as d. - Missing neighbors are indicated with ``self.n``. + The locations of the neighbors in self.data. i is the same + shape as d. Examples -------- - - >>> import numpy as np - >>> from scipy.spatial import KDTree + >>> from scipy import spatial >>> x, y = np.mgrid[0:5, 2:8] - >>> tree = KDTree(np.c_[x.ravel(), y.ravel()]) - - To query the nearest neighbours and return squeezed result, use - - >>> dd, ii = tree.query([[0, 0], [2.2, 2.9]], k=1) - >>> print(dd, ii, sep='\n') - [2. 0.2236068] - [ 0 13] - - To query the nearest neighbours and return unsqueezed result, use - - >>> dd, ii = tree.query([[0, 0], [2.2, 2.9]], k=[1]) - >>> print(dd, ii, sep='\n') - [[2. ] - [0.2236068]] - [[ 0] - [13]] - - To query the second nearest neighbours and return unsqueezed result, - use - - >>> dd, ii = tree.query([[0, 0], [2.2, 2.9]], k=[2]) - >>> print(dd, ii, sep='\n') - [[2.23606798] - [0.80622577]] - [[ 6] - [19]] - - To query the first and second nearest neighbours, use - - >>> dd, ii = tree.query([[0, 0], [2.2, 2.9]], k=2) - >>> print(dd, ii, sep='\n') - [[2. 2.23606798] - [0.2236068 0.80622577]] - [[ 0 6] - [13 19]] - - or, be more specific - - >>> dd, ii = tree.query([[0, 0], [2.2, 2.9]], k=[1, 2]) - >>> print(dd, ii, sep='\n') - [[2. 2.23606798] - [0.2236068 0.80622577]] - [[ 0 6] - [13 19]] + >>> tree = spatial.KDTree(list(zip(x.ravel(), y.ravel()))) + >>> tree.data + array([[0, 2], + [0, 3], + [0, 4], + [0, 5], + [0, 6], + [0, 7], + [1, 2], + [1, 3], + [1, 4], + [1, 5], + [1, 6], + [1, 7], + [2, 2], + [2, 3], + [2, 4], + [2, 5], + [2, 6], + [2, 7], + [3, 2], + [3, 3], + [3, 4], + [3, 5], + [3, 6], + [3, 7], + [4, 2], + [4, 3], + [4, 4], + [4, 5], + [4, 6], + [4, 7]]) + >>> pts = np.array([[0, 0], [2.1, 2.9]]) + >>> tree.query(pts) + (array([ 2. , 0.14142136]), array([ 0, 13])) + >>> tree.query(pts[0]) + (2.0, 0) """ x = np.asarray(x) if x.dtype.kind == 'c': raise TypeError("KDTree does not work with complex data") + if np.shape(x)[-1] != self.m: + raise ValueError("x must consist of vectors of length %d but has shape %s" % (self.m, np.shape(x))) + if p < 1: + raise ValueError("Only p-norms with 1<=p<=infinity permitted") + retshape = np.shape(x)[:-1] + if retshape != (): + if k is None: + dd = np.empty(retshape,dtype=object) + ii = np.empty(retshape,dtype=object) + elif k > 1: + dd = np.empty(retshape+(k,),dtype=float) + dd.fill(np.inf) + ii = np.empty(retshape+(k,),dtype=int) + ii.fill(self.n) + elif k == 1: + dd = np.empty(retshape,dtype=float) + dd.fill(np.inf) + ii = np.empty(retshape,dtype=int) + ii.fill(self.n) + else: + raise ValueError("Requested %s nearest neighbors; acceptable numbers are integers greater than or equal to one, or None") + for c in np.ndindex(retshape): + hits = self.__query(x[c], k=k, eps=eps, p=p, distance_upper_bound=distance_upper_bound) + if k is None: + dd[c] = [d for (d,i) in hits] + ii[c] = [i for (d,i) in hits] + elif k > 1: + for j in range(len(hits)): + dd[c+(j,)], ii[c+(j,)] = hits[j] + elif k == 1: + if len(hits) > 0: + dd[c], ii[c] = hits[0] + else: + dd[c] = np.inf + ii[c] = self.n + return dd, ii + else: + hits = self.__query(x, k=k, eps=eps, p=p, distance_upper_bound=distance_upper_bound) + if k is None: + return [d for (d,i) in hits], [i for (d,i) in hits] + elif k == 1: + if len(hits) > 0: + return hits[0] + else: + return np.inf, self.n + elif k > 1: + dd = np.empty(k,dtype=float) + dd.fill(np.inf) + ii = np.empty(k,dtype=int) + ii.fill(self.n) + for j in range(len(hits)): + dd[j], ii[j] = hits[j] + return dd, ii + else: + raise ValueError("Requested %s nearest neighbors; acceptable numbers are integers greater than or equal to one, or None")
    + + def __query_ball_point(self, x, r, p=2., eps=0): + R = Rectangle(self.maxes, self.mins) + + def traverse_checking(node, rect): + if rect.min_distance_point(x, p) > r / (1. + eps): + return [] + elif rect.max_distance_point(x, p) < r * (1. + eps): + return traverse_no_checking(node) + elif isinstance(node, KDTree.leafnode): + d = self.data[node.idx] + return node.idx[minkowski_distance(d, x, p) <= r].tolist() + else: + less, greater = rect.split(node.split_dim, node.split) + return traverse_checking(node.less, less) + \ + traverse_checking(node.greater, greater) - if k is None: - # k=None, return all neighbors - warnings.warn( - "KDTree.query with k=None is deprecated and will be removed " - "in SciPy 1.8.0. Use KDTree.query_ball_point instead.", - DeprecationWarning) - - # Convert index query to a lists of distance and index, - # sorted by distance - def inds_to_hits(point, neighbors): - dist = minkowski_distance(point, self.data[neighbors], p) - hits = sorted([(d, i) for d, i in zip(dist, neighbors)]) - return [d for d, i in hits], [i for d, i in hits] - - x = np.asarray(x, dtype=np.float64) - inds = super().query_ball_point( - x, distance_upper_bound, p, eps, workers) - - if isinstance(inds, list): - return inds_to_hits(x, inds) - - dists = np.empty_like(inds) - for idx in np.ndindex(inds.shape): - dists[idx], inds[idx] = inds_to_hits(x[idx], inds[idx]) - - return dists, inds + def traverse_no_checking(node): + if isinstance(node, KDTree.leafnode): + return node.idx.tolist() + else: + return traverse_no_checking(node.less) + \ + traverse_no_checking(node.greater) - d, i = super().query(x, k, eps, p, distance_upper_bound, workers) - if isinstance(i, int): - i = np.intp(i) - return d, i
    + return traverse_checking(self.tree, R) -
    [docs] def query_ball_point(self, x, r, p=2., eps=0, workers=1, - return_sorted=None, return_length=False): +
    [docs] def query_ball_point(self, x, r, p=2., eps=0): """Find all points within distance r of point(s) x. Parameters ---------- x : array_like, shape tuple + (self.m,) The point or points to search for neighbors of. - r : array_like, float - The radius of points to return, must broadcast to the length of x. + r : positive float + The radius of points to return. p : float, optional Which Minkowski p-norm to use. Should be in the range [1, inf]. - A finite large p may cause a ValueError if overflow can occur. eps : nonnegative float, optional Approximate search. Branches of the tree are not explored if their nearest points are further than ``r / (1 + eps)``, and branches are added in bulk if their furthest points are nearer than ``r * (1 + eps)``. - workers : int, optional - Number of jobs to schedule for parallel processing. If -1 is given - all processors are used. Default: 1. - - .. versionadded:: 1.6.0 - return_sorted : bool, optional - Sorts returned indicies if True and does not sort them if False. If - None, does not sort single point queries, but does sort - multi-point queries which was the behavior before this option - was added. - - .. versionadded:: 1.6.0 - return_length: bool, optional - Return the number of points inside the radius instead of a list - of the indices. - - .. versionadded:: 1.6.0 Returns ------- @@ -633,7 +701,7 @@

    Source code for scipy.spatial.kdtree

             >>> x, y = np.mgrid[0:5, 0:5]
             >>> points = np.c_[x.ravel(), y.ravel()]
             >>> tree = spatial.KDTree(points)
    -        >>> sorted(tree.query_ball_point([2, 0], 1))
    +        >>> tree.query_ball_point([2, 0], 1)
             [5, 10, 11, 15]
     
             Query multiple points and plot the results:
    @@ -651,13 +719,20 @@ 

    Source code for scipy.spatial.kdtree

             x = np.asarray(x)
             if x.dtype.kind == 'c':
                 raise TypeError("KDTree does not work with complex data")
    -        return super().query_ball_point(
    -            x, r, p, eps, workers, return_sorted, return_length)
    + if x.shape[-1] != self.m: + raise ValueError("Searching for a %d-dimensional point in a " + "%d-dimensional KDTree" % (x.shape[-1], self.m)) + if len(x.shape) == 1: + return self.__query_ball_point(x, r, p, eps) + else: + retshape = x.shape[:-1] + result = np.empty(retshape, dtype=object) + for c in np.ndindex(retshape): + result[c] = self.__query_ball_point(x[c], r, p=p, eps=eps) + return result
    [docs] def query_ball_tree(self, other, r, p=2., eps=0): - """ - Find all pairs of points between `self` and `other` whose distance is - at most r. + """Find all pairs of points whose distance is at most r Parameters ---------- @@ -680,33 +755,54 @@

    Source code for scipy.spatial.kdtree

                 For each element ``self.data[i]`` of this tree, ``results[i]`` is a
                 list of the indices of its neighbors in ``other.data``.
     
    -        Examples
    -        --------
    -        You can search all pairs of points between two kd-trees within a distance:
    -
    -        >>> import matplotlib.pyplot as plt
    -        >>> import numpy as np
    -        >>> from scipy.spatial import KDTree
    -        >>> rng = np.random.default_rng()
    -        >>> points1 = rng.random((15, 2))
    -        >>> points2 = rng.random((15, 2))
    -        >>> plt.figure(figsize=(6, 6))
    -        >>> plt.plot(points1[:, 0], points1[:, 1], "xk", markersize=14)
    -        >>> plt.plot(points2[:, 0], points2[:, 1], "og", markersize=14)
    -        >>> kd_tree1 = KDTree(points1)
    -        >>> kd_tree2 = KDTree(points2)
    -        >>> indexes = kd_tree1.query_ball_tree(kd_tree2, r=0.2)
    -        >>> for i in range(len(indexes)):
    -        ...     for j in indexes[i]:
    -        ...         plt.plot([points1[i, 0], points2[j, 0]],
    -        ...             [points1[i, 1], points2[j, 1]], "-r")
    -        >>> plt.show()
    -
             """
    -        return super().query_ball_tree(other, r, p, eps)
    + results = [[] for i in range(self.n)] + + def traverse_checking(node1, rect1, node2, rect2): + if rect1.min_distance_rectangle(rect2, p) > r/(1.+eps): + return + elif rect1.max_distance_rectangle(rect2, p) < r*(1.+eps): + traverse_no_checking(node1, node2) + elif isinstance(node1, KDTree.leafnode): + if isinstance(node2, KDTree.leafnode): + d = other.data[node2.idx] + for i in node1.idx: + results[i] += node2.idx[minkowski_distance(d,self.data[i],p) <= r].tolist() + else: + less, greater = rect2.split(node2.split_dim, node2.split) + traverse_checking(node1,rect1,node2.less,less) + traverse_checking(node1,rect1,node2.greater,greater) + elif isinstance(node2, KDTree.leafnode): + less, greater = rect1.split(node1.split_dim, node1.split) + traverse_checking(node1.less,less,node2,rect2) + traverse_checking(node1.greater,greater,node2,rect2) + else: + less1, greater1 = rect1.split(node1.split_dim, node1.split) + less2, greater2 = rect2.split(node2.split_dim, node2.split) + traverse_checking(node1.less,less1,node2.less,less2) + traverse_checking(node1.less,less1,node2.greater,greater2) + traverse_checking(node1.greater,greater1,node2.less,less2) + traverse_checking(node1.greater,greater1,node2.greater,greater2) + + def traverse_no_checking(node1, node2): + if isinstance(node1, KDTree.leafnode): + if isinstance(node2, KDTree.leafnode): + for i in node1.idx: + results[i] += node2.idx.tolist() + else: + traverse_no_checking(node1, node2.less) + traverse_no_checking(node1, node2.greater) + else: + traverse_no_checking(node1.less, node2) + traverse_no_checking(node1.greater, node2) -
    [docs] def query_pairs(self, r, p=2., eps=0, output_type='set'): - """Find all pairs of points in `self` whose distance is at most r. + traverse_checking(self.tree, Rectangle(self.maxes, self.mins), + other.tree, Rectangle(other.maxes, other.mins)) + return results
    + +
    [docs] def query_pairs(self, r, p=2., eps=0): + """ + Find all pairs of points within a distance. Parameters ---------- @@ -720,190 +816,177 @@

    Source code for scipy.spatial.kdtree

                 if their nearest points are further than ``r/(1+eps)``, and
                 branches are added in bulk if their furthest points are nearer
                 than ``r * (1+eps)``.  `eps` has to be non-negative.
    -        output_type : string, optional
    -            Choose the output container, 'set' or 'ndarray'. Default: 'set'
    -
    -            .. versionadded:: 1.6.0
     
             Returns
             -------
    -        results : set or ndarray
    +        results : set
                 Set of pairs ``(i,j)``, with ``i < j``, for which the corresponding
    -            positions are close. If output_type is 'ndarray', an ndarry is
    -            returned instead of a set.
    -
    -        Examples
    -        --------
    -        You can search all pairs of points in a kd-tree within a distance:
    -
    -        >>> import matplotlib.pyplot as plt
    -        >>> import numpy as np
    -        >>> from scipy.spatial import KDTree
    -        >>> rng = np.random.default_rng()
    -        >>> points = rng.random((20, 2))
    -        >>> plt.figure(figsize=(6, 6))
    -        >>> plt.plot(points[:, 0], points[:, 1], "xk", markersize=14)
    -        >>> kd_tree = KDTree(points)
    -        >>> pairs = kd_tree.query_pairs(r=0.2)
    -        >>> for (i, j) in pairs:
    -        ...     plt.plot([points[i, 0], points[j, 0]],
    -        ...             [points[i, 1], points[j, 1]], "-r")
    -        >>> plt.show()
    +            positions are close.
     
             """
    -        return super().query_pairs(r, p, eps, output_type)
    - -
    [docs] def count_neighbors(self, other, r, p=2., weights=None, cumulative=True): - """Count how many nearby pairs can be formed. + results = set() + + def traverse_checking(node1, rect1, node2, rect2): + if rect1.min_distance_rectangle(rect2, p) > r/(1.+eps): + return + elif rect1.max_distance_rectangle(rect2, p) < r*(1.+eps): + traverse_no_checking(node1, node2) + elif isinstance(node1, KDTree.leafnode): + if isinstance(node2, KDTree.leafnode): + # Special care to avoid duplicate pairs + if id(node1) == id(node2): + d = self.data[node2.idx] + for i in node1.idx: + for j in node2.idx[minkowski_distance(d,self.data[i],p) <= r]: + if i < j: + results.add((i,j)) + else: + d = self.data[node2.idx] + for i in node1.idx: + for j in node2.idx[minkowski_distance(d,self.data[i],p) <= r]: + if i < j: + results.add((i,j)) + elif j < i: + results.add((j,i)) + else: + less, greater = rect2.split(node2.split_dim, node2.split) + traverse_checking(node1,rect1,node2.less,less) + traverse_checking(node1,rect1,node2.greater,greater) + elif isinstance(node2, KDTree.leafnode): + less, greater = rect1.split(node1.split_dim, node1.split) + traverse_checking(node1.less,less,node2,rect2) + traverse_checking(node1.greater,greater,node2,rect2) + else: + less1, greater1 = rect1.split(node1.split_dim, node1.split) + less2, greater2 = rect2.split(node2.split_dim, node2.split) + traverse_checking(node1.less,less1,node2.less,less2) + traverse_checking(node1.less,less1,node2.greater,greater2) + + # Avoid traversing (node1.less, node2.greater) and + # (node1.greater, node2.less) (it's the same node pair twice + # over, which is the source of the complication in the + # original KDTree.query_pairs) + if id(node1) != id(node2): + traverse_checking(node1.greater,greater1,node2.less,less2) + + traverse_checking(node1.greater,greater1,node2.greater,greater2) + + def traverse_no_checking(node1, node2): + if isinstance(node1, KDTree.leafnode): + if isinstance(node2, KDTree.leafnode): + # Special care to avoid duplicate pairs + if id(node1) == id(node2): + for i in node1.idx: + for j in node2.idx: + if i < j: + results.add((i,j)) + else: + for i in node1.idx: + for j in node2.idx: + if i < j: + results.add((i,j)) + elif j < i: + results.add((j,i)) + else: + traverse_no_checking(node1, node2.less) + traverse_no_checking(node1, node2.greater) + else: + # Avoid traversing (node1.less, node2.greater) and + # (node1.greater, node2.less) (it's the same node pair twice + # over, which is the source of the complication in the + # original KDTree.query_pairs) + if id(node1) == id(node2): + traverse_no_checking(node1.less, node2.less) + traverse_no_checking(node1.less, node2.greater) + traverse_no_checking(node1.greater, node2.greater) + else: + traverse_no_checking(node1.less, node2) + traverse_no_checking(node1.greater, node2) + + traverse_checking(self.tree, Rectangle(self.maxes, self.mins), + self.tree, Rectangle(self.maxes, self.mins)) + return results
    + +
    [docs] def count_neighbors(self, other, r, p=2.): + """ + Count how many nearby pairs can be formed. - Count the number of pairs ``(x1,x2)`` can be formed, with ``x1`` drawn - from ``self`` and ``x2`` drawn from ``other``, and where + Count the number of pairs (x1,x2) can be formed, with x1 drawn + from self and x2 drawn from ``other``, and where ``distance(x1, x2, p) <= r``. - - Data points on ``self`` and ``other`` are optionally weighted by the - ``weights`` argument. (See below) - - This is adapted from the "two-point correlation" algorithm described by - Gray and Moore [1]_. See notes for further discussion. + This is the "two-point correlation" described in Gray and Moore 2000, + "N-body problems in statistical learning", and the code here is based + on their algorithm. Parameters ---------- - other : KDTree - The other tree to draw points from, can be the same tree as self. + other : KDTree instance + The other tree to draw points from. r : float or one-dimensional array of floats The radius to produce a count for. Multiple radii are searched with a single tree traversal. - If the count is non-cumulative(``cumulative=False``), ``r`` defines - the edges of the bins, and must be non-decreasing. - p : float, optional - 1<=p<=infinity. - Which Minkowski p-norm to use. - Default 2.0. - A finite large p may cause a ValueError if overflow can occur. - weights : tuple, array_like, or None, optional - If None, the pair-counting is unweighted. - If given as a tuple, weights[0] is the weights of points in - ``self``, and weights[1] is the weights of points in ``other``; - either can be None to indicate the points are unweighted. - If given as an array_like, weights is the weights of points in - ``self`` and ``other``. For this to make sense, ``self`` and - ``other`` must be the same tree. If ``self`` and ``other`` are two - different trees, a ``ValueError`` is raised. - Default: None - - .. versionadded:: 1.6.0 - cumulative : bool, optional - Whether the returned counts are cumulative. When cumulative is set - to ``False`` the algorithm is optimized to work with a large number - of bins (>10) specified by ``r``. When ``cumulative`` is set to - True, the algorithm is optimized to work with a small number of - ``r``. Default: True - - .. versionadded:: 1.6.0 + p : float, 1<=p<=infinity, optional + Which Minkowski p-norm to use Returns ------- - result : scalar or 1-D array - The number of pairs. For unweighted counts, the result is integer. - For weighted counts, the result is float. - If cumulative is False, ``result[i]`` contains the counts with - ``(-inf if i == 0 else r[i-1]) < R <= r[i]`` - - Notes - ----- - Pair-counting is the basic operation used to calculate the two point - correlation functions from a data set composed of position of objects. - - Two point correlation function measures the clustering of objects and - is widely used in cosmology to quantify the large scale structure - in our Universe, but it may be useful for data analysis in other fields - where self-similar assembly of objects also occur. - - The Landy-Szalay estimator for the two point correlation function of - ``D`` measures the clustering signal in ``D``. [2]_ - - For example, given the position of two sets of objects, - - - objects ``D`` (data) contains the clustering signal, and - - - objects ``R`` (random) that contains no signal, - - .. math:: - - \\xi(r) = \\frac{<D, D> - 2 f <D, R> + f^2<R, R>}{f^2<R, R>}, - - where the brackets represents counting pairs between two data sets - in a finite bin around ``r`` (distance), corresponding to setting - `cumulative=False`, and ``f = float(len(D)) / float(len(R))`` is the - ratio between number of objects from data and random. - - The algorithm implemented here is loosely based on the dual-tree - algorithm described in [1]_. We switch between two different - pair-cumulation scheme depending on the setting of ``cumulative``. - The computing time of the method we use when for - ``cumulative == False`` does not scale with the total number of bins. - The algorithm for ``cumulative == True`` scales linearly with the - number of bins, though it is slightly faster when only - 1 or 2 bins are used. [5]_. - - As an extension to the naive pair-counting, - weighted pair-counting counts the product of weights instead - of number of pairs. - Weighted pair-counting is used to estimate marked correlation functions - ([3]_, section 2.2), - or to properly calculate the average of data per distance bin - (e.g. [4]_, section 2.1 on redshift). - - .. [1] Gray and Moore, - "N-body problems in statistical learning", - Mining the sky, 2000, - https://arxiv.org/abs/astro-ph/0012333 - - .. [2] Landy and Szalay, - "Bias and variance of angular correlation functions", - The Astrophysical Journal, 1993, - http://adsabs.harvard.edu/abs/1993ApJ...412...64L - - .. [3] Sheth, Connolly and Skibba, - "Marked correlations in galaxy formation models", - Arxiv e-print, 2005, - https://arxiv.org/abs/astro-ph/0511773 - - .. [4] Hawkins, et al., - "The 2dF Galaxy Redshift Survey: correlation functions, - peculiar velocities and the matter density of the Universe", - Monthly Notices of the Royal Astronomical Society, 2002, - http://adsabs.harvard.edu/abs/2003MNRAS.346...78H - - .. [5] https://github.com/scipy/scipy/pull/5647#issuecomment-168474926 - - Examples - -------- - You can count neighbors number between two kd-trees within a distance: - - >>> import numpy as np - >>> from scipy.spatial import KDTree - >>> rng = np.random.default_rng() - >>> points1 = rng.random((5, 2)) - >>> points2 = rng.random((5, 2)) - >>> kd_tree1 = KDTree(points1) - >>> kd_tree2 = KDTree(points2) - >>> kd_tree1.count_neighbors(kd_tree2, 0.2) - 1 - - This number is same as the total pair number calculated by - `query_ball_tree`: - - >>> indexes = kd_tree1.query_ball_tree(kd_tree2, r=0.2) - >>> sum([len(i) for i in indexes]) - 1 + result : int or 1-D array of ints + The number of pairs. Note that this is internally stored in a numpy + int, and so may overflow if very large (2e9). """ - return super().count_neighbors(other, r, p, weights, cumulative)
    + def traverse(node1, rect1, node2, rect2, idx): + min_r = rect1.min_distance_rectangle(rect2,p) + max_r = rect1.max_distance_rectangle(rect2,p) + c_greater = r[idx] > max_r + result[idx[c_greater]] += node1.children*node2.children + idx = idx[(min_r <= r[idx]) & (r[idx] <= max_r)] + if len(idx) == 0: + return + + if isinstance(node1,KDTree.leafnode): + if isinstance(node2,KDTree.leafnode): + ds = minkowski_distance(self.data[node1.idx][:,np.newaxis,:], + other.data[node2.idx][np.newaxis,:,:], + p).ravel() + ds.sort() + result[idx] += np.searchsorted(ds,r[idx],side='right') + else: + less, greater = rect2.split(node2.split_dim, node2.split) + traverse(node1, rect1, node2.less, less, idx) + traverse(node1, rect1, node2.greater, greater, idx) + else: + if isinstance(node2,KDTree.leafnode): + less, greater = rect1.split(node1.split_dim, node1.split) + traverse(node1.less, less, node2, rect2, idx) + traverse(node1.greater, greater, node2, rect2, idx) + else: + less1, greater1 = rect1.split(node1.split_dim, node1.split) + less2, greater2 = rect2.split(node2.split_dim, node2.split) + traverse(node1.less,less1,node2.less,less2,idx) + traverse(node1.less,less1,node2.greater,greater2,idx) + traverse(node1.greater,greater1,node2.less,less2,idx) + traverse(node1.greater,greater1,node2.greater,greater2,idx) + + R1 = Rectangle(self.maxes, self.mins) + R2 = Rectangle(other.maxes, other.mins) + if np.shape(r) == (): + r = np.array([r]) + result = np.zeros(1,dtype=int) + traverse(self.tree, R1, other.tree, R2, np.arange(1)) + return result[0] + elif len(np.shape(r)) == 1: + r = np.asarray(r) + n, = r.shape + result = np.zeros(n,dtype=int) + traverse(self.tree, R1, other.tree, R2, np.arange(n)) + return result + else: + raise ValueError("r must be either a single value or a one-dimensional array of values")
    -
    [docs] def sparse_distance_matrix( - self, other, max_distance, p=2., output_type='dok_matrix'): - """Compute a sparse distance matrix. +
    [docs] def sparse_distance_matrix(self, other, max_distance, p=2.): + """ + Compute a sparse distance matrix Computes a distance matrix between two KDTrees, leaving as zero any distance greater than max_distance. @@ -914,60 +997,50 @@

    Source code for scipy.spatial.kdtree

     
             max_distance : positive float
     
    -        p : float, 1<=p<=infinity
    -            Which Minkowski p-norm to use.
    -            A finite large p may cause a ValueError if overflow can occur.
    -
    -        output_type : string, optional
    -            Which container to use for output data. Options: 'dok_matrix',
    -            'coo_matrix', 'dict', or 'ndarray'. Default: 'dok_matrix'.
    -
    -            .. versionadded:: 1.6.0
    +        p : float, optional
     
             Returns
             -------
    -        result : dok_matrix, coo_matrix, dict or ndarray
    -            Sparse matrix representing the results in "dictionary of keys"
    -            format. If a dict is returned the keys are (i,j) tuples of indices.
    -            If output_type is 'ndarray' a record array with fields 'i', 'j',
    -            and 'v' is returned,
    -
    -        Examples
    -        --------
    -        You can compute a sparse distance matrix between two kd-trees:
    -
    -        >>> import numpy as np
    -        >>> from scipy.spatial import KDTree
    -        >>> rng = np.random.default_rng()
    -        >>> points1 = rng.random((5, 2))
    -        >>> points2 = rng.random((5, 2))
    -        >>> kd_tree1 = KDTree(points1)
    -        >>> kd_tree2 = KDTree(points2)
    -        >>> sdm = kd_tree1.sparse_distance_matrix(kd_tree2, 0.3)
    -        >>> sdm.toarray()
    -        array([[0.        , 0.        , 0.12295571, 0.        , 0.        ],
    -           [0.        , 0.        , 0.        , 0.        , 0.        ],
    -           [0.28942611, 0.        , 0.        , 0.2333084 , 0.        ],
    -           [0.        , 0.        , 0.        , 0.        , 0.        ],
    -           [0.24617575, 0.29571802, 0.26836782, 0.        , 0.        ]])
    -
    -        You can check distances above the `max_distance` are zeros:
    -
    -        >>> from scipy.spatial import distance_matrix
    -        >>> distance_matrix(points1, points2)
    -        array([[0.56906522, 0.39923701, 0.12295571, 0.8658745 , 0.79428925],
    -           [0.37327919, 0.7225693 , 0.87665969, 0.32580855, 0.75679479],
    -           [0.28942611, 0.30088013, 0.6395831 , 0.2333084 , 0.33630734],
    -           [0.31994999, 0.72658602, 0.71124834, 0.55396483, 0.90785663],
    -           [0.24617575, 0.29571802, 0.26836782, 0.57714465, 0.6473269 ]])
    +        result : dok_matrix
    +            Sparse matrix representing the results in "dictionary of keys" format.
     
             """
    -        return super().sparse_distance_matrix(
    -            other, max_distance, p, output_type)
    + result = scipy.sparse.dok_matrix((self.n,other.n)) + + def traverse(node1, rect1, node2, rect2): + if rect1.min_distance_rectangle(rect2, p) > max_distance: + return + elif isinstance(node1, KDTree.leafnode): + if isinstance(node2, KDTree.leafnode): + for i in node1.idx: + for j in node2.idx: + d = minkowski_distance(self.data[i],other.data[j],p) + if d <= max_distance: + result[i,j] = d + else: + less, greater = rect2.split(node2.split_dim, node2.split) + traverse(node1,rect1,node2.less,less) + traverse(node1,rect1,node2.greater,greater) + elif isinstance(node2, KDTree.leafnode): + less, greater = rect1.split(node1.split_dim, node1.split) + traverse(node1.less,less,node2,rect2) + traverse(node1.greater,greater,node2,rect2) + else: + less1, greater1 = rect1.split(node1.split_dim, node1.split) + less2, greater2 = rect2.split(node2.split_dim, node2.split) + traverse(node1.less,less1,node2.less,less2) + traverse(node1.less,less1,node2.greater,greater2) + traverse(node1.greater,greater1,node2.less,less2) + traverse(node1.greater,greater1,node2.greater,greater2) + traverse(self.tree, Rectangle(self.maxes, self.mins), + other.tree, Rectangle(other.maxes, other.mins)) + + return result
    def distance_matrix(x, y, p=2, threshold=1000000): - """Compute the distance matrix. + """ + Compute the distance matrix. Returns the matrix of all pair-wise distances. @@ -1036,7 +1109,7 @@

    Source code for scipy.spatial.kdtree

           ©Copyright (C) 2017-2022.
           
           |
    -      Powered by Sphinx 4.4.0
    +      Powered by Sphinx 4.1.1
           & Alabaster 0.7.12
           
         
    diff --git a/docs/build/html/_modules/spatialpy/core/boundarycondition.html b/docs/build/html/_modules/spatialpy/core/boundarycondition.html index b5a19163..4a7889e4 100644 --- a/docs/build/html/_modules/spatialpy/core/boundarycondition.html +++ b/docs/build/html/_modules/spatialpy/core/boundarycondition.html @@ -277,7 +277,7 @@

    Source code for spatialpy.core.boundarycondition

    ©Copyright (C) 2017-2022. | - Powered by Sphinx 4.4.0 + Powered by Sphinx 4.1.1 & Alabaster 0.7.12
    diff --git a/docs/build/html/_modules/spatialpy/core/cleanup.html b/docs/build/html/_modules/spatialpy/core/cleanup.html index e5d3fe39..81d264d1 100644 --- a/docs/build/html/_modules/spatialpy/core/cleanup.html +++ b/docs/build/html/_modules/spatialpy/core/cleanup.html @@ -199,7 +199,7 @@

    Source code for spatialpy.core.cleanup

           ©Copyright (C) 2017-2022.
           
           |
    -      Powered by Sphinx 4.4.0
    +      Powered by Sphinx 4.1.1
           & Alabaster 0.7.12
           
         
    diff --git a/docs/build/html/_modules/spatialpy/core/datafunction.html b/docs/build/html/_modules/spatialpy/core/datafunction.html index b0205924..3e2840cb 100644 --- a/docs/build/html/_modules/spatialpy/core/datafunction.html +++ b/docs/build/html/_modules/spatialpy/core/datafunction.html @@ -159,7 +159,7 @@

    Source code for spatialpy.core.datafunction

           ©Copyright (C) 2017-2022.
           
           |
    -      Powered by Sphinx 4.4.0
    +      Powered by Sphinx 4.1.1
           & Alabaster 0.7.12
           
         
    diff --git a/docs/build/html/_modules/spatialpy/core/domain.html b/docs/build/html/_modules/spatialpy/core/domain.html index 8dd8345d..7b608992 100644 --- a/docs/build/html/_modules/spatialpy/core/domain.html +++ b/docs/build/html/_modules/spatialpy/core/domain.html @@ -394,7 +394,7 @@

    Source code for spatialpy.core.domain

             :param zmax: Maximum z value of the bounding box (defaults to Domain.zlim[1]).
             :type zmax: float
     
    -        :param \**kwargs: addition keyword arguments passed to :py:meth:`Domain.add_point`.
    +        :param \**kwargs: Additional keyword arguments passed to :py:meth:`Domain.add_point`.
     
             :returns: The number of particles that were created within this geometry.
             :rtype: int
    @@ -952,7 +952,7 @@ 

    Source code for spatialpy.core.domain

             :param fixed: spatially fixed flag of particles to be created. Defaults to false.
             :type fixed: bool
     
    -        :param \**kwargs: addition keyword arguments passed to :py:class:`Domain`.
    +        :param \**kwargs: Additional keyword arguments passed to :py:class:`Domain`.
             
             :returns: Uniform 3D SpatialPy Domain object.
             :rtype: spatialpy.core.domain.Domain
    @@ -1011,7 +1011,7 @@ 

    Source code for spatialpy.core.domain

             :param fixed: spatially fixed flag of particles to be created. Defaults to false.
             :type fixed: bool
     
    -        :param \**kwargs: addition keyword arguments passed to :py:class:`Domain`.
    +        :param \**kwargs: Additional keyword arguments passed to :py:class:`Domain`.
     
             :returns: Uniform 2D SpatialPy Domain object.
             :rtype: spatialpy.core.domain.Domain
    @@ -1050,7 +1050,7 @@ 

    Source code for spatialpy.core.domain

           ©Copyright (C) 2017-2022.
           
           |
    -      Powered by Sphinx 4.4.0
    +      Powered by Sphinx 4.1.1
           & Alabaster 0.7.12
           
         
    diff --git a/docs/build/html/_modules/spatialpy/core/geometry.html b/docs/build/html/_modules/spatialpy/core/geometry.html index bb7f3ee7..8ca065ff 100644 --- a/docs/build/html/_modules/spatialpy/core/geometry.html +++ b/docs/build/html/_modules/spatialpy/core/geometry.html @@ -201,7 +201,7 @@

    Source code for spatialpy.core.geometry

           ©Copyright (C) 2017-2022.
           
           |
    -      Powered by Sphinx 4.4.0
    +      Powered by Sphinx 4.1.1
           & Alabaster 0.7.12
           
         
    diff --git a/docs/build/html/_modules/spatialpy/core/initialcondition.html b/docs/build/html/_modules/spatialpy/core/initialcondition.html index 07abcaec..9dc0c791 100644 --- a/docs/build/html/_modules/spatialpy/core/initialcondition.html +++ b/docs/build/html/_modules/spatialpy/core/initialcondition.html @@ -297,7 +297,7 @@

    Source code for spatialpy.core.initialcondition

    < ©Copyright (C) 2017-2022. | - Powered by Sphinx 4.4.0 + Powered by Sphinx 4.1.1 & Alabaster 0.7.12
    diff --git a/docs/build/html/_modules/spatialpy/core/model.html b/docs/build/html/_modules/spatialpy/core/model.html index fa0027d2..6e155948 100644 --- a/docs/build/html/_modules/spatialpy/core/model.html +++ b/docs/build/html/_modules/spatialpy/core/model.html @@ -856,7 +856,7 @@

    Source code for spatialpy.core.model

           ©Copyright (C) 2017-2022.
           
           |
    -      Powered by Sphinx 4.4.0
    +      Powered by Sphinx 4.1.1
           & Alabaster 0.7.12
           
         
    diff --git a/docs/build/html/_modules/spatialpy/core/parameter.html b/docs/build/html/_modules/spatialpy/core/parameter.html index c3259fed..a1bd41b0 100644 --- a/docs/build/html/_modules/spatialpy/core/parameter.html +++ b/docs/build/html/_modules/spatialpy/core/parameter.html @@ -181,7 +181,7 @@

    Source code for spatialpy.core.parameter

           ©Copyright (C) 2017-2022.
           
           |
    -      Powered by Sphinx 4.4.0
    +      Powered by Sphinx 4.1.1
           & Alabaster 0.7.12
           
         
    diff --git a/docs/build/html/_modules/spatialpy/core/reaction.html b/docs/build/html/_modules/spatialpy/core/reaction.html index e917abbd..3c4d5a34 100644 --- a/docs/build/html/_modules/spatialpy/core/reaction.html +++ b/docs/build/html/_modules/spatialpy/core/reaction.html @@ -386,7 +386,7 @@

    Source code for spatialpy.core.reaction

           ©Copyright (C) 2017-2022.
           
           |
    -      Powered by Sphinx 4.4.0
    +      Powered by Sphinx 4.1.1
           & Alabaster 0.7.12
           
         
    diff --git a/docs/build/html/_modules/spatialpy/core/result.html b/docs/build/html/_modules/spatialpy/core/result.html index 1d4c4b2f..aa473c0b 100644 --- a/docs/build/html/_modules/spatialpy/core/result.html +++ b/docs/build/html/_modules/spatialpy/core/result.html @@ -996,7 +996,7 @@

    Source code for spatialpy.core.result

           ©Copyright (C) 2017-2022.
           
           |
    -      Powered by Sphinx 4.4.0
    +      Powered by Sphinx 4.1.1
           & Alabaster 0.7.12
           
         
    diff --git a/docs/build/html/_modules/spatialpy/core/spatialpyerror.html b/docs/build/html/_modules/spatialpy/core/spatialpyerror.html index c511a67e..2cf15b1b 100644 --- a/docs/build/html/_modules/spatialpy/core/spatialpyerror.html +++ b/docs/build/html/_modules/spatialpy/core/spatialpyerror.html @@ -207,7 +207,7 @@

    Source code for spatialpy.core.spatialpyerror

    Sphinx 4.4.0 + Powered by Sphinx 4.1.1 & Alabaster 0.7.12
    diff --git a/docs/build/html/_modules/spatialpy/core/species.html b/docs/build/html/_modules/spatialpy/core/species.html index 38cfe11e..8429f830 100644 --- a/docs/build/html/_modules/spatialpy/core/species.html +++ b/docs/build/html/_modules/spatialpy/core/species.html @@ -192,7 +192,7 @@

    Source code for spatialpy.core.species

           ©Copyright (C) 2017-2022.
           
           |
    -      Powered by Sphinx 4.4.0
    +      Powered by Sphinx 4.1.1
           & Alabaster 0.7.12
           
         
    diff --git a/docs/build/html/_modules/spatialpy/core/vtkreader.html b/docs/build/html/_modules/spatialpy/core/vtkreader.html index 589bbff2..68768261 100644 --- a/docs/build/html/_modules/spatialpy/core/vtkreader.html +++ b/docs/build/html/_modules/spatialpy/core/vtkreader.html @@ -306,7 +306,7 @@

    Source code for spatialpy.core.vtkreader

           ©Copyright (C) 2017-2022.
           
           |
    -      Powered by Sphinx 4.4.0
    +      Powered by Sphinx 4.1.1
           & Alabaster 0.7.12
           
         
    diff --git a/docs/build/html/_modules/spatialpy/solvers/build_expression.html b/docs/build/html/_modules/spatialpy/solvers/build_expression.html index 20b81fe4..6aaf4746 100644 --- a/docs/build/html/_modules/spatialpy/solvers/build_expression.html +++ b/docs/build/html/_modules/spatialpy/solvers/build_expression.html @@ -865,7 +865,7 @@

    Source code for spatialpy.solvers.build_expression

    Sphinx 4.4.0 + Powered by Sphinx 4.1.1 & Alabaster 0.7.12
    diff --git a/docs/build/html/_modules/spatialpy/solvers/solver.html b/docs/build/html/_modules/spatialpy/solvers/solver.html index 06c34b1f..5c84fcbc 100644 --- a/docs/build/html/_modules/spatialpy/solvers/solver.html +++ b/docs/build/html/_modules/spatialpy/solvers/solver.html @@ -724,7 +724,7 @@

    Source code for spatialpy.solvers.solver

           ©Copyright (C) 2017-2022.
           
           |
    -      Powered by Sphinx 4.4.0
    +      Powered by Sphinx 4.1.1
           & Alabaster 0.7.12
           
         
    diff --git a/docs/build/html/_modules/spatialpy/stochss/stochss_export.html b/docs/build/html/_modules/spatialpy/stochss/stochss_export.html index 03309955..cead8e00 100644 --- a/docs/build/html/_modules/spatialpy/stochss/stochss_export.html +++ b/docs/build/html/_modules/spatialpy/stochss/stochss_export.html @@ -367,7 +367,7 @@

    Source code for spatialpy.stochss.stochss_export

    ©Copyright (C) 2017-2022. | - Powered by Sphinx 4.4.0 + Powered by Sphinx 4.1.1 & Alabaster 0.7.12
    diff --git a/docs/build/html/_static/basic.css b/docs/build/html/_static/basic.css index bf18350b..912859b5 100644 --- a/docs/build/html/_static/basic.css +++ b/docs/build/html/_static/basic.css @@ -4,7 +4,7 @@ * * Sphinx stylesheet -- basic theme. * - * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -731,9 +731,8 @@ dl.glossary dt { .classifier:before { font-style: normal; - margin: 0 0.5em; + margin: 0.5em; content: ":"; - display: inline-block; } abbr, acronym { @@ -757,7 +756,6 @@ span.pre { -ms-hyphens: none; -webkit-hyphens: none; hyphens: none; - white-space: nowrap; } div[class*="highlight-"] { diff --git a/docs/build/html/_static/doctools.js b/docs/build/html/_static/doctools.js index e509e483..8cbf1b16 100644 --- a/docs/build/html/_static/doctools.js +++ b/docs/build/html/_static/doctools.js @@ -4,7 +4,7 @@ * * Sphinx JavaScript utilities for all documentation. * - * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -264,9 +264,6 @@ var Documentation = { hideSearchWords : function() { $('#searchbox .highlight-link').fadeOut(300); $('span.highlighted').removeClass('highlighted'); - var url = new URL(window.location); - url.searchParams.delete('highlight'); - window.history.replaceState({}, '', url); }, /** diff --git a/docs/build/html/_static/language_data.js b/docs/build/html/_static/language_data.js index ebe2f03b..863704b3 100644 --- a/docs/build/html/_static/language_data.js +++ b/docs/build/html/_static/language_data.js @@ -5,7 +5,7 @@ * This script contains the language-specific data used by searchtools.js, * namely the list of stopwords, stemmer, scorer and splitter. * - * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ diff --git a/docs/build/html/_static/pygments.css b/docs/build/html/_static/pygments.css index 87f8bd12..1b945229 100644 --- a/docs/build/html/_static/pygments.css +++ b/docs/build/html/_static/pygments.css @@ -1,7 +1,7 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +pre { line-height: 125%; margin: 0; } +td.linenos pre { color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px; } +span.linenos { color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px; } +td.linenos pre.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } .highlight .hll { background-color: #ffffcc } .highlight { background: #f8f8f8; } diff --git a/docs/build/html/_static/searchtools.js b/docs/build/html/_static/searchtools.js index 2d778593..8eb14218 100644 --- a/docs/build/html/_static/searchtools.js +++ b/docs/build/html/_static/searchtools.js @@ -4,7 +4,7 @@ * * Sphinx JavaScript utilities for the full-text search. * - * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -276,28 +276,19 @@ var Search = { setTimeout(function() { displayNextItem(); }, 5); - } else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) { + } else { $.ajax({url: requestUrl, dataType: "text", complete: function(jqxhr, textstatus) { var data = jqxhr.responseText; if (data !== '' && data !== undefined) { - var summary = Search.makeSearchSummary(data, searchterms, hlterms); - if (summary) { - listItem.append(summary); - } + listItem.append(Search.makeSearchSummary(data, searchterms, hlterms)); } Search.output.append(listItem); setTimeout(function() { displayNextItem(); }, 5); }}); - } else { - // no source available, just display title - Search.output.append(listItem); - setTimeout(function() { - displayNextItem(); - }, 5); } } // search finished, update title and status message @@ -328,9 +319,7 @@ var Search = { var results = []; for (var prefix in objects) { - for (var iMatch = 0; iMatch != objects[prefix].length; ++iMatch) { - var match = objects[prefix][iMatch]; - var name = match[4]; + for (var name in objects[prefix]) { var fullname = (prefix ? prefix + '.' : '') + name; var fullnameLower = fullname.toLowerCase() if (fullnameLower.indexOf(object) > -1) { @@ -344,6 +333,7 @@ var Search = { } else if (parts[parts.length - 1].indexOf(object) > -1) { score += Scorer.objPartialMatch; } + var match = objects[prefix][name]; var objname = objnames[match[1]][2]; var title = titles[match[0]]; // If more than one term searched for, we require other words to be @@ -502,9 +492,6 @@ var Search = { */ makeSearchSummary : function(htmlText, keywords, hlwords) { var text = Search.htmlToText(htmlText); - if (text == "") { - return null; - } var textLower = text.toLowerCase(); var start = 0; $.each(keywords, function() { diff --git a/docs/build/html/classes/spatialpy.core.html b/docs/build/html/classes/spatialpy.core.html index cbc65089..0b5b39b2 100644 --- a/docs/build/html/classes/spatialpy.core.html +++ b/docs/build/html/classes/spatialpy.core.html @@ -4,8 +4,7 @@ - - + spatialpy.core package — SpatialPy 1.0 documentation @@ -14,7 +13,6 @@ - @@ -105,12 +103,12 @@

    Quick search

    -
    +

    spatialpy.core package

    -
    +

    Submodules

    -
    -
    +
    +

    spatialpy.core.boundarycondition module

    SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -126,7 +124,7 @@

    Submoduleshttp://www.gnu.org/licenses/>.

    -class spatialpy.core.boundarycondition.BoundaryCondition(xmin=None, xmax=None, ymin=None, ymax=None, zmin=None, zmax=None, type_id=None, deterministic=True, target=None, value=None, model=None)[source]
    +class spatialpy.core.boundarycondition.BoundaryCondition(xmin=None, xmax=None, ymin=None, ymax=None, zmin=None, zmax=None, type_id=None, deterministic=True, target=None, value=None, model=None)[source]

    Bases: object

    Set spatial regions of the domain where a property of particles are held constant (updated each simulation step)

    @@ -175,8 +173,8 @@

    Submodules + +

    spatialpy.core.cleanup module

    SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -224,8 +222,8 @@

    Submodules +

    +

    spatialpy.core.datafunction module

    SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -241,7 +239,7 @@

    Submoduleshttp://www.gnu.org/licenses/>.

    -class spatialpy.core.datafunction.DataFunction(name=None)[source]
    +class spatialpy.core.datafunction.DataFunction(name=None)[source]

    Bases: object

    Abstract class used to constuct the data function.

    @@ -272,8 +270,8 @@

    Submodules +

    +

    spatialpy.core.domain module

    SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -289,7 +287,7 @@

    Submoduleshttp://www.gnu.org/licenses/>.

    -class spatialpy.core.domain.Domain(numpoints, xlim, ylim, zlim, rho0=1.0, c0=10, P0=None, gravity=None)[source]
    +class spatialpy.core.domain.Domain(numpoints, xlim, ylim, zlim, rho0=1.0, c0=10, P0=None, gravity=None)[source]

    Bases: object

    Domain class for SpatialPy. A domain defines points and attributes of a regional space for simulation.

    @@ -380,7 +378,7 @@

    Submodules
    -classmethod create_2D_domain(xlim, ylim, nx, ny, type_id=1, mass=1.0, nu=1.0, rho=None, c=0, fixed=False, **kwargs)[source]
    +classmethod create_2D_domain(xlim, ylim, nx, ny, type_id=1, mass=1.0, nu=1.0, rho=None, c=0, fixed=False, **kwargs)[source]

    Create a filled 2D domain

    Parameters
    @@ -395,7 +393,7 @@

    SubmodulesDomain.

    +
  • **kwargs – Additional keyword arguments passed to Domain.

  • Returns
    @@ -409,7 +407,7 @@

    Submodules
    -classmethod create_3D_domain(xlim, ylim, zlim, nx, ny, nz, type_id=1, mass=1.0, nu=1.0, rho=None, c=0, fixed=False, **kwargs)[source]
    +classmethod create_3D_domain(xlim, ylim, zlim, nx, ny, nz, type_id=1, mass=1.0, nu=1.0, rho=None, c=0, fixed=False, **kwargs)[source]

    Create a filled 3D domain

    Parameters
    @@ -426,7 +424,7 @@

    SubmodulesDomain.

    +
  • **kwargs – Additional keyword arguments passed to Domain.

  • Returns
    @@ -476,7 +474,7 @@

    SubmodulesDomain.add_point().

    +
  • **kwargs – Additional keyword arguments passed to Domain.add_point().

  • Returns
    @@ -596,7 +594,7 @@

    Submodules
    -classmethod import_meshio_object(mesh_obj)[source]
    +classmethod import_meshio_object(mesh_obj)[source]

    Import a python meshio mesh object.

    Parameters
    @@ -639,7 +637,7 @@

    Submodules
    -classmethod read_msh_file(filename)[source]
    +classmethod read_msh_file(filename)[source]

    Read a Gmsh style .msh file

    Parameters
    @@ -656,7 +654,7 @@

    Submodules
    -classmethod read_stochss_domain(filename)[source]
    +classmethod read_stochss_domain(filename)[source]

    Read a StochSS Domain (.domn) file or pull a StochSS Domain from a StochSS Spatial Model (.smdl) file.

    Parameters
    @@ -690,7 +688,7 @@

    Submodules
    -classmethod read_xml_mesh(filename)[source]
    +classmethod read_xml_mesh(filename)[source]

    Read a FEniCS/dolfin style XML mesh file

    Parameters
    @@ -737,8 +735,8 @@

    Submodules +

    +

    spatialpy.core.geometry module

    SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -754,7 +752,7 @@

    Submoduleshttp://www.gnu.org/licenses/>.

    -class spatialpy.core.geometry.Geometry[source]
    +class spatialpy.core.geometry.Geometry[source]

    Bases: object

    Geometry class provides a method for tagging parts of the spatial domain as separate parts.

    @@ -780,7 +778,7 @@

    Submodules
    -class spatialpy.core.geometry.GeometryAll[source]
    +class spatialpy.core.geometry.GeometryAll[source]

    Bases: spatialpy.core.geometry.Geometry

    Mark all particles.

    @@ -806,7 +804,7 @@

    Submodules
    -class spatialpy.core.geometry.GeometryExterior[source]
    +class spatialpy.core.geometry.GeometryExterior[source]

    Bases: spatialpy.core.geometry.Geometry

    Mark particles that are on the edge of the domain. only works for domains that define triangles and tetrahedrons.

    @@ -833,7 +831,7 @@

    Submodules
    -class spatialpy.core.geometry.GeometryInterior[source]
    +class spatialpy.core.geometry.GeometryInterior[source]

    Bases: spatialpy.core.geometry.Geometry

    Mark particles that are not on the edge of the domain. Only works for domains that define triangles and tetrahedrons.

    @@ -858,8 +856,8 @@

    Submodules +

    +

    spatialpy.core.initialcondition module

    SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -875,7 +873,7 @@

    Submoduleshttp://www.gnu.org/licenses/>.

    -class spatialpy.core.initialcondition.InitialCondition[source]
    +class spatialpy.core.initialcondition.InitialCondition[source]

    Bases: object

    Class used to defined initial conditions in SpatialPy. SubClasses must implement the ‘apply(model)’ method, which @@ -895,7 +893,7 @@

    Submodules
    -class spatialpy.core.initialcondition.PlaceInitialCondition(species, count, location)[source]
    +class spatialpy.core.initialcondition.PlaceInitialCondition(species, count, location)[source]

    Bases: spatialpy.core.initialcondition.InitialCondition

    Class used to defined the place initial condition in SpatialPy.

    @@ -922,7 +920,7 @@

    Submodules
    -class spatialpy.core.initialcondition.ScatterInitialCondition(species, count, types=None)[source]
    +class spatialpy.core.initialcondition.ScatterInitialCondition(species, count, types=None)[source]

    Bases: spatialpy.core.initialcondition.InitialCondition

    Class used to defined the scatter initial condition in SpatialPy.

    @@ -949,7 +947,7 @@

    Submodules
    -class spatialpy.core.initialcondition.UniformInitialCondition(species, count, types=None)[source]
    +class spatialpy.core.initialcondition.UniformInitialCondition(species, count, types=None)[source]

    Bases: spatialpy.core.initialcondition.InitialCondition

    Class used to defined the uniform initial condition in SpatialPy.

    @@ -974,8 +972,8 @@

    Submodules +

    +

    spatialpy.core.model module

    SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -991,7 +989,7 @@

    Submoduleshttp://www.gnu.org/licenses/>.

    -class spatialpy.core.model.Model(name='spatialpy')[source]
    +class spatialpy.core.model.Model(name='spatialpy')[source]

    Bases: object

    Representation of a spatial biochemical model.

    @@ -1322,7 +1320,7 @@

    Submodules
    -reserved_names = ['vol', 't']
    +reserved_names = ['vol', 't']

    @@ -1416,7 +1414,7 @@

    Submodules
    -special_characters = ['[', ']', '+', '-', '*', '/', '.', '^']
    +special_characters = ['[', ']', '+', '-', '*', '/', '.', '^']

    @@ -1466,8 +1464,8 @@

    Submodules +

    +

    spatialpy.core.parameter module

    SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -1483,7 +1481,7 @@

    Submoduleshttp://www.gnu.org/licenses/>.

    -class spatialpy.core.parameter.Parameter(name=None, expression=None)[source]
    +class spatialpy.core.parameter.Parameter(name=None, expression=None)[source]

    Bases: object

    Model of a rate paramter. A parameter can be given as a String expression (function) or directly as a scalar value. @@ -1499,8 +1497,8 @@

    Submodules +

    +

    spatialpy.core.reaction module

    SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -1516,7 +1514,7 @@

    Submoduleshttp://www.gnu.org/licenses/>.

    -class spatialpy.core.reaction.Reaction(name='', reactants=None, products=None, propensity_function=None, rate=None, annotation=None, restrict_to=None)[source]
    +class spatialpy.core.reaction.Reaction(name='', reactants=None, products=None, propensity_function=None, rate=None, annotation=None, restrict_to=None)[source]

    Bases: object

    Models a biochemical reaction. A reaction conatains dictionaries of species (reactants and products) and parameters. The reaction’s propensity function needs to be evaluable and result in a non-negative scalar value in the namespace defined by the union of its Reactant, Product and Parameter dictionaries. For mass-action, zeroth, first and second order reactions are supported, attempting to used higher orders will result in an error.

    @@ -1584,8 +1582,8 @@

    Submodules +

    +

    spatialpy.core.result module

    SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -1601,7 +1599,7 @@

    Submoduleshttp://www.gnu.org/licenses/>.

    -class spatialpy.core.result.Result(model=None, result_dir=None)[source]
    +class spatialpy.core.result.Result(model=None, result_dir=None)[source]

    Bases: object

    Result object for a URDME simulation.

    @@ -1810,8 +1808,8 @@

    Submodules +

    +

    spatialpy.core.spatialpyerror module

    SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -1827,104 +1825,104 @@

    Submoduleshttp://www.gnu.org/licenses/>.

    -exception spatialpy.core.spatialpyerror.BoundaryConditionError[source]
    +exception spatialpy.core.spatialpyerror.BoundaryConditionError[source]

    Bases: spatialpy.core.spatialpyerror.ModelError

    Base class for exceptions in the boundarycondition module.

    -exception spatialpy.core.spatialpyerror.DataFunctionError[source]
    +exception spatialpy.core.spatialpyerror.DataFunctionError[source]

    Bases: spatialpy.core.spatialpyerror.ModelError

    Class for exceptions in the datafunction module.

    -exception spatialpy.core.spatialpyerror.DomainError[source]
    +exception spatialpy.core.spatialpyerror.DomainError[source]

    Bases: spatialpy.core.spatialpyerror.ModelError

    Class for exceptions in the domain module.

    -exception spatialpy.core.spatialpyerror.GeometryError[source]
    +exception spatialpy.core.spatialpyerror.GeometryError[source]

    Bases: spatialpy.core.spatialpyerror.ModelError

    Class for exceptions in the geometry module.

    -exception spatialpy.core.spatialpyerror.InitialConditionError[source]
    +exception spatialpy.core.spatialpyerror.InitialConditionError[source]

    Bases: spatialpy.core.spatialpyerror.ModelError

    Class for exceptions in initailcondition module.

    -exception spatialpy.core.spatialpyerror.ModelError[source]
    +exception spatialpy.core.spatialpyerror.ModelError[source]

    Bases: Exception

    Class for exceptions in the model module.

    -exception spatialpy.core.spatialpyerror.ParameterError[source]
    +exception spatialpy.core.spatialpyerror.ParameterError[source]

    Bases: spatialpy.core.spatialpyerror.ModelError

    Class for exceptions in parameter module.

    -exception spatialpy.core.spatialpyerror.ReactionError[source]
    +exception spatialpy.core.spatialpyerror.ReactionError[source]

    Bases: spatialpy.core.spatialpyerror.ModelError

    Class for exceptions in reaction module.

    -exception spatialpy.core.spatialpyerror.ResultError[source]
    +exception spatialpy.core.spatialpyerror.ResultError[source]

    Bases: Exception

    Class for exceptions in the results module.

    -exception spatialpy.core.spatialpyerror.SimulationError[source]
    +exception spatialpy.core.spatialpyerror.SimulationError[source]

    Bases: Exception

    Class for exceptions in the simulation module.

    -exception spatialpy.core.spatialpyerror.SimulationTimeout[source]
    +exception spatialpy.core.spatialpyerror.SimulationTimeout[source]

    Bases: spatialpy.core.spatialpyerror.SimulationError

    Exception raised for timeout errors.

    -exception spatialpy.core.spatialpyerror.SpeciesError[source]
    +exception spatialpy.core.spatialpyerror.SpeciesError[source]

    Bases: spatialpy.core.spatialpyerror.ModelError

    Class for exceptions in the species module.

    -exception spatialpy.core.spatialpyerror.VTKReaderError[source]
    +exception spatialpy.core.spatialpyerror.VTKReaderError[source]

    Bases: Exception

    Bass class for exceptions in the vtkreader module.

    -exception spatialpy.core.spatialpyerror.VTKReaderIOError(message)[source]
    +exception spatialpy.core.spatialpyerror.VTKReaderIOError(message)[source]

    Bases: spatialpy.core.spatialpyerror.VTKReaderError

    Exception raised for I/O errors.

    - -
    +

    +

    spatialpy.core.species module

    SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -1940,7 +1938,7 @@

    Submoduleshttp://www.gnu.org/licenses/>.

    -class spatialpy.core.species.Species(name=None, diffusion_coefficient=None, restrict_to=None)[source]
    +class spatialpy.core.species.Species(name=None, diffusion_coefficient=None, restrict_to=None)[source]

    Bases: object

    Model of a biochemical species. Must be assigned a diffusion coefficent.

    @@ -1968,8 +1966,8 @@

    Submodules +

    +

    spatialpy.core.vtkreader module

    SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -1985,7 +1983,7 @@

    Submoduleshttp://www.gnu.org/licenses/>.

    -class spatialpy.core.vtkreader.VTKReader(filename=None, debug=False)[source]
    +class spatialpy.core.vtkreader.VTKReader(filename=None, debug=False)[source]

    Bases: object

    VTKReader.py: SpatialPy minimal VTK legacy file reader. Reference: https://vtk.org/wp-content/uploads/2015/04/file-formats.pdf

    @@ -2080,8 +2078,8 @@

    Submodules +

    +

    Module contents

    SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -2097,7 +2095,7 @@

    Submoduleshttp://www.gnu.org/licenses/>.

    -class spatialpy.core.BoundaryCondition(xmin=None, xmax=None, ymin=None, ymax=None, zmin=None, zmax=None, type_id=None, deterministic=True, target=None, value=None, model=None)[source]
    +class spatialpy.core.BoundaryCondition(xmin=None, xmax=None, ymin=None, ymax=None, zmin=None, zmax=None, type_id=None, deterministic=True, target=None, value=None, model=None)[source]

    Bases: object

    Set spatial regions of the domain where a property of particles are held constant (updated each simulation step)

    @@ -2148,14 +2146,14 @@

    Submodules
    -exception spatialpy.core.BoundaryConditionError[source]
    +exception spatialpy.core.BoundaryConditionError[source]

    Bases: spatialpy.core.spatialpyerror.ModelError

    Base class for exceptions in the boundarycondition module.

    -class spatialpy.core.DataFunction(name=None)[source]
    +class spatialpy.core.DataFunction(name=None)[source]

    Bases: object

    Abstract class used to constuct the data function.

    @@ -2188,14 +2186,14 @@

    Submodules
    -exception spatialpy.core.DataFunctionError[source]
    +exception spatialpy.core.DataFunctionError[source]

    Bases: spatialpy.core.spatialpyerror.ModelError

    Class for exceptions in the datafunction module.

    -class spatialpy.core.Domain(numpoints, xlim, ylim, zlim, rho0=1.0, c0=10, P0=None, gravity=None)[source]
    +class spatialpy.core.Domain(numpoints, xlim, ylim, zlim, rho0=1.0, c0=10, P0=None, gravity=None)[source]

    Bases: object

    Domain class for SpatialPy. A domain defines points and attributes of a regional space for simulation.

    @@ -2286,7 +2284,7 @@

    Submodules
    -classmethod create_2D_domain(xlim, ylim, nx, ny, type_id=1, mass=1.0, nu=1.0, rho=None, c=0, fixed=False, **kwargs)[source]
    +classmethod create_2D_domain(xlim, ylim, nx, ny, type_id=1, mass=1.0, nu=1.0, rho=None, c=0, fixed=False, **kwargs)[source]

    Create a filled 2D domain

    Parameters
    @@ -2301,7 +2299,7 @@

    SubmodulesDomain.

    +
  • **kwargs – Additional keyword arguments passed to Domain.

  • Returns
    @@ -2315,7 +2313,7 @@

    Submodules
    -classmethod create_3D_domain(xlim, ylim, zlim, nx, ny, nz, type_id=1, mass=1.0, nu=1.0, rho=None, c=0, fixed=False, **kwargs)[source]
    +classmethod create_3D_domain(xlim, ylim, zlim, nx, ny, nz, type_id=1, mass=1.0, nu=1.0, rho=None, c=0, fixed=False, **kwargs)[source]

    Create a filled 3D domain

    Parameters
    @@ -2332,7 +2330,7 @@

    SubmodulesDomain.

    +
  • **kwargs – Additional keyword arguments passed to Domain.

  • Returns
    @@ -2382,7 +2380,7 @@

    SubmodulesDomain.add_point().

    +
  • **kwargs – Additional keyword arguments passed to Domain.add_point().

  • Returns
    @@ -2502,7 +2500,7 @@

    Submodules
    -classmethod import_meshio_object(mesh_obj)[source]
    +classmethod import_meshio_object(mesh_obj)[source]

    Import a python meshio mesh object.

    Parameters
    @@ -2545,7 +2543,7 @@

    Submodules
    -classmethod read_msh_file(filename)[source]
    +classmethod read_msh_file(filename)[source]

    Read a Gmsh style .msh file

    Parameters
    @@ -2562,7 +2560,7 @@

    Submodules
    -classmethod read_stochss_domain(filename)[source]
    +classmethod read_stochss_domain(filename)[source]

    Read a StochSS Domain (.domn) file or pull a StochSS Domain from a StochSS Spatial Model (.smdl) file.

    Parameters
    @@ -2596,7 +2594,7 @@

    Submodules
    -classmethod read_xml_mesh(filename)[source]
    +classmethod read_xml_mesh(filename)[source]

    Read a FEniCS/dolfin style XML mesh file

    Parameters
    @@ -2645,14 +2643,14 @@

    Submodules
    -exception spatialpy.core.DomainError[source]
    +exception spatialpy.core.DomainError[source]

    Bases: spatialpy.core.spatialpyerror.ModelError

    Class for exceptions in the domain module.

    -class spatialpy.core.Geometry[source]
    +class spatialpy.core.Geometry[source]

    Bases: object

    Geometry class provides a method for tagging parts of the spatial domain as separate parts.

    @@ -2678,7 +2676,7 @@

    Submodules
    -class spatialpy.core.GeometryAll[source]
    +class spatialpy.core.GeometryAll[source]

    Bases: spatialpy.core.geometry.Geometry

    Mark all particles.

    @@ -2704,14 +2702,14 @@

    Submodules
    -exception spatialpy.core.GeometryError[source]
    +exception spatialpy.core.GeometryError[source]

    Bases: spatialpy.core.spatialpyerror.ModelError

    Class for exceptions in the geometry module.

    -class spatialpy.core.GeometryExterior[source]
    +class spatialpy.core.GeometryExterior[source]

    Bases: spatialpy.core.geometry.Geometry

    Mark particles that are on the edge of the domain. only works for domains that define triangles and tetrahedrons.

    @@ -2738,7 +2736,7 @@

    Submodules
    -class spatialpy.core.GeometryInterior[source]
    +class spatialpy.core.GeometryInterior[source]

    Bases: spatialpy.core.geometry.Geometry

    Mark particles that are not on the edge of the domain. Only works for domains that define triangles and tetrahedrons.

    @@ -2765,7 +2763,7 @@

    Submodules
    -class spatialpy.core.InitialCondition[source]
    +class spatialpy.core.InitialCondition[source]

    Bases: object

    Class used to defined initial conditions in SpatialPy. SubClasses must implement the ‘apply(model)’ method, which @@ -2785,46 +2783,43 @@

    Submodules
    -exception spatialpy.core.InitialConditionError[source]
    +exception spatialpy.core.InitialConditionError[source]

    Bases: spatialpy.core.spatialpyerror.ModelError

    Class for exceptions in initailcondition module.

    -class spatialpy.core.KDTree(data, leafsize=10, compact_nodes=True, copy_data=False, balanced_tree=True, boxsize=None)[source]
    -

    Bases: scipy.spatial.ckdtree.cKDTree

    -

    kd-tree for quick nearest-neighbor lookup.

    -

    This class provides an index into a set of k-dimensional points -which can be used to rapidly look up the nearest neighbors of any -point.

    +class spatialpy.core.KDTree(data, leafsize=10)[source] +

    Bases: object

    +

    kd-tree for quick nearest-neighbor lookup

    +

    This class provides an index into a set of k-D points which +can be used to rapidly look up the nearest neighbors of any point.

    Parameters
      -
    • data (array_like, shape (n,m)) – The n data points of dimension m to be indexed. This array is -not copied unless this is necessary to produce a contiguous -array of doubles, and so modifying this data will result in -bogus results. The data are also copied if the kd-tree is built -with copy_data=True.

    • -
    • leafsize (positive int, optional) – The number of points at which the algorithm switches over to -brute-force. Default: 10.

    • -
    • compact_nodes (bool, optional) – If True, the kd-tree is built to shrink the hyperrectangles to -the actual data range. This usually gives a more compact tree that -is robust against degenerated input data and gives faster queries -at the expense of longer build time. Default: True.

    • -
    • copy_data (bool, optional) – If True the data is always copied to protect the kd-tree against -data corruption. Default: False.

    • -
    • balanced_tree (bool, optional) – If True, the median is used to split the hyperrectangles instead of -the midpoint. This usually gives a more compact tree and -faster queries at the expense of longer build time. Default: True.

    • -
    • boxsize (array_like or scalar, optional) – Apply a m-d toroidal topology to the KDTree.. The topology is generated -by \(x_i + n_i L_i\) where \(n_i\) are integers and \(L_i\) -is the boxsize along i-th dimension. The input data shall be wrapped -into \([0, L_i)\). A ValueError is raised if any of the data is -outside of this bound.

    • +
    • data ((N,K) array_like) – The data points to be indexed. This array is not copied, and +so modifying this data will result in bogus results.

    • +
    • leafsize (int, optional) – The number of points at which the algorithm switches over to +brute-force. Has to be positive.

    +
    Raises
    +

    RuntimeError – The maximum recursion limit can be exceeded for large data + sets. If this happens, either increase the value for the leafsize + parameter or increase the recursion limit by:: + + >>> import sys + >>> sys.setrecursionlimit(10000)

    +
    +
    +
    +

    See also

    +
    +
    cKDTree

    Implementation of KDTree in Cython

    +
    +

    Notes

    The algorithm used is described in Maneewongvatana and Mount 1999. The general idea is that the kd-tree is a binary tree, each of whose @@ -2841,414 +2836,153 @@

    Submodules -
    -data
    -

    The n data points of dimension m to be indexed. This array is -not copied unless this is necessary to produce a contiguous -array of doubles. The data are also copied if the kd-tree is built -with copy_data=True.

    -
    -
    Type
    -

    ndarray, shape (n,m)

    -
    -
    -

    - -
    -
    -leafsize
    -

    The number of points at which the algorithm switches over to -brute-force.

    -
    -
    Type
    -

    positive int

    -
    -
    -
    - -
    -
    -m
    -

    The dimension of a single data-point.

    -
    -
    Type
    -

    int

    -
    -
    -
    - -
    -
    -n
    -

    The number of data points.

    -
    -
    Type
    -

    int

    -
    -
    -
    - -
    -
    -maxes
    -

    The maximum value in each dimension of the n data points.

    -
    -
    Type
    -

    ndarray, shape (m,)

    -
    -
    -
    - -
    -
    -mins
    -

    The minimum value in each dimension of the n data points.

    -
    -
    Type
    -

    ndarray, shape (m,)

    -
    -
    -
    - -
    -
    -size
    -

    The number of nodes in the tree.

    -
    -
    Type
    -

    int

    -
    -
    -
    - +

    The tree also supports all-neighbors queries, both with arrays of points +and with other kd-trees. These do use a reasonably efficient algorithm, +but the kd-tree is not necessarily the best data structure for this +sort of calculation.

    -count_neighbors(other, r, p=2.0, weights=None, cumulative=True)[source]
    +count_neighbors(other, r, p=2.0)[source]

    Count how many nearby pairs can be formed.

    -

    Count the number of pairs (x1,x2) can be formed, with x1 drawn -from self and x2 drawn from other, and where -distance(x1, x2, p) <= r.

    -

    Data points on self and other are optionally weighted by the -weights argument. (See below)

    -

    This is adapted from the “two-point correlation” algorithm described by -Gray and Moore 1. See notes for further discussion.

    +

    Count the number of pairs (x1,x2) can be formed, with x1 drawn +from self and x2 drawn from other, and where +distance(x1, x2, p) <= r. +This is the “two-point correlation” described in Gray and Moore 2000, +“N-body problems in statistical learning”, and the code here is based +on their algorithm.

    Parameters
      -
    • other (KDTree) – The other tree to draw points from, can be the same tree as self.

    • +
    • other (KDTree instance) – The other tree to draw points from.

    • r (float or one-dimensional array of floats) – The radius to produce a count for. Multiple radii are searched with -a single tree traversal. -If the count is non-cumulative(cumulative=False), r defines -the edges of the bins, and must be non-decreasing.

    • -
    • p (float, optional) – 1<=p<=infinity. -Which Minkowski p-norm to use. -Default 2.0. -A finite large p may cause a ValueError if overflow can occur.

    • -
    • weights (tuple, array_like, or None, optional) –

      If None, the pair-counting is unweighted. -If given as a tuple, weights[0] is the weights of points in -self, and weights[1] is the weights of points in other; -either can be None to indicate the points are unweighted. -If given as an array_like, weights is the weights of points in -self and other. For this to make sense, self and -other must be the same tree. If self and other are two -different trees, a ValueError is raised. -Default: None

      -
      -

      New in version 1.6.0.

      -
      -

    • -
    • cumulative (bool, optional) –

      Whether the returned counts are cumulative. When cumulative is set -to False the algorithm is optimized to work with a large number -of bins (>10) specified by r. When cumulative is set to -True, the algorithm is optimized to work with a small number of -r. Default: True

      -
      -

      New in version 1.6.0.

      -
      -

    • +a single tree traversal.

      +
    • p (float, 1<=p<=infinity, optional) – Which Minkowski p-norm to use

    Returns
    -

    result – The number of pairs. For unweighted counts, the result is integer. -For weighted counts, the result is float. -If cumulative is False, result[i] contains the counts with -(-inf if i == 0 else r[i-1]) < R <= r[i]

    +

    result – The number of pairs. Note that this is internally stored in a numpy +int, and so may overflow if very large (2e9).

    Return type
    -

    scalar or 1-D array

    -
    -
    -

    Notes

    -

    Pair-counting is the basic operation used to calculate the two point -correlation functions from a data set composed of position of objects.

    -

    Two point correlation function measures the clustering of objects and -is widely used in cosmology to quantify the large scale structure -in our Universe, but it may be useful for data analysis in other fields -where self-similar assembly of objects also occur.

    -

    The Landy-Szalay estimator for the two point correlation function of -D measures the clustering signal in D. 2

    -

    For example, given the position of two sets of objects,

    -
      -
    • objects D (data) contains the clustering signal, and

    • -
    • objects R (random) that contains no signal,

    • -
    -
    -\[\xi(r) = \frac{<D, D> - 2 f <D, R> + f^2<R, R>}{f^2<R, R>},\]
    -

    where the brackets represents counting pairs between two data sets -in a finite bin around r (distance), corresponding to setting -cumulative=False, and f = float(len(D)) / float(len(R)) is the -ratio between number of objects from data and random.

    -

    The algorithm implemented here is loosely based on the dual-tree -algorithm described in 1. We switch between two different -pair-cumulation scheme depending on the setting of cumulative. -The computing time of the method we use when for -cumulative == False does not scale with the total number of bins. -The algorithm for cumulative == True scales linearly with the -number of bins, though it is slightly faster when only -1 or 2 bins are used. 5.

    -

    As an extension to the naive pair-counting, -weighted pair-counting counts the product of weights instead -of number of pairs. -Weighted pair-counting is used to estimate marked correlation functions -(3, section 2.2), -or to properly calculate the average of data per distance bin -(e.g. 4, section 2.1 on redshift).

    -
    -
    1(1,2)
    -

    Gray and Moore, -“N-body problems in statistical learning”, -Mining the sky, 2000, -https://arxiv.org/abs/astro-ph/0012333

    -
    -
    2
    -

    Landy and Szalay, -“Bias and variance of angular correlation functions”, -The Astrophysical Journal, 1993, -http://adsabs.harvard.edu/abs/1993ApJ…412…64L

    -
    -
    3
    -

    Sheth, Connolly and Skibba, -“Marked correlations in galaxy formation models”, -Arxiv e-print, 2005, -https://arxiv.org/abs/astro-ph/0511773

    -
    -
    4
    -

    Hawkins, et al., -“The 2dF Galaxy Redshift Survey: correlation functions, -peculiar velocities and the matter density of the Universe”, -Monthly Notices of the Royal Astronomical Society, 2002, -http://adsabs.harvard.edu/abs/2003MNRAS.346…78H

    -
    -
    5
    -

    https://github.com/scipy/scipy/pull/5647#issuecomment-168474926

    +

    int or 1-D array of ints

    -

    Examples

    -

    You can count neighbors number between two kd-trees within a distance:

    -
    >>> import numpy as np
    ->>> from scipy.spatial import KDTree
    ->>> rng = np.random.default_rng()
    ->>> points1 = rng.random((5, 2))
    ->>> points2 = rng.random((5, 2))
    ->>> kd_tree1 = KDTree(points1)
    ->>> kd_tree2 = KDTree(points2)
    ->>> kd_tree1.count_neighbors(kd_tree2, 0.2)
    -1
    -
    -
    -

    This number is same as the total pair number calculated by -query_ball_tree:

    -
    >>> indexes = kd_tree1.query_ball_tree(kd_tree2, r=0.2)
    ->>> sum([len(i) for i in indexes])
    -1
    -
    -
    -class innernode(ckdtreenode)[source]
    +class innernode(split_dim, split, less, greater)[source]

    Bases: scipy.spatial.kdtree.KDTree.node

    -
    -
    -property children
    -
    - -
    -
    -property split
    -
    - -
    -
    -property split_dim
    -
    -
    -class leafnode(ckdtree_node=None)[source]
    +class leafnode(idx)[source]

    Bases: scipy.spatial.kdtree.KDTree.node

    -
    -
    -property children
    -
    - -
    -
    -property idx
    -
    -
    -class node(ckdtree_node=None)[source]
    +class node[source]

    Bases: object

    -query(x, k=1, eps=0, p=2, distance_upper_bound=inf, workers=1)[source]
    -

    Query the kd-tree for nearest neighbors.

    +query(x, k=1, eps=0, p=2, distance_upper_bound=inf)[source] +

    Query the kd-tree for nearest neighbors

    Parameters
    • x (array_like, last dimension self.m) – An array of points to query.

    • -
    • k (int or Sequence[int], optional) – Either the number of nearest neighbors to return, or a list of the -k-th nearest neighbors to return, starting from 1.

    • +
    • k (int, optional) – The number of nearest neighbors to return.

    • eps (nonnegative float, optional) – Return approximate nearest neighbors; the kth returned value is guaranteed to be no further than (1+eps) times the distance to the real kth nearest neighbor.

    • p (float, 1<=p<=infinity, optional) – Which Minkowski p-norm to use. -1 is the sum-of-absolute-values distance (“Manhattan” distance). -2 is the usual Euclidean distance. -infinity is the maximum-coordinate-difference distance. -A large, finite p may cause a ValueError if overflow can occur.

    • +1 is the sum-of-absolute-values “Manhattan” distance +2 is the usual Euclidean distance +infinity is the maximum-coordinate-difference distance

    • distance_upper_bound (nonnegative float, optional) – Return only neighbors within this distance. This is used to prune tree searches, so if you are doing a series of nearest-neighbor queries, it may help to supply the distance to the nearest neighbor of the most recent point.

    • -
    • workers (int, optional) –

      Number of workers to use for parallel processing. If -1 is given -all CPU threads are used. Default: 1.

      -
      -

      New in version 1.6.0.

      -
      -

    Returns
    -

      +

      • d (float or array of floats) – The distances to the nearest neighbors. -If x has shape tuple+(self.m,), then d has shape -tuple+(k,). -When k == 1, the last dimension of the output is squeezed. -Missing neighbors are indicated with infinite distances. -Hits are sorted by distance (nearest first).

        -
        -

        Deprecated since version 1.6.0: If k=None, then d is an object array of shape tuple, -containing lists of distances. This behavior is deprecated and -will be removed in SciPy 1.8.0, use query_ball_point -instead.

        -
        -
      • -
      • i (integer or array of integers) – The index of each neighbor in self.data. -i is the same shape as d. -Missing neighbors are indicated with self.n.

      • +If x has shape tuple+(self.m,), then d has shape tuple if +k is one, or tuple+(k,) if k is larger than one. Missing +neighbors (e.g. when k > n or distance_upper_bound is +given) are indicated with infinite distances. If k is None, +then d is an object array of shape tuple, containing lists +of distances. In either case the hits are sorted by distance +(nearest first).

        +
      • i (integer or array of integers) – The locations of the neighbors in self.data. i is the same +shape as d.

    Examples

    -
    >>> import numpy as np
    ->>> from scipy.spatial import KDTree
    +
    >>> from scipy import spatial
     >>> x, y = np.mgrid[0:5, 2:8]
    ->>> tree = KDTree(np.c_[x.ravel(), y.ravel()])
    -
    -
    -

    To query the nearest neighbours and return squeezed result, use

    -
    >>> dd, ii = tree.query([[0, 0], [2.2, 2.9]], k=1)
    ->>> print(dd, ii, sep='\n')
    -[2.         0.2236068]
    -[ 0 13]
    -
    -
    -

    To query the nearest neighbours and return unsqueezed result, use

    -
    >>> dd, ii = tree.query([[0, 0], [2.2, 2.9]], k=[1])
    ->>> print(dd, ii, sep='\n')
    -[[2.        ]
    - [0.2236068]]
    -[[ 0]
    - [13]]
    -
    -
    -

    To query the second nearest neighbours and return unsqueezed result, -use

    -
    >>> dd, ii = tree.query([[0, 0], [2.2, 2.9]], k=[2])
    ->>> print(dd, ii, sep='\n')
    -[[2.23606798]
    - [0.80622577]]
    -[[ 6]
    - [19]]
    -
    -
    -

    To query the first and second nearest neighbours, use

    -
    >>> dd, ii = tree.query([[0, 0], [2.2, 2.9]], k=2)
    ->>> print(dd, ii, sep='\n')
    -[[2.         2.23606798]
    - [0.2236068  0.80622577]]
    -[[ 0  6]
    - [13 19]]
    -
    -
    -

    or, be more specific

    -
    >>> dd, ii = tree.query([[0, 0], [2.2, 2.9]], k=[1, 2])
    ->>> print(dd, ii, sep='\n')
    -[[2.         2.23606798]
    - [0.2236068  0.80622577]]
    -[[ 0  6]
    - [13 19]]
    +>>> tree = spatial.KDTree(list(zip(x.ravel(), y.ravel())))
    +>>> tree.data
    +array([[0, 2],
    +       [0, 3],
    +       [0, 4],
    +       [0, 5],
    +       [0, 6],
    +       [0, 7],
    +       [1, 2],
    +       [1, 3],
    +       [1, 4],
    +       [1, 5],
    +       [1, 6],
    +       [1, 7],
    +       [2, 2],
    +       [2, 3],
    +       [2, 4],
    +       [2, 5],
    +       [2, 6],
    +       [2, 7],
    +       [3, 2],
    +       [3, 3],
    +       [3, 4],
    +       [3, 5],
    +       [3, 6],
    +       [3, 7],
    +       [4, 2],
    +       [4, 3],
    +       [4, 4],
    +       [4, 5],
    +       [4, 6],
    +       [4, 7]])
    +>>> pts = np.array([[0, 0], [2.1, 2.9]])
    +>>> tree.query(pts)
    +(array([ 2.        ,  0.14142136]), array([ 0, 13]))
    +>>> tree.query(pts[0])
    +(2.0, 0)
     
    -query_ball_point(x, r, p=2.0, eps=0, workers=1, return_sorted=None, return_length=False)[source]
    +query_ball_point(x, r, p=2.0, eps=0)[source]

    Find all points within distance r of point(s) x.

    Parameters
    • x (array_like, shape tuple + (self.m,)) – The point or points to search for neighbors of.

    • -
    • r (array_like, float) – The radius of points to return, must broadcast to the length of x.

    • -
    • p (float, optional) – Which Minkowski p-norm to use. Should be in the range [1, inf]. -A finite large p may cause a ValueError if overflow can occur.

    • +
    • r (positive float) – The radius of points to return.

    • +
    • p (float, optional) – Which Minkowski p-norm to use. Should be in the range [1, inf].

    • eps (nonnegative float, optional) – Approximate search. Branches of the tree are not explored if their nearest points are further than r / (1 + eps), and branches are added in bulk if their furthest points are nearer than r * (1 + eps).

    • -
    • workers (int, optional) –

      Number of jobs to schedule for parallel processing. If -1 is given -all processors are used. Default: 1.

      -
      -

      New in version 1.6.0.

      -
      -

    • -
    • return_sorted (bool, optional) –

      Sorts returned indicies if True and does not sort them if False. If -None, does not sort single point queries, but does sort -multi-point queries which was the behavior before this option -was added.

      -
      -

      New in version 1.6.0.

      -
      -

    • -
    • return_length (bool, optional) –

      Return the number of points inside the radius instead of a list -of the indices.

      -
      -

      New in version 1.6.0.

      -
      -

    Returns
    @@ -3269,7 +3003,7 @@

    Submodules>>> x, y = np.mgrid[0:5, 0:5] >>> points = np.c_[x.ravel(), y.ravel()] >>> tree = spatial.KDTree(points) ->>> sorted(tree.query_ball_point([2, 0], 1)) +>>> tree.query_ball_point([2, 0], 1) [5, 10, 11, 15]

    @@ -3289,8 +3023,7 @@

    Submodules
    query_ball_tree(other, r, p=2.0, eps=0)[source]
    -

    Find all pairs of points between self and other whose distance is -at most r.

    +

    Find all pairs of points whose distance is at most r

    Parameters
    -

    Examples

    -

    You can search all pairs of points between two kd-trees within a distance:

    -
    >>> import matplotlib.pyplot as plt
    ->>> import numpy as np
    ->>> from scipy.spatial import KDTree
    ->>> rng = np.random.default_rng()
    ->>> points1 = rng.random((15, 2))
    ->>> points2 = rng.random((15, 2))
    ->>> plt.figure(figsize=(6, 6))
    ->>> plt.plot(points1[:, 0], points1[:, 1], "xk", markersize=14)
    ->>> plt.plot(points2[:, 0], points2[:, 1], "og", markersize=14)
    ->>> kd_tree1 = KDTree(points1)
    ->>> kd_tree2 = KDTree(points2)
    ->>> indexes = kd_tree1.query_ball_tree(kd_tree2, r=0.2)
    ->>> for i in range(len(indexes)):
    -...     for j in indexes[i]:
    -...         plt.plot([points1[i, 0], points2[j, 0]],
    -...             [points1[i, 1], points2[j, 1]], "-r")
    ->>> plt.show()
    -
    -
    -query_pairs(r, p=2.0, eps=0, output_type='set')[source]
    -

    Find all pairs of points in self whose distance is at most r.

    +query_pairs(r, p=2.0, eps=0)[source] +

    Find all pairs of points within a distance.

    Parameters
    Returns

    results – Set of pairs (i,j), with i < j, for which the corresponding -positions are close. If output_type is ‘ndarray’, an ndarry is -returned instead of a set.

    +positions are close.

    Return type
    -

    set or ndarray

    +

    set

    -

    Examples

    -

    You can search all pairs of points in a kd-tree within a distance:

    -
    >>> import matplotlib.pyplot as plt
    ->>> import numpy as np
    ->>> from scipy.spatial import KDTree
    ->>> rng = np.random.default_rng()
    ->>> points = rng.random((20, 2))
    ->>> plt.figure(figsize=(6, 6))
    ->>> plt.plot(points[:, 0], points[:, 1], "xk", markersize=14)
    ->>> kd_tree = KDTree(points)
    ->>> pairs = kd_tree.query_pairs(r=0.2)
    ->>> for (i, j) in pairs:
    -...     plt.plot([points[i, 0], points[j, 0]],
    -...             [points[i, 1], points[j, 1]], "-r")
    ->>> plt.show()
    -
    -
    -sparse_distance_matrix(other, max_distance, p=2.0, output_type='dok_matrix')[source]
    -

    Compute a sparse distance matrix.

    +sparse_distance_matrix(other, max_distance, p=2.0)[source] +

    Compute a sparse distance matrix

    Computes a distance matrix between two KDTrees, leaving as zero any distance greater than max_distance.

    @@ -3395,66 +3084,23 @@

    Submodules
    • other (KDTree) –

    • max_distance (positive float) –

    • -
    • p (float, 1<=p<=infinity) – Which Minkowski p-norm to use. -A finite large p may cause a ValueError if overflow can occur.

    • -
    • output_type (string, optional) –

      Which container to use for output data. Options: ‘dok_matrix’, -‘coo_matrix’, ‘dict’, or ‘ndarray’. Default: ‘dok_matrix’.

      -
      -

      New in version 1.6.0.

      -
      -

    • +
    • p (float, optional) –

    Returns
    -

    result – Sparse matrix representing the results in “dictionary of keys” -format. If a dict is returned the keys are (i,j) tuples of indices. -If output_type is ‘ndarray’ a record array with fields ‘i’, ‘j’, -and ‘v’ is returned,

    +

    result – Sparse matrix representing the results in “dictionary of keys” format.

    Return type
    -

    dok_matrix, coo_matrix, dict or ndarray

    +

    dok_matrix

    -

    Examples

    -

    You can compute a sparse distance matrix between two kd-trees:

    -
    >>> import numpy as np
    ->>> from scipy.spatial import KDTree
    ->>> rng = np.random.default_rng()
    ->>> points1 = rng.random((5, 2))
    ->>> points2 = rng.random((5, 2))
    ->>> kd_tree1 = KDTree(points1)
    ->>> kd_tree2 = KDTree(points2)
    ->>> sdm = kd_tree1.sparse_distance_matrix(kd_tree2, 0.3)
    ->>> sdm.toarray()
    -array([[0.        , 0.        , 0.12295571, 0.        , 0.        ],
    -   [0.        , 0.        , 0.        , 0.        , 0.        ],
    -   [0.28942611, 0.        , 0.        , 0.2333084 , 0.        ],
    -   [0.        , 0.        , 0.        , 0.        , 0.        ],
    -   [0.24617575, 0.29571802, 0.26836782, 0.        , 0.        ]])
    -
    -
    -

    You can check distances above the max_distance are zeros:

    -
    >>> from scipy.spatial import distance_matrix
    ->>> distance_matrix(points1, points2)
    -array([[0.56906522, 0.39923701, 0.12295571, 0.8658745 , 0.79428925],
    -   [0.37327919, 0.7225693 , 0.87665969, 0.32580855, 0.75679479],
    -   [0.28942611, 0.30088013, 0.6395831 , 0.2333084 , 0.33630734],
    -   [0.31994999, 0.72658602, 0.71124834, 0.55396483, 0.90785663],
    -   [0.24617575, 0.29571802, 0.26836782, 0.57714465, 0.6473269 ]])
    -
    -

    -
    -
    -property tree
    -
    -
    -class spatialpy.core.Model(name='spatialpy')[source]
    +class spatialpy.core.Model(name='spatialpy')[source]

    Bases: object

    Representation of a spatial biochemical model.

    @@ -3785,7 +3431,7 @@

    Submodules
    -reserved_names = ['vol', 't']
    +reserved_names = ['vol', 't']

    @@ -3879,7 +3525,7 @@

    Submodules
    -special_characters = ['[', ']', '+', '-', '*', '/', '.', '^']
    +special_characters = ['[', ']', '+', '-', '*', '/', '.', '^']

    @@ -3910,14 +3556,14 @@

    Submodules
    -exception spatialpy.core.ModelError[source]
    +exception spatialpy.core.ModelError[source]

    Bases: Exception

    Class for exceptions in the model module.

    -class spatialpy.core.OrderedDict[source]
    +class spatialpy.core.OrderedDict[source]

    Bases: dict

    Dictionary that remembers insertion order

    @@ -3938,12 +3584,12 @@

    Submodules
    -items() a set-like object providing a view on D's items
    +items() a set-like object providing a view on D’s items

    -keys() a set-like object providing a view on D's keys
    +keys() a set-like object providing a view on D’s keys
    @@ -3955,7 +3601,7 @@

    Submodules
    -pop(k[, d]) v, remove specified key and return the corresponding
    +pop(k[, d]) v, remove specified key and return the corresponding

    value. If key is not found, d is returned if given, otherwise KeyError is raised.

    @@ -3976,7 +3622,7 @@

    Submodules
    -update([E, ]**F) None.  Update D from dict/iterable E and F.
    +update([E, ]**F) None.  Update D from dict/iterable E and F.

    If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]

    @@ -3984,14 +3630,14 @@

    Submodules
    -values() an object providing a view on D's values
    +values() an object providing a view on D’s values

    -class spatialpy.core.Parameter(name=None, expression=None)[source]
    +class spatialpy.core.Parameter(name=None, expression=None)[source]

    Bases: object

    Model of a rate paramter. A parameter can be given as a String expression (function) or directly as a scalar value. @@ -4009,14 +3655,14 @@

    Submodules
    -exception spatialpy.core.ParameterError[source]
    +exception spatialpy.core.ParameterError[source]

    Bases: spatialpy.core.spatialpyerror.ModelError

    Class for exceptions in parameter module.

    -class spatialpy.core.PlaceInitialCondition(species, count, location)[source]
    +class spatialpy.core.PlaceInitialCondition(species, count, location)[source]

    Bases: spatialpy.core.initialcondition.InitialCondition

    Class used to defined the place initial condition in SpatialPy.

    @@ -4043,7 +3689,7 @@

    Submodules
    -class spatialpy.core.Reaction(name='', reactants=None, products=None, propensity_function=None, rate=None, annotation=None, restrict_to=None)[source]
    +class spatialpy.core.Reaction(name='', reactants=None, products=None, propensity_function=None, rate=None, annotation=None, restrict_to=None)[source]

    Bases: object

    Models a biochemical reaction. A reaction conatains dictionaries of species (reactants and products) and parameters. The reaction’s propensity function needs to be evaluable and result in a non-negative scalar value in the namespace defined by the union of its Reactant, Product and Parameter dictionaries. For mass-action, zeroth, first and second order reactions are supported, attempting to used higher orders will result in an error.

    @@ -4113,14 +3759,14 @@

    Submodules
    -exception spatialpy.core.ReactionError[source]
    +exception spatialpy.core.ReactionError[source]

    Bases: spatialpy.core.spatialpyerror.ModelError

    Class for exceptions in reaction module.

    -class spatialpy.core.Result(model=None, result_dir=None)[source]
    +class spatialpy.core.Result(model=None, result_dir=None)[source]

    Bases: object

    Result object for a URDME simulation.

    @@ -4331,14 +3977,14 @@

    Submodules
    -exception spatialpy.core.ResultError[source]
    +exception spatialpy.core.ResultError[source]

    Bases: Exception

    Class for exceptions in the results module.

    -class spatialpy.core.ScatterInitialCondition(species, count, types=None)[source]
    +class spatialpy.core.ScatterInitialCondition(species, count, types=None)[source]

    Bases: spatialpy.core.initialcondition.InitialCondition

    Class used to defined the scatter initial condition in SpatialPy.

    @@ -4365,21 +4011,21 @@

    Submodules
    -exception spatialpy.core.SimulationError[source]
    +exception spatialpy.core.SimulationError[source]

    Bases: Exception

    Class for exceptions in the simulation module.

    -exception spatialpy.core.SimulationTimeout[source]
    +exception spatialpy.core.SimulationTimeout[source]

    Bases: spatialpy.core.spatialpyerror.SimulationError

    Exception raised for timeout errors.

    -class spatialpy.core.Species(name=None, diffusion_coefficient=None, restrict_to=None)[source]
    +class spatialpy.core.Species(name=None, diffusion_coefficient=None, restrict_to=None)[source]

    Bases: object

    Model of a biochemical species. Must be assigned a diffusion coefficent.

    @@ -4409,14 +4055,14 @@

    Submodules
    -exception spatialpy.core.SpeciesError[source]
    +exception spatialpy.core.SpeciesError[source]

    Bases: spatialpy.core.spatialpyerror.ModelError

    Class for exceptions in the species module.

    -class spatialpy.core.UniformInitialCondition(species, count, types=None)[source]
    +class spatialpy.core.UniformInitialCondition(species, count, types=None)[source]

    Bases: spatialpy.core.initialcondition.InitialCondition

    Class used to defined the uniform initial condition in SpatialPy.

    @@ -4443,7 +4089,7 @@

    Submodules
    -class spatialpy.core.VTKReader(filename=None, debug=False)[source]
    +class spatialpy.core.VTKReader(filename=None, debug=False)[source]

    Bases: object

    VTKReader.py: SpatialPy minimal VTK legacy file reader. Reference: https://vtk.org/wp-content/uploads/2015/04/file-formats.pdf

    @@ -4540,14 +4186,14 @@

    Submodules
    -exception spatialpy.core.VTKReaderError[source]
    +exception spatialpy.core.VTKReaderError[source]

    Bases: Exception

    Bass class for exceptions in the vtkreader module.

    -exception spatialpy.core.VTKReaderIOError(message)[source]
    +exception spatialpy.core.VTKReaderIOError(message)[source]

    Bases: spatialpy.core.spatialpyerror.VTKReaderError

    Exception raised for I/O errors.

    @@ -4588,7 +4234,7 @@

    Submodules
    -class spatialpy.core.combinations(iterable, r)
    +class spatialpy.core.combinations(iterable, r)

    Bases: object

    Return successive r-length combinations of elements in the iterable.

    combinations(range(4), 3) –> (0,1,2), (0,1,3), (0,2,3), (1,2,3)

    @@ -4643,7 +4289,7 @@

    Submodules -
    image (default=None |’png’ |’jpeg’ |’svg’ |’webp’) – This parameter sets

    the format of the image to be downloaded, if we choose to download an +

    image (default=None |’png’ |’jpeg’ |’svg’ |’webp’) – This parameter sets

    the format of the image to be downloaded, if we choose to download an image. This parameter has a default value of None indicating that no image should be downloaded. Please note: for higher resolution images and more export options, consider using plotly.io.write_image. See @@ -4680,7 +4326,7 @@

    Submodulesiplot([{'x': [1, 2, 3], 'y': [5, 2, 7]}], image='png') `

    animation_opts Example: -``` +``` from plotly.offline import iplot figure = {‘data’: [{‘x’: [0, 1], ‘y’: [0, 1]}],

    @@ -4697,11 +4343,11 @@

    Submodules```

    +```

    - - + + @@ -4729,7 +4375,7 @@

    SubmodulesSphinx 4.4.0 + Powered by Sphinx 4.1.1 & Alabaster 0.7.12 | diff --git a/docs/build/html/classes/spatialpy.html b/docs/build/html/classes/spatialpy.html index 424282e2..2c1be40a 100644 --- a/docs/build/html/classes/spatialpy.html +++ b/docs/build/html/classes/spatialpy.html @@ -4,8 +4,7 @@ - - + spatialpy package — SpatialPy 1.0 documentation @@ -102,9 +101,9 @@

    Quick search

    -
    +

    spatialpy package

    -
    +

    Subpackages

      @@ -141,8 +140,8 @@

      Subpackages +

    +

    Module contents

    SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -156,8 +155,8 @@

    Subpackageshttp://www.gnu.org/licenses/>.

    -

    -
    +
    + @@ -185,7 +184,7 @@

    SubpackagesSphinx 4.4.0 + Powered by Sphinx 4.1.1 & Alabaster 0.7.12 | diff --git a/docs/build/html/classes/spatialpy.solvers.html b/docs/build/html/classes/spatialpy.solvers.html index c3b84ac1..a0aecbb1 100644 --- a/docs/build/html/classes/spatialpy.solvers.html +++ b/docs/build/html/classes/spatialpy.solvers.html @@ -4,8 +4,7 @@ - - + spatialpy.solvers package — SpatialPy 1.0 documentation @@ -104,12 +103,12 @@

    Quick search

    -
    +

    spatialpy.solvers package

    -
    +

    Submodules

    -
    -
    +
    +

    spatialpy.solvers.build_expression module

    SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -125,7 +124,7 @@

    Submoduleshttp://www.gnu.org/licenses/>.

    -class spatialpy.solvers.build_expression.BuildExpression(blacklist=None, namespace=None, sanitize=False)[source]
    +class spatialpy.solvers.build_expression.BuildExpression(blacklist=None, namespace=None, sanitize=False)[source]

    Bases: object

    Accepts an expression string to validate and convert. Allows for pre-flight syntax and namespace validations, @@ -159,7 +158,7 @@

    Submodules
    -class ValidationVisitor(namespace=None, blacklist=None, sanitize=False)[source]
    +class ValidationVisitor(namespace=None, blacklist=None, sanitize=False)[source]

    Bases: ast.NodeTransformer

    A subclass of ast.NodeTransformer used to sanitize spatialpy expresions.

    @@ -173,7 +172,7 @@

    Submodules
    -visit_Assign(node: ast.Assign)[source]
    +visit_Assign(node: _ast.Assign)[source]

    Visitor function for ast.Assign nodes.

    Parameters
    @@ -335,7 +334,7 @@

    Submodules
    -classmethod map_operator(operator)[source]
    +classmethod map_operator(operator)[source]

    Map operator strings with built expressions.

    Parameters
    @@ -346,7 +345,7 @@

    Submodules
    -operator_map = {'!': <class 'ast.Not'>, '!=': <class 'ast.NotEq'>, '%': <class 'ast.Mod'>, '&': <class 'ast.BitAnd'>, '*': <class 'ast.Mult'>, '**': <class 'ast.Pow'>, '+': <class 'ast.Add'>, '-': <class 'ast.Sub'>, '/': <class 'ast.Div'>, '//': <class 'ast.FloorDiv'>, ':=': <class 'ast.Assign'>, '<': <class 'ast.Lt'>, '<<': <class 'ast.LShift'>, '<=': <class 'ast.LtE'>, '=': <class 'ast.Assign'>, '==': <class 'ast.Eq'>, '>': <class 'ast.Gt'>, '>=': <class 'ast.GtE'>, '>>': <class 'ast.RShift'>, '@': <class 'ast.MatMult'>, '^': <class 'ast.BitXor'>, 'and': <class 'ast.And'>, 'or': <class 'ast.Or'>, '|': <class 'ast.BitOr'>}
    +operator_map = {'!': <class '_ast.Not'>, '!=': <class '_ast.NotEq'>, '%': <class '_ast.Mod'>, '&': <class '_ast.BitAnd'>, '*': <class '_ast.Mult'>, '**': <class '_ast.Pow'>, '+': <class '_ast.Add'>, '-': <class '_ast.Sub'>, '/': <class '_ast.Div'>, '//': <class '_ast.FloorDiv'>, ':=': <class '_ast.Assign'>, '<': <class '_ast.Lt'>, '<<': <class '_ast.LShift'>, '<=': <class '_ast.LtE'>, '=': <class '_ast.Assign'>, '==': <class '_ast.Eq'>, '>': <class '_ast.Gt'>, '>=': <class '_ast.GtE'>, '>>': <class '_ast.RShift'>, '@': <class '_ast.MatMult'>, '^': <class '_ast.BitXor'>, 'and': <class '_ast.And'>, 'or': <class '_ast.Or'>, '|': <class '_ast.BitOr'>}

    @@ -416,17 +415,17 @@

    Submodules
    -class spatialpy.solvers.build_expression.CppConverter(tree)[source]
    +class spatialpy.solvers.build_expression.CppConverter(tree)[source]

    Bases: spatialpy.solvers.build_expression.ExpressionConverter

    Converts an ast.AST to a C++ expression string.

    -class CppExpressionTransformer[source]
    +class CppExpressionTransformer[source]

    Bases: ast.NodeTransformer

    A subclass of ast.NodeTransformer used to convert ast.AST expresions to C++ expressions.

    -visit_BinOp(node: ast.BinOp)[source]
    +visit_BinOp(node: _ast.BinOp)[source]

    Visitor function for ast.BinOp nodes.

    Parameters
    @@ -483,7 +482,7 @@

    Submodules
    -class spatialpy.solvers.build_expression.ExpressionConverter(tree)[source]
    +class spatialpy.solvers.build_expression.ExpressionConverter(tree)[source]

    Bases: ast.NodeVisitor

    A subclass of ast.NodeVisitor used to convert spatialpy expresions.

    @@ -493,7 +492,7 @@

    Submodules
    -classmethod convert_str(expression)[source]
    +classmethod convert_str(expression)[source]

    Convert ‘^’ to python pow operator.

    Parameters
    @@ -821,7 +820,7 @@

    Submodules
    -class spatialpy.solvers.build_expression.ExpressionResults(invalid_names=None, invalid_operators=None, is_valid=True)[source]
    +class spatialpy.solvers.build_expression.ExpressionResults(invalid_names=None, invalid_operators=None, is_valid=True)[source]

    Bases: object

    Container struct for returning the results of expression validation. Any expression items which indicate an invalid expression are listed on an ExpressionResults instance. @@ -842,7 +841,7 @@

    Submodules
    -class spatialpy.solvers.build_expression.PythonConverter(tree)[source]
    +class spatialpy.solvers.build_expression.PythonConverter(tree)[source]

    Bases: spatialpy.solvers.build_expression.ExpressionConverter

    Converts an ast.AST to a Python expression string.

    @@ -869,8 +868,8 @@

    Submodules +

    +

    spatialpy.solvers.solver module

    SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -886,7 +885,7 @@

    Submoduleshttp://www.gnu.org/licenses/>.

    -class spatialpy.solvers.solver.Solver(model, debug_level=0)[source]
    +class spatialpy.solvers.solver.Solver(model, debug_level=0)[source]

    Bases: object

    SpatialPy solver object.

    @@ -947,8 +946,8 @@

    Submodules +

    +

    Module contents

    SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -962,8 +961,8 @@

    Submoduleshttp://www.gnu.org/licenses/>.

    -

    - +
    + @@ -991,7 +990,7 @@

    SubmodulesSphinx 4.4.0 + Powered by Sphinx 4.1.1 & Alabaster 0.7.12 | diff --git a/docs/build/html/classes/spatialpy.stochss.html b/docs/build/html/classes/spatialpy.stochss.html index 87f7ecc8..b422fed0 100644 --- a/docs/build/html/classes/spatialpy.stochss.html +++ b/docs/build/html/classes/spatialpy.stochss.html @@ -4,8 +4,7 @@ - - + spatialpy.stochss package — SpatialPy 1.0 documentation @@ -102,12 +101,12 @@

    Quick search

    -
    +

    spatialpy.stochss package

    -
    +

    Submodules

    -
    -
    +
    +

    spatialpy.stochss.stochss_export module

    SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -142,8 +141,8 @@

    Submodules +

    +

    Module contents

    SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -157,8 +156,8 @@

    Submoduleshttp://www.gnu.org/licenses/>.

    -

    - +
    + @@ -182,7 +181,7 @@

    SubmodulesSphinx 4.4.0 + Powered by Sphinx 4.1.1 & Alabaster 0.7.12 | diff --git a/docs/build/html/genindex.html b/docs/build/html/genindex.html index 61d2a048..f15d74f7 100644 --- a/docs/build/html/genindex.html +++ b/docs/build/html/genindex.html @@ -101,9 +101,7 @@

    Index

    | G | I | K - | L | M - | N | O | P | Q @@ -234,12 +232,6 @@

    C

    -
  • children (spatialpy.core.KDTree.innernode property) - -
  • cleanup_build_files() (in module spatialpy.core) @@ -276,10 +268,10 @@

    C

  • combinations (class in spatialpy.core)
  • - - +
    • compile_prep() (spatialpy.core.Domain method)
        @@ -324,8 +316,6 @@

        C

        D

        - + -

        U

        @@ -1331,7 +1287,7 @@

        W

        ©Copyright (C) 2017-2022. | - Powered by Sphinx 4.4.0 + Powered by Sphinx 4.1.1 & Alabaster 0.7.12 diff --git a/docs/build/html/index.html b/docs/build/html/index.html index bdf46565..fdf6b500 100644 --- a/docs/build/html/index.html +++ b/docs/build/html/index.html @@ -4,8 +4,7 @@ - - + Documentation for SpatialPy 1.0 — SpatialPy 1.0 documentation @@ -91,23 +90,23 @@

        Quick search

        -
        +

        Documentation for SpatialPy 1.0

        SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems embedded in Lagrangian reference frame particle based fluid dynamics domain

        This package is intended to replace the PyURDME software https://github.com/pyurdme/pyurdme and will feature both a NSM solver for RDME simulation on static domains and a sSSA-SDPD particle based fluid dynamics solver as described in the publication “A hybrid smoothed dissipative particle dynamics (SDPD) spatial stochastic simulation algorithm (sSSA) for advection–diffusion–reaction problems” by Drawert, Jacob, Li, Yi, Petzold https://www.sciencedirect.com/science/article/pii/S0021999118307101

        -
        +

        Getting a copy of SpatialPy

        The latest version of SpatialPy can be found on PyPI. The source code is available on GitHub. SpatialPy is licensed under the GNU General Public License version 3.

        -

        Please register as a user! SpatialPy's development is funded by NIH grant 2R01EB014877, and to continue support, we need to prove SpatialPy has users. Please fill out our short registration form!

        -
        +

        Please register as a user! SpatialPy's development is funded by NIH grant 2R01EB014877, and to continue support, we need to prove SpatialPy has users. Please fill out our short registration form!

        +

        Examples

        See our Example Notebook - Start Here for more information on how to build and simulate your models with SpatialPy. For an example of how to use SpatialPy to simulate a spatial stochastic reaction-diffusion system, see the 3D Cylinder Demo. We also provide examples of how to use SpatialPy to simulate physics (Gravity Demo) and fluid flow (Weir Model).

        -
        -
        +
        +

        Reporting Issues

        If you find any problem with SpatialPy or this documentation, please report it using the GitHub issue tracker for the project. You can also contact the main author, Dr. Brian Drawert, directly with questions and suggestions.

        - -
        +
        +

        Documentation

        API reference

        @@ -124,16 +123,16 @@

        Documentation +

        +
        + @@ -157,7 +156,7 @@

        Indices and tablesSphinx 4.4.0 + Powered by Sphinx 4.1.1 & Alabaster 0.7.12 | diff --git a/docs/build/html/objects.inv b/docs/build/html/objects.inv index f335ae26546f40e1c8858cf9394845d73fa8c58f..df1b09ba2e90d19b38829327fd1e4b2c2a8ac311 100644 GIT binary patch delta 2441 zcmV;433m3h6zLO?dVfoE+c*}5_x=^Cn%P>@k6rINvAZkPlf>0ZvSmReBw-8^XaH2K z{`G?gDUlRKxrGCIk&-Nm-@)VZ5|2YA7o5}FFj48{XH`%|iwBmQg*^O{bE5U){>O!X zL-l{OB!&?#56fIAy4;zP|7-AB7jb{b3{^%5uI<5c%_`z`ZhvL>825KNXZA?*o#k_3 z6s5~Q9=_O@TNRqKC)rC@Ra8}?h*artru8@_8-UyqGpzZ%~>@Lp5}bJ26E-*oj}!&=f8si@Wswxnh!3IO*}DWM#Z zzT{N;QvYM<1Aj5(x4OzB>)gdGOCn?H*=0ehC`!VjD(3-9QWTjKtTIuR3#^>*yynEv zY%e&1$Avw~WP6)T=?elVO366QY~V@=PN>2qW~vc1MP1YV^pF+DzQrJa1|kcl4XJXP zt*QA=X_futyNBhFHrO!Ev+vC8GD#eigQ!)Jt(!y>qJJHR-2p&bYC`c?wY6_vK*-SN znPz`e5V5LDduhK=u0cR^kTfgk286?;9ac)AOjc68VE1)wABvaOJWp@8f$*EU4I&LBk<0hQFm-JSlXgS+Udm?-?QoAKzTlVD)CWW_AXP>H~~(z)CJ z&bC0_=AY=^_a&4B5CXL<-1@O^JxOvJO+?JQMmK9?D9hZ=a-wof4<_UR#o8!QKGTCn z@tC0{42CRNDfTooBBND-LP{ZlDA#f*oPW(C1>KOE8x%2IrzqN<@H#GAK6P*0H(sDe z1|nxXahtt>D^#Pr_+_d;J0p}EOV%R7L{N#Mj@!KG@%#viR3Kng2@@H%M_4nHj@;^M zafp!nlj`OQzquzJz}YO^Zj?=qx!%WB&hxgXU5*0?2N()>Xo%rUgY#Q%z{+|au79@8 z_E_BVMPMN!c9q+qCsn{Sd4U+8C|9g>MibDbdZK-?u_tO1%R5ELtqm6le!@|(&8BuX zt1K6Evtjl?Tn297h?e_Wv5inAFk~(e<3r}#mp^QJFQUdIM@CqaQHmV=Sc4hb-Eb-Q!@~*?lC;q&>jGyxIdUXn&V?NQF4J z2T-7adzAb$o}9?e-4_A7x`%MAxqF1Z!|{+-?{hN9@qG@)7{AZC2>m-l7SUo4&m)@ZyaHkLHFpv5fIC_jWBtre_ zLpa3kIfNoSpF<{K1GtMst#EXia5wt}IK)AGfemhEq`!THiw-oL*MGfB#X8={$nb~& zy5EObmTxQ10bnOlBb1n8L`7l1kEdw7(8z6V9S=(})) z8Li7hI_d+r@dvKl+SzIqHw^D5n7E<%kp*!B_p(%6!CDl;ZF|N-*>1gb}4?sadujDL3J_Bc3mZXb*C=$=yncjj{_B1!hCFyrnB7TyF98}IQ?+FHaS z1HKPT^E-P34fJo^4e_vF)fs@1KOr+fr}*KKfduTqx&asZ0M3Aoe9+VIf`kF5HU1u@i*(16zZ zNxDu!#@OvI(bJG27W^?Vz>Kd2-?xjDm*cki)7Ew+cX-gqB#YmCBmO3Z_?) z5sLc|L30GFcVMqM$)7pXW-h_kE_L4`_+Cmov-Xc1B)Hvm>F$qH&Aup7X=kQ+Gugy9 zx?UOlx}j02Wty?W)n9-C34Kmcp;KQajLQ)bJAn4@5`Xp6m}0u97*h+sU7GuG1=C4x zJ(p#<*s`4PSv3>h^u|P+i?1kV)k~GWCKOYR%qJud*Pk-ODkd8JPY5O(?@wt~`W1Vj zSkVWzpH=UXb0#&LH+&xdnpN(1Gqc>|ta|@7Gt13ey^q&_#tti(Xl6ex_$JBblQ1)1 zil6FoR)4)G@qJdkm6>-uwW`;%>V2JEFxfiSNi%HdYWzIv$uD9hoTv>1lFo3)wGfls z@Cw^039rl5ks8(JJzD!H1**<1_PR}Y3K<@1zSe%>TT|`Ve4~9xI#|yVVV5WRq?@$I zci^+HEVLhjFr|+~L|!!`UC)+q=`(8qLl(9zY%?Q;S delta 2516 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 Module Index

        ©Copyright (C) 2017-2022. | - Powered by Sphinx 4.4.0 + Powered by Sphinx 4.1.1 & Alabaster 0.7.12 diff --git a/docs/build/html/search.html b/docs/build/html/search.html index d6fae452..0fca5605 100644 --- a/docs/build/html/search.html +++ b/docs/build/html/search.html @@ -86,14 +86,13 @@

        Related Topics

        Search

        -