diff --git a/requirements.txt b/requirements.txt index 093f36c..0f524d4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,25 +2,25 @@ # This file is autogenerated by pip-compile with Python 3.12 # by the following command: # -# pip-compile --all-extras --cert=None --client-cert=None --index-url=None --output-file=requirements.txt --pip-args=None requirements.in +# pip-compile --all-extras --output-file=requirements.txt requirements.in # aiohappyeyeballs==2.6.1 # via aiohttp -aiohttp==3.12.15 +aiohttp==3.13.2 # via wslink aiosignal==1.4.0 # via aiohttp -attrs==25.3.0 +attrs==25.4.0 # via aiohttp -certifi==2025.8.3 +certifi==2025.11.12 # via # netcdf4 # requests -cfgv==3.4.0 +cfgv==3.5.0 # via pre-commit -cftime==1.6.4.post1 +cftime==1.6.5 # via netcdf4 -charset-normalizer==3.4.3 +charset-normalizer==3.4.4 # via requests contourpy==1.3.3 # via matplotlib @@ -30,25 +30,25 @@ deprecation==2.1.0 # via rapidyaml distlib==0.4.0 # via virtualenv -filelock==3.19.1 +filelock==3.20.0 # via virtualenv -fonttools==4.60.0 +fonttools==4.60.1 # via matplotlib -fourcipp==1.18.0 +fourcipp==1.39.0 # via -r requirements.in -frozenlist==1.7.0 +frozenlist==1.8.0 # via # aiohttp # aiosignal -identify==2.6.14 +identify==2.6.15 # via pre-commit -idna==3.10 +idna==3.11 # via # requests # yarl -iniconfig==2.1.0 +iniconfig==2.3.0 # via pytest -jsonschema-rs==0.33.0 +jsonschema-rs==0.37.1 # via fourcipp kiwisolver==1.4.9 # via matplotlib @@ -60,7 +60,7 @@ loguru==0.7.3 # lnmmeshio markdown-it-py==4.0.0 # via rich -matplotlib==3.10.6 +matplotlib==3.10.7 # via # pyvista # vtk @@ -70,21 +70,21 @@ meshio==5.3.5 # via lnmmeshio more-itertools==10.8.0 # via trame-server -msgpack==1.1.1 +msgpack==1.1.2 # via wslink -multidict==6.6.4 +multidict==6.7.0 # via # aiohttp # yarl -narwhals==2.5.0 +narwhals==2.12.0 # via plotly -netcdf4==1.7.2 +netcdf4==1.7.3 # via -r requirements.in nodeenv==1.9.1 # via pre-commit -numexpr==2.13.0 +numexpr==2.14.1 # via -r requirements.in -numpy==2.3.3 +numpy==2.3.5 # via # -r requirements.in # cftime @@ -104,17 +104,17 @@ packaging==25.0 # plotly # pooch # pytest -pandas==2.3.2 +pandas==2.3.3 # via -r requirements.in -pillow==11.3.0 +pillow==12.0.0 # via # matplotlib # pyvista -platformdirs==4.4.0 +platformdirs==4.5.0 # via # pooch # virtualenv -plotly==6.3.0 +plotly==6.5.0 # via # -r requirements.in # trame-plotly @@ -122,9 +122,9 @@ pluggy==1.6.0 # via pytest pooch==1.8.2 # via pyvista -pre-commit==4.3.0 +pre-commit==4.5.0 # via -r requirements.in -propcache==0.3.2 +propcache==0.4.1 # via # aiohttp # yarl @@ -134,7 +134,7 @@ pygments==2.19.2 # rich pyparsing==3.2.5 # via matplotlib -pytest==8.4.2 +pytest==9.0.1 # via -r requirements.in python-dateutil==2.9.0.post0 # via @@ -144,22 +144,22 @@ python-utils==3.9.1 # via lnmmeshio pytz==2025.2 # via pandas -pyvista==0.46.3 +pyvista==0.46.4 # via -r requirements.in -pyyaml==6.0.2 +pyyaml==6.0.3 # via # lnmmeshio # pre-commit # trame -rapidyaml==0.9.0 +rapidyaml==0.10.0 # via fourcipp -regex==2025.9.18 +regex==2025.11.3 # via fourcipp requests==2.32.5 # via pooch -rich==14.1.0 +rich==14.2.0 # via meshio -scooby==0.10.2 +scooby==0.11.0 # via pyvista six==1.17.0 # via python-dateutil @@ -167,7 +167,7 @@ tqdm==4.66.5 # via lnmmeshio trame==3.12.0 # via -r requirements.in -trame-client==3.10.4 +trame-client==3.11.2 # via # trame # trame-components @@ -182,11 +182,11 @@ trame-components==2.5.0 # via -r requirements.in trame-plotly==3.1.0 # via -r requirements.in -trame-server==3.6.1 +trame-server==3.8.1 # via trame -trame-vtk==2.9.1 +trame-vtk==2.10.0 # via -r requirements.in -trame-vuetify==3.0.3 +trame-vuetify==3.1.0 # via -r requirements.in typing-extensions==4.15.0 # via @@ -197,15 +197,15 @@ tzdata==2025.2 # via pandas urllib3==2.5.0 # via requests -virtualenv==20.34.0 +virtualenv==20.35.4 # via pre-commit vtk==9.4.2 # via # -r requirements.in # pyvista -wslink==2.4.0 +wslink==2.5.0 # via # trame # trame-server -yarl==1.20.1 +yarl==1.22.0 # via aiohttp diff --git a/src/fourc_webviewer/fourc_webserver.py b/src/fourc_webviewer/fourc_webserver.py index 91542db..c8ebce3 100644 --- a/src/fourc_webviewer/fourc_webserver.py +++ b/src/fourc_webviewer/fourc_webserver.py @@ -9,9 +9,9 @@ import numpy as np import pyvista as pv -import yaml from fourcipp import CONFIG from fourcipp.fourc_input import FourCInput, ValidationError +from loguru import logger from trame.app import get_server from trame.decorators import TrameApp, change, controller @@ -30,10 +30,8 @@ from fourc_webviewer.python_utils import ( convert_string2number, dict_leaves_to_number_if_schema, - dict_number_leaves_to_string, find_value_recursively, parse_validation_error_text, - smart_string2number_cast, ) from fourc_webviewer.read_geometry_from_file import ( FourCGeometry, @@ -41,7 +39,7 @@ # Global variable # factor which scales the spheres used to represent nodal design conditions and result descriptions with respect to the problem length scale -PV_SPHERE_FRAC_SCALE = 1.0 / 45.0 +PV_SPHERE_FRAC_SCALE = 1.0 / 75.0 # always set pyvista to plot off screen with Trame pv.OFF_SCREEN = True @@ -124,6 +122,7 @@ def __init__( fourc_geometry = FourCGeometry( fourc_yaml_file=fourc_yaml_file, temp_dir=Path(self._server_vars["temp_dir_object"].name), + first_render=True, ) self.state.vtu_path = fourc_geometry.vtu_file_path @@ -274,8 +273,10 @@ def init_pyvista_render_objects(self): self._server_vars["render_window"].clear_actors() + # read problem mesh problem_mesh = pv.read(self.state.vtu_path) - # get problem mesh + + # save problem mesh as actor self._actors["problem_mesh"] = self._server_vars["render_window"].add_mesh( problem_mesh, color="bisque", opacity=0.2, render=False ) @@ -285,6 +286,7 @@ def init_pyvista_render_objects(self): for material in self.state.materials_section.keys(): # get meshes of materials master_mat_ind = self.determine_master_mat_ind_for_material(material) + self._actors["material_meshes"][material] = self._server_vars[ "render_window" ].add_mesh( @@ -305,11 +307,11 @@ def init_pyvista_render_objects(self): self._actors["dc_geometry_entities"] = {} # get nodes of the selected condition geometries + entities for dc_entity in all_dc_entities: - points = problem_mesh.threshold( - value=1.0, - scalars=f"d{dc_entity['geometry_type'].lower()}{dc_entity['entity'].replace('E', '')}", - preference="point", - ).points + # get mesh points associated with design condition + condition_array_name = f"d{dc_entity['geometry_type'].lower()}{dc_entity['entity'].replace('E', '')}" + points = problem_mesh.points[ + np.where(problem_mesh.point_data[condition_array_name] == 1)[0], : + ] if points.size: pts = pv.PolyData(points) @@ -449,7 +451,7 @@ def init_general_sections_state_and_server_vars(self): ].sections.items(): if ( not any(substr in section_name for substr in substr_to_exclude) - and not section_name in sect_to_exclude + and section_name not in sect_to_exclude ): # account for sections to be excluded as defined above # check if the current section is "SOLVER" if re.match("^SOLVER [0-9]+", section_name): # yes @@ -898,7 +900,9 @@ def init_funct_state_and_server_vars(self): else: # warning that this function item is not known - print(f"Unknown function item {item_data} for funct {funct_name}!") + logger.warning( + f"Unknown function item {item_data} for funct {funct_name}!" + ) # we don't enable visualization item_data["VISUALIZATION"] = False @@ -1175,11 +1179,6 @@ def change_selected_material(self, selected_material, **kwargs): # we need to select the material region based on the newly selected # material (if we are not in an initial rendering scenario) if self._server_vars["render_count"]["change_selected_material"] > 0: - # first get the master material id - master_mat_id = self.determine_master_mat_ind_for_material( - selected_material - ) - # update plotter / render objects self.update_pyvista_render_objects() diff --git a/src/fourc_webviewer/input_file_utils/fourc_yaml_file_visualization.py b/src/fourc_webviewer/input_file_utils/fourc_yaml_file_visualization.py index 046e180..1fb205f 100644 --- a/src/fourc_webviewer/input_file_utils/fourc_yaml_file_visualization.py +++ b/src/fourc_webviewer/input_file_utils/fourc_yaml_file_visualization.py @@ -8,6 +8,7 @@ import numexpr as ne import numpy as np import plotly.express as px +from loguru import logger from fourc_webviewer.input_file_utils.io_utils import ( get_variable_data_by_name_in_funct_item, @@ -261,6 +262,8 @@ def construct_funct_string_from_variable_data( case _: # warning that this variable type is not yet supported for visualization - print(f"Variable with {variable_data} not supported for visualization!") + logger.warning( + f"Variable with {variable_data} not supported for visualization!" + ) return funct_string diff --git a/src/fourc_webviewer/input_file_utils/io_utils.py b/src/fourc_webviewer/input_file_utils/io_utils.py index cf48daf..96a4c8b 100644 --- a/src/fourc_webviewer/input_file_utils/io_utils.py +++ b/src/fourc_webviewer/input_file_utils/io_utils.py @@ -7,6 +7,7 @@ from pathlib import Path from fourcipp.fourc_input import FourCInput +from loguru import logger from fourc_webviewer.python_utils import flatten_list @@ -39,7 +40,7 @@ def read_fourc_yaml_file(fourc_yaml_file): # validate 4C yaml file fourc_yaml_content.validate() except Exception as exc: - print(exc) # currently, we throw the exception as terminal output + logger.error(exc) # currently, we throw the exception as terminal output return (FourCInput({}), [], 0, 0, False) with open(fourc_yaml_file, "r") as input_file: @@ -78,7 +79,7 @@ def write_fourc_yaml_file(fourc_yaml_content, new_fourc_yaml_file): try: fourc_yaml_content.validate() except Exception as exc: - print(exc) # currently, we throw the exception as terminal output + logger.error(exc) # currently, we throw the exception as terminal output return False # check if the output file suffix is supported @@ -251,6 +252,11 @@ def mat_specifiers(): "VISCOPLAST_LAW_ID", "FIBER_READER_ID", "STR_TENS_ID", + "MATIDSCONST", + "MATIDMIXTURERULE", + "GROWTH_STRATEGY", + "FIBER_MATERIAL_ID", + "PRESTRESS_STRATEGY", ] diff --git a/src/fourc_webviewer/read_geometry_from_file.py b/src/fourc_webviewer/read_geometry_from_file.py index f6b16a6..5439671 100644 --- a/src/fourc_webviewer/read_geometry_from_file.py +++ b/src/fourc_webviewer/read_geometry_from_file.py @@ -7,9 +7,8 @@ from pathlib import Path import numpy as np -import pyvista as pv from fourcipp.fourc_input import FourCInput -from lnmmeshio import read, write +from lnmmeshio import read, read_mesh, write from lnmmeshio.discretization import ( LineNodeset, PointNodeset, @@ -18,11 +17,41 @@ ) from lnmmeshio.fiber import Fiber from lnmmeshio.meshio_to_discretization import mesh2Discretization -from meshio.__about__ import __version__ +from loguru import logger from meshio._common import warn from meshio._exceptions import ReadError from meshio._mesh import Mesh +# enabled suffixes for geometry files +EXODUS_FILE_SUFFIXES = [".exo", ".e"] +VTU_FILE_SUFFIXES = [".vtu"] +SUPPORTED_GEOMETRY_FORMATS = EXODUS_FILE_SUFFIXES + VTU_FILE_SUFFIXES + + +def read_geom_mesh(mesh_file: Path) -> Mesh: + """Reads and performs postprocessing of the read-in mesh for external + geometry files. + + Args: + mesh_file: external file containing geometric mesh + Returns: + Mesh: read-in and postprocessed mesh + """ + if mesh_file.suffix in EXODUS_FILE_SUFFIXES: + mesh = read_exodus( + filename=mesh_file, + use_set_names=False, + ) + return postprocess_exo_mesh(mesh=mesh) + elif mesh_file.suffix in VTU_FILE_SUFFIXES: + mesh = read_mesh( + filename=str(mesh_file.resolve()), + ) + return postprocess_vtu_mesh(mesh=mesh) + else: + raise Exception(f"Unsupported file format for mesh file {mesh_file}") + + exodus_to_meshio_type = { "SPHERE": "vertex", # curves @@ -110,9 +139,9 @@ def switch_node_order(mesh_exo: Mesh) -> Mesh: consistent upon conversion to lnmmeshio's Discretization object. Args: - mesh_exo (meshio.Mesh): read-in Exodus mesh + mesh_exo: read-in Exodus mesh Returns: - (meshio.Mesh): modified read-in Exodus mesh, with adapted order + Mesh: modified read-in Exodus mesh, with adapted order """ copy_mesh_exo = mesh_exo.copy() @@ -146,6 +175,56 @@ def switch_node_order(mesh_exo: Mesh) -> Mesh: return copy_mesh_exo +def postprocess_exo_mesh(mesh: Mesh) -> Mesh: + """Postprocessing steps for the read-in Exodus mesh. + + Args: + mesh: read-in Exodus mesh + Returns: + Mesh: postprocessed read-in Exodus mesh + """ + + return switch_node_order(mesh_exo=mesh) + + +def postprocess_vtu_mesh(mesh: Mesh) -> Mesh: + """Postprocessing steps for the read-in vtu mesh. + + Args: + mesh: read-in vtu mesh + Returns: + Mesh: postprocessed read-in vtu mesh + """ + copy_mesh = mesh.copy() + + # --> loop through point sets in point_data, and move them to dedicated point_sets "point_set_1" -> "1" + + # collect point data keys to move + keys_to_rename = [] + for pd_array in copy_mesh.point_data: + if pd_array.startswith("point_set_"): + keys_to_rename.append(pd_array) + + # move "point data" to the dedicated point sets + for old_key in keys_to_rename: + new_key = old_key.replace("point_set_", "") + copy_mesh.point_sets[new_key] = np.where(mesh.point_data[old_key] == 1)[0] + copy_mesh.point_data.pop(old_key) + + # separate cell_data['block_id'] into specific cell sets to have the same structure as for exo files + if "block_id" in copy_mesh.cell_data: + cell_data_block_id = copy_mesh.cell_data["block_id"][0] + + # get all unique block ids + unique_block_ids = np.unique(cell_data_block_id) + + # loop through unique block ids and create their respective cell sets + for bid in unique_block_ids: + copy_mesh.cell_sets[str(int(bid))] = np.where(cell_data_block_id == bid)[0] + + return copy_mesh + + def _categorize(names): """Check if there are any R, Z tuples or X, Y, Z triplets in the point data. If yes, they belong together. @@ -344,7 +423,9 @@ def read_exodus(filename, use_set_names=False): # noqa: C901 # write point and cell sets with correct ids point_sets = {str(id): dat.tolist() for id, dat in zip(ns_ids, ns)} - cell_sets = {name: cell_set for name, cell_set in zip(eb_ids, cell_sets.values())} + cell_sets = { + str(name): cell_set for name, cell_set in zip(eb_ids, cell_sets.values()) + } if use_set_names: point_sets = {name: dat for name, dat in zip(ns_names, ns)} @@ -363,7 +444,7 @@ def read_exodus(filename, use_set_names=False): # noqa: C901 ) -def check_for_geometry_files(fourc_yaml: FourCInput) -> list: +def get_geometry_file(fourc_yaml: FourCInput) -> list: """Checks the content of a fourc yaml file for referenced geometry files, e.g., contained within STRUCTURE GEOMETRY / FILE. Returns the identified file, whereby we previously verify whether all given files are the same @@ -397,70 +478,90 @@ def check_for_geometry_files(fourc_yaml: FourCInput) -> list: class FourCGeometry: - def __init__(self, fourc_yaml_file: str | Path, temp_dir: str | Path): + def __init__( + self, + fourc_yaml_file: str | Path, + temp_dir: str | Path, + first_render: bool = False, + ): """Initialize geometry class based on the given input file. Args: fourc_yaml_file (str | Path): path to the yaml input - temp_dir (str | Path): path to the yaml input + temp_dir (str | Path): path to the temporary directory for the generated vtu file + first_render (bool): is this the initial webviewer rendering, i.e., the rendering of the default files? """ # read-in and save yaml file content self._fourc_yaml_file = fourc_yaml_file self._fourc_yaml = FourCInput.from_4C_yaml(input_file_path=fourc_yaml_file) - # create vtu file based on the geometry type + # set path for the vtu file to be created based on the geometry type self._vtu_file_path = str(Path(temp_dir) / f"{Path(fourc_yaml_file).stem}.vtu") - if self.geom_type == "exo": + + # check for the geometry type + if self.geom_type == "legacy": + # convert yaml file to vtu file and return the path to the vtu file + try: + self._dis = read(str(fourc_yaml_file)) + self.convert_dis_to_vtu() + except Exception as exc: # if file conversion not successful + # log unsuccessful conversion + logger.error(exc) + logger.critical("Conversion to vtu was not successful") + self._vtu_file_path = "" + elif self.geom_type == "external_geometry": try: - # read exodus mesh - self._mesh_file = ( - Path(fourc_yaml_file).parent - / self._fourc_yaml["STRUCTURE GEOMETRY"]["FILE"] + # read mesh: for the first rendering, we take the relative path with respect to the yaml file; for subsequent renderings, we will account for the absolute path + self._mesh_file = Path( + get_geometry_file(fourc_yaml=self._fourc_yaml)[0] ) + if first_render: + self._mesh_file = Path(fourc_yaml_file).parent / self._mesh_file + else: + self._mesh_file = self._mesh_file.resolve() if not self._mesh_file.exists(): raise Exception( f"The mesh file {self._mesh_file} does not exist for the fourc yaml file {fourc_yaml_file}" ) - self._mesh_exo = read_exodus( - filename=self._mesh_file, - use_set_names=False, - ) - self._mesh_exo = switch_node_order(mesh_exo=self._mesh_exo) # -> not - # yet, this will mess up the applied boundary - # conditions, because 4C uses another order format + + # read and postprocess mesh + self._mesh = read_geom_mesh(self._mesh_file) # convert mesh to discretization preliminarily, without further info from the yaml file -> this is then added below - self._dis = mesh2Discretization(mesh=self._mesh_exo) + self._dis = mesh2Discretization(mesh=self._mesh) # enhance discretization with further information from the fourc yaml file - self.enhance_exo_dis_with_fourc_yaml_info() + self.enhance_dis_with_fourc_yaml_info() # convert to vtu self.convert_dis_to_vtu() - except Exception as exc: - print( - exc - ) # currently, we throw the conversion error as terminal output - self._vtu_file_path = "" + # log successful conversion + logger.success( + f"Successfully converted geometry to file {self._vtu_file_path}" + ) - elif self.geom_type == "legacy": - # convert yaml file to vtu file and return the path to the vtu file - try: - self._dis = read(str(fourc_yaml_file)) - self.convert_dis_to_vtu() - except Exception as exc: # if file conversion not successful - print( - exc - ) # currently, we throw the lnmmeshio conversion error as terminal output + except Exception as exc: + # log unsuccessful conversion + logger.error(exc) + logger.critical("Conversion to vtu was not successful") self._vtu_file_path = "" @property def geom_type(self) -> str: """Get geometry type for the given yaml input.""" - if check_for_geometry_files(fourc_yaml=self._fourc_yaml): - return "exo" + # check for eventual geometry files + if get_geometry_file(fourc_yaml=self._fourc_yaml): + # get geometry file suffix and return the associated geometry type + geom_file = get_geometry_file(fourc_yaml=self._fourc_yaml)[0] + geom_file_suffix = Path(geom_file).resolve().suffix + if geom_file_suffix in SUPPORTED_GEOMETRY_FORMATS: + return "external_geometry" + else: + raise Exception( + f"The given geometry file {geom_file} is currently not supported!" + ) elif [k for k in self._fourc_yaml.sections if k.endswith("ELEMENTS")]: return "legacy" else: @@ -482,7 +583,7 @@ def get_element_ids_of_block(self, element_block_id): """Get element ids of a given block (element block id is 1-based).""" return np.where(self._dis.cell_data["GROUP_ID"] == element_block_id - 1)[0] - def get_all_nodes_in_element_block_exo(self, element_block_id: int): + def get_all_nodes_in_element_block(self, element_block_id: int): """Retrieve all unique node indices in a specified element block for Exodus geometry. @@ -493,10 +594,10 @@ def get_all_nodes_in_element_block_exo(self, element_block_id: int): """ # get cumulative element counts for each block - cum_el_counts = np.cumsum([len(cs) for cs in self._mesh_exo.cells]) + cum_el_counts = np.cumsum([len(cs) for cs in self._mesh.cells]) # get all element ids in the considered cell set - all_el_ids = self._mesh_exo.cell_sets[element_block_id] + all_el_ids = self._mesh.cell_sets[str(element_block_id)] # declare array containing all node ids all_node_ids = [] @@ -512,14 +613,13 @@ def get_all_nodes_in_element_block_exo(self, element_block_id: int): rel_el_id = el_id - cum_el_counts[block_index - 1] # retrieve corresponding node ids - all_node_ids.append(self._mesh_exo.cells[block_index].data[rel_el_id - 1]) + all_node_ids.append(self._mesh.cells[block_index].data[rel_el_id - 1]) return np.unique(all_node_ids) - def enhance_exo_dis_with_fourc_yaml_info(self): + def enhance_dis_with_fourc_yaml_info(self): """Enhance contained Discretization with further information from the fourc yaml file -> read in nodesets, and material data.""" - # --> read in nodeset info (pointnodesets, linenodesets, surfacenodesets, volumenodesets) based on the design sections specified in the yaml file # get all design sections all_design_sections = [ @@ -560,19 +660,21 @@ def enhance_exo_dis_with_fourc_yaml_info(self): entity_type = entity["ENTITY_TYPE"] if entity_type == "legacy_id": raise Exception( - "No support provided yet for entity type legacy_id when considering exodus files!" + "No support provided yet for entity type legacy_id when considering Exodus and vtu files!" ) # get referenced nodes in the considered entity all_cond_nodes = [] if entity_type == "node_set_id": - all_cond_nodes = np.array( - self._mesh_exo.point_sets[f"{entity_number}"] - ) + all_cond_nodes = np.array(self._mesh.point_sets[f"{entity_number}"]) elif entity_type == "element_block_id": - all_cond_nodes = self.get_all_nodes_in_element_block_exo( + all_cond_nodes = self.get_all_nodes_in_element_block( element_block_id=entity_number ) + else: + raise Exception( + f"Unsupported entity type: {entity_type} for entity {entity} of condition {dsect_name}!" + ) # add point sets if geometry_type == "point": @@ -598,6 +700,10 @@ def enhance_exo_dis_with_fourc_yaml_info(self): self._dis.nodes[cond_node].volumenodesets.append( VolumeNodeset(id=str(entity_number)) ) + else: + raise Exception( + f"Unsupported geometry type {geometry_type} for condition {dsect_name}!" + ) # --> read-in element block info and add it to discretization # read * GEOMETRY sections diff --git a/src/fourc_webviewer_default_files/__init__.py b/src/fourc_webviewer_default_files/__init__.py index e0bd094..b4752a0 100644 --- a/src/fourc_webviewer_default_files/__init__.py +++ b/src/fourc_webviewer_default_files/__init__.py @@ -2,4 +2,4 @@ from pathlib import Path -DEFAULT_INPUT_FILE = Path(__file__).parent / "tutorial_solid.4C.yaml" +DEFAULT_INPUT_FILE = Path(__file__).parent / "tutorial_solid_vtu.4C.yaml" diff --git a/src/fourc_webviewer_default_files/ssti_mono_3D_3hex8_elch_s2i_butlervolmerthermo_growthlaw.4C.yaml b/src/fourc_webviewer_default_files/ssti_mono_3D_3hex8_elch_s2i_butlervolmerthermo_growthlaw.4C.yaml deleted file mode 100644 index fdcd8c2..0000000 --- a/src/fourc_webviewer_default_files/ssti_mono_3D_3hex8_elch_s2i_butlervolmerthermo_growthlaw.4C.yaml +++ /dev/null @@ -1,539 +0,0 @@ -TITLE: - - 'simple, academic test case for monolithic scalar-structure-thermo interaction involving electrochemistry and electrode-electrolyte interface coupling:' - - '- three-dimensional, box-shaped domain with two two-dimensional electrode-electrolyte interfaces' - - '- three hex8 elements in a row, divided into three groups with one element each, representing anode, electrolyte, and cathode with constant initial concentrations, potentials and temperature' - - '- Butler-Volmer charge transfer kinetics and matching interface nodes at electrode-electrolyte interfaces' - - '- concentration in electrolyte held constant by Dirichlet volume condition' - - '- Dirichlet boundary condition for potential at anode-side current collector interface' - - '- Neumann boundary condition for potential at cathode-side current collector interface' - - '- adiabatic boundaries' - - '- Generation of heat by internal resistances' - - '- structural field compressed in x-direction via Dirichlet boundary condition' - - '- inelastic expansion from concentration and from temperature in electrodes' -PROBLEM TYPE: - PROBLEMTYPE: "Structure_Scalar_Thermo_Interaction" -IO: - STDOUTEVERY: 0 -STRUCTURAL DYNAMIC: - INT_STRATEGY: "Standard" - LINEAR_SOLVER: 1 -STRUCTURAL DYNAMIC/GENALPHA: - RHO_INF: 0.95 -SCALAR TRANSPORT DYNAMIC: - SOLVERTYPE: "nonlinear" - VELOCITYFIELD: "Navier_Stokes" - INITIALFIELD: "field_by_condition" - CONVFORM: "conservative" - LINEAR_SOLVER: 1 -SCALAR TRANSPORT DYNAMIC/STABILIZATION: - STABTYPE: "no_stabilization" - DEFINITION_TAU: "Zero" - EVALUATION_TAU: "integration_point" - EVALUATION_MAT: "integration_point" -ELCH CONTROL: - EQUPOT: "divi" - DIFFCOND_FORMULATION: true - INITPOTCALC: true - COUPLE_BOUNDARY_FLUXES: false -SCALAR TRANSPORT DYNAMIC/S2I COUPLING: - COUPLINGTYPE: "MatchingNodes" -SSTI CONTROL: - NUMSTEP: 4 - TIMESTEP: 0.1 -SSTI CONTROL/MONOLITHIC: - ABSTOLRES: 1e-11 - LINEAR_SOLVER: 1 - MATRIXTYPE: "sparse" -SSTI CONTROL/THERMO: - LINEAR_SOLVER: 1 - INITIALFIELD: "field_by_condition" -SOLVER 1: - SOLVER: "UMFPACK" -MATERIALS: - - MAT: 1 - MAT_electrode: - DIFF_COEF_CONC_DEP_FUNCT: -1 - DIFF_COEF_TEMP_SCALE_FUNCT: 0 - COND_CONC_DEP_FUNCT: -1 - COND_TEMP_SCALE_FUNCT: 0 - DIFF_PARA_NUM: 1 - DIFF_PARA: [1e-10] - COND_PARA_NUM: 1 - COND_PARA: [1000] - C_MAX: 49137.5 - CHI_MAX: 1 - OCP_MODEL: - Function: - OCP_FUNCT_NUM: 8 - X_MIN: -1 - X_MAX: -1 - - MAT: 2 - MAT_MultiplicativeSplitDefgradElastHyper: - NUMMATEL: 1 - MATIDSEL: [3] - NUMFACINEL: 2 - INELDEFGRADFACIDS: [4, 5] - DENS: 5000 - - MAT: 3 - ELAST_CoupNeoHooke: - YOUNG: 1e+10 - NUE: 0.2 - - MAT: 4 - MAT_InelasticDefgradLinScalarIso: - SCALAR1: 1 - SCALAR1_MolarGrowthFac: 1e-05 - SCALAR1_RefConc: 10000 - - MAT: 5 - MAT_InelasticDefgradLinTempIso: - Temp_GrowthFac: 0.01 - RefTemp: 300 - - MAT: 6 - MAT_Fourier: - CAPA: 500 - CONDUCT: - constant: [1e-07] - - MAT: 7 - MAT_elchmat: - NUMDOF: 2 - NUMSCAL: 1 - NUMPHASE: 1 - PHASEIDS: [8] - - MAT: 8 - MAT_elchphase: - EPSILON: 1 - TORTUOSITY: 1 - NUMMAT: 1 - MATIDS: [9] - - MAT: 9 - MAT_newman: - VALENCE: 1 - DIFF_COEF_CONC_DEP_FUNCT: -1 - DIFF_COEF_TEMP_SCALE_FUNCT: 0 - TRANSNR: -1 - THERMFAC: 0 - COND_CONC_DEP_FUNCT: -1 - COND_TEMP_SCALE_FUNCT: 0 - DIFF_PARA_NUM: 1 - DIFF_PARA: [1] - TRANS_PARA_NUM: 1 - TRANS_PARA: [1] - COND_PARA_NUM: 1 - COND_PARA: [100] - - MAT: 10 - MAT_MultiplicativeSplitDefgradElastHyper: - NUMMATEL: 1 - MATIDSEL: [11] - NUMFACINEL: 1 - INELDEFGRADFACIDS: [12] - DENS: 2000 - - MAT: 11 - ELAST_CoupNeoHooke: - YOUNG: 1e+10 - NUE: 0.2 - - MAT: 12 - MAT_InelasticDefgradNoGrowth: {} - - MAT: 14 - MAT_Fourier: - CAPA: 500 - CONDUCT: - constant: [1e-07] - - MAT: 15 - MAT_electrode: - DIFF_COEF_CONC_DEP_FUNCT: -1 - DIFF_COEF_TEMP_SCALE_FUNCT: 0 - COND_CONC_DEP_FUNCT: -1 - COND_TEMP_SCALE_FUNCT: 0 - DIFF_PARA_NUM: 1 - DIFF_PARA: [1] - COND_PARA_NUM: 1 - COND_PARA: [10000] - C_MAX: 1e+08 - CHI_MAX: 1 - OCP_MODEL: - Function: - OCP_FUNCT_NUM: 9 - X_MIN: -1 - X_MAX: -1 - - MAT: 16 - MAT_MultiplicativeSplitDefgradElastHyper: - NUMMATEL: 1 - MATIDSEL: [17] - NUMFACINEL: 2 - INELDEFGRADFACIDS: [18, 19] - DENS: 1000 - - MAT: 17 - ELAST_CoupNeoHooke: - YOUNG: 1e+10 - NUE: 0.2 - - MAT: 18 - MAT_InelasticDefgradLinScalarAniso: - SCALAR1: 1 - SCALAR1_MolarGrowthFac: 1.3e-05 - SCALAR1_RefConc: 1 - NUMSPACEDIM: 3 - GrowthDirection: [1, 0, 0] - - MAT: 19 - MAT_InelasticDefgradLinTempIso: - Temp_GrowthFac: 0.001 - RefTemp: 250 - - MAT: 20 - MAT_Fourier: - CAPA: 500 - CONDUCT: - constant: [1e-07] -CLONING MATERIAL MAP: - - SRC_FIELD: "structure" - SRC_MAT: 2 - TAR_FIELD: "scatra" - TAR_MAT: 1 - - SRC_FIELD: "scatra" - SRC_MAT: 1 - TAR_FIELD: "thermo" - TAR_MAT: 6 - - SRC_FIELD: "structure" - SRC_MAT: 10 - TAR_FIELD: "scatra" - TAR_MAT: 7 - - SRC_FIELD: "scatra" - SRC_MAT: 7 - TAR_FIELD: "thermo" - TAR_MAT: 14 - - SRC_FIELD: "structure" - SRC_MAT: 16 - TAR_FIELD: "scatra" - TAR_MAT: 15 - - SRC_FIELD: "scatra" - SRC_MAT: 15 - TAR_FIELD: "thermo" - TAR_MAT: 20 -FUNCT1: - - COMPONENT: 0 - SYMBOLIC_FUNCTION_OF_SPACE_TIME: "1.0" - - COMPONENT: 1 - SYMBOLIC_FUNCTION_OF_SPACE_TIME: "0.007" -FUNCT2: - - COMPONENT: 0 - SYMBOLIC_FUNCTION_OF_SPACE_TIME: "1.2e3" - - COMPONENT: 1 - SYMBOLIC_FUNCTION_OF_SPACE_TIME: "0.1" -FUNCT3: - - COMPONENT: 0 - SYMBOLIC_FUNCTION_OF_SPACE_TIME: "10000" - - COMPONENT: 1 - SYMBOLIC_FUNCTION_OF_SPACE_TIME: "4.22" -FUNCT4: - - SYMBOLIC_FUNCTION_OF_SPACE_TIME: "250.0" -FUNCT5: - - SYMBOLIC_FUNCTION_OF_SPACE_TIME: "275.0" -FUNCT6: - - SYMBOLIC_FUNCTION_OF_SPACE_TIME: "300.0" -FUNCT7: - - SYMBOLIC_FUNCTION_OF_SPACE_TIME: "(-0.5*(1+cos((t-0.1)*pi))*heaviside(1.1-t)+1)*heaviside(t-0.1)" -FUNCT8: - - FASTPOLYNOMIAL: - NUMCOEFF: 1 - COEFF: [4] -FUNCT9: - - FASTPOLYNOMIAL: - NUMCOEFF: 1 - COEFF: [0] -RESULT DESCRIPTION: - - STRUCTURE: - DIS: "structure" - NODE: 6 - QUANTITY: "dispx" - VALUE: -4.395791892876576e-05 - TOLERANCE: 4.4e-12 - - STRUCTURE: - DIS: "structure" - NODE: 16 - QUANTITY: "dispx" - VALUE: -9.626025608699073e-05 - TOLERANCE: 9.6e-12 - - STRUCTURE: - DIS: "structure" - NODE: 16 - QUANTITY: "dispy" - VALUE: 8.182155249772994e-06 - TOLERANCE: 8.2e-13 - - STRUCTURE: - DIS: "structure" - NODE: 16 - QUANTITY: "dispz" - VALUE: 8.182155847161086e-06 - TOLERANCE: 8.2e-13 - - STRUCTURE: - DIS: "structure" - NODE: 18 - QUANTITY: "dispx" - VALUE: -9.626025735296876e-05 - TOLERANCE: 9.6e-12 - - SCATRA: - DIS: "scatra" - NODE: 5 - QUANTITY: "phi1" - VALUE: 5.168074465947565 - TOLERANCE: 5.2e-07 - - SCATRA: - DIS: "scatra" - NODE: 5 - QUANTITY: "phi2" - VALUE: 9.108397056810732e-05 - TOLERANCE: 9.1e-12 - - SCATRA: - DIS: "scatra" - NODE: 15 - QUANTITY: "phi1" - VALUE: 1200 - TOLERANCE: 0.00012 - - SCATRA: - DIS: "scatra" - NODE: 15 - QUANTITY: "phi2" - VALUE: 0.11653070524492559 - TOLERANCE: 1.2e-08 - - SCATRA: - DIS: "scatra" - NODE: 24 - QUANTITY: "phi1" - VALUE: 10289.162225865643 - TOLERANCE: 0.001 - - SCATRA: - DIS: "scatra" - NODE: 24 - QUANTITY: "phi2" - VALUE: 4.232961139539012 - TOLERANCE: 4.2e-07 - - SCATRA: - DIS: "thermo" - NODE: 8 - QUANTITY: "phi" - VALUE: 255.083208085407 - TOLERANCE: 2.6e-05 - - SCATRA: - DIS: "thermo" - NODE: 16 - QUANTITY: "phi" - VALUE: 288.4286095420156 - TOLERANCE: 2.9e-05 - - SCATRA: - DIS: "thermo" - NODE: 20 - QUANTITY: "phi" - VALUE: 299.30673822665915 - TOLERANCE: 3e-05 - - SSTI: - SPECIAL: true - QUANTITY: "numiterlastnonlinearsolve" - VALUE: 5 - TOLERANCE: 1e-16 -DESIGN SURF TRANSPORT NEUMANN CONDITIONS: - - E: 6 - NUMDOF: 2 - ONOFF: [0, 1] - VAL: [0, 0.01] - FUNCT: [0, 0] -DESIGN SURF DIRICH CONDITIONS: - - E: 1 - NUMDOF: 3 - ONOFF: [1, 1, 1] - VAL: [0, 0, 0] - FUNCT: [null, null, null] - - E: 6 - NUMDOF: 3 - ONOFF: [1, 1, 1] - VAL: [-0.0006, 0, 0] - FUNCT: [7, null, null] -DESIGN SURF TRANSPORT DIRICH CONDITIONS: - - E: 1 - NUMDOF: 2 - ONOFF: [0, 1] - VAL: [0, 0] - FUNCT: [0, 0] -DESIGN VOL TRANSPORT DIRICH CONDITIONS: - - E: 2 - NUMDOF: 2 - ONOFF: [1, 0] - VAL: [1200, 0] - FUNCT: [0, 0] -DESIGN VOL THERMO INITIAL FIELD CONDITIONS: - - E: 1 - FIELD: "ScaTra" - FUNCT: 4 - - E: 2 - FIELD: "ScaTra" - FUNCT: 5 - - E: 3 - FIELD: "ScaTra" - FUNCT: 6 -DESIGN VOL INITIAL FIELD CONDITIONS: - - E: 1 - FIELD: "ScaTra" - FUNCT: 1 - - E: 2 - FIELD: "ScaTra" - FUNCT: 2 - - E: 3 - FIELD: "ScaTra" - FUNCT: 3 -DESIGN S2I KINETICS SURF CONDITIONS: - - E: 2 - ConditionID: 0 - INTERFACE_SIDE: "Slave" - KINETIC_MODEL: "Butler-VolmerReduced_ThermoResistance" - NUMSCAL: 1 - STOICHIOMETRIES: [-1] - E-: 1 - K_R: 0.001 - ALPHA_A: 0.5 - ALPHA_C: 0.5 - IS_PSEUDO_CONTACT: false - THERMOPERM: 0.0001 - MOLAR_HEAT_CAPACITY: 0 - - E: 3 - ConditionID: 0 - INTERFACE_SIDE: "Master" - - E: 4 - ConditionID: 1 - INTERFACE_SIDE: "Master" - - E: 5 - ConditionID: 1 - INTERFACE_SIDE: "Slave" - KINETIC_MODEL: "Butler-VolmerReduced_ThermoResistance" - NUMSCAL: 1 - STOICHIOMETRIES: [-1] - E-: 1 - K_R: 0.001 - ALPHA_A: 0.5 - ALPHA_C: 0.5 - IS_PSEUDO_CONTACT: false - THERMOPERM: 0.0001 - MOLAR_HEAT_CAPACITY: 0 -DESIGN SSTI INTERFACE MESHTYING SURF CONDITIONS: - - E: 2 - ConditionID: 0 - INTERFACE_SIDE: "Slave" - S2I_KINETICS_ID: 0 - - E: 3 - ConditionID: 0 - INTERFACE_SIDE: "Master" - S2I_KINETICS_ID: 0 - - E: 4 - ConditionID: 1 - INTERFACE_SIDE: "Master" - S2I_KINETICS_ID: 1 - - E: 5 - ConditionID: 1 - INTERFACE_SIDE: "Slave" - S2I_KINETICS_ID: 1 -DSURF-NODE TOPOLOGY: - - NODE 1 DSURFACE 1 - - NODE 2 DSURFACE 1 - - NODE 3 DSURFACE 1 - - NODE 4 DSURFACE 1 - - NODE 5 DSURFACE 2 - - NODE 6 DSURFACE 2 - - NODE 7 DSURFACE 2 - - NODE 8 DSURFACE 2 - - NODE 9 DSURFACE 3 - - NODE 10 DSURFACE 3 - - NODE 11 DSURFACE 3 - - NODE 12 DSURFACE 3 - - NODE 13 DSURFACE 4 - - NODE 14 DSURFACE 4 - - NODE 15 DSURFACE 4 - - NODE 16 DSURFACE 4 - - NODE 17 DSURFACE 5 - - NODE 18 DSURFACE 5 - - NODE 19 DSURFACE 5 - - NODE 20 DSURFACE 5 - - NODE 21 DSURFACE 6 - - NODE 22 DSURFACE 6 - - NODE 23 DSURFACE 6 - - NODE 24 DSURFACE 6 - - NODE 1 DSURFACE 7 - - NODE 2 DSURFACE 7 - - NODE 3 DSURFACE 7 - - NODE 4 DSURFACE 7 - - NODE 9 DSURFACE 7 - - NODE 10 DSURFACE 7 - - NODE 11 DSURFACE 7 - - NODE 12 DSURFACE 7 - - NODE 13 DSURFACE 7 - - NODE 14 DSURFACE 7 - - NODE 15 DSURFACE 7 - - NODE 16 DSURFACE 7 - - NODE 21 DSURFACE 7 - - NODE 22 DSURFACE 7 - - NODE 23 DSURFACE 7 - - NODE 24 DSURFACE 7 - - NODE 1 DSURFACE 8 - - NODE 2 DSURFACE 8 - - NODE 3 DSURFACE 8 - - NODE 4 DSURFACE 8 - - NODE 9 DSURFACE 8 - - NODE 10 DSURFACE 8 - - NODE 11 DSURFACE 8 - - NODE 12 DSURFACE 8 - - NODE 13 DSURFACE 8 - - NODE 14 DSURFACE 8 - - NODE 15 DSURFACE 8 - - NODE 16 DSURFACE 8 - - NODE 21 DSURFACE 8 - - NODE 22 DSURFACE 8 - - NODE 23 DSURFACE 8 - - NODE 24 DSURFACE 8 -DVOL-NODE TOPOLOGY: - - NODE 1 DVOL 1 - - NODE 2 DVOL 1 - - NODE 3 DVOL 1 - - NODE 4 DVOL 1 - - NODE 5 DVOL 1 - - NODE 6 DVOL 1 - - NODE 7 DVOL 1 - - NODE 8 DVOL 1 - - NODE 9 DVOL 2 - - NODE 10 DVOL 2 - - NODE 11 DVOL 2 - - NODE 12 DVOL 2 - - NODE 13 DVOL 2 - - NODE 14 DVOL 2 - - NODE 15 DVOL 2 - - NODE 16 DVOL 2 - - NODE 17 DVOL 3 - - NODE 18 DVOL 3 - - NODE 19 DVOL 3 - - NODE 20 DVOL 3 - - NODE 21 DVOL 3 - - NODE 22 DVOL 3 - - NODE 23 DVOL 3 - - NODE 24 DVOL 3 -NODE COORDS: - - NODE 1 COORD -5.0000000000000001e-04 -5.0000000000000001e-04 5.0000000000000001e-04 - - NODE 2 COORD -5.0000000000000001e-04 -5.0000000000000001e-04 -5.0000000000000001e-04 - - NODE 3 COORD -5.0000000000000001e-04 5.0000000000000001e-04 -5.0000000000000001e-04 - - NODE 4 COORD -5.0000000000000001e-04 5.0000000000000001e-04 5.0000000000000001e-04 - - NODE 5 COORD 5.0000000000000001e-04 -5.0000000000000001e-04 5.0000000000000001e-04 - - NODE 6 COORD 5.0000000000000001e-04 -5.0000000000000001e-04 -5.0000000000000001e-04 - - NODE 7 COORD 5.0000000000000001e-04 5.0000000000000001e-04 -5.0000000000000001e-04 - - NODE 8 COORD 5.0000000000000001e-04 5.0000000000000001e-04 5.0000000000000001e-04 - - NODE 9 COORD 5.0000000000000001e-04 -5.0000000000000001e-04 5.0000000000000001e-04 - - NODE 10 COORD 5.0000000000000001e-04 -5.0000000000000001e-04 -5.0000000000000001e-04 - - NODE 11 COORD 5.0000000000000001e-04 5.0000000000000001e-04 -5.0000000000000001e-04 - - NODE 12 COORD 5.0000000000000001e-04 5.0000000000000001e-04 5.0000000000000001e-04 - - NODE 13 COORD 1.5000000000000000e-03 -5.0000000000000001e-04 5.0000000000000001e-04 - - NODE 14 COORD 1.5000000000000000e-03 -5.0000000000000001e-04 -5.0000000000000001e-04 - - NODE 15 COORD 1.5000000000000000e-03 5.0000000000000001e-04 -5.0000000000000001e-04 - - NODE 16 COORD 1.5000000000000000e-03 5.0000000000000001e-04 5.0000000000000001e-04 - - NODE 17 COORD 1.5000000000000000e-03 -5.0000000000000001e-04 5.0000000000000001e-04 - - NODE 18 COORD 1.5000000000000000e-03 -5.0000000000000001e-04 -5.0000000000000001e-04 - - NODE 19 COORD 1.5000000000000000e-03 5.0000000000000001e-04 -5.0000000000000001e-04 - - NODE 20 COORD 1.5000000000000000e-03 5.0000000000000001e-04 5.0000000000000001e-04 - - NODE 21 COORD 2.5000000000000001e-03 -5.0000000000000001e-04 5.0000000000000001e-04 - - NODE 22 COORD 2.5000000000000001e-03 -5.0000000000000001e-04 -5.0000000000000001e-04 - - NODE 23 COORD 2.5000000000000001e-03 5.0000000000000001e-04 -5.0000000000000001e-04 - - NODE 24 COORD 2.5000000000000001e-03 5.0000000000000001e-04 5.0000000000000001e-04 -STRUCTURE ELEMENTS: - - 1 SOLIDSCATRA HEX8 1 2 3 4 5 6 7 8 MAT 16 KINEM nonlinear TYPE ElchElectrode - - 2 SOLIDSCATRA HEX8 9 10 11 12 13 14 15 16 MAT 10 KINEM nonlinear TYPE ElchDiffCond - - 3 SOLIDSCATRA HEX8 17 18 19 20 21 22 23 24 MAT 2 KINEM nonlinear TYPE ElchElectrode diff --git a/src/fourc_webviewer_default_files/tutorial_contact_3d.4C.yaml b/src/fourc_webviewer_default_files/tutorial_contact_3d.4C.yaml deleted file mode 100644 index 6be6122..0000000 --- a/src/fourc_webviewer_default_files/tutorial_contact_3d.4C.yaml +++ /dev/null @@ -1,104 +0,0 @@ -PROBLEM SIZE: - ELEMENTS: 2000 - NODES: 2662 - MATERIALS: 2 - NUMDF: 6 -PROBLEM TYPE: - PROBLEMTYPE: "Structure" - -STRUCTURE GEOMETRY: - FILE: "tutorial_contact_3d.e" - SHOW_INFO: "summary" - ELEMENT_BLOCKS: - - ID: 1 - SOLID: - HEX8: - MAT: 1 - KINEM: nonlinear - - ID: 2 - SOLID: - HEX8: - MAT: 2 - KINEM: nonlinear - -STRUCTURAL DYNAMIC: - INT_STRATEGY: "Standard" - TIMESTEP: 0.02 - NUMSTEP: 2 - MAXTIME: 0.04 - DYNAMICTYPE: "GenAlpha" - RESULTSEVERY: 1 - DAMPING: "Rayleigh" - M_DAMP: 1e-05 - K_DAMP: 1e-05 - TOLDISP: 1e-08 - LINEAR_SOLVER: 1 -MORTAR COUPLING: - ALGORITHM: "Mortar" - LM_SHAPEFCN: "Dual" - SEARCH_ALGORITHM: "BinaryTree" -CONTACT DYNAMIC: - LINEAR_SOLVER: 2 -SOLVER 1: - SOLVER: "UMFPACK" - NAME: "Structure_Solver" -SOLVER 2: - SOLVER: "UMFPACK" - NAME: "Contact_Solver" -MATERIALS: - - MAT: 1 - MAT_Struct_StVenantKirchhoff: - YOUNG: 100 - NUE: 0.3 - DENS: 0.5 - - MAT: 2 - MAT_Struct_StVenantKirchhoff: - YOUNG: 4000 - NUE: 0.3 - DENS: 1 -FUNCT1: - - COMPONENT: 0 - SYMBOLIC_FUNCTION_OF_SPACE_TIME: "a" - - VARIABLE: 0 - NAME: "a" - TYPE: "linearinterpolation" - NUMPOINTS: 3 - TIMES: [0, 0.1, 2] - VALUES: [0, 0.02, 0.02] -DESIGN SURF MORTAR CONTACT CONDITIONS 3D: - - E: 1 - ENTITY_TYPE: node_set_id - InterfaceID: 1 - Side: Slave - - E: 2 - ENTITY_TYPE: node_set_id - InterfaceID: 1 - Side: Master - -DESIGN SURF DIRICH CONDITIONS: - - E: 3 - ENTITY_TYPE: node_set_id - NUMDOF: 3 - ONOFF: [1, 1, 1] - VAL: [0, 0, 0] - FUNCT: [null, null, null] - - E: 4 - ENTITY_TYPE: node_set_id - NUMDOF: 3 - ONOFF: [1, 0, 0] - VAL: [-1.0, 0.0, 0.0] - FUNCT: [1, null, null] - -RESULT DESCRIPTION: - - STRUCTURE: - DIS: structure - NODE: 1269 - QUANTITY: dispx - VALUE: -8.31974725251016095e-03 - TOLERANCE: 1e-8 - - STRUCTURE: - DIS: structure - NODE: 1371 - QUANTITY: dispx - VALUE: -8.36015173005985428e-03 - TOLERANCE: 1e-8 diff --git a/src/fourc_webviewer_default_files/tutorial_contact_3d.e b/src/fourc_webviewer_default_files/tutorial_contact_3d.e deleted file mode 100644 index c28dfd7..0000000 Binary files a/src/fourc_webviewer_default_files/tutorial_contact_3d.e and /dev/null differ diff --git a/src/fourc_webviewer_default_files/tutorial_solid_vtu.4C.yaml b/src/fourc_webviewer_default_files/tutorial_solid_vtu.4C.yaml new file mode 120000 index 0000000..7380855 --- /dev/null +++ b/src/fourc_webviewer_default_files/tutorial_solid_vtu.4C.yaml @@ -0,0 +1 @@ +/home/ana/workspace/4c-webviewer/tests/files/tutorial_solid_vtu.4C.yaml \ No newline at end of file diff --git a/src/fourc_webviewer_default_files/tutorial_solid_vtu.vtu b/src/fourc_webviewer_default_files/tutorial_solid_vtu.vtu new file mode 120000 index 0000000..f4d549d --- /dev/null +++ b/src/fourc_webviewer_default_files/tutorial_solid_vtu.vtu @@ -0,0 +1 @@ +/home/ana/workspace/4c-webviewer/tests/files/tutorial_solid_vtu.vtu \ No newline at end of file diff --git a/tests/files/mat_transviso_viscoplast_refJC_log_substep.4C.yaml b/tests/files/mat_transviso_viscoplast_refJC_log_substep.4C.yaml new file mode 100644 index 0000000..aefee1f --- /dev/null +++ b/tests/files/mat_transviso_viscoplast_refJC_log_substep.4C.yaml @@ -0,0 +1,232 @@ +TITLE: + - "Simple test case based on 1hex8 element with transversely-isotropic elastic-viscoplastic" + - "behavior in a finite strain setting. The following conditions are assumed:" + - "- element is stretched at a constant strain rate" + - "- element can freely contract in lateral dimensions" + - "- viscoplasticity law: flow rule and hardening behavior modeled with the" + - "Reformulated Johnson-Cook law, as shown in:" + - "Mareau: A thermodynamically consistent formulation of the Johnson-Cook" + - "model, Mechanics of Materials 143, 2020" + - "- time integration of internal variables using logarithmic substepping, as shown in:" + - "Ana: Continuum Modeling and Calibration of Viscoplasticity in the Context" + - "of the Lithium Anode in Solid-State Batteries" + - "(Master's Thesis, Institute for Computational Mechanics, TU Munich, 2024)" +PROBLEM TYPE: + PROBLEMTYPE: "Structure" +IO: + STRUCT_STRESS: "Cauchy" + STRUCT_STRAIN: "LOG" +IO/RUNTIME VTK OUTPUT/STRUCTURE: + OUTPUT_STRUCTURE: true + DISPLACEMENT: true + STRESS_STRAIN: true +IO/RUNTIME VTK OUTPUT: + INTERVAL_STEPS: 1 +STRUCTURAL DYNAMIC: + INT_STRATEGY: "Standard" + DYNAMICTYPE: "Statics" + RESTARTEVERY: 30 + TIMESTEP: 1e-06 + NUMSTEP: 100000000 + MAXTIME: 0.0001 + TOLDISP: 1e-08 + NEGLECTINERTIA: true + LINEAR_SOLVER: 1 +SOLVER 1: + SOLVER: "UMFPACK" +MATERIALS: + - MAT: 1 + MAT_MultiplicativeSplitDefgradElastHyper: + NUMMATEL: 1 + MATIDSEL: [2] + NUMFACINEL: 1 + INELDEFGRADFACIDS: [3] + DENS: 7830 + - MAT: 2 + ELAST_CoupNeoHooke: + YOUNG: 200000 + NUE: 0.29 + - MAT: 3 + MAT_InelasticDefgradTransvIsotropElastViscoplast: + VISCOPLAST_LAW_ID: 4 + FIBER_READER_ID: 5 + YIELD_COND_A: 1 + YIELD_COND_B: 2 + YIELD_COND_F: 2.5 + ANISOTROPY: "transvisotrop" + LOG_SUBSTEP: true + MAX_HALVE_NUM_SUBSTEP: 10 + - MAT: 4 + MAT_ViscoplasticLawReformulatedJohnsonCook: + STRAIN_RATE_PREFAC: 1 + STRAIN_RATE_EXP_FAC: 0.014 + INIT_YIELD_STRENGTH: 792 + ISOTROP_HARDEN_PREFAC: 510 + ISOTROP_HARDEN_EXP: 0.26 + - MAT: 5 + ELAST_CoupTransverselyIsotropic: + ALPHA: 1 + BETA: 1 + GAMMA: 1 + ANGLE: 0 + STR_TENS_ID: 100 + - MAT: 100 + ELAST_StructuralTensor: + STRATEGY: "Standard" +FUNCT1: + - SYMBOLIC_FUNCTION_OF_SPACE_TIME: "a" + - VARIABLE: 0 + NAME: "a" + TYPE: "multifunction" + NUMPOINTS: 2 + TIMES: [0, 1.6e+16] + DESCRIPTION: ["(exp(1.0e2*t)-1.0)"] +RESULT DESCRIPTION: + - STRUCTURE: + DIS: "structure" + NODE: 4 + QUANTITY: "dispy" + VALUE: -0.0042703014498665145 + TOLERANCE: 4.3e-11 + - STRUCTURE: + DIS: "structure" + NODE: 5 + QUANTITY: "dispx" + VALUE: -0.0042703014498690454 + TOLERANCE: 4.3e-11 + - STRUCTURE: + DIS: "structure" + NODE: 8 + QUANTITY: "dispx" + VALUE: -0.004270301449868496 + TOLERANCE: 4.3e-11 + - STRUCTURE: + DIS: "structure" + NODE: 8 + QUANTITY: "dispy" + VALUE: -0.004270301449871235 + TOLERANCE: 4.3e-11 + - STRUCTURE: + DIS: "structure" + NODE: 8 + QUANTITY: "dispz" + VALUE: 0.010050167084167949 + TOLERANCE: 1e-10 + - STRUCTURE: + DIS: "structure" + NODE: 6 + QUANTITY: "dispx" + VALUE: -0.0042703014498694635 + TOLERANCE: 4.3e-11 + - STRUCTURE: + DIS: "structure" + NODE: 4 + QUANTITY: "stress_zz" + VALUE: 686.9280604644466 + TOLERANCE: 0.00069 + - STRUCTURE: + DIS: "structure" + NODE: 8 + QUANTITY: "stress_zz" + VALUE: 686.9280604651651 + TOLERANCE: 0.00069 +DESIGN POINT DIRICH CONDITIONS: + - E: 1 + NUMDOF: 3 + ONOFF: [1, 1, 1] + VAL: [0, 0, 0] + FUNCT: [null, null, null] + - E: 2 + NUMDOF: 3 + ONOFF: [1, 1, 1] + VAL: [0, 0, 1] + FUNCT: [null, null, 1] +DESIGN LINE DIRICH CONDITIONS: + - E: 1 + NUMDOF: 3 + ONOFF: [1, 0, 1] + VAL: [0, 0, 1] + FUNCT: [null, null, 1] + - E: 2 + NUMDOF: 3 + ONOFF: [0, 1, 1] + VAL: [0, 0, 1] + FUNCT: [null, null, 1] + - E: 3 + NUMDOF: 3 + ONOFF: [1, 1, 0] + VAL: [0, 0, 0] + FUNCT: [null, null, null] + - E: 4 + NUMDOF: 3 + ONOFF: [1, 0, 1] + VAL: [0, 0, 0] + FUNCT: [null, null, null] + - E: 5 + NUMDOF: 3 + ONOFF: [0, 1, 1] + VAL: [0, 0, 0] + FUNCT: [null, null, null] +DESIGN SURF DIRICH CONDITIONS: + - E: 1 + NUMDOF: 3 + ONOFF: [0, 0, 1] + VAL: [0, 0, 1] + FUNCT: [null, null, 1] + - E: 2 + NUMDOF: 3 + ONOFF: [0, 0, 1] + VAL: [0, 0, 0] + FUNCT: [null, null, null] + - E: 3 + NUMDOF: 3 + ONOFF: [1, 0, 0] + VAL: [0, 0, 0] + FUNCT: [null, null, null] + - E: 4 + NUMDOF: 3 + ONOFF: [0, 1, 0] + VAL: [0, 0, 0] + FUNCT: [null, null, null] +DNODE-NODE TOPOLOGY: + - "NODE 2 DNODE 1" + - "NODE 1 DNODE 2" +DLINE-NODE TOPOLOGY: + - "NODE 1 DLINE 1" + - "NODE 4 DLINE 1" + - "NODE 1 DLINE 2" + - "NODE 5 DLINE 2" + - "NODE 1 DLINE 3" + - "NODE 2 DLINE 3" + - "NODE 2 DLINE 4" + - "NODE 3 DLINE 4" + - "NODE 2 DLINE 5" + - "NODE 6 DLINE 5" +DSURF-NODE TOPOLOGY: + - "NODE 1 DSURFACE 1" + - "NODE 4 DSURFACE 1" + - "NODE 5 DSURFACE 1" + - "NODE 8 DSURFACE 1" + - "NODE 2 DSURFACE 2" + - "NODE 3 DSURFACE 2" + - "NODE 6 DSURFACE 2" + - "NODE 7 DSURFACE 2" + - "NODE 1 DSURFACE 3" + - "NODE 2 DSURFACE 3" + - "NODE 3 DSURFACE 3" + - "NODE 4 DSURFACE 3" + - "NODE 1 DSURFACE 4" + - "NODE 2 DSURFACE 4" + - "NODE 5 DSURFACE 4" + - "NODE 6 DSURFACE 4" +NODE COORDS: + - "NODE 1 COORD -5.0000000000000000e-01 -5.0000000000000000e-01 5.0000000000000000e-01" + - "NODE 2 COORD -5.0000000000000000e-01 -5.0000000000000000e-01 -5.0000000000000000e-01" + - "NODE 3 COORD -5.0000000000000000e-01 5.0000000000000000e-01 -5.0000000000000000e-01" + - "NODE 4 COORD -5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01" + - "NODE 5 COORD 5.0000000000000000e-01 -5.0000000000000000e-01 5.0000000000000000e-01" + - "NODE 6 COORD 5.0000000000000000e-01 -5.0000000000000000e-01 -5.0000000000000000e-01" + - "NODE 7 COORD 5.0000000000000000e-01 5.0000000000000000e-01 -5.0000000000000000e-01" + - "NODE 8 COORD 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01" +STRUCTURE ELEMENTS: + - "1 SOLID HEX8 1 2 3 4 5 6 7 8 MAT 1 KINEM nonlinear FIBER1 0 0 1.0" diff --git a/src/fourc_webviewer_default_files/tutorial_solid.4C.yaml b/tests/files/tutorial_solid_exo.4C.yaml similarity index 92% rename from src/fourc_webviewer_default_files/tutorial_solid.4C.yaml rename to tests/files/tutorial_solid_exo.4C.yaml index ce08834..1198fa2 100644 --- a/src/fourc_webviewer_default_files/tutorial_solid.4C.yaml +++ b/tests/files/tutorial_solid_exo.4C.yaml @@ -3,7 +3,7 @@ PROBLEM TYPE: PROBLEM SIZE: DIM: 3 STRUCTURE GEOMETRY: - FILE: "tutorial_solid_geo.e" + FILE: "tutorial_solid_exo.e" SHOW_INFO: "detailed_summary" ELEMENT_BLOCKS: - ID: 1 @@ -12,6 +12,13 @@ STRUCTURE GEOMETRY: MAT: 1 KINEM: nonlinear +DESIGN VOL DIRICH CONDITIONS: + - E: 1 + NUMDOF: 3 + ENTITY_TYPE: element_block_id + ONOFF: [0, 0, 0] + VAL: [0, 0, 0] + FUNCT: [0, 0, 0] DESIGN SURF DIRICH CONDITIONS: - E: 1 NUMDOF: 3 diff --git a/src/fourc_webviewer_default_files/tutorial_solid_geo.e b/tests/files/tutorial_solid_exo.e similarity index 100% rename from src/fourc_webviewer_default_files/tutorial_solid_geo.e rename to tests/files/tutorial_solid_exo.e diff --git a/tests/files/tutorial_solid_geo.e b/tests/files/tutorial_solid_geo.e deleted file mode 100644 index 4268d25..0000000 Binary files a/tests/files/tutorial_solid_geo.e and /dev/null differ diff --git a/tests/files/tutorial_solid_vtu.4C.yaml b/tests/files/tutorial_solid_vtu.4C.yaml new file mode 100644 index 0000000..8dd438f --- /dev/null +++ b/tests/files/tutorial_solid_vtu.4C.yaml @@ -0,0 +1,202 @@ +TITLE: A simple tutorial using a vtu geometry file +PROBLEM TYPE: + PROBLEMTYPE: Structure +IO: + OUTPUT_SPRING: true + STRUCT_STRESS: "Cauchy" + STRUCT_STRAIN: "GL" + VERBOSITY: "Standard" + WRITE_INITIAL_STATE: false +IO/RUNTIME VTK OUTPUT: + INTERVAL_STEPS: 1 + OUTPUT_DATA_FORMAT: binary +IO/RUNTIME VTK OUTPUT/STRUCTURE: + OUTPUT_STRUCTURE: true + DISPLACEMENT: true + STRESS_STRAIN: true + GAUSS_POINT_DATA_OUTPUT_TYPE: nodes + +SOLVER 1: + SOLVER: "Superlu" + NAME: "Structure_Solver" +STRUCTURAL DYNAMIC: + INT_STRATEGY: "Standard" + DYNAMICTYPE: "Statics" + TIMESTEP: 10 + NUMSTEP: 5 + MAXTIME: 50 + TOLDISP: 1e-09 + TOLRES: 1e-09 + LOADLIN: true + LINEAR_SOLVER: 1 +STRUCT NOX/Printing: + Inner Iteration: false + Outer Iteration StatusTest: false + +MATERIALS: + - MAT: 1 + MAT_Mixture: + MATIDMIXTURERULE: 10 + MATIDSCONST: [11, 12] + - MAT: 10 + MIX_GrowthRemodelMixtureRule: + GROWTH_STRATEGY: 100 + DENS: 1 + MASSFRAC: [0.5020811158, 0.497918842] + - MAT: 100 + MIX_GrowthStrategy_Stiffness: + KAPPA: 720 + - MAT: 11 + MIX_Constituent_ExplicitRemodelFiber: + ORIENTATION: + from_mesh: collagen_fiber + FIBER_MATERIAL_ID: 110 + DECAY_TIME: 100 + GROWTH_CONSTANT: 0.1 + DEPOSITION_STRETCH: 1.1 + INELASTIC_GROWTH: false + - MAT: 110 + MIX_Constituent_RemodelFiber_Material_Exponential: + K1: 568 + K2: 11.2 + COMPRESSION: false + - MAT: 12 + MIX_Constituent_ElastHyper: + NUMMAT: 2 + MATIDS: [121, 122] + PRESTRESS_STRATEGY: 129 + - MAT: 121 + ELAST_IsoNeoHooke: + MUE: + constant: 72 + - MAT: 122 + ELAST_VolSussmanBathe: + KAPPA: 720 + - MAT: 129 + MIX_Prestress_Strategy_Constant: + PRESTRETCH: [[1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0]] + +DESIGN VOL DIRICH CONDITIONS: + - E: 1 + ENTITY_TYPE: element_block_id + NUMDOF: 3 + ONOFF: [1, 0, 0] + VAL: [-40, 0, 0] + FUNCT: [0, 0, 0] +DESIGN SURF NEUMANN CONDITIONS: + - E: 1 + ENTITY_TYPE: node_set_id + NUMDOF: 3 + ONOFF: [1, 0, 0] + VAL: [-40, 0, 0] + FUNCT: [0, 0, 0] + TYPE: "orthopressure" +DESIGN SURF ROBIN SPRING DASHPOT CONDITIONS: + - E: 2 + ENTITY_TYPE: node_set_id + NUMDOF: 1 + ONOFF: [1] + STIFF: [100] + TIMEFUNCTSTIFF: [0] + VISCO: [0] + TIMEFUNCTVISCO: [0] + DISPLOFFSET: [0] + TIMEFUNCTDISPLOFFSET: [0] + FUNCTNONLINSTIFF: [0] + DIRECTION: "refsurfnormal" +DESIGN SURF DIRICH CONDITIONS: + - E: 3 + ENTITY_TYPE: node_set_id + NUMDOF: 3 + ONOFF: [0, 0, 1] + VAL: [0.0, 0.0, 0.0] + FUNCT: [0, 0, 0] + - E: 4 + ENTITY_TYPE: node_set_id + NUMDOF: 3 + ONOFF: [0, 0, 1] + VAL: [0.0, 0.0, 0.0] + FUNCT: [0, 0, 0] + - E: 5 + ENTITY_TYPE: node_set_id + NUMDOF: 3 + ONOFF: [1, 0, 0] + VAL: [0.0, 0.0, 0.0] + FUNCT: [0, 0, 0] + - E: 6 + ENTITY_TYPE: node_set_id + NUMDOF: 3 + ONOFF: [0, 1, 0] + VAL: [0.0, 0.0, 0.0] + FUNCT: [0, 0, 0] +DESIGN LINE DIRICH CONDITIONS: + - E: 7 + ENTITY_TYPE: node_set_id + NUMDOF: 3 + ONOFF: [1, 0, 1] + VAL: [0.0, 0.0, 0.0] + FUNCT: [0, 0, 0] + - E: 8 + ENTITY_TYPE: node_set_id + NUMDOF: 3 + ONOFF: [1, 0, 1] + VAL: [0.0, 0.0, 0.0] + FUNCT: [0, 0, 0] + - E: 9 + ENTITY_TYPE: node_set_id + NUMDOF: 3 + ONOFF: [0, 1, 1] + VAL: [0.0, 0.0, 0.0] + FUNCT: [0, 0, 0] + - E: 10 + ENTITY_TYPE: node_set_id + NUMDOF: 3 + ONOFF: [0, 1, 1] + VAL: [0.0, 0.0, 0.0] + FUNCT: [0, 0, 0] + +FUNCT1: + - COMPONENT: 0 + SYMBOLIC_FUNCTION_OF_SPACE_TIME: "pull" + - VARIABLE: 0 + NAME: "pull" + TYPE: "linearinterpolation" + NUMPOINTS: 2 + TIMES: [0, 20] + VALUES: [0, 20] + +STRUCTURE GEOMETRY: + FILE: tutorial_solid_vtu.vtu + ELEMENT_BLOCKS: + - ID: 1 + SOLID: + HEX8: + MAT: 1 + KINEM: nonlinear + +fields: + - name: collagen_fiber + discretization: structure + source: + from_mesh: + basis: points + +RESULT DESCRIPTION: + - STRUCTURE: + DIS: "structure" + NODE: 45 + QUANTITY: "dispx" + VALUE: 8.60259031264760683e-04 + TOLERANCE: 1e-08 + - STRUCTURE: + DIS: "structure" + NODE: 45 + QUANTITY: "dispy" + VALUE: 1.12050062992231202e-02 + TOLERANCE: 1e-08 + - STRUCTURE: + DIS: "structure" + NODE: 45 + QUANTITY: "dispz" + VALUE: 0.0 + TOLERANCE: 1e-08 diff --git a/tests/files/tutorial_solid_vtu.vtu b/tests/files/tutorial_solid_vtu.vtu new file mode 100644 index 0000000..7cf05de --- /dev/null +++ b/tests/files/tutorial_solid_vtu.vtu @@ -0,0 +1,12187 @@ + + + + + + + +0.00000000000e+00 1.00000000000e+01 -5.00000000000e-01 +0.00000000000e+00 1.00000000000e+01 -1.66666666667e-01 +0.00000000000e+00 9.66666666667e+00 -1.66666666667e-01 +0.00000000000e+00 9.66666666667e+00 -5.00000000000e-01 +3.83027336900e-01 9.99266181051e+00 -5.00000000000e-01 +3.83027336900e-01 9.99266181051e+00 -1.66666666667e-01 +3.70259759004e-01 9.65957308349e+00 -1.66666666667e-01 +3.70259759004e-01 9.65957308349e+00 -5.00000000000e-01 +0.00000000000e+00 1.00000000000e+01 1.66666666667e-01 +0.00000000000e+00 9.66666666667e+00 1.66666666667e-01 +3.83027336900e-01 9.99266181051e+00 1.66666666667e-01 +3.70259759004e-01 9.65957308349e+00 1.66666666667e-01 +0.00000000000e+00 1.00000000000e+01 5.00000000000e-01 +0.00000000000e+00 9.66666666667e+00 5.00000000000e-01 +3.83027336900e-01 9.99266181051e+00 5.00000000000e-01 +3.70259759004e-01 9.65957308349e+00 5.00000000000e-01 +0.00000000000e+00 9.33333333333e+00 -1.66666666667e-01 +0.00000000000e+00 9.33333333333e+00 -5.00000000000e-01 +3.57492181107e-01 9.32648435647e+00 -1.66666666667e-01 +3.57492181107e-01 9.32648435647e+00 -5.00000000000e-01 +0.00000000000e+00 9.33333333333e+00 1.66666666667e-01 +3.57492181107e-01 9.32648435647e+00 1.66666666667e-01 +0.00000000000e+00 9.33333333333e+00 5.00000000000e-01 +3.57492181107e-01 9.32648435647e+00 5.00000000000e-01 +0.00000000000e+00 9.00000000000e+00 -1.66666666667e-01 +0.00000000000e+00 9.00000000000e+00 -5.00000000000e-01 +3.44724603210e-01 8.99339562946e+00 -1.66666666667e-01 +3.44724603210e-01 8.99339562946e+00 -5.00000000000e-01 +0.00000000000e+00 9.00000000000e+00 1.66666666667e-01 +3.44724603210e-01 8.99339562946e+00 1.66666666667e-01 +0.00000000000e+00 9.00000000000e+00 5.00000000000e-01 +3.44724603210e-01 8.99339562946e+00 5.00000000000e-01 +7.65492528365e-01 9.97065801184e+00 -5.00000000000e-01 +7.65492528365e-01 9.97065801184e+00 -1.66666666667e-01 +7.39976110753e-01 9.63830274478e+00 -1.66666666667e-01 +7.39976110753e-01 9.63830274478e+00 -5.00000000000e-01 +7.65492528365e-01 9.97065801184e+00 1.66666666667e-01 +7.39976110753e-01 9.63830274478e+00 1.66666666667e-01 +7.65492528365e-01 9.97065801184e+00 5.00000000000e-01 +7.39976110753e-01 9.63830274478e+00 5.00000000000e-01 +7.14459693141e-01 9.30594747771e+00 -1.66666666667e-01 +7.14459693141e-01 9.30594747771e+00 -5.00000000000e-01 +7.14459693141e-01 9.30594747771e+00 1.66666666667e-01 +7.14459693141e-01 9.30594747771e+00 5.00000000000e-01 +6.88943275528e-01 8.97359221065e+00 -1.66666666667e-01 +6.88943275528e-01 8.97359221065e+00 -5.00000000000e-01 +6.88943275528e-01 8.97359221065e+00 1.66666666667e-01 +6.88943275528e-01 8.97359221065e+00 5.00000000000e-01 +1.14683425398e+00 9.93402089760e+00 -5.00000000000e-01 +1.14683425398e+00 9.93402089760e+00 -1.66666666667e-01 +1.10860644552e+00 9.60288686768e+00 -1.66666666667e-01 +1.10860644552e+00 9.60288686768e+00 -5.00000000000e-01 +1.14683425398e+00 9.93402089760e+00 1.66666666667e-01 +1.10860644552e+00 9.60288686768e+00 1.66666666667e-01 +1.14683425398e+00 9.93402089760e+00 5.00000000000e-01 +1.10860644552e+00 9.60288686768e+00 5.00000000000e-01 +1.07037863705e+00 9.27175283776e+00 -1.66666666667e-01 +1.07037863705e+00 9.27175283776e+00 -5.00000000000e-01 +1.07037863705e+00 9.27175283776e+00 1.66666666667e-01 +1.07037863705e+00 9.27175283776e+00 5.00000000000e-01 +1.03215082859e+00 8.94061880784e+00 -1.66666666667e-01 +1.03215082859e+00 8.94061880784e+00 -5.00000000000e-01 +1.03215082859e+00 8.94061880784e+00 1.66666666667e-01 +1.03215082859e+00 8.94061880784e+00 5.00000000000e-01 +1.52649284219e+00 9.88280423780e+00 -5.00000000000e-01 +1.52649284219e+00 9.88280423780e+00 -1.66666666667e-01 +1.47560974745e+00 9.55337742988e+00 -1.66666666667e-01 +1.47560974745e+00 9.55337742988e+00 -5.00000000000e-01 +1.52649284219e+00 9.88280423780e+00 1.66666666667e-01 +1.47560974745e+00 9.55337742988e+00 1.66666666667e-01 +1.52649284219e+00 9.88280423780e+00 5.00000000000e-01 +1.47560974745e+00 9.55337742988e+00 5.00000000000e-01 +1.42472665271e+00 9.22395062195e+00 -1.66666666667e-01 +1.42472665271e+00 9.22395062195e+00 -5.00000000000e-01 +1.42472665271e+00 9.22395062195e+00 1.66666666667e-01 +1.42472665271e+00 9.22395062195e+00 5.00000000000e-01 +1.37384355797e+00 8.89452381402e+00 -1.66666666667e-01 +1.37384355797e+00 8.89452381402e+00 -5.00000000000e-01 +1.37384355797e+00 8.89452381402e+00 1.66666666667e-01 +1.37384355797e+00 8.89452381402e+00 5.00000000000e-01 +1.90391109165e+00 9.81708319997e+00 -5.00000000000e-01 +1.90391109165e+00 9.81708319997e+00 -1.66666666667e-01 +1.84044738859e+00 9.48984709330e+00 -1.66666666667e-01 +1.84044738859e+00 9.48984709330e+00 -5.00000000000e-01 +1.90391109165e+00 9.81708319997e+00 1.66666666667e-01 +1.84044738859e+00 9.48984709330e+00 1.66666666667e-01 +1.90391109165e+00 9.81708319997e+00 5.00000000000e-01 +1.84044738859e+00 9.48984709330e+00 5.00000000000e-01 +1.77698368554e+00 9.16261098664e+00 -1.66666666667e-01 +1.77698368554e+00 9.16261098664e+00 -5.00000000000e-01 +1.77698368554e+00 9.16261098664e+00 1.66666666667e-01 +1.77698368554e+00 9.16261098664e+00 5.00000000000e-01 +1.71351998248e+00 8.83537487997e+00 -1.66666666667e-01 +1.71351998248e+00 8.83537487997e+00 -5.00000000000e-01 +1.71351998248e+00 8.83537487997e+00 1.66666666667e-01 +1.71351998248e+00 8.83537487997e+00 5.00000000000e-01 +2.27853508903e+00 9.73695423878e+00 -5.00000000000e-01 +2.27853508903e+00 9.73695423878e+00 -1.66666666667e-01 +2.20258391940e+00 9.41238909749e+00 -1.66666666667e-01 +2.20258391940e+00 9.41238909749e+00 -5.00000000000e-01 +2.27853508903e+00 9.73695423878e+00 1.66666666667e-01 +2.20258391940e+00 9.41238909749e+00 1.66666666667e-01 +2.27853508903e+00 9.73695423878e+00 5.00000000000e-01 +2.20258391940e+00 9.41238909749e+00 5.00000000000e-01 +2.12663274976e+00 9.08782395619e+00 -1.66666666667e-01 +2.12663274976e+00 9.08782395619e+00 -5.00000000000e-01 +2.12663274976e+00 9.08782395619e+00 1.66666666667e-01 +2.12663274976e+00 9.08782395619e+00 5.00000000000e-01 +2.05068158013e+00 8.76325881490e+00 -1.66666666667e-01 +2.05068158013e+00 8.76325881490e+00 -5.00000000000e-01 +2.05068158013e+00 8.76325881490e+00 1.66666666667e-01 +2.05068158013e+00 8.76325881490e+00 5.00000000000e-01 +2.64981502197e+00 9.64253495453e+00 -5.00000000000e-01 +2.64981502197e+00 9.64253495453e+00 -1.66666666667e-01 +2.56148785457e+00 9.32111712271e+00 -1.66666666667e-01 +2.56148785457e+00 9.32111712271e+00 -5.00000000000e-01 +2.64981502197e+00 9.64253495453e+00 1.66666666667e-01 +2.56148785457e+00 9.32111712271e+00 1.66666666667e-01 +2.64981502197e+00 9.64253495453e+00 5.00000000000e-01 +2.56148785457e+00 9.32111712271e+00 5.00000000000e-01 +2.47316068717e+00 8.99969929090e+00 -1.66666666667e-01 +2.47316068717e+00 8.99969929090e+00 -5.00000000000e-01 +2.47316068717e+00 8.99969929090e+00 1.66666666667e-01 +2.47316068717e+00 8.99969929090e+00 5.00000000000e-01 +2.38483351977e+00 8.67828145908e+00 -1.66666666667e-01 +2.38483351977e+00 8.67828145908e+00 -5.00000000000e-01 +2.38483351977e+00 8.67828145908e+00 1.66666666667e-01 +2.38483351977e+00 8.67828145908e+00 5.00000000000e-01 +3.01720598595e+00 9.53396392055e+00 -5.00000000000e-01 +3.01720598595e+00 9.53396392055e+00 -1.66666666667e-01 +2.91663245309e+00 9.21616512320e+00 -1.66666666667e-01 +2.91663245309e+00 9.21616512320e+00 -5.00000000000e-01 +3.01720598595e+00 9.53396392055e+00 1.66666666667e-01 +2.91663245309e+00 9.21616512320e+00 1.66666666667e-01 +3.01720598595e+00 9.53396392055e+00 5.00000000000e-01 +2.91663245309e+00 9.21616512320e+00 5.00000000000e-01 +2.81605892022e+00 8.89836632585e+00 -1.66666666667e-01 +2.81605892022e+00 8.89836632585e+00 -5.00000000000e-01 +2.81605892022e+00 8.89836632585e+00 1.66666666667e-01 +2.81605892022e+00 8.89836632585e+00 5.00000000000e-01 +2.71548538736e+00 8.58056752849e+00 -1.66666666667e-01 +2.71548538736e+00 8.58056752849e+00 -5.00000000000e-01 +2.71548538736e+00 8.58056752849e+00 1.66666666667e-01 +2.71548538736e+00 8.58056752849e+00 5.00000000000e-01 +3.38016878409e+00 9.41140047980e+00 -5.00000000000e-01 +3.38016878409e+00 9.41140047980e+00 -1.66666666667e-01 +3.26749649128e+00 9.09768713047e+00 -1.66666666667e-01 +3.26749649128e+00 9.09768713047e+00 -5.00000000000e-01 +3.38016878409e+00 9.41140047980e+00 1.66666666667e-01 +3.26749649128e+00 9.09768713047e+00 1.66666666667e-01 +3.38016878409e+00 9.41140047980e+00 5.00000000000e-01 +3.26749649128e+00 9.09768713047e+00 5.00000000000e-01 +3.15482419848e+00 8.78397378114e+00 -1.66666666667e-01 +3.15482419848e+00 8.78397378114e+00 -5.00000000000e-01 +3.15482419848e+00 8.78397378114e+00 1.66666666667e-01 +3.15482419848e+00 8.78397378114e+00 5.00000000000e-01 +3.04215190568e+00 8.47026043182e+00 -1.66666666667e-01 +3.04215190568e+00 8.47026043182e+00 -5.00000000000e-01 +3.04215190568e+00 8.47026043182e+00 1.66666666667e-01 +3.04215190568e+00 8.47026043182e+00 5.00000000000e-01 +3.73817071841e+00 9.27502451102e+00 -5.00000000000e-01 +3.73817071841e+00 9.27502451102e+00 -1.66666666667e-01 +3.61356502779e+00 8.96585702732e+00 -1.66666666667e-01 +3.61356502779e+00 8.96585702732e+00 -5.00000000000e-01 +3.73817071841e+00 9.27502451102e+00 1.66666666667e-01 +3.61356502779e+00 8.96585702732e+00 1.66666666667e-01 +3.73817071841e+00 9.27502451102e+00 5.00000000000e-01 +3.61356502779e+00 8.96585702732e+00 5.00000000000e-01 +3.48895933718e+00 8.65668954362e+00 -1.66666666667e-01 +3.48895933718e+00 8.65668954362e+00 -5.00000000000e-01 +3.48895933718e+00 8.65668954362e+00 1.66666666667e-01 +3.48895933718e+00 8.65668954362e+00 5.00000000000e-01 +3.36435364657e+00 8.34752205992e+00 -1.66666666667e-01 +3.36435364657e+00 8.34752205992e+00 -5.00000000000e-01 +3.36435364657e+00 8.34752205992e+00 1.66666666667e-01 +3.36435364657e+00 8.34752205992e+00 5.00000000000e-01 +4.09068637171e+00 9.12503616477e+00 -5.00000000000e-01 +4.09068637171e+00 9.12503616477e+00 -1.66666666667e-01 +3.95433015932e+00 8.82086829261e+00 -1.66666666667e-01 +3.95433015932e+00 8.82086829261e+00 -5.00000000000e-01 +4.09068637171e+00 9.12503616477e+00 1.66666666667e-01 +3.95433015932e+00 8.82086829261e+00 1.66666666667e-01 +4.09068637171e+00 9.12503616477e+00 5.00000000000e-01 +3.95433015932e+00 8.82086829261e+00 5.00000000000e-01 +3.81797394693e+00 8.51670042045e+00 -1.66666666667e-01 +3.81797394693e+00 8.51670042045e+00 -5.00000000000e-01 +3.81797394693e+00 8.51670042045e+00 1.66666666667e-01 +3.81797394693e+00 8.51670042045e+00 5.00000000000e-01 +3.68161773454e+00 8.21253254829e+00 -1.66666666667e-01 +3.68161773454e+00 8.21253254829e+00 -5.00000000000e-01 +3.68161773454e+00 8.21253254829e+00 1.66666666667e-01 +3.68161773454e+00 8.21253254829e+00 5.00000000000e-01 +4.43719837867e+00 8.96165556961e+00 -5.00000000000e-01 +4.43719837867e+00 8.96165556961e+00 -1.66666666667e-01 +4.28929176605e+00 8.66293371729e+00 -1.66666666667e-01 +4.28929176605e+00 8.66293371729e+00 -5.00000000000e-01 +4.43719837867e+00 8.96165556961e+00 1.66666666667e-01 +4.28929176605e+00 8.66293371729e+00 1.66666666667e-01 +4.43719837867e+00 8.96165556961e+00 5.00000000000e-01 +4.28929176605e+00 8.66293371729e+00 5.00000000000e-01 +4.14138515342e+00 8.36421186497e+00 -1.66666666667e-01 +4.14138515342e+00 8.36421186497e+00 -5.00000000000e-01 +4.14138515342e+00 8.36421186497e+00 1.66666666667e-01 +4.14138515342e+00 8.36421186497e+00 5.00000000000e-01 +3.99347854080e+00 8.06549001265e+00 -1.66666666667e-01 +3.99347854080e+00 8.06549001265e+00 -5.00000000000e-01 +3.99347854080e+00 8.06549001265e+00 1.66666666667e-01 +3.99347854080e+00 8.06549001265e+00 5.00000000000e-01 +4.77719818512e+00 8.78512250911e+00 -5.00000000000e-01 +4.77719818512e+00 8.78512250911e+00 -1.66666666667e-01 +4.61795824562e+00 8.49228509214e+00 -1.66666666667e-01 +4.61795824562e+00 8.49228509214e+00 -5.00000000000e-01 +4.77719818512e+00 8.78512250911e+00 1.66666666667e-01 +4.61795824562e+00 8.49228509214e+00 1.66666666667e-01 +4.77719818512e+00 8.78512250911e+00 5.00000000000e-01 +4.61795824562e+00 8.49228509214e+00 5.00000000000e-01 +4.45871830611e+00 8.19944767517e+00 -1.66666666667e-01 +4.45871830611e+00 8.19944767517e+00 -5.00000000000e-01 +4.45871830611e+00 8.19944767517e+00 1.66666666667e-01 +4.45871830611e+00 8.19944767517e+00 5.00000000000e-01 +4.29947836661e+00 7.90661025820e+00 -1.66666666667e-01 +4.29947836661e+00 7.90661025820e+00 -5.00000000000e-01 +4.29947836661e+00 7.90661025820e+00 1.66666666667e-01 +4.29947836661e+00 7.90661025820e+00 5.00000000000e-01 +5.11018679447e+00 8.59569606987e+00 -5.00000000000e-01 +5.11018679447e+00 8.59569606987e+00 -1.66666666667e-01 +4.93984723466e+00 8.30917286754e+00 -1.66666666667e-01 +4.93984723466e+00 8.30917286754e+00 -5.00000000000e-01 +5.11018679447e+00 8.59569606987e+00 1.66666666667e-01 +4.93984723466e+00 8.30917286754e+00 1.66666666667e-01 +5.11018679447e+00 8.59569606987e+00 5.00000000000e-01 +4.93984723466e+00 8.30917286754e+00 5.00000000000e-01 +4.76950767484e+00 8.02264966521e+00 -1.66666666667e-01 +4.76950767484e+00 8.02264966521e+00 -5.00000000000e-01 +4.76950767484e+00 8.02264966521e+00 1.66666666667e-01 +4.76950767484e+00 8.02264966521e+00 5.00000000000e-01 +4.59916811502e+00 7.73612646288e+00 -1.66666666667e-01 +4.59916811502e+00 7.73612646288e+00 -5.00000000000e-01 +4.59916811502e+00 7.73612646288e+00 1.66666666667e-01 +4.59916811502e+00 7.73612646288e+00 5.00000000000e-01 +5.43567550001e+00 8.39365426132e+00 -5.00000000000e-01 +5.43567550001e+00 8.39365426132e+00 -1.66666666667e-01 +5.25448631668e+00 8.11386578594e+00 -1.66666666667e-01 +5.25448631668e+00 8.11386578594e+00 -5.00000000000e-01 +5.43567550001e+00 8.39365426132e+00 1.66666666667e-01 +5.25448631668e+00 8.11386578594e+00 1.66666666667e-01 +5.43567550001e+00 8.39365426132e+00 5.00000000000e-01 +5.25448631668e+00 8.11386578594e+00 5.00000000000e-01 +5.07329713334e+00 7.83407731056e+00 -1.66666666667e-01 +5.07329713334e+00 7.83407731056e+00 -5.00000000000e-01 +5.07329713334e+00 7.83407731056e+00 1.66666666667e-01 +5.07329713334e+00 7.83407731056e+00 5.00000000000e-01 +4.89210795001e+00 7.55428883519e+00 -1.66666666667e-01 +4.89210795001e+00 7.55428883519e+00 -5.00000000000e-01 +4.89210795001e+00 7.55428883519e+00 1.66666666667e-01 +4.89210795001e+00 7.55428883519e+00 5.00000000000e-01 +5.75318660219e+00 8.17929360767e+00 -5.00000000000e-01 +5.75318660219e+00 8.17929360767e+00 -1.66666666667e-01 +5.56141371545e+00 7.90665048741e+00 -1.66666666667e-01 +5.56141371545e+00 7.90665048741e+00 -5.00000000000e-01 +5.75318660219e+00 8.17929360767e+00 1.66666666667e-01 +5.56141371545e+00 7.90665048741e+00 1.66666666667e-01 +5.75318660219e+00 8.17929360767e+00 5.00000000000e-01 +5.56141371545e+00 7.90665048741e+00 5.00000000000e-01 +5.36964082871e+00 7.63400736716e+00 -1.66666666667e-01 +5.36964082871e+00 7.63400736716e+00 -5.00000000000e-01 +5.36964082871e+00 7.63400736716e+00 1.66666666667e-01 +5.36964082871e+00 7.63400736716e+00 5.00000000000e-01 +5.17786794197e+00 7.36136424690e+00 -1.66666666667e-01 +5.17786794197e+00 7.36136424690e+00 -5.00000000000e-01 +5.17786794197e+00 7.36136424690e+00 1.66666666667e-01 +5.17786794197e+00 7.36136424690e+00 5.00000000000e-01 +6.06225410967e+00 7.95292871273e+00 -5.00000000000e-01 +6.06225410967e+00 7.95292871273e+00 -1.66666666667e-01 +5.86017897268e+00 7.68783108898e+00 -1.66666666667e-01 +5.86017897268e+00 7.68783108898e+00 -5.00000000000e-01 +6.06225410967e+00 7.95292871273e+00 1.66666666667e-01 +5.86017897268e+00 7.68783108898e+00 1.66666666667e-01 +6.06225410967e+00 7.95292871273e+00 5.00000000000e-01 +5.86017897268e+00 7.68783108898e+00 5.00000000000e-01 +5.65810383569e+00 7.42273346522e+00 -1.66666666667e-01 +5.65810383569e+00 7.42273346522e+00 -5.00000000000e-01 +5.65810383569e+00 7.42273346522e+00 1.66666666667e-01 +5.65810383569e+00 7.42273346522e+00 5.00000000000e-01 +5.45602869870e+00 7.15763584146e+00 -1.66666666667e-01 +5.45602869870e+00 7.15763584146e+00 -5.00000000000e-01 +5.45602869870e+00 7.15763584146e+00 1.66666666667e-01 +5.45602869870e+00 7.15763584146e+00 5.00000000000e-01 +6.36242442327e+00 7.71489179822e+00 -5.00000000000e-01 +6.36242442327e+00 7.71489179822e+00 -1.66666666667e-01 +6.15034360916e+00 7.45772873828e+00 -1.66666666667e-01 +6.15034360916e+00 7.45772873828e+00 -5.00000000000e-01 +6.36242442327e+00 7.71489179822e+00 1.66666666667e-01 +6.15034360916e+00 7.45772873828e+00 1.66666666667e-01 +6.36242442327e+00 7.71489179822e+00 5.00000000000e-01 +6.15034360916e+00 7.45772873828e+00 5.00000000000e-01 +5.93826279505e+00 7.20056567834e+00 -1.66666666667e-01 +5.93826279505e+00 7.20056567834e+00 -5.00000000000e-01 +5.93826279505e+00 7.20056567834e+00 1.66666666667e-01 +5.93826279505e+00 7.20056567834e+00 5.00000000000e-01 +5.72618198094e+00 6.94340261840e+00 -1.66666666667e-01 +5.72618198094e+00 6.94340261840e+00 -5.00000000000e-01 +5.72618198094e+00 6.94340261840e+00 1.66666666667e-01 +5.72618198094e+00 6.94340261840e+00 5.00000000000e-01 +6.65325700166e+00 7.46553221612e+00 -5.00000000000e-01 +6.65325700166e+00 7.46553221612e+00 -1.66666666667e-01 +6.43148176827e+00 7.21668114225e+00 -1.66666666667e-01 +6.43148176827e+00 7.21668114225e+00 -5.00000000000e-01 +6.65325700166e+00 7.46553221612e+00 1.66666666667e-01 +6.43148176827e+00 7.21668114225e+00 1.66666666667e-01 +6.65325700166e+00 7.46553221612e+00 5.00000000000e-01 +6.43148176827e+00 7.21668114225e+00 5.00000000000e-01 +6.20970653488e+00 6.96783006838e+00 -1.66666666667e-01 +6.20970653488e+00 6.96783006838e+00 -5.00000000000e-01 +6.20970653488e+00 6.96783006838e+00 1.66666666667e-01 +6.20970653488e+00 6.96783006838e+00 5.00000000000e-01 +5.98793130149e+00 6.71897899451e+00 -1.66666666667e-01 +5.98793130149e+00 6.71897899451e+00 -5.00000000000e-01 +5.98793130149e+00 6.71897899451e+00 1.66666666667e-01 +5.98793130149e+00 6.71897899451e+00 5.00000000000e-01 +6.93432500792e+00 7.20521593601e+00 -5.00000000000e-01 +6.93432500792e+00 7.20521593601e+00 -1.66666666667e-01 +6.70318084099e+00 6.96504207147e+00 -1.66666666667e-01 +6.70318084099e+00 6.96504207147e+00 -5.00000000000e-01 +6.93432500792e+00 7.20521593601e+00 1.66666666667e-01 +6.70318084099e+00 6.96504207147e+00 1.66666666667e-01 +6.93432500792e+00 7.20521593601e+00 5.00000000000e-01 +6.70318084099e+00 6.96504207147e+00 5.00000000000e-01 +6.47203667406e+00 6.72486820694e+00 -1.66666666667e-01 +6.47203667406e+00 6.72486820694e+00 -5.00000000000e-01 +6.47203667406e+00 6.72486820694e+00 1.66666666667e-01 +6.47203667406e+00 6.72486820694e+00 5.00000000000e-01 +6.24089250713e+00 6.48469434241e+00 -1.66666666667e-01 +6.24089250713e+00 6.48469434241e+00 -5.00000000000e-01 +6.24089250713e+00 6.48469434241e+00 1.66666666667e-01 +6.24089250713e+00 6.48469434241e+00 5.00000000000e-01 +7.20521593601e+00 6.93432500792e+00 -5.00000000000e-01 +7.20521593601e+00 6.93432500792e+00 -1.66666666667e-01 +6.96504207147e+00 6.70318084099e+00 -1.66666666667e-01 +6.96504207147e+00 6.70318084099e+00 -5.00000000000e-01 +7.20521593601e+00 6.93432500792e+00 1.66666666667e-01 +6.96504207147e+00 6.70318084099e+00 1.66666666667e-01 +7.20521593601e+00 6.93432500792e+00 5.00000000000e-01 +6.96504207147e+00 6.70318084099e+00 5.00000000000e-01 +6.72486820694e+00 6.47203667406e+00 -1.66666666667e-01 +6.72486820694e+00 6.47203667406e+00 -5.00000000000e-01 +6.72486820694e+00 6.47203667406e+00 1.66666666667e-01 +6.72486820694e+00 6.47203667406e+00 5.00000000000e-01 +6.48469434241e+00 6.24089250713e+00 -1.66666666667e-01 +6.48469434241e+00 6.24089250713e+00 -5.00000000000e-01 +6.48469434241e+00 6.24089250713e+00 1.66666666667e-01 +6.48469434241e+00 6.24089250713e+00 5.00000000000e-01 +7.46553221612e+00 6.65325700166e+00 -5.00000000000e-01 +7.46553221612e+00 6.65325700166e+00 -1.66666666667e-01 +7.21668114225e+00 6.43148176827e+00 -1.66666666667e-01 +7.21668114225e+00 6.43148176827e+00 -5.00000000000e-01 +7.46553221612e+00 6.65325700166e+00 1.66666666667e-01 +7.21668114225e+00 6.43148176827e+00 1.66666666667e-01 +7.46553221612e+00 6.65325700166e+00 5.00000000000e-01 +7.21668114225e+00 6.43148176827e+00 5.00000000000e-01 +6.96783006838e+00 6.20970653488e+00 -1.66666666667e-01 +6.96783006838e+00 6.20970653488e+00 -5.00000000000e-01 +6.96783006838e+00 6.20970653488e+00 1.66666666667e-01 +6.96783006838e+00 6.20970653488e+00 5.00000000000e-01 +6.71897899451e+00 5.98793130149e+00 -1.66666666667e-01 +6.71897899451e+00 5.98793130149e+00 -5.00000000000e-01 +6.71897899451e+00 5.98793130149e+00 1.66666666667e-01 +6.71897899451e+00 5.98793130149e+00 5.00000000000e-01 +7.71489179822e+00 6.36242442327e+00 -5.00000000000e-01 +7.71489179822e+00 6.36242442327e+00 -1.66666666667e-01 +7.45772873828e+00 6.15034360916e+00 -1.66666666667e-01 +7.45772873828e+00 6.15034360916e+00 -5.00000000000e-01 +7.71489179822e+00 6.36242442327e+00 1.66666666667e-01 +7.45772873828e+00 6.15034360916e+00 1.66666666667e-01 +7.71489179822e+00 6.36242442327e+00 5.00000000000e-01 +7.45772873828e+00 6.15034360916e+00 5.00000000000e-01 +7.20056567834e+00 5.93826279505e+00 -1.66666666667e-01 +7.20056567834e+00 5.93826279505e+00 -5.00000000000e-01 +7.20056567834e+00 5.93826279505e+00 1.66666666667e-01 +7.20056567834e+00 5.93826279505e+00 5.00000000000e-01 +6.94340261840e+00 5.72618198094e+00 -1.66666666667e-01 +6.94340261840e+00 5.72618198094e+00 -5.00000000000e-01 +6.94340261840e+00 5.72618198094e+00 1.66666666667e-01 +6.94340261840e+00 5.72618198094e+00 5.00000000000e-01 +7.95292871273e+00 6.06225410967e+00 -5.00000000000e-01 +7.95292871273e+00 6.06225410967e+00 -1.66666666667e-01 +7.68783108898e+00 5.86017897268e+00 -1.66666666667e-01 +7.68783108898e+00 5.86017897268e+00 -5.00000000000e-01 +7.95292871273e+00 6.06225410967e+00 1.66666666667e-01 +7.68783108898e+00 5.86017897268e+00 1.66666666667e-01 +7.95292871273e+00 6.06225410967e+00 5.00000000000e-01 +7.68783108898e+00 5.86017897268e+00 5.00000000000e-01 +7.42273346522e+00 5.65810383569e+00 -1.66666666667e-01 +7.42273346522e+00 5.65810383569e+00 -5.00000000000e-01 +7.42273346522e+00 5.65810383569e+00 1.66666666667e-01 +7.42273346522e+00 5.65810383569e+00 5.00000000000e-01 +7.15763584146e+00 5.45602869870e+00 -1.66666666667e-01 +7.15763584146e+00 5.45602869870e+00 -5.00000000000e-01 +7.15763584146e+00 5.45602869870e+00 1.66666666667e-01 +7.15763584146e+00 5.45602869870e+00 5.00000000000e-01 +8.17929360767e+00 5.75318660219e+00 -5.00000000000e-01 +8.17929360767e+00 5.75318660219e+00 -1.66666666667e-01 +7.90665048741e+00 5.56141371545e+00 -1.66666666667e-01 +7.90665048741e+00 5.56141371545e+00 -5.00000000000e-01 +8.17929360767e+00 5.75318660219e+00 1.66666666667e-01 +7.90665048741e+00 5.56141371545e+00 1.66666666667e-01 +8.17929360767e+00 5.75318660219e+00 5.00000000000e-01 +7.90665048741e+00 5.56141371545e+00 5.00000000000e-01 +7.63400736716e+00 5.36964082871e+00 -1.66666666667e-01 +7.63400736716e+00 5.36964082871e+00 -5.00000000000e-01 +7.63400736716e+00 5.36964082871e+00 1.66666666667e-01 +7.63400736716e+00 5.36964082871e+00 5.00000000000e-01 +7.36136424690e+00 5.17786794197e+00 -1.66666666667e-01 +7.36136424690e+00 5.17786794197e+00 -5.00000000000e-01 +7.36136424690e+00 5.17786794197e+00 1.66666666667e-01 +7.36136424690e+00 5.17786794197e+00 5.00000000000e-01 +8.39365426132e+00 5.43567550001e+00 -5.00000000000e-01 +8.39365426132e+00 5.43567550001e+00 -1.66666666667e-01 +8.11386578594e+00 5.25448631668e+00 -1.66666666667e-01 +8.11386578594e+00 5.25448631668e+00 -5.00000000000e-01 +8.39365426132e+00 5.43567550001e+00 1.66666666667e-01 +8.11386578594e+00 5.25448631668e+00 1.66666666667e-01 +8.39365426132e+00 5.43567550001e+00 5.00000000000e-01 +8.11386578594e+00 5.25448631668e+00 5.00000000000e-01 +7.83407731056e+00 5.07329713334e+00 -1.66666666667e-01 +7.83407731056e+00 5.07329713334e+00 -5.00000000000e-01 +7.83407731056e+00 5.07329713334e+00 1.66666666667e-01 +7.83407731056e+00 5.07329713334e+00 5.00000000000e-01 +7.55428883519e+00 4.89210795001e+00 -1.66666666667e-01 +7.55428883519e+00 4.89210795001e+00 -5.00000000000e-01 +7.55428883519e+00 4.89210795001e+00 1.66666666667e-01 +7.55428883519e+00 4.89210795001e+00 5.00000000000e-01 +8.59569606987e+00 5.11018679447e+00 -5.00000000000e-01 +8.59569606987e+00 5.11018679447e+00 -1.66666666667e-01 +8.30917286754e+00 4.93984723466e+00 -1.66666666667e-01 +8.30917286754e+00 4.93984723466e+00 -5.00000000000e-01 +8.59569606987e+00 5.11018679447e+00 1.66666666667e-01 +8.30917286754e+00 4.93984723466e+00 1.66666666667e-01 +8.59569606987e+00 5.11018679447e+00 5.00000000000e-01 +8.30917286754e+00 4.93984723466e+00 5.00000000000e-01 +8.02264966521e+00 4.76950767484e+00 -1.66666666667e-01 +8.02264966521e+00 4.76950767484e+00 -5.00000000000e-01 +8.02264966521e+00 4.76950767484e+00 1.66666666667e-01 +8.02264966521e+00 4.76950767484e+00 5.00000000000e-01 +7.73612646288e+00 4.59916811502e+00 -1.66666666667e-01 +7.73612646288e+00 4.59916811502e+00 -5.00000000000e-01 +7.73612646288e+00 4.59916811502e+00 1.66666666667e-01 +7.73612646288e+00 4.59916811502e+00 5.00000000000e-01 +8.78512250911e+00 4.77719818512e+00 -5.00000000000e-01 +8.78512250911e+00 4.77719818512e+00 -1.66666666667e-01 +8.49228509214e+00 4.61795824562e+00 -1.66666666667e-01 +8.49228509214e+00 4.61795824562e+00 -5.00000000000e-01 +8.78512250911e+00 4.77719818512e+00 1.66666666667e-01 +8.49228509214e+00 4.61795824562e+00 1.66666666667e-01 +8.78512250911e+00 4.77719818512e+00 5.00000000000e-01 +8.49228509214e+00 4.61795824562e+00 5.00000000000e-01 +8.19944767517e+00 4.45871830611e+00 -1.66666666667e-01 +8.19944767517e+00 4.45871830611e+00 -5.00000000000e-01 +8.19944767517e+00 4.45871830611e+00 1.66666666667e-01 +8.19944767517e+00 4.45871830611e+00 5.00000000000e-01 +7.90661025820e+00 4.29947836661e+00 -1.66666666667e-01 +7.90661025820e+00 4.29947836661e+00 -5.00000000000e-01 +7.90661025820e+00 4.29947836661e+00 1.66666666667e-01 +7.90661025820e+00 4.29947836661e+00 5.00000000000e-01 +8.96165556961e+00 4.43719837867e+00 -5.00000000000e-01 +8.96165556961e+00 4.43719837867e+00 -1.66666666667e-01 +8.66293371729e+00 4.28929176605e+00 -1.66666666667e-01 +8.66293371729e+00 4.28929176605e+00 -5.00000000000e-01 +8.96165556961e+00 4.43719837867e+00 1.66666666667e-01 +8.66293371729e+00 4.28929176605e+00 1.66666666667e-01 +8.96165556961e+00 4.43719837867e+00 5.00000000000e-01 +8.66293371729e+00 4.28929176605e+00 5.00000000000e-01 +8.36421186497e+00 4.14138515342e+00 -1.66666666667e-01 +8.36421186497e+00 4.14138515342e+00 -5.00000000000e-01 +8.36421186497e+00 4.14138515342e+00 1.66666666667e-01 +8.36421186497e+00 4.14138515342e+00 5.00000000000e-01 +8.06549001265e+00 3.99347854080e+00 -1.66666666667e-01 +8.06549001265e+00 3.99347854080e+00 -5.00000000000e-01 +8.06549001265e+00 3.99347854080e+00 1.66666666667e-01 +8.06549001265e+00 3.99347854080e+00 5.00000000000e-01 +9.12503616477e+00 4.09068637171e+00 -5.00000000000e-01 +9.12503616477e+00 4.09068637171e+00 -1.66666666667e-01 +8.82086829261e+00 3.95433015932e+00 -1.66666666667e-01 +8.82086829261e+00 3.95433015932e+00 -5.00000000000e-01 +9.12503616477e+00 4.09068637171e+00 1.66666666667e-01 +8.82086829261e+00 3.95433015932e+00 1.66666666667e-01 +9.12503616477e+00 4.09068637171e+00 5.00000000000e-01 +8.82086829261e+00 3.95433015932e+00 5.00000000000e-01 +8.51670042045e+00 3.81797394693e+00 -1.66666666667e-01 +8.51670042045e+00 3.81797394693e+00 -5.00000000000e-01 +8.51670042045e+00 3.81797394693e+00 1.66666666667e-01 +8.51670042045e+00 3.81797394693e+00 5.00000000000e-01 +8.21253254829e+00 3.68161773454e+00 -1.66666666667e-01 +8.21253254829e+00 3.68161773454e+00 -5.00000000000e-01 +8.21253254829e+00 3.68161773454e+00 1.66666666667e-01 +8.21253254829e+00 3.68161773454e+00 5.00000000000e-01 +9.27502451102e+00 3.73817071841e+00 -5.00000000000e-01 +9.27502451102e+00 3.73817071841e+00 -1.66666666667e-01 +8.96585702732e+00 3.61356502779e+00 -1.66666666667e-01 +8.96585702732e+00 3.61356502779e+00 -5.00000000000e-01 +9.27502451102e+00 3.73817071841e+00 1.66666666667e-01 +8.96585702732e+00 3.61356502779e+00 1.66666666667e-01 +9.27502451102e+00 3.73817071841e+00 5.00000000000e-01 +8.96585702732e+00 3.61356502779e+00 5.00000000000e-01 +8.65668954362e+00 3.48895933718e+00 -1.66666666667e-01 +8.65668954362e+00 3.48895933718e+00 -5.00000000000e-01 +8.65668954362e+00 3.48895933718e+00 1.66666666667e-01 +8.65668954362e+00 3.48895933718e+00 5.00000000000e-01 +8.34752205992e+00 3.36435364657e+00 -1.66666666667e-01 +8.34752205992e+00 3.36435364657e+00 -5.00000000000e-01 +8.34752205992e+00 3.36435364657e+00 1.66666666667e-01 +8.34752205992e+00 3.36435364657e+00 5.00000000000e-01 +9.41140047980e+00 3.38016878409e+00 -5.00000000000e-01 +9.41140047980e+00 3.38016878409e+00 -1.66666666667e-01 +9.09768713047e+00 3.26749649128e+00 -1.66666666667e-01 +9.09768713047e+00 3.26749649128e+00 -5.00000000000e-01 +9.41140047980e+00 3.38016878409e+00 1.66666666667e-01 +9.09768713047e+00 3.26749649128e+00 1.66666666667e-01 +9.41140047980e+00 3.38016878409e+00 5.00000000000e-01 +9.09768713047e+00 3.26749649128e+00 5.00000000000e-01 +8.78397378114e+00 3.15482419848e+00 -1.66666666667e-01 +8.78397378114e+00 3.15482419848e+00 -5.00000000000e-01 +8.78397378114e+00 3.15482419848e+00 1.66666666667e-01 +8.78397378114e+00 3.15482419848e+00 5.00000000000e-01 +8.47026043182e+00 3.04215190568e+00 -1.66666666667e-01 +8.47026043182e+00 3.04215190568e+00 -5.00000000000e-01 +8.47026043182e+00 3.04215190568e+00 1.66666666667e-01 +8.47026043182e+00 3.04215190568e+00 5.00000000000e-01 +9.53396392055e+00 3.01720598595e+00 -5.00000000000e-01 +9.53396392055e+00 3.01720598595e+00 -1.66666666667e-01 +9.21616512320e+00 2.91663245309e+00 -1.66666666667e-01 +9.21616512320e+00 2.91663245309e+00 -5.00000000000e-01 +9.53396392055e+00 3.01720598595e+00 1.66666666667e-01 +9.21616512320e+00 2.91663245309e+00 1.66666666667e-01 +9.53396392055e+00 3.01720598595e+00 5.00000000000e-01 +9.21616512320e+00 2.91663245309e+00 5.00000000000e-01 +8.89836632585e+00 2.81605892022e+00 -1.66666666667e-01 +8.89836632585e+00 2.81605892022e+00 -5.00000000000e-01 +8.89836632585e+00 2.81605892022e+00 1.66666666667e-01 +8.89836632585e+00 2.81605892022e+00 5.00000000000e-01 +8.58056752849e+00 2.71548538736e+00 -1.66666666667e-01 +8.58056752849e+00 2.71548538736e+00 -5.00000000000e-01 +8.58056752849e+00 2.71548538736e+00 1.66666666667e-01 +8.58056752849e+00 2.71548538736e+00 5.00000000000e-01 +9.64253495453e+00 2.64981502197e+00 -5.00000000000e-01 +9.64253495453e+00 2.64981502197e+00 -1.66666666667e-01 +9.32111712271e+00 2.56148785457e+00 -1.66666666667e-01 +9.32111712271e+00 2.56148785457e+00 -5.00000000000e-01 +9.64253495453e+00 2.64981502197e+00 1.66666666667e-01 +9.32111712271e+00 2.56148785457e+00 1.66666666667e-01 +9.64253495453e+00 2.64981502197e+00 5.00000000000e-01 +9.32111712271e+00 2.56148785457e+00 5.00000000000e-01 +8.99969929090e+00 2.47316068717e+00 -1.66666666667e-01 +8.99969929090e+00 2.47316068717e+00 -5.00000000000e-01 +8.99969929090e+00 2.47316068717e+00 1.66666666667e-01 +8.99969929090e+00 2.47316068717e+00 5.00000000000e-01 +8.67828145908e+00 2.38483351977e+00 -1.66666666667e-01 +8.67828145908e+00 2.38483351977e+00 -5.00000000000e-01 +8.67828145908e+00 2.38483351977e+00 1.66666666667e-01 +8.67828145908e+00 2.38483351977e+00 5.00000000000e-01 +9.73695423878e+00 2.27853508903e+00 -5.00000000000e-01 +9.73695423878e+00 2.27853508903e+00 -1.66666666667e-01 +9.41238909749e+00 2.20258391940e+00 -1.66666666667e-01 +9.41238909749e+00 2.20258391940e+00 -5.00000000000e-01 +9.73695423878e+00 2.27853508903e+00 1.66666666667e-01 +9.41238909749e+00 2.20258391940e+00 1.66666666667e-01 +9.73695423878e+00 2.27853508903e+00 5.00000000000e-01 +9.41238909749e+00 2.20258391940e+00 5.00000000000e-01 +9.08782395619e+00 2.12663274976e+00 -1.66666666667e-01 +9.08782395619e+00 2.12663274976e+00 -5.00000000000e-01 +9.08782395619e+00 2.12663274976e+00 1.66666666667e-01 +9.08782395619e+00 2.12663274976e+00 5.00000000000e-01 +8.76325881490e+00 2.05068158013e+00 -1.66666666667e-01 +8.76325881490e+00 2.05068158013e+00 -5.00000000000e-01 +8.76325881490e+00 2.05068158013e+00 1.66666666667e-01 +8.76325881490e+00 2.05068158013e+00 5.00000000000e-01 +9.81708319997e+00 1.90391109165e+00 -5.00000000000e-01 +9.81708319997e+00 1.90391109165e+00 -1.66666666667e-01 +9.48984709330e+00 1.84044738859e+00 -1.66666666667e-01 +9.48984709330e+00 1.84044738859e+00 -5.00000000000e-01 +9.81708319997e+00 1.90391109165e+00 1.66666666667e-01 +9.48984709330e+00 1.84044738859e+00 1.66666666667e-01 +9.81708319997e+00 1.90391109165e+00 5.00000000000e-01 +9.48984709330e+00 1.84044738859e+00 5.00000000000e-01 +9.16261098664e+00 1.77698368554e+00 -1.66666666667e-01 +9.16261098664e+00 1.77698368554e+00 -5.00000000000e-01 +9.16261098664e+00 1.77698368554e+00 1.66666666667e-01 +9.16261098664e+00 1.77698368554e+00 5.00000000000e-01 +8.83537487997e+00 1.71351998248e+00 -1.66666666667e-01 +8.83537487997e+00 1.71351998248e+00 -5.00000000000e-01 +8.83537487997e+00 1.71351998248e+00 1.66666666667e-01 +8.83537487997e+00 1.71351998248e+00 5.00000000000e-01 +9.88280423780e+00 1.52649284219e+00 -5.00000000000e-01 +9.88280423780e+00 1.52649284219e+00 -1.66666666667e-01 +9.55337742988e+00 1.47560974745e+00 -1.66666666667e-01 +9.55337742988e+00 1.47560974745e+00 -5.00000000000e-01 +9.88280423780e+00 1.52649284219e+00 1.66666666667e-01 +9.55337742988e+00 1.47560974745e+00 1.66666666667e-01 +9.88280423780e+00 1.52649284219e+00 5.00000000000e-01 +9.55337742988e+00 1.47560974745e+00 5.00000000000e-01 +9.22395062195e+00 1.42472665271e+00 -1.66666666667e-01 +9.22395062195e+00 1.42472665271e+00 -5.00000000000e-01 +9.22395062195e+00 1.42472665271e+00 1.66666666667e-01 +9.22395062195e+00 1.42472665271e+00 5.00000000000e-01 +8.89452381402e+00 1.37384355797e+00 -1.66666666667e-01 +8.89452381402e+00 1.37384355797e+00 -5.00000000000e-01 +8.89452381402e+00 1.37384355797e+00 1.66666666667e-01 +8.89452381402e+00 1.37384355797e+00 5.00000000000e-01 +9.93402089760e+00 1.14683425398e+00 -5.00000000000e-01 +9.93402089760e+00 1.14683425398e+00 -1.66666666667e-01 +9.60288686768e+00 1.10860644552e+00 -1.66666666667e-01 +9.60288686768e+00 1.10860644552e+00 -5.00000000000e-01 +9.93402089760e+00 1.14683425398e+00 1.66666666667e-01 +9.60288686768e+00 1.10860644552e+00 1.66666666667e-01 +9.93402089760e+00 1.14683425398e+00 5.00000000000e-01 +9.60288686768e+00 1.10860644552e+00 5.00000000000e-01 +9.27175283776e+00 1.07037863705e+00 -1.66666666667e-01 +9.27175283776e+00 1.07037863705e+00 -5.00000000000e-01 +9.27175283776e+00 1.07037863705e+00 1.66666666667e-01 +9.27175283776e+00 1.07037863705e+00 5.00000000000e-01 +8.94061880784e+00 1.03215082859e+00 -1.66666666667e-01 +8.94061880784e+00 1.03215082859e+00 -5.00000000000e-01 +8.94061880784e+00 1.03215082859e+00 1.66666666667e-01 +8.94061880784e+00 1.03215082859e+00 5.00000000000e-01 +9.97065801184e+00 7.65492528365e-01 -5.00000000000e-01 +9.97065801184e+00 7.65492528365e-01 -1.66666666667e-01 +9.63830274478e+00 7.39976110753e-01 -1.66666666667e-01 +9.63830274478e+00 7.39976110753e-01 -5.00000000000e-01 +9.97065801184e+00 7.65492528365e-01 1.66666666667e-01 +9.63830274478e+00 7.39976110753e-01 1.66666666667e-01 +9.97065801184e+00 7.65492528365e-01 5.00000000000e-01 +9.63830274478e+00 7.39976110753e-01 5.00000000000e-01 +9.30594747771e+00 7.14459693141e-01 -1.66666666667e-01 +9.30594747771e+00 7.14459693141e-01 -5.00000000000e-01 +9.30594747771e+00 7.14459693141e-01 1.66666666667e-01 +9.30594747771e+00 7.14459693141e-01 5.00000000000e-01 +8.97359221065e+00 6.88943275528e-01 -1.66666666667e-01 +8.97359221065e+00 6.88943275528e-01 -5.00000000000e-01 +8.97359221065e+00 6.88943275528e-01 1.66666666667e-01 +8.97359221065e+00 6.88943275528e-01 5.00000000000e-01 +9.99266181051e+00 3.83027336900e-01 -5.00000000000e-01 +9.99266181051e+00 3.83027336900e-01 -1.66666666667e-01 +9.65957308349e+00 3.70259759004e-01 -1.66666666667e-01 +9.65957308349e+00 3.70259759004e-01 -5.00000000000e-01 +9.99266181051e+00 3.83027336900e-01 1.66666666667e-01 +9.65957308349e+00 3.70259759004e-01 1.66666666667e-01 +9.99266181051e+00 3.83027336900e-01 5.00000000000e-01 +9.65957308349e+00 3.70259759004e-01 5.00000000000e-01 +9.32648435647e+00 3.57492181107e-01 -1.66666666667e-01 +9.32648435647e+00 3.57492181107e-01 -5.00000000000e-01 +9.32648435647e+00 3.57492181107e-01 1.66666666667e-01 +9.32648435647e+00 3.57492181107e-01 5.00000000000e-01 +8.99339562946e+00 3.44724603210e-01 -1.66666666667e-01 +8.99339562946e+00 3.44724603210e-01 -5.00000000000e-01 +8.99339562946e+00 3.44724603210e-01 1.66666666667e-01 +8.99339562946e+00 3.44724603210e-01 5.00000000000e-01 +1.00000000000e+01 0.00000000000e+00 -5.00000000000e-01 +1.00000000000e+01 0.00000000000e+00 -1.66666666667e-01 +9.66666666667e+00 0.00000000000e+00 -1.66666666667e-01 +9.66666666667e+00 0.00000000000e+00 -5.00000000000e-01 +1.00000000000e+01 0.00000000000e+00 1.66666666667e-01 +9.66666666667e+00 0.00000000000e+00 1.66666666667e-01 +1.00000000000e+01 0.00000000000e+00 5.00000000000e-01 +9.66666666667e+00 0.00000000000e+00 5.00000000000e-01 +9.33333333333e+00 0.00000000000e+00 -1.66666666667e-01 +9.33333333333e+00 0.00000000000e+00 -5.00000000000e-01 +9.33333333333e+00 0.00000000000e+00 1.66666666667e-01 +9.33333333333e+00 0.00000000000e+00 5.00000000000e-01 +9.00000000000e+00 0.00000000000e+00 -1.66666666667e-01 +9.00000000000e+00 0.00000000000e+00 -5.00000000000e-01 +9.00000000000e+00 0.00000000000e+00 1.66666666667e-01 +9.00000000000e+00 0.00000000000e+00 5.00000000000e-01 + + + + + +0 +1 +2 +3 +4 +5 +6 +7 +1 +8 +9 +2 +5 +10 +11 +6 +8 +12 +13 +9 +10 +14 +15 +11 +3 +2 +16 +17 +7 +6 +18 +19 +2 +9 +20 +16 +6 +11 +21 +18 +9 +13 +22 +20 +11 +15 +23 +21 +17 +16 +24 +25 +19 +18 +26 +27 +16 +20 +28 +24 +18 +21 +29 +26 +20 +22 +30 +28 +21 +23 +31 +29 +4 +5 +6 +7 +32 +33 +34 +35 +5 +10 +11 +6 +33 +36 +37 +34 +10 +14 +15 +11 +36 +38 +39 +37 +7 +6 +18 +19 +35 +34 +40 +41 +6 +11 +21 +18 +34 +37 +42 +40 +11 +15 +23 +21 +37 +39 +43 +42 +19 +18 +26 +27 +41 +40 +44 +45 +18 +21 +29 +26 +40 +42 +46 +44 +21 +23 +31 +29 +42 +43 +47 +46 +32 +33 +34 +35 +48 +49 +50 +51 +33 +36 +37 +34 +49 +52 +53 +50 +36 +38 +39 +37 +52 +54 +55 +53 +35 +34 +40 +41 +51 +50 +56 +57 +34 +37 +42 +40 +50 +53 +58 +56 +37 +39 +43 +42 +53 +55 +59 +58 +41 +40 +44 +45 +57 +56 +60 +61 +40 +42 +46 +44 +56 +58 +62 +60 +42 +43 +47 +46 +58 +59 +63 +62 +48 +49 +50 +51 +64 +65 +66 +67 +49 +52 +53 +50 +65 +68 +69 +66 +52 +54 +55 +53 +68 +70 +71 +69 +51 +50 +56 +57 +67 +66 +72 +73 +50 +53 +58 +56 +66 +69 +74 +72 +53 +55 +59 +58 +69 +71 +75 +74 +57 +56 +60 +61 +73 +72 +76 +77 +56 +58 +62 +60 +72 +74 +78 +76 +58 +59 +63 +62 +74 +75 +79 +78 +64 +65 +66 +67 +80 +81 +82 +83 +65 +68 +69 +66 +81 +84 +85 +82 +68 +70 +71 +69 +84 +86 +87 +85 +67 +66 +72 +73 +83 +82 +88 +89 +66 +69 +74 +72 +82 +85 +90 +88 +69 +71 +75 +74 +85 +87 +91 +90 +73 +72 +76 +77 +89 +88 +92 +93 +72 +74 +78 +76 +88 +90 +94 +92 +74 +75 +79 +78 +90 +91 +95 +94 +80 +81 +82 +83 +96 +97 +98 +99 +81 +84 +85 +82 +97 +100 +101 +98 +84 +86 +87 +85 +100 +102 +103 +101 +83 +82 +88 +89 +99 +98 +104 +105 +82 +85 +90 +88 +98 +101 +106 +104 +85 +87 +91 +90 +101 +103 +107 +106 +89 +88 +92 +93 +105 +104 +108 +109 +88 +90 +94 +92 +104 +106 +110 +108 +90 +91 +95 +94 +106 +107 +111 +110 +96 +97 +98 +99 +112 +113 +114 +115 +97 +100 +101 +98 +113 +116 +117 +114 +100 +102 +103 +101 +116 +118 +119 +117 +99 +98 +104 +105 +115 +114 +120 +121 +98 +101 +106 +104 +114 +117 +122 +120 +101 +103 +107 +106 +117 +119 +123 +122 +105 +104 +108 +109 +121 +120 +124 +125 +104 +106 +110 +108 +120 +122 +126 +124 +106 +107 +111 +110 +122 +123 +127 +126 +112 +113 +114 +115 +128 +129 +130 +131 +113 +116 +117 +114 +129 +132 +133 +130 +116 +118 +119 +117 +132 +134 +135 +133 +115 +114 +120 +121 +131 +130 +136 +137 +114 +117 +122 +120 +130 +133 +138 +136 +117 +119 +123 +122 +133 +135 +139 +138 +121 +120 +124 +125 +137 +136 +140 +141 +120 +122 +126 +124 +136 +138 +142 +140 +122 +123 +127 +126 +138 +139 +143 +142 +128 +129 +130 +131 +144 +145 +146 +147 +129 +132 +133 +130 +145 +148 +149 +146 +132 +134 +135 +133 +148 +150 +151 +149 +131 +130 +136 +137 +147 +146 +152 +153 +130 +133 +138 +136 +146 +149 +154 +152 +133 +135 +139 +138 +149 +151 +155 +154 +137 +136 +140 +141 +153 +152 +156 +157 +136 +138 +142 +140 +152 +154 +158 +156 +138 +139 +143 +142 +154 +155 +159 +158 +144 +145 +146 +147 +160 +161 +162 +163 +145 +148 +149 +146 +161 +164 +165 +162 +148 +150 +151 +149 +164 +166 +167 +165 +147 +146 +152 +153 +163 +162 +168 +169 +146 +149 +154 +152 +162 +165 +170 +168 +149 +151 +155 +154 +165 +167 +171 +170 +153 +152 +156 +157 +169 +168 +172 +173 +152 +154 +158 +156 +168 +170 +174 +172 +154 +155 +159 +158 +170 +171 +175 +174 +160 +161 +162 +163 +176 +177 +178 +179 +161 +164 +165 +162 +177 +180 +181 +178 +164 +166 +167 +165 +180 +182 +183 +181 +163 +162 +168 +169 +179 +178 +184 +185 +162 +165 +170 +168 +178 +181 +186 +184 +165 +167 +171 +170 +181 +183 +187 +186 +169 +168 +172 +173 +185 +184 +188 +189 +168 +170 +174 +172 +184 +186 +190 +188 +170 +171 +175 +174 +186 +187 +191 +190 +176 +177 +178 +179 +192 +193 +194 +195 +177 +180 +181 +178 +193 +196 +197 +194 +180 +182 +183 +181 +196 +198 +199 +197 +179 +178 +184 +185 +195 +194 +200 +201 +178 +181 +186 +184 +194 +197 +202 +200 +181 +183 +187 +186 +197 +199 +203 +202 +185 +184 +188 +189 +201 +200 +204 +205 +184 +186 +190 +188 +200 +202 +206 +204 +186 +187 +191 +190 +202 +203 +207 +206 +192 +193 +194 +195 +208 +209 +210 +211 +193 +196 +197 +194 +209 +212 +213 +210 +196 +198 +199 +197 +212 +214 +215 +213 +195 +194 +200 +201 +211 +210 +216 +217 +194 +197 +202 +200 +210 +213 +218 +216 +197 +199 +203 +202 +213 +215 +219 +218 +201 +200 +204 +205 +217 +216 +220 +221 +200 +202 +206 +204 +216 +218 +222 +220 +202 +203 +207 +206 +218 +219 +223 +222 +208 +209 +210 +211 +224 +225 +226 +227 +209 +212 +213 +210 +225 +228 +229 +226 +212 +214 +215 +213 +228 +230 +231 +229 +211 +210 +216 +217 +227 +226 +232 +233 +210 +213 +218 +216 +226 +229 +234 +232 +213 +215 +219 +218 +229 +231 +235 +234 +217 +216 +220 +221 +233 +232 +236 +237 +216 +218 +222 +220 +232 +234 +238 +236 +218 +219 +223 +222 +234 +235 +239 +238 +224 +225 +226 +227 +240 +241 +242 +243 +225 +228 +229 +226 +241 +244 +245 +242 +228 +230 +231 +229 +244 +246 +247 +245 +227 +226 +232 +233 +243 +242 +248 +249 +226 +229 +234 +232 +242 +245 +250 +248 +229 +231 +235 +234 +245 +247 +251 +250 +233 +232 +236 +237 +249 +248 +252 +253 +232 +234 +238 +236 +248 +250 +254 +252 +234 +235 +239 +238 +250 +251 +255 +254 +240 +241 +242 +243 +256 +257 +258 +259 +241 +244 +245 +242 +257 +260 +261 +258 +244 +246 +247 +245 +260 +262 +263 +261 +243 +242 +248 +249 +259 +258 +264 +265 +242 +245 +250 +248 +258 +261 +266 +264 +245 +247 +251 +250 +261 +263 +267 +266 +249 +248 +252 +253 +265 +264 +268 +269 +248 +250 +254 +252 +264 +266 +270 +268 +250 +251 +255 +254 +266 +267 +271 +270 +256 +257 +258 +259 +272 +273 +274 +275 +257 +260 +261 +258 +273 +276 +277 +274 +260 +262 +263 +261 +276 +278 +279 +277 +259 +258 +264 +265 +275 +274 +280 +281 +258 +261 +266 +264 +274 +277 +282 +280 +261 +263 +267 +266 +277 +279 +283 +282 +265 +264 +268 +269 +281 +280 +284 +285 +264 +266 +270 +268 +280 +282 +286 +284 +266 +267 +271 +270 +282 +283 +287 +286 +272 +273 +274 +275 +288 +289 +290 +291 +273 +276 +277 +274 +289 +292 +293 +290 +276 +278 +279 +277 +292 +294 +295 +293 +275 +274 +280 +281 +291 +290 +296 +297 +274 +277 +282 +280 +290 +293 +298 +296 +277 +279 +283 +282 +293 +295 +299 +298 +281 +280 +284 +285 +297 +296 +300 +301 +280 +282 +286 +284 +296 +298 +302 +300 +282 +283 +287 +286 +298 +299 +303 +302 +288 +289 +290 +291 +304 +305 +306 +307 +289 +292 +293 +290 +305 +308 +309 +306 +292 +294 +295 +293 +308 +310 +311 +309 +291 +290 +296 +297 +307 +306 +312 +313 +290 +293 +298 +296 +306 +309 +314 +312 +293 +295 +299 +298 +309 +311 +315 +314 +297 +296 +300 +301 +313 +312 +316 +317 +296 +298 +302 +300 +312 +314 +318 +316 +298 +299 +303 +302 +314 +315 +319 +318 +304 +305 +306 +307 +320 +321 +322 +323 +305 +308 +309 +306 +321 +324 +325 +322 +308 +310 +311 +309 +324 +326 +327 +325 +307 +306 +312 +313 +323 +322 +328 +329 +306 +309 +314 +312 +322 +325 +330 +328 +309 +311 +315 +314 +325 +327 +331 +330 +313 +312 +316 +317 +329 +328 +332 +333 +312 +314 +318 +316 +328 +330 +334 +332 +314 +315 +319 +318 +330 +331 +335 +334 +320 +321 +322 +323 +336 +337 +338 +339 +321 +324 +325 +322 +337 +340 +341 +338 +324 +326 +327 +325 +340 +342 +343 +341 +323 +322 +328 +329 +339 +338 +344 +345 +322 +325 +330 +328 +338 +341 +346 +344 +325 +327 +331 +330 +341 +343 +347 +346 +329 +328 +332 +333 +345 +344 +348 +349 +328 +330 +334 +332 +344 +346 +350 +348 +330 +331 +335 +334 +346 +347 +351 +350 +336 +337 +338 +339 +352 +353 +354 +355 +337 +340 +341 +338 +353 +356 +357 +354 +340 +342 +343 +341 +356 +358 +359 +357 +339 +338 +344 +345 +355 +354 +360 +361 +338 +341 +346 +344 +354 +357 +362 +360 +341 +343 +347 +346 +357 +359 +363 +362 +345 +344 +348 +349 +361 +360 +364 +365 +344 +346 +350 +348 +360 +362 +366 +364 +346 +347 +351 +350 +362 +363 +367 +366 +352 +353 +354 +355 +368 +369 +370 +371 +353 +356 +357 +354 +369 +372 +373 +370 +356 +358 +359 +357 +372 +374 +375 +373 +355 +354 +360 +361 +371 +370 +376 +377 +354 +357 +362 +360 +370 +373 +378 +376 +357 +359 +363 +362 +373 +375 +379 +378 +361 +360 +364 +365 +377 +376 +380 +381 +360 +362 +366 +364 +376 +378 +382 +380 +362 +363 +367 +366 +378 +379 +383 +382 +368 +369 +370 +371 +384 +385 +386 +387 +369 +372 +373 +370 +385 +388 +389 +386 +372 +374 +375 +373 +388 +390 +391 +389 +371 +370 +376 +377 +387 +386 +392 +393 +370 +373 +378 +376 +386 +389 +394 +392 +373 +375 +379 +378 +389 +391 +395 +394 +377 +376 +380 +381 +393 +392 +396 +397 +376 +378 +382 +380 +392 +394 +398 +396 +378 +379 +383 +382 +394 +395 +399 +398 +384 +385 +386 +387 +400 +401 +402 +403 +385 +388 +389 +386 +401 +404 +405 +402 +388 +390 +391 +389 +404 +406 +407 +405 +387 +386 +392 +393 +403 +402 +408 +409 +386 +389 +394 +392 +402 +405 +410 +408 +389 +391 +395 +394 +405 +407 +411 +410 +393 +392 +396 +397 +409 +408 +412 +413 +392 +394 +398 +396 +408 +410 +414 +412 +394 +395 +399 +398 +410 +411 +415 +414 +400 +401 +402 +403 +416 +417 +418 +419 +401 +404 +405 +402 +417 +420 +421 +418 +404 +406 +407 +405 +420 +422 +423 +421 +403 +402 +408 +409 +419 +418 +424 +425 +402 +405 +410 +408 +418 +421 +426 +424 +405 +407 +411 +410 +421 +423 +427 +426 +409 +408 +412 +413 +425 +424 +428 +429 +408 +410 +414 +412 +424 +426 +430 +428 +410 +411 +415 +414 +426 +427 +431 +430 +416 +417 +418 +419 +432 +433 +434 +435 +417 +420 +421 +418 +433 +436 +437 +434 +420 +422 +423 +421 +436 +438 +439 +437 +419 +418 +424 +425 +435 +434 +440 +441 +418 +421 +426 +424 +434 +437 +442 +440 +421 +423 +427 +426 +437 +439 +443 +442 +425 +424 +428 +429 +441 +440 +444 +445 +424 +426 +430 +428 +440 +442 +446 +444 +426 +427 +431 +430 +442 +443 +447 +446 +432 +433 +434 +435 +448 +449 +450 +451 +433 +436 +437 +434 +449 +452 +453 +450 +436 +438 +439 +437 +452 +454 +455 +453 +435 +434 +440 +441 +451 +450 +456 +457 +434 +437 +442 +440 +450 +453 +458 +456 +437 +439 +443 +442 +453 +455 +459 +458 +441 +440 +444 +445 +457 +456 +460 +461 +440 +442 +446 +444 +456 +458 +462 +460 +442 +443 +447 +446 +458 +459 +463 +462 +448 +449 +450 +451 +464 +465 +466 +467 +449 +452 +453 +450 +465 +468 +469 +466 +452 +454 +455 +453 +468 +470 +471 +469 +451 +450 +456 +457 +467 +466 +472 +473 +450 +453 +458 +456 +466 +469 +474 +472 +453 +455 +459 +458 +469 +471 +475 +474 +457 +456 +460 +461 +473 +472 +476 +477 +456 +458 +462 +460 +472 +474 +478 +476 +458 +459 +463 +462 +474 +475 +479 +478 +464 +465 +466 +467 +480 +481 +482 +483 +465 +468 +469 +466 +481 +484 +485 +482 +468 +470 +471 +469 +484 +486 +487 +485 +467 +466 +472 +473 +483 +482 +488 +489 +466 +469 +474 +472 +482 +485 +490 +488 +469 +471 +475 +474 +485 +487 +491 +490 +473 +472 +476 +477 +489 +488 +492 +493 +472 +474 +478 +476 +488 +490 +494 +492 +474 +475 +479 +478 +490 +491 +495 +494 +480 +481 +482 +483 +496 +497 +498 +499 +481 +484 +485 +482 +497 +500 +501 +498 +484 +486 +487 +485 +500 +502 +503 +501 +483 +482 +488 +489 +499 +498 +504 +505 +482 +485 +490 +488 +498 +501 +506 +504 +485 +487 +491 +490 +501 +503 +507 +506 +489 +488 +492 +493 +505 +504 +508 +509 +488 +490 +494 +492 +504 +506 +510 +508 +490 +491 +495 +494 +506 +507 +511 +510 +496 +497 +498 +499 +512 +513 +514 +515 +497 +500 +501 +498 +513 +516 +517 +514 +500 +502 +503 +501 +516 +518 +519 +517 +499 +498 +504 +505 +515 +514 +520 +521 +498 +501 +506 +504 +514 +517 +522 +520 +501 +503 +507 +506 +517 +519 +523 +522 +505 +504 +508 +509 +521 +520 +524 +525 +504 +506 +510 +508 +520 +522 +526 +524 +506 +507 +511 +510 +522 +523 +527 +526 +512 +513 +514 +515 +528 +529 +530 +531 +513 +516 +517 +514 +529 +532 +533 +530 +516 +518 +519 +517 +532 +534 +535 +533 +515 +514 +520 +521 +531 +530 +536 +537 +514 +517 +522 +520 +530 +533 +538 +536 +517 +519 +523 +522 +533 +535 +539 +538 +521 +520 +524 +525 +537 +536 +540 +541 +520 +522 +526 +524 +536 +538 +542 +540 +522 +523 +527 +526 +538 +539 +543 +542 +528 +529 +530 +531 +544 +545 +546 +547 +529 +532 +533 +530 +545 +548 +549 +546 +532 +534 +535 +533 +548 +550 +551 +549 +531 +530 +536 +537 +547 +546 +552 +553 +530 +533 +538 +536 +546 +549 +554 +552 +533 +535 +539 +538 +549 +551 +555 +554 +537 +536 +540 +541 +553 +552 +556 +557 +536 +538 +542 +540 +552 +554 +558 +556 +538 +539 +543 +542 +554 +555 +559 +558 +544 +545 +546 +547 +560 +561 +562 +563 +545 +548 +549 +546 +561 +564 +565 +562 +548 +550 +551 +549 +564 +566 +567 +565 +547 +546 +552 +553 +563 +562 +568 +569 +546 +549 +554 +552 +562 +565 +570 +568 +549 +551 +555 +554 +565 +567 +571 +570 +553 +552 +556 +557 +569 +568 +572 +573 +552 +554 +558 +556 +568 +570 +574 +572 +554 +555 +559 +558 +570 +571 +575 +574 +560 +561 +562 +563 +576 +577 +578 +579 +561 +564 +565 +562 +577 +580 +581 +578 +564 +566 +567 +565 +580 +582 +583 +581 +563 +562 +568 +569 +579 +578 +584 +585 +562 +565 +570 +568 +578 +581 +586 +584 +565 +567 +571 +570 +581 +583 +587 +586 +569 +568 +572 +573 +585 +584 +588 +589 +568 +570 +574 +572 +584 +586 +590 +588 +570 +571 +575 +574 +586 +587 +591 +590 +576 +577 +578 +579 +592 +593 +594 +595 +577 +580 +581 +578 +593 +596 +597 +594 +580 +582 +583 +581 +596 +598 +599 +597 +579 +578 +584 +585 +595 +594 +600 +601 +578 +581 +586 +584 +594 +597 +602 +600 +581 +583 +587 +586 +597 +599 +603 +602 +585 +584 +588 +589 +601 +600 +604 +605 +584 +586 +590 +588 +600 +602 +606 +604 +586 +587 +591 +590 +602 +603 +607 +606 +592 +593 +594 +595 +608 +609 +610 +611 +593 +596 +597 +594 +609 +612 +613 +610 +596 +598 +599 +597 +612 +614 +615 +613 +595 +594 +600 +601 +611 +610 +616 +617 +594 +597 +602 +600 +610 +613 +618 +616 +597 +599 +603 +602 +613 +615 +619 +618 +601 +600 +604 +605 +617 +616 +620 +621 +600 +602 +606 +604 +616 +618 +622 +620 +602 +603 +607 +606 +618 +619 +623 +622 +608 +609 +610 +611 +624 +625 +626 +627 +609 +612 +613 +610 +625 +628 +629 +626 +612 +614 +615 +613 +628 +630 +631 +629 +611 +610 +616 +617 +627 +626 +632 +633 +610 +613 +618 +616 +626 +629 +634 +632 +613 +615 +619 +618 +629 +631 +635 +634 +617 +616 +620 +621 +633 +632 +636 +637 +616 +618 +622 +620 +632 +634 +638 +636 +618 +619 +623 +622 +634 +635 +639 +638 +624 +625 +626 +627 +640 +641 +642 +643 +625 +628 +629 +626 +641 +644 +645 +642 +628 +630 +631 +629 +644 +646 +647 +645 +627 +626 +632 +633 +643 +642 +648 +649 +626 +629 +634 +632 +642 +645 +650 +648 +629 +631 +635 +634 +645 +647 +651 +650 +633 +632 +636 +637 +649 +648 +652 +653 +632 +634 +638 +636 +648 +650 +654 +652 +634 +635 +639 +638 +650 +651 +655 +654 +640 +641 +642 +643 +656 +657 +658 +659 +641 +644 +645 +642 +657 +660 +661 +658 +644 +646 +647 +645 +660 +662 +663 +661 +643 +642 +648 +649 +659 +658 +664 +665 +642 +645 +650 +648 +658 +661 +666 +664 +645 +647 +651 +650 +661 +663 +667 +666 +649 +648 +652 +653 +665 +664 +668 +669 +648 +650 +654 +652 +664 +666 +670 +668 +650 +651 +655 +654 +666 +667 +671 +670 + + + +8 +16 +24 +32 +40 +48 +56 +64 +72 +80 +88 +96 +104 +112 +120 +128 +136 +144 +152 +160 +168 +176 +184 +192 +200 +208 +216 +224 +232 +240 +248 +256 +264 +272 +280 +288 +296 +304 +312 +320 +328 +336 +344 +352 +360 +368 +376 +384 +392 +400 +408 +416 +424 +432 +440 +448 +456 +464 +472 +480 +488 +496 +504 +512 +520 +528 +536 +544 +552 +560 +568 +576 +584 +592 +600 +608 +616 +624 +632 +640 +648 +656 +664 +672 +680 +688 +696 +704 +712 +720 +728 +736 +744 +752 +760 +768 +776 +784 +792 +800 +808 +816 +824 +832 +840 +848 +856 +864 +872 +880 +888 +896 +904 +912 +920 +928 +936 +944 +952 +960 +968 +976 +984 +992 +1000 +1008 +1016 +1024 +1032 +1040 +1048 +1056 +1064 +1072 +1080 +1088 +1096 +1104 +1112 +1120 +1128 +1136 +1144 +1152 +1160 +1168 +1176 +1184 +1192 +1200 +1208 +1216 +1224 +1232 +1240 +1248 +1256 +1264 +1272 +1280 +1288 +1296 +1304 +1312 +1320 +1328 +1336 +1344 +1352 +1360 +1368 +1376 +1384 +1392 +1400 +1408 +1416 +1424 +1432 +1440 +1448 +1456 +1464 +1472 +1480 +1488 +1496 +1504 +1512 +1520 +1528 +1536 +1544 +1552 +1560 +1568 +1576 +1584 +1592 +1600 +1608 +1616 +1624 +1632 +1640 +1648 +1656 +1664 +1672 +1680 +1688 +1696 +1704 +1712 +1720 +1728 +1736 +1744 +1752 +1760 +1768 +1776 +1784 +1792 +1800 +1808 +1816 +1824 +1832 +1840 +1848 +1856 +1864 +1872 +1880 +1888 +1896 +1904 +1912 +1920 +1928 +1936 +1944 +1952 +1960 +1968 +1976 +1984 +1992 +2000 +2008 +2016 +2024 +2032 +2040 +2048 +2056 +2064 +2072 +2080 +2088 +2096 +2104 +2112 +2120 +2128 +2136 +2144 +2152 +2160 +2168 +2176 +2184 +2192 +2200 +2208 +2216 +2224 +2232 +2240 +2248 +2256 +2264 +2272 +2280 +2288 +2296 +2304 +2312 +2320 +2328 +2336 +2344 +2352 +2360 +2368 +2376 +2384 +2392 +2400 +2408 +2416 +2424 +2432 +2440 +2448 +2456 +2464 +2472 +2480 +2488 +2496 +2504 +2512 +2520 +2528 +2536 +2544 +2552 +2560 +2568 +2576 +2584 +2592 +2600 +2608 +2616 +2624 +2632 +2640 +2648 +2656 +2664 +2672 +2680 +2688 +2696 +2704 +2712 +2720 +2728 +2736 +2744 +2752 +2760 +2768 +2776 +2784 +2792 +2800 +2808 +2816 +2824 +2832 +2840 +2848 +2856 +2864 +2872 +2880 +2888 +2896 +2904 +2912 +2920 +2928 +2936 +2944 +2952 + + + +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 + + + + + +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 + + + +1 +0 +0 +1 +1 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +1 +0 +1 +0 +0 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 + + + +1 +1 +1 +1 +0 +0 +0 +0 +1 +1 +0 +0 +1 +1 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 + + + +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 + + + +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +1 +1 + + + +1 +1 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +1 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 + + + +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 + + + +1 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 + + + +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +0 +0 +1 +0 +0 +0 +1 + + + +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +1 +0 +0 +0 +0 +0 +1 +0 +0 +0 +1 +0 +0 + + + +-1.00000000000e+00 6.12323399574e-17 0.00000000000e+00 +-1.00000000000e+00 6.12323399574e-17 0.00000000000e+00 +-1.00000000000e+00 6.12323399574e-17 0.00000000000e+00 +-1.00000000000e+00 6.12323399574e-17 0.00000000000e+00 +-9.99266181051e-01 3.83027336900e-02 0.00000000000e+00 +-9.99266181051e-01 3.83027336900e-02 0.00000000000e+00 +-9.99266181051e-01 3.83027336900e-02 0.00000000000e+00 +-9.99266181051e-01 3.83027336900e-02 0.00000000000e+00 +-1.00000000000e+00 6.12323399574e-17 0.00000000000e+00 +-1.00000000000e+00 6.12323399574e-17 0.00000000000e+00 +-9.99266181051e-01 3.83027336900e-02 0.00000000000e+00 +-9.99266181051e-01 3.83027336900e-02 0.00000000000e+00 +-1.00000000000e+00 6.12323399574e-17 0.00000000000e+00 +-1.00000000000e+00 6.12323399574e-17 0.00000000000e+00 +-9.99266181051e-01 3.83027336900e-02 0.00000000000e+00 +-9.99266181051e-01 3.83027336900e-02 0.00000000000e+00 +-1.00000000000e+00 6.12323399574e-17 0.00000000000e+00 +-1.00000000000e+00 6.12323399574e-17 0.00000000000e+00 +-9.99266181051e-01 3.83027336900e-02 0.00000000000e+00 +-9.99266181051e-01 3.83027336900e-02 0.00000000000e+00 +-1.00000000000e+00 6.12323399574e-17 0.00000000000e+00 +-9.99266181051e-01 3.83027336900e-02 0.00000000000e+00 +-1.00000000000e+00 6.12323399574e-17 0.00000000000e+00 +-9.99266181051e-01 3.83027336900e-02 0.00000000000e+00 +-1.00000000000e+00 6.12323399574e-17 0.00000000000e+00 +-1.00000000000e+00 6.12323399574e-17 0.00000000000e+00 +-9.99266181051e-01 3.83027336900e-02 0.00000000000e+00 +-9.99266181051e-01 3.83027336900e-02 0.00000000000e+00 +-1.00000000000e+00 6.12323399574e-17 0.00000000000e+00 +-9.99266181051e-01 3.83027336900e-02 0.00000000000e+00 +-1.00000000000e+00 6.12323399574e-17 0.00000000000e+00 +-9.99266181051e-01 3.83027336900e-02 0.00000000000e+00 +-9.97065801184e-01 7.65492528365e-02 0.00000000000e+00 +-9.97065801184e-01 7.65492528365e-02 0.00000000000e+00 +-9.97065801184e-01 7.65492528365e-02 0.00000000000e+00 +-9.97065801184e-01 7.65492528365e-02 0.00000000000e+00 +-9.97065801184e-01 7.65492528365e-02 0.00000000000e+00 +-9.97065801184e-01 7.65492528365e-02 0.00000000000e+00 +-9.97065801184e-01 7.65492528365e-02 0.00000000000e+00 +-9.97065801184e-01 7.65492528365e-02 0.00000000000e+00 +-9.97065801184e-01 7.65492528365e-02 0.00000000000e+00 +-9.97065801184e-01 7.65492528365e-02 0.00000000000e+00 +-9.97065801184e-01 7.65492528365e-02 0.00000000000e+00 +-9.97065801184e-01 7.65492528365e-02 0.00000000000e+00 +-9.97065801184e-01 7.65492528365e-02 0.00000000000e+00 +-9.97065801184e-01 7.65492528365e-02 0.00000000000e+00 +-9.97065801184e-01 7.65492528365e-02 0.00000000000e+00 +-9.97065801184e-01 7.65492528365e-02 0.00000000000e+00 +-9.93402089760e-01 1.14683425398e-01 0.00000000000e+00 +-9.93402089760e-01 1.14683425398e-01 0.00000000000e+00 +-9.93402089760e-01 1.14683425398e-01 0.00000000000e+00 +-9.93402089760e-01 1.14683425398e-01 0.00000000000e+00 +-9.93402089760e-01 1.14683425398e-01 0.00000000000e+00 +-9.93402089760e-01 1.14683425398e-01 0.00000000000e+00 +-9.93402089760e-01 1.14683425398e-01 0.00000000000e+00 +-9.93402089760e-01 1.14683425398e-01 0.00000000000e+00 +-9.93402089760e-01 1.14683425398e-01 0.00000000000e+00 +-9.93402089760e-01 1.14683425398e-01 0.00000000000e+00 +-9.93402089760e-01 1.14683425398e-01 0.00000000000e+00 +-9.93402089760e-01 1.14683425398e-01 0.00000000000e+00 +-9.93402089760e-01 1.14683425398e-01 0.00000000000e+00 +-9.93402089760e-01 1.14683425398e-01 0.00000000000e+00 +-9.93402089760e-01 1.14683425398e-01 0.00000000000e+00 +-9.93402089760e-01 1.14683425398e-01 0.00000000000e+00 +-9.88280423780e-01 1.52649284219e-01 0.00000000000e+00 +-9.88280423780e-01 1.52649284219e-01 0.00000000000e+00 +-9.88280423780e-01 1.52649284219e-01 0.00000000000e+00 +-9.88280423780e-01 1.52649284219e-01 0.00000000000e+00 +-9.88280423780e-01 1.52649284219e-01 0.00000000000e+00 +-9.88280423780e-01 1.52649284219e-01 0.00000000000e+00 +-9.88280423780e-01 1.52649284219e-01 0.00000000000e+00 +-9.88280423780e-01 1.52649284219e-01 0.00000000000e+00 +-9.88280423780e-01 1.52649284219e-01 0.00000000000e+00 +-9.88280423780e-01 1.52649284219e-01 0.00000000000e+00 +-9.88280423780e-01 1.52649284219e-01 0.00000000000e+00 +-9.88280423780e-01 1.52649284219e-01 0.00000000000e+00 +-9.88280423780e-01 1.52649284219e-01 0.00000000000e+00 +-9.88280423780e-01 1.52649284219e-01 0.00000000000e+00 +-9.88280423780e-01 1.52649284219e-01 0.00000000000e+00 +-9.88280423780e-01 1.52649284219e-01 0.00000000000e+00 +-9.81708319997e-01 1.90391109165e-01 0.00000000000e+00 +-9.81708319997e-01 1.90391109165e-01 0.00000000000e+00 +-9.81708319997e-01 1.90391109165e-01 0.00000000000e+00 +-9.81708319997e-01 1.90391109165e-01 0.00000000000e+00 +-9.81708319997e-01 1.90391109165e-01 0.00000000000e+00 +-9.81708319997e-01 1.90391109165e-01 0.00000000000e+00 +-9.81708319997e-01 1.90391109165e-01 0.00000000000e+00 +-9.81708319997e-01 1.90391109165e-01 0.00000000000e+00 +-9.81708319997e-01 1.90391109165e-01 0.00000000000e+00 +-9.81708319997e-01 1.90391109165e-01 0.00000000000e+00 +-9.81708319997e-01 1.90391109165e-01 0.00000000000e+00 +-9.81708319997e-01 1.90391109165e-01 0.00000000000e+00 +-9.81708319997e-01 1.90391109165e-01 0.00000000000e+00 +-9.81708319997e-01 1.90391109165e-01 0.00000000000e+00 +-9.81708319997e-01 1.90391109165e-01 0.00000000000e+00 +-9.81708319997e-01 1.90391109165e-01 0.00000000000e+00 +-9.73695423878e-01 2.27853508903e-01 0.00000000000e+00 +-9.73695423878e-01 2.27853508903e-01 0.00000000000e+00 +-9.73695423878e-01 2.27853508903e-01 0.00000000000e+00 +-9.73695423878e-01 2.27853508903e-01 0.00000000000e+00 +-9.73695423878e-01 2.27853508903e-01 0.00000000000e+00 +-9.73695423878e-01 2.27853508903e-01 0.00000000000e+00 +-9.73695423878e-01 2.27853508903e-01 0.00000000000e+00 +-9.73695423878e-01 2.27853508903e-01 0.00000000000e+00 +-9.73695423878e-01 2.27853508903e-01 0.00000000000e+00 +-9.73695423878e-01 2.27853508903e-01 0.00000000000e+00 +-9.73695423878e-01 2.27853508903e-01 0.00000000000e+00 +-9.73695423878e-01 2.27853508903e-01 0.00000000000e+00 +-9.73695423878e-01 2.27853508903e-01 0.00000000000e+00 +-9.73695423878e-01 2.27853508903e-01 0.00000000000e+00 +-9.73695423878e-01 2.27853508903e-01 0.00000000000e+00 +-9.73695423878e-01 2.27853508903e-01 0.00000000000e+00 +-9.64253495453e-01 2.64981502197e-01 0.00000000000e+00 +-9.64253495453e-01 2.64981502197e-01 0.00000000000e+00 +-9.64253495453e-01 2.64981502197e-01 0.00000000000e+00 +-9.64253495453e-01 2.64981502197e-01 0.00000000000e+00 +-9.64253495453e-01 2.64981502197e-01 0.00000000000e+00 +-9.64253495453e-01 2.64981502197e-01 0.00000000000e+00 +-9.64253495453e-01 2.64981502197e-01 0.00000000000e+00 +-9.64253495453e-01 2.64981502197e-01 0.00000000000e+00 +-9.64253495453e-01 2.64981502197e-01 0.00000000000e+00 +-9.64253495453e-01 2.64981502197e-01 0.00000000000e+00 +-9.64253495453e-01 2.64981502197e-01 0.00000000000e+00 +-9.64253495453e-01 2.64981502197e-01 0.00000000000e+00 +-9.64253495453e-01 2.64981502197e-01 0.00000000000e+00 +-9.64253495453e-01 2.64981502197e-01 0.00000000000e+00 +-9.64253495453e-01 2.64981502197e-01 0.00000000000e+00 +-9.64253495453e-01 2.64981502197e-01 0.00000000000e+00 +-9.53396392055e-01 3.01720598595e-01 0.00000000000e+00 +-9.53396392055e-01 3.01720598595e-01 0.00000000000e+00 +-9.53396392055e-01 3.01720598595e-01 0.00000000000e+00 +-9.53396392055e-01 3.01720598595e-01 0.00000000000e+00 +-9.53396392055e-01 3.01720598595e-01 0.00000000000e+00 +-9.53396392055e-01 3.01720598595e-01 0.00000000000e+00 +-9.53396392055e-01 3.01720598595e-01 0.00000000000e+00 +-9.53396392055e-01 3.01720598595e-01 0.00000000000e+00 +-9.53396392055e-01 3.01720598595e-01 0.00000000000e+00 +-9.53396392055e-01 3.01720598595e-01 0.00000000000e+00 +-9.53396392055e-01 3.01720598595e-01 0.00000000000e+00 +-9.53396392055e-01 3.01720598595e-01 0.00000000000e+00 +-9.53396392055e-01 3.01720598595e-01 0.00000000000e+00 +-9.53396392055e-01 3.01720598595e-01 0.00000000000e+00 +-9.53396392055e-01 3.01720598595e-01 0.00000000000e+00 +-9.53396392055e-01 3.01720598595e-01 0.00000000000e+00 +-9.41140047980e-01 3.38016878409e-01 0.00000000000e+00 +-9.41140047980e-01 3.38016878409e-01 0.00000000000e+00 +-9.41140047980e-01 3.38016878409e-01 0.00000000000e+00 +-9.41140047980e-01 3.38016878409e-01 0.00000000000e+00 +-9.41140047980e-01 3.38016878409e-01 0.00000000000e+00 +-9.41140047980e-01 3.38016878409e-01 0.00000000000e+00 +-9.41140047980e-01 3.38016878409e-01 0.00000000000e+00 +-9.41140047980e-01 3.38016878409e-01 0.00000000000e+00 +-9.41140047980e-01 3.38016878409e-01 0.00000000000e+00 +-9.41140047980e-01 3.38016878409e-01 0.00000000000e+00 +-9.41140047980e-01 3.38016878409e-01 0.00000000000e+00 +-9.41140047980e-01 3.38016878409e-01 0.00000000000e+00 +-9.41140047980e-01 3.38016878409e-01 0.00000000000e+00 +-9.41140047980e-01 3.38016878409e-01 0.00000000000e+00 +-9.41140047980e-01 3.38016878409e-01 0.00000000000e+00 +-9.41140047980e-01 3.38016878409e-01 0.00000000000e+00 +-9.27502451102e-01 3.73817071841e-01 0.00000000000e+00 +-9.27502451102e-01 3.73817071841e-01 0.00000000000e+00 +-9.27502451102e-01 3.73817071841e-01 0.00000000000e+00 +-9.27502451102e-01 3.73817071841e-01 0.00000000000e+00 +-9.27502451102e-01 3.73817071841e-01 0.00000000000e+00 +-9.27502451102e-01 3.73817071841e-01 0.00000000000e+00 +-9.27502451102e-01 3.73817071841e-01 0.00000000000e+00 +-9.27502451102e-01 3.73817071841e-01 0.00000000000e+00 +-9.27502451102e-01 3.73817071841e-01 0.00000000000e+00 +-9.27502451102e-01 3.73817071841e-01 0.00000000000e+00 +-9.27502451102e-01 3.73817071841e-01 0.00000000000e+00 +-9.27502451102e-01 3.73817071841e-01 0.00000000000e+00 +-9.27502451102e-01 3.73817071841e-01 0.00000000000e+00 +-9.27502451102e-01 3.73817071841e-01 0.00000000000e+00 +-9.27502451102e-01 3.73817071841e-01 0.00000000000e+00 +-9.27502451102e-01 3.73817071841e-01 0.00000000000e+00 +-9.12503616477e-01 4.09068637171e-01 0.00000000000e+00 +-9.12503616477e-01 4.09068637171e-01 0.00000000000e+00 +-9.12503616477e-01 4.09068637171e-01 0.00000000000e+00 +-9.12503616477e-01 4.09068637171e-01 0.00000000000e+00 +-9.12503616477e-01 4.09068637171e-01 0.00000000000e+00 +-9.12503616477e-01 4.09068637171e-01 0.00000000000e+00 +-9.12503616477e-01 4.09068637171e-01 0.00000000000e+00 +-9.12503616477e-01 4.09068637171e-01 0.00000000000e+00 +-9.12503616477e-01 4.09068637171e-01 0.00000000000e+00 +-9.12503616477e-01 4.09068637171e-01 0.00000000000e+00 +-9.12503616477e-01 4.09068637171e-01 0.00000000000e+00 +-9.12503616477e-01 4.09068637171e-01 0.00000000000e+00 +-9.12503616477e-01 4.09068637171e-01 0.00000000000e+00 +-9.12503616477e-01 4.09068637171e-01 0.00000000000e+00 +-9.12503616477e-01 4.09068637171e-01 0.00000000000e+00 +-9.12503616477e-01 4.09068637171e-01 0.00000000000e+00 +-8.96165556961e-01 4.43719837867e-01 0.00000000000e+00 +-8.96165556961e-01 4.43719837867e-01 0.00000000000e+00 +-8.96165556961e-01 4.43719837867e-01 0.00000000000e+00 +-8.96165556961e-01 4.43719837867e-01 0.00000000000e+00 +-8.96165556961e-01 4.43719837867e-01 0.00000000000e+00 +-8.96165556961e-01 4.43719837867e-01 0.00000000000e+00 +-8.96165556961e-01 4.43719837867e-01 0.00000000000e+00 +-8.96165556961e-01 4.43719837867e-01 0.00000000000e+00 +-8.96165556961e-01 4.43719837867e-01 0.00000000000e+00 +-8.96165556961e-01 4.43719837867e-01 0.00000000000e+00 +-8.96165556961e-01 4.43719837867e-01 0.00000000000e+00 +-8.96165556961e-01 4.43719837867e-01 0.00000000000e+00 +-8.96165556961e-01 4.43719837867e-01 0.00000000000e+00 +-8.96165556961e-01 4.43719837867e-01 0.00000000000e+00 +-8.96165556961e-01 4.43719837867e-01 0.00000000000e+00 +-8.96165556961e-01 4.43719837867e-01 0.00000000000e+00 +-8.78512250911e-01 4.77719818512e-01 0.00000000000e+00 +-8.78512250911e-01 4.77719818512e-01 0.00000000000e+00 +-8.78512250911e-01 4.77719818512e-01 0.00000000000e+00 +-8.78512250911e-01 4.77719818512e-01 0.00000000000e+00 +-8.78512250911e-01 4.77719818512e-01 0.00000000000e+00 +-8.78512250911e-01 4.77719818512e-01 0.00000000000e+00 +-8.78512250911e-01 4.77719818512e-01 0.00000000000e+00 +-8.78512250911e-01 4.77719818512e-01 0.00000000000e+00 +-8.78512250911e-01 4.77719818512e-01 0.00000000000e+00 +-8.78512250911e-01 4.77719818512e-01 0.00000000000e+00 +-8.78512250911e-01 4.77719818512e-01 0.00000000000e+00 +-8.78512250911e-01 4.77719818512e-01 0.00000000000e+00 +-8.78512250911e-01 4.77719818512e-01 0.00000000000e+00 +-8.78512250911e-01 4.77719818512e-01 0.00000000000e+00 +-8.78512250911e-01 4.77719818512e-01 0.00000000000e+00 +-8.78512250911e-01 4.77719818512e-01 0.00000000000e+00 +-8.59569606987e-01 5.11018679447e-01 0.00000000000e+00 +-8.59569606987e-01 5.11018679447e-01 0.00000000000e+00 +-8.59569606987e-01 5.11018679447e-01 0.00000000000e+00 +-8.59569606987e-01 5.11018679447e-01 0.00000000000e+00 +-8.59569606987e-01 5.11018679447e-01 0.00000000000e+00 +-8.59569606987e-01 5.11018679447e-01 0.00000000000e+00 +-8.59569606987e-01 5.11018679447e-01 0.00000000000e+00 +-8.59569606987e-01 5.11018679447e-01 0.00000000000e+00 +-8.59569606987e-01 5.11018679447e-01 0.00000000000e+00 +-8.59569606987e-01 5.11018679447e-01 0.00000000000e+00 +-8.59569606987e-01 5.11018679447e-01 0.00000000000e+00 +-8.59569606987e-01 5.11018679447e-01 0.00000000000e+00 +-8.59569606987e-01 5.11018679447e-01 0.00000000000e+00 +-8.59569606987e-01 5.11018679447e-01 0.00000000000e+00 +-8.59569606987e-01 5.11018679447e-01 0.00000000000e+00 +-8.59569606987e-01 5.11018679447e-01 0.00000000000e+00 +-8.39365426132e-01 5.43567550001e-01 0.00000000000e+00 +-8.39365426132e-01 5.43567550001e-01 0.00000000000e+00 +-8.39365426132e-01 5.43567550001e-01 0.00000000000e+00 +-8.39365426132e-01 5.43567550001e-01 0.00000000000e+00 +-8.39365426132e-01 5.43567550001e-01 0.00000000000e+00 +-8.39365426132e-01 5.43567550001e-01 0.00000000000e+00 +-8.39365426132e-01 5.43567550001e-01 0.00000000000e+00 +-8.39365426132e-01 5.43567550001e-01 0.00000000000e+00 +-8.39365426132e-01 5.43567550001e-01 0.00000000000e+00 +-8.39365426132e-01 5.43567550001e-01 0.00000000000e+00 +-8.39365426132e-01 5.43567550001e-01 0.00000000000e+00 +-8.39365426132e-01 5.43567550001e-01 0.00000000000e+00 +-8.39365426132e-01 5.43567550001e-01 0.00000000000e+00 +-8.39365426132e-01 5.43567550001e-01 0.00000000000e+00 +-8.39365426132e-01 5.43567550001e-01 0.00000000000e+00 +-8.39365426132e-01 5.43567550001e-01 0.00000000000e+00 +-8.17929360767e-01 5.75318660219e-01 0.00000000000e+00 +-8.17929360767e-01 5.75318660219e-01 0.00000000000e+00 +-8.17929360767e-01 5.75318660219e-01 0.00000000000e+00 +-8.17929360767e-01 5.75318660219e-01 0.00000000000e+00 +-8.17929360767e-01 5.75318660219e-01 0.00000000000e+00 +-8.17929360767e-01 5.75318660219e-01 0.00000000000e+00 +-8.17929360767e-01 5.75318660219e-01 0.00000000000e+00 +-8.17929360767e-01 5.75318660219e-01 0.00000000000e+00 +-8.17929360767e-01 5.75318660219e-01 0.00000000000e+00 +-8.17929360767e-01 5.75318660219e-01 0.00000000000e+00 +-8.17929360767e-01 5.75318660219e-01 0.00000000000e+00 +-8.17929360767e-01 5.75318660219e-01 0.00000000000e+00 +-8.17929360767e-01 5.75318660219e-01 0.00000000000e+00 +-8.17929360767e-01 5.75318660219e-01 0.00000000000e+00 +-8.17929360767e-01 5.75318660219e-01 0.00000000000e+00 +-8.17929360767e-01 5.75318660219e-01 0.00000000000e+00 +-7.95292871273e-01 6.06225410967e-01 0.00000000000e+00 +-7.95292871273e-01 6.06225410967e-01 0.00000000000e+00 +-7.95292871273e-01 6.06225410967e-01 0.00000000000e+00 +-7.95292871273e-01 6.06225410967e-01 0.00000000000e+00 +-7.95292871273e-01 6.06225410967e-01 0.00000000000e+00 +-7.95292871273e-01 6.06225410967e-01 0.00000000000e+00 +-7.95292871273e-01 6.06225410967e-01 0.00000000000e+00 +-7.95292871273e-01 6.06225410967e-01 0.00000000000e+00 +-7.95292871273e-01 6.06225410967e-01 0.00000000000e+00 +-7.95292871273e-01 6.06225410967e-01 0.00000000000e+00 +-7.95292871273e-01 6.06225410967e-01 0.00000000000e+00 +-7.95292871273e-01 6.06225410967e-01 0.00000000000e+00 +-7.95292871273e-01 6.06225410967e-01 0.00000000000e+00 +-7.95292871273e-01 6.06225410967e-01 0.00000000000e+00 +-7.95292871273e-01 6.06225410967e-01 0.00000000000e+00 +-7.95292871273e-01 6.06225410967e-01 0.00000000000e+00 +-7.71489179822e-01 6.36242442327e-01 0.00000000000e+00 +-7.71489179822e-01 6.36242442327e-01 0.00000000000e+00 +-7.71489179822e-01 6.36242442327e-01 0.00000000000e+00 +-7.71489179822e-01 6.36242442327e-01 0.00000000000e+00 +-7.71489179822e-01 6.36242442327e-01 0.00000000000e+00 +-7.71489179822e-01 6.36242442327e-01 0.00000000000e+00 +-7.71489179822e-01 6.36242442327e-01 0.00000000000e+00 +-7.71489179822e-01 6.36242442327e-01 0.00000000000e+00 +-7.71489179822e-01 6.36242442327e-01 0.00000000000e+00 +-7.71489179822e-01 6.36242442327e-01 0.00000000000e+00 +-7.71489179822e-01 6.36242442327e-01 0.00000000000e+00 +-7.71489179822e-01 6.36242442327e-01 0.00000000000e+00 +-7.71489179822e-01 6.36242442327e-01 0.00000000000e+00 +-7.71489179822e-01 6.36242442327e-01 0.00000000000e+00 +-7.71489179822e-01 6.36242442327e-01 0.00000000000e+00 +-7.71489179822e-01 6.36242442327e-01 0.00000000000e+00 +-7.46553221612e-01 6.65325700166e-01 0.00000000000e+00 +-7.46553221612e-01 6.65325700166e-01 0.00000000000e+00 +-7.46553221612e-01 6.65325700166e-01 0.00000000000e+00 +-7.46553221612e-01 6.65325700166e-01 0.00000000000e+00 +-7.46553221612e-01 6.65325700166e-01 0.00000000000e+00 +-7.46553221612e-01 6.65325700166e-01 0.00000000000e+00 +-7.46553221612e-01 6.65325700166e-01 0.00000000000e+00 +-7.46553221612e-01 6.65325700166e-01 0.00000000000e+00 +-7.46553221612e-01 6.65325700166e-01 0.00000000000e+00 +-7.46553221612e-01 6.65325700166e-01 0.00000000000e+00 +-7.46553221612e-01 6.65325700166e-01 0.00000000000e+00 +-7.46553221612e-01 6.65325700166e-01 0.00000000000e+00 +-7.46553221612e-01 6.65325700166e-01 0.00000000000e+00 +-7.46553221612e-01 6.65325700166e-01 0.00000000000e+00 +-7.46553221612e-01 6.65325700166e-01 0.00000000000e+00 +-7.46553221612e-01 6.65325700166e-01 0.00000000000e+00 +-7.20521593601e-01 6.93432500792e-01 0.00000000000e+00 +-7.20521593601e-01 6.93432500792e-01 0.00000000000e+00 +-7.20521593601e-01 6.93432500792e-01 0.00000000000e+00 +-7.20521593601e-01 6.93432500792e-01 0.00000000000e+00 +-7.20521593601e-01 6.93432500792e-01 0.00000000000e+00 +-7.20521593601e-01 6.93432500792e-01 0.00000000000e+00 +-7.20521593601e-01 6.93432500792e-01 0.00000000000e+00 +-7.20521593601e-01 6.93432500792e-01 0.00000000000e+00 +-7.20521593601e-01 6.93432500792e-01 0.00000000000e+00 +-7.20521593601e-01 6.93432500792e-01 0.00000000000e+00 +-7.20521593601e-01 6.93432500792e-01 0.00000000000e+00 +-7.20521593601e-01 6.93432500792e-01 0.00000000000e+00 +-7.20521593601e-01 6.93432500792e-01 0.00000000000e+00 +-7.20521593601e-01 6.93432500792e-01 0.00000000000e+00 +-7.20521593601e-01 6.93432500792e-01 0.00000000000e+00 +-7.20521593601e-01 6.93432500792e-01 0.00000000000e+00 +-6.93432500792e-01 7.20521593601e-01 0.00000000000e+00 +-6.93432500792e-01 7.20521593601e-01 0.00000000000e+00 +-6.93432500792e-01 7.20521593601e-01 0.00000000000e+00 +-6.93432500792e-01 7.20521593601e-01 0.00000000000e+00 +-6.93432500792e-01 7.20521593601e-01 0.00000000000e+00 +-6.93432500792e-01 7.20521593601e-01 0.00000000000e+00 +-6.93432500792e-01 7.20521593601e-01 0.00000000000e+00 +-6.93432500792e-01 7.20521593601e-01 0.00000000000e+00 +-6.93432500792e-01 7.20521593601e-01 0.00000000000e+00 +-6.93432500792e-01 7.20521593601e-01 0.00000000000e+00 +-6.93432500792e-01 7.20521593601e-01 0.00000000000e+00 +-6.93432500792e-01 7.20521593601e-01 0.00000000000e+00 +-6.93432500792e-01 7.20521593601e-01 0.00000000000e+00 +-6.93432500792e-01 7.20521593601e-01 0.00000000000e+00 +-6.93432500792e-01 7.20521593601e-01 0.00000000000e+00 +-6.93432500792e-01 7.20521593601e-01 0.00000000000e+00 +-6.65325700166e-01 7.46553221612e-01 0.00000000000e+00 +-6.65325700166e-01 7.46553221612e-01 0.00000000000e+00 +-6.65325700166e-01 7.46553221612e-01 0.00000000000e+00 +-6.65325700166e-01 7.46553221612e-01 0.00000000000e+00 +-6.65325700166e-01 7.46553221612e-01 0.00000000000e+00 +-6.65325700166e-01 7.46553221612e-01 0.00000000000e+00 +-6.65325700166e-01 7.46553221612e-01 0.00000000000e+00 +-6.65325700166e-01 7.46553221612e-01 0.00000000000e+00 +-6.65325700166e-01 7.46553221612e-01 0.00000000000e+00 +-6.65325700166e-01 7.46553221612e-01 0.00000000000e+00 +-6.65325700166e-01 7.46553221612e-01 0.00000000000e+00 +-6.65325700166e-01 7.46553221612e-01 0.00000000000e+00 +-6.65325700166e-01 7.46553221612e-01 0.00000000000e+00 +-6.65325700166e-01 7.46553221612e-01 0.00000000000e+00 +-6.65325700166e-01 7.46553221612e-01 0.00000000000e+00 +-6.65325700166e-01 7.46553221612e-01 0.00000000000e+00 +-6.36242442327e-01 7.71489179822e-01 0.00000000000e+00 +-6.36242442327e-01 7.71489179822e-01 0.00000000000e+00 +-6.36242442327e-01 7.71489179822e-01 0.00000000000e+00 +-6.36242442327e-01 7.71489179822e-01 0.00000000000e+00 +-6.36242442327e-01 7.71489179822e-01 0.00000000000e+00 +-6.36242442327e-01 7.71489179822e-01 0.00000000000e+00 +-6.36242442327e-01 7.71489179822e-01 0.00000000000e+00 +-6.36242442327e-01 7.71489179822e-01 0.00000000000e+00 +-6.36242442327e-01 7.71489179822e-01 0.00000000000e+00 +-6.36242442327e-01 7.71489179822e-01 0.00000000000e+00 +-6.36242442327e-01 7.71489179822e-01 0.00000000000e+00 +-6.36242442327e-01 7.71489179822e-01 0.00000000000e+00 +-6.36242442327e-01 7.71489179822e-01 0.00000000000e+00 +-6.36242442327e-01 7.71489179822e-01 0.00000000000e+00 +-6.36242442327e-01 7.71489179822e-01 0.00000000000e+00 +-6.36242442327e-01 7.71489179822e-01 0.00000000000e+00 +-6.06225410967e-01 7.95292871273e-01 0.00000000000e+00 +-6.06225410967e-01 7.95292871273e-01 0.00000000000e+00 +-6.06225410967e-01 7.95292871273e-01 0.00000000000e+00 +-6.06225410967e-01 7.95292871273e-01 0.00000000000e+00 +-6.06225410967e-01 7.95292871273e-01 0.00000000000e+00 +-6.06225410967e-01 7.95292871273e-01 0.00000000000e+00 +-6.06225410967e-01 7.95292871273e-01 0.00000000000e+00 +-6.06225410967e-01 7.95292871273e-01 0.00000000000e+00 +-6.06225410967e-01 7.95292871273e-01 0.00000000000e+00 +-6.06225410967e-01 7.95292871273e-01 0.00000000000e+00 +-6.06225410967e-01 7.95292871273e-01 0.00000000000e+00 +-6.06225410967e-01 7.95292871273e-01 0.00000000000e+00 +-6.06225410967e-01 7.95292871273e-01 0.00000000000e+00 +-6.06225410967e-01 7.95292871273e-01 0.00000000000e+00 +-6.06225410967e-01 7.95292871273e-01 0.00000000000e+00 +-6.06225410967e-01 7.95292871273e-01 0.00000000000e+00 +-5.75318660219e-01 8.17929360767e-01 0.00000000000e+00 +-5.75318660219e-01 8.17929360767e-01 0.00000000000e+00 +-5.75318660219e-01 8.17929360767e-01 0.00000000000e+00 +-5.75318660219e-01 8.17929360767e-01 0.00000000000e+00 +-5.75318660219e-01 8.17929360767e-01 0.00000000000e+00 +-5.75318660219e-01 8.17929360767e-01 0.00000000000e+00 +-5.75318660219e-01 8.17929360767e-01 0.00000000000e+00 +-5.75318660219e-01 8.17929360767e-01 0.00000000000e+00 +-5.75318660219e-01 8.17929360767e-01 0.00000000000e+00 +-5.75318660219e-01 8.17929360767e-01 0.00000000000e+00 +-5.75318660219e-01 8.17929360767e-01 0.00000000000e+00 +-5.75318660219e-01 8.17929360767e-01 0.00000000000e+00 +-5.75318660219e-01 8.17929360767e-01 0.00000000000e+00 +-5.75318660219e-01 8.17929360767e-01 0.00000000000e+00 +-5.75318660219e-01 8.17929360767e-01 0.00000000000e+00 +-5.75318660219e-01 8.17929360767e-01 0.00000000000e+00 +-5.43567550001e-01 8.39365426132e-01 0.00000000000e+00 +-5.43567550001e-01 8.39365426132e-01 0.00000000000e+00 +-5.43567550001e-01 8.39365426132e-01 0.00000000000e+00 +-5.43567550001e-01 8.39365426132e-01 0.00000000000e+00 +-5.43567550001e-01 8.39365426132e-01 0.00000000000e+00 +-5.43567550001e-01 8.39365426132e-01 0.00000000000e+00 +-5.43567550001e-01 8.39365426132e-01 0.00000000000e+00 +-5.43567550001e-01 8.39365426132e-01 0.00000000000e+00 +-5.43567550001e-01 8.39365426132e-01 0.00000000000e+00 +-5.43567550001e-01 8.39365426132e-01 0.00000000000e+00 +-5.43567550001e-01 8.39365426132e-01 0.00000000000e+00 +-5.43567550001e-01 8.39365426132e-01 0.00000000000e+00 +-5.43567550001e-01 8.39365426132e-01 0.00000000000e+00 +-5.43567550001e-01 8.39365426132e-01 0.00000000000e+00 +-5.43567550001e-01 8.39365426132e-01 0.00000000000e+00 +-5.43567550001e-01 8.39365426132e-01 0.00000000000e+00 +-5.11018679447e-01 8.59569606987e-01 0.00000000000e+00 +-5.11018679447e-01 8.59569606987e-01 0.00000000000e+00 +-5.11018679447e-01 8.59569606987e-01 0.00000000000e+00 +-5.11018679447e-01 8.59569606987e-01 0.00000000000e+00 +-5.11018679447e-01 8.59569606987e-01 0.00000000000e+00 +-5.11018679447e-01 8.59569606987e-01 0.00000000000e+00 +-5.11018679447e-01 8.59569606987e-01 0.00000000000e+00 +-5.11018679447e-01 8.59569606987e-01 0.00000000000e+00 +-5.11018679447e-01 8.59569606987e-01 0.00000000000e+00 +-5.11018679447e-01 8.59569606987e-01 0.00000000000e+00 +-5.11018679447e-01 8.59569606987e-01 0.00000000000e+00 +-5.11018679447e-01 8.59569606987e-01 0.00000000000e+00 +-5.11018679447e-01 8.59569606987e-01 0.00000000000e+00 +-5.11018679447e-01 8.59569606987e-01 0.00000000000e+00 +-5.11018679447e-01 8.59569606987e-01 0.00000000000e+00 +-5.11018679447e-01 8.59569606987e-01 0.00000000000e+00 +-4.77719818512e-01 8.78512250911e-01 0.00000000000e+00 +-4.77719818512e-01 8.78512250911e-01 0.00000000000e+00 +-4.77719818512e-01 8.78512250911e-01 0.00000000000e+00 +-4.77719818512e-01 8.78512250911e-01 0.00000000000e+00 +-4.77719818512e-01 8.78512250911e-01 0.00000000000e+00 +-4.77719818512e-01 8.78512250911e-01 0.00000000000e+00 +-4.77719818512e-01 8.78512250911e-01 0.00000000000e+00 +-4.77719818512e-01 8.78512250911e-01 0.00000000000e+00 +-4.77719818512e-01 8.78512250911e-01 0.00000000000e+00 +-4.77719818512e-01 8.78512250911e-01 0.00000000000e+00 +-4.77719818512e-01 8.78512250911e-01 0.00000000000e+00 +-4.77719818512e-01 8.78512250911e-01 0.00000000000e+00 +-4.77719818512e-01 8.78512250911e-01 0.00000000000e+00 +-4.77719818512e-01 8.78512250911e-01 0.00000000000e+00 +-4.77719818512e-01 8.78512250911e-01 0.00000000000e+00 +-4.77719818512e-01 8.78512250911e-01 0.00000000000e+00 +-4.43719837867e-01 8.96165556961e-01 0.00000000000e+00 +-4.43719837867e-01 8.96165556961e-01 0.00000000000e+00 +-4.43719837867e-01 8.96165556961e-01 0.00000000000e+00 +-4.43719837867e-01 8.96165556961e-01 0.00000000000e+00 +-4.43719837867e-01 8.96165556961e-01 0.00000000000e+00 +-4.43719837867e-01 8.96165556961e-01 0.00000000000e+00 +-4.43719837867e-01 8.96165556961e-01 0.00000000000e+00 +-4.43719837867e-01 8.96165556961e-01 0.00000000000e+00 +-4.43719837867e-01 8.96165556961e-01 0.00000000000e+00 +-4.43719837867e-01 8.96165556961e-01 0.00000000000e+00 +-4.43719837867e-01 8.96165556961e-01 0.00000000000e+00 +-4.43719837867e-01 8.96165556961e-01 0.00000000000e+00 +-4.43719837867e-01 8.96165556961e-01 0.00000000000e+00 +-4.43719837867e-01 8.96165556961e-01 0.00000000000e+00 +-4.43719837867e-01 8.96165556961e-01 0.00000000000e+00 +-4.43719837867e-01 8.96165556961e-01 0.00000000000e+00 +-4.09068637171e-01 9.12503616477e-01 0.00000000000e+00 +-4.09068637171e-01 9.12503616477e-01 0.00000000000e+00 +-4.09068637171e-01 9.12503616477e-01 0.00000000000e+00 +-4.09068637171e-01 9.12503616477e-01 0.00000000000e+00 +-4.09068637171e-01 9.12503616477e-01 0.00000000000e+00 +-4.09068637171e-01 9.12503616477e-01 0.00000000000e+00 +-4.09068637171e-01 9.12503616477e-01 0.00000000000e+00 +-4.09068637171e-01 9.12503616477e-01 0.00000000000e+00 +-4.09068637171e-01 9.12503616477e-01 0.00000000000e+00 +-4.09068637171e-01 9.12503616477e-01 0.00000000000e+00 +-4.09068637171e-01 9.12503616477e-01 0.00000000000e+00 +-4.09068637171e-01 9.12503616477e-01 0.00000000000e+00 +-4.09068637171e-01 9.12503616477e-01 0.00000000000e+00 +-4.09068637171e-01 9.12503616477e-01 0.00000000000e+00 +-4.09068637171e-01 9.12503616477e-01 0.00000000000e+00 +-4.09068637171e-01 9.12503616477e-01 0.00000000000e+00 +-3.73817071841e-01 9.27502451102e-01 0.00000000000e+00 +-3.73817071841e-01 9.27502451102e-01 0.00000000000e+00 +-3.73817071841e-01 9.27502451102e-01 0.00000000000e+00 +-3.73817071841e-01 9.27502451102e-01 0.00000000000e+00 +-3.73817071841e-01 9.27502451102e-01 0.00000000000e+00 +-3.73817071841e-01 9.27502451102e-01 0.00000000000e+00 +-3.73817071841e-01 9.27502451102e-01 0.00000000000e+00 +-3.73817071841e-01 9.27502451102e-01 0.00000000000e+00 +-3.73817071841e-01 9.27502451102e-01 0.00000000000e+00 +-3.73817071841e-01 9.27502451102e-01 0.00000000000e+00 +-3.73817071841e-01 9.27502451102e-01 0.00000000000e+00 +-3.73817071841e-01 9.27502451102e-01 0.00000000000e+00 +-3.73817071841e-01 9.27502451102e-01 0.00000000000e+00 +-3.73817071841e-01 9.27502451102e-01 0.00000000000e+00 +-3.73817071841e-01 9.27502451102e-01 0.00000000000e+00 +-3.73817071841e-01 9.27502451102e-01 0.00000000000e+00 +-3.38016878409e-01 9.41140047980e-01 0.00000000000e+00 +-3.38016878409e-01 9.41140047980e-01 0.00000000000e+00 +-3.38016878409e-01 9.41140047980e-01 0.00000000000e+00 +-3.38016878409e-01 9.41140047980e-01 0.00000000000e+00 +-3.38016878409e-01 9.41140047980e-01 0.00000000000e+00 +-3.38016878409e-01 9.41140047980e-01 0.00000000000e+00 +-3.38016878409e-01 9.41140047980e-01 0.00000000000e+00 +-3.38016878409e-01 9.41140047980e-01 0.00000000000e+00 +-3.38016878409e-01 9.41140047980e-01 0.00000000000e+00 +-3.38016878409e-01 9.41140047980e-01 0.00000000000e+00 +-3.38016878409e-01 9.41140047980e-01 0.00000000000e+00 +-3.38016878409e-01 9.41140047980e-01 0.00000000000e+00 +-3.38016878409e-01 9.41140047980e-01 0.00000000000e+00 +-3.38016878409e-01 9.41140047980e-01 0.00000000000e+00 +-3.38016878409e-01 9.41140047980e-01 0.00000000000e+00 +-3.38016878409e-01 9.41140047980e-01 0.00000000000e+00 +-3.01720598595e-01 9.53396392055e-01 0.00000000000e+00 +-3.01720598595e-01 9.53396392055e-01 0.00000000000e+00 +-3.01720598595e-01 9.53396392055e-01 0.00000000000e+00 +-3.01720598595e-01 9.53396392055e-01 0.00000000000e+00 +-3.01720598595e-01 9.53396392055e-01 0.00000000000e+00 +-3.01720598595e-01 9.53396392055e-01 0.00000000000e+00 +-3.01720598595e-01 9.53396392055e-01 0.00000000000e+00 +-3.01720598595e-01 9.53396392055e-01 0.00000000000e+00 +-3.01720598595e-01 9.53396392055e-01 0.00000000000e+00 +-3.01720598595e-01 9.53396392055e-01 0.00000000000e+00 +-3.01720598595e-01 9.53396392055e-01 0.00000000000e+00 +-3.01720598595e-01 9.53396392055e-01 0.00000000000e+00 +-3.01720598595e-01 9.53396392055e-01 0.00000000000e+00 +-3.01720598595e-01 9.53396392055e-01 0.00000000000e+00 +-3.01720598595e-01 9.53396392055e-01 0.00000000000e+00 +-3.01720598595e-01 9.53396392055e-01 0.00000000000e+00 +-2.64981502197e-01 9.64253495453e-01 0.00000000000e+00 +-2.64981502197e-01 9.64253495453e-01 0.00000000000e+00 +-2.64981502197e-01 9.64253495453e-01 0.00000000000e+00 +-2.64981502197e-01 9.64253495453e-01 0.00000000000e+00 +-2.64981502197e-01 9.64253495453e-01 0.00000000000e+00 +-2.64981502197e-01 9.64253495453e-01 0.00000000000e+00 +-2.64981502197e-01 9.64253495453e-01 0.00000000000e+00 +-2.64981502197e-01 9.64253495453e-01 0.00000000000e+00 +-2.64981502197e-01 9.64253495453e-01 0.00000000000e+00 +-2.64981502197e-01 9.64253495453e-01 0.00000000000e+00 +-2.64981502197e-01 9.64253495453e-01 0.00000000000e+00 +-2.64981502197e-01 9.64253495453e-01 0.00000000000e+00 +-2.64981502197e-01 9.64253495453e-01 0.00000000000e+00 +-2.64981502197e-01 9.64253495453e-01 0.00000000000e+00 +-2.64981502197e-01 9.64253495453e-01 0.00000000000e+00 +-2.64981502197e-01 9.64253495453e-01 0.00000000000e+00 +-2.27853508903e-01 9.73695423878e-01 0.00000000000e+00 +-2.27853508903e-01 9.73695423878e-01 0.00000000000e+00 +-2.27853508903e-01 9.73695423878e-01 0.00000000000e+00 +-2.27853508903e-01 9.73695423878e-01 0.00000000000e+00 +-2.27853508903e-01 9.73695423878e-01 0.00000000000e+00 +-2.27853508903e-01 9.73695423878e-01 0.00000000000e+00 +-2.27853508903e-01 9.73695423878e-01 0.00000000000e+00 +-2.27853508903e-01 9.73695423878e-01 0.00000000000e+00 +-2.27853508903e-01 9.73695423878e-01 0.00000000000e+00 +-2.27853508903e-01 9.73695423878e-01 0.00000000000e+00 +-2.27853508903e-01 9.73695423878e-01 0.00000000000e+00 +-2.27853508903e-01 9.73695423878e-01 0.00000000000e+00 +-2.27853508903e-01 9.73695423878e-01 0.00000000000e+00 +-2.27853508903e-01 9.73695423878e-01 0.00000000000e+00 +-2.27853508903e-01 9.73695423878e-01 0.00000000000e+00 +-2.27853508903e-01 9.73695423878e-01 0.00000000000e+00 +-1.90391109165e-01 9.81708319997e-01 0.00000000000e+00 +-1.90391109165e-01 9.81708319997e-01 0.00000000000e+00 +-1.90391109165e-01 9.81708319997e-01 0.00000000000e+00 +-1.90391109165e-01 9.81708319997e-01 0.00000000000e+00 +-1.90391109165e-01 9.81708319997e-01 0.00000000000e+00 +-1.90391109165e-01 9.81708319997e-01 0.00000000000e+00 +-1.90391109165e-01 9.81708319997e-01 0.00000000000e+00 +-1.90391109165e-01 9.81708319997e-01 0.00000000000e+00 +-1.90391109165e-01 9.81708319997e-01 0.00000000000e+00 +-1.90391109165e-01 9.81708319997e-01 0.00000000000e+00 +-1.90391109165e-01 9.81708319997e-01 0.00000000000e+00 +-1.90391109165e-01 9.81708319997e-01 0.00000000000e+00 +-1.90391109165e-01 9.81708319997e-01 0.00000000000e+00 +-1.90391109165e-01 9.81708319997e-01 0.00000000000e+00 +-1.90391109165e-01 9.81708319997e-01 0.00000000000e+00 +-1.90391109165e-01 9.81708319997e-01 0.00000000000e+00 +-1.52649284219e-01 9.88280423780e-01 0.00000000000e+00 +-1.52649284219e-01 9.88280423780e-01 0.00000000000e+00 +-1.52649284219e-01 9.88280423780e-01 0.00000000000e+00 +-1.52649284219e-01 9.88280423780e-01 0.00000000000e+00 +-1.52649284219e-01 9.88280423780e-01 0.00000000000e+00 +-1.52649284219e-01 9.88280423780e-01 0.00000000000e+00 +-1.52649284219e-01 9.88280423780e-01 0.00000000000e+00 +-1.52649284219e-01 9.88280423780e-01 0.00000000000e+00 +-1.52649284219e-01 9.88280423780e-01 0.00000000000e+00 +-1.52649284219e-01 9.88280423780e-01 0.00000000000e+00 +-1.52649284219e-01 9.88280423780e-01 0.00000000000e+00 +-1.52649284219e-01 9.88280423780e-01 0.00000000000e+00 +-1.52649284219e-01 9.88280423780e-01 0.00000000000e+00 +-1.52649284219e-01 9.88280423780e-01 0.00000000000e+00 +-1.52649284219e-01 9.88280423780e-01 0.00000000000e+00 +-1.52649284219e-01 9.88280423780e-01 0.00000000000e+00 +-1.14683425398e-01 9.93402089760e-01 0.00000000000e+00 +-1.14683425398e-01 9.93402089760e-01 0.00000000000e+00 +-1.14683425398e-01 9.93402089760e-01 0.00000000000e+00 +-1.14683425398e-01 9.93402089760e-01 0.00000000000e+00 +-1.14683425398e-01 9.93402089760e-01 0.00000000000e+00 +-1.14683425398e-01 9.93402089760e-01 0.00000000000e+00 +-1.14683425398e-01 9.93402089760e-01 0.00000000000e+00 +-1.14683425398e-01 9.93402089760e-01 0.00000000000e+00 +-1.14683425398e-01 9.93402089760e-01 0.00000000000e+00 +-1.14683425398e-01 9.93402089760e-01 0.00000000000e+00 +-1.14683425398e-01 9.93402089760e-01 0.00000000000e+00 +-1.14683425398e-01 9.93402089760e-01 0.00000000000e+00 +-1.14683425398e-01 9.93402089760e-01 0.00000000000e+00 +-1.14683425398e-01 9.93402089760e-01 0.00000000000e+00 +-1.14683425398e-01 9.93402089760e-01 0.00000000000e+00 +-1.14683425398e-01 9.93402089760e-01 0.00000000000e+00 +-7.65492528365e-02 9.97065801184e-01 0.00000000000e+00 +-7.65492528365e-02 9.97065801184e-01 0.00000000000e+00 +-7.65492528365e-02 9.97065801184e-01 0.00000000000e+00 +-7.65492528365e-02 9.97065801184e-01 0.00000000000e+00 +-7.65492528365e-02 9.97065801184e-01 0.00000000000e+00 +-7.65492528365e-02 9.97065801184e-01 0.00000000000e+00 +-7.65492528365e-02 9.97065801184e-01 0.00000000000e+00 +-7.65492528365e-02 9.97065801184e-01 0.00000000000e+00 +-7.65492528365e-02 9.97065801184e-01 0.00000000000e+00 +-7.65492528365e-02 9.97065801184e-01 0.00000000000e+00 +-7.65492528365e-02 9.97065801184e-01 0.00000000000e+00 +-7.65492528365e-02 9.97065801184e-01 0.00000000000e+00 +-7.65492528365e-02 9.97065801184e-01 0.00000000000e+00 +-7.65492528365e-02 9.97065801184e-01 0.00000000000e+00 +-7.65492528365e-02 9.97065801184e-01 0.00000000000e+00 +-7.65492528365e-02 9.97065801184e-01 0.00000000000e+00 +-3.83027336900e-02 9.99266181051e-01 0.00000000000e+00 +-3.83027336900e-02 9.99266181051e-01 0.00000000000e+00 +-3.83027336900e-02 9.99266181051e-01 0.00000000000e+00 +-3.83027336900e-02 9.99266181051e-01 0.00000000000e+00 +-3.83027336900e-02 9.99266181051e-01 0.00000000000e+00 +-3.83027336900e-02 9.99266181051e-01 0.00000000000e+00 +-3.83027336900e-02 9.99266181051e-01 0.00000000000e+00 +-3.83027336900e-02 9.99266181051e-01 0.00000000000e+00 +-3.83027336900e-02 9.99266181051e-01 0.00000000000e+00 +-3.83027336900e-02 9.99266181051e-01 0.00000000000e+00 +-3.83027336900e-02 9.99266181051e-01 0.00000000000e+00 +-3.83027336900e-02 9.99266181051e-01 0.00000000000e+00 +-3.83027336900e-02 9.99266181051e-01 0.00000000000e+00 +-3.83027336900e-02 9.99266181051e-01 0.00000000000e+00 +-3.83027336900e-02 9.99266181051e-01 0.00000000000e+00 +-3.83027336900e-02 9.99266181051e-01 0.00000000000e+00 +-0.00000000000e+00 1.00000000000e+00 0.00000000000e+00 +-0.00000000000e+00 1.00000000000e+00 0.00000000000e+00 +-0.00000000000e+00 1.00000000000e+00 0.00000000000e+00 +-0.00000000000e+00 1.00000000000e+00 0.00000000000e+00 +-0.00000000000e+00 1.00000000000e+00 0.00000000000e+00 +-0.00000000000e+00 1.00000000000e+00 0.00000000000e+00 +-0.00000000000e+00 1.00000000000e+00 0.00000000000e+00 +-0.00000000000e+00 1.00000000000e+00 0.00000000000e+00 +-0.00000000000e+00 1.00000000000e+00 0.00000000000e+00 +-0.00000000000e+00 1.00000000000e+00 0.00000000000e+00 +-0.00000000000e+00 1.00000000000e+00 0.00000000000e+00 +-0.00000000000e+00 1.00000000000e+00 0.00000000000e+00 +-0.00000000000e+00 1.00000000000e+00 0.00000000000e+00 +-0.00000000000e+00 1.00000000000e+00 0.00000000000e+00 +-0.00000000000e+00 1.00000000000e+00 0.00000000000e+00 +-0.00000000000e+00 1.00000000000e+00 0.00000000000e+00 + + + + + +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 + + + + + + diff --git a/tests/test_fourcwebserver.py b/tests/test_fourcwebserver.py index c900b9c..1d5883f 100644 --- a/tests/test_fourcwebserver.py +++ b/tests/test_fourcwebserver.py @@ -1,26 +1,51 @@ """Test FourC webserver.""" +from pathlib import Path + import pytest from fourcipp.fourc_input import FourCInput from fourc_webviewer.fourc_webserver import FourCWebServer -from fourc_webviewer_default_files import DEFAULT_INPUT_FILE - - -@pytest.fixture(name="fourc_webserver") -def fixture_fourc_webserver(): - """FourC webserver fixture.""" - return FourCWebServer(fourc_yaml_file=DEFAULT_INPUT_FILE) - - -@pytest.mark.parametrize( - "key, reference_value", - [ - ("render_count", {"change_selected_material": 0, "change_fourc_yaml_file": 0}), - ("fourc_yaml_content", FourCInput.from_4C_yaml(DEFAULT_INPUT_FILE)), - ("fourc_yaml_name", DEFAULT_INPUT_FILE.name), - ], -) -def test_webserver_server_variables(fourc_webserver, key, reference_value): - """Test if server variables are initialised correctly.""" - assert fourc_webserver._server_vars[key] == reference_value + +# list of test files to be verified +TEST_FILES = [ + Path(__file__).parent + / "files" + / "mat_transviso_viscoplast_refJC_log_substep.4C.yaml", + Path(__file__).parent / "files" / "tutorial_solid_exo.4C.yaml", + Path(__file__).parent / "files" / "tutorial_solid_vtu.4C.yaml", +] + +# server variables which should be fully initialized +SERVER_VARS_TO_CHECK = [ + ("render_count", {"change_selected_material": 0, "change_fourc_yaml_file": 0}), + ("fourc_yaml_content", FourCInput.from_4C_yaml), + ("fourc_yaml_name", lambda f: f.name), +] + + +@pytest.mark.parametrize("fourc_yaml_file", TEST_FILES) +@pytest.mark.parametrize("key, expected", SERVER_VARS_TO_CHECK) +def test_webserver_variables(fourc_yaml_file, key, expected): + """Test that server variables are correctly initialized for different input + files.""" + webserver = FourCWebServer(fourc_yaml_file=fourc_yaml_file) + + # handle expected value if it's a callable + expected_value = expected(fourc_yaml_file) if callable(expected) else expected + + assert webserver._server_vars[key] == expected_value + + +@pytest.mark.parametrize("fourc_yaml_file", TEST_FILES) +def test_webvserver_vtu_conversion(fourc_yaml_file): + """Test that the geometric mesh can be output to a suitable vtu file for + different input files.""" + webserver = FourCWebServer(fourc_yaml_file=fourc_yaml_file) + + # check if path is not None or empty -> this means that a geometry vtu file was exported based on the given yaml file + vtu_path = webserver.state.vtu_path + assert vtu_path, "vtu_path should not be empty" + + # check whether stem matches expectation + assert Path(vtu_path).stem == fourc_yaml_file.stem