From 3d87d28c24b216fec0d4530d0db61e25caa27eec Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Fri, 12 Jan 2024 20:15:45 -0500 Subject: [PATCH 01/63] implementing musculoskeletal dynamics to model --- cocofest/models/ding2003.py | 6 + cocofest/models/dynamical_model.py | 317 + examples/getting_started/arm26_biceps.bioMod | 256 + .../getting_started/mesh/arm_r_humerus.vtp | 1228 + examples/getting_started/mesh/arm_r_ulna.vtp | 842 + examples/getting_started/mesh/ground_ribs.vtp | 10998 +++++++ .../musculoskeletal_dynamic.py | 310 + examples/sensitivity/truncation/Figure.svg | 23959 ++++++++++++++++ 8 files changed, 37916 insertions(+) create mode 100644 cocofest/models/dynamical_model.py create mode 100644 examples/getting_started/arm26_biceps.bioMod create mode 100644 examples/getting_started/mesh/arm_r_humerus.vtp create mode 100644 examples/getting_started/mesh/arm_r_ulna.vtp create mode 100644 examples/getting_started/mesh/ground_ribs.vtp create mode 100644 examples/getting_started/musculoskeletal_dynamic.py create mode 100644 examples/sensitivity/truncation/Figure.svg diff --git a/cocofest/models/ding2003.py b/cocofest/models/ding2003.py index 2648532f..5292b311 100644 --- a/cocofest/models/ding2003.py +++ b/cocofest/models/ding2003.py @@ -236,6 +236,7 @@ def dynamics( stochastic_variables: MX, nlp: NonLinearProgram, stim_apparition=None, + optional_nlp=None, ) -> DynamicsEvaluation: """ Functional electrical stimulation dynamic @@ -267,6 +268,11 @@ def dynamics( f=states[1], t=time, t_stim_prev=stim_apparition, + ) if optional_nlp is None else optional_nlp.system_dynamics( + cn=states[0], + f=states[1], + t=time, + t_stim_prev=stim_apparition, ), defects=None, ) diff --git a/cocofest/models/dynamical_model.py b/cocofest/models/dynamical_model.py new file mode 100644 index 00000000..4fff32fc --- /dev/null +++ b/cocofest/models/dynamical_model.py @@ -0,0 +1,317 @@ +from typing import Callable +from copy import deepcopy + +from casadi import vertcat, MX, SX, Function +from bioptim import ( + BiorbdModel, + OptimalControlProgram, + NonLinearProgram, + ConfigureProblem, + DynamicsFunctions, + DynamicsEvaluation, + FatigueList, +) + +from cocofest import DingModelFrequency, DingModelIntensityFrequency, DingModelPulseDurationFrequency + + +class FESActuatedBiorbdModel(BiorbdModel): + def __init__(self, name: str = None, + biorbd_path: str = None, + muscles_model: DingModelFrequency() = None, + # muscles_name: list = None # TODO : for loop to create different muscles + ): + super().__init__(biorbd_path) + self._name = name + self.bio_model = BiorbdModel(biorbd_path) + self.bounds_from_ranges_q = self.bio_model.bounds_from_ranges("q") + self.bounds_from_ranges_qdot = self.bio_model.bounds_from_ranges("qdot") + # self.muscles_dynamics_model = muscles_model_list # * self.nb_muscles # TODO : for loop to create different muscles + # self.muscles_name_list = muscles_name_list + + self.muscles_dynamics_model = muscles_model + self.bio_stim_model = [self.bio_model] + [self.muscles_dynamics_model] + + # TODO : make different muscle for biceps and triceps... such as DingModelFrequency has different parameters value + # TODO : find a way to compare names and remove the muscle that is not in the model + + # ---- Absolutely needed methods ---- # + def serialize(self) -> tuple[Callable, dict]: + # TODO : make different serialize for biceps and triceps... different parameters value + # This is where you can serialize your model + # This is useful if you want to save your model and load it later + # return ( + # FESActuatedBiorbdModel, + # { + # "tauc": self.muscles_dynamics_model[0].tauc, + # "a_rest": self.muscles_dynamics_model[0].a_rest, + # "tau1_rest": self.muscles_dynamics_model[0].tau1_rest, + # "km_rest": self.muscles_dynamics_model[0].km_rest, + # "tau2": self.muscles_dynamics_model[0].tau2, + # "alpha_a": self.muscles_dynamics_model[0].alpha_a, + # "alpha_tau1": self.muscles_dynamics_model[0].alpha_tau1, + # "alpha_km": self.muscles_dynamics_model[0].alpha_km, + # "tau_fat": self.muscles_dynamics_model[0].tau_fat, + # }, + # ) + return self.muscles_dynamics_model.serialize() + + # ---- Needed for the example ---- # + # TODO update for 3 models + @property + def name_dof(self) -> list[str]: + return self.bio_stim_model[0].name_dof + # self.bio_model[0].name_dof + # ["Cn", "F", "A", "Tau1", "Km", "q", "qdot", "tau"] + + def muscle_name_dof(self) -> list[str]: + return self.muscles_dynamics_model.name_dof + + @property + def nb_state(self) -> int: + nb_state = 0 + # for muscle_model in self.muscles_dynamics_model: # TODO : for loop to create different muscles + # nb_state += muscle_model.nb_state + + nb_state += self.muscles_dynamics_model.nb_state + nb_state += self.bio_model[0].name_dof + return nb_state + + @property + def name(self) -> None | str: + return self._name + + @staticmethod + def muscle_dynamic( + time: MX | SX, + states: MX | SX, + controls: MX | SX, + parameters: MX | SX, + stochastic_variables: MX | SX, + nlp: NonLinearProgram, + muscle_model: DingModelFrequency | DingModelIntensityFrequency | DingModelPulseDurationFrequency, + stim_apparition=None, + ) -> DynamicsEvaluation: + """ + The custom dynamics function that provides the derivative of the states: dxdt = f(t, x, u, p, s) + + Parameters + ---------- + time: MX | SX + The time of the system + states: MX | SX + The state of the system + controls: MX | SX + The controls of the system + parameters: MX | SX + The parameters acting on the system + stochastic_variables: MX | SX + The stochastic variables of the system + nlp: NonLinearProgram + A reference to the phase + + Returns + ------- + The derivative of the states in the tuple[MX | SX] format + """ + + q = DynamicsFunctions.get(nlp.states["q"], states) + qdot = DynamicsFunctions.get(nlp.states["qdot"], states) + tau = DynamicsFunctions.get(nlp.controls["tau"], controls) + + muscles_tau = 0 + dxdt_muscle_list = vertcat() + + # for muscle_model in muscle_model_list: #TODO : for different muscles + # muscle_dxdt = muscle_model.dynamics(time, states, controls, parameters, stochastic_variables, nlp, nb_phases).dxdt + # muscle_forces = muscle_dxdt[1] + # muscles_tau += nlp.model.bio_model.model.muscularJointTorque(muscle_forces, q, qdot).to_mx() + # dxdt_muscle_list = vertcat(dxdt_muscle_list, muscle_dxdt) + + # muscle_nlp = nlp + # muscle_nlp.model = nlp.model.muscles_dynamics_model + + muscle_dxdt = muscle_model.dynamics(time, states, controls, parameters, stochastic_variables, nlp, stim_apparition, optional_nlp=nlp.model.muscles_dynamics_model).dxdt + muscle_forces = muscle_dxdt[1] + muscles_tau += nlp.model.bio_model.model.muscularJointTorque(muscle_forces, q, qdot).to_mx() #TODO find a way to make it work in sx + dxdt_muscle_list = vertcat(dxdt_muscle_list, muscle_dxdt) + + # You can directly call biorbd function (as for ddq) or call bioptim accessor (as for dq) + dq = DynamicsFunctions.compute_qdot(nlp, q, qdot) + ddq = nlp.model.forward_dynamics(q, qdot, muscles_tau + tau) + # ddq = nlp.model.forward_dynamics(q, qdot, muscles_tau) + + dxdt = vertcat(dxdt_muscle_list, dq, ddq) + + return DynamicsEvaluation(dxdt=dxdt, defects=None) + + #TODO : disociate the force and fatigue model in ding model with a flag + + #TODO : Remove FES_driven and all other similar fun in dingmodel + + # MAYBE LATER FOR N MUSCLE + # def fes_driven( + # self, + # ocp, + # nlp, + # **extra_params, + # ): + # """ + # Configure the dynamics for a muscle driven program. + # If with_excitations is set to True, then the muscle activations are computed from the muscle dynamics. + # The tau from muscle is computed using the muscle activations. + # If with_residual_torque is set to True, then tau are used as supplementary force in the + # case muscles are too weak. + # + # Parameters + # ---------- + # ocp: OptimalControlProgram + # A reference to the ocp + # nlp: NonLinearProgram + # A reference to the phase + # + # """ + # nlp.parameters = ocp.parameters + # DynamicsFunctions.apply_parameters(nlp.parameters.cx_start, nlp) + # extra_params["nb_phases"] = ocp.n_phases + # + # if not isinstance(FESActuatedBiorbdModel.muscle_dynamic, (tuple, list)): + # FESActuatedBiorbdModel.muscle_dynamic = (FESActuatedBiorbdModel.muscle_dynamic,) + # + # + # for func in FESActuatedBiorbdModel.muscle_dynamic: + # muscle_dynamics_eval = func( + # nlp.time_cx, + # nlp.states.scaled.cx_start, + # nlp.controls.scaled.cx_start, + # nlp.parameters.cx, + # nlp.stochastic_variables.scaled.cx, + # nlp, + # self.muscles_dynamics_model, + # extra_params["nb_phases"], + # ) + # # + # # dynamics_dxdt = vertcat(dynamics_dxdt, muscle_dynamics_eval.dxdt) + # + # nlp.dynamics_func.append( + # Function( + # "ForwardDyn", + # [ + # nlp.time_cx, + # nlp.states.scaled.cx_start, + # nlp.controls.scaled.cx_start, + # nlp.parameters.cx, + # nlp.stochastic_variables.scaled.cx, + # ], + # [muscle_dynamics_eval.dxdt], + # ["t", "x", "u", "p", "s"], + # ["xdot"], + # ), + # ) + + def declare_model_variables(self, ocp: OptimalControlProgram, nlp: NonLinearProgram): + """ + Tell the program which variables are states and controls. + The user is expected to use the ConfigureProblem.configure_xxx functions. + Parameters + ---------- + ocp: OptimalControlProgram + A reference to the ocp + nlp: NonLinearProgram + A reference to the phase + """ + # for i in range(len(self.muscles_dynamics_model)): + + # self.muscles_dynamics_model[i].configure_ca_troponin_complex(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscles_name[i]) + # TODO : make different muscle for biceps and triceps... such as DingModelFrequency has different parameters value + + self.muscles_dynamics_model.configure_ca_troponin_complex(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) + self.muscles_dynamics_model.configure_force(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) + + # TODO : for fatigue model + # self.muscles_dynamics_model.configure_scaling_factor(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) + # self.muscles_dynamics_model.configure_time_state_force_no_cross_bridge( + # ocp=ocp, nlp=nlp, as_states=True, as_controls=False) + # self.muscles_dynamics_model.configure_cross_bridges(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) + + ConfigureProblem.configure_q(ocp, nlp, as_states=True, as_controls=False) + ConfigureProblem.configure_qdot(ocp, nlp, as_states=True, as_controls=False) + ConfigureProblem.configure_tau(ocp, nlp, as_states=False, as_controls=True) + # stim_apparition = self.muscles_dynamics_model.get_stim_prev(ocp, nlp) + + time_type = "mx" if "time" in ocp.parameters.keys() else None + stim_apparition = [ocp.node_time(phase_idx=i, node_idx=0, type=time_type) for i in range(nlp.phase_idx + 1)] + ConfigureProblem.configure_dynamics_function(ocp, nlp, dyn_func=self.muscle_dynamic, muscle_model=self.muscles_dynamics_model, stim_apparition=stim_apparition) + + + @staticmethod + def configure_q(ocp, nlp, as_states: bool, as_controls: bool, as_states_dot: bool = False): + """ + Configure the generalized coordinates + + Parameters + ---------- + nlp: NonLinearProgram + A reference to the phase + as_states: bool + If the generalized coordinates should be a state + as_controls: bool + If the generalized coordinates should be a control + as_states_dot: bool + If the generalized velocities should be a state_dot + """ + name = "q" + name_q = [name] + ConfigureProblem.configure_new_variable( + name, name_q, ocp, nlp, as_states, as_controls, as_states_dot + ) + + @staticmethod + def configure_qdot(ocp, nlp, as_states: bool, as_controls: bool, as_states_dot: bool = False): + """ + Configure the generalized velocities + + Parameters + ---------- + nlp: NonLinearProgram + A reference to the phase + as_states: bool + If the generalized velocities should be a state + as_controls: bool + If the generalized velocities should be a control + as_states_dot: bool + If the generalized velocities should be a state_dot + """ + + name = "qdot" + name_qdot = [name] + ConfigureProblem.configure_new_variable( + name, name_qdot, ocp, nlp, as_states, as_controls, as_states_dot + ) + + @staticmethod + def configure_tau(ocp, nlp, as_states: bool, as_controls: bool, fatigue: FatigueList = None): + """ + Configure the generalized forces + + Parameters + ---------- + nlp: NonLinearProgram + A reference to the phase + as_states: bool + If the generalized forces should be a state + as_controls: bool + If the generalized forces should be a control + fatigue: FatigueList + If the dynamics with fatigue should be declared + """ + + name = "tau" + name_tau = ["tau"] + ConfigureProblem.configure_new_variable( + name, name_tau, ocp, nlp, as_states, as_controls, fatigue=fatigue + ) + +if __name__ == "__main__": + FESActuatedBiorbdModel(biorbd_path="msk_model/arm26_unmesh.bioMod", + muscles_model=DingModelFrequency()) \ No newline at end of file diff --git a/examples/getting_started/arm26_biceps.bioMod b/examples/getting_started/arm26_biceps.bioMod new file mode 100644 index 00000000..8050c204 --- /dev/null +++ b/examples/getting_started/arm26_biceps.bioMod @@ -0,0 +1,256 @@ +version 3 +gravity 0 -9.81 0 + +// SEGMENT DEFINITION + +segment base + meshfile mesh/ground_ribs.vtp + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + // Markers + marker target + parent base + position 0.15 0.15 0.17 + endmarker + marker r_acromion + parent base + position -0.01256 0.04 0.17 + endmarker + + +segment r_humerus_translation + parent base + RTinMatrix 1 + RT + 1.0 0.0 0.0 -0.017545 + 0.0 1.0 0.0 -0.007 + 0.0 0.0 1.0 0.17 + 0.0 0.0 0.0 1.0 + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + +segment r_humerus_rotation1 + parent r_humerus_translation + RTinMatrix 1 + RT + 0.9975010776109747 0.039020807762349584 -0.058898019716436364 0.0 + -0.038952964437603196 0.9992383982621832 0.0022999999889266845 0.0 + 0.05894291073968768 0.0 0.9982613551938856 0.0 + 0.0 0.0 0.0 1.0 + rotations z + rangesQ -1 pi + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + +segment r_humerus_rotation2 + parent r_humerus_rotation1 + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + +segment r_humerus_rotation3 + parent r_humerus_rotation2 + RTinMatrix 1 + RT + 0.0 -0.0588981755023151 0.9982639956056206 0.0 + 1.0 0.0 0.0 0.0 + 0.0 0.9982639956056206 0.0588981755023151 0.0 + 0.0 0.0 0.0 1.0 + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + +segment r_humerus + parent r_humerus_rotation3 + RTinMatrix 1 + RT + 0.039020807762349605 0.9992383982621836 0.0 0.0 + -0.11754676602826802 0.004590265714620227 0.9930567391931666 0.0 + 0.9923004254548464 -0.03874987611716229 0.11763635808301447 0.0 + 0.0 0.0 0.0 1.0 + mass 1.8645719999999999 + inertia + 0.01481 0.0 0.0 + 0.0 0.004551 0.0 + 0.0 0.0 0.013193 + com 0 -0.18049599999999999 0 + meshfile mesh/arm_r_humerus.vtp +endsegment + + // Markers + marker r_humerus_epicondyle + parent r_humerus + position 0.0050000000000000001 -0.29039999999999999 0.029999999999999999 + endmarker + marker COM_arm + parent r_humerus + position 0 -0.18049599999999999 0 + endmarker + + +segment r_ulna_radius_hand_translation + parent r_humerus + RTinMatrix 1 + RT + 1.0 0.0 0.0 0.0061 + 0.0 1.0 0.0 -0.2904 + 0.0 0.0 1.0 -0.0123 + 0.0 0.0 0.0 1.0 + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + +segment r_ulna_radius_hand_rotation1 + parent r_ulna_radius_hand_translation + RTinMatrix 1 + RT + 0.801979522152563 -0.5953053712684071 0.04940000998917986 0.0 + 0.5941792022021661 0.8034995425879125 0.036600009991983457 0.0 + -0.06148106796684942 3.469446951953614e-18 0.9981082497813831 0.0 + 0.0 0.0 0.0 1.0 + rotations z + rangesQ 0 pi + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + +segment r_ulna_radius_hand_rotation2 + parent r_ulna_radius_hand_rotation1 + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + +segment r_ulna_radius_hand_rotation3 + parent r_ulna_radius_hand_rotation2 + RTinMatrix 1 + RT + 0.0 0.049433130424779516 0.998777435476196 0.0 + 1.0 0.0 0.0 0.0 + 0.0 0.998777435476196 -0.049433130424779516 0.0 + 0.0 0.0 0.0 1.0 + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + +segment r_ulna_radius_hand + parent r_ulna_radius_hand_rotation3 + RTinMatrix 1 + RT + -0.5953053712684069 0.803499542587912 0.0 0.0 + 0.08898397360606149 0.06592740211634747 0.9938487963928239 0.0 + 0.7985570533031812 0.5916435267212894 -0.11074551868375905 0.0 + 0.0 0.0 0.0 1.0 + mass 1.5343150000000001 + inertia + 0.019281 0.0 0.0 + 0.0 0.001571 0.0 + 0.0 0.0 0.020062 + com 0 -0.181479 0 + meshfile mesh/arm_r_ulna.vtp +endsegment + + // Markers + marker r_radius_styloid + parent r_ulna_radius_hand + position -0.0011000000000000001 -0.23558999999999999 0.094299999999999995 + endmarker + marker COM_hand + parent r_ulna_radius_hand + position 0 -0.181479 0 + endmarker + + + +// MUSCLE DEFINITION + +// base > r_ulna_radius_hand +musclegroup base_to_r_ulna_radius_hand + OriginParent base + InsertionParent r_ulna_radius_hand +endmusclegroup + + muscle BIClong + Type degroote + statetype degroote + musclegroup base_to_r_ulna_radius_hand + OriginPosition -0.039234999999999999 0.00347 0.14795 + InsertionPosition 0.0075100000000000002 -0.048390000000000002 0.02179 + optimalLength 0.1157 + maximalForce 624.29999999999995 + tendonSlackLength 0.27229999999999999 + pennationAngle 0 + maxVelocity 10 + endmuscle + + viapoint BIClong-P2 + parent base + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position -0.028944999999999999 0.01391 0.15639 + endviapoint + viapoint BIClong-P3 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.021309999999999999 0.017930000000000001 0.010279999999999999 + endviapoint + viapoint BIClong-P4 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.023779999999999999 -0.00511 0.01201 + endviapoint + viapoint BIClong-P5 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.01345 -0.02827 0.0013600000000000001 + endviapoint + viapoint BIClong-P6 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.01068 -0.077359999999999998 -0.00165 + endviapoint + viapoint BIClong-P7 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.01703 -0.12125 0.00024000000000000001 + endviapoint + viapoint BIClong-P8 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.022800000000000001 -0.1754 -0.0063 + endviapoint diff --git a/examples/getting_started/mesh/arm_r_humerus.vtp b/examples/getting_started/mesh/arm_r_humerus.vtp new file mode 100644 index 00000000..19fcf553 --- /dev/null +++ b/examples/getting_started/mesh/arm_r_humerus.vtp @@ -0,0 +1,1228 @@ + + + + + + + -0.241965 0.928387 -0.282046 + -0.421615 0.891296 -0.166834 + -0.670330 0.714611 -0.199971 + -0.776204 0.488631 -0.398431 + -0.649453 0.374399 -0.661844 + -0.390814 0.431251 -0.813195 + -0.165920 0.625156 -0.762660 + -0.101672 0.835461 -0.540063 + 0.133272 0.890320 -0.435395 + -0.021126 0.997308 0.070220 + -0.330078 0.933471 0.140289 + -0.761722 0.635977 0.123745 + -0.924037 0.314799 -0.216928 + -0.755872 0.122545 -0.643149 + -0.340825 0.210203 -0.916326 + 0.080834 0.456267 -0.886164 + 0.226855 0.811746 -0.538149 + 0.168803 0.921058 -0.350939 + 0.082124 0.974772 0.207547 + -0.235549 0.878284 0.416094 + -0.784827 0.490265 0.379061 + -0.996652 0.062476 -0.052741 + -0.776039 -0.146179 -0.613510 + -0.224178 -0.064771 -0.972393 + 0.281896 0.277214 -0.918524 + 0.472616 0.720796 -0.507038 + 0.438742 0.870076 -0.224663 + 0.283569 0.855822 0.432616 + 0.015634 0.885027 0.465276 + -0.624657 0.474151 0.620472 + -0.897849 -0.196578 0.393985 + -0.761345 -0.592749 -0.262684 + -0.256323 -0.565235 -0.784097 + 0.536690 -0.260257 -0.802640 + 0.738515 0.441236 -0.509810 + 0.660496 0.743760 -0.102798 + 0.644355 0.726915 0.237491 + 0.023599 0.879572 0.475179 + -0.625617 0.509551 0.590729 + -0.912367 0.192540 0.361268 + -0.812395 -0.553530 0.183355 + -0.649047 -0.704337 -0.287484 + 0.123341 -0.629996 -0.766741 + 0.707297 -0.140960 -0.692720 + 0.838022 0.473805 -0.270608 + 0.759529 0.547506 0.351216 + 0.936343 0.072560 0.343506 + 0.846878 0.348061 0.402059 + 0.187341 0.469829 0.862650 + -0.238380 0.268495 0.933320 + -0.778725 0.092855 0.620455 + -0.914913 -0.281887 0.288917 + -0.786499 -0.601681 0.139281 + -0.851564 -0.512150 -0.111983 + -0.303144 -0.457790 -0.835782 + 0.397720 -0.368529 -0.840241 + 0.683419 -0.398808 -0.611466 + 0.931200 -0.099411 -0.350690 + 0.998150 -0.008967 0.060136 + 0.757891 0.195298 0.622463 + -0.442859 0.707933 -0.550187 + 0.984627 -0.153851 0.082701 + 0.962952 0.002946 -0.269657 + 0.945927 -0.079786 0.314413 + 0.947308 -0.144622 0.285819 + 0.323654 -0.178892 0.929110 + 0.373107 -0.240141 0.896172 + -0.440819 -0.135038 0.887380 + -0.315257 -0.282541 0.905971 + -0.915464 -0.072115 0.395886 + -0.796242 -0.220124 0.563511 + -0.994844 -0.067766 0.075450 + -0.945503 0.001099 -0.325611 + -0.867654 -0.101187 -0.486763 + -0.362844 -0.042362 -0.930887 + -0.157149 -0.149505 -0.976193 + 0.467906 -0.037114 -0.882999 + 0.719646 -0.160479 -0.675542 + 0.962610 -0.055757 -0.265090 + 0.972865 -0.231316 0.005203 + 0.982466 -0.084589 0.166146 + 0.981535 -0.031981 -0.188592 + 0.885937 -0.044490 0.461667 + 0.115208 -0.037877 0.992619 + -0.610360 -0.017562 0.791929 + -0.950644 0.004913 0.310246 + -0.964308 0.006572 -0.264701 + -0.546217 0.059954 -0.835495 + 0.254958 0.036742 -0.966254 + 0.829007 -0.025922 -0.558637 + 0.994718 -0.025124 -0.099525 + 0.989941 -0.039806 -0.135769 + 0.893612 -0.060112 0.444797 + 0.218010 -0.042508 0.975020 + -0.554327 -0.007801 0.832263 + -0.952176 0.000464 0.305551 + -0.945622 0.056378 -0.320346 + -0.276729 0.081356 -0.957498 + 0.605275 0.016688 -0.795842 + 0.909055 -0.039602 -0.414790 + 0.954586 -0.022579 -0.297080 + 0.923616 -0.081184 0.374623 + 0.341090 -0.077575 0.936824 + -0.329519 -0.071182 0.941462 + -0.857923 -0.033758 0.512668 + -0.998439 0.031365 -0.046206 + -0.609832 0.072521 -0.789206 + 0.429353 0.035802 -0.902427 + -0.764894 -0.405399 0.500589 + -0.776410 -0.492635 0.393063 + -0.971393 -0.197380 0.132048 + -0.929065 -0.354124 0.106930 + -0.920533 -0.221924 -0.321510 + 0.391504 -0.215172 -0.894665 + 0.711999 -0.367368 -0.598413 + 0.716689 -0.471528 -0.513826 + 0.874237 -0.477134 -0.089734 + 0.892208 -0.450570 -0.030852 + 0.808883 -0.376434 0.451670 + 0.890101 -0.423324 -0.168868 + 0.891317 -0.415140 0.182242 + 0.882279 -0.192315 0.429650 + 0.909237 -0.136289 0.393336 + 0.933109 -0.259752 0.248670 + 0.907367 -0.213420 0.362129 + 0.306057 -0.190278 0.932804 + -0.380544 -0.362686 0.850673 + 0.318574 -0.330503 0.888413 + -0.235764 -0.407482 0.882255 + 0.402369 -0.113316 -0.908438 + 0.216276 -0.387801 -0.896011 + -0.262611 -0.652644 -0.710697 + -0.298542 -0.926215 -0.230214 + 0.074983 -0.737758 -0.670888 + 0.344718 -0.764863 -0.544200 + -0.600093 0.023092 -0.799596 + -0.747168 -0.111063 -0.655290 + -0.735035 -0.654455 -0.177237 + -0.719649 -0.689121 -0.084958 + -0.740419 -0.488711 -0.461456 + -0.484463 -0.795245 -0.364529 + 0.085201 0.658875 -0.747412 + -0.894608 0.346068 -0.282691 + -0.991060 0.012452 -0.132834 + -0.691517 -0.600558 -0.401415 + -0.944358 -0.148346 -0.293565 + -0.939052 -0.327945 -0.103120 + -0.109432 0.803847 -0.584684 + -0.995519 -0.041596 0.084923 + -0.987827 -0.111081 0.108896 + -0.914842 0.291406 0.279546 + -0.956325 0.291966 0.014111 + -0.843326 0.189985 -0.502700 + -0.740370 -0.083770 -0.666959 + -0.835304 -0.172746 0.521944 + -0.920294 0.110741 0.375228 + -0.086781 0.939184 -0.332268 + -0.724374 -0.134688 -0.676122 + -0.367459 -0.130611 -0.920823 + -0.507775 -0.174462 -0.843639 + 0.851820 0.523639 0.014296 + -0.841677 -0.503100 0.196142 + -0.694816 -0.662222 0.280521 + -0.793453 -0.607858 0.030671 + -0.694432 -0.557535 -0.454883 + -0.476099 -0.473900 -0.740776 + -0.518770 -0.346975 -0.781336 + 0.978328 -0.159539 0.131989 + -0.798819 -0.550527 -0.242503 + 0.829924 0.503123 -0.241026 + 0.738857 0.618423 0.267663 + 0.701330 0.710032 0.063173 + 0.622553 0.771087 -0.133614 + 0.787753 0.611330 -0.075634 + 0.885088 0.136826 -0.444858 + 0.947331 0.181647 0.263759 + 0.968711 0.237628 0.071643 + 0.904933 0.410747 -0.111278 + 0.883772 0.466501 0.036394 + 0.852569 -0.371496 -0.367583 + 0.904746 -0.315326 0.286364 + 0.941129 -0.323709 0.097406 + 0.948710 -0.290584 -0.124542 + 0.968900 -0.242881 0.047338 + 0.546025 -0.787578 0.285618 + 0.573760 -0.793951 0.201103 + 0.534371 -0.840657 -0.087998 + 0.510192 -0.859474 -0.031765 + -0.143870 -0.944136 0.296494 + -0.120397 -0.983277 0.136640 + -0.047506 -0.992501 -0.112631 + 0.067596 -0.993412 -0.092539 + -0.751091 -0.587499 0.301175 + -0.722285 -0.689261 0.056770 + -0.631867 -0.716261 -0.296167 + -0.568936 -0.822382 0.000331 + -0.960600 -0.146299 0.236316 + -0.966642 -0.254528 -0.028613 + -0.857656 -0.264803 -0.440801 + -0.890473 -0.424749 -0.163238 + 0.710035 -0.508625 -0.486981 + 0.683429 -0.238088 -0.690100 + 0.816331 0.205356 -0.539845 + 0.846203 0.358155 -0.394546 + 0.696073 0.685778 0.212584 + 0.821179 -0.174612 -0.543301 + 0.786005 0.037730 -0.617068 + 0.816454 -0.060255 -0.574258 + 0.732578 0.510246 -0.450532 + 0.962461 -0.242146 -0.122610 + 0.985225 -0.043929 0.165534 + 0.704197 0.558382 -0.438540 + 0.930785 0.340753 -0.132391 + -0.467923 0.336732 0.817104 + -0.999076 -0.042835 0.003570 + -0.944865 -0.111212 -0.307998 + 0.047043 0.483686 -0.873976 + -0.979213 -0.188544 -0.074787 + -0.956851 -0.103925 0.271358 + -0.848526 0.121085 0.515114 + -0.837348 -0.503961 0.211829 + -0.850657 -0.409592 0.329570 + -0.782532 -0.265550 0.563141 + -0.640367 0.008332 0.768024 + 0.439317 0.612040 0.657577 + -0.660774 -0.734556 0.154288 + -0.501274 -0.640305 0.582008 + -0.251396 -0.496841 0.830632 + -0.196072 -0.290156 0.936678 + -0.033799 0.160406 0.986472 + -0.269436 -0.771981 0.575717 + -0.053992 -0.517273 0.854116 + 0.148472 -0.168105 0.974524 + 0.610070 0.724889 0.319921 + 0.408025 0.170260 0.896954 + 0.046951 -0.996400 -0.070593 + 0.620239 -0.777421 -0.104505 + 0.975552 -0.207031 -0.073734 + 0.872972 0.444224 -0.201458 + 0.671892 0.730514 -0.122109 + -0.218241 -0.974348 0.054935 + 0.350171 -0.933821 -0.073203 + 0.825083 -0.562775 -0.050225 + 0.994194 -0.080934 -0.070905 + 0.945104 0.307372 -0.110907 + 0.656532 0.744358 -0.122050 + 0.323149 0.944250 -0.062985 + -0.076772 -0.876381 0.475461 + 0.307397 -0.655417 0.689881 + 0.669972 -0.226073 0.707127 + 0.734861 0.296480 0.609982 + 0.568857 0.713629 0.408823 + -0.981359 0.190579 0.024787 + 0.682279 0.729359 0.050310 + 0.872274 0.442821 0.207480 + 0.905862 0.254990 0.338222 + 0.984873 0.084914 0.151042 + 0.992939 0.103690 0.057620 + 0.941983 0.215575 0.257285 + 0.925266 0.378044 -0.031070 + 0.819973 0.512067 0.255796 + 0.680342 0.709262 0.184613 + 0.544797 0.825912 -0.145142 + 0.548692 0.835588 -0.027031 + 0.868139 0.496204 -0.010761 + 0.831372 0.434000 -0.347081 + 0.750196 0.621050 0.226941 + 0.952495 -0.041923 -0.301655 + 0.987109 -0.083437 -0.136582 + 0.979630 -0.104837 -0.171272 + 0.893032 0.240891 -0.380087 + 0.911056 0.169028 0.376041 + 0.792382 0.351870 0.498316 + 0.951678 0.105219 -0.288509 + 0.999143 0.041351 0.002027 + 0.808929 0.001830 0.587904 + 0.239201 0.155238 0.958480 + -0.979641 -0.038595 0.197011 + -0.957296 -0.084818 -0.276388 + -0.406128 0.099725 -0.908358 + 0.619177 0.170148 -0.766596 + 0.657723 0.101958 -0.746328 + 0.993211 -0.028962 -0.112661 + 0.955023 0.010542 -0.296346 + 0.981101 -0.008132 0.193325 + 0.930652 -0.060265 0.360908 + 0.606895 0.009545 0.794725 + 0.469673 -0.059830 0.880811 + -0.439364 0.052686 0.896763 + -0.332264 0.000635 0.943186 + -0.973364 -0.016781 0.228649 + -0.911411 0.035395 0.409973 + -0.903361 -0.030027 -0.427828 + -0.879859 0.090109 -0.466613 + -0.058423 0.069487 -0.995871 + -0.129454 0.076419 -0.988636 + 0.525425 0.037067 -0.850032 + 0.537427 0.032297 -0.842692 + 0.725348 0.013743 -0.688245 + 0.818898 0.006957 -0.573896 + 0.932518 -0.009304 -0.361005 + 0.938634 -0.087884 0.333530 + 0.488334 -0.129456 0.863001 + -0.109388 -0.102396 0.988711 + -0.760028 -0.039507 0.648688 + -0.999868 0.012122 0.010820 + -0.619478 0.050620 -0.783380 + 0.352019 0.040230 -0.935128 + 0.813742 0.041891 -0.579715 + + + + + -0.003244 0.022145 -0.007029 + -0.009188 0.021757 -0.003054 + -0.015251 0.017942 -0.003615 + -0.018211 0.012891 -0.007792 + -0.016575 0.009246 -0.013576 + -0.010928 0.009649 -0.017587 + -0.004086 0.014405 -0.017265 + -0.002427 0.019449 -0.012335 + -0.002748 0.022121 -0.006969 + 0.002353 0.023356 -0.002803 + -0.007155 0.022663 0.003832 + -0.017598 0.015852 0.002462 + -0.021310 0.008721 -0.004652 + -0.017751 0.002869 -0.014689 + -0.008703 0.003966 -0.020695 + 0.001233 0.010930 -0.020080 + 0.004971 0.020040 -0.011576 + 0.002739 0.023418 -0.002639 + 0.008170 0.022454 0.001271 + -0.003993 0.021530 0.010593 + -0.018156 0.012354 0.008207 + -0.022899 0.002425 -0.002320 + -0.018077 -0.002902 -0.014250 + -0.005922 -0.000902 -0.022249 + 0.006588 0.004748 -0.020926 + 0.012041 0.017227 -0.009431 + 0.008166 0.022208 0.002045 + 0.011549 0.021347 0.004581 + 0.000434 0.020121 0.014291 + -0.017473 0.010115 0.010857 + -0.022446 -0.000708 0.001880 + -0.017680 -0.007626 -0.011885 + -0.004088 -0.008184 -0.021088 + 0.011399 0.000412 -0.019046 + 0.015519 0.015315 -0.008920 + 0.012084 0.020805 0.005781 + 0.015023 0.015432 0.008561 + 0.004268 0.017597 0.020783 + -0.009263 0.012481 0.017274 + -0.014553 0.005099 0.012266 + -0.018456 -0.005989 0.001841 + -0.014168 -0.010596 -0.006234 + -0.004545 -0.013629 -0.015277 + 0.012713 -0.003616 -0.013976 + 0.020082 0.010297 -0.004429 + 0.015269 0.015821 0.009177 + 0.016555 0.007919 0.010461 + 0.016959 0.011885 0.015338 + 0.007396 0.012197 0.025325 + -0.003283 0.008705 0.026377 + -0.013737 0.001648 0.022501 + -0.016766 -0.004063 0.016965 + -0.012606 -0.009845 0.008658 + -0.009881 -0.016235 -0.002200 + -0.002202 -0.020117 -0.011343 + 0.013524 -0.010481 -0.008362 + 0.021547 -0.004656 -0.007384 + 0.025149 0.000617 -0.001751 + 0.025735 0.003363 0.003644 + 0.024020 0.006003 0.007184 + -0.010938 0.015935 -0.012544 + 0.012182 -0.023823 0.005011 + 0.011029 -0.041944 0.002473 + 0.012751 -0.042883 0.007851 + 0.013496 -0.025435 0.011856 + 0.008526 -0.041976 0.012286 + 0.010080 -0.027862 0.014966 + -0.000761 -0.042723 0.012073 + -0.000955 -0.029565 0.014659 + -0.007796 -0.042698 0.005221 + -0.005025 -0.028850 0.011905 + -0.007637 -0.026900 0.003416 + -0.008240 -0.043255 0.001167 + -0.007076 -0.026718 -0.003651 + -0.000496 -0.041919 -0.008140 + -0.000292 -0.025300 -0.009993 + 0.008762 -0.042400 -0.007335 + 0.011699 -0.023893 -0.006030 + 0.011456 -0.042134 -0.003658 + 0.013812 -0.024251 0.000533 + 0.011026 -0.041941 0.002471 + 0.011295 -0.070938 0.000594 + 0.012629 -0.073147 0.007015 + 0.003747 -0.071300 0.010301 + -0.006410 -0.071249 0.005919 + -0.007978 -0.071089 0.001440 + -0.007103 -0.070953 -0.003238 + -0.001930 -0.069544 -0.008766 + 0.005248 -0.069828 -0.008195 + 0.010276 -0.070448 -0.004992 + 0.011294 -0.070990 0.000587 + 0.009461 -0.096869 -0.002659 + 0.010547 -0.099296 0.005653 + 0.003011 -0.096196 0.009137 + -0.003479 -0.096289 0.009406 + -0.007278 -0.095051 0.005450 + -0.008139 -0.094138 -0.002078 + -0.002702 -0.094297 -0.011241 + 0.004935 -0.096129 -0.010073 + 0.009450 -0.096810 -0.002643 + 0.008569 -0.119485 -0.004240 + 0.009791 -0.116960 0.004989 + 0.004835 -0.117444 0.008255 + -0.003266 -0.116925 0.008734 + -0.006328 -0.117512 0.004643 + -0.008821 -0.117297 -0.003839 + -0.006297 -0.117521 -0.010624 + 0.002875 -0.118829 -0.011929 + -0.005818 -0.020940 0.014888 + -0.008856 -0.013017 0.018095 + -0.008528 -0.020831 0.004821 + -0.009350 -0.016567 0.006621 + -0.007876 -0.022419 -0.003686 + 0.011849 -0.017701 -0.006517 + 0.015308 -0.015891 -0.005226 + 0.018906 -0.009752 -0.005891 + 0.020639 -0.007164 -0.002529 + 0.021890 -0.005532 0.001109 + 0.023147 -0.003132 0.004990 + 0.016394 -0.015340 -0.002319 + 0.017376 -0.014082 0.001727 + 0.016320 -0.002660 0.009930 + 0.017201 -0.003261 0.017416 + 0.013916 -0.014016 0.007850 + 0.013998 -0.016768 0.014428 + 0.006757 -0.005730 0.024424 + -0.007994 -0.006661 0.024288 + 0.007661 -0.018510 0.018617 + -0.000738 -0.019969 0.018286 + 0.000073 -0.282517 -0.042841 + -0.001307 -0.285146 -0.043295 + -0.000876 -0.290486 -0.041449 + 0.002684 -0.293483 -0.036206 + 0.005130 -0.293851 -0.030730 + 0.011529 -0.301300 -0.028188 + -0.002660 -0.283083 -0.043811 + -0.004632 -0.285732 -0.041886 + -0.005840 -0.285336 -0.036744 + -0.004656 -0.285036 -0.031411 + -0.002703 -0.290263 -0.027093 + 0.001644 -0.302885 -0.025455 + -0.000048 -0.275476 -0.040749 + -0.005837 -0.275374 -0.032872 + -0.004980 -0.283163 -0.030496 + -0.004352 -0.286292 -0.025248 + -0.004472 -0.289312 -0.023766 + -0.004438 -0.297099 -0.022931 + -0.000219 -0.270320 -0.033987 + -0.005680 -0.274132 -0.025349 + -0.005405 -0.291137 -0.020941 + -0.003259 -0.288600 -0.015178 + -0.003140 -0.288734 -0.009550 + -0.004918 -0.287426 -0.002675 + -0.008215 -0.286556 0.000746 + -0.000784 -0.276645 -0.021791 + 0.002831 -0.278378 -0.017336 + 0.004227 -0.279963 -0.012833 + 0.001871 -0.279556 -0.004865 + -0.005255 -0.280590 -0.000547 + -0.007604 -0.281241 -0.000560 + 0.009713 -0.278483 -0.024464 + -0.006093 -0.270213 -0.019561 + -0.001314 -0.273361 -0.016955 + 0.000624 -0.274196 -0.011630 + -0.001128 -0.274224 -0.006328 + -0.004515 -0.274949 -0.003621 + -0.008726 -0.273296 -0.001730 + 0.000543 -0.269516 -0.019547 + -0.006970 -0.266334 -0.009127 + 0.015406 -0.284528 -0.025336 + 0.013312 -0.283321 -0.020057 + 0.012064 -0.284744 -0.012793 + 0.010340 -0.283020 -0.008705 + 0.008863 -0.281382 -0.004190 + 0.017580 -0.289385 -0.026864 + 0.015714 -0.288724 -0.018685 + 0.013674 -0.288393 -0.012535 + 0.013172 -0.285872 -0.009064 + 0.013613 -0.285364 -0.005840 + 0.017085 -0.294866 -0.027418 + 0.015569 -0.293575 -0.019386 + 0.013521 -0.292119 -0.012723 + 0.014469 -0.292237 -0.008933 + 0.014833 -0.292261 -0.006123 + 0.011632 -0.299754 -0.020104 + 0.010544 -0.297107 -0.013407 + 0.010647 -0.296786 -0.009133 + 0.009532 -0.298110 -0.004600 + 0.004218 -0.301180 -0.018558 + 0.003966 -0.298370 -0.011211 + 0.003981 -0.298598 -0.007254 + 0.003666 -0.299191 -0.002382 + -0.002499 -0.296840 -0.018021 + -0.000776 -0.295464 -0.010884 + -0.000540 -0.296957 -0.005080 + -0.001149 -0.298908 0.000018 + -0.003687 -0.291230 -0.016841 + -0.002756 -0.291286 -0.009557 + -0.004298 -0.291975 -0.002914 + -0.007010 -0.293095 0.000731 + 0.005384 -0.291532 -0.037754 + 0.007230 -0.291693 -0.030575 + 0.006180 -0.280740 -0.038445 + 0.008076 -0.279409 -0.031089 + 0.009639 -0.278443 -0.024458 + 0.006761 -0.285540 -0.036787 + 0.008795 -0.286054 -0.030469 + 0.006566 -0.290088 -0.035287 + 0.003730 -0.266854 -0.025257 + 0.006736 -0.264837 -0.016813 + 0.006186 -0.262338 -0.012123 + 0.003690 -0.273340 -0.034135 + 0.005615 -0.271728 -0.027749 + -0.007667 -0.260900 0.010428 + -0.011129 -0.261075 -0.000199 + -0.008536 -0.259852 -0.015319 + -0.001495 -0.260296 -0.025350 + -0.010141 -0.279368 0.004475 + -0.010110 -0.273404 0.009054 + -0.009356 -0.265051 0.011089 + -0.005826 -0.290703 0.005216 + -0.005376 -0.291468 0.010361 + -0.005761 -0.286223 0.013935 + -0.005254 -0.279402 0.016580 + -0.004235 -0.270576 0.014945 + -0.000776 -0.297935 0.007316 + -0.001010 -0.294387 0.013980 + 0.001717 -0.290229 0.018066 + 0.000610 -0.286407 0.019544 + -0.000330 -0.281830 0.020771 + 0.002317 -0.297589 0.011059 + 0.007460 -0.295108 0.014537 + 0.010172 -0.289351 0.016043 + 0.008882 -0.280127 0.015308 + 0.009263 -0.283447 0.016698 + 0.005069 -0.299011 0.001932 + 0.009922 -0.297249 0.000014 + 0.013551 -0.292249 -0.002188 + 0.013115 -0.286306 -0.001260 + 0.009440 -0.282017 0.000790 + 0.003432 -0.299874 0.006789 + 0.011076 -0.299271 0.006353 + 0.015577 -0.295345 0.006527 + 0.016858 -0.291095 0.005933 + 0.016818 -0.286690 0.006324 + 0.013095 -0.281181 0.006746 + 0.008211 -0.278995 0.007128 + 0.006782 -0.299695 0.010843 + 0.011682 -0.296932 0.013931 + 0.014112 -0.291093 0.016133 + 0.014688 -0.285733 0.015138 + 0.011296 -0.281280 0.014078 + -0.000979 -0.298563 0.004093 + 0.004632 -0.278044 0.011244 + 0.002939 -0.274501 0.008290 + 0.003082 -0.272393 0.004595 + 0.006112 -0.266775 -0.007410 + 0.006751 -0.271682 -0.006277 + 0.004070 -0.274857 0.001301 + 0.008000 -0.278592 -0.004304 + 0.005370 -0.277938 0.000189 + 0.007513 -0.280087 -0.000029 + 0.005973 -0.278931 0.009821 + 0.006291 -0.279137 0.003778 + 0.004212 -0.277520 0.005751 + 0.006441 -0.280080 -0.008673 + 0.006099 -0.280151 -0.017543 + 0.005123 -0.272035 -0.009627 + 0.004907 -0.271847 -0.014437 + 0.005456 -0.266769 -0.012823 + 0.006000 -0.261020 -0.015903 + 0.005545 -0.262529 -0.007731 + 0.002279 -0.262817 0.000811 + 0.003717 -0.246915 -0.014849 + 0.005378 -0.245431 -0.008828 + 0.001550 -0.245784 -0.001498 + -0.009665 -0.244816 0.005731 + -0.012037 -0.242822 -0.001386 + -0.011242 -0.242399 -0.011966 + -0.003615 -0.247872 -0.021303 + 0.000268 -0.246665 -0.017915 + 0.003721 -0.246949 -0.014852 + 0.005380 -0.192929 -0.010625 + 0.003402 -0.226637 -0.013316 + 0.005137 -0.226970 -0.007943 + 0.005411 -0.194794 -0.004278 + -0.000305 -0.225814 -0.000853 + 0.000467 -0.193890 0.000268 + -0.010525 -0.226541 0.003325 + -0.007298 -0.193380 0.001301 + -0.013335 -0.226722 -0.003529 + -0.013444 -0.193071 -0.004460 + -0.012748 -0.227827 -0.012980 + -0.012464 -0.192921 -0.012504 + -0.005256 -0.227419 -0.018903 + -0.002420 -0.192819 -0.017128 + -0.001158 -0.228425 -0.017326 + 0.002633 -0.193354 -0.014930 + 0.003408 -0.226693 -0.013317 + 0.005355 -0.193002 -0.010619 + 0.007425 -0.150734 -0.007848 + 0.007986 -0.152205 -0.000563 + 0.004291 -0.151938 0.003414 + 0.000289 -0.151330 0.005056 + -0.005137 -0.148847 0.003371 + -0.010171 -0.147607 -0.003716 + -0.008081 -0.148241 -0.012067 + 0.001852 -0.148773 -0.014361 + 0.008472 -0.119500 -0.004121 + + + + + 10 9 0 + 1 10 0 + 11 10 1 + 2 11 1 + 12 11 2 + 3 12 2 + 13 12 3 + 4 13 3 + 14 13 4 + 5 14 4 + 15 14 5 + 6 15 5 + 16 15 6 + 7 16 6 + 17 16 7 + 8 17 7 + 19 18 9 + 10 19 9 + 20 19 10 + 11 20 10 + 21 20 11 + 12 21 11 + 22 21 12 + 13 22 12 + 23 22 13 + 14 23 13 + 24 23 14 + 15 24 14 + 25 24 15 + 16 25 15 + 26 25 16 + 17 26 16 + 28 27 18 + 19 28 18 + 29 28 19 + 20 29 19 + 30 29 20 + 21 30 20 + 31 30 21 + 22 31 21 + 32 31 22 + 23 32 22 + 33 32 23 + 24 33 23 + 34 33 24 + 25 34 24 + 35 34 25 + 26 35 25 + 28 36 27 + 28 37 36 + 29 37 28 + 29 38 37 + 30 38 29 + 30 39 38 + 30 40 39 + 31 40 30 + 31 41 40 + 32 41 31 + 32 42 41 + 33 42 32 + 33 43 42 + 34 43 33 + 34 44 43 + 35 44 34 + 35 45 44 + 36 47 46 + 37 47 36 + 37 48 47 + 38 48 37 + 38 49 48 + 38 50 49 + 39 50 38 + 39 51 50 + 40 51 39 + 40 52 51 + 40 53 52 + 41 53 40 + 41 54 53 + 42 54 41 + 42 55 54 + 42 56 55 + 43 56 42 + 43 57 56 + 44 57 43 + 44 58 57 + 44 59 58 + 45 59 44 + 45 46 59 + 7 60 0 + 6 60 7 + 5 60 6 + 4 60 5 + 3 60 4 + 2 60 3 + 1 60 2 + 0 60 1 + 63 62 61 + 64 63 61 + 65 63 64 + 66 65 64 + 67 65 66 + 68 67 66 + 69 67 68 + 70 69 68 + 71 69 70 + 72 69 71 + 73 72 71 + 74 72 73 + 75 74 73 + 76 74 75 + 77 76 75 + 78 76 77 + 79 78 77 + 80 78 79 + 61 80 79 + 82 81 62 + 63 82 62 + 83 82 63 + 65 83 63 + 84 83 65 + 67 84 65 + 85 84 67 + 69 85 67 + 86 85 69 + 72 86 69 + 87 86 72 + 74 87 72 + 88 87 74 + 76 88 74 + 89 88 76 + 78 89 76 + 90 89 78 + 80 90 78 + 92 91 81 + 82 92 81 + 93 92 82 + 83 93 82 + 94 93 83 + 84 94 83 + 85 94 84 + 95 94 85 + 86 95 85 + 96 95 86 + 87 96 86 + 97 96 87 + 88 97 87 + 98 97 88 + 89 98 88 + 99 98 89 + 90 99 89 + 101 100 91 + 92 101 91 + 102 101 92 + 93 102 92 + 103 102 93 + 94 103 93 + 104 103 94 + 95 104 94 + 105 104 95 + 96 105 95 + 106 105 96 + 97 106 96 + 107 106 97 + 98 107 97 + 100 107 98 + 99 100 98 + 110 71 70 + 108 110 70 + 111 110 108 + 109 111 108 + 52 111 109 + 51 52 109 + 112 73 71 + 110 112 71 + 111 112 110 + 53 112 111 + 52 53 111 + 112 75 73 + 54 75 112 + 53 54 112 + 75 113 77 + 54 113 75 + 54 55 113 + 113 114 77 + 113 115 114 + 55 115 113 + 55 56 115 + 116 115 56 + 57 116 56 + 117 116 57 + 58 117 57 + 118 117 58 + 59 118 58 + 119 114 115 + 116 119 115 + 117 119 116 + 120 119 117 + 118 120 117 + 119 77 114 + 79 77 119 + 120 79 119 + 121 118 59 + 46 121 59 + 122 121 46 + 47 122 46 + 123 120 118 + 121 123 118 + 124 123 121 + 122 124 121 + 61 79 120 + 123 61 120 + 64 61 123 + 124 64 123 + 125 122 47 + 48 125 47 + 49 125 48 + 126 125 49 + 50 126 49 + 109 126 50 + 51 109 50 + 127 124 122 + 125 127 122 + 128 127 125 + 126 128 125 + 108 128 126 + 109 108 126 + 66 64 124 + 127 66 124 + 68 66 127 + 128 68 127 + 70 68 128 + 108 70 128 + 136 135 129 + 130 136 129 + 137 136 130 + 131 137 130 + 138 137 131 + 132 138 131 + 139 138 132 + 133 139 132 + 140 139 133 + 134 140 133 + 142 141 135 + 136 142 135 + 143 142 136 + 137 143 136 + 144 143 137 + 138 144 137 + 145 144 138 + 139 145 138 + 146 145 139 + 140 146 139 + 142 147 141 + 148 147 142 + 143 148 142 + 149 148 143 + 144 149 143 + 145 149 144 + 146 149 145 + 149 154 148 + 150 154 149 + 150 155 154 + 151 155 150 + 151 156 155 + 152 156 151 + 152 157 156 + 152 158 157 + 153 158 152 + 153 159 158 + 162 161 148 + 154 162 148 + 163 162 154 + 155 163 154 + 156 163 155 + 164 163 156 + 157 164 156 + 165 164 157 + 158 165 157 + 166 165 158 + 159 166 158 + 162 168 161 + 163 168 162 + 164 168 163 + 165 168 164 + 166 168 165 + 175 174 169 + 170 175 169 + 176 175 170 + 171 176 170 + 177 176 171 + 172 177 171 + 178 177 172 + 173 178 172 + 180 179 174 + 175 180 174 + 181 180 175 + 176 181 175 + 182 181 176 + 177 182 176 + 183 182 177 + 178 183 177 + 184 134 179 + 180 184 179 + 185 184 180 + 181 185 180 + 186 185 181 + 182 186 181 + 187 186 182 + 183 187 182 + 188 140 134 + 184 188 134 + 189 188 184 + 185 189 184 + 190 189 185 + 186 190 185 + 191 190 186 + 187 191 186 + 192 146 140 + 188 192 140 + 193 192 188 + 189 193 188 + 194 193 189 + 190 194 189 + 195 194 190 + 191 195 190 + 196 149 146 + 192 196 146 + 197 196 192 + 193 197 192 + 198 197 193 + 194 198 193 + 199 198 194 + 195 199 194 + 196 150 149 + 151 150 196 + 197 151 196 + 152 151 197 + 198 152 197 + 153 152 198 + 199 153 198 + 200 132 131 + 133 132 200 + 201 133 200 + 134 133 201 + 179 134 201 + 205 130 129 + 202 205 129 + 206 205 202 + 203 206 202 + 169 206 203 + 204 169 203 + 207 131 130 + 205 207 130 + 201 207 205 + 206 201 205 + 174 201 206 + 169 174 206 + 207 200 131 + 201 200 207 + 174 179 201 + 211 141 147 + 208 211 147 + 212 211 208 + 209 212 208 + 167 212 209 + 210 167 209 + 202 129 141 + 211 202 141 + 203 202 211 + 212 203 211 + 160 203 212 + 167 160 212 + 215 168 214 + 215 161 168 + 215 148 161 + 216 148 215 + 216 147 148 + 214 168 217 + 218 214 217 + 219 214 218 + 213 214 219 + 217 153 199 + 220 217 199 + 221 217 220 + 218 217 221 + 222 218 221 + 219 218 222 + 223 219 222 + 213 219 223 + 224 213 223 + 220 199 195 + 225 220 195 + 221 220 225 + 226 221 225 + 227 221 226 + 222 221 227 + 228 222 227 + 223 222 228 + 229 223 228 + 224 223 229 + 230 226 225 + 227 226 230 + 231 227 230 + 232 227 231 + 228 227 232 + 234 228 232 + 229 228 234 + 233 229 234 + 224 229 233 + 235 241 240 + 236 241 235 + 236 242 241 + 237 242 236 + 237 243 242 + 238 243 237 + 238 244 243 + 238 245 244 + 239 245 238 + 239 246 245 + 241 247 240 + 248 247 241 + 242 248 241 + 249 248 242 + 243 249 242 + 250 249 243 + 244 250 243 + 245 250 244 + 251 250 245 + 246 251 245 + 195 252 225 + 235 225 195 + 240 225 235 + 230 225 240 + 247 230 240 + 231 230 247 + 248 231 247 + 232 231 248 + 249 232 248 + 250 232 249 + 234 232 250 + 251 234 250 + 233 234 251 + 253 224 233 + 254 224 253 + 255 224 254 + 258 257 256 + 255 258 256 + 260 259 257 + 258 260 257 + 260 261 259 + 239 173 259 + 261 239 259 + 238 178 173 + 239 238 173 + 237 183 178 + 238 237 178 + 236 187 183 + 237 236 183 + 235 191 187 + 236 235 187 + 235 195 191 + 246 233 251 + 246 262 233 + 246 263 262 + 239 263 246 + 239 261 263 + 264 253 233 + 262 264 233 + 263 264 262 + 260 264 263 + 261 260 263 + 264 254 253 + 258 254 264 + 260 258 264 + 258 255 254 + 265 259 173 + 172 265 173 + 156 265 172 + 171 156 172 + 266 156 171 + 170 266 171 + 204 266 170 + 169 204 170 + 267 257 259 + 265 267 259 + 156 267 265 + 268 267 156 + 266 268 156 + 167 268 266 + 204 167 266 + 269 256 257 + 267 269 257 + 268 269 267 + 209 269 268 + 167 209 268 + 269 210 256 + 269 210 209 + 208 147 216 + 270 208 216 + 209 208 270 + 210 209 270 + 271 256 210 + 255 256 271 + 272 255 271 + 224 255 272 + 213 224 272 + 274 270 273 + 274 210 270 + 275 210 274 + 275 271 210 + 276 271 275 + 276 272 271 + 276 213 272 + 277 213 276 + 277 214 213 + 278 214 277 + 278 215 214 + 279 215 278 + 279 216 215 + 280 216 279 + 280 270 216 + 281 270 280 + 284 283 282 + 285 284 282 + 286 284 285 + 287 286 285 + 288 286 287 + 289 288 287 + 290 288 289 + 291 290 289 + 292 290 291 + 293 292 291 + 294 292 293 + 295 294 293 + 296 294 295 + 297 296 295 + 298 296 297 + 299 298 297 + 274 273 283 + 284 274 283 + 275 274 284 + 286 275 284 + 276 275 286 + 288 276 286 + 277 276 288 + 290 277 288 + 278 277 290 + 292 278 290 + 279 278 292 + 294 279 292 + 280 279 294 + 296 280 294 + 281 280 296 + 298 281 296 + 285 282 300 + 301 285 300 + 287 285 301 + 302 287 301 + 289 287 302 + 303 289 302 + 291 289 303 + 304 291 303 + 293 291 304 + 305 293 304 + 295 293 305 + 306 295 305 + 297 295 306 + 307 297 306 + 299 297 307 + 300 299 307 + 301 300 100 + 101 301 100 + 302 301 101 + 102 302 101 + 303 302 102 + 103 303 102 + 304 303 103 + 104 304 103 + 305 304 104 + 105 305 104 + 306 305 105 + 106 306 105 + 307 306 106 + 107 307 106 + 300 307 107 + 308 300 107 + 159 217 166 + 159 153 217 + + + 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72 75 78 81 84 87 90 93 96 99 102 105 108 111 114 117 120 123 126 129 132 135 138 141 144 147 150 153 156 159 162 165 168 171 174 177 180 183 186 189 192 195 198 201 204 207 210 213 216 219 222 225 228 231 234 237 240 243 246 249 252 255 258 261 264 267 270 273 276 279 282 285 288 291 294 297 300 303 306 309 312 315 318 321 324 327 330 333 336 339 342 345 348 351 354 357 360 363 366 369 372 375 378 381 384 387 390 393 396 399 402 405 408 411 414 417 420 423 426 429 432 435 438 441 444 447 450 453 456 459 462 465 468 471 474 477 480 483 486 489 492 495 498 501 504 507 510 513 516 519 522 525 528 531 534 537 540 543 546 549 552 555 558 561 564 567 570 573 576 579 582 585 588 591 594 597 600 603 606 609 612 615 618 621 624 627 630 633 636 639 642 645 648 651 654 657 660 663 666 669 672 675 678 681 684 687 690 693 696 699 702 705 708 711 714 717 720 723 726 729 732 735 738 741 744 747 750 753 756 759 762 765 768 771 774 777 780 783 786 789 792 795 798 801 804 807 810 813 816 819 822 825 828 831 834 837 840 843 846 849 852 855 858 861 864 867 870 873 876 879 882 885 888 891 894 897 900 903 906 909 912 915 918 921 924 927 930 933 936 939 942 945 948 951 954 957 960 963 966 969 972 975 978 981 984 987 990 993 996 999 1002 1005 1008 1011 1014 1017 1020 1023 1026 1029 1032 1035 1038 1041 1044 1047 1050 1053 1056 1059 1062 1065 1068 1071 1074 1077 1080 1083 1086 1089 1092 1095 1098 1101 1104 1107 1110 1113 1116 1119 1122 1125 1128 1131 1134 1137 1140 1143 1146 1149 1152 1155 1158 1161 1164 1167 1170 1173 1176 1179 1182 1185 1188 1191 1194 1197 1200 1203 1206 1209 1212 1215 1218 1221 1224 1227 1230 1233 1236 1239 1242 1245 1248 1251 1254 1257 1260 1263 1266 1269 1272 1275 1278 1281 1284 1287 1290 1293 1296 1299 1302 1305 1308 1311 1314 1317 1320 1323 1326 1329 1332 1335 1338 1341 1344 1347 1350 1353 1356 1359 1362 1365 1368 1371 1374 1377 1380 1383 1386 1389 1392 1395 1398 1401 1404 1407 1410 1413 1416 1419 1422 1425 1428 1431 1434 1437 1440 1443 1446 1449 1452 1455 1458 1461 1464 1467 1470 1473 1476 1479 1482 1485 1488 1491 1494 1497 1500 1503 1506 1509 1512 1515 1518 1521 1524 1527 1530 1533 1536 1539 1542 1545 1548 1551 1554 1557 1560 1563 1566 1569 1572 1575 1578 1581 1584 1587 1590 1593 1596 1599 1602 1605 1608 1611 1614 1617 1620 1623 1626 1629 1632 1635 1638 1641 1644 1647 1650 1653 1656 1659 1662 1665 1668 1671 1674 1677 1680 1683 1686 1689 1692 1695 1698 1701 1704 1707 1710 1713 1716 1719 1722 1725 1728 1731 1734 1737 1740 1743 1746 1749 1752 1755 1758 1761 1764 + + + + + diff --git a/examples/getting_started/mesh/arm_r_ulna.vtp b/examples/getting_started/mesh/arm_r_ulna.vtp new file mode 100644 index 00000000..0674d1d5 --- /dev/null +++ b/examples/getting_started/mesh/arm_r_ulna.vtp @@ -0,0 +1,842 @@ + + + + + + + 0.458916 0.735698 0.498140 + 0.646546 0.477163 0.595226 + 0.460386 0.574867 0.676441 + 0.647775 0.741283 0.175749 + 0.203947 0.631014 0.748483 + 0.514927 0.688032 0.511333 + 0.364044 0.920999 -0.138679 + -0.025867 0.997673 0.063086 + 0.800612 0.511790 -0.311595 + 0.798472 0.519953 0.303466 + 0.565094 0.817515 0.111074 + 0.833920 0.539215 -0.117368 + 0.509369 0.810645 -0.288787 + -0.197389 0.884489 -0.422749 + 0.720562 0.402587 -0.564548 + 0.527583 0.678220 -0.511541 + 0.247272 0.838187 -0.486105 + 0.057536 0.892322 -0.447718 + 0.846210 0.183183 -0.500373 + 0.661344 0.222359 -0.716366 + 0.483602 0.612276 -0.625498 + 0.401217 0.833109 -0.380728 + 0.188123 0.947836 -0.257328 + 0.541760 0.410975 -0.733209 + 0.377002 0.589443 0.714441 + -0.464898 0.667100 0.582106 + -0.242290 0.357706 0.901855 + 0.271312 0.106558 0.956575 + 0.642522 0.665532 0.379778 + 0.405220 0.616322 0.675237 + 0.353350 0.075415 0.932447 + 0.313341 0.147039 0.938188 + 0.530831 0.093905 0.842259 + 0.670951 0.394668 0.627743 + 0.806719 -0.322855 0.494943 + 0.917138 -0.075545 0.391346 + 0.961401 0.180013 0.208096 + 0.851940 0.476482 0.217169 + 0.767232 0.415748 0.488374 + 0.780836 -0.520314 0.345786 + 0.928668 -0.329299 0.170698 + 0.994630 -0.092270 0.046867 + 0.954951 0.273169 0.115966 + 0.919093 0.392267 -0.037344 + 0.778091 -0.619859 0.101735 + 0.886171 -0.461502 0.041430 + 0.982123 -0.179748 -0.055897 + 0.973560 0.177710 -0.143529 + 0.863294 0.076122 -0.498927 + 0.779048 -0.576295 -0.246916 + 0.865154 -0.444654 -0.231931 + 0.935912 -0.204794 -0.286581 + 0.879330 0.077646 -0.469841 + 0.576361 0.329417 -0.747859 + 0.859629 -0.408269 -0.307172 + 0.898215 -0.315491 -0.306064 + 0.837514 -0.234139 -0.493710 + 0.734732 -0.049436 -0.676554 + 0.044714 0.146605 -0.988184 + 0.592165 -0.372860 -0.714364 + 0.576335 -0.465357 -0.671774 + 0.590269 -0.453279 -0.667923 + 0.426949 -0.292715 -0.855589 + 0.290660 0.174925 -0.940701 + -0.429133 -0.048695 -0.901928 + -0.338600 -0.382424 -0.859711 + -0.442547 0.583604 -0.680851 + -0.684963 -0.003338 -0.728571 + -0.210798 0.904705 -0.370234 + -0.727449 0.237478 -0.643756 + -0.854147 0.520029 0.001852 + -0.206459 0.975506 0.075919 + -0.717547 0.598950 0.355507 + -0.332570 0.912458 0.238365 + -0.753402 0.418838 0.506912 + -0.278877 0.958925 -0.051874 + -0.989158 -0.103600 0.104088 + -0.820941 -0.298814 -0.486586 + -0.881009 0.041940 0.471236 + -0.751121 -0.405552 -0.520907 + -0.966419 -0.150011 -0.208641 + -0.944190 0.109647 0.310617 + -0.619636 0.234280 0.749109 + 0.146585 0.209130 0.966839 + 0.022774 0.155261 0.987611 + 0.011069 0.146231 0.989189 + -0.085363 0.205250 0.974980 + 0.274922 0.179486 0.944565 + 0.097497 0.412279 0.905826 + -0.845890 0.031235 0.532442 + -0.963413 -0.012721 0.267718 + -0.898746 0.066687 0.433368 + -0.996671 -0.063986 -0.050516 + 0.632346 -0.311680 -0.709221 + -0.561984 -0.302741 -0.769755 + -0.058347 0.645923 -0.761170 + -0.135879 -0.579322 -0.803693 + 0.392662 -0.705936 -0.589466 + 0.149945 -0.460509 -0.874899 + 0.220452 -0.422956 -0.878925 + -0.545099 -0.412621 -0.729802 + -0.550406 -0.394611 -0.735755 + -0.539912 -0.328555 -0.774950 + -0.613572 -0.310857 -0.725877 + 0.997006 -0.031041 0.070821 + 0.983810 -0.129388 0.124000 + 0.986125 -0.157970 0.051024 + 0.869833 -0.421598 0.256216 + 0.646443 -0.199927 0.736302 + 0.383170 0.205538 0.900519 + 0.606596 0.161212 0.778493 + 0.771385 -0.107864 0.627161 + 0.777407 -0.321356 0.540711 + 0.448972 0.374801 0.811141 + 0.814467 -0.556501 -0.164165 + 0.890631 -0.331612 -0.311144 + 0.576254 -0.775546 -0.257800 + 0.746491 -0.664086 -0.041728 + 0.814488 -0.568903 -0.113836 + 0.589365 -0.166003 -0.790627 + -0.767295 -0.188417 -0.612990 + -0.921793 -0.003920 0.387663 + -0.093538 0.160692 0.982562 + 0.650107 0.175633 0.739266 + 0.958246 -0.031070 -0.284254 + 0.634952 -0.746424 -0.199219 + 0.785681 -0.594690 -0.170438 + 0.662138 0.013292 -0.749264 + 0.916049 0.171680 -0.362465 + 0.804537 -0.539504 0.221076 + 0.854898 0.302530 0.421455 + 0.521645 -0.608983 0.597517 + 0.136396 0.083216 0.987153 + -0.212886 -0.713225 0.667825 + -0.033313 -0.810462 0.584843 + -0.313009 -0.182993 0.931954 + 0.237240 -0.717438 0.654980 + -0.375258 -0.148293 0.914981 + 0.478724 -0.542180 0.681190 + -0.203983 -0.804742 0.557478 + -0.976079 -0.141753 0.164852 + -0.251498 -0.669839 -0.698616 + -0.575388 -0.274393 -0.770479 + 0.077574 -0.722662 -0.686834 + -0.194234 -0.474098 -0.858781 + 0.102078 -0.874691 -0.473811 + -0.052963 -0.833727 -0.549632 + -0.038806 -0.413585 -0.909638 + 0.006202 -0.865646 -0.500618 + 0.304455 -0.952468 -0.010537 + 0.665127 -0.015867 -0.746561 + 0.582109 0.140767 -0.800833 + 0.821074 0.084950 -0.564465 + 0.816662 0.319662 -0.480500 + 0.862232 0.354156 0.362117 + 0.711975 0.600983 0.363195 + -0.063910 0.323128 0.944195 + 0.024750 0.534066 0.845081 + -0.540232 0.218870 0.812555 + -0.749416 0.124155 0.650355 + -0.833209 0.191805 0.518627 + -0.975187 -0.048451 -0.216015 + -0.876297 -0.075169 -0.475870 + -0.458836 -0.190342 -0.867893 + -0.256342 -0.210716 -0.943339 + 0.299986 -0.167009 -0.939210 + 0.062336 -0.098192 -0.993213 + 0.730915 -0.059856 -0.679839 + 0.685598 -0.111862 -0.719334 + 0.874037 0.014438 -0.485644 + 0.959529 0.039190 -0.278868 + 0.920824 0.140404 0.363826 + 0.578406 0.253496 0.775362 + -0.267078 0.133984 0.954315 + -0.207165 0.204877 0.956613 + -0.910180 0.005446 0.414178 + -0.963010 -0.088844 0.254400 + -0.870179 -0.189540 -0.454822 + -0.679173 -0.195789 -0.707383 + -0.132739 -0.236906 -0.962422 + -0.148435 -0.197284 -0.969044 + 0.389940 -0.196652 -0.899597 + 0.845740 0.022864 -0.533105 + 0.834209 0.034026 -0.550397 + 0.924194 0.069290 -0.375585 + 0.868560 0.006912 -0.495535 + 0.800176 0.149408 0.580858 + 0.845522 0.140790 0.515043 + -0.315983 0.099211 0.943563 + -0.216632 0.093186 0.971796 + -0.949626 -0.072316 0.304929 + -0.867000 -0.063429 0.494256 + -0.695223 -0.190820 -0.693002 + -0.818766 -0.169711 -0.548470 + -0.422556 -0.206263 -0.882554 + -0.545691 -0.141128 -0.826017 + 0.831043 -0.029503 -0.555426 + 0.834118 -0.004550 -0.539849 + 0.856199 0.003379 -0.516635 + 0.882293 -0.000156 -0.470701 + 0.860023 0.100141 0.500332 + 0.848110 0.153135 0.507207 + -0.075076 0.082152 0.993788 + 0.036533 0.114544 0.992746 + -0.749157 -0.055872 0.660031 + -0.735792 -0.003637 0.677198 + -0.855899 -0.135533 -0.499066 + -0.841058 -0.170777 -0.513281 + -0.577933 -0.151264 -0.801943 + -0.562007 -0.187873 -0.805514 + -0.501913 -0.174646 -0.847102 + + + + + -0.009357 -0.010036 0.007856 + -0.010113 -0.010628 0.012293 + -0.005751 -0.012393 0.009177 + -0.009587 -0.008686 0.004887 + -0.001042 -0.013203 0.007970 + 0.004926 -0.013329 0.007780 + -0.005391 -0.011931 0.004384 + -0.000688 -0.012641 0.003623 + 0.006213 -0.009919 0.001606 + -0.009776 -0.007221 0.002900 + -0.006989 -0.010853 0.002674 + -0.009685 -0.006639 0.000925 + -0.006101 -0.011527 0.000355 + 0.003168 -0.012140 -0.000014 + -0.010966 -0.007764 -0.002189 + -0.007740 -0.011973 -0.002722 + -0.003865 -0.014444 -0.003771 + 0.000227 -0.015392 -0.004438 + 0.003736 -0.017105 -0.007017 + -0.013733 -0.009489 -0.005649 + -0.011323 -0.012143 -0.005843 + -0.006664 -0.015670 -0.007238 + -0.004121 -0.016919 -0.007897 + 0.002128 -0.017355 -0.010678 + -0.010229 0.011257 0.008116 + -0.016565 0.009458 0.008913 + -0.022600 0.000150 0.008779 + -0.019672 -0.005675 0.008804 + -0.014884 -0.011751 0.011155 + -0.011490 -0.014190 0.014937 + -0.015357 0.008150 0.010269 + -0.016029 0.003307 0.011050 + -0.014180 -0.002495 0.010496 + -0.011123 -0.006937 0.008266 + -0.011660 0.005528 0.006181 + -0.012463 -0.000144 0.005497 + -0.011781 -0.004516 0.005016 + -0.010900 -0.007066 0.004913 + -0.007100 0.011211 0.004532 + -0.009296 0.007642 0.002884 + -0.011011 0.004319 0.002439 + -0.012036 0.000749 0.002667 + -0.012136 -0.002561 0.002978 + -0.005171 0.010977 0.000103 + -0.008128 0.007480 0.000066 + -0.010493 0.004523 0.000154 + -0.011811 0.000631 0.000208 + -0.011983 -0.002286 0.000202 + -0.006964 0.010672 -0.006821 + -0.008967 0.007762 -0.004901 + -0.011210 0.004318 -0.004404 + -0.012698 0.000330 -0.003141 + -0.013222 -0.004130 -0.004468 + -0.011417 0.010028 -0.011276 + -0.013548 0.004899 -0.009863 + -0.014871 0.000421 -0.008549 + -0.014754 -0.002771 -0.008016 + -0.015063 -0.006286 -0.007030 + -0.015004 0.005051 -0.014066 + -0.015594 0.001018 -0.013028 + -0.015723 -0.003174 -0.011095 + -0.017002 -0.005548 -0.010122 + -0.017284 -0.008048 -0.008299 + -0.016543 -0.010502 -0.008000 + -0.021637 0.001640 -0.012487 + -0.024802 -0.006831 -0.008613 + -0.017269 0.009055 -0.010983 + -0.025204 -0.000674 -0.010929 + -0.016279 0.011983 -0.006461 + -0.026911 0.002944 -0.009452 + -0.028321 0.006336 -0.003634 + -0.016319 0.012146 -0.001409 + -0.026861 0.006069 -0.000548 + -0.017285 0.011343 0.003255 + -0.025526 0.004302 0.003453 + -0.013178 0.010488 0.009742 + -0.027263 -0.023614 0.007713 + -0.026834 -0.017932 0.003210 + -0.027201 -0.016895 0.007715 + -0.026110 -0.010656 -0.003416 + -0.027814 -0.009128 -0.000839 + -0.027652 -0.007253 0.003922 + -0.025039 -0.008617 0.009391 + -0.015260 -0.047309 0.022131 + -0.015520 -0.039126 0.020773 + -0.013654 -0.034003 0.020165 + -0.011510 -0.026966 0.018995 + -0.011080 -0.019733 0.018229 + -0.011262 -0.016953 0.017075 + -0.024556 -0.047852 0.018535 + -0.025608 -0.042737 0.016368 + -0.026040 -0.038879 0.014619 + -0.027055 -0.032266 0.011806 + -0.009276 -0.049715 0.007928 + -0.019383 -0.050637 0.010018 + -0.008958 -0.015086 -0.012608 + -0.008341 -0.022540 -0.010901 + -0.007115 -0.026690 -0.004722 + -0.008486 -0.035129 0.000490 + -0.009268 -0.042353 0.003672 + -0.018624 -0.018964 -0.001087 + -0.019743 -0.029313 0.002405 + -0.019500 -0.035780 0.004815 + -0.020181 -0.042502 0.007588 + -0.007815 -0.049835 0.014590 + -0.006137 -0.040569 0.009859 + -0.004792 -0.032287 0.008138 + -0.003458 -0.025770 0.009526 + -0.000484 -0.021743 0.011659 + -0.003872 -0.023347 0.012984 + -0.007166 -0.022235 0.014586 + -0.009094 -0.036189 0.014504 + 0.002050 -0.017995 0.009994 + -0.005836 -0.017989 0.010815 + -0.003149 -0.023945 0.001898 + -0.006957 -0.038475 0.005361 + -0.002206 -0.022298 -0.007160 + -0.000570 -0.020324 -0.002135 + 0.001171 -0.019370 0.000979 + -0.011116 -0.071821 0.012425 + -0.020548 -0.071261 0.017357 + -0.022394 -0.072183 0.024932 + -0.014015 -0.070733 0.025700 + -0.007666 -0.069125 0.025577 + -0.009599 -0.070744 0.018446 + 0.009410 -0.243676 0.043255 + 0.012917 -0.241602 0.046665 + 0.008288 -0.240273 0.040753 + 0.012822 -0.236019 0.044892 + 0.012263 -0.240984 0.051220 + 0.014063 -0.233464 0.050313 + 0.009751 -0.241508 0.054184 + 0.010178 -0.235557 0.055045 + 0.006772 -0.242521 0.053265 + 0.004299 -0.243309 0.050507 + 0.004889 -0.237586 0.056111 + 0.000318 -0.244179 0.049408 + 0.001133 -0.239277 0.052473 + -0.000803 -0.245551 0.049697 + -0.002469 -0.247579 0.048385 + -0.006015 -0.241890 0.048676 + -0.004183 -0.246115 0.046044 + -0.001943 -0.241983 0.044509 + -0.001392 -0.244938 0.045709 + 0.000672 -0.241648 0.041950 + -0.000119 -0.243866 0.044798 + 0.003665 -0.243547 0.042997 + 0.008537 -0.240654 0.040981 + 0.009194 -0.243787 0.043481 + 0.002500 -0.244073 0.046853 + 0.003124 -0.225482 0.039989 + 0.005034 -0.232866 0.040708 + 0.007103 -0.223076 0.043483 + 0.010181 -0.230479 0.044736 + 0.006682 -0.221256 0.046859 + 0.010114 -0.229923 0.049335 + 0.001049 -0.222100 0.048268 + 0.004541 -0.229540 0.052339 + -0.000156 -0.232577 0.050018 + -0.003584 -0.224031 0.045977 + -0.004004 -0.233448 0.048293 + -0.003667 -0.224985 0.042367 + -0.004510 -0.234841 0.043795 + -0.000837 -0.225949 0.038975 + -0.001106 -0.234266 0.040381 + 0.002966 -0.225788 0.040306 + 0.004538 -0.232793 0.041066 + 0.000011 -0.187811 0.031452 + 0.002274 -0.213747 0.037198 + 0.003142 -0.187567 0.034797 + 0.005377 -0.212413 0.039724 + 0.003580 -0.187165 0.040381 + 0.005309 -0.211865 0.043653 + -0.004026 -0.188058 0.040096 + -0.000642 -0.211918 0.045857 + -0.004708 -0.212914 0.043240 + -0.008312 -0.189183 0.036362 + -0.003940 -0.213930 0.038421 + -0.006101 -0.188188 0.032633 + -0.001637 -0.214316 0.035827 + -0.000030 -0.187224 0.030550 + 0.002217 -0.213549 0.037330 + -0.007424 -0.139403 0.022247 + -0.003629 -0.162055 0.026292 + -0.000825 -0.162913 0.031307 + -0.003030 -0.139136 0.028764 + 0.001183 -0.162503 0.037559 + -0.000529 -0.138117 0.033173 + -0.006564 -0.164007 0.037147 + -0.008696 -0.139344 0.033072 + -0.012079 -0.164801 0.034128 + -0.013992 -0.140012 0.030945 + -0.009909 -0.163225 0.029049 + -0.013352 -0.139035 0.025877 + -0.003444 -0.162145 0.026204 + -0.007482 -0.139207 0.022155 + -0.010793 -0.099704 0.016770 + -0.008780 -0.119076 0.019882 + -0.005038 -0.118462 0.025591 + -0.006602 -0.099055 0.022925 + -0.001902 -0.117483 0.031475 + -0.003527 -0.097181 0.028574 + -0.008729 -0.118618 0.031817 + -0.011010 -0.097853 0.029224 + -0.016497 -0.119127 0.031035 + -0.019080 -0.098461 0.030054 + -0.016151 -0.119174 0.025712 + -0.018081 -0.099691 0.023002 + -0.008848 -0.119372 0.020601 + -0.010327 -0.099969 0.017220 + -0.011079 -0.071726 0.011842 + + + + + 1 2 0 + 4 3 0 + 2 4 0 + 4 5 3 + 5 6 3 + 5 7 6 + 5 8 7 + 10 9 3 + 6 10 3 + 7 10 6 + 10 11 9 + 10 12 11 + 10 10 12 + 7 10 10 + 7 13 10 + 8 13 7 + 15 14 11 + 12 15 11 + 16 15 12 + 10 16 12 + 17 16 10 + 13 17 10 + 18 17 13 + 8 18 13 + 20 19 14 + 15 20 14 + 21 20 15 + 16 21 15 + 22 21 16 + 17 22 16 + 23 22 17 + 18 23 17 + 25 30 24 + 31 30 25 + 26 31 25 + 32 31 26 + 27 32 26 + 33 32 27 + 28 33 27 + 0 33 28 + 29 0 28 + 30 34 24 + 35 34 30 + 31 35 30 + 36 35 31 + 32 36 31 + 37 36 32 + 33 37 32 + 3 37 33 + 0 3 33 + 39 38 24 + 34 39 24 + 40 39 34 + 35 40 34 + 41 40 35 + 36 41 35 + 42 41 36 + 37 42 36 + 9 42 37 + 3 9 37 + 44 43 38 + 39 44 38 + 45 44 39 + 40 45 39 + 46 45 40 + 41 46 40 + 47 46 41 + 42 47 41 + 11 47 42 + 9 11 42 + 49 48 43 + 44 49 43 + 50 49 44 + 45 50 44 + 51 50 45 + 46 51 45 + 52 51 46 + 47 52 46 + 14 52 47 + 11 14 47 + 54 53 48 + 49 54 48 + 55 54 49 + 50 55 49 + 56 55 50 + 51 56 50 + 57 56 51 + 52 57 51 + 19 57 52 + 14 19 52 + 59 58 53 + 54 59 53 + 60 59 54 + 55 60 54 + 61 60 55 + 56 61 55 + 62 61 56 + 57 62 56 + 63 62 57 + 19 63 57 + 59 64 58 + 60 64 59 + 65 64 60 + 61 65 60 + 62 65 61 + 63 65 62 + 66 64 65 + 67 66 65 + 68 66 67 + 69 68 67 + 70 68 69 + 71 68 70 + 72 71 70 + 73 71 72 + 74 73 72 + 25 73 74 + 26 25 74 + 66 58 64 + 66 53 58 + 68 53 66 + 68 48 53 + 68 43 48 + 71 43 68 + 71 38 43 + 73 38 71 + 73 24 38 + 25 24 73 + 25 75 24 + 78 77 76 + 77 80 79 + 78 80 77 + 78 81 80 + 78 82 81 + 79 67 65 + 80 67 79 + 80 69 67 + 80 70 69 + 81 70 80 + 81 72 70 + 81 74 72 + 82 74 81 + 82 26 74 + 84 89 83 + 84 90 89 + 85 90 84 + 85 91 90 + 86 91 85 + 86 92 91 + 86 76 92 + 87 76 86 + 87 78 76 + 88 78 87 + 88 82 78 + 29 82 88 + 29 26 82 + 28 26 29 + 28 27 26 + 100 63 95 + 96 100 95 + 101 100 96 + 97 101 96 + 102 101 97 + 98 102 97 + 103 102 98 + 99 103 98 + 94 103 99 + 93 94 99 + 100 65 63 + 100 79 65 + 100 77 79 + 101 77 100 + 101 76 77 + 102 76 101 + 102 92 76 + 103 92 102 + 103 91 92 + 103 90 91 + 94 90 103 + 94 89 90 + 83 111 104 + 105 111 104 + 106 111 105 + 107 111 106 + 108 111 107 + 109 111 108 + 110 111 109 + 87 111 110 + 86 111 87 + 85 111 86 + 84 111 85 + 83 111 84 + 104 111 83 + 4 113 5 + 2 113 4 + 1 113 2 + 29 113 1 + 88 113 29 + 87 113 88 + 110 113 87 + 109 113 110 + 108 113 109 + 112 113 108 + 5 113 112 + 104 115 93 + 99 115 93 + 98 115 99 + 97 115 98 + 114 115 97 + 108 115 114 + 107 115 108 + 106 115 107 + 105 115 106 + 104 115 105 + 93 115 104 + 96 116 97 + 23 116 96 + 95 23 96 + 117 114 97 + 116 117 97 + 18 117 116 + 23 18 116 + 117 118 114 + 8 118 117 + 18 8 117 + 112 108 114 + 118 112 114 + 5 112 118 + 8 5 118 + 94 93 119 + 120 94 119 + 89 94 120 + 121 89 120 + 122 89 121 + 83 89 122 + 123 83 122 + 104 83 123 + 124 104 123 + 93 104 124 + 119 93 124 + 127 126 125 + 128 126 127 + 128 129 126 + 130 129 128 + 130 131 129 + 132 131 130 + 132 133 131 + 132 134 133 + 135 134 132 + 135 136 134 + 137 136 135 + 137 138 136 + 137 139 138 + 140 139 137 + 140 141 139 + 142 141 140 + 142 143 141 + 144 143 142 + 144 145 143 + 144 146 145 + 147 146 144 + 147 148 146 + 126 149 125 + 129 149 126 + 131 149 129 + 133 149 131 + 134 149 133 + 136 149 134 + 138 149 136 + 139 149 138 + 141 149 139 + 143 149 141 + 145 149 143 + 146 149 145 + 148 149 146 + 152 151 150 + 152 153 151 + 154 153 152 + 154 155 153 + 156 155 154 + 156 157 155 + 156 158 157 + 159 158 156 + 159 160 158 + 161 160 159 + 161 162 160 + 163 162 161 + 163 164 162 + 165 164 163 + 165 166 164 + 153 127 151 + 153 128 127 + 155 128 153 + 155 130 128 + 157 130 155 + 157 132 130 + 157 135 132 + 158 135 157 + 158 137 135 + 160 137 158 + 160 140 137 + 162 140 160 + 162 142 140 + 164 142 162 + 164 144 142 + 166 144 164 + 166 147 144 + 169 168 167 + 169 170 168 + 171 170 169 + 171 172 170 + 173 172 171 + 173 174 172 + 173 175 174 + 176 175 173 + 176 177 175 + 178 177 176 + 178 179 177 + 180 179 178 + 180 181 179 + 152 150 168 + 170 152 168 + 154 152 170 + 172 154 170 + 156 154 172 + 174 156 172 + 159 156 174 + 175 159 174 + 161 159 175 + 177 161 175 + 163 161 177 + 179 163 177 + 165 163 179 + 181 165 179 + 184 183 182 + 185 184 182 + 186 184 185 + 187 186 185 + 188 186 187 + 189 188 187 + 190 188 189 + 191 190 189 + 192 190 191 + 193 192 191 + 194 192 193 + 195 194 193 + 169 167 183 + 184 169 183 + 171 169 184 + 186 171 184 + 173 171 186 + 188 173 186 + 176 173 188 + 190 176 188 + 178 176 190 + 192 178 190 + 180 178 192 + 194 180 192 + 198 197 196 + 199 198 196 + 200 198 199 + 201 200 199 + 202 200 201 + 203 202 201 + 204 202 203 + 205 204 203 + 206 204 205 + 207 206 205 + 208 206 207 + 209 208 207 + 185 182 197 + 198 185 197 + 187 185 198 + 200 187 198 + 189 187 200 + 202 189 200 + 191 189 202 + 204 191 202 + 193 191 204 + 206 193 204 + 195 193 206 + 208 195 206 + 199 196 119 + 124 199 119 + 201 199 124 + 123 201 124 + 203 201 123 + 122 203 123 + 205 203 122 + 121 205 122 + 207 205 121 + 120 207 121 + 209 207 120 + 210 209 120 + 20 63 19 + 21 63 20 + 95 63 21 + 22 95 21 + 23 95 22 + + + 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72 75 78 81 84 87 90 93 96 99 102 105 108 111 114 117 120 123 126 129 132 135 138 141 144 147 150 153 156 159 162 165 168 171 174 177 180 183 186 189 192 195 198 201 204 207 210 213 216 219 222 225 228 231 234 237 240 243 246 249 252 255 258 261 264 267 270 273 276 279 282 285 288 291 294 297 300 303 306 309 312 315 318 321 324 327 330 333 336 339 342 345 348 351 354 357 360 363 366 369 372 375 378 381 384 387 390 393 396 399 402 405 408 411 414 417 420 423 426 429 432 435 438 441 444 447 450 453 456 459 462 465 468 471 474 477 480 483 486 489 492 495 498 501 504 507 510 513 516 519 522 525 528 531 534 537 540 543 546 549 552 555 558 561 564 567 570 573 576 579 582 585 588 591 594 597 600 603 606 609 612 615 618 621 624 627 630 633 636 639 642 645 648 651 654 657 660 663 666 669 672 675 678 681 684 687 690 693 696 699 702 705 708 711 714 717 720 723 726 729 732 735 738 741 744 747 750 753 756 759 762 765 768 771 774 777 780 783 786 789 792 795 798 801 804 807 810 813 816 819 822 825 828 831 834 837 840 843 846 849 852 855 858 861 864 867 870 873 876 879 882 885 888 891 894 897 900 903 906 909 912 915 918 921 924 927 930 933 936 939 942 945 948 951 954 957 960 963 966 969 972 975 978 981 984 987 990 993 996 999 1002 1005 1008 1011 1014 1017 1020 1023 1026 1029 1032 1035 1038 1041 1044 1047 1050 1053 1056 1059 1062 1065 1068 1071 1074 1077 1080 1083 1086 1089 1092 1095 1098 1101 1104 1107 1110 1113 1116 1119 1122 1125 1128 1131 1134 1137 1140 1143 1146 1149 1152 1155 1158 1161 1164 1167 1170 1173 1176 1179 1182 1185 1188 1191 1194 + + + + + diff --git a/examples/getting_started/mesh/ground_ribs.vtp b/examples/getting_started/mesh/ground_ribs.vtp new file mode 100644 index 00000000..6efac07b --- /dev/null +++ b/examples/getting_started/mesh/ground_ribs.vtp @@ -0,0 +1,10998 @@ + + + + + + + 0.987667 0.151235 0.040521 + 0.622831 -0.649576 0.436041 + 0.332908 -0.530908 -0.779301 + 0.671050 0.674583 0.307621 + 0.663092 0.041999 0.747359 + 0.747551 0.553415 -0.367286 + 0.324162 -0.592725 0.737289 + -0.529533 -0.106446 -0.841584 + -0.042132 0.433245 -0.900291 + -0.472540 -0.878703 0.067730 + -0.023847 0.888271 -0.458699 + -0.253177 0.462313 -0.849805 + 0.420884 0.892963 -0.159604 + 0.505627 0.020400 0.862511 + 0.325694 -0.412785 0.850607 + -0.730314 0.021576 -0.682770 + -0.491299 -0.865503 0.097617 + -0.565498 -0.049177 -0.823282 + -0.384494 -0.229709 -0.894091 + -0.171152 0.278089 -0.945184 + 0.464193 0.884751 0.041720 + 0.377451 0.120927 0.918100 + 0.171422 -0.337909 0.925436 + -0.407110 -0.907443 0.103965 + -0.416820 -0.905734 0.076853 + -0.293742 -0.261769 -0.919343 + -0.010211 0.344296 -0.938806 + 0.438005 0.896299 0.069280 + 0.258131 0.204251 0.944272 + 0.014357 -0.299107 0.954112 + 0.085759 0.134724 0.987165 + 0.027757 0.637185 -0.770211 + -0.183346 -0.339125 -0.922702 + 0.153817 0.369461 -0.916427 + 0.432240 0.890052 0.144831 + 0.101669 0.163110 0.981355 + 0.016117 0.243988 0.969644 + 0.035240 0.367198 0.929475 + -0.244618 -0.705948 -0.664680 + -0.028630 -0.340481 -0.939815 + 0.283859 0.382002 -0.879487 + 0.408293 0.898720 0.159997 + 0.409138 0.907497 0.095166 + -0.124622 0.293703 0.947738 + -0.426968 -0.449043 0.784894 + -0.262777 -0.885783 -0.382541 + 0.118150 -0.353628 -0.927894 + 0.399467 0.403737 -0.823057 + 0.545065 0.465090 -0.697564 + 0.100586 0.852403 0.513119 + -0.351115 0.271748 0.896031 + -0.538037 -0.557813 0.631950 + -0.187950 -0.937796 -0.291914 + 0.349097 -0.221212 -0.910602 + 0.542151 -0.195486 -0.817225 + 0.637027 0.593448 -0.491951 + -0.468912 0.408659 0.783020 + -0.468767 0.383414 0.795771 + -0.602983 -0.590500 0.536396 + -0.021332 -0.892683 -0.450179 + -0.215864 -0.954180 -0.207227 + 0.721444 -0.184036 -0.667570 + 0.393115 0.824110 0.407803 + -0.347266 0.707912 0.615034 + -0.609379 0.384594 0.693358 + -0.781319 -0.107703 0.614768 + -0.950017 -0.188427 0.248923 + 0.039384 -0.851612 -0.522691 + 0.870793 -0.227039 -0.436088 + 0.914201 0.403160 -0.041203 + 0.202744 0.894434 0.398601 + -0.802182 0.343867 0.488118 + -0.799100 0.539850 0.264577 + -0.957301 -0.241183 -0.159389 + -0.007112 -0.894969 -0.446071 + 0.870306 -0.446419 -0.208034 + 0.996224 0.082677 0.026484 + 0.428873 0.798387 0.422666 + 0.406003 0.839072 0.362105 + -0.836422 0.547065 -0.033442 + -0.934665 -0.201938 -0.292613 + -0.142851 -0.926600 -0.347858 + 0.883449 -0.456113 0.107141 + 0.980312 0.001357 0.197449 + 0.852605 0.110456 0.510749 + 0.077876 0.973275 0.216034 + -0.826980 0.416052 -0.378159 + -0.833520 -0.168964 -0.526018 + 0.048778 -0.997475 -0.051623 + 0.874015 -0.077470 0.479683 + 0.974299 -0.215411 0.065869 + 0.847941 0.369942 -0.379656 + -0.327053 0.563661 -0.758500 + -0.406062 0.303087 -0.862120 + -0.245445 -0.222074 -0.943631 + 0.632625 -0.770262 -0.080512 + 0.974287 0.215284 0.066466 + 0.473575 -0.624408 0.621161 + 0.423190 -0.751034 -0.506812 + 0.599163 0.148798 0.786678 + 0.532008 0.586028 -0.611178 + 0.509219 0.860473 -0.016798 + 0.307097 -0.477246 0.823364 + -0.364637 0.110765 -0.924538 + -0.514515 -0.847397 0.131123 + 0.533141 0.315609 0.784953 + 0.430381 0.862120 -0.267435 + -0.237446 0.647681 -0.723967 + -0.107313 0.674887 -0.730076 + -0.049596 0.537739 -0.841651 + 0.269229 -0.334040 0.903290 + -0.578223 0.143752 -0.803115 + -0.555613 -0.828614 0.068502 + 0.400876 0.387420 0.830183 + 0.399709 0.855063 -0.330301 + -0.054499 0.276669 -0.959419 + -0.427710 0.033664 -0.903289 + -0.248859 -0.026789 -0.968169 + 0.084026 -0.307445 0.947849 + -0.503748 -0.859896 -0.082558 + 0.311591 0.494682 0.811296 + 0.413535 0.804717 -0.425934 + 0.059991 0.241721 -0.968490 + -0.105352 -0.092648 -0.990110 + -0.395018 -0.841298 -0.369023 + -0.086021 -0.367974 0.925849 + 0.126425 0.379974 0.916317 + 0.440470 0.625674 -0.643831 + 0.040031 -0.045773 -0.998150 + 0.005571 -0.108014 -0.994134 + -0.334544 -0.776563 -0.533882 + -0.264722 -0.542255 0.797422 + 0.013873 0.305413 0.952119 + 0.449698 0.806176 -0.384516 + 0.128117 -0.050216 -0.990487 + 0.051616 -0.173472 -0.983485 + -0.389415 -0.904506 -0.173852 + -0.293677 -0.436352 0.850500 + -0.079680 0.315824 0.945466 + 0.397480 0.908771 0.127059 + 0.242501 -0.021723 -0.969908 + 0.124394 -0.265075 -0.956170 + -0.513523 -0.824069 0.239175 + -0.195044 0.020026 0.980590 + -0.305054 0.215746 0.927575 + 0.176756 0.917163 0.357169 + 0.468429 0.296124 -0.832397 + 0.269893 -0.420285 -0.866325 + -0.400817 -0.805585 0.436323 + -0.201296 0.323551 0.924551 + -0.394891 0.395169 0.829399 + 0.080005 0.945393 0.315960 + 0.587573 0.456849 -0.667867 + 0.475059 -0.309714 -0.823648 + -0.392975 -0.906704 0.153162 + -0.444856 0.203124 0.872264 + -0.610434 0.311973 0.728041 + -0.064356 0.915125 0.398002 + 0.703856 0.521919 -0.481859 + 0.680397 -0.227413 -0.696666 + -0.151520 -0.974352 -0.166376 + -0.670943 -0.061228 0.738977 + -0.850183 0.168967 0.498637 + -0.471909 0.740580 0.478375 + 0.659852 0.750783 -0.030319 + 0.893105 -0.078646 -0.442920 + 0.069752 -0.923116 -0.378142 + -0.847747 -0.338314 0.408497 + -0.979538 0.123499 0.158911 + -0.497420 0.804996 0.323348 + 0.624899 0.746598 0.228239 + 0.969204 -0.188589 -0.158360 + 0.299304 -0.851230 -0.431074 + -0.843085 -0.532322 -0.076422 + -0.994589 0.082290 -0.063416 + -0.224815 0.935784 0.271600 + 0.706141 0.637314 0.308538 + 0.924396 -0.379859 0.034623 + 0.364845 -0.879770 -0.304782 + -0.532585 -0.771172 -0.348778 + -0.813446 -0.392914 -0.428864 + -0.459240 0.858921 -0.226613 + 0.719513 0.537421 0.439863 + 0.862136 -0.322452 0.390828 + 0.065334 -0.980284 -0.186479 + -0.178182 -0.906810 -0.382030 + -0.659251 0.297029 -0.690769 + -0.588000 -0.231971 -0.774884 + -0.368271 -0.826146 -0.426451 + 0.650281 0.759684 -0.003701 + 0.012120 0.609585 -0.792628 + 0.923921 0.029406 0.381453 + 0.065978 -0.848073 -0.525756 + -0.535704 0.008493 -0.844363 + -0.850333 -0.150034 -0.504405 + -0.557909 0.330854 -0.761100 + 0.144321 0.533855 -0.833169 + -0.263208 -0.837121 -0.479531 + 0.233117 -0.820959 -0.521231 + -0.506707 -0.741915 -0.439101 + -0.987906 0.102497 -0.116347 + -0.298515 0.954283 -0.015277 + 0.858404 0.227479 0.459778 + 0.580395 -0.768785 -0.268537 + 0.384099 -0.920577 -0.070747 + 0.792447 -0.387015 0.471431 + 0.507832 -0.715757 -0.479374 + -0.749832 -0.531246 -0.394372 + -0.990781 0.135460 0.001878 + -0.058248 0.894578 0.443100 + 0.683814 0.453953 0.571249 + 0.995190 -0.094100 0.027255 + 0.954312 -0.263043 0.141763 + 0.804643 0.403781 0.435328 + 0.973912 0.067028 -0.216800 + 0.309766 -0.679697 -0.664873 + -0.821664 -0.541289 -0.178534 + -0.821905 0.337374 0.458966 + 0.101039 0.867201 0.487599 + 0.890748 0.447213 0.081044 + 0.866109 0.404624 0.293486 + 0.772862 0.568968 -0.280996 + 0.855463 0.168005 -0.489855 + 0.304563 -0.703884 -0.641707 + -0.715590 -0.684840 0.137571 + -0.690926 0.146855 0.707853 + 0.719381 0.651044 0.242140 + 0.683355 0.723944 -0.094505 + 0.579198 0.763941 -0.284471 + 0.731500 0.247852 -0.635199 + 0.719416 0.204658 -0.663744 + 0.248220 -0.722620 -0.645141 + -0.653242 -0.668648 0.355226 + -0.402595 0.580222 0.707997 + -0.236669 0.675873 0.697985 + 0.578416 0.674841 -0.458285 + 0.585972 0.235152 -0.775462 + 0.572679 0.197521 -0.795628 + 0.061975 -0.786137 -0.614937 + -0.615450 -0.571840 0.542421 + -0.543220 -0.553391 0.631403 + -0.087937 0.597353 0.797143 + 0.533372 0.684342 -0.497182 + 0.470604 0.252981 -0.845301 + 0.447020 0.121201 -0.886275 + -0.129777 -0.818157 -0.560157 + -0.205987 -0.820979 -0.532505 + -0.497309 -0.572524 0.651844 + 0.066389 0.630020 0.773736 + 0.505082 0.659616 -0.556595 + 0.408463 0.280660 -0.868555 + 0.351714 0.117455 -0.928710 + 0.269030 0.102038 -0.957711 + -0.185248 -0.684640 -0.704948 + -0.460927 -0.679934 0.570294 + 0.167564 0.639727 0.750114 + 0.481338 0.702373 -0.524391 + 0.313796 0.204335 -0.927243 + 0.200720 0.209236 -0.957043 + 0.174425 0.237536 -0.955590 + -0.253795 -0.619110 -0.743163 + -0.360007 -0.621611 0.695697 + 0.196237 0.473012 0.858924 + 0.495601 0.739114 -0.456169 + 0.514035 0.855630 -0.060541 + 0.170051 0.406954 -0.897480 + 0.081356 0.294187 -0.952279 + -0.393604 -0.627780 -0.671541 + -0.330394 -0.664422 0.670360 + 0.116902 0.150039 0.981745 + 0.211112 0.047325 0.976316 + 0.541370 0.840529 -0.020726 + 0.124819 0.471414 -0.873035 + -0.018610 0.366126 -0.930379 + -0.508345 -0.560043 -0.654169 + -0.324773 -0.723920 0.608656 + -0.259874 -0.783166 0.564903 + 0.257124 -0.102069 0.960973 + 0.574643 0.803302 0.156497 + 0.078324 0.629639 -0.772930 + -0.148592 0.431406 -0.889837 + -0.566839 -0.582315 -0.582755 + 0.405816 -0.792785 -0.454759 + 0.023468 -0.776745 0.629378 + 0.523719 -0.369385 0.767641 + 0.616776 0.637069 -0.462310 + 0.309954 0.665435 -0.679061 + 0.051586 0.285415 -0.957015 + 0.304701 -0.950728 -0.057206 + 0.323583 -0.472143 -0.819985 + 0.689321 0.556577 -0.463744 + 0.135632 0.013446 0.990668 + -0.216694 -0.930707 0.294667 + 0.481448 0.116989 0.868632 + 0.236016 0.246689 -0.939915 + 0.385054 0.502068 -0.774378 + -0.221726 -0.417741 -0.881096 + 0.190383 0.872415 -0.450163 + 0.327869 0.895952 0.299619 + 0.429993 0.900403 -0.066181 + 0.124996 0.029162 0.991729 + -0.293573 -0.828729 0.476469 + 0.013134 0.503125 -0.864114 + -0.369731 -0.558424 -0.742605 + 0.060264 0.398456 -0.915206 + 0.218843 0.632538 -0.742970 + 0.265062 0.471187 -0.841264 + 0.468402 0.875508 -0.118680 + 0.090689 0.163562 0.982356 + -0.375476 -0.718813 0.585086 + -0.328015 -0.618913 -0.713689 + 0.180617 0.329703 -0.926646 + 0.270767 0.300054 -0.914687 + 0.282677 0.376760 -0.882126 + 0.497933 0.808560 -0.313516 + -0.003489 0.184220 0.982879 + -0.415753 -0.663569 0.621953 + -0.266294 -0.697094 -0.665693 + -0.211365 -0.682334 -0.699818 + 0.364741 0.349271 -0.863118 + 0.304979 0.230264 -0.924103 + 0.548573 0.780106 -0.300835 + -0.108257 0.161471 0.980922 + -0.468818 -0.628185 0.620962 + -0.508898 -0.618401 0.598835 + -0.108163 -0.696213 -0.709639 + 0.452418 0.317586 -0.833341 + 0.403055 0.218452 -0.888721 + 0.536262 0.829977 -0.153500 + -0.157930 0.247385 0.955960 + -0.223692 0.346959 0.910814 + -0.577162 -0.589917 0.564696 + -0.083602 -0.741389 -0.665848 + 0.559231 0.296563 -0.774152 + 0.555447 0.317364 -0.768609 + 0.504391 0.863404 -0.011109 + 0.510232 0.859183 0.038308 + -0.322913 0.439018 0.838445 + -0.683840 -0.538323 0.492516 + -0.017068 -0.775515 -0.631099 + 0.673011 0.225451 -0.704434 + 0.691103 0.415513 -0.591376 + 0.780702 0.406449 -0.474662 + 0.444002 0.884224 0.144952 + -0.406716 0.472804 0.781689 + -0.736903 -0.547862 0.396006 + 0.139067 -0.790556 -0.596391 + 0.779834 0.228282 -0.582877 + 0.918229 0.242586 -0.313063 + 0.839245 0.522370 -0.150991 + 0.645046 0.753804 0.125283 + -0.776510 0.036175 0.629066 + -0.811594 -0.563193 0.155337 + 0.170308 -0.723850 -0.668608 + 0.991029 0.015424 -0.132757 + 0.293135 -0.695862 -0.655628 + 0.856190 0.478025 0.196040 + 0.561720 0.720382 0.406841 + -0.813755 0.396643 0.424825 + -0.864648 -0.460459 -0.200899 + -0.051392 -0.792205 -0.608087 + 0.916183 -0.352335 -0.190966 + -0.850112 -0.406948 -0.334221 + 0.851087 0.374397 0.368074 + 0.285922 0.789362 0.543282 + -0.858649 0.459636 0.226841 + -0.848622 -0.453383 -0.272551 + -0.210815 -0.827391 -0.520559 + 0.794093 -0.607503 -0.018867 + -0.942426 0.334346 -0.006780 + 0.758215 0.390969 0.521779 + 0.079795 0.859109 0.505534 + -0.832526 -0.137262 -0.536713 + -0.324146 -0.673869 -0.663950 + 0.795096 -0.459251 0.396120 + -0.178854 0.980041 0.086776 + 0.686282 0.320982 0.652677 + -0.435265 0.132347 -0.890522 + 0.384053 -0.671476 -0.633738 + 0.846848 0.521320 0.105236 + -0.087140 0.522222 -0.848346 + 0.680762 0.732147 -0.022893 + 0.486907 -0.428190 0.761298 + 0.698038 0.710164 0.091709 + 0.569214 0.789626 -0.229100 + 0.592158 -0.485905 0.642842 + -0.328477 0.585355 -0.741258 + -0.613356 0.570973 -0.545697 + 0.355977 -0.398534 0.845252 + -0.635143 -0.764250 -0.111873 + -0.751838 -0.659081 -0.018765 + 0.681991 0.658373 0.318485 + -0.131025 0.651581 -0.747178 + 0.511243 0.784575 -0.350816 + 0.707346 -0.580485 0.403360 + -0.737343 0.578082 -0.349495 + -0.694145 -0.706467 0.138086 + -0.842205 -0.175020 -0.509960 + -0.919078 -0.322631 -0.226286 + -0.979613 -0.200735 -0.007958 + 0.087070 -0.521191 0.848987 + -0.646072 -0.724489 -0.240225 + -0.619385 -0.264232 -0.739286 + -0.707396 -0.146753 -0.691415 + 0.626564 0.638037 0.447577 + -0.013204 0.705891 -0.708198 + 0.771599 -0.557763 0.305834 + 0.518404 0.744402 -0.420859 + -0.786875 0.542985 -0.293249 + -0.617751 -0.725069 0.304400 + -0.960324 -0.250992 0.121579 + -0.502497 -0.766833 0.399329 + -0.208572 -0.832152 0.513830 + -0.629777 -0.682620 -0.370689 + -0.572341 -0.359947 -0.736792 + -0.060264 0.567263 -0.821329 + 0.078190 -0.294449 0.952463 + 0.567947 0.800108 0.193038 + 0.903330 -0.408779 0.129976 + 0.606445 0.636253 -0.476872 + -0.645586 0.724268 -0.242187 + -0.957338 -0.160326 0.240415 + -0.422764 -0.768201 0.480769 + -0.564389 -0.705239 -0.429072 + -0.490920 -0.406792 -0.770401 + 0.029725 0.446010 -0.894534 + -0.547569 -0.684168 -0.481750 + -0.338806 -0.625986 0.702390 + 0.531168 0.688677 0.493543 + 0.633899 -0.769352 0.079174 + 0.293920 0.768759 -0.567998 + -0.670686 0.741713 0.006450 + -0.875829 -0.005454 0.482590 + -0.377710 -0.431477 -0.819245 + 0.138998 0.462086 -0.875874 + -0.314199 -0.454070 -0.833727 + -0.510151 -0.793388 -0.332087 + -0.089456 -0.281585 0.955357 + 0.459368 0.752850 0.471378 + -0.190917 -0.980483 0.046936 + 0.505442 0.438466 -0.743152 + -0.524104 0.818057 0.236851 + -0.801403 -0.071825 0.593796 + 0.188465 0.420606 -0.887452 + 0.343718 0.266548 -0.900450 + -0.256397 -0.464087 -0.847870 + -0.391394 -0.912428 -0.119523 + -0.134365 -0.308224 0.941777 + 0.378602 0.786739 0.487547 + -0.358744 -0.621684 0.696284 + 0.953813 0.270602 -0.130444 + 0.091388 0.928120 0.360889 + -0.367456 0.382416 0.847782 + 0.391990 -0.347865 -0.851665 + 0.944238 0.313440 0.100851 + -0.082668 -0.647913 -0.757215 + 0.328478 -0.933131 -0.146182 + 0.314727 -0.144855 0.938064 + -0.173768 -0.776918 0.605148 + 0.837719 -0.544476 0.042115 + -0.814844 -0.241452 0.527001 + -0.810469 -0.553891 0.190646 + 0.587704 -0.644037 0.489714 + -0.904495 -0.333230 0.266171 + 0.953451 -0.294098 0.066617 + 0.471791 -0.853132 -0.222661 + 0.736870 0.423666 -0.526811 + 0.656241 0.407930 -0.634777 + -0.459454 -0.386732 0.799588 + -0.971406 -0.168497 0.167270 + -0.860274 0.501441 -0.092119 + -0.069485 0.994142 -0.082788 + 0.031096 0.904700 -0.424914 + -0.512640 0.085715 0.854315 + -0.728263 0.266666 -0.631286 + -0.415900 -0.902042 0.115526 + -0.968780 0.157233 -0.191688 + 0.951803 -0.102293 0.289148 + 0.995286 -0.047794 0.084392 + -0.851831 0.471034 -0.229154 + 0.878122 0.341202 -0.335386 + 0.152340 -0.829019 0.538070 + 0.772256 0.133803 0.621062 + 0.303415 0.893733 0.330426 + 0.276326 0.821037 -0.499541 + 0.592163 0.805157 -0.032637 + 0.573947 0.817211 0.052448 + -0.458315 0.440279 -0.772076 + 0.694526 -0.221386 0.684559 + -0.683159 -0.680571 -0.264797 + 0.209675 0.860171 -0.464910 + 0.918704 0.306447 0.249145 + 0.924691 0.366685 -0.102412 + 0.757070 0.459932 0.464013 + 0.828563 0.543806 0.133261 + 0.694018 0.435959 0.572956 + 0.504633 0.862739 0.032048 + -0.370655 0.394032 -0.841043 + -0.060643 -0.862187 0.502947 + 0.794989 0.297984 0.528393 + -0.661793 -0.516587 -0.543294 + 0.661065 0.189316 0.726053 + 0.546859 0.259746 0.795913 + 0.582485 0.412567 0.700356 + 0.512311 0.832891 0.209356 + -0.266678 0.293283 -0.918078 + -0.578686 -0.559178 -0.593669 + 0.019265 -0.743810 0.668113 + -0.069835 -0.692010 0.718502 + 0.442868 0.311475 0.840745 + 0.432783 0.290148 0.853530 + 0.498297 0.802153 0.329014 + -0.183893 0.191653 -0.964081 + -0.500145 -0.655617 -0.565705 + -0.457600 -0.637458 -0.619879 + -0.159614 -0.690685 0.705320 + 0.362520 0.323982 0.873850 + 0.289218 0.196373 0.936905 + 0.478791 0.832312 0.279314 + -0.110248 0.156632 -0.981485 + -0.002787 0.199506 -0.979893 + -0.409159 -0.639855 -0.650518 + -0.230766 -0.673994 0.701769 + 0.253815 0.294725 0.921258 + 0.226682 0.262542 0.937916 + 0.460570 0.869991 0.176046 + 0.447428 0.887947 0.106574 + 0.054730 0.161040 -0.985429 + -0.352364 -0.722545 -0.594785 + -0.268513 -0.612024 0.743860 + 0.159400 0.308824 0.937667 + 0.233085 0.443890 0.865236 + 0.176797 0.579987 0.795209 + 0.398968 0.911227 -0.102417 + 0.127355 0.081623 -0.988493 + -0.288296 -0.815979 -0.501063 + -0.312884 -0.541042 0.780626 + 0.059685 0.403533 0.913016 + 0.036039 0.566579 0.823219 + 0.184122 0.810644 0.555838 + 0.332354 0.894097 -0.300218 + 0.118743 -0.009606 -0.992879 + -0.235048 -0.932494 -0.274239 + -0.230879 -0.366908 0.901151 + 0.430031 0.007478 0.902783 + 0.165266 0.653187 0.738941 + 0.227330 0.863524 0.450164 + 0.562906 0.808831 0.170087 + 0.628621 -0.568017 -0.531218 + 0.107580 -0.979462 0.170529 + -0.141713 -0.637797 0.757055 + 0.277011 -0.859976 0.428610 + 0.682889 -0.057018 0.728294 + 0.345626 0.341895 0.873871 + -0.275347 -0.553561 0.785973 + 0.968527 0.156631 -0.193446 + 0.135941 -0.396167 -0.908059 + -0.379587 -0.865278 0.327425 + 0.455728 0.769062 -0.448170 + 0.451435 0.752071 -0.480204 + 0.198267 0.424072 0.883659 + -0.335372 -0.465138 0.819251 + -0.221612 -0.245883 -0.943626 + -0.534130 -0.808154 0.248177 + 0.507573 0.725204 -0.465241 + -0.145113 -0.329953 -0.932777 + 0.148303 0.397710 0.905446 + -0.366331 -0.425544 0.827475 + -0.549016 -0.717657 0.428427 + 0.581708 0.738947 -0.339961 + -0.224732 -0.485116 -0.845079 + 0.039163 0.440770 0.896765 + -0.474658 -0.382437 0.792743 + -0.611367 -0.688790 0.389614 + 0.596719 0.723772 -0.346526 + 0.002165 -0.543377 -0.839486 + 0.003200 0.591843 0.806047 + -0.592551 -0.342774 0.728965 + -0.600015 -0.689007 0.406511 + 0.695425 0.599158 -0.396729 + 0.080501 -0.593976 -0.800445 + -0.027849 0.636489 0.770783 + -0.610729 -0.262629 0.747018 + -0.651868 -0.661455 0.370872 + 0.706652 0.685084 -0.176927 + 0.378212 -0.348561 -0.857590 + 0.005612 -0.654329 -0.756189 + -0.114844 0.598114 0.793140 + -0.697295 -0.189718 0.691222 + -0.716357 -0.685367 0.130783 + 0.730596 0.682711 -0.011595 + 0.479713 -0.434450 -0.762318 + -0.719019 -0.693865 -0.039533 + -0.316690 0.569317 0.758674 + -0.829278 -0.204368 0.520127 + 0.651720 0.738997 0.170719 + 0.625465 -0.487549 -0.609171 + -0.681542 -0.696865 -0.223338 + -0.944089 -0.230070 0.236142 + -0.660742 0.476087 0.580312 + 0.640530 0.694397 0.327925 + 0.731084 -0.539519 -0.417655 + -0.628224 -0.712979 -0.311441 + -0.979884 -0.196666 0.033908 + -0.749647 0.541258 0.380878 + 0.286663 0.852944 0.436246 + 0.716264 -0.630022 -0.300065 + 0.961974 -0.268978 -0.047508 + -0.554779 -0.731228 -0.396896 + -0.975413 -0.199473 -0.093698 + -0.787765 0.547654 0.281961 + 0.525697 0.643293 0.556612 + -0.293359 -0.788419 -0.540680 + -0.299880 -0.691451 -0.657242 + 0.776856 -0.618948 0.115746 + -0.977723 -0.077174 -0.195197 + -0.654748 0.680905 0.328138 + 0.391592 0.684661 0.614732 + -0.883113 -0.002295 -0.469154 + -0.759481 0.095372 -0.643501 + -0.334933 -0.796335 -0.503656 + 0.569194 -0.598980 0.563242 + -0.752732 0.643871 -0.137205 + 0.191390 0.864686 0.464422 + -0.528612 0.815998 -0.233913 + -0.408049 0.152012 -0.900216 + -0.105104 0.891366 -0.440930 + 0.244647 -0.645823 -0.723229 + 0.866117 -0.437745 0.241289 + 0.793927 0.584507 0.167429 + 0.218146 0.938497 0.267647 + 0.125218 0.968589 -0.214839 + -0.841750 0.484565 0.238020 + 0.087707 0.996107 -0.008822 + 0.909571 -0.076009 0.408538 + 0.034480 0.938974 -0.342255 + 0.996637 0.081924 0.001782 + -0.900791 0.394192 -0.182174 + -0.880872 -0.389762 0.268607 + -0.881217 -0.250395 0.400947 + -0.781708 0.418380 0.462484 + 0.129192 0.989069 0.071078 + 0.936703 0.190910 -0.293497 + 0.216123 -0.723792 0.655299 + 0.807765 0.230703 0.542487 + 0.418063 -0.770920 0.480526 + 0.095052 0.905117 -0.414402 + -0.696972 0.507210 -0.506920 + 0.666991 -0.726785 0.164029 + -0.692306 -0.713429 0.108309 + -0.004451 -0.968054 -0.250702 + -0.065305 -0.997734 -0.016185 + -0.345196 -0.624559 0.700546 + -0.654653 0.105198 0.748574 + -0.599960 0.495065 0.628457 + 0.852964 -0.025842 -0.521330 + 0.200783 0.613771 0.763526 + 0.477797 -0.874779 -0.080453 + -0.564846 -0.799047 -0.206091 + 0.122742 -0.688708 0.714573 + -0.673524 -0.706122 -0.218533 + 0.629481 0.190468 0.753310 + -0.320760 -0.932678 0.165000 + 0.232948 0.933565 -0.272381 + -0.491530 0.500522 -0.712654 + -0.907501 -0.029725 -0.418997 + 0.528513 -0.704501 -0.473658 + 0.682543 -0.701228 0.205948 + 0.916451 -0.233080 -0.325255 + -0.410139 0.091824 -0.907389 + -0.495602 -0.783462 -0.374920 + -0.499138 0.227299 -0.836179 + 0.007380 -0.680991 0.732254 + -0.658477 0.235624 -0.714765 + 0.483493 0.250889 0.838624 + 0.211774 0.920515 -0.328335 + -0.367668 0.454055 -0.811575 + -0.105914 0.430880 -0.896172 + -0.278374 -0.109621 -0.954197 + -0.244989 0.457919 -0.854570 + -0.374873 -0.901508 -0.216225 + 0.019303 -0.514146 0.857485 + 0.329130 0.331973 0.884006 + 0.251279 0.939614 -0.232345 + 0.220120 0.956238 -0.192761 + 0.078516 0.464922 -0.881863 + -0.109132 -0.124089 -0.986251 + -0.268487 -0.950256 -0.157886 + -0.110807 -0.545842 0.830529 + 0.182115 0.452623 0.872907 + -0.122225 0.406264 0.905545 + 0.212007 0.971870 -0.102573 + 0.283231 0.520559 -0.805480 + 0.132374 -0.088582 -0.987234 + -0.149981 -0.870508 -0.468745 + -0.277733 -0.641970 0.714660 + -0.392319 -0.644813 0.655974 + -0.195894 0.579425 0.791134 + 0.380024 0.857977 -0.345625 + 0.445170 0.489746 -0.749649 + 0.380450 0.128454 -0.915837 + 0.109325 -0.768859 -0.630003 + 0.162186 -0.862766 -0.478884 + -0.577722 -0.566556 0.587582 + -0.206777 0.784731 0.584328 + 0.519635 0.748913 -0.411228 + 0.585440 0.505580 -0.633757 + 0.595010 0.084132 -0.799303 + 0.759407 -0.168699 -0.628365 + 0.028712 -0.942275 -0.333608 + -0.781710 -0.375471 0.497947 + -0.231846 0.908285 0.348233 + 0.630453 0.721174 -0.287121 + 0.794667 0.403645 -0.453404 + 0.906173 0.336114 -0.256669 + 0.861509 -0.196962 -0.467982 + 0.029660 -0.945581 -0.324031 + -0.885230 -0.381072 0.266744 + -0.790415 0.470842 0.391857 + 0.241830 0.949242 0.201140 + 0.362063 0.868885 0.337564 + 0.713515 -0.145649 0.685334 + 0.968615 -0.224408 -0.106894 + 0.034784 -0.835139 0.548938 + -0.657234 -0.373871 0.654419 + -0.744289 0.164896 0.647181 + 0.807139 0.346471 -0.478000 + -0.383232 -0.295689 -0.875044 + -0.786611 0.264071 -0.558131 + -0.138503 0.987005 -0.081471 + 0.670904 -0.625519 -0.398262 + 0.843437 -0.121260 0.523365 + 0.056023 0.868139 0.493149 + -0.688763 -0.634566 -0.350615 + 0.410235 -0.901917 -0.135105 + -0.915873 0.398977 -0.044658 + 0.885467 0.073609 0.458835 + -0.088147 0.818091 0.568294 + -0.943237 0.330624 -0.031484 + -0.653373 -0.590299 -0.473974 + 0.485387 -0.847307 -0.215568 + 0.907663 0.174980 0.381484 + -0.269852 0.762082 0.588567 + -0.981963 0.171052 0.080554 + -0.609605 -0.659084 -0.440443 + 0.491300 -0.784968 -0.377425 + 0.925025 0.259109 0.277835 + -0.304797 0.701573 0.644123 + -0.952335 0.185306 0.242321 + -0.735926 -0.549935 -0.394949 + 0.517701 -0.722214 -0.458686 + -0.436342 0.652262 0.619806 + 0.915710 0.358129 0.182259 + -0.886268 0.172193 0.429974 + -0.874588 -0.445390 -0.191635 + 0.343693 -0.681633 -0.645950 + -0.835394 0.069529 0.545236 + -0.363841 0.567117 0.738917 + 0.952928 0.300317 -0.041678 + -0.864890 -0.501670 -0.017091 + 0.295988 -0.663157 -0.687469 + -0.839475 -0.539048 0.068623 + -0.771267 0.005272 0.636489 + -0.156521 0.551155 0.819591 + 0.925433 0.329013 -0.187947 + 0.283350 -0.559883 -0.778616 + 0.279251 -0.502192 -0.818426 + -0.788841 -0.537891 0.297326 + -0.732002 -0.050950 0.679394 + 0.338679 0.617418 0.709994 + 0.887116 0.422169 -0.186545 + 0.870979 0.219557 -0.439533 + 0.420545 -0.710248 -0.564526 + -0.205353 -0.745904 0.633606 + -0.092019 -0.126111 0.987739 + 0.932501 0.008923 0.361057 + 0.161997 0.824749 -0.541799 + 0.892456 0.347552 0.287628 + 0.858385 0.067713 -0.508517 + -0.882211 -0.134790 -0.451149 + 0.032352 0.506075 -0.861882 + -0.823510 -0.274168 -0.496651 + 0.120837 0.758900 -0.639898 + 0.886696 0.419150 0.195151 + 0.163741 -0.760217 0.628696 + 0.478111 -0.841782 0.250623 + -0.407877 -0.627844 -0.662909 + 0.126683 -0.746003 0.653782 + -0.067348 -0.725895 0.684501 + -0.723985 -0.442992 -0.528775 + 0.138832 0.698242 -0.702270 + 0.863635 0.390785 0.318469 + 0.734461 0.419176 0.533722 + -0.173271 -0.659075 0.731845 + -0.698127 -0.449345 -0.557412 + 0.169556 0.741132 -0.649595 + 0.268033 0.707363 -0.654061 + 0.604154 0.490683 0.627877 + -0.275290 -0.559890 0.781498 + -0.781232 -0.215788 -0.585757 + -0.642927 -0.197327 -0.740072 + 0.336381 0.629878 -0.700073 + 0.420862 0.664181 0.617850 + -0.472560 -0.372930 0.798505 + -0.521483 -0.450559 0.724604 + -0.470551 -0.658484 -0.587350 + 0.282120 0.332425 -0.899946 + 0.248702 0.771399 0.585739 + 0.171019 0.824789 0.538958 + -0.529088 -0.367532 0.764844 + -0.372942 -0.862569 -0.341891 + 0.407928 0.135799 -0.902858 + 0.646851 -0.035797 -0.761776 + 0.237932 0.802295 0.547459 + -0.593376 -0.232142 0.770723 + -0.314060 -0.911921 -0.264132 + -0.202893 -0.923043 -0.326844 + 0.838967 -0.077938 -0.538571 + 0.177783 0.877111 0.446171 + -0.649120 -0.305112 0.696814 + -0.760603 -0.441307 0.476163 + -0.060697 -0.974299 -0.216928 + 0.865429 -0.076697 -0.495126 + -0.127143 0.910479 0.393525 + -0.575132 0.797854 0.180699 + -0.804542 -0.469425 -0.363802 + -0.046173 -0.959600 -0.277555 + 0.919037 0.021291 -0.393596 + 0.837123 -0.496841 0.228853 + 0.076115 0.913475 -0.399712 + -0.875116 0.033360 -0.482762 + -0.063244 -0.997531 0.030518 + -0.142702 -0.822152 0.551092 + 0.958573 -0.230600 0.167214 + 0.120454 0.932274 -0.341109 + -0.998207 0.051940 0.029754 + -0.956137 -0.179141 -0.231754 + -0.133914 -0.937659 0.320721 + 0.390516 -0.000697 -0.920596 + -0.339337 0.760483 -0.553638 + -0.723364 -0.687723 -0.061504 + -0.784897 -0.379479 -0.489829 + -0.118288 -0.960958 -0.250135 + -0.554761 -0.830071 -0.056767 + 0.730613 -0.494790 0.470519 + -0.332748 0.788362 -0.517459 + -0.301287 0.861158 -0.409429 + -0.008974 0.307982 -0.951350 + 0.969470 0.242438 0.036777 + -0.383510 -0.922714 -0.038968 + 0.701286 -0.360600 0.614952 + -0.314310 0.781196 -0.539390 + 0.898061 0.401834 0.178927 + 0.679103 0.620511 0.392154 + 0.785855 0.547701 0.287152 + -0.213682 -0.968149 0.130490 + 0.659190 -0.134647 0.739824 + -0.226965 0.738147 -0.635315 + 0.569667 0.653893 0.497899 + 0.566151 0.085212 0.819885 + -0.175915 -0.953297 0.245516 + -0.068043 0.612030 -0.787902 + 0.560254 0.657247 0.504124 + 0.521064 0.054674 0.851765 + -0.306169 -0.915570 0.260754 + 0.003440 0.521509 -0.853239 + 0.560178 0.740988 0.370320 + 0.463205 0.124258 0.877497 + -0.467153 -0.788091 0.400849 + 0.139837 0.341249 -0.929513 + 0.523013 0.798269 0.298704 + 0.245582 0.487926 0.837626 + -0.722524 -0.547693 0.421889 + 0.312402 0.082640 -0.946349 + 0.494318 0.845285 0.202838 + 0.049951 0.635869 0.770179 + -0.734247 -0.582564 0.348569 + 0.471365 -0.082982 -0.878026 + 0.529116 0.827011 0.189971 + -0.068282 0.636741 0.768049 + -0.798327 -0.539465 0.267678 + 0.529149 -0.348312 -0.773744 + 0.564287 0.816051 0.125061 + -0.177950 0.744632 0.643317 + -0.841929 -0.516854 0.154974 + 0.649244 -0.511488 -0.562905 + 0.669882 0.738376 0.077842 + -0.295297 0.806231 0.512632 + -0.822571 -0.559946 0.099183 + 0.810070 -0.469855 -0.350746 + 0.590851 0.805926 0.037115 + -0.460542 0.828425 0.318769 + -0.634143 -0.758574 0.149763 + 0.929936 -0.351080 -0.109373 + 0.398745 0.887957 -0.229207 + -0.750329 0.625741 -0.213201 + -0.410643 -0.897737 0.159502 + 0.975582 0.042640 0.215458 + 0.162483 0.919776 -0.357227 + -0.722753 0.485693 -0.491661 + -0.505563 -0.580761 -0.638061 + 0.922226 -0.316658 -0.221873 + 0.212148 0.922539 -0.322358 + -0.012445 0.629066 -0.777253 + -0.442688 0.622823 -0.645073 + 0.921276 0.260863 0.288446 + 0.852671 -0.267234 0.448930 + 0.781308 -0.207885 -0.588508 + 0.249917 0.946984 -0.201899 + 0.846040 0.154823 -0.510144 + 0.319499 0.911557 -0.258813 + 0.841867 0.237559 0.484589 + 0.742113 -0.206576 0.637648 + -0.212590 -0.935249 0.283046 + 0.360191 -0.890219 -0.278877 + -0.708582 -0.242147 -0.662779 + -0.585829 -0.170170 -0.792368 + -0.810943 0.435439 -0.390851 + -0.192516 0.792688 -0.578432 + -0.701445 0.325405 -0.634102 + -0.615113 0.102669 -0.781726 + 0.313795 0.925779 -0.210867 + 0.693178 0.250952 0.675668 + 0.646413 -0.125059 0.752669 + -0.379059 -0.889909 0.253723 + -0.933166 -0.166035 -0.318800 + -0.836041 -0.102968 -0.538919 + -0.713042 -0.222950 -0.664729 + -0.585424 -0.375811 -0.718363 + -0.484858 0.026960 -0.874177 + 0.260459 0.959893 -0.103757 + 0.562255 0.438356 0.701223 + 0.558250 -0.027765 0.829208 + -0.347823 -0.921824 0.171053 + -0.298529 -0.938411 0.173972 + -0.350461 -0.892626 0.283542 + -0.438652 -0.696322 -0.568085 + -0.327991 -0.030716 -0.944181 + 0.233508 0.957186 -0.171083 + 0.458628 0.596404 0.658759 + 0.406850 0.093567 0.908691 + 0.106203 0.200530 0.973914 + -0.254132 -0.517211 0.817258 + -0.393483 -0.919316 0.005307 + -0.108240 0.021129 -0.993900 + 0.319574 0.930198 -0.180564 + 0.297924 0.674717 0.675276 + 0.102728 0.712739 0.693867 + -0.119664 0.283831 0.951378 + -0.232608 -0.001570 0.972569 + -0.455982 -0.834521 0.309281 + 0.125948 -0.123635 -0.984302 + 0.409891 0.856549 -0.313548 + 0.509198 0.817035 -0.270503 + 0.033766 0.724810 0.688121 + -0.233942 0.383435 0.893448 + -0.449530 0.040576 0.892343 + -0.579036 -0.808373 0.106071 + 0.253946 -0.227581 -0.940063 + 0.431269 -0.253856 -0.865774 + 0.614921 0.778761 -0.124114 + -0.098586 0.706936 0.700373 + -0.400017 0.392468 0.828224 + -0.566838 0.115009 0.815762 + -0.692731 -0.707276 0.141013 + -0.308759 -0.857395 -0.411755 + 0.589877 -0.322627 -0.740241 + 0.612568 0.789749 0.032515 + -0.142058 0.760869 0.633165 + -0.409148 0.517260 0.751692 + -0.685399 0.160671 0.710221 + 0.165296 -0.863079 -0.477254 + -0.909377 0.115256 0.399688 + 0.716750 -0.471491 -0.513776 + 0.692917 0.716724 0.078568 + -0.116280 0.860619 0.495795 + -0.658602 0.527466 0.536677 + -0.881270 -0.437997 -0.177544 + 0.027392 -0.949795 -0.311672 + -0.827479 0.520591 0.210389 + 0.823459 -0.544200 -0.160503 + 0.777568 0.598740 0.192090 + -0.261297 0.909172 0.324238 + -0.691546 0.705596 -0.154592 + -0.920844 -0.029347 -0.388826 + -0.097476 -0.995187 -0.010106 + -0.487249 0.860601 -0.148173 + 0.887940 -0.392514 0.239782 + 0.715729 0.646366 0.264466 + -0.523306 0.666217 -0.531324 + -0.538967 0.688224 -0.485657 + -0.896942 -0.261380 -0.356615 + 0.130610 -0.936061 0.326697 + 0.444843 0.895572 0.008068 + 0.741781 -0.355229 0.568835 + -0.027731 0.580515 -0.813777 + -0.369775 0.736784 -0.566053 + -0.515110 0.525658 -0.677012 + -0.618089 -0.289190 -0.730982 + 0.306601 -0.910996 -0.275831 + 0.960923 -0.052104 0.271870 + 0.826024 0.297133 0.478953 + 0.723523 -0.259638 0.639611 + 0.885407 -0.159783 -0.436490 + 0.375660 0.921671 -0.096965 + 0.921901 0.364370 0.131659 + 0.398989 0.907237 -0.133152 + 0.746168 0.264946 0.610768 + 0.571084 -0.313250 0.758774 + -0.342824 -0.916413 0.206542 + 0.325295 -0.945403 -0.019926 + -0.524432 -0.235911 -0.818118 + -0.357977 0.055205 -0.932097 + 0.416183 0.611677 -0.672788 + -0.618960 0.457779 -0.638222 + -0.553657 0.392016 -0.734703 + -0.384787 0.353009 -0.852832 + 0.389016 0.921171 -0.010564 + 0.569902 0.228681 0.789251 + 0.384373 -0.354545 0.852382 + -0.395064 -0.906903 0.146463 + -0.840507 -0.238836 -0.486318 + -0.729926 -0.350074 -0.587075 + -0.586783 -0.365890 -0.722365 + -0.407291 -0.300310 -0.862513 + -0.205977 0.334444 -0.919631 + 0.377817 0.915646 0.137287 + 0.397205 0.231770 0.887981 + 0.176959 -0.380594 0.907653 + -0.304583 -0.943912 0.127516 + -0.337048 -0.937186 0.089900 + -0.333133 -0.938074 -0.095081 + -0.190082 -0.271530 -0.943473 + 0.028843 0.466671 -0.883961 + 0.303171 0.870563 0.387567 + 0.150234 0.199992 0.968211 + -0.022186 -0.301819 0.953107 + -0.271399 -0.433564 0.859282 + -0.328963 -0.899930 -0.286197 + 0.024798 -0.265989 -0.963657 + 0.245778 0.535314 -0.808104 + 0.251792 0.887870 0.385081 + -0.021114 0.232996 0.972248 + -0.245705 0.156700 0.956595 + -0.409423 -0.312174 0.857275 + -0.303939 -0.940526 -0.151762 + 0.208084 -0.299882 -0.931006 + 0.406913 0.573523 -0.710981 + 0.172563 0.873864 0.454514 + 0.077945 0.853626 0.515022 + -0.408617 0.146771 0.900828 + -0.528096 -0.326884 0.783748 + -0.279969 -0.939121 -0.199173 + 0.358792 -0.317441 -0.877781 + 0.546857 0.564729 -0.618085 + 0.602074 0.642010 -0.474690 + -0.100189 0.808547 0.579839 + -0.522720 0.179184 0.833461 + -0.629100 -0.245121 0.737664 + -0.301478 -0.948781 -0.094480 + 0.505142 -0.265310 -0.821244 + 0.649388 -0.271110 -0.710489 + 0.661087 0.679987 -0.317146 + -0.248751 0.804257 0.539716 + -0.648216 0.300268 0.699753 + -0.759369 -0.203223 0.618109 + -0.258060 -0.947179 -0.190415 + -0.149533 -0.938510 -0.311190 + 0.800065 -0.347161 -0.489259 + 0.657859 0.748833 -0.080437 + -0.321539 0.862483 0.390814 + -0.813892 0.276315 0.511107 + -0.914693 -0.091442 0.393669 + -0.990773 -0.135362 -0.006823 + -0.074758 -0.926409 -0.369022 + 0.818434 -0.518678 -0.247263 + 0.618442 0.765736 0.176571 + -0.283115 0.914445 0.289198 + -0.930320 0.331897 0.156042 + -0.750298 0.661098 0.001566 + -0.957640 -0.006861 -0.287885 + -0.512862 -0.753377 -0.411577 + 0.670901 -0.735445 -0.094936 + 0.711061 0.608788 0.351810 + -0.046570 0.961534 0.270708 + 0.259735 0.912893 0.314905 + -0.554138 0.799024 -0.233435 + -0.760881 0.555422 -0.335510 + -0.822514 -0.214628 -0.526694 + 0.453125 -0.816519 0.357736 + 0.793506 0.292808 0.533491 + 0.785451 0.618098 -0.031970 + 0.041696 0.966464 -0.253396 + -0.292879 0.505925 -0.811333 + -0.615004 0.543188 -0.571592 + -0.621459 -0.326380 -0.712225 + 0.951088 -0.242932 -0.190830 + 0.703923 0.227646 0.672807 + 0.557856 -0.466990 0.686088 + 0.954897 -0.095586 -0.281132 + 0.644378 0.651314 0.400707 + 0.912593 0.322678 0.251103 + 0.272640 0.962068 0.009625 + 0.557239 0.339761 0.757659 + 0.491884 -0.251400 0.833576 + -0.501397 -0.864781 0.027476 + 0.419292 -0.848980 -0.321602 + -0.336633 0.169511 -0.926253 + -0.144952 0.461621 -0.875154 + 0.746654 0.606925 -0.272304 + -0.206085 0.852628 -0.480160 + -0.296034 0.548187 -0.782212 + -0.217815 0.524886 -0.822831 + 0.336882 0.938985 0.069406 + 0.487512 0.386278 0.783021 + 0.350473 -0.205451 0.913761 + -0.385435 -0.914487 0.123095 + -0.760980 0.043828 -0.647293 + -0.558252 -0.022611 -0.829364 + -0.441400 -0.040411 -0.896400 + -0.326750 -0.059481 -0.943237 + -0.010755 0.535696 -0.844343 + 0.407990 0.912987 0.000457 + 0.406614 0.408113 0.817379 + 0.144252 -0.268567 0.952399 + -0.397348 -0.917562 0.013990 + -0.500328 -0.849014 -0.169845 + -0.469685 -0.841030 -0.268448 + -0.121571 -0.107339 -0.986762 + 0.159328 0.428623 -0.889324 + 0.457569 0.883303 -0.102015 + 0.306792 0.474113 0.825285 + -0.124194 -0.394658 0.910396 + -0.300992 -0.373246 0.877548 + -0.410350 -0.888442 -0.205631 + 0.074968 -0.146900 -0.986306 + 0.326790 0.403216 -0.854766 + 0.447517 0.891794 0.066570 + 0.107057 0.472156 0.874990 + -0.065670 0.496712 0.865428 + -0.410651 -0.261848 0.873385 + -0.349986 -0.927005 -0.134803 + 0.207165 -0.242962 -0.947656 + 0.448591 0.450655 -0.771801 + 0.314200 0.916500 0.247600 + 0.187150 0.918379 0.348647 + -0.236842 0.495482 0.835706 + -0.491752 -0.168522 0.854272 + -0.325637 -0.941219 -0.089822 + 0.305250 -0.357061 -0.882797 + 0.528745 0.587436 -0.612657 + 0.624575 0.486654 -0.610797 + 0.202379 0.940086 0.274375 + -0.357592 0.476357 0.803251 + -0.611967 -0.135417 0.779204 + -0.317850 -0.941724 -0.110124 + 0.416080 -0.389408 -0.821730 + 0.588519 -0.343452 -0.731906 + 0.700014 0.472971 -0.535050 + 0.088903 0.953008 0.289606 + -0.496470 0.522904 0.692885 + -0.746165 -0.258040 0.613721 + -0.221032 -0.955306 -0.196304 + -0.134199 -0.929126 -0.344552 + 0.766157 -0.440552 -0.467886 + 0.926882 0.051458 -0.371808 + 0.387682 0.914679 0.114306 + -0.660895 0.541695 0.519408 + -0.916356 -0.237329 0.322439 + -0.969168 -0.234508 -0.075630 + 0.310678 -0.869948 -0.382974 + 0.786011 -0.567984 -0.244093 + 0.988758 -0.101001 -0.110253 + 0.573580 0.777802 0.256965 + -0.747120 0.611405 0.260759 + -0.862600 0.505420 -0.021712 + -0.730528 -0.521348 -0.441050 + 0.089277 -0.947752 -0.306262 + 0.673767 -0.738706 0.018723 + 0.959190 -0.245196 0.140831 + 0.429323 0.802237 0.414846 + -0.163770 0.901750 0.400033 + -0.888233 0.268197 -0.372978 + -0.774880 -0.459551 -0.434021 + -0.299211 -0.941995 -0.152045 + 0.851494 -0.285609 0.439756 + 0.783769 -0.400585 0.474592 + 0.820067 -0.066938 -0.568339 + -0.042362 0.782678 -0.620983 + -0.714098 0.192803 -0.672972 + -0.336813 -0.114199 -0.934621 + 0.505065 -0.663936 -0.551452 + 0.739568 -0.223318 0.634955 + 0.122742 -0.688708 -0.714573 + 0.007380 -0.680991 -0.732254 + -0.495602 -0.783462 0.374920 + 0.155849 -0.756611 -0.635020 + 0.792678 0.343985 -0.503324 + -0.598631 -0.768158 0.227099 + 0.551300 -0.037630 -0.833458 + 0.483493 0.250889 -0.838624 + 0.019303 -0.514146 -0.857485 + -0.374873 -0.901508 0.216225 + -0.410139 0.091824 0.907389 + -0.278374 -0.109621 0.954197 + -0.763505 -0.515694 0.388741 + 0.390145 -0.792108 -0.469416 + 0.909571 -0.076009 -0.408538 + 0.034480 0.938974 0.342255 + -0.037607 0.872969 0.486324 + 0.275799 0.926639 0.255489 + -0.493992 0.206828 0.844508 + 0.329130 0.331973 -0.884006 + 0.211774 0.920515 0.328335 + -0.110807 -0.545842 -0.830529 + -0.268487 -0.950256 0.157886 + -0.109132 -0.124089 0.986251 + -0.105914 0.430880 0.896172 + -0.244989 0.457919 0.854570 + 0.078516 0.464922 0.881863 + -0.910521 -0.011369 0.413306 + -0.489518 0.504517 0.711221 + -0.162482 -0.943571 -0.288571 + -0.367851 0.454111 0.811461 + 0.666991 -0.726785 -0.164029 + 0.997150 0.075438 -0.000954 + 0.114168 0.968820 0.219894 + -0.696972 0.507210 0.506920 + -0.900791 0.394192 0.182174 + 0.251279 0.939614 0.232345 + 0.182115 0.452623 -0.872907 + -0.277733 -0.641970 -0.714660 + -0.149981 -0.870508 0.468745 + 0.132374 -0.088582 0.987234 + 0.283231 0.520559 0.805480 + 0.220120 0.956238 0.192761 + 0.212007 0.971870 0.102573 + -0.658995 -0.748027 -0.078621 + 0.570413 -0.810004 0.136099 + 0.940760 0.176536 0.289493 + 0.095883 0.995335 0.010734 + -0.846302 0.477734 -0.235675 + -0.912004 -0.277167 -0.302370 + -0.122225 0.406264 -0.905545 + -0.392319 -0.644813 -0.655974 + 0.109325 -0.768859 0.630003 + 0.380450 0.128454 0.915837 + 0.445170 0.489746 0.749649 + 0.380024 0.857977 0.345625 + -0.195894 0.579425 -0.791134 + -0.126984 -0.988338 -0.084042 + 0.852964 -0.025842 0.521330 + 0.547431 -0.706590 0.448385 + 0.141108 0.987260 -0.073525 + -0.781515 0.419075 -0.462181 + -0.849885 -0.370271 -0.374959 + -0.577722 -0.566556 -0.587582 + 0.162186 -0.862766 0.478884 + 0.595010 0.084132 0.799303 + 0.586179 0.495461 0.641024 + 0.462353 0.816771 0.345131 + -0.198250 0.784156 -0.588045 + 0.015036 -0.967322 0.253104 + 0.350256 0.750921 -0.559856 + 0.916451 -0.233080 0.325255 + 0.569191 -0.279830 -0.773121 + -0.427781 0.498781 -0.753804 + -0.599643 0.096845 -0.794386 + -0.413668 -0.839789 -0.351617 + -0.830343 -0.345768 -0.437007 + 0.183549 -0.910697 0.370056 + 0.777076 -0.178971 0.603425 + 0.837870 0.326374 0.437553 + 0.117412 0.975097 -0.188151 + -0.299744 -0.928208 0.220415 + -0.786121 -0.604356 -0.129487 + -0.906636 -0.289545 -0.306878 + -0.903848 0.047723 -0.425184 + 0.804034 -0.341336 0.486845 + 0.738137 -0.443185 0.508666 + 0.914929 -0.000545 0.403616 + 0.798345 0.585150 0.142286 + 0.901767 0.334270 0.274008 + 0.251468 0.939346 -0.233224 + -0.659002 0.562651 -0.499139 + 0.213887 -0.890277 -0.402069 + -0.646071 -0.356136 -0.675099 + -0.414127 0.329597 -0.848448 + 0.924768 -0.301134 0.232642 + 0.798073 -0.088300 -0.596055 + 0.703891 0.662945 -0.255033 + 0.493041 0.869232 0.036696 + 0.470455 0.403080 0.784983 + -0.867041 0.399082 0.298284 + -0.829546 0.504503 0.239437 + 0.581521 0.806124 0.109530 + 0.790126 -0.456522 -0.409010 + 0.893499 -0.029475 0.448096 + 0.919004 -0.183874 0.348743 + -0.638994 -0.759362 0.122703 + -0.963944 -0.235207 0.124458 + 0.891513 0.166310 0.421361 + 0.911033 0.246814 0.330305 + -0.510820 -0.846934 -0.147531 + -0.586759 -0.748607 -0.308710 + -0.749717 -0.526001 -0.401557 + -0.920967 0.355606 0.159260 + 0.749866 -0.494411 -0.439612 + 0.723002 0.689273 0.046591 + -0.412463 -0.904111 0.111616 + 0.979118 0.134886 0.152101 + 0.562111 -0.042828 0.825952 + 0.936396 -0.010697 0.350784 + 0.351753 0.755262 0.553036 + 0.637447 0.765528 0.087340 + 0.938355 0.294100 0.181644 + 0.812712 -0.560655 -0.158637 + -0.974970 0.149101 0.164929 + -0.938448 -0.334029 -0.087973 + -0.947226 -0.279827 -0.156393 + -0.540098 -0.837580 -0.082184 + -0.942015 -0.297289 -0.155647 + 0.956675 0.291017 -0.009077 + 0.963098 0.269081 0.006114 + 0.985609 0.168590 0.012319 + 0.565247 -0.432689 -0.702336 + 0.687118 -0.021982 -0.726213 + -0.569445 -0.452250 -0.686442 + -0.665813 -0.583930 0.464455 + -0.802505 -0.091575 0.589575 + -0.746176 0.662786 0.062743 + -0.564703 -0.822665 0.065827 + 0.810154 0.086827 0.579751 + 0.681280 0.713539 0.163459 + -0.986734 -0.150803 0.060121 + 0.983157 0.180861 -0.026311 + 0.990620 0.134224 -0.025613 + 0.675629 0.671982 0.303260 + -0.771083 0.347540 0.533523 + 0.958580 -0.104415 0.264993 + 0.994476 0.097791 -0.038139 + 0.858652 0.333976 0.388814 + -0.818264 -0.249053 0.518090 + -0.771451 0.555539 0.310227 + -0.763281 0.625821 0.160468 + 0.703731 0.709687 -0.033286 + 0.949658 0.313263 0.003853 + 0.720565 -0.680875 -0.131134 + -0.939921 -0.340635 0.022699 + -0.942057 -0.335435 0.003311 + -0.948304 -0.317362 0.000707 + -0.959705 -0.280872 -0.008827 + -0.699456 -0.710909 0.073276 + 0.931269 0.212985 -0.295594 + 0.853438 0.228384 -0.468491 + 0.967547 0.068395 -0.243258 + 0.971586 0.021025 -0.235750 + 0.672593 0.422571 0.607497 + -0.995315 0.037755 -0.089012 + 0.918528 0.285993 -0.272974 + 0.747544 -0.520285 0.412895 + -0.925180 0.185097 0.331334 + -0.680897 0.731682 -0.031952 + -0.580969 -0.801895 -0.139424 + 0.853981 -0.519401 0.030638 + 0.728664 0.675546 0.112636 + -0.975566 -0.219202 -0.014889 + -0.898324 -0.035046 -0.437933 + -0.953124 0.127983 -0.274182 + -0.840824 -0.537053 -0.067746 + 0.996309 0.055135 -0.065800 + 0.874060 -0.304350 -0.378670 + 0.985053 -0.172253 0.000188 + -0.484420 0.558271 0.673551 + 0.744429 0.607679 0.276680 + -0.798782 -0.579204 -0.162700 + 0.940768 0.338734 0.014679 + 0.899746 0.353331 0.256151 + 0.947003 0.319397 0.034216 + 0.823454 -0.141849 0.549366 + -0.927159 -0.355919 -0.117039 + -0.549817 -0.834850 0.026949 + -0.750331 0.659413 0.046663 + -0.791278 -0.605723 0.083533 + 0.734803 0.676786 -0.045002 + 0.933812 0.303785 -0.188969 + 0.577622 -0.816128 -0.016988 + -0.934423 -0.355496 0.021792 + -0.934858 -0.314413 -0.164879 + -0.941517 -0.327055 0.081126 + -0.941840 -0.258605 0.214618 + -0.946792 -0.297226 0.123455 + 0.798695 -0.317829 -0.510951 + 0.565232 0.484037 -0.667998 + 0.835984 -0.185991 -0.516273 + 0.450572 0.266115 -0.852155 + 0.777657 0.587326 0.224272 + -0.362185 -0.708737 -0.605404 + -0.376142 0.642568 0.667550 + 0.765104 0.619793 0.174565 + -0.925028 -0.315700 -0.211320 + 0.835350 -0.228542 -0.499959 + 0.751193 -0.335473 -0.568478 + -0.712129 0.701830 0.017517 + -0.684718 -0.712271 0.154377 + -0.677577 -0.729863 -0.090495 + -0.654817 0.754512 -0.043886 + -0.694221 -0.711058 -0.111601 + 0.813147 -0.581067 -0.033957 + 0.736572 0.671772 0.078638 + -0.973575 -0.146858 -0.174883 + -0.968020 -0.250703 0.009173 + -0.981903 0.115082 -0.150409 + -0.998651 -0.051922 0.000248 + -0.998766 0.043886 -0.023245 + -0.353460 -0.935386 0.010913 + 0.694124 -0.401799 -0.597285 + 0.763148 0.591910 -0.259321 + 0.978760 0.131027 0.157674 + 0.873977 -0.303850 0.379262 + -0.111286 -0.579791 0.807129 + -0.211933 -0.977269 -0.005411 + -0.111532 -0.576954 -0.809126 + -0.352806 -0.935630 -0.011173 + 0.929755 0.368104 0.007355 + 0.879113 0.353361 0.319838 + 0.914600 0.355994 -0.191769 + 0.399695 0.654487 0.641787 + 0.579445 0.307578 -0.754744 + 0.914952 -0.358838 -0.184659 + 0.418877 0.886190 0.198013 + -0.924077 -0.365423 0.112016 + -0.925018 -0.379858 0.007052 + -0.952867 0.045294 0.299990 + -0.364322 -0.923539 -0.119773 + -0.717286 0.696340 0.024745 + -0.772635 -0.626185 0.104534 + 0.513693 -0.850102 0.115955 + 0.730780 0.679153 -0.068643 + 0.787626 0.486237 -0.378443 + -0.916535 -0.381193 -0.121056 + -0.926585 -0.349205 0.139630 + -0.740840 -0.641686 -0.198483 + -0.799111 0.438418 -0.411353 + -0.920519 -0.390546 0.010860 + -0.913926 -0.301645 -0.271570 + -0.482463 -0.873438 0.065840 + 0.793967 -0.579958 0.182387 + -0.514902 -0.855825 0.049382 + 0.493041 0.869232 -0.036696 + -0.867041 0.399082 -0.298284 + 0.790126 -0.456522 0.409010 + -0.771083 0.347540 -0.533523 + 0.851058 -0.400983 0.338988 + 0.802726 0.582178 0.129230 + -0.722926 -0.517753 -0.457504 + -0.824771 -0.037453 0.564225 + 0.780236 0.590625 0.205896 + 0.741101 -0.333884 -0.582486 + 0.417917 0.541331 0.729593 + -0.497012 0.797484 -0.342050 + -0.699460 -0.702877 -0.129304 + 0.654813 -0.748219 0.106716 + 0.570016 -0.775843 0.270461 + -0.590830 0.798936 -0.112343 + -0.699168 -0.687088 -0.197671 + 0.728787 -0.680490 -0.076177 + 0.805309 0.591177 -0.044578 + -0.882060 -0.051833 0.468277 + -0.953146 0.127721 0.274228 + -0.840730 -0.537193 0.067802 + -0.939084 0.309014 0.150437 + -0.484420 0.558271 -0.673551 + 0.744429 0.607679 -0.276680 + 0.779469 -0.310190 0.544252 + 0.917315 0.397965 -0.012541 + 0.901343 0.403818 0.156561 + 0.880621 0.352489 -0.316638 + 0.820175 0.323817 0.471653 + 0.891333 -0.002124 0.453344 + 0.066230 0.046930 0.996700 + 0.637541 0.569429 -0.518934 + 0.858669 -0.359485 -0.365320 + -0.871033 0.360000 0.334218 + 0.958047 -0.273686 -0.085104 + 0.416500 0.898785 0.136798 + -0.846335 0.438492 0.302392 + -0.911680 -0.410357 -0.021136 + -0.914825 -0.403675 -0.011872 + -0.472098 -0.838147 0.273189 + -0.921102 -0.388163 0.030014 + -0.368513 -0.928561 -0.044423 + -0.705734 0.688900 -0.165396 + -0.714241 -0.690352 0.115210 + 0.626185 -0.754326 0.197192 + 0.759604 0.630081 -0.161244 + 0.674892 0.723561 -0.144844 + -0.694070 -0.686179 -0.217774 + 0.066230 0.046930 -0.996700 + -0.882556 0.246378 -0.400491 + -0.859883 0.379065 -0.341923 + -0.454823 -0.890057 0.030559 + -0.811999 0.543314 -0.213232 + -0.510820 -0.846934 0.147531 + 0.669397 -0.732435 0.124280 + -0.631170 -0.775523 0.013737 + -0.752393 0.644348 -0.136822 + -0.829546 0.504503 -0.239437 + 0.581521 0.806124 -0.109530 + -0.586759 -0.748607 0.308710 + 0.749866 -0.494411 0.439612 + -0.742454 -0.620078 0.253505 + 0.852581 0.509343 0.116940 + 0.317140 -0.573554 -0.755287 + -0.777687 -0.506113 -0.372897 + -0.876962 0.381580 0.292122 + 0.731461 0.656123 0.185654 + 0.954053 0.128096 0.270877 + -0.645078 0.764066 0.008787 + -0.262374 0.948932 0.175182 + -0.877519 -0.307489 0.367982 + 0.111764 -0.788526 0.604761 + 0.506693 0.277915 0.816104 + -0.497306 0.829747 -0.253389 + -0.647476 -0.726171 -0.231194 + 0.727714 -0.677259 -0.108409 + 0.831217 0.555134 -0.030071 + -0.590356 0.500951 -0.632872 + 0.647929 0.723056 -0.239536 + 0.757447 -0.344835 0.554403 + 0.867453 0.192206 0.458893 + 0.879736 0.475462 -0.000754 + 0.862695 0.479957 0.159367 + 0.909157 0.384782 -0.159299 + 0.519251 0.573585 0.633544 + 0.850572 -0.165826 -0.499029 + 0.458674 0.869842 0.181641 + 0.908755 -0.416387 -0.028045 + 0.947208 -0.288171 0.140547 + 0.393432 0.881926 -0.259651 + 0.951439 -0.297102 -0.080580 + 0.382643 0.918324 0.101318 + -0.893957 0.423820 0.145661 + -0.365039 -0.930819 0.017949 + -0.902931 -0.422903 0.076613 + -0.884336 -0.466851 -0.000600 + -0.954248 -0.201081 0.221307 + -0.882314 -0.470456 -0.013893 + -0.379605 -0.923812 -0.049708 + -0.849908 -0.007119 -0.526882 + -0.569786 0.820741 -0.041572 + -0.871372 -0.090272 0.482247 + 0.350957 -0.774398 0.526438 + 0.432960 0.579722 0.690267 + 0.708247 0.705782 -0.016075 + -0.904043 0.358941 -0.232092 + -0.373819 -0.926463 -0.043888 + 0.413761 0.879581 -0.234818 + -0.857629 0.468375 -0.212359 + -0.374183 -0.924370 0.074340 + -0.753374 -0.655746 -0.049238 + 0.534423 -0.845033 0.017626 + -0.749672 0.659641 -0.053533 + 0.740049 0.671094 0.044274 + -0.685921 -0.555408 0.470143 + -0.920967 0.355606 -0.159260 + 0.723002 0.689273 -0.046591 + 0.565247 -0.432689 0.702336 + -0.723181 -0.576847 0.379812 + 0.825541 -0.383213 -0.414282 + -0.879642 -0.464838 0.100776 + -0.736843 -0.548416 -0.395350 + -0.626709 -0.770633 -0.115589 + 0.762170 -0.644542 0.060525 + 0.825437 0.534298 0.182150 + -0.461160 0.847416 -0.263092 + 0.283516 0.634013 0.719476 + -0.843026 0.291909 0.451769 + 0.380304 -0.782692 0.492709 + -0.780784 -0.580282 -0.231621 + -0.492750 0.669478 0.555875 + -0.925376 -0.365742 0.099556 + -0.055723 -0.818999 0.571083 + 0.821540 0.375808 0.428766 + -0.954627 0.296519 -0.027634 + 0.837525 -0.231186 0.495080 + 0.872295 0.475797 -0.112777 + 0.836184 0.065925 0.544473 + -0.752864 -0.360031 0.550975 + 0.864251 0.503030 0.005607 + 0.846600 0.478288 0.233470 + 0.856478 0.480712 -0.188044 + 0.936574 0.144738 0.319185 + 0.807943 0.384362 -0.446647 + -0.467037 -0.675848 0.570180 + -0.904160 0.331191 0.269829 + 0.716214 0.520046 -0.465392 + 0.897788 -0.429118 0.099168 + -0.887696 0.405996 0.217170 + 0.458612 0.881884 0.109341 + 0.906630 -0.412884 -0.086884 + 0.950135 -0.271877 0.152727 + 0.928982 -0.367956 -0.040010 + 0.428997 0.893279 -0.134219 + -0.908211 0.417950 0.021695 + -0.356078 -0.929586 0.095285 + -0.843710 -0.491483 0.215864 + -0.871710 -0.489998 0.004780 + -0.876533 -0.447594 -0.177060 + -0.395671 -0.918234 -0.017042 + -0.663419 -0.577043 -0.476337 + 0.871842 -0.008332 -0.489716 + 0.454568 0.860291 -0.230797 + 0.430621 0.891959 -0.137750 + -0.892833 0.411325 -0.183472 + -0.414534 -0.909973 0.010505 + 0.953265 -0.300102 0.035000 + 0.418380 0.903272 -0.095177 + -0.886132 0.448085 -0.118279 + -0.329202 -0.944259 -0.000668 + -0.752371 0.658716 -0.005710 + -0.816704 -0.570925 -0.083902 + 0.556261 -0.827481 -0.076481 + 0.737250 0.675337 0.019560 + -0.735305 -0.550048 -0.395946 + -0.746176 0.662786 -0.062743 + -0.564703 -0.822665 -0.065827 + 0.810154 0.086827 -0.579751 + 0.681280 0.713539 -0.163459 + -0.867235 -0.389871 0.309682 + -0.957953 0.092854 -0.271484 + 0.711908 0.499234 0.493915 + 0.411606 -0.698843 -0.584977 + 0.331004 -0.939964 -0.083091 + -0.810649 -0.232793 -0.537266 + 0.587452 -0.782552 0.206185 + -0.248202 0.959065 0.136342 + 0.456337 0.318910 0.830694 + -0.958875 -0.092989 0.268163 + -0.670013 0.700931 0.244497 + 0.013557 -0.846236 0.532635 + 0.851058 -0.400983 -0.338988 + 0.679333 0.457632 -0.573654 + 0.626900 -0.391799 0.673417 + 0.492996 0.443887 -0.748278 + 0.802726 0.582178 -0.129230 + -0.712129 0.701830 -0.017517 + -0.582354 0.060297 -0.810696 + 0.885295 0.464834 -0.013478 + 0.870632 0.277063 0.406493 + 0.795971 0.482131 -0.366033 + 0.778079 0.421155 0.466071 + 0.870309 0.448273 -0.203993 + -0.445175 0.056179 0.893680 + 0.797661 0.597849 0.079459 + 0.821213 0.558432 -0.117318 + 0.931279 -0.355866 -0.077965 + -0.141640 -0.984313 0.105200 + 0.899065 -0.426549 0.098677 + -0.869602 0.483806 0.098613 + -0.402769 -0.915181 -0.014863 + 0.431300 0.901907 -0.023327 + 0.914966 -0.387660 -0.112058 + 0.896981 -0.420051 0.137774 + 0.560540 0.793675 -0.236380 + -0.864496 0.485499 -0.130147 + -0.359445 -0.922116 0.143183 + -0.838566 -0.492957 0.231950 + -0.889384 -0.456744 -0.019509 + -0.729736 -0.628321 -0.269625 + -0.777224 -0.509073 -0.369821 + -0.318543 0.296715 -0.900273 + -0.609894 0.686001 -0.396776 + -0.210905 -0.976418 -0.046130 + 0.883462 0.438517 -0.164915 + 0.949994 -0.302323 0.078187 + 0.917836 -0.386075 0.092323 + 0.407639 0.913106 0.008213 + -0.885641 0.458084 -0.076146 + -0.454028 -0.890159 0.038401 + -0.356629 -0.931087 -0.076772 + 0.937662 -0.347545 -0.001706 + 0.418947 0.906826 0.046374 + -0.902254 0.430418 -0.026030 + 0.693353 0.717117 0.070745 + -0.683894 0.695492 0.220409 + -0.775279 -0.631202 -0.022929 + 0.683196 -0.717296 -0.136858 + 0.747544 -0.520285 -0.412895 + -0.517945 0.855127 0.022158 + -0.580969 -0.801895 0.139424 + 0.853981 -0.519401 -0.030638 + 0.812229 0.568846 -0.129221 + -0.684718 -0.712271 -0.154377 + -0.739869 -0.056768 -0.670352 + -0.877680 0.384106 -0.286600 + -0.830074 -0.441996 0.340026 + -0.677577 -0.729863 0.090495 + -0.617762 0.783517 0.066867 + 0.706320 0.493091 0.507911 + 0.809643 -0.553311 -0.195769 + -0.657865 -0.172557 -0.733101 + 0.654813 -0.748219 -0.106716 + 0.771423 0.600744 -0.209794 + 0.758019 -0.386723 0.525216 + 0.852581 0.509343 -0.116940 + -0.497012 0.797484 0.342050 + -0.699460 -0.702877 0.129304 + 0.875763 0.482357 0.019262 + 0.903967 0.179940 0.387900 + 0.870196 0.474256 -0.133569 + 0.893637 0.151866 -0.422316 + 0.827569 0.282013 -0.485386 + 0.405373 -0.525697 0.747874 + 0.156753 -0.382063 0.910745 + 0.152157 0.025673 -0.988023 + -0.215893 -0.188115 0.958125 + -0.535232 0.748402 0.391690 + -0.643711 0.745248 0.173897 + 0.817823 0.573504 -0.047529 + 0.938123 -0.346302 -0.000685 + -0.129151 -0.985118 0.113416 + -0.850214 0.524322 0.047153 + -0.424952 -0.905199 -0.005494 + 0.931907 -0.347521 -0.103821 + 0.396277 0.905100 -0.154141 + 0.625184 -0.568249 0.535012 + 0.408735 0.706859 0.577309 + -0.569847 0.812411 0.123541 + -0.792508 -0.170519 0.585538 + -0.720187 -0.608452 0.333343 + -0.699085 -0.701543 0.138266 + -0.820175 -0.536975 -0.197407 + -0.856734 -0.511710 0.064491 + -0.786937 -0.616969 -0.008890 + 0.179324 -0.719429 -0.671018 + 0.109270 -0.419658 -0.901081 + 0.850932 0.517532 0.089856 + 0.846483 0.532317 0.010267 + -0.659091 0.688219 -0.303237 + -0.170294 -0.984286 -0.046691 + 0.957054 -0.289883 -0.003900 + -0.465824 -0.884388 -0.029433 + 0.941823 -0.326627 0.079278 + 0.392940 0.914952 0.091978 + -0.866282 0.499509 0.006771 + -0.846123 0.504052 0.173228 + -0.421450 -0.900313 -0.108702 + 0.928722 -0.349964 -0.122475 + 0.504581 0.853462 0.130387 + 0.469680 -0.223765 -0.854008 + 0.251697 0.963440 -0.091829 + -0.849559 0.447865 -0.278687 + -0.533783 -0.716126 -0.449710 + 0.669012 0.739885 -0.070660 + -0.832037 0.551768 0.057153 + -0.694221 -0.711058 0.111601 + 0.813147 -0.581067 0.033957 + -0.645078 0.764066 -0.008787 + -0.626709 -0.770633 0.115589 + -0.908168 -0.316205 -0.274309 + -0.736133 -0.558454 0.382410 + 0.570016 -0.775843 -0.270461 + -0.743119 0.669023 -0.013491 + 0.552435 0.472749 0.686530 + 0.874347 -0.194619 0.444567 + 0.602799 -0.694952 -0.392014 + 0.636075 -0.296048 0.712576 + -0.750684 -0.130442 -0.647656 + 0.961414 -0.223449 -0.160479 + 0.731461 0.656123 -0.185654 + 0.438031 -0.594378 0.674421 + 0.311723 0.622647 -0.717733 + 0.506693 0.277915 -0.816104 + -0.262374 0.948932 -0.175182 + -0.877519 -0.307489 -0.367982 + 0.111764 -0.788526 -0.604761 + 0.704817 0.709366 -0.005681 + 0.360215 0.900069 0.245196 + 0.872005 0.466128 0.149441 + -0.331854 -0.833353 0.442036 + 0.821026 0.021258 0.570494 + 0.576368 0.799537 0.168940 + 0.218115 0.924668 -0.312114 + 0.620401 0.729457 -0.288090 + 0.826613 -0.132123 -0.547042 + -0.655578 0.752140 -0.067100 + -0.176625 -0.982904 0.051998 + 0.837893 0.545782 0.007585 + 0.933665 -0.348940 0.080691 + -0.846706 0.531840 0.015372 + -0.477147 -0.875861 0.072091 + 0.923705 -0.372276 -0.090439 + 0.409314 0.883095 -0.229361 + -0.942606 -0.309381 0.125608 + -0.834314 -0.548840 -0.051916 + -0.891244 -0.450969 0.048082 + -0.747496 -0.569747 0.341522 + -0.755445 0.269261 -0.597328 + -0.746468 0.593584 0.300738 + -0.430759 -0.899654 -0.071199 + 0.927421 -0.356048 -0.114544 + 0.854842 0.518027 -0.029883 + -0.698093 0.715545 -0.025723 + -0.141165 -0.989919 -0.011522 + -0.850168 0.525155 0.037761 + -0.460618 -0.881522 -0.103680 + 0.936422 -0.343863 0.069793 + 0.428456 0.888969 0.161736 + 0.279563 0.959329 -0.039151 + -0.866785 0.355735 -0.349480 + -0.327100 -0.818854 -0.471683 + 0.616865 0.053165 -0.785271 + 0.805309 0.591177 0.044578 + -0.590830 0.798936 0.112343 + -0.699168 -0.687088 0.197671 + 0.728787 -0.680490 0.076177 + -0.461160 0.847416 0.263092 + -0.780784 -0.580282 0.231621 + 0.405672 -0.908957 0.096054 + 0.783004 -0.612479 -0.108507 + 0.587452 -0.782552 -0.206185 + -0.888758 0.276237 -0.365789 + 0.089429 -0.559261 -0.824154 + -0.753858 -0.473158 0.455872 + -0.655134 0.750455 -0.087272 + -0.973972 0.068110 0.216191 + -0.847861 -0.480106 -0.225011 + 0.545438 0.582082 0.603058 + 0.437374 -0.599932 0.669915 + 0.614714 0.057047 0.786685 + 0.341668 -0.844424 -0.412567 + -0.530523 0.711276 0.461121 + -0.793134 0.046185 -0.607294 + 0.825437 0.534298 -0.182150 + 0.799098 -0.515971 0.308573 + 0.428455 0.708889 -0.560270 + -0.824755 0.545397 -0.149401 + 0.202774 0.978390 0.040435 + 0.001770 0.954456 0.298347 + -0.662698 0.493274 0.563483 + -0.885083 0.425979 -0.187538 + -0.236182 -0.951226 0.198459 + 0.789804 -0.082142 0.607834 + 0.500143 0.862682 0.075074 + -0.582664 0.392691 -0.711545 + -0.077711 0.978955 -0.188702 + -0.646443 0.604481 -0.465526 + 0.490495 0.869328 -0.060693 + 0.788859 -0.087437 -0.608323 + -0.234545 -0.950954 -0.201682 + -0.629109 0.751872 -0.197259 + -0.358291 -0.931971 0.055288 + 0.882932 -0.429199 0.190313 + 0.853454 0.519823 0.037425 + -0.517129 0.810656 0.274615 + -0.510662 -0.290441 0.809239 + 0.689491 -0.596930 0.410216 + 0.584659 0.637570 0.501676 + -0.790701 0.550325 0.268206 + -0.884414 0.455033 0.103713 + -0.570023 0.411206 0.711325 + -0.290689 -0.956662 -0.017262 + 0.836326 -0.522058 -0.167375 + 0.851017 0.523088 -0.046358 + -0.634636 0.712755 0.298693 + 0.277246 0.957847 -0.075257 + -0.665622 0.354731 -0.656592 + -0.158114 -0.873296 -0.460818 + 0.818582 0.047783 -0.572399 + 0.831217 0.555134 0.030071 + -0.497306 0.829747 0.253389 + -0.647476 -0.726171 0.231194 + 0.727714 -0.677259 0.108409 + -0.248202 0.959065 -0.136342 + -0.958875 -0.092989 -0.268163 + 0.013557 -0.846236 -0.532635 + 0.456337 0.318910 -0.830694 + -0.611715 -0.460042 0.643557 + -0.606470 0.778967 -0.159390 + -0.722189 -0.530911 -0.443369 + 0.363545 -0.870612 0.331465 + 0.651377 0.583084 0.485511 + 0.626132 0.086206 0.774937 + -0.365938 0.872567 0.323600 + 0.240327 -0.893919 -0.378353 + -0.696147 0.106539 -0.709950 + 0.726400 -0.621643 0.293093 + 0.776176 0.397521 -0.489416 + -0.592838 0.803953 -0.046935 + -0.664943 -0.190987 0.722063 + -0.209925 -0.953407 0.216672 + 0.799500 -0.048663 0.598691 + 0.484458 0.873118 0.054459 + -0.597062 0.368407 -0.712596 + 0.799069 -0.052186 -0.598971 + 0.475233 0.878907 -0.040943 + -0.209417 -0.952887 -0.219434 + -0.585411 0.386158 0.712865 + -0.619533 0.757355 -0.206381 + -0.466122 -0.869032 0.165873 + 0.842799 -0.474712 0.253648 + 0.833461 0.551219 0.038747 + -0.600109 0.679082 0.422749 + -0.400917 -0.906158 -0.134697 + 0.807886 -0.544969 -0.224340 + 0.813632 0.580340 -0.034765 + 0.821540 0.375808 -0.428766 + -0.492750 0.669478 -0.555875 + -0.925376 -0.365742 -0.099556 + -0.055723 -0.818999 -0.571083 + -0.526733 0.819350 -0.226315 + -0.746489 -0.471834 -0.469177 + 0.395481 -0.894377 0.209008 + 0.674928 0.642493 0.362871 + -0.150219 0.974571 0.166269 + 0.704682 0.174677 0.687685 + -0.720016 0.140565 -0.679572 + 0.079673 -0.984074 -0.158903 + 0.602799 -0.694952 0.392014 + 0.636075 -0.296048 -0.712576 + 0.874347 -0.194619 -0.444567 + 0.552435 0.472749 -0.686530 + -0.685184 0.725123 -0.068704 + -0.792646 -0.049503 0.607670 + -0.182973 -0.954521 0.235393 + 0.808328 -0.015247 0.588534 + 0.469686 0.882158 0.034522 + -0.610703 0.345142 -0.712685 + -0.183498 -0.953930 -0.237372 + 0.808184 -0.016955 -0.588686 + 0.460986 0.887139 -0.021828 + -0.599580 0.361507 0.714015 + -0.420105 0.901720 0.102044 + -0.696814 -0.350616 0.625714 + 0.604420 -0.540653 0.585125 + 0.539220 0.524746 0.658698 + 0.441410 0.857307 -0.264920 + -0.824829 0.287441 -0.486862 + -0.186141 -0.685126 -0.704240 + 0.525283 -0.059378 -0.848854 + -0.468816 0.844429 -0.259134 + -0.759769 -0.366730 -0.536899 + 0.232398 -0.916102 0.326724 + 0.611929 0.618974 0.492356 + 0.018807 0.969982 0.242450 + -0.681931 0.728229 0.068208 + 0.134277 0.198973 0.970762 + -0.581610 -0.802835 0.131095 + 0.614714 0.057047 -0.786685 + 0.341668 -0.844424 0.412567 + 0.437374 -0.599932 -0.669915 + -0.973972 0.068110 -0.216191 + -0.530523 0.711276 -0.461121 + 0.545438 0.582082 -0.603058 + -0.655134 0.750455 0.087272 + -0.847861 -0.480106 0.225011 + -0.793134 0.046185 0.607294 + -0.154824 -0.954721 0.254041 + 0.815997 0.018128 0.577772 + 0.455475 0.890108 0.015830 + -0.622886 0.322473 -0.712758 + -0.613111 0.338108 0.713987 + -0.156523 -0.954107 -0.255306 + 0.816430 0.018499 -0.577147 + 0.447326 0.894362 -0.004046 + -0.516427 0.847005 0.126040 + -0.994965 -0.040683 -0.091597 + -0.470523 -0.835144 0.284856 + -0.041363 0.278942 0.959417 + 0.626132 0.086206 -0.774937 + -0.365938 0.872567 -0.323600 + 0.240327 -0.893919 0.378353 + 0.651377 0.583084 -0.485511 + 0.363545 -0.870612 -0.331465 + -0.696147 0.106539 0.709950 + -0.606470 0.778967 0.159390 + -0.722189 -0.530911 0.443369 + -0.125326 -0.953936 0.272579 + 0.822793 0.051830 0.565972 + 0.441944 0.897042 -0.001412 + -0.634469 0.301200 -0.711848 + 0.434186 0.900741 0.012200 + -0.625125 0.315455 0.713938 + -0.128445 -0.953319 -0.273286 + 0.823372 0.054359 -0.564893 + 0.704682 0.174677 -0.687685 + -0.150219 0.974571 -0.166269 + -0.720016 0.140565 0.679572 + 0.079673 -0.984074 0.158903 + 0.674928 0.642493 -0.362871 + -0.526733 0.819350 0.226315 + 0.395481 -0.894377 -0.209008 + -0.746489 -0.471834 0.469177 + -0.583268 -0.667635 0.462669 + 0.377155 0.034845 0.925494 + 0.326486 0.839638 0.434069 + -0.612607 0.772208 0.168545 + 0.620469 0.372457 -0.690140 + 0.020371 0.930258 -0.366341 + -0.992067 -0.007787 0.125472 + -0.081182 -0.324565 -0.942373 + 0.018807 0.969982 -0.242450 + 0.134277 0.198973 -0.970762 + -0.681931 0.728229 -0.068208 + -0.581610 -0.802835 -0.131095 + 0.611929 0.618974 -0.492356 + -0.468816 0.844429 0.259134 + -0.759769 -0.366730 0.536899 + 0.232398 -0.916102 -0.326724 + 0.257633 0.288877 -0.922050 + -0.642702 0.693619 -0.325311 + -0.955314 -0.055364 0.290363 + -0.643900 -0.611312 -0.460098 + 0.857256 0.214875 -0.467911 + 0.341195 0.939341 0.034988 + 0.493981 0.855369 0.155973 + 0.848677 -0.528763 -0.012533 + 0.978918 0.077087 -0.189150 + 0.771573 0.244465 -0.587292 + 0.867314 0.496895 -0.029340 + 0.458807 0.871117 -0.175074 + -0.671515 0.640611 0.372405 + -0.214184 0.459078 0.862191 + -0.120125 -0.888511 0.442852 + 0.927479 -0.340396 0.154638 + -0.363537 -0.843443 0.395531 + 0.998297 0.058318 0.001371 + -0.205226 -0.938535 -0.277552 + 0.938004 0.065366 0.340405 + 0.401395 0.870514 -0.284760 + -0.768490 0.639839 0.005440 + -0.884951 -0.196505 0.422194 + -0.307084 0.158233 0.938436 + -0.911014 -0.387023 -0.142365 + 0.176968 -0.903410 0.390553 + -0.958589 -0.261462 0.112895 + 0.891524 -0.225978 0.392580 + -0.925677 -0.200089 0.321071 + 0.920627 0.322043 0.220757 + -0.139805 -0.919717 0.366846 + -0.143562 0.899459 -0.412751 + -0.830989 0.510365 -0.221325 + -0.651757 0.318135 -0.688478 + -0.702978 -0.589867 -0.397339 + -0.823157 0.338629 -0.455788 + 0.242093 -0.863499 0.442449 + 0.695606 -0.240698 0.676902 + 0.623273 0.728681 0.283820 + -0.240030 0.829110 -0.504938 + 0.078956 0.930559 -0.357529 + -0.489680 0.368492 -0.790207 + -0.555883 -0.672452 -0.488674 + 0.086203 -0.902895 0.421130 + 0.520443 -0.236448 0.820507 + 0.594233 0.654333 0.467691 + 0.538405 0.522075 0.661482 + 0.232357 0.941381 -0.244565 + -0.303983 0.347675 -0.886971 + -0.482654 -0.580055 -0.656188 + -0.069911 -0.884923 0.460461 + 0.316282 -0.303290 0.898878 + 0.007912 -0.633992 0.773299 + 0.393829 0.443390 0.805173 + 0.354056 0.934403 -0.039182 + -0.109564 0.335041 -0.935811 + -0.284837 -0.940651 -0.184511 + -0.410478 -0.651010 -0.638509 + -0.271496 -0.754403 0.597634 + 0.018470 -0.238278 0.971021 + -0.042243 -0.023337 -0.998835 + 0.283150 0.409138 0.867429 + 0.399481 0.915982 -0.037303 + 0.084611 0.137838 -0.986834 + -0.320970 -0.806182 -0.497040 + -0.354884 -0.784465 0.508598 + -0.150893 -0.272654 0.950206 + 0.385421 0.914613 -0.122201 + 0.158554 0.394645 0.905050 + 0.359710 0.933033 -0.007679 + 0.239369 0.165285 -0.956757 + -0.008405 -0.376511 -0.926374 + -0.393427 -0.913044 -0.107544 + -0.263756 -0.252521 0.930949 + 0.014760 0.393229 0.919322 + -0.159067 0.356093 0.920813 + 0.371374 0.928039 -0.028722 + 0.361853 0.106972 -0.926077 + 0.164497 -0.331002 -0.929182 + -0.340850 -0.935106 -0.096942 + -0.399367 -0.220347 0.889918 + -0.578983 -0.081339 0.811272 + -0.294419 0.467726 0.833397 + 0.515276 0.773141 -0.369788 + 0.533405 0.114457 -0.838080 + 0.314141 -0.439524 -0.841507 + -0.367743 -0.927920 -0.061067 + -0.554283 -0.831082 0.045527 + -0.696218 0.036244 0.716914 + 0.105975 0.943115 0.315125 + 0.702454 0.133130 -0.699167 + 0.394715 -0.519652 -0.757734 + 0.651731 -0.755933 -0.061748 + -0.262649 -0.506553 0.821231 + -0.334392 0.127677 0.933745 + -0.083378 0.574337 0.814362 + 0.771756 0.350778 0.530422 + 0.899968 -0.032650 -0.434731 + 0.744833 0.485019 0.458236 + -0.066113 -0.598168 0.798639 + 0.695769 -0.644884 -0.316277 + 0.127167 0.856840 0.499653 + -0.279504 0.347338 0.895117 + 0.620044 0.142302 -0.771554 + 0.674228 0.477278 -0.563580 + 0.825396 -0.056599 -0.561710 + -0.554699 0.126141 0.822434 + -0.539210 -0.842170 0.001252 + 0.308857 -0.454844 -0.835299 + -0.033152 0.746614 0.664432 + 0.208685 -0.426854 -0.879913 + 0.516302 0.326270 -0.791821 + 0.518106 0.838865 -0.166950 + -0.070184 0.502142 0.861932 + -0.448991 0.024028 0.893213 + -0.442426 -0.892304 -0.089734 + -0.414986 -0.907529 0.064631 + 0.036765 -0.399894 -0.915824 + 0.372725 0.375210 -0.848701 + 0.352322 0.863877 0.359980 + -0.050289 0.308754 0.949812 + -0.288627 -0.077164 0.954327 + -0.088708 -0.087139 0.992239 + -0.373059 -0.880725 0.291805 + -0.121050 -0.406325 -0.905675 + 0.273700 0.462294 -0.843429 + 0.369016 0.839952 0.397880 + 0.113662 0.309068 0.944224 + 0.180109 0.245336 0.952560 + 0.019615 -0.083631 0.996304 + -0.387940 -0.896133 0.215518 + -0.228031 -0.404334 -0.885729 + 0.149638 0.425710 -0.892401 + 0.431004 0.891617 0.138760 + 0.401531 0.907016 0.126863 + 0.246040 0.250860 0.936234 + 0.084340 -0.123909 0.988703 + -0.272927 -0.753142 0.598572 + -0.372838 -0.726977 -0.576625 + 0.046216 0.338271 -0.939913 + -0.060675 0.363128 -0.929762 + 0.355751 0.934139 -0.028733 + 0.383605 0.432986 0.815702 + 0.137315 -0.213983 0.967138 + -0.142841 -0.738801 0.658612 + -0.362047 -0.596608 -0.716227 + -0.398814 -0.360378 -0.843253 + -0.269986 0.248440 -0.930261 + 0.135923 0.931360 -0.337778 + 0.470485 0.486069 0.736464 + 0.267168 -0.351017 0.897446 + -0.035635 -0.837932 0.544610 + -0.514645 -0.049831 -0.855954 + 0.011717 -0.934882 0.354764 + -0.477131 0.227784 -0.848800 + 0.083916 0.972751 -0.216131 + 0.582178 0.407542 0.703546 + 0.439206 -0.364117 0.821290 + 0.047298 -0.981996 0.182887 + -0.688512 -0.218142 -0.691639 + 0.675344 -0.238238 0.697963 + -0.585192 0.341889 -0.735297 + 0.001757 0.975454 -0.220198 + 0.664547 0.543879 0.512420 + 0.920202 -0.058353 0.387070 + 0.065753 -0.982362 0.175048 + -0.821430 -0.384698 -0.421022 + 0.566051 0.822599 -0.054007 + -0.854573 0.148820 -0.497552 + -0.478423 0.759256 -0.441183 + 0.751784 0.643058 -0.145934 + 0.986451 -0.115578 0.116432 + 0.177279 -0.918967 0.352239 + -0.716623 -0.686457 0.123400 + -0.505679 0.820411 -0.266861 + -0.993851 0.024629 -0.107953 + -0.275217 0.939514 -0.203887 + 0.844864 0.484389 -0.227096 + 0.975819 -0.200233 -0.087657 + 0.326978 -0.911448 0.249696 + -0.642156 -0.719950 0.263265 + -0.996070 -0.001707 0.088548 + -0.893207 -0.254778 0.370499 + -0.077689 0.989159 0.124611 + 0.609715 0.719812 -0.331842 + 0.802193 -0.527551 -0.279600 + 0.625801 -0.752658 -0.204643 + -0.467012 -0.837227 0.284518 + -0.473554 -0.737180 0.481988 + -0.581916 -0.233253 0.779081 + 0.065281 0.634355 0.770281 + 0.757477 0.561031 -0.333875 + 0.909212 -0.416081 0.014469 + 0.077248 -0.757525 0.648220 + -0.491636 -0.124247 0.861891 + 0.459573 0.841313 0.284578 + -0.760955 0.618981 0.194449 + 0.133222 -0.643775 0.753529 + 0.963406 -0.106358 0.246044 + -0.944049 0.329620 0.011034 + -0.712311 -0.508782 0.483481 + 0.890666 -0.122216 -0.437923 + 0.103866 0.823614 -0.557559 + 0.401817 -0.896641 0.185953 + -0.100348 0.875578 -0.472540 + -0.960155 0.272399 0.062460 + -0.686074 -0.606224 0.402238 + 0.517978 -0.845922 0.126942 + 0.893497 -0.018735 -0.448678 + 0.952955 0.124080 -0.276553 + -0.255297 0.780741 -0.570322 + -0.984758 0.129551 -0.116049 + -0.648944 -0.660933 0.376881 + 0.595572 -0.751300 0.284330 + 0.462271 -0.733817 0.497814 + 0.947533 0.203966 -0.246130 + -0.344521 0.717541 -0.605344 + -0.977163 0.079745 -0.196962 + -0.672968 -0.646012 0.360253 + -0.904318 -0.403621 0.138924 + 0.234166 -0.760557 0.605574 + 0.899841 0.396566 -0.181721 + -0.409964 0.688056 -0.598756 + -0.936055 0.095454 -0.338659 + -0.854090 -0.038748 -0.518680 + -0.872610 -0.486633 -0.041714 + 0.274141 -0.684324 0.675683 + 0.904487 0.425966 -0.021356 + -0.221320 0.667442 -0.711012 + -0.105356 0.616506 -0.780269 + -0.795489 -0.026837 -0.605373 + -0.848457 -0.518284 -0.107249 + 0.321658 -0.599145 0.733186 + 0.894603 0.421431 0.148595 + 0.860254 0.429372 0.274959 + -0.015920 0.440902 -0.897414 + -0.726682 -0.048860 -0.685234 + -0.758887 -0.631887 -0.157508 + 0.283665 -0.580033 0.763607 + 0.722072 -0.464163 0.512995 + 0.908578 0.377162 0.179539 + -0.292723 0.151369 -0.944140 + 0.694403 0.095985 -0.713156 + -0.171450 -0.328918 -0.928665 + -0.299893 -0.953869 0.014107 + 0.934567 0.345753 -0.083905 + 0.308349 -0.695272 0.649244 + 0.446374 -0.482859 -0.753390 + 0.086316 0.728628 0.679449 + 0.154003 0.519026 0.840771 + 0.214562 -0.177984 -0.960357 + 0.477173 0.865114 -0.154545 + -0.154149 -0.925727 -0.345352 + -0.194117 0.339197 0.920470 + -0.534831 -0.479521 0.695712 + -0.266201 -0.781652 -0.564054 + 0.077021 0.624715 0.777045 + -0.282241 -0.716576 -0.637855 + 0.170271 -0.008754 -0.985358 + 0.477142 0.878715 0.013958 + 0.119253 0.485401 0.866120 + -0.069334 0.306965 0.949192 + -0.475704 -0.518737 0.710365 + -0.362970 -0.622677 0.693199 + -0.298431 -0.679309 -0.670431 + 0.082180 0.064263 -0.994544 + 0.448863 0.883375 0.134799 + 0.140434 0.328044 0.934165 + 0.053575 0.280689 0.958302 + 0.180499 0.241697 0.953416 + -0.251081 -0.700891 0.667615 + -0.352991 -0.643113 -0.679561 + 0.066502 0.320097 -0.945048 + 0.415241 0.731599 0.540683 + 0.187468 0.202037 0.961268 + 0.336972 0.274730 0.900541 + 0.253265 0.117450 0.960241 + -0.163102 -0.739190 0.653449 + -0.431591 -0.605451 -0.668699 + 0.089510 0.552188 -0.828901 + 0.440285 0.664821 0.603459 + 0.501205 0.686650 0.526598 + 0.400523 0.236283 0.885298 + 0.356758 0.120614 0.926378 + -0.147855 -0.774061 0.615605 + -0.479441 -0.523078 -0.704646 + 0.036497 0.627531 -0.777736 + -0.065444 0.637261 -0.767864 + 0.518993 0.656163 0.547810 + 0.463078 0.208958 0.861334 + 0.426245 0.114578 0.897322 + -0.081907 -0.834615 0.544710 + -0.540125 -0.534422 -0.650122 + -0.592638 -0.603848 -0.533055 + -0.248275 0.653205 -0.715320 + 0.519423 0.689551 0.504697 + 0.589199 0.210518 0.780081 + 0.568127 0.131783 0.812321 + 0.092273 -0.800626 0.592016 + 0.326450 -0.743599 0.583516 + -0.656444 -0.635595 -0.406325 + -0.438224 0.655090 -0.615481 + 0.566335 0.742975 0.356726 + 0.709174 0.402404 0.578915 + 0.709125 0.147419 0.689500 + 0.857156 0.196470 0.476113 + 0.420934 -0.745835 0.516279 + -0.798035 -0.554087 -0.236911 + -0.559787 0.577719 -0.594036 + 0.251388 0.922934 -0.291541 + 0.799216 0.539200 0.265551 + 0.943377 0.322978 0.075670 + 0.979345 0.108581 0.170569 + 0.341495 -0.789771 0.509552 + -0.859625 -0.496178 0.121869 + -0.828366 0.415148 -0.376114 + 0.157421 0.892831 -0.421986 + 0.005872 0.884248 -0.466980 + 0.889348 0.358829 -0.283375 + 0.997835 -0.008944 -0.065163 + 0.304995 -0.775094 0.553360 + -0.695623 -0.599371 0.396060 + -0.985506 0.145277 -0.087596 + -0.984395 0.115908 0.132406 + -0.009099 0.924049 -0.382167 + 0.860328 0.346948 -0.373447 + 0.968066 -0.065015 -0.242117 + 0.278038 -0.886234 0.370518 + -0.511158 -0.743701 0.430843 + -0.482277 -0.741310 0.466765 + -0.860224 -0.103056 0.499394 + 0.052384 0.998558 0.011749 + 0.666718 0.448365 -0.595362 + 0.770428 -0.523328 -0.364099 + 0.215815 -0.968950 0.120665 + -0.228219 -0.114765 0.966822 + 0.422277 -0.736875 -0.527918 + -0.495638 0.097952 0.862988 + 0.574955 0.728345 0.372747 + 0.783946 0.133769 -0.606247 + 0.730241 -0.652034 -0.203963 + 0.382372 0.358949 0.851438 + 0.987333 -0.140342 -0.074005 + 0.890445 0.380609 -0.249488 + -0.478607 -0.043318 0.876960 + 0.155472 0.824643 0.543867 + -0.075888 -0.968343 0.237809 + 0.091258 -0.765258 -0.637223 + 0.887332 0.386725 -0.251171 + 0.182698 -0.721399 -0.667986 + -0.852522 -0.176425 0.492017 + 0.115651 0.788010 0.604703 + -0.822265 -0.297492 0.485159 + 0.834951 0.350628 -0.424166 + 0.067228 -0.754652 -0.652672 + -0.706828 -0.425636 0.565003 + 0.095676 0.711480 0.696163 + 0.678143 0.455001 -0.577145 + -0.131376 -0.672933 -0.727943 + -0.715839 -0.375308 0.588828 + 0.143993 0.700248 0.699228 + 0.516655 0.606562 -0.604276 + -0.308620 -0.564281 -0.765729 + -0.772442 -0.249574 0.583992 + 0.222666 0.707872 0.670327 + 0.402554 0.715660 -0.570772 + -0.371274 -0.578111 -0.726598 + -0.600959 -0.454326 0.657599 + 0.384553 0.650087 0.655367 + 0.277553 0.771037 -0.573120 + -0.458030 -0.484638 -0.745208 + -0.414146 -0.769341 0.486413 + 0.325880 0.519950 0.789591 + 0.186734 0.837117 -0.514164 + -0.549718 -0.362963 -0.752375 + -0.345648 -0.885193 0.311385 + 0.367069 0.199681 0.908509 + 0.187987 0.893588 -0.407629 + -0.618246 -0.291333 -0.729998 + -0.351559 -0.899257 0.260277 + 0.592255 -0.020292 0.805495 + 0.176610 0.854560 -0.488402 + -0.661231 -0.280282 -0.695856 + -0.197979 -0.948596 0.246921 + 0.767266 0.000495 0.641328 + -0.188851 0.926159 -0.326442 + -0.657305 -0.451184 -0.603642 + -0.146034 -0.964878 0.218367 + 0.777848 -0.001234 0.628451 + -0.247142 0.959021 0.138559 + -0.886227 -0.457773 0.071029 + 0.071000 -0.995962 0.054947 + 0.928134 -0.370541 -0.035591 + 0.076287 0.988265 0.132334 + -0.781740 0.010610 0.623514 + 0.043366 -0.998550 -0.031904 + 0.993842 -0.083013 0.073402 + 0.050273 0.968592 0.243522 + -0.957394 0.285955 -0.040327 + -0.143889 -0.920277 -0.363848 + 0.971926 -0.226009 0.065419 + 0.026994 0.496005 0.867900 + -0.903311 0.366300 0.223277 + -0.543597 -0.836812 0.065170 + 0.527272 -0.779469 0.338250 + -0.639887 -0.659866 0.393855 + -0.657546 -0.752853 -0.029070 + 0.638662 -0.567570 -0.519591 + -0.845391 0.180780 0.502625 + 0.778257 0.290629 0.556642 + 0.835132 -0.509128 0.208192 + -0.530593 -0.847475 -0.016024 + 0.647997 -0.428554 -0.629636 + -0.174374 0.783694 0.596169 + 0.868225 0.477817 -0.133704 + 0.787497 0.560751 -0.255747 + -0.423105 -0.895026 -0.141107 + 0.593027 -0.252799 -0.764468 + -0.272044 0.762874 0.586528 + 0.695097 0.595856 -0.402239 + -0.209814 0.696663 0.686031 + -0.220510 -0.941132 -0.256216 + 0.557311 0.027406 -0.829851 + 0.572712 0.635794 -0.517462 + -0.159987 0.679528 0.715993 + -0.249738 -0.946369 -0.204981 + 0.547915 0.124109 -0.827276 + 0.550846 0.667954 -0.500406 + -0.143056 0.687805 0.711659 + -0.434157 -0.855087 -0.283432 + 0.484786 0.157165 -0.860396 + 0.577728 0.703042 -0.414683 + 0.016860 0.509210 0.860477 + -0.703370 -0.589734 -0.396843 + 0.314126 0.427124 -0.847874 + 0.547398 0.782263 -0.297353 + 0.285468 0.266509 0.920587 + -0.732182 -0.556080 -0.393301 + 0.077865 0.630138 -0.772569 + 0.537266 0.823359 -0.182826 + 0.387880 0.073321 0.918789 + -0.787732 -0.545812 -0.285600 + -0.054252 0.643377 -0.763625 + 0.534446 0.827492 -0.172117 + 0.483657 -0.028065 0.874808 + -0.855267 -0.485561 -0.180965 + -0.126485 0.724083 -0.678015 + 0.625690 0.771199 -0.117318 + 0.625252 -0.213833 0.750557 + -0.868940 -0.488852 -0.077246 + -0.281350 0.787857 -0.547836 + 0.678908 0.723682 -0.123967 + 0.732319 -0.466031 0.496511 + -0.810572 -0.585128 -0.024460 + -0.442267 0.845231 -0.299975 + 0.601961 0.792431 -0.098467 + 0.854299 -0.490745 0.171296 + -0.497875 -0.865834 -0.049508 + -0.831778 0.472855 0.290780 + 0.309943 0.922652 0.229455 + 0.956216 -0.278390 -0.090277 + -0.270664 -0.948442 -0.164922 + -0.923165 0.048511 0.381329 + -0.262274 0.813320 0.519348 + 0.999220 -0.011927 -0.037653 + -0.006458 -0.860174 0.509959 + -0.799517 0.290529 0.525705 + -0.239981 0.637510 0.732114 + 0.584673 0.359584 0.727226 + 0.863965 0.193694 0.464808 + 0.873342 -0.360712 0.327355 + 0.874811 -0.162880 -0.456262 + 0.329018 0.476388 0.815353 + 0.923429 0.281034 -0.261342 + -0.529143 -0.267008 0.805428 + -0.604193 -0.595099 0.529913 + -0.275252 -0.959566 -0.058901 + 0.766381 -0.196706 -0.611528 + -0.268952 -0.960651 -0.069388 + -0.748318 0.408872 0.522346 + 0.379939 0.920129 0.094918 + 0.841399 0.257028 -0.475378 + -0.925654 -0.206624 0.316973 + -0.827305 0.398313 0.396123 + -0.822550 -0.131549 0.553269 + 0.650389 -0.148352 -0.744974 + -0.211234 -0.975089 -0.067687 + -0.716682 -0.229462 0.658570 + 0.309775 0.942687 0.124021 + 0.703054 0.296179 -0.646524 + -0.719087 0.282626 0.634851 + -0.608676 0.153765 0.778377 + 0.548167 -0.042478 -0.835290 + -0.109304 -0.988517 -0.104344 + -0.579366 -0.364202 0.729172 + -0.475525 0.105924 0.873302 + 0.256139 0.958905 0.122042 + 0.574003 0.389550 -0.720258 + 0.158180 0.969941 0.184916 + 0.374511 0.069274 -0.924631 + -0.009703 -0.774854 -0.632066 + -0.429226 -0.524691 0.735163 + -0.328857 0.051942 0.942950 + 0.127977 0.957843 0.257214 + 0.427380 0.592882 -0.682523 + 0.105314 0.195589 -0.975015 + -0.080163 -0.283659 -0.955569 + -0.316184 -0.872999 0.371350 + -0.049248 0.010098 0.998736 + 0.260464 0.948751 0.178968 + 0.253696 0.695144 -0.672616 + -0.117034 0.301250 -0.946336 + -0.226506 0.060203 -0.972147 + -0.378484 -0.914716 -0.141581 + 0.101350 -0.195629 0.975427 + 0.345141 0.908193 0.236777 + 0.104954 0.719627 -0.686383 + -0.286901 0.317225 -0.903911 + -0.394199 0.107973 -0.912660 + -0.485545 -0.863843 -0.134244 + 0.279836 -0.254588 0.925676 + 0.473591 0.827936 0.300388 + 0.006072 0.739929 -0.672657 + -0.451212 0.281963 -0.846702 + -0.535913 0.151115 -0.830640 + -0.579320 -0.807417 -0.111651 + 0.467702 -0.233360 0.852524 + 0.568195 0.808229 0.154666 + -0.016395 0.773921 -0.633070 + -0.478113 0.475705 -0.738318 + -0.570236 0.329879 -0.752337 + -0.581917 -0.808547 -0.087320 + 0.634234 -0.282617 0.719635 + 0.590522 0.807021 0.001503 + -0.132290 0.763563 -0.632038 + -0.692622 0.491407 -0.528010 + -0.878583 -0.002793 -0.477581 + -0.145714 -0.951835 0.269773 + 0.735718 -0.438937 0.515804 + 0.702098 0.711412 0.030837 + -0.221852 0.845708 -0.485344 + -0.797682 0.556637 -0.232074 + -0.916073 -0.394108 0.074092 + 0.110551 -0.965707 0.234924 + 0.787611 -0.586725 0.188209 + 0.778270 0.622985 -0.078643 + -0.257447 0.924418 -0.281376 + -0.660346 0.726936 0.188436 + -0.994487 -0.063782 0.083234 + 0.061392 -0.998084 -0.007692 + 0.880806 -0.412086 -0.233164 + 0.716277 0.689269 -0.108881 + -0.281981 0.952412 0.115751 + -0.686824 0.508297 0.519525 + -0.866928 -0.450350 0.213590 + 0.015419 -0.898944 -0.437793 + 0.828915 -0.156246 -0.537110 + 0.562237 0.826911 0.010370 + -0.350935 0.829524 0.434437 + -0.355081 0.558806 0.749435 + -0.444423 0.050112 0.894414 + -0.153326 -0.709658 0.687661 + 0.900324 -0.238981 -0.363736 + 0.502537 0.668522 0.548210 + -0.169972 0.522957 0.835240 + 0.928416 0.063210 0.366126 + 0.918889 -0.392221 0.042498 + 0.714847 -0.255766 -0.650828 + 0.701357 0.655650 0.279681 + 0.818530 0.338769 -0.463944 + -0.102574 0.317184 0.942801 + -0.353540 -0.226206 0.907656 + -0.474677 -0.671722 0.568745 + -0.324480 -0.935308 -0.141107 + 0.587742 -0.309175 -0.747643 + -0.257518 -0.956255 -0.138786 + 0.461682 0.885912 0.044820 + 0.740389 0.260414 -0.619684 + -0.669059 0.423953 0.610430 + -0.836449 -0.261468 0.481651 + -0.731818 -0.258872 0.630419 + 0.398751 -0.355280 -0.845443 + -0.255651 -0.959170 -0.120979 + -0.587046 -0.348524 0.730690 + 0.365915 0.930645 -0.002456 + 0.578144 0.205621 -0.789601 + -0.592333 0.331037 0.734545 + -0.402850 0.350973 0.845298 + 0.204241 -0.337047 -0.919067 + -0.252055 -0.967260 0.029617 + -0.415097 -0.359088 0.835913 + -0.204746 0.422573 0.882899 + 0.338684 0.940740 -0.017383 + 0.376530 0.235913 -0.895863 + 0.260428 0.962648 -0.074069 + -0.016168 -0.359214 -0.933115 + -0.254919 -0.966571 0.027517 + -0.205194 -0.324277 0.923439 + 0.042492 0.553960 0.831458 + 0.269529 0.904468 -0.330593 + 0.155554 0.180771 -0.971146 + -0.243789 -0.456075 -0.855899 + -0.159962 -0.930040 0.330814 + 0.029145 -0.286067 0.957766 + 0.200226 0.546852 0.812935 + 0.203465 0.902540 -0.379505 + -0.039703 0.248117 -0.967916 + -0.381532 -0.298755 -0.874745 + -0.233339 -0.955310 0.181480 + 0.231117 -0.267166 0.935525 + 0.385948 0.542220 0.746352 + 0.109059 0.853575 -0.509427 + -0.222766 0.188351 -0.956504 + -0.507623 -0.410500 -0.757502 + -0.184245 -0.968436 0.167886 + 0.388386 -0.264928 0.882593 + 0.522138 0.566649 0.637402 + 0.043224 0.882651 -0.468037 + -0.391971 0.173657 -0.903439 + -0.631684 -0.249328 -0.734037 + -0.235397 -0.965877 0.108027 + 0.489080 -0.296550 0.820280 + 0.577443 0.700767 0.418909 + -0.088280 0.826758 -0.555588 + -0.518593 0.227043 -0.824325 + -0.752643 -0.265273 -0.602627 + -0.179441 -0.978850 0.098251 + 0.637038 -0.304743 0.708035 + 0.588449 0.725402 0.357100 + -0.180586 0.868909 -0.460854 + -0.655290 0.247813 -0.713571 + -0.909179 -0.212027 -0.358384 + -0.251731 -0.961661 0.108812 + 0.825482 -0.324146 0.462070 + 0.582225 0.801993 0.133498 + -0.165159 0.926297 -0.338669 + -0.715408 0.527712 -0.457943 + -0.968823 -0.246884 0.020747 + -0.195194 -0.946441 0.257194 + 0.873013 -0.458070 0.167393 + 0.701031 0.707969 -0.085642 + -0.204802 0.941313 -0.268302 + -0.790631 0.576362 -0.206666 + -0.952015 0.148770 0.267459 + -0.491170 -0.798556 0.347937 + 0.759588 -0.647271 -0.063768 + 0.858791 0.434212 -0.271916 + -0.160556 0.966638 -0.199583 + -0.692130 0.720962 0.034215 + -0.866447 0.154826 0.474655 + -0.593416 -0.763726 0.254127 + 0.557936 -0.715528 -0.420389 + 0.799638 0.334669 -0.498573 + 0.306685 0.929234 -0.206080 + -0.531160 0.806364 0.260089 + -0.348177 0.372065 0.860430 + -0.550175 -0.339822 0.762777 + 0.617075 -0.267627 0.739996 + 0.850010 0.445073 -0.281768 + 0.389110 0.845464 0.365764 + -0.064844 0.706086 0.705151 + 0.975981 0.149389 0.158566 + 0.901866 -0.431095 0.028203 + 0.599771 -0.405480 -0.689827 + 0.729196 0.674506 0.115390 + 0.717367 0.251706 -0.649637 + 0.365544 0.583428 0.725251 + -0.085059 0.280842 0.955977 + -0.368578 -0.382607 0.847209 + -0.417065 -0.902204 0.109929 + 0.474409 -0.228010 -0.850263 + -0.311936 -0.950017 0.012755 + 0.600901 0.657446 -0.454624 + 0.541180 0.348606 -0.765244 + -0.318536 0.785619 0.530413 + -0.730599 0.103096 0.674979 + -0.600207 -0.024015 0.799484 + 0.325755 -0.224485 -0.918417 + -0.291579 -0.956423 -0.015385 + -0.448608 -0.065890 0.891296 + 0.368873 0.881230 -0.295577 + 0.468956 0.376484 -0.798962 + -0.371558 0.509363 0.776205 + -0.159246 0.594155 0.788429 + 0.109524 -0.355837 -0.928108 + -0.401639 -0.913273 0.067962 + -0.308345 -0.077352 0.948124 + -0.024392 0.523683 0.851564 + 0.276982 0.960664 -0.020155 + 0.392019 0.387237 -0.834487 + 0.371897 0.928258 -0.005484 + -0.111099 -0.408030 -0.906183 + -0.390361 -0.891400 0.230268 + -0.119256 -0.098109 0.988004 + 0.166445 0.478362 0.862245 + 0.392112 0.911293 0.125671 + 0.273402 0.481503 -0.832710 + -0.265774 -0.318866 -0.909774 + -0.340609 -0.902352 0.264096 + 0.043197 -0.199402 0.978965 + 0.374553 0.545709 0.749608 + 0.412878 0.910699 -0.012620 + 0.131352 0.499699 -0.856182 + -0.359134 -0.208259 -0.909753 + -0.270753 -0.945392 0.181459 + 0.187711 -0.274961 0.942953 + 0.438647 0.603055 0.666269 + 0.299975 0.924780 -0.234086 + -0.049869 0.545130 -0.836867 + -0.491625 -0.136384 -0.860061 + -0.269364 -0.960922 0.063814 + 0.321607 -0.346803 0.881077 + 0.516935 0.598289 0.612232 + 0.137618 0.898245 -0.417392 + -0.218814 0.511454 -0.830985 + -0.611956 -0.140604 -0.778293 + -0.304061 -0.949865 0.072828 + 0.397001 -0.410379 0.820963 + 0.599103 0.490389 0.632925 + 0.100116 0.922941 -0.371694 + -0.350619 0.523480 -0.776553 + -0.732548 -0.203858 -0.649474 + -0.098559 -0.984593 0.144442 + 0.545212 -0.458942 0.701510 + 0.715761 0.418937 0.558729 + 0.133556 0.973210 -0.187151 + -0.493003 0.529087 -0.690662 + -0.922538 -0.182302 -0.340132 + 0.009646 -0.990012 0.140649 + 0.736471 -0.493929 0.462216 + 0.897692 -0.005069 0.440595 + 0.238178 0.963652 -0.121017 + -0.713952 0.557550 -0.423569 + -0.931448 -0.345783 0.113309 + -0.206716 -0.907751 0.365043 + 0.913908 -0.383334 0.133519 + 0.962890 -0.226010 0.147523 + 0.586040 0.807741 -0.064124 + -0.754338 0.619436 -0.217424 + -0.832582 -0.393819 0.389504 + -0.103538 -0.953648 0.282551 + 0.831424 -0.552319 -0.060641 + 0.978958 -0.135340 -0.152724 + 0.587450 0.783966 -0.200746 + -0.794035 0.604998 0.059043 + -0.851408 -0.291610 0.435968 + -0.320093 -0.920170 0.225450 + 0.778049 -0.428368 -0.459501 + 0.882553 0.081793 -0.463045 + 0.382700 0.922157 -0.056289 + -0.895935 0.334323 0.292453 + -0.439830 -0.081965 0.894333 + -0.197315 -0.863256 0.464602 + 0.924311 0.103913 0.367221 + 0.843244 0.502341 0.191294 + 0.557505 0.829953 -0.019151 + -0.425667 0.644379 0.635282 + + + + + 0.069284 -0.178984 0.100519 + 0.066834 -0.189495 0.098513 + 0.064125 -0.188934 0.096646 + 0.056488 -0.167784 0.111902 + 0.056826 -0.169923 0.113062 + 0.067697 -0.174806 0.098000 + 0.054096 -0.181043 0.111210 + 0.062879 -0.183297 0.095718 + 0.064949 -0.174241 0.097163 + 0.052025 -0.182178 0.110512 + 0.055496 -0.166850 0.111929 + 0.040597 -0.162663 0.122599 + 0.042482 -0.161015 0.122620 + 0.041829 -0.163513 0.123933 + 0.039939 -0.173864 0.123011 + 0.051044 -0.177577 0.109169 + 0.039098 -0.174287 0.122841 + 0.038669 -0.169742 0.120857 + 0.022623 -0.163921 0.128174 + 0.024174 -0.155907 0.128681 + 0.026435 -0.153838 0.129719 + 0.025478 -0.155129 0.130443 + 0.023973 -0.165515 0.131025 + 0.022942 -0.166380 0.130279 + 0.005300 -0.159207 0.134232 + 0.006048 -0.156546 0.131857 + 0.007904 -0.147568 0.132874 + 0.009580 -0.146449 0.133970 + 0.008075 -0.147770 0.135434 + 0.006378 -0.157816 0.134964 + -0.011628 -0.150182 0.136068 + -0.011898 -0.150358 0.136564 + -0.010494 -0.148895 0.133899 + -0.009286 -0.140171 0.134560 + -0.007784 -0.139277 0.135957 + -0.009954 -0.141554 0.137351 + -0.027660 -0.133333 0.136996 + -0.029399 -0.141963 0.134709 + -0.029467 -0.142132 0.134981 + -0.026869 -0.140249 0.132549 + -0.026087 -0.131790 0.133559 + -0.024759 -0.131161 0.134911 + -0.042013 -0.124070 0.132155 + -0.044838 -0.124670 0.134053 + -0.047103 -0.134246 0.131147 + -0.046756 -0.134215 0.130790 + -0.043938 -0.133832 0.129471 + -0.043192 -0.124769 0.130429 + -0.059344 -0.117184 0.124848 + -0.058671 -0.116577 0.127107 + -0.061808 -0.117520 0.127244 + -0.064375 -0.127192 0.125008 + -0.063896 -0.127948 0.123990 + -0.059600 -0.125993 0.123463 + -0.074321 -0.118838 0.114520 + -0.074420 -0.109338 0.116544 + -0.073583 -0.110582 0.117221 + -0.077421 -0.112329 0.117199 + -0.080792 -0.122957 0.114947 + -0.080204 -0.123032 0.114400 + -0.094334 -0.119006 0.101427 + -0.087530 -0.113974 0.102215 + -0.087754 -0.104387 0.103920 + -0.087372 -0.106288 0.104815 + -0.091358 -0.107295 0.104632 + -0.094374 -0.118516 0.101221 + -0.104915 -0.112109 0.085700 + -0.102602 -0.113795 0.084146 + -0.097537 -0.107289 0.087793 + -0.097563 -0.100399 0.088338 + -0.097899 -0.100163 0.091693 + -0.103022 -0.104681 0.089078 + -0.105067 -0.095275 0.072036 + -0.106699 -0.100838 0.069612 + -0.103358 -0.103347 0.067387 + -0.099626 -0.101439 0.069912 + -0.099980 -0.093173 0.070912 + -0.099974 -0.092808 0.073697 + -0.098865 -0.086002 0.055669 + -0.103383 -0.088129 0.053258 + -0.104407 -0.094416 0.050947 + -0.102712 -0.095172 0.049223 + -0.098000 -0.094664 0.052197 + -0.098089 -0.088480 0.052347 + -0.092607 -0.087562 0.034072 + -0.095015 -0.082889 0.037561 + -0.098090 -0.087684 0.034711 + -0.098875 -0.089318 0.033976 + -0.093280 -0.094145 0.038083 + -0.091738 -0.092976 0.034645 + -0.078938 -0.094298 0.022398 + -0.079365 -0.090099 0.021270 + -0.087731 -0.084023 0.020326 + -0.086218 -0.089722 0.020275 + -0.086865 -0.093166 0.018441 + -0.083614 -0.098966 0.021266 + 0.071033 -0.208437 0.111264 + 0.068068 -0.218286 0.109170 + 0.063924 -0.218738 0.107911 + 0.057166 -0.199629 0.121210 + 0.069817 -0.205296 0.108786 + 0.056202 -0.197586 0.120677 + 0.054309 -0.210550 0.118436 + 0.063864 -0.212511 0.104511 + 0.052658 -0.212054 0.117910 + 0.042655 -0.190351 0.129547 + 0.040900 -0.188866 0.129159 + 0.065463 -0.203444 0.111420 + 0.052367 -0.196394 0.121666 + 0.038231 -0.188538 0.129200 + 0.042030 -0.201235 0.128385 + 0.051842 -0.205454 0.116835 + 0.039468 -0.202114 0.128003 + 0.026096 -0.182071 0.134067 + 0.024055 -0.180041 0.133514 + 0.022750 -0.180181 0.133591 + 0.038600 -0.196231 0.125699 + 0.023608 -0.187461 0.131414 + 0.026719 -0.193042 0.134143 + 0.023711 -0.192860 0.133776 + 0.009474 -0.173166 0.136648 + 0.006692 -0.171492 0.136006 + 0.006298 -0.172541 0.135494 + 0.006827 -0.180748 0.134238 + 0.006102 -0.184795 0.136160 + 0.010075 -0.185742 0.136703 + -0.007584 -0.164723 0.136248 + -0.010462 -0.162485 0.135125 + -0.009624 -0.163694 0.135940 + -0.009422 -0.172365 0.133807 + -0.010891 -0.177439 0.135964 + -0.007030 -0.179279 0.137209 + -0.024792 -0.156895 0.134345 + -0.028202 -0.154623 0.133431 + -0.026358 -0.156752 0.133864 + -0.026230 -0.165603 0.131974 + -0.028128 -0.169810 0.134914 + -0.023589 -0.171592 0.135790 + -0.042225 -0.149717 0.132106 + -0.045220 -0.145973 0.129815 + -0.042479 -0.148759 0.131034 + -0.041964 -0.157339 0.129219 + -0.045665 -0.162359 0.133084 + -0.039928 -0.163619 0.133878 + -0.059026 -0.142916 0.126704 + -0.063155 -0.140193 0.124785 + -0.058464 -0.142572 0.124885 + -0.059008 -0.152964 0.124228 + -0.062319 -0.154663 0.127603 + -0.056041 -0.156196 0.129298 + -0.075651 -0.138389 0.118471 + -0.079415 -0.135666 0.114857 + -0.073991 -0.138539 0.116024 + -0.073978 -0.146863 0.115564 + -0.078711 -0.151406 0.118253 + -0.071699 -0.149443 0.122681 + -0.090481 -0.134021 0.107100 + -0.094030 -0.131793 0.102146 + -0.088096 -0.135210 0.104585 + -0.087932 -0.142501 0.104266 + -0.092003 -0.147060 0.104766 + -0.086572 -0.146785 0.112093 + -0.103644 -0.134469 0.093788 + -0.104862 -0.126709 0.087385 + -0.099723 -0.128558 0.091805 + -0.096985 -0.135246 0.090231 + -0.101652 -0.143344 0.089507 + -0.099839 -0.142035 0.099960 + -0.108477 -0.128534 0.076688 + -0.106638 -0.120393 0.068449 + -0.102940 -0.122627 0.074356 + -0.101143 -0.130158 0.072558 + -0.104227 -0.134870 0.072263 + -0.106325 -0.138383 0.083216 + -0.108313 -0.122361 0.058264 + -0.103341 -0.113475 0.050005 + -0.102401 -0.117295 0.056338 + -0.099333 -0.123419 0.055021 + -0.103500 -0.126359 0.054953 + -0.105914 -0.131324 0.065885 + -0.105685 -0.118774 0.039137 + -0.100758 -0.109116 0.030752 + -0.097534 -0.114271 0.038369 + -0.094202 -0.120272 0.037211 + -0.098012 -0.120717 0.038696 + -0.104774 -0.124132 0.048500 + -0.099045 -0.112457 0.027961 + -0.096254 -0.114117 0.024439 + -0.099388 -0.118674 0.033602 + -0.086253 -0.111681 0.024306 + -0.085882 -0.112847 0.021105 + -0.084250 -0.117500 0.022039 + -0.086599 -0.120972 0.022683 + -0.095346 -0.136971 0.019098 + -0.104869 -0.142279 0.031056 + -0.096489 -0.135313 0.020872 + -0.081701 -0.136786 0.016103 + -0.096899 -0.144207 0.025649 + -0.084433 -0.143252 0.014914 + -0.103695 -0.148553 0.038585 + -0.107653 -0.146275 0.047230 + -0.096493 -0.131614 0.022042 + -0.080124 -0.138995 0.018095 + -0.099639 -0.150537 0.042926 + -0.094581 -0.144572 0.029130 + -0.091733 -0.143504 0.028298 + -0.101783 -0.160532 0.055823 + -0.104668 -0.156165 0.053284 + -0.108527 -0.153251 0.062750 + -0.101200 -0.136656 0.038237 + -0.093252 -0.139911 0.028222 + -0.100993 -0.157585 0.056616 + -0.098387 -0.148708 0.042704 + -0.099785 -0.145353 0.042752 + -0.100815 -0.166994 0.070573 + -0.102011 -0.171132 0.068556 + -0.105740 -0.166404 0.066536 + -0.106484 -0.160270 0.078155 + -0.105426 -0.145314 0.053106 + -0.103242 -0.159376 0.072997 + -0.101956 -0.152230 0.057928 + -0.095222 -0.166051 0.086848 + -0.094113 -0.173586 0.084965 + -0.094641 -0.178347 0.082611 + -0.100224 -0.175167 0.080119 + -0.095970 -0.166844 0.091257 + -0.105024 -0.154112 0.068551 + -0.100750 -0.163186 0.082398 + -0.088993 -0.168772 0.094899 + -0.084280 -0.173202 0.098783 + -0.082948 -0.179233 0.097890 + -0.084129 -0.182806 0.096328 + -0.090230 -0.180519 0.093869 + -0.083067 -0.170593 0.103807 + -0.068288 -0.174263 0.114699 + -0.074967 -0.172451 0.107375 + -0.070482 -0.178452 0.109709 + -0.068599 -0.184161 0.108415 + -0.070525 -0.188818 0.107218 + -0.076667 -0.185692 0.105175 + -0.061945 -0.191700 0.114744 + -0.052293 -0.181400 0.121827 + -0.058556 -0.178414 0.116796 + -0.054684 -0.184118 0.117881 + -0.052915 -0.190297 0.116453 + -0.055439 -0.194983 0.116230 + -0.039095 -0.202478 0.121728 + -0.045883 -0.198317 0.121692 + -0.035968 -0.189257 0.127470 + -0.041605 -0.186563 0.123301 + -0.038716 -0.192337 0.123130 + -0.036602 -0.197579 0.122200 + -0.020744 -0.206312 0.126755 + -0.022376 -0.209506 0.126920 + -0.029733 -0.206354 0.126947 + -0.019131 -0.197172 0.131495 + -0.024215 -0.194827 0.128664 + -0.021936 -0.199162 0.128300 + -0.004892 -0.206409 0.131742 + -0.002889 -0.212256 0.129641 + -0.005304 -0.217125 0.128649 + -0.012621 -0.213327 0.130988 + -0.002611 -0.206200 0.133662 + -0.006243 -0.203213 0.131244 + 0.011532 -0.212082 0.132998 + 0.012192 -0.214018 0.132295 + 0.013148 -0.221344 0.129095 + 0.011661 -0.224924 0.128655 + 0.004624 -0.220929 0.131602 + 0.013387 -0.216094 0.134191 + 0.029925 -0.224826 0.132146 + 0.028666 -0.221758 0.131263 + 0.028065 -0.223337 0.130341 + 0.028119 -0.231523 0.125869 + 0.027813 -0.233436 0.125565 + 0.021228 -0.229419 0.130770 + 0.036527 -0.238783 0.126814 + 0.045318 -0.234285 0.127916 + 0.045165 -0.231702 0.127749 + 0.043275 -0.232880 0.126688 + 0.043260 -0.240081 0.120437 + 0.042881 -0.242348 0.120381 + 0.058159 -0.248810 0.113031 + 0.051323 -0.247510 0.121106 + 0.060492 -0.242652 0.121706 + 0.061721 -0.239717 0.121476 + 0.058892 -0.240026 0.120573 + 0.058255 -0.246757 0.112863 + 0.044416 -0.269688 0.115689 + 0.041217 -0.268545 0.112586 + 0.050384 -0.262704 0.118290 + 0.035734 -0.261049 0.120933 + 0.030686 -0.267456 0.114907 + 0.050738 -0.265423 0.119137 + 0.042238 -0.265746 0.112720 + 0.046424 -0.262071 0.115947 + 0.029571 -0.265855 0.112296 + 0.032415 -0.258593 0.117958 + 0.034809 -0.259206 0.119576 + 0.015705 -0.250804 0.122098 + 0.016691 -0.253361 0.123451 + 0.013180 -0.260682 0.119037 + 0.029185 -0.262994 0.113747 + 0.010645 -0.259662 0.116530 + 0.011196 -0.256439 0.116835 + 0.014094 -0.251437 0.121364 + -0.002490 -0.243909 0.121026 + -0.001431 -0.242663 0.122201 + -0.000003 -0.245486 0.124226 + -0.002288 -0.252941 0.120775 + -0.005923 -0.251506 0.117268 + -0.004364 -0.249071 0.117885 + -0.019906 -0.240752 0.116679 + -0.017874 -0.234474 0.120939 + -0.018085 -0.233526 0.121059 + -0.016176 -0.236330 0.122885 + -0.018286 -0.244646 0.119458 + -0.022925 -0.243234 0.115954 + -0.039546 -0.235065 0.112228 + -0.035551 -0.232796 0.114277 + -0.034246 -0.226211 0.118810 + -0.034455 -0.224206 0.118514 + -0.032719 -0.227777 0.120701 + -0.034222 -0.236768 0.116447 + -0.049625 -0.228764 0.112401 + -0.055472 -0.226266 0.107823 + -0.050594 -0.224729 0.110123 + -0.050125 -0.218209 0.114476 + -0.050751 -0.215301 0.114315 + -0.048140 -0.218464 0.116530 + -0.063739 -0.209986 0.111217 + -0.064889 -0.221127 0.107138 + -0.070984 -0.219176 0.100604 + -0.065290 -0.217048 0.104530 + -0.065084 -0.210064 0.108613 + -0.066912 -0.207418 0.108502 + -0.080888 -0.199687 0.099394 + -0.078250 -0.202231 0.103473 + -0.078256 -0.213819 0.099030 + -0.084030 -0.210991 0.091572 + -0.078279 -0.209690 0.096457 + -0.078338 -0.202074 0.100264 + -0.089896 -0.195066 0.089851 + -0.092567 -0.192198 0.088409 + -0.090669 -0.195119 0.093253 + -0.089824 -0.206689 0.089102 + -0.094990 -0.204111 0.080490 + -0.089509 -0.203268 0.086569 + -0.098818 -0.196923 0.075289 + -0.099139 -0.188088 0.078106 + -0.103905 -0.185206 0.076911 + -0.101056 -0.187225 0.082173 + -0.099906 -0.200890 0.077563 + -0.101980 -0.196573 0.067724 + -0.101529 -0.189855 0.062499 + -0.102244 -0.186928 0.055476 + -0.102966 -0.181513 0.064982 + -0.105789 -0.177409 0.063236 + -0.107960 -0.181454 0.068595 + -0.105070 -0.192399 0.065870 + -0.102735 -0.177428 0.043125 + -0.100309 -0.181459 0.050639 + -0.106005 -0.182857 0.054525 + -0.102132 -0.174840 0.051630 + -0.104417 -0.169432 0.050337 + -0.107388 -0.173258 0.055673 + -0.104613 -0.173914 0.042845 + -0.104924 -0.168248 0.031047 + -0.097006 -0.173003 0.039164 + -0.106639 -0.166393 0.041839 + -0.099131 -0.166733 0.039415 + -0.101615 -0.161667 0.036869 + -0.106503 -0.165924 0.028881 + -0.095511 -0.164666 0.021176 + -0.089993 -0.167856 0.027157 + -0.095159 -0.155423 0.023921 + -0.091344 -0.161580 0.026846 + -0.094119 -0.160871 0.020369 + -0.080877 -0.166294 0.014949 + -0.078902 -0.161595 0.016018 + -0.081088 -0.158993 0.015670 + -0.084097 -0.216766 -0.084724 + -0.082082 -0.226568 -0.079163 + -0.076946 -0.223126 -0.091496 + -0.089891 -0.210457 -0.076276 + -0.086626 -0.220410 -0.071180 + -0.085556 -0.216686 -0.086733 + -0.092462 -0.211649 -0.078369 + -0.075633 -0.231937 -0.085950 + -0.080133 -0.232261 -0.089048 + -0.086844 -0.226091 -0.082014 + -0.069037 -0.229715 -0.096448 + -0.078219 -0.222990 -0.092959 + -0.092348 -0.204696 -0.065253 + -0.089656 -0.215110 -0.061273 + -0.094451 -0.206206 -0.067230 + -0.090794 -0.219609 -0.072581 + -0.086556 -0.221737 -0.084274 + -0.092131 -0.216056 -0.075904 + -0.094954 -0.209589 -0.066224 + -0.069287 -0.238834 -0.090305 + -0.071727 -0.237619 -0.094277 + -0.071974 -0.233169 -0.096696 + -0.079980 -0.227363 -0.091741 + -0.060155 -0.234774 -0.101526 + -0.070022 -0.228477 -0.098807 + -0.089262 -0.209420 -0.051119 + -0.092641 -0.199188 -0.053671 + -0.095541 -0.201191 -0.055818 + -0.092275 -0.214531 -0.061144 + -0.094866 -0.205075 -0.054451 + -0.092298 -0.208649 -0.050186 + -0.062041 -0.244624 -0.095208 + -0.063018 -0.243366 -0.097831 + -0.063483 -0.238150 -0.101644 + -0.061633 -0.234178 -0.103958 + -0.053356 -0.248774 -0.099227 + -0.051105 -0.240120 -0.105462 + -0.088876 -0.203542 -0.041093 + -0.091259 -0.193330 -0.042492 + -0.094422 -0.194746 -0.045092 + -0.095618 -0.198529 -0.044601 + -0.090449 -0.203705 -0.038921 + -0.054350 -0.248133 -0.102853 + -0.055338 -0.244672 -0.104373 + -0.052758 -0.239941 -0.107460 + -0.045780 -0.254844 -0.103648 + -0.045789 -0.255240 -0.101536 + -0.042031 -0.246413 -0.106466 + -0.087882 -0.196602 -0.029366 + -0.087518 -0.186934 -0.032454 + -0.090936 -0.188818 -0.034746 + -0.091915 -0.194204 -0.033464 + -0.046760 -0.250937 -0.105483 + -0.043512 -0.245737 -0.109078 + -0.037906 -0.256862 -0.105866 + -0.037017 -0.261199 -0.103596 + -0.037051 -0.260356 -0.102179 + -0.032626 -0.251988 -0.108111 + -0.079799 -0.193223 -0.021550 + -0.078811 -0.183952 -0.024976 + -0.083978 -0.184823 -0.025675 + -0.085858 -0.188950 -0.024940 + -0.034101 -0.251339 -0.110219 + -0.024483 -0.256647 -0.109922 + -0.028621 -0.262087 -0.106628 + -0.027699 -0.266824 -0.103687 + -0.028563 -0.265823 -0.102779 + -0.023043 -0.257398 -0.106875 + -0.072080 -0.192657 -0.012433 + -0.070039 -0.187538 -0.020158 + -0.074620 -0.183109 -0.019062 + -0.078967 -0.189104 -0.016173 + -0.017115 -0.264345 -0.107793 + -0.015391 -0.264136 -0.104051 + -0.019231 -0.267083 -0.106029 + -0.017475 -0.268773 -0.103797 + -0.019049 -0.268725 -0.100383 + -0.102735 -0.177428 -0.043125 + -0.097006 -0.173003 -0.039164 + -0.104494 -0.165680 -0.030669 + -0.105070 -0.192399 -0.065870 + -0.102244 -0.186928 -0.055476 + -0.106005 -0.182857 -0.054525 + -0.100309 -0.181459 -0.050639 + -0.089993 -0.167856 -0.027157 + -0.099131 -0.166733 -0.039415 + -0.091344 -0.161580 -0.026846 + -0.095511 -0.164666 -0.021176 + -0.105887 -0.172593 -0.043954 + -0.106639 -0.166393 -0.041839 + -0.095159 -0.155423 -0.023921 + -0.101615 -0.161667 -0.036869 + -0.094119 -0.160871 -0.020369 + -0.101056 -0.187225 -0.082173 + -0.099906 -0.200890 -0.077563 + -0.107960 -0.181454 -0.068595 + -0.100653 -0.194216 -0.068735 + -0.101529 -0.189855 -0.062499 + -0.107388 -0.173258 -0.055673 + -0.102132 -0.174840 -0.051630 + -0.080877 -0.166294 -0.014949 + -0.078902 -0.161595 -0.016018 + -0.081088 -0.158993 -0.015670 + -0.104417 -0.169432 -0.050337 + -0.103905 -0.185206 -0.076911 + -0.092567 -0.192198 -0.088409 + -0.090669 -0.195119 -0.093253 + -0.092408 -0.202057 -0.080982 + -0.089824 -0.206689 -0.089102 + -0.105789 -0.177409 -0.063236 + -0.098818 -0.196923 -0.075289 + -0.102966 -0.181513 -0.064982 + -0.089896 -0.195066 -0.089851 + -0.099139 -0.188088 -0.078106 + -0.078338 -0.202074 -0.100264 + -0.080888 -0.199687 -0.099394 + -0.078250 -0.202231 -0.103473 + -0.084030 -0.210991 -0.091572 + -0.089509 -0.203268 -0.086569 + -0.078256 -0.213819 -0.099030 + -0.078279 -0.209690 -0.096457 + -0.065290 -0.217048 -0.104530 + -0.065084 -0.210064 -0.108613 + -0.066912 -0.207418 -0.108502 + -0.063739 -0.209986 -0.111217 + -0.064889 -0.221127 -0.107138 + -0.070984 -0.219176 -0.100604 + -0.055472 -0.226266 -0.107823 + -0.050594 -0.224729 -0.110123 + -0.050125 -0.218209 -0.114476 + -0.050751 -0.215301 -0.114315 + -0.048140 -0.218464 -0.116530 + -0.049625 -0.228764 -0.112401 + -0.034222 -0.236768 -0.116447 + -0.039546 -0.235065 -0.112228 + -0.035551 -0.232796 -0.114277 + -0.034246 -0.226211 -0.118810 + -0.034455 -0.224206 -0.118514 + -0.032719 -0.227777 -0.120701 + -0.016176 -0.236330 -0.122885 + -0.018286 -0.244646 -0.119458 + -0.022925 -0.243234 -0.115954 + -0.019906 -0.240752 -0.116679 + -0.017874 -0.234474 -0.120939 + -0.018085 -0.233526 -0.121059 + -0.001431 -0.242663 -0.122201 + -0.000003 -0.245486 -0.124226 + -0.002288 -0.252941 -0.120775 + -0.005923 -0.251506 -0.117268 + -0.004364 -0.249071 -0.117885 + -0.002490 -0.243909 -0.121026 + 0.014094 -0.251437 -0.121364 + 0.015705 -0.250804 -0.122098 + 0.016691 -0.253361 -0.123451 + 0.013180 -0.260682 -0.119037 + 0.010645 -0.259662 -0.116530 + 0.011196 -0.256439 -0.116835 + 0.029185 -0.262994 -0.113747 + 0.032415 -0.258593 -0.117958 + 0.034809 -0.259206 -0.119576 + 0.035734 -0.261049 -0.120933 + 0.030686 -0.267456 -0.114907 + 0.029571 -0.265855 -0.112296 + 0.044923 -0.268815 -0.110095 + 0.043565 -0.265923 -0.111855 + 0.047216 -0.262721 -0.116493 + 0.050735 -0.262809 -0.117881 + 0.050738 -0.265423 -0.119137 + 0.045674 -0.270343 -0.113385 + -0.019231 -0.267083 0.106029 + -0.017475 -0.268773 0.103797 + -0.017115 -0.264345 0.107793 + -0.024483 -0.256647 0.109922 + -0.028621 -0.262087 0.106628 + -0.015391 -0.264136 0.104051 + -0.019049 -0.268725 0.100383 + -0.027699 -0.266824 0.103687 + -0.023043 -0.257398 0.106875 + -0.032626 -0.251988 0.108111 + -0.034101 -0.251339 0.110219 + -0.037906 -0.256862 0.105866 + -0.028563 -0.265823 0.102779 + -0.037017 -0.261199 0.103596 + -0.042031 -0.246413 0.106466 + -0.037051 -0.260356 0.102179 + -0.043512 -0.245737 0.109078 + -0.046760 -0.250937 0.105483 + -0.045780 -0.254844 0.103648 + -0.051105 -0.240120 0.105462 + -0.045789 -0.255240 0.101536 + -0.052758 -0.239941 0.107460 + -0.055338 -0.244672 0.104373 + -0.054350 -0.248133 0.102853 + -0.060155 -0.234774 0.101526 + -0.053356 -0.248774 0.099227 + -0.061633 -0.234178 0.103958 + -0.063483 -0.238150 0.101644 + -0.063018 -0.243366 0.097831 + -0.069037 -0.229715 0.096448 + -0.062041 -0.244624 0.095208 + -0.070022 -0.228477 0.098807 + -0.071974 -0.233169 0.096696 + -0.071727 -0.237619 0.094277 + -0.076946 -0.223126 0.091496 + -0.075633 -0.231937 0.085950 + -0.069287 -0.238834 0.090305 + -0.078219 -0.222990 0.092959 + -0.079980 -0.227363 0.091741 + -0.080133 -0.232261 0.089048 + -0.084097 -0.216766 0.084724 + -0.082082 -0.226568 0.079163 + -0.086844 -0.226091 0.082014 + -0.085556 -0.216686 0.086733 + -0.086556 -0.221737 0.084274 + -0.089891 -0.210457 0.076276 + -0.086626 -0.220410 0.071180 + -0.090794 -0.219609 0.072581 + -0.092131 -0.216056 0.075904 + -0.092462 -0.211649 0.078369 + -0.092348 -0.204696 0.065253 + -0.089656 -0.215110 0.061273 + -0.092275 -0.214531 0.061144 + -0.094954 -0.209589 0.066224 + -0.094451 -0.206206 0.067230 + -0.092641 -0.199188 0.053671 + -0.089262 -0.209420 0.051119 + -0.088876 -0.203542 0.041093 + -0.092298 -0.208649 0.050186 + -0.094866 -0.205075 0.054451 + -0.095541 -0.201191 0.055818 + -0.091259 -0.193330 0.042492 + -0.090449 -0.203705 0.038921 + -0.087882 -0.196602 0.029366 + -0.084598 -0.197910 0.032205 + -0.095618 -0.198529 0.044601 + -0.094422 -0.194746 0.045092 + -0.087518 -0.186934 0.032454 + -0.091915 -0.194204 0.033464 + -0.085858 -0.188950 0.024940 + -0.079799 -0.193223 0.021550 + -0.078213 -0.193783 0.024272 + -0.090936 -0.188818 0.034746 + -0.078811 -0.183952 0.024976 + -0.083978 -0.184823 0.025675 + -0.078967 -0.189104 0.016173 + -0.074620 -0.183109 0.019062 + -0.072080 -0.192657 0.012433 + -0.069337 -0.191592 0.018953 + -0.070039 -0.187538 0.020158 + -0.077289 -0.183867 0.022657 + -0.096263 -0.021381 -0.064556 + -0.098030 -0.022215 -0.049784 + -0.094178 -0.019481 -0.047195 + -0.090542 -0.032258 -0.080469 + -0.094295 -0.028300 -0.079766 + -0.094038 -0.026381 -0.064787 + -0.100504 -0.027467 -0.067414 + -0.099140 -0.026288 -0.049801 + -0.091078 -0.026514 -0.036177 + -0.090962 -0.021383 -0.037939 + -0.089224 -0.019740 -0.037799 + -0.090714 -0.023361 -0.048097 + -0.085320 -0.045080 -0.097782 + -0.081845 -0.037484 -0.094258 + -0.093834 -0.036941 -0.085017 + -0.085940 -0.035489 -0.094146 + -0.094925 -0.031645 -0.083868 + -0.094894 -0.031121 -0.068194 + -0.100961 -0.032039 -0.065964 + -0.087763 -0.030098 -0.035855 + -0.096508 -0.026965 -0.048189 + -0.079994 -0.035250 -0.019565 + -0.083311 -0.031671 -0.019964 + -0.083698 -0.027676 -0.022145 + -0.083381 -0.026762 -0.033524 + -0.078488 -0.022086 -0.023610 + -0.093554 -0.027719 -0.050703 + -0.077548 -0.052885 -0.107824 + -0.073622 -0.052664 -0.107881 + -0.089671 -0.044540 -0.096856 + -0.070981 -0.045845 -0.104333 + -0.097275 -0.036534 -0.082033 + -0.074194 -0.042342 -0.105669 + -0.085181 -0.038317 -0.097441 + -0.097324 -0.036363 -0.084464 + -0.086355 -0.029717 -0.034797 + -0.077735 -0.033679 -0.020041 + -0.073939 -0.029599 -0.020728 + -0.061096 -0.057972 -0.117773 + -0.063344 -0.059962 -0.116909 + -0.075554 -0.051338 -0.109249 + -0.060528 -0.060379 -0.115946 + -0.087694 -0.043911 -0.097913 + -0.057290 -0.051798 -0.112000 + -0.060476 -0.049162 -0.114542 + -0.072354 -0.044635 -0.108221 + -0.045365 -0.058612 -0.123869 + -0.045048 -0.063606 -0.123332 + -0.058805 -0.052107 -0.116639 + -0.047396 -0.066777 -0.121533 + -0.044456 -0.064085 -0.119368 + -0.042666 -0.057666 -0.117305 + -0.044831 -0.055115 -0.119908 + -0.028889 -0.061248 -0.123458 + -0.027128 -0.063730 -0.125948 + -0.028581 -0.069661 -0.126691 + -0.030760 -0.072582 -0.124732 + -0.028819 -0.069745 -0.121540 + -0.026952 -0.062514 -0.119839 + -0.010732 -0.065957 -0.118753 + -0.011915 -0.064417 -0.120853 + -0.010061 -0.066876 -0.124086 + -0.011556 -0.074962 -0.125947 + -0.013393 -0.077066 -0.125373 + -0.013093 -0.075885 -0.121748 + 0.002672 -0.079892 -0.117201 + 0.004844 -0.068473 -0.113901 + 0.004375 -0.068695 -0.116082 + 0.006118 -0.071568 -0.118583 + 0.004769 -0.080484 -0.121121 + 0.003650 -0.081577 -0.121923 + 0.019451 -0.084356 -0.113511 + 0.017457 -0.083014 -0.109231 + 0.019237 -0.072586 -0.106394 + 0.019583 -0.073173 -0.108293 + 0.021453 -0.075588 -0.110587 + 0.020636 -0.082527 -0.112828 + 0.033102 -0.087663 -0.100660 + 0.031325 -0.089929 -0.100621 + 0.030152 -0.087898 -0.098526 + 0.032139 -0.076469 -0.096108 + 0.032271 -0.077400 -0.096328 + 0.034029 -0.079628 -0.098353 + 0.041911 -0.085900 -0.083392 + 0.040957 -0.094632 -0.085308 + 0.039926 -0.096572 -0.085444 + 0.038253 -0.094200 -0.084349 + 0.039533 -0.082787 -0.082077 + 0.040448 -0.082704 -0.081222 + 0.043569 -0.088242 -0.063935 + 0.047314 -0.090069 -0.066376 + 0.048051 -0.098715 -0.068557 + 0.047071 -0.101594 -0.068780 + 0.042920 -0.099650 -0.068043 + 0.042655 -0.088009 -0.065751 + -0.058377 -0.209363 0.021539 + -0.071201 -0.216568 0.018716 + -0.072359 -0.212671 0.020982 + -0.059722 -0.206224 0.021176 + -0.060746 -0.216862 0.018551 + -0.061838 -0.212771 0.027827 + -0.063449 -0.208594 0.028104 + -0.071332 -0.220108 0.025610 + -0.066060 -0.220153 0.023037 + -0.072368 -0.216290 0.028380 + -0.065978 -0.215070 0.034075 + -0.068094 -0.212675 0.034324 + -0.074482 -0.219652 0.035660 + -0.073289 -0.223145 0.032721 + -0.068468 -0.222585 0.030352 + -0.067576 -0.219293 0.040729 + -0.071553 -0.217018 0.041188 + -0.074796 -0.224588 0.042276 + -0.074022 -0.227481 0.039205 + -0.071493 -0.225960 0.036809 + -0.068317 -0.224206 0.046843 + -0.071583 -0.222813 0.047460 + -0.073954 -0.229463 0.048870 + -0.073557 -0.231724 0.045934 + -0.071947 -0.230011 0.043705 + -0.071306 -0.228394 0.054151 + -0.068600 -0.228297 0.053699 + -0.072530 -0.234080 0.055565 + -0.073838 -0.236603 0.052144 + -0.072948 -0.235184 0.049509 + -0.069518 -0.239464 0.061039 + -0.069162 -0.233129 0.061296 + -0.067179 -0.233451 0.059573 + -0.071188 -0.241526 0.057801 + -0.071019 -0.240197 0.055336 + -0.068351 -0.246671 0.063119 + -0.065068 -0.243724 0.066585 + -0.065372 -0.239044 0.066576 + -0.065014 -0.238802 0.065086 + -0.068441 -0.245137 0.060942 + -0.064168 -0.250042 0.065421 + -0.064145 -0.251465 0.067877 + -0.060740 -0.248794 0.071526 + -0.061102 -0.244746 0.071699 + -0.061432 -0.243938 0.069720 + -0.057353 -0.250068 0.072725 + -0.059680 -0.254477 0.070035 + -0.058890 -0.254358 0.072899 + -0.057410 -0.252302 0.074242 + -0.056700 -0.252008 0.073598 + -0.015270 -0.001015 0.037887 + -0.004589 -0.007338 0.047685 + -0.000602 -0.012149 0.041464 + -0.020086 -0.002986 0.038333 + -0.012220 -0.003946 0.034011 + -0.022664 0.000358 0.042061 + -0.019125 0.001869 0.041248 + -0.008218 -0.002806 0.054250 + -0.006490 -0.011248 0.048988 + -0.003717 -0.015528 0.042447 + -0.017257 -0.006157 0.034664 + -0.009047 -0.006094 0.054980 + -0.012762 -0.001170 0.060810 + -0.026327 0.003705 0.044840 + -0.023520 0.004906 0.044055 + -0.011285 0.001601 0.061097 + -0.016811 0.006845 0.066079 + -0.017425 0.004490 0.065426 + -0.031192 0.006876 0.046985 + -0.027854 0.008188 0.046631 + -0.031860 0.011439 0.049558 + -0.023904 0.012729 0.068713 + -0.024039 0.010111 0.068207 + -0.034908 0.010411 0.049662 + -0.036180 0.015264 0.051786 + -0.034982 0.015662 0.052104 + -0.031904 0.018396 0.068404 + -0.032479 0.014830 0.068869 + -0.041007 0.019101 0.066727 + -0.040994 0.018498 0.053546 + -0.039280 0.019624 0.052729 + -0.040239 0.023348 0.066018 + -0.048619 0.027722 0.062745 + -0.048461 0.024097 0.063840 + -0.047424 0.020780 0.053852 + -0.044835 0.022842 0.051585 + -0.050261 0.024868 0.049158 + -0.056036 0.031885 0.058004 + -0.056026 0.028383 0.059952 + -0.052174 0.023409 0.051272 + -0.055647 0.026085 0.047031 + -0.052590 0.028232 0.045302 + -0.062291 0.036190 0.052455 + -0.063824 0.031495 0.055419 + -0.070251 0.033787 0.049803 + -0.058537 0.028135 0.042335 + -0.054984 0.029696 0.040438 + -0.070506 0.039350 0.048152 + -0.074281 0.037552 0.041572 + -0.075597 0.033301 0.043023 + -0.060108 0.029528 0.037283 + -0.057009 0.031198 0.035558 + -0.058453 0.030863 0.030237 + -0.065414 0.037731 0.038180 + -0.069552 0.035169 0.037376 + -0.060657 0.029453 0.031962 + -0.062048 0.027990 0.026835 + -0.058576 0.028437 0.025692 + -0.063454 0.036326 0.029955 + -0.065870 0.034382 0.030352 + -0.068682 0.031140 0.023463 + -0.065598 0.024910 0.023417 + -0.060032 0.025927 0.021103 + -0.065252 0.034142 0.021842 + 0.016543 -0.044262 0.055465 + 0.019689 -0.047500 0.042707 + 0.022632 -0.049129 0.043701 + 0.010304 -0.040159 0.066332 + 0.019055 -0.043917 0.055919 + 0.012508 -0.031930 0.059511 + 0.017773 -0.035538 0.050393 + 0.020802 -0.040417 0.040700 + 0.021402 -0.041687 0.040038 + 0.002692 -0.036421 0.076289 + 0.012481 -0.039403 0.066968 + 0.006469 -0.027898 0.067850 + 0.019048 -0.037033 0.051417 + 0.006572 -0.028423 0.070768 + 0.013396 -0.032600 0.061526 + -0.007119 -0.032939 0.084162 + 0.004453 -0.035148 0.076743 + -0.001645 -0.024470 0.074297 + -0.002663 -0.025178 0.077939 + -0.005904 -0.030970 0.083976 + -0.018135 -0.029834 0.090292 + -0.010634 -0.021311 0.079577 + -0.012665 -0.021747 0.083749 + -0.016813 -0.027009 0.090501 + -0.028478 -0.024602 0.095959 + -0.019979 -0.017123 0.083127 + -0.022593 -0.016173 0.087694 + -0.026993 -0.021431 0.097035 + -0.038642 -0.017932 0.099644 + -0.028797 -0.010777 0.083961 + -0.032511 -0.009330 0.088094 + -0.036609 -0.012708 0.099354 + -0.047700 -0.009195 0.095102 + -0.038138 -0.005493 0.082189 + -0.041693 -0.002847 0.085153 + -0.046146 -0.004479 0.094158 + -0.056604 -0.001536 0.088723 + -0.046605 0.000695 0.078588 + -0.050851 0.004132 0.080389 + -0.056136 0.002669 0.088296 + -0.064809 0.006094 0.081286 + -0.054304 0.006635 0.073215 + -0.058103 0.010405 0.073068 + -0.063806 0.010789 0.080191 + -0.070252 0.012513 0.070578 + -0.060438 0.011832 0.065061 + -0.062940 0.016071 0.062787 + -0.069589 0.017136 0.069180 + -0.074328 0.016912 0.058759 + -0.062814 0.015989 0.053640 + -0.066645 0.021726 0.052000 + -0.072758 0.022866 0.056854 + -0.074770 0.017135 0.045984 + -0.063650 0.017516 0.044729 + -0.068811 0.022525 0.041672 + -0.075774 0.023206 0.044362 + -0.070395 0.012557 0.034730 + -0.062735 0.016515 0.034033 + -0.066496 0.018209 0.033477 + -0.072361 0.018441 0.035957 + -0.068638 0.009038 0.023148 + -0.060960 0.013638 0.024149 + -0.062990 0.015419 0.028075 + -0.063610 0.012747 0.022675 + -0.068305 0.012472 0.024176 + 0.033126 -0.059166 0.067047 + 0.033149 -0.068016 0.069315 + 0.038888 -0.071721 0.053771 + 0.033140 -0.058270 0.065654 + 0.037845 -0.063051 0.051357 + 0.026449 -0.053406 0.078759 + 0.026498 -0.055290 0.081758 + 0.025321 -0.062274 0.082865 + 0.031073 -0.071668 0.069101 + 0.035802 -0.074709 0.052819 + 0.034267 -0.071832 0.053500 + 0.032232 -0.062954 0.051324 + 0.030034 -0.059428 0.066151 + 0.034754 -0.061673 0.050136 + 0.023736 -0.054654 0.079172 + 0.013627 -0.050734 0.089270 + 0.017244 -0.047488 0.089390 + 0.015772 -0.050064 0.092777 + 0.014765 -0.057356 0.094670 + 0.022839 -0.066532 0.082855 + 0.030325 -0.069176 0.069562 + 0.022619 -0.063792 0.083036 + 0.012403 -0.058512 0.094560 + 0.000327 -0.054284 0.104276 + 0.002070 -0.045792 0.096976 + 0.005451 -0.043430 0.097852 + 0.003276 -0.045466 0.101663 + 0.002145 -0.054435 0.104739 + 0.012663 -0.060528 0.094722 + 0.000281 -0.056882 0.105113 + -0.013497 -0.052568 0.112880 + -0.013296 -0.051538 0.112054 + -0.010833 -0.042998 0.102606 + -0.007897 -0.040595 0.103851 + -0.010453 -0.041767 0.108858 + -0.011323 -0.050081 0.112563 + -0.025457 -0.043299 0.115850 + -0.028092 -0.046333 0.115669 + -0.027959 -0.047159 0.114650 + -0.024110 -0.038404 0.105642 + -0.021414 -0.036682 0.108538 + -0.024958 -0.037091 0.112644 + -0.039404 -0.031698 0.110199 + -0.040484 -0.038468 0.113609 + -0.042902 -0.040219 0.113310 + -0.042733 -0.041958 0.113621 + -0.037716 -0.034813 0.104933 + -0.035207 -0.031507 0.107481 + -0.048476 -0.026446 0.103166 + -0.053598 -0.026464 0.105672 + -0.054486 -0.032105 0.108765 + -0.056951 -0.033416 0.108433 + -0.056291 -0.036138 0.108107 + -0.050421 -0.028910 0.101427 + -0.061430 -0.021487 0.095179 + -0.060479 -0.020156 0.096681 + -0.065530 -0.019300 0.097618 + -0.067042 -0.025324 0.100931 + -0.068537 -0.025176 0.099760 + -0.068513 -0.028729 0.100885 + -0.079160 -0.021161 0.091380 + -0.071030 -0.014232 0.086391 + -0.070418 -0.012333 0.088250 + -0.075530 -0.012036 0.087036 + -0.077248 -0.016678 0.091353 + -0.080386 -0.018879 0.090070 + -0.087517 -0.013003 0.079690 + -0.088497 -0.011680 0.076951 + -0.078669 -0.008630 0.074610 + -0.078491 -0.006171 0.076491 + -0.084077 -0.004671 0.075183 + -0.086481 -0.009525 0.079507 + -0.091055 -0.005772 0.060948 + -0.087732 -0.006945 0.064334 + -0.089832 -0.003225 0.063985 + -0.082712 -0.004729 0.060271 + -0.082424 -0.000615 0.062394 + -0.086744 0.001313 0.060342 + -0.088160 0.001676 0.047545 + -0.088714 0.001436 0.045627 + -0.084671 -0.005009 0.048411 + -0.085521 0.004622 0.045807 + -0.080542 -0.002008 0.045398 + -0.081398 0.003836 0.047150 + -0.079364 0.001613 0.036080 + -0.081486 -0.000266 0.035688 + -0.083533 -0.005292 0.035063 + -0.078877 -0.007597 0.032999 + -0.075945 0.001637 0.032905 + -0.074694 -0.004646 0.031484 + -0.068663 -0.003962 0.020752 + -0.072964 -0.004120 0.022142 + -0.074310 -0.005655 0.021346 + -0.076753 -0.010562 0.020176 + -0.071532 -0.013405 0.019504 + -0.064422 -0.008905 0.022270 + 0.044078 -0.108320 0.095841 + 0.044582 -0.116347 0.097219 + 0.054766 -0.122197 0.083080 + 0.043317 -0.105529 0.093976 + 0.054363 -0.113610 0.081816 + 0.033697 -0.099914 0.107684 + 0.033932 -0.102796 0.109939 + 0.033793 -0.110688 0.110940 + 0.042419 -0.119559 0.096100 + 0.052022 -0.125715 0.081547 + 0.049762 -0.122114 0.081402 + 0.049590 -0.112289 0.079356 + 0.052867 -0.111481 0.080227 + 0.040925 -0.106408 0.092937 + 0.030916 -0.102259 0.106108 + 0.018939 -0.096016 0.116018 + 0.020909 -0.094096 0.117685 + 0.020425 -0.098135 0.120331 + 0.019686 -0.105471 0.120613 + 0.031811 -0.113198 0.109533 + 0.041742 -0.115806 0.095515 + 0.031107 -0.110043 0.107781 + 0.018280 -0.104900 0.117414 + 0.004126 -0.099199 0.124164 + 0.004945 -0.091063 0.122896 + 0.006223 -0.089217 0.124766 + 0.005504 -0.093437 0.128285 + 0.004401 -0.100805 0.128422 + 0.018444 -0.106940 0.119686 + 0.003046 -0.102319 0.127085 + -0.013421 -0.097198 0.130084 + -0.011083 -0.093911 0.127768 + -0.009983 -0.085689 0.126315 + -0.009162 -0.085163 0.129455 + -0.010949 -0.089296 0.131649 + -0.011903 -0.095159 0.131140 + -0.028960 -0.091734 0.130659 + -0.030031 -0.092008 0.128952 + -0.026966 -0.089684 0.127973 + -0.025514 -0.081311 0.126843 + -0.025282 -0.080767 0.129234 + -0.027088 -0.083422 0.131519 + -0.043088 -0.078015 0.127953 + -0.044501 -0.084349 0.126792 + -0.046331 -0.087202 0.124840 + -0.042316 -0.084945 0.124403 + -0.040735 -0.076729 0.123885 + -0.041315 -0.076210 0.127418 + -0.056268 -0.070876 0.121596 + -0.058621 -0.073171 0.121837 + -0.059797 -0.081083 0.120062 + -0.061431 -0.081447 0.117846 + -0.056009 -0.079084 0.117699 + -0.055301 -0.072198 0.118184 + -0.068400 -0.066054 0.110285 + -0.070346 -0.066095 0.113145 + -0.072726 -0.067847 0.112817 + -0.074019 -0.074189 0.112087 + -0.075928 -0.076613 0.108725 + -0.069081 -0.073458 0.108807 + -0.081784 -0.068828 0.098907 + -0.080556 -0.061305 0.100035 + -0.083422 -0.061281 0.103056 + -0.085754 -0.062753 0.101976 + -0.087172 -0.070190 0.100605 + -0.088414 -0.072066 0.096638 + -0.098039 -0.067723 0.081709 + -0.090955 -0.063813 0.085498 + -0.090722 -0.056813 0.087411 + -0.092574 -0.057427 0.088643 + -0.095835 -0.058422 0.087577 + -0.097736 -0.064974 0.086936 + -0.102325 -0.060898 0.069579 + -0.099190 -0.061496 0.064594 + -0.095522 -0.060475 0.068979 + -0.095216 -0.052632 0.071230 + -0.099457 -0.054210 0.072496 + -0.099414 -0.053633 0.070407 + -0.098326 -0.049092 0.052222 + -0.100160 -0.054016 0.052023 + -0.097723 -0.055288 0.046870 + -0.093666 -0.056543 0.051762 + -0.094072 -0.049211 0.054180 + -0.097224 -0.048389 0.055633 + -0.090047 -0.045552 0.039683 + -0.091618 -0.045412 0.038343 + -0.093966 -0.049338 0.037835 + -0.094112 -0.049114 0.034744 + -0.086080 -0.055077 0.036046 + -0.087978 -0.047479 0.038108 + -0.076569 -0.046303 0.025658 + -0.079422 -0.045391 0.025534 + -0.081194 -0.047340 0.023415 + -0.082335 -0.051201 0.023627 + -0.081551 -0.057621 0.019781 + -0.076556 -0.058213 0.022001 + 0.051218 -0.139038 0.109923 + 0.050896 -0.150652 0.108513 + 0.062904 -0.152962 0.093248 + 0.050706 -0.136379 0.108219 + 0.061842 -0.142579 0.094783 + 0.036651 -0.132278 0.117089 + 0.036348 -0.133785 0.118666 + 0.037085 -0.144492 0.120089 + 0.048375 -0.154488 0.104744 + 0.057569 -0.156741 0.088042 + 0.058183 -0.151984 0.089272 + 0.058867 -0.140089 0.092520 + 0.060406 -0.139559 0.093436 + 0.049790 -0.134708 0.107802 + 0.035063 -0.133645 0.116368 + 0.019845 -0.129881 0.123884 + 0.021954 -0.129163 0.125124 + 0.021049 -0.130813 0.127584 + 0.021024 -0.140853 0.128662 + 0.036458 -0.148190 0.117940 + 0.047577 -0.148630 0.104400 + 0.036994 -0.138984 0.114180 + 0.022028 -0.133598 0.122128 + 0.006856 -0.127401 0.128729 + 0.004778 -0.123973 0.129839 + 0.007049 -0.123603 0.131024 + 0.005313 -0.124637 0.133234 + 0.004647 -0.134324 0.134456 + 0.021005 -0.144041 0.126898 + 0.005333 -0.136597 0.132538 + -0.010509 -0.128409 0.136381 + -0.008847 -0.120175 0.131636 + -0.010864 -0.117533 0.132202 + -0.008099 -0.116712 0.133547 + -0.010503 -0.117057 0.136184 + -0.011993 -0.127042 0.137891 + -0.028675 -0.119463 0.136595 + -0.026861 -0.120877 0.136047 + -0.024675 -0.112836 0.130959 + -0.026062 -0.109292 0.131299 + -0.023226 -0.109116 0.133893 + -0.026470 -0.109132 0.135473 + -0.042523 -0.102216 0.131993 + -0.044941 -0.111035 0.133312 + -0.043211 -0.113928 0.131867 + -0.040541 -0.106212 0.127556 + -0.041206 -0.101702 0.127447 + -0.038359 -0.102071 0.130887 + -0.053800 -0.096978 0.126180 + -0.057971 -0.096254 0.125168 + -0.061349 -0.106033 0.126167 + -0.059520 -0.108654 0.125635 + -0.056706 -0.103113 0.121898 + -0.056332 -0.095525 0.121475 + -0.070760 -0.090737 0.112629 + -0.067718 -0.091017 0.117807 + -0.072917 -0.091150 0.116460 + -0.076559 -0.099733 0.116926 + -0.074652 -0.102772 0.116703 + -0.071429 -0.098134 0.113110 + -0.085003 -0.092106 0.102775 + -0.084154 -0.085325 0.102239 + -0.081383 -0.086059 0.108332 + -0.086633 -0.085669 0.105814 + -0.090594 -0.095298 0.104541 + -0.088271 -0.097200 0.105029 + -0.099868 -0.094497 0.089854 + -0.096748 -0.089454 0.089422 + -0.094254 -0.083594 0.087310 + -0.091966 -0.081787 0.095086 + -0.099082 -0.084671 0.092332 + -0.101974 -0.091375 0.089217 + -0.103853 -0.085540 0.070355 + -0.102470 -0.088122 0.072115 + -0.100100 -0.084440 0.071993 + -0.098762 -0.079377 0.069720 + -0.097659 -0.077864 0.078270 + -0.102511 -0.077680 0.075261 + -0.101504 -0.073042 0.056091 + -0.101768 -0.077851 0.051358 + -0.099713 -0.078608 0.055145 + -0.097008 -0.078426 0.053907 + -0.096785 -0.070974 0.052898 + -0.096852 -0.070939 0.060940 + -0.093893 -0.065318 0.043754 + -0.095455 -0.068335 0.040093 + -0.093605 -0.075398 0.039448 + -0.091864 -0.077172 0.038561 + -0.090443 -0.076967 0.036180 + -0.090248 -0.068124 0.035472 + -0.078966 -0.071987 0.023150 + -0.086419 -0.062773 0.027291 + -0.086676 -0.069942 0.022827 + -0.085687 -0.075494 0.020217 + -0.082341 -0.079324 0.022121 + -0.079830 -0.075688 0.021523 + -0.073622 -0.052664 0.107881 + -0.060528 -0.060379 0.115946 + -0.063344 -0.059962 0.116909 + -0.085320 -0.045080 0.097782 + -0.081845 -0.037484 0.094258 + -0.077548 -0.052885 0.107824 + -0.070981 -0.045845 0.104333 + -0.057290 -0.051798 0.112000 + -0.044456 -0.064085 0.119368 + -0.047396 -0.066777 0.121533 + -0.061096 -0.057972 0.117773 + -0.045048 -0.063606 0.123332 + -0.088683 -0.044225 0.097384 + -0.093834 -0.036941 0.085017 + -0.090542 -0.032258 0.080469 + -0.094295 -0.028300 0.079766 + -0.085940 -0.035489 0.094146 + -0.074194 -0.042342 0.105669 + -0.075554 -0.051338 0.109249 + -0.042666 -0.057666 0.117305 + -0.060476 -0.049162 0.114542 + -0.028819 -0.069745 0.121540 + -0.030760 -0.072582 0.124732 + -0.028581 -0.069661 0.126691 + -0.045365 -0.058612 0.123869 + -0.058805 -0.052107 0.116639 + -0.027128 -0.063730 0.125948 + -0.097324 -0.036363 0.084464 + -0.085181 -0.038317 0.097441 + -0.097275 -0.036534 0.082033 + -0.072354 -0.044635 0.108221 + -0.094894 -0.031121 0.068194 + -0.094038 -0.026381 0.064787 + -0.096263 -0.021381 0.064556 + -0.094925 -0.031645 0.083868 + -0.100504 -0.027467 0.067414 + -0.044831 -0.055115 0.119908 + -0.026952 -0.062514 0.119839 + -0.013093 -0.075885 0.121748 + -0.013393 -0.077066 0.125373 + -0.011556 -0.074962 0.125947 + -0.010061 -0.066876 0.124086 + -0.028889 -0.061248 0.123458 + -0.011915 -0.064417 0.120853 + -0.100961 -0.032039 0.065964 + -0.093554 -0.027719 0.050703 + -0.090714 -0.023361 0.048097 + -0.094316 -0.019263 0.047864 + -0.098030 -0.022215 0.049784 + -0.099140 -0.026288 0.049801 + -0.010732 -0.065957 0.118753 + 0.002672 -0.079892 0.117201 + 0.003650 -0.081577 0.121923 + 0.004769 -0.080484 0.121121 + 0.006118 -0.071568 0.118583 + 0.004375 -0.068695 0.116082 + 0.004844 -0.068473 0.113901 + -0.095041 -0.028079 0.049126 + -0.083381 -0.026762 0.033524 + -0.086355 -0.029717 0.034797 + -0.089224 -0.019740 0.037799 + -0.090962 -0.021383 0.037939 + -0.091078 -0.026514 0.036177 + 0.017457 -0.083014 0.109231 + 0.019451 -0.084356 0.113511 + 0.020636 -0.082527 0.112828 + 0.021453 -0.075588 0.110587 + 0.019583 -0.073173 0.108293 + 0.019237 -0.072586 0.106394 + -0.087763 -0.030098 0.035855 + -0.078488 -0.022086 0.023610 + -0.073939 -0.029599 0.020728 + -0.077735 -0.033679 0.020041 + -0.083698 -0.027676 0.022145 + -0.083311 -0.031671 0.019964 + -0.079994 -0.035250 0.019565 + 0.030152 -0.087898 0.098526 + 0.031325 -0.089929 0.100621 + 0.033102 -0.087663 0.100660 + 0.034029 -0.079628 0.098353 + 0.032205 -0.076935 0.096218 + 0.038606 -0.096009 0.084922 + 0.038020 -0.094993 0.083875 + 0.037184 -0.093807 0.083328 + 0.038210 -0.088325 0.082173 + 0.040011 -0.093906 0.084874 + 0.039122 -0.095039 0.084854 + 0.040488 -0.089539 0.083916 + 0.040045 -0.083895 0.082144 + 0.040951 -0.085522 0.082763 + 0.039134 -0.082549 0.081077 + 0.038850 -0.082619 0.081037 + 0.045888 -0.102088 0.069224 + 0.044215 -0.099716 0.068129 + 0.045495 -0.088303 0.065857 + 0.046919 -0.100148 0.069088 + 0.047873 -0.091416 0.067172 + 0.046062 -0.088163 0.065935 + 0.061543 -0.135562 0.025919 + 0.057294 -0.133146 0.014424 + 0.056223 -0.136782 0.027868 + 0.059106 -0.139066 0.039445 + 0.065017 -0.138633 0.037596 + 0.065178 -0.144100 0.024341 + 0.061934 -0.141546 0.013946 + 0.054457 -0.124117 0.019417 + 0.050698 -0.126375 0.017300 + 0.052556 -0.135205 0.016516 + 0.059083 -0.126614 0.012460 + 0.062345 -0.135623 0.011748 + 0.060811 -0.145443 0.026629 + 0.063593 -0.149569 0.036185 + 0.065877 -0.156902 0.043549 + 0.060574 -0.142468 0.051075 + 0.067871 -0.149116 0.034076 + 0.065814 -0.141826 0.049720 + 0.056879 -0.142387 0.017066 + 0.063872 -0.142649 0.010394 + 0.061606 -0.143647 0.013512 + 0.064390 -0.147521 0.009836 + 0.053103 -0.111081 0.017697 + 0.055496 -0.114673 0.027565 + 0.057104 -0.114696 0.011010 + 0.055012 -0.126317 0.029939 + 0.047192 -0.112367 0.017582 + 0.050570 -0.117821 0.009946 + 0.053080 -0.129485 0.011482 + 0.049566 -0.127992 0.027480 + 0.056519 -0.138410 0.010799 + 0.058974 -0.125456 -0.000041 + 0.061169 -0.131129 -0.000042 + 0.062054 -0.136373 -0.000042 + 0.070546 -0.155399 0.042517 + 0.073394 -0.165097 0.047353 + 0.069378 -0.166415 0.046944 + 0.066489 -0.155521 0.053994 + 0.069758 -0.166967 0.055201 + 0.062258 -0.143107 0.060875 + 0.064254 -0.152650 0.056913 + 0.071201 -0.154826 0.054457 + 0.067142 -0.143913 0.060087 + 0.057501 -0.145287 0.010694 + 0.062800 -0.140680 -0.000042 + 0.064057 -0.161173 0.006421 + 0.066163 -0.151849 0.022492 + 0.059789 -0.152064 0.022250 + 0.064416 -0.152350 0.008120 + 0.064229 -0.145430 -0.000043 + 0.051712 -0.105000 0.012953 + 0.045245 -0.108093 0.011899 + 0.048618 -0.116299 0.027007 + 0.051097 -0.117547 0.036947 + 0.057275 -0.116562 0.037790 + 0.056327 -0.115549 -0.000040 + 0.055442 -0.128476 0.040534 + 0.046397 -0.108681 -0.000037 + 0.050219 -0.118470 -0.000038 + 0.053187 -0.128224 -0.000039 + 0.055459 -0.133860 -0.000040 + 0.051023 -0.128915 0.037930 + 0.059083 -0.126614 -0.012460 + 0.062345 -0.135623 -0.011748 + 0.063872 -0.142649 -0.010394 + 0.064390 -0.147521 -0.009836 + 0.074733 -0.166899 0.055305 + 0.071098 -0.172005 0.049185 + 0.074618 -0.171971 0.048006 + 0.068224 -0.151428 0.060034 + 0.071129 -0.177030 0.060571 + 0.061593 -0.143322 0.066183 + 0.063658 -0.153048 0.062880 + 0.067614 -0.152176 0.066282 + 0.066481 -0.144448 0.066347 + 0.056594 -0.138984 -0.000041 + 0.059167 -0.150019 0.008985 + 0.056952 -0.158333 0.007586 + 0.060628 -0.169006 0.013770 + 0.064416 -0.152350 -0.008120 + 0.068463 -0.169990 0.014761 + 0.063398 -0.162157 -0.000043 + 0.063528 -0.159707 0.031868 + 0.069438 -0.160689 0.031532 + 0.065491 -0.177776 0.022229 + 0.048665 -0.091471 -0.000037 + 0.049136 -0.090066 0.007878 + 0.052664 -0.105684 -0.000039 + 0.048065 -0.100313 0.016099 + 0.042099 -0.093431 0.006732 + 0.041023 -0.101711 0.015612 + 0.051402 -0.117547 0.047221 + 0.051836 -0.128490 0.048387 + 0.058440 -0.116866 0.048373 + 0.057104 -0.114696 -0.011010 + 0.055926 -0.129479 0.051192 + 0.041971 -0.094673 -0.000035 + 0.045245 -0.108093 -0.011899 + 0.050570 -0.117821 -0.009946 + 0.053080 -0.129485 -0.011482 + 0.056519 -0.138410 -0.010799 + 0.054457 -0.124117 -0.019417 + 0.057294 -0.133146 -0.014424 + 0.061934 -0.141546 -0.013946 + 0.061606 -0.143647 -0.013512 + 0.077057 -0.176745 0.062384 + 0.069306 -0.186639 0.031091 + 0.067311 -0.167311 0.041480 + 0.072822 -0.168980 0.041011 + 0.072598 -0.196516 0.040520 + 0.076704 -0.196524 0.041631 + 0.073251 -0.187320 0.033339 + 0.072125 -0.179491 0.072003 + 0.075258 -0.190988 0.065267 + 0.073766 -0.191430 0.075954 + 0.061587 -0.143427 0.071546 + 0.062619 -0.152929 0.068952 + 0.067169 -0.153319 0.072436 + 0.065286 -0.144296 0.072552 + 0.057501 -0.145287 -0.010694 + 0.057542 -0.143194 -0.000041 + 0.059584 -0.154661 0.007333 + 0.059636 -0.163956 -0.000042 + 0.059100 -0.147883 -0.000041 + 0.060167 -0.170040 0.007361 + 0.071526 -0.178974 0.023583 + 0.066163 -0.151849 -0.022492 + 0.064057 -0.161173 -0.006421 + 0.068463 -0.169990 -0.014761 + 0.059404 -0.173596 0.005826 + 0.059553 -0.178303 -0.000042 + 0.059404 -0.173596 -0.005826 + 0.060167 -0.170040 -0.007361 + 0.043004 -0.078935 -0.000035 + 0.042742 -0.078854 0.009426 + 0.049136 -0.090066 -0.007878 + 0.042453 -0.084159 0.014714 + 0.051712 -0.105000 -0.012953 + 0.049599 -0.098948 0.024721 + 0.044519 -0.087887 0.021927 + 0.035824 -0.082162 0.008299 + 0.036264 -0.082158 -0.000034 + 0.037815 -0.087797 0.015706 + 0.042171 -0.103620 0.023708 + 0.052312 -0.117780 0.057638 + 0.051957 -0.127447 0.058823 + 0.056547 -0.128298 0.061876 + 0.059111 -0.116860 0.059122 + 0.053103 -0.111081 -0.017697 + 0.035824 -0.082162 -0.008299 + 0.042099 -0.093431 -0.006732 + 0.041023 -0.101711 -0.015612 + 0.047192 -0.112367 -0.017582 + 0.050698 -0.126375 -0.017300 + 0.052556 -0.135205 -0.016516 + 0.056879 -0.142387 -0.017066 + 0.055012 -0.126317 -0.029939 + 0.049566 -0.127992 -0.027480 + 0.061543 -0.135562 -0.025919 + 0.056223 -0.136782 -0.027868 + 0.065178 -0.144100 -0.024341 + 0.059789 -0.152064 -0.022250 + 0.078216 -0.190670 0.065195 + 0.077150 -0.181220 0.074077 + 0.073742 -0.208622 0.051811 + 0.073580 -0.196943 0.060142 + 0.081492 -0.206173 0.072202 + 0.078531 -0.210951 0.051104 + 0.078696 -0.197821 0.062785 + 0.069983 -0.177857 0.083822 + 0.069942 -0.190652 0.086027 + 0.076562 -0.191952 0.076254 + 0.073768 -0.191275 0.087190 + 0.061185 -0.143127 0.076860 + 0.062135 -0.153236 0.075148 + 0.066945 -0.154612 0.078507 + 0.065200 -0.144898 0.078869 + 0.059167 -0.150019 -0.008985 + 0.056952 -0.158333 -0.007586 + 0.060628 -0.169006 -0.013770 + 0.059584 -0.154661 -0.007333 + 0.063528 -0.159707 -0.031868 + 0.069438 -0.160689 -0.031532 + 0.071526 -0.178974 -0.023583 + 0.038902 -0.066635 -0.000034 + 0.039369 -0.065759 0.008291 + 0.042742 -0.078854 -0.009426 + 0.037707 -0.066567 0.012961 + 0.038338 -0.074115 0.015624 + 0.039554 -0.080843 0.013640 + 0.042453 -0.084159 -0.014714 + 0.048065 -0.100313 -0.016099 + 0.039114 -0.091255 0.022961 + 0.050816 -0.099295 0.033447 + 0.047483 -0.090788 0.029330 + 0.041059 -0.093582 0.030490 + 0.032039 -0.069265 0.007097 + 0.031891 -0.069988 -0.000032 + 0.033371 -0.076123 0.016333 + 0.032039 -0.069265 -0.007097 + 0.042798 -0.105272 0.031929 + 0.053417 -0.116760 0.067704 + 0.051835 -0.126545 0.069266 + 0.056834 -0.126106 0.072466 + 0.058642 -0.115538 0.069549 + 0.055496 -0.114673 -0.027565 + 0.033371 -0.076123 -0.016333 + 0.039554 -0.080843 -0.013640 + 0.037815 -0.087797 -0.015706 + 0.039114 -0.091255 -0.022961 + 0.042171 -0.103620 -0.023708 + 0.048618 -0.116299 -0.027007 + 0.060811 -0.145443 -0.026629 + 0.055442 -0.128476 -0.040534 + 0.051023 -0.128915 -0.037930 + 0.051097 -0.117547 -0.036947 + 0.059106 -0.139066 -0.039445 + 0.065017 -0.138633 -0.037596 + 0.063593 -0.149569 -0.036185 + 0.067871 -0.149116 -0.034076 + 0.065491 -0.177776 -0.022229 + 0.074779 -0.179897 0.086332 + 0.081488 -0.219211 0.058591 + 0.075326 -0.216685 0.059017 + 0.075526 -0.205126 0.069934 + 0.079347 -0.209062 0.084697 + 0.081230 -0.214954 0.073548 + 0.075312 -0.208814 0.082179 + 0.065879 -0.174277 0.094740 + 0.065605 -0.188927 0.095788 + 0.070168 -0.188993 0.097665 + 0.070864 -0.176980 0.097914 + 0.061217 -0.141737 0.082047 + 0.061544 -0.155383 0.080799 + 0.066130 -0.155784 0.084393 + 0.065070 -0.143445 0.084995 + 0.067311 -0.167311 -0.041480 + 0.072822 -0.168980 -0.041011 + 0.073251 -0.187320 -0.033339 + 0.074618 -0.171971 -0.048006 + 0.033843 -0.057533 -0.000032 + 0.034119 -0.057331 0.007855 + 0.039369 -0.065759 -0.008291 + 0.033152 -0.060513 0.014794 + 0.038338 -0.074115 -0.015624 + 0.034877 -0.062573 0.019769 + 0.038694 -0.073649 0.021612 + 0.049599 -0.098948 -0.024721 + 0.044519 -0.087887 -0.021927 + 0.050464 -0.101811 0.041977 + 0.047470 -0.092404 0.037401 + 0.041527 -0.095151 0.038475 + 0.044502 -0.105760 0.040119 + 0.026986 -0.060743 0.006693 + 0.026948 -0.060831 -0.000030 + 0.027942 -0.062742 0.015212 + 0.026986 -0.060743 -0.006693 + 0.033116 -0.075827 0.022074 + 0.027942 -0.062742 -0.015212 + 0.052391 -0.112080 0.076874 + 0.051372 -0.125963 0.079724 + 0.056527 -0.123474 0.082900 + 0.056405 -0.111689 0.079287 + 0.057275 -0.116562 -0.037790 + 0.028184 -0.065346 -0.020525 + 0.033116 -0.075827 -0.022074 + 0.047483 -0.090788 -0.029330 + 0.041059 -0.093582 -0.030490 + 0.042798 -0.105272 -0.031929 + 0.051836 -0.128490 -0.048387 + 0.055926 -0.129479 -0.051192 + 0.051402 -0.117547 -0.047221 + 0.058440 -0.116866 -0.048373 + 0.065877 -0.156902 -0.043549 + 0.060574 -0.142468 -0.051075 + 0.065814 -0.141826 -0.049720 + 0.070546 -0.155399 -0.042517 + 0.069306 -0.186639 -0.031091 + 0.084239 -0.227151 0.066497 + 0.076030 -0.219008 0.071361 + 0.077702 -0.224556 0.065864 + 0.073849 -0.219056 0.082970 + 0.079459 -0.219152 0.085630 + 0.076043 -0.209293 0.097351 + 0.072937 -0.207886 0.094766 + 0.082091 -0.225354 0.079017 + 0.078277 -0.225361 0.077009 + 0.077878 -0.217567 0.072138 + 0.070644 -0.219550 0.095669 + 0.060520 -0.141048 0.087319 + 0.060433 -0.156495 0.086729 + 0.064737 -0.156748 0.090411 + 0.065891 -0.144433 0.091181 + 0.071098 -0.172005 -0.049185 + 0.076704 -0.196524 -0.041631 + 0.077057 -0.176745 -0.062384 + 0.073394 -0.165097 -0.047353 + 0.069378 -0.166415 -0.046944 + 0.027055 -0.044510 -0.000030 + 0.028323 -0.045064 0.008103 + 0.034119 -0.057331 -0.007855 + 0.027630 -0.050971 0.014420 + 0.037707 -0.066567 -0.012961 + 0.025918 -0.052246 0.014924 + 0.028184 -0.065346 0.020525 + 0.033152 -0.060513 -0.014794 + 0.038694 -0.073649 -0.021612 + 0.029321 -0.066486 0.026283 + 0.035535 -0.064331 0.025142 + 0.039218 -0.073962 0.027579 + 0.050816 -0.099295 -0.033447 + 0.051100 -0.102232 0.050867 + 0.047757 -0.092457 0.045763 + 0.042293 -0.094983 0.046624 + 0.045777 -0.105433 0.048406 + 0.021172 -0.048484 0.006938 + 0.020255 -0.047762 -0.000028 + 0.021172 -0.048484 -0.006938 + 0.033439 -0.075981 0.027803 + 0.025918 -0.052246 -0.014924 + 0.027630 -0.050971 -0.014420 + 0.034877 -0.062573 -0.019769 + 0.035535 -0.064331 -0.025142 + 0.029321 -0.066486 -0.026283 + 0.033439 -0.075981 -0.027803 + 0.050464 -0.101811 -0.041977 + 0.047470 -0.092404 -0.037401 + 0.041527 -0.095151 -0.038475 + 0.044502 -0.105760 -0.040119 + 0.052312 -0.117780 -0.057638 + 0.051957 -0.127447 -0.058823 + 0.056547 -0.128298 -0.061876 + 0.059111 -0.116860 -0.059122 + 0.066489 -0.155521 -0.053994 + 0.062258 -0.143107 -0.060875 + 0.064254 -0.152650 -0.056913 + 0.071201 -0.154826 -0.054457 + 0.067142 -0.143913 -0.060087 + 0.072598 -0.196516 -0.040520 + 0.071129 -0.177030 -0.060571 + 0.081311 -0.230799 0.085096 + 0.083978 -0.235349 0.074654 + 0.076511 -0.219031 0.073790 + 0.078414 -0.231965 0.073827 + 0.074949 -0.220274 0.097728 + 0.068467 -0.205260 0.106556 + 0.072516 -0.206856 0.109677 + 0.064577 -0.217897 0.107049 + 0.076047 -0.231017 0.082809 + 0.069740 -0.219444 0.109521 + 0.078216 -0.190670 -0.065195 + 0.078696 -0.197821 -0.062785 + 0.078531 -0.210951 -0.051104 + 0.074733 -0.166899 -0.055305 + 0.077150 -0.181220 -0.074077 + 0.072125 -0.179491 -0.072003 + 0.069758 -0.166967 -0.055201 + 0.016387 -0.025035 -0.000026 + 0.017300 -0.028529 0.012083 + 0.021765 -0.035631 -0.009576 + 0.021765 -0.035631 0.009576 + 0.028323 -0.045064 -0.008103 + 0.018734 -0.039640 0.015383 + 0.026490 -0.046048 0.013268 + 0.027239 -0.045497 0.017764 + 0.028142 -0.050788 0.018916 + 0.026175 -0.052690 0.019178 + 0.039218 -0.073962 -0.027579 + 0.030337 -0.066705 0.032185 + 0.033556 -0.076526 0.033524 + 0.035817 -0.065042 0.030764 + 0.039999 -0.074076 0.033520 + 0.050578 -0.101717 0.059677 + 0.048556 -0.091093 0.053955 + 0.043144 -0.092743 0.054287 + 0.045714 -0.104925 0.056795 + 0.014889 -0.038919 0.008456 + 0.009810 -0.028181 -0.000024 + 0.010525 -0.031769 -0.010980 + 0.014889 -0.038919 -0.008456 + 0.018734 -0.039640 -0.015383 + 0.020799 -0.041386 -0.018107 + 0.026175 -0.052690 -0.019178 + 0.026490 -0.046048 -0.013268 + 0.028142 -0.050788 -0.018916 + 0.039999 -0.074076 -0.033520 + 0.035817 -0.065042 -0.030764 + 0.030337 -0.066705 -0.032185 + 0.033556 -0.076526 -0.033524 + 0.045777 -0.105433 -0.048406 + 0.051100 -0.102232 -0.050867 + 0.047757 -0.092457 -0.045763 + 0.042293 -0.094983 -0.046624 + 0.058642 -0.115538 -0.069549 + 0.053417 -0.116760 -0.067704 + 0.051835 -0.126545 -0.069266 + 0.056834 -0.126106 -0.072466 + 0.068224 -0.151428 -0.060034 + 0.061593 -0.143322 -0.066183 + 0.063658 -0.153048 -0.062880 + 0.067614 -0.152176 -0.066282 + 0.066481 -0.144448 -0.066347 + 0.075258 -0.190988 -0.065267 + 0.073580 -0.196943 -0.060142 + 0.075526 -0.205126 -0.069934 + 0.073742 -0.208622 -0.051811 + 0.073766 -0.191430 -0.075954 + 0.073105 -0.233801 0.090034 + 0.078983 -0.235195 0.091586 + 0.080444 -0.243819 0.081702 + 0.074859 -0.239859 0.079980 + 0.076562 -0.191952 -0.076254 + 0.081492 -0.206173 -0.072202 + 0.081488 -0.219211 -0.058591 + 0.074779 -0.179897 -0.086332 + 0.069983 -0.177857 -0.083822 + 0.069942 -0.190652 -0.086027 + 0.010869 -0.013736 -0.000024 + 0.013398 -0.022393 0.017692 + 0.009446 -0.012400 -0.014749 + 0.013398 -0.022393 -0.017692 + 0.017300 -0.028529 -0.012083 + 0.011012 -0.026088 0.019196 + 0.014953 -0.031881 0.014840 + 0.017049 -0.035116 -0.013914 + 0.017049 -0.035116 0.013914 + 0.020799 -0.041386 0.018107 + 0.022160 -0.042528 0.021262 + 0.027766 -0.045274 0.022320 + 0.028225 -0.050733 0.023404 + 0.026720 -0.052450 0.023731 + 0.031181 -0.066238 0.038063 + 0.033318 -0.077116 0.039233 + 0.040850 -0.073443 0.039443 + 0.036118 -0.064804 0.036435 + 0.048082 -0.100816 0.068239 + 0.047986 -0.088428 0.061947 + 0.043886 -0.088420 0.061293 + 0.045032 -0.104378 0.065150 + 0.010525 -0.031769 0.010980 + 0.006631 -0.025629 0.016590 + 0.002627 -0.015661 0.013638 + 0.004316 -0.016870 -0.000023 + 0.006631 -0.025629 -0.016590 + 0.011012 -0.026088 -0.019196 + 0.014953 -0.031881 -0.014840 + 0.027239 -0.045497 -0.017764 + 0.027766 -0.045274 -0.022320 + 0.022160 -0.042528 -0.021262 + 0.026720 -0.052450 -0.023731 + 0.028225 -0.050733 -0.023404 + 0.033318 -0.077116 -0.039233 + 0.040850 -0.073443 -0.039443 + 0.036118 -0.064804 -0.036435 + 0.031181 -0.066238 -0.038063 + 0.043144 -0.092743 -0.054287 + 0.045714 -0.104925 -0.056795 + 0.050578 -0.101717 -0.059677 + 0.048556 -0.091093 -0.053955 + 0.056527 -0.123474 -0.082900 + 0.056405 -0.111689 -0.079287 + 0.052391 -0.112080 -0.076874 + 0.051372 -0.125963 -0.079724 + 0.065286 -0.144296 -0.072552 + 0.061587 -0.143427 -0.071546 + 0.062619 -0.152929 -0.068952 + 0.067169 -0.153319 -0.072436 + 0.075312 -0.208814 -0.082179 + 0.073849 -0.219056 -0.082970 + 0.076030 -0.219008 -0.071361 + 0.075326 -0.216685 -0.059017 + 0.073768 -0.191275 -0.087190 + 0.069543 -0.235887 0.097485 + 0.075667 -0.238440 0.098783 + 0.074511 -0.245103 0.100811 + 0.075753 -0.252221 0.088218 + 0.071436 -0.251696 0.099575 + 0.069411 -0.247396 0.085658 + 0.081230 -0.214954 -0.073548 + 0.079347 -0.209062 -0.084697 + 0.084239 -0.227151 -0.066497 + 0.082091 -0.225354 -0.079017 + 0.070864 -0.176980 -0.097914 + 0.065879 -0.174277 -0.094740 + 0.065605 -0.188927 -0.095788 + 0.070168 -0.188993 -0.097665 + 0.003523 -0.002470 -0.000022 + 0.002389 -0.001311 0.015643 + 0.009446 -0.012400 0.014749 + 0.001810 -0.023024 0.027908 + 0.007890 -0.017310 0.028537 + 0.002443 -0.006765 0.027785 + 0.002389 -0.001311 -0.015643 + 0.002443 -0.006765 -0.027785 + 0.007890 -0.017310 -0.028537 + 0.022792 -0.043041 0.024888 + 0.026509 -0.052551 0.028287 + 0.028068 -0.045402 0.026941 + 0.027828 -0.050852 0.027887 + 0.032066 -0.065029 0.043794 + 0.033846 -0.077221 0.044917 + 0.041105 -0.073699 0.045377 + 0.036667 -0.063890 0.041977 + -0.007636 -0.006106 0.014010 + -0.002719 -0.005454 -0.000020 + -0.007636 -0.006106 -0.014010 + 0.002627 -0.015661 -0.013638 + -0.005916 -0.005886 -0.015413 + -0.005178 -0.006918 -0.026099 + 0.001810 -0.023024 -0.027908 + 0.027828 -0.050852 -0.027887 + 0.028068 -0.045402 -0.026941 + 0.022792 -0.043041 -0.024888 + 0.026509 -0.052551 -0.028287 + 0.032066 -0.065029 -0.043794 + 0.033846 -0.077221 -0.044917 + 0.041105 -0.073699 -0.045377 + 0.036667 -0.063890 -0.041977 + 0.047986 -0.088428 -0.061947 + 0.043886 -0.088420 -0.061293 + 0.045032 -0.104378 -0.065150 + 0.048082 -0.100816 -0.068239 + 0.065200 -0.144898 -0.078869 + 0.061185 -0.143127 -0.076860 + 0.062135 -0.153236 -0.075148 + 0.066945 -0.154612 -0.078507 + 0.072937 -0.207886 -0.094766 + 0.070644 -0.219550 -0.095669 + 0.076511 -0.219031 -0.073790 + 0.079459 -0.219152 -0.085630 + 0.074949 -0.220274 -0.097728 + 0.078277 -0.225361 -0.077009 + 0.077878 -0.217567 -0.072138 + 0.077702 -0.224556 -0.065864 + 0.066841 -0.237632 0.099971 + 0.066951 -0.248828 0.098043 + 0.067461 -0.247429 0.101319 + 0.073576 -0.240591 0.102464 + 0.071295 -0.250160 0.103399 + 0.067945 -0.258422 0.102482 + 0.069588 -0.260100 0.094143 + 0.062488 -0.254932 0.100894 + 0.065288 -0.253762 0.093311 + 0.076043 -0.209293 -0.097351 + 0.083978 -0.235349 -0.074654 + 0.081311 -0.230799 -0.085096 + 0.076047 -0.231017 -0.082809 + -0.000017 -0.000013 -0.000021 + -0.000188 -0.000065 0.012310 + -0.005916 -0.005886 0.015413 + -0.005178 -0.006918 0.026099 + 0.000755 -0.022017 0.030227 + 0.006605 -0.016574 0.030449 + 0.000920 -0.006098 0.029003 + -0.006179 -0.006459 0.026983 + -0.000188 -0.000065 -0.012310 + -0.008215 -0.002916 -0.011655 + 0.000920 -0.006098 -0.029003 + 0.006605 -0.016574 -0.030449 + 0.000755 -0.022017 -0.030227 + 0.022709 -0.042959 0.028578 + 0.024850 -0.052237 0.032597 + 0.027267 -0.050751 0.032345 + 0.027806 -0.045118 0.031430 + 0.033004 -0.063081 0.049372 + 0.035102 -0.076866 0.050576 + 0.040737 -0.074939 0.051325 + 0.037431 -0.062318 0.047413 + -0.008215 -0.002916 0.011655 + -0.006031 -0.000311 -0.000019 + -0.006179 -0.006459 -0.026983 + 0.024850 -0.052237 -0.032597 + 0.027267 -0.050751 -0.032345 + 0.027806 -0.045118 -0.031430 + 0.022709 -0.042959 -0.028578 + 0.037431 -0.062318 -0.047413 + 0.033004 -0.063081 -0.049372 + 0.035102 -0.076866 -0.050576 + 0.040737 -0.074939 -0.051325 + 0.065070 -0.143445 -0.084995 + 0.061217 -0.141737 -0.082047 + 0.061544 -0.155383 -0.080799 + 0.066130 -0.155784 -0.084393 + 0.068467 -0.205260 -0.106556 + 0.064577 -0.217897 -0.107049 + 0.069740 -0.219444 -0.109521 + 0.072516 -0.206856 -0.109677 + 0.078414 -0.231965 -0.073827 + 0.064758 -0.238953 0.102943 + 0.065251 -0.246114 0.104055 + 0.069629 -0.249601 0.107108 + 0.070371 -0.240974 0.106058 + 0.062832 -0.262489 0.107152 + 0.058805 -0.258432 0.103403 + 0.062289 -0.266012 0.100928 + 0.058664 -0.260297 0.099102 + 0.080444 -0.243819 -0.081702 + 0.078983 -0.235195 -0.091586 + 0.073105 -0.233801 -0.090034 + 0.074859 -0.239859 -0.079980 + -0.000299 -0.021011 0.032546 + 0.005321 -0.015839 0.032360 + -0.000604 -0.005431 0.030221 + -0.007181 -0.006000 0.027867 + 0.005321 -0.015839 -0.032360 + -0.000604 -0.005431 -0.030221 + -0.000299 -0.021011 -0.032546 + -0.007181 -0.006000 -0.027867 + 0.021920 -0.042303 0.032065 + 0.023634 -0.051353 0.036815 + 0.026789 -0.050123 0.036766 + 0.026753 -0.043931 0.035664 + 0.021920 -0.042303 -0.032065 + 0.023634 -0.051353 -0.036815 + 0.026789 -0.050123 -0.036766 + 0.026753 -0.043931 -0.035664 + 0.065891 -0.144433 -0.091181 + 0.060520 -0.141048 -0.087319 + 0.060433 -0.156495 -0.086729 + 0.064737 -0.156748 -0.090411 + 0.063377 -0.239819 0.106460 + 0.062872 -0.245444 0.106860 + 0.067702 -0.249671 0.110724 + 0.067789 -0.240907 0.110143 + 0.053049 -0.261892 0.107632 + 0.056725 -0.265054 0.111937 + 0.050479 -0.264475 0.104991 + 0.054039 -0.270394 0.107851 + 0.075753 -0.252221 -0.088218 + 0.071436 -0.251696 -0.099575 + 0.074511 -0.245103 -0.100811 + 0.075667 -0.238440 -0.098783 + 0.069543 -0.235887 -0.097485 + 0.069411 -0.247396 -0.085658 + -0.001354 -0.020005 0.034865 + 0.004036 -0.015104 0.034272 + -0.002129 -0.004765 0.031439 + -0.008182 -0.005541 0.028751 + -0.001354 -0.020005 -0.034865 + 0.004036 -0.015104 -0.034272 + -0.002129 -0.004765 -0.031439 + -0.008182 -0.005541 -0.028751 + 0.020452 -0.041089 0.035430 + 0.024452 -0.049835 0.041088 + 0.026335 -0.049059 0.041153 + 0.025006 -0.042022 0.039688 + 0.025006 -0.042022 -0.039688 + 0.020452 -0.041089 -0.035430 + 0.024452 -0.049835 -0.041088 + 0.026335 -0.049059 -0.041153 + 0.061765 -0.239971 0.110010 + 0.060472 -0.244875 0.109666 + 0.065174 -0.249571 0.113929 + 0.066056 -0.241152 0.114593 + 0.048339 -0.262414 0.113122 + 0.042742 -0.264102 0.112454 + 0.051171 -0.264182 0.117660 + 0.045350 -0.269218 0.115254 + 0.067945 -0.258422 -0.102482 + 0.069588 -0.260100 -0.094143 + 0.071295 -0.250160 -0.103399 + 0.066951 -0.248828 -0.098043 + 0.062488 -0.254932 -0.100894 + 0.073576 -0.240591 -0.102464 + 0.066841 -0.237632 -0.099971 + 0.067461 -0.247429 -0.101319 + 0.065288 -0.253762 -0.093311 + -0.002408 -0.018999 0.037183 + 0.002752 -0.014368 0.036183 + -0.003652 -0.004097 0.032656 + -0.009184 -0.005081 0.029636 + -0.009184 -0.005081 -0.029636 + -0.002408 -0.018999 -0.037183 + 0.002752 -0.014368 -0.036183 + -0.003652 -0.004097 -0.032656 + 0.059337 -0.240505 0.113024 + 0.058111 -0.244814 0.112610 + 0.062102 -0.249313 0.116762 + 0.062659 -0.241474 0.117998 + 0.062832 -0.262489 -0.107152 + 0.058805 -0.258432 -0.103403 + 0.062289 -0.266012 -0.100928 + 0.070371 -0.240974 -0.106058 + 0.069629 -0.249601 -0.107108 + 0.058664 -0.260297 -0.099102 + 0.064758 -0.238953 -0.102943 + 0.065251 -0.246114 -0.104055 + -0.003463 -0.017993 0.039502 + 0.001467 -0.013632 0.038095 + -0.005176 -0.003431 0.033874 + -0.010185 -0.004622 0.030520 + -0.005176 -0.003431 -0.033874 + -0.010185 -0.004622 -0.030520 + -0.003463 -0.017993 -0.039502 + 0.001467 -0.013632 -0.038095 + 0.056725 -0.265054 -0.111937 + 0.053049 -0.261892 -0.107632 + 0.050479 -0.264475 -0.104991 + 0.054039 -0.270394 -0.107851 + 0.067789 -0.240907 -0.110143 + 0.063377 -0.239819 -0.106460 + 0.067702 -0.249671 -0.110724 + 0.062872 -0.245444 -0.106860 + -0.004517 -0.016987 0.041820 + 0.000182 -0.012897 0.040007 + -0.006700 -0.002764 0.035092 + -0.011187 -0.004162 0.031404 + 0.000182 -0.012897 -0.040007 + -0.006700 -0.002764 -0.035092 + -0.011187 -0.004162 -0.031404 + -0.004517 -0.016987 -0.041820 + 0.048339 -0.262414 -0.113122 + 0.051171 -0.264182 -0.117660 + 0.042742 -0.264102 -0.112454 + 0.045350 -0.269218 -0.115254 + 0.066056 -0.241152 -0.114593 + 0.061765 -0.239971 -0.110010 + 0.060472 -0.244875 -0.109666 + 0.065174 -0.249571 -0.113929 + 0.062659 -0.241474 -0.117998 + 0.059337 -0.240505 -0.113024 + 0.058111 -0.244814 -0.112610 + 0.062102 -0.249313 -0.116762 + -0.092607 -0.087562 -0.034072 + -0.095015 -0.082889 -0.037561 + -0.084823 -0.085874 -0.022815 + -0.098000 -0.094664 -0.052197 + -0.098089 -0.088480 -0.052347 + -0.091738 -0.092976 -0.034645 + -0.079365 -0.090099 -0.021270 + -0.098865 -0.086002 -0.055669 + -0.098090 -0.087684 -0.034711 + -0.086218 -0.089722 -0.020275 + -0.103358 -0.103347 -0.067387 + -0.099626 -0.101439 -0.069912 + -0.102712 -0.095172 -0.049223 + -0.099980 -0.093173 -0.070912 + -0.093280 -0.094145 -0.038083 + -0.078938 -0.094298 -0.022398 + -0.099974 -0.092808 -0.073697 + -0.103383 -0.088129 -0.053258 + -0.098875 -0.089318 -0.033976 + -0.086865 -0.093166 -0.018441 + -0.104915 -0.112109 -0.085700 + -0.102602 -0.113795 -0.084146 + -0.106699 -0.100838 -0.069612 + -0.097537 -0.107289 -0.087793 + -0.104407 -0.094416 -0.050947 + -0.097563 -0.100399 -0.088338 + -0.083614 -0.098966 -0.021266 + -0.097899 -0.100163 -0.091693 + -0.105067 -0.095275 -0.072036 + -0.091358 -0.107295 -0.104632 + -0.094374 -0.118516 -0.101221 + -0.103022 -0.104681 -0.089078 + -0.093587 -0.118678 -0.101110 + -0.087530 -0.113974 -0.102215 + -0.087754 -0.104387 -0.103920 + -0.087676 -0.105032 -0.105500 + -0.073583 -0.110582 -0.117221 + -0.077421 -0.112329 -0.117199 + -0.080792 -0.122957 -0.114947 + -0.080204 -0.123032 -0.114400 + -0.074321 -0.118838 -0.114520 + -0.074486 -0.110297 -0.115452 + -0.059344 -0.117184 -0.124848 + -0.058671 -0.116577 -0.127107 + -0.061808 -0.117520 -0.127244 + -0.064375 -0.127192 -0.125008 + -0.063896 -0.127948 -0.123990 + -0.059600 -0.125993 -0.123463 + -0.043938 -0.133832 -0.129471 + -0.043192 -0.124769 -0.130429 + -0.042013 -0.124070 -0.132155 + -0.044838 -0.124670 -0.134053 + -0.046930 -0.134230 -0.130968 + -0.029399 -0.141963 -0.134709 + -0.029095 -0.141690 -0.133620 + -0.026869 -0.140249 -0.132549 + -0.027660 -0.133333 -0.136996 + -0.026087 -0.131790 -0.133559 + -0.024759 -0.131161 -0.134911 + -0.009954 -0.141554 -0.137351 + -0.011628 -0.150182 -0.136068 + -0.011295 -0.149654 -0.134835 + -0.010494 -0.148895 -0.133899 + -0.007784 -0.139277 -0.135957 + -0.009286 -0.140171 -0.134560 + 0.009580 -0.146449 -0.133970 + 0.008075 -0.147770 -0.135434 + 0.006378 -0.157816 -0.134964 + 0.005300 -0.159207 -0.134232 + 0.006048 -0.156546 -0.131857 + 0.007904 -0.147568 -0.132874 + 0.024174 -0.155907 -0.128681 + 0.026435 -0.153838 -0.129719 + 0.025478 -0.155129 -0.130443 + 0.023973 -0.165515 -0.131025 + 0.022942 -0.166380 -0.130279 + 0.022623 -0.163921 -0.128174 + 0.038669 -0.169742 -0.120857 + 0.040534 -0.162353 -0.121837 + 0.042482 -0.161015 -0.122620 + 0.041829 -0.163513 -0.123933 + 0.039939 -0.173864 -0.123011 + 0.039098 -0.174287 -0.122841 + 0.052025 -0.182178 -0.110512 + 0.051044 -0.177577 -0.109169 + 0.055992 -0.167317 -0.111915 + 0.056826 -0.169923 -0.113062 + 0.054096 -0.181043 -0.111210 + 0.066834 -0.189495 -0.098513 + 0.064125 -0.188934 -0.096646 + 0.062879 -0.183297 -0.095718 + 0.064949 -0.174241 -0.097163 + 0.067697 -0.174806 -0.098000 + 0.069284 -0.178984 -0.100519 + 0.069817 -0.205296 -0.108786 + 0.066029 -0.219325 -0.106108 + 0.068068 -0.218286 -0.109170 + 0.065463 -0.203444 -0.111420 + 0.063864 -0.212511 -0.104511 + 0.057166 -0.199629 -0.121210 + 0.056202 -0.197586 -0.120677 + 0.071033 -0.208437 -0.111264 + 0.051842 -0.205454 -0.116835 + 0.052658 -0.212054 -0.117910 + 0.054309 -0.210550 -0.118436 + 0.053804 -0.195347 -0.122979 + 0.042030 -0.201235 -0.128385 + 0.042655 -0.190351 -0.129547 + 0.040900 -0.188866 -0.129159 + 0.038231 -0.188538 -0.129200 + 0.038600 -0.196231 -0.125699 + 0.039468 -0.202114 -0.128003 + 0.023711 -0.192860 -0.133776 + 0.026719 -0.193042 -0.134143 + 0.026096 -0.182071 -0.134067 + 0.024055 -0.180041 -0.133514 + 0.022750 -0.180181 -0.133591 + 0.023608 -0.187461 -0.131414 + 0.006827 -0.180748 -0.134238 + 0.006629 -0.185290 -0.135506 + 0.010168 -0.185652 -0.137106 + 0.009474 -0.173166 -0.136648 + 0.006692 -0.171492 -0.136006 + 0.006298 -0.172541 -0.135494 + -0.009647 -0.163879 -0.134638 + -0.009422 -0.172365 -0.133807 + -0.010591 -0.177261 -0.135378 + -0.006585 -0.178301 -0.136250 + -0.007584 -0.164723 -0.136248 + -0.010462 -0.162485 -0.135125 + -0.028202 -0.154623 -0.133431 + -0.026297 -0.156738 -0.133362 + -0.026230 -0.165603 -0.131974 + -0.026893 -0.169247 -0.133673 + -0.023422 -0.171370 -0.135172 + -0.024792 -0.156895 -0.134345 + -0.042225 -0.149717 -0.132106 + -0.045573 -0.146837 -0.130010 + -0.042311 -0.149165 -0.130025 + -0.041964 -0.157339 -0.129219 + -0.044683 -0.161040 -0.131565 + -0.039928 -0.163619 -0.133878 + -0.056041 -0.156196 -0.129298 + -0.059026 -0.142916 -0.126704 + -0.063155 -0.140193 -0.124785 + -0.058464 -0.142572 -0.124885 + -0.059008 -0.152964 -0.124228 + -0.061631 -0.154668 -0.125919 + -0.071699 -0.149443 -0.122681 + -0.078711 -0.151406 -0.118253 + -0.075651 -0.138389 -0.118471 + -0.079415 -0.135666 -0.114857 + -0.073991 -0.138539 -0.116024 + -0.073978 -0.146863 -0.115564 + -0.092003 -0.147060 -0.104766 + -0.086572 -0.146785 -0.112093 + -0.087932 -0.142501 -0.104266 + -0.090481 -0.134021 -0.107100 + -0.094030 -0.131793 -0.102146 + -0.088096 -0.135210 -0.104585 + -0.096985 -0.135246 -0.090231 + -0.101652 -0.143344 -0.089507 + -0.099839 -0.142035 -0.099960 + -0.099723 -0.128558 -0.091805 + -0.103644 -0.134469 -0.093788 + -0.104862 -0.126709 -0.087385 + -0.102940 -0.122627 -0.074356 + -0.101143 -0.130158 -0.072558 + -0.104227 -0.134870 -0.072263 + -0.106325 -0.138383 -0.083216 + -0.106638 -0.120393 -0.068449 + -0.108477 -0.128534 -0.076688 + -0.103341 -0.113475 -0.050005 + -0.102401 -0.117295 -0.056338 + -0.099333 -0.123419 -0.055021 + -0.103500 -0.126359 -0.054953 + -0.105914 -0.131324 -0.065885 + -0.108313 -0.122361 -0.058264 + -0.105685 -0.118774 -0.039137 + -0.100758 -0.109116 -0.030752 + -0.097534 -0.114271 -0.038369 + -0.094202 -0.120272 -0.037211 + -0.098012 -0.120717 -0.038696 + -0.104774 -0.124132 -0.048500 + -0.099388 -0.118674 -0.033602 + -0.096254 -0.114117 -0.024439 + -0.085882 -0.112847 -0.021105 + -0.086253 -0.111681 -0.024306 + -0.084250 -0.117500 -0.022039 + -0.086599 -0.120972 -0.022683 + -0.071201 -0.216568 -0.018716 + -0.059722 -0.206224 -0.021176 + -0.072359 -0.212671 -0.020982 + -0.060746 -0.216862 -0.018551 + -0.058377 -0.209363 -0.021539 + -0.072368 -0.216290 -0.028380 + -0.071332 -0.220108 -0.025610 + -0.061838 -0.212771 -0.027827 + -0.063449 -0.208594 -0.028104 + -0.066060 -0.220153 -0.023037 + -0.068094 -0.212675 -0.034324 + -0.074482 -0.219652 -0.035660 + -0.073289 -0.223145 -0.032721 + -0.068468 -0.222585 -0.030352 + -0.065978 -0.215070 -0.034075 + -0.067576 -0.219293 -0.040729 + -0.071553 -0.217018 -0.041188 + -0.074796 -0.224588 -0.042276 + -0.074022 -0.227481 -0.039205 + -0.071493 -0.225960 -0.036809 + -0.071947 -0.230011 -0.043705 + -0.068317 -0.224206 -0.046843 + -0.071583 -0.222813 -0.047460 + -0.073954 -0.229463 -0.048870 + -0.073557 -0.231724 -0.045934 + -0.073838 -0.236603 -0.052144 + -0.072948 -0.235184 -0.049509 + -0.068600 -0.228297 -0.053699 + -0.071306 -0.228394 -0.054151 + -0.072530 -0.234080 -0.055565 + -0.069518 -0.239464 -0.061039 + -0.071188 -0.241526 -0.057801 + -0.071019 -0.240197 -0.055336 + -0.067179 -0.233451 -0.059573 + -0.069162 -0.233129 -0.061296 + -0.065372 -0.239044 -0.066576 + -0.065068 -0.243724 -0.066585 + -0.068351 -0.246671 -0.063119 + -0.068441 -0.245137 -0.060942 + -0.065014 -0.238802 -0.065086 + -0.061432 -0.243938 -0.069720 + -0.061102 -0.244746 -0.071699 + -0.060740 -0.248794 -0.071526 + -0.064145 -0.251465 -0.067877 + -0.064168 -0.250042 -0.065421 + -0.059680 -0.254477 -0.070035 + -0.057353 -0.250068 -0.072725 + -0.058789 -0.250001 -0.073259 + -0.056700 -0.252008 -0.073598 + -0.057798 -0.252492 -0.073965 + -0.059321 -0.254971 -0.072545 + 0.061721 -0.239717 -0.121476 + 0.058159 -0.248810 -0.113031 + 0.060492 -0.242652 -0.121706 + 0.058892 -0.240026 -0.120573 + 0.058255 -0.246757 -0.112863 + 0.045318 -0.234285 -0.127916 + 0.045165 -0.231702 -0.127749 + 0.051323 -0.247510 -0.121106 + 0.043260 -0.240081 -0.120437 + 0.042881 -0.242348 -0.120381 + 0.036527 -0.238783 -0.126814 + 0.043275 -0.232880 -0.126688 + 0.021228 -0.229419 -0.130770 + 0.029925 -0.224826 -0.132146 + 0.028666 -0.221758 -0.131263 + 0.028065 -0.223337 -0.130341 + 0.028119 -0.231523 -0.125869 + 0.027813 -0.233436 -0.125565 + 0.011661 -0.224924 -0.128655 + 0.004624 -0.220929 -0.131602 + 0.013387 -0.216094 -0.134191 + 0.011532 -0.212082 -0.132998 + 0.012192 -0.214018 -0.132295 + 0.013148 -0.221344 -0.129095 + -0.002889 -0.212256 -0.129641 + -0.005304 -0.217125 -0.128649 + -0.012621 -0.213327 -0.130988 + -0.002611 -0.206200 -0.133662 + -0.006243 -0.203213 -0.131244 + -0.004892 -0.206409 -0.131742 + -0.021936 -0.199162 -0.128300 + -0.020744 -0.206312 -0.126755 + -0.022376 -0.209506 -0.126920 + -0.029733 -0.206354 -0.126947 + -0.019131 -0.197172 -0.131495 + -0.024215 -0.194827 -0.128664 + -0.041605 -0.186563 -0.123301 + -0.038716 -0.192337 -0.123130 + -0.036602 -0.197579 -0.122200 + -0.039095 -0.202478 -0.121728 + -0.045883 -0.198317 -0.121692 + -0.035968 -0.189257 -0.127470 + -0.052293 -0.181400 -0.121827 + -0.058556 -0.178414 -0.116796 + -0.054684 -0.184118 -0.117881 + -0.052915 -0.190297 -0.116453 + -0.055439 -0.194983 -0.116230 + -0.061945 -0.191700 -0.114744 + -0.076667 -0.185692 -0.105175 + -0.068288 -0.174263 -0.114699 + -0.074967 -0.172451 -0.107375 + -0.070482 -0.178452 -0.109709 + -0.068599 -0.184161 -0.108415 + -0.070525 -0.188818 -0.107218 + -0.084129 -0.182806 -0.096328 + -0.090230 -0.180519 -0.093869 + -0.083067 -0.170593 -0.103807 + -0.088993 -0.168772 -0.094899 + -0.084280 -0.173202 -0.098783 + -0.082948 -0.179233 -0.097890 + -0.094113 -0.173586 -0.084965 + -0.094641 -0.178347 -0.082611 + -0.100224 -0.175167 -0.080119 + -0.095970 -0.166844 -0.091257 + -0.100750 -0.163186 -0.082398 + -0.095222 -0.166051 -0.086848 + -0.103242 -0.159376 -0.072997 + -0.100815 -0.166994 -0.070573 + -0.102011 -0.171132 -0.068556 + -0.105740 -0.166404 -0.066536 + -0.106484 -0.160270 -0.078155 + -0.105024 -0.154112 -0.068551 + -0.105426 -0.145314 -0.053106 + -0.101956 -0.152230 -0.057928 + -0.100993 -0.157585 -0.056616 + -0.101783 -0.160532 -0.055823 + -0.104668 -0.156165 -0.053284 + -0.108527 -0.153251 -0.062750 + -0.107653 -0.146275 -0.047230 + -0.101200 -0.136656 -0.038237 + -0.099785 -0.145353 -0.042752 + -0.098387 -0.148708 -0.042704 + -0.099639 -0.150537 -0.042926 + -0.103695 -0.148553 -0.038585 + -0.096899 -0.144207 -0.025649 + -0.104869 -0.142279 -0.031056 + -0.096493 -0.131614 -0.022042 + -0.093252 -0.139911 -0.028222 + -0.091733 -0.143504 -0.028298 + -0.094581 -0.144572 -0.029130 + -0.083628 -0.143331 -0.014549 + -0.085238 -0.143172 -0.015280 + -0.095346 -0.136971 -0.019098 + -0.081701 -0.136786 -0.016103 + -0.080452 -0.140119 -0.017070 + -0.080042 -0.140359 -0.016125 + -0.012220 -0.003946 -0.034011 + -0.000602 -0.012149 -0.041464 + -0.004589 -0.007338 -0.047685 + -0.017257 -0.006157 -0.034664 + -0.015270 -0.001015 -0.037887 + -0.003717 -0.015528 -0.042447 + -0.006490 -0.011248 -0.048988 + -0.008218 -0.002806 -0.054250 + -0.009047 -0.006094 -0.054980 + -0.020086 -0.002986 -0.038333 + -0.019125 0.001869 -0.041248 + -0.022664 0.000358 -0.042061 + -0.011285 0.001601 -0.061097 + -0.012762 -0.001170 -0.060810 + -0.026327 0.003705 -0.044840 + -0.023520 0.004906 -0.044055 + -0.016811 0.006845 -0.066079 + -0.017425 0.004490 -0.065426 + -0.031192 0.006876 -0.046985 + -0.027854 0.008188 -0.046631 + -0.023904 0.012729 -0.068713 + -0.024039 0.010111 -0.068207 + -0.034908 0.010411 -0.049662 + -0.031860 0.011439 -0.049558 + -0.031904 0.018396 -0.068404 + -0.032479 0.014830 -0.068869 + -0.036180 0.015264 -0.051786 + -0.034982 0.015662 -0.052104 + -0.040239 0.023348 -0.066018 + -0.041007 0.019101 -0.066727 + -0.040994 0.018498 -0.053546 + -0.039280 0.019624 -0.052729 + -0.048619 0.027722 -0.062745 + -0.048461 0.024097 -0.063840 + -0.047424 0.020780 -0.053852 + -0.044835 0.022842 -0.051585 + -0.056036 0.031885 -0.058004 + -0.056026 0.028383 -0.059952 + -0.052174 0.023409 -0.051272 + -0.050261 0.024868 -0.049158 + -0.062291 0.036190 -0.052455 + -0.063824 0.031495 -0.055419 + -0.055647 0.026085 -0.047031 + -0.052590 0.028232 -0.045302 + -0.070506 0.039350 -0.048152 + -0.070251 0.033787 -0.049803 + -0.058537 0.028135 -0.042335 + -0.054984 0.029696 -0.040438 + -0.074281 0.037552 -0.041572 + -0.075597 0.033301 -0.043023 + -0.060108 0.029528 -0.037283 + -0.057009 0.031198 -0.035558 + -0.065414 0.037731 -0.038180 + -0.069552 0.035169 -0.037376 + -0.060657 0.029453 -0.031962 + -0.058453 0.030863 -0.030237 + -0.063454 0.036326 -0.029955 + -0.065870 0.034382 -0.030352 + -0.062048 0.027990 -0.026835 + -0.058576 0.028437 -0.025692 + -0.065252 0.034142 -0.021842 + -0.068682 0.031140 -0.023463 + -0.065598 0.024910 -0.023417 + -0.060032 0.025927 -0.021103 + 0.019689 -0.047500 -0.042707 + 0.016543 -0.044262 -0.055465 + 0.019055 -0.043917 -0.055919 + 0.020802 -0.040417 -0.040700 + 0.021402 -0.041687 -0.040038 + 0.022632 -0.049129 -0.043701 + 0.010304 -0.040159 -0.066332 + 0.012481 -0.039403 -0.066968 + 0.017773 -0.035538 -0.050393 + 0.019048 -0.037033 -0.051417 + 0.013396 -0.032600 -0.061526 + 0.002692 -0.036421 -0.076289 + 0.004453 -0.035148 -0.076743 + 0.012508 -0.031930 -0.059511 + 0.006572 -0.028423 -0.070768 + 0.006469 -0.027898 -0.067850 + -0.007119 -0.032939 -0.084162 + -0.005904 -0.030970 -0.083976 + -0.002663 -0.025178 -0.077939 + -0.001645 -0.024470 -0.074297 + -0.018135 -0.029834 -0.090292 + -0.016813 -0.027009 -0.090501 + -0.012665 -0.021747 -0.083749 + -0.010634 -0.021311 -0.079577 + -0.028478 -0.024602 -0.095959 + -0.026993 -0.021431 -0.097035 + -0.022593 -0.016173 -0.087694 + -0.019979 -0.017123 -0.083127 + -0.038642 -0.017932 -0.099644 + -0.036609 -0.012708 -0.099354 + -0.032511 -0.009330 -0.088094 + -0.028797 -0.010777 -0.083961 + -0.047700 -0.009195 -0.095102 + -0.046146 -0.004479 -0.094158 + -0.041693 -0.002847 -0.085153 + -0.038138 -0.005493 -0.082189 + -0.056604 -0.001536 -0.088723 + -0.056136 0.002669 -0.088296 + -0.050851 0.004132 -0.080389 + -0.046605 0.000695 -0.078588 + -0.064809 0.006094 -0.081286 + -0.063806 0.010789 -0.080191 + -0.058103 0.010405 -0.073068 + -0.054304 0.006635 -0.073215 + -0.070252 0.012513 -0.070578 + -0.069589 0.017136 -0.069180 + -0.062940 0.016071 -0.062787 + -0.060438 0.011832 -0.065061 + -0.074328 0.016912 -0.058759 + -0.072758 0.022866 -0.056854 + -0.066645 0.021726 -0.052000 + -0.062814 0.015989 -0.053640 + -0.074770 0.017135 -0.045984 + -0.075774 0.023206 -0.044362 + -0.068811 0.022525 -0.041672 + -0.063650 0.017516 -0.044729 + -0.070395 0.012557 -0.034730 + -0.072368 0.014142 -0.037544 + -0.066884 0.016807 -0.033726 + -0.062735 0.016515 -0.034033 + -0.068638 0.009038 -0.023148 + -0.068305 0.012472 -0.024176 + -0.063610 0.012747 -0.022675 + -0.057918 0.014691 -0.024229 + 0.037845 -0.063051 -0.051357 + 0.038888 -0.071721 -0.053771 + 0.033149 -0.068016 -0.069315 + 0.034754 -0.061673 -0.050136 + 0.033126 -0.059166 -0.067047 + 0.034267 -0.071832 -0.053500 + 0.035802 -0.074709 -0.052819 + 0.031073 -0.071668 -0.069101 + 0.025321 -0.062274 -0.082865 + 0.022839 -0.066532 -0.082855 + 0.032232 -0.062954 -0.051324 + 0.033140 -0.058270 -0.065654 + 0.026498 -0.055290 -0.081758 + 0.030325 -0.069176 -0.069562 + 0.030034 -0.059428 -0.066151 + 0.022619 -0.063792 -0.083036 + 0.014765 -0.057356 -0.094670 + 0.012663 -0.060528 -0.094722 + 0.012403 -0.058512 -0.094560 + 0.026449 -0.053406 -0.078759 + 0.015772 -0.050064 -0.092777 + 0.023736 -0.054654 -0.079172 + 0.013627 -0.050734 -0.089270 + 0.002145 -0.054435 -0.104739 + 0.000281 -0.056882 -0.105113 + 0.000327 -0.054284 -0.104276 + 0.002070 -0.045792 -0.096976 + 0.017244 -0.047488 -0.089390 + 0.003276 -0.045466 -0.101663 + 0.005451 -0.043430 -0.097852 + -0.011323 -0.050081 -0.112563 + -0.013497 -0.052568 -0.112880 + -0.013296 -0.051538 -0.112054 + -0.010833 -0.042998 -0.102606 + -0.007897 -0.040595 -0.103851 + -0.010453 -0.041767 -0.108858 + -0.025457 -0.043299 -0.115850 + -0.028092 -0.046333 -0.115669 + -0.027959 -0.047159 -0.114650 + -0.024110 -0.038404 -0.105642 + -0.021414 -0.036682 -0.108538 + -0.024958 -0.037091 -0.112644 + -0.040484 -0.038468 -0.113609 + -0.042902 -0.040219 -0.113310 + -0.042733 -0.041958 -0.113621 + -0.037716 -0.034813 -0.104933 + -0.035207 -0.031507 -0.107481 + -0.039404 -0.031698 -0.110199 + -0.054486 -0.032105 -0.108765 + -0.056951 -0.033416 -0.108433 + -0.056291 -0.036138 -0.108107 + -0.050421 -0.028910 -0.101427 + -0.048476 -0.026446 -0.103166 + -0.053598 -0.026464 -0.105672 + -0.067042 -0.025324 -0.100931 + -0.068537 -0.025176 -0.099760 + -0.068513 -0.028729 -0.100885 + -0.061430 -0.021487 -0.095179 + -0.060479 -0.020156 -0.096681 + -0.065530 -0.019300 -0.097618 + -0.077248 -0.016678 -0.091353 + -0.080386 -0.018879 -0.090070 + -0.079160 -0.021161 -0.091380 + -0.071030 -0.014232 -0.086391 + -0.070418 -0.012333 -0.088250 + -0.075530 -0.012036 -0.087036 + -0.086481 -0.009525 -0.079507 + -0.088497 -0.011680 -0.076951 + -0.087517 -0.013003 -0.079690 + -0.078669 -0.008630 -0.074610 + -0.078491 -0.006171 -0.076491 + -0.084077 -0.004671 -0.075183 + -0.089832 -0.003225 -0.063985 + -0.091055 -0.005772 -0.060948 + -0.087732 -0.006945 -0.064334 + -0.082712 -0.004729 -0.060271 + -0.082424 -0.000615 -0.062394 + -0.086744 0.001313 -0.060342 + -0.088160 0.001676 -0.047545 + -0.088714 0.001436 -0.045627 + -0.084671 -0.005009 -0.048411 + -0.080542 -0.002008 -0.045398 + -0.081398 0.003836 -0.047150 + -0.085521 0.004622 -0.045807 + -0.081486 -0.000266 -0.035688 + -0.083533 -0.005292 -0.035063 + -0.078877 -0.007597 -0.032999 + -0.074694 -0.004646 -0.031484 + -0.075945 0.001637 -0.032905 + -0.079364 0.001613 -0.036080 + -0.074310 -0.005655 -0.021346 + -0.076753 -0.010562 -0.020176 + -0.071532 -0.013405 -0.019504 + -0.064422 -0.008905 -0.022270 + -0.068663 -0.003962 -0.020752 + -0.072964 -0.004120 -0.022142 + 0.054363 -0.113610 -0.081816 + 0.054766 -0.122197 -0.083080 + 0.044582 -0.116347 -0.097219 + 0.052867 -0.111481 -0.080227 + 0.044078 -0.108320 -0.095841 + 0.049590 -0.112289 -0.079356 + 0.049762 -0.122114 -0.081402 + 0.052022 -0.125715 -0.081547 + 0.042419 -0.119559 -0.096100 + 0.033793 -0.110688 -0.110940 + 0.031811 -0.113198 -0.109533 + 0.043317 -0.105529 -0.093976 + 0.033932 -0.102796 -0.109939 + 0.040925 -0.106408 -0.092937 + 0.041742 -0.115806 -0.095515 + 0.031107 -0.110043 -0.107781 + 0.019686 -0.105471 -0.120613 + 0.018444 -0.106940 -0.119686 + 0.018280 -0.104900 -0.117414 + 0.033697 -0.099914 -0.107684 + 0.020425 -0.098135 -0.120331 + 0.030916 -0.102259 -0.106108 + 0.018939 -0.096016 -0.116018 + 0.004401 -0.100805 -0.128422 + 0.003046 -0.102319 -0.127085 + 0.004126 -0.099199 -0.124164 + 0.004945 -0.091063 -0.122896 + 0.020909 -0.094096 -0.117685 + 0.005504 -0.093437 -0.128285 + 0.006223 -0.089217 -0.124766 + -0.011903 -0.095159 -0.131140 + -0.013421 -0.097198 -0.130084 + -0.011083 -0.093911 -0.127768 + -0.009983 -0.085689 -0.126315 + -0.009162 -0.085163 -0.129455 + -0.010949 -0.089296 -0.131649 + -0.028960 -0.091734 -0.130659 + -0.030031 -0.092008 -0.128952 + -0.026966 -0.089684 -0.127973 + -0.025514 -0.081311 -0.126843 + -0.025282 -0.080767 -0.129234 + -0.027088 -0.083422 -0.131519 + -0.044501 -0.084349 -0.126792 + -0.046331 -0.087202 -0.124840 + -0.042316 -0.084945 -0.124403 + -0.040735 -0.076729 -0.123885 + -0.041315 -0.076210 -0.127418 + -0.043088 -0.078015 -0.127953 + -0.059797 -0.081083 -0.120062 + -0.061431 -0.081447 -0.117846 + -0.056009 -0.079084 -0.117699 + -0.055301 -0.072198 -0.118184 + -0.056268 -0.070876 -0.121596 + -0.058621 -0.073171 -0.121837 + -0.074019 -0.074189 -0.112087 + -0.075928 -0.076613 -0.108725 + -0.069081 -0.073458 -0.108807 + -0.068400 -0.066054 -0.110285 + -0.070346 -0.066095 -0.113145 + -0.072726 -0.067847 -0.112817 + -0.087172 -0.070190 -0.100605 + -0.088414 -0.072066 -0.096638 + -0.081784 -0.068828 -0.098907 + -0.080556 -0.061305 -0.100035 + -0.083422 -0.061281 -0.103056 + -0.085754 -0.062753 -0.101976 + -0.097736 -0.064974 -0.086936 + -0.098039 -0.067723 -0.081709 + -0.090955 -0.063813 -0.085498 + -0.090722 -0.056813 -0.087411 + -0.092574 -0.057427 -0.088643 + -0.095835 -0.058422 -0.087577 + -0.102325 -0.060898 -0.069579 + -0.099190 -0.061496 -0.064594 + -0.095522 -0.060475 -0.068979 + -0.095216 -0.052632 -0.071230 + -0.099457 -0.054210 -0.072496 + -0.099414 -0.053633 -0.070407 + -0.100160 -0.054016 -0.052023 + -0.097723 -0.055288 -0.046870 + -0.093666 -0.056543 -0.051762 + -0.094072 -0.049211 -0.054180 + -0.097224 -0.048389 -0.055633 + -0.098326 -0.049092 -0.052222 + -0.093966 -0.049338 -0.037835 + -0.091040 -0.055082 -0.037116 + -0.086080 -0.055077 -0.036046 + -0.087978 -0.047479 -0.038108 + -0.090047 -0.045552 -0.039683 + -0.091618 -0.045412 -0.038343 + -0.081457 -0.050916 -0.022276 + -0.081551 -0.057621 -0.019781 + -0.076556 -0.058213 -0.022001 + -0.076569 -0.046303 -0.025658 + -0.079422 -0.045391 -0.025534 + -0.081194 -0.047340 -0.023415 + 0.061842 -0.142579 -0.094783 + 0.062904 -0.152962 -0.093248 + 0.050896 -0.150652 -0.108513 + 0.060406 -0.139559 -0.093436 + 0.051218 -0.139038 -0.109923 + 0.058867 -0.140089 -0.092520 + 0.058183 -0.151984 -0.089272 + 0.057569 -0.156741 -0.088042 + 0.048375 -0.154488 -0.104744 + 0.037085 -0.144492 -0.120089 + 0.036458 -0.148190 -0.117940 + 0.050706 -0.136379 -0.108219 + 0.036348 -0.133785 -0.118666 + 0.049790 -0.134708 -0.107802 + 0.047577 -0.148630 -0.104400 + 0.036994 -0.138984 -0.114180 + 0.021024 -0.140853 -0.128662 + 0.021005 -0.144041 -0.126898 + 0.022028 -0.133598 -0.122128 + 0.036651 -0.132278 -0.117089 + 0.021049 -0.130813 -0.127584 + 0.035063 -0.133645 -0.116368 + 0.019845 -0.129881 -0.123884 + 0.004647 -0.134324 -0.134456 + 0.005333 -0.136597 -0.132538 + 0.006856 -0.127401 -0.128729 + 0.004778 -0.123973 -0.129839 + 0.021954 -0.129163 -0.125124 + 0.005313 -0.124637 -0.133234 + 0.007049 -0.123603 -0.131024 + -0.011993 -0.127042 -0.137891 + -0.010509 -0.128409 -0.136381 + -0.008847 -0.120175 -0.131636 + -0.010864 -0.117533 -0.132202 + -0.008099 -0.116712 -0.133547 + -0.010503 -0.117057 -0.136184 + -0.028675 -0.119463 -0.136595 + -0.026861 -0.120877 -0.136047 + -0.024675 -0.112836 -0.130959 + -0.026062 -0.109292 -0.131299 + -0.023226 -0.109116 -0.133893 + -0.026470 -0.109132 -0.135473 + -0.044941 -0.111035 -0.133312 + -0.043211 -0.113928 -0.131867 + -0.040541 -0.106212 -0.127556 + -0.041206 -0.101702 -0.127447 + -0.038359 -0.102071 -0.130887 + -0.042523 -0.102216 -0.131993 + -0.061349 -0.106033 -0.126167 + -0.059520 -0.108654 -0.125635 + -0.056706 -0.103113 -0.121898 + -0.056332 -0.095525 -0.121475 + -0.053800 -0.096978 -0.126180 + -0.057971 -0.096254 -0.125168 + -0.076559 -0.099733 -0.116926 + -0.074652 -0.102772 -0.116703 + -0.071429 -0.098134 -0.113110 + -0.070760 -0.090737 -0.112629 + -0.067718 -0.091017 -0.117807 + -0.072917 -0.091150 -0.116460 + -0.090594 -0.095298 -0.104541 + -0.088271 -0.097200 -0.105029 + -0.085003 -0.092106 -0.102775 + -0.084154 -0.085325 -0.102239 + -0.081383 -0.086059 -0.108332 + -0.086633 -0.085669 -0.105814 + -0.101974 -0.091375 -0.089217 + -0.099868 -0.094497 -0.089854 + -0.096748 -0.089454 -0.089422 + -0.094254 -0.083594 -0.087310 + -0.091966 -0.081787 -0.095086 + -0.099082 -0.084671 -0.092332 + -0.103853 -0.085540 -0.070355 + -0.102470 -0.088122 -0.072115 + -0.100100 -0.084440 -0.071993 + -0.098762 -0.079377 -0.069720 + -0.097659 -0.077864 -0.078270 + -0.102511 -0.077680 -0.075261 + -0.101768 -0.077851 -0.051358 + -0.099713 -0.078608 -0.055145 + -0.097008 -0.078426 -0.053907 + -0.096785 -0.070974 -0.052898 + -0.096852 -0.070939 -0.060940 + -0.101504 -0.073042 -0.056091 + -0.093605 -0.075398 -0.039448 + -0.091864 -0.077172 -0.038561 + -0.090443 -0.076967 -0.036180 + -0.090248 -0.068124 -0.035472 + -0.093893 -0.065318 -0.043754 + -0.095455 -0.068335 -0.040093 + -0.085687 -0.075494 -0.020217 + -0.082341 -0.079324 -0.022121 + -0.079830 -0.075688 -0.021523 + -0.078966 -0.071987 -0.023150 + -0.086341 -0.066242 -0.028384 + -0.086676 -0.069942 -0.022827 + + + + + 0 1 2 + 3 4 0 + 0 2 5 + 3 0 5 + 4 1 0 + 4 6 1 + 6 2 1 + 2 7 8 + 6 9 2 + 2 8 5 + 9 7 2 + 10 3 5 + 11 12 3 + 3 10 11 + 12 4 3 + 12 13 4 + 13 6 4 + 10 5 8 + 13 14 6 + 14 9 6 + 9 15 7 + 15 8 7 + 15 10 8 + 14 16 9 + 16 15 9 + 17 11 10 + 17 10 15 + 18 19 11 + 18 11 17 + 19 12 11 + 19 20 12 + 20 13 12 + 20 21 13 + 21 14 13 + 21 22 14 + 22 16 14 + 16 17 15 + 22 23 16 + 23 17 16 + 23 18 17 + 24 25 18 + 24 18 23 + 25 19 18 + 25 26 19 + 26 20 19 + 26 27 20 + 27 21 20 + 27 28 21 + 28 22 21 + 28 29 22 + 29 23 22 + 29 24 23 + 30 31 24 + 30 24 29 + 31 25 24 + 31 32 25 + 32 26 25 + 32 33 26 + 33 27 26 + 33 34 27 + 34 28 27 + 34 35 28 + 35 29 28 + 35 30 29 + 36 37 30 + 37 31 30 + 36 30 35 + 37 38 31 + 38 32 31 + 38 39 32 + 39 33 32 + 39 40 33 + 40 34 33 + 40 41 34 + 41 35 34 + 41 36 35 + 42 43 36 + 42 36 41 + 43 37 36 + 43 44 37 + 38 37 44 + 44 45 38 + 45 39 38 + 45 46 39 + 46 40 39 + 46 47 40 + 47 41 40 + 47 42 41 + 48 49 42 + 48 42 47 + 49 43 42 + 49 50 43 + 50 44 43 + 50 51 44 + 51 45 44 + 51 52 45 + 52 46 45 + 52 53 46 + 53 47 46 + 53 48 47 + 54 55 48 + 54 48 53 + 55 49 48 + 56 49 55 + 56 50 49 + 56 57 50 + 57 51 50 + 57 58 51 + 58 52 51 + 58 59 52 + 59 53 52 + 59 54 53 + 60 61 54 + 60 54 59 + 61 55 54 + 61 62 55 + 56 55 62 + 62 63 56 + 63 57 56 + 63 64 57 + 64 58 57 + 64 65 58 + 65 59 58 + 65 60 59 + 66 67 60 + 66 60 65 + 67 61 60 + 67 68 61 + 68 62 61 + 68 69 62 + 63 62 69 + 69 70 63 + 70 64 63 + 70 71 64 + 71 65 64 + 71 66 65 + 72 73 66 + 73 67 66 + 72 66 71 + 73 74 67 + 74 68 67 + 74 75 68 + 75 69 68 + 75 76 69 + 76 70 69 + 76 77 70 + 77 71 70 + 77 72 71 + 78 79 72 + 78 72 77 + 79 73 72 + 79 80 73 + 80 74 73 + 80 81 74 + 81 75 74 + 81 82 75 + 82 76 75 + 82 83 76 + 83 77 76 + 83 78 77 + 84 85 78 + 84 78 83 + 85 79 78 + 85 86 79 + 86 80 79 + 86 87 80 + 87 81 80 + 87 88 81 + 88 82 81 + 88 89 82 + 89 83 82 + 89 84 83 + 90 91 84 + 90 84 89 + 91 85 84 + 91 92 85 + 92 86 85 + 92 93 86 + 93 87 86 + 93 94 87 + 94 88 87 + 94 95 88 + 95 89 88 + 95 90 89 + 90 95 94 + 91 90 94 + 91 93 92 + 91 94 93 + 96 97 98 + 97 96 99 + 96 100 101 + 96 98 100 + 96 101 99 + 98 97 102 + 97 99 102 + 98 103 100 + 103 98 104 + 98 102 104 + 102 99 105 + 99 101 106 + 99 106 105 + 103 107 100 + 100 107 108 + 100 108 101 + 101 108 109 + 101 109 106 + 104 102 110 + 102 105 110 + 107 103 111 + 103 104 111 + 111 104 112 + 104 110 112 + 110 105 113 + 105 106 114 + 105 114 113 + 106 109 115 + 106 115 114 + 107 111 108 + 108 111 116 + 108 116 109 + 109 116 117 + 109 117 115 + 112 110 118 + 110 113 118 + 111 112 116 + 116 112 119 + 112 118 119 + 118 113 120 + 113 114 121 + 113 121 120 + 114 115 122 + 114 122 121 + 115 117 123 + 115 123 122 + 116 119 117 + 117 119 124 + 117 124 123 + 119 118 125 + 118 120 125 + 119 125 124 + 125 120 126 + 120 121 127 + 120 127 126 + 121 122 128 + 128 127 121 + 122 123 129 + 122 129 128 + 123 124 130 + 123 130 129 + 124 125 131 + 124 131 130 + 125 126 131 + 131 126 132 + 126 127 133 + 126 133 132 + 127 128 134 + 127 134 133 + 128 129 135 + 128 135 134 + 129 130 136 + 129 136 135 + 130 131 137 + 130 137 136 + 131 132 137 + 137 132 138 + 132 133 139 + 132 139 138 + 133 134 140 + 133 140 139 + 134 135 141 + 134 141 140 + 135 136 142 + 135 142 141 + 136 137 143 + 136 143 142 + 137 138 143 + 143 138 144 + 138 139 145 + 138 145 144 + 140 146 139 + 139 146 145 + 140 141 147 + 140 147 146 + 141 142 148 + 141 148 147 + 143 149 142 + 142 149 148 + 143 144 149 + 149 144 150 + 144 145 151 + 144 151 150 + 145 146 152 + 145 152 151 + 146 147 153 + 146 153 152 + 147 148 154 + 147 154 153 + 149 155 148 + 148 155 154 + 149 150 155 + 155 150 156 + 150 151 157 + 150 157 156 + 151 152 158 + 151 158 157 + 152 153 159 + 152 159 158 + 153 154 160 + 153 160 159 + 154 155 161 + 154 161 160 + 155 156 161 + 161 156 162 + 156 157 163 + 156 163 162 + 157 158 164 + 157 164 163 + 158 159 165 + 158 165 164 + 159 160 166 + 159 166 165 + 160 161 167 + 160 167 166 + 161 162 167 + 167 162 168 + 162 163 169 + 162 169 168 + 163 164 170 + 163 170 169 + 164 165 171 + 164 171 170 + 165 166 172 + 165 172 171 + 166 167 173 + 166 173 172 + 167 168 173 + 173 168 174 + 168 169 175 + 168 175 174 + 169 170 176 + 169 176 175 + 170 171 177 + 170 177 176 + 171 172 178 + 171 178 177 + 172 173 179 + 172 179 178 + 173 174 179 + 179 174 180 + 174 175 181 + 174 181 180 + 175 176 182 + 175 182 181 + 176 177 183 + 176 183 182 + 177 178 184 + 177 184 183 + 178 179 185 + 178 185 184 + 179 180 185 + 186 180 181 + 187 180 186 + 188 185 180 + 187 188 180 + 181 182 189 + 181 189 190 + 190 186 181 + 182 183 191 + 182 191 189 + 183 184 192 + 183 192 191 + 184 185 188 + 184 188 192 + 187 186 190 + 188 187 192 + 192 187 190 + 192 190 189 + 192 189 191 + 193 194 195 + 193 195 196 + 197 194 193 + 197 193 198 + 198 193 196 + 199 200 194 + 199 194 197 + 200 201 194 + 195 194 201 + 196 195 201 + 201 202 196 + 198 196 202 + 203 199 197 + 203 197 204 + 204 197 198 + 205 204 198 + 205 198 202 + 206 207 199 + 206 199 203 + 207 200 199 + 207 208 200 + 208 209 200 + 200 209 201 + 209 210 201 + 201 210 202 + 210 205 202 + 211 206 203 + 211 203 212 + 212 203 204 + 212 204 205 + 213 212 205 + 213 205 210 + 214 215 206 + 214 206 211 + 215 207 206 + 215 216 207 + 216 208 207 + 216 217 208 + 217 218 208 + 208 218 209 + 218 213 209 + 209 213 210 + 219 214 211 + 219 211 220 + 220 211 212 + 220 212 213 + 218 220 213 + 221 222 214 + 221 214 219 + 222 215 214 + 222 223 215 + 223 216 215 + 223 224 216 + 224 217 216 + 224 225 217 + 225 226 217 + 217 226 218 + 226 220 218 + 227 221 219 + 227 219 226 + 226 219 220 + 228 229 221 + 228 221 227 + 229 222 221 + 229 230 222 + 230 223 222 + 230 231 223 + 231 224 223 + 231 232 224 + 232 225 224 + 232 233 225 + 233 227 225 + 227 226 225 + 228 227 233 + 234 235 228 + 235 229 228 + 234 228 233 + 235 236 229 + 236 230 229 + 236 237 230 + 237 231 230 + 237 238 231 + 238 232 231 + 238 239 232 + 239 233 232 + 239 234 233 + 240 241 234 + 240 234 239 + 241 235 234 + 241 242 235 + 242 236 235 + 242 243 236 + 243 237 236 + 243 244 237 + 244 238 237 + 244 245 238 + 245 239 238 + 245 240 239 + 246 247 240 + 246 240 245 + 247 241 240 + 247 248 241 + 248 242 241 + 248 249 242 + 249 243 242 + 249 250 243 + 250 244 243 + 250 251 244 + 251 245 244 + 251 246 245 + 252 253 246 + 252 246 251 + 253 247 246 + 253 254 247 + 254 248 247 + 254 255 248 + 255 249 248 + 255 256 249 + 256 250 249 + 256 257 250 + 257 251 250 + 257 252 251 + 258 259 252 + 258 252 257 + 259 253 252 + 259 260 253 + 260 254 253 + 260 261 254 + 261 255 254 + 261 262 255 + 262 256 255 + 262 263 256 + 263 257 256 + 263 258 257 + 264 265 258 + 258 263 264 + 265 259 258 + 265 266 259 + 266 260 259 + 266 267 260 + 267 261 260 + 267 268 261 + 268 262 261 + 268 269 262 + 269 263 262 + 269 264 263 + 270 271 264 + 271 265 264 + 270 264 269 + 271 272 265 + 272 266 265 + 272 273 266 + 273 267 266 + 273 274 267 + 274 268 267 + 274 275 268 + 275 269 268 + 275 270 269 + 276 277 270 + 277 271 270 + 276 270 275 + 277 278 271 + 278 272 271 + 278 279 272 + 279 273 272 + 279 280 273 + 280 274 273 + 280 281 274 + 281 275 274 + 281 276 275 + 282 283 276 + 282 276 281 + 283 277 276 + 283 284 277 + 284 278 277 + 284 285 278 + 285 279 278 + 285 286 279 + 286 280 279 + 286 287 280 + 287 281 280 + 287 282 281 + 284 282 285 + 284 283 282 + 282 287 286 + 286 285 282 + 288 289 290 + 291 292 288 + 288 290 293 + 291 288 293 + 292 289 288 + 289 294 295 + 292 296 289 + 289 295 290 + 296 294 289 + 297 298 290 + 293 290 298 + 297 290 295 + 291 298 299 + 293 298 291 + 291 299 300 + 300 292 291 + 300 301 292 + 301 296 292 + 296 302 294 + 302 295 294 + 302 297 295 + 301 303 296 + 303 302 296 + 304 305 297 + 305 298 297 + 304 297 302 + 305 299 298 + 306 307 299 + 300 299 307 + 306 299 305 + 300 307 308 + 308 301 300 + 308 309 301 + 309 303 301 + 303 304 302 + 309 310 303 + 310 304 303 + 310 311 304 + 311 305 304 + 311 306 305 + 312 313 306 + 313 307 306 + 312 306 311 + 313 314 307 + 308 307 314 + 308 314 315 + 315 309 308 + 315 316 309 + 316 310 309 + 316 317 310 + 317 311 310 + 317 312 311 + 318 319 312 + 318 312 317 + 319 313 312 + 319 320 313 + 320 314 313 + 320 321 314 + 315 314 321 + 315 321 322 + 322 316 315 + 322 323 316 + 323 317 316 + 323 318 317 + 324 325 318 + 324 318 323 + 325 319 318 + 325 326 319 + 326 320 319 + 326 327 320 + 327 321 320 + 327 328 321 + 322 321 328 + 322 328 329 + 329 323 322 + 329 324 323 + 330 331 324 + 330 324 329 + 331 325 324 + 331 332 325 + 332 326 325 + 332 333 326 + 333 327 326 + 333 334 327 + 334 328 327 + 334 335 328 + 329 328 335 + 329 335 330 + 330 335 336 + 330 336 337 + 337 331 330 + 337 338 331 + 338 332 331 + 338 339 332 + 339 333 332 + 339 340 333 + 340 334 333 + 340 341 334 + 341 335 334 + 341 336 335 + 342 343 336 + 337 336 343 + 342 336 341 + 337 343 344 + 344 338 337 + 344 345 338 + 345 339 338 + 345 346 339 + 346 340 339 + 346 347 340 + 347 341 340 + 347 342 341 + 348 349 342 + 349 343 342 + 348 342 347 + 349 350 343 + 344 343 350 + 344 350 351 + 351 345 344 + 351 352 345 + 352 346 345 + 352 353 346 + 353 347 346 + 348 347 353 + 354 348 355 + 355 348 353 + 354 349 348 + 354 356 349 + 356 350 349 + 356 357 350 + 350 357 351 + 351 357 358 + 358 352 351 + 358 359 352 + 359 353 352 + 359 355 353 + 360 354 355 + 360 361 354 + 361 356 354 + 362 360 355 + 362 355 359 + 361 363 356 + 363 357 356 + 363 364 357 + 358 357 364 + 358 364 365 + 365 359 358 + 365 362 359 + 366 360 362 + 366 367 360 + 367 361 360 + 367 368 361 + 368 363 361 + 369 366 362 + 369 362 365 + 368 370 363 + 370 364 363 + 370 371 364 + 365 364 371 + 365 371 369 + 372 366 369 + 372 367 366 + 372 373 367 + 373 368 367 + 373 374 368 + 374 370 368 + 369 371 375 + 369 375 372 + 374 376 370 + 376 371 370 + 376 375 371 + 372 375 377 + 377 373 372 + 378 374 373 + 378 373 377 + 376 374 378 + 379 380 375 + 375 380 377 + 379 375 376 + 378 379 376 + 378 377 379 + 377 380 379 + 381 382 383 + 384 385 381 + 385 382 381 + 386 381 383 + 387 384 381 + 387 381 386 + 382 388 383 + 389 388 382 + 389 382 390 + 390 382 385 + 383 388 391 + 392 383 391 + 386 383 392 + 384 393 394 + 385 384 394 + 395 393 384 + 395 384 387 + 390 385 396 + 396 385 394 + 392 397 386 + 386 397 398 + 386 398 387 + 387 398 399 + 387 399 395 + 388 400 391 + 401 400 388 + 401 388 389 + 402 401 389 + 402 389 403 + 403 389 390 + 403 390 397 + 397 390 396 + 391 400 404 + 405 391 404 + 392 391 405 + 405 403 392 + 392 403 397 + 406 394 393 + 407 406 393 + 408 407 393 + 408 393 395 + 396 394 409 + 409 394 406 + 395 399 410 + 395 410 408 + 397 396 398 + 398 396 409 + 398 409 399 + 399 409 411 + 399 411 410 + 400 412 404 + 413 412 400 + 413 400 401 + 414 413 401 + 414 401 402 + 415 414 402 + 415 402 405 + 405 402 403 + 416 417 404 + 416 404 412 + 415 404 417 + 405 404 415 + 418 406 407 + 409 406 411 + 411 406 418 + 419 418 407 + 420 419 407 + 420 407 408 + 408 410 421 + 408 421 420 + 410 411 422 + 410 422 421 + 411 418 422 + 423 416 412 + 423 412 413 + 424 423 413 + 424 413 414 + 425 424 414 + 425 414 415 + 415 417 425 + 426 427 416 + 426 416 423 + 416 427 428 + 417 416 428 + 425 417 428 + 422 418 429 + 418 419 429 + 419 430 429 + 431 430 419 + 431 419 420 + 420 421 432 + 420 432 431 + 421 422 429 + 421 429 432 + 433 426 423 + 433 423 424 + 434 433 424 + 434 424 425 + 425 428 434 + 435 436 426 + 436 427 426 + 435 426 433 + 436 437 427 + 427 437 428 + 434 428 438 + 437 438 428 + 432 429 439 + 440 439 429 + 440 429 430 + 441 440 430 + 441 430 431 + 431 432 442 + 431 442 441 + 432 439 442 + 443 435 433 + 443 433 434 + 434 438 443 + 444 445 435 + 445 436 435 + 444 435 443 + 445 446 436 + 446 437 436 + 446 447 437 + 438 437 447 + 443 438 448 + 448 438 447 + 442 439 449 + 450 449 439 + 450 439 440 + 451 450 440 + 451 440 441 + 441 442 452 + 441 452 451 + 442 449 452 + 443 448 444 + 453 445 444 + 444 454 453 + 444 448 454 + 453 455 445 + 455 446 445 + 455 456 446 + 456 447 446 + 456 457 447 + 447 457 448 + 457 454 448 + 450 452 449 + 450 451 452 + 453 456 455 + 453 454 456 + 454 457 456 + 458 459 460 + 461 462 458 + 461 458 463 + 462 464 458 + 463 458 460 + 458 464 459 + 459 465 460 + 464 466 459 + 459 466 467 + 459 467 465 + 465 468 460 + 463 460 469 + 470 469 460 + 460 471 472 + 460 472 470 + 460 468 473 + 473 471 460 + 474 475 461 + 475 462 461 + 474 461 476 + 476 461 463 + 477 462 475 + 477 478 462 + 462 478 464 + 476 463 479 + 479 463 469 + 478 480 464 + 464 480 466 + 468 465 481 + 465 467 482 + 465 482 481 + 480 472 466 + 466 472 471 + 466 471 467 + 467 471 483 + 467 483 482 + 482 473 468 + 482 468 481 + 479 469 470 + 470 472 484 + 470 484 479 + 473 483 471 + 480 484 472 + 482 483 473 + 485 486 474 + 474 486 487 + 487 475 474 + 485 474 476 + 488 477 475 + 488 475 489 + 487 489 475 + 476 490 485 + 479 490 476 + 488 491 477 + 477 491 478 + 491 492 478 + 478 492 480 + 479 484 490 + 492 484 480 + 492 490 484 + 493 486 485 + 493 485 494 + 494 485 490 + 495 496 486 + 495 486 493 + 487 486 496 + 487 496 497 + 497 489 487 + 498 488 489 + 499 488 498 + 488 499 491 + 500 498 489 + 497 500 489 + 494 490 492 + 499 494 491 + 491 494 492 + 501 495 493 + 501 493 499 + 499 493 494 + 502 503 495 + 502 495 501 + 503 496 495 + 503 504 496 + 497 496 504 + 497 504 505 + 505 500 497 + 506 507 498 + 506 498 500 + 507 501 498 + 498 501 499 + 505 506 500 + 507 502 501 + 508 509 502 + 508 502 507 + 509 503 502 + 509 510 503 + 510 504 503 + 510 511 504 + 505 504 511 + 505 511 512 + 512 506 505 + 512 513 506 + 513 507 506 + 513 508 507 + 514 515 508 + 514 508 513 + 515 509 508 + 515 516 509 + 516 510 509 + 516 517 510 + 517 511 510 + 517 518 511 + 512 511 518 + 512 518 519 + 519 513 512 + 519 514 513 + 520 521 514 + 521 515 514 + 520 514 519 + 521 522 515 + 522 516 515 + 522 523 516 + 523 517 516 + 523 524 517 + 524 518 517 + 524 525 518 + 519 518 525 + 519 525 520 + 520 526 527 + 527 521 520 + 520 525 526 + 527 528 521 + 528 522 521 + 528 529 522 + 529 523 522 + 529 530 523 + 530 524 523 + 530 531 524 + 531 525 524 + 531 526 525 + 532 533 526 + 527 526 533 + 532 526 531 + 527 533 534 + 534 528 527 + 534 535 528 + 535 529 528 + 535 536 529 + 536 530 529 + 536 537 530 + 537 531 530 + 537 532 531 + 538 539 532 + 538 532 537 + 539 533 532 + 539 540 533 + 534 533 540 + 534 540 541 + 541 535 534 + 541 542 535 + 542 536 535 + 542 543 536 + 543 537 536 + 543 538 537 + 544 545 538 + 544 538 543 + 545 539 538 + 545 546 539 + 546 540 539 + 546 547 540 + 541 540 547 + 541 547 548 + 548 542 541 + 548 549 542 + 549 543 542 + 549 544 543 + 548 547 544 + 548 544 549 + 547 545 544 + 547 546 545 + 550 551 552 + 553 554 550 + 554 551 550 + 553 550 552 + 551 555 552 + 551 556 555 + 554 557 551 + 557 556 551 + 552 555 558 + 552 558 553 + 553 558 559 + 560 554 553 + 553 559 560 + 560 561 554 + 561 557 554 + 555 556 558 + 557 562 556 + 556 562 558 + 561 563 557 + 563 562 557 + 559 558 562 + 560 559 564 + 559 565 564 + 565 559 562 + 566 561 560 + 560 564 566 + 566 567 561 + 567 563 561 + 563 565 562 + 567 568 563 + 568 565 563 + 566 564 569 + 565 570 564 + 569 564 570 + 568 570 565 + 571 567 566 + 566 569 571 + 572 568 567 + 571 572 567 + 572 573 568 + 573 570 568 + 571 569 574 + 575 569 570 + 569 575 574 + 573 575 570 + 576 572 571 + 571 574 576 + 577 573 572 + 576 577 572 + 577 578 573 + 578 575 573 + 576 574 579 + 575 580 574 + 579 574 580 + 578 580 575 + 581 577 576 + 576 579 581 + 582 578 577 + 581 582 577 + 582 583 578 + 583 580 578 + 581 579 584 + 585 584 579 + 586 585 579 + 586 579 580 + 583 586 580 + 587 582 581 + 581 584 587 + 588 583 582 + 587 588 582 + 588 589 583 + 589 586 583 + 587 584 590 + 585 591 584 + 591 590 584 + 589 585 586 + 592 585 589 + 592 591 585 + 593 588 587 + 587 590 593 + 594 589 588 + 593 594 588 + 594 592 589 + 593 590 595 + 596 595 590 + 591 596 590 + 597 591 592 + 597 596 591 + 598 597 592 + 598 592 594 + 599 594 593 + 593 595 599 + 599 598 594 + 599 595 600 + 601 600 595 + 596 601 595 + 602 596 597 + 602 601 596 + 603 602 597 + 603 597 598 + 604 603 598 + 604 598 599 + 599 600 604 + 604 600 605 + 606 607 600 + 605 600 607 + 601 606 600 + 608 601 602 + 608 606 601 + 609 608 602 + 609 602 603 + 610 609 603 + 610 603 604 + 604 605 610 + 610 605 611 + 611 605 607 + 612 606 608 + 612 607 606 + 613 607 612 + 613 614 607 + 607 614 611 + 615 612 608 + 615 608 609 + 616 615 609 + 616 609 610 + 610 611 616 + 616 611 617 + 614 617 611 + 618 613 612 + 618 612 615 + 619 620 613 + 620 614 613 + 619 613 618 + 620 621 614 + 614 621 617 + 622 618 615 + 622 615 616 + 616 617 622 + 622 617 623 + 621 623 617 + 624 619 618 + 624 618 622 + 625 620 619 + 626 625 619 + 626 619 624 + 625 627 620 + 627 621 620 + 627 628 621 + 628 629 621 + 629 623 621 + 622 623 624 + 629 630 623 + 630 624 623 + 624 630 626 + 629 625 626 + 629 627 625 + 630 629 626 + 627 629 628 + 631 632 633 + 634 635 631 + 634 631 636 + 635 637 631 + 636 631 633 + 631 637 632 + 632 638 639 + 637 638 632 + 632 639 640 + 633 632 640 + 633 640 641 + 642 633 641 + 636 633 642 + 643 644 634 + 643 634 645 + 644 635 634 + 645 634 636 + 644 646 635 + 646 647 635 + 635 647 637 + 645 636 648 + 648 636 642 + 647 649 637 + 637 649 638 + 638 650 639 + 638 651 650 + 649 651 638 + 639 652 653 + 639 650 652 + 640 639 653 + 640 653 654 + 641 640 654 + 642 641 655 + 641 654 656 + 655 641 656 + 657 642 655 + 648 642 657 + 658 659 643 + 658 643 660 + 659 644 643 + 660 643 645 + 659 661 644 + 661 646 644 + 660 645 662 + 662 645 648 + 661 663 646 + 663 664 646 + 646 664 647 + 664 665 647 + 647 665 649 + 662 648 649 + 649 648 657 + 665 662 649 + 649 657 651 + 651 666 650 + 650 667 652 + 650 666 667 + 651 657 666 + 656 652 667 + 656 653 652 + 656 654 653 + 657 655 666 + 655 656 668 + 666 655 668 + 656 667 668 + 669 670 658 + 669 658 671 + 670 659 658 + 671 658 660 + 670 672 659 + 672 661 659 + 671 660 673 + 673 660 662 + 672 674 661 + 674 663 661 + 673 662 665 + 674 675 663 + 675 676 663 + 663 676 664 + 676 673 664 + 664 673 665 + 666 668 667 + 677 678 669 + 678 670 669 + 677 669 679 + 679 669 671 + 678 680 670 + 680 672 670 + 679 671 676 + 676 671 673 + 680 681 672 + 681 674 672 + 681 682 674 + 682 675 674 + 682 683 675 + 683 679 675 + 675 679 676 + 684 685 677 + 684 677 683 + 685 678 677 + 683 677 679 + 685 686 678 + 686 680 678 + 686 687 680 + 687 681 680 + 687 688 681 + 688 682 681 + 688 689 682 + 689 683 682 + 689 684 683 + 690 691 684 + 690 684 689 + 691 685 684 + 691 692 685 + 692 686 685 + 692 693 686 + 693 687 686 + 693 694 687 + 694 688 687 + 694 695 688 + 695 689 688 + 695 690 689 + 696 697 690 + 696 690 695 + 697 691 690 + 697 698 691 + 698 692 691 + 698 699 692 + 699 693 692 + 699 700 693 + 700 694 693 + 700 701 694 + 701 695 694 + 701 696 695 + 702 703 696 + 702 696 701 + 703 697 696 + 703 704 697 + 704 698 697 + 704 705 698 + 705 699 698 + 705 706 699 + 706 700 699 + 706 707 700 + 707 701 700 + 707 702 701 + 708 709 702 + 708 702 707 + 709 703 702 + 709 710 703 + 710 704 703 + 710 711 704 + 711 705 704 + 712 705 711 + 712 706 705 + 712 713 706 + 713 707 706 + 713 708 707 + 714 715 708 + 715 709 708 + 714 708 713 + 715 716 709 + 716 710 709 + 716 717 710 + 717 711 710 + 717 718 711 + 712 711 718 + 718 719 712 + 719 713 712 + 719 714 713 + 720 721 714 + 721 715 714 + 720 714 719 + 721 722 715 + 722 716 715 + 722 723 716 + 723 717 716 + 723 724 717 + 724 718 717 + 724 725 718 + 725 719 718 + 725 720 719 + 725 721 720 + 721 725 724 + 721 724 723 + 721 723 722 + 726 727 728 + 726 728 729 + 727 726 730 + 730 726 731 + 726 732 731 + 726 729 732 + 728 727 733 + 727 734 733 + 727 730 734 + 729 728 735 + 728 733 735 + 729 735 732 + 730 731 734 + 734 731 736 + 731 737 736 + 731 732 737 + 732 738 737 + 732 735 738 + 735 733 739 + 733 740 739 + 733 734 740 + 734 736 740 + 735 739 738 + 740 736 741 + 736 742 741 + 736 737 742 + 737 743 742 + 737 738 743 + 738 744 743 + 738 739 744 + 739 740 745 + 739 745 744 + 740 741 745 + 745 741 746 + 741 747 746 + 741 742 747 + 742 748 747 + 742 743 748 + 743 749 748 + 743 744 749 + 744 750 749 + 744 745 750 + 745 746 750 + 746 747 751 + 746 751 752 + 750 746 752 + 747 753 751 + 747 748 753 + 748 754 753 + 748 749 754 + 749 755 754 + 749 750 755 + 750 752 755 + 751 753 756 + 751 756 757 + 752 751 757 + 755 752 758 + 752 757 758 + 753 759 756 + 753 754 759 + 754 760 759 + 754 755 760 + 755 758 760 + 756 759 761 + 756 761 762 + 757 756 762 + 758 757 763 + 757 762 763 + 760 758 764 + 758 763 764 + 759 765 761 + 759 760 765 + 760 764 765 + 761 765 766 + 761 766 767 + 762 761 767 + 762 767 768 + 763 762 768 + 764 763 769 + 763 768 769 + 765 764 770 + 764 769 770 + 765 770 766 + 766 770 771 + 766 771 772 + 767 766 772 + 767 772 773 + 768 767 773 + 769 768 774 + 768 773 774 + 770 769 775 + 769 774 775 + 775 771 770 + 771 775 772 + 775 773 772 + 775 774 773 + 776 777 778 + 779 776 780 + 781 782 776 + 776 778 780 + 782 777 776 + 781 776 779 + 782 783 777 + 777 784 785 + 777 785 778 + 783 784 777 + 778 785 786 + 778 786 780 + 784 779 786 + 787 781 779 + 787 779 784 + 779 780 786 + 788 789 781 + 788 781 787 + 789 782 781 + 789 790 782 + 790 783 782 + 790 791 783 + 783 787 784 + 791 787 783 + 784 786 785 + 791 788 787 + 792 793 788 + 792 788 791 + 793 789 788 + 793 794 789 + 794 790 789 + 794 795 790 + 795 791 790 + 795 792 791 + 796 797 792 + 796 792 795 + 797 793 792 + 797 798 793 + 798 794 793 + 798 799 794 + 799 795 794 + 799 796 795 + 800 801 796 + 801 797 796 + 800 796 799 + 801 802 797 + 802 798 797 + 802 803 798 + 803 799 798 + 803 800 799 + 804 805 800 + 804 800 803 + 805 801 800 + 805 806 801 + 806 802 801 + 806 807 802 + 807 803 802 + 807 804 803 + 808 809 804 + 808 804 807 + 809 805 804 + 809 810 805 + 810 806 805 + 810 811 806 + 811 807 806 + 811 808 807 + 812 813 808 + 812 808 811 + 813 809 808 + 813 814 809 + 814 810 809 + 814 815 810 + 815 811 810 + 815 812 811 + 816 817 812 + 817 813 812 + 816 812 815 + 817 818 813 + 818 814 813 + 818 819 814 + 819 815 814 + 819 816 815 + 820 821 816 + 820 816 819 + 821 817 816 + 821 822 817 + 822 818 817 + 822 823 818 + 823 819 818 + 823 820 819 + 824 825 820 + 824 820 823 + 825 821 820 + 825 826 821 + 826 822 821 + 826 827 822 + 827 823 822 + 827 824 823 + 828 829 824 + 824 827 828 + 829 825 824 + 829 830 825 + 830 826 825 + 830 831 826 + 831 827 826 + 831 828 827 + 832 833 828 + 833 829 828 + 832 828 831 + 833 834 829 + 834 830 829 + 834 835 830 + 835 831 830 + 835 832 831 + 836 837 832 + 836 832 835 + 837 833 832 + 837 838 833 + 838 834 833 + 838 839 834 + 839 835 834 + 839 836 835 + 836 839 838 + 836 838 837 + 840 841 842 + 843 840 844 + 845 846 840 + 844 840 842 + 840 846 841 + 843 845 840 + 846 847 841 + 842 841 847 + 844 842 848 + 842 847 848 + 849 843 850 + 851 845 843 + 850 843 844 + 849 851 843 + 850 844 852 + 852 844 848 + 853 854 845 + 845 854 846 + 851 853 845 + 854 852 846 + 846 852 847 + 852 848 847 + 855 849 856 + 857 851 849 + 856 849 850 + 855 857 849 + 856 850 854 + 854 850 852 + 858 853 851 + 857 858 851 + 859 856 853 + 853 856 854 + 858 859 853 + 860 855 859 + 861 857 855 + 859 855 856 + 860 861 855 + 862 858 857 + 861 862 857 + 863 859 858 + 862 863 858 + 863 860 859 + 864 860 863 + 865 861 860 + 864 865 860 + 866 862 861 + 865 866 861 + 867 863 862 + 866 867 862 + 867 864 863 + 868 864 867 + 869 865 864 + 868 869 864 + 870 866 865 + 869 870 865 + 871 867 866 + 870 871 866 + 871 868 867 + 872 868 871 + 873 869 868 + 872 873 868 + 874 870 869 + 873 874 869 + 875 871 870 + 874 875 870 + 875 872 871 + 876 872 875 + 877 873 872 + 876 877 872 + 878 874 873 + 877 878 873 + 879 875 874 + 878 879 874 + 879 876 875 + 880 876 879 + 881 877 876 + 880 881 876 + 882 878 877 + 881 882 877 + 883 879 878 + 882 883 878 + 883 880 879 + 884 880 883 + 885 881 880 + 884 885 880 + 886 882 881 + 885 886 881 + 887 883 882 + 886 887 882 + 887 884 883 + 888 884 887 + 889 885 884 + 888 889 884 + 890 886 885 + 889 890 885 + 891 887 886 + 890 891 886 + 891 888 887 + 892 888 891 + 893 889 888 + 892 893 888 + 894 890 889 + 893 894 889 + 895 891 890 + 894 895 890 + 895 892 891 + 896 892 895 + 897 893 892 + 896 897 892 + 898 894 893 + 897 898 893 + 899 895 894 + 898 899 894 + 899 896 895 + 900 896 899 + 901 897 896 + 900 901 896 + 902 897 901 + 897 902 898 + 902 903 898 + 904 899 898 + 903 904 898 + 904 900 899 + 900 904 903 + 901 900 903 + 903 902 901 + 905 906 907 + 908 905 909 + 910 911 905 + 905 907 909 + 911 906 905 + 910 905 908 + 911 912 906 + 906 913 914 + 906 914 907 + 912 913 906 + 907 914 915 + 916 909 907 + 916 907 915 + 917 908 918 + 919 910 908 + 919 908 917 + 908 909 918 + 916 918 909 + 920 921 910 + 920 910 919 + 921 911 910 + 921 922 911 + 922 912 911 + 922 923 912 + 912 924 913 + 923 924 912 + 913 925 915 + 913 915 914 + 924 925 913 + 925 916 915 + 925 917 916 + 917 918 916 + 926 919 917 + 926 917 925 + 927 920 919 + 927 919 926 + 928 929 920 + 928 920 927 + 929 921 920 + 929 930 921 + 930 922 921 + 930 931 922 + 931 923 922 + 931 932 923 + 923 933 924 + 932 933 923 + 924 926 925 + 933 926 924 + 933 927 926 + 934 928 927 + 934 927 933 + 935 936 928 + 935 928 934 + 936 929 928 + 936 937 929 + 937 930 929 + 937 938 930 + 938 931 930 + 938 939 931 + 939 932 931 + 939 940 932 + 932 934 933 + 940 934 932 + 940 935 934 + 941 942 935 + 941 935 940 + 936 935 942 + 942 943 936 + 943 937 936 + 943 944 937 + 944 938 937 + 944 945 938 + 945 939 938 + 945 946 939 + 946 940 939 + 946 941 940 + 947 948 941 + 947 941 946 + 948 942 941 + 948 949 942 + 949 943 942 + 949 950 943 + 950 944 943 + 950 951 944 + 951 945 944 + 951 952 945 + 952 946 945 + 952 947 946 + 953 954 947 + 954 948 947 + 953 947 952 + 954 955 948 + 955 949 948 + 955 956 949 + 956 950 949 + 956 957 950 + 957 951 950 + 957 958 951 + 958 952 951 + 958 953 952 + 959 960 953 + 959 953 958 + 960 954 953 + 960 961 954 + 961 955 954 + 961 962 955 + 962 956 955 + 962 963 956 + 963 957 956 + 963 964 957 + 964 958 957 + 964 959 958 + 965 966 959 + 965 959 964 + 966 960 959 + 966 967 960 + 967 961 960 + 967 968 961 + 968 962 961 + 968 969 962 + 969 963 962 + 969 970 963 + 970 964 963 + 970 965 964 + 971 965 972 + 972 965 970 + 971 966 965 + 971 973 966 + 973 967 966 + 973 974 967 + 974 968 967 + 974 975 968 + 975 969 968 + 975 976 969 + 976 970 969 + 976 972 970 + 977 971 972 + 977 978 971 + 978 973 971 + 979 977 972 + 979 972 976 + 978 980 973 + 980 974 973 + 980 981 974 + 981 975 974 + 981 982 975 + 982 976 975 + 982 979 976 + 983 977 979 + 983 984 977 + 984 978 977 + 984 985 978 + 985 980 978 + 986 983 979 + 986 979 982 + 985 987 980 + 987 981 980 + 987 988 981 + 988 982 981 + 988 986 982 + 989 983 986 + 989 990 983 + 990 984 983 + 990 991 984 + 991 985 984 + 991 992 985 + 992 987 985 + 993 989 986 + 993 986 988 + 992 994 987 + 994 988 987 + 994 993 988 + 995 989 993 + 995 996 989 + 996 990 989 + 996 997 990 + 997 991 990 + 997 998 991 + 998 992 991 + 998 999 992 + 999 994 992 + 1000 995 993 + 1000 993 994 + 999 1000 994 + 995 1000 999 + 995 999 998 + 995 998 997 + 995 997 996 + 1001 1002 1003 + 1004 1001 1005 + 1006 1007 1001 + 1001 1003 1005 + 1007 1002 1001 + 1006 1001 1004 + 1007 1008 1002 + 1002 1009 1010 + 1002 1010 1003 + 1008 1009 1002 + 1003 1010 1011 + 1003 1011 1012 + 1003 1012 1013 + 1003 1013 1005 + 1014 1004 1013 + 1015 1006 1004 + 1015 1004 1014 + 1004 1005 1013 + 1016 1017 1006 + 1016 1006 1015 + 1017 1007 1006 + 1017 1018 1007 + 1018 1008 1007 + 1018 1019 1008 + 1008 1020 1009 + 1019 1020 1008 + 1009 1021 1011 + 1009 1011 1010 + 1020 1021 1009 + 1021 1012 1011 + 1021 1014 1012 + 1014 1013 1012 + 1022 1015 1014 + 1022 1014 1021 + 1023 1016 1015 + 1023 1015 1022 + 1024 1025 1016 + 1024 1016 1023 + 1025 1017 1016 + 1025 1026 1017 + 1026 1018 1017 + 1026 1027 1018 + 1027 1019 1018 + 1027 1028 1019 + 1019 1029 1020 + 1028 1029 1019 + 1020 1022 1021 + 1029 1022 1020 + 1029 1023 1022 + 1030 1024 1023 + 1030 1023 1029 + 1031 1032 1024 + 1031 1024 1030 + 1032 1025 1024 + 1032 1033 1025 + 1033 1026 1025 + 1033 1034 1026 + 1034 1027 1026 + 1034 1035 1027 + 1035 1028 1027 + 1035 1036 1028 + 1028 1030 1029 + 1036 1030 1028 + 1036 1031 1030 + 1037 1038 1031 + 1037 1031 1036 + 1038 1032 1031 + 1038 1039 1032 + 1039 1033 1032 + 1039 1040 1033 + 1040 1034 1033 + 1040 1041 1034 + 1041 1035 1034 + 1041 1042 1035 + 1042 1036 1035 + 1042 1037 1036 + 1043 1044 1037 + 1043 1037 1042 + 1044 1038 1037 + 1044 1045 1038 + 1045 1039 1038 + 1045 1046 1039 + 1046 1040 1039 + 1046 1047 1040 + 1047 1041 1040 + 1047 1048 1041 + 1048 1042 1041 + 1048 1043 1042 + 1049 1050 1043 + 1050 1044 1043 + 1049 1043 1048 + 1050 1051 1044 + 1051 1045 1044 + 1051 1052 1045 + 1052 1046 1045 + 1052 1053 1046 + 1053 1047 1046 + 1053 1054 1047 + 1054 1048 1047 + 1054 1049 1048 + 1055 1056 1049 + 1055 1049 1054 + 1056 1050 1049 + 1056 1057 1050 + 1057 1051 1050 + 1057 1058 1051 + 1058 1052 1051 + 1058 1059 1052 + 1059 1053 1052 + 1059 1060 1053 + 1060 1054 1053 + 1060 1055 1054 + 1061 1062 1055 + 1061 1055 1060 + 1062 1056 1055 + 1062 1063 1056 + 1063 1057 1056 + 1063 1064 1057 + 1064 1058 1057 + 1064 1065 1058 + 1065 1059 1058 + 1065 1066 1059 + 1066 1060 1059 + 1066 1061 1060 + 1067 1068 1061 + 1067 1061 1066 + 1068 1062 1061 + 1068 1069 1062 + 1069 1063 1062 + 1069 1070 1063 + 1070 1064 1063 + 1070 1071 1064 + 1071 1065 1064 + 1071 1072 1065 + 1072 1066 1065 + 1072 1067 1066 + 1073 1074 1067 + 1073 1067 1072 + 1074 1068 1067 + 1074 1075 1068 + 1075 1069 1068 + 1075 1076 1069 + 1076 1070 1069 + 1076 1077 1070 + 1077 1071 1070 + 1078 1071 1077 + 1078 1072 1071 + 1078 1073 1072 + 1079 1080 1073 + 1079 1073 1078 + 1080 1074 1073 + 1080 1081 1074 + 1081 1075 1074 + 1081 1082 1075 + 1082 1076 1075 + 1082 1083 1076 + 1083 1077 1076 + 1083 1084 1077 + 1084 1078 1077 + 1084 1079 1078 + 1085 1086 1079 + 1086 1080 1079 + 1085 1079 1084 + 1086 1087 1080 + 1087 1081 1080 + 1087 1088 1081 + 1088 1082 1081 + 1088 1089 1082 + 1089 1083 1082 + 1089 1090 1083 + 1090 1084 1083 + 1090 1085 1084 + 1091 1092 1085 + 1091 1085 1090 + 1092 1086 1085 + 1092 1093 1086 + 1093 1087 1086 + 1093 1094 1087 + 1094 1088 1087 + 1094 1095 1088 + 1095 1089 1088 + 1095 1096 1089 + 1096 1090 1089 + 1096 1091 1090 + 1091 1096 1093 + 1091 1093 1092 + 1093 1096 1095 + 1093 1095 1094 + 1097 1098 1099 + 1100 1097 1101 + 1102 1103 1097 + 1097 1099 1101 + 1103 1098 1097 + 1102 1097 1100 + 1103 1104 1098 + 1098 1105 1106 + 1098 1106 1099 + 1104 1105 1098 + 1099 1106 1107 + 1099 1107 1108 + 1099 1108 1109 + 1099 1109 1101 + 1110 1100 1109 + 1111 1102 1100 + 1100 1110 1111 + 1100 1101 1109 + 1112 1113 1102 + 1112 1102 1111 + 1113 1103 1102 + 1113 1114 1103 + 1114 1104 1103 + 1114 1115 1104 + 1104 1116 1105 + 1115 1116 1104 + 1105 1117 1107 + 1105 1107 1106 + 1116 1117 1105 + 1117 1108 1107 + 1117 1110 1108 + 1110 1109 1108 + 1118 1111 1110 + 1118 1110 1117 + 1119 1112 1111 + 1119 1111 1118 + 1120 1121 1112 + 1120 1112 1119 + 1121 1113 1112 + 1121 1122 1113 + 1122 1114 1113 + 1122 1123 1114 + 1123 1115 1114 + 1123 1124 1115 + 1115 1125 1116 + 1124 1125 1115 + 1116 1118 1117 + 1125 1118 1116 + 1125 1119 1118 + 1126 1120 1119 + 1126 1119 1125 + 1127 1128 1120 + 1127 1120 1126 + 1128 1121 1120 + 1128 1129 1121 + 1129 1122 1121 + 1129 1130 1122 + 1130 1123 1122 + 1130 1131 1123 + 1131 1124 1123 + 1131 1132 1124 + 1124 1126 1125 + 1132 1126 1124 + 1132 1127 1126 + 1133 1134 1127 + 1133 1127 1132 + 1134 1128 1127 + 1134 1135 1128 + 1135 1129 1128 + 1135 1136 1129 + 1136 1130 1129 + 1136 1137 1130 + 1137 1131 1130 + 1137 1138 1131 + 1138 1132 1131 + 1138 1133 1132 + 1139 1140 1133 + 1139 1133 1138 + 1140 1134 1133 + 1140 1141 1134 + 1141 1135 1134 + 1141 1142 1135 + 1142 1136 1135 + 1142 1143 1136 + 1143 1137 1136 + 1143 1144 1137 + 1144 1138 1137 + 1144 1139 1138 + 1145 1146 1139 + 1146 1140 1139 + 1145 1139 1144 + 1146 1147 1140 + 1147 1141 1140 + 1147 1148 1141 + 1148 1142 1141 + 1148 1149 1142 + 1149 1143 1142 + 1149 1150 1143 + 1150 1144 1143 + 1150 1145 1144 + 1151 1152 1145 + 1151 1145 1150 + 1152 1146 1145 + 1152 1153 1146 + 1153 1147 1146 + 1153 1154 1147 + 1154 1148 1147 + 1154 1155 1148 + 1155 1149 1148 + 1155 1156 1149 + 1156 1150 1149 + 1156 1151 1150 + 1157 1158 1151 + 1157 1151 1156 + 1158 1152 1151 + 1158 1159 1152 + 1159 1153 1152 + 1159 1160 1153 + 1160 1154 1153 + 1160 1161 1154 + 1161 1155 1154 + 1161 1162 1155 + 1162 1156 1155 + 1162 1157 1156 + 1163 1164 1157 + 1163 1157 1162 + 1164 1158 1157 + 1164 1165 1158 + 1159 1158 1165 + 1165 1166 1159 + 1166 1160 1159 + 1166 1167 1160 + 1167 1161 1160 + 1167 1168 1161 + 1168 1162 1161 + 1168 1163 1162 + 1169 1170 1163 + 1169 1163 1168 + 1170 1164 1163 + 1170 1171 1164 + 1171 1165 1164 + 1171 1172 1165 + 1172 1166 1165 + 1172 1173 1166 + 1173 1167 1166 + 1173 1174 1167 + 1174 1168 1167 + 1174 1169 1168 + 1175 1176 1169 + 1175 1169 1174 + 1176 1170 1169 + 1176 1177 1170 + 1177 1171 1170 + 1177 1178 1171 + 1178 1172 1171 + 1178 1179 1172 + 1179 1173 1172 + 1179 1180 1173 + 1180 1174 1173 + 1180 1175 1174 + 1181 1182 1175 + 1182 1176 1175 + 1181 1175 1180 + 1182 1183 1176 + 1183 1177 1176 + 1183 1184 1177 + 1184 1178 1177 + 1184 1185 1178 + 1185 1179 1178 + 1185 1186 1179 + 1186 1180 1179 + 1186 1181 1180 + 1187 1188 1181 + 1181 1186 1187 + 1188 1182 1181 + 1188 1189 1182 + 1189 1183 1182 + 1189 1190 1183 + 1190 1184 1183 + 1190 1191 1184 + 1191 1185 1184 + 1191 1192 1185 + 1192 1186 1185 + 1192 1187 1186 + 1188 1187 1190 + 1192 1191 1187 + 1187 1191 1190 + 1188 1190 1189 + 1193 1194 1195 + 1196 1197 1193 + 1196 1193 1198 + 1197 1199 1193 + 1193 1195 1198 + 1193 1199 1194 + 1199 1200 1194 + 1194 1201 1202 + 1194 1200 1201 + 1195 1194 1202 + 1198 1195 1203 + 1195 1202 1204 + 1203 1195 1204 + 1205 1196 1198 + 1206 1207 1196 + 1207 1197 1196 + 1206 1196 1205 + 1208 1209 1197 + 1207 1208 1197 + 1209 1210 1197 + 1199 1197 1210 + 1205 1198 1211 + 1211 1198 1203 + 1199 1210 1200 + 1200 1212 1201 + 1200 1213 1212 + 1210 1213 1200 + 1201 1214 1215 + 1202 1201 1215 + 1201 1212 1214 + 1202 1215 1216 + 1204 1202 1216 + 1203 1204 1217 + 1218 1203 1217 + 1211 1203 1218 + 1217 1204 1219 + 1204 1216 1219 + 1220 1205 1221 + 1220 1222 1205 + 1222 1206 1205 + 1221 1205 1223 + 1205 1211 1223 + 1224 1206 1222 + 1224 1225 1206 + 1225 1207 1206 + 1225 1226 1207 + 1226 1208 1207 + 1208 1227 1209 + 1226 1228 1208 + 1228 1227 1208 + 1227 1221 1209 + 1210 1209 1221 + 1210 1223 1213 + 1223 1210 1221 + 1223 1211 1218 + 1212 1229 1230 + 1212 1230 1214 + 1213 1229 1212 + 1213 1218 1229 + 1223 1218 1213 + 1214 1231 1232 + 1215 1214 1232 + 1214 1230 1231 + 1215 1232 1233 + 1216 1215 1233 + 1216 1233 1234 + 1219 1216 1234 + 1217 1219 1235 + 1229 1217 1235 + 1218 1217 1229 + 1219 1234 1236 + 1235 1219 1236 + 1237 1222 1220 + 1237 1220 1227 + 1227 1220 1221 + 1237 1224 1222 + 1238 1224 1237 + 1238 1239 1224 + 1239 1225 1224 + 1239 1240 1225 + 1240 1226 1225 + 1241 1228 1226 + 1240 1241 1226 + 1228 1237 1227 + 1242 1237 1228 + 1241 1242 1228 + 1229 1235 1230 + 1230 1243 1231 + 1230 1235 1243 + 1231 1244 1245 + 1232 1231 1245 + 1231 1243 1244 + 1232 1245 1246 + 1233 1232 1246 + 1233 1246 1247 + 1234 1233 1247 + 1234 1247 1248 + 1236 1234 1248 + 1235 1236 1243 + 1236 1248 1249 + 1243 1236 1249 + 1250 1238 1237 + 1250 1237 1242 + 1251 1239 1238 + 1252 1251 1238 + 1252 1238 1250 + 1251 1253 1239 + 1253 1240 1239 + 1253 1254 1240 + 1254 1241 1240 + 1254 1255 1241 + 1255 1242 1241 + 1250 1242 1255 + 1243 1249 1244 + 1244 1256 1257 + 1245 1244 1257 + 1244 1249 1256 + 1245 1257 1258 + 1246 1245 1258 + 1246 1258 1259 + 1247 1246 1259 + 1247 1259 1260 + 1248 1247 1260 + 1248 1260 1261 + 1249 1248 1261 + 1249 1261 1256 + 1262 1252 1250 + 1262 1250 1255 + 1263 1253 1251 + 1264 1263 1251 + 1264 1251 1252 + 1265 1264 1252 + 1265 1252 1262 + 1263 1266 1253 + 1266 1254 1253 + 1266 1267 1254 + 1267 1255 1254 + 1267 1268 1255 + 1268 1262 1255 + 1256 1269 1270 + 1257 1256 1270 + 1256 1261 1269 + 1257 1270 1271 + 1258 1257 1271 + 1258 1271 1272 + 1259 1258 1272 + 1259 1272 1273 + 1260 1259 1273 + 1261 1260 1273 + 1261 1273 1269 + 1268 1265 1262 + 1265 1266 1263 + 1263 1264 1265 + 1267 1265 1268 + 1265 1267 1266 + 1274 1270 1269 + 1275 1274 1269 + 1269 1276 1275 + 1273 1277 1269 + 1277 1276 1269 + 1278 1271 1270 + 1279 1278 1270 + 1270 1274 1279 + 1271 1280 1272 + 1271 1278 1280 + 1272 1281 1273 + 1280 1282 1272 + 1272 1282 1281 + 1273 1283 1284 + 1284 1277 1273 + 1281 1283 1273 + 1279 1274 1285 + 1275 1285 1274 + 1275 1276 1286 + 1285 1275 1286 + 1277 1286 1276 + 1277 1284 1287 + 1286 1277 1287 + 1280 1278 1288 + 1279 1288 1278 + 1288 1279 1285 + 1280 1289 1282 + 1289 1280 1288 + 1281 1290 1283 + 1281 1282 1290 + 1282 1289 1290 + 1283 1290 1287 + 1284 1283 1287 + 1288 1285 1289 + 1285 1286 1289 + 1286 1287 1289 + 1287 1290 1289 + 1291 1292 1293 + 1294 1295 1291 + 1293 1294 1291 + 1296 1297 1291 + 1295 1296 1291 + 1292 1291 1297 + 1292 1298 1299 + 1292 1299 1300 + 1292 1301 1298 + 1302 1301 1292 + 1302 1292 1297 + 1292 1300 1293 + 1300 1303 1293 + 1293 1304 1294 + 1293 1303 1304 + 1294 1304 1305 + 1294 1305 1306 + 1295 1294 1306 + 1307 1295 1308 + 1295 1306 1308 + 1307 1296 1295 + 1309 1297 1296 + 1303 1309 1296 + 1303 1296 1307 + 1310 1302 1297 + 1311 1297 1309 + 1312 1310 1297 + 1312 1297 1311 + 1298 1313 1314 + 1315 1313 1298 + 1315 1298 1301 + 1299 1298 1316 + 1298 1314 1316 + 1317 1318 1299 + 1299 1318 1319 + 1317 1299 1320 + 1300 1299 1319 + 1299 1316 1320 + 1300 1319 1321 + 1300 1321 1309 + 1300 1309 1303 + 1322 1315 1301 + 1322 1301 1302 + 1322 1302 1323 + 1324 1323 1302 + 1324 1302 1310 + 1303 1307 1304 + 1304 1307 1325 + 1304 1325 1305 + 1305 1325 1326 + 1305 1326 1327 + 1306 1305 1328 + 1329 1328 1305 + 1329 1305 1327 + 1308 1306 1330 + 1306 1328 1331 + 1306 1331 1330 + 1307 1308 1325 + 1326 1325 1308 + 1326 1308 1332 + 1308 1333 1332 + 1308 1330 1333 + 1309 1321 1334 + 1311 1309 1334 + 1335 1324 1310 + 1335 1310 1312 + 1336 1311 1337 + 1338 1311 1334 + 1338 1337 1311 + 1339 1312 1311 + 1339 1311 1336 + 1340 1335 1312 + 1340 1312 1339 + 1313 1341 1342 + 1313 1342 1317 + 1315 1341 1313 + 1313 1317 1343 + 1313 1343 1314 + 1314 1343 1344 + 1316 1314 1345 + 1314 1344 1345 + 1346 1341 1315 + 1322 1346 1315 + 1320 1316 1347 + 1316 1345 1347 + 1317 1342 1318 + 1317 1320 1343 + 1318 1342 1348 + 1318 1348 1349 + 1319 1318 1349 + 1319 1349 1350 + 1351 1321 1319 + 1351 1319 1350 + 1343 1320 1352 + 1320 1347 1352 + 1334 1321 1351 + 1353 1346 1322 + 1323 1353 1322 + 1323 1354 1353 + 1355 1354 1323 + 1355 1323 1324 + 1356 1355 1324 + 1356 1324 1335 + 1326 1332 1357 + 1327 1326 1358 + 1358 1326 1359 + 1357 1359 1326 + 1329 1327 1358 + 1332 1328 1329 + 1360 1328 1332 + 1360 1331 1328 + 1332 1329 1357 + 1357 1329 1361 + 1329 1358 1361 + 1333 1330 1362 + 1330 1331 1363 + 1330 1363 1362 + 1331 1360 1364 + 1331 1364 1363 + 1333 1360 1332 + 1360 1333 1365 + 1333 1362 1365 + 1334 1351 1366 + 1367 1334 1366 + 1334 1367 1368 + 1369 1338 1334 + 1334 1368 1369 + 1370 1356 1335 + 1370 1335 1340 + 1371 1336 1337 + 1372 1339 1336 + 1372 1336 1371 + 1373 1337 1338 + 1373 1374 1337 + 1374 1371 1337 + 1375 1338 1369 + 1375 1373 1338 + 1340 1339 1372 + 1372 1370 1340 + 1376 1377 1341 + 1376 1341 1378 + 1379 1342 1341 + 1377 1379 1341 + 1346 1378 1341 + 1348 1342 1380 + 1381 1380 1342 + 1379 1381 1342 + 1343 1352 1344 + 1345 1344 1382 + 1344 1352 1383 + 1344 1383 1382 + 1347 1345 1384 + 1345 1382 1384 + 1385 1378 1346 + 1353 1385 1346 + 1352 1347 1386 + 1347 1384 1386 + 1348 1380 1387 + 1387 1388 1348 + 1349 1348 1388 + 1349 1388 1389 + 1350 1349 1389 + 1350 1389 1390 + 1350 1390 1391 + 1350 1391 1351 + 1366 1351 1391 + 1352 1386 1383 + 1353 1392 1385 + 1393 1353 1354 + 1392 1353 1393 + 1394 1354 1355 + 1394 1393 1354 + 1395 1394 1355 + 1395 1355 1356 + 1395 1356 1370 + 1357 1361 1396 + 1357 1396 1359 + 1375 1397 1358 + 1375 1358 1398 + 1399 1358 1359 + 1398 1358 1399 + 1400 1358 1397 + 1400 1361 1358 + 1401 1402 1359 + 1399 1359 1402 + 1401 1359 1396 + 1360 1365 1364 + 1396 1361 1403 + 1361 1404 1405 + 1361 1405 1403 + 1400 1404 1361 + 1365 1362 1406 + 1362 1363 1407 + 1362 1407 1406 + 1363 1408 1407 + 1363 1364 1408 + 1364 1365 1409 + 1364 1409 1408 + 1365 1406 1409 + 1366 1391 1410 + 1411 1366 1410 + 1367 1366 1411 + 1412 1367 1411 + 1368 1367 1412 + 1368 1413 1369 + 1368 1412 1414 + 1368 1414 1413 + 1415 1371 1369 + 1416 1375 1369 + 1416 1369 1371 + 1369 1413 1415 + 1395 1370 1417 + 1370 1418 1417 + 1418 1370 1372 + 1374 1416 1371 + 1371 1415 1372 + 1419 1418 1372 + 1420 1372 1415 + 1420 1421 1372 + 1372 1421 1422 + 1372 1422 1423 + 1372 1423 1419 + 1398 1373 1375 + 1398 1374 1373 + 1399 1416 1374 + 1398 1399 1374 + 1402 1375 1416 + 1402 1397 1375 + 1376 1424 1425 + 1426 1424 1376 + 1376 1425 1377 + 1378 1426 1376 + 1377 1425 1427 + 1377 1427 1379 + 1378 1428 1426 + 1385 1428 1378 + 1381 1379 1429 + 1379 1427 1430 + 1379 1430 1429 + 1380 1431 1432 + 1433 1431 1380 + 1380 1432 1387 + 1433 1380 1381 + 1433 1381 1434 + 1381 1429 1434 + 1384 1382 1435 + 1382 1383 1436 + 1382 1436 1435 + 1383 1386 1437 + 1383 1437 1436 + 1386 1384 1438 + 1384 1435 1438 + 1439 1428 1385 + 1392 1439 1385 + 1386 1438 1437 + 1387 1432 1440 + 1387 1441 1388 + 1387 1440 1441 + 1388 1441 1442 + 1428 1388 1442 + 1443 1388 1428 + 1389 1388 1443 + 1444 1389 1443 + 1390 1389 1444 + 1390 1444 1445 + 1391 1390 1445 + 1446 1391 1445 + 1410 1391 1446 + 1447 1439 1392 + 1445 1444 1392 + 1448 1392 1444 + 1448 1447 1392 + 1392 1393 1445 + 1393 1394 1449 + 1450 1445 1393 + 1449 1450 1393 + 1394 1451 1449 + 1410 1394 1395 + 1451 1394 1446 + 1394 1410 1446 + 1410 1395 1452 + 1395 1417 1452 + 1401 1396 1453 + 1453 1396 1454 + 1396 1403 1454 + 1401 1397 1402 + 1401 1400 1397 + 1399 1402 1416 + 1455 1400 1401 + 1400 1456 1404 + 1455 1456 1400 + 1457 1458 1401 + 1453 1459 1401 + 1457 1401 1459 + 1455 1401 1458 + 1454 1403 1460 + 1403 1405 1461 + 1403 1461 1460 + 1404 1453 1462 + 1453 1404 1456 + 1404 1462 1405 + 1405 1462 1463 + 1405 1463 1461 + 1409 1406 1464 + 1406 1407 1465 + 1406 1465 1464 + 1407 1466 1465 + 1407 1408 1466 + 1408 1409 1467 + 1408 1467 1466 + 1409 1464 1467 + 1411 1410 1468 + 1469 1468 1410 + 1410 1452 1470 + 1469 1410 1470 + 1414 1411 1468 + 1412 1411 1414 + 1413 1414 1469 + 1423 1413 1470 + 1413 1421 1420 + 1413 1420 1415 + 1422 1421 1413 + 1423 1422 1413 + 1413 1469 1470 + 1414 1468 1471 + 1414 1471 1469 + 1418 1419 1417 + 1452 1417 1472 + 1417 1473 1472 + 1417 1419 1473 + 1470 1419 1423 + 1419 1470 1474 + 1419 1474 1473 + 1424 1475 1476 + 1477 1475 1424 + 1424 1476 1425 + 1426 1477 1424 + 1425 1476 1478 + 1425 1479 1480 + 1425 1478 1479 + 1427 1425 1480 + 1481 1477 1426 + 1482 1481 1426 + 1428 1482 1426 + 1427 1480 1433 + 1427 1433 1483 + 1427 1483 1430 + 1428 1442 1482 + 1443 1428 1439 + 1434 1429 1484 + 1429 1430 1485 + 1429 1485 1484 + 1430 1483 1486 + 1430 1486 1485 + 1431 1487 1488 + 1489 1487 1431 + 1431 1488 1432 + 1480 1489 1431 + 1480 1431 1433 + 1432 1488 1490 + 1432 1490 1440 + 1433 1434 1483 + 1483 1434 1491 + 1434 1484 1491 + 1438 1435 1492 + 1435 1436 1493 + 1435 1493 1492 + 1436 1437 1494 + 1436 1494 1493 + 1437 1438 1495 + 1437 1495 1494 + 1438 1492 1495 + 1496 1443 1439 + 1447 1496 1439 + 1440 1490 1497 + 1440 1497 1498 + 1441 1440 1499 + 1499 1440 1498 + 1442 1441 1499 + 1500 1442 1499 + 1501 1482 1442 + 1500 1501 1442 + 1496 1502 1443 + 1502 1444 1443 + 1502 1448 1444 + 1503 1446 1445 + 1450 1503 1445 + 1503 1451 1446 + 1504 1496 1447 + 1505 1504 1447 + 1505 1447 1448 + 1506 1448 1502 + 1506 1505 1448 + 1507 1450 1449 + 1508 1449 1451 + 1508 1507 1449 + 1509 1503 1450 + 1507 1509 1450 + 1510 1451 1503 + 1510 1508 1451 + 1470 1452 1511 + 1452 1472 1511 + 1456 1459 1453 + 1453 1454 1462 + 1462 1454 1512 + 1454 1460 1512 + 1455 1458 1513 + 1455 1513 1514 + 1455 1515 1456 + 1514 1515 1455 + 1515 1459 1456 + 1516 1517 1457 + 1518 1457 1515 + 1515 1457 1459 + 1518 1516 1457 + 1517 1458 1457 + 1517 1513 1458 + 1512 1460 1519 + 1460 1461 1520 + 1460 1520 1519 + 1461 1463 1521 + 1461 1521 1520 + 1462 1512 1463 + 1463 1512 1522 + 1463 1522 1521 + 1467 1464 1523 + 1464 1465 1524 + 1464 1524 1523 + 1465 1466 1525 + 1465 1525 1524 + 1466 1467 1526 + 1466 1526 1525 + 1467 1523 1526 + 1471 1468 1469 + 1470 1511 1474 + 1511 1472 1527 + 1472 1473 1527 + 1473 1474 1528 + 1473 1528 1527 + 1474 1511 1529 + 1474 1529 1530 + 1474 1530 1528 + 1475 1531 1532 + 1533 1531 1475 + 1475 1532 1476 + 1477 1533 1475 + 1476 1532 1534 + 1476 1534 1478 + 1535 1533 1477 + 1498 1535 1477 + 1498 1477 1481 + 1478 1534 1479 + 1479 1534 1536 + 1489 1479 1537 + 1480 1479 1489 + 1479 1536 1537 + 1499 1498 1481 + 1538 1539 1481 + 1539 1499 1481 + 1538 1481 1482 + 1501 1538 1482 + 1483 1491 1486 + 1491 1484 1540 + 1484 1485 1541 + 1484 1541 1540 + 1485 1486 1542 + 1485 1542 1541 + 1486 1491 1543 + 1486 1543 1542 + 1487 1544 1545 + 1546 1544 1487 + 1487 1545 1488 + 1546 1487 1489 + 1488 1545 1547 + 1488 1547 1490 + 1546 1489 1548 + 1489 1537 1548 + 1490 1547 1549 + 1497 1490 1549 + 1491 1540 1543 + 1495 1492 1550 + 1492 1493 1551 + 1492 1551 1550 + 1493 1494 1552 + 1493 1552 1551 + 1494 1495 1553 + 1494 1553 1552 + 1495 1550 1553 + 1504 1554 1496 + 1554 1502 1496 + 1555 1497 1549 + 1555 1556 1497 + 1497 1535 1498 + 1556 1535 1497 + 1539 1500 1499 + 1557 1500 1539 + 1557 1558 1500 + 1558 1501 1500 + 1559 1538 1501 + 1558 1559 1501 + 1554 1506 1502 + 1509 1510 1503 + 1560 1561 1504 + 1560 1504 1505 + 1561 1554 1504 + 1562 1505 1506 + 1562 1560 1505 + 1563 1506 1554 + 1563 1562 1506 + 1564 1509 1507 + 1565 1564 1507 + 1565 1507 1508 + 1566 1508 1510 + 1566 1565 1508 + 1567 1510 1509 + 1564 1567 1509 + 1567 1566 1510 + 1511 1568 1529 + 1527 1568 1511 + 1512 1519 1522 + 1517 1569 1513 + 1514 1513 1569 + 1514 1570 1515 + 1514 1569 1571 + 1571 1570 1514 + 1572 1518 1515 + 1572 1515 1570 + 1516 1573 1517 + 1574 1573 1516 + 1575 1574 1516 + 1575 1516 1518 + 1517 1576 1569 + 1577 1576 1517 + 1573 1578 1517 + 1578 1577 1517 + 1579 1575 1518 + 1579 1518 1572 + 1522 1519 1520 + 1522 1520 1521 + 1526 1523 1580 + 1523 1524 1581 + 1523 1581 1580 + 1524 1525 1582 + 1524 1582 1581 + 1525 1526 1583 + 1525 1583 1582 + 1526 1580 1583 + 1527 1584 1568 + 1528 1584 1527 + 1530 1584 1528 + 1529 1568 1585 + 1586 1530 1529 + 1586 1529 1585 + 1530 1587 1588 + 1587 1530 1586 + 1530 1588 1584 + 1531 1589 1590 + 1591 1589 1531 + 1531 1590 1532 + 1533 1591 1531 + 1532 1590 1592 + 1532 1592 1534 + 1593 1591 1533 + 1535 1593 1533 + 1534 1592 1594 + 1534 1594 1546 + 1534 1546 1595 + 1534 1595 1536 + 1535 1596 1593 + 1597 1596 1535 + 1556 1597 1535 + 1536 1595 1598 + 1537 1536 1599 + 1536 1598 1599 + 1548 1537 1600 + 1537 1599 1600 + 1559 1601 1538 + 1601 1539 1538 + 1601 1557 1539 + 1543 1540 1602 + 1540 1541 1603 + 1540 1603 1602 + 1541 1542 1604 + 1541 1604 1603 + 1542 1543 1605 + 1542 1605 1604 + 1543 1602 1605 + 1544 1606 1607 + 1544 1607 1545 + 1594 1606 1544 + 1594 1544 1546 + 1545 1607 1608 + 1545 1608 1547 + 1546 1548 1595 + 1549 1547 1608 + 1595 1548 1609 + 1548 1600 1609 + 1549 1608 1610 + 1549 1610 1611 + 1612 1555 1549 + 1612 1549 1596 + 1549 1611 1596 + 1553 1550 1551 + 1553 1551 1552 + 1561 1563 1554 + 1613 1555 1612 + 1613 1614 1555 + 1614 1556 1555 + 1615 1597 1556 + 1614 1615 1556 + 1616 1557 1601 + 1616 1617 1557 + 1617 1558 1557 + 1618 1559 1558 + 1617 1618 1558 + 1618 1619 1559 + 1619 1601 1559 + 1620 1621 1560 + 1620 1560 1562 + 1621 1561 1560 + 1621 1622 1561 + 1622 1563 1561 + 1623 1562 1563 + 1623 1620 1562 + 1622 1623 1563 + 1587 1567 1564 + 1588 1587 1564 + 1624 1564 1565 + 1588 1564 1624 + 1625 1565 1566 + 1626 1624 1565 + 1625 1626 1565 + 1566 1567 1587 + 1627 1566 1587 + 1627 1628 1566 + 1628 1625 1566 + 1568 1629 1585 + 1568 1584 1630 + 1568 1630 1629 + 1631 1569 1576 + 1571 1569 1632 + 1631 1632 1569 + 1571 1577 1570 + 1633 1570 1578 + 1570 1633 1572 + 1578 1570 1577 + 1634 1577 1571 + 1571 1632 1634 + 1633 1573 1572 + 1635 1572 1573 + 1635 1579 1572 + 1573 1633 1578 + 1574 1635 1573 + 1636 1637 1574 + 1636 1574 1575 + 1637 1635 1574 + 1638 1636 1575 + 1638 1575 1579 + 1576 1639 1631 + 1576 1577 1639 + 1634 1639 1577 + 1640 1579 1635 + 1640 1638 1579 + 1582 1583 1580 + 1582 1580 1581 + 1630 1584 1588 + 1641 1586 1585 + 1642 1585 1643 + 1643 1585 1629 + 1585 1642 1641 + 1587 1586 1644 + 1586 1630 1644 + 1645 1586 1641 + 1645 1646 1586 + 1646 1630 1586 + 1644 1627 1587 + 1588 1624 1647 + 1630 1588 1647 + 1589 1648 1649 + 1650 1648 1589 + 1589 1649 1651 + 1589 1651 1590 + 1652 1650 1589 + 1591 1652 1589 + 1590 1651 1653 + 1590 1653 1654 + 1590 1654 1592 + 1611 1652 1591 + 1593 1596 1591 + 1596 1611 1591 + 1592 1654 1655 + 1594 1592 1656 + 1592 1655 1656 + 1653 1594 1657 + 1594 1653 1606 + 1594 1656 1657 + 1595 1609 1598 + 1597 1612 1596 + 1658 1612 1597 + 1615 1658 1597 + 1599 1598 1659 + 1598 1609 1660 + 1598 1660 1659 + 1600 1599 1661 + 1599 1659 1661 + 1609 1600 1662 + 1600 1661 1662 + 1619 1616 1601 + 1605 1602 1663 + 1602 1603 1664 + 1602 1664 1663 + 1603 1604 1665 + 1603 1665 1664 + 1604 1605 1666 + 1604 1666 1665 + 1605 1663 1666 + 1653 1667 1606 + 1667 1607 1606 + 1607 1668 1669 + 1667 1668 1607 + 1607 1669 1670 + 1608 1607 1670 + 1608 1670 1671 + 1608 1671 1610 + 1609 1662 1660 + 1672 1610 1671 + 1672 1673 1610 + 1673 1611 1610 + 1611 1674 1652 + 1675 1674 1611 + 1673 1675 1611 + 1658 1613 1612 + 1676 1613 1658 + 1676 1677 1613 + 1677 1614 1613 + 1677 1678 1614 + 1678 1615 1614 + 1679 1658 1615 + 1678 1679 1615 + 1680 1616 1619 + 1680 1681 1616 + 1681 1617 1616 + 1682 1618 1617 + 1681 1682 1617 + 1682 1683 1618 + 1683 1619 1618 + 1683 1680 1619 + 1684 1685 1620 + 1684 1620 1623 + 1685 1621 1620 + 1685 1686 1621 + 1686 1622 1621 + 1686 1687 1622 + 1687 1623 1622 + 1687 1684 1623 + 1647 1624 1627 + 1627 1624 1688 + 1624 1626 1688 + 1689 1625 1628 + 1690 1626 1625 + 1689 1690 1625 + 1691 1688 1626 + 1690 1691 1626 + 1644 1647 1627 + 1627 1688 1628 + 1692 1628 1688 + 1692 1689 1628 + 1630 1693 1629 + 1629 1694 1695 + 1693 1694 1629 + 1643 1629 1696 + 1629 1695 1696 + 1630 1647 1644 + 1697 1693 1630 + 1646 1697 1630 + 1631 1639 1698 + 1631 1698 1699 + 1700 1632 1631 + 1700 1631 1699 + 1634 1632 1700 + 1698 1639 1634 + 1634 1700 1701 + 1698 1634 1701 + 1637 1640 1635 + 1637 1636 1638 + 1637 1638 1640 + 1702 1645 1641 + 1642 1694 1641 + 1702 1641 1693 + 1694 1693 1641 + 1642 1703 1695 + 1694 1642 1695 + 1642 1643 1703 + 1704 1643 1696 + 1703 1643 1704 + 1705 1645 1702 + 1706 1646 1645 + 1705 1706 1645 + 1707 1697 1646 + 1706 1707 1646 + 1708 1709 1648 + 1648 1710 1708 + 1648 1711 1710 + 1648 1709 1649 + 1712 1711 1648 + 1650 1712 1648 + 1649 1709 1713 + 1649 1713 1714 + 1651 1649 1714 + 1715 1712 1650 + 1674 1671 1650 + 1715 1650 1671 + 1674 1650 1652 + 1651 1714 1716 + 1653 1651 1716 + 1653 1716 1667 + 1654 1653 1717 + 1653 1657 1717 + 1654 1717 1655 + 1655 1717 1718 + 1656 1655 1719 + 1655 1718 1719 + 1657 1656 1720 + 1656 1719 1720 + 1717 1657 1721 + 1657 1720 1721 + 1679 1676 1658 + 1661 1659 1722 + 1659 1660 1723 + 1659 1723 1722 + 1660 1662 1724 + 1660 1724 1723 + 1662 1661 1725 + 1661 1722 1725 + 1662 1725 1724 + 1666 1663 1726 + 1663 1664 1727 + 1663 1727 1726 + 1664 1665 1728 + 1664 1728 1727 + 1665 1666 1729 + 1665 1729 1728 + 1666 1726 1729 + 1667 1730 1668 + 1716 1730 1667 + 1668 1731 1732 + 1668 1732 1733 + 1733 1734 1668 + 1668 1734 1669 + 1730 1731 1668 + 1669 1734 1735 + 1670 1669 1736 + 1669 1735 1736 + 1670 1715 1671 + 1670 1736 1715 + 1737 1672 1671 + 1737 1671 1674 + 1738 1672 1737 + 1738 1739 1672 + 1739 1673 1672 + 1740 1675 1673 + 1739 1740 1673 + 1675 1737 1674 + 1741 1737 1675 + 1740 1741 1675 + 1742 1676 1679 + 1742 1743 1676 + 1743 1677 1676 + 1743 1744 1677 + 1744 1678 1677 + 1745 1679 1678 + 1744 1745 1678 + 1745 1742 1679 + 1746 1680 1683 + 1746 1747 1680 + 1747 1681 1680 + 1748 1682 1681 + 1747 1748 1681 + 1748 1749 1682 + 1749 1683 1682 + 1749 1746 1683 + 1750 1751 1684 + 1751 1685 1684 + 1750 1684 1687 + 1751 1752 1685 + 1752 1686 1685 + 1752 1753 1686 + 1753 1687 1686 + 1753 1750 1687 + 1691 1692 1688 + 1754 1689 1692 + 1754 1755 1689 + 1756 1690 1689 + 1755 1756 1689 + 1756 1757 1690 + 1757 1691 1690 + 1754 1692 1691 + 1757 1754 1691 + 1697 1702 1693 + 1695 1703 1758 + 1695 1758 1759 + 1760 1695 1759 + 1696 1695 1760 + 1761 1704 1696 + 1696 1760 1761 + 1762 1702 1697 + 1707 1762 1697 + 1699 1698 1763 + 1763 1698 1701 + 1699 1763 1764 + 1764 1765 1699 + 1765 1700 1699 + 1701 1700 1766 + 1700 1765 1767 + 1700 1767 1766 + 1701 1766 1768 + 1763 1701 1768 + 1762 1705 1702 + 1703 1769 1770 + 1703 1770 1758 + 1703 1704 1769 + 1771 1704 1761 + 1704 1771 1772 + 1704 1772 1769 + 1773 1705 1762 + 1773 1774 1705 + 1774 1706 1705 + 1775 1707 1706 + 1774 1775 1706 + 1776 1762 1707 + 1775 1776 1707 + 1708 1777 1778 + 1710 1777 1708 + 1708 1779 1709 + 1708 1778 1779 + 1780 1713 1709 + 1780 1709 1781 + 1782 1709 1779 + 1782 1781 1709 + 1710 1783 1777 + 1783 1710 1784 + 1710 1711 1785 + 1710 1785 1784 + 1736 1735 1711 + 1785 1711 1735 + 1736 1711 1712 + 1715 1736 1712 + 1780 1731 1713 + 1714 1713 1731 + 1714 1731 1730 + 1716 1714 1730 + 1717 1721 1718 + 1719 1718 1786 + 1718 1721 1787 + 1718 1787 1786 + 1720 1719 1788 + 1719 1786 1788 + 1721 1720 1789 + 1720 1788 1789 + 1721 1789 1787 + 1725 1722 1790 + 1722 1723 1791 + 1722 1791 1790 + 1723 1724 1792 + 1723 1792 1791 + 1724 1725 1793 + 1724 1793 1792 + 1725 1790 1793 + 1727 1729 1726 + 1727 1728 1729 + 1780 1732 1731 + 1732 1794 1795 + 1732 1795 1733 + 1780 1794 1732 + 1733 1795 1796 + 1733 1796 1797 + 1733 1797 1734 + 1734 1797 1796 + 1734 1796 1798 + 1734 1798 1799 + 1735 1734 1800 + 1734 1799 1800 + 1785 1735 1800 + 1741 1738 1737 + 1801 1738 1741 + 1801 1802 1738 + 1802 1739 1738 + 1802 1803 1739 + 1803 1740 1739 + 1804 1741 1740 + 1803 1804 1740 + 1804 1801 1741 + 1805 1742 1745 + 1805 1806 1742 + 1806 1743 1742 + 1806 1807 1743 + 1807 1744 1743 + 1808 1745 1744 + 1807 1808 1744 + 1808 1805 1745 + 1809 1746 1749 + 1809 1810 1746 + 1810 1747 1746 + 1811 1748 1747 + 1810 1811 1747 + 1811 1812 1748 + 1812 1749 1748 + 1812 1809 1749 + 1750 1753 1752 + 1750 1752 1751 + 1813 1754 1757 + 1813 1814 1754 + 1814 1755 1754 + 1815 1756 1755 + 1814 1815 1755 + 1815 1816 1756 + 1816 1757 1756 + 1816 1813 1757 + 1758 1770 1817 + 1758 1817 1818 + 1759 1758 1818 + 1759 1819 1760 + 1759 1820 1819 + 1820 1759 1821 + 1759 1818 1821 + 1761 1760 1822 + 1823 1760 1819 + 1760 1772 1822 + 1760 1823 1772 + 1824 1771 1761 + 1761 1822 1824 + 1776 1773 1762 + 1764 1763 1825 + 1763 1826 1827 + 1763 1827 1825 + 1763 1768 1826 + 1764 1825 1828 + 1828 1829 1764 + 1829 1765 1764 + 1829 1767 1765 + 1766 1767 1830 + 1766 1830 1831 + 1768 1766 1831 + 1826 1767 1829 + 1767 1826 1832 + 1767 1832 1830 + 1768 1831 1833 + 1833 1826 1768 + 1769 1823 1819 + 1769 1820 1770 + 1769 1819 1820 + 1823 1769 1772 + 1770 1820 1834 + 1770 1834 1817 + 1835 1771 1824 + 1772 1771 1835 + 1836 1837 1772 + 1837 1822 1772 + 1772 1835 1836 + 1776 1775 1773 + 1775 1774 1773 + 1777 1838 1839 + 1783 1838 1777 + 1777 1839 1778 + 1839 1840 1778 + 1841 1778 1840 + 1841 1782 1778 + 1782 1779 1778 + 1780 1841 1840 + 1780 1840 1794 + 1841 1780 1842 + 1780 1781 1843 + 1780 1843 1842 + 1781 1782 1844 + 1781 1844 1843 + 1782 1841 1845 + 1782 1845 1844 + 1783 1846 1838 + 1783 1847 1846 + 1783 1798 1847 + 1798 1783 1799 + 1783 1784 1799 + 1848 1799 1784 + 1849 1848 1784 + 1849 1784 1785 + 1850 1785 1800 + 1850 1849 1785 + 1788 1786 1851 + 1786 1787 1852 + 1786 1852 1851 + 1787 1789 1853 + 1787 1853 1852 + 1789 1788 1854 + 1788 1851 1854 + 1789 1854 1853 + 1793 1790 1855 + 1790 1791 1856 + 1790 1856 1855 + 1791 1792 1857 + 1791 1857 1856 + 1792 1793 1858 + 1792 1858 1857 + 1793 1855 1858 + 1840 1859 1794 + 1859 1795 1794 + 1859 1860 1795 + 1796 1795 1860 + 1796 1860 1847 + 1796 1847 1798 + 1848 1861 1799 + 1861 1800 1799 + 1861 1850 1800 + 1862 1801 1804 + 1862 1863 1801 + 1863 1802 1801 + 1863 1864 1802 + 1864 1803 1802 + 1865 1804 1803 + 1864 1865 1803 + 1865 1862 1804 + 1866 1805 1808 + 1866 1867 1805 + 1867 1806 1805 + 1867 1868 1806 + 1868 1807 1806 + 1869 1808 1807 + 1868 1869 1807 + 1869 1866 1808 + 1812 1810 1809 + 1812 1811 1810 + 1870 1813 1816 + 1870 1871 1813 + 1871 1814 1813 + 1872 1815 1814 + 1871 1872 1814 + 1873 1816 1815 + 1872 1873 1815 + 1873 1870 1816 + 1817 1834 1874 + 1817 1874 1875 + 1818 1817 1875 + 1821 1818 1876 + 1818 1875 1876 + 1820 1821 1834 + 1834 1821 1877 + 1821 1876 1877 + 1824 1822 1837 + 1878 1835 1824 + 1824 1837 1878 + 1828 1825 1879 + 1825 1827 1880 + 1825 1880 1879 + 1826 1829 1827 + 1833 1832 1826 + 1827 1829 1881 + 1827 1881 1880 + 1828 1879 1882 + 1829 1828 1882 + 1829 1882 1881 + 1831 1830 1883 + 1830 1884 1883 + 1830 1832 1884 + 1831 1883 1885 + 1833 1831 1885 + 1886 1832 1833 + 1886 1884 1832 + 1833 1885 1886 + 1834 1877 1874 + 1887 1835 1878 + 1888 1836 1835 + 1888 1835 1887 + 1888 1889 1836 + 1889 1837 1836 + 1890 1878 1837 + 1890 1837 1889 + 1838 1860 1859 + 1846 1860 1838 + 1838 1859 1839 + 1839 1859 1840 + 1841 1842 1845 + 1845 1842 1891 + 1842 1843 1892 + 1842 1892 1891 + 1843 1844 1893 + 1843 1893 1892 + 1844 1845 1894 + 1844 1894 1893 + 1845 1891 1894 + 1846 1847 1860 + 1895 1896 1848 + 1896 1861 1848 + 1895 1848 1849 + 1897 1895 1849 + 1897 1849 1850 + 1898 1850 1861 + 1898 1897 1850 + 1854 1851 1899 + 1851 1852 1900 + 1851 1900 1899 + 1852 1853 1901 + 1852 1901 1900 + 1853 1854 1902 + 1853 1902 1901 + 1854 1899 1902 + 1858 1855 1856 + 1858 1856 1857 + 1896 1898 1861 + 1903 1862 1865 + 1903 1904 1862 + 1904 1863 1862 + 1904 1905 1863 + 1905 1864 1863 + 1906 1865 1864 + 1905 1906 1864 + 1906 1903 1865 + 1869 1867 1866 + 1869 1868 1867 + 1907 1908 1870 + 1907 1870 1873 + 1908 1871 1870 + 1909 1872 1871 + 1908 1909 1871 + 1910 1873 1872 + 1909 1910 1872 + 1910 1907 1873 + 1875 1874 1877 + 1876 1875 1877 + 1890 1887 1878 + 1882 1879 1911 + 1879 1880 1912 + 1879 1912 1911 + 1880 1881 1913 + 1880 1913 1912 + 1881 1882 1914 + 1881 1914 1913 + 1882 1911 1914 + 1883 1915 1916 + 1885 1883 1916 + 1883 1884 1915 + 1917 1884 1886 + 1917 1915 1884 + 1886 1885 1918 + 1885 1916 1918 + 1886 1918 1917 + 1919 1887 1890 + 1920 1921 1887 + 1919 1920 1887 + 1888 1887 1921 + 1922 1923 1888 + 1923 1889 1888 + 1888 1921 1922 + 1924 1890 1889 + 1924 1889 1923 + 1924 1919 1890 + 1894 1891 1925 + 1891 1892 1926 + 1891 1926 1925 + 1892 1893 1927 + 1892 1927 1926 + 1893 1894 1928 + 1893 1928 1927 + 1894 1925 1928 + 1929 1930 1895 + 1929 1895 1897 + 1930 1896 1895 + 1930 1931 1896 + 1931 1898 1896 + 1932 1897 1898 + 1932 1929 1897 + 1931 1932 1898 + 1902 1899 1933 + 1899 1900 1934 + 1899 1934 1933 + 1900 1901 1935 + 1900 1935 1934 + 1901 1902 1936 + 1901 1936 1935 + 1902 1933 1936 + 1937 1903 1906 + 1937 1938 1903 + 1938 1904 1903 + 1938 1939 1904 + 1939 1905 1904 + 1940 1906 1905 + 1939 1940 1905 + 1940 1937 1906 + 1908 1907 1910 + 1909 1908 1910 + 1914 1911 1941 + 1911 1912 1942 + 1911 1942 1941 + 1912 1913 1943 + 1912 1943 1942 + 1913 1944 1943 + 1913 1914 1944 + 1914 1941 1944 + 1916 1915 1945 + 1946 1915 1917 + 1946 1945 1915 + 1916 1945 1947 + 1918 1916 1947 + 1917 1918 1948 + 1917 1948 1946 + 1918 1947 1948 + 1949 1920 1919 + 1950 1949 1919 + 1950 1919 1924 + 1921 1920 1951 + 1951 1920 1952 + 1953 1952 1920 + 1949 1953 1920 + 1922 1921 1951 + 1954 1955 1922 + 1955 1923 1922 + 1922 1951 1954 + 1956 1952 1923 + 1955 1956 1923 + 1952 1924 1923 + 1957 1950 1924 + 1924 1952 1957 + 1928 1925 1958 + 1925 1926 1959 + 1925 1959 1958 + 1926 1927 1960 + 1926 1960 1959 + 1927 1928 1961 + 1927 1961 1960 + 1928 1958 1961 + 1962 1963 1929 + 1962 1929 1932 + 1963 1930 1929 + 1963 1964 1930 + 1964 1931 1930 + 1964 1965 1931 + 1965 1932 1931 + 1965 1962 1932 + 1936 1933 1934 + 1936 1934 1935 + 1940 1938 1937 + 1940 1939 1938 + 1944 1941 1966 + 1941 1942 1967 + 1941 1967 1966 + 1942 1943 1968 + 1942 1968 1967 + 1943 1944 1969 + 1943 1969 1968 + 1944 1966 1969 + 1947 1945 1946 + 1947 1946 1948 + 1970 1949 1950 + 1970 1971 1949 + 1971 1953 1949 + 1972 1970 1950 + 1972 1950 1957 + 1973 1954 1951 + 1956 1951 1952 + 1974 1973 1951 + 1974 1951 1956 + 1952 1953 1957 + 1957 1953 1975 + 1953 1971 1975 + 1976 1955 1954 + 1973 1976 1954 + 1977 1956 1955 + 1976 1977 1955 + 1977 1974 1956 + 1975 1972 1957 + 1961 1958 1978 + 1958 1959 1979 + 1958 1979 1978 + 1959 1960 1980 + 1959 1980 1979 + 1960 1961 1981 + 1960 1981 1980 + 1961 1978 1981 + 1982 1983 1962 + 1982 1962 1965 + 1983 1963 1962 + 1983 1984 1963 + 1984 1964 1963 + 1984 1985 1964 + 1985 1965 1964 + 1985 1982 1965 + 1967 1969 1966 + 1967 1968 1969 + 1986 1987 1970 + 1986 1970 1972 + 1987 1971 1970 + 1975 1971 1988 + 1971 1987 1988 + 1989 1972 1975 + 1989 1986 1972 + 1990 1973 1974 + 1991 1976 1973 + 1990 1991 1973 + 1992 1974 1977 + 1992 1990 1974 + 1988 1989 1975 + 1993 1977 1976 + 1991 1993 1976 + 1993 1992 1977 + 1981 1978 1994 + 1978 1979 1995 + 1978 1995 1994 + 1979 1980 1996 + 1979 1996 1995 + 1980 1981 1997 + 1980 1997 1996 + 1981 1994 1997 + 1998 1999 1982 + 1999 1983 1982 + 1998 1982 1985 + 1999 2000 1983 + 2000 1984 1983 + 2000 2001 1984 + 2001 1985 1984 + 2001 1998 1985 + 2002 1987 1986 + 2003 2002 1986 + 2003 1986 1989 + 1988 1987 2004 + 1987 2002 2004 + 2005 1989 1988 + 2005 1988 2004 + 2005 2003 1989 + 2006 1990 1992 + 2007 1991 1990 + 2006 2007 1990 + 2008 1993 1991 + 2007 2008 1991 + 2009 2006 1992 + 2009 1992 1993 + 2008 2009 1993 + 1995 1997 1994 + 1995 1996 1997 + 2001 1999 1998 + 2001 2000 1999 + 2004 2002 2003 + 2005 2004 2003 + 2010 2006 2009 + 2011 2007 2006 + 2010 2011 2006 + 2012 2008 2007 + 2011 2012 2007 + 2013 2009 2008 + 2012 2013 2008 + 2013 2010 2009 + 2011 2010 2013 + 2011 2013 2012 + 2014 2015 2016 + 2017 2018 2014 + 2017 2014 2019 + 2018 2015 2014 + 2019 2014 2020 + 2014 2016 2020 + 2018 2021 2015 + 2021 2022 2015 + 2015 2022 2023 + 2015 2023 2016 + 2016 2023 2020 + 2024 2025 2017 + 2024 2017 2026 + 2025 2018 2017 + 2026 2017 2019 + 2025 2027 2018 + 2027 2021 2018 + 2019 2028 2026 + 2019 2029 2028 + 2019 2020 2029 + 2023 2029 2020 + 2027 2030 2021 + 2030 2031 2021 + 2021 2031 2022 + 2031 2032 2022 + 2022 2032 2033 + 2022 2033 2023 + 2023 2033 2029 + 2034 2035 2024 + 2035 2025 2024 + 2034 2024 2036 + 2036 2024 2026 + 2035 2037 2025 + 2037 2027 2025 + 2036 2026 2038 + 2038 2026 2028 + 2037 2039 2027 + 2039 2030 2027 + 2038 2028 2032 + 2032 2028 2040 + 2028 2029 2040 + 2033 2040 2029 + 2039 2041 2030 + 2041 2042 2030 + 2030 2042 2031 + 2042 2038 2031 + 2031 2038 2032 + 2032 2040 2033 + 2043 2044 2034 + 2043 2034 2045 + 2044 2035 2034 + 2045 2034 2036 + 2046 2037 2035 + 2044 2046 2035 + 2045 2036 2042 + 2042 2036 2038 + 2046 2047 2037 + 2047 2039 2037 + 2047 2048 2039 + 2048 2041 2039 + 2048 2049 2041 + 2049 2045 2041 + 2041 2045 2042 + 2050 2051 2043 + 2050 2043 2049 + 2051 2044 2043 + 2049 2043 2045 + 2051 2052 2044 + 2052 2046 2044 + 2052 2053 2046 + 2053 2047 2046 + 2053 2054 2047 + 2054 2048 2047 + 2054 2055 2048 + 2055 2049 2048 + 2055 2050 2049 + 2056 2057 2050 + 2057 2051 2050 + 2056 2050 2055 + 2057 2058 2051 + 2058 2052 2051 + 2058 2059 2052 + 2059 2053 2052 + 2059 2060 2053 + 2060 2054 2053 + 2060 2061 2054 + 2061 2055 2054 + 2061 2056 2055 + 2062 2063 2056 + 2062 2056 2061 + 2063 2057 2056 + 2063 2064 2057 + 2064 2058 2057 + 2064 2065 2058 + 2065 2059 2058 + 2065 2066 2059 + 2066 2060 2059 + 2066 2061 2060 + 2066 2062 2061 + 2067 2068 2062 + 2068 2069 2062 + 2069 2063 2062 + 2062 2066 2070 + 2070 2067 2062 + 2069 2071 2063 + 2071 2064 2063 + 2071 2072 2064 + 2072 2065 2064 + 2072 2070 2065 + 2070 2066 2065 + 2073 2067 2070 + 2073 2074 2067 + 2068 2067 2074 + 2075 2069 2068 + 2075 2068 2074 + 2075 2076 2069 + 2076 2071 2069 + 2077 2073 2070 + 2077 2070 2072 + 2076 2078 2071 + 2078 2072 2071 + 2078 2077 2072 + 2079 2080 2073 + 2079 2073 2077 + 2080 2074 2073 + 2080 2081 2074 + 2075 2074 2081 + 2081 2082 2075 + 2082 2076 2075 + 2082 2083 2076 + 2083 2078 2076 + 2084 2079 2077 + 2084 2077 2078 + 2083 2084 2078 + 2085 2086 2079 + 2085 2079 2084 + 2086 2080 2079 + 2086 2087 2080 + 2087 2081 2080 + 2087 2088 2081 + 2088 2082 2081 + 2088 2089 2082 + 2089 2083 2082 + 2089 2090 2083 + 2090 2084 2083 + 2090 2085 2084 + 2091 2092 2085 + 2091 2085 2090 + 2092 2086 2085 + 2092 2093 2086 + 2093 2087 2086 + 2093 2094 2087 + 2094 2088 2087 + 2094 2095 2088 + 2095 2089 2088 + 2095 2096 2089 + 2096 2090 2089 + 2096 2091 2090 + 2097 2098 2091 + 2097 2091 2096 + 2098 2092 2091 + 2098 2099 2092 + 2093 2092 2099 + 2094 2093 2099 + 2099 2100 2094 + 2100 2095 2094 + 2100 2101 2095 + 2101 2096 2095 + 2101 2097 2096 + 2102 2103 2097 + 2102 2097 2101 + 2103 2098 2097 + 2103 2104 2098 + 2104 2099 2098 + 2105 2106 2099 + 2106 2100 2099 + 2104 2105 2099 + 2106 2107 2100 + 2107 2101 2100 + 2107 2102 2101 + 2106 2103 2102 + 2106 2102 2107 + 2106 2104 2103 + 2106 2105 2104 + 2108 2109 2110 + 2108 2111 2112 + 2108 2112 2109 + 2113 2114 2108 + 2108 2110 2115 + 2114 2111 2108 + 2113 2108 2115 + 2116 2117 2109 + 2116 2109 2112 + 2117 2110 2109 + 2117 2118 2110 + 2118 2115 2110 + 2114 2119 2111 + 2119 2112 2111 + 2119 2116 2112 + 2118 2113 2115 + 2120 2121 2113 + 2120 2113 2118 + 2121 2114 2113 + 2121 2122 2114 + 2119 2114 2122 + 2123 2124 2116 + 2123 2116 2119 + 2124 2117 2116 + 2124 2125 2117 + 2125 2118 2117 + 2125 2120 2118 + 2122 2123 2119 + 2126 2127 2120 + 2126 2120 2125 + 2127 2121 2120 + 2127 2128 2121 + 2128 2122 2121 + 2128 2129 2122 + 2129 2123 2122 + 2129 2130 2123 + 2130 2124 2123 + 2130 2131 2124 + 2131 2125 2124 + 2131 2126 2125 + 2132 2133 2126 + 2132 2126 2131 + 2133 2127 2126 + 2133 2134 2127 + 2134 2128 2127 + 2134 2135 2128 + 2135 2129 2128 + 2135 2136 2129 + 2136 2130 2129 + 2136 2137 2130 + 2137 2131 2130 + 2137 2132 2131 + 2138 2139 2132 + 2138 2132 2137 + 2139 2133 2132 + 2139 2140 2133 + 2140 2134 2133 + 2140 2141 2134 + 2141 2135 2134 + 2141 2142 2135 + 2142 2136 2135 + 2142 2143 2136 + 2143 2137 2136 + 2143 2138 2137 + 2144 2145 2138 + 2144 2138 2143 + 2145 2139 2138 + 2145 2146 2139 + 2146 2140 2139 + 2146 2147 2140 + 2141 2140 2147 + 2147 2148 2141 + 2148 2142 2141 + 2148 2149 2142 + 2149 2143 2142 + 2149 2144 2143 + 2150 2151 2144 + 2151 2145 2144 + 2150 2144 2149 + 2151 2152 2145 + 2152 2146 2145 + 2152 2153 2146 + 2153 2147 2146 + 2153 2154 2147 + 2154 2148 2147 + 2154 2155 2148 + 2155 2149 2148 + 2155 2150 2149 + 2156 2157 2150 + 2156 2150 2155 + 2157 2151 2150 + 2157 2158 2151 + 2158 2152 2151 + 2158 2159 2152 + 2159 2153 2152 + 2159 2160 2153 + 2160 2154 2153 + 2160 2161 2154 + 2161 2155 2154 + 2161 2156 2155 + 2162 2156 2163 + 2163 2156 2161 + 2162 2157 2156 + 2162 2164 2157 + 2164 2158 2157 + 2164 2165 2158 + 2165 2159 2158 + 2165 2166 2159 + 2166 2160 2159 + 2166 2167 2160 + 2167 2161 2160 + 2167 2163 2161 + 2162 2163 2168 + 2168 2169 2162 + 2169 2164 2162 + 2170 2168 2163 + 2170 2163 2167 + 2169 2171 2164 + 2171 2165 2164 + 2171 2172 2165 + 2172 2166 2165 + 2172 2173 2166 + 2173 2167 2166 + 2173 2170 2167 + 2174 2168 2170 + 2174 2175 2168 + 2169 2168 2175 + 2175 2176 2169 + 2176 2171 2169 + 2177 2174 2170 + 2177 2170 2173 + 2176 2178 2171 + 2178 2172 2171 + 2178 2179 2172 + 2179 2173 2172 + 2179 2177 2173 + 2180 2174 2177 + 2180 2181 2174 + 2181 2175 2174 + 2181 2182 2175 + 2176 2175 2182 + 2182 2183 2176 + 2183 2178 2176 + 2184 2180 2177 + 2184 2177 2179 + 2183 2185 2178 + 2185 2179 2178 + 2185 2184 2179 + 2186 2180 2184 + 2186 2187 2180 + 2187 2181 2180 + 2187 2188 2181 + 2188 2182 2181 + 2188 2189 2182 + 2189 2183 2182 + 2189 2190 2183 + 2190 2185 2183 + 2191 2186 2184 + 2191 2184 2185 + 2190 2191 2185 + 2192 2186 2191 + 2192 2193 2186 + 2193 2187 2186 + 2193 2194 2187 + 2194 2188 2187 + 2194 2195 2188 + 2195 2189 2188 + 2195 2196 2189 + 2190 2189 2196 + 2197 2191 2190 + 2196 2197 2190 + 2197 2192 2191 + 2198 2192 2197 + 2198 2199 2192 + 2199 2193 2192 + 2199 2200 2193 + 2200 2194 2193 + 2200 2201 2194 + 2201 2195 2194 + 2201 2202 2195 + 2202 2196 2195 + 2197 2196 2203 + 2202 2203 2196 + 2203 2198 2197 + 2203 2199 2198 + 2200 2199 2203 + 2202 2200 2203 + 2202 2201 2200 + 2204 2205 2206 + 2204 2207 2208 + 2204 2208 2205 + 2209 2210 2204 + 2209 2204 2206 + 2210 2207 2204 + 2211 2212 2205 + 2211 2205 2208 + 2212 2206 2205 + 2212 2209 2206 + 2210 2213 2207 + 2213 2208 2207 + 2213 2211 2208 + 2214 2215 2209 + 2214 2209 2212 + 2215 2210 2209 + 2215 2216 2210 + 2216 2213 2210 + 2217 2218 2211 + 2218 2212 2211 + 2217 2211 2213 + 2218 2214 2212 + 2216 2217 2213 + 2219 2220 2214 + 2219 2214 2218 + 2220 2215 2214 + 2220 2221 2215 + 2221 2216 2215 + 2221 2222 2216 + 2222 2217 2216 + 2222 2223 2217 + 2223 2218 2217 + 2223 2219 2218 + 2224 2225 2219 + 2225 2220 2219 + 2224 2219 2223 + 2225 2226 2220 + 2226 2221 2220 + 2226 2227 2221 + 2227 2222 2221 + 2227 2228 2222 + 2228 2223 2222 + 2228 2224 2223 + 2229 2230 2224 + 2229 2224 2228 + 2230 2225 2224 + 2230 2231 2225 + 2231 2226 2225 + 2231 2232 2226 + 2232 2227 2226 + 2232 2233 2227 + 2233 2228 2227 + 2233 2229 2228 + 2234 2235 2229 + 2234 2229 2233 + 2235 2230 2229 + 2235 2236 2230 + 2236 2231 2230 + 2236 2237 2231 + 2237 2232 2231 + 2237 2238 2232 + 2238 2233 2232 + 2238 2234 2233 + 2239 2240 2234 + 2239 2234 2238 + 2240 2235 2234 + 2240 2241 2235 + 2241 2236 2235 + 2241 2242 2236 + 2242 2237 2236 + 2242 2243 2237 + 2243 2238 2237 + 2243 2239 2238 + 2244 2245 2239 + 2244 2239 2243 + 2245 2240 2239 + 2245 2246 2240 + 2246 2241 2240 + 2246 2247 2241 + 2247 2242 2241 + 2247 2248 2242 + 2248 2243 2242 + 2248 2244 2243 + 2249 2250 2244 + 2249 2244 2248 + 2250 2245 2244 + 2251 2246 2245 + 2252 2251 2245 + 2250 2252 2245 + 2246 2251 2253 + 2253 2247 2246 + 2253 2254 2247 + 2254 2248 2247 + 2254 2249 2248 + 2249 2252 2250 + 2249 2254 2253 + 2249 2253 2252 + 2251 2252 2253 + 2255 2256 2257 + 2255 2258 2259 + 2260 2261 2255 + 2255 2259 2256 + 2260 2255 2257 + 2261 2258 2255 + 2256 2262 2257 + 2263 2264 2256 + 2263 2256 2259 + 2264 2262 2256 + 2265 2260 2257 + 2265 2257 2262 + 2261 2266 2258 + 2266 2259 2258 + 2266 2263 2259 + 2267 2268 2260 + 2268 2261 2260 + 2267 2260 2265 + 2268 2269 2261 + 2269 2266 2261 + 2264 2265 2262 + 2270 2271 2263 + 2270 2263 2266 + 2271 2264 2263 + 2271 2272 2264 + 2272 2265 2264 + 2272 2267 2265 + 2269 2270 2266 + 2273 2274 2267 + 2273 2267 2272 + 2274 2268 2267 + 2274 2275 2268 + 2275 2269 2268 + 2275 2276 2269 + 2276 2270 2269 + 2276 2277 2270 + 2277 2271 2270 + 2277 2278 2271 + 2278 2272 2271 + 2278 2273 2272 + 2279 2280 2273 + 2279 2273 2278 + 2280 2274 2273 + 2280 2281 2274 + 2281 2275 2274 + 2281 2282 2275 + 2282 2276 2275 + 2282 2283 2276 + 2283 2277 2276 + 2283 2284 2277 + 2284 2278 2277 + 2284 2279 2278 + 2285 2286 2279 + 2285 2279 2284 + 2286 2280 2279 + 2286 2287 2280 + 2287 2281 2280 + 2287 2288 2281 + 2288 2282 2281 + 2288 2289 2282 + 2289 2283 2282 + 2289 2290 2283 + 2290 2284 2283 + 2290 2285 2284 + 2291 2292 2285 + 2291 2285 2290 + 2292 2286 2285 + 2292 2293 2286 + 2293 2287 2286 + 2293 2294 2287 + 2294 2288 2287 + 2294 2295 2288 + 2295 2289 2288 + 2295 2296 2289 + 2296 2290 2289 + 2296 2291 2290 + 2297 2298 2291 + 2297 2291 2296 + 2298 2292 2291 + 2298 2299 2292 + 2299 2293 2292 + 2299 2300 2293 + 2300 2294 2293 + 2300 2301 2294 + 2301 2295 2294 + 2301 2302 2295 + 2302 2296 2295 + 2302 2297 2296 + 2303 2304 2297 + 2304 2298 2297 + 2303 2297 2302 + 2304 2305 2298 + 2305 2299 2298 + 2305 2306 2299 + 2306 2300 2299 + 2306 2307 2300 + 2307 2301 2300 + 2307 2308 2301 + 2308 2302 2301 + 2308 2303 2302 + 2309 2310 2303 + 2309 2303 2308 + 2310 2304 2303 + 2310 2311 2304 + 2311 2305 2304 + 2311 2312 2305 + 2312 2306 2305 + 2312 2313 2306 + 2313 2307 2306 + 2313 2314 2307 + 2314 2308 2307 + 2314 2309 2308 + 2315 2316 2309 + 2315 2309 2314 + 2316 2310 2309 + 2316 2317 2310 + 2317 2311 2310 + 2317 2318 2311 + 2318 2312 2311 + 2318 2319 2312 + 2319 2313 2312 + 2319 2320 2313 + 2320 2314 2313 + 2320 2315 2314 + 2321 2322 2315 + 2321 2315 2320 + 2322 2316 2315 + 2322 2323 2316 + 2323 2317 2316 + 2323 2324 2317 + 2324 2318 2317 + 2324 2325 2318 + 2325 2319 2318 + 2325 2326 2319 + 2326 2320 2319 + 2321 2320 2326 + 2327 2328 2321 + 2327 2321 2326 + 2328 2322 2321 + 2328 2329 2322 + 2329 2323 2322 + 2329 2330 2323 + 2330 2324 2323 + 2330 2331 2324 + 2331 2325 2324 + 2331 2332 2325 + 2332 2326 2325 + 2332 2327 2326 + 2333 2334 2327 + 2333 2327 2332 + 2334 2328 2327 + 2334 2335 2328 + 2335 2329 2328 + 2335 2336 2329 + 2336 2330 2329 + 2336 2337 2330 + 2337 2331 2330 + 2337 2338 2331 + 2338 2332 2331 + 2338 2333 2332 + 2339 2340 2333 + 2340 2334 2333 + 2339 2333 2338 + 2340 2341 2334 + 2341 2335 2334 + 2341 2342 2335 + 2342 2336 2335 + 2342 2343 2336 + 2343 2337 2336 + 2343 2344 2337 + 2344 2338 2337 + 2344 2339 2338 + 2345 2339 2346 + 2346 2339 2344 + 2345 2340 2339 + 2345 2347 2340 + 2347 2341 2340 + 2347 2348 2341 + 2348 2342 2341 + 2348 2349 2342 + 2349 2343 2342 + 2349 2350 2343 + 2350 2344 2343 + 2350 2346 2344 + 2350 2345 2346 + 2348 2347 2345 + 2348 2345 2350 + 2348 2350 2349 + 2351 2352 2353 + 2354 2351 2355 + 2351 2354 2356 + 2351 2353 2355 + 2351 2356 2352 + 2352 2356 2357 + 2352 2357 2353 + 2355 2353 2358 + 2353 2357 2359 + 2353 2359 2358 + 2356 2354 2360 + 2354 2355 2360 + 2360 2355 2361 + 2355 2358 2361 + 2356 2360 2357 + 2357 2360 2362 + 2357 2362 2359 + 2361 2358 2363 + 2358 2359 2364 + 2358 2364 2363 + 2359 2362 2365 + 2359 2365 2364 + 2360 2361 2362 + 2362 2361 2366 + 2361 2363 2366 + 2362 2366 2365 + 2366 2363 2367 + 2363 2364 2368 + 2363 2368 2367 + 2364 2365 2369 + 2364 2369 2368 + 2365 2366 2370 + 2365 2370 2369 + 2366 2367 2370 + 2370 2367 2371 + 2367 2368 2372 + 2367 2372 2371 + 2368 2369 2373 + 2368 2373 2372 + 2369 2370 2374 + 2369 2374 2373 + 2370 2371 2374 + 2374 2371 2375 + 2371 2372 2376 + 2371 2376 2375 + 2372 2373 2377 + 2372 2377 2376 + 2373 2374 2378 + 2373 2378 2377 + 2374 2375 2378 + 2378 2375 2379 + 2375 2376 2380 + 2375 2380 2379 + 2376 2377 2381 + 2376 2381 2380 + 2377 2378 2382 + 2377 2382 2381 + 2378 2379 2382 + 2382 2379 2383 + 2379 2380 2384 + 2379 2384 2383 + 2380 2381 2385 + 2380 2385 2384 + 2381 2382 2386 + 2381 2386 2385 + 2382 2383 2386 + 2386 2383 2387 + 2383 2384 2388 + 2383 2388 2387 + 2384 2385 2389 + 2384 2389 2388 + 2385 2386 2390 + 2385 2390 2389 + 2386 2387 2390 + 2390 2387 2391 + 2387 2388 2392 + 2387 2392 2391 + 2388 2389 2393 + 2388 2393 2392 + 2389 2390 2394 + 2389 2394 2393 + 2390 2391 2394 + 2394 2391 2395 + 2391 2392 2396 + 2391 2396 2395 + 2392 2393 2397 + 2392 2397 2396 + 2393 2394 2398 + 2393 2398 2397 + 2394 2395 2398 + 2398 2395 2399 + 2395 2396 2400 + 2395 2400 2399 + 2396 2397 2401 + 2396 2401 2400 + 2397 2398 2402 + 2397 2402 2401 + 2398 2399 2402 + 2402 2399 2403 + 2399 2400 2404 + 2399 2404 2403 + 2400 2401 2405 + 2400 2405 2404 + 2401 2402 2406 + 2401 2406 2405 + 2402 2403 2406 + 2406 2403 2407 + 2403 2404 2408 + 2403 2408 2407 + 2404 2405 2409 + 2404 2409 2408 + 2405 2406 2410 + 2405 2410 2409 + 2406 2407 2410 + 2410 2407 2411 + 2407 2408 2412 + 2407 2412 2411 + 2408 2409 2413 + 2408 2413 2412 + 2409 2410 2414 + 2409 2414 2413 + 2410 2411 2414 + 2413 2414 2411 + 2413 2411 2412 + 2415 2416 2417 + 2418 2415 2419 + 2415 2417 2420 + 2415 2418 2416 + 2419 2415 2420 + 2416 2421 2422 + 2418 2423 2416 + 2417 2416 2422 + 2416 2423 2421 + 2420 2417 2424 + 2417 2422 2425 + 2424 2417 2425 + 2419 2423 2418 + 2419 2424 2423 + 2419 2420 2424 + 2421 2426 2427 + 2423 2428 2421 + 2422 2421 2427 + 2421 2428 2426 + 2422 2427 2429 + 2425 2422 2429 + 2423 2424 2428 + 2424 2425 2428 + 2425 2429 2430 + 2428 2425 2430 + 2426 2431 2432 + 2428 2430 2426 + 2427 2426 2432 + 2426 2430 2431 + 2427 2432 2433 + 2429 2427 2433 + 2429 2433 2434 + 2430 2429 2434 + 2430 2434 2431 + 2431 2435 2436 + 2432 2431 2436 + 2431 2434 2435 + 2432 2436 2437 + 2433 2432 2437 + 2433 2437 2438 + 2434 2433 2438 + 2434 2438 2435 + 2435 2439 2440 + 2436 2435 2440 + 2435 2438 2439 + 2436 2440 2441 + 2437 2436 2441 + 2437 2441 2442 + 2438 2437 2442 + 2438 2442 2439 + 2439 2443 2444 + 2440 2439 2444 + 2439 2442 2443 + 2440 2444 2445 + 2441 2440 2445 + 2441 2445 2446 + 2442 2441 2446 + 2442 2446 2443 + 2443 2447 2448 + 2444 2443 2448 + 2443 2446 2447 + 2444 2448 2449 + 2445 2444 2449 + 2445 2449 2450 + 2446 2445 2450 + 2446 2450 2447 + 2447 2451 2452 + 2448 2447 2452 + 2447 2450 2451 + 2448 2452 2453 + 2449 2448 2453 + 2449 2453 2454 + 2450 2449 2454 + 2450 2454 2451 + 2451 2455 2456 + 2452 2451 2456 + 2451 2454 2455 + 2452 2456 2457 + 2453 2452 2457 + 2453 2457 2458 + 2454 2453 2458 + 2454 2458 2455 + 2455 2459 2460 + 2456 2455 2460 + 2455 2458 2459 + 2456 2460 2461 + 2457 2456 2461 + 2457 2461 2462 + 2458 2457 2462 + 2458 2462 2459 + 2459 2463 2464 + 2460 2459 2464 + 2459 2462 2463 + 2460 2464 2465 + 2461 2460 2465 + 2461 2465 2466 + 2462 2461 2466 + 2462 2466 2463 + 2463 2467 2468 + 2464 2463 2468 + 2463 2466 2467 + 2464 2468 2469 + 2465 2464 2469 + 2465 2469 2470 + 2466 2465 2470 + 2466 2470 2467 + 2467 2471 2472 + 2468 2467 2472 + 2467 2470 2471 + 2468 2472 2473 + 2469 2468 2473 + 2469 2473 2474 + 2470 2469 2474 + 2470 2474 2471 + 2471 2475 2476 + 2472 2471 2476 + 2471 2474 2475 + 2472 2476 2477 + 2473 2472 2477 + 2473 2477 2478 + 2474 2473 2478 + 2474 2478 2475 + 2477 2476 2475 + 2475 2478 2477 + 2479 2480 2481 + 2482 2479 2483 + 2484 2480 2479 + 2479 2481 2483 + 2484 2479 2482 + 2480 2485 2486 + 2484 2485 2480 + 2480 2486 2481 + 2483 2481 2487 + 2481 2486 2488 + 2481 2488 2487 + 2489 2482 2490 + 2482 2483 2490 + 2484 2482 2489 + 2490 2483 2491 + 2483 2487 2491 + 2485 2484 2492 + 2484 2489 2493 + 2484 2493 2492 + 2485 2492 2486 + 2486 2492 2494 + 2486 2494 2488 + 2491 2487 2495 + 2487 2488 2496 + 2487 2496 2495 + 2488 2494 2497 + 2488 2497 2496 + 2489 2490 2493 + 2493 2490 2498 + 2490 2491 2498 + 2498 2491 2499 + 2491 2495 2499 + 2492 2493 2500 + 2492 2500 2494 + 2493 2498 2500 + 2494 2500 2501 + 2494 2501 2497 + 2499 2495 2502 + 2495 2496 2503 + 2495 2503 2502 + 2496 2497 2504 + 2496 2504 2503 + 2497 2501 2505 + 2497 2505 2504 + 2500 2498 2506 + 2498 2499 2506 + 2506 2499 2507 + 2499 2502 2507 + 2500 2506 2501 + 2501 2506 2508 + 2501 2508 2505 + 2507 2502 2509 + 2502 2503 2510 + 2502 2510 2509 + 2503 2504 2511 + 2503 2511 2510 + 2504 2505 2512 + 2504 2512 2511 + 2505 2508 2513 + 2505 2513 2512 + 2506 2507 2508 + 2508 2507 2514 + 2507 2509 2514 + 2508 2514 2513 + 2514 2509 2515 + 2509 2510 2516 + 2509 2516 2515 + 2511 2517 2510 + 2510 2517 2516 + 2511 2512 2518 + 2511 2518 2517 + 2512 2513 2519 + 2512 2519 2518 + 2513 2514 2520 + 2513 2520 2519 + 2514 2515 2520 + 2520 2515 2521 + 2515 2516 2522 + 2515 2522 2521 + 2516 2517 2523 + 2516 2523 2522 + 2517 2518 2524 + 2517 2524 2523 + 2518 2519 2525 + 2518 2525 2524 + 2519 2520 2526 + 2519 2526 2525 + 2520 2521 2526 + 2526 2521 2527 + 2521 2522 2528 + 2521 2528 2527 + 2522 2523 2529 + 2522 2529 2528 + 2523 2524 2530 + 2523 2530 2529 + 2524 2525 2531 + 2524 2531 2530 + 2525 2526 2532 + 2525 2532 2531 + 2526 2527 2532 + 2532 2527 2533 + 2527 2528 2534 + 2527 2534 2533 + 2528 2529 2535 + 2528 2535 2534 + 2529 2530 2536 + 2529 2536 2535 + 2530 2531 2537 + 2530 2537 2536 + 2531 2532 2538 + 2531 2538 2537 + 2532 2533 2538 + 2538 2533 2539 + 2533 2534 2540 + 2533 2540 2539 + 2534 2535 2541 + 2534 2541 2540 + 2535 2536 2542 + 2535 2542 2541 + 2536 2537 2543 + 2536 2543 2542 + 2537 2538 2544 + 2537 2544 2543 + 2538 2539 2544 + 2544 2539 2545 + 2539 2540 2546 + 2539 2546 2545 + 2540 2541 2547 + 2540 2547 2546 + 2541 2542 2548 + 2541 2548 2547 + 2542 2543 2549 + 2542 2549 2548 + 2543 2544 2550 + 2543 2550 2549 + 2544 2545 2550 + 2550 2545 2551 + 2545 2546 2552 + 2545 2552 2551 + 2546 2547 2553 + 2553 2552 2546 + 2547 2548 2554 + 2547 2554 2553 + 2548 2549 2555 + 2548 2555 2554 + 2549 2550 2556 + 2549 2556 2555 + 2550 2551 2556 + 2556 2551 2557 + 2551 2552 2558 + 2551 2558 2557 + 2552 2553 2559 + 2552 2559 2558 + 2553 2554 2560 + 2553 2560 2559 + 2554 2555 2561 + 2554 2561 2560 + 2555 2556 2562 + 2555 2562 2561 + 2556 2557 2562 + 2562 2557 2563 + 2557 2558 2564 + 2557 2564 2563 + 2558 2559 2565 + 2558 2565 2564 + 2559 2560 2566 + 2559 2566 2565 + 2560 2561 2567 + 2560 2567 2566 + 2561 2562 2568 + 2561 2568 2567 + 2562 2563 2568 + 2568 2563 2569 + 2563 2564 2570 + 2563 2570 2569 + 2564 2565 2571 + 2564 2571 2570 + 2565 2566 2572 + 2565 2572 2571 + 2566 2567 2573 + 2566 2573 2572 + 2567 2568 2574 + 2567 2574 2573 + 2568 2569 2574 + 2574 2569 2570 + 2574 2570 2571 + 2571 2572 2573 + 2574 2571 2573 + 2575 2576 2577 + 2578 2575 2579 + 2575 2578 2580 + 2575 2577 2579 + 2575 2580 2581 + 2575 2581 2576 + 2576 2582 2583 + 2581 2582 2576 + 2576 2583 2577 + 2579 2577 2584 + 2577 2583 2585 + 2577 2585 2584 + 2580 2578 2586 + 2578 2579 2586 + 2586 2579 2587 + 2579 2584 2587 + 2581 2580 2588 + 2580 2586 2588 + 2582 2581 2589 + 2581 2588 2589 + 2582 2589 2583 + 2583 2589 2590 + 2583 2590 2585 + 2587 2584 2591 + 2584 2585 2592 + 2584 2592 2591 + 2585 2590 2593 + 2585 2593 2592 + 2588 2586 2594 + 2586 2587 2594 + 2594 2587 2595 + 2587 2591 2595 + 2589 2588 2596 + 2588 2594 2596 + 2589 2596 2590 + 2590 2596 2597 + 2590 2597 2593 + 2595 2591 2598 + 2591 2592 2599 + 2591 2599 2598 + 2592 2593 2600 + 2592 2600 2599 + 2593 2597 2601 + 2593 2601 2600 + 2596 2594 2602 + 2594 2595 2602 + 2602 2595 2603 + 2595 2598 2603 + 2596 2602 2597 + 2597 2602 2604 + 2597 2604 2601 + 2603 2598 2605 + 2598 2599 2606 + 2598 2606 2605 + 2599 2600 2607 + 2599 2607 2606 + 2600 2601 2608 + 2600 2608 2607 + 2601 2604 2609 + 2601 2609 2608 + 2602 2603 2604 + 2604 2603 2610 + 2603 2605 2610 + 2604 2610 2609 + 2610 2605 2611 + 2605 2606 2612 + 2605 2612 2611 + 2606 2607 2613 + 2606 2613 2612 + 2607 2608 2614 + 2607 2614 2613 + 2608 2609 2615 + 2608 2615 2614 + 2609 2610 2616 + 2609 2616 2615 + 2610 2611 2616 + 2616 2611 2617 + 2611 2612 2618 + 2611 2618 2617 + 2612 2613 2619 + 2612 2619 2618 + 2613 2614 2620 + 2613 2620 2619 + 2614 2615 2621 + 2614 2621 2620 + 2615 2616 2622 + 2615 2622 2621 + 2616 2617 2622 + 2622 2617 2623 + 2617 2618 2624 + 2617 2624 2623 + 2618 2619 2625 + 2618 2625 2624 + 2619 2620 2626 + 2619 2626 2625 + 2620 2621 2627 + 2620 2627 2626 + 2621 2622 2628 + 2621 2628 2627 + 2622 2623 2628 + 2628 2623 2629 + 2623 2624 2630 + 2623 2630 2629 + 2624 2625 2631 + 2624 2631 2630 + 2625 2626 2632 + 2625 2632 2631 + 2626 2627 2633 + 2626 2633 2632 + 2627 2628 2634 + 2627 2634 2633 + 2628 2629 2634 + 2634 2629 2635 + 2629 2630 2636 + 2629 2636 2635 + 2630 2631 2637 + 2630 2637 2636 + 2631 2632 2638 + 2631 2638 2637 + 2632 2633 2639 + 2632 2639 2638 + 2633 2634 2640 + 2633 2640 2639 + 2634 2635 2640 + 2640 2635 2641 + 2635 2636 2642 + 2635 2642 2641 + 2636 2637 2643 + 2636 2643 2642 + 2637 2638 2644 + 2637 2644 2643 + 2638 2639 2645 + 2638 2645 2644 + 2639 2640 2646 + 2639 2646 2645 + 2640 2641 2646 + 2646 2641 2647 + 2641 2642 2648 + 2641 2648 2647 + 2642 2643 2649 + 2642 2649 2648 + 2643 2644 2650 + 2643 2650 2649 + 2644 2645 2651 + 2644 2651 2650 + 2645 2646 2652 + 2652 2651 2645 + 2646 2647 2652 + 2652 2647 2653 + 2647 2648 2654 + 2647 2654 2653 + 2648 2649 2655 + 2648 2655 2654 + 2649 2650 2656 + 2649 2656 2655 + 2650 2651 2657 + 2650 2657 2656 + 2651 2652 2658 + 2651 2658 2657 + 2652 2653 2658 + 2658 2653 2659 + 2653 2654 2660 + 2653 2660 2659 + 2654 2655 2661 + 2654 2661 2660 + 2655 2656 2662 + 2655 2662 2661 + 2656 2657 2663 + 2656 2663 2662 + 2657 2658 2664 + 2657 2664 2663 + 2658 2659 2664 + 2664 2659 2665 + 2659 2660 2666 + 2659 2666 2665 + 2660 2661 2667 + 2660 2667 2666 + 2661 2662 2668 + 2661 2668 2667 + 2662 2663 2669 + 2662 2669 2668 + 2663 2664 2670 + 2663 2670 2669 + 2664 2665 2670 + 2665 2666 2667 + 2665 2667 2670 + 2669 2670 2667 + 2669 2667 2668 + 2671 2672 2673 + 2674 2671 2675 + 2671 2674 2676 + 2671 2673 2675 + 2671 2676 2677 + 2671 2677 2672 + 2672 2678 2679 + 2677 2678 2672 + 2672 2679 2673 + 2675 2673 2680 + 2673 2679 2681 + 2673 2681 2680 + 2676 2674 2682 + 2674 2675 2682 + 2682 2675 2683 + 2675 2680 2683 + 2677 2676 2684 + 2676 2682 2684 + 2678 2677 2685 + 2677 2684 2685 + 2678 2685 2679 + 2679 2685 2686 + 2679 2686 2681 + 2683 2680 2687 + 2680 2681 2688 + 2680 2688 2687 + 2681 2686 2689 + 2681 2689 2688 + 2682 2690 2684 + 2682 2683 2690 + 2690 2683 2691 + 2683 2687 2691 + 2685 2684 2692 + 2684 2690 2692 + 2685 2692 2686 + 2686 2692 2693 + 2686 2693 2689 + 2691 2687 2694 + 2687 2688 2695 + 2687 2695 2694 + 2688 2689 2696 + 2688 2696 2695 + 2689 2693 2697 + 2689 2697 2696 + 2692 2690 2698 + 2690 2691 2698 + 2698 2691 2699 + 2691 2694 2699 + 2692 2698 2693 + 2693 2698 2700 + 2693 2700 2697 + 2699 2694 2701 + 2694 2695 2702 + 2694 2702 2701 + 2695 2696 2703 + 2695 2703 2702 + 2696 2697 2704 + 2696 2704 2703 + 2697 2700 2705 + 2697 2705 2704 + 2698 2699 2700 + 2700 2699 2706 + 2699 2701 2706 + 2700 2706 2705 + 2706 2701 2707 + 2701 2702 2708 + 2701 2708 2707 + 2702 2703 2709 + 2702 2709 2708 + 2703 2704 2710 + 2703 2710 2709 + 2704 2705 2711 + 2704 2711 2710 + 2705 2706 2712 + 2705 2712 2711 + 2706 2707 2712 + 2712 2707 2713 + 2707 2708 2714 + 2707 2714 2713 + 2708 2709 2715 + 2708 2715 2714 + 2709 2710 2716 + 2709 2716 2715 + 2710 2711 2717 + 2710 2717 2716 + 2711 2712 2718 + 2711 2718 2717 + 2712 2713 2718 + 2718 2713 2719 + 2713 2714 2720 + 2713 2720 2719 + 2714 2715 2721 + 2714 2721 2720 + 2715 2716 2722 + 2715 2722 2721 + 2716 2717 2723 + 2716 2723 2722 + 2717 2718 2724 + 2717 2724 2723 + 2718 2719 2724 + 2724 2719 2725 + 2719 2720 2726 + 2719 2726 2725 + 2720 2721 2727 + 2720 2727 2726 + 2721 2722 2728 + 2721 2728 2727 + 2722 2723 2729 + 2722 2729 2728 + 2723 2724 2730 + 2723 2730 2729 + 2724 2725 2730 + 2730 2725 2731 + 2725 2726 2732 + 2725 2732 2731 + 2726 2727 2733 + 2726 2733 2732 + 2727 2728 2734 + 2727 2734 2733 + 2728 2729 2735 + 2728 2735 2734 + 2729 2730 2736 + 2729 2736 2735 + 2730 2731 2736 + 2736 2731 2737 + 2731 2732 2738 + 2731 2738 2737 + 2732 2733 2739 + 2732 2739 2738 + 2733 2734 2740 + 2733 2740 2739 + 2734 2735 2741 + 2734 2741 2740 + 2735 2736 2742 + 2735 2742 2741 + 2736 2737 2742 + 2742 2737 2743 + 2737 2738 2744 + 2737 2744 2743 + 2738 2739 2745 + 2738 2745 2744 + 2739 2740 2746 + 2739 2746 2745 + 2740 2741 2747 + 2740 2747 2746 + 2741 2742 2748 + 2741 2748 2747 + 2742 2743 2748 + 2748 2743 2749 + 2743 2744 2750 + 2743 2750 2749 + 2744 2745 2751 + 2744 2751 2750 + 2745 2746 2752 + 2745 2752 2751 + 2746 2747 2753 + 2746 2753 2752 + 2747 2748 2754 + 2747 2754 2753 + 2748 2749 2754 + 2754 2749 2755 + 2749 2750 2756 + 2749 2756 2755 + 2750 2751 2757 + 2750 2757 2756 + 2751 2752 2758 + 2751 2758 2757 + 2752 2753 2759 + 2752 2759 2758 + 2753 2754 2760 + 2760 2759 2753 + 2754 2755 2760 + 2760 2755 2761 + 2755 2756 2762 + 2755 2762 2761 + 2757 2763 2756 + 2756 2763 2762 + 2757 2758 2764 + 2757 2764 2763 + 2758 2759 2765 + 2758 2765 2764 + 2759 2760 2766 + 2759 2766 2765 + 2760 2761 2766 + 2766 2761 2764 + 2761 2762 2763 + 2761 2763 2764 + 2766 2764 2765 + + + 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72 75 78 81 84 87 90 93 96 99 102 105 108 111 114 117 120 123 126 129 132 135 138 141 144 147 150 153 156 159 162 165 168 171 174 177 180 183 186 189 192 195 198 201 204 207 210 213 216 219 222 225 228 231 234 237 240 243 246 249 252 255 258 261 264 267 270 273 276 279 282 285 288 291 294 297 300 303 306 309 312 315 318 321 324 327 330 333 336 339 342 345 348 351 354 357 360 363 366 369 372 375 378 381 384 387 390 393 396 399 402 405 408 411 414 417 420 423 426 429 432 435 438 441 444 447 450 453 456 459 462 465 468 471 474 477 480 483 486 489 492 495 498 501 504 507 510 513 516 519 522 525 528 531 534 537 540 543 546 549 552 555 558 561 564 567 570 573 576 579 582 585 588 591 594 597 600 603 606 609 612 615 618 621 624 627 630 633 636 639 642 645 648 651 654 657 660 663 666 669 672 675 678 681 684 687 690 693 696 699 702 705 708 711 714 717 720 723 726 729 732 735 738 741 744 747 750 753 756 759 762 765 768 771 774 777 780 783 786 789 792 795 798 801 804 807 810 813 816 819 822 825 828 831 834 837 840 843 846 849 852 855 858 861 864 867 870 873 876 879 882 885 888 891 894 897 900 903 906 909 912 915 918 921 924 927 930 933 936 939 942 945 948 951 954 957 960 963 966 969 972 975 978 981 984 987 990 993 996 999 1002 1005 1008 1011 1014 1017 1020 1023 1026 1029 1032 1035 1038 1041 1044 1047 1050 1053 1056 1059 1062 1065 1068 1071 1074 1077 1080 1083 1086 1089 1092 1095 1098 1101 1104 1107 1110 1113 1116 1119 1122 1125 1128 1131 1134 1137 1140 1143 1146 1149 1152 1155 1158 1161 1164 1167 1170 1173 1176 1179 1182 1185 1188 1191 1194 1197 1200 1203 1206 1209 1212 1215 1218 1221 1224 1227 1230 1233 1236 1239 1242 1245 1248 1251 1254 1257 1260 1263 1266 1269 1272 1275 1278 1281 1284 1287 1290 1293 1296 1299 1302 1305 1308 1311 1314 1317 1320 1323 1326 1329 1332 1335 1338 1341 1344 1347 1350 1353 1356 1359 1362 1365 1368 1371 1374 1377 1380 1383 1386 1389 1392 1395 1398 1401 1404 1407 1410 1413 1416 1419 1422 1425 1428 1431 1434 1437 1440 1443 1446 1449 1452 1455 1458 1461 1464 1467 1470 1473 1476 1479 1482 1485 1488 1491 1494 1497 1500 1503 1506 1509 1512 1515 1518 1521 1524 1527 1530 1533 1536 1539 1542 1545 1548 1551 1554 1557 1560 1563 1566 1569 1572 1575 1578 1581 1584 1587 1590 1593 1596 1599 1602 1605 1608 1611 1614 1617 1620 1623 1626 1629 1632 1635 1638 1641 1644 1647 1650 1653 1656 1659 1662 1665 1668 1671 1674 1677 1680 1683 1686 1689 1692 1695 1698 1701 1704 1707 1710 1713 1716 1719 1722 1725 1728 1731 1734 1737 1740 1743 1746 1749 1752 1755 1758 1761 1764 1767 1770 1773 1776 1779 1782 1785 1788 1791 1794 1797 1800 1803 1806 1809 1812 1815 1818 1821 1824 1827 1830 1833 1836 1839 1842 1845 1848 1851 1854 1857 1860 1863 1866 1869 1872 1875 1878 1881 1884 1887 1890 1893 1896 1899 1902 1905 1908 1911 1914 1917 1920 1923 1926 1929 1932 1935 1938 1941 1944 1947 1950 1953 1956 1959 1962 1965 1968 1971 1974 1977 1980 1983 1986 1989 1992 1995 1998 2001 2004 2007 2010 2013 2016 2019 2022 2025 2028 2031 2034 2037 2040 2043 2046 2049 2052 2055 2058 2061 2064 2067 2070 2073 2076 2079 2082 2085 2088 2091 2094 2097 2100 2103 2106 2109 2112 2115 2118 2121 2124 2127 2130 2133 2136 2139 2142 2145 2148 2151 2154 2157 2160 2163 2166 2169 2172 2175 2178 2181 2184 2187 2190 2193 2196 2199 2202 2205 2208 2211 2214 2217 2220 2223 2226 2229 2232 2235 2238 2241 2244 2247 2250 2253 2256 2259 2262 2265 2268 2271 2274 2277 2280 2283 2286 2289 2292 2295 2298 2301 2304 2307 2310 2313 2316 2319 2322 2325 2328 2331 2334 2337 2340 2343 2346 2349 2352 2355 2358 2361 2364 2367 2370 2373 2376 2379 2382 2385 2388 2391 2394 2397 2400 2403 2406 2409 2412 2415 2418 2421 2424 2427 2430 2433 2436 2439 2442 2445 2448 2451 2454 2457 2460 2463 2466 2469 2472 2475 2478 2481 2484 2487 2490 2493 2496 2499 2502 2505 2508 2511 2514 2517 2520 2523 2526 2529 2532 2535 2538 2541 2544 2547 2550 2553 2556 2559 2562 2565 2568 2571 2574 2577 2580 2583 2586 2589 2592 2595 2598 2601 2604 2607 2610 2613 2616 2619 2622 2625 2628 2631 2634 2637 2640 2643 2646 2649 2652 2655 2658 2661 2664 2667 2670 2673 2676 2679 2682 2685 2688 2691 2694 2697 2700 2703 2706 2709 2712 2715 2718 2721 2724 2727 2730 2733 2736 2739 2742 2745 2748 2751 2754 2757 2760 2763 2766 2769 2772 2775 2778 2781 2784 2787 2790 2793 2796 2799 2802 2805 2808 2811 2814 2817 2820 2823 2826 2829 2832 2835 2838 2841 2844 2847 2850 2853 2856 2859 2862 2865 2868 2871 2874 2877 2880 2883 2886 2889 2892 2895 2898 2901 2904 2907 2910 2913 2916 2919 2922 2925 2928 2931 2934 2937 2940 2943 2946 2949 2952 2955 2958 2961 2964 2967 2970 2973 2976 2979 2982 2985 2988 2991 2994 2997 3000 3003 3006 3009 3012 3015 3018 3021 3024 3027 3030 3033 3036 3039 3042 3045 3048 3051 3054 3057 3060 3063 3066 3069 3072 3075 3078 3081 3084 3087 3090 3093 3096 3099 3102 3105 3108 3111 3114 3117 3120 3123 3126 3129 3132 3135 3138 3141 3144 3147 3150 3153 3156 3159 3162 3165 3168 3171 3174 3177 3180 3183 3186 3189 3192 3195 3198 3201 3204 3207 3210 3213 3216 3219 3222 3225 3228 3231 3234 3237 3240 3243 3246 3249 3252 3255 3258 3261 3264 3267 3270 3273 3276 3279 3282 3285 3288 3291 3294 3297 3300 3303 3306 3309 3312 3315 3318 3321 3324 3327 3330 3333 3336 3339 3342 3345 3348 3351 3354 3357 3360 3363 3366 3369 3372 3375 3378 3381 3384 3387 3390 3393 3396 3399 3402 3405 3408 3411 3414 3417 3420 3423 3426 3429 3432 3435 3438 3441 3444 3447 3450 3453 3456 3459 3462 3465 3468 3471 3474 3477 3480 3483 3486 3489 3492 3495 3498 3501 3504 3507 3510 3513 3516 3519 3522 3525 3528 3531 3534 3537 3540 3543 3546 3549 3552 3555 3558 3561 3564 3567 3570 3573 3576 3579 3582 3585 3588 3591 3594 3597 3600 3603 3606 3609 3612 3615 3618 3621 3624 3627 3630 3633 3636 3639 3642 3645 3648 3651 3654 3657 3660 3663 3666 3669 3672 3675 3678 3681 3684 3687 3690 3693 3696 3699 3702 3705 3708 3711 3714 3717 3720 3723 3726 3729 3732 3735 3738 3741 3744 3747 3750 3753 3756 3759 3762 3765 3768 3771 3774 3777 3780 3783 3786 3789 3792 3795 3798 3801 3804 3807 3810 3813 3816 3819 3822 3825 3828 3831 3834 3837 3840 3843 3846 3849 3852 3855 3858 3861 3864 3867 3870 3873 3876 3879 3882 3885 3888 3891 3894 3897 3900 3903 3906 3909 3912 3915 3918 3921 3924 3927 3930 3933 3936 3939 3942 3945 3948 3951 3954 3957 3960 3963 3966 3969 3972 3975 3978 3981 3984 3987 3990 3993 3996 3999 4002 4005 4008 4011 4014 4017 4020 4023 4026 4029 4032 4035 4038 4041 4044 4047 4050 4053 4056 4059 4062 4065 4068 4071 4074 4077 4080 4083 4086 4089 4092 4095 4098 4101 4104 4107 4110 4113 4116 4119 4122 4125 4128 4131 4134 4137 4140 4143 4146 4149 4152 4155 4158 4161 4164 4167 4170 4173 4176 4179 4182 4185 4188 4191 4194 4197 4200 4203 4206 4209 4212 4215 4218 4221 4224 4227 4230 4233 4236 4239 4242 4245 4248 4251 4254 4257 4260 4263 4266 4269 4272 4275 4278 4281 4284 4287 4290 4293 4296 4299 4302 4305 4308 4311 4314 4317 4320 4323 4326 4329 4332 4335 4338 4341 4344 4347 4350 4353 4356 4359 4362 4365 4368 4371 4374 4377 4380 4383 4386 4389 4392 4395 4398 4401 4404 4407 4410 4413 4416 4419 4422 4425 4428 4431 4434 4437 4440 4443 4446 4449 4452 4455 4458 4461 4464 4467 4470 4473 4476 4479 4482 4485 4488 4491 4494 4497 4500 4503 4506 4509 4512 4515 4518 4521 4524 4527 4530 4533 4536 4539 4542 4545 4548 4551 4554 4557 4560 4563 4566 4569 4572 4575 4578 4581 4584 4587 4590 4593 4596 4599 4602 4605 4608 4611 4614 4617 4620 4623 4626 4629 4632 4635 4638 4641 4644 4647 4650 4653 4656 4659 4662 4665 4668 4671 4674 4677 4680 4683 4686 4689 4692 4695 4698 4701 4704 4707 4710 4713 4716 4719 4722 4725 4728 4731 4734 4737 4740 4743 4746 4749 4752 4755 4758 4761 4764 4767 4770 4773 4776 4779 4782 4785 4788 4791 4794 4797 4800 4803 4806 4809 4812 4815 4818 4821 4824 4827 4830 4833 4836 4839 4842 4845 4848 4851 4854 4857 4860 4863 4866 4869 4872 4875 4878 4881 4884 4887 4890 4893 4896 4899 4902 4905 4908 4911 4914 4917 4920 4923 4926 4929 4932 4935 4938 4941 4944 4947 4950 4953 4956 4959 4962 4965 4968 4971 4974 4977 4980 4983 4986 4989 4992 4995 4998 5001 5004 5007 5010 5013 5016 5019 5022 5025 5028 5031 5034 5037 5040 5043 5046 5049 5052 5055 5058 5061 5064 5067 5070 5073 5076 5079 5082 5085 5088 5091 5094 5097 5100 5103 5106 5109 5112 5115 5118 5121 5124 5127 5130 5133 5136 5139 5142 5145 5148 5151 5154 5157 5160 5163 5166 5169 5172 5175 5178 5181 5184 5187 5190 5193 5196 5199 5202 5205 5208 5211 5214 5217 5220 5223 5226 5229 5232 5235 5238 5241 5244 5247 5250 5253 5256 5259 5262 5265 5268 5271 5274 5277 5280 5283 5286 5289 5292 5295 5298 5301 5304 5307 5310 5313 5316 5319 5322 5325 5328 5331 5334 5337 5340 5343 5346 5349 5352 5355 5358 5361 5364 5367 5370 5373 5376 5379 5382 5385 5388 5391 5394 5397 5400 5403 5406 5409 5412 5415 5418 5421 5424 5427 5430 5433 5436 5439 5442 5445 5448 5451 5454 5457 5460 5463 5466 5469 5472 5475 5478 5481 5484 5487 5490 5493 5496 5499 5502 5505 5508 5511 5514 5517 5520 5523 5526 5529 5532 5535 5538 5541 5544 5547 5550 5553 5556 5559 5562 5565 5568 5571 5574 5577 5580 5583 5586 5589 5592 5595 5598 5601 5604 5607 5610 5613 5616 5619 5622 5625 5628 5631 5634 5637 5640 5643 5646 5649 5652 5655 5658 5661 5664 5667 5670 5673 5676 5679 5682 5685 5688 5691 5694 5697 5700 5703 5706 5709 5712 5715 5718 5721 5724 5727 5730 5733 5736 5739 5742 5745 5748 5751 5754 5757 5760 5763 5766 5769 5772 5775 5778 5781 5784 5787 5790 5793 5796 5799 5802 5805 5808 5811 5814 5817 5820 5823 5826 5829 5832 5835 5838 5841 5844 5847 5850 5853 5856 5859 5862 5865 5868 5871 5874 5877 5880 5883 5886 5889 5892 5895 5898 5901 5904 5907 5910 5913 5916 5919 5922 5925 5928 5931 5934 5937 5940 5943 5946 5949 5952 5955 5958 5961 5964 5967 5970 5973 5976 5979 5982 5985 5988 5991 5994 5997 6000 6003 6006 6009 6012 6015 6018 6021 6024 6027 6030 6033 6036 6039 6042 6045 6048 6051 6054 6057 6060 6063 6066 6069 6072 6075 6078 6081 6084 6087 6090 6093 6096 6099 6102 6105 6108 6111 6114 6117 6120 6123 6126 6129 6132 6135 6138 6141 6144 6147 6150 6153 6156 6159 6162 6165 6168 6171 6174 6177 6180 6183 6186 6189 6192 6195 6198 6201 6204 6207 6210 6213 6216 6219 6222 6225 6228 6231 6234 6237 6240 6243 6246 6249 6252 6255 6258 6261 6264 6267 6270 6273 6276 6279 6282 6285 6288 6291 6294 6297 6300 6303 6306 6309 6312 6315 6318 6321 6324 6327 6330 6333 6336 6339 6342 6345 6348 6351 6354 6357 6360 6363 6366 6369 6372 6375 6378 6381 6384 6387 6390 6393 6396 6399 6402 6405 6408 6411 6414 6417 6420 6423 6426 6429 6432 6435 6438 6441 6444 6447 6450 6453 6456 6459 6462 6465 6468 6471 6474 6477 6480 6483 6486 6489 6492 6495 6498 6501 6504 6507 6510 6513 6516 6519 6522 6525 6528 6531 6534 6537 6540 6543 6546 6549 6552 6555 6558 6561 6564 6567 6570 6573 6576 6579 6582 6585 6588 6591 6594 6597 6600 6603 6606 6609 6612 6615 6618 6621 6624 6627 6630 6633 6636 6639 6642 6645 6648 6651 6654 6657 6660 6663 6666 6669 6672 6675 6678 6681 6684 6687 6690 6693 6696 6699 6702 6705 6708 6711 6714 6717 6720 6723 6726 6729 6732 6735 6738 6741 6744 6747 6750 6753 6756 6759 6762 6765 6768 6771 6774 6777 6780 6783 6786 6789 6792 6795 6798 6801 6804 6807 6810 6813 6816 6819 6822 6825 6828 6831 6834 6837 6840 6843 6846 6849 6852 6855 6858 6861 6864 6867 6870 6873 6876 6879 6882 6885 6888 6891 6894 6897 6900 6903 6906 6909 6912 6915 6918 6921 6924 6927 6930 6933 6936 6939 6942 6945 6948 6951 6954 6957 6960 6963 6966 6969 6972 6975 6978 6981 6984 6987 6990 6993 6996 6999 7002 7005 7008 7011 7014 7017 7020 7023 7026 7029 7032 7035 7038 7041 7044 7047 7050 7053 7056 7059 7062 7065 7068 7071 7074 7077 7080 7083 7086 7089 7092 7095 7098 7101 7104 7107 7110 7113 7116 7119 7122 7125 7128 7131 7134 7137 7140 7143 7146 7149 7152 7155 7158 7161 7164 7167 7170 7173 7176 7179 7182 7185 7188 7191 7194 7197 7200 7203 7206 7209 7212 7215 7218 7221 7224 7227 7230 7233 7236 7239 7242 7245 7248 7251 7254 7257 7260 7263 7266 7269 7272 7275 7278 7281 7284 7287 7290 7293 7296 7299 7302 7305 7308 7311 7314 7317 7320 7323 7326 7329 7332 7335 7338 7341 7344 7347 7350 7353 7356 7359 7362 7365 7368 7371 7374 7377 7380 7383 7386 7389 7392 7395 7398 7401 7404 7407 7410 7413 7416 7419 7422 7425 7428 7431 7434 7437 7440 7443 7446 7449 7452 7455 7458 7461 7464 7467 7470 7473 7476 7479 7482 7485 7488 7491 7494 7497 7500 7503 7506 7509 7512 7515 7518 7521 7524 7527 7530 7533 7536 7539 7542 7545 7548 7551 7554 7557 7560 7563 7566 7569 7572 7575 7578 7581 7584 7587 7590 7593 7596 7599 7602 7605 7608 7611 7614 7617 7620 7623 7626 7629 7632 7635 7638 7641 7644 7647 7650 7653 7656 7659 7662 7665 7668 7671 7674 7677 7680 7683 7686 7689 7692 7695 7698 7701 7704 7707 7710 7713 7716 7719 7722 7725 7728 7731 7734 7737 7740 7743 7746 7749 7752 7755 7758 7761 7764 7767 7770 7773 7776 7779 7782 7785 7788 7791 7794 7797 7800 7803 7806 7809 7812 7815 7818 7821 7824 7827 7830 7833 7836 7839 7842 7845 7848 7851 7854 7857 7860 7863 7866 7869 7872 7875 7878 7881 7884 7887 7890 7893 7896 7899 7902 7905 7908 7911 7914 7917 7920 7923 7926 7929 7932 7935 7938 7941 7944 7947 7950 7953 7956 7959 7962 7965 7968 7971 7974 7977 7980 7983 7986 7989 7992 7995 7998 8001 8004 8007 8010 8013 8016 8019 8022 8025 8028 8031 8034 8037 8040 8043 8046 8049 8052 8055 8058 8061 8064 8067 8070 8073 8076 8079 8082 8085 8088 8091 8094 8097 8100 8103 8106 8109 8112 8115 8118 8121 8124 8127 8130 8133 8136 8139 8142 8145 8148 8151 8154 8157 8160 8163 8166 8169 8172 8175 8178 8181 8184 8187 8190 8193 8196 8199 8202 8205 8208 8211 8214 8217 8220 8223 8226 8229 8232 8235 8238 8241 8244 8247 8250 8253 8256 8259 8262 8265 8268 8271 8274 8277 8280 8283 8286 8289 8292 8295 8298 8301 8304 8307 8310 8313 8316 8319 8322 8325 8328 8331 8334 8337 8340 8343 8346 8349 8352 8355 8358 8361 8364 8367 8370 8373 8376 8379 8382 8385 8388 8391 8394 8397 8400 8403 8406 8409 8412 8415 8418 8421 8424 8427 8430 8433 8436 8439 8442 8445 8448 8451 8454 8457 8460 8463 8466 8469 8472 8475 8478 8481 8484 8487 8490 8493 8496 8499 8502 8505 8508 8511 8514 8517 8520 8523 8526 8529 8532 8535 8538 8541 8544 8547 8550 8553 8556 8559 8562 8565 8568 8571 8574 8577 8580 8583 8586 8589 8592 8595 8598 8601 8604 8607 8610 8613 8616 8619 8622 8625 8628 8631 8634 8637 8640 8643 8646 8649 8652 8655 8658 8661 8664 8667 8670 8673 8676 8679 8682 8685 8688 8691 8694 8697 8700 8703 8706 8709 8712 8715 8718 8721 8724 8727 8730 8733 8736 8739 8742 8745 8748 8751 8754 8757 8760 8763 8766 8769 8772 8775 8778 8781 8784 8787 8790 8793 8796 8799 8802 8805 8808 8811 8814 8817 8820 8823 8826 8829 8832 8835 8838 8841 8844 8847 8850 8853 8856 8859 8862 8865 8868 8871 8874 8877 8880 8883 8886 8889 8892 8895 8898 8901 8904 8907 8910 8913 8916 8919 8922 8925 8928 8931 8934 8937 8940 8943 8946 8949 8952 8955 8958 8961 8964 8967 8970 8973 8976 8979 8982 8985 8988 8991 8994 8997 9000 9003 9006 9009 9012 9015 9018 9021 9024 9027 9030 9033 9036 9039 9042 9045 9048 9051 9054 9057 9060 9063 9066 9069 9072 9075 9078 9081 9084 9087 9090 9093 9096 9099 9102 9105 9108 9111 9114 9117 9120 9123 9126 9129 9132 9135 9138 9141 9144 9147 9150 9153 9156 9159 9162 9165 9168 9171 9174 9177 9180 9183 9186 9189 9192 9195 9198 9201 9204 9207 9210 9213 9216 9219 9222 9225 9228 9231 9234 9237 9240 9243 9246 9249 9252 9255 9258 9261 9264 9267 9270 9273 9276 9279 9282 9285 9288 9291 9294 9297 9300 9303 9306 9309 9312 9315 9318 9321 9324 9327 9330 9333 9336 9339 9342 9345 9348 9351 9354 9357 9360 9363 9366 9369 9372 9375 9378 9381 9384 9387 9390 9393 9396 9399 9402 9405 9408 9411 9414 9417 9420 9423 9426 9429 9432 9435 9438 9441 9444 9447 9450 9453 9456 9459 9462 9465 9468 9471 9474 9477 9480 9483 9486 9489 9492 9495 9498 9501 9504 9507 9510 9513 9516 9519 9522 9525 9528 9531 9534 9537 9540 9543 9546 9549 9552 9555 9558 9561 9564 9567 9570 9573 9576 9579 9582 9585 9588 9591 9594 9597 9600 9603 9606 9609 9612 9615 9618 9621 9624 9627 9630 9633 9636 9639 9642 9645 9648 9651 9654 9657 9660 9663 9666 9669 9672 9675 9678 9681 9684 9687 9690 9693 9696 9699 9702 9705 9708 9711 9714 9717 9720 9723 9726 9729 9732 9735 9738 9741 9744 9747 9750 9753 9756 9759 9762 9765 9768 9771 9774 9777 9780 9783 9786 9789 9792 9795 9798 9801 9804 9807 9810 9813 9816 9819 9822 9825 9828 9831 9834 9837 9840 9843 9846 9849 9852 9855 9858 9861 9864 9867 9870 9873 9876 9879 9882 9885 9888 9891 9894 9897 9900 9903 9906 9909 9912 9915 9918 9921 9924 9927 9930 9933 9936 9939 9942 9945 9948 9951 9954 9957 9960 9963 9966 9969 9972 9975 9978 9981 9984 9987 9990 9993 9996 9999 10002 10005 10008 10011 10014 10017 10020 10023 10026 10029 10032 10035 10038 10041 10044 10047 10050 10053 10056 10059 10062 10065 10068 10071 10074 10077 10080 10083 10086 10089 10092 10095 10098 10101 10104 10107 10110 10113 10116 10119 10122 10125 10128 10131 10134 10137 10140 10143 10146 10149 10152 10155 10158 10161 10164 10167 10170 10173 10176 10179 10182 10185 10188 10191 10194 10197 10200 10203 10206 10209 10212 10215 10218 10221 10224 10227 10230 10233 10236 10239 10242 10245 10248 10251 10254 10257 10260 10263 10266 10269 10272 10275 10278 10281 10284 10287 10290 10293 10296 10299 10302 10305 10308 10311 10314 10317 10320 10323 10326 10329 10332 10335 10338 10341 10344 10347 10350 10353 10356 10359 10362 10365 10368 10371 10374 10377 10380 10383 10386 10389 10392 10395 10398 10401 10404 10407 10410 10413 10416 10419 10422 10425 10428 10431 10434 10437 10440 10443 10446 10449 10452 10455 10458 10461 10464 10467 10470 10473 10476 10479 10482 10485 10488 10491 10494 10497 10500 10503 10506 10509 10512 10515 10518 10521 10524 10527 10530 10533 10536 10539 10542 10545 10548 10551 10554 10557 10560 10563 10566 10569 10572 10575 10578 10581 10584 10587 10590 10593 10596 10599 10602 10605 10608 10611 10614 10617 10620 10623 10626 10629 10632 10635 10638 10641 10644 10647 10650 10653 10656 10659 10662 10665 10668 10671 10674 10677 10680 10683 10686 10689 10692 10695 10698 10701 10704 10707 10710 10713 10716 10719 10722 10725 10728 10731 10734 10737 10740 10743 10746 10749 10752 10755 10758 10761 10764 10767 10770 10773 10776 10779 10782 10785 10788 10791 10794 10797 10800 10803 10806 10809 10812 10815 10818 10821 10824 10827 10830 10833 10836 10839 10842 10845 10848 10851 10854 10857 10860 10863 10866 10869 10872 10875 10878 10881 10884 10887 10890 10893 10896 10899 10902 10905 10908 10911 10914 10917 10920 10923 10926 10929 10932 10935 10938 10941 10944 10947 10950 10953 10956 10959 10962 10965 10968 10971 10974 10977 10980 10983 10986 10989 10992 10995 10998 11001 11004 11007 11010 11013 11016 11019 11022 11025 11028 11031 11034 11037 11040 11043 11046 11049 11052 11055 11058 11061 11064 11067 11070 11073 11076 11079 11082 11085 11088 11091 11094 11097 11100 11103 11106 11109 11112 11115 11118 11121 11124 11127 11130 11133 11136 11139 11142 11145 11148 11151 11154 11157 11160 11163 11166 11169 11172 11175 11178 11181 11184 11187 11190 11193 11196 11199 11202 11205 11208 11211 11214 11217 11220 11223 11226 11229 11232 11235 11238 11241 11244 11247 11250 11253 11256 11259 11262 11265 11268 11271 11274 11277 11280 11283 11286 11289 11292 11295 11298 11301 11304 11307 11310 11313 11316 11319 11322 11325 11328 11331 11334 11337 11340 11343 11346 11349 11352 11355 11358 11361 11364 11367 11370 11373 11376 11379 11382 11385 11388 11391 11394 11397 11400 11403 11406 11409 11412 11415 11418 11421 11424 11427 11430 11433 11436 11439 11442 11445 11448 11451 11454 11457 11460 11463 11466 11469 11472 11475 11478 11481 11484 11487 11490 11493 11496 11499 11502 11505 11508 11511 11514 11517 11520 11523 11526 11529 11532 11535 11538 11541 11544 11547 11550 11553 11556 11559 11562 11565 11568 11571 11574 11577 11580 11583 11586 11589 11592 11595 11598 11601 11604 11607 11610 11613 11616 11619 11622 11625 11628 11631 11634 11637 11640 11643 11646 11649 11652 11655 11658 11661 11664 11667 11670 11673 11676 11679 11682 11685 11688 11691 11694 11697 11700 11703 11706 11709 11712 11715 11718 11721 11724 11727 11730 11733 11736 11739 11742 11745 11748 11751 11754 11757 11760 11763 11766 11769 11772 11775 11778 11781 11784 11787 11790 11793 11796 11799 11802 11805 11808 11811 11814 11817 11820 11823 11826 11829 11832 11835 11838 11841 11844 11847 11850 11853 11856 11859 11862 11865 11868 11871 11874 11877 11880 11883 11886 11889 11892 11895 11898 11901 11904 11907 11910 11913 11916 11919 11922 11925 11928 11931 11934 11937 11940 11943 11946 11949 11952 11955 11958 11961 11964 11967 11970 11973 11976 11979 11982 11985 11988 11991 11994 11997 12000 12003 12006 12009 12012 12015 12018 12021 12024 12027 12030 12033 12036 12039 12042 12045 12048 12051 12054 12057 12060 12063 12066 12069 12072 12075 12078 12081 12084 12087 12090 12093 12096 12099 12102 12105 12108 12111 12114 12117 12120 12123 12126 12129 12132 12135 12138 12141 12144 12147 12150 12153 12156 12159 12162 12165 12168 12171 12174 12177 12180 12183 12186 12189 12192 12195 12198 12201 12204 12207 12210 12213 12216 12219 12222 12225 12228 12231 12234 12237 12240 12243 12246 12249 12252 12255 12258 12261 12264 12267 12270 12273 12276 12279 12282 12285 12288 12291 12294 12297 12300 12303 12306 12309 12312 12315 12318 12321 12324 12327 12330 12333 12336 12339 12342 12345 12348 12351 12354 12357 12360 12363 12366 12369 12372 12375 12378 12381 12384 12387 12390 12393 12396 12399 12402 12405 12408 12411 12414 12417 12420 12423 12426 12429 12432 12435 12438 12441 12444 12447 12450 12453 12456 12459 12462 12465 12468 12471 12474 12477 12480 12483 12486 12489 12492 12495 12498 12501 12504 12507 12510 12513 12516 12519 12522 12525 12528 12531 12534 12537 12540 12543 12546 12549 12552 12555 12558 12561 12564 12567 12570 12573 12576 12579 12582 12585 12588 12591 12594 12597 12600 12603 12606 12609 12612 12615 12618 12621 12624 12627 12630 12633 12636 12639 12642 12645 12648 12651 12654 12657 12660 12663 12666 12669 12672 12675 12678 12681 12684 12687 12690 12693 12696 12699 12702 12705 12708 12711 12714 12717 12720 12723 12726 12729 12732 12735 12738 12741 12744 12747 12750 12753 12756 12759 12762 12765 12768 12771 12774 12777 12780 12783 12786 12789 12792 12795 12798 12801 12804 12807 12810 12813 12816 12819 12822 12825 12828 12831 12834 12837 12840 12843 12846 12849 12852 12855 12858 12861 12864 12867 12870 12873 12876 12879 12882 12885 12888 12891 12894 12897 12900 12903 12906 12909 12912 12915 12918 12921 12924 12927 12930 12933 12936 12939 12942 12945 12948 12951 12954 12957 12960 12963 12966 12969 12972 12975 12978 12981 12984 12987 12990 12993 12996 12999 13002 13005 13008 13011 13014 13017 13020 13023 13026 13029 13032 13035 13038 13041 13044 13047 13050 13053 13056 13059 13062 13065 13068 13071 13074 13077 13080 13083 13086 13089 13092 13095 13098 13101 13104 13107 13110 13113 13116 13119 13122 13125 13128 13131 13134 13137 13140 13143 13146 13149 13152 13155 13158 13161 13164 13167 13170 13173 13176 13179 13182 13185 13188 13191 13194 13197 13200 13203 13206 13209 13212 13215 13218 13221 13224 13227 13230 13233 13236 13239 13242 13245 13248 13251 13254 13257 13260 13263 13266 13269 13272 13275 13278 13281 13284 13287 13290 13293 13296 13299 13302 13305 13308 13311 13314 13317 13320 13323 13326 13329 13332 13335 13338 13341 13344 13347 13350 13353 13356 13359 13362 13365 13368 13371 13374 13377 13380 13383 13386 13389 13392 13395 13398 13401 13404 13407 13410 13413 13416 13419 13422 13425 13428 13431 13434 13437 13440 13443 13446 13449 13452 13455 13458 13461 13464 13467 13470 13473 13476 13479 13482 13485 13488 13491 13494 13497 13500 13503 13506 13509 13512 13515 13518 13521 13524 13527 13530 13533 13536 13539 13542 13545 13548 13551 13554 13557 13560 13563 13566 13569 13572 13575 13578 13581 13584 13587 13590 13593 13596 13599 13602 13605 13608 13611 13614 13617 13620 13623 13626 13629 13632 13635 13638 13641 13644 13647 13650 13653 13656 13659 13662 13665 13668 13671 13674 13677 13680 13683 13686 13689 13692 13695 13698 13701 13704 13707 13710 13713 13716 13719 13722 13725 13728 13731 13734 13737 13740 13743 13746 13749 13752 13755 13758 13761 13764 13767 13770 13773 13776 13779 13782 13785 13788 13791 13794 13797 13800 13803 13806 13809 13812 13815 13818 13821 13824 13827 13830 13833 13836 13839 13842 13845 13848 13851 13854 13857 13860 13863 13866 13869 13872 13875 13878 13881 13884 13887 13890 13893 13896 13899 13902 13905 13908 13911 13914 13917 13920 13923 13926 13929 13932 13935 13938 13941 13944 13947 13950 13953 13956 13959 13962 13965 13968 13971 13974 13977 13980 13983 13986 13989 13992 13995 13998 14001 14004 14007 14010 14013 14016 14019 14022 14025 14028 14031 14034 14037 14040 14043 14046 14049 14052 14055 14058 14061 14064 14067 14070 14073 14076 14079 14082 14085 14088 14091 14094 14097 14100 14103 14106 14109 14112 14115 14118 14121 14124 14127 14130 14133 14136 14139 14142 14145 14148 14151 14154 14157 14160 14163 14166 14169 14172 14175 14178 14181 14184 14187 14190 14193 14196 14199 14202 14205 14208 14211 14214 14217 14220 14223 14226 14229 14232 14235 14238 14241 14244 14247 14250 14253 14256 14259 14262 14265 14268 14271 14274 14277 14280 14283 14286 14289 14292 14295 14298 14301 14304 14307 14310 14313 14316 14319 14322 14325 14328 14331 14334 14337 14340 14343 14346 14349 14352 14355 14358 14361 14364 14367 14370 14373 14376 14379 14382 14385 14388 14391 14394 14397 14400 14403 14406 14409 14412 14415 14418 14421 14424 14427 14430 14433 14436 14439 14442 14445 14448 14451 14454 14457 14460 14463 14466 14469 14472 14475 14478 14481 14484 14487 14490 14493 14496 14499 14502 14505 14508 14511 14514 14517 14520 14523 14526 14529 14532 14535 14538 14541 14544 14547 14550 14553 14556 14559 14562 14565 14568 14571 14574 14577 14580 14583 14586 14589 14592 14595 14598 14601 14604 14607 14610 14613 14616 14619 14622 14625 14628 14631 14634 14637 14640 14643 14646 14649 14652 14655 14658 14661 14664 14667 14670 14673 14676 14679 14682 14685 14688 14691 14694 14697 14700 14703 14706 14709 14712 14715 14718 14721 14724 14727 14730 14733 14736 14739 14742 14745 14748 14751 14754 14757 14760 14763 14766 14769 14772 14775 14778 14781 14784 14787 14790 14793 14796 14799 14802 14805 14808 14811 14814 14817 14820 14823 14826 14829 14832 14835 14838 14841 14844 14847 14850 14853 14856 14859 14862 14865 14868 14871 14874 14877 14880 14883 14886 14889 14892 14895 14898 14901 14904 14907 14910 14913 14916 14919 14922 14925 14928 14931 14934 14937 14940 14943 14946 14949 14952 14955 14958 14961 14964 14967 14970 14973 14976 14979 14982 14985 14988 14991 14994 14997 15000 15003 15006 15009 15012 15015 15018 15021 15024 15027 15030 15033 15036 15039 15042 15045 15048 15051 15054 15057 15060 15063 15066 15069 15072 15075 15078 15081 15084 15087 15090 15093 15096 15099 15102 15105 15108 15111 15114 15117 15120 15123 15126 15129 15132 15135 15138 15141 15144 15147 15150 15153 15156 15159 15162 15165 15168 15171 15174 15177 15180 15183 15186 15189 15192 15195 15198 15201 15204 15207 15210 15213 15216 15219 15222 15225 15228 15231 15234 15237 15240 15243 15246 15249 15252 15255 15258 15261 15264 15267 15270 15273 15276 15279 15282 15285 15288 15291 15294 15297 15300 15303 15306 15309 15312 15315 15318 15321 15324 15327 15330 15333 15336 15339 15342 15345 15348 15351 15354 15357 15360 15363 15366 15369 15372 15375 15378 15381 15384 15387 15390 15393 15396 15399 15402 15405 15408 15411 15414 15417 15420 15423 15426 15429 15432 15435 15438 15441 15444 15447 15450 15453 15456 15459 15462 15465 15468 15471 15474 15477 15480 15483 15486 15489 15492 15495 15498 15501 15504 15507 15510 15513 15516 15519 15522 15525 15528 15531 15534 15537 15540 15543 15546 15549 15552 15555 15558 15561 15564 15567 15570 15573 15576 15579 15582 15585 15588 15591 15594 15597 15600 15603 15606 15609 15612 15615 15618 15621 15624 15627 15630 15633 15636 15639 15642 15645 15648 15651 15654 15657 15660 15663 15666 15669 15672 15675 15678 15681 15684 15687 15690 15693 15696 15699 15702 15705 15708 15711 15714 15717 15720 15723 15726 15729 15732 15735 15738 15741 15744 15747 15750 15753 15756 15759 15762 15765 15768 15771 15774 15777 15780 15783 15786 15789 15792 15795 15798 15801 15804 15807 15810 15813 15816 15819 15822 15825 15828 15831 15834 15837 15840 15843 15846 15849 15852 15855 15858 15861 15864 15867 15870 15873 15876 15879 15882 15885 15888 15891 15894 15897 15900 15903 15906 15909 15912 15915 15918 15921 15924 15927 15930 15933 15936 15939 15942 15945 15948 15951 15954 15957 15960 15963 15966 15969 15972 15975 15978 15981 15984 15987 15990 15993 15996 15999 16002 16005 16008 16011 16014 16017 16020 16023 16026 16029 16032 16035 16038 16041 16044 16047 16050 16053 16056 16059 16062 16065 16068 16071 16074 16077 16080 16083 16086 16089 16092 16095 16098 16101 16104 16107 16110 16113 16116 16119 16122 16125 16128 16131 16134 16137 16140 16143 16146 16149 16152 16155 16158 16161 16164 16167 16170 16173 16176 16179 16182 16185 16188 16191 16194 16197 16200 16203 16206 16209 16212 16215 16218 16221 16224 16227 16230 16233 16236 16239 16242 16245 16248 16251 16254 16257 16260 16263 16266 16269 16272 16275 16278 16281 16284 16287 16290 16293 16296 16299 16302 16305 16308 16311 16314 16317 16320 16323 16326 + + + + + diff --git a/examples/getting_started/musculoskeletal_dynamic.py b/examples/getting_started/musculoskeletal_dynamic.py new file mode 100644 index 00000000..e38f3fb7 --- /dev/null +++ b/examples/getting_started/musculoskeletal_dynamic.py @@ -0,0 +1,310 @@ +import numpy as np + +from bioptim import ( + BoundsList, + ConstraintList, + ConstraintFcn, + OdeSolverBase, + BiMapping, + Node, + ControlType, + DynamicsList, + InitialGuessList, + InterpolationType, + ObjectiveFcn, + ObjectiveList, + OdeSolver, + OptimalControlProgram, + Solver, +) + +from cocofest import DingModelFrequency, FESActuatedBiorbdModel + +class FESActuatedBiorbdModelOCP(OptimalControlProgram): + def __init__(self, biorbd_model_path: str, + muscles_model: DingModelFrequency(), + # muscles_name_list: list[str], + n_stim: int, + final_time: float, + n_shooting: int, + time_min: float = None, + time_max: float = None, + time_bimapping: bool = False, + ode_solver: OdeSolverBase = OdeSolver.RK4(), + control_type: ControlType = ControlType.CONSTANT,): + + """ + Prepare the ocp + + Parameters + ---------- + biorbd_model_path: str + The path to the bioMod + final_time: float + The time at the final node + n_shooting: int + The number of shooting points + ode_solver: OdeSolverBase + The ode solver to use + + Returns + ------- + The OptimalControlProgram ready to be solved + """ + bio_models = [FESActuatedBiorbdModel(name="arm26_only_biceps", + biorbd_path=biorbd_model_path, + muscles_model=muscles_model) + for i in range(n_stim)] + + nq = bio_models[0].bio_model.nb_q + nqdot = bio_models[0].bio_model.nb_qdot + target = np.zeros((nq + nqdot, 1)) + target[1, 0] = 3.14 + + n_shooting = [n_shooting] * n_stim + + constraints = ConstraintList() + final_time_phase = None + # parameter_bimapping = BiMappingList() + phase_time_bimapping = None + + if time_min is None and time_max is None: + step = final_time / n_stim + final_time_phase = (step,) + for i in range(n_stim - 1): + final_time_phase = final_time_phase + (step,) + + else: + for i in range(n_stim): + constraints.add( + ConstraintFcn.TIME_CONSTRAINT, + node=Node.END, + min_bound=time_min, + max_bound=time_max, + phase=i, + ) + + if time_bimapping is True: + phase_time_bimapping = BiMapping(to_second=[0 for _ in range(n_stim)], to_first=[0]) + + final_time_phase = [time_min] * n_stim + + # step = final_time / n_stim + # final_time_phase = (step,) + # for i in range(n_stim - 1): + # final_time_phase = final_time_phase + (step,) + + # Add objective functions + objective_functions = ObjectiveList() + for i in range(n_stim): + objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=10000, quadratic=True, phase=i) + # objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_STATE, key="q", target=target[:nq, :], weight=10000, phase=n_stim-1) + + objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_STATE, key="q", target=np.array([[0, 1.6]]).T, weight=10000, + phase=n_stim - 1) + + # constraints.add(ConstraintFcn.TRACK_STATE, node=Node.END, index=1, target=1.6, phase=n_stim - 1) + # constraints.add(ConstraintFcn.TRACK_STATE, key="q", index=1, node=Node.END, phase=n_stim - 1, target=1.6) + + + # Dynamics + dynamics = DynamicsList() + for i in range(n_stim): + dynamics.add( + bio_models[i].declare_model_variables, + dynamic_function=bio_models[i].muscle_dynamic, + phase=i, + ) + + # TODO : for n muscles + # # States bounds + # x_bounds = BoundsList() + # for i in range(len(muscles_model_list)): + # muscle_state_list = muscles_model_list[i].name_dof + # starting_bounds, min_bounds, max_bounds = ( + # muscles_model_list[i].standard_rest_values(), + # muscles_model_list[i].standard_rest_values(), + # muscles_model_list[i].standard_rest_values(), + # ) + # + # for j in range(len(muscle_state_list)): + # if muscle_state_list[j] == "Cn" or muscle_state_list[j] == "F": + # max_bounds[j] = 1000 + # elif muscle_state_list[j] == "Tau1" or muscle_state_list[j] == "Km": + # max_bounds[j] = 1 + # elif muscle_state_list[j] == "A": + # min_bounds[j] = 0 + # + # starting_bounds_min = np.concatenate((starting_bounds, min_bounds, min_bounds), axis=1) + # starting_bounds_max = np.concatenate((starting_bounds, max_bounds, max_bounds), axis=1) + # middle_bound_min = np.concatenate((min_bounds, min_bounds, min_bounds), axis=1) + # middle_bound_max = np.concatenate((max_bounds, max_bounds, max_bounds), axis=1) + # + # for k in range(n_stim): + # for l in range(len(muscle_state_list)): + # if k == 0: + # x_bounds.add( + # key=muscle_state_list[l] + "_" + muscles_name_list[i], + # min_bound=np.array([starting_bounds_min[l]]), + # max_bound=np.array([starting_bounds_max[l]]), + # phase=k, + # interpolation=InterpolationType.CONSTANT_WITH_FIRST_AND_LAST_DIFFERENT, + # ) + # else: + # x_bounds.add( + # key=muscle_state_list[l] + "_" + muscles_name_list[i], + # min_bound=np.array([middle_bound_min[l]]), + # max_bound=np.array([middle_bound_max[l]]), + # phase=k, + # interpolation=InterpolationType.CONSTANT_WITH_FIRST_AND_LAST_DIFFERENT, + # ) + + # States bounds + x_bounds = BoundsList() + # for i in range(len(muscles_model_list)): + + muscle_state_list = muscles_model.name_dof + starting_bounds, min_bounds, max_bounds = ( + muscles_model.standard_rest_values(), + muscles_model.standard_rest_values(), + muscles_model.standard_rest_values(), + ) + + for j in range(len(muscle_state_list)): + if muscle_state_list[j] == "Cn" or muscle_state_list[j] == "F": + max_bounds[j] = 1000 + elif muscle_state_list[j] == "Tau1" or muscle_state_list[j] == "Km": + max_bounds[j] = 1 + elif muscle_state_list[j] == "A": + min_bounds[j] = 0 + + starting_bounds_min = np.concatenate((starting_bounds, min_bounds, min_bounds), axis=1) + starting_bounds_max = np.concatenate((starting_bounds, max_bounds, max_bounds), axis=1) + middle_bound_min = np.concatenate((min_bounds, min_bounds, min_bounds), axis=1) + middle_bound_max = np.concatenate((max_bounds, max_bounds, max_bounds), axis=1) + + for k in range(n_stim): + for l in range(len(muscle_state_list)): + if k == 0: + x_bounds.add( + key=muscle_state_list[l], # + "_" + muscles_name_list[i], + min_bound=np.array([starting_bounds_min[l]]), + max_bound=np.array([starting_bounds_max[l]]), + phase=k, + interpolation=InterpolationType.CONSTANT_WITH_FIRST_AND_LAST_DIFFERENT, + ) + else: + x_bounds.add( + key=muscle_state_list[l], # + "_" + muscles_name_list[i], + min_bound=np.array([middle_bound_min[l]]), + max_bound=np.array([middle_bound_max[l]]), + phase=k, + interpolation=InterpolationType.CONSTANT_WITH_FIRST_AND_LAST_DIFFERENT, + ) + + starting_min_q_bounds = np.array([[0, 0, 0], [0, 0, 0]]) + starting_max_q_bounds = np.array([[0, 0, 0], [0, 3.14159265, 3.14159265]]) + middle_min_q_bounds = np.array([[0, 0, 0], [0, 0, 0]]) + middle_max_q_bounds = np.array([[0, 0, 0], [3.14159265, 3.14159265, 3.14159265]]) + + starting_min_qdot_bounds = np.array([[0, 0, 0], [0, -31.41592654, -31.41592654]]) + starting_max_qdot_bounds = np.array([[0, 0, 0], [0, 31.41592654, 31.41592654]]) + middle_min_qdot_bounds = np.array([[0, 0, 0], [-31.41592654, -31.41592654, -31.41592654]]) + middle_max_qdot_bounds = np.array([[0, 0, 0], [31.41592654, 31.41592654, 31.41592654]]) + + for i in range(n_stim): + # q_bounds = bio_models[i].bounds_from_ranges_q + # qdot_bounds = bio_models[i].bounds_from_ranges_qdot + # q_bounds[0, :] = (0, 0, 0) + # qdot_bounds[0, :] = (0, 0, 0) + # q_bounds[1, :] = (0, 0, 2.5) + + min_bounds = middle_min_q_bounds + max_bounds = middle_max_q_bounds + + qdot_min_bounds = middle_min_qdot_bounds + qdot_max_bounds = middle_max_qdot_bounds + + if i == 0: + # q_bounds[1, :] = (0, 0, 2.5) + # qdot_bounds[:, 0] = 0 + + min_bounds = starting_min_q_bounds + max_bounds = starting_max_q_bounds + + qdot_min_bounds = starting_min_qdot_bounds + qdot_max_bounds = starting_max_qdot_bounds + + # x_bounds.add(key="q", bounds=q_bounds, phase=i) + + x_bounds.add(key="q", min_bound=min_bounds, max_bound=max_bounds, phase=i, interpolation=InterpolationType.CONSTANT_WITH_FIRST_AND_LAST_DIFFERENT) + + # x_bounds.add(key="qdot", bounds=qdot_bounds, phase=i) + + x_bounds.add(key="qdot", min_bound=qdot_min_bounds, max_bound=qdot_max_bounds, phase=i, interpolation=InterpolationType.CONSTANT_WITH_FIRST_AND_LAST_DIFFERENT) + + # TODO : for n muscles + # States initial guess + # x_init = InitialGuessList() + # for i in range(n_stim): + # for j in range(len(muscles_model_list)): + # muscle_state_list = muscles_model_list[j].name_dof + # for k in range(len(muscle_state_list)): + # x_init.add(key=muscle_state_list[k] + "_" + muscles_name_list[j], initial_guess=muscles_model_list[j].standard_rest_values()[k], phase=i) + # x_init.add(key="q", initial_guess=[1.57] * bio_models[i].nb_q, phase=i) + + x_init = InitialGuessList() + for i in range(n_stim): + muscle_state_list = muscles_model.name_dof + for k in range(len(muscle_state_list)): + x_init.add(key=muscle_state_list[k], # + "_" + muscles_name_list[j], + initial_guess=muscles_model.standard_rest_values()[k], phase=i) + x_init.add(key="q", initial_guess=[0] * bio_models[i].nb_q, phase=i) + + # Controls bounds + tau_min, tau_max, tau_init = [0, -1], [0, 1], [0, 0] + # tau_min, tau_max, tau_init = [0, 0], [0, 0], [0, 0] + + u_bounds = BoundsList() + for i in range(n_stim): + u_bounds.add(key="tau", min_bound=tau_min, max_bound=tau_max, phase=i) + + # Controls initial guess + u_init = InitialGuessList() + for i in range(n_stim): + u_init.add(key="tau", initial_guess=tau_init, phase=i) + + super().__init__( + bio_model=bio_models, + dynamics=dynamics, + n_shooting=n_shooting, + phase_time=final_time_phase, + x_bounds=x_bounds, + u_bounds=u_bounds, + x_init=x_init, + u_init=u_init, + objective_functions=objective_functions, + constraints=constraints, + time_phase_mapping=phase_time_bimapping, + ode_solver=ode_solver, + control_type=control_type, + use_sx=True, + ) + +if __name__ == "__main__": + ocp = FESActuatedBiorbdModelOCP("/arm26_biceps.bioMod", + muscles_model=DingModelFrequency(), + # muscles_name_list=["biceps"], + final_time=1, + n_shooting=5, + n_stim=10, + time_min=0.01, + time_max=0.1, + time_bimapping=True, + ) + + sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) + # Solver.IPOPT(show_online_optim=True) + # sol.graphs(show_bounds=True) + sol.animate() + sol.graphs(show_bounds=True) diff --git a/examples/sensitivity/truncation/Figure.svg b/examples/sensitivity/truncation/Figure.svg new file mode 100644 index 00000000..4a4093e5 --- /dev/null +++ b/examples/sensitivity/truncation/Figure.svg @@ -0,0 +1,23959 @@ + + + + + + + + 2023-12-22T10:38:58.413270 + image/svg+xml + + + Matplotlib v3.7.2, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 9f65e1167bbd54b8d34a2e51ad64629456f06d8d Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Mon, 15 Jan 2024 15:59:57 -0500 Subject: [PATCH 02/63] continuing the work on dynamical behaviour (bound issue) --- cocofest/models/dynamical_model.py | 8 +- .../getting_started/arm26_biceps_1ddl.bioMod | 254 ++++++++++++++++++ .../musculoskeletal_dynamic.py | 99 ++++--- 3 files changed, 320 insertions(+), 41 deletions(-) create mode 100644 examples/getting_started/arm26_biceps_1ddl.bioMod diff --git a/cocofest/models/dynamical_model.py b/cocofest/models/dynamical_model.py index 4fff32fc..6ae52e01 100644 --- a/cocofest/models/dynamical_model.py +++ b/cocofest/models/dynamical_model.py @@ -1,7 +1,6 @@ from typing import Callable -from copy import deepcopy -from casadi import vertcat, MX, SX, Function +from casadi import vertcat, MX, SX from bioptim import ( BiorbdModel, OptimalControlProgram, @@ -131,9 +130,10 @@ def muscle_dynamic( # muscle_nlp = nlp # muscle_nlp.model = nlp.model.muscles_dynamics_model - muscle_dxdt = muscle_model.dynamics(time, states, controls, parameters, stochastic_variables, nlp, stim_apparition, optional_nlp=nlp.model.muscles_dynamics_model).dxdt + muscle_dxdt = muscle_model.dynamics(time, states, controls, parameters, stochastic_variables, nlp, stim_apparition, + optional_nlp=nlp.model.muscles_dynamics_model).dxdt muscle_forces = muscle_dxdt[1] - muscles_tau += nlp.model.bio_model.model.muscularJointTorque(muscle_forces, q, qdot).to_mx() #TODO find a way to make it work in sx + muscles_tau += nlp.model.bio_model.model.muscularJointTorque(muscle_forces, q, qdot).to_mx() dxdt_muscle_list = vertcat(dxdt_muscle_list, muscle_dxdt) # You can directly call biorbd function (as for ddq) or call bioptim accessor (as for dq) diff --git a/examples/getting_started/arm26_biceps_1ddl.bioMod b/examples/getting_started/arm26_biceps_1ddl.bioMod new file mode 100644 index 00000000..21f518c5 --- /dev/null +++ b/examples/getting_started/arm26_biceps_1ddl.bioMod @@ -0,0 +1,254 @@ +version 3 +gravity 0 -9.81 0 + +// SEGMENT DEFINITION + +segment base + meshfile mesh/ground_ribs.vtp + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + // Markers + marker target + parent base + position 0.15 0.15 0.17 + endmarker + marker r_acromion + parent base + position -0.01256 0.04 0.17 + endmarker + + +segment r_humerus_translation + parent base + RTinMatrix 1 + RT + 1.0 0.0 0.0 -0.017545 + 0.0 1.0 0.0 -0.007 + 0.0 0.0 1.0 0.17 + 0.0 0.0 0.0 1.0 + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + +segment r_humerus_rotation1 + parent r_humerus_translation + RTinMatrix 1 + RT + 0.9975010776109747 0.039020807762349584 -0.058898019716436364 0.0 + -0.038952964437603196 0.9992383982621832 0.0022999999889266845 0.0 + 0.05894291073968768 0.0 0.9982613551938856 0.0 + 0.0 0.0 0.0 1.0 + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + +segment r_humerus_rotation2 + parent r_humerus_rotation1 + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + +segment r_humerus_rotation3 + parent r_humerus_rotation2 + RTinMatrix 1 + RT + 0.0 -0.0588981755023151 0.9982639956056206 0.0 + 1.0 0.0 0.0 0.0 + 0.0 0.9982639956056206 0.0588981755023151 0.0 + 0.0 0.0 0.0 1.0 + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + +segment r_humerus + parent r_humerus_rotation3 + RTinMatrix 1 + RT + 0.039020807762349605 0.9992383982621836 0.0 0.0 + -0.11754676602826802 0.004590265714620227 0.9930567391931666 0.0 + 0.9923004254548464 -0.03874987611716229 0.11763635808301447 0.0 + 0.0 0.0 0.0 1.0 + mass 1.8645719999999999 + inertia + 0.01481 0.0 0.0 + 0.0 0.004551 0.0 + 0.0 0.0 0.013193 + com 0 -0.18049599999999999 0 + meshfile mesh/arm_r_humerus.vtp +endsegment + + // Markers + marker r_humerus_epicondyle + parent r_humerus + position 0.0050000000000000001 -0.29039999999999999 0.029999999999999999 + endmarker + marker COM_arm + parent r_humerus + position 0 -0.18049599999999999 0 + endmarker + + +segment r_ulna_radius_hand_translation + parent r_humerus + RTinMatrix 1 + RT + 1.0 0.0 0.0 0.0061 + 0.0 1.0 0.0 -0.2904 + 0.0 0.0 1.0 -0.0123 + 0.0 0.0 0.0 1.0 + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + +segment r_ulna_radius_hand_rotation1 + parent r_ulna_radius_hand_translation + RTinMatrix 1 + RT + 0.801979522152563 -0.5953053712684071 0.04940000998917986 0.0 + 0.5941792022021661 0.8034995425879125 0.036600009991983457 0.0 + -0.06148106796684942 3.469446951953614e-18 0.9981082497813831 0.0 + 0.0 0.0 0.0 1.0 + rotations z + rangesQ 0 pi + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + +segment r_ulna_radius_hand_rotation2 + parent r_ulna_radius_hand_rotation1 + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + +segment r_ulna_radius_hand_rotation3 + parent r_ulna_radius_hand_rotation2 + RTinMatrix 1 + RT + 0.0 0.049433130424779516 0.998777435476196 0.0 + 1.0 0.0 0.0 0.0 + 0.0 0.998777435476196 -0.049433130424779516 0.0 + 0.0 0.0 0.0 1.0 + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + +segment r_ulna_radius_hand + parent r_ulna_radius_hand_rotation3 + RTinMatrix 1 + RT + -0.5953053712684069 0.803499542587912 0.0 0.0 + 0.08898397360606149 0.06592740211634747 0.9938487963928239 0.0 + 0.7985570533031812 0.5916435267212894 -0.11074551868375905 0.0 + 0.0 0.0 0.0 1.0 + mass 1.5343150000000001 + inertia + 0.019281 0.0 0.0 + 0.0 0.001571 0.0 + 0.0 0.0 0.020062 + com 0 -0.181479 0 + meshfile mesh/arm_r_ulna.vtp +endsegment + + // Markers + marker r_radius_styloid + parent r_ulna_radius_hand + position -0.0011000000000000001 -0.23558999999999999 0.094299999999999995 + endmarker + marker COM_hand + parent r_ulna_radius_hand + position 0 -0.181479 0 + endmarker + + + +// MUSCLE DEFINITION + +// base > r_ulna_radius_hand +musclegroup base_to_r_ulna_radius_hand + OriginParent base + InsertionParent r_ulna_radius_hand +endmusclegroup + + muscle BIClong + Type degroote + statetype degroote + musclegroup base_to_r_ulna_radius_hand + OriginPosition -0.039234999999999999 0.00347 0.14795 + InsertionPosition 0.0075100000000000002 -0.048390000000000002 0.02179 + optimalLength 0.1157 + maximalForce 624.29999999999995 + tendonSlackLength 0.27229999999999999 + pennationAngle 0 + maxVelocity 10 + endmuscle + + viapoint BIClong-P2 + parent base + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position -0.028944999999999999 0.01391 0.15639 + endviapoint + viapoint BIClong-P3 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.021309999999999999 0.017930000000000001 0.010279999999999999 + endviapoint + viapoint BIClong-P4 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.023779999999999999 -0.00511 0.01201 + endviapoint + viapoint BIClong-P5 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.01345 -0.02827 0.0013600000000000001 + endviapoint + viapoint BIClong-P6 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.01068 -0.077359999999999998 -0.00165 + endviapoint + viapoint BIClong-P7 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.01703 -0.12125 0.00024000000000000001 + endviapoint + viapoint BIClong-P8 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.022800000000000001 -0.1754 -0.0063 + endviapoint diff --git a/examples/getting_started/musculoskeletal_dynamic.py b/examples/getting_started/musculoskeletal_dynamic.py index e38f3fb7..0e2a3a20 100644 --- a/examples/getting_started/musculoskeletal_dynamic.py +++ b/examples/getting_started/musculoskeletal_dynamic.py @@ -12,6 +12,7 @@ InitialGuessList, InterpolationType, ObjectiveFcn, + PhaseDynamics, ObjectiveList, OdeSolver, OptimalControlProgram, @@ -30,7 +31,7 @@ def __init__(self, biorbd_model_path: str, time_min: float = None, time_max: float = None, time_bimapping: bool = False, - ode_solver: OdeSolverBase = OdeSolver.RK4(), + ode_solver: OdeSolverBase = OdeSolver.RK4(n_integration_steps=1), control_type: ControlType = ControlType.CONSTANT,): """ @@ -97,11 +98,19 @@ def __init__(self, biorbd_model_path: str, # Add objective functions objective_functions = ObjectiveList() for i in range(n_stim): - objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=10000, quadratic=True, phase=i) - # objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_STATE, key="q", target=target[:nq, :], weight=10000, phase=n_stim-1) + objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=10, quadratic=True, phase=i) + # objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_STATE, key="q", target=np.array([[0, 1.6]]).T, weight=10000, + # phase=n_stim - 1) + + objective_functions.add( + ObjectiveFcn.Mayer.MINIMIZE_STATE, key="q", index=0, node=Node.END, weight=10000, phase=n_stim - 1, quadratic=True, target=1.6 + ) + + # objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_STATE, key="q", target=np.array([[1.6]*5]).T, + # weight=10000, + # phase=n_stim - 1, + # node=Node.ALL,) - objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_STATE, key="q", target=np.array([[0, 1.6]]).T, weight=10000, - phase=n_stim - 1) # constraints.add(ConstraintFcn.TRACK_STATE, node=Node.END, index=1, target=1.6, phase=n_stim - 1) # constraints.add(ConstraintFcn.TRACK_STATE, key="q", index=1, node=Node.END, phase=n_stim - 1, target=1.6) @@ -113,7 +122,10 @@ def __init__(self, biorbd_model_path: str, dynamics.add( bio_models[i].declare_model_variables, dynamic_function=bio_models[i].muscle_dynamic, + expand_dynamics=True, + expand_continuity=False, phase=i, + phase_dynamics=PhaseDynamics.ONE_PER_NODE, ) # TODO : for n muscles @@ -171,7 +183,9 @@ def __init__(self, biorbd_model_path: str, ) for j in range(len(muscle_state_list)): - if muscle_state_list[j] == "Cn" or muscle_state_list[j] == "F": + if muscle_state_list[j] == "Cn": + max_bounds[j] = 10 + elif muscle_state_list[j] == "F": max_bounds[j] = 1000 elif muscle_state_list[j] == "Tau1" or muscle_state_list[j] == "Km": max_bounds[j] = 1 @@ -202,46 +216,57 @@ def __init__(self, biorbd_model_path: str, interpolation=InterpolationType.CONSTANT_WITH_FIRST_AND_LAST_DIFFERENT, ) - starting_min_q_bounds = np.array([[0, 0, 0], [0, 0, 0]]) - starting_max_q_bounds = np.array([[0, 0, 0], [0, 3.14159265, 3.14159265]]) - middle_min_q_bounds = np.array([[0, 0, 0], [0, 0, 0]]) - middle_max_q_bounds = np.array([[0, 0, 0], [3.14159265, 3.14159265, 3.14159265]]) + # starting_min_q_bounds = np.array([[0, 0, 0], [0, 0, 0]]) + # starting_max_q_bounds = np.array([[0, 0, 0], [0, 3.14159265, 3.14159265]]) + # middle_min_q_bounds = np.array([[0, 0, 0], [0, 0, 0]]) + # middle_max_q_bounds = np.array([[0, 0, 0], [3.14159265, 3.14159265, 3.14159265]]) + # + # starting_min_qdot_bounds = np.array([[0, 0, 0], [0, -31.41592654, -31.41592654]]) + # starting_max_qdot_bounds = np.array([[0, 0, 0], [0, 31.41592654, 31.41592654]]) + # middle_min_qdot_bounds = np.array([[0, 0, 0], [-31.41592654, -31.41592654, -31.41592654]]) + # middle_max_qdot_bounds = np.array([[0, 0, 0], [31.41592654, 31.41592654, 31.41592654]]) - starting_min_qdot_bounds = np.array([[0, 0, 0], [0, -31.41592654, -31.41592654]]) - starting_max_qdot_bounds = np.array([[0, 0, 0], [0, 31.41592654, 31.41592654]]) - middle_min_qdot_bounds = np.array([[0, 0, 0], [-31.41592654, -31.41592654, -31.41592654]]) - middle_max_qdot_bounds = np.array([[0, 0, 0], [31.41592654, 31.41592654, 31.41592654]]) - for i in range(n_stim): - # q_bounds = bio_models[i].bounds_from_ranges_q - # qdot_bounds = bio_models[i].bounds_from_ranges_qdot - # q_bounds[0, :] = (0, 0, 0) - # qdot_bounds[0, :] = (0, 0, 0) - # q_bounds[1, :] = (0, 0, 2.5) + # starting_min_q_bounds = np.array([[0, 0, 0]]) + # starting_max_q_bounds = np.array([[0, 3.14159265, 3.14159265]]) + # middle_min_q_bounds = np.array([[0, 0, 0]]) + # middle_max_q_bounds = np.array([[3.14159265, 3.14159265, 3.14159265]]) + # + # starting_min_qdot_bounds = np.array([[0, -31.41592654, -31.41592654]]) + # starting_max_qdot_bounds = np.array([[0, 31.41592654, 31.41592654]]) + # middle_min_qdot_bounds = np.array([[-31.41592654, -31.41592654, -31.41592654]]) + # middle_max_qdot_bounds = np.array([[31.41592654, 31.41592654, 31.41592654]]) - min_bounds = middle_min_q_bounds - max_bounds = middle_max_q_bounds + for i in range(n_stim): + q_x_bounds = bio_models[i].bounds_from_ranges("q") + qdot_x_bounds = bio_models[i].bounds_from_ranges("qdot") - qdot_min_bounds = middle_min_qdot_bounds - qdot_max_bounds = middle_max_qdot_bounds + # min_bounds = middle_min_q_bounds + # max_bounds = middle_max_q_bounds + # # + # qdot_min_bounds = middle_min_qdot_bounds + # qdot_max_bounds = middle_max_qdot_bounds if i == 0: - # q_bounds[1, :] = (0, 0, 2.5) + # q_bounds[0, :] = (0, 0, 2.5) # qdot_bounds[:, 0] = 0 - min_bounds = starting_min_q_bounds - max_bounds = starting_max_q_bounds + # min_bounds = starting_min_q_bounds + # max_bounds = starting_max_q_bounds + # + # qdot_min_bounds = starting_min_qdot_bounds + # qdot_max_bounds = starting_max_qdot_bounds - qdot_min_bounds = starting_min_qdot_bounds - qdot_max_bounds = starting_max_qdot_bounds + q_x_bounds[:, [0, -1]] = 0 # Start at 0... + qdot_x_bounds[:, [0, -1]] = 0 # Start and end without any velocity - # x_bounds.add(key="q", bounds=q_bounds, phase=i) + x_bounds.add(key="q", bounds=q_x_bounds, phase=i) - x_bounds.add(key="q", min_bound=min_bounds, max_bound=max_bounds, phase=i, interpolation=InterpolationType.CONSTANT_WITH_FIRST_AND_LAST_DIFFERENT) + # x_bounds.add(key="q", min_bound=min_bounds, max_bound=max_bounds, phase=i, interpolation=InterpolationType.CONSTANT_WITH_FIRST_AND_LAST_DIFFERENT) - # x_bounds.add(key="qdot", bounds=qdot_bounds, phase=i) + x_bounds.add(key="qdot", bounds=qdot_x_bounds, phase=i) - x_bounds.add(key="qdot", min_bound=qdot_min_bounds, max_bound=qdot_max_bounds, phase=i, interpolation=InterpolationType.CONSTANT_WITH_FIRST_AND_LAST_DIFFERENT) + # x_bounds.add(key="qdot", min_bound=qdot_min_bounds, max_bound=qdot_max_bounds, phase=i, interpolation=InterpolationType.CONSTANT_WITH_FIRST_AND_LAST_DIFFERENT) # TODO : for n muscles # States initial guess @@ -262,8 +287,8 @@ def __init__(self, biorbd_model_path: str, x_init.add(key="q", initial_guess=[0] * bio_models[i].nb_q, phase=i) # Controls bounds - tau_min, tau_max, tau_init = [0, -1], [0, 1], [0, 0] - # tau_min, tau_max, tau_init = [0, 0], [0, 0], [0, 0] + # tau_min, tau_max, tau_init = [0, -1], [0, 1], [0, 0] + tau_min, tau_max, tau_init = [-1], [1], [0] u_bounds = BoundsList() for i in range(n_stim): @@ -292,11 +317,11 @@ def __init__(self, biorbd_model_path: str, ) if __name__ == "__main__": - ocp = FESActuatedBiorbdModelOCP("/arm26_biceps.bioMod", + ocp = FESActuatedBiorbdModelOCP("/arm26_biceps_1ddl.bioMod", muscles_model=DingModelFrequency(), # muscles_name_list=["biceps"], final_time=1, - n_shooting=5, + n_shooting=10, n_stim=10, time_min=0.01, time_max=0.1, From 83c97dc32d8d6f6e6102485b863effc6039ff1a1 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Tue, 16 Jan 2024 18:14:24 -0500 Subject: [PATCH 03/63] bound and major error in forward dynamics input correction --- cocofest/__init__.py | 1 + cocofest/models/dynamical_model.py | 76 +--------- ....py => musculoskeletal_dynamic_1muscle.py} | 137 ++---------------- 3 files changed, 20 insertions(+), 194 deletions(-) rename examples/getting_started/{musculoskeletal_dynamic.py => musculoskeletal_dynamic_1muscle.py} (52%) diff --git a/cocofest/__init__.py b/cocofest/__init__.py index 75585e9d..5b73153f 100644 --- a/cocofest/__init__.py +++ b/cocofest/__init__.py @@ -5,6 +5,7 @@ from .models.ding2007_with_fatigue import DingModelPulseDurationFrequencyWithFatigue from .models.hmed2018 import DingModelIntensityFrequency from .models.hmed2018_with_fatigue import DingModelIntensityFrequencyWithFatigue +from .models.dynamical_model import FESActuatedBiorbdModel from .optimization.fes_multi_start import FunctionalElectricStimulationMultiStart from .optimization.fes_ocp import OcpFes from .optimization.fes_identification_ocp import OcpFesId diff --git a/cocofest/models/dynamical_model.py b/cocofest/models/dynamical_model.py index 6ae52e01..bbff5089 100644 --- a/cocofest/models/dynamical_model.py +++ b/cocofest/models/dynamical_model.py @@ -123,92 +123,26 @@ def muscle_dynamic( # for muscle_model in muscle_model_list: #TODO : for different muscles # muscle_dxdt = muscle_model.dynamics(time, states, controls, parameters, stochastic_variables, nlp, nb_phases).dxdt - # muscle_forces = muscle_dxdt[1] + # muscle_forces = DynamicsFunctions.get(nlp.states["F"], states) # muscles_tau += nlp.model.bio_model.model.muscularJointTorque(muscle_forces, q, qdot).to_mx() # dxdt_muscle_list = vertcat(dxdt_muscle_list, muscle_dxdt) - # muscle_nlp = nlp - # muscle_nlp.model = nlp.model.muscles_dynamics_model - muscle_dxdt = muscle_model.dynamics(time, states, controls, parameters, stochastic_variables, nlp, stim_apparition, optional_nlp=nlp.model.muscles_dynamics_model).dxdt - muscle_forces = muscle_dxdt[1] - muscles_tau += nlp.model.bio_model.model.muscularJointTorque(muscle_forces, q, qdot).to_mx() + muscle_forces = DynamicsFunctions.get(nlp.states["F"], states) + + muscles_tau += - nlp.model.bio_model.model.musclesLengthJacobian(q).to_mx().T @ muscle_forces + # muscles_tau += nlp.model.bio_model.model.muscularJointTorque(muscle_forces, q, qdot).to_mx() dxdt_muscle_list = vertcat(dxdt_muscle_list, muscle_dxdt) # You can directly call biorbd function (as for ddq) or call bioptim accessor (as for dq) dq = DynamicsFunctions.compute_qdot(nlp, q, qdot) ddq = nlp.model.forward_dynamics(q, qdot, muscles_tau + tau) - # ddq = nlp.model.forward_dynamics(q, qdot, muscles_tau) dxdt = vertcat(dxdt_muscle_list, dq, ddq) return DynamicsEvaluation(dxdt=dxdt, defects=None) - #TODO : disociate the force and fatigue model in ding model with a flag - - #TODO : Remove FES_driven and all other similar fun in dingmodel - - # MAYBE LATER FOR N MUSCLE - # def fes_driven( - # self, - # ocp, - # nlp, - # **extra_params, - # ): - # """ - # Configure the dynamics for a muscle driven program. - # If with_excitations is set to True, then the muscle activations are computed from the muscle dynamics. - # The tau from muscle is computed using the muscle activations. - # If with_residual_torque is set to True, then tau are used as supplementary force in the - # case muscles are too weak. - # - # Parameters - # ---------- - # ocp: OptimalControlProgram - # A reference to the ocp - # nlp: NonLinearProgram - # A reference to the phase - # - # """ - # nlp.parameters = ocp.parameters - # DynamicsFunctions.apply_parameters(nlp.parameters.cx_start, nlp) - # extra_params["nb_phases"] = ocp.n_phases - # - # if not isinstance(FESActuatedBiorbdModel.muscle_dynamic, (tuple, list)): - # FESActuatedBiorbdModel.muscle_dynamic = (FESActuatedBiorbdModel.muscle_dynamic,) - # - # - # for func in FESActuatedBiorbdModel.muscle_dynamic: - # muscle_dynamics_eval = func( - # nlp.time_cx, - # nlp.states.scaled.cx_start, - # nlp.controls.scaled.cx_start, - # nlp.parameters.cx, - # nlp.stochastic_variables.scaled.cx, - # nlp, - # self.muscles_dynamics_model, - # extra_params["nb_phases"], - # ) - # # - # # dynamics_dxdt = vertcat(dynamics_dxdt, muscle_dynamics_eval.dxdt) - # - # nlp.dynamics_func.append( - # Function( - # "ForwardDyn", - # [ - # nlp.time_cx, - # nlp.states.scaled.cx_start, - # nlp.controls.scaled.cx_start, - # nlp.parameters.cx, - # nlp.stochastic_variables.scaled.cx, - # ], - # [muscle_dynamics_eval.dxdt], - # ["t", "x", "u", "p", "s"], - # ["xdot"], - # ), - # ) - def declare_model_variables(self, ocp: OptimalControlProgram, nlp: NonLinearProgram): """ Tell the program which variables are states and controls. diff --git a/examples/getting_started/musculoskeletal_dynamic.py b/examples/getting_started/musculoskeletal_dynamic_1muscle.py similarity index 52% rename from examples/getting_started/musculoskeletal_dynamic.py rename to examples/getting_started/musculoskeletal_dynamic_1muscle.py index 0e2a3a20..a4cb7936 100644 --- a/examples/getting_started/musculoskeletal_dynamic.py +++ b/examples/getting_started/musculoskeletal_dynamic_1muscle.py @@ -24,7 +24,6 @@ class FESActuatedBiorbdModelOCP(OptimalControlProgram): def __init__(self, biorbd_model_path: str, muscles_model: DingModelFrequency(), - # muscles_name_list: list[str], n_stim: int, final_time: float, n_shooting: int, @@ -90,31 +89,12 @@ def __init__(self, biorbd_model_path: str, final_time_phase = [time_min] * n_stim - # step = final_time / n_stim - # final_time_phase = (step,) - # for i in range(n_stim - 1): - # final_time_phase = final_time_phase + (step,) - # Add objective functions objective_functions = ObjectiveList() for i in range(n_stim): - objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=10, quadratic=True, phase=i) - # objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_STATE, key="q", target=np.array([[0, 1.6]]).T, weight=10000, - # phase=n_stim - 1) - - objective_functions.add( - ObjectiveFcn.Mayer.MINIMIZE_STATE, key="q", index=0, node=Node.END, weight=10000, phase=n_stim - 1, quadratic=True, target=1.6 - ) - - # objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_STATE, key="q", target=np.array([[1.6]*5]).T, - # weight=10000, - # phase=n_stim - 1, - # node=Node.ALL,) - - - # constraints.add(ConstraintFcn.TRACK_STATE, node=Node.END, index=1, target=1.6, phase=n_stim - 1) - # constraints.add(ConstraintFcn.TRACK_STATE, key="q", index=1, node=Node.END, phase=n_stim - 1, target=1.6) + objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=1, quadratic=True, phase=i) + # objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_STATE, key="qdot", weight=1, quadratic=True, phase=n_stim - 1) # Dynamics dynamics = DynamicsList() @@ -128,52 +108,8 @@ def __init__(self, biorbd_model_path: str, phase_dynamics=PhaseDynamics.ONE_PER_NODE, ) - # TODO : for n muscles - # # States bounds - # x_bounds = BoundsList() - # for i in range(len(muscles_model_list)): - # muscle_state_list = muscles_model_list[i].name_dof - # starting_bounds, min_bounds, max_bounds = ( - # muscles_model_list[i].standard_rest_values(), - # muscles_model_list[i].standard_rest_values(), - # muscles_model_list[i].standard_rest_values(), - # ) - # - # for j in range(len(muscle_state_list)): - # if muscle_state_list[j] == "Cn" or muscle_state_list[j] == "F": - # max_bounds[j] = 1000 - # elif muscle_state_list[j] == "Tau1" or muscle_state_list[j] == "Km": - # max_bounds[j] = 1 - # elif muscle_state_list[j] == "A": - # min_bounds[j] = 0 - # - # starting_bounds_min = np.concatenate((starting_bounds, min_bounds, min_bounds), axis=1) - # starting_bounds_max = np.concatenate((starting_bounds, max_bounds, max_bounds), axis=1) - # middle_bound_min = np.concatenate((min_bounds, min_bounds, min_bounds), axis=1) - # middle_bound_max = np.concatenate((max_bounds, max_bounds, max_bounds), axis=1) - # - # for k in range(n_stim): - # for l in range(len(muscle_state_list)): - # if k == 0: - # x_bounds.add( - # key=muscle_state_list[l] + "_" + muscles_name_list[i], - # min_bound=np.array([starting_bounds_min[l]]), - # max_bound=np.array([starting_bounds_max[l]]), - # phase=k, - # interpolation=InterpolationType.CONSTANT_WITH_FIRST_AND_LAST_DIFFERENT, - # ) - # else: - # x_bounds.add( - # key=muscle_state_list[l] + "_" + muscles_name_list[i], - # min_bound=np.array([middle_bound_min[l]]), - # max_bound=np.array([middle_bound_max[l]]), - # phase=k, - # interpolation=InterpolationType.CONSTANT_WITH_FIRST_AND_LAST_DIFFERENT, - # ) - # States bounds x_bounds = BoundsList() - # for i in range(len(muscles_model_list)): muscle_state_list = muscles_model.name_dof starting_bounds, min_bounds, max_bounds = ( @@ -201,7 +137,7 @@ def __init__(self, biorbd_model_path: str, for l in range(len(muscle_state_list)): if k == 0: x_bounds.add( - key=muscle_state_list[l], # + "_" + muscles_name_list[i], + key=muscle_state_list[l], min_bound=np.array([starting_bounds_min[l]]), max_bound=np.array([starting_bounds_max[l]]), phase=k, @@ -209,75 +145,31 @@ def __init__(self, biorbd_model_path: str, ) else: x_bounds.add( - key=muscle_state_list[l], # + "_" + muscles_name_list[i], + key=muscle_state_list[l], min_bound=np.array([middle_bound_min[l]]), max_bound=np.array([middle_bound_max[l]]), phase=k, interpolation=InterpolationType.CONSTANT_WITH_FIRST_AND_LAST_DIFFERENT, ) - # starting_min_q_bounds = np.array([[0, 0, 0], [0, 0, 0]]) - # starting_max_q_bounds = np.array([[0, 0, 0], [0, 3.14159265, 3.14159265]]) - # middle_min_q_bounds = np.array([[0, 0, 0], [0, 0, 0]]) - # middle_max_q_bounds = np.array([[0, 0, 0], [3.14159265, 3.14159265, 3.14159265]]) - # - # starting_min_qdot_bounds = np.array([[0, 0, 0], [0, -31.41592654, -31.41592654]]) - # starting_max_qdot_bounds = np.array([[0, 0, 0], [0, 31.41592654, 31.41592654]]) - # middle_min_qdot_bounds = np.array([[0, 0, 0], [-31.41592654, -31.41592654, -31.41592654]]) - # middle_max_qdot_bounds = np.array([[0, 0, 0], [31.41592654, 31.41592654, 31.41592654]]) - - - # starting_min_q_bounds = np.array([[0, 0, 0]]) - # starting_max_q_bounds = np.array([[0, 3.14159265, 3.14159265]]) - # middle_min_q_bounds = np.array([[0, 0, 0]]) - # middle_max_q_bounds = np.array([[3.14159265, 3.14159265, 3.14159265]]) - # - # starting_min_qdot_bounds = np.array([[0, -31.41592654, -31.41592654]]) - # starting_max_qdot_bounds = np.array([[0, 31.41592654, 31.41592654]]) - # middle_min_qdot_bounds = np.array([[-31.41592654, -31.41592654, -31.41592654]]) - # middle_max_qdot_bounds = np.array([[31.41592654, 31.41592654, 31.41592654]]) - for i in range(n_stim): q_x_bounds = bio_models[i].bounds_from_ranges("q") qdot_x_bounds = bio_models[i].bounds_from_ranges("qdot") - # min_bounds = middle_min_q_bounds - # max_bounds = middle_max_q_bounds - # # - # qdot_min_bounds = middle_min_qdot_bounds - # qdot_max_bounds = middle_max_qdot_bounds - if i == 0: - # q_bounds[0, :] = (0, 0, 2.5) - # qdot_bounds[:, 0] = 0 + q_x_bounds[:, [0]] = 3.14/(180/5) # Start at 5° + qdot_x_bounds[:, [0]] = 0 # Start without any velocity - # min_bounds = starting_min_q_bounds - # max_bounds = starting_max_q_bounds - # - # qdot_min_bounds = starting_min_qdot_bounds - # qdot_max_bounds = starting_max_qdot_bounds + if i == n_stim-1: + q_x_bounds[:, [-1]] = 3.14/2 # End at 90° - q_x_bounds[:, [0, -1]] = 0 # Start at 0... - qdot_x_bounds[:, [0, -1]] = 0 # Start and end without any velocity + # if i > n_stim-5: + # q_x_bounds.min[0, [0, 1, 2]] = 3.14 / 2 - 0.2 + # q_x_bounds.max[0, [0, 1, 2]] = 3.14 / 2 + 0.2 x_bounds.add(key="q", bounds=q_x_bounds, phase=i) - - # x_bounds.add(key="q", min_bound=min_bounds, max_bound=max_bounds, phase=i, interpolation=InterpolationType.CONSTANT_WITH_FIRST_AND_LAST_DIFFERENT) - x_bounds.add(key="qdot", bounds=qdot_x_bounds, phase=i) - # x_bounds.add(key="qdot", min_bound=qdot_min_bounds, max_bound=qdot_max_bounds, phase=i, interpolation=InterpolationType.CONSTANT_WITH_FIRST_AND_LAST_DIFFERENT) - - # TODO : for n muscles - # States initial guess - # x_init = InitialGuessList() - # for i in range(n_stim): - # for j in range(len(muscles_model_list)): - # muscle_state_list = muscles_model_list[j].name_dof - # for k in range(len(muscle_state_list)): - # x_init.add(key=muscle_state_list[k] + "_" + muscles_name_list[j], initial_guess=muscles_model_list[j].standard_rest_values()[k], phase=i) - # x_init.add(key="q", initial_guess=[1.57] * bio_models[i].nb_q, phase=i) - x_init = InitialGuessList() for i in range(n_stim): muscle_state_list = muscles_model.name_dof @@ -287,8 +179,7 @@ def __init__(self, biorbd_model_path: str, x_init.add(key="q", initial_guess=[0] * bio_models[i].nb_q, phase=i) # Controls bounds - # tau_min, tau_max, tau_init = [0, -1], [0, 1], [0, 0] - tau_min, tau_max, tau_init = [-1], [1], [0] + tau_min, tau_max, tau_init = [-20], [20], [0] u_bounds = BoundsList() for i in range(n_stim): @@ -316,10 +207,10 @@ def __init__(self, biorbd_model_path: str, use_sx=True, ) + if __name__ == "__main__": ocp = FESActuatedBiorbdModelOCP("/arm26_biceps_1ddl.bioMod", muscles_model=DingModelFrequency(), - # muscles_name_list=["biceps"], final_time=1, n_shooting=10, n_stim=10, @@ -332,4 +223,4 @@ def __init__(self, biorbd_model_path: str, # Solver.IPOPT(show_online_optim=True) # sol.graphs(show_bounds=True) sol.animate() - sol.graphs(show_bounds=True) + sol.graphs(show_bounds=False) From f1dcaca748beb3bffe15b82922384adc3ee36098 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Mon, 22 Jan 2024 11:10:39 -0500 Subject: [PATCH 04/63] feat: enable the use of all fes model for dynamics ocp + examples --- cocofest/__init__.py | 1 + cocofest/models/ding2003.py | 12 +- cocofest/models/ding2003_with_fatigue.py | 5 +- cocofest/models/ding2007.py | 7 +- cocofest/models/ding2007_with_fatigue.py | 8 +- cocofest/models/dynamical_model.py | 10 +- cocofest/models/hmed2018.py | 8 +- cocofest/models/hmed2018_with_fatigue.py | 8 +- cocofest/optimization/fes_ocp.py | 2 +- cocofest/optimization/fes_ocp_dynamics.py | 267 ++++++++++++++++++ ...cy_optimization_musculoskeletal_dynamic.py | 37 +++ .../musculoskeletal_dynamic_1muscle.py | 226 --------------- ...on_optimization_musculoskeletal_dynamic.py | 41 +++ ...ty_optimization_musculoskeletal_dynamic.py | 42 +++ 14 files changed, 429 insertions(+), 245 deletions(-) create mode 100644 cocofest/optimization/fes_ocp_dynamics.py create mode 100644 examples/getting_started/frequency_optimization_musculoskeletal_dynamic.py delete mode 100644 examples/getting_started/musculoskeletal_dynamic_1muscle.py create mode 100644 examples/getting_started/pulse_duration_optimization_musculoskeletal_dynamic.py create mode 100644 examples/getting_started/pulse_intensity_optimization_musculoskeletal_dynamic.py diff --git a/cocofest/__init__.py b/cocofest/__init__.py index 5b73153f..66234015 100644 --- a/cocofest/__init__.py +++ b/cocofest/__init__.py @@ -9,6 +9,7 @@ from .optimization.fes_multi_start import FunctionalElectricStimulationMultiStart from .optimization.fes_ocp import OcpFes from .optimization.fes_identification_ocp import OcpFesId +from .optimization.fes_ocp_dynamics import FESActuatedBiorbdModelOCP from .integration.ivp_fes import IvpFes from .fourier_approx import FourierSeries from .read_data import ExtractData diff --git a/cocofest/models/ding2003.py b/cocofest/models/ding2003.py index 5292b311..948e7ecc 100644 --- a/cocofest/models/ding2003.py +++ b/cocofest/models/ding2003.py @@ -236,7 +236,7 @@ def dynamics( stochastic_variables: MX, nlp: NonLinearProgram, stim_apparition=None, - optional_nlp=None, + nlp_dynamics=None, ) -> DynamicsEvaluation: """ Functional electrical stimulation dynamic @@ -262,19 +262,15 @@ def dynamics( The derivative of the states in the tuple[MX] format """ + dxdt_fun = nlp_dynamics.system_dynamics if nlp_dynamics else nlp.model.system_dynamics + return DynamicsEvaluation( - dxdt=nlp.model.system_dynamics( - cn=states[0], - f=states[1], - t=time, - t_stim_prev=stim_apparition, - ) if optional_nlp is None else optional_nlp.system_dynamics( + dxdt=dxdt_fun( cn=states[0], f=states[1], t=time, t_stim_prev=stim_apparition, ), - defects=None, ) def declare_ding_variables(self, ocp: OptimalControlProgram, nlp: NonLinearProgram): diff --git a/cocofest/models/ding2003_with_fatigue.py b/cocofest/models/ding2003_with_fatigue.py index ca175200..31df7521 100644 --- a/cocofest/models/ding2003_with_fatigue.py +++ b/cocofest/models/ding2003_with_fatigue.py @@ -188,6 +188,7 @@ def dynamics( stochastic_variables: MX, nlp: NonLinearProgram, stim_apparition=None, + nlp_dynamics=None, ) -> DynamicsEvaluation: """ Functional electrical stimulation dynamic @@ -213,8 +214,10 @@ def dynamics( The derivative of the states in the tuple[MX] format """ + dxdt_fun = nlp_dynamics.system_dynamics if nlp_dynamics else nlp.model.system_dynamics + return DynamicsEvaluation( - dxdt=nlp.model.system_dynamics( + dxdt=dxdt_fun( cn=states[0], f=states[1], a=states[2], diff --git a/cocofest/models/ding2007.py b/cocofest/models/ding2007.py index 22e8783e..2fc4b49c 100644 --- a/cocofest/models/ding2007.py +++ b/cocofest/models/ding2007.py @@ -153,6 +153,7 @@ def dynamics( stochastic_variables: MX, nlp: NonLinearProgram, stim_apparition: list[float] = None, + nlp_dynamics=None, ) -> DynamicsEvaluation: """ Functional electrical stimulation dynamic @@ -177,15 +178,17 @@ def dynamics( ------- The derivative of the states in the tuple[MX] format """ - pulse_duration_parameters = nlp.model.get_pulse_duration_parameters(nlp.parameters) + pulse_duration_parameters = nlp.model.get_pulse_duration_parameters(nlp.parameters) if nlp_dynamics is None else nlp_dynamics.get_pulse_duration_parameters(nlp.parameters) if pulse_duration_parameters.shape[0] == 1: # check if pulse duration is mapped impulse_time = pulse_duration_parameters[0] else: impulse_time = pulse_duration_parameters[nlp.phase_idx] + dxdt_fun = nlp_dynamics.system_dynamics if nlp_dynamics else nlp.model.system_dynamics + return DynamicsEvaluation( - dxdt=nlp.model.system_dynamics( + dxdt=dxdt_fun( cn=states[0], f=states[1], t=time, diff --git a/cocofest/models/ding2007_with_fatigue.py b/cocofest/models/ding2007_with_fatigue.py index 4ab402f6..623b17b2 100644 --- a/cocofest/models/ding2007_with_fatigue.py +++ b/cocofest/models/ding2007_with_fatigue.py @@ -157,6 +157,7 @@ def dynamics( stochastic_variables: MX, nlp: NonLinearProgram, stim_apparition: list[float] = None, + nlp_dynamics: NonLinearProgram = None, ) -> DynamicsEvaluation: """ Functional electrical stimulation dynamic @@ -181,15 +182,18 @@ def dynamics( ------- The derivative of the states in the tuple[MX] format """ - pulse_duration_parameters = nlp.model.get_pulse_duration_parameters(nlp.parameters) + pulse_duration_parameters = nlp.model.get_pulse_duration_parameters( + nlp.parameters) if nlp_dynamics is None else nlp_dynamics.get_pulse_duration_parameters(nlp.parameters) if pulse_duration_parameters.shape[0] == 1: # check if pulse duration is mapped impulse_time = pulse_duration_parameters[0] else: impulse_time = pulse_duration_parameters[nlp.phase_idx] + dxdt_fun = nlp_dynamics.system_dynamics if nlp_dynamics else nlp.model.system_dynamics + return DynamicsEvaluation( - dxdt=nlp.model.system_dynamics( + dxdt=dxdt_fun( cn=states[0], f=states[1], tau1=states[2], diff --git a/cocofest/models/dynamical_model.py b/cocofest/models/dynamical_model.py index bbff5089..8b1501bb 100644 --- a/cocofest/models/dynamical_model.py +++ b/cocofest/models/dynamical_model.py @@ -128,7 +128,7 @@ def muscle_dynamic( # dxdt_muscle_list = vertcat(dxdt_muscle_list, muscle_dxdt) muscle_dxdt = muscle_model.dynamics(time, states, controls, parameters, stochastic_variables, nlp, stim_apparition, - optional_nlp=nlp.model.muscles_dynamics_model).dxdt + nlp_dynamics=nlp.model.muscles_dynamics_model).dxdt muscle_forces = DynamicsFunctions.get(nlp.states["F"], states) muscles_tau += - nlp.model.bio_model.model.musclesLengthJacobian(q).to_mx().T @ muscle_forces @@ -162,6 +162,14 @@ def declare_model_variables(self, ocp: OptimalControlProgram, nlp: NonLinearProg self.muscles_dynamics_model.configure_ca_troponin_complex(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) self.muscles_dynamics_model.configure_force(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) + if 'A' in self.muscles_dynamics_model.name_dof: + self.muscles_dynamics_model.configure_scaling_factor(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) + if 'Tau1' in self.muscles_dynamics_model.name_dof: + self.muscles_dynamics_model.configure_time_state_force_no_cross_bridge( + ocp=ocp, nlp=nlp, as_states=True, as_controls=False) + if 'Km' in self.muscles_dynamics_model.name_dof: + self.muscles_dynamics_model.configure_cross_bridges(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) + # TODO : for fatigue model # self.muscles_dynamics_model.configure_scaling_factor(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) # self.muscles_dynamics_model.configure_time_state_force_no_cross_bridge( diff --git a/cocofest/models/hmed2018.py b/cocofest/models/hmed2018.py index 4c6735e4..69284b4e 100644 --- a/cocofest/models/hmed2018.py +++ b/cocofest/models/hmed2018.py @@ -216,6 +216,7 @@ def dynamics( stochastic_variables: MX, nlp: NonLinearProgram, stim_apparition: list[float] = None, + nlp_dynamics: NonLinearProgram = None, ) -> DynamicsEvaluation: """ Functional electrical stimulation dynamic @@ -243,7 +244,8 @@ def dynamics( intensity_stim_prev = ( [] ) # Every stimulation intensity before the current phase, i.e.: the intensity of each phase - intensity_parameters = nlp.model.get_intensity_parameters(nlp.parameters) + intensity_parameters = nlp.model.get_intensity_parameters( + nlp.parameters) if nlp_dynamics is None else nlp_dynamics.get_intensity_parameters(nlp.parameters) if intensity_parameters.shape[0] == 1: # check if pulse duration is mapped for i in range(nlp.phase_idx + 1): @@ -252,8 +254,10 @@ def dynamics( for i in range(nlp.phase_idx + 1): intensity_stim_prev.append(intensity_parameters[i]) + dxdt_fun = nlp_dynamics.system_dynamics if nlp_dynamics else nlp.model.system_dynamics + return DynamicsEvaluation( - dxdt=nlp.model.system_dynamics( + dxdt=dxdt_fun( cn=states[0], f=states[1], t=time, diff --git a/cocofest/models/hmed2018_with_fatigue.py b/cocofest/models/hmed2018_with_fatigue.py index 4cbde9a4..7f4c3759 100644 --- a/cocofest/models/hmed2018_with_fatigue.py +++ b/cocofest/models/hmed2018_with_fatigue.py @@ -173,6 +173,7 @@ def dynamics( stochastic_variables: MX, nlp: NonLinearProgram, stim_apparition: list[float] = None, + nlp_dynamics: NonLinearProgram = None, ) -> DynamicsEvaluation: """ Functional electrical stimulation dynamic @@ -200,7 +201,8 @@ def dynamics( intensity_stim_prev = ( [] ) # Every stimulation intensity before the current phase, i.e.: the intensity of each phase - intensity_parameters = nlp.model.get_intensity_parameters(nlp.parameters) + intensity_parameters = nlp.model.get_intensity_parameters( + nlp.parameters) if nlp_dynamics is None else nlp_dynamics.get_intensity_parameters(nlp.parameters) if intensity_parameters.shape[0] == 1: # check if pulse duration is mapped for i in range(nlp.phase_idx + 1): @@ -209,8 +211,10 @@ def dynamics( for i in range(nlp.phase_idx + 1): intensity_stim_prev.append(intensity_parameters[i]) + dxdt_fun = nlp_dynamics.system_dynamics if nlp_dynamics else nlp.model.system_dynamics + return DynamicsEvaluation( - dxdt=nlp.model.system_dynamics( + dxdt=dxdt_fun( cn=states[0], f=states[1], a=states[2], diff --git a/cocofest/optimization/fes_ocp.py b/cocofest/optimization/fes_ocp.py index c1b9b61e..e6b53320 100644 --- a/cocofest/optimization/fes_ocp.py +++ b/cocofest/optimization/fes_ocp.py @@ -673,7 +673,7 @@ def _set_objective(n_stim, n_shooting, force_fourier_coef, end_node_tracking, cu objective_functions = ObjectiveList() if custom_objective: for i in range(len(custom_objective)): - objective_functions.add(custom_objective[0][i]) + objective_functions.add(custom_objective[i][0]) if force_fourier_coef is not None: for phase in range(n_stim): diff --git a/cocofest/optimization/fes_ocp_dynamics.py b/cocofest/optimization/fes_ocp_dynamics.py new file mode 100644 index 00000000..a0a309bd --- /dev/null +++ b/cocofest/optimization/fes_ocp_dynamics.py @@ -0,0 +1,267 @@ +import numpy as np + +from bioptim import ( + BoundsList, + ControlType, + DynamicsList, + InitialGuessList, + Objective, + ObjectiveList, + OdeSolver, + OptimalControlProgram, + PhaseDynamics, + OdeSolverBase, +) + +from cocofest import ( + DingModelFrequency, + DingModelFrequencyWithFatigue, + DingModelPulseDurationFrequency, + DingModelPulseDurationFrequencyWithFatigue, + DingModelIntensityFrequency, + DingModelIntensityFrequencyWithFatigue, + OcpFes, + FESActuatedBiorbdModel, +) + + +class FESActuatedBiorbdModelOCP: + + @staticmethod + def prepare_ocp(biorbd_model_path: str, + motion_type: str, + motion_data: list, + fes_muscle_model: DingModelFrequency + | DingModelFrequencyWithFatigue + | DingModelPulseDurationFrequency + | DingModelPulseDurationFrequencyWithFatigue + | DingModelIntensityFrequency + | DingModelIntensityFrequencyWithFatigue = None, + n_stim: int = None, + n_shooting: int = None, + final_time: int | float = None, + pulse_mode: str = "Single", + frequency: int | float = None, + round_down: bool = False, + time_min: float = None, + time_max: float = None, + time_bimapping: bool = False, + pulse_duration: int | float = None, + pulse_duration_min: int | float = None, + pulse_duration_max: int | float = None, + pulse_duration_bimapping: bool = False, + pulse_intensity: int | float = None, + pulse_intensity_min: int | float = None, + pulse_intensity_max: int | float = None, + pulse_intensity_bimapping: bool = False, + force_tracking: list = None, + end_node_tracking: int | float = None, + custom_objective: ObjectiveList = None, + use_sx: bool = True, + ode_solver: OdeSolverBase = OdeSolver.RK4(n_integration_steps=1), + control_type: ControlType = ControlType.CONSTANT, + n_threads: int = 1): + + """ + This definition prepares the ocp to be solved + . + Attributes + ---------- + fes_muscle_model: DingModelFrequency | DingModelFrequencyWithFatigue | DingModelPulseDurationFrequency | DingModelPulseDurationFrequencyWithFatigue | DingModelIntensityFrequency | DingModelIntensityFrequencyWithFatigue + The fes model type used for the ocp + n_stim: int + Number of stimulation that will occur during the ocp, it is as well refer as phases + n_shooting: int + Number of shooting point for each individual phases + final_time: float + Refers to the final time of the ocp + force_tracking: list[np.ndarray, np.ndarray] + List of time and associated force to track during ocp optimisation + end_node_tracking: int | float + Force objective value to reach at the last node + time_min: int | float + Minimum time for a phase + time_max: int | float + Maximum time for a phase + time_bimapping: bool + Set phase time constant + pulse_duration: int | float + Setting a chosen pulse time among phases + pulse_duration_min: int | float + Minimum pulse time for a phase + pulse_duration_max: int | float + Maximum pulse time for a phase + pulse_duration_bimapping: bool + Set pulse time constant among phases + pulse_intensity: int | float + Setting a chosen pulse intensity among phases + pulse_intensity_min: int | float + Minimum pulse intensity for a phase + pulse_intensity_max: int | float + Maximum pulse intensity for a phase + pulse_intensity_bimapping: bool + Set pulse intensity constant among phases + custom_objective: list[Objective] + Additional objective for the system + ode_solver: OdeSolver + The ode solver to use + use_sx: bool + The nature of the casadi variables. MX are used if False. + n_threads: int + The number of thread to use while solving (multi-threading if > 1) + """ + + OcpFes._sanity_check( + model=fes_muscle_model, + n_stim=n_stim, + n_shooting=n_shooting, + final_time=final_time, + pulse_mode=pulse_mode, + frequency=frequency, + time_min=time_min, + time_max=time_max, + time_bimapping=time_bimapping, + pulse_duration=pulse_duration, + pulse_duration_min=pulse_duration_min, + pulse_duration_max=pulse_duration_max, + pulse_duration_bimapping=pulse_duration_bimapping, + pulse_intensity=pulse_intensity, + pulse_intensity_min=pulse_intensity_min, + pulse_intensity_max=pulse_intensity_max, + pulse_intensity_bimapping=pulse_intensity_bimapping, + force_tracking=force_tracking, + end_node_tracking=end_node_tracking, + custom_objective=custom_objective, + use_sx=use_sx, + ode_solver=ode_solver, + n_threads=n_threads, + ) + + OcpFes._sanity_check_frequency(n_stim=n_stim, final_time=final_time, frequency=frequency, round_down=round_down) + + n_stim, final_time = OcpFes._build_phase_parameter( + n_stim=n_stim, final_time=final_time, frequency=frequency, pulse_mode=pulse_mode, round_down=round_down + ) + + force_fourier_coef = None if force_tracking is None else OcpFes._build_fourrier_coeff(force_tracking) + end_node_tracking = end_node_tracking + + n_shooting = [n_shooting] * n_stim + final_time_phase, constraints, phase_time_bimapping = OcpFes._build_phase_time( + final_time=final_time, + n_stim=n_stim, + pulse_mode=pulse_mode, + time_min=time_min, + time_max=time_max, + time_bimapping=time_bimapping, + ) + parameters, parameters_bounds, parameters_init, parameter_objectives = OcpFes._build_parameters( + model=fes_muscle_model, + n_stim=n_stim, + pulse_duration=pulse_duration, + pulse_duration_min=pulse_duration_min, + pulse_duration_max=pulse_duration_max, + pulse_duration_bimapping=pulse_duration_bimapping, + pulse_intensity=pulse_intensity, + pulse_intensity_min=pulse_intensity_min, + pulse_intensity_max=pulse_intensity_max, + pulse_intensity_bimapping=pulse_intensity_bimapping, + ) + + if len(constraints) == 0 and len(parameters) == 0: + raise ValueError( + "This is not an optimal control problem," + " add parameter to optimize or use the IvpFes method to build your problem" + ) + + bio_models = [FESActuatedBiorbdModel(name=None, + biorbd_path=biorbd_model_path, + muscles_model=fes_muscle_model) + for i in range(n_stim)] + + dynamics = FESActuatedBiorbdModelOCP._declare_dynamics(bio_models, n_stim) + x_bounds, x_init = OcpFes._set_bounds(fes_muscle_model, n_stim) + x_bounds, x_init = FESActuatedBiorbdModelOCP._set_bounds(bio_models, motion_type, motion_data, n_stim, x_bounds, x_init) + u_bounds, u_init = FESActuatedBiorbdModelOCP._set_controls(n_stim) + objective_functions = OcpFes._set_objective( + n_stim, n_shooting, force_fourier_coef, end_node_tracking, custom_objective + ) + + return OptimalControlProgram( + bio_model=bio_models, + dynamics=dynamics, + n_shooting=n_shooting, + phase_time=final_time_phase, + objective_functions=objective_functions, + time_phase_mapping=phase_time_bimapping, + x_init=x_init, + x_bounds=x_bounds, + u_init=u_init, + u_bounds=u_bounds, + constraints=constraints, + parameters=parameters, + parameter_bounds=parameters_bounds, + parameter_init=parameters_init, + parameter_objectives=parameter_objectives, + control_type=control_type, + use_sx=use_sx, + ode_solver=ode_solver, + n_threads=n_threads, + ) + + @staticmethod + def _declare_dynamics(bio_models, n_stim): + dynamics = DynamicsList() + for i in range(n_stim): + dynamics.add( + bio_models[i].declare_model_variables, + dynamic_function=bio_models[i].muscle_dynamic, + expand_dynamics=True, + expand_continuity=False, + phase=i, + phase_dynamics=PhaseDynamics.ONE_PER_NODE, + ) + return dynamics + + @staticmethod + def _set_bounds(bio_models, motion_type, motion_data, n_stim, x_bounds, x_init): + start_bounds = 0 + end_bounds = 0 + if motion_type == "start_end": + start_bounds = 3.14 / (180 / motion_data[0]) + end_bounds = 3.14 / (180 / motion_data[1]) + + for i in range(n_stim): + q_x_bounds = bio_models[i].bounds_from_ranges("q") + qdot_x_bounds = bio_models[i].bounds_from_ranges("qdot") + + if i == 0: + q_x_bounds[:, [0]] = start_bounds if motion_type == "start_end" else q_x_bounds[:, [0]] + qdot_x_bounds[:, [0]] = 0 # Start without any velocity + + if i == n_stim - 1: + q_x_bounds[:, [-1]] = end_bounds if motion_type == "start_end" else q_x_bounds[:, [-1]] + + x_bounds.add(key="q", bounds=q_x_bounds, phase=i) + x_bounds.add(key="qdot", bounds=qdot_x_bounds, phase=i) + + for i in range(n_stim): + x_init.add(key="q", initial_guess=[0] * bio_models[i].nb_q, phase=i) + + return x_bounds, x_init + + @staticmethod + def _set_controls(n_stim): + # Controls bounds + tau_min, tau_max, tau_init = [-20], [20], [0] + + u_bounds = BoundsList() + for i in range(n_stim): + u_bounds.add(key="tau", min_bound=tau_min, max_bound=tau_max, phase=i) + + # Controls initial guess + u_init = InitialGuessList() + for i in range(n_stim): + u_init.add(key="tau", initial_guess=tau_init, phase=i) + + return u_bounds, u_init diff --git a/examples/getting_started/frequency_optimization_musculoskeletal_dynamic.py b/examples/getting_started/frequency_optimization_musculoskeletal_dynamic.py new file mode 100644 index 00000000..afb545da --- /dev/null +++ b/examples/getting_started/frequency_optimization_musculoskeletal_dynamic.py @@ -0,0 +1,37 @@ +""" +This example will do a 10 stimulation example with Ding's 2003 frequency model. +This ocp was build to produce a elbow motion from 5 to 120 degrees. +The stimulation frequency will be optimized between 10 and 100 Hz to satisfy the flexion and minimizing required +elbow torque control. +""" + +from bioptim import ( + ObjectiveFcn, + ObjectiveList, + Solver, +) + +from cocofest import DingModelFrequencyWithFatigue, FESActuatedBiorbdModelOCP + + +objective_functions = ObjectiveList() +n_stim = 10 +for i in range(n_stim): + objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=1, quadratic=True, phase=i) + +ocp = FESActuatedBiorbdModelOCP.prepare_ocp(biorbd_model_path="/arm26_biceps_1ddl.bioMod", + motion_type="start_end", + motion_data=[5, 120], + fes_muscle_model=DingModelFrequencyWithFatigue(), + n_stim=n_stim, + n_shooting=10, + final_time=1, + time_min=0.01, + time_max=0.1, + time_bimapping=True, + custom_objective=objective_functions, + ) + +sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) +sol.animate() +sol.graphs(show_bounds=False) diff --git a/examples/getting_started/musculoskeletal_dynamic_1muscle.py b/examples/getting_started/musculoskeletal_dynamic_1muscle.py deleted file mode 100644 index a4cb7936..00000000 --- a/examples/getting_started/musculoskeletal_dynamic_1muscle.py +++ /dev/null @@ -1,226 +0,0 @@ -import numpy as np - -from bioptim import ( - BoundsList, - ConstraintList, - ConstraintFcn, - OdeSolverBase, - BiMapping, - Node, - ControlType, - DynamicsList, - InitialGuessList, - InterpolationType, - ObjectiveFcn, - PhaseDynamics, - ObjectiveList, - OdeSolver, - OptimalControlProgram, - Solver, -) - -from cocofest import DingModelFrequency, FESActuatedBiorbdModel - -class FESActuatedBiorbdModelOCP(OptimalControlProgram): - def __init__(self, biorbd_model_path: str, - muscles_model: DingModelFrequency(), - n_stim: int, - final_time: float, - n_shooting: int, - time_min: float = None, - time_max: float = None, - time_bimapping: bool = False, - ode_solver: OdeSolverBase = OdeSolver.RK4(n_integration_steps=1), - control_type: ControlType = ControlType.CONSTANT,): - - """ - Prepare the ocp - - Parameters - ---------- - biorbd_model_path: str - The path to the bioMod - final_time: float - The time at the final node - n_shooting: int - The number of shooting points - ode_solver: OdeSolverBase - The ode solver to use - - Returns - ------- - The OptimalControlProgram ready to be solved - """ - bio_models = [FESActuatedBiorbdModel(name="arm26_only_biceps", - biorbd_path=biorbd_model_path, - muscles_model=muscles_model) - for i in range(n_stim)] - - nq = bio_models[0].bio_model.nb_q - nqdot = bio_models[0].bio_model.nb_qdot - target = np.zeros((nq + nqdot, 1)) - target[1, 0] = 3.14 - - n_shooting = [n_shooting] * n_stim - - constraints = ConstraintList() - final_time_phase = None - # parameter_bimapping = BiMappingList() - phase_time_bimapping = None - - if time_min is None and time_max is None: - step = final_time / n_stim - final_time_phase = (step,) - for i in range(n_stim - 1): - final_time_phase = final_time_phase + (step,) - - else: - for i in range(n_stim): - constraints.add( - ConstraintFcn.TIME_CONSTRAINT, - node=Node.END, - min_bound=time_min, - max_bound=time_max, - phase=i, - ) - - if time_bimapping is True: - phase_time_bimapping = BiMapping(to_second=[0 for _ in range(n_stim)], to_first=[0]) - - final_time_phase = [time_min] * n_stim - - # Add objective functions - objective_functions = ObjectiveList() - for i in range(n_stim): - objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=1, quadratic=True, phase=i) - - # objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_STATE, key="qdot", weight=1, quadratic=True, phase=n_stim - 1) - - # Dynamics - dynamics = DynamicsList() - for i in range(n_stim): - dynamics.add( - bio_models[i].declare_model_variables, - dynamic_function=bio_models[i].muscle_dynamic, - expand_dynamics=True, - expand_continuity=False, - phase=i, - phase_dynamics=PhaseDynamics.ONE_PER_NODE, - ) - - # States bounds - x_bounds = BoundsList() - - muscle_state_list = muscles_model.name_dof - starting_bounds, min_bounds, max_bounds = ( - muscles_model.standard_rest_values(), - muscles_model.standard_rest_values(), - muscles_model.standard_rest_values(), - ) - - for j in range(len(muscle_state_list)): - if muscle_state_list[j] == "Cn": - max_bounds[j] = 10 - elif muscle_state_list[j] == "F": - max_bounds[j] = 1000 - elif muscle_state_list[j] == "Tau1" or muscle_state_list[j] == "Km": - max_bounds[j] = 1 - elif muscle_state_list[j] == "A": - min_bounds[j] = 0 - - starting_bounds_min = np.concatenate((starting_bounds, min_bounds, min_bounds), axis=1) - starting_bounds_max = np.concatenate((starting_bounds, max_bounds, max_bounds), axis=1) - middle_bound_min = np.concatenate((min_bounds, min_bounds, min_bounds), axis=1) - middle_bound_max = np.concatenate((max_bounds, max_bounds, max_bounds), axis=1) - - for k in range(n_stim): - for l in range(len(muscle_state_list)): - if k == 0: - x_bounds.add( - key=muscle_state_list[l], - min_bound=np.array([starting_bounds_min[l]]), - max_bound=np.array([starting_bounds_max[l]]), - phase=k, - interpolation=InterpolationType.CONSTANT_WITH_FIRST_AND_LAST_DIFFERENT, - ) - else: - x_bounds.add( - key=muscle_state_list[l], - min_bound=np.array([middle_bound_min[l]]), - max_bound=np.array([middle_bound_max[l]]), - phase=k, - interpolation=InterpolationType.CONSTANT_WITH_FIRST_AND_LAST_DIFFERENT, - ) - - for i in range(n_stim): - q_x_bounds = bio_models[i].bounds_from_ranges("q") - qdot_x_bounds = bio_models[i].bounds_from_ranges("qdot") - - if i == 0: - q_x_bounds[:, [0]] = 3.14/(180/5) # Start at 5° - qdot_x_bounds[:, [0]] = 0 # Start without any velocity - - if i == n_stim-1: - q_x_bounds[:, [-1]] = 3.14/2 # End at 90° - - # if i > n_stim-5: - # q_x_bounds.min[0, [0, 1, 2]] = 3.14 / 2 - 0.2 - # q_x_bounds.max[0, [0, 1, 2]] = 3.14 / 2 + 0.2 - - x_bounds.add(key="q", bounds=q_x_bounds, phase=i) - x_bounds.add(key="qdot", bounds=qdot_x_bounds, phase=i) - - x_init = InitialGuessList() - for i in range(n_stim): - muscle_state_list = muscles_model.name_dof - for k in range(len(muscle_state_list)): - x_init.add(key=muscle_state_list[k], # + "_" + muscles_name_list[j], - initial_guess=muscles_model.standard_rest_values()[k], phase=i) - x_init.add(key="q", initial_guess=[0] * bio_models[i].nb_q, phase=i) - - # Controls bounds - tau_min, tau_max, tau_init = [-20], [20], [0] - - u_bounds = BoundsList() - for i in range(n_stim): - u_bounds.add(key="tau", min_bound=tau_min, max_bound=tau_max, phase=i) - - # Controls initial guess - u_init = InitialGuessList() - for i in range(n_stim): - u_init.add(key="tau", initial_guess=tau_init, phase=i) - - super().__init__( - bio_model=bio_models, - dynamics=dynamics, - n_shooting=n_shooting, - phase_time=final_time_phase, - x_bounds=x_bounds, - u_bounds=u_bounds, - x_init=x_init, - u_init=u_init, - objective_functions=objective_functions, - constraints=constraints, - time_phase_mapping=phase_time_bimapping, - ode_solver=ode_solver, - control_type=control_type, - use_sx=True, - ) - - -if __name__ == "__main__": - ocp = FESActuatedBiorbdModelOCP("/arm26_biceps_1ddl.bioMod", - muscles_model=DingModelFrequency(), - final_time=1, - n_shooting=10, - n_stim=10, - time_min=0.01, - time_max=0.1, - time_bimapping=True, - ) - - sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) - # Solver.IPOPT(show_online_optim=True) - # sol.graphs(show_bounds=True) - sol.animate() - sol.graphs(show_bounds=False) diff --git a/examples/getting_started/pulse_duration_optimization_musculoskeletal_dynamic.py b/examples/getting_started/pulse_duration_optimization_musculoskeletal_dynamic.py new file mode 100644 index 00000000..76abe08e --- /dev/null +++ b/examples/getting_started/pulse_duration_optimization_musculoskeletal_dynamic.py @@ -0,0 +1,41 @@ +""" +This example will do a 10 stimulation example with Ding's 2007 frequency model. +This ocp was build to produce a elbow motion from 5 to 120 degrees. +The stimulation frequency will be optimized between 10 and 100 Hz and pulse duration between minimal sensitivity +threshold and 600us to satisfy the flexion and minimizing required elbow torque control. +""" + +from bioptim import ( + ObjectiveFcn, + ObjectiveList, + Solver, +) + +from cocofest import DingModelPulseDurationFrequencyWithFatigue, FESActuatedBiorbdModelOCP + + +objective_functions = ObjectiveList() +n_stim = 10 +for i in range(n_stim): + objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=1, quadratic=True, phase=i) + +minimum_pulse_duration = DingModelPulseDurationFrequencyWithFatigue().pd0 +ocp = FESActuatedBiorbdModelOCP.prepare_ocp(biorbd_model_path="/arm26_biceps_1ddl.bioMod", + motion_type="start_end", + motion_data=[5, 120], + fes_muscle_model=DingModelPulseDurationFrequencyWithFatigue(), + n_stim=n_stim, + n_shooting=10, + final_time=1, + time_min=0.01, + time_max=0.1, + time_bimapping=True, + pulse_duration_min=minimum_pulse_duration, + pulse_duration_max=0.0006, + pulse_duration_bimapping=False, + custom_objective=objective_functions, + ) + +sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) +sol.animate() +sol.graphs(show_bounds=False) diff --git a/examples/getting_started/pulse_intensity_optimization_musculoskeletal_dynamic.py b/examples/getting_started/pulse_intensity_optimization_musculoskeletal_dynamic.py new file mode 100644 index 00000000..06eca5d5 --- /dev/null +++ b/examples/getting_started/pulse_intensity_optimization_musculoskeletal_dynamic.py @@ -0,0 +1,42 @@ +""" +This example will do a 10 stimulation example with Ding's 2003 frequency model associated to Bakir's 2022 work. +This ocp was build to produce a elbow motion from 5 to 120 degrees. +The stimulation frequency will be optimized between 10 and 100 Hz and pulse intensity between minimal sensitivity +threshold and 130mA to satisfy the flexion and minimizing required elbow torque control. +""" + +from bioptim import ( + ObjectiveFcn, + ObjectiveList, + Solver, +) + +from cocofest import DingModelIntensityFrequencyWithFatigue, FESActuatedBiorbdModelOCP + + +objective_functions = ObjectiveList() +n_stim = 10 +for i in range(n_stim): + objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=1, quadratic=True, phase=i) + +minimum_pulse_intensity = DingModelIntensityFrequencyWithFatigue.min_pulse_intensity(DingModelIntensityFrequencyWithFatigue()) + +ocp = FESActuatedBiorbdModelOCP.prepare_ocp(biorbd_model_path="/arm26_biceps_1ddl.bioMod", + motion_type="start_end", + motion_data=[5, 120], + fes_muscle_model=DingModelIntensityFrequencyWithFatigue(), + n_stim=n_stim, + n_shooting=10, + final_time=1, + time_min=0.01, + time_max=0.1, + time_bimapping=True, + pulse_intensity_min=minimum_pulse_intensity, + pulse_intensity_max=130, + pulse_intensity_bimapping=False, + custom_objective=objective_functions, + ) + +sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) +sol.animate() +sol.graphs(show_bounds=False) From 2de8a5673efab7d3dfe0d7f3d47043f8c9b5c515 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Mon, 22 Jan 2024 17:42:13 -0500 Subject: [PATCH 05/63] black --- cocofest/models/ding2003.py | 37 ++-------- cocofest/models/ding2003_with_fatigue.py | 28 ++------ cocofest/models/ding2007.py | 21 ++---- cocofest/models/ding2007_with_fatigue.py | 23 ++----- cocofest/models/dynamical_model.py | 68 +++++++++++-------- cocofest/models/hmed2018.py | 13 ++-- cocofest/models/hmed2018_with_fatigue.py | 31 +++------ cocofest/optimization/fes_multi_start.py | 7 +- cocofest/optimization/fes_ocp.py | 6 +- examples/getting_started/model_integration.py | 8 +-- .../muscle_model_identification.py | 7 +- .../getting_started/pulse_mode_example.py | 14 +--- .../truncation/summation_truncation_graph.py | 10 +-- tests/shard1/test_ivp.py | 30 ++------ tests/shard1/test_ocp_build.py | 51 ++------------ tests/shard1/test_ocp_id.py | 34 ++-------- 16 files changed, 99 insertions(+), 289 deletions(-) diff --git a/cocofest/models/ding2003.py b/cocofest/models/ding2003.py index 948e7ecc..c0cc8c98 100644 --- a/cocofest/models/ding2003.py +++ b/cocofest/models/ding2003.py @@ -27,9 +27,7 @@ class DingModelFrequency: """ def __init__( - self, - name: str = "ding2003", - sum_stim_truncation: int = None, + self, name: str = "ding2003", sum_stim_truncation: int = None, ): self._name = name self._sum_stim_truncation = sum_stim_truncation @@ -94,13 +92,7 @@ def name(self) -> None | str: return self._name # ---- Model's dynamics ---- # - def system_dynamics( - self, - cn: MX, - f: MX, - t: MX = None, - t_stim_prev: list[MX] | list[float] = None, - ) -> MX: + def system_dynamics(self, cn: MX, f: MX, t: MX = None, t_stim_prev: list[MX] | list[float] = None,) -> MX: """ The system dynamics is the function that describes the models. @@ -264,14 +256,7 @@ def dynamics( dxdt_fun = nlp_dynamics.system_dynamics if nlp_dynamics else nlp.model.system_dynamics - return DynamicsEvaluation( - dxdt=dxdt_fun( - cn=states[0], - f=states[1], - t=time, - t_stim_prev=stim_apparition, - ), - ) + return DynamicsEvaluation(dxdt=dxdt_fun(cn=states[0], f=states[1], t=time, t_stim_prev=stim_apparition,),) def declare_ding_variables(self, ocp: OptimalControlProgram, nlp: NonLinearProgram): """ @@ -316,13 +301,7 @@ def configure_ca_troponin_complex( name = "Cn" name_cn = [name] ConfigureProblem.configure_new_variable( - name, - name_cn, - ocp, - nlp, - as_states, - as_controls, - as_states_dot, + name, name_cn, ocp, nlp, as_states, as_controls, as_states_dot, ) @staticmethod @@ -352,13 +331,7 @@ def configure_force( name = "F" name_f = [name] ConfigureProblem.configure_new_variable( - name, - name_f, - ocp, - nlp, - as_states, - as_controls, - as_states_dot, + name, name_f, ocp, nlp, as_states, as_controls, as_states_dot, ) @staticmethod diff --git a/cocofest/models/ding2003_with_fatigue.py b/cocofest/models/ding2003_with_fatigue.py index 31df7521..75604882 100644 --- a/cocofest/models/ding2003_with_fatigue.py +++ b/cocofest/models/ding2003_with_fatigue.py @@ -27,9 +27,7 @@ class DingModelFrequencyWithFatigue(DingModelFrequency): """ def __init__( - self, - name: str = "ding2003_with_fatigue", - sum_stim_truncation: int = None, + self, name: str = "ding2003_with_fatigue", sum_stim_truncation: int = None, ): super().__init__(name=name, sum_stim_truncation=sum_stim_truncation) self._with_fatigue = True @@ -275,13 +273,7 @@ def configure_scaling_factor( name = "A" name_a = [name] ConfigureProblem.configure_new_variable( - name, - name_a, - ocp, - nlp, - as_states, - as_controls, - as_states_dot, + name, name_a, ocp, nlp, as_states, as_controls, as_states_dot, ) @staticmethod @@ -311,13 +303,7 @@ def configure_time_state_force_no_cross_bridge( name = "Tau1" name_tau1 = [name] ConfigureProblem.configure_new_variable( - name, - name_tau1, - ocp, - nlp, - as_states, - as_controls, - as_states_dot, + name, name_tau1, ocp, nlp, as_states, as_controls, as_states_dot, ) @staticmethod @@ -347,11 +333,5 @@ def configure_cross_bridges( name = "Km" name_km = [name] ConfigureProblem.configure_new_variable( - name, - name_km, - ocp, - nlp, - as_states, - as_controls, - as_states_dot, + name, name_km, ocp, nlp, as_states, as_controls, as_states_dot, ) diff --git a/cocofest/models/ding2007.py b/cocofest/models/ding2007.py index 2fc4b49c..e9193731 100644 --- a/cocofest/models/ding2007.py +++ b/cocofest/models/ding2007.py @@ -67,12 +67,7 @@ def serialize(self) -> tuple[Callable, dict]: ) def system_dynamics( - self, - cn: MX, - f: MX, - t: MX = None, - t_stim_prev: list[MX] | list[float] = None, - impulse_time: MX = None, + self, cn: MX, f: MX, t: MX = None, t_stim_prev: list[MX] | list[float] = None, impulse_time: MX = None, ) -> MX: """ The system dynamics is the function that describes the models. @@ -178,7 +173,11 @@ def dynamics( ------- The derivative of the states in the tuple[MX] format """ - pulse_duration_parameters = nlp.model.get_pulse_duration_parameters(nlp.parameters) if nlp_dynamics is None else nlp_dynamics.get_pulse_duration_parameters(nlp.parameters) + pulse_duration_parameters = ( + nlp.model.get_pulse_duration_parameters(nlp.parameters) + if nlp_dynamics is None + else nlp_dynamics.get_pulse_duration_parameters(nlp.parameters) + ) if pulse_duration_parameters.shape[0] == 1: # check if pulse duration is mapped impulse_time = pulse_duration_parameters[0] @@ -188,13 +187,7 @@ def dynamics( dxdt_fun = nlp_dynamics.system_dynamics if nlp_dynamics else nlp.model.system_dynamics return DynamicsEvaluation( - dxdt=dxdt_fun( - cn=states[0], - f=states[1], - t=time, - t_stim_prev=stim_apparition, - impulse_time=impulse_time, - ), + dxdt=dxdt_fun(cn=states[0], f=states[1], t=time, t_stim_prev=stim_apparition, impulse_time=impulse_time,), defects=None, ) diff --git a/cocofest/models/ding2007_with_fatigue.py b/cocofest/models/ding2007_with_fatigue.py index 623b17b2..47e9aacb 100644 --- a/cocofest/models/ding2007_with_fatigue.py +++ b/cocofest/models/ding2007_with_fatigue.py @@ -182,8 +182,11 @@ def dynamics( ------- The derivative of the states in the tuple[MX] format """ - pulse_duration_parameters = nlp.model.get_pulse_duration_parameters( - nlp.parameters) if nlp_dynamics is None else nlp_dynamics.get_pulse_duration_parameters(nlp.parameters) + pulse_duration_parameters = ( + nlp.model.get_pulse_duration_parameters(nlp.parameters) + if nlp_dynamics is None + else nlp_dynamics.get_pulse_duration_parameters(nlp.parameters) + ) if pulse_duration_parameters.shape[0] == 1: # check if pulse duration is mapped impulse_time = pulse_duration_parameters[0] @@ -250,13 +253,7 @@ def configure_time_state_force_no_cross_bridge( name = "Tau1" name_tau1 = [name] ConfigureProblem.configure_new_variable( - name, - name_tau1, - ocp, - nlp, - as_states, - as_controls, - as_states_dot, + name, name_tau1, ocp, nlp, as_states, as_controls, as_states_dot, ) @staticmethod @@ -286,11 +283,5 @@ def configure_cross_bridges( name = "Km" name_km = [name] ConfigureProblem.configure_new_variable( - name, - name_km, - ocp, - nlp, - as_states, - as_controls, - as_states_dot, + name, name_km, ocp, nlp, as_states, as_controls, as_states_dot, ) diff --git a/cocofest/models/dynamical_model.py b/cocofest/models/dynamical_model.py index 8b1501bb..c15f257a 100644 --- a/cocofest/models/dynamical_model.py +++ b/cocofest/models/dynamical_model.py @@ -15,11 +15,13 @@ class FESActuatedBiorbdModel(BiorbdModel): - def __init__(self, name: str = None, - biorbd_path: str = None, - muscles_model: DingModelFrequency() = None, - # muscles_name: list = None # TODO : for loop to create different muscles - ): + def __init__( + self, + name: str = None, + biorbd_path: str = None, + muscles_model: DingModelFrequency() = None, + # muscles_name: list = None # TODO : for loop to create different muscles + ): super().__init__(biorbd_path) self._name = name self.bio_model = BiorbdModel(biorbd_path) @@ -60,8 +62,8 @@ def serialize(self) -> tuple[Callable, dict]: @property def name_dof(self) -> list[str]: return self.bio_stim_model[0].name_dof - # self.bio_model[0].name_dof - # ["Cn", "F", "A", "Tau1", "Km", "q", "qdot", "tau"] + # self.bio_model[0].name_dof + # ["Cn", "F", "A", "Tau1", "Km", "q", "qdot", "tau"] def muscle_name_dof(self) -> list[str]: return self.muscles_dynamics_model.name_dof @@ -127,11 +129,19 @@ def muscle_dynamic( # muscles_tau += nlp.model.bio_model.model.muscularJointTorque(muscle_forces, q, qdot).to_mx() # dxdt_muscle_list = vertcat(dxdt_muscle_list, muscle_dxdt) - muscle_dxdt = muscle_model.dynamics(time, states, controls, parameters, stochastic_variables, nlp, stim_apparition, - nlp_dynamics=nlp.model.muscles_dynamics_model).dxdt + muscle_dxdt = muscle_model.dynamics( + time, + states, + controls, + parameters, + stochastic_variables, + nlp, + stim_apparition, + nlp_dynamics=nlp.model.muscles_dynamics_model, + ).dxdt muscle_forces = DynamicsFunctions.get(nlp.states["F"], states) - muscles_tau += - nlp.model.bio_model.model.musclesLengthJacobian(q).to_mx().T @ muscle_forces + muscles_tau += -nlp.model.bio_model.model.musclesLengthJacobian(q).to_mx().T @ muscle_forces # muscles_tau += nlp.model.bio_model.model.muscularJointTorque(muscle_forces, q, qdot).to_mx() dxdt_muscle_list = vertcat(dxdt_muscle_list, muscle_dxdt) @@ -156,18 +166,19 @@ def declare_model_variables(self, ocp: OptimalControlProgram, nlp: NonLinearProg """ # for i in range(len(self.muscles_dynamics_model)): - # self.muscles_dynamics_model[i].configure_ca_troponin_complex(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscles_name[i]) - # TODO : make different muscle for biceps and triceps... such as DingModelFrequency has different parameters value + # self.muscles_dynamics_model[i].configure_ca_troponin_complex(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscles_name[i]) + # TODO : make different muscle for biceps and triceps... such as DingModelFrequency has different parameters value self.muscles_dynamics_model.configure_ca_troponin_complex(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) self.muscles_dynamics_model.configure_force(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) - if 'A' in self.muscles_dynamics_model.name_dof: + if "A" in self.muscles_dynamics_model.name_dof: self.muscles_dynamics_model.configure_scaling_factor(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) - if 'Tau1' in self.muscles_dynamics_model.name_dof: + if "Tau1" in self.muscles_dynamics_model.name_dof: self.muscles_dynamics_model.configure_time_state_force_no_cross_bridge( - ocp=ocp, nlp=nlp, as_states=True, as_controls=False) - if 'Km' in self.muscles_dynamics_model.name_dof: + ocp=ocp, nlp=nlp, as_states=True, as_controls=False + ) + if "Km" in self.muscles_dynamics_model.name_dof: self.muscles_dynamics_model.configure_cross_bridges(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) # TODO : for fatigue model @@ -183,8 +194,13 @@ def declare_model_variables(self, ocp: OptimalControlProgram, nlp: NonLinearProg time_type = "mx" if "time" in ocp.parameters.keys() else None stim_apparition = [ocp.node_time(phase_idx=i, node_idx=0, type=time_type) for i in range(nlp.phase_idx + 1)] - ConfigureProblem.configure_dynamics_function(ocp, nlp, dyn_func=self.muscle_dynamic, muscle_model=self.muscles_dynamics_model, stim_apparition=stim_apparition) - + ConfigureProblem.configure_dynamics_function( + ocp, + nlp, + dyn_func=self.muscle_dynamic, + muscle_model=self.muscles_dynamics_model, + stim_apparition=stim_apparition, + ) @staticmethod def configure_q(ocp, nlp, as_states: bool, as_controls: bool, as_states_dot: bool = False): @@ -204,9 +220,7 @@ def configure_q(ocp, nlp, as_states: bool, as_controls: bool, as_states_dot: boo """ name = "q" name_q = [name] - ConfigureProblem.configure_new_variable( - name, name_q, ocp, nlp, as_states, as_controls, as_states_dot - ) + ConfigureProblem.configure_new_variable(name, name_q, ocp, nlp, as_states, as_controls, as_states_dot) @staticmethod def configure_qdot(ocp, nlp, as_states: bool, as_controls: bool, as_states_dot: bool = False): @@ -227,9 +241,7 @@ def configure_qdot(ocp, nlp, as_states: bool, as_controls: bool, as_states_dot: name = "qdot" name_qdot = [name] - ConfigureProblem.configure_new_variable( - name, name_qdot, ocp, nlp, as_states, as_controls, as_states_dot - ) + ConfigureProblem.configure_new_variable(name, name_qdot, ocp, nlp, as_states, as_controls, as_states_dot) @staticmethod def configure_tau(ocp, nlp, as_states: bool, as_controls: bool, fatigue: FatigueList = None): @@ -250,10 +262,8 @@ def configure_tau(ocp, nlp, as_states: bool, as_controls: bool, fatigue: Fatigue name = "tau" name_tau = ["tau"] - ConfigureProblem.configure_new_variable( - name, name_tau, ocp, nlp, as_states, as_controls, fatigue=fatigue - ) + ConfigureProblem.configure_new_variable(name, name_tau, ocp, nlp, as_states, as_controls, fatigue=fatigue) + if __name__ == "__main__": - FESActuatedBiorbdModel(biorbd_path="msk_model/arm26_unmesh.bioMod", - muscles_model=DingModelFrequency()) \ No newline at end of file + FESActuatedBiorbdModel(biorbd_path="msk_model/arm26_unmesh.bioMod", muscles_model=DingModelFrequency()) diff --git a/cocofest/models/hmed2018.py b/cocofest/models/hmed2018.py index 69284b4e..5e184ea1 100644 --- a/cocofest/models/hmed2018.py +++ b/cocofest/models/hmed2018.py @@ -244,8 +244,11 @@ def dynamics( intensity_stim_prev = ( [] ) # Every stimulation intensity before the current phase, i.e.: the intensity of each phase - intensity_parameters = nlp.model.get_intensity_parameters( - nlp.parameters) if nlp_dynamics is None else nlp_dynamics.get_intensity_parameters(nlp.parameters) + intensity_parameters = ( + nlp.model.get_intensity_parameters(nlp.parameters) + if nlp_dynamics is None + else nlp_dynamics.get_intensity_parameters(nlp.parameters) + ) if intensity_parameters.shape[0] == 1: # check if pulse duration is mapped for i in range(nlp.phase_idx + 1): @@ -258,11 +261,7 @@ def dynamics( return DynamicsEvaluation( dxdt=dxdt_fun( - cn=states[0], - f=states[1], - t=time, - t_stim_prev=stim_apparition, - intensity_stim=intensity_stim_prev, + cn=states[0], f=states[1], t=time, t_stim_prev=stim_apparition, intensity_stim=intensity_stim_prev, ), defects=None, ) diff --git a/cocofest/models/hmed2018_with_fatigue.py b/cocofest/models/hmed2018_with_fatigue.py index 7f4c3759..391ad727 100644 --- a/cocofest/models/hmed2018_with_fatigue.py +++ b/cocofest/models/hmed2018_with_fatigue.py @@ -201,8 +201,11 @@ def dynamics( intensity_stim_prev = ( [] ) # Every stimulation intensity before the current phase, i.e.: the intensity of each phase - intensity_parameters = nlp.model.get_intensity_parameters( - nlp.parameters) if nlp_dynamics is None else nlp_dynamics.get_intensity_parameters(nlp.parameters) + intensity_parameters = ( + nlp.model.get_intensity_parameters(nlp.parameters) + if nlp_dynamics is None + else nlp_dynamics.get_intensity_parameters(nlp.parameters) + ) if intensity_parameters.shape[0] == 1: # check if pulse duration is mapped for i in range(nlp.phase_idx + 1): @@ -273,13 +276,7 @@ def configure_scaling_factor( name = "A" name_a = [name] ConfigureProblem.configure_new_variable( - name, - name_a, - ocp, - nlp, - as_states, - as_controls, - as_states_dot, + name, name_a, ocp, nlp, as_states, as_controls, as_states_dot, ) @staticmethod @@ -309,13 +306,7 @@ def configure_time_state_force_no_cross_bridge( name = "Tau1" name_tau1 = [name] ConfigureProblem.configure_new_variable( - name, - name_tau1, - ocp, - nlp, - as_states, - as_controls, - as_states_dot, + name, name_tau1, ocp, nlp, as_states, as_controls, as_states_dot, ) @staticmethod @@ -345,11 +336,5 @@ def configure_cross_bridges( name = "Km" name_km = [name] ConfigureProblem.configure_new_variable( - name, - name_km, - ocp, - nlp, - as_states, - as_controls, - as_states_dot, + name, name_km, ocp, nlp, as_states, as_controls, as_states_dot, ) diff --git a/cocofest/optimization/fes_multi_start.py b/cocofest/optimization/fes_multi_start.py index 2359c122..793d1673 100644 --- a/cocofest/optimization/fes_multi_start.py +++ b/cocofest/optimization/fes_multi_start.py @@ -328,12 +328,7 @@ def construct_filepath(save_path, combinatorial_parameters): " DingModelIntensityFrequency", ) - def save_results( - self, - sol: Solution, - *combinatorial_parameters, - **extra_parameters, - ) -> None: + def save_results(self, sol: Solution, *combinatorial_parameters, **extra_parameters,) -> None: """ Callback of the post_optimization_callback, this can be used to save the results diff --git a/cocofest/optimization/fes_ocp.py b/cocofest/optimization/fes_ocp.py index e6b53320..16d73d9f 100644 --- a/cocofest/optimization/fes_ocp.py +++ b/cocofest/optimization/fes_ocp.py @@ -454,11 +454,7 @@ def _build_phase_time(final_time, n_stim, pulse_mode, time_min, time_max, time_b else: for i in range(n_stim): constraints.add( - ConstraintFcn.TIME_CONSTRAINT, - node=Node.END, - min_bound=time_min, - max_bound=time_max, - phase=i, + ConstraintFcn.TIME_CONSTRAINT, node=Node.END, min_bound=time_min, max_bound=time_max, phase=i, ) if time_bimapping is True: diff --git a/examples/getting_started/model_integration.py b/examples/getting_started/model_integration.py index 703d17cf..5e36616d 100644 --- a/examples/getting_started/model_integration.py +++ b/examples/getting_started/model_integration.py @@ -8,13 +8,7 @@ # --- Build ocp --- # # This problem was build to be integrated and has no objectives nor parameter to optimize. -ivp = IvpFes( - model=DingModelFrequencyWithFatigue(), - n_stim=10, - n_shooting=20, - final_time=1, - use_sx=True, -) +ivp = IvpFes(model=DingModelFrequencyWithFatigue(), n_stim=10, n_shooting=20, final_time=1, use_sx=True,) # Creating the solution from the initial guess sol_from_initial_guess = Solution.from_initial_guess(ivp, [ivp.x_init, ivp.u_init, ivp.p_init, ivp.s_init]) diff --git a/examples/getting_started/muscle_model_identification.py b/examples/getting_started/muscle_model_identification.py index ca7c86b9..07c7e1a1 100644 --- a/examples/getting_started/muscle_model_identification.py +++ b/examples/getting_started/muscle_model_identification.py @@ -420,12 +420,7 @@ identified_time_list = [] ivp_from_identification = IvpFes( - model=identified_model, - n_stim=10, - n_shooting=10, - final_time=1, - use_sx=True, - pulse_intensity=pulse_intensity_values, + model=identified_model, n_stim=10, n_shooting=10, final_time=1, use_sx=True, pulse_intensity=pulse_intensity_values, ) # Creating the solution from the initial guess diff --git a/examples/getting_started/pulse_mode_example.py b/examples/getting_started/pulse_mode_example.py index 6bc00297..7074c9f3 100644 --- a/examples/getting_started/pulse_mode_example.py +++ b/examples/getting_started/pulse_mode_example.py @@ -12,12 +12,7 @@ # This example shows how to create a problem with doublet pulses. # The stimulation won't be optimized. ivp = IvpFes( - model=DingModelFrequencyWithFatigue(), - n_stim=20, - n_shooting=10, - final_time=1, - pulse_mode="Doublet", - use_sx=True, + model=DingModelFrequencyWithFatigue(), n_stim=20, n_shooting=10, final_time=1, pulse_mode="Doublet", use_sx=True, ) # Creating the solution from the initial guess @@ -44,12 +39,7 @@ # --- Build ocp --- # # This example shows how to create a problem with triplet pulses. ivp = IvpFes( - model=DingModelFrequencyWithFatigue(), - n_stim=30, - n_shooting=10, - final_time=1, - pulse_mode="Triplet", - use_sx=True, + model=DingModelFrequencyWithFatigue(), n_stim=30, n_shooting=10, final_time=1, pulse_mode="Triplet", use_sx=True, ) # Creating the solution from the initial guess diff --git a/examples/sensitivity/truncation/summation_truncation_graph.py b/examples/sensitivity/truncation/summation_truncation_graph.py index 95713a7a..3d2adb0d 100644 --- a/examples/sensitivity/truncation/summation_truncation_graph.py +++ b/examples/sensitivity/truncation/summation_truncation_graph.py @@ -151,15 +151,9 @@ ) elif computation_time_color_bar_scale == "same": - cbar2 = fig.colorbar( - im3, - ax=axs[1], - label="Computation time (s)", - ticks=[3.033, 4, 5, 6, 7, 8, 9, 10.038], - ) + cbar2 = fig.colorbar(im3, ax=axs[1], label="Computation time (s)", ticks=[3.033, 4, 5, 6, 7, 8, 9, 10.038],) cbar2.ax.set_yticklabels( - [3.033, 4, 5, 6, 7, 8, 9, 10.038], - style="italic", + [3.033, 4, 5, 6, 7, 8, 9, 10.038], style="italic", ) axs[0].set_xlabel("Frequency (Hz)") diff --git a/tests/shard1/test_ivp.py b/tests/shard1/test_ivp.py index 4aea6463..f210ebce 100644 --- a/tests/shard1/test_ivp.py +++ b/tests/shard1/test_ivp.py @@ -39,14 +39,7 @@ def test_ding2003_ivp(model): @pytest.mark.parametrize("model", [DingModelPulseDurationFrequency(), DingModelPulseDurationFrequencyWithFatigue()]) @pytest.mark.parametrize("pulse_duration", [0.0003, [0.0003, 0.0004, 0.0005]]) def test_ding2007_ivp(model, pulse_duration): - ivp = IvpFes( - model=model, - n_stim=3, - n_shooting=10, - final_time=0.3, - pulse_duration=pulse_duration, - use_sx=True, - ) + ivp = IvpFes(model=model, n_stim=3, n_shooting=10, final_time=0.3, pulse_duration=pulse_duration, use_sx=True,) # Creating the solution from the initial guess sol_from_initial_guess = Solution.from_initial_guess(ivp, [ivp.x_init, ivp.u_init, ivp.p_init, ivp.s_init]) @@ -77,14 +70,7 @@ def test_ding2007_ivp(model, pulse_duration): @pytest.mark.parametrize("model", [DingModelIntensityFrequency(), DingModelIntensityFrequencyWithFatigue()]) @pytest.mark.parametrize("pulse_intensity", [50, [50, 60, 70]]) def test_hmed2018_ivp(model, pulse_intensity): - ivp = IvpFes( - model=model, - n_stim=3, - n_shooting=10, - final_time=0.3, - pulse_intensity=pulse_intensity, - use_sx=True, - ) + ivp = IvpFes(model=model, n_stim=3, n_shooting=10, final_time=0.3, pulse_intensity=pulse_intensity, use_sx=True,) # Creating the solution from the initial guess sol_from_initial_guess = Solution.from_initial_guess(ivp, [ivp.x_init, ivp.u_init, ivp.p_init, ivp.s_init]) @@ -234,11 +220,7 @@ def test_all_ivp_errors(): with pytest.raises(ValueError, match="pulse_intensity list must have the same length as n_stim"): IvpFes( - model=DingModelIntensityFrequency(), - n_stim=3, - n_shooting=10, - final_time=0.3, - pulse_intensity=[20, 30], + model=DingModelIntensityFrequency(), n_stim=3, n_shooting=10, final_time=0.3, pulse_intensity=[20, 30], ) pulse_intensity = [20, 30, 0.1] @@ -260,11 +242,7 @@ def test_all_ivp_errors(): with pytest.raises(TypeError, match="pulse_intensity must be int, float or list type"): IvpFes( - model=DingModelIntensityFrequency(), - n_stim=3, - n_shooting=10, - final_time=0.3, - pulse_intensity=True, + model=DingModelIntensityFrequency(), n_stim=3, n_shooting=10, final_time=0.3, pulse_intensity=True, ) with pytest.raises(ValueError, match="ode_solver must be a OdeSolver type"): diff --git a/tests/shard1/test_ocp_build.py b/tests/shard1/test_ocp_build.py index f7142d85..48b6e35f 100644 --- a/tests/shard1/test_ocp_build.py +++ b/tests/shard1/test_ocp_build.py @@ -257,17 +257,7 @@ (DingModelFrequencyWithFatigue(), None, None, None, None, None, None, None, None), (DingModelPulseDurationFrequency(), 0.0002, None, None, None, None, None, None, None), (DingModelPulseDurationFrequencyWithFatigue(), 0.0002, None, None, None, None, None, None, None), - ( - DingModelPulseDurationFrequency(), - None, - minimum_pulse_duration, - 0.0006, - False, - None, - None, - None, - None, - ), + (DingModelPulseDurationFrequency(), None, minimum_pulse_duration, 0.0006, False, None, None, None, None,), ( DingModelPulseDurationFrequencyWithFatigue(), None, @@ -282,38 +272,13 @@ # (DingModelPulseDurationFrequency(), None, minimum_pulse_duration, 0.0006, True, None, None, None, None), parameter mapping not yet implemented (DingModelIntensityFrequency(), None, None, None, None, 20, None, None, None), (DingModelIntensityFrequencyWithFatigue(), None, None, None, None, 20, None, None, None), - ( - DingModelIntensityFrequency(), - None, - None, - None, - None, - None, - minimum_pulse_intensity, - 130, - False, - ), - ( - DingModelIntensityFrequencyWithFatigue(), - None, - None, - None, - None, - None, - minimum_pulse_intensity, - 130, - False, - ), + (DingModelIntensityFrequency(), None, None, None, None, None, minimum_pulse_intensity, 130, False,), + (DingModelIntensityFrequencyWithFatigue(), None, None, None, None, None, minimum_pulse_intensity, 130, False,), # (DingModelIntensityFrequency(), None, None, None, None, None, minimum_pulse_intensity, 130, True), parameter mapping not yet implemented ], ) @pytest.mark.parametrize( - "time_min, time_max, time_bimapping", - [ - (None, None, False), - (0.01, 0.1, False), - (0.01, 0.1, True), - ], + "time_min, time_max, time_bimapping", [(None, None, False), (0.01, 0.1, False), (0.01, 0.1, True),], ) @pytest.mark.parametrize("use_sx", [True]) # Later add False @pytest.mark.parametrize( @@ -421,13 +386,7 @@ def test_ocp_not_for_optimal_error(): match="This is not an optimal control problem," " add parameter to optimize or use the IvpFes method to build your problem", ): - ocp = OcpFes().prepare_ocp( - model=DingModelFrequency(), - n_stim=1, - n_shooting=10, - final_time=1, - use_sx=True, - ) + ocp = OcpFes().prepare_ocp(model=DingModelFrequency(), n_stim=1, n_shooting=10, final_time=1, use_sx=True,) @pytest.mark.parametrize( diff --git a/tests/shard1/test_ocp_id.py b/tests/shard1/test_ocp_id.py index ad1d279c..652ea784 100644 --- a/tests/shard1/test_ocp_id.py +++ b/tests/shard1/test_ocp_id.py @@ -117,13 +117,7 @@ ] additional_key_settings = { - "a_rest": { - "initial_guess": 1000, - "min_bound": 1, - "max_bound": 10000, - "function": model.set_a_rest, - "scaling": 1, - }, + "a_rest": {"initial_guess": 1000, "min_bound": 1, "max_bound": 10000, "function": model.set_a_rest, "scaling": 1,}, "km_rest": { "initial_guess": 0.5, "min_bound": 0.001, @@ -138,27 +132,14 @@ "function": model.set_tau1_rest, "scaling": 1000, }, - "tau2": { - "initial_guess": 0.5, - "min_bound": 0.0001, - "max_bound": 1, - "function": model.set_tau2, - "scaling": 1000, - }, + "tau2": {"initial_guess": 0.5, "min_bound": 0.0001, "max_bound": 1, "function": model.set_tau2, "scaling": 1000,}, } def test_ocp_id_ding2003(): # --- Creating the simulated data to identify on --- # # Building the Initial Value Problem - ivp = IvpFes( - model=DingModelFrequency(), - n_stim=10, - n_shooting=10, - final_time=1, - use_sx=True, - extend_last_phase=1, - ) + ivp = IvpFes(model=DingModelFrequency(), n_stim=10, n_shooting=10, final_time=1, use_sx=True, extend_last_phase=1,) # Creating the solution from the initial guess sol_from_initial_guess = Solution.from_initial_guess(ivp, [ivp.x_init, ivp.u_init, ivp.p_init, ivp.s_init]) @@ -421,8 +402,7 @@ def test_all_ocp_id_errors(): def test_all_id_program_errors(): with pytest.raises( - ValueError, - match="The given model is not valid and should not be including the fatigue equation in the model", + ValueError, match="The given model is not valid and should not be including the fatigue equation in the model", ): DingModelFrequencyForceParameterIdentification(model=DingModelFrequencyWithFatigue()) @@ -620,8 +600,7 @@ def test_all_id_program_errors(): ) with pytest.raises( - ValueError, - match=re.escape(f"The given model parameters are not valid, only None, int and float are accepted"), + ValueError, match=re.escape(f"The given model parameters are not valid, only None, int and float are accepted"), ): DingModelFrequencyForceParameterIdentification( model=DingModelFrequency(), @@ -652,8 +631,7 @@ def test_all_id_program_errors(): ) with pytest.raises( - ValueError, - match=re.escape(f"The given {'a_rest'} parameter is not valid, it must be given or identified"), + ValueError, match=re.escape(f"The given {'a_rest'} parameter is not valid, it must be given or identified"), ): DingModelFrequencyForceParameterIdentification( model=DingModelFrequency(), From b4c72bcd8f7b451c3f4b60099b1aa601afaf1937 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Mon, 22 Jan 2024 17:43:15 -0500 Subject: [PATCH 06/63] feat: enabling 2dof model use + example --- cocofest/optimization/fes_ocp_dynamics.py | 170 +- examples/dynamics/arm26_biceps.bioMod | 256 + ...timization_musculoskeletal_dynamic_2ddl.py | 38 + examples/dynamics/mesh/arm_r_humerus.vtp | 1228 ++ examples/dynamics/mesh/arm_r_ulna.vtp | 842 ++ examples/dynamics/mesh/ground_ribs.vtp | 10998 ++++++++++++++++ ...cy_optimization_musculoskeletal_dynamic.py | 25 +- ...on_optimization_musculoskeletal_dynamic.py | 31 +- ...ty_optimization_musculoskeletal_dynamic.py | 35 +- 9 files changed, 13509 insertions(+), 114 deletions(-) create mode 100644 examples/dynamics/arm26_biceps.bioMod create mode 100644 examples/dynamics/frequency_optimization_musculoskeletal_dynamic_2ddl.py create mode 100644 examples/dynamics/mesh/arm_r_humerus.vtp create mode 100644 examples/dynamics/mesh/arm_r_ulna.vtp create mode 100644 examples/dynamics/mesh/ground_ribs.vtp diff --git a/cocofest/optimization/fes_ocp_dynamics.py b/cocofest/optimization/fes_ocp_dynamics.py index a0a309bd..58c65107 100644 --- a/cocofest/optimization/fes_ocp_dynamics.py +++ b/cocofest/optimization/fes_ocp_dynamics.py @@ -26,41 +26,42 @@ class FESActuatedBiorbdModelOCP: - @staticmethod - def prepare_ocp(biorbd_model_path: str, - motion_type: str, - motion_data: list, - fes_muscle_model: DingModelFrequency - | DingModelFrequencyWithFatigue - | DingModelPulseDurationFrequency - | DingModelPulseDurationFrequencyWithFatigue - | DingModelIntensityFrequency - | DingModelIntensityFrequencyWithFatigue = None, - n_stim: int = None, - n_shooting: int = None, - final_time: int | float = None, - pulse_mode: str = "Single", - frequency: int | float = None, - round_down: bool = False, - time_min: float = None, - time_max: float = None, - time_bimapping: bool = False, - pulse_duration: int | float = None, - pulse_duration_min: int | float = None, - pulse_duration_max: int | float = None, - pulse_duration_bimapping: bool = False, - pulse_intensity: int | float = None, - pulse_intensity_min: int | float = None, - pulse_intensity_max: int | float = None, - pulse_intensity_bimapping: bool = False, - force_tracking: list = None, - end_node_tracking: int | float = None, - custom_objective: ObjectiveList = None, - use_sx: bool = True, - ode_solver: OdeSolverBase = OdeSolver.RK4(n_integration_steps=1), - control_type: ControlType = ControlType.CONSTANT, - n_threads: int = 1): + def prepare_ocp( + biorbd_model_path: str, + motion_type: str = None, + motion_data: list = None, + fes_muscle_model: DingModelFrequency + | DingModelFrequencyWithFatigue + | DingModelPulseDurationFrequency + | DingModelPulseDurationFrequencyWithFatigue + | DingModelIntensityFrequency + | DingModelIntensityFrequencyWithFatigue = None, + n_stim: int = None, + n_shooting: int = None, + final_time: int | float = None, + pulse_mode: str = "Single", + frequency: int | float = None, + round_down: bool = False, + time_min: float = None, + time_max: float = None, + time_bimapping: bool = False, + pulse_duration: int | float = None, + pulse_duration_min: int | float = None, + pulse_duration_max: int | float = None, + pulse_duration_bimapping: bool = False, + pulse_intensity: int | float = None, + pulse_intensity_min: int | float = None, + pulse_intensity_max: int | float = None, + pulse_intensity_bimapping: bool = False, + force_tracking: list = None, + end_node_tracking: int | float = None, + custom_objective: ObjectiveList = None, + use_sx: bool = True, + ode_solver: OdeSolverBase = OdeSolver.RK4(n_integration_steps=1), + control_type: ControlType = ControlType.CONSTANT, + n_threads: int = 1, + ): """ This definition prepares the ocp to be solved @@ -112,29 +113,29 @@ def prepare_ocp(biorbd_model_path: str, """ OcpFes._sanity_check( - model=fes_muscle_model, - n_stim=n_stim, - n_shooting=n_shooting, - final_time=final_time, - pulse_mode=pulse_mode, - frequency=frequency, - time_min=time_min, - time_max=time_max, - time_bimapping=time_bimapping, - pulse_duration=pulse_duration, - pulse_duration_min=pulse_duration_min, - pulse_duration_max=pulse_duration_max, - pulse_duration_bimapping=pulse_duration_bimapping, - pulse_intensity=pulse_intensity, - pulse_intensity_min=pulse_intensity_min, - pulse_intensity_max=pulse_intensity_max, - pulse_intensity_bimapping=pulse_intensity_bimapping, - force_tracking=force_tracking, - end_node_tracking=end_node_tracking, - custom_objective=custom_objective, - use_sx=use_sx, - ode_solver=ode_solver, - n_threads=n_threads, + model=fes_muscle_model, + n_stim=n_stim, + n_shooting=n_shooting, + final_time=final_time, + pulse_mode=pulse_mode, + frequency=frequency, + time_min=time_min, + time_max=time_max, + time_bimapping=time_bimapping, + pulse_duration=pulse_duration, + pulse_duration_min=pulse_duration_min, + pulse_duration_max=pulse_duration_max, + pulse_duration_bimapping=pulse_duration_bimapping, + pulse_intensity=pulse_intensity, + pulse_intensity_min=pulse_intensity_min, + pulse_intensity_max=pulse_intensity_max, + pulse_intensity_bimapping=pulse_intensity_bimapping, + force_tracking=force_tracking, + end_node_tracking=end_node_tracking, + custom_objective=custom_objective, + use_sx=use_sx, + ode_solver=ode_solver, + n_threads=n_threads, ) OcpFes._sanity_check_frequency(n_stim=n_stim, final_time=final_time, frequency=frequency, round_down=round_down) @@ -174,15 +175,21 @@ def prepare_ocp(biorbd_model_path: str, " add parameter to optimize or use the IvpFes method to build your problem" ) - bio_models = [FESActuatedBiorbdModel(name=None, - biorbd_path=biorbd_model_path, - muscles_model=fes_muscle_model) - for i in range(n_stim)] + bio_models = [ + FESActuatedBiorbdModel(name=None, biorbd_path=biorbd_model_path, muscles_model=fes_muscle_model) + for i in range(n_stim) + ] + + FESActuatedBiorbdModelOCP._sanity_check_bounds( + bio_models=bio_models, motion_type=motion_type, motion_data=motion_data + ) dynamics = FESActuatedBiorbdModelOCP._declare_dynamics(bio_models, n_stim) x_bounds, x_init = OcpFes._set_bounds(fes_muscle_model, n_stim) - x_bounds, x_init = FESActuatedBiorbdModelOCP._set_bounds(bio_models, motion_type, motion_data, n_stim, x_bounds, x_init) - u_bounds, u_init = FESActuatedBiorbdModelOCP._set_controls(n_stim) + x_bounds, x_init = FESActuatedBiorbdModelOCP._set_bounds( + bio_models, motion_type, motion_data, n_stim, x_bounds, x_init + ) + u_bounds, u_init = FESActuatedBiorbdModelOCP._set_controls(bio_models, n_stim) objective_functions = OcpFes._set_objective( n_stim, n_shooting, force_fourier_coef, end_node_tracking, custom_objective ) @@ -225,22 +232,28 @@ def _declare_dynamics(bio_models, n_stim): @staticmethod def _set_bounds(bio_models, motion_type, motion_data, n_stim, x_bounds, x_init): - start_bounds = 0 - end_bounds = 0 + if motion_type == "start_end": - start_bounds = 3.14 / (180 / motion_data[0]) - end_bounds = 3.14 / (180 / motion_data[1]) + start_bounds = [] + end_bounds = [] + for i in range(bio_models[0].nb_q): + start_bounds.append(3.14 / (180 / motion_data[0][i]) if motion_data[0][i] != 0 else 0) + end_bounds.append(3.14 / (180 / motion_data[1][i]) if motion_data[1][i] != 0 else 0) for i in range(n_stim): q_x_bounds = bio_models[i].bounds_from_ranges("q") qdot_x_bounds = bio_models[i].bounds_from_ranges("qdot") if i == 0: - q_x_bounds[:, [0]] = start_bounds if motion_type == "start_end" else q_x_bounds[:, [0]] + if motion_type == "start_end": + for j in range(bio_models[i].nb_q): + q_x_bounds[j, [0]] = start_bounds[j] qdot_x_bounds[:, [0]] = 0 # Start without any velocity if i == n_stim - 1: - q_x_bounds[:, [-1]] = end_bounds if motion_type == "start_end" else q_x_bounds[:, [-1]] + if motion_type == "start_end": + for j in range(bio_models[i].nb_q): + q_x_bounds[j, [-1]] = end_bounds[j] x_bounds.add(key="q", bounds=q_x_bounds, phase=i) x_bounds.add(key="qdot", bounds=qdot_x_bounds, phase=i) @@ -251,9 +264,11 @@ def _set_bounds(bio_models, motion_type, motion_data, n_stim, x_bounds, x_init): return x_bounds, x_init @staticmethod - def _set_controls(n_stim): + def _set_controls(bio_models, n_stim): + # Controls bounds - tau_min, tau_max, tau_init = [-20], [20], [0] + nb_tau = bio_models[0].nb_tau + tau_min, tau_max, tau_init = [-20] * nb_tau, [20] * nb_tau, [0] * nb_tau u_bounds = BoundsList() for i in range(n_stim): @@ -265,3 +280,16 @@ def _set_controls(n_stim): u_init.add(key="tau", initial_guess=tau_init, phase=i) return u_bounds, u_init + + @staticmethod + def _sanity_check_bounds(bio_models, motion_type, motion_data): + for i in range(bio_models[0].nb_q): + if motion_type == "start_end": + if not isinstance(motion_data, list): + raise TypeError("The motion data should be a list of two elements") + if len(motion_data) != 2: + raise ValueError("The motion data should be a list of two elements, start and end position") + if not isinstance(motion_data[0], list) or not isinstance(motion_data[1], list): + raise TypeError("The start and end position should be a list") + if len(motion_data[0]) != bio_models[0].nb_q or len(motion_data[1]) != bio_models[0].nb_q: + raise ValueError("The start and end position should be a list of size nb_q") diff --git a/examples/dynamics/arm26_biceps.bioMod b/examples/dynamics/arm26_biceps.bioMod new file mode 100644 index 00000000..8050c204 --- /dev/null +++ b/examples/dynamics/arm26_biceps.bioMod @@ -0,0 +1,256 @@ +version 3 +gravity 0 -9.81 0 + +// SEGMENT DEFINITION + +segment base + meshfile mesh/ground_ribs.vtp + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + // Markers + marker target + parent base + position 0.15 0.15 0.17 + endmarker + marker r_acromion + parent base + position -0.01256 0.04 0.17 + endmarker + + +segment r_humerus_translation + parent base + RTinMatrix 1 + RT + 1.0 0.0 0.0 -0.017545 + 0.0 1.0 0.0 -0.007 + 0.0 0.0 1.0 0.17 + 0.0 0.0 0.0 1.0 + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + +segment r_humerus_rotation1 + parent r_humerus_translation + RTinMatrix 1 + RT + 0.9975010776109747 0.039020807762349584 -0.058898019716436364 0.0 + -0.038952964437603196 0.9992383982621832 0.0022999999889266845 0.0 + 0.05894291073968768 0.0 0.9982613551938856 0.0 + 0.0 0.0 0.0 1.0 + rotations z + rangesQ -1 pi + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + +segment r_humerus_rotation2 + parent r_humerus_rotation1 + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + +segment r_humerus_rotation3 + parent r_humerus_rotation2 + RTinMatrix 1 + RT + 0.0 -0.0588981755023151 0.9982639956056206 0.0 + 1.0 0.0 0.0 0.0 + 0.0 0.9982639956056206 0.0588981755023151 0.0 + 0.0 0.0 0.0 1.0 + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + +segment r_humerus + parent r_humerus_rotation3 + RTinMatrix 1 + RT + 0.039020807762349605 0.9992383982621836 0.0 0.0 + -0.11754676602826802 0.004590265714620227 0.9930567391931666 0.0 + 0.9923004254548464 -0.03874987611716229 0.11763635808301447 0.0 + 0.0 0.0 0.0 1.0 + mass 1.8645719999999999 + inertia + 0.01481 0.0 0.0 + 0.0 0.004551 0.0 + 0.0 0.0 0.013193 + com 0 -0.18049599999999999 0 + meshfile mesh/arm_r_humerus.vtp +endsegment + + // Markers + marker r_humerus_epicondyle + parent r_humerus + position 0.0050000000000000001 -0.29039999999999999 0.029999999999999999 + endmarker + marker COM_arm + parent r_humerus + position 0 -0.18049599999999999 0 + endmarker + + +segment r_ulna_radius_hand_translation + parent r_humerus + RTinMatrix 1 + RT + 1.0 0.0 0.0 0.0061 + 0.0 1.0 0.0 -0.2904 + 0.0 0.0 1.0 -0.0123 + 0.0 0.0 0.0 1.0 + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + +segment r_ulna_radius_hand_rotation1 + parent r_ulna_radius_hand_translation + RTinMatrix 1 + RT + 0.801979522152563 -0.5953053712684071 0.04940000998917986 0.0 + 0.5941792022021661 0.8034995425879125 0.036600009991983457 0.0 + -0.06148106796684942 3.469446951953614e-18 0.9981082497813831 0.0 + 0.0 0.0 0.0 1.0 + rotations z + rangesQ 0 pi + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + +segment r_ulna_radius_hand_rotation2 + parent r_ulna_radius_hand_rotation1 + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + +segment r_ulna_radius_hand_rotation3 + parent r_ulna_radius_hand_rotation2 + RTinMatrix 1 + RT + 0.0 0.049433130424779516 0.998777435476196 0.0 + 1.0 0.0 0.0 0.0 + 0.0 0.998777435476196 -0.049433130424779516 0.0 + 0.0 0.0 0.0 1.0 + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + +segment r_ulna_radius_hand + parent r_ulna_radius_hand_rotation3 + RTinMatrix 1 + RT + -0.5953053712684069 0.803499542587912 0.0 0.0 + 0.08898397360606149 0.06592740211634747 0.9938487963928239 0.0 + 0.7985570533031812 0.5916435267212894 -0.11074551868375905 0.0 + 0.0 0.0 0.0 1.0 + mass 1.5343150000000001 + inertia + 0.019281 0.0 0.0 + 0.0 0.001571 0.0 + 0.0 0.0 0.020062 + com 0 -0.181479 0 + meshfile mesh/arm_r_ulna.vtp +endsegment + + // Markers + marker r_radius_styloid + parent r_ulna_radius_hand + position -0.0011000000000000001 -0.23558999999999999 0.094299999999999995 + endmarker + marker COM_hand + parent r_ulna_radius_hand + position 0 -0.181479 0 + endmarker + + + +// MUSCLE DEFINITION + +// base > r_ulna_radius_hand +musclegroup base_to_r_ulna_radius_hand + OriginParent base + InsertionParent r_ulna_radius_hand +endmusclegroup + + muscle BIClong + Type degroote + statetype degroote + musclegroup base_to_r_ulna_radius_hand + OriginPosition -0.039234999999999999 0.00347 0.14795 + InsertionPosition 0.0075100000000000002 -0.048390000000000002 0.02179 + optimalLength 0.1157 + maximalForce 624.29999999999995 + tendonSlackLength 0.27229999999999999 + pennationAngle 0 + maxVelocity 10 + endmuscle + + viapoint BIClong-P2 + parent base + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position -0.028944999999999999 0.01391 0.15639 + endviapoint + viapoint BIClong-P3 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.021309999999999999 0.017930000000000001 0.010279999999999999 + endviapoint + viapoint BIClong-P4 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.023779999999999999 -0.00511 0.01201 + endviapoint + viapoint BIClong-P5 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.01345 -0.02827 0.0013600000000000001 + endviapoint + viapoint BIClong-P6 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.01068 -0.077359999999999998 -0.00165 + endviapoint + viapoint BIClong-P7 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.01703 -0.12125 0.00024000000000000001 + endviapoint + viapoint BIClong-P8 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.022800000000000001 -0.1754 -0.0063 + endviapoint diff --git a/examples/dynamics/frequency_optimization_musculoskeletal_dynamic_2ddl.py b/examples/dynamics/frequency_optimization_musculoskeletal_dynamic_2ddl.py new file mode 100644 index 00000000..7557a86e --- /dev/null +++ b/examples/dynamics/frequency_optimization_musculoskeletal_dynamic_2ddl.py @@ -0,0 +1,38 @@ +""" +This example will do a 10 stimulation example with Ding's 2003 frequency model. +This ocp was build to produce an elbow motion from 5 to 120 degrees starting and ending with the arm at the vertical. +The stimulation frequency will be optimized between 10 and 100 Hz to satisfy the flexion and minimizing required +elbow torque control. +""" + +from bioptim import ( + ObjectiveFcn, + ObjectiveList, + Solver, +) + +from cocofest import DingModelFrequencyWithFatigue, FESActuatedBiorbdModelOCP + + +objective_functions = ObjectiveList() +n_stim = 10 +for i in range(n_stim): + objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=1, quadratic=True, phase=i) + +ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="/arm26_biceps.bioMod", + motion_type="start_end", + motion_data=[[0, 5], [0, 120]], + fes_muscle_model=DingModelFrequencyWithFatigue(), + n_stim=n_stim, + n_shooting=10, + final_time=1, + time_min=0.01, + time_max=0.1, + time_bimapping=True, + custom_objective=objective_functions, +) + +sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) +sol.animate() +sol.graphs(show_bounds=False) diff --git a/examples/dynamics/mesh/arm_r_humerus.vtp b/examples/dynamics/mesh/arm_r_humerus.vtp new file mode 100644 index 00000000..19fcf553 --- /dev/null +++ b/examples/dynamics/mesh/arm_r_humerus.vtp @@ -0,0 +1,1228 @@ + + + + + + + -0.241965 0.928387 -0.282046 + -0.421615 0.891296 -0.166834 + -0.670330 0.714611 -0.199971 + -0.776204 0.488631 -0.398431 + -0.649453 0.374399 -0.661844 + -0.390814 0.431251 -0.813195 + -0.165920 0.625156 -0.762660 + -0.101672 0.835461 -0.540063 + 0.133272 0.890320 -0.435395 + -0.021126 0.997308 0.070220 + -0.330078 0.933471 0.140289 + -0.761722 0.635977 0.123745 + -0.924037 0.314799 -0.216928 + -0.755872 0.122545 -0.643149 + -0.340825 0.210203 -0.916326 + 0.080834 0.456267 -0.886164 + 0.226855 0.811746 -0.538149 + 0.168803 0.921058 -0.350939 + 0.082124 0.974772 0.207547 + -0.235549 0.878284 0.416094 + -0.784827 0.490265 0.379061 + -0.996652 0.062476 -0.052741 + -0.776039 -0.146179 -0.613510 + -0.224178 -0.064771 -0.972393 + 0.281896 0.277214 -0.918524 + 0.472616 0.720796 -0.507038 + 0.438742 0.870076 -0.224663 + 0.283569 0.855822 0.432616 + 0.015634 0.885027 0.465276 + -0.624657 0.474151 0.620472 + -0.897849 -0.196578 0.393985 + -0.761345 -0.592749 -0.262684 + -0.256323 -0.565235 -0.784097 + 0.536690 -0.260257 -0.802640 + 0.738515 0.441236 -0.509810 + 0.660496 0.743760 -0.102798 + 0.644355 0.726915 0.237491 + 0.023599 0.879572 0.475179 + -0.625617 0.509551 0.590729 + -0.912367 0.192540 0.361268 + -0.812395 -0.553530 0.183355 + -0.649047 -0.704337 -0.287484 + 0.123341 -0.629996 -0.766741 + 0.707297 -0.140960 -0.692720 + 0.838022 0.473805 -0.270608 + 0.759529 0.547506 0.351216 + 0.936343 0.072560 0.343506 + 0.846878 0.348061 0.402059 + 0.187341 0.469829 0.862650 + -0.238380 0.268495 0.933320 + -0.778725 0.092855 0.620455 + -0.914913 -0.281887 0.288917 + -0.786499 -0.601681 0.139281 + -0.851564 -0.512150 -0.111983 + -0.303144 -0.457790 -0.835782 + 0.397720 -0.368529 -0.840241 + 0.683419 -0.398808 -0.611466 + 0.931200 -0.099411 -0.350690 + 0.998150 -0.008967 0.060136 + 0.757891 0.195298 0.622463 + -0.442859 0.707933 -0.550187 + 0.984627 -0.153851 0.082701 + 0.962952 0.002946 -0.269657 + 0.945927 -0.079786 0.314413 + 0.947308 -0.144622 0.285819 + 0.323654 -0.178892 0.929110 + 0.373107 -0.240141 0.896172 + -0.440819 -0.135038 0.887380 + -0.315257 -0.282541 0.905971 + -0.915464 -0.072115 0.395886 + -0.796242 -0.220124 0.563511 + -0.994844 -0.067766 0.075450 + -0.945503 0.001099 -0.325611 + -0.867654 -0.101187 -0.486763 + -0.362844 -0.042362 -0.930887 + -0.157149 -0.149505 -0.976193 + 0.467906 -0.037114 -0.882999 + 0.719646 -0.160479 -0.675542 + 0.962610 -0.055757 -0.265090 + 0.972865 -0.231316 0.005203 + 0.982466 -0.084589 0.166146 + 0.981535 -0.031981 -0.188592 + 0.885937 -0.044490 0.461667 + 0.115208 -0.037877 0.992619 + -0.610360 -0.017562 0.791929 + -0.950644 0.004913 0.310246 + -0.964308 0.006572 -0.264701 + -0.546217 0.059954 -0.835495 + 0.254958 0.036742 -0.966254 + 0.829007 -0.025922 -0.558637 + 0.994718 -0.025124 -0.099525 + 0.989941 -0.039806 -0.135769 + 0.893612 -0.060112 0.444797 + 0.218010 -0.042508 0.975020 + -0.554327 -0.007801 0.832263 + -0.952176 0.000464 0.305551 + -0.945622 0.056378 -0.320346 + -0.276729 0.081356 -0.957498 + 0.605275 0.016688 -0.795842 + 0.909055 -0.039602 -0.414790 + 0.954586 -0.022579 -0.297080 + 0.923616 -0.081184 0.374623 + 0.341090 -0.077575 0.936824 + -0.329519 -0.071182 0.941462 + -0.857923 -0.033758 0.512668 + -0.998439 0.031365 -0.046206 + -0.609832 0.072521 -0.789206 + 0.429353 0.035802 -0.902427 + -0.764894 -0.405399 0.500589 + -0.776410 -0.492635 0.393063 + -0.971393 -0.197380 0.132048 + -0.929065 -0.354124 0.106930 + -0.920533 -0.221924 -0.321510 + 0.391504 -0.215172 -0.894665 + 0.711999 -0.367368 -0.598413 + 0.716689 -0.471528 -0.513826 + 0.874237 -0.477134 -0.089734 + 0.892208 -0.450570 -0.030852 + 0.808883 -0.376434 0.451670 + 0.890101 -0.423324 -0.168868 + 0.891317 -0.415140 0.182242 + 0.882279 -0.192315 0.429650 + 0.909237 -0.136289 0.393336 + 0.933109 -0.259752 0.248670 + 0.907367 -0.213420 0.362129 + 0.306057 -0.190278 0.932804 + -0.380544 -0.362686 0.850673 + 0.318574 -0.330503 0.888413 + -0.235764 -0.407482 0.882255 + 0.402369 -0.113316 -0.908438 + 0.216276 -0.387801 -0.896011 + -0.262611 -0.652644 -0.710697 + -0.298542 -0.926215 -0.230214 + 0.074983 -0.737758 -0.670888 + 0.344718 -0.764863 -0.544200 + -0.600093 0.023092 -0.799596 + -0.747168 -0.111063 -0.655290 + -0.735035 -0.654455 -0.177237 + -0.719649 -0.689121 -0.084958 + -0.740419 -0.488711 -0.461456 + -0.484463 -0.795245 -0.364529 + 0.085201 0.658875 -0.747412 + -0.894608 0.346068 -0.282691 + -0.991060 0.012452 -0.132834 + -0.691517 -0.600558 -0.401415 + -0.944358 -0.148346 -0.293565 + -0.939052 -0.327945 -0.103120 + -0.109432 0.803847 -0.584684 + -0.995519 -0.041596 0.084923 + -0.987827 -0.111081 0.108896 + -0.914842 0.291406 0.279546 + -0.956325 0.291966 0.014111 + -0.843326 0.189985 -0.502700 + -0.740370 -0.083770 -0.666959 + -0.835304 -0.172746 0.521944 + -0.920294 0.110741 0.375228 + -0.086781 0.939184 -0.332268 + -0.724374 -0.134688 -0.676122 + -0.367459 -0.130611 -0.920823 + -0.507775 -0.174462 -0.843639 + 0.851820 0.523639 0.014296 + -0.841677 -0.503100 0.196142 + -0.694816 -0.662222 0.280521 + -0.793453 -0.607858 0.030671 + -0.694432 -0.557535 -0.454883 + -0.476099 -0.473900 -0.740776 + -0.518770 -0.346975 -0.781336 + 0.978328 -0.159539 0.131989 + -0.798819 -0.550527 -0.242503 + 0.829924 0.503123 -0.241026 + 0.738857 0.618423 0.267663 + 0.701330 0.710032 0.063173 + 0.622553 0.771087 -0.133614 + 0.787753 0.611330 -0.075634 + 0.885088 0.136826 -0.444858 + 0.947331 0.181647 0.263759 + 0.968711 0.237628 0.071643 + 0.904933 0.410747 -0.111278 + 0.883772 0.466501 0.036394 + 0.852569 -0.371496 -0.367583 + 0.904746 -0.315326 0.286364 + 0.941129 -0.323709 0.097406 + 0.948710 -0.290584 -0.124542 + 0.968900 -0.242881 0.047338 + 0.546025 -0.787578 0.285618 + 0.573760 -0.793951 0.201103 + 0.534371 -0.840657 -0.087998 + 0.510192 -0.859474 -0.031765 + -0.143870 -0.944136 0.296494 + -0.120397 -0.983277 0.136640 + -0.047506 -0.992501 -0.112631 + 0.067596 -0.993412 -0.092539 + -0.751091 -0.587499 0.301175 + -0.722285 -0.689261 0.056770 + -0.631867 -0.716261 -0.296167 + -0.568936 -0.822382 0.000331 + -0.960600 -0.146299 0.236316 + -0.966642 -0.254528 -0.028613 + -0.857656 -0.264803 -0.440801 + -0.890473 -0.424749 -0.163238 + 0.710035 -0.508625 -0.486981 + 0.683429 -0.238088 -0.690100 + 0.816331 0.205356 -0.539845 + 0.846203 0.358155 -0.394546 + 0.696073 0.685778 0.212584 + 0.821179 -0.174612 -0.543301 + 0.786005 0.037730 -0.617068 + 0.816454 -0.060255 -0.574258 + 0.732578 0.510246 -0.450532 + 0.962461 -0.242146 -0.122610 + 0.985225 -0.043929 0.165534 + 0.704197 0.558382 -0.438540 + 0.930785 0.340753 -0.132391 + -0.467923 0.336732 0.817104 + -0.999076 -0.042835 0.003570 + -0.944865 -0.111212 -0.307998 + 0.047043 0.483686 -0.873976 + -0.979213 -0.188544 -0.074787 + -0.956851 -0.103925 0.271358 + -0.848526 0.121085 0.515114 + -0.837348 -0.503961 0.211829 + -0.850657 -0.409592 0.329570 + -0.782532 -0.265550 0.563141 + -0.640367 0.008332 0.768024 + 0.439317 0.612040 0.657577 + -0.660774 -0.734556 0.154288 + -0.501274 -0.640305 0.582008 + -0.251396 -0.496841 0.830632 + -0.196072 -0.290156 0.936678 + -0.033799 0.160406 0.986472 + -0.269436 -0.771981 0.575717 + -0.053992 -0.517273 0.854116 + 0.148472 -0.168105 0.974524 + 0.610070 0.724889 0.319921 + 0.408025 0.170260 0.896954 + 0.046951 -0.996400 -0.070593 + 0.620239 -0.777421 -0.104505 + 0.975552 -0.207031 -0.073734 + 0.872972 0.444224 -0.201458 + 0.671892 0.730514 -0.122109 + -0.218241 -0.974348 0.054935 + 0.350171 -0.933821 -0.073203 + 0.825083 -0.562775 -0.050225 + 0.994194 -0.080934 -0.070905 + 0.945104 0.307372 -0.110907 + 0.656532 0.744358 -0.122050 + 0.323149 0.944250 -0.062985 + -0.076772 -0.876381 0.475461 + 0.307397 -0.655417 0.689881 + 0.669972 -0.226073 0.707127 + 0.734861 0.296480 0.609982 + 0.568857 0.713629 0.408823 + -0.981359 0.190579 0.024787 + 0.682279 0.729359 0.050310 + 0.872274 0.442821 0.207480 + 0.905862 0.254990 0.338222 + 0.984873 0.084914 0.151042 + 0.992939 0.103690 0.057620 + 0.941983 0.215575 0.257285 + 0.925266 0.378044 -0.031070 + 0.819973 0.512067 0.255796 + 0.680342 0.709262 0.184613 + 0.544797 0.825912 -0.145142 + 0.548692 0.835588 -0.027031 + 0.868139 0.496204 -0.010761 + 0.831372 0.434000 -0.347081 + 0.750196 0.621050 0.226941 + 0.952495 -0.041923 -0.301655 + 0.987109 -0.083437 -0.136582 + 0.979630 -0.104837 -0.171272 + 0.893032 0.240891 -0.380087 + 0.911056 0.169028 0.376041 + 0.792382 0.351870 0.498316 + 0.951678 0.105219 -0.288509 + 0.999143 0.041351 0.002027 + 0.808929 0.001830 0.587904 + 0.239201 0.155238 0.958480 + -0.979641 -0.038595 0.197011 + -0.957296 -0.084818 -0.276388 + -0.406128 0.099725 -0.908358 + 0.619177 0.170148 -0.766596 + 0.657723 0.101958 -0.746328 + 0.993211 -0.028962 -0.112661 + 0.955023 0.010542 -0.296346 + 0.981101 -0.008132 0.193325 + 0.930652 -0.060265 0.360908 + 0.606895 0.009545 0.794725 + 0.469673 -0.059830 0.880811 + -0.439364 0.052686 0.896763 + -0.332264 0.000635 0.943186 + -0.973364 -0.016781 0.228649 + -0.911411 0.035395 0.409973 + -0.903361 -0.030027 -0.427828 + -0.879859 0.090109 -0.466613 + -0.058423 0.069487 -0.995871 + -0.129454 0.076419 -0.988636 + 0.525425 0.037067 -0.850032 + 0.537427 0.032297 -0.842692 + 0.725348 0.013743 -0.688245 + 0.818898 0.006957 -0.573896 + 0.932518 -0.009304 -0.361005 + 0.938634 -0.087884 0.333530 + 0.488334 -0.129456 0.863001 + -0.109388 -0.102396 0.988711 + -0.760028 -0.039507 0.648688 + -0.999868 0.012122 0.010820 + -0.619478 0.050620 -0.783380 + 0.352019 0.040230 -0.935128 + 0.813742 0.041891 -0.579715 + + + + + -0.003244 0.022145 -0.007029 + -0.009188 0.021757 -0.003054 + -0.015251 0.017942 -0.003615 + -0.018211 0.012891 -0.007792 + -0.016575 0.009246 -0.013576 + -0.010928 0.009649 -0.017587 + -0.004086 0.014405 -0.017265 + -0.002427 0.019449 -0.012335 + -0.002748 0.022121 -0.006969 + 0.002353 0.023356 -0.002803 + -0.007155 0.022663 0.003832 + -0.017598 0.015852 0.002462 + -0.021310 0.008721 -0.004652 + -0.017751 0.002869 -0.014689 + -0.008703 0.003966 -0.020695 + 0.001233 0.010930 -0.020080 + 0.004971 0.020040 -0.011576 + 0.002739 0.023418 -0.002639 + 0.008170 0.022454 0.001271 + -0.003993 0.021530 0.010593 + -0.018156 0.012354 0.008207 + -0.022899 0.002425 -0.002320 + -0.018077 -0.002902 -0.014250 + -0.005922 -0.000902 -0.022249 + 0.006588 0.004748 -0.020926 + 0.012041 0.017227 -0.009431 + 0.008166 0.022208 0.002045 + 0.011549 0.021347 0.004581 + 0.000434 0.020121 0.014291 + -0.017473 0.010115 0.010857 + -0.022446 -0.000708 0.001880 + -0.017680 -0.007626 -0.011885 + -0.004088 -0.008184 -0.021088 + 0.011399 0.000412 -0.019046 + 0.015519 0.015315 -0.008920 + 0.012084 0.020805 0.005781 + 0.015023 0.015432 0.008561 + 0.004268 0.017597 0.020783 + -0.009263 0.012481 0.017274 + -0.014553 0.005099 0.012266 + -0.018456 -0.005989 0.001841 + -0.014168 -0.010596 -0.006234 + -0.004545 -0.013629 -0.015277 + 0.012713 -0.003616 -0.013976 + 0.020082 0.010297 -0.004429 + 0.015269 0.015821 0.009177 + 0.016555 0.007919 0.010461 + 0.016959 0.011885 0.015338 + 0.007396 0.012197 0.025325 + -0.003283 0.008705 0.026377 + -0.013737 0.001648 0.022501 + -0.016766 -0.004063 0.016965 + -0.012606 -0.009845 0.008658 + -0.009881 -0.016235 -0.002200 + -0.002202 -0.020117 -0.011343 + 0.013524 -0.010481 -0.008362 + 0.021547 -0.004656 -0.007384 + 0.025149 0.000617 -0.001751 + 0.025735 0.003363 0.003644 + 0.024020 0.006003 0.007184 + -0.010938 0.015935 -0.012544 + 0.012182 -0.023823 0.005011 + 0.011029 -0.041944 0.002473 + 0.012751 -0.042883 0.007851 + 0.013496 -0.025435 0.011856 + 0.008526 -0.041976 0.012286 + 0.010080 -0.027862 0.014966 + -0.000761 -0.042723 0.012073 + -0.000955 -0.029565 0.014659 + -0.007796 -0.042698 0.005221 + -0.005025 -0.028850 0.011905 + -0.007637 -0.026900 0.003416 + -0.008240 -0.043255 0.001167 + -0.007076 -0.026718 -0.003651 + -0.000496 -0.041919 -0.008140 + -0.000292 -0.025300 -0.009993 + 0.008762 -0.042400 -0.007335 + 0.011699 -0.023893 -0.006030 + 0.011456 -0.042134 -0.003658 + 0.013812 -0.024251 0.000533 + 0.011026 -0.041941 0.002471 + 0.011295 -0.070938 0.000594 + 0.012629 -0.073147 0.007015 + 0.003747 -0.071300 0.010301 + -0.006410 -0.071249 0.005919 + -0.007978 -0.071089 0.001440 + -0.007103 -0.070953 -0.003238 + -0.001930 -0.069544 -0.008766 + 0.005248 -0.069828 -0.008195 + 0.010276 -0.070448 -0.004992 + 0.011294 -0.070990 0.000587 + 0.009461 -0.096869 -0.002659 + 0.010547 -0.099296 0.005653 + 0.003011 -0.096196 0.009137 + -0.003479 -0.096289 0.009406 + -0.007278 -0.095051 0.005450 + -0.008139 -0.094138 -0.002078 + -0.002702 -0.094297 -0.011241 + 0.004935 -0.096129 -0.010073 + 0.009450 -0.096810 -0.002643 + 0.008569 -0.119485 -0.004240 + 0.009791 -0.116960 0.004989 + 0.004835 -0.117444 0.008255 + -0.003266 -0.116925 0.008734 + -0.006328 -0.117512 0.004643 + -0.008821 -0.117297 -0.003839 + -0.006297 -0.117521 -0.010624 + 0.002875 -0.118829 -0.011929 + -0.005818 -0.020940 0.014888 + -0.008856 -0.013017 0.018095 + -0.008528 -0.020831 0.004821 + -0.009350 -0.016567 0.006621 + -0.007876 -0.022419 -0.003686 + 0.011849 -0.017701 -0.006517 + 0.015308 -0.015891 -0.005226 + 0.018906 -0.009752 -0.005891 + 0.020639 -0.007164 -0.002529 + 0.021890 -0.005532 0.001109 + 0.023147 -0.003132 0.004990 + 0.016394 -0.015340 -0.002319 + 0.017376 -0.014082 0.001727 + 0.016320 -0.002660 0.009930 + 0.017201 -0.003261 0.017416 + 0.013916 -0.014016 0.007850 + 0.013998 -0.016768 0.014428 + 0.006757 -0.005730 0.024424 + -0.007994 -0.006661 0.024288 + 0.007661 -0.018510 0.018617 + -0.000738 -0.019969 0.018286 + 0.000073 -0.282517 -0.042841 + -0.001307 -0.285146 -0.043295 + -0.000876 -0.290486 -0.041449 + 0.002684 -0.293483 -0.036206 + 0.005130 -0.293851 -0.030730 + 0.011529 -0.301300 -0.028188 + -0.002660 -0.283083 -0.043811 + -0.004632 -0.285732 -0.041886 + -0.005840 -0.285336 -0.036744 + -0.004656 -0.285036 -0.031411 + -0.002703 -0.290263 -0.027093 + 0.001644 -0.302885 -0.025455 + -0.000048 -0.275476 -0.040749 + -0.005837 -0.275374 -0.032872 + -0.004980 -0.283163 -0.030496 + -0.004352 -0.286292 -0.025248 + -0.004472 -0.289312 -0.023766 + -0.004438 -0.297099 -0.022931 + -0.000219 -0.270320 -0.033987 + -0.005680 -0.274132 -0.025349 + -0.005405 -0.291137 -0.020941 + -0.003259 -0.288600 -0.015178 + -0.003140 -0.288734 -0.009550 + -0.004918 -0.287426 -0.002675 + -0.008215 -0.286556 0.000746 + -0.000784 -0.276645 -0.021791 + 0.002831 -0.278378 -0.017336 + 0.004227 -0.279963 -0.012833 + 0.001871 -0.279556 -0.004865 + -0.005255 -0.280590 -0.000547 + -0.007604 -0.281241 -0.000560 + 0.009713 -0.278483 -0.024464 + -0.006093 -0.270213 -0.019561 + -0.001314 -0.273361 -0.016955 + 0.000624 -0.274196 -0.011630 + -0.001128 -0.274224 -0.006328 + -0.004515 -0.274949 -0.003621 + -0.008726 -0.273296 -0.001730 + 0.000543 -0.269516 -0.019547 + -0.006970 -0.266334 -0.009127 + 0.015406 -0.284528 -0.025336 + 0.013312 -0.283321 -0.020057 + 0.012064 -0.284744 -0.012793 + 0.010340 -0.283020 -0.008705 + 0.008863 -0.281382 -0.004190 + 0.017580 -0.289385 -0.026864 + 0.015714 -0.288724 -0.018685 + 0.013674 -0.288393 -0.012535 + 0.013172 -0.285872 -0.009064 + 0.013613 -0.285364 -0.005840 + 0.017085 -0.294866 -0.027418 + 0.015569 -0.293575 -0.019386 + 0.013521 -0.292119 -0.012723 + 0.014469 -0.292237 -0.008933 + 0.014833 -0.292261 -0.006123 + 0.011632 -0.299754 -0.020104 + 0.010544 -0.297107 -0.013407 + 0.010647 -0.296786 -0.009133 + 0.009532 -0.298110 -0.004600 + 0.004218 -0.301180 -0.018558 + 0.003966 -0.298370 -0.011211 + 0.003981 -0.298598 -0.007254 + 0.003666 -0.299191 -0.002382 + -0.002499 -0.296840 -0.018021 + -0.000776 -0.295464 -0.010884 + -0.000540 -0.296957 -0.005080 + -0.001149 -0.298908 0.000018 + -0.003687 -0.291230 -0.016841 + -0.002756 -0.291286 -0.009557 + -0.004298 -0.291975 -0.002914 + -0.007010 -0.293095 0.000731 + 0.005384 -0.291532 -0.037754 + 0.007230 -0.291693 -0.030575 + 0.006180 -0.280740 -0.038445 + 0.008076 -0.279409 -0.031089 + 0.009639 -0.278443 -0.024458 + 0.006761 -0.285540 -0.036787 + 0.008795 -0.286054 -0.030469 + 0.006566 -0.290088 -0.035287 + 0.003730 -0.266854 -0.025257 + 0.006736 -0.264837 -0.016813 + 0.006186 -0.262338 -0.012123 + 0.003690 -0.273340 -0.034135 + 0.005615 -0.271728 -0.027749 + -0.007667 -0.260900 0.010428 + -0.011129 -0.261075 -0.000199 + -0.008536 -0.259852 -0.015319 + -0.001495 -0.260296 -0.025350 + -0.010141 -0.279368 0.004475 + -0.010110 -0.273404 0.009054 + -0.009356 -0.265051 0.011089 + -0.005826 -0.290703 0.005216 + -0.005376 -0.291468 0.010361 + -0.005761 -0.286223 0.013935 + -0.005254 -0.279402 0.016580 + -0.004235 -0.270576 0.014945 + -0.000776 -0.297935 0.007316 + -0.001010 -0.294387 0.013980 + 0.001717 -0.290229 0.018066 + 0.000610 -0.286407 0.019544 + -0.000330 -0.281830 0.020771 + 0.002317 -0.297589 0.011059 + 0.007460 -0.295108 0.014537 + 0.010172 -0.289351 0.016043 + 0.008882 -0.280127 0.015308 + 0.009263 -0.283447 0.016698 + 0.005069 -0.299011 0.001932 + 0.009922 -0.297249 0.000014 + 0.013551 -0.292249 -0.002188 + 0.013115 -0.286306 -0.001260 + 0.009440 -0.282017 0.000790 + 0.003432 -0.299874 0.006789 + 0.011076 -0.299271 0.006353 + 0.015577 -0.295345 0.006527 + 0.016858 -0.291095 0.005933 + 0.016818 -0.286690 0.006324 + 0.013095 -0.281181 0.006746 + 0.008211 -0.278995 0.007128 + 0.006782 -0.299695 0.010843 + 0.011682 -0.296932 0.013931 + 0.014112 -0.291093 0.016133 + 0.014688 -0.285733 0.015138 + 0.011296 -0.281280 0.014078 + -0.000979 -0.298563 0.004093 + 0.004632 -0.278044 0.011244 + 0.002939 -0.274501 0.008290 + 0.003082 -0.272393 0.004595 + 0.006112 -0.266775 -0.007410 + 0.006751 -0.271682 -0.006277 + 0.004070 -0.274857 0.001301 + 0.008000 -0.278592 -0.004304 + 0.005370 -0.277938 0.000189 + 0.007513 -0.280087 -0.000029 + 0.005973 -0.278931 0.009821 + 0.006291 -0.279137 0.003778 + 0.004212 -0.277520 0.005751 + 0.006441 -0.280080 -0.008673 + 0.006099 -0.280151 -0.017543 + 0.005123 -0.272035 -0.009627 + 0.004907 -0.271847 -0.014437 + 0.005456 -0.266769 -0.012823 + 0.006000 -0.261020 -0.015903 + 0.005545 -0.262529 -0.007731 + 0.002279 -0.262817 0.000811 + 0.003717 -0.246915 -0.014849 + 0.005378 -0.245431 -0.008828 + 0.001550 -0.245784 -0.001498 + -0.009665 -0.244816 0.005731 + -0.012037 -0.242822 -0.001386 + -0.011242 -0.242399 -0.011966 + -0.003615 -0.247872 -0.021303 + 0.000268 -0.246665 -0.017915 + 0.003721 -0.246949 -0.014852 + 0.005380 -0.192929 -0.010625 + 0.003402 -0.226637 -0.013316 + 0.005137 -0.226970 -0.007943 + 0.005411 -0.194794 -0.004278 + -0.000305 -0.225814 -0.000853 + 0.000467 -0.193890 0.000268 + -0.010525 -0.226541 0.003325 + -0.007298 -0.193380 0.001301 + -0.013335 -0.226722 -0.003529 + -0.013444 -0.193071 -0.004460 + -0.012748 -0.227827 -0.012980 + -0.012464 -0.192921 -0.012504 + -0.005256 -0.227419 -0.018903 + -0.002420 -0.192819 -0.017128 + -0.001158 -0.228425 -0.017326 + 0.002633 -0.193354 -0.014930 + 0.003408 -0.226693 -0.013317 + 0.005355 -0.193002 -0.010619 + 0.007425 -0.150734 -0.007848 + 0.007986 -0.152205 -0.000563 + 0.004291 -0.151938 0.003414 + 0.000289 -0.151330 0.005056 + -0.005137 -0.148847 0.003371 + -0.010171 -0.147607 -0.003716 + -0.008081 -0.148241 -0.012067 + 0.001852 -0.148773 -0.014361 + 0.008472 -0.119500 -0.004121 + + + + + 10 9 0 + 1 10 0 + 11 10 1 + 2 11 1 + 12 11 2 + 3 12 2 + 13 12 3 + 4 13 3 + 14 13 4 + 5 14 4 + 15 14 5 + 6 15 5 + 16 15 6 + 7 16 6 + 17 16 7 + 8 17 7 + 19 18 9 + 10 19 9 + 20 19 10 + 11 20 10 + 21 20 11 + 12 21 11 + 22 21 12 + 13 22 12 + 23 22 13 + 14 23 13 + 24 23 14 + 15 24 14 + 25 24 15 + 16 25 15 + 26 25 16 + 17 26 16 + 28 27 18 + 19 28 18 + 29 28 19 + 20 29 19 + 30 29 20 + 21 30 20 + 31 30 21 + 22 31 21 + 32 31 22 + 23 32 22 + 33 32 23 + 24 33 23 + 34 33 24 + 25 34 24 + 35 34 25 + 26 35 25 + 28 36 27 + 28 37 36 + 29 37 28 + 29 38 37 + 30 38 29 + 30 39 38 + 30 40 39 + 31 40 30 + 31 41 40 + 32 41 31 + 32 42 41 + 33 42 32 + 33 43 42 + 34 43 33 + 34 44 43 + 35 44 34 + 35 45 44 + 36 47 46 + 37 47 36 + 37 48 47 + 38 48 37 + 38 49 48 + 38 50 49 + 39 50 38 + 39 51 50 + 40 51 39 + 40 52 51 + 40 53 52 + 41 53 40 + 41 54 53 + 42 54 41 + 42 55 54 + 42 56 55 + 43 56 42 + 43 57 56 + 44 57 43 + 44 58 57 + 44 59 58 + 45 59 44 + 45 46 59 + 7 60 0 + 6 60 7 + 5 60 6 + 4 60 5 + 3 60 4 + 2 60 3 + 1 60 2 + 0 60 1 + 63 62 61 + 64 63 61 + 65 63 64 + 66 65 64 + 67 65 66 + 68 67 66 + 69 67 68 + 70 69 68 + 71 69 70 + 72 69 71 + 73 72 71 + 74 72 73 + 75 74 73 + 76 74 75 + 77 76 75 + 78 76 77 + 79 78 77 + 80 78 79 + 61 80 79 + 82 81 62 + 63 82 62 + 83 82 63 + 65 83 63 + 84 83 65 + 67 84 65 + 85 84 67 + 69 85 67 + 86 85 69 + 72 86 69 + 87 86 72 + 74 87 72 + 88 87 74 + 76 88 74 + 89 88 76 + 78 89 76 + 90 89 78 + 80 90 78 + 92 91 81 + 82 92 81 + 93 92 82 + 83 93 82 + 94 93 83 + 84 94 83 + 85 94 84 + 95 94 85 + 86 95 85 + 96 95 86 + 87 96 86 + 97 96 87 + 88 97 87 + 98 97 88 + 89 98 88 + 99 98 89 + 90 99 89 + 101 100 91 + 92 101 91 + 102 101 92 + 93 102 92 + 103 102 93 + 94 103 93 + 104 103 94 + 95 104 94 + 105 104 95 + 96 105 95 + 106 105 96 + 97 106 96 + 107 106 97 + 98 107 97 + 100 107 98 + 99 100 98 + 110 71 70 + 108 110 70 + 111 110 108 + 109 111 108 + 52 111 109 + 51 52 109 + 112 73 71 + 110 112 71 + 111 112 110 + 53 112 111 + 52 53 111 + 112 75 73 + 54 75 112 + 53 54 112 + 75 113 77 + 54 113 75 + 54 55 113 + 113 114 77 + 113 115 114 + 55 115 113 + 55 56 115 + 116 115 56 + 57 116 56 + 117 116 57 + 58 117 57 + 118 117 58 + 59 118 58 + 119 114 115 + 116 119 115 + 117 119 116 + 120 119 117 + 118 120 117 + 119 77 114 + 79 77 119 + 120 79 119 + 121 118 59 + 46 121 59 + 122 121 46 + 47 122 46 + 123 120 118 + 121 123 118 + 124 123 121 + 122 124 121 + 61 79 120 + 123 61 120 + 64 61 123 + 124 64 123 + 125 122 47 + 48 125 47 + 49 125 48 + 126 125 49 + 50 126 49 + 109 126 50 + 51 109 50 + 127 124 122 + 125 127 122 + 128 127 125 + 126 128 125 + 108 128 126 + 109 108 126 + 66 64 124 + 127 66 124 + 68 66 127 + 128 68 127 + 70 68 128 + 108 70 128 + 136 135 129 + 130 136 129 + 137 136 130 + 131 137 130 + 138 137 131 + 132 138 131 + 139 138 132 + 133 139 132 + 140 139 133 + 134 140 133 + 142 141 135 + 136 142 135 + 143 142 136 + 137 143 136 + 144 143 137 + 138 144 137 + 145 144 138 + 139 145 138 + 146 145 139 + 140 146 139 + 142 147 141 + 148 147 142 + 143 148 142 + 149 148 143 + 144 149 143 + 145 149 144 + 146 149 145 + 149 154 148 + 150 154 149 + 150 155 154 + 151 155 150 + 151 156 155 + 152 156 151 + 152 157 156 + 152 158 157 + 153 158 152 + 153 159 158 + 162 161 148 + 154 162 148 + 163 162 154 + 155 163 154 + 156 163 155 + 164 163 156 + 157 164 156 + 165 164 157 + 158 165 157 + 166 165 158 + 159 166 158 + 162 168 161 + 163 168 162 + 164 168 163 + 165 168 164 + 166 168 165 + 175 174 169 + 170 175 169 + 176 175 170 + 171 176 170 + 177 176 171 + 172 177 171 + 178 177 172 + 173 178 172 + 180 179 174 + 175 180 174 + 181 180 175 + 176 181 175 + 182 181 176 + 177 182 176 + 183 182 177 + 178 183 177 + 184 134 179 + 180 184 179 + 185 184 180 + 181 185 180 + 186 185 181 + 182 186 181 + 187 186 182 + 183 187 182 + 188 140 134 + 184 188 134 + 189 188 184 + 185 189 184 + 190 189 185 + 186 190 185 + 191 190 186 + 187 191 186 + 192 146 140 + 188 192 140 + 193 192 188 + 189 193 188 + 194 193 189 + 190 194 189 + 195 194 190 + 191 195 190 + 196 149 146 + 192 196 146 + 197 196 192 + 193 197 192 + 198 197 193 + 194 198 193 + 199 198 194 + 195 199 194 + 196 150 149 + 151 150 196 + 197 151 196 + 152 151 197 + 198 152 197 + 153 152 198 + 199 153 198 + 200 132 131 + 133 132 200 + 201 133 200 + 134 133 201 + 179 134 201 + 205 130 129 + 202 205 129 + 206 205 202 + 203 206 202 + 169 206 203 + 204 169 203 + 207 131 130 + 205 207 130 + 201 207 205 + 206 201 205 + 174 201 206 + 169 174 206 + 207 200 131 + 201 200 207 + 174 179 201 + 211 141 147 + 208 211 147 + 212 211 208 + 209 212 208 + 167 212 209 + 210 167 209 + 202 129 141 + 211 202 141 + 203 202 211 + 212 203 211 + 160 203 212 + 167 160 212 + 215 168 214 + 215 161 168 + 215 148 161 + 216 148 215 + 216 147 148 + 214 168 217 + 218 214 217 + 219 214 218 + 213 214 219 + 217 153 199 + 220 217 199 + 221 217 220 + 218 217 221 + 222 218 221 + 219 218 222 + 223 219 222 + 213 219 223 + 224 213 223 + 220 199 195 + 225 220 195 + 221 220 225 + 226 221 225 + 227 221 226 + 222 221 227 + 228 222 227 + 223 222 228 + 229 223 228 + 224 223 229 + 230 226 225 + 227 226 230 + 231 227 230 + 232 227 231 + 228 227 232 + 234 228 232 + 229 228 234 + 233 229 234 + 224 229 233 + 235 241 240 + 236 241 235 + 236 242 241 + 237 242 236 + 237 243 242 + 238 243 237 + 238 244 243 + 238 245 244 + 239 245 238 + 239 246 245 + 241 247 240 + 248 247 241 + 242 248 241 + 249 248 242 + 243 249 242 + 250 249 243 + 244 250 243 + 245 250 244 + 251 250 245 + 246 251 245 + 195 252 225 + 235 225 195 + 240 225 235 + 230 225 240 + 247 230 240 + 231 230 247 + 248 231 247 + 232 231 248 + 249 232 248 + 250 232 249 + 234 232 250 + 251 234 250 + 233 234 251 + 253 224 233 + 254 224 253 + 255 224 254 + 258 257 256 + 255 258 256 + 260 259 257 + 258 260 257 + 260 261 259 + 239 173 259 + 261 239 259 + 238 178 173 + 239 238 173 + 237 183 178 + 238 237 178 + 236 187 183 + 237 236 183 + 235 191 187 + 236 235 187 + 235 195 191 + 246 233 251 + 246 262 233 + 246 263 262 + 239 263 246 + 239 261 263 + 264 253 233 + 262 264 233 + 263 264 262 + 260 264 263 + 261 260 263 + 264 254 253 + 258 254 264 + 260 258 264 + 258 255 254 + 265 259 173 + 172 265 173 + 156 265 172 + 171 156 172 + 266 156 171 + 170 266 171 + 204 266 170 + 169 204 170 + 267 257 259 + 265 267 259 + 156 267 265 + 268 267 156 + 266 268 156 + 167 268 266 + 204 167 266 + 269 256 257 + 267 269 257 + 268 269 267 + 209 269 268 + 167 209 268 + 269 210 256 + 269 210 209 + 208 147 216 + 270 208 216 + 209 208 270 + 210 209 270 + 271 256 210 + 255 256 271 + 272 255 271 + 224 255 272 + 213 224 272 + 274 270 273 + 274 210 270 + 275 210 274 + 275 271 210 + 276 271 275 + 276 272 271 + 276 213 272 + 277 213 276 + 277 214 213 + 278 214 277 + 278 215 214 + 279 215 278 + 279 216 215 + 280 216 279 + 280 270 216 + 281 270 280 + 284 283 282 + 285 284 282 + 286 284 285 + 287 286 285 + 288 286 287 + 289 288 287 + 290 288 289 + 291 290 289 + 292 290 291 + 293 292 291 + 294 292 293 + 295 294 293 + 296 294 295 + 297 296 295 + 298 296 297 + 299 298 297 + 274 273 283 + 284 274 283 + 275 274 284 + 286 275 284 + 276 275 286 + 288 276 286 + 277 276 288 + 290 277 288 + 278 277 290 + 292 278 290 + 279 278 292 + 294 279 292 + 280 279 294 + 296 280 294 + 281 280 296 + 298 281 296 + 285 282 300 + 301 285 300 + 287 285 301 + 302 287 301 + 289 287 302 + 303 289 302 + 291 289 303 + 304 291 303 + 293 291 304 + 305 293 304 + 295 293 305 + 306 295 305 + 297 295 306 + 307 297 306 + 299 297 307 + 300 299 307 + 301 300 100 + 101 301 100 + 302 301 101 + 102 302 101 + 303 302 102 + 103 303 102 + 304 303 103 + 104 304 103 + 305 304 104 + 105 305 104 + 306 305 105 + 106 306 105 + 307 306 106 + 107 307 106 + 300 307 107 + 308 300 107 + 159 217 166 + 159 153 217 + + + 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72 75 78 81 84 87 90 93 96 99 102 105 108 111 114 117 120 123 126 129 132 135 138 141 144 147 150 153 156 159 162 165 168 171 174 177 180 183 186 189 192 195 198 201 204 207 210 213 216 219 222 225 228 231 234 237 240 243 246 249 252 255 258 261 264 267 270 273 276 279 282 285 288 291 294 297 300 303 306 309 312 315 318 321 324 327 330 333 336 339 342 345 348 351 354 357 360 363 366 369 372 375 378 381 384 387 390 393 396 399 402 405 408 411 414 417 420 423 426 429 432 435 438 441 444 447 450 453 456 459 462 465 468 471 474 477 480 483 486 489 492 495 498 501 504 507 510 513 516 519 522 525 528 531 534 537 540 543 546 549 552 555 558 561 564 567 570 573 576 579 582 585 588 591 594 597 600 603 606 609 612 615 618 621 624 627 630 633 636 639 642 645 648 651 654 657 660 663 666 669 672 675 678 681 684 687 690 693 696 699 702 705 708 711 714 717 720 723 726 729 732 735 738 741 744 747 750 753 756 759 762 765 768 771 774 777 780 783 786 789 792 795 798 801 804 807 810 813 816 819 822 825 828 831 834 837 840 843 846 849 852 855 858 861 864 867 870 873 876 879 882 885 888 891 894 897 900 903 906 909 912 915 918 921 924 927 930 933 936 939 942 945 948 951 954 957 960 963 966 969 972 975 978 981 984 987 990 993 996 999 1002 1005 1008 1011 1014 1017 1020 1023 1026 1029 1032 1035 1038 1041 1044 1047 1050 1053 1056 1059 1062 1065 1068 1071 1074 1077 1080 1083 1086 1089 1092 1095 1098 1101 1104 1107 1110 1113 1116 1119 1122 1125 1128 1131 1134 1137 1140 1143 1146 1149 1152 1155 1158 1161 1164 1167 1170 1173 1176 1179 1182 1185 1188 1191 1194 1197 1200 1203 1206 1209 1212 1215 1218 1221 1224 1227 1230 1233 1236 1239 1242 1245 1248 1251 1254 1257 1260 1263 1266 1269 1272 1275 1278 1281 1284 1287 1290 1293 1296 1299 1302 1305 1308 1311 1314 1317 1320 1323 1326 1329 1332 1335 1338 1341 1344 1347 1350 1353 1356 1359 1362 1365 1368 1371 1374 1377 1380 1383 1386 1389 1392 1395 1398 1401 1404 1407 1410 1413 1416 1419 1422 1425 1428 1431 1434 1437 1440 1443 1446 1449 1452 1455 1458 1461 1464 1467 1470 1473 1476 1479 1482 1485 1488 1491 1494 1497 1500 1503 1506 1509 1512 1515 1518 1521 1524 1527 1530 1533 1536 1539 1542 1545 1548 1551 1554 1557 1560 1563 1566 1569 1572 1575 1578 1581 1584 1587 1590 1593 1596 1599 1602 1605 1608 1611 1614 1617 1620 1623 1626 1629 1632 1635 1638 1641 1644 1647 1650 1653 1656 1659 1662 1665 1668 1671 1674 1677 1680 1683 1686 1689 1692 1695 1698 1701 1704 1707 1710 1713 1716 1719 1722 1725 1728 1731 1734 1737 1740 1743 1746 1749 1752 1755 1758 1761 1764 + + + + + diff --git a/examples/dynamics/mesh/arm_r_ulna.vtp b/examples/dynamics/mesh/arm_r_ulna.vtp new file mode 100644 index 00000000..0674d1d5 --- /dev/null +++ b/examples/dynamics/mesh/arm_r_ulna.vtp @@ -0,0 +1,842 @@ + + + + + + + 0.458916 0.735698 0.498140 + 0.646546 0.477163 0.595226 + 0.460386 0.574867 0.676441 + 0.647775 0.741283 0.175749 + 0.203947 0.631014 0.748483 + 0.514927 0.688032 0.511333 + 0.364044 0.920999 -0.138679 + -0.025867 0.997673 0.063086 + 0.800612 0.511790 -0.311595 + 0.798472 0.519953 0.303466 + 0.565094 0.817515 0.111074 + 0.833920 0.539215 -0.117368 + 0.509369 0.810645 -0.288787 + -0.197389 0.884489 -0.422749 + 0.720562 0.402587 -0.564548 + 0.527583 0.678220 -0.511541 + 0.247272 0.838187 -0.486105 + 0.057536 0.892322 -0.447718 + 0.846210 0.183183 -0.500373 + 0.661344 0.222359 -0.716366 + 0.483602 0.612276 -0.625498 + 0.401217 0.833109 -0.380728 + 0.188123 0.947836 -0.257328 + 0.541760 0.410975 -0.733209 + 0.377002 0.589443 0.714441 + -0.464898 0.667100 0.582106 + -0.242290 0.357706 0.901855 + 0.271312 0.106558 0.956575 + 0.642522 0.665532 0.379778 + 0.405220 0.616322 0.675237 + 0.353350 0.075415 0.932447 + 0.313341 0.147039 0.938188 + 0.530831 0.093905 0.842259 + 0.670951 0.394668 0.627743 + 0.806719 -0.322855 0.494943 + 0.917138 -0.075545 0.391346 + 0.961401 0.180013 0.208096 + 0.851940 0.476482 0.217169 + 0.767232 0.415748 0.488374 + 0.780836 -0.520314 0.345786 + 0.928668 -0.329299 0.170698 + 0.994630 -0.092270 0.046867 + 0.954951 0.273169 0.115966 + 0.919093 0.392267 -0.037344 + 0.778091 -0.619859 0.101735 + 0.886171 -0.461502 0.041430 + 0.982123 -0.179748 -0.055897 + 0.973560 0.177710 -0.143529 + 0.863294 0.076122 -0.498927 + 0.779048 -0.576295 -0.246916 + 0.865154 -0.444654 -0.231931 + 0.935912 -0.204794 -0.286581 + 0.879330 0.077646 -0.469841 + 0.576361 0.329417 -0.747859 + 0.859629 -0.408269 -0.307172 + 0.898215 -0.315491 -0.306064 + 0.837514 -0.234139 -0.493710 + 0.734732 -0.049436 -0.676554 + 0.044714 0.146605 -0.988184 + 0.592165 -0.372860 -0.714364 + 0.576335 -0.465357 -0.671774 + 0.590269 -0.453279 -0.667923 + 0.426949 -0.292715 -0.855589 + 0.290660 0.174925 -0.940701 + -0.429133 -0.048695 -0.901928 + -0.338600 -0.382424 -0.859711 + -0.442547 0.583604 -0.680851 + -0.684963 -0.003338 -0.728571 + -0.210798 0.904705 -0.370234 + -0.727449 0.237478 -0.643756 + -0.854147 0.520029 0.001852 + -0.206459 0.975506 0.075919 + -0.717547 0.598950 0.355507 + -0.332570 0.912458 0.238365 + -0.753402 0.418838 0.506912 + -0.278877 0.958925 -0.051874 + -0.989158 -0.103600 0.104088 + -0.820941 -0.298814 -0.486586 + -0.881009 0.041940 0.471236 + -0.751121 -0.405552 -0.520907 + -0.966419 -0.150011 -0.208641 + -0.944190 0.109647 0.310617 + -0.619636 0.234280 0.749109 + 0.146585 0.209130 0.966839 + 0.022774 0.155261 0.987611 + 0.011069 0.146231 0.989189 + -0.085363 0.205250 0.974980 + 0.274922 0.179486 0.944565 + 0.097497 0.412279 0.905826 + -0.845890 0.031235 0.532442 + -0.963413 -0.012721 0.267718 + -0.898746 0.066687 0.433368 + -0.996671 -0.063986 -0.050516 + 0.632346 -0.311680 -0.709221 + -0.561984 -0.302741 -0.769755 + -0.058347 0.645923 -0.761170 + -0.135879 -0.579322 -0.803693 + 0.392662 -0.705936 -0.589466 + 0.149945 -0.460509 -0.874899 + 0.220452 -0.422956 -0.878925 + -0.545099 -0.412621 -0.729802 + -0.550406 -0.394611 -0.735755 + -0.539912 -0.328555 -0.774950 + -0.613572 -0.310857 -0.725877 + 0.997006 -0.031041 0.070821 + 0.983810 -0.129388 0.124000 + 0.986125 -0.157970 0.051024 + 0.869833 -0.421598 0.256216 + 0.646443 -0.199927 0.736302 + 0.383170 0.205538 0.900519 + 0.606596 0.161212 0.778493 + 0.771385 -0.107864 0.627161 + 0.777407 -0.321356 0.540711 + 0.448972 0.374801 0.811141 + 0.814467 -0.556501 -0.164165 + 0.890631 -0.331612 -0.311144 + 0.576254 -0.775546 -0.257800 + 0.746491 -0.664086 -0.041728 + 0.814488 -0.568903 -0.113836 + 0.589365 -0.166003 -0.790627 + -0.767295 -0.188417 -0.612990 + -0.921793 -0.003920 0.387663 + -0.093538 0.160692 0.982562 + 0.650107 0.175633 0.739266 + 0.958246 -0.031070 -0.284254 + 0.634952 -0.746424 -0.199219 + 0.785681 -0.594690 -0.170438 + 0.662138 0.013292 -0.749264 + 0.916049 0.171680 -0.362465 + 0.804537 -0.539504 0.221076 + 0.854898 0.302530 0.421455 + 0.521645 -0.608983 0.597517 + 0.136396 0.083216 0.987153 + -0.212886 -0.713225 0.667825 + -0.033313 -0.810462 0.584843 + -0.313009 -0.182993 0.931954 + 0.237240 -0.717438 0.654980 + -0.375258 -0.148293 0.914981 + 0.478724 -0.542180 0.681190 + -0.203983 -0.804742 0.557478 + -0.976079 -0.141753 0.164852 + -0.251498 -0.669839 -0.698616 + -0.575388 -0.274393 -0.770479 + 0.077574 -0.722662 -0.686834 + -0.194234 -0.474098 -0.858781 + 0.102078 -0.874691 -0.473811 + -0.052963 -0.833727 -0.549632 + -0.038806 -0.413585 -0.909638 + 0.006202 -0.865646 -0.500618 + 0.304455 -0.952468 -0.010537 + 0.665127 -0.015867 -0.746561 + 0.582109 0.140767 -0.800833 + 0.821074 0.084950 -0.564465 + 0.816662 0.319662 -0.480500 + 0.862232 0.354156 0.362117 + 0.711975 0.600983 0.363195 + -0.063910 0.323128 0.944195 + 0.024750 0.534066 0.845081 + -0.540232 0.218870 0.812555 + -0.749416 0.124155 0.650355 + -0.833209 0.191805 0.518627 + -0.975187 -0.048451 -0.216015 + -0.876297 -0.075169 -0.475870 + -0.458836 -0.190342 -0.867893 + -0.256342 -0.210716 -0.943339 + 0.299986 -0.167009 -0.939210 + 0.062336 -0.098192 -0.993213 + 0.730915 -0.059856 -0.679839 + 0.685598 -0.111862 -0.719334 + 0.874037 0.014438 -0.485644 + 0.959529 0.039190 -0.278868 + 0.920824 0.140404 0.363826 + 0.578406 0.253496 0.775362 + -0.267078 0.133984 0.954315 + -0.207165 0.204877 0.956613 + -0.910180 0.005446 0.414178 + -0.963010 -0.088844 0.254400 + -0.870179 -0.189540 -0.454822 + -0.679173 -0.195789 -0.707383 + -0.132739 -0.236906 -0.962422 + -0.148435 -0.197284 -0.969044 + 0.389940 -0.196652 -0.899597 + 0.845740 0.022864 -0.533105 + 0.834209 0.034026 -0.550397 + 0.924194 0.069290 -0.375585 + 0.868560 0.006912 -0.495535 + 0.800176 0.149408 0.580858 + 0.845522 0.140790 0.515043 + -0.315983 0.099211 0.943563 + -0.216632 0.093186 0.971796 + -0.949626 -0.072316 0.304929 + -0.867000 -0.063429 0.494256 + -0.695223 -0.190820 -0.693002 + -0.818766 -0.169711 -0.548470 + -0.422556 -0.206263 -0.882554 + -0.545691 -0.141128 -0.826017 + 0.831043 -0.029503 -0.555426 + 0.834118 -0.004550 -0.539849 + 0.856199 0.003379 -0.516635 + 0.882293 -0.000156 -0.470701 + 0.860023 0.100141 0.500332 + 0.848110 0.153135 0.507207 + -0.075076 0.082152 0.993788 + 0.036533 0.114544 0.992746 + -0.749157 -0.055872 0.660031 + -0.735792 -0.003637 0.677198 + -0.855899 -0.135533 -0.499066 + -0.841058 -0.170777 -0.513281 + -0.577933 -0.151264 -0.801943 + -0.562007 -0.187873 -0.805514 + -0.501913 -0.174646 -0.847102 + + + + + -0.009357 -0.010036 0.007856 + -0.010113 -0.010628 0.012293 + -0.005751 -0.012393 0.009177 + -0.009587 -0.008686 0.004887 + -0.001042 -0.013203 0.007970 + 0.004926 -0.013329 0.007780 + -0.005391 -0.011931 0.004384 + -0.000688 -0.012641 0.003623 + 0.006213 -0.009919 0.001606 + -0.009776 -0.007221 0.002900 + -0.006989 -0.010853 0.002674 + -0.009685 -0.006639 0.000925 + -0.006101 -0.011527 0.000355 + 0.003168 -0.012140 -0.000014 + -0.010966 -0.007764 -0.002189 + -0.007740 -0.011973 -0.002722 + -0.003865 -0.014444 -0.003771 + 0.000227 -0.015392 -0.004438 + 0.003736 -0.017105 -0.007017 + -0.013733 -0.009489 -0.005649 + -0.011323 -0.012143 -0.005843 + -0.006664 -0.015670 -0.007238 + -0.004121 -0.016919 -0.007897 + 0.002128 -0.017355 -0.010678 + -0.010229 0.011257 0.008116 + -0.016565 0.009458 0.008913 + -0.022600 0.000150 0.008779 + -0.019672 -0.005675 0.008804 + -0.014884 -0.011751 0.011155 + -0.011490 -0.014190 0.014937 + -0.015357 0.008150 0.010269 + -0.016029 0.003307 0.011050 + -0.014180 -0.002495 0.010496 + -0.011123 -0.006937 0.008266 + -0.011660 0.005528 0.006181 + -0.012463 -0.000144 0.005497 + -0.011781 -0.004516 0.005016 + -0.010900 -0.007066 0.004913 + -0.007100 0.011211 0.004532 + -0.009296 0.007642 0.002884 + -0.011011 0.004319 0.002439 + -0.012036 0.000749 0.002667 + -0.012136 -0.002561 0.002978 + -0.005171 0.010977 0.000103 + -0.008128 0.007480 0.000066 + -0.010493 0.004523 0.000154 + -0.011811 0.000631 0.000208 + -0.011983 -0.002286 0.000202 + -0.006964 0.010672 -0.006821 + -0.008967 0.007762 -0.004901 + -0.011210 0.004318 -0.004404 + -0.012698 0.000330 -0.003141 + -0.013222 -0.004130 -0.004468 + -0.011417 0.010028 -0.011276 + -0.013548 0.004899 -0.009863 + -0.014871 0.000421 -0.008549 + -0.014754 -0.002771 -0.008016 + -0.015063 -0.006286 -0.007030 + -0.015004 0.005051 -0.014066 + -0.015594 0.001018 -0.013028 + -0.015723 -0.003174 -0.011095 + -0.017002 -0.005548 -0.010122 + -0.017284 -0.008048 -0.008299 + -0.016543 -0.010502 -0.008000 + -0.021637 0.001640 -0.012487 + -0.024802 -0.006831 -0.008613 + -0.017269 0.009055 -0.010983 + -0.025204 -0.000674 -0.010929 + -0.016279 0.011983 -0.006461 + -0.026911 0.002944 -0.009452 + -0.028321 0.006336 -0.003634 + -0.016319 0.012146 -0.001409 + -0.026861 0.006069 -0.000548 + -0.017285 0.011343 0.003255 + -0.025526 0.004302 0.003453 + -0.013178 0.010488 0.009742 + -0.027263 -0.023614 0.007713 + -0.026834 -0.017932 0.003210 + -0.027201 -0.016895 0.007715 + -0.026110 -0.010656 -0.003416 + -0.027814 -0.009128 -0.000839 + -0.027652 -0.007253 0.003922 + -0.025039 -0.008617 0.009391 + -0.015260 -0.047309 0.022131 + -0.015520 -0.039126 0.020773 + -0.013654 -0.034003 0.020165 + -0.011510 -0.026966 0.018995 + -0.011080 -0.019733 0.018229 + -0.011262 -0.016953 0.017075 + -0.024556 -0.047852 0.018535 + -0.025608 -0.042737 0.016368 + -0.026040 -0.038879 0.014619 + -0.027055 -0.032266 0.011806 + -0.009276 -0.049715 0.007928 + -0.019383 -0.050637 0.010018 + -0.008958 -0.015086 -0.012608 + -0.008341 -0.022540 -0.010901 + -0.007115 -0.026690 -0.004722 + -0.008486 -0.035129 0.000490 + -0.009268 -0.042353 0.003672 + -0.018624 -0.018964 -0.001087 + -0.019743 -0.029313 0.002405 + -0.019500 -0.035780 0.004815 + -0.020181 -0.042502 0.007588 + -0.007815 -0.049835 0.014590 + -0.006137 -0.040569 0.009859 + -0.004792 -0.032287 0.008138 + -0.003458 -0.025770 0.009526 + -0.000484 -0.021743 0.011659 + -0.003872 -0.023347 0.012984 + -0.007166 -0.022235 0.014586 + -0.009094 -0.036189 0.014504 + 0.002050 -0.017995 0.009994 + -0.005836 -0.017989 0.010815 + -0.003149 -0.023945 0.001898 + -0.006957 -0.038475 0.005361 + -0.002206 -0.022298 -0.007160 + -0.000570 -0.020324 -0.002135 + 0.001171 -0.019370 0.000979 + -0.011116 -0.071821 0.012425 + -0.020548 -0.071261 0.017357 + -0.022394 -0.072183 0.024932 + -0.014015 -0.070733 0.025700 + -0.007666 -0.069125 0.025577 + -0.009599 -0.070744 0.018446 + 0.009410 -0.243676 0.043255 + 0.012917 -0.241602 0.046665 + 0.008288 -0.240273 0.040753 + 0.012822 -0.236019 0.044892 + 0.012263 -0.240984 0.051220 + 0.014063 -0.233464 0.050313 + 0.009751 -0.241508 0.054184 + 0.010178 -0.235557 0.055045 + 0.006772 -0.242521 0.053265 + 0.004299 -0.243309 0.050507 + 0.004889 -0.237586 0.056111 + 0.000318 -0.244179 0.049408 + 0.001133 -0.239277 0.052473 + -0.000803 -0.245551 0.049697 + -0.002469 -0.247579 0.048385 + -0.006015 -0.241890 0.048676 + -0.004183 -0.246115 0.046044 + -0.001943 -0.241983 0.044509 + -0.001392 -0.244938 0.045709 + 0.000672 -0.241648 0.041950 + -0.000119 -0.243866 0.044798 + 0.003665 -0.243547 0.042997 + 0.008537 -0.240654 0.040981 + 0.009194 -0.243787 0.043481 + 0.002500 -0.244073 0.046853 + 0.003124 -0.225482 0.039989 + 0.005034 -0.232866 0.040708 + 0.007103 -0.223076 0.043483 + 0.010181 -0.230479 0.044736 + 0.006682 -0.221256 0.046859 + 0.010114 -0.229923 0.049335 + 0.001049 -0.222100 0.048268 + 0.004541 -0.229540 0.052339 + -0.000156 -0.232577 0.050018 + -0.003584 -0.224031 0.045977 + -0.004004 -0.233448 0.048293 + -0.003667 -0.224985 0.042367 + -0.004510 -0.234841 0.043795 + -0.000837 -0.225949 0.038975 + -0.001106 -0.234266 0.040381 + 0.002966 -0.225788 0.040306 + 0.004538 -0.232793 0.041066 + 0.000011 -0.187811 0.031452 + 0.002274 -0.213747 0.037198 + 0.003142 -0.187567 0.034797 + 0.005377 -0.212413 0.039724 + 0.003580 -0.187165 0.040381 + 0.005309 -0.211865 0.043653 + -0.004026 -0.188058 0.040096 + -0.000642 -0.211918 0.045857 + -0.004708 -0.212914 0.043240 + -0.008312 -0.189183 0.036362 + -0.003940 -0.213930 0.038421 + -0.006101 -0.188188 0.032633 + -0.001637 -0.214316 0.035827 + -0.000030 -0.187224 0.030550 + 0.002217 -0.213549 0.037330 + -0.007424 -0.139403 0.022247 + -0.003629 -0.162055 0.026292 + -0.000825 -0.162913 0.031307 + -0.003030 -0.139136 0.028764 + 0.001183 -0.162503 0.037559 + -0.000529 -0.138117 0.033173 + -0.006564 -0.164007 0.037147 + -0.008696 -0.139344 0.033072 + -0.012079 -0.164801 0.034128 + -0.013992 -0.140012 0.030945 + -0.009909 -0.163225 0.029049 + -0.013352 -0.139035 0.025877 + -0.003444 -0.162145 0.026204 + -0.007482 -0.139207 0.022155 + -0.010793 -0.099704 0.016770 + -0.008780 -0.119076 0.019882 + -0.005038 -0.118462 0.025591 + -0.006602 -0.099055 0.022925 + -0.001902 -0.117483 0.031475 + -0.003527 -0.097181 0.028574 + -0.008729 -0.118618 0.031817 + -0.011010 -0.097853 0.029224 + -0.016497 -0.119127 0.031035 + -0.019080 -0.098461 0.030054 + -0.016151 -0.119174 0.025712 + -0.018081 -0.099691 0.023002 + -0.008848 -0.119372 0.020601 + -0.010327 -0.099969 0.017220 + -0.011079 -0.071726 0.011842 + + + + + 1 2 0 + 4 3 0 + 2 4 0 + 4 5 3 + 5 6 3 + 5 7 6 + 5 8 7 + 10 9 3 + 6 10 3 + 7 10 6 + 10 11 9 + 10 12 11 + 10 10 12 + 7 10 10 + 7 13 10 + 8 13 7 + 15 14 11 + 12 15 11 + 16 15 12 + 10 16 12 + 17 16 10 + 13 17 10 + 18 17 13 + 8 18 13 + 20 19 14 + 15 20 14 + 21 20 15 + 16 21 15 + 22 21 16 + 17 22 16 + 23 22 17 + 18 23 17 + 25 30 24 + 31 30 25 + 26 31 25 + 32 31 26 + 27 32 26 + 33 32 27 + 28 33 27 + 0 33 28 + 29 0 28 + 30 34 24 + 35 34 30 + 31 35 30 + 36 35 31 + 32 36 31 + 37 36 32 + 33 37 32 + 3 37 33 + 0 3 33 + 39 38 24 + 34 39 24 + 40 39 34 + 35 40 34 + 41 40 35 + 36 41 35 + 42 41 36 + 37 42 36 + 9 42 37 + 3 9 37 + 44 43 38 + 39 44 38 + 45 44 39 + 40 45 39 + 46 45 40 + 41 46 40 + 47 46 41 + 42 47 41 + 11 47 42 + 9 11 42 + 49 48 43 + 44 49 43 + 50 49 44 + 45 50 44 + 51 50 45 + 46 51 45 + 52 51 46 + 47 52 46 + 14 52 47 + 11 14 47 + 54 53 48 + 49 54 48 + 55 54 49 + 50 55 49 + 56 55 50 + 51 56 50 + 57 56 51 + 52 57 51 + 19 57 52 + 14 19 52 + 59 58 53 + 54 59 53 + 60 59 54 + 55 60 54 + 61 60 55 + 56 61 55 + 62 61 56 + 57 62 56 + 63 62 57 + 19 63 57 + 59 64 58 + 60 64 59 + 65 64 60 + 61 65 60 + 62 65 61 + 63 65 62 + 66 64 65 + 67 66 65 + 68 66 67 + 69 68 67 + 70 68 69 + 71 68 70 + 72 71 70 + 73 71 72 + 74 73 72 + 25 73 74 + 26 25 74 + 66 58 64 + 66 53 58 + 68 53 66 + 68 48 53 + 68 43 48 + 71 43 68 + 71 38 43 + 73 38 71 + 73 24 38 + 25 24 73 + 25 75 24 + 78 77 76 + 77 80 79 + 78 80 77 + 78 81 80 + 78 82 81 + 79 67 65 + 80 67 79 + 80 69 67 + 80 70 69 + 81 70 80 + 81 72 70 + 81 74 72 + 82 74 81 + 82 26 74 + 84 89 83 + 84 90 89 + 85 90 84 + 85 91 90 + 86 91 85 + 86 92 91 + 86 76 92 + 87 76 86 + 87 78 76 + 88 78 87 + 88 82 78 + 29 82 88 + 29 26 82 + 28 26 29 + 28 27 26 + 100 63 95 + 96 100 95 + 101 100 96 + 97 101 96 + 102 101 97 + 98 102 97 + 103 102 98 + 99 103 98 + 94 103 99 + 93 94 99 + 100 65 63 + 100 79 65 + 100 77 79 + 101 77 100 + 101 76 77 + 102 76 101 + 102 92 76 + 103 92 102 + 103 91 92 + 103 90 91 + 94 90 103 + 94 89 90 + 83 111 104 + 105 111 104 + 106 111 105 + 107 111 106 + 108 111 107 + 109 111 108 + 110 111 109 + 87 111 110 + 86 111 87 + 85 111 86 + 84 111 85 + 83 111 84 + 104 111 83 + 4 113 5 + 2 113 4 + 1 113 2 + 29 113 1 + 88 113 29 + 87 113 88 + 110 113 87 + 109 113 110 + 108 113 109 + 112 113 108 + 5 113 112 + 104 115 93 + 99 115 93 + 98 115 99 + 97 115 98 + 114 115 97 + 108 115 114 + 107 115 108 + 106 115 107 + 105 115 106 + 104 115 105 + 93 115 104 + 96 116 97 + 23 116 96 + 95 23 96 + 117 114 97 + 116 117 97 + 18 117 116 + 23 18 116 + 117 118 114 + 8 118 117 + 18 8 117 + 112 108 114 + 118 112 114 + 5 112 118 + 8 5 118 + 94 93 119 + 120 94 119 + 89 94 120 + 121 89 120 + 122 89 121 + 83 89 122 + 123 83 122 + 104 83 123 + 124 104 123 + 93 104 124 + 119 93 124 + 127 126 125 + 128 126 127 + 128 129 126 + 130 129 128 + 130 131 129 + 132 131 130 + 132 133 131 + 132 134 133 + 135 134 132 + 135 136 134 + 137 136 135 + 137 138 136 + 137 139 138 + 140 139 137 + 140 141 139 + 142 141 140 + 142 143 141 + 144 143 142 + 144 145 143 + 144 146 145 + 147 146 144 + 147 148 146 + 126 149 125 + 129 149 126 + 131 149 129 + 133 149 131 + 134 149 133 + 136 149 134 + 138 149 136 + 139 149 138 + 141 149 139 + 143 149 141 + 145 149 143 + 146 149 145 + 148 149 146 + 152 151 150 + 152 153 151 + 154 153 152 + 154 155 153 + 156 155 154 + 156 157 155 + 156 158 157 + 159 158 156 + 159 160 158 + 161 160 159 + 161 162 160 + 163 162 161 + 163 164 162 + 165 164 163 + 165 166 164 + 153 127 151 + 153 128 127 + 155 128 153 + 155 130 128 + 157 130 155 + 157 132 130 + 157 135 132 + 158 135 157 + 158 137 135 + 160 137 158 + 160 140 137 + 162 140 160 + 162 142 140 + 164 142 162 + 164 144 142 + 166 144 164 + 166 147 144 + 169 168 167 + 169 170 168 + 171 170 169 + 171 172 170 + 173 172 171 + 173 174 172 + 173 175 174 + 176 175 173 + 176 177 175 + 178 177 176 + 178 179 177 + 180 179 178 + 180 181 179 + 152 150 168 + 170 152 168 + 154 152 170 + 172 154 170 + 156 154 172 + 174 156 172 + 159 156 174 + 175 159 174 + 161 159 175 + 177 161 175 + 163 161 177 + 179 163 177 + 165 163 179 + 181 165 179 + 184 183 182 + 185 184 182 + 186 184 185 + 187 186 185 + 188 186 187 + 189 188 187 + 190 188 189 + 191 190 189 + 192 190 191 + 193 192 191 + 194 192 193 + 195 194 193 + 169 167 183 + 184 169 183 + 171 169 184 + 186 171 184 + 173 171 186 + 188 173 186 + 176 173 188 + 190 176 188 + 178 176 190 + 192 178 190 + 180 178 192 + 194 180 192 + 198 197 196 + 199 198 196 + 200 198 199 + 201 200 199 + 202 200 201 + 203 202 201 + 204 202 203 + 205 204 203 + 206 204 205 + 207 206 205 + 208 206 207 + 209 208 207 + 185 182 197 + 198 185 197 + 187 185 198 + 200 187 198 + 189 187 200 + 202 189 200 + 191 189 202 + 204 191 202 + 193 191 204 + 206 193 204 + 195 193 206 + 208 195 206 + 199 196 119 + 124 199 119 + 201 199 124 + 123 201 124 + 203 201 123 + 122 203 123 + 205 203 122 + 121 205 122 + 207 205 121 + 120 207 121 + 209 207 120 + 210 209 120 + 20 63 19 + 21 63 20 + 95 63 21 + 22 95 21 + 23 95 22 + + + 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72 75 78 81 84 87 90 93 96 99 102 105 108 111 114 117 120 123 126 129 132 135 138 141 144 147 150 153 156 159 162 165 168 171 174 177 180 183 186 189 192 195 198 201 204 207 210 213 216 219 222 225 228 231 234 237 240 243 246 249 252 255 258 261 264 267 270 273 276 279 282 285 288 291 294 297 300 303 306 309 312 315 318 321 324 327 330 333 336 339 342 345 348 351 354 357 360 363 366 369 372 375 378 381 384 387 390 393 396 399 402 405 408 411 414 417 420 423 426 429 432 435 438 441 444 447 450 453 456 459 462 465 468 471 474 477 480 483 486 489 492 495 498 501 504 507 510 513 516 519 522 525 528 531 534 537 540 543 546 549 552 555 558 561 564 567 570 573 576 579 582 585 588 591 594 597 600 603 606 609 612 615 618 621 624 627 630 633 636 639 642 645 648 651 654 657 660 663 666 669 672 675 678 681 684 687 690 693 696 699 702 705 708 711 714 717 720 723 726 729 732 735 738 741 744 747 750 753 756 759 762 765 768 771 774 777 780 783 786 789 792 795 798 801 804 807 810 813 816 819 822 825 828 831 834 837 840 843 846 849 852 855 858 861 864 867 870 873 876 879 882 885 888 891 894 897 900 903 906 909 912 915 918 921 924 927 930 933 936 939 942 945 948 951 954 957 960 963 966 969 972 975 978 981 984 987 990 993 996 999 1002 1005 1008 1011 1014 1017 1020 1023 1026 1029 1032 1035 1038 1041 1044 1047 1050 1053 1056 1059 1062 1065 1068 1071 1074 1077 1080 1083 1086 1089 1092 1095 1098 1101 1104 1107 1110 1113 1116 1119 1122 1125 1128 1131 1134 1137 1140 1143 1146 1149 1152 1155 1158 1161 1164 1167 1170 1173 1176 1179 1182 1185 1188 1191 1194 + + + + + diff --git a/examples/dynamics/mesh/ground_ribs.vtp b/examples/dynamics/mesh/ground_ribs.vtp new file mode 100644 index 00000000..6efac07b --- /dev/null +++ b/examples/dynamics/mesh/ground_ribs.vtp @@ -0,0 +1,10998 @@ + + + + + + + 0.987667 0.151235 0.040521 + 0.622831 -0.649576 0.436041 + 0.332908 -0.530908 -0.779301 + 0.671050 0.674583 0.307621 + 0.663092 0.041999 0.747359 + 0.747551 0.553415 -0.367286 + 0.324162 -0.592725 0.737289 + -0.529533 -0.106446 -0.841584 + -0.042132 0.433245 -0.900291 + -0.472540 -0.878703 0.067730 + -0.023847 0.888271 -0.458699 + -0.253177 0.462313 -0.849805 + 0.420884 0.892963 -0.159604 + 0.505627 0.020400 0.862511 + 0.325694 -0.412785 0.850607 + -0.730314 0.021576 -0.682770 + -0.491299 -0.865503 0.097617 + -0.565498 -0.049177 -0.823282 + -0.384494 -0.229709 -0.894091 + -0.171152 0.278089 -0.945184 + 0.464193 0.884751 0.041720 + 0.377451 0.120927 0.918100 + 0.171422 -0.337909 0.925436 + -0.407110 -0.907443 0.103965 + -0.416820 -0.905734 0.076853 + -0.293742 -0.261769 -0.919343 + -0.010211 0.344296 -0.938806 + 0.438005 0.896299 0.069280 + 0.258131 0.204251 0.944272 + 0.014357 -0.299107 0.954112 + 0.085759 0.134724 0.987165 + 0.027757 0.637185 -0.770211 + -0.183346 -0.339125 -0.922702 + 0.153817 0.369461 -0.916427 + 0.432240 0.890052 0.144831 + 0.101669 0.163110 0.981355 + 0.016117 0.243988 0.969644 + 0.035240 0.367198 0.929475 + -0.244618 -0.705948 -0.664680 + -0.028630 -0.340481 -0.939815 + 0.283859 0.382002 -0.879487 + 0.408293 0.898720 0.159997 + 0.409138 0.907497 0.095166 + -0.124622 0.293703 0.947738 + -0.426968 -0.449043 0.784894 + -0.262777 -0.885783 -0.382541 + 0.118150 -0.353628 -0.927894 + 0.399467 0.403737 -0.823057 + 0.545065 0.465090 -0.697564 + 0.100586 0.852403 0.513119 + -0.351115 0.271748 0.896031 + -0.538037 -0.557813 0.631950 + -0.187950 -0.937796 -0.291914 + 0.349097 -0.221212 -0.910602 + 0.542151 -0.195486 -0.817225 + 0.637027 0.593448 -0.491951 + -0.468912 0.408659 0.783020 + -0.468767 0.383414 0.795771 + -0.602983 -0.590500 0.536396 + -0.021332 -0.892683 -0.450179 + -0.215864 -0.954180 -0.207227 + 0.721444 -0.184036 -0.667570 + 0.393115 0.824110 0.407803 + -0.347266 0.707912 0.615034 + -0.609379 0.384594 0.693358 + -0.781319 -0.107703 0.614768 + -0.950017 -0.188427 0.248923 + 0.039384 -0.851612 -0.522691 + 0.870793 -0.227039 -0.436088 + 0.914201 0.403160 -0.041203 + 0.202744 0.894434 0.398601 + -0.802182 0.343867 0.488118 + -0.799100 0.539850 0.264577 + -0.957301 -0.241183 -0.159389 + -0.007112 -0.894969 -0.446071 + 0.870306 -0.446419 -0.208034 + 0.996224 0.082677 0.026484 + 0.428873 0.798387 0.422666 + 0.406003 0.839072 0.362105 + -0.836422 0.547065 -0.033442 + -0.934665 -0.201938 -0.292613 + -0.142851 -0.926600 -0.347858 + 0.883449 -0.456113 0.107141 + 0.980312 0.001357 0.197449 + 0.852605 0.110456 0.510749 + 0.077876 0.973275 0.216034 + -0.826980 0.416052 -0.378159 + -0.833520 -0.168964 -0.526018 + 0.048778 -0.997475 -0.051623 + 0.874015 -0.077470 0.479683 + 0.974299 -0.215411 0.065869 + 0.847941 0.369942 -0.379656 + -0.327053 0.563661 -0.758500 + -0.406062 0.303087 -0.862120 + -0.245445 -0.222074 -0.943631 + 0.632625 -0.770262 -0.080512 + 0.974287 0.215284 0.066466 + 0.473575 -0.624408 0.621161 + 0.423190 -0.751034 -0.506812 + 0.599163 0.148798 0.786678 + 0.532008 0.586028 -0.611178 + 0.509219 0.860473 -0.016798 + 0.307097 -0.477246 0.823364 + -0.364637 0.110765 -0.924538 + -0.514515 -0.847397 0.131123 + 0.533141 0.315609 0.784953 + 0.430381 0.862120 -0.267435 + -0.237446 0.647681 -0.723967 + -0.107313 0.674887 -0.730076 + -0.049596 0.537739 -0.841651 + 0.269229 -0.334040 0.903290 + -0.578223 0.143752 -0.803115 + -0.555613 -0.828614 0.068502 + 0.400876 0.387420 0.830183 + 0.399709 0.855063 -0.330301 + -0.054499 0.276669 -0.959419 + -0.427710 0.033664 -0.903289 + -0.248859 -0.026789 -0.968169 + 0.084026 -0.307445 0.947849 + -0.503748 -0.859896 -0.082558 + 0.311591 0.494682 0.811296 + 0.413535 0.804717 -0.425934 + 0.059991 0.241721 -0.968490 + -0.105352 -0.092648 -0.990110 + -0.395018 -0.841298 -0.369023 + -0.086021 -0.367974 0.925849 + 0.126425 0.379974 0.916317 + 0.440470 0.625674 -0.643831 + 0.040031 -0.045773 -0.998150 + 0.005571 -0.108014 -0.994134 + -0.334544 -0.776563 -0.533882 + -0.264722 -0.542255 0.797422 + 0.013873 0.305413 0.952119 + 0.449698 0.806176 -0.384516 + 0.128117 -0.050216 -0.990487 + 0.051616 -0.173472 -0.983485 + -0.389415 -0.904506 -0.173852 + -0.293677 -0.436352 0.850500 + -0.079680 0.315824 0.945466 + 0.397480 0.908771 0.127059 + 0.242501 -0.021723 -0.969908 + 0.124394 -0.265075 -0.956170 + -0.513523 -0.824069 0.239175 + -0.195044 0.020026 0.980590 + -0.305054 0.215746 0.927575 + 0.176756 0.917163 0.357169 + 0.468429 0.296124 -0.832397 + 0.269893 -0.420285 -0.866325 + -0.400817 -0.805585 0.436323 + -0.201296 0.323551 0.924551 + -0.394891 0.395169 0.829399 + 0.080005 0.945393 0.315960 + 0.587573 0.456849 -0.667867 + 0.475059 -0.309714 -0.823648 + -0.392975 -0.906704 0.153162 + -0.444856 0.203124 0.872264 + -0.610434 0.311973 0.728041 + -0.064356 0.915125 0.398002 + 0.703856 0.521919 -0.481859 + 0.680397 -0.227413 -0.696666 + -0.151520 -0.974352 -0.166376 + -0.670943 -0.061228 0.738977 + -0.850183 0.168967 0.498637 + -0.471909 0.740580 0.478375 + 0.659852 0.750783 -0.030319 + 0.893105 -0.078646 -0.442920 + 0.069752 -0.923116 -0.378142 + -0.847747 -0.338314 0.408497 + -0.979538 0.123499 0.158911 + -0.497420 0.804996 0.323348 + 0.624899 0.746598 0.228239 + 0.969204 -0.188589 -0.158360 + 0.299304 -0.851230 -0.431074 + -0.843085 -0.532322 -0.076422 + -0.994589 0.082290 -0.063416 + -0.224815 0.935784 0.271600 + 0.706141 0.637314 0.308538 + 0.924396 -0.379859 0.034623 + 0.364845 -0.879770 -0.304782 + -0.532585 -0.771172 -0.348778 + -0.813446 -0.392914 -0.428864 + -0.459240 0.858921 -0.226613 + 0.719513 0.537421 0.439863 + 0.862136 -0.322452 0.390828 + 0.065334 -0.980284 -0.186479 + -0.178182 -0.906810 -0.382030 + -0.659251 0.297029 -0.690769 + -0.588000 -0.231971 -0.774884 + -0.368271 -0.826146 -0.426451 + 0.650281 0.759684 -0.003701 + 0.012120 0.609585 -0.792628 + 0.923921 0.029406 0.381453 + 0.065978 -0.848073 -0.525756 + -0.535704 0.008493 -0.844363 + -0.850333 -0.150034 -0.504405 + -0.557909 0.330854 -0.761100 + 0.144321 0.533855 -0.833169 + -0.263208 -0.837121 -0.479531 + 0.233117 -0.820959 -0.521231 + -0.506707 -0.741915 -0.439101 + -0.987906 0.102497 -0.116347 + -0.298515 0.954283 -0.015277 + 0.858404 0.227479 0.459778 + 0.580395 -0.768785 -0.268537 + 0.384099 -0.920577 -0.070747 + 0.792447 -0.387015 0.471431 + 0.507832 -0.715757 -0.479374 + -0.749832 -0.531246 -0.394372 + -0.990781 0.135460 0.001878 + -0.058248 0.894578 0.443100 + 0.683814 0.453953 0.571249 + 0.995190 -0.094100 0.027255 + 0.954312 -0.263043 0.141763 + 0.804643 0.403781 0.435328 + 0.973912 0.067028 -0.216800 + 0.309766 -0.679697 -0.664873 + -0.821664 -0.541289 -0.178534 + -0.821905 0.337374 0.458966 + 0.101039 0.867201 0.487599 + 0.890748 0.447213 0.081044 + 0.866109 0.404624 0.293486 + 0.772862 0.568968 -0.280996 + 0.855463 0.168005 -0.489855 + 0.304563 -0.703884 -0.641707 + -0.715590 -0.684840 0.137571 + -0.690926 0.146855 0.707853 + 0.719381 0.651044 0.242140 + 0.683355 0.723944 -0.094505 + 0.579198 0.763941 -0.284471 + 0.731500 0.247852 -0.635199 + 0.719416 0.204658 -0.663744 + 0.248220 -0.722620 -0.645141 + -0.653242 -0.668648 0.355226 + -0.402595 0.580222 0.707997 + -0.236669 0.675873 0.697985 + 0.578416 0.674841 -0.458285 + 0.585972 0.235152 -0.775462 + 0.572679 0.197521 -0.795628 + 0.061975 -0.786137 -0.614937 + -0.615450 -0.571840 0.542421 + -0.543220 -0.553391 0.631403 + -0.087937 0.597353 0.797143 + 0.533372 0.684342 -0.497182 + 0.470604 0.252981 -0.845301 + 0.447020 0.121201 -0.886275 + -0.129777 -0.818157 -0.560157 + -0.205987 -0.820979 -0.532505 + -0.497309 -0.572524 0.651844 + 0.066389 0.630020 0.773736 + 0.505082 0.659616 -0.556595 + 0.408463 0.280660 -0.868555 + 0.351714 0.117455 -0.928710 + 0.269030 0.102038 -0.957711 + -0.185248 -0.684640 -0.704948 + -0.460927 -0.679934 0.570294 + 0.167564 0.639727 0.750114 + 0.481338 0.702373 -0.524391 + 0.313796 0.204335 -0.927243 + 0.200720 0.209236 -0.957043 + 0.174425 0.237536 -0.955590 + -0.253795 -0.619110 -0.743163 + -0.360007 -0.621611 0.695697 + 0.196237 0.473012 0.858924 + 0.495601 0.739114 -0.456169 + 0.514035 0.855630 -0.060541 + 0.170051 0.406954 -0.897480 + 0.081356 0.294187 -0.952279 + -0.393604 -0.627780 -0.671541 + -0.330394 -0.664422 0.670360 + 0.116902 0.150039 0.981745 + 0.211112 0.047325 0.976316 + 0.541370 0.840529 -0.020726 + 0.124819 0.471414 -0.873035 + -0.018610 0.366126 -0.930379 + -0.508345 -0.560043 -0.654169 + -0.324773 -0.723920 0.608656 + -0.259874 -0.783166 0.564903 + 0.257124 -0.102069 0.960973 + 0.574643 0.803302 0.156497 + 0.078324 0.629639 -0.772930 + -0.148592 0.431406 -0.889837 + -0.566839 -0.582315 -0.582755 + 0.405816 -0.792785 -0.454759 + 0.023468 -0.776745 0.629378 + 0.523719 -0.369385 0.767641 + 0.616776 0.637069 -0.462310 + 0.309954 0.665435 -0.679061 + 0.051586 0.285415 -0.957015 + 0.304701 -0.950728 -0.057206 + 0.323583 -0.472143 -0.819985 + 0.689321 0.556577 -0.463744 + 0.135632 0.013446 0.990668 + -0.216694 -0.930707 0.294667 + 0.481448 0.116989 0.868632 + 0.236016 0.246689 -0.939915 + 0.385054 0.502068 -0.774378 + -0.221726 -0.417741 -0.881096 + 0.190383 0.872415 -0.450163 + 0.327869 0.895952 0.299619 + 0.429993 0.900403 -0.066181 + 0.124996 0.029162 0.991729 + -0.293573 -0.828729 0.476469 + 0.013134 0.503125 -0.864114 + -0.369731 -0.558424 -0.742605 + 0.060264 0.398456 -0.915206 + 0.218843 0.632538 -0.742970 + 0.265062 0.471187 -0.841264 + 0.468402 0.875508 -0.118680 + 0.090689 0.163562 0.982356 + -0.375476 -0.718813 0.585086 + -0.328015 -0.618913 -0.713689 + 0.180617 0.329703 -0.926646 + 0.270767 0.300054 -0.914687 + 0.282677 0.376760 -0.882126 + 0.497933 0.808560 -0.313516 + -0.003489 0.184220 0.982879 + -0.415753 -0.663569 0.621953 + -0.266294 -0.697094 -0.665693 + -0.211365 -0.682334 -0.699818 + 0.364741 0.349271 -0.863118 + 0.304979 0.230264 -0.924103 + 0.548573 0.780106 -0.300835 + -0.108257 0.161471 0.980922 + -0.468818 -0.628185 0.620962 + -0.508898 -0.618401 0.598835 + -0.108163 -0.696213 -0.709639 + 0.452418 0.317586 -0.833341 + 0.403055 0.218452 -0.888721 + 0.536262 0.829977 -0.153500 + -0.157930 0.247385 0.955960 + -0.223692 0.346959 0.910814 + -0.577162 -0.589917 0.564696 + -0.083602 -0.741389 -0.665848 + 0.559231 0.296563 -0.774152 + 0.555447 0.317364 -0.768609 + 0.504391 0.863404 -0.011109 + 0.510232 0.859183 0.038308 + -0.322913 0.439018 0.838445 + -0.683840 -0.538323 0.492516 + -0.017068 -0.775515 -0.631099 + 0.673011 0.225451 -0.704434 + 0.691103 0.415513 -0.591376 + 0.780702 0.406449 -0.474662 + 0.444002 0.884224 0.144952 + -0.406716 0.472804 0.781689 + -0.736903 -0.547862 0.396006 + 0.139067 -0.790556 -0.596391 + 0.779834 0.228282 -0.582877 + 0.918229 0.242586 -0.313063 + 0.839245 0.522370 -0.150991 + 0.645046 0.753804 0.125283 + -0.776510 0.036175 0.629066 + -0.811594 -0.563193 0.155337 + 0.170308 -0.723850 -0.668608 + 0.991029 0.015424 -0.132757 + 0.293135 -0.695862 -0.655628 + 0.856190 0.478025 0.196040 + 0.561720 0.720382 0.406841 + -0.813755 0.396643 0.424825 + -0.864648 -0.460459 -0.200899 + -0.051392 -0.792205 -0.608087 + 0.916183 -0.352335 -0.190966 + -0.850112 -0.406948 -0.334221 + 0.851087 0.374397 0.368074 + 0.285922 0.789362 0.543282 + -0.858649 0.459636 0.226841 + -0.848622 -0.453383 -0.272551 + -0.210815 -0.827391 -0.520559 + 0.794093 -0.607503 -0.018867 + -0.942426 0.334346 -0.006780 + 0.758215 0.390969 0.521779 + 0.079795 0.859109 0.505534 + -0.832526 -0.137262 -0.536713 + -0.324146 -0.673869 -0.663950 + 0.795096 -0.459251 0.396120 + -0.178854 0.980041 0.086776 + 0.686282 0.320982 0.652677 + -0.435265 0.132347 -0.890522 + 0.384053 -0.671476 -0.633738 + 0.846848 0.521320 0.105236 + -0.087140 0.522222 -0.848346 + 0.680762 0.732147 -0.022893 + 0.486907 -0.428190 0.761298 + 0.698038 0.710164 0.091709 + 0.569214 0.789626 -0.229100 + 0.592158 -0.485905 0.642842 + -0.328477 0.585355 -0.741258 + -0.613356 0.570973 -0.545697 + 0.355977 -0.398534 0.845252 + -0.635143 -0.764250 -0.111873 + -0.751838 -0.659081 -0.018765 + 0.681991 0.658373 0.318485 + -0.131025 0.651581 -0.747178 + 0.511243 0.784575 -0.350816 + 0.707346 -0.580485 0.403360 + -0.737343 0.578082 -0.349495 + -0.694145 -0.706467 0.138086 + -0.842205 -0.175020 -0.509960 + -0.919078 -0.322631 -0.226286 + -0.979613 -0.200735 -0.007958 + 0.087070 -0.521191 0.848987 + -0.646072 -0.724489 -0.240225 + -0.619385 -0.264232 -0.739286 + -0.707396 -0.146753 -0.691415 + 0.626564 0.638037 0.447577 + -0.013204 0.705891 -0.708198 + 0.771599 -0.557763 0.305834 + 0.518404 0.744402 -0.420859 + -0.786875 0.542985 -0.293249 + -0.617751 -0.725069 0.304400 + -0.960324 -0.250992 0.121579 + -0.502497 -0.766833 0.399329 + -0.208572 -0.832152 0.513830 + -0.629777 -0.682620 -0.370689 + -0.572341 -0.359947 -0.736792 + -0.060264 0.567263 -0.821329 + 0.078190 -0.294449 0.952463 + 0.567947 0.800108 0.193038 + 0.903330 -0.408779 0.129976 + 0.606445 0.636253 -0.476872 + -0.645586 0.724268 -0.242187 + -0.957338 -0.160326 0.240415 + -0.422764 -0.768201 0.480769 + -0.564389 -0.705239 -0.429072 + -0.490920 -0.406792 -0.770401 + 0.029725 0.446010 -0.894534 + -0.547569 -0.684168 -0.481750 + -0.338806 -0.625986 0.702390 + 0.531168 0.688677 0.493543 + 0.633899 -0.769352 0.079174 + 0.293920 0.768759 -0.567998 + -0.670686 0.741713 0.006450 + -0.875829 -0.005454 0.482590 + -0.377710 -0.431477 -0.819245 + 0.138998 0.462086 -0.875874 + -0.314199 -0.454070 -0.833727 + -0.510151 -0.793388 -0.332087 + -0.089456 -0.281585 0.955357 + 0.459368 0.752850 0.471378 + -0.190917 -0.980483 0.046936 + 0.505442 0.438466 -0.743152 + -0.524104 0.818057 0.236851 + -0.801403 -0.071825 0.593796 + 0.188465 0.420606 -0.887452 + 0.343718 0.266548 -0.900450 + -0.256397 -0.464087 -0.847870 + -0.391394 -0.912428 -0.119523 + -0.134365 -0.308224 0.941777 + 0.378602 0.786739 0.487547 + -0.358744 -0.621684 0.696284 + 0.953813 0.270602 -0.130444 + 0.091388 0.928120 0.360889 + -0.367456 0.382416 0.847782 + 0.391990 -0.347865 -0.851665 + 0.944238 0.313440 0.100851 + -0.082668 -0.647913 -0.757215 + 0.328478 -0.933131 -0.146182 + 0.314727 -0.144855 0.938064 + -0.173768 -0.776918 0.605148 + 0.837719 -0.544476 0.042115 + -0.814844 -0.241452 0.527001 + -0.810469 -0.553891 0.190646 + 0.587704 -0.644037 0.489714 + -0.904495 -0.333230 0.266171 + 0.953451 -0.294098 0.066617 + 0.471791 -0.853132 -0.222661 + 0.736870 0.423666 -0.526811 + 0.656241 0.407930 -0.634777 + -0.459454 -0.386732 0.799588 + -0.971406 -0.168497 0.167270 + -0.860274 0.501441 -0.092119 + -0.069485 0.994142 -0.082788 + 0.031096 0.904700 -0.424914 + -0.512640 0.085715 0.854315 + -0.728263 0.266666 -0.631286 + -0.415900 -0.902042 0.115526 + -0.968780 0.157233 -0.191688 + 0.951803 -0.102293 0.289148 + 0.995286 -0.047794 0.084392 + -0.851831 0.471034 -0.229154 + 0.878122 0.341202 -0.335386 + 0.152340 -0.829019 0.538070 + 0.772256 0.133803 0.621062 + 0.303415 0.893733 0.330426 + 0.276326 0.821037 -0.499541 + 0.592163 0.805157 -0.032637 + 0.573947 0.817211 0.052448 + -0.458315 0.440279 -0.772076 + 0.694526 -0.221386 0.684559 + -0.683159 -0.680571 -0.264797 + 0.209675 0.860171 -0.464910 + 0.918704 0.306447 0.249145 + 0.924691 0.366685 -0.102412 + 0.757070 0.459932 0.464013 + 0.828563 0.543806 0.133261 + 0.694018 0.435959 0.572956 + 0.504633 0.862739 0.032048 + -0.370655 0.394032 -0.841043 + -0.060643 -0.862187 0.502947 + 0.794989 0.297984 0.528393 + -0.661793 -0.516587 -0.543294 + 0.661065 0.189316 0.726053 + 0.546859 0.259746 0.795913 + 0.582485 0.412567 0.700356 + 0.512311 0.832891 0.209356 + -0.266678 0.293283 -0.918078 + -0.578686 -0.559178 -0.593669 + 0.019265 -0.743810 0.668113 + -0.069835 -0.692010 0.718502 + 0.442868 0.311475 0.840745 + 0.432783 0.290148 0.853530 + 0.498297 0.802153 0.329014 + -0.183893 0.191653 -0.964081 + -0.500145 -0.655617 -0.565705 + -0.457600 -0.637458 -0.619879 + -0.159614 -0.690685 0.705320 + 0.362520 0.323982 0.873850 + 0.289218 0.196373 0.936905 + 0.478791 0.832312 0.279314 + -0.110248 0.156632 -0.981485 + -0.002787 0.199506 -0.979893 + -0.409159 -0.639855 -0.650518 + -0.230766 -0.673994 0.701769 + 0.253815 0.294725 0.921258 + 0.226682 0.262542 0.937916 + 0.460570 0.869991 0.176046 + 0.447428 0.887947 0.106574 + 0.054730 0.161040 -0.985429 + -0.352364 -0.722545 -0.594785 + -0.268513 -0.612024 0.743860 + 0.159400 0.308824 0.937667 + 0.233085 0.443890 0.865236 + 0.176797 0.579987 0.795209 + 0.398968 0.911227 -0.102417 + 0.127355 0.081623 -0.988493 + -0.288296 -0.815979 -0.501063 + -0.312884 -0.541042 0.780626 + 0.059685 0.403533 0.913016 + 0.036039 0.566579 0.823219 + 0.184122 0.810644 0.555838 + 0.332354 0.894097 -0.300218 + 0.118743 -0.009606 -0.992879 + -0.235048 -0.932494 -0.274239 + -0.230879 -0.366908 0.901151 + 0.430031 0.007478 0.902783 + 0.165266 0.653187 0.738941 + 0.227330 0.863524 0.450164 + 0.562906 0.808831 0.170087 + 0.628621 -0.568017 -0.531218 + 0.107580 -0.979462 0.170529 + -0.141713 -0.637797 0.757055 + 0.277011 -0.859976 0.428610 + 0.682889 -0.057018 0.728294 + 0.345626 0.341895 0.873871 + -0.275347 -0.553561 0.785973 + 0.968527 0.156631 -0.193446 + 0.135941 -0.396167 -0.908059 + -0.379587 -0.865278 0.327425 + 0.455728 0.769062 -0.448170 + 0.451435 0.752071 -0.480204 + 0.198267 0.424072 0.883659 + -0.335372 -0.465138 0.819251 + -0.221612 -0.245883 -0.943626 + -0.534130 -0.808154 0.248177 + 0.507573 0.725204 -0.465241 + -0.145113 -0.329953 -0.932777 + 0.148303 0.397710 0.905446 + -0.366331 -0.425544 0.827475 + -0.549016 -0.717657 0.428427 + 0.581708 0.738947 -0.339961 + -0.224732 -0.485116 -0.845079 + 0.039163 0.440770 0.896765 + -0.474658 -0.382437 0.792743 + -0.611367 -0.688790 0.389614 + 0.596719 0.723772 -0.346526 + 0.002165 -0.543377 -0.839486 + 0.003200 0.591843 0.806047 + -0.592551 -0.342774 0.728965 + -0.600015 -0.689007 0.406511 + 0.695425 0.599158 -0.396729 + 0.080501 -0.593976 -0.800445 + -0.027849 0.636489 0.770783 + -0.610729 -0.262629 0.747018 + -0.651868 -0.661455 0.370872 + 0.706652 0.685084 -0.176927 + 0.378212 -0.348561 -0.857590 + 0.005612 -0.654329 -0.756189 + -0.114844 0.598114 0.793140 + -0.697295 -0.189718 0.691222 + -0.716357 -0.685367 0.130783 + 0.730596 0.682711 -0.011595 + 0.479713 -0.434450 -0.762318 + -0.719019 -0.693865 -0.039533 + -0.316690 0.569317 0.758674 + -0.829278 -0.204368 0.520127 + 0.651720 0.738997 0.170719 + 0.625465 -0.487549 -0.609171 + -0.681542 -0.696865 -0.223338 + -0.944089 -0.230070 0.236142 + -0.660742 0.476087 0.580312 + 0.640530 0.694397 0.327925 + 0.731084 -0.539519 -0.417655 + -0.628224 -0.712979 -0.311441 + -0.979884 -0.196666 0.033908 + -0.749647 0.541258 0.380878 + 0.286663 0.852944 0.436246 + 0.716264 -0.630022 -0.300065 + 0.961974 -0.268978 -0.047508 + -0.554779 -0.731228 -0.396896 + -0.975413 -0.199473 -0.093698 + -0.787765 0.547654 0.281961 + 0.525697 0.643293 0.556612 + -0.293359 -0.788419 -0.540680 + -0.299880 -0.691451 -0.657242 + 0.776856 -0.618948 0.115746 + -0.977723 -0.077174 -0.195197 + -0.654748 0.680905 0.328138 + 0.391592 0.684661 0.614732 + -0.883113 -0.002295 -0.469154 + -0.759481 0.095372 -0.643501 + -0.334933 -0.796335 -0.503656 + 0.569194 -0.598980 0.563242 + -0.752732 0.643871 -0.137205 + 0.191390 0.864686 0.464422 + -0.528612 0.815998 -0.233913 + -0.408049 0.152012 -0.900216 + -0.105104 0.891366 -0.440930 + 0.244647 -0.645823 -0.723229 + 0.866117 -0.437745 0.241289 + 0.793927 0.584507 0.167429 + 0.218146 0.938497 0.267647 + 0.125218 0.968589 -0.214839 + -0.841750 0.484565 0.238020 + 0.087707 0.996107 -0.008822 + 0.909571 -0.076009 0.408538 + 0.034480 0.938974 -0.342255 + 0.996637 0.081924 0.001782 + -0.900791 0.394192 -0.182174 + -0.880872 -0.389762 0.268607 + -0.881217 -0.250395 0.400947 + -0.781708 0.418380 0.462484 + 0.129192 0.989069 0.071078 + 0.936703 0.190910 -0.293497 + 0.216123 -0.723792 0.655299 + 0.807765 0.230703 0.542487 + 0.418063 -0.770920 0.480526 + 0.095052 0.905117 -0.414402 + -0.696972 0.507210 -0.506920 + 0.666991 -0.726785 0.164029 + -0.692306 -0.713429 0.108309 + -0.004451 -0.968054 -0.250702 + -0.065305 -0.997734 -0.016185 + -0.345196 -0.624559 0.700546 + -0.654653 0.105198 0.748574 + -0.599960 0.495065 0.628457 + 0.852964 -0.025842 -0.521330 + 0.200783 0.613771 0.763526 + 0.477797 -0.874779 -0.080453 + -0.564846 -0.799047 -0.206091 + 0.122742 -0.688708 0.714573 + -0.673524 -0.706122 -0.218533 + 0.629481 0.190468 0.753310 + -0.320760 -0.932678 0.165000 + 0.232948 0.933565 -0.272381 + -0.491530 0.500522 -0.712654 + -0.907501 -0.029725 -0.418997 + 0.528513 -0.704501 -0.473658 + 0.682543 -0.701228 0.205948 + 0.916451 -0.233080 -0.325255 + -0.410139 0.091824 -0.907389 + -0.495602 -0.783462 -0.374920 + -0.499138 0.227299 -0.836179 + 0.007380 -0.680991 0.732254 + -0.658477 0.235624 -0.714765 + 0.483493 0.250889 0.838624 + 0.211774 0.920515 -0.328335 + -0.367668 0.454055 -0.811575 + -0.105914 0.430880 -0.896172 + -0.278374 -0.109621 -0.954197 + -0.244989 0.457919 -0.854570 + -0.374873 -0.901508 -0.216225 + 0.019303 -0.514146 0.857485 + 0.329130 0.331973 0.884006 + 0.251279 0.939614 -0.232345 + 0.220120 0.956238 -0.192761 + 0.078516 0.464922 -0.881863 + -0.109132 -0.124089 -0.986251 + -0.268487 -0.950256 -0.157886 + -0.110807 -0.545842 0.830529 + 0.182115 0.452623 0.872907 + -0.122225 0.406264 0.905545 + 0.212007 0.971870 -0.102573 + 0.283231 0.520559 -0.805480 + 0.132374 -0.088582 -0.987234 + -0.149981 -0.870508 -0.468745 + -0.277733 -0.641970 0.714660 + -0.392319 -0.644813 0.655974 + -0.195894 0.579425 0.791134 + 0.380024 0.857977 -0.345625 + 0.445170 0.489746 -0.749649 + 0.380450 0.128454 -0.915837 + 0.109325 -0.768859 -0.630003 + 0.162186 -0.862766 -0.478884 + -0.577722 -0.566556 0.587582 + -0.206777 0.784731 0.584328 + 0.519635 0.748913 -0.411228 + 0.585440 0.505580 -0.633757 + 0.595010 0.084132 -0.799303 + 0.759407 -0.168699 -0.628365 + 0.028712 -0.942275 -0.333608 + -0.781710 -0.375471 0.497947 + -0.231846 0.908285 0.348233 + 0.630453 0.721174 -0.287121 + 0.794667 0.403645 -0.453404 + 0.906173 0.336114 -0.256669 + 0.861509 -0.196962 -0.467982 + 0.029660 -0.945581 -0.324031 + -0.885230 -0.381072 0.266744 + -0.790415 0.470842 0.391857 + 0.241830 0.949242 0.201140 + 0.362063 0.868885 0.337564 + 0.713515 -0.145649 0.685334 + 0.968615 -0.224408 -0.106894 + 0.034784 -0.835139 0.548938 + -0.657234 -0.373871 0.654419 + -0.744289 0.164896 0.647181 + 0.807139 0.346471 -0.478000 + -0.383232 -0.295689 -0.875044 + -0.786611 0.264071 -0.558131 + -0.138503 0.987005 -0.081471 + 0.670904 -0.625519 -0.398262 + 0.843437 -0.121260 0.523365 + 0.056023 0.868139 0.493149 + -0.688763 -0.634566 -0.350615 + 0.410235 -0.901917 -0.135105 + -0.915873 0.398977 -0.044658 + 0.885467 0.073609 0.458835 + -0.088147 0.818091 0.568294 + -0.943237 0.330624 -0.031484 + -0.653373 -0.590299 -0.473974 + 0.485387 -0.847307 -0.215568 + 0.907663 0.174980 0.381484 + -0.269852 0.762082 0.588567 + -0.981963 0.171052 0.080554 + -0.609605 -0.659084 -0.440443 + 0.491300 -0.784968 -0.377425 + 0.925025 0.259109 0.277835 + -0.304797 0.701573 0.644123 + -0.952335 0.185306 0.242321 + -0.735926 -0.549935 -0.394949 + 0.517701 -0.722214 -0.458686 + -0.436342 0.652262 0.619806 + 0.915710 0.358129 0.182259 + -0.886268 0.172193 0.429974 + -0.874588 -0.445390 -0.191635 + 0.343693 -0.681633 -0.645950 + -0.835394 0.069529 0.545236 + -0.363841 0.567117 0.738917 + 0.952928 0.300317 -0.041678 + -0.864890 -0.501670 -0.017091 + 0.295988 -0.663157 -0.687469 + -0.839475 -0.539048 0.068623 + -0.771267 0.005272 0.636489 + -0.156521 0.551155 0.819591 + 0.925433 0.329013 -0.187947 + 0.283350 -0.559883 -0.778616 + 0.279251 -0.502192 -0.818426 + -0.788841 -0.537891 0.297326 + -0.732002 -0.050950 0.679394 + 0.338679 0.617418 0.709994 + 0.887116 0.422169 -0.186545 + 0.870979 0.219557 -0.439533 + 0.420545 -0.710248 -0.564526 + -0.205353 -0.745904 0.633606 + -0.092019 -0.126111 0.987739 + 0.932501 0.008923 0.361057 + 0.161997 0.824749 -0.541799 + 0.892456 0.347552 0.287628 + 0.858385 0.067713 -0.508517 + -0.882211 -0.134790 -0.451149 + 0.032352 0.506075 -0.861882 + -0.823510 -0.274168 -0.496651 + 0.120837 0.758900 -0.639898 + 0.886696 0.419150 0.195151 + 0.163741 -0.760217 0.628696 + 0.478111 -0.841782 0.250623 + -0.407877 -0.627844 -0.662909 + 0.126683 -0.746003 0.653782 + -0.067348 -0.725895 0.684501 + -0.723985 -0.442992 -0.528775 + 0.138832 0.698242 -0.702270 + 0.863635 0.390785 0.318469 + 0.734461 0.419176 0.533722 + -0.173271 -0.659075 0.731845 + -0.698127 -0.449345 -0.557412 + 0.169556 0.741132 -0.649595 + 0.268033 0.707363 -0.654061 + 0.604154 0.490683 0.627877 + -0.275290 -0.559890 0.781498 + -0.781232 -0.215788 -0.585757 + -0.642927 -0.197327 -0.740072 + 0.336381 0.629878 -0.700073 + 0.420862 0.664181 0.617850 + -0.472560 -0.372930 0.798505 + -0.521483 -0.450559 0.724604 + -0.470551 -0.658484 -0.587350 + 0.282120 0.332425 -0.899946 + 0.248702 0.771399 0.585739 + 0.171019 0.824789 0.538958 + -0.529088 -0.367532 0.764844 + -0.372942 -0.862569 -0.341891 + 0.407928 0.135799 -0.902858 + 0.646851 -0.035797 -0.761776 + 0.237932 0.802295 0.547459 + -0.593376 -0.232142 0.770723 + -0.314060 -0.911921 -0.264132 + -0.202893 -0.923043 -0.326844 + 0.838967 -0.077938 -0.538571 + 0.177783 0.877111 0.446171 + -0.649120 -0.305112 0.696814 + -0.760603 -0.441307 0.476163 + -0.060697 -0.974299 -0.216928 + 0.865429 -0.076697 -0.495126 + -0.127143 0.910479 0.393525 + -0.575132 0.797854 0.180699 + -0.804542 -0.469425 -0.363802 + -0.046173 -0.959600 -0.277555 + 0.919037 0.021291 -0.393596 + 0.837123 -0.496841 0.228853 + 0.076115 0.913475 -0.399712 + -0.875116 0.033360 -0.482762 + -0.063244 -0.997531 0.030518 + -0.142702 -0.822152 0.551092 + 0.958573 -0.230600 0.167214 + 0.120454 0.932274 -0.341109 + -0.998207 0.051940 0.029754 + -0.956137 -0.179141 -0.231754 + -0.133914 -0.937659 0.320721 + 0.390516 -0.000697 -0.920596 + -0.339337 0.760483 -0.553638 + -0.723364 -0.687723 -0.061504 + -0.784897 -0.379479 -0.489829 + -0.118288 -0.960958 -0.250135 + -0.554761 -0.830071 -0.056767 + 0.730613 -0.494790 0.470519 + -0.332748 0.788362 -0.517459 + -0.301287 0.861158 -0.409429 + -0.008974 0.307982 -0.951350 + 0.969470 0.242438 0.036777 + -0.383510 -0.922714 -0.038968 + 0.701286 -0.360600 0.614952 + -0.314310 0.781196 -0.539390 + 0.898061 0.401834 0.178927 + 0.679103 0.620511 0.392154 + 0.785855 0.547701 0.287152 + -0.213682 -0.968149 0.130490 + 0.659190 -0.134647 0.739824 + -0.226965 0.738147 -0.635315 + 0.569667 0.653893 0.497899 + 0.566151 0.085212 0.819885 + -0.175915 -0.953297 0.245516 + -0.068043 0.612030 -0.787902 + 0.560254 0.657247 0.504124 + 0.521064 0.054674 0.851765 + -0.306169 -0.915570 0.260754 + 0.003440 0.521509 -0.853239 + 0.560178 0.740988 0.370320 + 0.463205 0.124258 0.877497 + -0.467153 -0.788091 0.400849 + 0.139837 0.341249 -0.929513 + 0.523013 0.798269 0.298704 + 0.245582 0.487926 0.837626 + -0.722524 -0.547693 0.421889 + 0.312402 0.082640 -0.946349 + 0.494318 0.845285 0.202838 + 0.049951 0.635869 0.770179 + -0.734247 -0.582564 0.348569 + 0.471365 -0.082982 -0.878026 + 0.529116 0.827011 0.189971 + -0.068282 0.636741 0.768049 + -0.798327 -0.539465 0.267678 + 0.529149 -0.348312 -0.773744 + 0.564287 0.816051 0.125061 + -0.177950 0.744632 0.643317 + -0.841929 -0.516854 0.154974 + 0.649244 -0.511488 -0.562905 + 0.669882 0.738376 0.077842 + -0.295297 0.806231 0.512632 + -0.822571 -0.559946 0.099183 + 0.810070 -0.469855 -0.350746 + 0.590851 0.805926 0.037115 + -0.460542 0.828425 0.318769 + -0.634143 -0.758574 0.149763 + 0.929936 -0.351080 -0.109373 + 0.398745 0.887957 -0.229207 + -0.750329 0.625741 -0.213201 + -0.410643 -0.897737 0.159502 + 0.975582 0.042640 0.215458 + 0.162483 0.919776 -0.357227 + -0.722753 0.485693 -0.491661 + -0.505563 -0.580761 -0.638061 + 0.922226 -0.316658 -0.221873 + 0.212148 0.922539 -0.322358 + -0.012445 0.629066 -0.777253 + -0.442688 0.622823 -0.645073 + 0.921276 0.260863 0.288446 + 0.852671 -0.267234 0.448930 + 0.781308 -0.207885 -0.588508 + 0.249917 0.946984 -0.201899 + 0.846040 0.154823 -0.510144 + 0.319499 0.911557 -0.258813 + 0.841867 0.237559 0.484589 + 0.742113 -0.206576 0.637648 + -0.212590 -0.935249 0.283046 + 0.360191 -0.890219 -0.278877 + -0.708582 -0.242147 -0.662779 + -0.585829 -0.170170 -0.792368 + -0.810943 0.435439 -0.390851 + -0.192516 0.792688 -0.578432 + -0.701445 0.325405 -0.634102 + -0.615113 0.102669 -0.781726 + 0.313795 0.925779 -0.210867 + 0.693178 0.250952 0.675668 + 0.646413 -0.125059 0.752669 + -0.379059 -0.889909 0.253723 + -0.933166 -0.166035 -0.318800 + -0.836041 -0.102968 -0.538919 + -0.713042 -0.222950 -0.664729 + -0.585424 -0.375811 -0.718363 + -0.484858 0.026960 -0.874177 + 0.260459 0.959893 -0.103757 + 0.562255 0.438356 0.701223 + 0.558250 -0.027765 0.829208 + -0.347823 -0.921824 0.171053 + -0.298529 -0.938411 0.173972 + -0.350461 -0.892626 0.283542 + -0.438652 -0.696322 -0.568085 + -0.327991 -0.030716 -0.944181 + 0.233508 0.957186 -0.171083 + 0.458628 0.596404 0.658759 + 0.406850 0.093567 0.908691 + 0.106203 0.200530 0.973914 + -0.254132 -0.517211 0.817258 + -0.393483 -0.919316 0.005307 + -0.108240 0.021129 -0.993900 + 0.319574 0.930198 -0.180564 + 0.297924 0.674717 0.675276 + 0.102728 0.712739 0.693867 + -0.119664 0.283831 0.951378 + -0.232608 -0.001570 0.972569 + -0.455982 -0.834521 0.309281 + 0.125948 -0.123635 -0.984302 + 0.409891 0.856549 -0.313548 + 0.509198 0.817035 -0.270503 + 0.033766 0.724810 0.688121 + -0.233942 0.383435 0.893448 + -0.449530 0.040576 0.892343 + -0.579036 -0.808373 0.106071 + 0.253946 -0.227581 -0.940063 + 0.431269 -0.253856 -0.865774 + 0.614921 0.778761 -0.124114 + -0.098586 0.706936 0.700373 + -0.400017 0.392468 0.828224 + -0.566838 0.115009 0.815762 + -0.692731 -0.707276 0.141013 + -0.308759 -0.857395 -0.411755 + 0.589877 -0.322627 -0.740241 + 0.612568 0.789749 0.032515 + -0.142058 0.760869 0.633165 + -0.409148 0.517260 0.751692 + -0.685399 0.160671 0.710221 + 0.165296 -0.863079 -0.477254 + -0.909377 0.115256 0.399688 + 0.716750 -0.471491 -0.513776 + 0.692917 0.716724 0.078568 + -0.116280 0.860619 0.495795 + -0.658602 0.527466 0.536677 + -0.881270 -0.437997 -0.177544 + 0.027392 -0.949795 -0.311672 + -0.827479 0.520591 0.210389 + 0.823459 -0.544200 -0.160503 + 0.777568 0.598740 0.192090 + -0.261297 0.909172 0.324238 + -0.691546 0.705596 -0.154592 + -0.920844 -0.029347 -0.388826 + -0.097476 -0.995187 -0.010106 + -0.487249 0.860601 -0.148173 + 0.887940 -0.392514 0.239782 + 0.715729 0.646366 0.264466 + -0.523306 0.666217 -0.531324 + -0.538967 0.688224 -0.485657 + -0.896942 -0.261380 -0.356615 + 0.130610 -0.936061 0.326697 + 0.444843 0.895572 0.008068 + 0.741781 -0.355229 0.568835 + -0.027731 0.580515 -0.813777 + -0.369775 0.736784 -0.566053 + -0.515110 0.525658 -0.677012 + -0.618089 -0.289190 -0.730982 + 0.306601 -0.910996 -0.275831 + 0.960923 -0.052104 0.271870 + 0.826024 0.297133 0.478953 + 0.723523 -0.259638 0.639611 + 0.885407 -0.159783 -0.436490 + 0.375660 0.921671 -0.096965 + 0.921901 0.364370 0.131659 + 0.398989 0.907237 -0.133152 + 0.746168 0.264946 0.610768 + 0.571084 -0.313250 0.758774 + -0.342824 -0.916413 0.206542 + 0.325295 -0.945403 -0.019926 + -0.524432 -0.235911 -0.818118 + -0.357977 0.055205 -0.932097 + 0.416183 0.611677 -0.672788 + -0.618960 0.457779 -0.638222 + -0.553657 0.392016 -0.734703 + -0.384787 0.353009 -0.852832 + 0.389016 0.921171 -0.010564 + 0.569902 0.228681 0.789251 + 0.384373 -0.354545 0.852382 + -0.395064 -0.906903 0.146463 + -0.840507 -0.238836 -0.486318 + -0.729926 -0.350074 -0.587075 + -0.586783 -0.365890 -0.722365 + -0.407291 -0.300310 -0.862513 + -0.205977 0.334444 -0.919631 + 0.377817 0.915646 0.137287 + 0.397205 0.231770 0.887981 + 0.176959 -0.380594 0.907653 + -0.304583 -0.943912 0.127516 + -0.337048 -0.937186 0.089900 + -0.333133 -0.938074 -0.095081 + -0.190082 -0.271530 -0.943473 + 0.028843 0.466671 -0.883961 + 0.303171 0.870563 0.387567 + 0.150234 0.199992 0.968211 + -0.022186 -0.301819 0.953107 + -0.271399 -0.433564 0.859282 + -0.328963 -0.899930 -0.286197 + 0.024798 -0.265989 -0.963657 + 0.245778 0.535314 -0.808104 + 0.251792 0.887870 0.385081 + -0.021114 0.232996 0.972248 + -0.245705 0.156700 0.956595 + -0.409423 -0.312174 0.857275 + -0.303939 -0.940526 -0.151762 + 0.208084 -0.299882 -0.931006 + 0.406913 0.573523 -0.710981 + 0.172563 0.873864 0.454514 + 0.077945 0.853626 0.515022 + -0.408617 0.146771 0.900828 + -0.528096 -0.326884 0.783748 + -0.279969 -0.939121 -0.199173 + 0.358792 -0.317441 -0.877781 + 0.546857 0.564729 -0.618085 + 0.602074 0.642010 -0.474690 + -0.100189 0.808547 0.579839 + -0.522720 0.179184 0.833461 + -0.629100 -0.245121 0.737664 + -0.301478 -0.948781 -0.094480 + 0.505142 -0.265310 -0.821244 + 0.649388 -0.271110 -0.710489 + 0.661087 0.679987 -0.317146 + -0.248751 0.804257 0.539716 + -0.648216 0.300268 0.699753 + -0.759369 -0.203223 0.618109 + -0.258060 -0.947179 -0.190415 + -0.149533 -0.938510 -0.311190 + 0.800065 -0.347161 -0.489259 + 0.657859 0.748833 -0.080437 + -0.321539 0.862483 0.390814 + -0.813892 0.276315 0.511107 + -0.914693 -0.091442 0.393669 + -0.990773 -0.135362 -0.006823 + -0.074758 -0.926409 -0.369022 + 0.818434 -0.518678 -0.247263 + 0.618442 0.765736 0.176571 + -0.283115 0.914445 0.289198 + -0.930320 0.331897 0.156042 + -0.750298 0.661098 0.001566 + -0.957640 -0.006861 -0.287885 + -0.512862 -0.753377 -0.411577 + 0.670901 -0.735445 -0.094936 + 0.711061 0.608788 0.351810 + -0.046570 0.961534 0.270708 + 0.259735 0.912893 0.314905 + -0.554138 0.799024 -0.233435 + -0.760881 0.555422 -0.335510 + -0.822514 -0.214628 -0.526694 + 0.453125 -0.816519 0.357736 + 0.793506 0.292808 0.533491 + 0.785451 0.618098 -0.031970 + 0.041696 0.966464 -0.253396 + -0.292879 0.505925 -0.811333 + -0.615004 0.543188 -0.571592 + -0.621459 -0.326380 -0.712225 + 0.951088 -0.242932 -0.190830 + 0.703923 0.227646 0.672807 + 0.557856 -0.466990 0.686088 + 0.954897 -0.095586 -0.281132 + 0.644378 0.651314 0.400707 + 0.912593 0.322678 0.251103 + 0.272640 0.962068 0.009625 + 0.557239 0.339761 0.757659 + 0.491884 -0.251400 0.833576 + -0.501397 -0.864781 0.027476 + 0.419292 -0.848980 -0.321602 + -0.336633 0.169511 -0.926253 + -0.144952 0.461621 -0.875154 + 0.746654 0.606925 -0.272304 + -0.206085 0.852628 -0.480160 + -0.296034 0.548187 -0.782212 + -0.217815 0.524886 -0.822831 + 0.336882 0.938985 0.069406 + 0.487512 0.386278 0.783021 + 0.350473 -0.205451 0.913761 + -0.385435 -0.914487 0.123095 + -0.760980 0.043828 -0.647293 + -0.558252 -0.022611 -0.829364 + -0.441400 -0.040411 -0.896400 + -0.326750 -0.059481 -0.943237 + -0.010755 0.535696 -0.844343 + 0.407990 0.912987 0.000457 + 0.406614 0.408113 0.817379 + 0.144252 -0.268567 0.952399 + -0.397348 -0.917562 0.013990 + -0.500328 -0.849014 -0.169845 + -0.469685 -0.841030 -0.268448 + -0.121571 -0.107339 -0.986762 + 0.159328 0.428623 -0.889324 + 0.457569 0.883303 -0.102015 + 0.306792 0.474113 0.825285 + -0.124194 -0.394658 0.910396 + -0.300992 -0.373246 0.877548 + -0.410350 -0.888442 -0.205631 + 0.074968 -0.146900 -0.986306 + 0.326790 0.403216 -0.854766 + 0.447517 0.891794 0.066570 + 0.107057 0.472156 0.874990 + -0.065670 0.496712 0.865428 + -0.410651 -0.261848 0.873385 + -0.349986 -0.927005 -0.134803 + 0.207165 -0.242962 -0.947656 + 0.448591 0.450655 -0.771801 + 0.314200 0.916500 0.247600 + 0.187150 0.918379 0.348647 + -0.236842 0.495482 0.835706 + -0.491752 -0.168522 0.854272 + -0.325637 -0.941219 -0.089822 + 0.305250 -0.357061 -0.882797 + 0.528745 0.587436 -0.612657 + 0.624575 0.486654 -0.610797 + 0.202379 0.940086 0.274375 + -0.357592 0.476357 0.803251 + -0.611967 -0.135417 0.779204 + -0.317850 -0.941724 -0.110124 + 0.416080 -0.389408 -0.821730 + 0.588519 -0.343452 -0.731906 + 0.700014 0.472971 -0.535050 + 0.088903 0.953008 0.289606 + -0.496470 0.522904 0.692885 + -0.746165 -0.258040 0.613721 + -0.221032 -0.955306 -0.196304 + -0.134199 -0.929126 -0.344552 + 0.766157 -0.440552 -0.467886 + 0.926882 0.051458 -0.371808 + 0.387682 0.914679 0.114306 + -0.660895 0.541695 0.519408 + -0.916356 -0.237329 0.322439 + -0.969168 -0.234508 -0.075630 + 0.310678 -0.869948 -0.382974 + 0.786011 -0.567984 -0.244093 + 0.988758 -0.101001 -0.110253 + 0.573580 0.777802 0.256965 + -0.747120 0.611405 0.260759 + -0.862600 0.505420 -0.021712 + -0.730528 -0.521348 -0.441050 + 0.089277 -0.947752 -0.306262 + 0.673767 -0.738706 0.018723 + 0.959190 -0.245196 0.140831 + 0.429323 0.802237 0.414846 + -0.163770 0.901750 0.400033 + -0.888233 0.268197 -0.372978 + -0.774880 -0.459551 -0.434021 + -0.299211 -0.941995 -0.152045 + 0.851494 -0.285609 0.439756 + 0.783769 -0.400585 0.474592 + 0.820067 -0.066938 -0.568339 + -0.042362 0.782678 -0.620983 + -0.714098 0.192803 -0.672972 + -0.336813 -0.114199 -0.934621 + 0.505065 -0.663936 -0.551452 + 0.739568 -0.223318 0.634955 + 0.122742 -0.688708 -0.714573 + 0.007380 -0.680991 -0.732254 + -0.495602 -0.783462 0.374920 + 0.155849 -0.756611 -0.635020 + 0.792678 0.343985 -0.503324 + -0.598631 -0.768158 0.227099 + 0.551300 -0.037630 -0.833458 + 0.483493 0.250889 -0.838624 + 0.019303 -0.514146 -0.857485 + -0.374873 -0.901508 0.216225 + -0.410139 0.091824 0.907389 + -0.278374 -0.109621 0.954197 + -0.763505 -0.515694 0.388741 + 0.390145 -0.792108 -0.469416 + 0.909571 -0.076009 -0.408538 + 0.034480 0.938974 0.342255 + -0.037607 0.872969 0.486324 + 0.275799 0.926639 0.255489 + -0.493992 0.206828 0.844508 + 0.329130 0.331973 -0.884006 + 0.211774 0.920515 0.328335 + -0.110807 -0.545842 -0.830529 + -0.268487 -0.950256 0.157886 + -0.109132 -0.124089 0.986251 + -0.105914 0.430880 0.896172 + -0.244989 0.457919 0.854570 + 0.078516 0.464922 0.881863 + -0.910521 -0.011369 0.413306 + -0.489518 0.504517 0.711221 + -0.162482 -0.943571 -0.288571 + -0.367851 0.454111 0.811461 + 0.666991 -0.726785 -0.164029 + 0.997150 0.075438 -0.000954 + 0.114168 0.968820 0.219894 + -0.696972 0.507210 0.506920 + -0.900791 0.394192 0.182174 + 0.251279 0.939614 0.232345 + 0.182115 0.452623 -0.872907 + -0.277733 -0.641970 -0.714660 + -0.149981 -0.870508 0.468745 + 0.132374 -0.088582 0.987234 + 0.283231 0.520559 0.805480 + 0.220120 0.956238 0.192761 + 0.212007 0.971870 0.102573 + -0.658995 -0.748027 -0.078621 + 0.570413 -0.810004 0.136099 + 0.940760 0.176536 0.289493 + 0.095883 0.995335 0.010734 + -0.846302 0.477734 -0.235675 + -0.912004 -0.277167 -0.302370 + -0.122225 0.406264 -0.905545 + -0.392319 -0.644813 -0.655974 + 0.109325 -0.768859 0.630003 + 0.380450 0.128454 0.915837 + 0.445170 0.489746 0.749649 + 0.380024 0.857977 0.345625 + -0.195894 0.579425 -0.791134 + -0.126984 -0.988338 -0.084042 + 0.852964 -0.025842 0.521330 + 0.547431 -0.706590 0.448385 + 0.141108 0.987260 -0.073525 + -0.781515 0.419075 -0.462181 + -0.849885 -0.370271 -0.374959 + -0.577722 -0.566556 -0.587582 + 0.162186 -0.862766 0.478884 + 0.595010 0.084132 0.799303 + 0.586179 0.495461 0.641024 + 0.462353 0.816771 0.345131 + -0.198250 0.784156 -0.588045 + 0.015036 -0.967322 0.253104 + 0.350256 0.750921 -0.559856 + 0.916451 -0.233080 0.325255 + 0.569191 -0.279830 -0.773121 + -0.427781 0.498781 -0.753804 + -0.599643 0.096845 -0.794386 + -0.413668 -0.839789 -0.351617 + -0.830343 -0.345768 -0.437007 + 0.183549 -0.910697 0.370056 + 0.777076 -0.178971 0.603425 + 0.837870 0.326374 0.437553 + 0.117412 0.975097 -0.188151 + -0.299744 -0.928208 0.220415 + -0.786121 -0.604356 -0.129487 + -0.906636 -0.289545 -0.306878 + -0.903848 0.047723 -0.425184 + 0.804034 -0.341336 0.486845 + 0.738137 -0.443185 0.508666 + 0.914929 -0.000545 0.403616 + 0.798345 0.585150 0.142286 + 0.901767 0.334270 0.274008 + 0.251468 0.939346 -0.233224 + -0.659002 0.562651 -0.499139 + 0.213887 -0.890277 -0.402069 + -0.646071 -0.356136 -0.675099 + -0.414127 0.329597 -0.848448 + 0.924768 -0.301134 0.232642 + 0.798073 -0.088300 -0.596055 + 0.703891 0.662945 -0.255033 + 0.493041 0.869232 0.036696 + 0.470455 0.403080 0.784983 + -0.867041 0.399082 0.298284 + -0.829546 0.504503 0.239437 + 0.581521 0.806124 0.109530 + 0.790126 -0.456522 -0.409010 + 0.893499 -0.029475 0.448096 + 0.919004 -0.183874 0.348743 + -0.638994 -0.759362 0.122703 + -0.963944 -0.235207 0.124458 + 0.891513 0.166310 0.421361 + 0.911033 0.246814 0.330305 + -0.510820 -0.846934 -0.147531 + -0.586759 -0.748607 -0.308710 + -0.749717 -0.526001 -0.401557 + -0.920967 0.355606 0.159260 + 0.749866 -0.494411 -0.439612 + 0.723002 0.689273 0.046591 + -0.412463 -0.904111 0.111616 + 0.979118 0.134886 0.152101 + 0.562111 -0.042828 0.825952 + 0.936396 -0.010697 0.350784 + 0.351753 0.755262 0.553036 + 0.637447 0.765528 0.087340 + 0.938355 0.294100 0.181644 + 0.812712 -0.560655 -0.158637 + -0.974970 0.149101 0.164929 + -0.938448 -0.334029 -0.087973 + -0.947226 -0.279827 -0.156393 + -0.540098 -0.837580 -0.082184 + -0.942015 -0.297289 -0.155647 + 0.956675 0.291017 -0.009077 + 0.963098 0.269081 0.006114 + 0.985609 0.168590 0.012319 + 0.565247 -0.432689 -0.702336 + 0.687118 -0.021982 -0.726213 + -0.569445 -0.452250 -0.686442 + -0.665813 -0.583930 0.464455 + -0.802505 -0.091575 0.589575 + -0.746176 0.662786 0.062743 + -0.564703 -0.822665 0.065827 + 0.810154 0.086827 0.579751 + 0.681280 0.713539 0.163459 + -0.986734 -0.150803 0.060121 + 0.983157 0.180861 -0.026311 + 0.990620 0.134224 -0.025613 + 0.675629 0.671982 0.303260 + -0.771083 0.347540 0.533523 + 0.958580 -0.104415 0.264993 + 0.994476 0.097791 -0.038139 + 0.858652 0.333976 0.388814 + -0.818264 -0.249053 0.518090 + -0.771451 0.555539 0.310227 + -0.763281 0.625821 0.160468 + 0.703731 0.709687 -0.033286 + 0.949658 0.313263 0.003853 + 0.720565 -0.680875 -0.131134 + -0.939921 -0.340635 0.022699 + -0.942057 -0.335435 0.003311 + -0.948304 -0.317362 0.000707 + -0.959705 -0.280872 -0.008827 + -0.699456 -0.710909 0.073276 + 0.931269 0.212985 -0.295594 + 0.853438 0.228384 -0.468491 + 0.967547 0.068395 -0.243258 + 0.971586 0.021025 -0.235750 + 0.672593 0.422571 0.607497 + -0.995315 0.037755 -0.089012 + 0.918528 0.285993 -0.272974 + 0.747544 -0.520285 0.412895 + -0.925180 0.185097 0.331334 + -0.680897 0.731682 -0.031952 + -0.580969 -0.801895 -0.139424 + 0.853981 -0.519401 0.030638 + 0.728664 0.675546 0.112636 + -0.975566 -0.219202 -0.014889 + -0.898324 -0.035046 -0.437933 + -0.953124 0.127983 -0.274182 + -0.840824 -0.537053 -0.067746 + 0.996309 0.055135 -0.065800 + 0.874060 -0.304350 -0.378670 + 0.985053 -0.172253 0.000188 + -0.484420 0.558271 0.673551 + 0.744429 0.607679 0.276680 + -0.798782 -0.579204 -0.162700 + 0.940768 0.338734 0.014679 + 0.899746 0.353331 0.256151 + 0.947003 0.319397 0.034216 + 0.823454 -0.141849 0.549366 + -0.927159 -0.355919 -0.117039 + -0.549817 -0.834850 0.026949 + -0.750331 0.659413 0.046663 + -0.791278 -0.605723 0.083533 + 0.734803 0.676786 -0.045002 + 0.933812 0.303785 -0.188969 + 0.577622 -0.816128 -0.016988 + -0.934423 -0.355496 0.021792 + -0.934858 -0.314413 -0.164879 + -0.941517 -0.327055 0.081126 + -0.941840 -0.258605 0.214618 + -0.946792 -0.297226 0.123455 + 0.798695 -0.317829 -0.510951 + 0.565232 0.484037 -0.667998 + 0.835984 -0.185991 -0.516273 + 0.450572 0.266115 -0.852155 + 0.777657 0.587326 0.224272 + -0.362185 -0.708737 -0.605404 + -0.376142 0.642568 0.667550 + 0.765104 0.619793 0.174565 + -0.925028 -0.315700 -0.211320 + 0.835350 -0.228542 -0.499959 + 0.751193 -0.335473 -0.568478 + -0.712129 0.701830 0.017517 + -0.684718 -0.712271 0.154377 + -0.677577 -0.729863 -0.090495 + -0.654817 0.754512 -0.043886 + -0.694221 -0.711058 -0.111601 + 0.813147 -0.581067 -0.033957 + 0.736572 0.671772 0.078638 + -0.973575 -0.146858 -0.174883 + -0.968020 -0.250703 0.009173 + -0.981903 0.115082 -0.150409 + -0.998651 -0.051922 0.000248 + -0.998766 0.043886 -0.023245 + -0.353460 -0.935386 0.010913 + 0.694124 -0.401799 -0.597285 + 0.763148 0.591910 -0.259321 + 0.978760 0.131027 0.157674 + 0.873977 -0.303850 0.379262 + -0.111286 -0.579791 0.807129 + -0.211933 -0.977269 -0.005411 + -0.111532 -0.576954 -0.809126 + -0.352806 -0.935630 -0.011173 + 0.929755 0.368104 0.007355 + 0.879113 0.353361 0.319838 + 0.914600 0.355994 -0.191769 + 0.399695 0.654487 0.641787 + 0.579445 0.307578 -0.754744 + 0.914952 -0.358838 -0.184659 + 0.418877 0.886190 0.198013 + -0.924077 -0.365423 0.112016 + -0.925018 -0.379858 0.007052 + -0.952867 0.045294 0.299990 + -0.364322 -0.923539 -0.119773 + -0.717286 0.696340 0.024745 + -0.772635 -0.626185 0.104534 + 0.513693 -0.850102 0.115955 + 0.730780 0.679153 -0.068643 + 0.787626 0.486237 -0.378443 + -0.916535 -0.381193 -0.121056 + -0.926585 -0.349205 0.139630 + -0.740840 -0.641686 -0.198483 + -0.799111 0.438418 -0.411353 + -0.920519 -0.390546 0.010860 + -0.913926 -0.301645 -0.271570 + -0.482463 -0.873438 0.065840 + 0.793967 -0.579958 0.182387 + -0.514902 -0.855825 0.049382 + 0.493041 0.869232 -0.036696 + -0.867041 0.399082 -0.298284 + 0.790126 -0.456522 0.409010 + -0.771083 0.347540 -0.533523 + 0.851058 -0.400983 0.338988 + 0.802726 0.582178 0.129230 + -0.722926 -0.517753 -0.457504 + -0.824771 -0.037453 0.564225 + 0.780236 0.590625 0.205896 + 0.741101 -0.333884 -0.582486 + 0.417917 0.541331 0.729593 + -0.497012 0.797484 -0.342050 + -0.699460 -0.702877 -0.129304 + 0.654813 -0.748219 0.106716 + 0.570016 -0.775843 0.270461 + -0.590830 0.798936 -0.112343 + -0.699168 -0.687088 -0.197671 + 0.728787 -0.680490 -0.076177 + 0.805309 0.591177 -0.044578 + -0.882060 -0.051833 0.468277 + -0.953146 0.127721 0.274228 + -0.840730 -0.537193 0.067802 + -0.939084 0.309014 0.150437 + -0.484420 0.558271 -0.673551 + 0.744429 0.607679 -0.276680 + 0.779469 -0.310190 0.544252 + 0.917315 0.397965 -0.012541 + 0.901343 0.403818 0.156561 + 0.880621 0.352489 -0.316638 + 0.820175 0.323817 0.471653 + 0.891333 -0.002124 0.453344 + 0.066230 0.046930 0.996700 + 0.637541 0.569429 -0.518934 + 0.858669 -0.359485 -0.365320 + -0.871033 0.360000 0.334218 + 0.958047 -0.273686 -0.085104 + 0.416500 0.898785 0.136798 + -0.846335 0.438492 0.302392 + -0.911680 -0.410357 -0.021136 + -0.914825 -0.403675 -0.011872 + -0.472098 -0.838147 0.273189 + -0.921102 -0.388163 0.030014 + -0.368513 -0.928561 -0.044423 + -0.705734 0.688900 -0.165396 + -0.714241 -0.690352 0.115210 + 0.626185 -0.754326 0.197192 + 0.759604 0.630081 -0.161244 + 0.674892 0.723561 -0.144844 + -0.694070 -0.686179 -0.217774 + 0.066230 0.046930 -0.996700 + -0.882556 0.246378 -0.400491 + -0.859883 0.379065 -0.341923 + -0.454823 -0.890057 0.030559 + -0.811999 0.543314 -0.213232 + -0.510820 -0.846934 0.147531 + 0.669397 -0.732435 0.124280 + -0.631170 -0.775523 0.013737 + -0.752393 0.644348 -0.136822 + -0.829546 0.504503 -0.239437 + 0.581521 0.806124 -0.109530 + -0.586759 -0.748607 0.308710 + 0.749866 -0.494411 0.439612 + -0.742454 -0.620078 0.253505 + 0.852581 0.509343 0.116940 + 0.317140 -0.573554 -0.755287 + -0.777687 -0.506113 -0.372897 + -0.876962 0.381580 0.292122 + 0.731461 0.656123 0.185654 + 0.954053 0.128096 0.270877 + -0.645078 0.764066 0.008787 + -0.262374 0.948932 0.175182 + -0.877519 -0.307489 0.367982 + 0.111764 -0.788526 0.604761 + 0.506693 0.277915 0.816104 + -0.497306 0.829747 -0.253389 + -0.647476 -0.726171 -0.231194 + 0.727714 -0.677259 -0.108409 + 0.831217 0.555134 -0.030071 + -0.590356 0.500951 -0.632872 + 0.647929 0.723056 -0.239536 + 0.757447 -0.344835 0.554403 + 0.867453 0.192206 0.458893 + 0.879736 0.475462 -0.000754 + 0.862695 0.479957 0.159367 + 0.909157 0.384782 -0.159299 + 0.519251 0.573585 0.633544 + 0.850572 -0.165826 -0.499029 + 0.458674 0.869842 0.181641 + 0.908755 -0.416387 -0.028045 + 0.947208 -0.288171 0.140547 + 0.393432 0.881926 -0.259651 + 0.951439 -0.297102 -0.080580 + 0.382643 0.918324 0.101318 + -0.893957 0.423820 0.145661 + -0.365039 -0.930819 0.017949 + -0.902931 -0.422903 0.076613 + -0.884336 -0.466851 -0.000600 + -0.954248 -0.201081 0.221307 + -0.882314 -0.470456 -0.013893 + -0.379605 -0.923812 -0.049708 + -0.849908 -0.007119 -0.526882 + -0.569786 0.820741 -0.041572 + -0.871372 -0.090272 0.482247 + 0.350957 -0.774398 0.526438 + 0.432960 0.579722 0.690267 + 0.708247 0.705782 -0.016075 + -0.904043 0.358941 -0.232092 + -0.373819 -0.926463 -0.043888 + 0.413761 0.879581 -0.234818 + -0.857629 0.468375 -0.212359 + -0.374183 -0.924370 0.074340 + -0.753374 -0.655746 -0.049238 + 0.534423 -0.845033 0.017626 + -0.749672 0.659641 -0.053533 + 0.740049 0.671094 0.044274 + -0.685921 -0.555408 0.470143 + -0.920967 0.355606 -0.159260 + 0.723002 0.689273 -0.046591 + 0.565247 -0.432689 0.702336 + -0.723181 -0.576847 0.379812 + 0.825541 -0.383213 -0.414282 + -0.879642 -0.464838 0.100776 + -0.736843 -0.548416 -0.395350 + -0.626709 -0.770633 -0.115589 + 0.762170 -0.644542 0.060525 + 0.825437 0.534298 0.182150 + -0.461160 0.847416 -0.263092 + 0.283516 0.634013 0.719476 + -0.843026 0.291909 0.451769 + 0.380304 -0.782692 0.492709 + -0.780784 -0.580282 -0.231621 + -0.492750 0.669478 0.555875 + -0.925376 -0.365742 0.099556 + -0.055723 -0.818999 0.571083 + 0.821540 0.375808 0.428766 + -0.954627 0.296519 -0.027634 + 0.837525 -0.231186 0.495080 + 0.872295 0.475797 -0.112777 + 0.836184 0.065925 0.544473 + -0.752864 -0.360031 0.550975 + 0.864251 0.503030 0.005607 + 0.846600 0.478288 0.233470 + 0.856478 0.480712 -0.188044 + 0.936574 0.144738 0.319185 + 0.807943 0.384362 -0.446647 + -0.467037 -0.675848 0.570180 + -0.904160 0.331191 0.269829 + 0.716214 0.520046 -0.465392 + 0.897788 -0.429118 0.099168 + -0.887696 0.405996 0.217170 + 0.458612 0.881884 0.109341 + 0.906630 -0.412884 -0.086884 + 0.950135 -0.271877 0.152727 + 0.928982 -0.367956 -0.040010 + 0.428997 0.893279 -0.134219 + -0.908211 0.417950 0.021695 + -0.356078 -0.929586 0.095285 + -0.843710 -0.491483 0.215864 + -0.871710 -0.489998 0.004780 + -0.876533 -0.447594 -0.177060 + -0.395671 -0.918234 -0.017042 + -0.663419 -0.577043 -0.476337 + 0.871842 -0.008332 -0.489716 + 0.454568 0.860291 -0.230797 + 0.430621 0.891959 -0.137750 + -0.892833 0.411325 -0.183472 + -0.414534 -0.909973 0.010505 + 0.953265 -0.300102 0.035000 + 0.418380 0.903272 -0.095177 + -0.886132 0.448085 -0.118279 + -0.329202 -0.944259 -0.000668 + -0.752371 0.658716 -0.005710 + -0.816704 -0.570925 -0.083902 + 0.556261 -0.827481 -0.076481 + 0.737250 0.675337 0.019560 + -0.735305 -0.550048 -0.395946 + -0.746176 0.662786 -0.062743 + -0.564703 -0.822665 -0.065827 + 0.810154 0.086827 -0.579751 + 0.681280 0.713539 -0.163459 + -0.867235 -0.389871 0.309682 + -0.957953 0.092854 -0.271484 + 0.711908 0.499234 0.493915 + 0.411606 -0.698843 -0.584977 + 0.331004 -0.939964 -0.083091 + -0.810649 -0.232793 -0.537266 + 0.587452 -0.782552 0.206185 + -0.248202 0.959065 0.136342 + 0.456337 0.318910 0.830694 + -0.958875 -0.092989 0.268163 + -0.670013 0.700931 0.244497 + 0.013557 -0.846236 0.532635 + 0.851058 -0.400983 -0.338988 + 0.679333 0.457632 -0.573654 + 0.626900 -0.391799 0.673417 + 0.492996 0.443887 -0.748278 + 0.802726 0.582178 -0.129230 + -0.712129 0.701830 -0.017517 + -0.582354 0.060297 -0.810696 + 0.885295 0.464834 -0.013478 + 0.870632 0.277063 0.406493 + 0.795971 0.482131 -0.366033 + 0.778079 0.421155 0.466071 + 0.870309 0.448273 -0.203993 + -0.445175 0.056179 0.893680 + 0.797661 0.597849 0.079459 + 0.821213 0.558432 -0.117318 + 0.931279 -0.355866 -0.077965 + -0.141640 -0.984313 0.105200 + 0.899065 -0.426549 0.098677 + -0.869602 0.483806 0.098613 + -0.402769 -0.915181 -0.014863 + 0.431300 0.901907 -0.023327 + 0.914966 -0.387660 -0.112058 + 0.896981 -0.420051 0.137774 + 0.560540 0.793675 -0.236380 + -0.864496 0.485499 -0.130147 + -0.359445 -0.922116 0.143183 + -0.838566 -0.492957 0.231950 + -0.889384 -0.456744 -0.019509 + -0.729736 -0.628321 -0.269625 + -0.777224 -0.509073 -0.369821 + -0.318543 0.296715 -0.900273 + -0.609894 0.686001 -0.396776 + -0.210905 -0.976418 -0.046130 + 0.883462 0.438517 -0.164915 + 0.949994 -0.302323 0.078187 + 0.917836 -0.386075 0.092323 + 0.407639 0.913106 0.008213 + -0.885641 0.458084 -0.076146 + -0.454028 -0.890159 0.038401 + -0.356629 -0.931087 -0.076772 + 0.937662 -0.347545 -0.001706 + 0.418947 0.906826 0.046374 + -0.902254 0.430418 -0.026030 + 0.693353 0.717117 0.070745 + -0.683894 0.695492 0.220409 + -0.775279 -0.631202 -0.022929 + 0.683196 -0.717296 -0.136858 + 0.747544 -0.520285 -0.412895 + -0.517945 0.855127 0.022158 + -0.580969 -0.801895 0.139424 + 0.853981 -0.519401 -0.030638 + 0.812229 0.568846 -0.129221 + -0.684718 -0.712271 -0.154377 + -0.739869 -0.056768 -0.670352 + -0.877680 0.384106 -0.286600 + -0.830074 -0.441996 0.340026 + -0.677577 -0.729863 0.090495 + -0.617762 0.783517 0.066867 + 0.706320 0.493091 0.507911 + 0.809643 -0.553311 -0.195769 + -0.657865 -0.172557 -0.733101 + 0.654813 -0.748219 -0.106716 + 0.771423 0.600744 -0.209794 + 0.758019 -0.386723 0.525216 + 0.852581 0.509343 -0.116940 + -0.497012 0.797484 0.342050 + -0.699460 -0.702877 0.129304 + 0.875763 0.482357 0.019262 + 0.903967 0.179940 0.387900 + 0.870196 0.474256 -0.133569 + 0.893637 0.151866 -0.422316 + 0.827569 0.282013 -0.485386 + 0.405373 -0.525697 0.747874 + 0.156753 -0.382063 0.910745 + 0.152157 0.025673 -0.988023 + -0.215893 -0.188115 0.958125 + -0.535232 0.748402 0.391690 + -0.643711 0.745248 0.173897 + 0.817823 0.573504 -0.047529 + 0.938123 -0.346302 -0.000685 + -0.129151 -0.985118 0.113416 + -0.850214 0.524322 0.047153 + -0.424952 -0.905199 -0.005494 + 0.931907 -0.347521 -0.103821 + 0.396277 0.905100 -0.154141 + 0.625184 -0.568249 0.535012 + 0.408735 0.706859 0.577309 + -0.569847 0.812411 0.123541 + -0.792508 -0.170519 0.585538 + -0.720187 -0.608452 0.333343 + -0.699085 -0.701543 0.138266 + -0.820175 -0.536975 -0.197407 + -0.856734 -0.511710 0.064491 + -0.786937 -0.616969 -0.008890 + 0.179324 -0.719429 -0.671018 + 0.109270 -0.419658 -0.901081 + 0.850932 0.517532 0.089856 + 0.846483 0.532317 0.010267 + -0.659091 0.688219 -0.303237 + -0.170294 -0.984286 -0.046691 + 0.957054 -0.289883 -0.003900 + -0.465824 -0.884388 -0.029433 + 0.941823 -0.326627 0.079278 + 0.392940 0.914952 0.091978 + -0.866282 0.499509 0.006771 + -0.846123 0.504052 0.173228 + -0.421450 -0.900313 -0.108702 + 0.928722 -0.349964 -0.122475 + 0.504581 0.853462 0.130387 + 0.469680 -0.223765 -0.854008 + 0.251697 0.963440 -0.091829 + -0.849559 0.447865 -0.278687 + -0.533783 -0.716126 -0.449710 + 0.669012 0.739885 -0.070660 + -0.832037 0.551768 0.057153 + -0.694221 -0.711058 0.111601 + 0.813147 -0.581067 0.033957 + -0.645078 0.764066 -0.008787 + -0.626709 -0.770633 0.115589 + -0.908168 -0.316205 -0.274309 + -0.736133 -0.558454 0.382410 + 0.570016 -0.775843 -0.270461 + -0.743119 0.669023 -0.013491 + 0.552435 0.472749 0.686530 + 0.874347 -0.194619 0.444567 + 0.602799 -0.694952 -0.392014 + 0.636075 -0.296048 0.712576 + -0.750684 -0.130442 -0.647656 + 0.961414 -0.223449 -0.160479 + 0.731461 0.656123 -0.185654 + 0.438031 -0.594378 0.674421 + 0.311723 0.622647 -0.717733 + 0.506693 0.277915 -0.816104 + -0.262374 0.948932 -0.175182 + -0.877519 -0.307489 -0.367982 + 0.111764 -0.788526 -0.604761 + 0.704817 0.709366 -0.005681 + 0.360215 0.900069 0.245196 + 0.872005 0.466128 0.149441 + -0.331854 -0.833353 0.442036 + 0.821026 0.021258 0.570494 + 0.576368 0.799537 0.168940 + 0.218115 0.924668 -0.312114 + 0.620401 0.729457 -0.288090 + 0.826613 -0.132123 -0.547042 + -0.655578 0.752140 -0.067100 + -0.176625 -0.982904 0.051998 + 0.837893 0.545782 0.007585 + 0.933665 -0.348940 0.080691 + -0.846706 0.531840 0.015372 + -0.477147 -0.875861 0.072091 + 0.923705 -0.372276 -0.090439 + 0.409314 0.883095 -0.229361 + -0.942606 -0.309381 0.125608 + -0.834314 -0.548840 -0.051916 + -0.891244 -0.450969 0.048082 + -0.747496 -0.569747 0.341522 + -0.755445 0.269261 -0.597328 + -0.746468 0.593584 0.300738 + -0.430759 -0.899654 -0.071199 + 0.927421 -0.356048 -0.114544 + 0.854842 0.518027 -0.029883 + -0.698093 0.715545 -0.025723 + -0.141165 -0.989919 -0.011522 + -0.850168 0.525155 0.037761 + -0.460618 -0.881522 -0.103680 + 0.936422 -0.343863 0.069793 + 0.428456 0.888969 0.161736 + 0.279563 0.959329 -0.039151 + -0.866785 0.355735 -0.349480 + -0.327100 -0.818854 -0.471683 + 0.616865 0.053165 -0.785271 + 0.805309 0.591177 0.044578 + -0.590830 0.798936 0.112343 + -0.699168 -0.687088 0.197671 + 0.728787 -0.680490 0.076177 + -0.461160 0.847416 0.263092 + -0.780784 -0.580282 0.231621 + 0.405672 -0.908957 0.096054 + 0.783004 -0.612479 -0.108507 + 0.587452 -0.782552 -0.206185 + -0.888758 0.276237 -0.365789 + 0.089429 -0.559261 -0.824154 + -0.753858 -0.473158 0.455872 + -0.655134 0.750455 -0.087272 + -0.973972 0.068110 0.216191 + -0.847861 -0.480106 -0.225011 + 0.545438 0.582082 0.603058 + 0.437374 -0.599932 0.669915 + 0.614714 0.057047 0.786685 + 0.341668 -0.844424 -0.412567 + -0.530523 0.711276 0.461121 + -0.793134 0.046185 -0.607294 + 0.825437 0.534298 -0.182150 + 0.799098 -0.515971 0.308573 + 0.428455 0.708889 -0.560270 + -0.824755 0.545397 -0.149401 + 0.202774 0.978390 0.040435 + 0.001770 0.954456 0.298347 + -0.662698 0.493274 0.563483 + -0.885083 0.425979 -0.187538 + -0.236182 -0.951226 0.198459 + 0.789804 -0.082142 0.607834 + 0.500143 0.862682 0.075074 + -0.582664 0.392691 -0.711545 + -0.077711 0.978955 -0.188702 + -0.646443 0.604481 -0.465526 + 0.490495 0.869328 -0.060693 + 0.788859 -0.087437 -0.608323 + -0.234545 -0.950954 -0.201682 + -0.629109 0.751872 -0.197259 + -0.358291 -0.931971 0.055288 + 0.882932 -0.429199 0.190313 + 0.853454 0.519823 0.037425 + -0.517129 0.810656 0.274615 + -0.510662 -0.290441 0.809239 + 0.689491 -0.596930 0.410216 + 0.584659 0.637570 0.501676 + -0.790701 0.550325 0.268206 + -0.884414 0.455033 0.103713 + -0.570023 0.411206 0.711325 + -0.290689 -0.956662 -0.017262 + 0.836326 -0.522058 -0.167375 + 0.851017 0.523088 -0.046358 + -0.634636 0.712755 0.298693 + 0.277246 0.957847 -0.075257 + -0.665622 0.354731 -0.656592 + -0.158114 -0.873296 -0.460818 + 0.818582 0.047783 -0.572399 + 0.831217 0.555134 0.030071 + -0.497306 0.829747 0.253389 + -0.647476 -0.726171 0.231194 + 0.727714 -0.677259 0.108409 + -0.248202 0.959065 -0.136342 + -0.958875 -0.092989 -0.268163 + 0.013557 -0.846236 -0.532635 + 0.456337 0.318910 -0.830694 + -0.611715 -0.460042 0.643557 + -0.606470 0.778967 -0.159390 + -0.722189 -0.530911 -0.443369 + 0.363545 -0.870612 0.331465 + 0.651377 0.583084 0.485511 + 0.626132 0.086206 0.774937 + -0.365938 0.872567 0.323600 + 0.240327 -0.893919 -0.378353 + -0.696147 0.106539 -0.709950 + 0.726400 -0.621643 0.293093 + 0.776176 0.397521 -0.489416 + -0.592838 0.803953 -0.046935 + -0.664943 -0.190987 0.722063 + -0.209925 -0.953407 0.216672 + 0.799500 -0.048663 0.598691 + 0.484458 0.873118 0.054459 + -0.597062 0.368407 -0.712596 + 0.799069 -0.052186 -0.598971 + 0.475233 0.878907 -0.040943 + -0.209417 -0.952887 -0.219434 + -0.585411 0.386158 0.712865 + -0.619533 0.757355 -0.206381 + -0.466122 -0.869032 0.165873 + 0.842799 -0.474712 0.253648 + 0.833461 0.551219 0.038747 + -0.600109 0.679082 0.422749 + -0.400917 -0.906158 -0.134697 + 0.807886 -0.544969 -0.224340 + 0.813632 0.580340 -0.034765 + 0.821540 0.375808 -0.428766 + -0.492750 0.669478 -0.555875 + -0.925376 -0.365742 -0.099556 + -0.055723 -0.818999 -0.571083 + -0.526733 0.819350 -0.226315 + -0.746489 -0.471834 -0.469177 + 0.395481 -0.894377 0.209008 + 0.674928 0.642493 0.362871 + -0.150219 0.974571 0.166269 + 0.704682 0.174677 0.687685 + -0.720016 0.140565 -0.679572 + 0.079673 -0.984074 -0.158903 + 0.602799 -0.694952 0.392014 + 0.636075 -0.296048 -0.712576 + 0.874347 -0.194619 -0.444567 + 0.552435 0.472749 -0.686530 + -0.685184 0.725123 -0.068704 + -0.792646 -0.049503 0.607670 + -0.182973 -0.954521 0.235393 + 0.808328 -0.015247 0.588534 + 0.469686 0.882158 0.034522 + -0.610703 0.345142 -0.712685 + -0.183498 -0.953930 -0.237372 + 0.808184 -0.016955 -0.588686 + 0.460986 0.887139 -0.021828 + -0.599580 0.361507 0.714015 + -0.420105 0.901720 0.102044 + -0.696814 -0.350616 0.625714 + 0.604420 -0.540653 0.585125 + 0.539220 0.524746 0.658698 + 0.441410 0.857307 -0.264920 + -0.824829 0.287441 -0.486862 + -0.186141 -0.685126 -0.704240 + 0.525283 -0.059378 -0.848854 + -0.468816 0.844429 -0.259134 + -0.759769 -0.366730 -0.536899 + 0.232398 -0.916102 0.326724 + 0.611929 0.618974 0.492356 + 0.018807 0.969982 0.242450 + -0.681931 0.728229 0.068208 + 0.134277 0.198973 0.970762 + -0.581610 -0.802835 0.131095 + 0.614714 0.057047 -0.786685 + 0.341668 -0.844424 0.412567 + 0.437374 -0.599932 -0.669915 + -0.973972 0.068110 -0.216191 + -0.530523 0.711276 -0.461121 + 0.545438 0.582082 -0.603058 + -0.655134 0.750455 0.087272 + -0.847861 -0.480106 0.225011 + -0.793134 0.046185 0.607294 + -0.154824 -0.954721 0.254041 + 0.815997 0.018128 0.577772 + 0.455475 0.890108 0.015830 + -0.622886 0.322473 -0.712758 + -0.613111 0.338108 0.713987 + -0.156523 -0.954107 -0.255306 + 0.816430 0.018499 -0.577147 + 0.447326 0.894362 -0.004046 + -0.516427 0.847005 0.126040 + -0.994965 -0.040683 -0.091597 + -0.470523 -0.835144 0.284856 + -0.041363 0.278942 0.959417 + 0.626132 0.086206 -0.774937 + -0.365938 0.872567 -0.323600 + 0.240327 -0.893919 0.378353 + 0.651377 0.583084 -0.485511 + 0.363545 -0.870612 -0.331465 + -0.696147 0.106539 0.709950 + -0.606470 0.778967 0.159390 + -0.722189 -0.530911 0.443369 + -0.125326 -0.953936 0.272579 + 0.822793 0.051830 0.565972 + 0.441944 0.897042 -0.001412 + -0.634469 0.301200 -0.711848 + 0.434186 0.900741 0.012200 + -0.625125 0.315455 0.713938 + -0.128445 -0.953319 -0.273286 + 0.823372 0.054359 -0.564893 + 0.704682 0.174677 -0.687685 + -0.150219 0.974571 -0.166269 + -0.720016 0.140565 0.679572 + 0.079673 -0.984074 0.158903 + 0.674928 0.642493 -0.362871 + -0.526733 0.819350 0.226315 + 0.395481 -0.894377 -0.209008 + -0.746489 -0.471834 0.469177 + -0.583268 -0.667635 0.462669 + 0.377155 0.034845 0.925494 + 0.326486 0.839638 0.434069 + -0.612607 0.772208 0.168545 + 0.620469 0.372457 -0.690140 + 0.020371 0.930258 -0.366341 + -0.992067 -0.007787 0.125472 + -0.081182 -0.324565 -0.942373 + 0.018807 0.969982 -0.242450 + 0.134277 0.198973 -0.970762 + -0.681931 0.728229 -0.068208 + -0.581610 -0.802835 -0.131095 + 0.611929 0.618974 -0.492356 + -0.468816 0.844429 0.259134 + -0.759769 -0.366730 0.536899 + 0.232398 -0.916102 -0.326724 + 0.257633 0.288877 -0.922050 + -0.642702 0.693619 -0.325311 + -0.955314 -0.055364 0.290363 + -0.643900 -0.611312 -0.460098 + 0.857256 0.214875 -0.467911 + 0.341195 0.939341 0.034988 + 0.493981 0.855369 0.155973 + 0.848677 -0.528763 -0.012533 + 0.978918 0.077087 -0.189150 + 0.771573 0.244465 -0.587292 + 0.867314 0.496895 -0.029340 + 0.458807 0.871117 -0.175074 + -0.671515 0.640611 0.372405 + -0.214184 0.459078 0.862191 + -0.120125 -0.888511 0.442852 + 0.927479 -0.340396 0.154638 + -0.363537 -0.843443 0.395531 + 0.998297 0.058318 0.001371 + -0.205226 -0.938535 -0.277552 + 0.938004 0.065366 0.340405 + 0.401395 0.870514 -0.284760 + -0.768490 0.639839 0.005440 + -0.884951 -0.196505 0.422194 + -0.307084 0.158233 0.938436 + -0.911014 -0.387023 -0.142365 + 0.176968 -0.903410 0.390553 + -0.958589 -0.261462 0.112895 + 0.891524 -0.225978 0.392580 + -0.925677 -0.200089 0.321071 + 0.920627 0.322043 0.220757 + -0.139805 -0.919717 0.366846 + -0.143562 0.899459 -0.412751 + -0.830989 0.510365 -0.221325 + -0.651757 0.318135 -0.688478 + -0.702978 -0.589867 -0.397339 + -0.823157 0.338629 -0.455788 + 0.242093 -0.863499 0.442449 + 0.695606 -0.240698 0.676902 + 0.623273 0.728681 0.283820 + -0.240030 0.829110 -0.504938 + 0.078956 0.930559 -0.357529 + -0.489680 0.368492 -0.790207 + -0.555883 -0.672452 -0.488674 + 0.086203 -0.902895 0.421130 + 0.520443 -0.236448 0.820507 + 0.594233 0.654333 0.467691 + 0.538405 0.522075 0.661482 + 0.232357 0.941381 -0.244565 + -0.303983 0.347675 -0.886971 + -0.482654 -0.580055 -0.656188 + -0.069911 -0.884923 0.460461 + 0.316282 -0.303290 0.898878 + 0.007912 -0.633992 0.773299 + 0.393829 0.443390 0.805173 + 0.354056 0.934403 -0.039182 + -0.109564 0.335041 -0.935811 + -0.284837 -0.940651 -0.184511 + -0.410478 -0.651010 -0.638509 + -0.271496 -0.754403 0.597634 + 0.018470 -0.238278 0.971021 + -0.042243 -0.023337 -0.998835 + 0.283150 0.409138 0.867429 + 0.399481 0.915982 -0.037303 + 0.084611 0.137838 -0.986834 + -0.320970 -0.806182 -0.497040 + -0.354884 -0.784465 0.508598 + -0.150893 -0.272654 0.950206 + 0.385421 0.914613 -0.122201 + 0.158554 0.394645 0.905050 + 0.359710 0.933033 -0.007679 + 0.239369 0.165285 -0.956757 + -0.008405 -0.376511 -0.926374 + -0.393427 -0.913044 -0.107544 + -0.263756 -0.252521 0.930949 + 0.014760 0.393229 0.919322 + -0.159067 0.356093 0.920813 + 0.371374 0.928039 -0.028722 + 0.361853 0.106972 -0.926077 + 0.164497 -0.331002 -0.929182 + -0.340850 -0.935106 -0.096942 + -0.399367 -0.220347 0.889918 + -0.578983 -0.081339 0.811272 + -0.294419 0.467726 0.833397 + 0.515276 0.773141 -0.369788 + 0.533405 0.114457 -0.838080 + 0.314141 -0.439524 -0.841507 + -0.367743 -0.927920 -0.061067 + -0.554283 -0.831082 0.045527 + -0.696218 0.036244 0.716914 + 0.105975 0.943115 0.315125 + 0.702454 0.133130 -0.699167 + 0.394715 -0.519652 -0.757734 + 0.651731 -0.755933 -0.061748 + -0.262649 -0.506553 0.821231 + -0.334392 0.127677 0.933745 + -0.083378 0.574337 0.814362 + 0.771756 0.350778 0.530422 + 0.899968 -0.032650 -0.434731 + 0.744833 0.485019 0.458236 + -0.066113 -0.598168 0.798639 + 0.695769 -0.644884 -0.316277 + 0.127167 0.856840 0.499653 + -0.279504 0.347338 0.895117 + 0.620044 0.142302 -0.771554 + 0.674228 0.477278 -0.563580 + 0.825396 -0.056599 -0.561710 + -0.554699 0.126141 0.822434 + -0.539210 -0.842170 0.001252 + 0.308857 -0.454844 -0.835299 + -0.033152 0.746614 0.664432 + 0.208685 -0.426854 -0.879913 + 0.516302 0.326270 -0.791821 + 0.518106 0.838865 -0.166950 + -0.070184 0.502142 0.861932 + -0.448991 0.024028 0.893213 + -0.442426 -0.892304 -0.089734 + -0.414986 -0.907529 0.064631 + 0.036765 -0.399894 -0.915824 + 0.372725 0.375210 -0.848701 + 0.352322 0.863877 0.359980 + -0.050289 0.308754 0.949812 + -0.288627 -0.077164 0.954327 + -0.088708 -0.087139 0.992239 + -0.373059 -0.880725 0.291805 + -0.121050 -0.406325 -0.905675 + 0.273700 0.462294 -0.843429 + 0.369016 0.839952 0.397880 + 0.113662 0.309068 0.944224 + 0.180109 0.245336 0.952560 + 0.019615 -0.083631 0.996304 + -0.387940 -0.896133 0.215518 + -0.228031 -0.404334 -0.885729 + 0.149638 0.425710 -0.892401 + 0.431004 0.891617 0.138760 + 0.401531 0.907016 0.126863 + 0.246040 0.250860 0.936234 + 0.084340 -0.123909 0.988703 + -0.272927 -0.753142 0.598572 + -0.372838 -0.726977 -0.576625 + 0.046216 0.338271 -0.939913 + -0.060675 0.363128 -0.929762 + 0.355751 0.934139 -0.028733 + 0.383605 0.432986 0.815702 + 0.137315 -0.213983 0.967138 + -0.142841 -0.738801 0.658612 + -0.362047 -0.596608 -0.716227 + -0.398814 -0.360378 -0.843253 + -0.269986 0.248440 -0.930261 + 0.135923 0.931360 -0.337778 + 0.470485 0.486069 0.736464 + 0.267168 -0.351017 0.897446 + -0.035635 -0.837932 0.544610 + -0.514645 -0.049831 -0.855954 + 0.011717 -0.934882 0.354764 + -0.477131 0.227784 -0.848800 + 0.083916 0.972751 -0.216131 + 0.582178 0.407542 0.703546 + 0.439206 -0.364117 0.821290 + 0.047298 -0.981996 0.182887 + -0.688512 -0.218142 -0.691639 + 0.675344 -0.238238 0.697963 + -0.585192 0.341889 -0.735297 + 0.001757 0.975454 -0.220198 + 0.664547 0.543879 0.512420 + 0.920202 -0.058353 0.387070 + 0.065753 -0.982362 0.175048 + -0.821430 -0.384698 -0.421022 + 0.566051 0.822599 -0.054007 + -0.854573 0.148820 -0.497552 + -0.478423 0.759256 -0.441183 + 0.751784 0.643058 -0.145934 + 0.986451 -0.115578 0.116432 + 0.177279 -0.918967 0.352239 + -0.716623 -0.686457 0.123400 + -0.505679 0.820411 -0.266861 + -0.993851 0.024629 -0.107953 + -0.275217 0.939514 -0.203887 + 0.844864 0.484389 -0.227096 + 0.975819 -0.200233 -0.087657 + 0.326978 -0.911448 0.249696 + -0.642156 -0.719950 0.263265 + -0.996070 -0.001707 0.088548 + -0.893207 -0.254778 0.370499 + -0.077689 0.989159 0.124611 + 0.609715 0.719812 -0.331842 + 0.802193 -0.527551 -0.279600 + 0.625801 -0.752658 -0.204643 + -0.467012 -0.837227 0.284518 + -0.473554 -0.737180 0.481988 + -0.581916 -0.233253 0.779081 + 0.065281 0.634355 0.770281 + 0.757477 0.561031 -0.333875 + 0.909212 -0.416081 0.014469 + 0.077248 -0.757525 0.648220 + -0.491636 -0.124247 0.861891 + 0.459573 0.841313 0.284578 + -0.760955 0.618981 0.194449 + 0.133222 -0.643775 0.753529 + 0.963406 -0.106358 0.246044 + -0.944049 0.329620 0.011034 + -0.712311 -0.508782 0.483481 + 0.890666 -0.122216 -0.437923 + 0.103866 0.823614 -0.557559 + 0.401817 -0.896641 0.185953 + -0.100348 0.875578 -0.472540 + -0.960155 0.272399 0.062460 + -0.686074 -0.606224 0.402238 + 0.517978 -0.845922 0.126942 + 0.893497 -0.018735 -0.448678 + 0.952955 0.124080 -0.276553 + -0.255297 0.780741 -0.570322 + -0.984758 0.129551 -0.116049 + -0.648944 -0.660933 0.376881 + 0.595572 -0.751300 0.284330 + 0.462271 -0.733817 0.497814 + 0.947533 0.203966 -0.246130 + -0.344521 0.717541 -0.605344 + -0.977163 0.079745 -0.196962 + -0.672968 -0.646012 0.360253 + -0.904318 -0.403621 0.138924 + 0.234166 -0.760557 0.605574 + 0.899841 0.396566 -0.181721 + -0.409964 0.688056 -0.598756 + -0.936055 0.095454 -0.338659 + -0.854090 -0.038748 -0.518680 + -0.872610 -0.486633 -0.041714 + 0.274141 -0.684324 0.675683 + 0.904487 0.425966 -0.021356 + -0.221320 0.667442 -0.711012 + -0.105356 0.616506 -0.780269 + -0.795489 -0.026837 -0.605373 + -0.848457 -0.518284 -0.107249 + 0.321658 -0.599145 0.733186 + 0.894603 0.421431 0.148595 + 0.860254 0.429372 0.274959 + -0.015920 0.440902 -0.897414 + -0.726682 -0.048860 -0.685234 + -0.758887 -0.631887 -0.157508 + 0.283665 -0.580033 0.763607 + 0.722072 -0.464163 0.512995 + 0.908578 0.377162 0.179539 + -0.292723 0.151369 -0.944140 + 0.694403 0.095985 -0.713156 + -0.171450 -0.328918 -0.928665 + -0.299893 -0.953869 0.014107 + 0.934567 0.345753 -0.083905 + 0.308349 -0.695272 0.649244 + 0.446374 -0.482859 -0.753390 + 0.086316 0.728628 0.679449 + 0.154003 0.519026 0.840771 + 0.214562 -0.177984 -0.960357 + 0.477173 0.865114 -0.154545 + -0.154149 -0.925727 -0.345352 + -0.194117 0.339197 0.920470 + -0.534831 -0.479521 0.695712 + -0.266201 -0.781652 -0.564054 + 0.077021 0.624715 0.777045 + -0.282241 -0.716576 -0.637855 + 0.170271 -0.008754 -0.985358 + 0.477142 0.878715 0.013958 + 0.119253 0.485401 0.866120 + -0.069334 0.306965 0.949192 + -0.475704 -0.518737 0.710365 + -0.362970 -0.622677 0.693199 + -0.298431 -0.679309 -0.670431 + 0.082180 0.064263 -0.994544 + 0.448863 0.883375 0.134799 + 0.140434 0.328044 0.934165 + 0.053575 0.280689 0.958302 + 0.180499 0.241697 0.953416 + -0.251081 -0.700891 0.667615 + -0.352991 -0.643113 -0.679561 + 0.066502 0.320097 -0.945048 + 0.415241 0.731599 0.540683 + 0.187468 0.202037 0.961268 + 0.336972 0.274730 0.900541 + 0.253265 0.117450 0.960241 + -0.163102 -0.739190 0.653449 + -0.431591 -0.605451 -0.668699 + 0.089510 0.552188 -0.828901 + 0.440285 0.664821 0.603459 + 0.501205 0.686650 0.526598 + 0.400523 0.236283 0.885298 + 0.356758 0.120614 0.926378 + -0.147855 -0.774061 0.615605 + -0.479441 -0.523078 -0.704646 + 0.036497 0.627531 -0.777736 + -0.065444 0.637261 -0.767864 + 0.518993 0.656163 0.547810 + 0.463078 0.208958 0.861334 + 0.426245 0.114578 0.897322 + -0.081907 -0.834615 0.544710 + -0.540125 -0.534422 -0.650122 + -0.592638 -0.603848 -0.533055 + -0.248275 0.653205 -0.715320 + 0.519423 0.689551 0.504697 + 0.589199 0.210518 0.780081 + 0.568127 0.131783 0.812321 + 0.092273 -0.800626 0.592016 + 0.326450 -0.743599 0.583516 + -0.656444 -0.635595 -0.406325 + -0.438224 0.655090 -0.615481 + 0.566335 0.742975 0.356726 + 0.709174 0.402404 0.578915 + 0.709125 0.147419 0.689500 + 0.857156 0.196470 0.476113 + 0.420934 -0.745835 0.516279 + -0.798035 -0.554087 -0.236911 + -0.559787 0.577719 -0.594036 + 0.251388 0.922934 -0.291541 + 0.799216 0.539200 0.265551 + 0.943377 0.322978 0.075670 + 0.979345 0.108581 0.170569 + 0.341495 -0.789771 0.509552 + -0.859625 -0.496178 0.121869 + -0.828366 0.415148 -0.376114 + 0.157421 0.892831 -0.421986 + 0.005872 0.884248 -0.466980 + 0.889348 0.358829 -0.283375 + 0.997835 -0.008944 -0.065163 + 0.304995 -0.775094 0.553360 + -0.695623 -0.599371 0.396060 + -0.985506 0.145277 -0.087596 + -0.984395 0.115908 0.132406 + -0.009099 0.924049 -0.382167 + 0.860328 0.346948 -0.373447 + 0.968066 -0.065015 -0.242117 + 0.278038 -0.886234 0.370518 + -0.511158 -0.743701 0.430843 + -0.482277 -0.741310 0.466765 + -0.860224 -0.103056 0.499394 + 0.052384 0.998558 0.011749 + 0.666718 0.448365 -0.595362 + 0.770428 -0.523328 -0.364099 + 0.215815 -0.968950 0.120665 + -0.228219 -0.114765 0.966822 + 0.422277 -0.736875 -0.527918 + -0.495638 0.097952 0.862988 + 0.574955 0.728345 0.372747 + 0.783946 0.133769 -0.606247 + 0.730241 -0.652034 -0.203963 + 0.382372 0.358949 0.851438 + 0.987333 -0.140342 -0.074005 + 0.890445 0.380609 -0.249488 + -0.478607 -0.043318 0.876960 + 0.155472 0.824643 0.543867 + -0.075888 -0.968343 0.237809 + 0.091258 -0.765258 -0.637223 + 0.887332 0.386725 -0.251171 + 0.182698 -0.721399 -0.667986 + -0.852522 -0.176425 0.492017 + 0.115651 0.788010 0.604703 + -0.822265 -0.297492 0.485159 + 0.834951 0.350628 -0.424166 + 0.067228 -0.754652 -0.652672 + -0.706828 -0.425636 0.565003 + 0.095676 0.711480 0.696163 + 0.678143 0.455001 -0.577145 + -0.131376 -0.672933 -0.727943 + -0.715839 -0.375308 0.588828 + 0.143993 0.700248 0.699228 + 0.516655 0.606562 -0.604276 + -0.308620 -0.564281 -0.765729 + -0.772442 -0.249574 0.583992 + 0.222666 0.707872 0.670327 + 0.402554 0.715660 -0.570772 + -0.371274 -0.578111 -0.726598 + -0.600959 -0.454326 0.657599 + 0.384553 0.650087 0.655367 + 0.277553 0.771037 -0.573120 + -0.458030 -0.484638 -0.745208 + -0.414146 -0.769341 0.486413 + 0.325880 0.519950 0.789591 + 0.186734 0.837117 -0.514164 + -0.549718 -0.362963 -0.752375 + -0.345648 -0.885193 0.311385 + 0.367069 0.199681 0.908509 + 0.187987 0.893588 -0.407629 + -0.618246 -0.291333 -0.729998 + -0.351559 -0.899257 0.260277 + 0.592255 -0.020292 0.805495 + 0.176610 0.854560 -0.488402 + -0.661231 -0.280282 -0.695856 + -0.197979 -0.948596 0.246921 + 0.767266 0.000495 0.641328 + -0.188851 0.926159 -0.326442 + -0.657305 -0.451184 -0.603642 + -0.146034 -0.964878 0.218367 + 0.777848 -0.001234 0.628451 + -0.247142 0.959021 0.138559 + -0.886227 -0.457773 0.071029 + 0.071000 -0.995962 0.054947 + 0.928134 -0.370541 -0.035591 + 0.076287 0.988265 0.132334 + -0.781740 0.010610 0.623514 + 0.043366 -0.998550 -0.031904 + 0.993842 -0.083013 0.073402 + 0.050273 0.968592 0.243522 + -0.957394 0.285955 -0.040327 + -0.143889 -0.920277 -0.363848 + 0.971926 -0.226009 0.065419 + 0.026994 0.496005 0.867900 + -0.903311 0.366300 0.223277 + -0.543597 -0.836812 0.065170 + 0.527272 -0.779469 0.338250 + -0.639887 -0.659866 0.393855 + -0.657546 -0.752853 -0.029070 + 0.638662 -0.567570 -0.519591 + -0.845391 0.180780 0.502625 + 0.778257 0.290629 0.556642 + 0.835132 -0.509128 0.208192 + -0.530593 -0.847475 -0.016024 + 0.647997 -0.428554 -0.629636 + -0.174374 0.783694 0.596169 + 0.868225 0.477817 -0.133704 + 0.787497 0.560751 -0.255747 + -0.423105 -0.895026 -0.141107 + 0.593027 -0.252799 -0.764468 + -0.272044 0.762874 0.586528 + 0.695097 0.595856 -0.402239 + -0.209814 0.696663 0.686031 + -0.220510 -0.941132 -0.256216 + 0.557311 0.027406 -0.829851 + 0.572712 0.635794 -0.517462 + -0.159987 0.679528 0.715993 + -0.249738 -0.946369 -0.204981 + 0.547915 0.124109 -0.827276 + 0.550846 0.667954 -0.500406 + -0.143056 0.687805 0.711659 + -0.434157 -0.855087 -0.283432 + 0.484786 0.157165 -0.860396 + 0.577728 0.703042 -0.414683 + 0.016860 0.509210 0.860477 + -0.703370 -0.589734 -0.396843 + 0.314126 0.427124 -0.847874 + 0.547398 0.782263 -0.297353 + 0.285468 0.266509 0.920587 + -0.732182 -0.556080 -0.393301 + 0.077865 0.630138 -0.772569 + 0.537266 0.823359 -0.182826 + 0.387880 0.073321 0.918789 + -0.787732 -0.545812 -0.285600 + -0.054252 0.643377 -0.763625 + 0.534446 0.827492 -0.172117 + 0.483657 -0.028065 0.874808 + -0.855267 -0.485561 -0.180965 + -0.126485 0.724083 -0.678015 + 0.625690 0.771199 -0.117318 + 0.625252 -0.213833 0.750557 + -0.868940 -0.488852 -0.077246 + -0.281350 0.787857 -0.547836 + 0.678908 0.723682 -0.123967 + 0.732319 -0.466031 0.496511 + -0.810572 -0.585128 -0.024460 + -0.442267 0.845231 -0.299975 + 0.601961 0.792431 -0.098467 + 0.854299 -0.490745 0.171296 + -0.497875 -0.865834 -0.049508 + -0.831778 0.472855 0.290780 + 0.309943 0.922652 0.229455 + 0.956216 -0.278390 -0.090277 + -0.270664 -0.948442 -0.164922 + -0.923165 0.048511 0.381329 + -0.262274 0.813320 0.519348 + 0.999220 -0.011927 -0.037653 + -0.006458 -0.860174 0.509959 + -0.799517 0.290529 0.525705 + -0.239981 0.637510 0.732114 + 0.584673 0.359584 0.727226 + 0.863965 0.193694 0.464808 + 0.873342 -0.360712 0.327355 + 0.874811 -0.162880 -0.456262 + 0.329018 0.476388 0.815353 + 0.923429 0.281034 -0.261342 + -0.529143 -0.267008 0.805428 + -0.604193 -0.595099 0.529913 + -0.275252 -0.959566 -0.058901 + 0.766381 -0.196706 -0.611528 + -0.268952 -0.960651 -0.069388 + -0.748318 0.408872 0.522346 + 0.379939 0.920129 0.094918 + 0.841399 0.257028 -0.475378 + -0.925654 -0.206624 0.316973 + -0.827305 0.398313 0.396123 + -0.822550 -0.131549 0.553269 + 0.650389 -0.148352 -0.744974 + -0.211234 -0.975089 -0.067687 + -0.716682 -0.229462 0.658570 + 0.309775 0.942687 0.124021 + 0.703054 0.296179 -0.646524 + -0.719087 0.282626 0.634851 + -0.608676 0.153765 0.778377 + 0.548167 -0.042478 -0.835290 + -0.109304 -0.988517 -0.104344 + -0.579366 -0.364202 0.729172 + -0.475525 0.105924 0.873302 + 0.256139 0.958905 0.122042 + 0.574003 0.389550 -0.720258 + 0.158180 0.969941 0.184916 + 0.374511 0.069274 -0.924631 + -0.009703 -0.774854 -0.632066 + -0.429226 -0.524691 0.735163 + -0.328857 0.051942 0.942950 + 0.127977 0.957843 0.257214 + 0.427380 0.592882 -0.682523 + 0.105314 0.195589 -0.975015 + -0.080163 -0.283659 -0.955569 + -0.316184 -0.872999 0.371350 + -0.049248 0.010098 0.998736 + 0.260464 0.948751 0.178968 + 0.253696 0.695144 -0.672616 + -0.117034 0.301250 -0.946336 + -0.226506 0.060203 -0.972147 + -0.378484 -0.914716 -0.141581 + 0.101350 -0.195629 0.975427 + 0.345141 0.908193 0.236777 + 0.104954 0.719627 -0.686383 + -0.286901 0.317225 -0.903911 + -0.394199 0.107973 -0.912660 + -0.485545 -0.863843 -0.134244 + 0.279836 -0.254588 0.925676 + 0.473591 0.827936 0.300388 + 0.006072 0.739929 -0.672657 + -0.451212 0.281963 -0.846702 + -0.535913 0.151115 -0.830640 + -0.579320 -0.807417 -0.111651 + 0.467702 -0.233360 0.852524 + 0.568195 0.808229 0.154666 + -0.016395 0.773921 -0.633070 + -0.478113 0.475705 -0.738318 + -0.570236 0.329879 -0.752337 + -0.581917 -0.808547 -0.087320 + 0.634234 -0.282617 0.719635 + 0.590522 0.807021 0.001503 + -0.132290 0.763563 -0.632038 + -0.692622 0.491407 -0.528010 + -0.878583 -0.002793 -0.477581 + -0.145714 -0.951835 0.269773 + 0.735718 -0.438937 0.515804 + 0.702098 0.711412 0.030837 + -0.221852 0.845708 -0.485344 + -0.797682 0.556637 -0.232074 + -0.916073 -0.394108 0.074092 + 0.110551 -0.965707 0.234924 + 0.787611 -0.586725 0.188209 + 0.778270 0.622985 -0.078643 + -0.257447 0.924418 -0.281376 + -0.660346 0.726936 0.188436 + -0.994487 -0.063782 0.083234 + 0.061392 -0.998084 -0.007692 + 0.880806 -0.412086 -0.233164 + 0.716277 0.689269 -0.108881 + -0.281981 0.952412 0.115751 + -0.686824 0.508297 0.519525 + -0.866928 -0.450350 0.213590 + 0.015419 -0.898944 -0.437793 + 0.828915 -0.156246 -0.537110 + 0.562237 0.826911 0.010370 + -0.350935 0.829524 0.434437 + -0.355081 0.558806 0.749435 + -0.444423 0.050112 0.894414 + -0.153326 -0.709658 0.687661 + 0.900324 -0.238981 -0.363736 + 0.502537 0.668522 0.548210 + -0.169972 0.522957 0.835240 + 0.928416 0.063210 0.366126 + 0.918889 -0.392221 0.042498 + 0.714847 -0.255766 -0.650828 + 0.701357 0.655650 0.279681 + 0.818530 0.338769 -0.463944 + -0.102574 0.317184 0.942801 + -0.353540 -0.226206 0.907656 + -0.474677 -0.671722 0.568745 + -0.324480 -0.935308 -0.141107 + 0.587742 -0.309175 -0.747643 + -0.257518 -0.956255 -0.138786 + 0.461682 0.885912 0.044820 + 0.740389 0.260414 -0.619684 + -0.669059 0.423953 0.610430 + -0.836449 -0.261468 0.481651 + -0.731818 -0.258872 0.630419 + 0.398751 -0.355280 -0.845443 + -0.255651 -0.959170 -0.120979 + -0.587046 -0.348524 0.730690 + 0.365915 0.930645 -0.002456 + 0.578144 0.205621 -0.789601 + -0.592333 0.331037 0.734545 + -0.402850 0.350973 0.845298 + 0.204241 -0.337047 -0.919067 + -0.252055 -0.967260 0.029617 + -0.415097 -0.359088 0.835913 + -0.204746 0.422573 0.882899 + 0.338684 0.940740 -0.017383 + 0.376530 0.235913 -0.895863 + 0.260428 0.962648 -0.074069 + -0.016168 -0.359214 -0.933115 + -0.254919 -0.966571 0.027517 + -0.205194 -0.324277 0.923439 + 0.042492 0.553960 0.831458 + 0.269529 0.904468 -0.330593 + 0.155554 0.180771 -0.971146 + -0.243789 -0.456075 -0.855899 + -0.159962 -0.930040 0.330814 + 0.029145 -0.286067 0.957766 + 0.200226 0.546852 0.812935 + 0.203465 0.902540 -0.379505 + -0.039703 0.248117 -0.967916 + -0.381532 -0.298755 -0.874745 + -0.233339 -0.955310 0.181480 + 0.231117 -0.267166 0.935525 + 0.385948 0.542220 0.746352 + 0.109059 0.853575 -0.509427 + -0.222766 0.188351 -0.956504 + -0.507623 -0.410500 -0.757502 + -0.184245 -0.968436 0.167886 + 0.388386 -0.264928 0.882593 + 0.522138 0.566649 0.637402 + 0.043224 0.882651 -0.468037 + -0.391971 0.173657 -0.903439 + -0.631684 -0.249328 -0.734037 + -0.235397 -0.965877 0.108027 + 0.489080 -0.296550 0.820280 + 0.577443 0.700767 0.418909 + -0.088280 0.826758 -0.555588 + -0.518593 0.227043 -0.824325 + -0.752643 -0.265273 -0.602627 + -0.179441 -0.978850 0.098251 + 0.637038 -0.304743 0.708035 + 0.588449 0.725402 0.357100 + -0.180586 0.868909 -0.460854 + -0.655290 0.247813 -0.713571 + -0.909179 -0.212027 -0.358384 + -0.251731 -0.961661 0.108812 + 0.825482 -0.324146 0.462070 + 0.582225 0.801993 0.133498 + -0.165159 0.926297 -0.338669 + -0.715408 0.527712 -0.457943 + -0.968823 -0.246884 0.020747 + -0.195194 -0.946441 0.257194 + 0.873013 -0.458070 0.167393 + 0.701031 0.707969 -0.085642 + -0.204802 0.941313 -0.268302 + -0.790631 0.576362 -0.206666 + -0.952015 0.148770 0.267459 + -0.491170 -0.798556 0.347937 + 0.759588 -0.647271 -0.063768 + 0.858791 0.434212 -0.271916 + -0.160556 0.966638 -0.199583 + -0.692130 0.720962 0.034215 + -0.866447 0.154826 0.474655 + -0.593416 -0.763726 0.254127 + 0.557936 -0.715528 -0.420389 + 0.799638 0.334669 -0.498573 + 0.306685 0.929234 -0.206080 + -0.531160 0.806364 0.260089 + -0.348177 0.372065 0.860430 + -0.550175 -0.339822 0.762777 + 0.617075 -0.267627 0.739996 + 0.850010 0.445073 -0.281768 + 0.389110 0.845464 0.365764 + -0.064844 0.706086 0.705151 + 0.975981 0.149389 0.158566 + 0.901866 -0.431095 0.028203 + 0.599771 -0.405480 -0.689827 + 0.729196 0.674506 0.115390 + 0.717367 0.251706 -0.649637 + 0.365544 0.583428 0.725251 + -0.085059 0.280842 0.955977 + -0.368578 -0.382607 0.847209 + -0.417065 -0.902204 0.109929 + 0.474409 -0.228010 -0.850263 + -0.311936 -0.950017 0.012755 + 0.600901 0.657446 -0.454624 + 0.541180 0.348606 -0.765244 + -0.318536 0.785619 0.530413 + -0.730599 0.103096 0.674979 + -0.600207 -0.024015 0.799484 + 0.325755 -0.224485 -0.918417 + -0.291579 -0.956423 -0.015385 + -0.448608 -0.065890 0.891296 + 0.368873 0.881230 -0.295577 + 0.468956 0.376484 -0.798962 + -0.371558 0.509363 0.776205 + -0.159246 0.594155 0.788429 + 0.109524 -0.355837 -0.928108 + -0.401639 -0.913273 0.067962 + -0.308345 -0.077352 0.948124 + -0.024392 0.523683 0.851564 + 0.276982 0.960664 -0.020155 + 0.392019 0.387237 -0.834487 + 0.371897 0.928258 -0.005484 + -0.111099 -0.408030 -0.906183 + -0.390361 -0.891400 0.230268 + -0.119256 -0.098109 0.988004 + 0.166445 0.478362 0.862245 + 0.392112 0.911293 0.125671 + 0.273402 0.481503 -0.832710 + -0.265774 -0.318866 -0.909774 + -0.340609 -0.902352 0.264096 + 0.043197 -0.199402 0.978965 + 0.374553 0.545709 0.749608 + 0.412878 0.910699 -0.012620 + 0.131352 0.499699 -0.856182 + -0.359134 -0.208259 -0.909753 + -0.270753 -0.945392 0.181459 + 0.187711 -0.274961 0.942953 + 0.438647 0.603055 0.666269 + 0.299975 0.924780 -0.234086 + -0.049869 0.545130 -0.836867 + -0.491625 -0.136384 -0.860061 + -0.269364 -0.960922 0.063814 + 0.321607 -0.346803 0.881077 + 0.516935 0.598289 0.612232 + 0.137618 0.898245 -0.417392 + -0.218814 0.511454 -0.830985 + -0.611956 -0.140604 -0.778293 + -0.304061 -0.949865 0.072828 + 0.397001 -0.410379 0.820963 + 0.599103 0.490389 0.632925 + 0.100116 0.922941 -0.371694 + -0.350619 0.523480 -0.776553 + -0.732548 -0.203858 -0.649474 + -0.098559 -0.984593 0.144442 + 0.545212 -0.458942 0.701510 + 0.715761 0.418937 0.558729 + 0.133556 0.973210 -0.187151 + -0.493003 0.529087 -0.690662 + -0.922538 -0.182302 -0.340132 + 0.009646 -0.990012 0.140649 + 0.736471 -0.493929 0.462216 + 0.897692 -0.005069 0.440595 + 0.238178 0.963652 -0.121017 + -0.713952 0.557550 -0.423569 + -0.931448 -0.345783 0.113309 + -0.206716 -0.907751 0.365043 + 0.913908 -0.383334 0.133519 + 0.962890 -0.226010 0.147523 + 0.586040 0.807741 -0.064124 + -0.754338 0.619436 -0.217424 + -0.832582 -0.393819 0.389504 + -0.103538 -0.953648 0.282551 + 0.831424 -0.552319 -0.060641 + 0.978958 -0.135340 -0.152724 + 0.587450 0.783966 -0.200746 + -0.794035 0.604998 0.059043 + -0.851408 -0.291610 0.435968 + -0.320093 -0.920170 0.225450 + 0.778049 -0.428368 -0.459501 + 0.882553 0.081793 -0.463045 + 0.382700 0.922157 -0.056289 + -0.895935 0.334323 0.292453 + -0.439830 -0.081965 0.894333 + -0.197315 -0.863256 0.464602 + 0.924311 0.103913 0.367221 + 0.843244 0.502341 0.191294 + 0.557505 0.829953 -0.019151 + -0.425667 0.644379 0.635282 + + + + + 0.069284 -0.178984 0.100519 + 0.066834 -0.189495 0.098513 + 0.064125 -0.188934 0.096646 + 0.056488 -0.167784 0.111902 + 0.056826 -0.169923 0.113062 + 0.067697 -0.174806 0.098000 + 0.054096 -0.181043 0.111210 + 0.062879 -0.183297 0.095718 + 0.064949 -0.174241 0.097163 + 0.052025 -0.182178 0.110512 + 0.055496 -0.166850 0.111929 + 0.040597 -0.162663 0.122599 + 0.042482 -0.161015 0.122620 + 0.041829 -0.163513 0.123933 + 0.039939 -0.173864 0.123011 + 0.051044 -0.177577 0.109169 + 0.039098 -0.174287 0.122841 + 0.038669 -0.169742 0.120857 + 0.022623 -0.163921 0.128174 + 0.024174 -0.155907 0.128681 + 0.026435 -0.153838 0.129719 + 0.025478 -0.155129 0.130443 + 0.023973 -0.165515 0.131025 + 0.022942 -0.166380 0.130279 + 0.005300 -0.159207 0.134232 + 0.006048 -0.156546 0.131857 + 0.007904 -0.147568 0.132874 + 0.009580 -0.146449 0.133970 + 0.008075 -0.147770 0.135434 + 0.006378 -0.157816 0.134964 + -0.011628 -0.150182 0.136068 + -0.011898 -0.150358 0.136564 + -0.010494 -0.148895 0.133899 + -0.009286 -0.140171 0.134560 + -0.007784 -0.139277 0.135957 + -0.009954 -0.141554 0.137351 + -0.027660 -0.133333 0.136996 + -0.029399 -0.141963 0.134709 + -0.029467 -0.142132 0.134981 + -0.026869 -0.140249 0.132549 + -0.026087 -0.131790 0.133559 + -0.024759 -0.131161 0.134911 + -0.042013 -0.124070 0.132155 + -0.044838 -0.124670 0.134053 + -0.047103 -0.134246 0.131147 + -0.046756 -0.134215 0.130790 + -0.043938 -0.133832 0.129471 + -0.043192 -0.124769 0.130429 + -0.059344 -0.117184 0.124848 + -0.058671 -0.116577 0.127107 + -0.061808 -0.117520 0.127244 + -0.064375 -0.127192 0.125008 + -0.063896 -0.127948 0.123990 + -0.059600 -0.125993 0.123463 + -0.074321 -0.118838 0.114520 + -0.074420 -0.109338 0.116544 + -0.073583 -0.110582 0.117221 + -0.077421 -0.112329 0.117199 + -0.080792 -0.122957 0.114947 + -0.080204 -0.123032 0.114400 + -0.094334 -0.119006 0.101427 + -0.087530 -0.113974 0.102215 + -0.087754 -0.104387 0.103920 + -0.087372 -0.106288 0.104815 + -0.091358 -0.107295 0.104632 + -0.094374 -0.118516 0.101221 + -0.104915 -0.112109 0.085700 + -0.102602 -0.113795 0.084146 + -0.097537 -0.107289 0.087793 + -0.097563 -0.100399 0.088338 + -0.097899 -0.100163 0.091693 + -0.103022 -0.104681 0.089078 + -0.105067 -0.095275 0.072036 + -0.106699 -0.100838 0.069612 + -0.103358 -0.103347 0.067387 + -0.099626 -0.101439 0.069912 + -0.099980 -0.093173 0.070912 + -0.099974 -0.092808 0.073697 + -0.098865 -0.086002 0.055669 + -0.103383 -0.088129 0.053258 + -0.104407 -0.094416 0.050947 + -0.102712 -0.095172 0.049223 + -0.098000 -0.094664 0.052197 + -0.098089 -0.088480 0.052347 + -0.092607 -0.087562 0.034072 + -0.095015 -0.082889 0.037561 + -0.098090 -0.087684 0.034711 + -0.098875 -0.089318 0.033976 + -0.093280 -0.094145 0.038083 + -0.091738 -0.092976 0.034645 + -0.078938 -0.094298 0.022398 + -0.079365 -0.090099 0.021270 + -0.087731 -0.084023 0.020326 + -0.086218 -0.089722 0.020275 + -0.086865 -0.093166 0.018441 + -0.083614 -0.098966 0.021266 + 0.071033 -0.208437 0.111264 + 0.068068 -0.218286 0.109170 + 0.063924 -0.218738 0.107911 + 0.057166 -0.199629 0.121210 + 0.069817 -0.205296 0.108786 + 0.056202 -0.197586 0.120677 + 0.054309 -0.210550 0.118436 + 0.063864 -0.212511 0.104511 + 0.052658 -0.212054 0.117910 + 0.042655 -0.190351 0.129547 + 0.040900 -0.188866 0.129159 + 0.065463 -0.203444 0.111420 + 0.052367 -0.196394 0.121666 + 0.038231 -0.188538 0.129200 + 0.042030 -0.201235 0.128385 + 0.051842 -0.205454 0.116835 + 0.039468 -0.202114 0.128003 + 0.026096 -0.182071 0.134067 + 0.024055 -0.180041 0.133514 + 0.022750 -0.180181 0.133591 + 0.038600 -0.196231 0.125699 + 0.023608 -0.187461 0.131414 + 0.026719 -0.193042 0.134143 + 0.023711 -0.192860 0.133776 + 0.009474 -0.173166 0.136648 + 0.006692 -0.171492 0.136006 + 0.006298 -0.172541 0.135494 + 0.006827 -0.180748 0.134238 + 0.006102 -0.184795 0.136160 + 0.010075 -0.185742 0.136703 + -0.007584 -0.164723 0.136248 + -0.010462 -0.162485 0.135125 + -0.009624 -0.163694 0.135940 + -0.009422 -0.172365 0.133807 + -0.010891 -0.177439 0.135964 + -0.007030 -0.179279 0.137209 + -0.024792 -0.156895 0.134345 + -0.028202 -0.154623 0.133431 + -0.026358 -0.156752 0.133864 + -0.026230 -0.165603 0.131974 + -0.028128 -0.169810 0.134914 + -0.023589 -0.171592 0.135790 + -0.042225 -0.149717 0.132106 + -0.045220 -0.145973 0.129815 + -0.042479 -0.148759 0.131034 + -0.041964 -0.157339 0.129219 + -0.045665 -0.162359 0.133084 + -0.039928 -0.163619 0.133878 + -0.059026 -0.142916 0.126704 + -0.063155 -0.140193 0.124785 + -0.058464 -0.142572 0.124885 + -0.059008 -0.152964 0.124228 + -0.062319 -0.154663 0.127603 + -0.056041 -0.156196 0.129298 + -0.075651 -0.138389 0.118471 + -0.079415 -0.135666 0.114857 + -0.073991 -0.138539 0.116024 + -0.073978 -0.146863 0.115564 + -0.078711 -0.151406 0.118253 + -0.071699 -0.149443 0.122681 + -0.090481 -0.134021 0.107100 + -0.094030 -0.131793 0.102146 + -0.088096 -0.135210 0.104585 + -0.087932 -0.142501 0.104266 + -0.092003 -0.147060 0.104766 + -0.086572 -0.146785 0.112093 + -0.103644 -0.134469 0.093788 + -0.104862 -0.126709 0.087385 + -0.099723 -0.128558 0.091805 + -0.096985 -0.135246 0.090231 + -0.101652 -0.143344 0.089507 + -0.099839 -0.142035 0.099960 + -0.108477 -0.128534 0.076688 + -0.106638 -0.120393 0.068449 + -0.102940 -0.122627 0.074356 + -0.101143 -0.130158 0.072558 + -0.104227 -0.134870 0.072263 + -0.106325 -0.138383 0.083216 + -0.108313 -0.122361 0.058264 + -0.103341 -0.113475 0.050005 + -0.102401 -0.117295 0.056338 + -0.099333 -0.123419 0.055021 + -0.103500 -0.126359 0.054953 + -0.105914 -0.131324 0.065885 + -0.105685 -0.118774 0.039137 + -0.100758 -0.109116 0.030752 + -0.097534 -0.114271 0.038369 + -0.094202 -0.120272 0.037211 + -0.098012 -0.120717 0.038696 + -0.104774 -0.124132 0.048500 + -0.099045 -0.112457 0.027961 + -0.096254 -0.114117 0.024439 + -0.099388 -0.118674 0.033602 + -0.086253 -0.111681 0.024306 + -0.085882 -0.112847 0.021105 + -0.084250 -0.117500 0.022039 + -0.086599 -0.120972 0.022683 + -0.095346 -0.136971 0.019098 + -0.104869 -0.142279 0.031056 + -0.096489 -0.135313 0.020872 + -0.081701 -0.136786 0.016103 + -0.096899 -0.144207 0.025649 + -0.084433 -0.143252 0.014914 + -0.103695 -0.148553 0.038585 + -0.107653 -0.146275 0.047230 + -0.096493 -0.131614 0.022042 + -0.080124 -0.138995 0.018095 + -0.099639 -0.150537 0.042926 + -0.094581 -0.144572 0.029130 + -0.091733 -0.143504 0.028298 + -0.101783 -0.160532 0.055823 + -0.104668 -0.156165 0.053284 + -0.108527 -0.153251 0.062750 + -0.101200 -0.136656 0.038237 + -0.093252 -0.139911 0.028222 + -0.100993 -0.157585 0.056616 + -0.098387 -0.148708 0.042704 + -0.099785 -0.145353 0.042752 + -0.100815 -0.166994 0.070573 + -0.102011 -0.171132 0.068556 + -0.105740 -0.166404 0.066536 + -0.106484 -0.160270 0.078155 + -0.105426 -0.145314 0.053106 + -0.103242 -0.159376 0.072997 + -0.101956 -0.152230 0.057928 + -0.095222 -0.166051 0.086848 + -0.094113 -0.173586 0.084965 + -0.094641 -0.178347 0.082611 + -0.100224 -0.175167 0.080119 + -0.095970 -0.166844 0.091257 + -0.105024 -0.154112 0.068551 + -0.100750 -0.163186 0.082398 + -0.088993 -0.168772 0.094899 + -0.084280 -0.173202 0.098783 + -0.082948 -0.179233 0.097890 + -0.084129 -0.182806 0.096328 + -0.090230 -0.180519 0.093869 + -0.083067 -0.170593 0.103807 + -0.068288 -0.174263 0.114699 + -0.074967 -0.172451 0.107375 + -0.070482 -0.178452 0.109709 + -0.068599 -0.184161 0.108415 + -0.070525 -0.188818 0.107218 + -0.076667 -0.185692 0.105175 + -0.061945 -0.191700 0.114744 + -0.052293 -0.181400 0.121827 + -0.058556 -0.178414 0.116796 + -0.054684 -0.184118 0.117881 + -0.052915 -0.190297 0.116453 + -0.055439 -0.194983 0.116230 + -0.039095 -0.202478 0.121728 + -0.045883 -0.198317 0.121692 + -0.035968 -0.189257 0.127470 + -0.041605 -0.186563 0.123301 + -0.038716 -0.192337 0.123130 + -0.036602 -0.197579 0.122200 + -0.020744 -0.206312 0.126755 + -0.022376 -0.209506 0.126920 + -0.029733 -0.206354 0.126947 + -0.019131 -0.197172 0.131495 + -0.024215 -0.194827 0.128664 + -0.021936 -0.199162 0.128300 + -0.004892 -0.206409 0.131742 + -0.002889 -0.212256 0.129641 + -0.005304 -0.217125 0.128649 + -0.012621 -0.213327 0.130988 + -0.002611 -0.206200 0.133662 + -0.006243 -0.203213 0.131244 + 0.011532 -0.212082 0.132998 + 0.012192 -0.214018 0.132295 + 0.013148 -0.221344 0.129095 + 0.011661 -0.224924 0.128655 + 0.004624 -0.220929 0.131602 + 0.013387 -0.216094 0.134191 + 0.029925 -0.224826 0.132146 + 0.028666 -0.221758 0.131263 + 0.028065 -0.223337 0.130341 + 0.028119 -0.231523 0.125869 + 0.027813 -0.233436 0.125565 + 0.021228 -0.229419 0.130770 + 0.036527 -0.238783 0.126814 + 0.045318 -0.234285 0.127916 + 0.045165 -0.231702 0.127749 + 0.043275 -0.232880 0.126688 + 0.043260 -0.240081 0.120437 + 0.042881 -0.242348 0.120381 + 0.058159 -0.248810 0.113031 + 0.051323 -0.247510 0.121106 + 0.060492 -0.242652 0.121706 + 0.061721 -0.239717 0.121476 + 0.058892 -0.240026 0.120573 + 0.058255 -0.246757 0.112863 + 0.044416 -0.269688 0.115689 + 0.041217 -0.268545 0.112586 + 0.050384 -0.262704 0.118290 + 0.035734 -0.261049 0.120933 + 0.030686 -0.267456 0.114907 + 0.050738 -0.265423 0.119137 + 0.042238 -0.265746 0.112720 + 0.046424 -0.262071 0.115947 + 0.029571 -0.265855 0.112296 + 0.032415 -0.258593 0.117958 + 0.034809 -0.259206 0.119576 + 0.015705 -0.250804 0.122098 + 0.016691 -0.253361 0.123451 + 0.013180 -0.260682 0.119037 + 0.029185 -0.262994 0.113747 + 0.010645 -0.259662 0.116530 + 0.011196 -0.256439 0.116835 + 0.014094 -0.251437 0.121364 + -0.002490 -0.243909 0.121026 + -0.001431 -0.242663 0.122201 + -0.000003 -0.245486 0.124226 + -0.002288 -0.252941 0.120775 + -0.005923 -0.251506 0.117268 + -0.004364 -0.249071 0.117885 + -0.019906 -0.240752 0.116679 + -0.017874 -0.234474 0.120939 + -0.018085 -0.233526 0.121059 + -0.016176 -0.236330 0.122885 + -0.018286 -0.244646 0.119458 + -0.022925 -0.243234 0.115954 + -0.039546 -0.235065 0.112228 + -0.035551 -0.232796 0.114277 + -0.034246 -0.226211 0.118810 + -0.034455 -0.224206 0.118514 + -0.032719 -0.227777 0.120701 + -0.034222 -0.236768 0.116447 + -0.049625 -0.228764 0.112401 + -0.055472 -0.226266 0.107823 + -0.050594 -0.224729 0.110123 + -0.050125 -0.218209 0.114476 + -0.050751 -0.215301 0.114315 + -0.048140 -0.218464 0.116530 + -0.063739 -0.209986 0.111217 + -0.064889 -0.221127 0.107138 + -0.070984 -0.219176 0.100604 + -0.065290 -0.217048 0.104530 + -0.065084 -0.210064 0.108613 + -0.066912 -0.207418 0.108502 + -0.080888 -0.199687 0.099394 + -0.078250 -0.202231 0.103473 + -0.078256 -0.213819 0.099030 + -0.084030 -0.210991 0.091572 + -0.078279 -0.209690 0.096457 + -0.078338 -0.202074 0.100264 + -0.089896 -0.195066 0.089851 + -0.092567 -0.192198 0.088409 + -0.090669 -0.195119 0.093253 + -0.089824 -0.206689 0.089102 + -0.094990 -0.204111 0.080490 + -0.089509 -0.203268 0.086569 + -0.098818 -0.196923 0.075289 + -0.099139 -0.188088 0.078106 + -0.103905 -0.185206 0.076911 + -0.101056 -0.187225 0.082173 + -0.099906 -0.200890 0.077563 + -0.101980 -0.196573 0.067724 + -0.101529 -0.189855 0.062499 + -0.102244 -0.186928 0.055476 + -0.102966 -0.181513 0.064982 + -0.105789 -0.177409 0.063236 + -0.107960 -0.181454 0.068595 + -0.105070 -0.192399 0.065870 + -0.102735 -0.177428 0.043125 + -0.100309 -0.181459 0.050639 + -0.106005 -0.182857 0.054525 + -0.102132 -0.174840 0.051630 + -0.104417 -0.169432 0.050337 + -0.107388 -0.173258 0.055673 + -0.104613 -0.173914 0.042845 + -0.104924 -0.168248 0.031047 + -0.097006 -0.173003 0.039164 + -0.106639 -0.166393 0.041839 + -0.099131 -0.166733 0.039415 + -0.101615 -0.161667 0.036869 + -0.106503 -0.165924 0.028881 + -0.095511 -0.164666 0.021176 + -0.089993 -0.167856 0.027157 + -0.095159 -0.155423 0.023921 + -0.091344 -0.161580 0.026846 + -0.094119 -0.160871 0.020369 + -0.080877 -0.166294 0.014949 + -0.078902 -0.161595 0.016018 + -0.081088 -0.158993 0.015670 + -0.084097 -0.216766 -0.084724 + -0.082082 -0.226568 -0.079163 + -0.076946 -0.223126 -0.091496 + -0.089891 -0.210457 -0.076276 + -0.086626 -0.220410 -0.071180 + -0.085556 -0.216686 -0.086733 + -0.092462 -0.211649 -0.078369 + -0.075633 -0.231937 -0.085950 + -0.080133 -0.232261 -0.089048 + -0.086844 -0.226091 -0.082014 + -0.069037 -0.229715 -0.096448 + -0.078219 -0.222990 -0.092959 + -0.092348 -0.204696 -0.065253 + -0.089656 -0.215110 -0.061273 + -0.094451 -0.206206 -0.067230 + -0.090794 -0.219609 -0.072581 + -0.086556 -0.221737 -0.084274 + -0.092131 -0.216056 -0.075904 + -0.094954 -0.209589 -0.066224 + -0.069287 -0.238834 -0.090305 + -0.071727 -0.237619 -0.094277 + -0.071974 -0.233169 -0.096696 + -0.079980 -0.227363 -0.091741 + -0.060155 -0.234774 -0.101526 + -0.070022 -0.228477 -0.098807 + -0.089262 -0.209420 -0.051119 + -0.092641 -0.199188 -0.053671 + -0.095541 -0.201191 -0.055818 + -0.092275 -0.214531 -0.061144 + -0.094866 -0.205075 -0.054451 + -0.092298 -0.208649 -0.050186 + -0.062041 -0.244624 -0.095208 + -0.063018 -0.243366 -0.097831 + -0.063483 -0.238150 -0.101644 + -0.061633 -0.234178 -0.103958 + -0.053356 -0.248774 -0.099227 + -0.051105 -0.240120 -0.105462 + -0.088876 -0.203542 -0.041093 + -0.091259 -0.193330 -0.042492 + -0.094422 -0.194746 -0.045092 + -0.095618 -0.198529 -0.044601 + -0.090449 -0.203705 -0.038921 + -0.054350 -0.248133 -0.102853 + -0.055338 -0.244672 -0.104373 + -0.052758 -0.239941 -0.107460 + -0.045780 -0.254844 -0.103648 + -0.045789 -0.255240 -0.101536 + -0.042031 -0.246413 -0.106466 + -0.087882 -0.196602 -0.029366 + -0.087518 -0.186934 -0.032454 + -0.090936 -0.188818 -0.034746 + -0.091915 -0.194204 -0.033464 + -0.046760 -0.250937 -0.105483 + -0.043512 -0.245737 -0.109078 + -0.037906 -0.256862 -0.105866 + -0.037017 -0.261199 -0.103596 + -0.037051 -0.260356 -0.102179 + -0.032626 -0.251988 -0.108111 + -0.079799 -0.193223 -0.021550 + -0.078811 -0.183952 -0.024976 + -0.083978 -0.184823 -0.025675 + -0.085858 -0.188950 -0.024940 + -0.034101 -0.251339 -0.110219 + -0.024483 -0.256647 -0.109922 + -0.028621 -0.262087 -0.106628 + -0.027699 -0.266824 -0.103687 + -0.028563 -0.265823 -0.102779 + -0.023043 -0.257398 -0.106875 + -0.072080 -0.192657 -0.012433 + -0.070039 -0.187538 -0.020158 + -0.074620 -0.183109 -0.019062 + -0.078967 -0.189104 -0.016173 + -0.017115 -0.264345 -0.107793 + -0.015391 -0.264136 -0.104051 + -0.019231 -0.267083 -0.106029 + -0.017475 -0.268773 -0.103797 + -0.019049 -0.268725 -0.100383 + -0.102735 -0.177428 -0.043125 + -0.097006 -0.173003 -0.039164 + -0.104494 -0.165680 -0.030669 + -0.105070 -0.192399 -0.065870 + -0.102244 -0.186928 -0.055476 + -0.106005 -0.182857 -0.054525 + -0.100309 -0.181459 -0.050639 + -0.089993 -0.167856 -0.027157 + -0.099131 -0.166733 -0.039415 + -0.091344 -0.161580 -0.026846 + -0.095511 -0.164666 -0.021176 + -0.105887 -0.172593 -0.043954 + -0.106639 -0.166393 -0.041839 + -0.095159 -0.155423 -0.023921 + -0.101615 -0.161667 -0.036869 + -0.094119 -0.160871 -0.020369 + -0.101056 -0.187225 -0.082173 + -0.099906 -0.200890 -0.077563 + -0.107960 -0.181454 -0.068595 + -0.100653 -0.194216 -0.068735 + -0.101529 -0.189855 -0.062499 + -0.107388 -0.173258 -0.055673 + -0.102132 -0.174840 -0.051630 + -0.080877 -0.166294 -0.014949 + -0.078902 -0.161595 -0.016018 + -0.081088 -0.158993 -0.015670 + -0.104417 -0.169432 -0.050337 + -0.103905 -0.185206 -0.076911 + -0.092567 -0.192198 -0.088409 + -0.090669 -0.195119 -0.093253 + -0.092408 -0.202057 -0.080982 + -0.089824 -0.206689 -0.089102 + -0.105789 -0.177409 -0.063236 + -0.098818 -0.196923 -0.075289 + -0.102966 -0.181513 -0.064982 + -0.089896 -0.195066 -0.089851 + -0.099139 -0.188088 -0.078106 + -0.078338 -0.202074 -0.100264 + -0.080888 -0.199687 -0.099394 + -0.078250 -0.202231 -0.103473 + -0.084030 -0.210991 -0.091572 + -0.089509 -0.203268 -0.086569 + -0.078256 -0.213819 -0.099030 + -0.078279 -0.209690 -0.096457 + -0.065290 -0.217048 -0.104530 + -0.065084 -0.210064 -0.108613 + -0.066912 -0.207418 -0.108502 + -0.063739 -0.209986 -0.111217 + -0.064889 -0.221127 -0.107138 + -0.070984 -0.219176 -0.100604 + -0.055472 -0.226266 -0.107823 + -0.050594 -0.224729 -0.110123 + -0.050125 -0.218209 -0.114476 + -0.050751 -0.215301 -0.114315 + -0.048140 -0.218464 -0.116530 + -0.049625 -0.228764 -0.112401 + -0.034222 -0.236768 -0.116447 + -0.039546 -0.235065 -0.112228 + -0.035551 -0.232796 -0.114277 + -0.034246 -0.226211 -0.118810 + -0.034455 -0.224206 -0.118514 + -0.032719 -0.227777 -0.120701 + -0.016176 -0.236330 -0.122885 + -0.018286 -0.244646 -0.119458 + -0.022925 -0.243234 -0.115954 + -0.019906 -0.240752 -0.116679 + -0.017874 -0.234474 -0.120939 + -0.018085 -0.233526 -0.121059 + -0.001431 -0.242663 -0.122201 + -0.000003 -0.245486 -0.124226 + -0.002288 -0.252941 -0.120775 + -0.005923 -0.251506 -0.117268 + -0.004364 -0.249071 -0.117885 + -0.002490 -0.243909 -0.121026 + 0.014094 -0.251437 -0.121364 + 0.015705 -0.250804 -0.122098 + 0.016691 -0.253361 -0.123451 + 0.013180 -0.260682 -0.119037 + 0.010645 -0.259662 -0.116530 + 0.011196 -0.256439 -0.116835 + 0.029185 -0.262994 -0.113747 + 0.032415 -0.258593 -0.117958 + 0.034809 -0.259206 -0.119576 + 0.035734 -0.261049 -0.120933 + 0.030686 -0.267456 -0.114907 + 0.029571 -0.265855 -0.112296 + 0.044923 -0.268815 -0.110095 + 0.043565 -0.265923 -0.111855 + 0.047216 -0.262721 -0.116493 + 0.050735 -0.262809 -0.117881 + 0.050738 -0.265423 -0.119137 + 0.045674 -0.270343 -0.113385 + -0.019231 -0.267083 0.106029 + -0.017475 -0.268773 0.103797 + -0.017115 -0.264345 0.107793 + -0.024483 -0.256647 0.109922 + -0.028621 -0.262087 0.106628 + -0.015391 -0.264136 0.104051 + -0.019049 -0.268725 0.100383 + -0.027699 -0.266824 0.103687 + -0.023043 -0.257398 0.106875 + -0.032626 -0.251988 0.108111 + -0.034101 -0.251339 0.110219 + -0.037906 -0.256862 0.105866 + -0.028563 -0.265823 0.102779 + -0.037017 -0.261199 0.103596 + -0.042031 -0.246413 0.106466 + -0.037051 -0.260356 0.102179 + -0.043512 -0.245737 0.109078 + -0.046760 -0.250937 0.105483 + -0.045780 -0.254844 0.103648 + -0.051105 -0.240120 0.105462 + -0.045789 -0.255240 0.101536 + -0.052758 -0.239941 0.107460 + -0.055338 -0.244672 0.104373 + -0.054350 -0.248133 0.102853 + -0.060155 -0.234774 0.101526 + -0.053356 -0.248774 0.099227 + -0.061633 -0.234178 0.103958 + -0.063483 -0.238150 0.101644 + -0.063018 -0.243366 0.097831 + -0.069037 -0.229715 0.096448 + -0.062041 -0.244624 0.095208 + -0.070022 -0.228477 0.098807 + -0.071974 -0.233169 0.096696 + -0.071727 -0.237619 0.094277 + -0.076946 -0.223126 0.091496 + -0.075633 -0.231937 0.085950 + -0.069287 -0.238834 0.090305 + -0.078219 -0.222990 0.092959 + -0.079980 -0.227363 0.091741 + -0.080133 -0.232261 0.089048 + -0.084097 -0.216766 0.084724 + -0.082082 -0.226568 0.079163 + -0.086844 -0.226091 0.082014 + -0.085556 -0.216686 0.086733 + -0.086556 -0.221737 0.084274 + -0.089891 -0.210457 0.076276 + -0.086626 -0.220410 0.071180 + -0.090794 -0.219609 0.072581 + -0.092131 -0.216056 0.075904 + -0.092462 -0.211649 0.078369 + -0.092348 -0.204696 0.065253 + -0.089656 -0.215110 0.061273 + -0.092275 -0.214531 0.061144 + -0.094954 -0.209589 0.066224 + -0.094451 -0.206206 0.067230 + -0.092641 -0.199188 0.053671 + -0.089262 -0.209420 0.051119 + -0.088876 -0.203542 0.041093 + -0.092298 -0.208649 0.050186 + -0.094866 -0.205075 0.054451 + -0.095541 -0.201191 0.055818 + -0.091259 -0.193330 0.042492 + -0.090449 -0.203705 0.038921 + -0.087882 -0.196602 0.029366 + -0.084598 -0.197910 0.032205 + -0.095618 -0.198529 0.044601 + -0.094422 -0.194746 0.045092 + -0.087518 -0.186934 0.032454 + -0.091915 -0.194204 0.033464 + -0.085858 -0.188950 0.024940 + -0.079799 -0.193223 0.021550 + -0.078213 -0.193783 0.024272 + -0.090936 -0.188818 0.034746 + -0.078811 -0.183952 0.024976 + -0.083978 -0.184823 0.025675 + -0.078967 -0.189104 0.016173 + -0.074620 -0.183109 0.019062 + -0.072080 -0.192657 0.012433 + -0.069337 -0.191592 0.018953 + -0.070039 -0.187538 0.020158 + -0.077289 -0.183867 0.022657 + -0.096263 -0.021381 -0.064556 + -0.098030 -0.022215 -0.049784 + -0.094178 -0.019481 -0.047195 + -0.090542 -0.032258 -0.080469 + -0.094295 -0.028300 -0.079766 + -0.094038 -0.026381 -0.064787 + -0.100504 -0.027467 -0.067414 + -0.099140 -0.026288 -0.049801 + -0.091078 -0.026514 -0.036177 + -0.090962 -0.021383 -0.037939 + -0.089224 -0.019740 -0.037799 + -0.090714 -0.023361 -0.048097 + -0.085320 -0.045080 -0.097782 + -0.081845 -0.037484 -0.094258 + -0.093834 -0.036941 -0.085017 + -0.085940 -0.035489 -0.094146 + -0.094925 -0.031645 -0.083868 + -0.094894 -0.031121 -0.068194 + -0.100961 -0.032039 -0.065964 + -0.087763 -0.030098 -0.035855 + -0.096508 -0.026965 -0.048189 + -0.079994 -0.035250 -0.019565 + -0.083311 -0.031671 -0.019964 + -0.083698 -0.027676 -0.022145 + -0.083381 -0.026762 -0.033524 + -0.078488 -0.022086 -0.023610 + -0.093554 -0.027719 -0.050703 + -0.077548 -0.052885 -0.107824 + -0.073622 -0.052664 -0.107881 + -0.089671 -0.044540 -0.096856 + -0.070981 -0.045845 -0.104333 + -0.097275 -0.036534 -0.082033 + -0.074194 -0.042342 -0.105669 + -0.085181 -0.038317 -0.097441 + -0.097324 -0.036363 -0.084464 + -0.086355 -0.029717 -0.034797 + -0.077735 -0.033679 -0.020041 + -0.073939 -0.029599 -0.020728 + -0.061096 -0.057972 -0.117773 + -0.063344 -0.059962 -0.116909 + -0.075554 -0.051338 -0.109249 + -0.060528 -0.060379 -0.115946 + -0.087694 -0.043911 -0.097913 + -0.057290 -0.051798 -0.112000 + -0.060476 -0.049162 -0.114542 + -0.072354 -0.044635 -0.108221 + -0.045365 -0.058612 -0.123869 + -0.045048 -0.063606 -0.123332 + -0.058805 -0.052107 -0.116639 + -0.047396 -0.066777 -0.121533 + -0.044456 -0.064085 -0.119368 + -0.042666 -0.057666 -0.117305 + -0.044831 -0.055115 -0.119908 + -0.028889 -0.061248 -0.123458 + -0.027128 -0.063730 -0.125948 + -0.028581 -0.069661 -0.126691 + -0.030760 -0.072582 -0.124732 + -0.028819 -0.069745 -0.121540 + -0.026952 -0.062514 -0.119839 + -0.010732 -0.065957 -0.118753 + -0.011915 -0.064417 -0.120853 + -0.010061 -0.066876 -0.124086 + -0.011556 -0.074962 -0.125947 + -0.013393 -0.077066 -0.125373 + -0.013093 -0.075885 -0.121748 + 0.002672 -0.079892 -0.117201 + 0.004844 -0.068473 -0.113901 + 0.004375 -0.068695 -0.116082 + 0.006118 -0.071568 -0.118583 + 0.004769 -0.080484 -0.121121 + 0.003650 -0.081577 -0.121923 + 0.019451 -0.084356 -0.113511 + 0.017457 -0.083014 -0.109231 + 0.019237 -0.072586 -0.106394 + 0.019583 -0.073173 -0.108293 + 0.021453 -0.075588 -0.110587 + 0.020636 -0.082527 -0.112828 + 0.033102 -0.087663 -0.100660 + 0.031325 -0.089929 -0.100621 + 0.030152 -0.087898 -0.098526 + 0.032139 -0.076469 -0.096108 + 0.032271 -0.077400 -0.096328 + 0.034029 -0.079628 -0.098353 + 0.041911 -0.085900 -0.083392 + 0.040957 -0.094632 -0.085308 + 0.039926 -0.096572 -0.085444 + 0.038253 -0.094200 -0.084349 + 0.039533 -0.082787 -0.082077 + 0.040448 -0.082704 -0.081222 + 0.043569 -0.088242 -0.063935 + 0.047314 -0.090069 -0.066376 + 0.048051 -0.098715 -0.068557 + 0.047071 -0.101594 -0.068780 + 0.042920 -0.099650 -0.068043 + 0.042655 -0.088009 -0.065751 + -0.058377 -0.209363 0.021539 + -0.071201 -0.216568 0.018716 + -0.072359 -0.212671 0.020982 + -0.059722 -0.206224 0.021176 + -0.060746 -0.216862 0.018551 + -0.061838 -0.212771 0.027827 + -0.063449 -0.208594 0.028104 + -0.071332 -0.220108 0.025610 + -0.066060 -0.220153 0.023037 + -0.072368 -0.216290 0.028380 + -0.065978 -0.215070 0.034075 + -0.068094 -0.212675 0.034324 + -0.074482 -0.219652 0.035660 + -0.073289 -0.223145 0.032721 + -0.068468 -0.222585 0.030352 + -0.067576 -0.219293 0.040729 + -0.071553 -0.217018 0.041188 + -0.074796 -0.224588 0.042276 + -0.074022 -0.227481 0.039205 + -0.071493 -0.225960 0.036809 + -0.068317 -0.224206 0.046843 + -0.071583 -0.222813 0.047460 + -0.073954 -0.229463 0.048870 + -0.073557 -0.231724 0.045934 + -0.071947 -0.230011 0.043705 + -0.071306 -0.228394 0.054151 + -0.068600 -0.228297 0.053699 + -0.072530 -0.234080 0.055565 + -0.073838 -0.236603 0.052144 + -0.072948 -0.235184 0.049509 + -0.069518 -0.239464 0.061039 + -0.069162 -0.233129 0.061296 + -0.067179 -0.233451 0.059573 + -0.071188 -0.241526 0.057801 + -0.071019 -0.240197 0.055336 + -0.068351 -0.246671 0.063119 + -0.065068 -0.243724 0.066585 + -0.065372 -0.239044 0.066576 + -0.065014 -0.238802 0.065086 + -0.068441 -0.245137 0.060942 + -0.064168 -0.250042 0.065421 + -0.064145 -0.251465 0.067877 + -0.060740 -0.248794 0.071526 + -0.061102 -0.244746 0.071699 + -0.061432 -0.243938 0.069720 + -0.057353 -0.250068 0.072725 + -0.059680 -0.254477 0.070035 + -0.058890 -0.254358 0.072899 + -0.057410 -0.252302 0.074242 + -0.056700 -0.252008 0.073598 + -0.015270 -0.001015 0.037887 + -0.004589 -0.007338 0.047685 + -0.000602 -0.012149 0.041464 + -0.020086 -0.002986 0.038333 + -0.012220 -0.003946 0.034011 + -0.022664 0.000358 0.042061 + -0.019125 0.001869 0.041248 + -0.008218 -0.002806 0.054250 + -0.006490 -0.011248 0.048988 + -0.003717 -0.015528 0.042447 + -0.017257 -0.006157 0.034664 + -0.009047 -0.006094 0.054980 + -0.012762 -0.001170 0.060810 + -0.026327 0.003705 0.044840 + -0.023520 0.004906 0.044055 + -0.011285 0.001601 0.061097 + -0.016811 0.006845 0.066079 + -0.017425 0.004490 0.065426 + -0.031192 0.006876 0.046985 + -0.027854 0.008188 0.046631 + -0.031860 0.011439 0.049558 + -0.023904 0.012729 0.068713 + -0.024039 0.010111 0.068207 + -0.034908 0.010411 0.049662 + -0.036180 0.015264 0.051786 + -0.034982 0.015662 0.052104 + -0.031904 0.018396 0.068404 + -0.032479 0.014830 0.068869 + -0.041007 0.019101 0.066727 + -0.040994 0.018498 0.053546 + -0.039280 0.019624 0.052729 + -0.040239 0.023348 0.066018 + -0.048619 0.027722 0.062745 + -0.048461 0.024097 0.063840 + -0.047424 0.020780 0.053852 + -0.044835 0.022842 0.051585 + -0.050261 0.024868 0.049158 + -0.056036 0.031885 0.058004 + -0.056026 0.028383 0.059952 + -0.052174 0.023409 0.051272 + -0.055647 0.026085 0.047031 + -0.052590 0.028232 0.045302 + -0.062291 0.036190 0.052455 + -0.063824 0.031495 0.055419 + -0.070251 0.033787 0.049803 + -0.058537 0.028135 0.042335 + -0.054984 0.029696 0.040438 + -0.070506 0.039350 0.048152 + -0.074281 0.037552 0.041572 + -0.075597 0.033301 0.043023 + -0.060108 0.029528 0.037283 + -0.057009 0.031198 0.035558 + -0.058453 0.030863 0.030237 + -0.065414 0.037731 0.038180 + -0.069552 0.035169 0.037376 + -0.060657 0.029453 0.031962 + -0.062048 0.027990 0.026835 + -0.058576 0.028437 0.025692 + -0.063454 0.036326 0.029955 + -0.065870 0.034382 0.030352 + -0.068682 0.031140 0.023463 + -0.065598 0.024910 0.023417 + -0.060032 0.025927 0.021103 + -0.065252 0.034142 0.021842 + 0.016543 -0.044262 0.055465 + 0.019689 -0.047500 0.042707 + 0.022632 -0.049129 0.043701 + 0.010304 -0.040159 0.066332 + 0.019055 -0.043917 0.055919 + 0.012508 -0.031930 0.059511 + 0.017773 -0.035538 0.050393 + 0.020802 -0.040417 0.040700 + 0.021402 -0.041687 0.040038 + 0.002692 -0.036421 0.076289 + 0.012481 -0.039403 0.066968 + 0.006469 -0.027898 0.067850 + 0.019048 -0.037033 0.051417 + 0.006572 -0.028423 0.070768 + 0.013396 -0.032600 0.061526 + -0.007119 -0.032939 0.084162 + 0.004453 -0.035148 0.076743 + -0.001645 -0.024470 0.074297 + -0.002663 -0.025178 0.077939 + -0.005904 -0.030970 0.083976 + -0.018135 -0.029834 0.090292 + -0.010634 -0.021311 0.079577 + -0.012665 -0.021747 0.083749 + -0.016813 -0.027009 0.090501 + -0.028478 -0.024602 0.095959 + -0.019979 -0.017123 0.083127 + -0.022593 -0.016173 0.087694 + -0.026993 -0.021431 0.097035 + -0.038642 -0.017932 0.099644 + -0.028797 -0.010777 0.083961 + -0.032511 -0.009330 0.088094 + -0.036609 -0.012708 0.099354 + -0.047700 -0.009195 0.095102 + -0.038138 -0.005493 0.082189 + -0.041693 -0.002847 0.085153 + -0.046146 -0.004479 0.094158 + -0.056604 -0.001536 0.088723 + -0.046605 0.000695 0.078588 + -0.050851 0.004132 0.080389 + -0.056136 0.002669 0.088296 + -0.064809 0.006094 0.081286 + -0.054304 0.006635 0.073215 + -0.058103 0.010405 0.073068 + -0.063806 0.010789 0.080191 + -0.070252 0.012513 0.070578 + -0.060438 0.011832 0.065061 + -0.062940 0.016071 0.062787 + -0.069589 0.017136 0.069180 + -0.074328 0.016912 0.058759 + -0.062814 0.015989 0.053640 + -0.066645 0.021726 0.052000 + -0.072758 0.022866 0.056854 + -0.074770 0.017135 0.045984 + -0.063650 0.017516 0.044729 + -0.068811 0.022525 0.041672 + -0.075774 0.023206 0.044362 + -0.070395 0.012557 0.034730 + -0.062735 0.016515 0.034033 + -0.066496 0.018209 0.033477 + -0.072361 0.018441 0.035957 + -0.068638 0.009038 0.023148 + -0.060960 0.013638 0.024149 + -0.062990 0.015419 0.028075 + -0.063610 0.012747 0.022675 + -0.068305 0.012472 0.024176 + 0.033126 -0.059166 0.067047 + 0.033149 -0.068016 0.069315 + 0.038888 -0.071721 0.053771 + 0.033140 -0.058270 0.065654 + 0.037845 -0.063051 0.051357 + 0.026449 -0.053406 0.078759 + 0.026498 -0.055290 0.081758 + 0.025321 -0.062274 0.082865 + 0.031073 -0.071668 0.069101 + 0.035802 -0.074709 0.052819 + 0.034267 -0.071832 0.053500 + 0.032232 -0.062954 0.051324 + 0.030034 -0.059428 0.066151 + 0.034754 -0.061673 0.050136 + 0.023736 -0.054654 0.079172 + 0.013627 -0.050734 0.089270 + 0.017244 -0.047488 0.089390 + 0.015772 -0.050064 0.092777 + 0.014765 -0.057356 0.094670 + 0.022839 -0.066532 0.082855 + 0.030325 -0.069176 0.069562 + 0.022619 -0.063792 0.083036 + 0.012403 -0.058512 0.094560 + 0.000327 -0.054284 0.104276 + 0.002070 -0.045792 0.096976 + 0.005451 -0.043430 0.097852 + 0.003276 -0.045466 0.101663 + 0.002145 -0.054435 0.104739 + 0.012663 -0.060528 0.094722 + 0.000281 -0.056882 0.105113 + -0.013497 -0.052568 0.112880 + -0.013296 -0.051538 0.112054 + -0.010833 -0.042998 0.102606 + -0.007897 -0.040595 0.103851 + -0.010453 -0.041767 0.108858 + -0.011323 -0.050081 0.112563 + -0.025457 -0.043299 0.115850 + -0.028092 -0.046333 0.115669 + -0.027959 -0.047159 0.114650 + -0.024110 -0.038404 0.105642 + -0.021414 -0.036682 0.108538 + -0.024958 -0.037091 0.112644 + -0.039404 -0.031698 0.110199 + -0.040484 -0.038468 0.113609 + -0.042902 -0.040219 0.113310 + -0.042733 -0.041958 0.113621 + -0.037716 -0.034813 0.104933 + -0.035207 -0.031507 0.107481 + -0.048476 -0.026446 0.103166 + -0.053598 -0.026464 0.105672 + -0.054486 -0.032105 0.108765 + -0.056951 -0.033416 0.108433 + -0.056291 -0.036138 0.108107 + -0.050421 -0.028910 0.101427 + -0.061430 -0.021487 0.095179 + -0.060479 -0.020156 0.096681 + -0.065530 -0.019300 0.097618 + -0.067042 -0.025324 0.100931 + -0.068537 -0.025176 0.099760 + -0.068513 -0.028729 0.100885 + -0.079160 -0.021161 0.091380 + -0.071030 -0.014232 0.086391 + -0.070418 -0.012333 0.088250 + -0.075530 -0.012036 0.087036 + -0.077248 -0.016678 0.091353 + -0.080386 -0.018879 0.090070 + -0.087517 -0.013003 0.079690 + -0.088497 -0.011680 0.076951 + -0.078669 -0.008630 0.074610 + -0.078491 -0.006171 0.076491 + -0.084077 -0.004671 0.075183 + -0.086481 -0.009525 0.079507 + -0.091055 -0.005772 0.060948 + -0.087732 -0.006945 0.064334 + -0.089832 -0.003225 0.063985 + -0.082712 -0.004729 0.060271 + -0.082424 -0.000615 0.062394 + -0.086744 0.001313 0.060342 + -0.088160 0.001676 0.047545 + -0.088714 0.001436 0.045627 + -0.084671 -0.005009 0.048411 + -0.085521 0.004622 0.045807 + -0.080542 -0.002008 0.045398 + -0.081398 0.003836 0.047150 + -0.079364 0.001613 0.036080 + -0.081486 -0.000266 0.035688 + -0.083533 -0.005292 0.035063 + -0.078877 -0.007597 0.032999 + -0.075945 0.001637 0.032905 + -0.074694 -0.004646 0.031484 + -0.068663 -0.003962 0.020752 + -0.072964 -0.004120 0.022142 + -0.074310 -0.005655 0.021346 + -0.076753 -0.010562 0.020176 + -0.071532 -0.013405 0.019504 + -0.064422 -0.008905 0.022270 + 0.044078 -0.108320 0.095841 + 0.044582 -0.116347 0.097219 + 0.054766 -0.122197 0.083080 + 0.043317 -0.105529 0.093976 + 0.054363 -0.113610 0.081816 + 0.033697 -0.099914 0.107684 + 0.033932 -0.102796 0.109939 + 0.033793 -0.110688 0.110940 + 0.042419 -0.119559 0.096100 + 0.052022 -0.125715 0.081547 + 0.049762 -0.122114 0.081402 + 0.049590 -0.112289 0.079356 + 0.052867 -0.111481 0.080227 + 0.040925 -0.106408 0.092937 + 0.030916 -0.102259 0.106108 + 0.018939 -0.096016 0.116018 + 0.020909 -0.094096 0.117685 + 0.020425 -0.098135 0.120331 + 0.019686 -0.105471 0.120613 + 0.031811 -0.113198 0.109533 + 0.041742 -0.115806 0.095515 + 0.031107 -0.110043 0.107781 + 0.018280 -0.104900 0.117414 + 0.004126 -0.099199 0.124164 + 0.004945 -0.091063 0.122896 + 0.006223 -0.089217 0.124766 + 0.005504 -0.093437 0.128285 + 0.004401 -0.100805 0.128422 + 0.018444 -0.106940 0.119686 + 0.003046 -0.102319 0.127085 + -0.013421 -0.097198 0.130084 + -0.011083 -0.093911 0.127768 + -0.009983 -0.085689 0.126315 + -0.009162 -0.085163 0.129455 + -0.010949 -0.089296 0.131649 + -0.011903 -0.095159 0.131140 + -0.028960 -0.091734 0.130659 + -0.030031 -0.092008 0.128952 + -0.026966 -0.089684 0.127973 + -0.025514 -0.081311 0.126843 + -0.025282 -0.080767 0.129234 + -0.027088 -0.083422 0.131519 + -0.043088 -0.078015 0.127953 + -0.044501 -0.084349 0.126792 + -0.046331 -0.087202 0.124840 + -0.042316 -0.084945 0.124403 + -0.040735 -0.076729 0.123885 + -0.041315 -0.076210 0.127418 + -0.056268 -0.070876 0.121596 + -0.058621 -0.073171 0.121837 + -0.059797 -0.081083 0.120062 + -0.061431 -0.081447 0.117846 + -0.056009 -0.079084 0.117699 + -0.055301 -0.072198 0.118184 + -0.068400 -0.066054 0.110285 + -0.070346 -0.066095 0.113145 + -0.072726 -0.067847 0.112817 + -0.074019 -0.074189 0.112087 + -0.075928 -0.076613 0.108725 + -0.069081 -0.073458 0.108807 + -0.081784 -0.068828 0.098907 + -0.080556 -0.061305 0.100035 + -0.083422 -0.061281 0.103056 + -0.085754 -0.062753 0.101976 + -0.087172 -0.070190 0.100605 + -0.088414 -0.072066 0.096638 + -0.098039 -0.067723 0.081709 + -0.090955 -0.063813 0.085498 + -0.090722 -0.056813 0.087411 + -0.092574 -0.057427 0.088643 + -0.095835 -0.058422 0.087577 + -0.097736 -0.064974 0.086936 + -0.102325 -0.060898 0.069579 + -0.099190 -0.061496 0.064594 + -0.095522 -0.060475 0.068979 + -0.095216 -0.052632 0.071230 + -0.099457 -0.054210 0.072496 + -0.099414 -0.053633 0.070407 + -0.098326 -0.049092 0.052222 + -0.100160 -0.054016 0.052023 + -0.097723 -0.055288 0.046870 + -0.093666 -0.056543 0.051762 + -0.094072 -0.049211 0.054180 + -0.097224 -0.048389 0.055633 + -0.090047 -0.045552 0.039683 + -0.091618 -0.045412 0.038343 + -0.093966 -0.049338 0.037835 + -0.094112 -0.049114 0.034744 + -0.086080 -0.055077 0.036046 + -0.087978 -0.047479 0.038108 + -0.076569 -0.046303 0.025658 + -0.079422 -0.045391 0.025534 + -0.081194 -0.047340 0.023415 + -0.082335 -0.051201 0.023627 + -0.081551 -0.057621 0.019781 + -0.076556 -0.058213 0.022001 + 0.051218 -0.139038 0.109923 + 0.050896 -0.150652 0.108513 + 0.062904 -0.152962 0.093248 + 0.050706 -0.136379 0.108219 + 0.061842 -0.142579 0.094783 + 0.036651 -0.132278 0.117089 + 0.036348 -0.133785 0.118666 + 0.037085 -0.144492 0.120089 + 0.048375 -0.154488 0.104744 + 0.057569 -0.156741 0.088042 + 0.058183 -0.151984 0.089272 + 0.058867 -0.140089 0.092520 + 0.060406 -0.139559 0.093436 + 0.049790 -0.134708 0.107802 + 0.035063 -0.133645 0.116368 + 0.019845 -0.129881 0.123884 + 0.021954 -0.129163 0.125124 + 0.021049 -0.130813 0.127584 + 0.021024 -0.140853 0.128662 + 0.036458 -0.148190 0.117940 + 0.047577 -0.148630 0.104400 + 0.036994 -0.138984 0.114180 + 0.022028 -0.133598 0.122128 + 0.006856 -0.127401 0.128729 + 0.004778 -0.123973 0.129839 + 0.007049 -0.123603 0.131024 + 0.005313 -0.124637 0.133234 + 0.004647 -0.134324 0.134456 + 0.021005 -0.144041 0.126898 + 0.005333 -0.136597 0.132538 + -0.010509 -0.128409 0.136381 + -0.008847 -0.120175 0.131636 + -0.010864 -0.117533 0.132202 + -0.008099 -0.116712 0.133547 + -0.010503 -0.117057 0.136184 + -0.011993 -0.127042 0.137891 + -0.028675 -0.119463 0.136595 + -0.026861 -0.120877 0.136047 + -0.024675 -0.112836 0.130959 + -0.026062 -0.109292 0.131299 + -0.023226 -0.109116 0.133893 + -0.026470 -0.109132 0.135473 + -0.042523 -0.102216 0.131993 + -0.044941 -0.111035 0.133312 + -0.043211 -0.113928 0.131867 + -0.040541 -0.106212 0.127556 + -0.041206 -0.101702 0.127447 + -0.038359 -0.102071 0.130887 + -0.053800 -0.096978 0.126180 + -0.057971 -0.096254 0.125168 + -0.061349 -0.106033 0.126167 + -0.059520 -0.108654 0.125635 + -0.056706 -0.103113 0.121898 + -0.056332 -0.095525 0.121475 + -0.070760 -0.090737 0.112629 + -0.067718 -0.091017 0.117807 + -0.072917 -0.091150 0.116460 + -0.076559 -0.099733 0.116926 + -0.074652 -0.102772 0.116703 + -0.071429 -0.098134 0.113110 + -0.085003 -0.092106 0.102775 + -0.084154 -0.085325 0.102239 + -0.081383 -0.086059 0.108332 + -0.086633 -0.085669 0.105814 + -0.090594 -0.095298 0.104541 + -0.088271 -0.097200 0.105029 + -0.099868 -0.094497 0.089854 + -0.096748 -0.089454 0.089422 + -0.094254 -0.083594 0.087310 + -0.091966 -0.081787 0.095086 + -0.099082 -0.084671 0.092332 + -0.101974 -0.091375 0.089217 + -0.103853 -0.085540 0.070355 + -0.102470 -0.088122 0.072115 + -0.100100 -0.084440 0.071993 + -0.098762 -0.079377 0.069720 + -0.097659 -0.077864 0.078270 + -0.102511 -0.077680 0.075261 + -0.101504 -0.073042 0.056091 + -0.101768 -0.077851 0.051358 + -0.099713 -0.078608 0.055145 + -0.097008 -0.078426 0.053907 + -0.096785 -0.070974 0.052898 + -0.096852 -0.070939 0.060940 + -0.093893 -0.065318 0.043754 + -0.095455 -0.068335 0.040093 + -0.093605 -0.075398 0.039448 + -0.091864 -0.077172 0.038561 + -0.090443 -0.076967 0.036180 + -0.090248 -0.068124 0.035472 + -0.078966 -0.071987 0.023150 + -0.086419 -0.062773 0.027291 + -0.086676 -0.069942 0.022827 + -0.085687 -0.075494 0.020217 + -0.082341 -0.079324 0.022121 + -0.079830 -0.075688 0.021523 + -0.073622 -0.052664 0.107881 + -0.060528 -0.060379 0.115946 + -0.063344 -0.059962 0.116909 + -0.085320 -0.045080 0.097782 + -0.081845 -0.037484 0.094258 + -0.077548 -0.052885 0.107824 + -0.070981 -0.045845 0.104333 + -0.057290 -0.051798 0.112000 + -0.044456 -0.064085 0.119368 + -0.047396 -0.066777 0.121533 + -0.061096 -0.057972 0.117773 + -0.045048 -0.063606 0.123332 + -0.088683 -0.044225 0.097384 + -0.093834 -0.036941 0.085017 + -0.090542 -0.032258 0.080469 + -0.094295 -0.028300 0.079766 + -0.085940 -0.035489 0.094146 + -0.074194 -0.042342 0.105669 + -0.075554 -0.051338 0.109249 + -0.042666 -0.057666 0.117305 + -0.060476 -0.049162 0.114542 + -0.028819 -0.069745 0.121540 + -0.030760 -0.072582 0.124732 + -0.028581 -0.069661 0.126691 + -0.045365 -0.058612 0.123869 + -0.058805 -0.052107 0.116639 + -0.027128 -0.063730 0.125948 + -0.097324 -0.036363 0.084464 + -0.085181 -0.038317 0.097441 + -0.097275 -0.036534 0.082033 + -0.072354 -0.044635 0.108221 + -0.094894 -0.031121 0.068194 + -0.094038 -0.026381 0.064787 + -0.096263 -0.021381 0.064556 + -0.094925 -0.031645 0.083868 + -0.100504 -0.027467 0.067414 + -0.044831 -0.055115 0.119908 + -0.026952 -0.062514 0.119839 + -0.013093 -0.075885 0.121748 + -0.013393 -0.077066 0.125373 + -0.011556 -0.074962 0.125947 + -0.010061 -0.066876 0.124086 + -0.028889 -0.061248 0.123458 + -0.011915 -0.064417 0.120853 + -0.100961 -0.032039 0.065964 + -0.093554 -0.027719 0.050703 + -0.090714 -0.023361 0.048097 + -0.094316 -0.019263 0.047864 + -0.098030 -0.022215 0.049784 + -0.099140 -0.026288 0.049801 + -0.010732 -0.065957 0.118753 + 0.002672 -0.079892 0.117201 + 0.003650 -0.081577 0.121923 + 0.004769 -0.080484 0.121121 + 0.006118 -0.071568 0.118583 + 0.004375 -0.068695 0.116082 + 0.004844 -0.068473 0.113901 + -0.095041 -0.028079 0.049126 + -0.083381 -0.026762 0.033524 + -0.086355 -0.029717 0.034797 + -0.089224 -0.019740 0.037799 + -0.090962 -0.021383 0.037939 + -0.091078 -0.026514 0.036177 + 0.017457 -0.083014 0.109231 + 0.019451 -0.084356 0.113511 + 0.020636 -0.082527 0.112828 + 0.021453 -0.075588 0.110587 + 0.019583 -0.073173 0.108293 + 0.019237 -0.072586 0.106394 + -0.087763 -0.030098 0.035855 + -0.078488 -0.022086 0.023610 + -0.073939 -0.029599 0.020728 + -0.077735 -0.033679 0.020041 + -0.083698 -0.027676 0.022145 + -0.083311 -0.031671 0.019964 + -0.079994 -0.035250 0.019565 + 0.030152 -0.087898 0.098526 + 0.031325 -0.089929 0.100621 + 0.033102 -0.087663 0.100660 + 0.034029 -0.079628 0.098353 + 0.032205 -0.076935 0.096218 + 0.038606 -0.096009 0.084922 + 0.038020 -0.094993 0.083875 + 0.037184 -0.093807 0.083328 + 0.038210 -0.088325 0.082173 + 0.040011 -0.093906 0.084874 + 0.039122 -0.095039 0.084854 + 0.040488 -0.089539 0.083916 + 0.040045 -0.083895 0.082144 + 0.040951 -0.085522 0.082763 + 0.039134 -0.082549 0.081077 + 0.038850 -0.082619 0.081037 + 0.045888 -0.102088 0.069224 + 0.044215 -0.099716 0.068129 + 0.045495 -0.088303 0.065857 + 0.046919 -0.100148 0.069088 + 0.047873 -0.091416 0.067172 + 0.046062 -0.088163 0.065935 + 0.061543 -0.135562 0.025919 + 0.057294 -0.133146 0.014424 + 0.056223 -0.136782 0.027868 + 0.059106 -0.139066 0.039445 + 0.065017 -0.138633 0.037596 + 0.065178 -0.144100 0.024341 + 0.061934 -0.141546 0.013946 + 0.054457 -0.124117 0.019417 + 0.050698 -0.126375 0.017300 + 0.052556 -0.135205 0.016516 + 0.059083 -0.126614 0.012460 + 0.062345 -0.135623 0.011748 + 0.060811 -0.145443 0.026629 + 0.063593 -0.149569 0.036185 + 0.065877 -0.156902 0.043549 + 0.060574 -0.142468 0.051075 + 0.067871 -0.149116 0.034076 + 0.065814 -0.141826 0.049720 + 0.056879 -0.142387 0.017066 + 0.063872 -0.142649 0.010394 + 0.061606 -0.143647 0.013512 + 0.064390 -0.147521 0.009836 + 0.053103 -0.111081 0.017697 + 0.055496 -0.114673 0.027565 + 0.057104 -0.114696 0.011010 + 0.055012 -0.126317 0.029939 + 0.047192 -0.112367 0.017582 + 0.050570 -0.117821 0.009946 + 0.053080 -0.129485 0.011482 + 0.049566 -0.127992 0.027480 + 0.056519 -0.138410 0.010799 + 0.058974 -0.125456 -0.000041 + 0.061169 -0.131129 -0.000042 + 0.062054 -0.136373 -0.000042 + 0.070546 -0.155399 0.042517 + 0.073394 -0.165097 0.047353 + 0.069378 -0.166415 0.046944 + 0.066489 -0.155521 0.053994 + 0.069758 -0.166967 0.055201 + 0.062258 -0.143107 0.060875 + 0.064254 -0.152650 0.056913 + 0.071201 -0.154826 0.054457 + 0.067142 -0.143913 0.060087 + 0.057501 -0.145287 0.010694 + 0.062800 -0.140680 -0.000042 + 0.064057 -0.161173 0.006421 + 0.066163 -0.151849 0.022492 + 0.059789 -0.152064 0.022250 + 0.064416 -0.152350 0.008120 + 0.064229 -0.145430 -0.000043 + 0.051712 -0.105000 0.012953 + 0.045245 -0.108093 0.011899 + 0.048618 -0.116299 0.027007 + 0.051097 -0.117547 0.036947 + 0.057275 -0.116562 0.037790 + 0.056327 -0.115549 -0.000040 + 0.055442 -0.128476 0.040534 + 0.046397 -0.108681 -0.000037 + 0.050219 -0.118470 -0.000038 + 0.053187 -0.128224 -0.000039 + 0.055459 -0.133860 -0.000040 + 0.051023 -0.128915 0.037930 + 0.059083 -0.126614 -0.012460 + 0.062345 -0.135623 -0.011748 + 0.063872 -0.142649 -0.010394 + 0.064390 -0.147521 -0.009836 + 0.074733 -0.166899 0.055305 + 0.071098 -0.172005 0.049185 + 0.074618 -0.171971 0.048006 + 0.068224 -0.151428 0.060034 + 0.071129 -0.177030 0.060571 + 0.061593 -0.143322 0.066183 + 0.063658 -0.153048 0.062880 + 0.067614 -0.152176 0.066282 + 0.066481 -0.144448 0.066347 + 0.056594 -0.138984 -0.000041 + 0.059167 -0.150019 0.008985 + 0.056952 -0.158333 0.007586 + 0.060628 -0.169006 0.013770 + 0.064416 -0.152350 -0.008120 + 0.068463 -0.169990 0.014761 + 0.063398 -0.162157 -0.000043 + 0.063528 -0.159707 0.031868 + 0.069438 -0.160689 0.031532 + 0.065491 -0.177776 0.022229 + 0.048665 -0.091471 -0.000037 + 0.049136 -0.090066 0.007878 + 0.052664 -0.105684 -0.000039 + 0.048065 -0.100313 0.016099 + 0.042099 -0.093431 0.006732 + 0.041023 -0.101711 0.015612 + 0.051402 -0.117547 0.047221 + 0.051836 -0.128490 0.048387 + 0.058440 -0.116866 0.048373 + 0.057104 -0.114696 -0.011010 + 0.055926 -0.129479 0.051192 + 0.041971 -0.094673 -0.000035 + 0.045245 -0.108093 -0.011899 + 0.050570 -0.117821 -0.009946 + 0.053080 -0.129485 -0.011482 + 0.056519 -0.138410 -0.010799 + 0.054457 -0.124117 -0.019417 + 0.057294 -0.133146 -0.014424 + 0.061934 -0.141546 -0.013946 + 0.061606 -0.143647 -0.013512 + 0.077057 -0.176745 0.062384 + 0.069306 -0.186639 0.031091 + 0.067311 -0.167311 0.041480 + 0.072822 -0.168980 0.041011 + 0.072598 -0.196516 0.040520 + 0.076704 -0.196524 0.041631 + 0.073251 -0.187320 0.033339 + 0.072125 -0.179491 0.072003 + 0.075258 -0.190988 0.065267 + 0.073766 -0.191430 0.075954 + 0.061587 -0.143427 0.071546 + 0.062619 -0.152929 0.068952 + 0.067169 -0.153319 0.072436 + 0.065286 -0.144296 0.072552 + 0.057501 -0.145287 -0.010694 + 0.057542 -0.143194 -0.000041 + 0.059584 -0.154661 0.007333 + 0.059636 -0.163956 -0.000042 + 0.059100 -0.147883 -0.000041 + 0.060167 -0.170040 0.007361 + 0.071526 -0.178974 0.023583 + 0.066163 -0.151849 -0.022492 + 0.064057 -0.161173 -0.006421 + 0.068463 -0.169990 -0.014761 + 0.059404 -0.173596 0.005826 + 0.059553 -0.178303 -0.000042 + 0.059404 -0.173596 -0.005826 + 0.060167 -0.170040 -0.007361 + 0.043004 -0.078935 -0.000035 + 0.042742 -0.078854 0.009426 + 0.049136 -0.090066 -0.007878 + 0.042453 -0.084159 0.014714 + 0.051712 -0.105000 -0.012953 + 0.049599 -0.098948 0.024721 + 0.044519 -0.087887 0.021927 + 0.035824 -0.082162 0.008299 + 0.036264 -0.082158 -0.000034 + 0.037815 -0.087797 0.015706 + 0.042171 -0.103620 0.023708 + 0.052312 -0.117780 0.057638 + 0.051957 -0.127447 0.058823 + 0.056547 -0.128298 0.061876 + 0.059111 -0.116860 0.059122 + 0.053103 -0.111081 -0.017697 + 0.035824 -0.082162 -0.008299 + 0.042099 -0.093431 -0.006732 + 0.041023 -0.101711 -0.015612 + 0.047192 -0.112367 -0.017582 + 0.050698 -0.126375 -0.017300 + 0.052556 -0.135205 -0.016516 + 0.056879 -0.142387 -0.017066 + 0.055012 -0.126317 -0.029939 + 0.049566 -0.127992 -0.027480 + 0.061543 -0.135562 -0.025919 + 0.056223 -0.136782 -0.027868 + 0.065178 -0.144100 -0.024341 + 0.059789 -0.152064 -0.022250 + 0.078216 -0.190670 0.065195 + 0.077150 -0.181220 0.074077 + 0.073742 -0.208622 0.051811 + 0.073580 -0.196943 0.060142 + 0.081492 -0.206173 0.072202 + 0.078531 -0.210951 0.051104 + 0.078696 -0.197821 0.062785 + 0.069983 -0.177857 0.083822 + 0.069942 -0.190652 0.086027 + 0.076562 -0.191952 0.076254 + 0.073768 -0.191275 0.087190 + 0.061185 -0.143127 0.076860 + 0.062135 -0.153236 0.075148 + 0.066945 -0.154612 0.078507 + 0.065200 -0.144898 0.078869 + 0.059167 -0.150019 -0.008985 + 0.056952 -0.158333 -0.007586 + 0.060628 -0.169006 -0.013770 + 0.059584 -0.154661 -0.007333 + 0.063528 -0.159707 -0.031868 + 0.069438 -0.160689 -0.031532 + 0.071526 -0.178974 -0.023583 + 0.038902 -0.066635 -0.000034 + 0.039369 -0.065759 0.008291 + 0.042742 -0.078854 -0.009426 + 0.037707 -0.066567 0.012961 + 0.038338 -0.074115 0.015624 + 0.039554 -0.080843 0.013640 + 0.042453 -0.084159 -0.014714 + 0.048065 -0.100313 -0.016099 + 0.039114 -0.091255 0.022961 + 0.050816 -0.099295 0.033447 + 0.047483 -0.090788 0.029330 + 0.041059 -0.093582 0.030490 + 0.032039 -0.069265 0.007097 + 0.031891 -0.069988 -0.000032 + 0.033371 -0.076123 0.016333 + 0.032039 -0.069265 -0.007097 + 0.042798 -0.105272 0.031929 + 0.053417 -0.116760 0.067704 + 0.051835 -0.126545 0.069266 + 0.056834 -0.126106 0.072466 + 0.058642 -0.115538 0.069549 + 0.055496 -0.114673 -0.027565 + 0.033371 -0.076123 -0.016333 + 0.039554 -0.080843 -0.013640 + 0.037815 -0.087797 -0.015706 + 0.039114 -0.091255 -0.022961 + 0.042171 -0.103620 -0.023708 + 0.048618 -0.116299 -0.027007 + 0.060811 -0.145443 -0.026629 + 0.055442 -0.128476 -0.040534 + 0.051023 -0.128915 -0.037930 + 0.051097 -0.117547 -0.036947 + 0.059106 -0.139066 -0.039445 + 0.065017 -0.138633 -0.037596 + 0.063593 -0.149569 -0.036185 + 0.067871 -0.149116 -0.034076 + 0.065491 -0.177776 -0.022229 + 0.074779 -0.179897 0.086332 + 0.081488 -0.219211 0.058591 + 0.075326 -0.216685 0.059017 + 0.075526 -0.205126 0.069934 + 0.079347 -0.209062 0.084697 + 0.081230 -0.214954 0.073548 + 0.075312 -0.208814 0.082179 + 0.065879 -0.174277 0.094740 + 0.065605 -0.188927 0.095788 + 0.070168 -0.188993 0.097665 + 0.070864 -0.176980 0.097914 + 0.061217 -0.141737 0.082047 + 0.061544 -0.155383 0.080799 + 0.066130 -0.155784 0.084393 + 0.065070 -0.143445 0.084995 + 0.067311 -0.167311 -0.041480 + 0.072822 -0.168980 -0.041011 + 0.073251 -0.187320 -0.033339 + 0.074618 -0.171971 -0.048006 + 0.033843 -0.057533 -0.000032 + 0.034119 -0.057331 0.007855 + 0.039369 -0.065759 -0.008291 + 0.033152 -0.060513 0.014794 + 0.038338 -0.074115 -0.015624 + 0.034877 -0.062573 0.019769 + 0.038694 -0.073649 0.021612 + 0.049599 -0.098948 -0.024721 + 0.044519 -0.087887 -0.021927 + 0.050464 -0.101811 0.041977 + 0.047470 -0.092404 0.037401 + 0.041527 -0.095151 0.038475 + 0.044502 -0.105760 0.040119 + 0.026986 -0.060743 0.006693 + 0.026948 -0.060831 -0.000030 + 0.027942 -0.062742 0.015212 + 0.026986 -0.060743 -0.006693 + 0.033116 -0.075827 0.022074 + 0.027942 -0.062742 -0.015212 + 0.052391 -0.112080 0.076874 + 0.051372 -0.125963 0.079724 + 0.056527 -0.123474 0.082900 + 0.056405 -0.111689 0.079287 + 0.057275 -0.116562 -0.037790 + 0.028184 -0.065346 -0.020525 + 0.033116 -0.075827 -0.022074 + 0.047483 -0.090788 -0.029330 + 0.041059 -0.093582 -0.030490 + 0.042798 -0.105272 -0.031929 + 0.051836 -0.128490 -0.048387 + 0.055926 -0.129479 -0.051192 + 0.051402 -0.117547 -0.047221 + 0.058440 -0.116866 -0.048373 + 0.065877 -0.156902 -0.043549 + 0.060574 -0.142468 -0.051075 + 0.065814 -0.141826 -0.049720 + 0.070546 -0.155399 -0.042517 + 0.069306 -0.186639 -0.031091 + 0.084239 -0.227151 0.066497 + 0.076030 -0.219008 0.071361 + 0.077702 -0.224556 0.065864 + 0.073849 -0.219056 0.082970 + 0.079459 -0.219152 0.085630 + 0.076043 -0.209293 0.097351 + 0.072937 -0.207886 0.094766 + 0.082091 -0.225354 0.079017 + 0.078277 -0.225361 0.077009 + 0.077878 -0.217567 0.072138 + 0.070644 -0.219550 0.095669 + 0.060520 -0.141048 0.087319 + 0.060433 -0.156495 0.086729 + 0.064737 -0.156748 0.090411 + 0.065891 -0.144433 0.091181 + 0.071098 -0.172005 -0.049185 + 0.076704 -0.196524 -0.041631 + 0.077057 -0.176745 -0.062384 + 0.073394 -0.165097 -0.047353 + 0.069378 -0.166415 -0.046944 + 0.027055 -0.044510 -0.000030 + 0.028323 -0.045064 0.008103 + 0.034119 -0.057331 -0.007855 + 0.027630 -0.050971 0.014420 + 0.037707 -0.066567 -0.012961 + 0.025918 -0.052246 0.014924 + 0.028184 -0.065346 0.020525 + 0.033152 -0.060513 -0.014794 + 0.038694 -0.073649 -0.021612 + 0.029321 -0.066486 0.026283 + 0.035535 -0.064331 0.025142 + 0.039218 -0.073962 0.027579 + 0.050816 -0.099295 -0.033447 + 0.051100 -0.102232 0.050867 + 0.047757 -0.092457 0.045763 + 0.042293 -0.094983 0.046624 + 0.045777 -0.105433 0.048406 + 0.021172 -0.048484 0.006938 + 0.020255 -0.047762 -0.000028 + 0.021172 -0.048484 -0.006938 + 0.033439 -0.075981 0.027803 + 0.025918 -0.052246 -0.014924 + 0.027630 -0.050971 -0.014420 + 0.034877 -0.062573 -0.019769 + 0.035535 -0.064331 -0.025142 + 0.029321 -0.066486 -0.026283 + 0.033439 -0.075981 -0.027803 + 0.050464 -0.101811 -0.041977 + 0.047470 -0.092404 -0.037401 + 0.041527 -0.095151 -0.038475 + 0.044502 -0.105760 -0.040119 + 0.052312 -0.117780 -0.057638 + 0.051957 -0.127447 -0.058823 + 0.056547 -0.128298 -0.061876 + 0.059111 -0.116860 -0.059122 + 0.066489 -0.155521 -0.053994 + 0.062258 -0.143107 -0.060875 + 0.064254 -0.152650 -0.056913 + 0.071201 -0.154826 -0.054457 + 0.067142 -0.143913 -0.060087 + 0.072598 -0.196516 -0.040520 + 0.071129 -0.177030 -0.060571 + 0.081311 -0.230799 0.085096 + 0.083978 -0.235349 0.074654 + 0.076511 -0.219031 0.073790 + 0.078414 -0.231965 0.073827 + 0.074949 -0.220274 0.097728 + 0.068467 -0.205260 0.106556 + 0.072516 -0.206856 0.109677 + 0.064577 -0.217897 0.107049 + 0.076047 -0.231017 0.082809 + 0.069740 -0.219444 0.109521 + 0.078216 -0.190670 -0.065195 + 0.078696 -0.197821 -0.062785 + 0.078531 -0.210951 -0.051104 + 0.074733 -0.166899 -0.055305 + 0.077150 -0.181220 -0.074077 + 0.072125 -0.179491 -0.072003 + 0.069758 -0.166967 -0.055201 + 0.016387 -0.025035 -0.000026 + 0.017300 -0.028529 0.012083 + 0.021765 -0.035631 -0.009576 + 0.021765 -0.035631 0.009576 + 0.028323 -0.045064 -0.008103 + 0.018734 -0.039640 0.015383 + 0.026490 -0.046048 0.013268 + 0.027239 -0.045497 0.017764 + 0.028142 -0.050788 0.018916 + 0.026175 -0.052690 0.019178 + 0.039218 -0.073962 -0.027579 + 0.030337 -0.066705 0.032185 + 0.033556 -0.076526 0.033524 + 0.035817 -0.065042 0.030764 + 0.039999 -0.074076 0.033520 + 0.050578 -0.101717 0.059677 + 0.048556 -0.091093 0.053955 + 0.043144 -0.092743 0.054287 + 0.045714 -0.104925 0.056795 + 0.014889 -0.038919 0.008456 + 0.009810 -0.028181 -0.000024 + 0.010525 -0.031769 -0.010980 + 0.014889 -0.038919 -0.008456 + 0.018734 -0.039640 -0.015383 + 0.020799 -0.041386 -0.018107 + 0.026175 -0.052690 -0.019178 + 0.026490 -0.046048 -0.013268 + 0.028142 -0.050788 -0.018916 + 0.039999 -0.074076 -0.033520 + 0.035817 -0.065042 -0.030764 + 0.030337 -0.066705 -0.032185 + 0.033556 -0.076526 -0.033524 + 0.045777 -0.105433 -0.048406 + 0.051100 -0.102232 -0.050867 + 0.047757 -0.092457 -0.045763 + 0.042293 -0.094983 -0.046624 + 0.058642 -0.115538 -0.069549 + 0.053417 -0.116760 -0.067704 + 0.051835 -0.126545 -0.069266 + 0.056834 -0.126106 -0.072466 + 0.068224 -0.151428 -0.060034 + 0.061593 -0.143322 -0.066183 + 0.063658 -0.153048 -0.062880 + 0.067614 -0.152176 -0.066282 + 0.066481 -0.144448 -0.066347 + 0.075258 -0.190988 -0.065267 + 0.073580 -0.196943 -0.060142 + 0.075526 -0.205126 -0.069934 + 0.073742 -0.208622 -0.051811 + 0.073766 -0.191430 -0.075954 + 0.073105 -0.233801 0.090034 + 0.078983 -0.235195 0.091586 + 0.080444 -0.243819 0.081702 + 0.074859 -0.239859 0.079980 + 0.076562 -0.191952 -0.076254 + 0.081492 -0.206173 -0.072202 + 0.081488 -0.219211 -0.058591 + 0.074779 -0.179897 -0.086332 + 0.069983 -0.177857 -0.083822 + 0.069942 -0.190652 -0.086027 + 0.010869 -0.013736 -0.000024 + 0.013398 -0.022393 0.017692 + 0.009446 -0.012400 -0.014749 + 0.013398 -0.022393 -0.017692 + 0.017300 -0.028529 -0.012083 + 0.011012 -0.026088 0.019196 + 0.014953 -0.031881 0.014840 + 0.017049 -0.035116 -0.013914 + 0.017049 -0.035116 0.013914 + 0.020799 -0.041386 0.018107 + 0.022160 -0.042528 0.021262 + 0.027766 -0.045274 0.022320 + 0.028225 -0.050733 0.023404 + 0.026720 -0.052450 0.023731 + 0.031181 -0.066238 0.038063 + 0.033318 -0.077116 0.039233 + 0.040850 -0.073443 0.039443 + 0.036118 -0.064804 0.036435 + 0.048082 -0.100816 0.068239 + 0.047986 -0.088428 0.061947 + 0.043886 -0.088420 0.061293 + 0.045032 -0.104378 0.065150 + 0.010525 -0.031769 0.010980 + 0.006631 -0.025629 0.016590 + 0.002627 -0.015661 0.013638 + 0.004316 -0.016870 -0.000023 + 0.006631 -0.025629 -0.016590 + 0.011012 -0.026088 -0.019196 + 0.014953 -0.031881 -0.014840 + 0.027239 -0.045497 -0.017764 + 0.027766 -0.045274 -0.022320 + 0.022160 -0.042528 -0.021262 + 0.026720 -0.052450 -0.023731 + 0.028225 -0.050733 -0.023404 + 0.033318 -0.077116 -0.039233 + 0.040850 -0.073443 -0.039443 + 0.036118 -0.064804 -0.036435 + 0.031181 -0.066238 -0.038063 + 0.043144 -0.092743 -0.054287 + 0.045714 -0.104925 -0.056795 + 0.050578 -0.101717 -0.059677 + 0.048556 -0.091093 -0.053955 + 0.056527 -0.123474 -0.082900 + 0.056405 -0.111689 -0.079287 + 0.052391 -0.112080 -0.076874 + 0.051372 -0.125963 -0.079724 + 0.065286 -0.144296 -0.072552 + 0.061587 -0.143427 -0.071546 + 0.062619 -0.152929 -0.068952 + 0.067169 -0.153319 -0.072436 + 0.075312 -0.208814 -0.082179 + 0.073849 -0.219056 -0.082970 + 0.076030 -0.219008 -0.071361 + 0.075326 -0.216685 -0.059017 + 0.073768 -0.191275 -0.087190 + 0.069543 -0.235887 0.097485 + 0.075667 -0.238440 0.098783 + 0.074511 -0.245103 0.100811 + 0.075753 -0.252221 0.088218 + 0.071436 -0.251696 0.099575 + 0.069411 -0.247396 0.085658 + 0.081230 -0.214954 -0.073548 + 0.079347 -0.209062 -0.084697 + 0.084239 -0.227151 -0.066497 + 0.082091 -0.225354 -0.079017 + 0.070864 -0.176980 -0.097914 + 0.065879 -0.174277 -0.094740 + 0.065605 -0.188927 -0.095788 + 0.070168 -0.188993 -0.097665 + 0.003523 -0.002470 -0.000022 + 0.002389 -0.001311 0.015643 + 0.009446 -0.012400 0.014749 + 0.001810 -0.023024 0.027908 + 0.007890 -0.017310 0.028537 + 0.002443 -0.006765 0.027785 + 0.002389 -0.001311 -0.015643 + 0.002443 -0.006765 -0.027785 + 0.007890 -0.017310 -0.028537 + 0.022792 -0.043041 0.024888 + 0.026509 -0.052551 0.028287 + 0.028068 -0.045402 0.026941 + 0.027828 -0.050852 0.027887 + 0.032066 -0.065029 0.043794 + 0.033846 -0.077221 0.044917 + 0.041105 -0.073699 0.045377 + 0.036667 -0.063890 0.041977 + -0.007636 -0.006106 0.014010 + -0.002719 -0.005454 -0.000020 + -0.007636 -0.006106 -0.014010 + 0.002627 -0.015661 -0.013638 + -0.005916 -0.005886 -0.015413 + -0.005178 -0.006918 -0.026099 + 0.001810 -0.023024 -0.027908 + 0.027828 -0.050852 -0.027887 + 0.028068 -0.045402 -0.026941 + 0.022792 -0.043041 -0.024888 + 0.026509 -0.052551 -0.028287 + 0.032066 -0.065029 -0.043794 + 0.033846 -0.077221 -0.044917 + 0.041105 -0.073699 -0.045377 + 0.036667 -0.063890 -0.041977 + 0.047986 -0.088428 -0.061947 + 0.043886 -0.088420 -0.061293 + 0.045032 -0.104378 -0.065150 + 0.048082 -0.100816 -0.068239 + 0.065200 -0.144898 -0.078869 + 0.061185 -0.143127 -0.076860 + 0.062135 -0.153236 -0.075148 + 0.066945 -0.154612 -0.078507 + 0.072937 -0.207886 -0.094766 + 0.070644 -0.219550 -0.095669 + 0.076511 -0.219031 -0.073790 + 0.079459 -0.219152 -0.085630 + 0.074949 -0.220274 -0.097728 + 0.078277 -0.225361 -0.077009 + 0.077878 -0.217567 -0.072138 + 0.077702 -0.224556 -0.065864 + 0.066841 -0.237632 0.099971 + 0.066951 -0.248828 0.098043 + 0.067461 -0.247429 0.101319 + 0.073576 -0.240591 0.102464 + 0.071295 -0.250160 0.103399 + 0.067945 -0.258422 0.102482 + 0.069588 -0.260100 0.094143 + 0.062488 -0.254932 0.100894 + 0.065288 -0.253762 0.093311 + 0.076043 -0.209293 -0.097351 + 0.083978 -0.235349 -0.074654 + 0.081311 -0.230799 -0.085096 + 0.076047 -0.231017 -0.082809 + -0.000017 -0.000013 -0.000021 + -0.000188 -0.000065 0.012310 + -0.005916 -0.005886 0.015413 + -0.005178 -0.006918 0.026099 + 0.000755 -0.022017 0.030227 + 0.006605 -0.016574 0.030449 + 0.000920 -0.006098 0.029003 + -0.006179 -0.006459 0.026983 + -0.000188 -0.000065 -0.012310 + -0.008215 -0.002916 -0.011655 + 0.000920 -0.006098 -0.029003 + 0.006605 -0.016574 -0.030449 + 0.000755 -0.022017 -0.030227 + 0.022709 -0.042959 0.028578 + 0.024850 -0.052237 0.032597 + 0.027267 -0.050751 0.032345 + 0.027806 -0.045118 0.031430 + 0.033004 -0.063081 0.049372 + 0.035102 -0.076866 0.050576 + 0.040737 -0.074939 0.051325 + 0.037431 -0.062318 0.047413 + -0.008215 -0.002916 0.011655 + -0.006031 -0.000311 -0.000019 + -0.006179 -0.006459 -0.026983 + 0.024850 -0.052237 -0.032597 + 0.027267 -0.050751 -0.032345 + 0.027806 -0.045118 -0.031430 + 0.022709 -0.042959 -0.028578 + 0.037431 -0.062318 -0.047413 + 0.033004 -0.063081 -0.049372 + 0.035102 -0.076866 -0.050576 + 0.040737 -0.074939 -0.051325 + 0.065070 -0.143445 -0.084995 + 0.061217 -0.141737 -0.082047 + 0.061544 -0.155383 -0.080799 + 0.066130 -0.155784 -0.084393 + 0.068467 -0.205260 -0.106556 + 0.064577 -0.217897 -0.107049 + 0.069740 -0.219444 -0.109521 + 0.072516 -0.206856 -0.109677 + 0.078414 -0.231965 -0.073827 + 0.064758 -0.238953 0.102943 + 0.065251 -0.246114 0.104055 + 0.069629 -0.249601 0.107108 + 0.070371 -0.240974 0.106058 + 0.062832 -0.262489 0.107152 + 0.058805 -0.258432 0.103403 + 0.062289 -0.266012 0.100928 + 0.058664 -0.260297 0.099102 + 0.080444 -0.243819 -0.081702 + 0.078983 -0.235195 -0.091586 + 0.073105 -0.233801 -0.090034 + 0.074859 -0.239859 -0.079980 + -0.000299 -0.021011 0.032546 + 0.005321 -0.015839 0.032360 + -0.000604 -0.005431 0.030221 + -0.007181 -0.006000 0.027867 + 0.005321 -0.015839 -0.032360 + -0.000604 -0.005431 -0.030221 + -0.000299 -0.021011 -0.032546 + -0.007181 -0.006000 -0.027867 + 0.021920 -0.042303 0.032065 + 0.023634 -0.051353 0.036815 + 0.026789 -0.050123 0.036766 + 0.026753 -0.043931 0.035664 + 0.021920 -0.042303 -0.032065 + 0.023634 -0.051353 -0.036815 + 0.026789 -0.050123 -0.036766 + 0.026753 -0.043931 -0.035664 + 0.065891 -0.144433 -0.091181 + 0.060520 -0.141048 -0.087319 + 0.060433 -0.156495 -0.086729 + 0.064737 -0.156748 -0.090411 + 0.063377 -0.239819 0.106460 + 0.062872 -0.245444 0.106860 + 0.067702 -0.249671 0.110724 + 0.067789 -0.240907 0.110143 + 0.053049 -0.261892 0.107632 + 0.056725 -0.265054 0.111937 + 0.050479 -0.264475 0.104991 + 0.054039 -0.270394 0.107851 + 0.075753 -0.252221 -0.088218 + 0.071436 -0.251696 -0.099575 + 0.074511 -0.245103 -0.100811 + 0.075667 -0.238440 -0.098783 + 0.069543 -0.235887 -0.097485 + 0.069411 -0.247396 -0.085658 + -0.001354 -0.020005 0.034865 + 0.004036 -0.015104 0.034272 + -0.002129 -0.004765 0.031439 + -0.008182 -0.005541 0.028751 + -0.001354 -0.020005 -0.034865 + 0.004036 -0.015104 -0.034272 + -0.002129 -0.004765 -0.031439 + -0.008182 -0.005541 -0.028751 + 0.020452 -0.041089 0.035430 + 0.024452 -0.049835 0.041088 + 0.026335 -0.049059 0.041153 + 0.025006 -0.042022 0.039688 + 0.025006 -0.042022 -0.039688 + 0.020452 -0.041089 -0.035430 + 0.024452 -0.049835 -0.041088 + 0.026335 -0.049059 -0.041153 + 0.061765 -0.239971 0.110010 + 0.060472 -0.244875 0.109666 + 0.065174 -0.249571 0.113929 + 0.066056 -0.241152 0.114593 + 0.048339 -0.262414 0.113122 + 0.042742 -0.264102 0.112454 + 0.051171 -0.264182 0.117660 + 0.045350 -0.269218 0.115254 + 0.067945 -0.258422 -0.102482 + 0.069588 -0.260100 -0.094143 + 0.071295 -0.250160 -0.103399 + 0.066951 -0.248828 -0.098043 + 0.062488 -0.254932 -0.100894 + 0.073576 -0.240591 -0.102464 + 0.066841 -0.237632 -0.099971 + 0.067461 -0.247429 -0.101319 + 0.065288 -0.253762 -0.093311 + -0.002408 -0.018999 0.037183 + 0.002752 -0.014368 0.036183 + -0.003652 -0.004097 0.032656 + -0.009184 -0.005081 0.029636 + -0.009184 -0.005081 -0.029636 + -0.002408 -0.018999 -0.037183 + 0.002752 -0.014368 -0.036183 + -0.003652 -0.004097 -0.032656 + 0.059337 -0.240505 0.113024 + 0.058111 -0.244814 0.112610 + 0.062102 -0.249313 0.116762 + 0.062659 -0.241474 0.117998 + 0.062832 -0.262489 -0.107152 + 0.058805 -0.258432 -0.103403 + 0.062289 -0.266012 -0.100928 + 0.070371 -0.240974 -0.106058 + 0.069629 -0.249601 -0.107108 + 0.058664 -0.260297 -0.099102 + 0.064758 -0.238953 -0.102943 + 0.065251 -0.246114 -0.104055 + -0.003463 -0.017993 0.039502 + 0.001467 -0.013632 0.038095 + -0.005176 -0.003431 0.033874 + -0.010185 -0.004622 0.030520 + -0.005176 -0.003431 -0.033874 + -0.010185 -0.004622 -0.030520 + -0.003463 -0.017993 -0.039502 + 0.001467 -0.013632 -0.038095 + 0.056725 -0.265054 -0.111937 + 0.053049 -0.261892 -0.107632 + 0.050479 -0.264475 -0.104991 + 0.054039 -0.270394 -0.107851 + 0.067789 -0.240907 -0.110143 + 0.063377 -0.239819 -0.106460 + 0.067702 -0.249671 -0.110724 + 0.062872 -0.245444 -0.106860 + -0.004517 -0.016987 0.041820 + 0.000182 -0.012897 0.040007 + -0.006700 -0.002764 0.035092 + -0.011187 -0.004162 0.031404 + 0.000182 -0.012897 -0.040007 + -0.006700 -0.002764 -0.035092 + -0.011187 -0.004162 -0.031404 + -0.004517 -0.016987 -0.041820 + 0.048339 -0.262414 -0.113122 + 0.051171 -0.264182 -0.117660 + 0.042742 -0.264102 -0.112454 + 0.045350 -0.269218 -0.115254 + 0.066056 -0.241152 -0.114593 + 0.061765 -0.239971 -0.110010 + 0.060472 -0.244875 -0.109666 + 0.065174 -0.249571 -0.113929 + 0.062659 -0.241474 -0.117998 + 0.059337 -0.240505 -0.113024 + 0.058111 -0.244814 -0.112610 + 0.062102 -0.249313 -0.116762 + -0.092607 -0.087562 -0.034072 + -0.095015 -0.082889 -0.037561 + -0.084823 -0.085874 -0.022815 + -0.098000 -0.094664 -0.052197 + -0.098089 -0.088480 -0.052347 + -0.091738 -0.092976 -0.034645 + -0.079365 -0.090099 -0.021270 + -0.098865 -0.086002 -0.055669 + -0.098090 -0.087684 -0.034711 + -0.086218 -0.089722 -0.020275 + -0.103358 -0.103347 -0.067387 + -0.099626 -0.101439 -0.069912 + -0.102712 -0.095172 -0.049223 + -0.099980 -0.093173 -0.070912 + -0.093280 -0.094145 -0.038083 + -0.078938 -0.094298 -0.022398 + -0.099974 -0.092808 -0.073697 + -0.103383 -0.088129 -0.053258 + -0.098875 -0.089318 -0.033976 + -0.086865 -0.093166 -0.018441 + -0.104915 -0.112109 -0.085700 + -0.102602 -0.113795 -0.084146 + -0.106699 -0.100838 -0.069612 + -0.097537 -0.107289 -0.087793 + -0.104407 -0.094416 -0.050947 + -0.097563 -0.100399 -0.088338 + -0.083614 -0.098966 -0.021266 + -0.097899 -0.100163 -0.091693 + -0.105067 -0.095275 -0.072036 + -0.091358 -0.107295 -0.104632 + -0.094374 -0.118516 -0.101221 + -0.103022 -0.104681 -0.089078 + -0.093587 -0.118678 -0.101110 + -0.087530 -0.113974 -0.102215 + -0.087754 -0.104387 -0.103920 + -0.087676 -0.105032 -0.105500 + -0.073583 -0.110582 -0.117221 + -0.077421 -0.112329 -0.117199 + -0.080792 -0.122957 -0.114947 + -0.080204 -0.123032 -0.114400 + -0.074321 -0.118838 -0.114520 + -0.074486 -0.110297 -0.115452 + -0.059344 -0.117184 -0.124848 + -0.058671 -0.116577 -0.127107 + -0.061808 -0.117520 -0.127244 + -0.064375 -0.127192 -0.125008 + -0.063896 -0.127948 -0.123990 + -0.059600 -0.125993 -0.123463 + -0.043938 -0.133832 -0.129471 + -0.043192 -0.124769 -0.130429 + -0.042013 -0.124070 -0.132155 + -0.044838 -0.124670 -0.134053 + -0.046930 -0.134230 -0.130968 + -0.029399 -0.141963 -0.134709 + -0.029095 -0.141690 -0.133620 + -0.026869 -0.140249 -0.132549 + -0.027660 -0.133333 -0.136996 + -0.026087 -0.131790 -0.133559 + -0.024759 -0.131161 -0.134911 + -0.009954 -0.141554 -0.137351 + -0.011628 -0.150182 -0.136068 + -0.011295 -0.149654 -0.134835 + -0.010494 -0.148895 -0.133899 + -0.007784 -0.139277 -0.135957 + -0.009286 -0.140171 -0.134560 + 0.009580 -0.146449 -0.133970 + 0.008075 -0.147770 -0.135434 + 0.006378 -0.157816 -0.134964 + 0.005300 -0.159207 -0.134232 + 0.006048 -0.156546 -0.131857 + 0.007904 -0.147568 -0.132874 + 0.024174 -0.155907 -0.128681 + 0.026435 -0.153838 -0.129719 + 0.025478 -0.155129 -0.130443 + 0.023973 -0.165515 -0.131025 + 0.022942 -0.166380 -0.130279 + 0.022623 -0.163921 -0.128174 + 0.038669 -0.169742 -0.120857 + 0.040534 -0.162353 -0.121837 + 0.042482 -0.161015 -0.122620 + 0.041829 -0.163513 -0.123933 + 0.039939 -0.173864 -0.123011 + 0.039098 -0.174287 -0.122841 + 0.052025 -0.182178 -0.110512 + 0.051044 -0.177577 -0.109169 + 0.055992 -0.167317 -0.111915 + 0.056826 -0.169923 -0.113062 + 0.054096 -0.181043 -0.111210 + 0.066834 -0.189495 -0.098513 + 0.064125 -0.188934 -0.096646 + 0.062879 -0.183297 -0.095718 + 0.064949 -0.174241 -0.097163 + 0.067697 -0.174806 -0.098000 + 0.069284 -0.178984 -0.100519 + 0.069817 -0.205296 -0.108786 + 0.066029 -0.219325 -0.106108 + 0.068068 -0.218286 -0.109170 + 0.065463 -0.203444 -0.111420 + 0.063864 -0.212511 -0.104511 + 0.057166 -0.199629 -0.121210 + 0.056202 -0.197586 -0.120677 + 0.071033 -0.208437 -0.111264 + 0.051842 -0.205454 -0.116835 + 0.052658 -0.212054 -0.117910 + 0.054309 -0.210550 -0.118436 + 0.053804 -0.195347 -0.122979 + 0.042030 -0.201235 -0.128385 + 0.042655 -0.190351 -0.129547 + 0.040900 -0.188866 -0.129159 + 0.038231 -0.188538 -0.129200 + 0.038600 -0.196231 -0.125699 + 0.039468 -0.202114 -0.128003 + 0.023711 -0.192860 -0.133776 + 0.026719 -0.193042 -0.134143 + 0.026096 -0.182071 -0.134067 + 0.024055 -0.180041 -0.133514 + 0.022750 -0.180181 -0.133591 + 0.023608 -0.187461 -0.131414 + 0.006827 -0.180748 -0.134238 + 0.006629 -0.185290 -0.135506 + 0.010168 -0.185652 -0.137106 + 0.009474 -0.173166 -0.136648 + 0.006692 -0.171492 -0.136006 + 0.006298 -0.172541 -0.135494 + -0.009647 -0.163879 -0.134638 + -0.009422 -0.172365 -0.133807 + -0.010591 -0.177261 -0.135378 + -0.006585 -0.178301 -0.136250 + -0.007584 -0.164723 -0.136248 + -0.010462 -0.162485 -0.135125 + -0.028202 -0.154623 -0.133431 + -0.026297 -0.156738 -0.133362 + -0.026230 -0.165603 -0.131974 + -0.026893 -0.169247 -0.133673 + -0.023422 -0.171370 -0.135172 + -0.024792 -0.156895 -0.134345 + -0.042225 -0.149717 -0.132106 + -0.045573 -0.146837 -0.130010 + -0.042311 -0.149165 -0.130025 + -0.041964 -0.157339 -0.129219 + -0.044683 -0.161040 -0.131565 + -0.039928 -0.163619 -0.133878 + -0.056041 -0.156196 -0.129298 + -0.059026 -0.142916 -0.126704 + -0.063155 -0.140193 -0.124785 + -0.058464 -0.142572 -0.124885 + -0.059008 -0.152964 -0.124228 + -0.061631 -0.154668 -0.125919 + -0.071699 -0.149443 -0.122681 + -0.078711 -0.151406 -0.118253 + -0.075651 -0.138389 -0.118471 + -0.079415 -0.135666 -0.114857 + -0.073991 -0.138539 -0.116024 + -0.073978 -0.146863 -0.115564 + -0.092003 -0.147060 -0.104766 + -0.086572 -0.146785 -0.112093 + -0.087932 -0.142501 -0.104266 + -0.090481 -0.134021 -0.107100 + -0.094030 -0.131793 -0.102146 + -0.088096 -0.135210 -0.104585 + -0.096985 -0.135246 -0.090231 + -0.101652 -0.143344 -0.089507 + -0.099839 -0.142035 -0.099960 + -0.099723 -0.128558 -0.091805 + -0.103644 -0.134469 -0.093788 + -0.104862 -0.126709 -0.087385 + -0.102940 -0.122627 -0.074356 + -0.101143 -0.130158 -0.072558 + -0.104227 -0.134870 -0.072263 + -0.106325 -0.138383 -0.083216 + -0.106638 -0.120393 -0.068449 + -0.108477 -0.128534 -0.076688 + -0.103341 -0.113475 -0.050005 + -0.102401 -0.117295 -0.056338 + -0.099333 -0.123419 -0.055021 + -0.103500 -0.126359 -0.054953 + -0.105914 -0.131324 -0.065885 + -0.108313 -0.122361 -0.058264 + -0.105685 -0.118774 -0.039137 + -0.100758 -0.109116 -0.030752 + -0.097534 -0.114271 -0.038369 + -0.094202 -0.120272 -0.037211 + -0.098012 -0.120717 -0.038696 + -0.104774 -0.124132 -0.048500 + -0.099388 -0.118674 -0.033602 + -0.096254 -0.114117 -0.024439 + -0.085882 -0.112847 -0.021105 + -0.086253 -0.111681 -0.024306 + -0.084250 -0.117500 -0.022039 + -0.086599 -0.120972 -0.022683 + -0.071201 -0.216568 -0.018716 + -0.059722 -0.206224 -0.021176 + -0.072359 -0.212671 -0.020982 + -0.060746 -0.216862 -0.018551 + -0.058377 -0.209363 -0.021539 + -0.072368 -0.216290 -0.028380 + -0.071332 -0.220108 -0.025610 + -0.061838 -0.212771 -0.027827 + -0.063449 -0.208594 -0.028104 + -0.066060 -0.220153 -0.023037 + -0.068094 -0.212675 -0.034324 + -0.074482 -0.219652 -0.035660 + -0.073289 -0.223145 -0.032721 + -0.068468 -0.222585 -0.030352 + -0.065978 -0.215070 -0.034075 + -0.067576 -0.219293 -0.040729 + -0.071553 -0.217018 -0.041188 + -0.074796 -0.224588 -0.042276 + -0.074022 -0.227481 -0.039205 + -0.071493 -0.225960 -0.036809 + -0.071947 -0.230011 -0.043705 + -0.068317 -0.224206 -0.046843 + -0.071583 -0.222813 -0.047460 + -0.073954 -0.229463 -0.048870 + -0.073557 -0.231724 -0.045934 + -0.073838 -0.236603 -0.052144 + -0.072948 -0.235184 -0.049509 + -0.068600 -0.228297 -0.053699 + -0.071306 -0.228394 -0.054151 + -0.072530 -0.234080 -0.055565 + -0.069518 -0.239464 -0.061039 + -0.071188 -0.241526 -0.057801 + -0.071019 -0.240197 -0.055336 + -0.067179 -0.233451 -0.059573 + -0.069162 -0.233129 -0.061296 + -0.065372 -0.239044 -0.066576 + -0.065068 -0.243724 -0.066585 + -0.068351 -0.246671 -0.063119 + -0.068441 -0.245137 -0.060942 + -0.065014 -0.238802 -0.065086 + -0.061432 -0.243938 -0.069720 + -0.061102 -0.244746 -0.071699 + -0.060740 -0.248794 -0.071526 + -0.064145 -0.251465 -0.067877 + -0.064168 -0.250042 -0.065421 + -0.059680 -0.254477 -0.070035 + -0.057353 -0.250068 -0.072725 + -0.058789 -0.250001 -0.073259 + -0.056700 -0.252008 -0.073598 + -0.057798 -0.252492 -0.073965 + -0.059321 -0.254971 -0.072545 + 0.061721 -0.239717 -0.121476 + 0.058159 -0.248810 -0.113031 + 0.060492 -0.242652 -0.121706 + 0.058892 -0.240026 -0.120573 + 0.058255 -0.246757 -0.112863 + 0.045318 -0.234285 -0.127916 + 0.045165 -0.231702 -0.127749 + 0.051323 -0.247510 -0.121106 + 0.043260 -0.240081 -0.120437 + 0.042881 -0.242348 -0.120381 + 0.036527 -0.238783 -0.126814 + 0.043275 -0.232880 -0.126688 + 0.021228 -0.229419 -0.130770 + 0.029925 -0.224826 -0.132146 + 0.028666 -0.221758 -0.131263 + 0.028065 -0.223337 -0.130341 + 0.028119 -0.231523 -0.125869 + 0.027813 -0.233436 -0.125565 + 0.011661 -0.224924 -0.128655 + 0.004624 -0.220929 -0.131602 + 0.013387 -0.216094 -0.134191 + 0.011532 -0.212082 -0.132998 + 0.012192 -0.214018 -0.132295 + 0.013148 -0.221344 -0.129095 + -0.002889 -0.212256 -0.129641 + -0.005304 -0.217125 -0.128649 + -0.012621 -0.213327 -0.130988 + -0.002611 -0.206200 -0.133662 + -0.006243 -0.203213 -0.131244 + -0.004892 -0.206409 -0.131742 + -0.021936 -0.199162 -0.128300 + -0.020744 -0.206312 -0.126755 + -0.022376 -0.209506 -0.126920 + -0.029733 -0.206354 -0.126947 + -0.019131 -0.197172 -0.131495 + -0.024215 -0.194827 -0.128664 + -0.041605 -0.186563 -0.123301 + -0.038716 -0.192337 -0.123130 + -0.036602 -0.197579 -0.122200 + -0.039095 -0.202478 -0.121728 + -0.045883 -0.198317 -0.121692 + -0.035968 -0.189257 -0.127470 + -0.052293 -0.181400 -0.121827 + -0.058556 -0.178414 -0.116796 + -0.054684 -0.184118 -0.117881 + -0.052915 -0.190297 -0.116453 + -0.055439 -0.194983 -0.116230 + -0.061945 -0.191700 -0.114744 + -0.076667 -0.185692 -0.105175 + -0.068288 -0.174263 -0.114699 + -0.074967 -0.172451 -0.107375 + -0.070482 -0.178452 -0.109709 + -0.068599 -0.184161 -0.108415 + -0.070525 -0.188818 -0.107218 + -0.084129 -0.182806 -0.096328 + -0.090230 -0.180519 -0.093869 + -0.083067 -0.170593 -0.103807 + -0.088993 -0.168772 -0.094899 + -0.084280 -0.173202 -0.098783 + -0.082948 -0.179233 -0.097890 + -0.094113 -0.173586 -0.084965 + -0.094641 -0.178347 -0.082611 + -0.100224 -0.175167 -0.080119 + -0.095970 -0.166844 -0.091257 + -0.100750 -0.163186 -0.082398 + -0.095222 -0.166051 -0.086848 + -0.103242 -0.159376 -0.072997 + -0.100815 -0.166994 -0.070573 + -0.102011 -0.171132 -0.068556 + -0.105740 -0.166404 -0.066536 + -0.106484 -0.160270 -0.078155 + -0.105024 -0.154112 -0.068551 + -0.105426 -0.145314 -0.053106 + -0.101956 -0.152230 -0.057928 + -0.100993 -0.157585 -0.056616 + -0.101783 -0.160532 -0.055823 + -0.104668 -0.156165 -0.053284 + -0.108527 -0.153251 -0.062750 + -0.107653 -0.146275 -0.047230 + -0.101200 -0.136656 -0.038237 + -0.099785 -0.145353 -0.042752 + -0.098387 -0.148708 -0.042704 + -0.099639 -0.150537 -0.042926 + -0.103695 -0.148553 -0.038585 + -0.096899 -0.144207 -0.025649 + -0.104869 -0.142279 -0.031056 + -0.096493 -0.131614 -0.022042 + -0.093252 -0.139911 -0.028222 + -0.091733 -0.143504 -0.028298 + -0.094581 -0.144572 -0.029130 + -0.083628 -0.143331 -0.014549 + -0.085238 -0.143172 -0.015280 + -0.095346 -0.136971 -0.019098 + -0.081701 -0.136786 -0.016103 + -0.080452 -0.140119 -0.017070 + -0.080042 -0.140359 -0.016125 + -0.012220 -0.003946 -0.034011 + -0.000602 -0.012149 -0.041464 + -0.004589 -0.007338 -0.047685 + -0.017257 -0.006157 -0.034664 + -0.015270 -0.001015 -0.037887 + -0.003717 -0.015528 -0.042447 + -0.006490 -0.011248 -0.048988 + -0.008218 -0.002806 -0.054250 + -0.009047 -0.006094 -0.054980 + -0.020086 -0.002986 -0.038333 + -0.019125 0.001869 -0.041248 + -0.022664 0.000358 -0.042061 + -0.011285 0.001601 -0.061097 + -0.012762 -0.001170 -0.060810 + -0.026327 0.003705 -0.044840 + -0.023520 0.004906 -0.044055 + -0.016811 0.006845 -0.066079 + -0.017425 0.004490 -0.065426 + -0.031192 0.006876 -0.046985 + -0.027854 0.008188 -0.046631 + -0.023904 0.012729 -0.068713 + -0.024039 0.010111 -0.068207 + -0.034908 0.010411 -0.049662 + -0.031860 0.011439 -0.049558 + -0.031904 0.018396 -0.068404 + -0.032479 0.014830 -0.068869 + -0.036180 0.015264 -0.051786 + -0.034982 0.015662 -0.052104 + -0.040239 0.023348 -0.066018 + -0.041007 0.019101 -0.066727 + -0.040994 0.018498 -0.053546 + -0.039280 0.019624 -0.052729 + -0.048619 0.027722 -0.062745 + -0.048461 0.024097 -0.063840 + -0.047424 0.020780 -0.053852 + -0.044835 0.022842 -0.051585 + -0.056036 0.031885 -0.058004 + -0.056026 0.028383 -0.059952 + -0.052174 0.023409 -0.051272 + -0.050261 0.024868 -0.049158 + -0.062291 0.036190 -0.052455 + -0.063824 0.031495 -0.055419 + -0.055647 0.026085 -0.047031 + -0.052590 0.028232 -0.045302 + -0.070506 0.039350 -0.048152 + -0.070251 0.033787 -0.049803 + -0.058537 0.028135 -0.042335 + -0.054984 0.029696 -0.040438 + -0.074281 0.037552 -0.041572 + -0.075597 0.033301 -0.043023 + -0.060108 0.029528 -0.037283 + -0.057009 0.031198 -0.035558 + -0.065414 0.037731 -0.038180 + -0.069552 0.035169 -0.037376 + -0.060657 0.029453 -0.031962 + -0.058453 0.030863 -0.030237 + -0.063454 0.036326 -0.029955 + -0.065870 0.034382 -0.030352 + -0.062048 0.027990 -0.026835 + -0.058576 0.028437 -0.025692 + -0.065252 0.034142 -0.021842 + -0.068682 0.031140 -0.023463 + -0.065598 0.024910 -0.023417 + -0.060032 0.025927 -0.021103 + 0.019689 -0.047500 -0.042707 + 0.016543 -0.044262 -0.055465 + 0.019055 -0.043917 -0.055919 + 0.020802 -0.040417 -0.040700 + 0.021402 -0.041687 -0.040038 + 0.022632 -0.049129 -0.043701 + 0.010304 -0.040159 -0.066332 + 0.012481 -0.039403 -0.066968 + 0.017773 -0.035538 -0.050393 + 0.019048 -0.037033 -0.051417 + 0.013396 -0.032600 -0.061526 + 0.002692 -0.036421 -0.076289 + 0.004453 -0.035148 -0.076743 + 0.012508 -0.031930 -0.059511 + 0.006572 -0.028423 -0.070768 + 0.006469 -0.027898 -0.067850 + -0.007119 -0.032939 -0.084162 + -0.005904 -0.030970 -0.083976 + -0.002663 -0.025178 -0.077939 + -0.001645 -0.024470 -0.074297 + -0.018135 -0.029834 -0.090292 + -0.016813 -0.027009 -0.090501 + -0.012665 -0.021747 -0.083749 + -0.010634 -0.021311 -0.079577 + -0.028478 -0.024602 -0.095959 + -0.026993 -0.021431 -0.097035 + -0.022593 -0.016173 -0.087694 + -0.019979 -0.017123 -0.083127 + -0.038642 -0.017932 -0.099644 + -0.036609 -0.012708 -0.099354 + -0.032511 -0.009330 -0.088094 + -0.028797 -0.010777 -0.083961 + -0.047700 -0.009195 -0.095102 + -0.046146 -0.004479 -0.094158 + -0.041693 -0.002847 -0.085153 + -0.038138 -0.005493 -0.082189 + -0.056604 -0.001536 -0.088723 + -0.056136 0.002669 -0.088296 + -0.050851 0.004132 -0.080389 + -0.046605 0.000695 -0.078588 + -0.064809 0.006094 -0.081286 + -0.063806 0.010789 -0.080191 + -0.058103 0.010405 -0.073068 + -0.054304 0.006635 -0.073215 + -0.070252 0.012513 -0.070578 + -0.069589 0.017136 -0.069180 + -0.062940 0.016071 -0.062787 + -0.060438 0.011832 -0.065061 + -0.074328 0.016912 -0.058759 + -0.072758 0.022866 -0.056854 + -0.066645 0.021726 -0.052000 + -0.062814 0.015989 -0.053640 + -0.074770 0.017135 -0.045984 + -0.075774 0.023206 -0.044362 + -0.068811 0.022525 -0.041672 + -0.063650 0.017516 -0.044729 + -0.070395 0.012557 -0.034730 + -0.072368 0.014142 -0.037544 + -0.066884 0.016807 -0.033726 + -0.062735 0.016515 -0.034033 + -0.068638 0.009038 -0.023148 + -0.068305 0.012472 -0.024176 + -0.063610 0.012747 -0.022675 + -0.057918 0.014691 -0.024229 + 0.037845 -0.063051 -0.051357 + 0.038888 -0.071721 -0.053771 + 0.033149 -0.068016 -0.069315 + 0.034754 -0.061673 -0.050136 + 0.033126 -0.059166 -0.067047 + 0.034267 -0.071832 -0.053500 + 0.035802 -0.074709 -0.052819 + 0.031073 -0.071668 -0.069101 + 0.025321 -0.062274 -0.082865 + 0.022839 -0.066532 -0.082855 + 0.032232 -0.062954 -0.051324 + 0.033140 -0.058270 -0.065654 + 0.026498 -0.055290 -0.081758 + 0.030325 -0.069176 -0.069562 + 0.030034 -0.059428 -0.066151 + 0.022619 -0.063792 -0.083036 + 0.014765 -0.057356 -0.094670 + 0.012663 -0.060528 -0.094722 + 0.012403 -0.058512 -0.094560 + 0.026449 -0.053406 -0.078759 + 0.015772 -0.050064 -0.092777 + 0.023736 -0.054654 -0.079172 + 0.013627 -0.050734 -0.089270 + 0.002145 -0.054435 -0.104739 + 0.000281 -0.056882 -0.105113 + 0.000327 -0.054284 -0.104276 + 0.002070 -0.045792 -0.096976 + 0.017244 -0.047488 -0.089390 + 0.003276 -0.045466 -0.101663 + 0.005451 -0.043430 -0.097852 + -0.011323 -0.050081 -0.112563 + -0.013497 -0.052568 -0.112880 + -0.013296 -0.051538 -0.112054 + -0.010833 -0.042998 -0.102606 + -0.007897 -0.040595 -0.103851 + -0.010453 -0.041767 -0.108858 + -0.025457 -0.043299 -0.115850 + -0.028092 -0.046333 -0.115669 + -0.027959 -0.047159 -0.114650 + -0.024110 -0.038404 -0.105642 + -0.021414 -0.036682 -0.108538 + -0.024958 -0.037091 -0.112644 + -0.040484 -0.038468 -0.113609 + -0.042902 -0.040219 -0.113310 + -0.042733 -0.041958 -0.113621 + -0.037716 -0.034813 -0.104933 + -0.035207 -0.031507 -0.107481 + -0.039404 -0.031698 -0.110199 + -0.054486 -0.032105 -0.108765 + -0.056951 -0.033416 -0.108433 + -0.056291 -0.036138 -0.108107 + -0.050421 -0.028910 -0.101427 + -0.048476 -0.026446 -0.103166 + -0.053598 -0.026464 -0.105672 + -0.067042 -0.025324 -0.100931 + -0.068537 -0.025176 -0.099760 + -0.068513 -0.028729 -0.100885 + -0.061430 -0.021487 -0.095179 + -0.060479 -0.020156 -0.096681 + -0.065530 -0.019300 -0.097618 + -0.077248 -0.016678 -0.091353 + -0.080386 -0.018879 -0.090070 + -0.079160 -0.021161 -0.091380 + -0.071030 -0.014232 -0.086391 + -0.070418 -0.012333 -0.088250 + -0.075530 -0.012036 -0.087036 + -0.086481 -0.009525 -0.079507 + -0.088497 -0.011680 -0.076951 + -0.087517 -0.013003 -0.079690 + -0.078669 -0.008630 -0.074610 + -0.078491 -0.006171 -0.076491 + -0.084077 -0.004671 -0.075183 + -0.089832 -0.003225 -0.063985 + -0.091055 -0.005772 -0.060948 + -0.087732 -0.006945 -0.064334 + -0.082712 -0.004729 -0.060271 + -0.082424 -0.000615 -0.062394 + -0.086744 0.001313 -0.060342 + -0.088160 0.001676 -0.047545 + -0.088714 0.001436 -0.045627 + -0.084671 -0.005009 -0.048411 + -0.080542 -0.002008 -0.045398 + -0.081398 0.003836 -0.047150 + -0.085521 0.004622 -0.045807 + -0.081486 -0.000266 -0.035688 + -0.083533 -0.005292 -0.035063 + -0.078877 -0.007597 -0.032999 + -0.074694 -0.004646 -0.031484 + -0.075945 0.001637 -0.032905 + -0.079364 0.001613 -0.036080 + -0.074310 -0.005655 -0.021346 + -0.076753 -0.010562 -0.020176 + -0.071532 -0.013405 -0.019504 + -0.064422 -0.008905 -0.022270 + -0.068663 -0.003962 -0.020752 + -0.072964 -0.004120 -0.022142 + 0.054363 -0.113610 -0.081816 + 0.054766 -0.122197 -0.083080 + 0.044582 -0.116347 -0.097219 + 0.052867 -0.111481 -0.080227 + 0.044078 -0.108320 -0.095841 + 0.049590 -0.112289 -0.079356 + 0.049762 -0.122114 -0.081402 + 0.052022 -0.125715 -0.081547 + 0.042419 -0.119559 -0.096100 + 0.033793 -0.110688 -0.110940 + 0.031811 -0.113198 -0.109533 + 0.043317 -0.105529 -0.093976 + 0.033932 -0.102796 -0.109939 + 0.040925 -0.106408 -0.092937 + 0.041742 -0.115806 -0.095515 + 0.031107 -0.110043 -0.107781 + 0.019686 -0.105471 -0.120613 + 0.018444 -0.106940 -0.119686 + 0.018280 -0.104900 -0.117414 + 0.033697 -0.099914 -0.107684 + 0.020425 -0.098135 -0.120331 + 0.030916 -0.102259 -0.106108 + 0.018939 -0.096016 -0.116018 + 0.004401 -0.100805 -0.128422 + 0.003046 -0.102319 -0.127085 + 0.004126 -0.099199 -0.124164 + 0.004945 -0.091063 -0.122896 + 0.020909 -0.094096 -0.117685 + 0.005504 -0.093437 -0.128285 + 0.006223 -0.089217 -0.124766 + -0.011903 -0.095159 -0.131140 + -0.013421 -0.097198 -0.130084 + -0.011083 -0.093911 -0.127768 + -0.009983 -0.085689 -0.126315 + -0.009162 -0.085163 -0.129455 + -0.010949 -0.089296 -0.131649 + -0.028960 -0.091734 -0.130659 + -0.030031 -0.092008 -0.128952 + -0.026966 -0.089684 -0.127973 + -0.025514 -0.081311 -0.126843 + -0.025282 -0.080767 -0.129234 + -0.027088 -0.083422 -0.131519 + -0.044501 -0.084349 -0.126792 + -0.046331 -0.087202 -0.124840 + -0.042316 -0.084945 -0.124403 + -0.040735 -0.076729 -0.123885 + -0.041315 -0.076210 -0.127418 + -0.043088 -0.078015 -0.127953 + -0.059797 -0.081083 -0.120062 + -0.061431 -0.081447 -0.117846 + -0.056009 -0.079084 -0.117699 + -0.055301 -0.072198 -0.118184 + -0.056268 -0.070876 -0.121596 + -0.058621 -0.073171 -0.121837 + -0.074019 -0.074189 -0.112087 + -0.075928 -0.076613 -0.108725 + -0.069081 -0.073458 -0.108807 + -0.068400 -0.066054 -0.110285 + -0.070346 -0.066095 -0.113145 + -0.072726 -0.067847 -0.112817 + -0.087172 -0.070190 -0.100605 + -0.088414 -0.072066 -0.096638 + -0.081784 -0.068828 -0.098907 + -0.080556 -0.061305 -0.100035 + -0.083422 -0.061281 -0.103056 + -0.085754 -0.062753 -0.101976 + -0.097736 -0.064974 -0.086936 + -0.098039 -0.067723 -0.081709 + -0.090955 -0.063813 -0.085498 + -0.090722 -0.056813 -0.087411 + -0.092574 -0.057427 -0.088643 + -0.095835 -0.058422 -0.087577 + -0.102325 -0.060898 -0.069579 + -0.099190 -0.061496 -0.064594 + -0.095522 -0.060475 -0.068979 + -0.095216 -0.052632 -0.071230 + -0.099457 -0.054210 -0.072496 + -0.099414 -0.053633 -0.070407 + -0.100160 -0.054016 -0.052023 + -0.097723 -0.055288 -0.046870 + -0.093666 -0.056543 -0.051762 + -0.094072 -0.049211 -0.054180 + -0.097224 -0.048389 -0.055633 + -0.098326 -0.049092 -0.052222 + -0.093966 -0.049338 -0.037835 + -0.091040 -0.055082 -0.037116 + -0.086080 -0.055077 -0.036046 + -0.087978 -0.047479 -0.038108 + -0.090047 -0.045552 -0.039683 + -0.091618 -0.045412 -0.038343 + -0.081457 -0.050916 -0.022276 + -0.081551 -0.057621 -0.019781 + -0.076556 -0.058213 -0.022001 + -0.076569 -0.046303 -0.025658 + -0.079422 -0.045391 -0.025534 + -0.081194 -0.047340 -0.023415 + 0.061842 -0.142579 -0.094783 + 0.062904 -0.152962 -0.093248 + 0.050896 -0.150652 -0.108513 + 0.060406 -0.139559 -0.093436 + 0.051218 -0.139038 -0.109923 + 0.058867 -0.140089 -0.092520 + 0.058183 -0.151984 -0.089272 + 0.057569 -0.156741 -0.088042 + 0.048375 -0.154488 -0.104744 + 0.037085 -0.144492 -0.120089 + 0.036458 -0.148190 -0.117940 + 0.050706 -0.136379 -0.108219 + 0.036348 -0.133785 -0.118666 + 0.049790 -0.134708 -0.107802 + 0.047577 -0.148630 -0.104400 + 0.036994 -0.138984 -0.114180 + 0.021024 -0.140853 -0.128662 + 0.021005 -0.144041 -0.126898 + 0.022028 -0.133598 -0.122128 + 0.036651 -0.132278 -0.117089 + 0.021049 -0.130813 -0.127584 + 0.035063 -0.133645 -0.116368 + 0.019845 -0.129881 -0.123884 + 0.004647 -0.134324 -0.134456 + 0.005333 -0.136597 -0.132538 + 0.006856 -0.127401 -0.128729 + 0.004778 -0.123973 -0.129839 + 0.021954 -0.129163 -0.125124 + 0.005313 -0.124637 -0.133234 + 0.007049 -0.123603 -0.131024 + -0.011993 -0.127042 -0.137891 + -0.010509 -0.128409 -0.136381 + -0.008847 -0.120175 -0.131636 + -0.010864 -0.117533 -0.132202 + -0.008099 -0.116712 -0.133547 + -0.010503 -0.117057 -0.136184 + -0.028675 -0.119463 -0.136595 + -0.026861 -0.120877 -0.136047 + -0.024675 -0.112836 -0.130959 + -0.026062 -0.109292 -0.131299 + -0.023226 -0.109116 -0.133893 + -0.026470 -0.109132 -0.135473 + -0.044941 -0.111035 -0.133312 + -0.043211 -0.113928 -0.131867 + -0.040541 -0.106212 -0.127556 + -0.041206 -0.101702 -0.127447 + -0.038359 -0.102071 -0.130887 + -0.042523 -0.102216 -0.131993 + -0.061349 -0.106033 -0.126167 + -0.059520 -0.108654 -0.125635 + -0.056706 -0.103113 -0.121898 + -0.056332 -0.095525 -0.121475 + -0.053800 -0.096978 -0.126180 + -0.057971 -0.096254 -0.125168 + -0.076559 -0.099733 -0.116926 + -0.074652 -0.102772 -0.116703 + -0.071429 -0.098134 -0.113110 + -0.070760 -0.090737 -0.112629 + -0.067718 -0.091017 -0.117807 + -0.072917 -0.091150 -0.116460 + -0.090594 -0.095298 -0.104541 + -0.088271 -0.097200 -0.105029 + -0.085003 -0.092106 -0.102775 + -0.084154 -0.085325 -0.102239 + -0.081383 -0.086059 -0.108332 + -0.086633 -0.085669 -0.105814 + -0.101974 -0.091375 -0.089217 + -0.099868 -0.094497 -0.089854 + -0.096748 -0.089454 -0.089422 + -0.094254 -0.083594 -0.087310 + -0.091966 -0.081787 -0.095086 + -0.099082 -0.084671 -0.092332 + -0.103853 -0.085540 -0.070355 + -0.102470 -0.088122 -0.072115 + -0.100100 -0.084440 -0.071993 + -0.098762 -0.079377 -0.069720 + -0.097659 -0.077864 -0.078270 + -0.102511 -0.077680 -0.075261 + -0.101768 -0.077851 -0.051358 + -0.099713 -0.078608 -0.055145 + -0.097008 -0.078426 -0.053907 + -0.096785 -0.070974 -0.052898 + -0.096852 -0.070939 -0.060940 + -0.101504 -0.073042 -0.056091 + -0.093605 -0.075398 -0.039448 + -0.091864 -0.077172 -0.038561 + -0.090443 -0.076967 -0.036180 + -0.090248 -0.068124 -0.035472 + -0.093893 -0.065318 -0.043754 + -0.095455 -0.068335 -0.040093 + -0.085687 -0.075494 -0.020217 + -0.082341 -0.079324 -0.022121 + -0.079830 -0.075688 -0.021523 + -0.078966 -0.071987 -0.023150 + -0.086341 -0.066242 -0.028384 + -0.086676 -0.069942 -0.022827 + + + + + 0 1 2 + 3 4 0 + 0 2 5 + 3 0 5 + 4 1 0 + 4 6 1 + 6 2 1 + 2 7 8 + 6 9 2 + 2 8 5 + 9 7 2 + 10 3 5 + 11 12 3 + 3 10 11 + 12 4 3 + 12 13 4 + 13 6 4 + 10 5 8 + 13 14 6 + 14 9 6 + 9 15 7 + 15 8 7 + 15 10 8 + 14 16 9 + 16 15 9 + 17 11 10 + 17 10 15 + 18 19 11 + 18 11 17 + 19 12 11 + 19 20 12 + 20 13 12 + 20 21 13 + 21 14 13 + 21 22 14 + 22 16 14 + 16 17 15 + 22 23 16 + 23 17 16 + 23 18 17 + 24 25 18 + 24 18 23 + 25 19 18 + 25 26 19 + 26 20 19 + 26 27 20 + 27 21 20 + 27 28 21 + 28 22 21 + 28 29 22 + 29 23 22 + 29 24 23 + 30 31 24 + 30 24 29 + 31 25 24 + 31 32 25 + 32 26 25 + 32 33 26 + 33 27 26 + 33 34 27 + 34 28 27 + 34 35 28 + 35 29 28 + 35 30 29 + 36 37 30 + 37 31 30 + 36 30 35 + 37 38 31 + 38 32 31 + 38 39 32 + 39 33 32 + 39 40 33 + 40 34 33 + 40 41 34 + 41 35 34 + 41 36 35 + 42 43 36 + 42 36 41 + 43 37 36 + 43 44 37 + 38 37 44 + 44 45 38 + 45 39 38 + 45 46 39 + 46 40 39 + 46 47 40 + 47 41 40 + 47 42 41 + 48 49 42 + 48 42 47 + 49 43 42 + 49 50 43 + 50 44 43 + 50 51 44 + 51 45 44 + 51 52 45 + 52 46 45 + 52 53 46 + 53 47 46 + 53 48 47 + 54 55 48 + 54 48 53 + 55 49 48 + 56 49 55 + 56 50 49 + 56 57 50 + 57 51 50 + 57 58 51 + 58 52 51 + 58 59 52 + 59 53 52 + 59 54 53 + 60 61 54 + 60 54 59 + 61 55 54 + 61 62 55 + 56 55 62 + 62 63 56 + 63 57 56 + 63 64 57 + 64 58 57 + 64 65 58 + 65 59 58 + 65 60 59 + 66 67 60 + 66 60 65 + 67 61 60 + 67 68 61 + 68 62 61 + 68 69 62 + 63 62 69 + 69 70 63 + 70 64 63 + 70 71 64 + 71 65 64 + 71 66 65 + 72 73 66 + 73 67 66 + 72 66 71 + 73 74 67 + 74 68 67 + 74 75 68 + 75 69 68 + 75 76 69 + 76 70 69 + 76 77 70 + 77 71 70 + 77 72 71 + 78 79 72 + 78 72 77 + 79 73 72 + 79 80 73 + 80 74 73 + 80 81 74 + 81 75 74 + 81 82 75 + 82 76 75 + 82 83 76 + 83 77 76 + 83 78 77 + 84 85 78 + 84 78 83 + 85 79 78 + 85 86 79 + 86 80 79 + 86 87 80 + 87 81 80 + 87 88 81 + 88 82 81 + 88 89 82 + 89 83 82 + 89 84 83 + 90 91 84 + 90 84 89 + 91 85 84 + 91 92 85 + 92 86 85 + 92 93 86 + 93 87 86 + 93 94 87 + 94 88 87 + 94 95 88 + 95 89 88 + 95 90 89 + 90 95 94 + 91 90 94 + 91 93 92 + 91 94 93 + 96 97 98 + 97 96 99 + 96 100 101 + 96 98 100 + 96 101 99 + 98 97 102 + 97 99 102 + 98 103 100 + 103 98 104 + 98 102 104 + 102 99 105 + 99 101 106 + 99 106 105 + 103 107 100 + 100 107 108 + 100 108 101 + 101 108 109 + 101 109 106 + 104 102 110 + 102 105 110 + 107 103 111 + 103 104 111 + 111 104 112 + 104 110 112 + 110 105 113 + 105 106 114 + 105 114 113 + 106 109 115 + 106 115 114 + 107 111 108 + 108 111 116 + 108 116 109 + 109 116 117 + 109 117 115 + 112 110 118 + 110 113 118 + 111 112 116 + 116 112 119 + 112 118 119 + 118 113 120 + 113 114 121 + 113 121 120 + 114 115 122 + 114 122 121 + 115 117 123 + 115 123 122 + 116 119 117 + 117 119 124 + 117 124 123 + 119 118 125 + 118 120 125 + 119 125 124 + 125 120 126 + 120 121 127 + 120 127 126 + 121 122 128 + 128 127 121 + 122 123 129 + 122 129 128 + 123 124 130 + 123 130 129 + 124 125 131 + 124 131 130 + 125 126 131 + 131 126 132 + 126 127 133 + 126 133 132 + 127 128 134 + 127 134 133 + 128 129 135 + 128 135 134 + 129 130 136 + 129 136 135 + 130 131 137 + 130 137 136 + 131 132 137 + 137 132 138 + 132 133 139 + 132 139 138 + 133 134 140 + 133 140 139 + 134 135 141 + 134 141 140 + 135 136 142 + 135 142 141 + 136 137 143 + 136 143 142 + 137 138 143 + 143 138 144 + 138 139 145 + 138 145 144 + 140 146 139 + 139 146 145 + 140 141 147 + 140 147 146 + 141 142 148 + 141 148 147 + 143 149 142 + 142 149 148 + 143 144 149 + 149 144 150 + 144 145 151 + 144 151 150 + 145 146 152 + 145 152 151 + 146 147 153 + 146 153 152 + 147 148 154 + 147 154 153 + 149 155 148 + 148 155 154 + 149 150 155 + 155 150 156 + 150 151 157 + 150 157 156 + 151 152 158 + 151 158 157 + 152 153 159 + 152 159 158 + 153 154 160 + 153 160 159 + 154 155 161 + 154 161 160 + 155 156 161 + 161 156 162 + 156 157 163 + 156 163 162 + 157 158 164 + 157 164 163 + 158 159 165 + 158 165 164 + 159 160 166 + 159 166 165 + 160 161 167 + 160 167 166 + 161 162 167 + 167 162 168 + 162 163 169 + 162 169 168 + 163 164 170 + 163 170 169 + 164 165 171 + 164 171 170 + 165 166 172 + 165 172 171 + 166 167 173 + 166 173 172 + 167 168 173 + 173 168 174 + 168 169 175 + 168 175 174 + 169 170 176 + 169 176 175 + 170 171 177 + 170 177 176 + 171 172 178 + 171 178 177 + 172 173 179 + 172 179 178 + 173 174 179 + 179 174 180 + 174 175 181 + 174 181 180 + 175 176 182 + 175 182 181 + 176 177 183 + 176 183 182 + 177 178 184 + 177 184 183 + 178 179 185 + 178 185 184 + 179 180 185 + 186 180 181 + 187 180 186 + 188 185 180 + 187 188 180 + 181 182 189 + 181 189 190 + 190 186 181 + 182 183 191 + 182 191 189 + 183 184 192 + 183 192 191 + 184 185 188 + 184 188 192 + 187 186 190 + 188 187 192 + 192 187 190 + 192 190 189 + 192 189 191 + 193 194 195 + 193 195 196 + 197 194 193 + 197 193 198 + 198 193 196 + 199 200 194 + 199 194 197 + 200 201 194 + 195 194 201 + 196 195 201 + 201 202 196 + 198 196 202 + 203 199 197 + 203 197 204 + 204 197 198 + 205 204 198 + 205 198 202 + 206 207 199 + 206 199 203 + 207 200 199 + 207 208 200 + 208 209 200 + 200 209 201 + 209 210 201 + 201 210 202 + 210 205 202 + 211 206 203 + 211 203 212 + 212 203 204 + 212 204 205 + 213 212 205 + 213 205 210 + 214 215 206 + 214 206 211 + 215 207 206 + 215 216 207 + 216 208 207 + 216 217 208 + 217 218 208 + 208 218 209 + 218 213 209 + 209 213 210 + 219 214 211 + 219 211 220 + 220 211 212 + 220 212 213 + 218 220 213 + 221 222 214 + 221 214 219 + 222 215 214 + 222 223 215 + 223 216 215 + 223 224 216 + 224 217 216 + 224 225 217 + 225 226 217 + 217 226 218 + 226 220 218 + 227 221 219 + 227 219 226 + 226 219 220 + 228 229 221 + 228 221 227 + 229 222 221 + 229 230 222 + 230 223 222 + 230 231 223 + 231 224 223 + 231 232 224 + 232 225 224 + 232 233 225 + 233 227 225 + 227 226 225 + 228 227 233 + 234 235 228 + 235 229 228 + 234 228 233 + 235 236 229 + 236 230 229 + 236 237 230 + 237 231 230 + 237 238 231 + 238 232 231 + 238 239 232 + 239 233 232 + 239 234 233 + 240 241 234 + 240 234 239 + 241 235 234 + 241 242 235 + 242 236 235 + 242 243 236 + 243 237 236 + 243 244 237 + 244 238 237 + 244 245 238 + 245 239 238 + 245 240 239 + 246 247 240 + 246 240 245 + 247 241 240 + 247 248 241 + 248 242 241 + 248 249 242 + 249 243 242 + 249 250 243 + 250 244 243 + 250 251 244 + 251 245 244 + 251 246 245 + 252 253 246 + 252 246 251 + 253 247 246 + 253 254 247 + 254 248 247 + 254 255 248 + 255 249 248 + 255 256 249 + 256 250 249 + 256 257 250 + 257 251 250 + 257 252 251 + 258 259 252 + 258 252 257 + 259 253 252 + 259 260 253 + 260 254 253 + 260 261 254 + 261 255 254 + 261 262 255 + 262 256 255 + 262 263 256 + 263 257 256 + 263 258 257 + 264 265 258 + 258 263 264 + 265 259 258 + 265 266 259 + 266 260 259 + 266 267 260 + 267 261 260 + 267 268 261 + 268 262 261 + 268 269 262 + 269 263 262 + 269 264 263 + 270 271 264 + 271 265 264 + 270 264 269 + 271 272 265 + 272 266 265 + 272 273 266 + 273 267 266 + 273 274 267 + 274 268 267 + 274 275 268 + 275 269 268 + 275 270 269 + 276 277 270 + 277 271 270 + 276 270 275 + 277 278 271 + 278 272 271 + 278 279 272 + 279 273 272 + 279 280 273 + 280 274 273 + 280 281 274 + 281 275 274 + 281 276 275 + 282 283 276 + 282 276 281 + 283 277 276 + 283 284 277 + 284 278 277 + 284 285 278 + 285 279 278 + 285 286 279 + 286 280 279 + 286 287 280 + 287 281 280 + 287 282 281 + 284 282 285 + 284 283 282 + 282 287 286 + 286 285 282 + 288 289 290 + 291 292 288 + 288 290 293 + 291 288 293 + 292 289 288 + 289 294 295 + 292 296 289 + 289 295 290 + 296 294 289 + 297 298 290 + 293 290 298 + 297 290 295 + 291 298 299 + 293 298 291 + 291 299 300 + 300 292 291 + 300 301 292 + 301 296 292 + 296 302 294 + 302 295 294 + 302 297 295 + 301 303 296 + 303 302 296 + 304 305 297 + 305 298 297 + 304 297 302 + 305 299 298 + 306 307 299 + 300 299 307 + 306 299 305 + 300 307 308 + 308 301 300 + 308 309 301 + 309 303 301 + 303 304 302 + 309 310 303 + 310 304 303 + 310 311 304 + 311 305 304 + 311 306 305 + 312 313 306 + 313 307 306 + 312 306 311 + 313 314 307 + 308 307 314 + 308 314 315 + 315 309 308 + 315 316 309 + 316 310 309 + 316 317 310 + 317 311 310 + 317 312 311 + 318 319 312 + 318 312 317 + 319 313 312 + 319 320 313 + 320 314 313 + 320 321 314 + 315 314 321 + 315 321 322 + 322 316 315 + 322 323 316 + 323 317 316 + 323 318 317 + 324 325 318 + 324 318 323 + 325 319 318 + 325 326 319 + 326 320 319 + 326 327 320 + 327 321 320 + 327 328 321 + 322 321 328 + 322 328 329 + 329 323 322 + 329 324 323 + 330 331 324 + 330 324 329 + 331 325 324 + 331 332 325 + 332 326 325 + 332 333 326 + 333 327 326 + 333 334 327 + 334 328 327 + 334 335 328 + 329 328 335 + 329 335 330 + 330 335 336 + 330 336 337 + 337 331 330 + 337 338 331 + 338 332 331 + 338 339 332 + 339 333 332 + 339 340 333 + 340 334 333 + 340 341 334 + 341 335 334 + 341 336 335 + 342 343 336 + 337 336 343 + 342 336 341 + 337 343 344 + 344 338 337 + 344 345 338 + 345 339 338 + 345 346 339 + 346 340 339 + 346 347 340 + 347 341 340 + 347 342 341 + 348 349 342 + 349 343 342 + 348 342 347 + 349 350 343 + 344 343 350 + 344 350 351 + 351 345 344 + 351 352 345 + 352 346 345 + 352 353 346 + 353 347 346 + 348 347 353 + 354 348 355 + 355 348 353 + 354 349 348 + 354 356 349 + 356 350 349 + 356 357 350 + 350 357 351 + 351 357 358 + 358 352 351 + 358 359 352 + 359 353 352 + 359 355 353 + 360 354 355 + 360 361 354 + 361 356 354 + 362 360 355 + 362 355 359 + 361 363 356 + 363 357 356 + 363 364 357 + 358 357 364 + 358 364 365 + 365 359 358 + 365 362 359 + 366 360 362 + 366 367 360 + 367 361 360 + 367 368 361 + 368 363 361 + 369 366 362 + 369 362 365 + 368 370 363 + 370 364 363 + 370 371 364 + 365 364 371 + 365 371 369 + 372 366 369 + 372 367 366 + 372 373 367 + 373 368 367 + 373 374 368 + 374 370 368 + 369 371 375 + 369 375 372 + 374 376 370 + 376 371 370 + 376 375 371 + 372 375 377 + 377 373 372 + 378 374 373 + 378 373 377 + 376 374 378 + 379 380 375 + 375 380 377 + 379 375 376 + 378 379 376 + 378 377 379 + 377 380 379 + 381 382 383 + 384 385 381 + 385 382 381 + 386 381 383 + 387 384 381 + 387 381 386 + 382 388 383 + 389 388 382 + 389 382 390 + 390 382 385 + 383 388 391 + 392 383 391 + 386 383 392 + 384 393 394 + 385 384 394 + 395 393 384 + 395 384 387 + 390 385 396 + 396 385 394 + 392 397 386 + 386 397 398 + 386 398 387 + 387 398 399 + 387 399 395 + 388 400 391 + 401 400 388 + 401 388 389 + 402 401 389 + 402 389 403 + 403 389 390 + 403 390 397 + 397 390 396 + 391 400 404 + 405 391 404 + 392 391 405 + 405 403 392 + 392 403 397 + 406 394 393 + 407 406 393 + 408 407 393 + 408 393 395 + 396 394 409 + 409 394 406 + 395 399 410 + 395 410 408 + 397 396 398 + 398 396 409 + 398 409 399 + 399 409 411 + 399 411 410 + 400 412 404 + 413 412 400 + 413 400 401 + 414 413 401 + 414 401 402 + 415 414 402 + 415 402 405 + 405 402 403 + 416 417 404 + 416 404 412 + 415 404 417 + 405 404 415 + 418 406 407 + 409 406 411 + 411 406 418 + 419 418 407 + 420 419 407 + 420 407 408 + 408 410 421 + 408 421 420 + 410 411 422 + 410 422 421 + 411 418 422 + 423 416 412 + 423 412 413 + 424 423 413 + 424 413 414 + 425 424 414 + 425 414 415 + 415 417 425 + 426 427 416 + 426 416 423 + 416 427 428 + 417 416 428 + 425 417 428 + 422 418 429 + 418 419 429 + 419 430 429 + 431 430 419 + 431 419 420 + 420 421 432 + 420 432 431 + 421 422 429 + 421 429 432 + 433 426 423 + 433 423 424 + 434 433 424 + 434 424 425 + 425 428 434 + 435 436 426 + 436 427 426 + 435 426 433 + 436 437 427 + 427 437 428 + 434 428 438 + 437 438 428 + 432 429 439 + 440 439 429 + 440 429 430 + 441 440 430 + 441 430 431 + 431 432 442 + 431 442 441 + 432 439 442 + 443 435 433 + 443 433 434 + 434 438 443 + 444 445 435 + 445 436 435 + 444 435 443 + 445 446 436 + 446 437 436 + 446 447 437 + 438 437 447 + 443 438 448 + 448 438 447 + 442 439 449 + 450 449 439 + 450 439 440 + 451 450 440 + 451 440 441 + 441 442 452 + 441 452 451 + 442 449 452 + 443 448 444 + 453 445 444 + 444 454 453 + 444 448 454 + 453 455 445 + 455 446 445 + 455 456 446 + 456 447 446 + 456 457 447 + 447 457 448 + 457 454 448 + 450 452 449 + 450 451 452 + 453 456 455 + 453 454 456 + 454 457 456 + 458 459 460 + 461 462 458 + 461 458 463 + 462 464 458 + 463 458 460 + 458 464 459 + 459 465 460 + 464 466 459 + 459 466 467 + 459 467 465 + 465 468 460 + 463 460 469 + 470 469 460 + 460 471 472 + 460 472 470 + 460 468 473 + 473 471 460 + 474 475 461 + 475 462 461 + 474 461 476 + 476 461 463 + 477 462 475 + 477 478 462 + 462 478 464 + 476 463 479 + 479 463 469 + 478 480 464 + 464 480 466 + 468 465 481 + 465 467 482 + 465 482 481 + 480 472 466 + 466 472 471 + 466 471 467 + 467 471 483 + 467 483 482 + 482 473 468 + 482 468 481 + 479 469 470 + 470 472 484 + 470 484 479 + 473 483 471 + 480 484 472 + 482 483 473 + 485 486 474 + 474 486 487 + 487 475 474 + 485 474 476 + 488 477 475 + 488 475 489 + 487 489 475 + 476 490 485 + 479 490 476 + 488 491 477 + 477 491 478 + 491 492 478 + 478 492 480 + 479 484 490 + 492 484 480 + 492 490 484 + 493 486 485 + 493 485 494 + 494 485 490 + 495 496 486 + 495 486 493 + 487 486 496 + 487 496 497 + 497 489 487 + 498 488 489 + 499 488 498 + 488 499 491 + 500 498 489 + 497 500 489 + 494 490 492 + 499 494 491 + 491 494 492 + 501 495 493 + 501 493 499 + 499 493 494 + 502 503 495 + 502 495 501 + 503 496 495 + 503 504 496 + 497 496 504 + 497 504 505 + 505 500 497 + 506 507 498 + 506 498 500 + 507 501 498 + 498 501 499 + 505 506 500 + 507 502 501 + 508 509 502 + 508 502 507 + 509 503 502 + 509 510 503 + 510 504 503 + 510 511 504 + 505 504 511 + 505 511 512 + 512 506 505 + 512 513 506 + 513 507 506 + 513 508 507 + 514 515 508 + 514 508 513 + 515 509 508 + 515 516 509 + 516 510 509 + 516 517 510 + 517 511 510 + 517 518 511 + 512 511 518 + 512 518 519 + 519 513 512 + 519 514 513 + 520 521 514 + 521 515 514 + 520 514 519 + 521 522 515 + 522 516 515 + 522 523 516 + 523 517 516 + 523 524 517 + 524 518 517 + 524 525 518 + 519 518 525 + 519 525 520 + 520 526 527 + 527 521 520 + 520 525 526 + 527 528 521 + 528 522 521 + 528 529 522 + 529 523 522 + 529 530 523 + 530 524 523 + 530 531 524 + 531 525 524 + 531 526 525 + 532 533 526 + 527 526 533 + 532 526 531 + 527 533 534 + 534 528 527 + 534 535 528 + 535 529 528 + 535 536 529 + 536 530 529 + 536 537 530 + 537 531 530 + 537 532 531 + 538 539 532 + 538 532 537 + 539 533 532 + 539 540 533 + 534 533 540 + 534 540 541 + 541 535 534 + 541 542 535 + 542 536 535 + 542 543 536 + 543 537 536 + 543 538 537 + 544 545 538 + 544 538 543 + 545 539 538 + 545 546 539 + 546 540 539 + 546 547 540 + 541 540 547 + 541 547 548 + 548 542 541 + 548 549 542 + 549 543 542 + 549 544 543 + 548 547 544 + 548 544 549 + 547 545 544 + 547 546 545 + 550 551 552 + 553 554 550 + 554 551 550 + 553 550 552 + 551 555 552 + 551 556 555 + 554 557 551 + 557 556 551 + 552 555 558 + 552 558 553 + 553 558 559 + 560 554 553 + 553 559 560 + 560 561 554 + 561 557 554 + 555 556 558 + 557 562 556 + 556 562 558 + 561 563 557 + 563 562 557 + 559 558 562 + 560 559 564 + 559 565 564 + 565 559 562 + 566 561 560 + 560 564 566 + 566 567 561 + 567 563 561 + 563 565 562 + 567 568 563 + 568 565 563 + 566 564 569 + 565 570 564 + 569 564 570 + 568 570 565 + 571 567 566 + 566 569 571 + 572 568 567 + 571 572 567 + 572 573 568 + 573 570 568 + 571 569 574 + 575 569 570 + 569 575 574 + 573 575 570 + 576 572 571 + 571 574 576 + 577 573 572 + 576 577 572 + 577 578 573 + 578 575 573 + 576 574 579 + 575 580 574 + 579 574 580 + 578 580 575 + 581 577 576 + 576 579 581 + 582 578 577 + 581 582 577 + 582 583 578 + 583 580 578 + 581 579 584 + 585 584 579 + 586 585 579 + 586 579 580 + 583 586 580 + 587 582 581 + 581 584 587 + 588 583 582 + 587 588 582 + 588 589 583 + 589 586 583 + 587 584 590 + 585 591 584 + 591 590 584 + 589 585 586 + 592 585 589 + 592 591 585 + 593 588 587 + 587 590 593 + 594 589 588 + 593 594 588 + 594 592 589 + 593 590 595 + 596 595 590 + 591 596 590 + 597 591 592 + 597 596 591 + 598 597 592 + 598 592 594 + 599 594 593 + 593 595 599 + 599 598 594 + 599 595 600 + 601 600 595 + 596 601 595 + 602 596 597 + 602 601 596 + 603 602 597 + 603 597 598 + 604 603 598 + 604 598 599 + 599 600 604 + 604 600 605 + 606 607 600 + 605 600 607 + 601 606 600 + 608 601 602 + 608 606 601 + 609 608 602 + 609 602 603 + 610 609 603 + 610 603 604 + 604 605 610 + 610 605 611 + 611 605 607 + 612 606 608 + 612 607 606 + 613 607 612 + 613 614 607 + 607 614 611 + 615 612 608 + 615 608 609 + 616 615 609 + 616 609 610 + 610 611 616 + 616 611 617 + 614 617 611 + 618 613 612 + 618 612 615 + 619 620 613 + 620 614 613 + 619 613 618 + 620 621 614 + 614 621 617 + 622 618 615 + 622 615 616 + 616 617 622 + 622 617 623 + 621 623 617 + 624 619 618 + 624 618 622 + 625 620 619 + 626 625 619 + 626 619 624 + 625 627 620 + 627 621 620 + 627 628 621 + 628 629 621 + 629 623 621 + 622 623 624 + 629 630 623 + 630 624 623 + 624 630 626 + 629 625 626 + 629 627 625 + 630 629 626 + 627 629 628 + 631 632 633 + 634 635 631 + 634 631 636 + 635 637 631 + 636 631 633 + 631 637 632 + 632 638 639 + 637 638 632 + 632 639 640 + 633 632 640 + 633 640 641 + 642 633 641 + 636 633 642 + 643 644 634 + 643 634 645 + 644 635 634 + 645 634 636 + 644 646 635 + 646 647 635 + 635 647 637 + 645 636 648 + 648 636 642 + 647 649 637 + 637 649 638 + 638 650 639 + 638 651 650 + 649 651 638 + 639 652 653 + 639 650 652 + 640 639 653 + 640 653 654 + 641 640 654 + 642 641 655 + 641 654 656 + 655 641 656 + 657 642 655 + 648 642 657 + 658 659 643 + 658 643 660 + 659 644 643 + 660 643 645 + 659 661 644 + 661 646 644 + 660 645 662 + 662 645 648 + 661 663 646 + 663 664 646 + 646 664 647 + 664 665 647 + 647 665 649 + 662 648 649 + 649 648 657 + 665 662 649 + 649 657 651 + 651 666 650 + 650 667 652 + 650 666 667 + 651 657 666 + 656 652 667 + 656 653 652 + 656 654 653 + 657 655 666 + 655 656 668 + 666 655 668 + 656 667 668 + 669 670 658 + 669 658 671 + 670 659 658 + 671 658 660 + 670 672 659 + 672 661 659 + 671 660 673 + 673 660 662 + 672 674 661 + 674 663 661 + 673 662 665 + 674 675 663 + 675 676 663 + 663 676 664 + 676 673 664 + 664 673 665 + 666 668 667 + 677 678 669 + 678 670 669 + 677 669 679 + 679 669 671 + 678 680 670 + 680 672 670 + 679 671 676 + 676 671 673 + 680 681 672 + 681 674 672 + 681 682 674 + 682 675 674 + 682 683 675 + 683 679 675 + 675 679 676 + 684 685 677 + 684 677 683 + 685 678 677 + 683 677 679 + 685 686 678 + 686 680 678 + 686 687 680 + 687 681 680 + 687 688 681 + 688 682 681 + 688 689 682 + 689 683 682 + 689 684 683 + 690 691 684 + 690 684 689 + 691 685 684 + 691 692 685 + 692 686 685 + 692 693 686 + 693 687 686 + 693 694 687 + 694 688 687 + 694 695 688 + 695 689 688 + 695 690 689 + 696 697 690 + 696 690 695 + 697 691 690 + 697 698 691 + 698 692 691 + 698 699 692 + 699 693 692 + 699 700 693 + 700 694 693 + 700 701 694 + 701 695 694 + 701 696 695 + 702 703 696 + 702 696 701 + 703 697 696 + 703 704 697 + 704 698 697 + 704 705 698 + 705 699 698 + 705 706 699 + 706 700 699 + 706 707 700 + 707 701 700 + 707 702 701 + 708 709 702 + 708 702 707 + 709 703 702 + 709 710 703 + 710 704 703 + 710 711 704 + 711 705 704 + 712 705 711 + 712 706 705 + 712 713 706 + 713 707 706 + 713 708 707 + 714 715 708 + 715 709 708 + 714 708 713 + 715 716 709 + 716 710 709 + 716 717 710 + 717 711 710 + 717 718 711 + 712 711 718 + 718 719 712 + 719 713 712 + 719 714 713 + 720 721 714 + 721 715 714 + 720 714 719 + 721 722 715 + 722 716 715 + 722 723 716 + 723 717 716 + 723 724 717 + 724 718 717 + 724 725 718 + 725 719 718 + 725 720 719 + 725 721 720 + 721 725 724 + 721 724 723 + 721 723 722 + 726 727 728 + 726 728 729 + 727 726 730 + 730 726 731 + 726 732 731 + 726 729 732 + 728 727 733 + 727 734 733 + 727 730 734 + 729 728 735 + 728 733 735 + 729 735 732 + 730 731 734 + 734 731 736 + 731 737 736 + 731 732 737 + 732 738 737 + 732 735 738 + 735 733 739 + 733 740 739 + 733 734 740 + 734 736 740 + 735 739 738 + 740 736 741 + 736 742 741 + 736 737 742 + 737 743 742 + 737 738 743 + 738 744 743 + 738 739 744 + 739 740 745 + 739 745 744 + 740 741 745 + 745 741 746 + 741 747 746 + 741 742 747 + 742 748 747 + 742 743 748 + 743 749 748 + 743 744 749 + 744 750 749 + 744 745 750 + 745 746 750 + 746 747 751 + 746 751 752 + 750 746 752 + 747 753 751 + 747 748 753 + 748 754 753 + 748 749 754 + 749 755 754 + 749 750 755 + 750 752 755 + 751 753 756 + 751 756 757 + 752 751 757 + 755 752 758 + 752 757 758 + 753 759 756 + 753 754 759 + 754 760 759 + 754 755 760 + 755 758 760 + 756 759 761 + 756 761 762 + 757 756 762 + 758 757 763 + 757 762 763 + 760 758 764 + 758 763 764 + 759 765 761 + 759 760 765 + 760 764 765 + 761 765 766 + 761 766 767 + 762 761 767 + 762 767 768 + 763 762 768 + 764 763 769 + 763 768 769 + 765 764 770 + 764 769 770 + 765 770 766 + 766 770 771 + 766 771 772 + 767 766 772 + 767 772 773 + 768 767 773 + 769 768 774 + 768 773 774 + 770 769 775 + 769 774 775 + 775 771 770 + 771 775 772 + 775 773 772 + 775 774 773 + 776 777 778 + 779 776 780 + 781 782 776 + 776 778 780 + 782 777 776 + 781 776 779 + 782 783 777 + 777 784 785 + 777 785 778 + 783 784 777 + 778 785 786 + 778 786 780 + 784 779 786 + 787 781 779 + 787 779 784 + 779 780 786 + 788 789 781 + 788 781 787 + 789 782 781 + 789 790 782 + 790 783 782 + 790 791 783 + 783 787 784 + 791 787 783 + 784 786 785 + 791 788 787 + 792 793 788 + 792 788 791 + 793 789 788 + 793 794 789 + 794 790 789 + 794 795 790 + 795 791 790 + 795 792 791 + 796 797 792 + 796 792 795 + 797 793 792 + 797 798 793 + 798 794 793 + 798 799 794 + 799 795 794 + 799 796 795 + 800 801 796 + 801 797 796 + 800 796 799 + 801 802 797 + 802 798 797 + 802 803 798 + 803 799 798 + 803 800 799 + 804 805 800 + 804 800 803 + 805 801 800 + 805 806 801 + 806 802 801 + 806 807 802 + 807 803 802 + 807 804 803 + 808 809 804 + 808 804 807 + 809 805 804 + 809 810 805 + 810 806 805 + 810 811 806 + 811 807 806 + 811 808 807 + 812 813 808 + 812 808 811 + 813 809 808 + 813 814 809 + 814 810 809 + 814 815 810 + 815 811 810 + 815 812 811 + 816 817 812 + 817 813 812 + 816 812 815 + 817 818 813 + 818 814 813 + 818 819 814 + 819 815 814 + 819 816 815 + 820 821 816 + 820 816 819 + 821 817 816 + 821 822 817 + 822 818 817 + 822 823 818 + 823 819 818 + 823 820 819 + 824 825 820 + 824 820 823 + 825 821 820 + 825 826 821 + 826 822 821 + 826 827 822 + 827 823 822 + 827 824 823 + 828 829 824 + 824 827 828 + 829 825 824 + 829 830 825 + 830 826 825 + 830 831 826 + 831 827 826 + 831 828 827 + 832 833 828 + 833 829 828 + 832 828 831 + 833 834 829 + 834 830 829 + 834 835 830 + 835 831 830 + 835 832 831 + 836 837 832 + 836 832 835 + 837 833 832 + 837 838 833 + 838 834 833 + 838 839 834 + 839 835 834 + 839 836 835 + 836 839 838 + 836 838 837 + 840 841 842 + 843 840 844 + 845 846 840 + 844 840 842 + 840 846 841 + 843 845 840 + 846 847 841 + 842 841 847 + 844 842 848 + 842 847 848 + 849 843 850 + 851 845 843 + 850 843 844 + 849 851 843 + 850 844 852 + 852 844 848 + 853 854 845 + 845 854 846 + 851 853 845 + 854 852 846 + 846 852 847 + 852 848 847 + 855 849 856 + 857 851 849 + 856 849 850 + 855 857 849 + 856 850 854 + 854 850 852 + 858 853 851 + 857 858 851 + 859 856 853 + 853 856 854 + 858 859 853 + 860 855 859 + 861 857 855 + 859 855 856 + 860 861 855 + 862 858 857 + 861 862 857 + 863 859 858 + 862 863 858 + 863 860 859 + 864 860 863 + 865 861 860 + 864 865 860 + 866 862 861 + 865 866 861 + 867 863 862 + 866 867 862 + 867 864 863 + 868 864 867 + 869 865 864 + 868 869 864 + 870 866 865 + 869 870 865 + 871 867 866 + 870 871 866 + 871 868 867 + 872 868 871 + 873 869 868 + 872 873 868 + 874 870 869 + 873 874 869 + 875 871 870 + 874 875 870 + 875 872 871 + 876 872 875 + 877 873 872 + 876 877 872 + 878 874 873 + 877 878 873 + 879 875 874 + 878 879 874 + 879 876 875 + 880 876 879 + 881 877 876 + 880 881 876 + 882 878 877 + 881 882 877 + 883 879 878 + 882 883 878 + 883 880 879 + 884 880 883 + 885 881 880 + 884 885 880 + 886 882 881 + 885 886 881 + 887 883 882 + 886 887 882 + 887 884 883 + 888 884 887 + 889 885 884 + 888 889 884 + 890 886 885 + 889 890 885 + 891 887 886 + 890 891 886 + 891 888 887 + 892 888 891 + 893 889 888 + 892 893 888 + 894 890 889 + 893 894 889 + 895 891 890 + 894 895 890 + 895 892 891 + 896 892 895 + 897 893 892 + 896 897 892 + 898 894 893 + 897 898 893 + 899 895 894 + 898 899 894 + 899 896 895 + 900 896 899 + 901 897 896 + 900 901 896 + 902 897 901 + 897 902 898 + 902 903 898 + 904 899 898 + 903 904 898 + 904 900 899 + 900 904 903 + 901 900 903 + 903 902 901 + 905 906 907 + 908 905 909 + 910 911 905 + 905 907 909 + 911 906 905 + 910 905 908 + 911 912 906 + 906 913 914 + 906 914 907 + 912 913 906 + 907 914 915 + 916 909 907 + 916 907 915 + 917 908 918 + 919 910 908 + 919 908 917 + 908 909 918 + 916 918 909 + 920 921 910 + 920 910 919 + 921 911 910 + 921 922 911 + 922 912 911 + 922 923 912 + 912 924 913 + 923 924 912 + 913 925 915 + 913 915 914 + 924 925 913 + 925 916 915 + 925 917 916 + 917 918 916 + 926 919 917 + 926 917 925 + 927 920 919 + 927 919 926 + 928 929 920 + 928 920 927 + 929 921 920 + 929 930 921 + 930 922 921 + 930 931 922 + 931 923 922 + 931 932 923 + 923 933 924 + 932 933 923 + 924 926 925 + 933 926 924 + 933 927 926 + 934 928 927 + 934 927 933 + 935 936 928 + 935 928 934 + 936 929 928 + 936 937 929 + 937 930 929 + 937 938 930 + 938 931 930 + 938 939 931 + 939 932 931 + 939 940 932 + 932 934 933 + 940 934 932 + 940 935 934 + 941 942 935 + 941 935 940 + 936 935 942 + 942 943 936 + 943 937 936 + 943 944 937 + 944 938 937 + 944 945 938 + 945 939 938 + 945 946 939 + 946 940 939 + 946 941 940 + 947 948 941 + 947 941 946 + 948 942 941 + 948 949 942 + 949 943 942 + 949 950 943 + 950 944 943 + 950 951 944 + 951 945 944 + 951 952 945 + 952 946 945 + 952 947 946 + 953 954 947 + 954 948 947 + 953 947 952 + 954 955 948 + 955 949 948 + 955 956 949 + 956 950 949 + 956 957 950 + 957 951 950 + 957 958 951 + 958 952 951 + 958 953 952 + 959 960 953 + 959 953 958 + 960 954 953 + 960 961 954 + 961 955 954 + 961 962 955 + 962 956 955 + 962 963 956 + 963 957 956 + 963 964 957 + 964 958 957 + 964 959 958 + 965 966 959 + 965 959 964 + 966 960 959 + 966 967 960 + 967 961 960 + 967 968 961 + 968 962 961 + 968 969 962 + 969 963 962 + 969 970 963 + 970 964 963 + 970 965 964 + 971 965 972 + 972 965 970 + 971 966 965 + 971 973 966 + 973 967 966 + 973 974 967 + 974 968 967 + 974 975 968 + 975 969 968 + 975 976 969 + 976 970 969 + 976 972 970 + 977 971 972 + 977 978 971 + 978 973 971 + 979 977 972 + 979 972 976 + 978 980 973 + 980 974 973 + 980 981 974 + 981 975 974 + 981 982 975 + 982 976 975 + 982 979 976 + 983 977 979 + 983 984 977 + 984 978 977 + 984 985 978 + 985 980 978 + 986 983 979 + 986 979 982 + 985 987 980 + 987 981 980 + 987 988 981 + 988 982 981 + 988 986 982 + 989 983 986 + 989 990 983 + 990 984 983 + 990 991 984 + 991 985 984 + 991 992 985 + 992 987 985 + 993 989 986 + 993 986 988 + 992 994 987 + 994 988 987 + 994 993 988 + 995 989 993 + 995 996 989 + 996 990 989 + 996 997 990 + 997 991 990 + 997 998 991 + 998 992 991 + 998 999 992 + 999 994 992 + 1000 995 993 + 1000 993 994 + 999 1000 994 + 995 1000 999 + 995 999 998 + 995 998 997 + 995 997 996 + 1001 1002 1003 + 1004 1001 1005 + 1006 1007 1001 + 1001 1003 1005 + 1007 1002 1001 + 1006 1001 1004 + 1007 1008 1002 + 1002 1009 1010 + 1002 1010 1003 + 1008 1009 1002 + 1003 1010 1011 + 1003 1011 1012 + 1003 1012 1013 + 1003 1013 1005 + 1014 1004 1013 + 1015 1006 1004 + 1015 1004 1014 + 1004 1005 1013 + 1016 1017 1006 + 1016 1006 1015 + 1017 1007 1006 + 1017 1018 1007 + 1018 1008 1007 + 1018 1019 1008 + 1008 1020 1009 + 1019 1020 1008 + 1009 1021 1011 + 1009 1011 1010 + 1020 1021 1009 + 1021 1012 1011 + 1021 1014 1012 + 1014 1013 1012 + 1022 1015 1014 + 1022 1014 1021 + 1023 1016 1015 + 1023 1015 1022 + 1024 1025 1016 + 1024 1016 1023 + 1025 1017 1016 + 1025 1026 1017 + 1026 1018 1017 + 1026 1027 1018 + 1027 1019 1018 + 1027 1028 1019 + 1019 1029 1020 + 1028 1029 1019 + 1020 1022 1021 + 1029 1022 1020 + 1029 1023 1022 + 1030 1024 1023 + 1030 1023 1029 + 1031 1032 1024 + 1031 1024 1030 + 1032 1025 1024 + 1032 1033 1025 + 1033 1026 1025 + 1033 1034 1026 + 1034 1027 1026 + 1034 1035 1027 + 1035 1028 1027 + 1035 1036 1028 + 1028 1030 1029 + 1036 1030 1028 + 1036 1031 1030 + 1037 1038 1031 + 1037 1031 1036 + 1038 1032 1031 + 1038 1039 1032 + 1039 1033 1032 + 1039 1040 1033 + 1040 1034 1033 + 1040 1041 1034 + 1041 1035 1034 + 1041 1042 1035 + 1042 1036 1035 + 1042 1037 1036 + 1043 1044 1037 + 1043 1037 1042 + 1044 1038 1037 + 1044 1045 1038 + 1045 1039 1038 + 1045 1046 1039 + 1046 1040 1039 + 1046 1047 1040 + 1047 1041 1040 + 1047 1048 1041 + 1048 1042 1041 + 1048 1043 1042 + 1049 1050 1043 + 1050 1044 1043 + 1049 1043 1048 + 1050 1051 1044 + 1051 1045 1044 + 1051 1052 1045 + 1052 1046 1045 + 1052 1053 1046 + 1053 1047 1046 + 1053 1054 1047 + 1054 1048 1047 + 1054 1049 1048 + 1055 1056 1049 + 1055 1049 1054 + 1056 1050 1049 + 1056 1057 1050 + 1057 1051 1050 + 1057 1058 1051 + 1058 1052 1051 + 1058 1059 1052 + 1059 1053 1052 + 1059 1060 1053 + 1060 1054 1053 + 1060 1055 1054 + 1061 1062 1055 + 1061 1055 1060 + 1062 1056 1055 + 1062 1063 1056 + 1063 1057 1056 + 1063 1064 1057 + 1064 1058 1057 + 1064 1065 1058 + 1065 1059 1058 + 1065 1066 1059 + 1066 1060 1059 + 1066 1061 1060 + 1067 1068 1061 + 1067 1061 1066 + 1068 1062 1061 + 1068 1069 1062 + 1069 1063 1062 + 1069 1070 1063 + 1070 1064 1063 + 1070 1071 1064 + 1071 1065 1064 + 1071 1072 1065 + 1072 1066 1065 + 1072 1067 1066 + 1073 1074 1067 + 1073 1067 1072 + 1074 1068 1067 + 1074 1075 1068 + 1075 1069 1068 + 1075 1076 1069 + 1076 1070 1069 + 1076 1077 1070 + 1077 1071 1070 + 1078 1071 1077 + 1078 1072 1071 + 1078 1073 1072 + 1079 1080 1073 + 1079 1073 1078 + 1080 1074 1073 + 1080 1081 1074 + 1081 1075 1074 + 1081 1082 1075 + 1082 1076 1075 + 1082 1083 1076 + 1083 1077 1076 + 1083 1084 1077 + 1084 1078 1077 + 1084 1079 1078 + 1085 1086 1079 + 1086 1080 1079 + 1085 1079 1084 + 1086 1087 1080 + 1087 1081 1080 + 1087 1088 1081 + 1088 1082 1081 + 1088 1089 1082 + 1089 1083 1082 + 1089 1090 1083 + 1090 1084 1083 + 1090 1085 1084 + 1091 1092 1085 + 1091 1085 1090 + 1092 1086 1085 + 1092 1093 1086 + 1093 1087 1086 + 1093 1094 1087 + 1094 1088 1087 + 1094 1095 1088 + 1095 1089 1088 + 1095 1096 1089 + 1096 1090 1089 + 1096 1091 1090 + 1091 1096 1093 + 1091 1093 1092 + 1093 1096 1095 + 1093 1095 1094 + 1097 1098 1099 + 1100 1097 1101 + 1102 1103 1097 + 1097 1099 1101 + 1103 1098 1097 + 1102 1097 1100 + 1103 1104 1098 + 1098 1105 1106 + 1098 1106 1099 + 1104 1105 1098 + 1099 1106 1107 + 1099 1107 1108 + 1099 1108 1109 + 1099 1109 1101 + 1110 1100 1109 + 1111 1102 1100 + 1100 1110 1111 + 1100 1101 1109 + 1112 1113 1102 + 1112 1102 1111 + 1113 1103 1102 + 1113 1114 1103 + 1114 1104 1103 + 1114 1115 1104 + 1104 1116 1105 + 1115 1116 1104 + 1105 1117 1107 + 1105 1107 1106 + 1116 1117 1105 + 1117 1108 1107 + 1117 1110 1108 + 1110 1109 1108 + 1118 1111 1110 + 1118 1110 1117 + 1119 1112 1111 + 1119 1111 1118 + 1120 1121 1112 + 1120 1112 1119 + 1121 1113 1112 + 1121 1122 1113 + 1122 1114 1113 + 1122 1123 1114 + 1123 1115 1114 + 1123 1124 1115 + 1115 1125 1116 + 1124 1125 1115 + 1116 1118 1117 + 1125 1118 1116 + 1125 1119 1118 + 1126 1120 1119 + 1126 1119 1125 + 1127 1128 1120 + 1127 1120 1126 + 1128 1121 1120 + 1128 1129 1121 + 1129 1122 1121 + 1129 1130 1122 + 1130 1123 1122 + 1130 1131 1123 + 1131 1124 1123 + 1131 1132 1124 + 1124 1126 1125 + 1132 1126 1124 + 1132 1127 1126 + 1133 1134 1127 + 1133 1127 1132 + 1134 1128 1127 + 1134 1135 1128 + 1135 1129 1128 + 1135 1136 1129 + 1136 1130 1129 + 1136 1137 1130 + 1137 1131 1130 + 1137 1138 1131 + 1138 1132 1131 + 1138 1133 1132 + 1139 1140 1133 + 1139 1133 1138 + 1140 1134 1133 + 1140 1141 1134 + 1141 1135 1134 + 1141 1142 1135 + 1142 1136 1135 + 1142 1143 1136 + 1143 1137 1136 + 1143 1144 1137 + 1144 1138 1137 + 1144 1139 1138 + 1145 1146 1139 + 1146 1140 1139 + 1145 1139 1144 + 1146 1147 1140 + 1147 1141 1140 + 1147 1148 1141 + 1148 1142 1141 + 1148 1149 1142 + 1149 1143 1142 + 1149 1150 1143 + 1150 1144 1143 + 1150 1145 1144 + 1151 1152 1145 + 1151 1145 1150 + 1152 1146 1145 + 1152 1153 1146 + 1153 1147 1146 + 1153 1154 1147 + 1154 1148 1147 + 1154 1155 1148 + 1155 1149 1148 + 1155 1156 1149 + 1156 1150 1149 + 1156 1151 1150 + 1157 1158 1151 + 1157 1151 1156 + 1158 1152 1151 + 1158 1159 1152 + 1159 1153 1152 + 1159 1160 1153 + 1160 1154 1153 + 1160 1161 1154 + 1161 1155 1154 + 1161 1162 1155 + 1162 1156 1155 + 1162 1157 1156 + 1163 1164 1157 + 1163 1157 1162 + 1164 1158 1157 + 1164 1165 1158 + 1159 1158 1165 + 1165 1166 1159 + 1166 1160 1159 + 1166 1167 1160 + 1167 1161 1160 + 1167 1168 1161 + 1168 1162 1161 + 1168 1163 1162 + 1169 1170 1163 + 1169 1163 1168 + 1170 1164 1163 + 1170 1171 1164 + 1171 1165 1164 + 1171 1172 1165 + 1172 1166 1165 + 1172 1173 1166 + 1173 1167 1166 + 1173 1174 1167 + 1174 1168 1167 + 1174 1169 1168 + 1175 1176 1169 + 1175 1169 1174 + 1176 1170 1169 + 1176 1177 1170 + 1177 1171 1170 + 1177 1178 1171 + 1178 1172 1171 + 1178 1179 1172 + 1179 1173 1172 + 1179 1180 1173 + 1180 1174 1173 + 1180 1175 1174 + 1181 1182 1175 + 1182 1176 1175 + 1181 1175 1180 + 1182 1183 1176 + 1183 1177 1176 + 1183 1184 1177 + 1184 1178 1177 + 1184 1185 1178 + 1185 1179 1178 + 1185 1186 1179 + 1186 1180 1179 + 1186 1181 1180 + 1187 1188 1181 + 1181 1186 1187 + 1188 1182 1181 + 1188 1189 1182 + 1189 1183 1182 + 1189 1190 1183 + 1190 1184 1183 + 1190 1191 1184 + 1191 1185 1184 + 1191 1192 1185 + 1192 1186 1185 + 1192 1187 1186 + 1188 1187 1190 + 1192 1191 1187 + 1187 1191 1190 + 1188 1190 1189 + 1193 1194 1195 + 1196 1197 1193 + 1196 1193 1198 + 1197 1199 1193 + 1193 1195 1198 + 1193 1199 1194 + 1199 1200 1194 + 1194 1201 1202 + 1194 1200 1201 + 1195 1194 1202 + 1198 1195 1203 + 1195 1202 1204 + 1203 1195 1204 + 1205 1196 1198 + 1206 1207 1196 + 1207 1197 1196 + 1206 1196 1205 + 1208 1209 1197 + 1207 1208 1197 + 1209 1210 1197 + 1199 1197 1210 + 1205 1198 1211 + 1211 1198 1203 + 1199 1210 1200 + 1200 1212 1201 + 1200 1213 1212 + 1210 1213 1200 + 1201 1214 1215 + 1202 1201 1215 + 1201 1212 1214 + 1202 1215 1216 + 1204 1202 1216 + 1203 1204 1217 + 1218 1203 1217 + 1211 1203 1218 + 1217 1204 1219 + 1204 1216 1219 + 1220 1205 1221 + 1220 1222 1205 + 1222 1206 1205 + 1221 1205 1223 + 1205 1211 1223 + 1224 1206 1222 + 1224 1225 1206 + 1225 1207 1206 + 1225 1226 1207 + 1226 1208 1207 + 1208 1227 1209 + 1226 1228 1208 + 1228 1227 1208 + 1227 1221 1209 + 1210 1209 1221 + 1210 1223 1213 + 1223 1210 1221 + 1223 1211 1218 + 1212 1229 1230 + 1212 1230 1214 + 1213 1229 1212 + 1213 1218 1229 + 1223 1218 1213 + 1214 1231 1232 + 1215 1214 1232 + 1214 1230 1231 + 1215 1232 1233 + 1216 1215 1233 + 1216 1233 1234 + 1219 1216 1234 + 1217 1219 1235 + 1229 1217 1235 + 1218 1217 1229 + 1219 1234 1236 + 1235 1219 1236 + 1237 1222 1220 + 1237 1220 1227 + 1227 1220 1221 + 1237 1224 1222 + 1238 1224 1237 + 1238 1239 1224 + 1239 1225 1224 + 1239 1240 1225 + 1240 1226 1225 + 1241 1228 1226 + 1240 1241 1226 + 1228 1237 1227 + 1242 1237 1228 + 1241 1242 1228 + 1229 1235 1230 + 1230 1243 1231 + 1230 1235 1243 + 1231 1244 1245 + 1232 1231 1245 + 1231 1243 1244 + 1232 1245 1246 + 1233 1232 1246 + 1233 1246 1247 + 1234 1233 1247 + 1234 1247 1248 + 1236 1234 1248 + 1235 1236 1243 + 1236 1248 1249 + 1243 1236 1249 + 1250 1238 1237 + 1250 1237 1242 + 1251 1239 1238 + 1252 1251 1238 + 1252 1238 1250 + 1251 1253 1239 + 1253 1240 1239 + 1253 1254 1240 + 1254 1241 1240 + 1254 1255 1241 + 1255 1242 1241 + 1250 1242 1255 + 1243 1249 1244 + 1244 1256 1257 + 1245 1244 1257 + 1244 1249 1256 + 1245 1257 1258 + 1246 1245 1258 + 1246 1258 1259 + 1247 1246 1259 + 1247 1259 1260 + 1248 1247 1260 + 1248 1260 1261 + 1249 1248 1261 + 1249 1261 1256 + 1262 1252 1250 + 1262 1250 1255 + 1263 1253 1251 + 1264 1263 1251 + 1264 1251 1252 + 1265 1264 1252 + 1265 1252 1262 + 1263 1266 1253 + 1266 1254 1253 + 1266 1267 1254 + 1267 1255 1254 + 1267 1268 1255 + 1268 1262 1255 + 1256 1269 1270 + 1257 1256 1270 + 1256 1261 1269 + 1257 1270 1271 + 1258 1257 1271 + 1258 1271 1272 + 1259 1258 1272 + 1259 1272 1273 + 1260 1259 1273 + 1261 1260 1273 + 1261 1273 1269 + 1268 1265 1262 + 1265 1266 1263 + 1263 1264 1265 + 1267 1265 1268 + 1265 1267 1266 + 1274 1270 1269 + 1275 1274 1269 + 1269 1276 1275 + 1273 1277 1269 + 1277 1276 1269 + 1278 1271 1270 + 1279 1278 1270 + 1270 1274 1279 + 1271 1280 1272 + 1271 1278 1280 + 1272 1281 1273 + 1280 1282 1272 + 1272 1282 1281 + 1273 1283 1284 + 1284 1277 1273 + 1281 1283 1273 + 1279 1274 1285 + 1275 1285 1274 + 1275 1276 1286 + 1285 1275 1286 + 1277 1286 1276 + 1277 1284 1287 + 1286 1277 1287 + 1280 1278 1288 + 1279 1288 1278 + 1288 1279 1285 + 1280 1289 1282 + 1289 1280 1288 + 1281 1290 1283 + 1281 1282 1290 + 1282 1289 1290 + 1283 1290 1287 + 1284 1283 1287 + 1288 1285 1289 + 1285 1286 1289 + 1286 1287 1289 + 1287 1290 1289 + 1291 1292 1293 + 1294 1295 1291 + 1293 1294 1291 + 1296 1297 1291 + 1295 1296 1291 + 1292 1291 1297 + 1292 1298 1299 + 1292 1299 1300 + 1292 1301 1298 + 1302 1301 1292 + 1302 1292 1297 + 1292 1300 1293 + 1300 1303 1293 + 1293 1304 1294 + 1293 1303 1304 + 1294 1304 1305 + 1294 1305 1306 + 1295 1294 1306 + 1307 1295 1308 + 1295 1306 1308 + 1307 1296 1295 + 1309 1297 1296 + 1303 1309 1296 + 1303 1296 1307 + 1310 1302 1297 + 1311 1297 1309 + 1312 1310 1297 + 1312 1297 1311 + 1298 1313 1314 + 1315 1313 1298 + 1315 1298 1301 + 1299 1298 1316 + 1298 1314 1316 + 1317 1318 1299 + 1299 1318 1319 + 1317 1299 1320 + 1300 1299 1319 + 1299 1316 1320 + 1300 1319 1321 + 1300 1321 1309 + 1300 1309 1303 + 1322 1315 1301 + 1322 1301 1302 + 1322 1302 1323 + 1324 1323 1302 + 1324 1302 1310 + 1303 1307 1304 + 1304 1307 1325 + 1304 1325 1305 + 1305 1325 1326 + 1305 1326 1327 + 1306 1305 1328 + 1329 1328 1305 + 1329 1305 1327 + 1308 1306 1330 + 1306 1328 1331 + 1306 1331 1330 + 1307 1308 1325 + 1326 1325 1308 + 1326 1308 1332 + 1308 1333 1332 + 1308 1330 1333 + 1309 1321 1334 + 1311 1309 1334 + 1335 1324 1310 + 1335 1310 1312 + 1336 1311 1337 + 1338 1311 1334 + 1338 1337 1311 + 1339 1312 1311 + 1339 1311 1336 + 1340 1335 1312 + 1340 1312 1339 + 1313 1341 1342 + 1313 1342 1317 + 1315 1341 1313 + 1313 1317 1343 + 1313 1343 1314 + 1314 1343 1344 + 1316 1314 1345 + 1314 1344 1345 + 1346 1341 1315 + 1322 1346 1315 + 1320 1316 1347 + 1316 1345 1347 + 1317 1342 1318 + 1317 1320 1343 + 1318 1342 1348 + 1318 1348 1349 + 1319 1318 1349 + 1319 1349 1350 + 1351 1321 1319 + 1351 1319 1350 + 1343 1320 1352 + 1320 1347 1352 + 1334 1321 1351 + 1353 1346 1322 + 1323 1353 1322 + 1323 1354 1353 + 1355 1354 1323 + 1355 1323 1324 + 1356 1355 1324 + 1356 1324 1335 + 1326 1332 1357 + 1327 1326 1358 + 1358 1326 1359 + 1357 1359 1326 + 1329 1327 1358 + 1332 1328 1329 + 1360 1328 1332 + 1360 1331 1328 + 1332 1329 1357 + 1357 1329 1361 + 1329 1358 1361 + 1333 1330 1362 + 1330 1331 1363 + 1330 1363 1362 + 1331 1360 1364 + 1331 1364 1363 + 1333 1360 1332 + 1360 1333 1365 + 1333 1362 1365 + 1334 1351 1366 + 1367 1334 1366 + 1334 1367 1368 + 1369 1338 1334 + 1334 1368 1369 + 1370 1356 1335 + 1370 1335 1340 + 1371 1336 1337 + 1372 1339 1336 + 1372 1336 1371 + 1373 1337 1338 + 1373 1374 1337 + 1374 1371 1337 + 1375 1338 1369 + 1375 1373 1338 + 1340 1339 1372 + 1372 1370 1340 + 1376 1377 1341 + 1376 1341 1378 + 1379 1342 1341 + 1377 1379 1341 + 1346 1378 1341 + 1348 1342 1380 + 1381 1380 1342 + 1379 1381 1342 + 1343 1352 1344 + 1345 1344 1382 + 1344 1352 1383 + 1344 1383 1382 + 1347 1345 1384 + 1345 1382 1384 + 1385 1378 1346 + 1353 1385 1346 + 1352 1347 1386 + 1347 1384 1386 + 1348 1380 1387 + 1387 1388 1348 + 1349 1348 1388 + 1349 1388 1389 + 1350 1349 1389 + 1350 1389 1390 + 1350 1390 1391 + 1350 1391 1351 + 1366 1351 1391 + 1352 1386 1383 + 1353 1392 1385 + 1393 1353 1354 + 1392 1353 1393 + 1394 1354 1355 + 1394 1393 1354 + 1395 1394 1355 + 1395 1355 1356 + 1395 1356 1370 + 1357 1361 1396 + 1357 1396 1359 + 1375 1397 1358 + 1375 1358 1398 + 1399 1358 1359 + 1398 1358 1399 + 1400 1358 1397 + 1400 1361 1358 + 1401 1402 1359 + 1399 1359 1402 + 1401 1359 1396 + 1360 1365 1364 + 1396 1361 1403 + 1361 1404 1405 + 1361 1405 1403 + 1400 1404 1361 + 1365 1362 1406 + 1362 1363 1407 + 1362 1407 1406 + 1363 1408 1407 + 1363 1364 1408 + 1364 1365 1409 + 1364 1409 1408 + 1365 1406 1409 + 1366 1391 1410 + 1411 1366 1410 + 1367 1366 1411 + 1412 1367 1411 + 1368 1367 1412 + 1368 1413 1369 + 1368 1412 1414 + 1368 1414 1413 + 1415 1371 1369 + 1416 1375 1369 + 1416 1369 1371 + 1369 1413 1415 + 1395 1370 1417 + 1370 1418 1417 + 1418 1370 1372 + 1374 1416 1371 + 1371 1415 1372 + 1419 1418 1372 + 1420 1372 1415 + 1420 1421 1372 + 1372 1421 1422 + 1372 1422 1423 + 1372 1423 1419 + 1398 1373 1375 + 1398 1374 1373 + 1399 1416 1374 + 1398 1399 1374 + 1402 1375 1416 + 1402 1397 1375 + 1376 1424 1425 + 1426 1424 1376 + 1376 1425 1377 + 1378 1426 1376 + 1377 1425 1427 + 1377 1427 1379 + 1378 1428 1426 + 1385 1428 1378 + 1381 1379 1429 + 1379 1427 1430 + 1379 1430 1429 + 1380 1431 1432 + 1433 1431 1380 + 1380 1432 1387 + 1433 1380 1381 + 1433 1381 1434 + 1381 1429 1434 + 1384 1382 1435 + 1382 1383 1436 + 1382 1436 1435 + 1383 1386 1437 + 1383 1437 1436 + 1386 1384 1438 + 1384 1435 1438 + 1439 1428 1385 + 1392 1439 1385 + 1386 1438 1437 + 1387 1432 1440 + 1387 1441 1388 + 1387 1440 1441 + 1388 1441 1442 + 1428 1388 1442 + 1443 1388 1428 + 1389 1388 1443 + 1444 1389 1443 + 1390 1389 1444 + 1390 1444 1445 + 1391 1390 1445 + 1446 1391 1445 + 1410 1391 1446 + 1447 1439 1392 + 1445 1444 1392 + 1448 1392 1444 + 1448 1447 1392 + 1392 1393 1445 + 1393 1394 1449 + 1450 1445 1393 + 1449 1450 1393 + 1394 1451 1449 + 1410 1394 1395 + 1451 1394 1446 + 1394 1410 1446 + 1410 1395 1452 + 1395 1417 1452 + 1401 1396 1453 + 1453 1396 1454 + 1396 1403 1454 + 1401 1397 1402 + 1401 1400 1397 + 1399 1402 1416 + 1455 1400 1401 + 1400 1456 1404 + 1455 1456 1400 + 1457 1458 1401 + 1453 1459 1401 + 1457 1401 1459 + 1455 1401 1458 + 1454 1403 1460 + 1403 1405 1461 + 1403 1461 1460 + 1404 1453 1462 + 1453 1404 1456 + 1404 1462 1405 + 1405 1462 1463 + 1405 1463 1461 + 1409 1406 1464 + 1406 1407 1465 + 1406 1465 1464 + 1407 1466 1465 + 1407 1408 1466 + 1408 1409 1467 + 1408 1467 1466 + 1409 1464 1467 + 1411 1410 1468 + 1469 1468 1410 + 1410 1452 1470 + 1469 1410 1470 + 1414 1411 1468 + 1412 1411 1414 + 1413 1414 1469 + 1423 1413 1470 + 1413 1421 1420 + 1413 1420 1415 + 1422 1421 1413 + 1423 1422 1413 + 1413 1469 1470 + 1414 1468 1471 + 1414 1471 1469 + 1418 1419 1417 + 1452 1417 1472 + 1417 1473 1472 + 1417 1419 1473 + 1470 1419 1423 + 1419 1470 1474 + 1419 1474 1473 + 1424 1475 1476 + 1477 1475 1424 + 1424 1476 1425 + 1426 1477 1424 + 1425 1476 1478 + 1425 1479 1480 + 1425 1478 1479 + 1427 1425 1480 + 1481 1477 1426 + 1482 1481 1426 + 1428 1482 1426 + 1427 1480 1433 + 1427 1433 1483 + 1427 1483 1430 + 1428 1442 1482 + 1443 1428 1439 + 1434 1429 1484 + 1429 1430 1485 + 1429 1485 1484 + 1430 1483 1486 + 1430 1486 1485 + 1431 1487 1488 + 1489 1487 1431 + 1431 1488 1432 + 1480 1489 1431 + 1480 1431 1433 + 1432 1488 1490 + 1432 1490 1440 + 1433 1434 1483 + 1483 1434 1491 + 1434 1484 1491 + 1438 1435 1492 + 1435 1436 1493 + 1435 1493 1492 + 1436 1437 1494 + 1436 1494 1493 + 1437 1438 1495 + 1437 1495 1494 + 1438 1492 1495 + 1496 1443 1439 + 1447 1496 1439 + 1440 1490 1497 + 1440 1497 1498 + 1441 1440 1499 + 1499 1440 1498 + 1442 1441 1499 + 1500 1442 1499 + 1501 1482 1442 + 1500 1501 1442 + 1496 1502 1443 + 1502 1444 1443 + 1502 1448 1444 + 1503 1446 1445 + 1450 1503 1445 + 1503 1451 1446 + 1504 1496 1447 + 1505 1504 1447 + 1505 1447 1448 + 1506 1448 1502 + 1506 1505 1448 + 1507 1450 1449 + 1508 1449 1451 + 1508 1507 1449 + 1509 1503 1450 + 1507 1509 1450 + 1510 1451 1503 + 1510 1508 1451 + 1470 1452 1511 + 1452 1472 1511 + 1456 1459 1453 + 1453 1454 1462 + 1462 1454 1512 + 1454 1460 1512 + 1455 1458 1513 + 1455 1513 1514 + 1455 1515 1456 + 1514 1515 1455 + 1515 1459 1456 + 1516 1517 1457 + 1518 1457 1515 + 1515 1457 1459 + 1518 1516 1457 + 1517 1458 1457 + 1517 1513 1458 + 1512 1460 1519 + 1460 1461 1520 + 1460 1520 1519 + 1461 1463 1521 + 1461 1521 1520 + 1462 1512 1463 + 1463 1512 1522 + 1463 1522 1521 + 1467 1464 1523 + 1464 1465 1524 + 1464 1524 1523 + 1465 1466 1525 + 1465 1525 1524 + 1466 1467 1526 + 1466 1526 1525 + 1467 1523 1526 + 1471 1468 1469 + 1470 1511 1474 + 1511 1472 1527 + 1472 1473 1527 + 1473 1474 1528 + 1473 1528 1527 + 1474 1511 1529 + 1474 1529 1530 + 1474 1530 1528 + 1475 1531 1532 + 1533 1531 1475 + 1475 1532 1476 + 1477 1533 1475 + 1476 1532 1534 + 1476 1534 1478 + 1535 1533 1477 + 1498 1535 1477 + 1498 1477 1481 + 1478 1534 1479 + 1479 1534 1536 + 1489 1479 1537 + 1480 1479 1489 + 1479 1536 1537 + 1499 1498 1481 + 1538 1539 1481 + 1539 1499 1481 + 1538 1481 1482 + 1501 1538 1482 + 1483 1491 1486 + 1491 1484 1540 + 1484 1485 1541 + 1484 1541 1540 + 1485 1486 1542 + 1485 1542 1541 + 1486 1491 1543 + 1486 1543 1542 + 1487 1544 1545 + 1546 1544 1487 + 1487 1545 1488 + 1546 1487 1489 + 1488 1545 1547 + 1488 1547 1490 + 1546 1489 1548 + 1489 1537 1548 + 1490 1547 1549 + 1497 1490 1549 + 1491 1540 1543 + 1495 1492 1550 + 1492 1493 1551 + 1492 1551 1550 + 1493 1494 1552 + 1493 1552 1551 + 1494 1495 1553 + 1494 1553 1552 + 1495 1550 1553 + 1504 1554 1496 + 1554 1502 1496 + 1555 1497 1549 + 1555 1556 1497 + 1497 1535 1498 + 1556 1535 1497 + 1539 1500 1499 + 1557 1500 1539 + 1557 1558 1500 + 1558 1501 1500 + 1559 1538 1501 + 1558 1559 1501 + 1554 1506 1502 + 1509 1510 1503 + 1560 1561 1504 + 1560 1504 1505 + 1561 1554 1504 + 1562 1505 1506 + 1562 1560 1505 + 1563 1506 1554 + 1563 1562 1506 + 1564 1509 1507 + 1565 1564 1507 + 1565 1507 1508 + 1566 1508 1510 + 1566 1565 1508 + 1567 1510 1509 + 1564 1567 1509 + 1567 1566 1510 + 1511 1568 1529 + 1527 1568 1511 + 1512 1519 1522 + 1517 1569 1513 + 1514 1513 1569 + 1514 1570 1515 + 1514 1569 1571 + 1571 1570 1514 + 1572 1518 1515 + 1572 1515 1570 + 1516 1573 1517 + 1574 1573 1516 + 1575 1574 1516 + 1575 1516 1518 + 1517 1576 1569 + 1577 1576 1517 + 1573 1578 1517 + 1578 1577 1517 + 1579 1575 1518 + 1579 1518 1572 + 1522 1519 1520 + 1522 1520 1521 + 1526 1523 1580 + 1523 1524 1581 + 1523 1581 1580 + 1524 1525 1582 + 1524 1582 1581 + 1525 1526 1583 + 1525 1583 1582 + 1526 1580 1583 + 1527 1584 1568 + 1528 1584 1527 + 1530 1584 1528 + 1529 1568 1585 + 1586 1530 1529 + 1586 1529 1585 + 1530 1587 1588 + 1587 1530 1586 + 1530 1588 1584 + 1531 1589 1590 + 1591 1589 1531 + 1531 1590 1532 + 1533 1591 1531 + 1532 1590 1592 + 1532 1592 1534 + 1593 1591 1533 + 1535 1593 1533 + 1534 1592 1594 + 1534 1594 1546 + 1534 1546 1595 + 1534 1595 1536 + 1535 1596 1593 + 1597 1596 1535 + 1556 1597 1535 + 1536 1595 1598 + 1537 1536 1599 + 1536 1598 1599 + 1548 1537 1600 + 1537 1599 1600 + 1559 1601 1538 + 1601 1539 1538 + 1601 1557 1539 + 1543 1540 1602 + 1540 1541 1603 + 1540 1603 1602 + 1541 1542 1604 + 1541 1604 1603 + 1542 1543 1605 + 1542 1605 1604 + 1543 1602 1605 + 1544 1606 1607 + 1544 1607 1545 + 1594 1606 1544 + 1594 1544 1546 + 1545 1607 1608 + 1545 1608 1547 + 1546 1548 1595 + 1549 1547 1608 + 1595 1548 1609 + 1548 1600 1609 + 1549 1608 1610 + 1549 1610 1611 + 1612 1555 1549 + 1612 1549 1596 + 1549 1611 1596 + 1553 1550 1551 + 1553 1551 1552 + 1561 1563 1554 + 1613 1555 1612 + 1613 1614 1555 + 1614 1556 1555 + 1615 1597 1556 + 1614 1615 1556 + 1616 1557 1601 + 1616 1617 1557 + 1617 1558 1557 + 1618 1559 1558 + 1617 1618 1558 + 1618 1619 1559 + 1619 1601 1559 + 1620 1621 1560 + 1620 1560 1562 + 1621 1561 1560 + 1621 1622 1561 + 1622 1563 1561 + 1623 1562 1563 + 1623 1620 1562 + 1622 1623 1563 + 1587 1567 1564 + 1588 1587 1564 + 1624 1564 1565 + 1588 1564 1624 + 1625 1565 1566 + 1626 1624 1565 + 1625 1626 1565 + 1566 1567 1587 + 1627 1566 1587 + 1627 1628 1566 + 1628 1625 1566 + 1568 1629 1585 + 1568 1584 1630 + 1568 1630 1629 + 1631 1569 1576 + 1571 1569 1632 + 1631 1632 1569 + 1571 1577 1570 + 1633 1570 1578 + 1570 1633 1572 + 1578 1570 1577 + 1634 1577 1571 + 1571 1632 1634 + 1633 1573 1572 + 1635 1572 1573 + 1635 1579 1572 + 1573 1633 1578 + 1574 1635 1573 + 1636 1637 1574 + 1636 1574 1575 + 1637 1635 1574 + 1638 1636 1575 + 1638 1575 1579 + 1576 1639 1631 + 1576 1577 1639 + 1634 1639 1577 + 1640 1579 1635 + 1640 1638 1579 + 1582 1583 1580 + 1582 1580 1581 + 1630 1584 1588 + 1641 1586 1585 + 1642 1585 1643 + 1643 1585 1629 + 1585 1642 1641 + 1587 1586 1644 + 1586 1630 1644 + 1645 1586 1641 + 1645 1646 1586 + 1646 1630 1586 + 1644 1627 1587 + 1588 1624 1647 + 1630 1588 1647 + 1589 1648 1649 + 1650 1648 1589 + 1589 1649 1651 + 1589 1651 1590 + 1652 1650 1589 + 1591 1652 1589 + 1590 1651 1653 + 1590 1653 1654 + 1590 1654 1592 + 1611 1652 1591 + 1593 1596 1591 + 1596 1611 1591 + 1592 1654 1655 + 1594 1592 1656 + 1592 1655 1656 + 1653 1594 1657 + 1594 1653 1606 + 1594 1656 1657 + 1595 1609 1598 + 1597 1612 1596 + 1658 1612 1597 + 1615 1658 1597 + 1599 1598 1659 + 1598 1609 1660 + 1598 1660 1659 + 1600 1599 1661 + 1599 1659 1661 + 1609 1600 1662 + 1600 1661 1662 + 1619 1616 1601 + 1605 1602 1663 + 1602 1603 1664 + 1602 1664 1663 + 1603 1604 1665 + 1603 1665 1664 + 1604 1605 1666 + 1604 1666 1665 + 1605 1663 1666 + 1653 1667 1606 + 1667 1607 1606 + 1607 1668 1669 + 1667 1668 1607 + 1607 1669 1670 + 1608 1607 1670 + 1608 1670 1671 + 1608 1671 1610 + 1609 1662 1660 + 1672 1610 1671 + 1672 1673 1610 + 1673 1611 1610 + 1611 1674 1652 + 1675 1674 1611 + 1673 1675 1611 + 1658 1613 1612 + 1676 1613 1658 + 1676 1677 1613 + 1677 1614 1613 + 1677 1678 1614 + 1678 1615 1614 + 1679 1658 1615 + 1678 1679 1615 + 1680 1616 1619 + 1680 1681 1616 + 1681 1617 1616 + 1682 1618 1617 + 1681 1682 1617 + 1682 1683 1618 + 1683 1619 1618 + 1683 1680 1619 + 1684 1685 1620 + 1684 1620 1623 + 1685 1621 1620 + 1685 1686 1621 + 1686 1622 1621 + 1686 1687 1622 + 1687 1623 1622 + 1687 1684 1623 + 1647 1624 1627 + 1627 1624 1688 + 1624 1626 1688 + 1689 1625 1628 + 1690 1626 1625 + 1689 1690 1625 + 1691 1688 1626 + 1690 1691 1626 + 1644 1647 1627 + 1627 1688 1628 + 1692 1628 1688 + 1692 1689 1628 + 1630 1693 1629 + 1629 1694 1695 + 1693 1694 1629 + 1643 1629 1696 + 1629 1695 1696 + 1630 1647 1644 + 1697 1693 1630 + 1646 1697 1630 + 1631 1639 1698 + 1631 1698 1699 + 1700 1632 1631 + 1700 1631 1699 + 1634 1632 1700 + 1698 1639 1634 + 1634 1700 1701 + 1698 1634 1701 + 1637 1640 1635 + 1637 1636 1638 + 1637 1638 1640 + 1702 1645 1641 + 1642 1694 1641 + 1702 1641 1693 + 1694 1693 1641 + 1642 1703 1695 + 1694 1642 1695 + 1642 1643 1703 + 1704 1643 1696 + 1703 1643 1704 + 1705 1645 1702 + 1706 1646 1645 + 1705 1706 1645 + 1707 1697 1646 + 1706 1707 1646 + 1708 1709 1648 + 1648 1710 1708 + 1648 1711 1710 + 1648 1709 1649 + 1712 1711 1648 + 1650 1712 1648 + 1649 1709 1713 + 1649 1713 1714 + 1651 1649 1714 + 1715 1712 1650 + 1674 1671 1650 + 1715 1650 1671 + 1674 1650 1652 + 1651 1714 1716 + 1653 1651 1716 + 1653 1716 1667 + 1654 1653 1717 + 1653 1657 1717 + 1654 1717 1655 + 1655 1717 1718 + 1656 1655 1719 + 1655 1718 1719 + 1657 1656 1720 + 1656 1719 1720 + 1717 1657 1721 + 1657 1720 1721 + 1679 1676 1658 + 1661 1659 1722 + 1659 1660 1723 + 1659 1723 1722 + 1660 1662 1724 + 1660 1724 1723 + 1662 1661 1725 + 1661 1722 1725 + 1662 1725 1724 + 1666 1663 1726 + 1663 1664 1727 + 1663 1727 1726 + 1664 1665 1728 + 1664 1728 1727 + 1665 1666 1729 + 1665 1729 1728 + 1666 1726 1729 + 1667 1730 1668 + 1716 1730 1667 + 1668 1731 1732 + 1668 1732 1733 + 1733 1734 1668 + 1668 1734 1669 + 1730 1731 1668 + 1669 1734 1735 + 1670 1669 1736 + 1669 1735 1736 + 1670 1715 1671 + 1670 1736 1715 + 1737 1672 1671 + 1737 1671 1674 + 1738 1672 1737 + 1738 1739 1672 + 1739 1673 1672 + 1740 1675 1673 + 1739 1740 1673 + 1675 1737 1674 + 1741 1737 1675 + 1740 1741 1675 + 1742 1676 1679 + 1742 1743 1676 + 1743 1677 1676 + 1743 1744 1677 + 1744 1678 1677 + 1745 1679 1678 + 1744 1745 1678 + 1745 1742 1679 + 1746 1680 1683 + 1746 1747 1680 + 1747 1681 1680 + 1748 1682 1681 + 1747 1748 1681 + 1748 1749 1682 + 1749 1683 1682 + 1749 1746 1683 + 1750 1751 1684 + 1751 1685 1684 + 1750 1684 1687 + 1751 1752 1685 + 1752 1686 1685 + 1752 1753 1686 + 1753 1687 1686 + 1753 1750 1687 + 1691 1692 1688 + 1754 1689 1692 + 1754 1755 1689 + 1756 1690 1689 + 1755 1756 1689 + 1756 1757 1690 + 1757 1691 1690 + 1754 1692 1691 + 1757 1754 1691 + 1697 1702 1693 + 1695 1703 1758 + 1695 1758 1759 + 1760 1695 1759 + 1696 1695 1760 + 1761 1704 1696 + 1696 1760 1761 + 1762 1702 1697 + 1707 1762 1697 + 1699 1698 1763 + 1763 1698 1701 + 1699 1763 1764 + 1764 1765 1699 + 1765 1700 1699 + 1701 1700 1766 + 1700 1765 1767 + 1700 1767 1766 + 1701 1766 1768 + 1763 1701 1768 + 1762 1705 1702 + 1703 1769 1770 + 1703 1770 1758 + 1703 1704 1769 + 1771 1704 1761 + 1704 1771 1772 + 1704 1772 1769 + 1773 1705 1762 + 1773 1774 1705 + 1774 1706 1705 + 1775 1707 1706 + 1774 1775 1706 + 1776 1762 1707 + 1775 1776 1707 + 1708 1777 1778 + 1710 1777 1708 + 1708 1779 1709 + 1708 1778 1779 + 1780 1713 1709 + 1780 1709 1781 + 1782 1709 1779 + 1782 1781 1709 + 1710 1783 1777 + 1783 1710 1784 + 1710 1711 1785 + 1710 1785 1784 + 1736 1735 1711 + 1785 1711 1735 + 1736 1711 1712 + 1715 1736 1712 + 1780 1731 1713 + 1714 1713 1731 + 1714 1731 1730 + 1716 1714 1730 + 1717 1721 1718 + 1719 1718 1786 + 1718 1721 1787 + 1718 1787 1786 + 1720 1719 1788 + 1719 1786 1788 + 1721 1720 1789 + 1720 1788 1789 + 1721 1789 1787 + 1725 1722 1790 + 1722 1723 1791 + 1722 1791 1790 + 1723 1724 1792 + 1723 1792 1791 + 1724 1725 1793 + 1724 1793 1792 + 1725 1790 1793 + 1727 1729 1726 + 1727 1728 1729 + 1780 1732 1731 + 1732 1794 1795 + 1732 1795 1733 + 1780 1794 1732 + 1733 1795 1796 + 1733 1796 1797 + 1733 1797 1734 + 1734 1797 1796 + 1734 1796 1798 + 1734 1798 1799 + 1735 1734 1800 + 1734 1799 1800 + 1785 1735 1800 + 1741 1738 1737 + 1801 1738 1741 + 1801 1802 1738 + 1802 1739 1738 + 1802 1803 1739 + 1803 1740 1739 + 1804 1741 1740 + 1803 1804 1740 + 1804 1801 1741 + 1805 1742 1745 + 1805 1806 1742 + 1806 1743 1742 + 1806 1807 1743 + 1807 1744 1743 + 1808 1745 1744 + 1807 1808 1744 + 1808 1805 1745 + 1809 1746 1749 + 1809 1810 1746 + 1810 1747 1746 + 1811 1748 1747 + 1810 1811 1747 + 1811 1812 1748 + 1812 1749 1748 + 1812 1809 1749 + 1750 1753 1752 + 1750 1752 1751 + 1813 1754 1757 + 1813 1814 1754 + 1814 1755 1754 + 1815 1756 1755 + 1814 1815 1755 + 1815 1816 1756 + 1816 1757 1756 + 1816 1813 1757 + 1758 1770 1817 + 1758 1817 1818 + 1759 1758 1818 + 1759 1819 1760 + 1759 1820 1819 + 1820 1759 1821 + 1759 1818 1821 + 1761 1760 1822 + 1823 1760 1819 + 1760 1772 1822 + 1760 1823 1772 + 1824 1771 1761 + 1761 1822 1824 + 1776 1773 1762 + 1764 1763 1825 + 1763 1826 1827 + 1763 1827 1825 + 1763 1768 1826 + 1764 1825 1828 + 1828 1829 1764 + 1829 1765 1764 + 1829 1767 1765 + 1766 1767 1830 + 1766 1830 1831 + 1768 1766 1831 + 1826 1767 1829 + 1767 1826 1832 + 1767 1832 1830 + 1768 1831 1833 + 1833 1826 1768 + 1769 1823 1819 + 1769 1820 1770 + 1769 1819 1820 + 1823 1769 1772 + 1770 1820 1834 + 1770 1834 1817 + 1835 1771 1824 + 1772 1771 1835 + 1836 1837 1772 + 1837 1822 1772 + 1772 1835 1836 + 1776 1775 1773 + 1775 1774 1773 + 1777 1838 1839 + 1783 1838 1777 + 1777 1839 1778 + 1839 1840 1778 + 1841 1778 1840 + 1841 1782 1778 + 1782 1779 1778 + 1780 1841 1840 + 1780 1840 1794 + 1841 1780 1842 + 1780 1781 1843 + 1780 1843 1842 + 1781 1782 1844 + 1781 1844 1843 + 1782 1841 1845 + 1782 1845 1844 + 1783 1846 1838 + 1783 1847 1846 + 1783 1798 1847 + 1798 1783 1799 + 1783 1784 1799 + 1848 1799 1784 + 1849 1848 1784 + 1849 1784 1785 + 1850 1785 1800 + 1850 1849 1785 + 1788 1786 1851 + 1786 1787 1852 + 1786 1852 1851 + 1787 1789 1853 + 1787 1853 1852 + 1789 1788 1854 + 1788 1851 1854 + 1789 1854 1853 + 1793 1790 1855 + 1790 1791 1856 + 1790 1856 1855 + 1791 1792 1857 + 1791 1857 1856 + 1792 1793 1858 + 1792 1858 1857 + 1793 1855 1858 + 1840 1859 1794 + 1859 1795 1794 + 1859 1860 1795 + 1796 1795 1860 + 1796 1860 1847 + 1796 1847 1798 + 1848 1861 1799 + 1861 1800 1799 + 1861 1850 1800 + 1862 1801 1804 + 1862 1863 1801 + 1863 1802 1801 + 1863 1864 1802 + 1864 1803 1802 + 1865 1804 1803 + 1864 1865 1803 + 1865 1862 1804 + 1866 1805 1808 + 1866 1867 1805 + 1867 1806 1805 + 1867 1868 1806 + 1868 1807 1806 + 1869 1808 1807 + 1868 1869 1807 + 1869 1866 1808 + 1812 1810 1809 + 1812 1811 1810 + 1870 1813 1816 + 1870 1871 1813 + 1871 1814 1813 + 1872 1815 1814 + 1871 1872 1814 + 1873 1816 1815 + 1872 1873 1815 + 1873 1870 1816 + 1817 1834 1874 + 1817 1874 1875 + 1818 1817 1875 + 1821 1818 1876 + 1818 1875 1876 + 1820 1821 1834 + 1834 1821 1877 + 1821 1876 1877 + 1824 1822 1837 + 1878 1835 1824 + 1824 1837 1878 + 1828 1825 1879 + 1825 1827 1880 + 1825 1880 1879 + 1826 1829 1827 + 1833 1832 1826 + 1827 1829 1881 + 1827 1881 1880 + 1828 1879 1882 + 1829 1828 1882 + 1829 1882 1881 + 1831 1830 1883 + 1830 1884 1883 + 1830 1832 1884 + 1831 1883 1885 + 1833 1831 1885 + 1886 1832 1833 + 1886 1884 1832 + 1833 1885 1886 + 1834 1877 1874 + 1887 1835 1878 + 1888 1836 1835 + 1888 1835 1887 + 1888 1889 1836 + 1889 1837 1836 + 1890 1878 1837 + 1890 1837 1889 + 1838 1860 1859 + 1846 1860 1838 + 1838 1859 1839 + 1839 1859 1840 + 1841 1842 1845 + 1845 1842 1891 + 1842 1843 1892 + 1842 1892 1891 + 1843 1844 1893 + 1843 1893 1892 + 1844 1845 1894 + 1844 1894 1893 + 1845 1891 1894 + 1846 1847 1860 + 1895 1896 1848 + 1896 1861 1848 + 1895 1848 1849 + 1897 1895 1849 + 1897 1849 1850 + 1898 1850 1861 + 1898 1897 1850 + 1854 1851 1899 + 1851 1852 1900 + 1851 1900 1899 + 1852 1853 1901 + 1852 1901 1900 + 1853 1854 1902 + 1853 1902 1901 + 1854 1899 1902 + 1858 1855 1856 + 1858 1856 1857 + 1896 1898 1861 + 1903 1862 1865 + 1903 1904 1862 + 1904 1863 1862 + 1904 1905 1863 + 1905 1864 1863 + 1906 1865 1864 + 1905 1906 1864 + 1906 1903 1865 + 1869 1867 1866 + 1869 1868 1867 + 1907 1908 1870 + 1907 1870 1873 + 1908 1871 1870 + 1909 1872 1871 + 1908 1909 1871 + 1910 1873 1872 + 1909 1910 1872 + 1910 1907 1873 + 1875 1874 1877 + 1876 1875 1877 + 1890 1887 1878 + 1882 1879 1911 + 1879 1880 1912 + 1879 1912 1911 + 1880 1881 1913 + 1880 1913 1912 + 1881 1882 1914 + 1881 1914 1913 + 1882 1911 1914 + 1883 1915 1916 + 1885 1883 1916 + 1883 1884 1915 + 1917 1884 1886 + 1917 1915 1884 + 1886 1885 1918 + 1885 1916 1918 + 1886 1918 1917 + 1919 1887 1890 + 1920 1921 1887 + 1919 1920 1887 + 1888 1887 1921 + 1922 1923 1888 + 1923 1889 1888 + 1888 1921 1922 + 1924 1890 1889 + 1924 1889 1923 + 1924 1919 1890 + 1894 1891 1925 + 1891 1892 1926 + 1891 1926 1925 + 1892 1893 1927 + 1892 1927 1926 + 1893 1894 1928 + 1893 1928 1927 + 1894 1925 1928 + 1929 1930 1895 + 1929 1895 1897 + 1930 1896 1895 + 1930 1931 1896 + 1931 1898 1896 + 1932 1897 1898 + 1932 1929 1897 + 1931 1932 1898 + 1902 1899 1933 + 1899 1900 1934 + 1899 1934 1933 + 1900 1901 1935 + 1900 1935 1934 + 1901 1902 1936 + 1901 1936 1935 + 1902 1933 1936 + 1937 1903 1906 + 1937 1938 1903 + 1938 1904 1903 + 1938 1939 1904 + 1939 1905 1904 + 1940 1906 1905 + 1939 1940 1905 + 1940 1937 1906 + 1908 1907 1910 + 1909 1908 1910 + 1914 1911 1941 + 1911 1912 1942 + 1911 1942 1941 + 1912 1913 1943 + 1912 1943 1942 + 1913 1944 1943 + 1913 1914 1944 + 1914 1941 1944 + 1916 1915 1945 + 1946 1915 1917 + 1946 1945 1915 + 1916 1945 1947 + 1918 1916 1947 + 1917 1918 1948 + 1917 1948 1946 + 1918 1947 1948 + 1949 1920 1919 + 1950 1949 1919 + 1950 1919 1924 + 1921 1920 1951 + 1951 1920 1952 + 1953 1952 1920 + 1949 1953 1920 + 1922 1921 1951 + 1954 1955 1922 + 1955 1923 1922 + 1922 1951 1954 + 1956 1952 1923 + 1955 1956 1923 + 1952 1924 1923 + 1957 1950 1924 + 1924 1952 1957 + 1928 1925 1958 + 1925 1926 1959 + 1925 1959 1958 + 1926 1927 1960 + 1926 1960 1959 + 1927 1928 1961 + 1927 1961 1960 + 1928 1958 1961 + 1962 1963 1929 + 1962 1929 1932 + 1963 1930 1929 + 1963 1964 1930 + 1964 1931 1930 + 1964 1965 1931 + 1965 1932 1931 + 1965 1962 1932 + 1936 1933 1934 + 1936 1934 1935 + 1940 1938 1937 + 1940 1939 1938 + 1944 1941 1966 + 1941 1942 1967 + 1941 1967 1966 + 1942 1943 1968 + 1942 1968 1967 + 1943 1944 1969 + 1943 1969 1968 + 1944 1966 1969 + 1947 1945 1946 + 1947 1946 1948 + 1970 1949 1950 + 1970 1971 1949 + 1971 1953 1949 + 1972 1970 1950 + 1972 1950 1957 + 1973 1954 1951 + 1956 1951 1952 + 1974 1973 1951 + 1974 1951 1956 + 1952 1953 1957 + 1957 1953 1975 + 1953 1971 1975 + 1976 1955 1954 + 1973 1976 1954 + 1977 1956 1955 + 1976 1977 1955 + 1977 1974 1956 + 1975 1972 1957 + 1961 1958 1978 + 1958 1959 1979 + 1958 1979 1978 + 1959 1960 1980 + 1959 1980 1979 + 1960 1961 1981 + 1960 1981 1980 + 1961 1978 1981 + 1982 1983 1962 + 1982 1962 1965 + 1983 1963 1962 + 1983 1984 1963 + 1984 1964 1963 + 1984 1985 1964 + 1985 1965 1964 + 1985 1982 1965 + 1967 1969 1966 + 1967 1968 1969 + 1986 1987 1970 + 1986 1970 1972 + 1987 1971 1970 + 1975 1971 1988 + 1971 1987 1988 + 1989 1972 1975 + 1989 1986 1972 + 1990 1973 1974 + 1991 1976 1973 + 1990 1991 1973 + 1992 1974 1977 + 1992 1990 1974 + 1988 1989 1975 + 1993 1977 1976 + 1991 1993 1976 + 1993 1992 1977 + 1981 1978 1994 + 1978 1979 1995 + 1978 1995 1994 + 1979 1980 1996 + 1979 1996 1995 + 1980 1981 1997 + 1980 1997 1996 + 1981 1994 1997 + 1998 1999 1982 + 1999 1983 1982 + 1998 1982 1985 + 1999 2000 1983 + 2000 1984 1983 + 2000 2001 1984 + 2001 1985 1984 + 2001 1998 1985 + 2002 1987 1986 + 2003 2002 1986 + 2003 1986 1989 + 1988 1987 2004 + 1987 2002 2004 + 2005 1989 1988 + 2005 1988 2004 + 2005 2003 1989 + 2006 1990 1992 + 2007 1991 1990 + 2006 2007 1990 + 2008 1993 1991 + 2007 2008 1991 + 2009 2006 1992 + 2009 1992 1993 + 2008 2009 1993 + 1995 1997 1994 + 1995 1996 1997 + 2001 1999 1998 + 2001 2000 1999 + 2004 2002 2003 + 2005 2004 2003 + 2010 2006 2009 + 2011 2007 2006 + 2010 2011 2006 + 2012 2008 2007 + 2011 2012 2007 + 2013 2009 2008 + 2012 2013 2008 + 2013 2010 2009 + 2011 2010 2013 + 2011 2013 2012 + 2014 2015 2016 + 2017 2018 2014 + 2017 2014 2019 + 2018 2015 2014 + 2019 2014 2020 + 2014 2016 2020 + 2018 2021 2015 + 2021 2022 2015 + 2015 2022 2023 + 2015 2023 2016 + 2016 2023 2020 + 2024 2025 2017 + 2024 2017 2026 + 2025 2018 2017 + 2026 2017 2019 + 2025 2027 2018 + 2027 2021 2018 + 2019 2028 2026 + 2019 2029 2028 + 2019 2020 2029 + 2023 2029 2020 + 2027 2030 2021 + 2030 2031 2021 + 2021 2031 2022 + 2031 2032 2022 + 2022 2032 2033 + 2022 2033 2023 + 2023 2033 2029 + 2034 2035 2024 + 2035 2025 2024 + 2034 2024 2036 + 2036 2024 2026 + 2035 2037 2025 + 2037 2027 2025 + 2036 2026 2038 + 2038 2026 2028 + 2037 2039 2027 + 2039 2030 2027 + 2038 2028 2032 + 2032 2028 2040 + 2028 2029 2040 + 2033 2040 2029 + 2039 2041 2030 + 2041 2042 2030 + 2030 2042 2031 + 2042 2038 2031 + 2031 2038 2032 + 2032 2040 2033 + 2043 2044 2034 + 2043 2034 2045 + 2044 2035 2034 + 2045 2034 2036 + 2046 2037 2035 + 2044 2046 2035 + 2045 2036 2042 + 2042 2036 2038 + 2046 2047 2037 + 2047 2039 2037 + 2047 2048 2039 + 2048 2041 2039 + 2048 2049 2041 + 2049 2045 2041 + 2041 2045 2042 + 2050 2051 2043 + 2050 2043 2049 + 2051 2044 2043 + 2049 2043 2045 + 2051 2052 2044 + 2052 2046 2044 + 2052 2053 2046 + 2053 2047 2046 + 2053 2054 2047 + 2054 2048 2047 + 2054 2055 2048 + 2055 2049 2048 + 2055 2050 2049 + 2056 2057 2050 + 2057 2051 2050 + 2056 2050 2055 + 2057 2058 2051 + 2058 2052 2051 + 2058 2059 2052 + 2059 2053 2052 + 2059 2060 2053 + 2060 2054 2053 + 2060 2061 2054 + 2061 2055 2054 + 2061 2056 2055 + 2062 2063 2056 + 2062 2056 2061 + 2063 2057 2056 + 2063 2064 2057 + 2064 2058 2057 + 2064 2065 2058 + 2065 2059 2058 + 2065 2066 2059 + 2066 2060 2059 + 2066 2061 2060 + 2066 2062 2061 + 2067 2068 2062 + 2068 2069 2062 + 2069 2063 2062 + 2062 2066 2070 + 2070 2067 2062 + 2069 2071 2063 + 2071 2064 2063 + 2071 2072 2064 + 2072 2065 2064 + 2072 2070 2065 + 2070 2066 2065 + 2073 2067 2070 + 2073 2074 2067 + 2068 2067 2074 + 2075 2069 2068 + 2075 2068 2074 + 2075 2076 2069 + 2076 2071 2069 + 2077 2073 2070 + 2077 2070 2072 + 2076 2078 2071 + 2078 2072 2071 + 2078 2077 2072 + 2079 2080 2073 + 2079 2073 2077 + 2080 2074 2073 + 2080 2081 2074 + 2075 2074 2081 + 2081 2082 2075 + 2082 2076 2075 + 2082 2083 2076 + 2083 2078 2076 + 2084 2079 2077 + 2084 2077 2078 + 2083 2084 2078 + 2085 2086 2079 + 2085 2079 2084 + 2086 2080 2079 + 2086 2087 2080 + 2087 2081 2080 + 2087 2088 2081 + 2088 2082 2081 + 2088 2089 2082 + 2089 2083 2082 + 2089 2090 2083 + 2090 2084 2083 + 2090 2085 2084 + 2091 2092 2085 + 2091 2085 2090 + 2092 2086 2085 + 2092 2093 2086 + 2093 2087 2086 + 2093 2094 2087 + 2094 2088 2087 + 2094 2095 2088 + 2095 2089 2088 + 2095 2096 2089 + 2096 2090 2089 + 2096 2091 2090 + 2097 2098 2091 + 2097 2091 2096 + 2098 2092 2091 + 2098 2099 2092 + 2093 2092 2099 + 2094 2093 2099 + 2099 2100 2094 + 2100 2095 2094 + 2100 2101 2095 + 2101 2096 2095 + 2101 2097 2096 + 2102 2103 2097 + 2102 2097 2101 + 2103 2098 2097 + 2103 2104 2098 + 2104 2099 2098 + 2105 2106 2099 + 2106 2100 2099 + 2104 2105 2099 + 2106 2107 2100 + 2107 2101 2100 + 2107 2102 2101 + 2106 2103 2102 + 2106 2102 2107 + 2106 2104 2103 + 2106 2105 2104 + 2108 2109 2110 + 2108 2111 2112 + 2108 2112 2109 + 2113 2114 2108 + 2108 2110 2115 + 2114 2111 2108 + 2113 2108 2115 + 2116 2117 2109 + 2116 2109 2112 + 2117 2110 2109 + 2117 2118 2110 + 2118 2115 2110 + 2114 2119 2111 + 2119 2112 2111 + 2119 2116 2112 + 2118 2113 2115 + 2120 2121 2113 + 2120 2113 2118 + 2121 2114 2113 + 2121 2122 2114 + 2119 2114 2122 + 2123 2124 2116 + 2123 2116 2119 + 2124 2117 2116 + 2124 2125 2117 + 2125 2118 2117 + 2125 2120 2118 + 2122 2123 2119 + 2126 2127 2120 + 2126 2120 2125 + 2127 2121 2120 + 2127 2128 2121 + 2128 2122 2121 + 2128 2129 2122 + 2129 2123 2122 + 2129 2130 2123 + 2130 2124 2123 + 2130 2131 2124 + 2131 2125 2124 + 2131 2126 2125 + 2132 2133 2126 + 2132 2126 2131 + 2133 2127 2126 + 2133 2134 2127 + 2134 2128 2127 + 2134 2135 2128 + 2135 2129 2128 + 2135 2136 2129 + 2136 2130 2129 + 2136 2137 2130 + 2137 2131 2130 + 2137 2132 2131 + 2138 2139 2132 + 2138 2132 2137 + 2139 2133 2132 + 2139 2140 2133 + 2140 2134 2133 + 2140 2141 2134 + 2141 2135 2134 + 2141 2142 2135 + 2142 2136 2135 + 2142 2143 2136 + 2143 2137 2136 + 2143 2138 2137 + 2144 2145 2138 + 2144 2138 2143 + 2145 2139 2138 + 2145 2146 2139 + 2146 2140 2139 + 2146 2147 2140 + 2141 2140 2147 + 2147 2148 2141 + 2148 2142 2141 + 2148 2149 2142 + 2149 2143 2142 + 2149 2144 2143 + 2150 2151 2144 + 2151 2145 2144 + 2150 2144 2149 + 2151 2152 2145 + 2152 2146 2145 + 2152 2153 2146 + 2153 2147 2146 + 2153 2154 2147 + 2154 2148 2147 + 2154 2155 2148 + 2155 2149 2148 + 2155 2150 2149 + 2156 2157 2150 + 2156 2150 2155 + 2157 2151 2150 + 2157 2158 2151 + 2158 2152 2151 + 2158 2159 2152 + 2159 2153 2152 + 2159 2160 2153 + 2160 2154 2153 + 2160 2161 2154 + 2161 2155 2154 + 2161 2156 2155 + 2162 2156 2163 + 2163 2156 2161 + 2162 2157 2156 + 2162 2164 2157 + 2164 2158 2157 + 2164 2165 2158 + 2165 2159 2158 + 2165 2166 2159 + 2166 2160 2159 + 2166 2167 2160 + 2167 2161 2160 + 2167 2163 2161 + 2162 2163 2168 + 2168 2169 2162 + 2169 2164 2162 + 2170 2168 2163 + 2170 2163 2167 + 2169 2171 2164 + 2171 2165 2164 + 2171 2172 2165 + 2172 2166 2165 + 2172 2173 2166 + 2173 2167 2166 + 2173 2170 2167 + 2174 2168 2170 + 2174 2175 2168 + 2169 2168 2175 + 2175 2176 2169 + 2176 2171 2169 + 2177 2174 2170 + 2177 2170 2173 + 2176 2178 2171 + 2178 2172 2171 + 2178 2179 2172 + 2179 2173 2172 + 2179 2177 2173 + 2180 2174 2177 + 2180 2181 2174 + 2181 2175 2174 + 2181 2182 2175 + 2176 2175 2182 + 2182 2183 2176 + 2183 2178 2176 + 2184 2180 2177 + 2184 2177 2179 + 2183 2185 2178 + 2185 2179 2178 + 2185 2184 2179 + 2186 2180 2184 + 2186 2187 2180 + 2187 2181 2180 + 2187 2188 2181 + 2188 2182 2181 + 2188 2189 2182 + 2189 2183 2182 + 2189 2190 2183 + 2190 2185 2183 + 2191 2186 2184 + 2191 2184 2185 + 2190 2191 2185 + 2192 2186 2191 + 2192 2193 2186 + 2193 2187 2186 + 2193 2194 2187 + 2194 2188 2187 + 2194 2195 2188 + 2195 2189 2188 + 2195 2196 2189 + 2190 2189 2196 + 2197 2191 2190 + 2196 2197 2190 + 2197 2192 2191 + 2198 2192 2197 + 2198 2199 2192 + 2199 2193 2192 + 2199 2200 2193 + 2200 2194 2193 + 2200 2201 2194 + 2201 2195 2194 + 2201 2202 2195 + 2202 2196 2195 + 2197 2196 2203 + 2202 2203 2196 + 2203 2198 2197 + 2203 2199 2198 + 2200 2199 2203 + 2202 2200 2203 + 2202 2201 2200 + 2204 2205 2206 + 2204 2207 2208 + 2204 2208 2205 + 2209 2210 2204 + 2209 2204 2206 + 2210 2207 2204 + 2211 2212 2205 + 2211 2205 2208 + 2212 2206 2205 + 2212 2209 2206 + 2210 2213 2207 + 2213 2208 2207 + 2213 2211 2208 + 2214 2215 2209 + 2214 2209 2212 + 2215 2210 2209 + 2215 2216 2210 + 2216 2213 2210 + 2217 2218 2211 + 2218 2212 2211 + 2217 2211 2213 + 2218 2214 2212 + 2216 2217 2213 + 2219 2220 2214 + 2219 2214 2218 + 2220 2215 2214 + 2220 2221 2215 + 2221 2216 2215 + 2221 2222 2216 + 2222 2217 2216 + 2222 2223 2217 + 2223 2218 2217 + 2223 2219 2218 + 2224 2225 2219 + 2225 2220 2219 + 2224 2219 2223 + 2225 2226 2220 + 2226 2221 2220 + 2226 2227 2221 + 2227 2222 2221 + 2227 2228 2222 + 2228 2223 2222 + 2228 2224 2223 + 2229 2230 2224 + 2229 2224 2228 + 2230 2225 2224 + 2230 2231 2225 + 2231 2226 2225 + 2231 2232 2226 + 2232 2227 2226 + 2232 2233 2227 + 2233 2228 2227 + 2233 2229 2228 + 2234 2235 2229 + 2234 2229 2233 + 2235 2230 2229 + 2235 2236 2230 + 2236 2231 2230 + 2236 2237 2231 + 2237 2232 2231 + 2237 2238 2232 + 2238 2233 2232 + 2238 2234 2233 + 2239 2240 2234 + 2239 2234 2238 + 2240 2235 2234 + 2240 2241 2235 + 2241 2236 2235 + 2241 2242 2236 + 2242 2237 2236 + 2242 2243 2237 + 2243 2238 2237 + 2243 2239 2238 + 2244 2245 2239 + 2244 2239 2243 + 2245 2240 2239 + 2245 2246 2240 + 2246 2241 2240 + 2246 2247 2241 + 2247 2242 2241 + 2247 2248 2242 + 2248 2243 2242 + 2248 2244 2243 + 2249 2250 2244 + 2249 2244 2248 + 2250 2245 2244 + 2251 2246 2245 + 2252 2251 2245 + 2250 2252 2245 + 2246 2251 2253 + 2253 2247 2246 + 2253 2254 2247 + 2254 2248 2247 + 2254 2249 2248 + 2249 2252 2250 + 2249 2254 2253 + 2249 2253 2252 + 2251 2252 2253 + 2255 2256 2257 + 2255 2258 2259 + 2260 2261 2255 + 2255 2259 2256 + 2260 2255 2257 + 2261 2258 2255 + 2256 2262 2257 + 2263 2264 2256 + 2263 2256 2259 + 2264 2262 2256 + 2265 2260 2257 + 2265 2257 2262 + 2261 2266 2258 + 2266 2259 2258 + 2266 2263 2259 + 2267 2268 2260 + 2268 2261 2260 + 2267 2260 2265 + 2268 2269 2261 + 2269 2266 2261 + 2264 2265 2262 + 2270 2271 2263 + 2270 2263 2266 + 2271 2264 2263 + 2271 2272 2264 + 2272 2265 2264 + 2272 2267 2265 + 2269 2270 2266 + 2273 2274 2267 + 2273 2267 2272 + 2274 2268 2267 + 2274 2275 2268 + 2275 2269 2268 + 2275 2276 2269 + 2276 2270 2269 + 2276 2277 2270 + 2277 2271 2270 + 2277 2278 2271 + 2278 2272 2271 + 2278 2273 2272 + 2279 2280 2273 + 2279 2273 2278 + 2280 2274 2273 + 2280 2281 2274 + 2281 2275 2274 + 2281 2282 2275 + 2282 2276 2275 + 2282 2283 2276 + 2283 2277 2276 + 2283 2284 2277 + 2284 2278 2277 + 2284 2279 2278 + 2285 2286 2279 + 2285 2279 2284 + 2286 2280 2279 + 2286 2287 2280 + 2287 2281 2280 + 2287 2288 2281 + 2288 2282 2281 + 2288 2289 2282 + 2289 2283 2282 + 2289 2290 2283 + 2290 2284 2283 + 2290 2285 2284 + 2291 2292 2285 + 2291 2285 2290 + 2292 2286 2285 + 2292 2293 2286 + 2293 2287 2286 + 2293 2294 2287 + 2294 2288 2287 + 2294 2295 2288 + 2295 2289 2288 + 2295 2296 2289 + 2296 2290 2289 + 2296 2291 2290 + 2297 2298 2291 + 2297 2291 2296 + 2298 2292 2291 + 2298 2299 2292 + 2299 2293 2292 + 2299 2300 2293 + 2300 2294 2293 + 2300 2301 2294 + 2301 2295 2294 + 2301 2302 2295 + 2302 2296 2295 + 2302 2297 2296 + 2303 2304 2297 + 2304 2298 2297 + 2303 2297 2302 + 2304 2305 2298 + 2305 2299 2298 + 2305 2306 2299 + 2306 2300 2299 + 2306 2307 2300 + 2307 2301 2300 + 2307 2308 2301 + 2308 2302 2301 + 2308 2303 2302 + 2309 2310 2303 + 2309 2303 2308 + 2310 2304 2303 + 2310 2311 2304 + 2311 2305 2304 + 2311 2312 2305 + 2312 2306 2305 + 2312 2313 2306 + 2313 2307 2306 + 2313 2314 2307 + 2314 2308 2307 + 2314 2309 2308 + 2315 2316 2309 + 2315 2309 2314 + 2316 2310 2309 + 2316 2317 2310 + 2317 2311 2310 + 2317 2318 2311 + 2318 2312 2311 + 2318 2319 2312 + 2319 2313 2312 + 2319 2320 2313 + 2320 2314 2313 + 2320 2315 2314 + 2321 2322 2315 + 2321 2315 2320 + 2322 2316 2315 + 2322 2323 2316 + 2323 2317 2316 + 2323 2324 2317 + 2324 2318 2317 + 2324 2325 2318 + 2325 2319 2318 + 2325 2326 2319 + 2326 2320 2319 + 2321 2320 2326 + 2327 2328 2321 + 2327 2321 2326 + 2328 2322 2321 + 2328 2329 2322 + 2329 2323 2322 + 2329 2330 2323 + 2330 2324 2323 + 2330 2331 2324 + 2331 2325 2324 + 2331 2332 2325 + 2332 2326 2325 + 2332 2327 2326 + 2333 2334 2327 + 2333 2327 2332 + 2334 2328 2327 + 2334 2335 2328 + 2335 2329 2328 + 2335 2336 2329 + 2336 2330 2329 + 2336 2337 2330 + 2337 2331 2330 + 2337 2338 2331 + 2338 2332 2331 + 2338 2333 2332 + 2339 2340 2333 + 2340 2334 2333 + 2339 2333 2338 + 2340 2341 2334 + 2341 2335 2334 + 2341 2342 2335 + 2342 2336 2335 + 2342 2343 2336 + 2343 2337 2336 + 2343 2344 2337 + 2344 2338 2337 + 2344 2339 2338 + 2345 2339 2346 + 2346 2339 2344 + 2345 2340 2339 + 2345 2347 2340 + 2347 2341 2340 + 2347 2348 2341 + 2348 2342 2341 + 2348 2349 2342 + 2349 2343 2342 + 2349 2350 2343 + 2350 2344 2343 + 2350 2346 2344 + 2350 2345 2346 + 2348 2347 2345 + 2348 2345 2350 + 2348 2350 2349 + 2351 2352 2353 + 2354 2351 2355 + 2351 2354 2356 + 2351 2353 2355 + 2351 2356 2352 + 2352 2356 2357 + 2352 2357 2353 + 2355 2353 2358 + 2353 2357 2359 + 2353 2359 2358 + 2356 2354 2360 + 2354 2355 2360 + 2360 2355 2361 + 2355 2358 2361 + 2356 2360 2357 + 2357 2360 2362 + 2357 2362 2359 + 2361 2358 2363 + 2358 2359 2364 + 2358 2364 2363 + 2359 2362 2365 + 2359 2365 2364 + 2360 2361 2362 + 2362 2361 2366 + 2361 2363 2366 + 2362 2366 2365 + 2366 2363 2367 + 2363 2364 2368 + 2363 2368 2367 + 2364 2365 2369 + 2364 2369 2368 + 2365 2366 2370 + 2365 2370 2369 + 2366 2367 2370 + 2370 2367 2371 + 2367 2368 2372 + 2367 2372 2371 + 2368 2369 2373 + 2368 2373 2372 + 2369 2370 2374 + 2369 2374 2373 + 2370 2371 2374 + 2374 2371 2375 + 2371 2372 2376 + 2371 2376 2375 + 2372 2373 2377 + 2372 2377 2376 + 2373 2374 2378 + 2373 2378 2377 + 2374 2375 2378 + 2378 2375 2379 + 2375 2376 2380 + 2375 2380 2379 + 2376 2377 2381 + 2376 2381 2380 + 2377 2378 2382 + 2377 2382 2381 + 2378 2379 2382 + 2382 2379 2383 + 2379 2380 2384 + 2379 2384 2383 + 2380 2381 2385 + 2380 2385 2384 + 2381 2382 2386 + 2381 2386 2385 + 2382 2383 2386 + 2386 2383 2387 + 2383 2384 2388 + 2383 2388 2387 + 2384 2385 2389 + 2384 2389 2388 + 2385 2386 2390 + 2385 2390 2389 + 2386 2387 2390 + 2390 2387 2391 + 2387 2388 2392 + 2387 2392 2391 + 2388 2389 2393 + 2388 2393 2392 + 2389 2390 2394 + 2389 2394 2393 + 2390 2391 2394 + 2394 2391 2395 + 2391 2392 2396 + 2391 2396 2395 + 2392 2393 2397 + 2392 2397 2396 + 2393 2394 2398 + 2393 2398 2397 + 2394 2395 2398 + 2398 2395 2399 + 2395 2396 2400 + 2395 2400 2399 + 2396 2397 2401 + 2396 2401 2400 + 2397 2398 2402 + 2397 2402 2401 + 2398 2399 2402 + 2402 2399 2403 + 2399 2400 2404 + 2399 2404 2403 + 2400 2401 2405 + 2400 2405 2404 + 2401 2402 2406 + 2401 2406 2405 + 2402 2403 2406 + 2406 2403 2407 + 2403 2404 2408 + 2403 2408 2407 + 2404 2405 2409 + 2404 2409 2408 + 2405 2406 2410 + 2405 2410 2409 + 2406 2407 2410 + 2410 2407 2411 + 2407 2408 2412 + 2407 2412 2411 + 2408 2409 2413 + 2408 2413 2412 + 2409 2410 2414 + 2409 2414 2413 + 2410 2411 2414 + 2413 2414 2411 + 2413 2411 2412 + 2415 2416 2417 + 2418 2415 2419 + 2415 2417 2420 + 2415 2418 2416 + 2419 2415 2420 + 2416 2421 2422 + 2418 2423 2416 + 2417 2416 2422 + 2416 2423 2421 + 2420 2417 2424 + 2417 2422 2425 + 2424 2417 2425 + 2419 2423 2418 + 2419 2424 2423 + 2419 2420 2424 + 2421 2426 2427 + 2423 2428 2421 + 2422 2421 2427 + 2421 2428 2426 + 2422 2427 2429 + 2425 2422 2429 + 2423 2424 2428 + 2424 2425 2428 + 2425 2429 2430 + 2428 2425 2430 + 2426 2431 2432 + 2428 2430 2426 + 2427 2426 2432 + 2426 2430 2431 + 2427 2432 2433 + 2429 2427 2433 + 2429 2433 2434 + 2430 2429 2434 + 2430 2434 2431 + 2431 2435 2436 + 2432 2431 2436 + 2431 2434 2435 + 2432 2436 2437 + 2433 2432 2437 + 2433 2437 2438 + 2434 2433 2438 + 2434 2438 2435 + 2435 2439 2440 + 2436 2435 2440 + 2435 2438 2439 + 2436 2440 2441 + 2437 2436 2441 + 2437 2441 2442 + 2438 2437 2442 + 2438 2442 2439 + 2439 2443 2444 + 2440 2439 2444 + 2439 2442 2443 + 2440 2444 2445 + 2441 2440 2445 + 2441 2445 2446 + 2442 2441 2446 + 2442 2446 2443 + 2443 2447 2448 + 2444 2443 2448 + 2443 2446 2447 + 2444 2448 2449 + 2445 2444 2449 + 2445 2449 2450 + 2446 2445 2450 + 2446 2450 2447 + 2447 2451 2452 + 2448 2447 2452 + 2447 2450 2451 + 2448 2452 2453 + 2449 2448 2453 + 2449 2453 2454 + 2450 2449 2454 + 2450 2454 2451 + 2451 2455 2456 + 2452 2451 2456 + 2451 2454 2455 + 2452 2456 2457 + 2453 2452 2457 + 2453 2457 2458 + 2454 2453 2458 + 2454 2458 2455 + 2455 2459 2460 + 2456 2455 2460 + 2455 2458 2459 + 2456 2460 2461 + 2457 2456 2461 + 2457 2461 2462 + 2458 2457 2462 + 2458 2462 2459 + 2459 2463 2464 + 2460 2459 2464 + 2459 2462 2463 + 2460 2464 2465 + 2461 2460 2465 + 2461 2465 2466 + 2462 2461 2466 + 2462 2466 2463 + 2463 2467 2468 + 2464 2463 2468 + 2463 2466 2467 + 2464 2468 2469 + 2465 2464 2469 + 2465 2469 2470 + 2466 2465 2470 + 2466 2470 2467 + 2467 2471 2472 + 2468 2467 2472 + 2467 2470 2471 + 2468 2472 2473 + 2469 2468 2473 + 2469 2473 2474 + 2470 2469 2474 + 2470 2474 2471 + 2471 2475 2476 + 2472 2471 2476 + 2471 2474 2475 + 2472 2476 2477 + 2473 2472 2477 + 2473 2477 2478 + 2474 2473 2478 + 2474 2478 2475 + 2477 2476 2475 + 2475 2478 2477 + 2479 2480 2481 + 2482 2479 2483 + 2484 2480 2479 + 2479 2481 2483 + 2484 2479 2482 + 2480 2485 2486 + 2484 2485 2480 + 2480 2486 2481 + 2483 2481 2487 + 2481 2486 2488 + 2481 2488 2487 + 2489 2482 2490 + 2482 2483 2490 + 2484 2482 2489 + 2490 2483 2491 + 2483 2487 2491 + 2485 2484 2492 + 2484 2489 2493 + 2484 2493 2492 + 2485 2492 2486 + 2486 2492 2494 + 2486 2494 2488 + 2491 2487 2495 + 2487 2488 2496 + 2487 2496 2495 + 2488 2494 2497 + 2488 2497 2496 + 2489 2490 2493 + 2493 2490 2498 + 2490 2491 2498 + 2498 2491 2499 + 2491 2495 2499 + 2492 2493 2500 + 2492 2500 2494 + 2493 2498 2500 + 2494 2500 2501 + 2494 2501 2497 + 2499 2495 2502 + 2495 2496 2503 + 2495 2503 2502 + 2496 2497 2504 + 2496 2504 2503 + 2497 2501 2505 + 2497 2505 2504 + 2500 2498 2506 + 2498 2499 2506 + 2506 2499 2507 + 2499 2502 2507 + 2500 2506 2501 + 2501 2506 2508 + 2501 2508 2505 + 2507 2502 2509 + 2502 2503 2510 + 2502 2510 2509 + 2503 2504 2511 + 2503 2511 2510 + 2504 2505 2512 + 2504 2512 2511 + 2505 2508 2513 + 2505 2513 2512 + 2506 2507 2508 + 2508 2507 2514 + 2507 2509 2514 + 2508 2514 2513 + 2514 2509 2515 + 2509 2510 2516 + 2509 2516 2515 + 2511 2517 2510 + 2510 2517 2516 + 2511 2512 2518 + 2511 2518 2517 + 2512 2513 2519 + 2512 2519 2518 + 2513 2514 2520 + 2513 2520 2519 + 2514 2515 2520 + 2520 2515 2521 + 2515 2516 2522 + 2515 2522 2521 + 2516 2517 2523 + 2516 2523 2522 + 2517 2518 2524 + 2517 2524 2523 + 2518 2519 2525 + 2518 2525 2524 + 2519 2520 2526 + 2519 2526 2525 + 2520 2521 2526 + 2526 2521 2527 + 2521 2522 2528 + 2521 2528 2527 + 2522 2523 2529 + 2522 2529 2528 + 2523 2524 2530 + 2523 2530 2529 + 2524 2525 2531 + 2524 2531 2530 + 2525 2526 2532 + 2525 2532 2531 + 2526 2527 2532 + 2532 2527 2533 + 2527 2528 2534 + 2527 2534 2533 + 2528 2529 2535 + 2528 2535 2534 + 2529 2530 2536 + 2529 2536 2535 + 2530 2531 2537 + 2530 2537 2536 + 2531 2532 2538 + 2531 2538 2537 + 2532 2533 2538 + 2538 2533 2539 + 2533 2534 2540 + 2533 2540 2539 + 2534 2535 2541 + 2534 2541 2540 + 2535 2536 2542 + 2535 2542 2541 + 2536 2537 2543 + 2536 2543 2542 + 2537 2538 2544 + 2537 2544 2543 + 2538 2539 2544 + 2544 2539 2545 + 2539 2540 2546 + 2539 2546 2545 + 2540 2541 2547 + 2540 2547 2546 + 2541 2542 2548 + 2541 2548 2547 + 2542 2543 2549 + 2542 2549 2548 + 2543 2544 2550 + 2543 2550 2549 + 2544 2545 2550 + 2550 2545 2551 + 2545 2546 2552 + 2545 2552 2551 + 2546 2547 2553 + 2553 2552 2546 + 2547 2548 2554 + 2547 2554 2553 + 2548 2549 2555 + 2548 2555 2554 + 2549 2550 2556 + 2549 2556 2555 + 2550 2551 2556 + 2556 2551 2557 + 2551 2552 2558 + 2551 2558 2557 + 2552 2553 2559 + 2552 2559 2558 + 2553 2554 2560 + 2553 2560 2559 + 2554 2555 2561 + 2554 2561 2560 + 2555 2556 2562 + 2555 2562 2561 + 2556 2557 2562 + 2562 2557 2563 + 2557 2558 2564 + 2557 2564 2563 + 2558 2559 2565 + 2558 2565 2564 + 2559 2560 2566 + 2559 2566 2565 + 2560 2561 2567 + 2560 2567 2566 + 2561 2562 2568 + 2561 2568 2567 + 2562 2563 2568 + 2568 2563 2569 + 2563 2564 2570 + 2563 2570 2569 + 2564 2565 2571 + 2564 2571 2570 + 2565 2566 2572 + 2565 2572 2571 + 2566 2567 2573 + 2566 2573 2572 + 2567 2568 2574 + 2567 2574 2573 + 2568 2569 2574 + 2574 2569 2570 + 2574 2570 2571 + 2571 2572 2573 + 2574 2571 2573 + 2575 2576 2577 + 2578 2575 2579 + 2575 2578 2580 + 2575 2577 2579 + 2575 2580 2581 + 2575 2581 2576 + 2576 2582 2583 + 2581 2582 2576 + 2576 2583 2577 + 2579 2577 2584 + 2577 2583 2585 + 2577 2585 2584 + 2580 2578 2586 + 2578 2579 2586 + 2586 2579 2587 + 2579 2584 2587 + 2581 2580 2588 + 2580 2586 2588 + 2582 2581 2589 + 2581 2588 2589 + 2582 2589 2583 + 2583 2589 2590 + 2583 2590 2585 + 2587 2584 2591 + 2584 2585 2592 + 2584 2592 2591 + 2585 2590 2593 + 2585 2593 2592 + 2588 2586 2594 + 2586 2587 2594 + 2594 2587 2595 + 2587 2591 2595 + 2589 2588 2596 + 2588 2594 2596 + 2589 2596 2590 + 2590 2596 2597 + 2590 2597 2593 + 2595 2591 2598 + 2591 2592 2599 + 2591 2599 2598 + 2592 2593 2600 + 2592 2600 2599 + 2593 2597 2601 + 2593 2601 2600 + 2596 2594 2602 + 2594 2595 2602 + 2602 2595 2603 + 2595 2598 2603 + 2596 2602 2597 + 2597 2602 2604 + 2597 2604 2601 + 2603 2598 2605 + 2598 2599 2606 + 2598 2606 2605 + 2599 2600 2607 + 2599 2607 2606 + 2600 2601 2608 + 2600 2608 2607 + 2601 2604 2609 + 2601 2609 2608 + 2602 2603 2604 + 2604 2603 2610 + 2603 2605 2610 + 2604 2610 2609 + 2610 2605 2611 + 2605 2606 2612 + 2605 2612 2611 + 2606 2607 2613 + 2606 2613 2612 + 2607 2608 2614 + 2607 2614 2613 + 2608 2609 2615 + 2608 2615 2614 + 2609 2610 2616 + 2609 2616 2615 + 2610 2611 2616 + 2616 2611 2617 + 2611 2612 2618 + 2611 2618 2617 + 2612 2613 2619 + 2612 2619 2618 + 2613 2614 2620 + 2613 2620 2619 + 2614 2615 2621 + 2614 2621 2620 + 2615 2616 2622 + 2615 2622 2621 + 2616 2617 2622 + 2622 2617 2623 + 2617 2618 2624 + 2617 2624 2623 + 2618 2619 2625 + 2618 2625 2624 + 2619 2620 2626 + 2619 2626 2625 + 2620 2621 2627 + 2620 2627 2626 + 2621 2622 2628 + 2621 2628 2627 + 2622 2623 2628 + 2628 2623 2629 + 2623 2624 2630 + 2623 2630 2629 + 2624 2625 2631 + 2624 2631 2630 + 2625 2626 2632 + 2625 2632 2631 + 2626 2627 2633 + 2626 2633 2632 + 2627 2628 2634 + 2627 2634 2633 + 2628 2629 2634 + 2634 2629 2635 + 2629 2630 2636 + 2629 2636 2635 + 2630 2631 2637 + 2630 2637 2636 + 2631 2632 2638 + 2631 2638 2637 + 2632 2633 2639 + 2632 2639 2638 + 2633 2634 2640 + 2633 2640 2639 + 2634 2635 2640 + 2640 2635 2641 + 2635 2636 2642 + 2635 2642 2641 + 2636 2637 2643 + 2636 2643 2642 + 2637 2638 2644 + 2637 2644 2643 + 2638 2639 2645 + 2638 2645 2644 + 2639 2640 2646 + 2639 2646 2645 + 2640 2641 2646 + 2646 2641 2647 + 2641 2642 2648 + 2641 2648 2647 + 2642 2643 2649 + 2642 2649 2648 + 2643 2644 2650 + 2643 2650 2649 + 2644 2645 2651 + 2644 2651 2650 + 2645 2646 2652 + 2652 2651 2645 + 2646 2647 2652 + 2652 2647 2653 + 2647 2648 2654 + 2647 2654 2653 + 2648 2649 2655 + 2648 2655 2654 + 2649 2650 2656 + 2649 2656 2655 + 2650 2651 2657 + 2650 2657 2656 + 2651 2652 2658 + 2651 2658 2657 + 2652 2653 2658 + 2658 2653 2659 + 2653 2654 2660 + 2653 2660 2659 + 2654 2655 2661 + 2654 2661 2660 + 2655 2656 2662 + 2655 2662 2661 + 2656 2657 2663 + 2656 2663 2662 + 2657 2658 2664 + 2657 2664 2663 + 2658 2659 2664 + 2664 2659 2665 + 2659 2660 2666 + 2659 2666 2665 + 2660 2661 2667 + 2660 2667 2666 + 2661 2662 2668 + 2661 2668 2667 + 2662 2663 2669 + 2662 2669 2668 + 2663 2664 2670 + 2663 2670 2669 + 2664 2665 2670 + 2665 2666 2667 + 2665 2667 2670 + 2669 2670 2667 + 2669 2667 2668 + 2671 2672 2673 + 2674 2671 2675 + 2671 2674 2676 + 2671 2673 2675 + 2671 2676 2677 + 2671 2677 2672 + 2672 2678 2679 + 2677 2678 2672 + 2672 2679 2673 + 2675 2673 2680 + 2673 2679 2681 + 2673 2681 2680 + 2676 2674 2682 + 2674 2675 2682 + 2682 2675 2683 + 2675 2680 2683 + 2677 2676 2684 + 2676 2682 2684 + 2678 2677 2685 + 2677 2684 2685 + 2678 2685 2679 + 2679 2685 2686 + 2679 2686 2681 + 2683 2680 2687 + 2680 2681 2688 + 2680 2688 2687 + 2681 2686 2689 + 2681 2689 2688 + 2682 2690 2684 + 2682 2683 2690 + 2690 2683 2691 + 2683 2687 2691 + 2685 2684 2692 + 2684 2690 2692 + 2685 2692 2686 + 2686 2692 2693 + 2686 2693 2689 + 2691 2687 2694 + 2687 2688 2695 + 2687 2695 2694 + 2688 2689 2696 + 2688 2696 2695 + 2689 2693 2697 + 2689 2697 2696 + 2692 2690 2698 + 2690 2691 2698 + 2698 2691 2699 + 2691 2694 2699 + 2692 2698 2693 + 2693 2698 2700 + 2693 2700 2697 + 2699 2694 2701 + 2694 2695 2702 + 2694 2702 2701 + 2695 2696 2703 + 2695 2703 2702 + 2696 2697 2704 + 2696 2704 2703 + 2697 2700 2705 + 2697 2705 2704 + 2698 2699 2700 + 2700 2699 2706 + 2699 2701 2706 + 2700 2706 2705 + 2706 2701 2707 + 2701 2702 2708 + 2701 2708 2707 + 2702 2703 2709 + 2702 2709 2708 + 2703 2704 2710 + 2703 2710 2709 + 2704 2705 2711 + 2704 2711 2710 + 2705 2706 2712 + 2705 2712 2711 + 2706 2707 2712 + 2712 2707 2713 + 2707 2708 2714 + 2707 2714 2713 + 2708 2709 2715 + 2708 2715 2714 + 2709 2710 2716 + 2709 2716 2715 + 2710 2711 2717 + 2710 2717 2716 + 2711 2712 2718 + 2711 2718 2717 + 2712 2713 2718 + 2718 2713 2719 + 2713 2714 2720 + 2713 2720 2719 + 2714 2715 2721 + 2714 2721 2720 + 2715 2716 2722 + 2715 2722 2721 + 2716 2717 2723 + 2716 2723 2722 + 2717 2718 2724 + 2717 2724 2723 + 2718 2719 2724 + 2724 2719 2725 + 2719 2720 2726 + 2719 2726 2725 + 2720 2721 2727 + 2720 2727 2726 + 2721 2722 2728 + 2721 2728 2727 + 2722 2723 2729 + 2722 2729 2728 + 2723 2724 2730 + 2723 2730 2729 + 2724 2725 2730 + 2730 2725 2731 + 2725 2726 2732 + 2725 2732 2731 + 2726 2727 2733 + 2726 2733 2732 + 2727 2728 2734 + 2727 2734 2733 + 2728 2729 2735 + 2728 2735 2734 + 2729 2730 2736 + 2729 2736 2735 + 2730 2731 2736 + 2736 2731 2737 + 2731 2732 2738 + 2731 2738 2737 + 2732 2733 2739 + 2732 2739 2738 + 2733 2734 2740 + 2733 2740 2739 + 2734 2735 2741 + 2734 2741 2740 + 2735 2736 2742 + 2735 2742 2741 + 2736 2737 2742 + 2742 2737 2743 + 2737 2738 2744 + 2737 2744 2743 + 2738 2739 2745 + 2738 2745 2744 + 2739 2740 2746 + 2739 2746 2745 + 2740 2741 2747 + 2740 2747 2746 + 2741 2742 2748 + 2741 2748 2747 + 2742 2743 2748 + 2748 2743 2749 + 2743 2744 2750 + 2743 2750 2749 + 2744 2745 2751 + 2744 2751 2750 + 2745 2746 2752 + 2745 2752 2751 + 2746 2747 2753 + 2746 2753 2752 + 2747 2748 2754 + 2747 2754 2753 + 2748 2749 2754 + 2754 2749 2755 + 2749 2750 2756 + 2749 2756 2755 + 2750 2751 2757 + 2750 2757 2756 + 2751 2752 2758 + 2751 2758 2757 + 2752 2753 2759 + 2752 2759 2758 + 2753 2754 2760 + 2760 2759 2753 + 2754 2755 2760 + 2760 2755 2761 + 2755 2756 2762 + 2755 2762 2761 + 2757 2763 2756 + 2756 2763 2762 + 2757 2758 2764 + 2757 2764 2763 + 2758 2759 2765 + 2758 2765 2764 + 2759 2760 2766 + 2759 2766 2765 + 2760 2761 2766 + 2766 2761 2764 + 2761 2762 2763 + 2761 2763 2764 + 2766 2764 2765 + + + 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72 75 78 81 84 87 90 93 96 99 102 105 108 111 114 117 120 123 126 129 132 135 138 141 144 147 150 153 156 159 162 165 168 171 174 177 180 183 186 189 192 195 198 201 204 207 210 213 216 219 222 225 228 231 234 237 240 243 246 249 252 255 258 261 264 267 270 273 276 279 282 285 288 291 294 297 300 303 306 309 312 315 318 321 324 327 330 333 336 339 342 345 348 351 354 357 360 363 366 369 372 375 378 381 384 387 390 393 396 399 402 405 408 411 414 417 420 423 426 429 432 435 438 441 444 447 450 453 456 459 462 465 468 471 474 477 480 483 486 489 492 495 498 501 504 507 510 513 516 519 522 525 528 531 534 537 540 543 546 549 552 555 558 561 564 567 570 573 576 579 582 585 588 591 594 597 600 603 606 609 612 615 618 621 624 627 630 633 636 639 642 645 648 651 654 657 660 663 666 669 672 675 678 681 684 687 690 693 696 699 702 705 708 711 714 717 720 723 726 729 732 735 738 741 744 747 750 753 756 759 762 765 768 771 774 777 780 783 786 789 792 795 798 801 804 807 810 813 816 819 822 825 828 831 834 837 840 843 846 849 852 855 858 861 864 867 870 873 876 879 882 885 888 891 894 897 900 903 906 909 912 915 918 921 924 927 930 933 936 939 942 945 948 951 954 957 960 963 966 969 972 975 978 981 984 987 990 993 996 999 1002 1005 1008 1011 1014 1017 1020 1023 1026 1029 1032 1035 1038 1041 1044 1047 1050 1053 1056 1059 1062 1065 1068 1071 1074 1077 1080 1083 1086 1089 1092 1095 1098 1101 1104 1107 1110 1113 1116 1119 1122 1125 1128 1131 1134 1137 1140 1143 1146 1149 1152 1155 1158 1161 1164 1167 1170 1173 1176 1179 1182 1185 1188 1191 1194 1197 1200 1203 1206 1209 1212 1215 1218 1221 1224 1227 1230 1233 1236 1239 1242 1245 1248 1251 1254 1257 1260 1263 1266 1269 1272 1275 1278 1281 1284 1287 1290 1293 1296 1299 1302 1305 1308 1311 1314 1317 1320 1323 1326 1329 1332 1335 1338 1341 1344 1347 1350 1353 1356 1359 1362 1365 1368 1371 1374 1377 1380 1383 1386 1389 1392 1395 1398 1401 1404 1407 1410 1413 1416 1419 1422 1425 1428 1431 1434 1437 1440 1443 1446 1449 1452 1455 1458 1461 1464 1467 1470 1473 1476 1479 1482 1485 1488 1491 1494 1497 1500 1503 1506 1509 1512 1515 1518 1521 1524 1527 1530 1533 1536 1539 1542 1545 1548 1551 1554 1557 1560 1563 1566 1569 1572 1575 1578 1581 1584 1587 1590 1593 1596 1599 1602 1605 1608 1611 1614 1617 1620 1623 1626 1629 1632 1635 1638 1641 1644 1647 1650 1653 1656 1659 1662 1665 1668 1671 1674 1677 1680 1683 1686 1689 1692 1695 1698 1701 1704 1707 1710 1713 1716 1719 1722 1725 1728 1731 1734 1737 1740 1743 1746 1749 1752 1755 1758 1761 1764 1767 1770 1773 1776 1779 1782 1785 1788 1791 1794 1797 1800 1803 1806 1809 1812 1815 1818 1821 1824 1827 1830 1833 1836 1839 1842 1845 1848 1851 1854 1857 1860 1863 1866 1869 1872 1875 1878 1881 1884 1887 1890 1893 1896 1899 1902 1905 1908 1911 1914 1917 1920 1923 1926 1929 1932 1935 1938 1941 1944 1947 1950 1953 1956 1959 1962 1965 1968 1971 1974 1977 1980 1983 1986 1989 1992 1995 1998 2001 2004 2007 2010 2013 2016 2019 2022 2025 2028 2031 2034 2037 2040 2043 2046 2049 2052 2055 2058 2061 2064 2067 2070 2073 2076 2079 2082 2085 2088 2091 2094 2097 2100 2103 2106 2109 2112 2115 2118 2121 2124 2127 2130 2133 2136 2139 2142 2145 2148 2151 2154 2157 2160 2163 2166 2169 2172 2175 2178 2181 2184 2187 2190 2193 2196 2199 2202 2205 2208 2211 2214 2217 2220 2223 2226 2229 2232 2235 2238 2241 2244 2247 2250 2253 2256 2259 2262 2265 2268 2271 2274 2277 2280 2283 2286 2289 2292 2295 2298 2301 2304 2307 2310 2313 2316 2319 2322 2325 2328 2331 2334 2337 2340 2343 2346 2349 2352 2355 2358 2361 2364 2367 2370 2373 2376 2379 2382 2385 2388 2391 2394 2397 2400 2403 2406 2409 2412 2415 2418 2421 2424 2427 2430 2433 2436 2439 2442 2445 2448 2451 2454 2457 2460 2463 2466 2469 2472 2475 2478 2481 2484 2487 2490 2493 2496 2499 2502 2505 2508 2511 2514 2517 2520 2523 2526 2529 2532 2535 2538 2541 2544 2547 2550 2553 2556 2559 2562 2565 2568 2571 2574 2577 2580 2583 2586 2589 2592 2595 2598 2601 2604 2607 2610 2613 2616 2619 2622 2625 2628 2631 2634 2637 2640 2643 2646 2649 2652 2655 2658 2661 2664 2667 2670 2673 2676 2679 2682 2685 2688 2691 2694 2697 2700 2703 2706 2709 2712 2715 2718 2721 2724 2727 2730 2733 2736 2739 2742 2745 2748 2751 2754 2757 2760 2763 2766 2769 2772 2775 2778 2781 2784 2787 2790 2793 2796 2799 2802 2805 2808 2811 2814 2817 2820 2823 2826 2829 2832 2835 2838 2841 2844 2847 2850 2853 2856 2859 2862 2865 2868 2871 2874 2877 2880 2883 2886 2889 2892 2895 2898 2901 2904 2907 2910 2913 2916 2919 2922 2925 2928 2931 2934 2937 2940 2943 2946 2949 2952 2955 2958 2961 2964 2967 2970 2973 2976 2979 2982 2985 2988 2991 2994 2997 3000 3003 3006 3009 3012 3015 3018 3021 3024 3027 3030 3033 3036 3039 3042 3045 3048 3051 3054 3057 3060 3063 3066 3069 3072 3075 3078 3081 3084 3087 3090 3093 3096 3099 3102 3105 3108 3111 3114 3117 3120 3123 3126 3129 3132 3135 3138 3141 3144 3147 3150 3153 3156 3159 3162 3165 3168 3171 3174 3177 3180 3183 3186 3189 3192 3195 3198 3201 3204 3207 3210 3213 3216 3219 3222 3225 3228 3231 3234 3237 3240 3243 3246 3249 3252 3255 3258 3261 3264 3267 3270 3273 3276 3279 3282 3285 3288 3291 3294 3297 3300 3303 3306 3309 3312 3315 3318 3321 3324 3327 3330 3333 3336 3339 3342 3345 3348 3351 3354 3357 3360 3363 3366 3369 3372 3375 3378 3381 3384 3387 3390 3393 3396 3399 3402 3405 3408 3411 3414 3417 3420 3423 3426 3429 3432 3435 3438 3441 3444 3447 3450 3453 3456 3459 3462 3465 3468 3471 3474 3477 3480 3483 3486 3489 3492 3495 3498 3501 3504 3507 3510 3513 3516 3519 3522 3525 3528 3531 3534 3537 3540 3543 3546 3549 3552 3555 3558 3561 3564 3567 3570 3573 3576 3579 3582 3585 3588 3591 3594 3597 3600 3603 3606 3609 3612 3615 3618 3621 3624 3627 3630 3633 3636 3639 3642 3645 3648 3651 3654 3657 3660 3663 3666 3669 3672 3675 3678 3681 3684 3687 3690 3693 3696 3699 3702 3705 3708 3711 3714 3717 3720 3723 3726 3729 3732 3735 3738 3741 3744 3747 3750 3753 3756 3759 3762 3765 3768 3771 3774 3777 3780 3783 3786 3789 3792 3795 3798 3801 3804 3807 3810 3813 3816 3819 3822 3825 3828 3831 3834 3837 3840 3843 3846 3849 3852 3855 3858 3861 3864 3867 3870 3873 3876 3879 3882 3885 3888 3891 3894 3897 3900 3903 3906 3909 3912 3915 3918 3921 3924 3927 3930 3933 3936 3939 3942 3945 3948 3951 3954 3957 3960 3963 3966 3969 3972 3975 3978 3981 3984 3987 3990 3993 3996 3999 4002 4005 4008 4011 4014 4017 4020 4023 4026 4029 4032 4035 4038 4041 4044 4047 4050 4053 4056 4059 4062 4065 4068 4071 4074 4077 4080 4083 4086 4089 4092 4095 4098 4101 4104 4107 4110 4113 4116 4119 4122 4125 4128 4131 4134 4137 4140 4143 4146 4149 4152 4155 4158 4161 4164 4167 4170 4173 4176 4179 4182 4185 4188 4191 4194 4197 4200 4203 4206 4209 4212 4215 4218 4221 4224 4227 4230 4233 4236 4239 4242 4245 4248 4251 4254 4257 4260 4263 4266 4269 4272 4275 4278 4281 4284 4287 4290 4293 4296 4299 4302 4305 4308 4311 4314 4317 4320 4323 4326 4329 4332 4335 4338 4341 4344 4347 4350 4353 4356 4359 4362 4365 4368 4371 4374 4377 4380 4383 4386 4389 4392 4395 4398 4401 4404 4407 4410 4413 4416 4419 4422 4425 4428 4431 4434 4437 4440 4443 4446 4449 4452 4455 4458 4461 4464 4467 4470 4473 4476 4479 4482 4485 4488 4491 4494 4497 4500 4503 4506 4509 4512 4515 4518 4521 4524 4527 4530 4533 4536 4539 4542 4545 4548 4551 4554 4557 4560 4563 4566 4569 4572 4575 4578 4581 4584 4587 4590 4593 4596 4599 4602 4605 4608 4611 4614 4617 4620 4623 4626 4629 4632 4635 4638 4641 4644 4647 4650 4653 4656 4659 4662 4665 4668 4671 4674 4677 4680 4683 4686 4689 4692 4695 4698 4701 4704 4707 4710 4713 4716 4719 4722 4725 4728 4731 4734 4737 4740 4743 4746 4749 4752 4755 4758 4761 4764 4767 4770 4773 4776 4779 4782 4785 4788 4791 4794 4797 4800 4803 4806 4809 4812 4815 4818 4821 4824 4827 4830 4833 4836 4839 4842 4845 4848 4851 4854 4857 4860 4863 4866 4869 4872 4875 4878 4881 4884 4887 4890 4893 4896 4899 4902 4905 4908 4911 4914 4917 4920 4923 4926 4929 4932 4935 4938 4941 4944 4947 4950 4953 4956 4959 4962 4965 4968 4971 4974 4977 4980 4983 4986 4989 4992 4995 4998 5001 5004 5007 5010 5013 5016 5019 5022 5025 5028 5031 5034 5037 5040 5043 5046 5049 5052 5055 5058 5061 5064 5067 5070 5073 5076 5079 5082 5085 5088 5091 5094 5097 5100 5103 5106 5109 5112 5115 5118 5121 5124 5127 5130 5133 5136 5139 5142 5145 5148 5151 5154 5157 5160 5163 5166 5169 5172 5175 5178 5181 5184 5187 5190 5193 5196 5199 5202 5205 5208 5211 5214 5217 5220 5223 5226 5229 5232 5235 5238 5241 5244 5247 5250 5253 5256 5259 5262 5265 5268 5271 5274 5277 5280 5283 5286 5289 5292 5295 5298 5301 5304 5307 5310 5313 5316 5319 5322 5325 5328 5331 5334 5337 5340 5343 5346 5349 5352 5355 5358 5361 5364 5367 5370 5373 5376 5379 5382 5385 5388 5391 5394 5397 5400 5403 5406 5409 5412 5415 5418 5421 5424 5427 5430 5433 5436 5439 5442 5445 5448 5451 5454 5457 5460 5463 5466 5469 5472 5475 5478 5481 5484 5487 5490 5493 5496 5499 5502 5505 5508 5511 5514 5517 5520 5523 5526 5529 5532 5535 5538 5541 5544 5547 5550 5553 5556 5559 5562 5565 5568 5571 5574 5577 5580 5583 5586 5589 5592 5595 5598 5601 5604 5607 5610 5613 5616 5619 5622 5625 5628 5631 5634 5637 5640 5643 5646 5649 5652 5655 5658 5661 5664 5667 5670 5673 5676 5679 5682 5685 5688 5691 5694 5697 5700 5703 5706 5709 5712 5715 5718 5721 5724 5727 5730 5733 5736 5739 5742 5745 5748 5751 5754 5757 5760 5763 5766 5769 5772 5775 5778 5781 5784 5787 5790 5793 5796 5799 5802 5805 5808 5811 5814 5817 5820 5823 5826 5829 5832 5835 5838 5841 5844 5847 5850 5853 5856 5859 5862 5865 5868 5871 5874 5877 5880 5883 5886 5889 5892 5895 5898 5901 5904 5907 5910 5913 5916 5919 5922 5925 5928 5931 5934 5937 5940 5943 5946 5949 5952 5955 5958 5961 5964 5967 5970 5973 5976 5979 5982 5985 5988 5991 5994 5997 6000 6003 6006 6009 6012 6015 6018 6021 6024 6027 6030 6033 6036 6039 6042 6045 6048 6051 6054 6057 6060 6063 6066 6069 6072 6075 6078 6081 6084 6087 6090 6093 6096 6099 6102 6105 6108 6111 6114 6117 6120 6123 6126 6129 6132 6135 6138 6141 6144 6147 6150 6153 6156 6159 6162 6165 6168 6171 6174 6177 6180 6183 6186 6189 6192 6195 6198 6201 6204 6207 6210 6213 6216 6219 6222 6225 6228 6231 6234 6237 6240 6243 6246 6249 6252 6255 6258 6261 6264 6267 6270 6273 6276 6279 6282 6285 6288 6291 6294 6297 6300 6303 6306 6309 6312 6315 6318 6321 6324 6327 6330 6333 6336 6339 6342 6345 6348 6351 6354 6357 6360 6363 6366 6369 6372 6375 6378 6381 6384 6387 6390 6393 6396 6399 6402 6405 6408 6411 6414 6417 6420 6423 6426 6429 6432 6435 6438 6441 6444 6447 6450 6453 6456 6459 6462 6465 6468 6471 6474 6477 6480 6483 6486 6489 6492 6495 6498 6501 6504 6507 6510 6513 6516 6519 6522 6525 6528 6531 6534 6537 6540 6543 6546 6549 6552 6555 6558 6561 6564 6567 6570 6573 6576 6579 6582 6585 6588 6591 6594 6597 6600 6603 6606 6609 6612 6615 6618 6621 6624 6627 6630 6633 6636 6639 6642 6645 6648 6651 6654 6657 6660 6663 6666 6669 6672 6675 6678 6681 6684 6687 6690 6693 6696 6699 6702 6705 6708 6711 6714 6717 6720 6723 6726 6729 6732 6735 6738 6741 6744 6747 6750 6753 6756 6759 6762 6765 6768 6771 6774 6777 6780 6783 6786 6789 6792 6795 6798 6801 6804 6807 6810 6813 6816 6819 6822 6825 6828 6831 6834 6837 6840 6843 6846 6849 6852 6855 6858 6861 6864 6867 6870 6873 6876 6879 6882 6885 6888 6891 6894 6897 6900 6903 6906 6909 6912 6915 6918 6921 6924 6927 6930 6933 6936 6939 6942 6945 6948 6951 6954 6957 6960 6963 6966 6969 6972 6975 6978 6981 6984 6987 6990 6993 6996 6999 7002 7005 7008 7011 7014 7017 7020 7023 7026 7029 7032 7035 7038 7041 7044 7047 7050 7053 7056 7059 7062 7065 7068 7071 7074 7077 7080 7083 7086 7089 7092 7095 7098 7101 7104 7107 7110 7113 7116 7119 7122 7125 7128 7131 7134 7137 7140 7143 7146 7149 7152 7155 7158 7161 7164 7167 7170 7173 7176 7179 7182 7185 7188 7191 7194 7197 7200 7203 7206 7209 7212 7215 7218 7221 7224 7227 7230 7233 7236 7239 7242 7245 7248 7251 7254 7257 7260 7263 7266 7269 7272 7275 7278 7281 7284 7287 7290 7293 7296 7299 7302 7305 7308 7311 7314 7317 7320 7323 7326 7329 7332 7335 7338 7341 7344 7347 7350 7353 7356 7359 7362 7365 7368 7371 7374 7377 7380 7383 7386 7389 7392 7395 7398 7401 7404 7407 7410 7413 7416 7419 7422 7425 7428 7431 7434 7437 7440 7443 7446 7449 7452 7455 7458 7461 7464 7467 7470 7473 7476 7479 7482 7485 7488 7491 7494 7497 7500 7503 7506 7509 7512 7515 7518 7521 7524 7527 7530 7533 7536 7539 7542 7545 7548 7551 7554 7557 7560 7563 7566 7569 7572 7575 7578 7581 7584 7587 7590 7593 7596 7599 7602 7605 7608 7611 7614 7617 7620 7623 7626 7629 7632 7635 7638 7641 7644 7647 7650 7653 7656 7659 7662 7665 7668 7671 7674 7677 7680 7683 7686 7689 7692 7695 7698 7701 7704 7707 7710 7713 7716 7719 7722 7725 7728 7731 7734 7737 7740 7743 7746 7749 7752 7755 7758 7761 7764 7767 7770 7773 7776 7779 7782 7785 7788 7791 7794 7797 7800 7803 7806 7809 7812 7815 7818 7821 7824 7827 7830 7833 7836 7839 7842 7845 7848 7851 7854 7857 7860 7863 7866 7869 7872 7875 7878 7881 7884 7887 7890 7893 7896 7899 7902 7905 7908 7911 7914 7917 7920 7923 7926 7929 7932 7935 7938 7941 7944 7947 7950 7953 7956 7959 7962 7965 7968 7971 7974 7977 7980 7983 7986 7989 7992 7995 7998 8001 8004 8007 8010 8013 8016 8019 8022 8025 8028 8031 8034 8037 8040 8043 8046 8049 8052 8055 8058 8061 8064 8067 8070 8073 8076 8079 8082 8085 8088 8091 8094 8097 8100 8103 8106 8109 8112 8115 8118 8121 8124 8127 8130 8133 8136 8139 8142 8145 8148 8151 8154 8157 8160 8163 8166 8169 8172 8175 8178 8181 8184 8187 8190 8193 8196 8199 8202 8205 8208 8211 8214 8217 8220 8223 8226 8229 8232 8235 8238 8241 8244 8247 8250 8253 8256 8259 8262 8265 8268 8271 8274 8277 8280 8283 8286 8289 8292 8295 8298 8301 8304 8307 8310 8313 8316 8319 8322 8325 8328 8331 8334 8337 8340 8343 8346 8349 8352 8355 8358 8361 8364 8367 8370 8373 8376 8379 8382 8385 8388 8391 8394 8397 8400 8403 8406 8409 8412 8415 8418 8421 8424 8427 8430 8433 8436 8439 8442 8445 8448 8451 8454 8457 8460 8463 8466 8469 8472 8475 8478 8481 8484 8487 8490 8493 8496 8499 8502 8505 8508 8511 8514 8517 8520 8523 8526 8529 8532 8535 8538 8541 8544 8547 8550 8553 8556 8559 8562 8565 8568 8571 8574 8577 8580 8583 8586 8589 8592 8595 8598 8601 8604 8607 8610 8613 8616 8619 8622 8625 8628 8631 8634 8637 8640 8643 8646 8649 8652 8655 8658 8661 8664 8667 8670 8673 8676 8679 8682 8685 8688 8691 8694 8697 8700 8703 8706 8709 8712 8715 8718 8721 8724 8727 8730 8733 8736 8739 8742 8745 8748 8751 8754 8757 8760 8763 8766 8769 8772 8775 8778 8781 8784 8787 8790 8793 8796 8799 8802 8805 8808 8811 8814 8817 8820 8823 8826 8829 8832 8835 8838 8841 8844 8847 8850 8853 8856 8859 8862 8865 8868 8871 8874 8877 8880 8883 8886 8889 8892 8895 8898 8901 8904 8907 8910 8913 8916 8919 8922 8925 8928 8931 8934 8937 8940 8943 8946 8949 8952 8955 8958 8961 8964 8967 8970 8973 8976 8979 8982 8985 8988 8991 8994 8997 9000 9003 9006 9009 9012 9015 9018 9021 9024 9027 9030 9033 9036 9039 9042 9045 9048 9051 9054 9057 9060 9063 9066 9069 9072 9075 9078 9081 9084 9087 9090 9093 9096 9099 9102 9105 9108 9111 9114 9117 9120 9123 9126 9129 9132 9135 9138 9141 9144 9147 9150 9153 9156 9159 9162 9165 9168 9171 9174 9177 9180 9183 9186 9189 9192 9195 9198 9201 9204 9207 9210 9213 9216 9219 9222 9225 9228 9231 9234 9237 9240 9243 9246 9249 9252 9255 9258 9261 9264 9267 9270 9273 9276 9279 9282 9285 9288 9291 9294 9297 9300 9303 9306 9309 9312 9315 9318 9321 9324 9327 9330 9333 9336 9339 9342 9345 9348 9351 9354 9357 9360 9363 9366 9369 9372 9375 9378 9381 9384 9387 9390 9393 9396 9399 9402 9405 9408 9411 9414 9417 9420 9423 9426 9429 9432 9435 9438 9441 9444 9447 9450 9453 9456 9459 9462 9465 9468 9471 9474 9477 9480 9483 9486 9489 9492 9495 9498 9501 9504 9507 9510 9513 9516 9519 9522 9525 9528 9531 9534 9537 9540 9543 9546 9549 9552 9555 9558 9561 9564 9567 9570 9573 9576 9579 9582 9585 9588 9591 9594 9597 9600 9603 9606 9609 9612 9615 9618 9621 9624 9627 9630 9633 9636 9639 9642 9645 9648 9651 9654 9657 9660 9663 9666 9669 9672 9675 9678 9681 9684 9687 9690 9693 9696 9699 9702 9705 9708 9711 9714 9717 9720 9723 9726 9729 9732 9735 9738 9741 9744 9747 9750 9753 9756 9759 9762 9765 9768 9771 9774 9777 9780 9783 9786 9789 9792 9795 9798 9801 9804 9807 9810 9813 9816 9819 9822 9825 9828 9831 9834 9837 9840 9843 9846 9849 9852 9855 9858 9861 9864 9867 9870 9873 9876 9879 9882 9885 9888 9891 9894 9897 9900 9903 9906 9909 9912 9915 9918 9921 9924 9927 9930 9933 9936 9939 9942 9945 9948 9951 9954 9957 9960 9963 9966 9969 9972 9975 9978 9981 9984 9987 9990 9993 9996 9999 10002 10005 10008 10011 10014 10017 10020 10023 10026 10029 10032 10035 10038 10041 10044 10047 10050 10053 10056 10059 10062 10065 10068 10071 10074 10077 10080 10083 10086 10089 10092 10095 10098 10101 10104 10107 10110 10113 10116 10119 10122 10125 10128 10131 10134 10137 10140 10143 10146 10149 10152 10155 10158 10161 10164 10167 10170 10173 10176 10179 10182 10185 10188 10191 10194 10197 10200 10203 10206 10209 10212 10215 10218 10221 10224 10227 10230 10233 10236 10239 10242 10245 10248 10251 10254 10257 10260 10263 10266 10269 10272 10275 10278 10281 10284 10287 10290 10293 10296 10299 10302 10305 10308 10311 10314 10317 10320 10323 10326 10329 10332 10335 10338 10341 10344 10347 10350 10353 10356 10359 10362 10365 10368 10371 10374 10377 10380 10383 10386 10389 10392 10395 10398 10401 10404 10407 10410 10413 10416 10419 10422 10425 10428 10431 10434 10437 10440 10443 10446 10449 10452 10455 10458 10461 10464 10467 10470 10473 10476 10479 10482 10485 10488 10491 10494 10497 10500 10503 10506 10509 10512 10515 10518 10521 10524 10527 10530 10533 10536 10539 10542 10545 10548 10551 10554 10557 10560 10563 10566 10569 10572 10575 10578 10581 10584 10587 10590 10593 10596 10599 10602 10605 10608 10611 10614 10617 10620 10623 10626 10629 10632 10635 10638 10641 10644 10647 10650 10653 10656 10659 10662 10665 10668 10671 10674 10677 10680 10683 10686 10689 10692 10695 10698 10701 10704 10707 10710 10713 10716 10719 10722 10725 10728 10731 10734 10737 10740 10743 10746 10749 10752 10755 10758 10761 10764 10767 10770 10773 10776 10779 10782 10785 10788 10791 10794 10797 10800 10803 10806 10809 10812 10815 10818 10821 10824 10827 10830 10833 10836 10839 10842 10845 10848 10851 10854 10857 10860 10863 10866 10869 10872 10875 10878 10881 10884 10887 10890 10893 10896 10899 10902 10905 10908 10911 10914 10917 10920 10923 10926 10929 10932 10935 10938 10941 10944 10947 10950 10953 10956 10959 10962 10965 10968 10971 10974 10977 10980 10983 10986 10989 10992 10995 10998 11001 11004 11007 11010 11013 11016 11019 11022 11025 11028 11031 11034 11037 11040 11043 11046 11049 11052 11055 11058 11061 11064 11067 11070 11073 11076 11079 11082 11085 11088 11091 11094 11097 11100 11103 11106 11109 11112 11115 11118 11121 11124 11127 11130 11133 11136 11139 11142 11145 11148 11151 11154 11157 11160 11163 11166 11169 11172 11175 11178 11181 11184 11187 11190 11193 11196 11199 11202 11205 11208 11211 11214 11217 11220 11223 11226 11229 11232 11235 11238 11241 11244 11247 11250 11253 11256 11259 11262 11265 11268 11271 11274 11277 11280 11283 11286 11289 11292 11295 11298 11301 11304 11307 11310 11313 11316 11319 11322 11325 11328 11331 11334 11337 11340 11343 11346 11349 11352 11355 11358 11361 11364 11367 11370 11373 11376 11379 11382 11385 11388 11391 11394 11397 11400 11403 11406 11409 11412 11415 11418 11421 11424 11427 11430 11433 11436 11439 11442 11445 11448 11451 11454 11457 11460 11463 11466 11469 11472 11475 11478 11481 11484 11487 11490 11493 11496 11499 11502 11505 11508 11511 11514 11517 11520 11523 11526 11529 11532 11535 11538 11541 11544 11547 11550 11553 11556 11559 11562 11565 11568 11571 11574 11577 11580 11583 11586 11589 11592 11595 11598 11601 11604 11607 11610 11613 11616 11619 11622 11625 11628 11631 11634 11637 11640 11643 11646 11649 11652 11655 11658 11661 11664 11667 11670 11673 11676 11679 11682 11685 11688 11691 11694 11697 11700 11703 11706 11709 11712 11715 11718 11721 11724 11727 11730 11733 11736 11739 11742 11745 11748 11751 11754 11757 11760 11763 11766 11769 11772 11775 11778 11781 11784 11787 11790 11793 11796 11799 11802 11805 11808 11811 11814 11817 11820 11823 11826 11829 11832 11835 11838 11841 11844 11847 11850 11853 11856 11859 11862 11865 11868 11871 11874 11877 11880 11883 11886 11889 11892 11895 11898 11901 11904 11907 11910 11913 11916 11919 11922 11925 11928 11931 11934 11937 11940 11943 11946 11949 11952 11955 11958 11961 11964 11967 11970 11973 11976 11979 11982 11985 11988 11991 11994 11997 12000 12003 12006 12009 12012 12015 12018 12021 12024 12027 12030 12033 12036 12039 12042 12045 12048 12051 12054 12057 12060 12063 12066 12069 12072 12075 12078 12081 12084 12087 12090 12093 12096 12099 12102 12105 12108 12111 12114 12117 12120 12123 12126 12129 12132 12135 12138 12141 12144 12147 12150 12153 12156 12159 12162 12165 12168 12171 12174 12177 12180 12183 12186 12189 12192 12195 12198 12201 12204 12207 12210 12213 12216 12219 12222 12225 12228 12231 12234 12237 12240 12243 12246 12249 12252 12255 12258 12261 12264 12267 12270 12273 12276 12279 12282 12285 12288 12291 12294 12297 12300 12303 12306 12309 12312 12315 12318 12321 12324 12327 12330 12333 12336 12339 12342 12345 12348 12351 12354 12357 12360 12363 12366 12369 12372 12375 12378 12381 12384 12387 12390 12393 12396 12399 12402 12405 12408 12411 12414 12417 12420 12423 12426 12429 12432 12435 12438 12441 12444 12447 12450 12453 12456 12459 12462 12465 12468 12471 12474 12477 12480 12483 12486 12489 12492 12495 12498 12501 12504 12507 12510 12513 12516 12519 12522 12525 12528 12531 12534 12537 12540 12543 12546 12549 12552 12555 12558 12561 12564 12567 12570 12573 12576 12579 12582 12585 12588 12591 12594 12597 12600 12603 12606 12609 12612 12615 12618 12621 12624 12627 12630 12633 12636 12639 12642 12645 12648 12651 12654 12657 12660 12663 12666 12669 12672 12675 12678 12681 12684 12687 12690 12693 12696 12699 12702 12705 12708 12711 12714 12717 12720 12723 12726 12729 12732 12735 12738 12741 12744 12747 12750 12753 12756 12759 12762 12765 12768 12771 12774 12777 12780 12783 12786 12789 12792 12795 12798 12801 12804 12807 12810 12813 12816 12819 12822 12825 12828 12831 12834 12837 12840 12843 12846 12849 12852 12855 12858 12861 12864 12867 12870 12873 12876 12879 12882 12885 12888 12891 12894 12897 12900 12903 12906 12909 12912 12915 12918 12921 12924 12927 12930 12933 12936 12939 12942 12945 12948 12951 12954 12957 12960 12963 12966 12969 12972 12975 12978 12981 12984 12987 12990 12993 12996 12999 13002 13005 13008 13011 13014 13017 13020 13023 13026 13029 13032 13035 13038 13041 13044 13047 13050 13053 13056 13059 13062 13065 13068 13071 13074 13077 13080 13083 13086 13089 13092 13095 13098 13101 13104 13107 13110 13113 13116 13119 13122 13125 13128 13131 13134 13137 13140 13143 13146 13149 13152 13155 13158 13161 13164 13167 13170 13173 13176 13179 13182 13185 13188 13191 13194 13197 13200 13203 13206 13209 13212 13215 13218 13221 13224 13227 13230 13233 13236 13239 13242 13245 13248 13251 13254 13257 13260 13263 13266 13269 13272 13275 13278 13281 13284 13287 13290 13293 13296 13299 13302 13305 13308 13311 13314 13317 13320 13323 13326 13329 13332 13335 13338 13341 13344 13347 13350 13353 13356 13359 13362 13365 13368 13371 13374 13377 13380 13383 13386 13389 13392 13395 13398 13401 13404 13407 13410 13413 13416 13419 13422 13425 13428 13431 13434 13437 13440 13443 13446 13449 13452 13455 13458 13461 13464 13467 13470 13473 13476 13479 13482 13485 13488 13491 13494 13497 13500 13503 13506 13509 13512 13515 13518 13521 13524 13527 13530 13533 13536 13539 13542 13545 13548 13551 13554 13557 13560 13563 13566 13569 13572 13575 13578 13581 13584 13587 13590 13593 13596 13599 13602 13605 13608 13611 13614 13617 13620 13623 13626 13629 13632 13635 13638 13641 13644 13647 13650 13653 13656 13659 13662 13665 13668 13671 13674 13677 13680 13683 13686 13689 13692 13695 13698 13701 13704 13707 13710 13713 13716 13719 13722 13725 13728 13731 13734 13737 13740 13743 13746 13749 13752 13755 13758 13761 13764 13767 13770 13773 13776 13779 13782 13785 13788 13791 13794 13797 13800 13803 13806 13809 13812 13815 13818 13821 13824 13827 13830 13833 13836 13839 13842 13845 13848 13851 13854 13857 13860 13863 13866 13869 13872 13875 13878 13881 13884 13887 13890 13893 13896 13899 13902 13905 13908 13911 13914 13917 13920 13923 13926 13929 13932 13935 13938 13941 13944 13947 13950 13953 13956 13959 13962 13965 13968 13971 13974 13977 13980 13983 13986 13989 13992 13995 13998 14001 14004 14007 14010 14013 14016 14019 14022 14025 14028 14031 14034 14037 14040 14043 14046 14049 14052 14055 14058 14061 14064 14067 14070 14073 14076 14079 14082 14085 14088 14091 14094 14097 14100 14103 14106 14109 14112 14115 14118 14121 14124 14127 14130 14133 14136 14139 14142 14145 14148 14151 14154 14157 14160 14163 14166 14169 14172 14175 14178 14181 14184 14187 14190 14193 14196 14199 14202 14205 14208 14211 14214 14217 14220 14223 14226 14229 14232 14235 14238 14241 14244 14247 14250 14253 14256 14259 14262 14265 14268 14271 14274 14277 14280 14283 14286 14289 14292 14295 14298 14301 14304 14307 14310 14313 14316 14319 14322 14325 14328 14331 14334 14337 14340 14343 14346 14349 14352 14355 14358 14361 14364 14367 14370 14373 14376 14379 14382 14385 14388 14391 14394 14397 14400 14403 14406 14409 14412 14415 14418 14421 14424 14427 14430 14433 14436 14439 14442 14445 14448 14451 14454 14457 14460 14463 14466 14469 14472 14475 14478 14481 14484 14487 14490 14493 14496 14499 14502 14505 14508 14511 14514 14517 14520 14523 14526 14529 14532 14535 14538 14541 14544 14547 14550 14553 14556 14559 14562 14565 14568 14571 14574 14577 14580 14583 14586 14589 14592 14595 14598 14601 14604 14607 14610 14613 14616 14619 14622 14625 14628 14631 14634 14637 14640 14643 14646 14649 14652 14655 14658 14661 14664 14667 14670 14673 14676 14679 14682 14685 14688 14691 14694 14697 14700 14703 14706 14709 14712 14715 14718 14721 14724 14727 14730 14733 14736 14739 14742 14745 14748 14751 14754 14757 14760 14763 14766 14769 14772 14775 14778 14781 14784 14787 14790 14793 14796 14799 14802 14805 14808 14811 14814 14817 14820 14823 14826 14829 14832 14835 14838 14841 14844 14847 14850 14853 14856 14859 14862 14865 14868 14871 14874 14877 14880 14883 14886 14889 14892 14895 14898 14901 14904 14907 14910 14913 14916 14919 14922 14925 14928 14931 14934 14937 14940 14943 14946 14949 14952 14955 14958 14961 14964 14967 14970 14973 14976 14979 14982 14985 14988 14991 14994 14997 15000 15003 15006 15009 15012 15015 15018 15021 15024 15027 15030 15033 15036 15039 15042 15045 15048 15051 15054 15057 15060 15063 15066 15069 15072 15075 15078 15081 15084 15087 15090 15093 15096 15099 15102 15105 15108 15111 15114 15117 15120 15123 15126 15129 15132 15135 15138 15141 15144 15147 15150 15153 15156 15159 15162 15165 15168 15171 15174 15177 15180 15183 15186 15189 15192 15195 15198 15201 15204 15207 15210 15213 15216 15219 15222 15225 15228 15231 15234 15237 15240 15243 15246 15249 15252 15255 15258 15261 15264 15267 15270 15273 15276 15279 15282 15285 15288 15291 15294 15297 15300 15303 15306 15309 15312 15315 15318 15321 15324 15327 15330 15333 15336 15339 15342 15345 15348 15351 15354 15357 15360 15363 15366 15369 15372 15375 15378 15381 15384 15387 15390 15393 15396 15399 15402 15405 15408 15411 15414 15417 15420 15423 15426 15429 15432 15435 15438 15441 15444 15447 15450 15453 15456 15459 15462 15465 15468 15471 15474 15477 15480 15483 15486 15489 15492 15495 15498 15501 15504 15507 15510 15513 15516 15519 15522 15525 15528 15531 15534 15537 15540 15543 15546 15549 15552 15555 15558 15561 15564 15567 15570 15573 15576 15579 15582 15585 15588 15591 15594 15597 15600 15603 15606 15609 15612 15615 15618 15621 15624 15627 15630 15633 15636 15639 15642 15645 15648 15651 15654 15657 15660 15663 15666 15669 15672 15675 15678 15681 15684 15687 15690 15693 15696 15699 15702 15705 15708 15711 15714 15717 15720 15723 15726 15729 15732 15735 15738 15741 15744 15747 15750 15753 15756 15759 15762 15765 15768 15771 15774 15777 15780 15783 15786 15789 15792 15795 15798 15801 15804 15807 15810 15813 15816 15819 15822 15825 15828 15831 15834 15837 15840 15843 15846 15849 15852 15855 15858 15861 15864 15867 15870 15873 15876 15879 15882 15885 15888 15891 15894 15897 15900 15903 15906 15909 15912 15915 15918 15921 15924 15927 15930 15933 15936 15939 15942 15945 15948 15951 15954 15957 15960 15963 15966 15969 15972 15975 15978 15981 15984 15987 15990 15993 15996 15999 16002 16005 16008 16011 16014 16017 16020 16023 16026 16029 16032 16035 16038 16041 16044 16047 16050 16053 16056 16059 16062 16065 16068 16071 16074 16077 16080 16083 16086 16089 16092 16095 16098 16101 16104 16107 16110 16113 16116 16119 16122 16125 16128 16131 16134 16137 16140 16143 16146 16149 16152 16155 16158 16161 16164 16167 16170 16173 16176 16179 16182 16185 16188 16191 16194 16197 16200 16203 16206 16209 16212 16215 16218 16221 16224 16227 16230 16233 16236 16239 16242 16245 16248 16251 16254 16257 16260 16263 16266 16269 16272 16275 16278 16281 16284 16287 16290 16293 16296 16299 16302 16305 16308 16311 16314 16317 16320 16323 16326 + + + + + diff --git a/examples/getting_started/frequency_optimization_musculoskeletal_dynamic.py b/examples/getting_started/frequency_optimization_musculoskeletal_dynamic.py index afb545da..14226aab 100644 --- a/examples/getting_started/frequency_optimization_musculoskeletal_dynamic.py +++ b/examples/getting_started/frequency_optimization_musculoskeletal_dynamic.py @@ -19,18 +19,19 @@ for i in range(n_stim): objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=1, quadratic=True, phase=i) -ocp = FESActuatedBiorbdModelOCP.prepare_ocp(biorbd_model_path="/arm26_biceps_1ddl.bioMod", - motion_type="start_end", - motion_data=[5, 120], - fes_muscle_model=DingModelFrequencyWithFatigue(), - n_stim=n_stim, - n_shooting=10, - final_time=1, - time_min=0.01, - time_max=0.1, - time_bimapping=True, - custom_objective=objective_functions, - ) +ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="/arm26_biceps_1ddl.bioMod", + motion_type="start_end", + motion_data=[[5], [120]], + fes_muscle_model=DingModelFrequencyWithFatigue(), + n_stim=n_stim, + n_shooting=10, + final_time=1, + time_min=0.01, + time_max=0.1, + time_bimapping=True, + custom_objective=objective_functions, +) sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) sol.animate() diff --git a/examples/getting_started/pulse_duration_optimization_musculoskeletal_dynamic.py b/examples/getting_started/pulse_duration_optimization_musculoskeletal_dynamic.py index 76abe08e..3203bbf8 100644 --- a/examples/getting_started/pulse_duration_optimization_musculoskeletal_dynamic.py +++ b/examples/getting_started/pulse_duration_optimization_musculoskeletal_dynamic.py @@ -20,21 +20,22 @@ objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=1, quadratic=True, phase=i) minimum_pulse_duration = DingModelPulseDurationFrequencyWithFatigue().pd0 -ocp = FESActuatedBiorbdModelOCP.prepare_ocp(biorbd_model_path="/arm26_biceps_1ddl.bioMod", - motion_type="start_end", - motion_data=[5, 120], - fes_muscle_model=DingModelPulseDurationFrequencyWithFatigue(), - n_stim=n_stim, - n_shooting=10, - final_time=1, - time_min=0.01, - time_max=0.1, - time_bimapping=True, - pulse_duration_min=minimum_pulse_duration, - pulse_duration_max=0.0006, - pulse_duration_bimapping=False, - custom_objective=objective_functions, - ) +ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="/arm26_biceps_1ddl.bioMod", + motion_type="start_end", + motion_data=[[5], [120]], + fes_muscle_model=DingModelPulseDurationFrequencyWithFatigue(), + n_stim=n_stim, + n_shooting=10, + final_time=1, + time_min=0.01, + time_max=0.1, + time_bimapping=True, + pulse_duration_min=minimum_pulse_duration, + pulse_duration_max=0.0006, + pulse_duration_bimapping=False, + custom_objective=objective_functions, +) sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) sol.animate() diff --git a/examples/getting_started/pulse_intensity_optimization_musculoskeletal_dynamic.py b/examples/getting_started/pulse_intensity_optimization_musculoskeletal_dynamic.py index 06eca5d5..ce77d16e 100644 --- a/examples/getting_started/pulse_intensity_optimization_musculoskeletal_dynamic.py +++ b/examples/getting_started/pulse_intensity_optimization_musculoskeletal_dynamic.py @@ -19,23 +19,26 @@ for i in range(n_stim): objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=1, quadratic=True, phase=i) -minimum_pulse_intensity = DingModelIntensityFrequencyWithFatigue.min_pulse_intensity(DingModelIntensityFrequencyWithFatigue()) +minimum_pulse_intensity = DingModelIntensityFrequencyWithFatigue.min_pulse_intensity( + DingModelIntensityFrequencyWithFatigue() +) -ocp = FESActuatedBiorbdModelOCP.prepare_ocp(biorbd_model_path="/arm26_biceps_1ddl.bioMod", - motion_type="start_end", - motion_data=[5, 120], - fes_muscle_model=DingModelIntensityFrequencyWithFatigue(), - n_stim=n_stim, - n_shooting=10, - final_time=1, - time_min=0.01, - time_max=0.1, - time_bimapping=True, - pulse_intensity_min=minimum_pulse_intensity, - pulse_intensity_max=130, - pulse_intensity_bimapping=False, - custom_objective=objective_functions, - ) +ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="/arm26_biceps_1ddl.bioMod", + motion_type="start_end", + motion_data=[[5], [120]], + fes_muscle_model=DingModelIntensityFrequencyWithFatigue(), + n_stim=n_stim, + n_shooting=10, + final_time=1, + time_min=0.01, + time_max=0.1, + time_bimapping=True, + pulse_intensity_min=minimum_pulse_intensity, + pulse_intensity_max=130, + pulse_intensity_bimapping=False, + custom_objective=objective_functions, +) sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) sol.animate() From 0d6b7fef737634ae54f2423d404c84d957963051 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Mon, 22 Jan 2024 17:45:24 -0500 Subject: [PATCH 07/63] refactor: renaming ddl into dof --- ...y => frequency_optimization_musculoskeletal_dynamic_2dof.py} | 0 .../{arm26_biceps_1ddl.bioMod => arm26_biceps_1dof.bioMod} | 0 .../frequency_optimization_musculoskeletal_dynamic.py | 2 +- .../pulse_duration_optimization_musculoskeletal_dynamic.py | 2 +- .../pulse_intensity_optimization_musculoskeletal_dynamic.py | 2 +- 5 files changed, 3 insertions(+), 3 deletions(-) rename examples/dynamics/{frequency_optimization_musculoskeletal_dynamic_2ddl.py => frequency_optimization_musculoskeletal_dynamic_2dof.py} (100%) rename examples/getting_started/{arm26_biceps_1ddl.bioMod => arm26_biceps_1dof.bioMod} (100%) diff --git a/examples/dynamics/frequency_optimization_musculoskeletal_dynamic_2ddl.py b/examples/dynamics/frequency_optimization_musculoskeletal_dynamic_2dof.py similarity index 100% rename from examples/dynamics/frequency_optimization_musculoskeletal_dynamic_2ddl.py rename to examples/dynamics/frequency_optimization_musculoskeletal_dynamic_2dof.py diff --git a/examples/getting_started/arm26_biceps_1ddl.bioMod b/examples/getting_started/arm26_biceps_1dof.bioMod similarity index 100% rename from examples/getting_started/arm26_biceps_1ddl.bioMod rename to examples/getting_started/arm26_biceps_1dof.bioMod diff --git a/examples/getting_started/frequency_optimization_musculoskeletal_dynamic.py b/examples/getting_started/frequency_optimization_musculoskeletal_dynamic.py index 14226aab..86cbd8d5 100644 --- a/examples/getting_started/frequency_optimization_musculoskeletal_dynamic.py +++ b/examples/getting_started/frequency_optimization_musculoskeletal_dynamic.py @@ -20,7 +20,7 @@ objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=1, quadratic=True, phase=i) ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="/arm26_biceps_1ddl.bioMod", + biorbd_model_path="arm26_biceps_1dof.bioMod", motion_type="start_end", motion_data=[[5], [120]], fes_muscle_model=DingModelFrequencyWithFatigue(), diff --git a/examples/getting_started/pulse_duration_optimization_musculoskeletal_dynamic.py b/examples/getting_started/pulse_duration_optimization_musculoskeletal_dynamic.py index 3203bbf8..abd54276 100644 --- a/examples/getting_started/pulse_duration_optimization_musculoskeletal_dynamic.py +++ b/examples/getting_started/pulse_duration_optimization_musculoskeletal_dynamic.py @@ -21,7 +21,7 @@ minimum_pulse_duration = DingModelPulseDurationFrequencyWithFatigue().pd0 ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="/arm26_biceps_1ddl.bioMod", + biorbd_model_path="/arm26_biceps_1dof.bioMod", motion_type="start_end", motion_data=[[5], [120]], fes_muscle_model=DingModelPulseDurationFrequencyWithFatigue(), diff --git a/examples/getting_started/pulse_intensity_optimization_musculoskeletal_dynamic.py b/examples/getting_started/pulse_intensity_optimization_musculoskeletal_dynamic.py index ce77d16e..c0b91dcb 100644 --- a/examples/getting_started/pulse_intensity_optimization_musculoskeletal_dynamic.py +++ b/examples/getting_started/pulse_intensity_optimization_musculoskeletal_dynamic.py @@ -24,7 +24,7 @@ ) ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="/arm26_biceps_1ddl.bioMod", + biorbd_model_path="/arm26_biceps_1dof.bioMod", motion_type="start_end", motion_data=[[5], [120]], fes_muscle_model=DingModelIntensityFrequencyWithFatigue(), From 383ae8bf1eac1a48b2030218c7bbe95e847655ec Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Tue, 23 Jan 2024 18:33:02 -0500 Subject: [PATCH 08/63] starting multi muscle incorporation --- cocofest/models/ding2003.py | 13 ++- cocofest/models/ding2003_with_fatigue.py | 12 ++- cocofest/models/ding2007.py | 4 +- cocofest/models/ding2007_with_fatigue.py | 4 +- cocofest/models/dynamical_model.py | 5 +- cocofest/models/hmed2018.py | 4 +- cocofest/models/hmed2018_with_fatigue.py | 4 +- cocofest/optimization/fes_ocp_dynamics.py | 97 ++++++++++++++++------- tests/shard1/test_ocp_build.py | 2 +- 9 files changed, 97 insertions(+), 48 deletions(-) diff --git a/cocofest/models/ding2003.py b/cocofest/models/ding2003.py index c0cc8c98..5f8b68b7 100644 --- a/cocofest/models/ding2003.py +++ b/cocofest/models/ding2003.py @@ -27,9 +27,10 @@ class DingModelFrequency: """ def __init__( - self, name: str = "ding2003", sum_stim_truncation: int = None, + self, model_name: str = "ding2003", muscle_name: str = None, sum_stim_truncation: int = None, ): - self._name = name + self._model_name = model_name + self._muscle_name = muscle_name self._sum_stim_truncation = sum_stim_truncation self._with_fatigue = False # ---- Custom values for the example ---- # @@ -88,8 +89,12 @@ def nb_state(self) -> int: return 2 @property - def name(self) -> None | str: - return self._name + def model_name(self) -> None | str: + return self._model_name + + @property + def muscle_name(self) -> None | str: + return self._muscle_name # ---- Model's dynamics ---- # def system_dynamics(self, cn: MX, f: MX, t: MX = None, t_stim_prev: list[MX] | list[float] = None,) -> MX: diff --git a/cocofest/models/ding2003_with_fatigue.py b/cocofest/models/ding2003_with_fatigue.py index 75604882..bf9d0466 100644 --- a/cocofest/models/ding2003_with_fatigue.py +++ b/cocofest/models/ding2003_with_fatigue.py @@ -27,9 +27,9 @@ class DingModelFrequencyWithFatigue(DingModelFrequency): """ def __init__( - self, name: str = "ding2003_with_fatigue", sum_stim_truncation: int = None, + self, model_name: str = "ding2003_with_fatigue", muscle_name: str = None, sum_stim_truncation: int = None, ): - super().__init__(name=name, sum_stim_truncation=sum_stim_truncation) + super().__init__(model_name=model_name, muscle_name=muscle_name, sum_stim_truncation=sum_stim_truncation) self._with_fatigue = True # ---- Fatigue models ---- # self.alpha_a = -4.0 * 10e-7 # Value from Ding's experimentation [1] (s^-2) @@ -86,8 +86,12 @@ def nb_state(self) -> int: return 5 @property - def name(self) -> None | str: - return self._name + def model_name(self) -> None | str: + return self._model_name + + @property + def muscle_name(self) -> None | str: + return self._muscle_name # ---- Model's dynamics ---- # def system_dynamics( diff --git a/cocofest/models/ding2007.py b/cocofest/models/ding2007.py index e9193731..4b028d41 100644 --- a/cocofest/models/ding2007.py +++ b/cocofest/models/ding2007.py @@ -25,8 +25,8 @@ class DingModelPulseDurationFrequency(DingModelFrequency): Muscle & Nerve: Official Journal of the American Association of Electrodiagnostic Medicine, 36(2), 214-222. """ - def __init__(self, name: str = "ding_2007", sum_stim_truncation: int = None): - super(DingModelPulseDurationFrequency, self).__init__(name=name, sum_stim_truncation=sum_stim_truncation) + def __init__(self, model_name: str = "ding_2007", muscle_name: str = None, sum_stim_truncation: int = None): + super(DingModelPulseDurationFrequency, self).__init__(model_name=model_name, muscle_name=muscle_name, sum_stim_truncation=sum_stim_truncation) self._with_fatigue = False self.impulse_time = None # ---- Custom values for the example ---- # diff --git a/cocofest/models/ding2007_with_fatigue.py b/cocofest/models/ding2007_with_fatigue.py index 47e9aacb..3a74f2e0 100644 --- a/cocofest/models/ding2007_with_fatigue.py +++ b/cocofest/models/ding2007_with_fatigue.py @@ -26,9 +26,9 @@ class DingModelPulseDurationFrequencyWithFatigue(DingModelPulseDurationFrequency Muscle & Nerve: Official Journal of the American Association of Electrodiagnostic Medicine, 36(2), 214-222. """ - def __init__(self, name: str = "ding_2007_with_fatigue", sum_stim_truncation: int = None): + def __init__(self, model_name: str = "ding_2007_with_fatigue", muscle_name: str = None, sum_stim_truncation: int = None): super(DingModelPulseDurationFrequencyWithFatigue, self).__init__( - name=name, sum_stim_truncation=sum_stim_truncation + model_name=model_name, muscle_name=muscle_name, sum_stim_truncation=sum_stim_truncation ) self._with_fatigue = True diff --git a/cocofest/models/dynamical_model.py b/cocofest/models/dynamical_model.py index c15f257a..24d208d6 100644 --- a/cocofest/models/dynamical_model.py +++ b/cocofest/models/dynamical_model.py @@ -141,8 +141,9 @@ def muscle_dynamic( ).dxdt muscle_forces = DynamicsFunctions.get(nlp.states["F"], states) - muscles_tau += -nlp.model.bio_model.model.musclesLengthJacobian(q).to_mx().T @ muscle_forces - # muscles_tau += nlp.model.bio_model.model.muscularJointTorque(muscle_forces, q, qdot).to_mx() + moment_arm_matrix = -nlp.model.bio_model.model.musclesLengthJacobian(q).to_mx().T + + muscles_tau += moment_arm_matrix @ muscle_forces dxdt_muscle_list = vertcat(dxdt_muscle_list, muscle_dxdt) # You can directly call biorbd function (as for ddq) or call bioptim accessor (as for dq) diff --git a/cocofest/models/hmed2018.py b/cocofest/models/hmed2018.py index 5e184ea1..cd803674 100644 --- a/cocofest/models/hmed2018.py +++ b/cocofest/models/hmed2018.py @@ -26,8 +26,8 @@ class DingModelIntensityFrequency(DingModelFrequency): Computers in Biology and Medicine, 101, 218-228. """ - def __init__(self, name: str = "hmed2018", sum_stim_truncation: int = None): - super(DingModelIntensityFrequency, self).__init__(name=name, sum_stim_truncation=sum_stim_truncation) + def __init__(self, model_name: str = "hmed2018", muscle_name: str = None, sum_stim_truncation: int = None): + super(DingModelIntensityFrequency, self).__init__(model_name=model_name, muscle_name=muscle_name, sum_stim_truncation=sum_stim_truncation) self._with_fatigue = False # ---- Custom values for the example ---- # # ---- Force models ---- # diff --git a/cocofest/models/hmed2018_with_fatigue.py b/cocofest/models/hmed2018_with_fatigue.py index 391ad727..3bd169f7 100644 --- a/cocofest/models/hmed2018_with_fatigue.py +++ b/cocofest/models/hmed2018_with_fatigue.py @@ -26,8 +26,8 @@ class DingModelIntensityFrequencyWithFatigue(DingModelIntensityFrequency): Computers in Biology and Medicine, 101, 218-228. """ - def __init__(self, name: str = "hmed2018_with_fatigue", sum_stim_truncation: int = None): - super(DingModelIntensityFrequencyWithFatigue, self).__init__(name=name, sum_stim_truncation=sum_stim_truncation) + def __init__(self, model_name: str = "hmed2018_with_fatigue", muscle_name: str = None, sum_stim_truncation: int = None): + super(DingModelIntensityFrequencyWithFatigue, self).__init__(model_name=model_name, muscle_name=muscle_name, sum_stim_truncation=sum_stim_truncation) self._with_fatigue = True # ---- Fatigue models ---- # self.alpha_a = -4.0 * 10e-7 # Value from Ding's experimentation [1] (s^-2) diff --git a/cocofest/optimization/fes_ocp_dynamics.py b/cocofest/optimization/fes_ocp_dynamics.py index 58c65107..3d6e65af 100644 --- a/cocofest/optimization/fes_ocp_dynamics.py +++ b/cocofest/optimization/fes_ocp_dynamics.py @@ -29,14 +29,14 @@ class FESActuatedBiorbdModelOCP: @staticmethod def prepare_ocp( biorbd_model_path: str, - motion_type: str = None, - motion_data: list = None, - fes_muscle_model: DingModelFrequency - | DingModelFrequencyWithFatigue - | DingModelPulseDurationFrequency - | DingModelPulseDurationFrequencyWithFatigue - | DingModelIntensityFrequency - | DingModelIntensityFrequencyWithFatigue = None, + bound_type: str = None, + bound_data: list = None, + fes_muscle_model: list[DingModelFrequency] + | list[DingModelFrequencyWithFatigue] + | list[DingModelPulseDurationFrequency] + | list[DingModelPulseDurationFrequencyWithFatigue] + | list[DingModelIntensityFrequency] + | list[DingModelIntensityFrequencyWithFatigue] = None, n_stim: int = None, n_shooting: int = None, final_time: int | float = None, @@ -57,6 +57,7 @@ def prepare_ocp( force_tracking: list = None, end_node_tracking: int | float = None, custom_objective: ObjectiveList = None, + with_residual_torque: bool = False, use_sx: bool = True, ode_solver: OdeSolverBase = OdeSolver.RK4(n_integration_steps=1), control_type: ControlType = ControlType.CONSTANT, @@ -113,7 +114,7 @@ def prepare_ocp( """ OcpFes._sanity_check( - model=fes_muscle_model, + model=fes_muscle_model[0], n_stim=n_stim, n_shooting=n_shooting, final_time=final_time, @@ -138,8 +139,12 @@ def prepare_ocp( n_threads=n_threads, ) + FESActuatedBiorbdModelOCP._sanity_check_fes_models(fes_muscle_model) + OcpFes._sanity_check_frequency(n_stim=n_stim, final_time=final_time, frequency=frequency, round_down=round_down) + FESActuatedBiorbdModelOCP._sanity_check_muscle_model(biorbd_model_path=biorbd_model_path, fes_muscle_model=fes_muscle_model) + n_stim, final_time = OcpFes._build_phase_parameter( n_stim=n_stim, final_time=final_time, frequency=frequency, pulse_mode=pulse_mode, round_down=round_down ) @@ -181,15 +186,15 @@ def prepare_ocp( ] FESActuatedBiorbdModelOCP._sanity_check_bounds( - bio_models=bio_models, motion_type=motion_type, motion_data=motion_data + bio_models=bio_models, bound_type=bound_type, bound_data=bound_data ) dynamics = FESActuatedBiorbdModelOCP._declare_dynamics(bio_models, n_stim) x_bounds, x_init = OcpFes._set_bounds(fes_muscle_model, n_stim) x_bounds, x_init = FESActuatedBiorbdModelOCP._set_bounds( - bio_models, motion_type, motion_data, n_stim, x_bounds, x_init + bio_models, bound_type, bound_data, n_stim, x_bounds, x_init ) - u_bounds, u_init = FESActuatedBiorbdModelOCP._set_controls(bio_models, n_stim) + u_bounds, u_init = FESActuatedBiorbdModelOCP._set_controls(bio_models, n_stim, with_residual_torque) objective_functions = OcpFes._set_objective( n_stim, n_shooting, force_fourier_coef, end_node_tracking, custom_objective ) @@ -231,27 +236,35 @@ def _declare_dynamics(bio_models, n_stim): return dynamics @staticmethod - def _set_bounds(bio_models, motion_type, motion_data, n_stim, x_bounds, x_init): + def _set_bounds(bio_models, bound_type, bound_data, n_stim, x_bounds, x_init): - if motion_type == "start_end": + if bound_type == "start_end": start_bounds = [] end_bounds = [] for i in range(bio_models[0].nb_q): - start_bounds.append(3.14 / (180 / motion_data[0][i]) if motion_data[0][i] != 0 else 0) - end_bounds.append(3.14 / (180 / motion_data[1][i]) if motion_data[1][i] != 0 else 0) + start_bounds.append(3.14 / (180 / bound_data[0][i]) if bound_data[0][i] != 0 else 0) + end_bounds.append(3.14 / (180 / bound_data[1][i]) if bound_data[1][i] != 0 else 0) + + elif bound_type == "start": + start_bounds = [] + for i in range(bio_models[0].nb_q): + start_bounds.append(3.14 / (180 / bound_data[i]) if bound_data[i] != 0 else 0) for i in range(n_stim): q_x_bounds = bio_models[i].bounds_from_ranges("q") qdot_x_bounds = bio_models[i].bounds_from_ranges("qdot") if i == 0: - if motion_type == "start_end": + if bound_type == "start_end": + for j in range(bio_models[i].nb_q): + q_x_bounds[j, [0]] = start_bounds[j] + elif bound_type == "start": for j in range(bio_models[i].nb_q): q_x_bounds[j, [0]] = start_bounds[j] qdot_x_bounds[:, [0]] = 0 # Start without any velocity if i == n_stim - 1: - if motion_type == "start_end": + if bound_type == "start_end": for j in range(bio_models[i].nb_q): q_x_bounds[j, [-1]] = end_bounds[j] @@ -264,11 +277,13 @@ def _set_bounds(bio_models, motion_type, motion_data, n_stim, x_bounds, x_init): return x_bounds, x_init @staticmethod - def _set_controls(bio_models, n_stim): - + def _set_controls(bio_models, n_stim, with_residual_torque): # Controls bounds nb_tau = bio_models[0].nb_tau - tau_min, tau_max, tau_init = [-20] * nb_tau, [20] * nb_tau, [0] * nb_tau + if with_residual_torque: + tau_min, tau_max, tau_init = [20] * nb_tau, [20] * nb_tau, [0] * nb_tau + else: + tau_min, tau_max, tau_init = [0] * nb_tau, [0] * nb_tau, [0] * nb_tau u_bounds = BoundsList() for i in range(n_stim): @@ -282,14 +297,38 @@ def _set_controls(bio_models, n_stim): return u_bounds, u_init @staticmethod - def _sanity_check_bounds(bio_models, motion_type, motion_data): + def _sanity_check_bounds(bio_models, bound_type, bound_data): for i in range(bio_models[0].nb_q): - if motion_type == "start_end": - if not isinstance(motion_data, list): - raise TypeError("The motion data should be a list of two elements") - if len(motion_data) != 2: - raise ValueError("The motion data should be a list of two elements, start and end position") - if not isinstance(motion_data[0], list) or not isinstance(motion_data[1], list): + if bound_type == "start_end": + if not isinstance(bound_data, list): + raise TypeError("The bound data should be a list of two elements") + if len(bound_data) != 2: + raise ValueError("The bound data should be a list of two elements, start and end position") + if not isinstance(bound_data[0], list) or not isinstance(bound_data[1], list): raise TypeError("The start and end position should be a list") - if len(motion_data[0]) != bio_models[0].nb_q or len(motion_data[1]) != bio_models[0].nb_q: + if len(bound_data[0]) != bio_models[0].nb_q or len(bound_data[1]) != bio_models[0].nb_q: raise ValueError("The start and end position should be a list of size nb_q") + + @staticmethod + def _sanity_check_muscle_model(biorbd_model_path, fes_muscle_model): + tested_bio_model = FESActuatedBiorbdModel(name=None, biorbd_path=biorbd_model_path, muscles_model=fes_muscle_model) + fes_muscle_model_name_list = [fes_muscle_model[x].muscle_name for x in range(len(fes_muscle_model))] + for biorbd_muscle in tested_bio_model.muscle_names: + if biorbd_muscle not in fes_muscle_model_name_list: + raise ValueError(f"The muscle {biorbd_muscle} is not in the fes muscle model") + + @staticmethod + def _sanity_check_fes_models(fes_muscle_model): + for i in range(len(fes_muscle_model)): + if not isinstance( + fes_muscle_model[i], + DingModelFrequency + | DingModelFrequencyWithFatigue + | DingModelPulseDurationFrequency + | DingModelPulseDurationFrequencyWithFatigue + | DingModelIntensityFrequency + | DingModelIntensityFrequencyWithFatigue, + ): + raise TypeError( + "model must be a DingModelFrequency, DingModelFrequencyWithFatigue, DingModelPulseDurationFrequency, DingModelPulseDurationFrequencyWithFatigue, DingModelIntensityFrequency, DingModelIntensityFrequencyWithFatigue type" + ) diff --git a/tests/shard1/test_ocp_build.py b/tests/shard1/test_ocp_build.py index 48b6e35f..68abf550 100644 --- a/tests/shard1/test_ocp_build.py +++ b/tests/shard1/test_ocp_build.py @@ -310,7 +310,7 @@ def test_ocp_building( use_sx, sum_stim_truncation, ): - if (model.name == "ding2003" or model.name == "ding2003_with_fatigue") and time_min is None and time_max is None: + if (model.model_name == "ding2003" or model.model_name == "ding2003_with_fatigue") and time_min is None and time_max is None: return model._sum_stim_truncation = sum_stim_truncation From 81c2b9f80de20d1dd2e34a290201627a40c2acc2 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Tue, 23 Jan 2024 18:33:14 -0500 Subject: [PATCH 09/63] for mayer --- cocofest/optimization/fes_ocp.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cocofest/optimization/fes_ocp.py b/cocofest/optimization/fes_ocp.py index 16d73d9f..12e1ce42 100644 --- a/cocofest/optimization/fes_ocp.py +++ b/cocofest/optimization/fes_ocp.py @@ -669,7 +669,9 @@ def _set_objective(n_stim, n_shooting, force_fourier_coef, end_node_tracking, cu objective_functions = ObjectiveList() if custom_objective: for i in range(len(custom_objective)): - objective_functions.add(custom_objective[i][0]) + if custom_objective[i]: + for j in range(len(custom_objective[i])): + objective_functions.add(custom_objective[i][j]) if force_fourier_coef is not None: for phase in range(n_stim): From ce0ad2c2d418976ccc47ab6779ef2dc53604b055 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Tue, 23 Jan 2024 18:33:57 -0500 Subject: [PATCH 10/63] changed the way of defining bounds --- .../pulse_intensity_optimization_musculoskeletal_dynamic.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/getting_started/pulse_intensity_optimization_musculoskeletal_dynamic.py b/examples/getting_started/pulse_intensity_optimization_musculoskeletal_dynamic.py index c0b91dcb..fdbd4924 100644 --- a/examples/getting_started/pulse_intensity_optimization_musculoskeletal_dynamic.py +++ b/examples/getting_started/pulse_intensity_optimization_musculoskeletal_dynamic.py @@ -25,8 +25,8 @@ ocp = FESActuatedBiorbdModelOCP.prepare_ocp( biorbd_model_path="/arm26_biceps_1dof.bioMod", - motion_type="start_end", - motion_data=[[5], [120]], + bound_type="start_end", + bound_data=[[5], [120]], fes_muscle_model=DingModelIntensityFrequencyWithFatigue(), n_stim=n_stim, n_shooting=10, From b409945846603e951664b45127e6aeb82ed5bb76 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Wed, 24 Jan 2024 18:54:56 -0500 Subject: [PATCH 11/63] feat: Enabling several FES muscle in one bio model optimization --- cocofest/models/ding2003.py | 15 +- cocofest/models/ding2003_with_fatigue.py | 25 +- cocofest/models/ding2007.py | 14 +- cocofest/models/ding2007_with_fatigue.py | 21 +- cocofest/models/dynamical_model.py | 149 +++----- cocofest/models/hmed2018.py | 13 +- cocofest/models/hmed2018_with_fatigue.py | 27 +- cocofest/optimization/fes_ocp.py | 3 +- cocofest/optimization/fes_ocp_dynamics.py | 247 ++++++++++-- examples/dynamics/arm26.bioMod | 355 ++++++++++++++++++ examples/dynamics/arm26_biceps_1dof.bioMod | 254 +++++++++++++ examples/dynamics/arm26_cycling.bioMod | 276 ++++++++++++++ ...timization_musculoskeletal_dynamic_2dof.py | 7 +- ...nsity_optimization_cycling_multi_muscle.py | 64 ++++ .../intensity_optimization_track_q.py | 51 +++ ...nsity_optimization_track_q_multi_muscle.py | 56 +++ ...cy_optimization_musculoskeletal_dynamic.py | 7 +- ...on_optimization_musculoskeletal_dynamic.py | 7 +- ...ty_optimization_musculoskeletal_dynamic.py | 3 +- 19 files changed, 1430 insertions(+), 164 deletions(-) create mode 100644 examples/dynamics/arm26.bioMod create mode 100644 examples/dynamics/arm26_biceps_1dof.bioMod create mode 100644 examples/dynamics/arm26_cycling.bioMod create mode 100644 examples/dynamics/intensity_optimization_cycling_multi_muscle.py create mode 100644 examples/dynamics/intensity_optimization_track_q.py create mode 100644 examples/dynamics/intensity_optimization_track_q_multi_muscle.py diff --git a/cocofest/models/ding2003.py b/cocofest/models/ding2003.py index 5f8b68b7..b4301cf4 100644 --- a/cocofest/models/ding2003.py +++ b/cocofest/models/ding2003.py @@ -82,7 +82,8 @@ def serialize(self) -> tuple[Callable, dict]: # ---- Needed for the example ---- # @property def name_dof(self) -> list[str]: - return ["Cn", "F"] + muscle_name = "_" + self.muscle_name if self.muscle_name else "" + return ["Cn"+muscle_name, "F"+muscle_name] @property def nb_state(self) -> int: @@ -274,8 +275,8 @@ def declare_ding_variables(self, ocp: OptimalControlProgram, nlp: NonLinearProgr nlp: NonLinearProgram A reference to the phase """ - self.configure_ca_troponin_complex(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) - self.configure_force(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) + self.configure_ca_troponin_complex(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) + self.configure_force(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) stim_apparition = self.get_stim_prev(ocp, nlp) ConfigureProblem.configure_dynamics_function(ocp, nlp, dyn_func=self.dynamics, stim_apparition=stim_apparition) @@ -286,6 +287,7 @@ def configure_ca_troponin_complex( as_states: bool, as_controls: bool, as_states_dot: bool = False, + muscle_name: str = None, ): """ Configure a new variable of the Ca+ troponin complex (unitless) @@ -303,7 +305,8 @@ def configure_ca_troponin_complex( as_states_dot: bool If the generalized velocities should be a state_dot """ - name = "Cn" + muscle_name = "_" + muscle_name if muscle_name else "" + name = "Cn"+muscle_name name_cn = [name] ConfigureProblem.configure_new_variable( name, name_cn, ocp, nlp, as_states, as_controls, as_states_dot, @@ -316,6 +319,7 @@ def configure_force( as_states: bool, as_controls: bool, as_states_dot: bool = False, + muscle_name: str = None, ): """ Configure a new variable of the force (N) @@ -333,7 +337,8 @@ def configure_force( as_states_dot: bool If the generalized velocities should be a state_dot """ - name = "F" + muscle_name = "_" + muscle_name if muscle_name else "" + name = "F"+muscle_name name_f = [name] ConfigureProblem.configure_new_variable( name, name_f, ocp, nlp, as_states, as_controls, as_states_dot, diff --git a/cocofest/models/ding2003_with_fatigue.py b/cocofest/models/ding2003_with_fatigue.py index bf9d0466..9cab1034 100644 --- a/cocofest/models/ding2003_with_fatigue.py +++ b/cocofest/models/ding2003_with_fatigue.py @@ -79,7 +79,8 @@ def serialize(self) -> tuple[Callable, dict]: # ---- Needed for the example ---- # @property def name_dof(self) -> list[str]: - return ["Cn", "F", "A", "Tau1", "Km"] + muscle_name = "_" + self.muscle_name if self.muscle_name else "" + return ["Cn"+muscle_name, "F"+muscle_name, "A"+muscle_name, "Tau1"+muscle_name, "Km"+muscle_name] @property def nb_state(self) -> int: @@ -242,11 +243,11 @@ def declare_ding_variables(self, ocp: OptimalControlProgram, nlp: NonLinearProgr nlp: NonLinearProgram A reference to the phase """ - self.configure_ca_troponin_complex(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) - self.configure_force(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) - self.configure_scaling_factor(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) - self.configure_time_state_force_no_cross_bridge(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) - self.configure_cross_bridges(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) + self.configure_ca_troponin_complex(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) + self.configure_force(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) + self.configure_scaling_factor(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) + self.configure_time_state_force_no_cross_bridge(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) + self.configure_cross_bridges(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) stim_apparition = self.get_stim_prev(ocp, nlp) ConfigureProblem.configure_dynamics_function(ocp, nlp, dyn_func=self.dynamics, stim_apparition=stim_apparition) @@ -257,6 +258,7 @@ def configure_scaling_factor( as_states: bool, as_controls: bool, as_states_dot: bool = False, + muscle_name: str = None, ): """ Configure a new variable of the scaling factor (N/ms) @@ -274,7 +276,8 @@ def configure_scaling_factor( as_states_dot: bool If the generalized velocities should be a state_dot """ - name = "A" + muscle_name = "_" + muscle_name if muscle_name else "" + name = "A"+muscle_name name_a = [name] ConfigureProblem.configure_new_variable( name, name_a, ocp, nlp, as_states, as_controls, as_states_dot, @@ -287,6 +290,7 @@ def configure_time_state_force_no_cross_bridge( as_states: bool, as_controls: bool, as_states_dot: bool = False, + muscle_name: str = None, ): """ Configure a new variable for time constant of force decline at the absence of strongly bound cross-bridges (ms) @@ -304,7 +308,8 @@ def configure_time_state_force_no_cross_bridge( as_states_dot: bool If the generalized velocities should be a state_dot """ - name = "Tau1" + muscle_name = "_" + muscle_name if muscle_name else "" + name = "Tau1"+muscle_name name_tau1 = [name] ConfigureProblem.configure_new_variable( name, name_tau1, ocp, nlp, as_states, as_controls, as_states_dot, @@ -317,6 +322,7 @@ def configure_cross_bridges( as_states: bool, as_controls: bool, as_states_dot: bool = False, + muscle_name: str = None, ): """ Configure a new variable for sensitivity of strongly bound cross-bridges to Cn (unitless) @@ -334,7 +340,8 @@ def configure_cross_bridges( as_states_dot: bool If the generalized velocities should be a state_dot """ - name = "Km" + muscle_name = "_" + muscle_name if muscle_name else "" + name = "Km"+muscle_name name_km = [name] ConfigureProblem.configure_new_variable( name, name_km, ocp, nlp, as_states, as_controls, as_states_dot, diff --git a/cocofest/models/ding2007.py b/cocofest/models/ding2007.py index 4b028d41..5d65db28 100644 --- a/cocofest/models/ding2007.py +++ b/cocofest/models/ding2007.py @@ -120,7 +120,7 @@ def set_impulse_duration(self, value: list[MX]): self.impulse_time = value @staticmethod - def get_pulse_duration_parameters(nlp_parameters: ParameterList) -> MX: + def get_pulse_duration_parameters(nlp_parameters: ParameterList, muscle_name: str = None) -> MX: """ Get the nlp list of pulse_duration parameters @@ -135,8 +135,12 @@ def get_pulse_duration_parameters(nlp_parameters: ParameterList) -> MX: """ pulse_duration_parameters = vertcat() for j in range(nlp_parameters.mx.shape[0]): - if "pulse_duration" in str(nlp_parameters.mx[j]): + if muscle_name: + if "pulse_duration_"+ muscle_name in str(nlp_parameters.mx[j]): + pulse_duration_parameters = vertcat(pulse_duration_parameters, nlp_parameters.mx[j]) + elif "pulse_duration" in str(nlp_parameters.mx[j]): pulse_duration_parameters = vertcat(pulse_duration_parameters, nlp_parameters.mx[j]) + return pulse_duration_parameters @staticmethod @@ -176,7 +180,7 @@ def dynamics( pulse_duration_parameters = ( nlp.model.get_pulse_duration_parameters(nlp.parameters) if nlp_dynamics is None - else nlp_dynamics.get_pulse_duration_parameters(nlp.parameters) + else nlp_dynamics.get_pulse_duration_parameters(nlp.parameters, muscle_name=nlp_dynamics.muscle_name) ) if pulse_duration_parameters.shape[0] == 1: # check if pulse duration is mapped @@ -202,7 +206,7 @@ def declare_ding_variables(self, ocp: OptimalControlProgram, nlp: NonLinearProgr nlp: NonLinearProgram A reference to the phase """ - self.configure_ca_troponin_complex(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) - self.configure_force(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) + self.configure_ca_troponin_complex(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) + self.configure_force(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) stim_apparition = self.get_stim_prev(ocp, nlp) ConfigureProblem.configure_dynamics_function(ocp, nlp, dyn_func=self.dynamics, stim_apparition=stim_apparition) diff --git a/cocofest/models/ding2007_with_fatigue.py b/cocofest/models/ding2007_with_fatigue.py index 3a74f2e0..8c160168 100644 --- a/cocofest/models/ding2007_with_fatigue.py +++ b/cocofest/models/ding2007_with_fatigue.py @@ -41,7 +41,8 @@ def __init__(self, model_name: str = "ding_2007_with_fatigue", muscle_name: str # ---- Absolutely needed methods ---- # @property def name_dof(self) -> list[str]: - return ["Cn", "F", "Tau1", "Km"] + muscle_name = "_" + self.muscle_name if self.muscle_name else "" + return ["Cn"+muscle_name, "F"+muscle_name, "Tau1"+muscle_name, "Km"+muscle_name] @property def nb_state(self) -> int: @@ -185,7 +186,7 @@ def dynamics( pulse_duration_parameters = ( nlp.model.get_pulse_duration_parameters(nlp.parameters) if nlp_dynamics is None - else nlp_dynamics.get_pulse_duration_parameters(nlp.parameters) + else nlp_dynamics.get_pulse_duration_parameters(nlp.parameters, muscle_name=nlp_dynamics.muscle_name) ) if pulse_duration_parameters.shape[0] == 1: # check if pulse duration is mapped @@ -219,10 +220,10 @@ def declare_ding_variables(self, ocp: OptimalControlProgram, nlp: NonLinearProgr nlp: NonLinearProgram A reference to the phase """ - self.configure_ca_troponin_complex(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) - self.configure_force(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) - self.configure_time_state_force_no_cross_bridge(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) - self.configure_cross_bridges(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) + self.configure_ca_troponin_complex(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) + self.configure_force(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) + self.configure_time_state_force_no_cross_bridge(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) + self.configure_cross_bridges(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) stim_apparition = self.get_stim_prev(ocp, nlp) ConfigureProblem.configure_dynamics_function(ocp, nlp, dyn_func=self.dynamics, stim_apparition=stim_apparition) @@ -233,6 +234,7 @@ def configure_time_state_force_no_cross_bridge( as_states: bool, as_controls: bool, as_states_dot: bool = False, + muscle_name: str = None, ): """ Configure a new variable for time constant of force decline at the absence of strongly bound cross-bridges (ms) @@ -250,7 +252,8 @@ def configure_time_state_force_no_cross_bridge( as_states_dot: bool If the generalized velocities should be a state_dot """ - name = "Tau1" + muscle_name = "_" + muscle_name if muscle_name else "" + name = "Tau1"+muscle_name name_tau1 = [name] ConfigureProblem.configure_new_variable( name, name_tau1, ocp, nlp, as_states, as_controls, as_states_dot, @@ -263,6 +266,7 @@ def configure_cross_bridges( as_states: bool, as_controls: bool, as_states_dot: bool = False, + muscle_name: str = None, ): """ Configure a new variable for sensitivity of strongly bound cross-bridges to Cn (unitless) @@ -280,7 +284,8 @@ def configure_cross_bridges( as_states_dot: bool If the generalized velocities should be a state_dot """ - name = "Km" + muscle_name = "_" + muscle_name if muscle_name else "" + name = "Km"+muscle_name name_km = [name] ConfigureProblem.configure_new_variable( name, name_km, ocp, nlp, as_states, as_controls, as_states_dot, diff --git a/cocofest/models/dynamical_model.py b/cocofest/models/dynamical_model.py index 24d208d6..0b33993e 100644 --- a/cocofest/models/dynamical_model.py +++ b/cocofest/models/dynamical_model.py @@ -20,62 +20,34 @@ def __init__( name: str = None, biorbd_path: str = None, muscles_model: DingModelFrequency() = None, - # muscles_name: list = None # TODO : for loop to create different muscles ): super().__init__(biorbd_path) self._name = name self.bio_model = BiorbdModel(biorbd_path) self.bounds_from_ranges_q = self.bio_model.bounds_from_ranges("q") self.bounds_from_ranges_qdot = self.bio_model.bounds_from_ranges("qdot") - # self.muscles_dynamics_model = muscles_model_list # * self.nb_muscles # TODO : for loop to create different muscles - # self.muscles_name_list = muscles_name_list self.muscles_dynamics_model = muscles_model - self.bio_stim_model = [self.bio_model] + [self.muscles_dynamics_model] - - # TODO : make different muscle for biceps and triceps... such as DingModelFrequency has different parameters value - # TODO : find a way to compare names and remove the muscle that is not in the model + self.bio_stim_model = [self.bio_model] + self.muscles_dynamics_model # ---- Absolutely needed methods ---- # - def serialize(self) -> tuple[Callable, dict]: - # TODO : make different serialize for biceps and triceps... different parameters value - # This is where you can serialize your model - # This is useful if you want to save your model and load it later - # return ( - # FESActuatedBiorbdModel, - # { - # "tauc": self.muscles_dynamics_model[0].tauc, - # "a_rest": self.muscles_dynamics_model[0].a_rest, - # "tau1_rest": self.muscles_dynamics_model[0].tau1_rest, - # "km_rest": self.muscles_dynamics_model[0].km_rest, - # "tau2": self.muscles_dynamics_model[0].tau2, - # "alpha_a": self.muscles_dynamics_model[0].alpha_a, - # "alpha_tau1": self.muscles_dynamics_model[0].alpha_tau1, - # "alpha_km": self.muscles_dynamics_model[0].alpha_km, - # "tau_fat": self.muscles_dynamics_model[0].tau_fat, - # }, - # ) - return self.muscles_dynamics_model.serialize() + def serialize(self, index: int = 0) -> tuple[Callable, dict]: + return self.muscles_dynamics_model[index].serialize() # ---- Needed for the example ---- # - # TODO update for 3 models @property - def name_dof(self) -> list[str]: - return self.bio_stim_model[0].name_dof - # self.bio_model[0].name_dof - # ["Cn", "F", "A", "Tau1", "Km", "q", "qdot", "tau"] + def name_dof(self) -> tuple[str]: + return self.bio_model.name_dof - def muscle_name_dof(self) -> list[str]: - return self.muscles_dynamics_model.name_dof + def muscle_name_dof(self, index: int = 0) -> list[str]: + return self.muscles_dynamics_model[index].name_dof @property def nb_state(self) -> int: nb_state = 0 - # for muscle_model in self.muscles_dynamics_model: # TODO : for loop to create different muscles - # nb_state += muscle_model.nb_state - - nb_state += self.muscles_dynamics_model.nb_state - nb_state += self.bio_model[0].name_dof + for muscle_model in self.muscles_dynamics_model: + nb_state += muscle_model.nb_state + nb_state += self.bio_model.nb_q return nb_state @property @@ -90,8 +62,9 @@ def muscle_dynamic( parameters: MX | SX, stochastic_variables: MX | SX, nlp: NonLinearProgram, - muscle_model: DingModelFrequency | DingModelIntensityFrequency | DingModelPulseDurationFrequency, + muscle_models: list[DingModelFrequency] | list[DingModelIntensityFrequency] | list[DingModelPulseDurationFrequency], stim_apparition=None, + state_name_list=None, ) -> DynamicsEvaluation: """ The custom dynamics function that provides the derivative of the states: dxdt = f(t, x, u, p, s) @@ -123,28 +96,33 @@ def muscle_dynamic( muscles_tau = 0 dxdt_muscle_list = vertcat() - # for muscle_model in muscle_model_list: #TODO : for different muscles - # muscle_dxdt = muscle_model.dynamics(time, states, controls, parameters, stochastic_variables, nlp, nb_phases).dxdt - # muscle_forces = DynamicsFunctions.get(nlp.states["F"], states) - # muscles_tau += nlp.model.bio_model.model.muscularJointTorque(muscle_forces, q, qdot).to_mx() - # dxdt_muscle_list = vertcat(dxdt_muscle_list, muscle_dxdt) - - muscle_dxdt = muscle_model.dynamics( - time, - states, - controls, - parameters, - stochastic_variables, - nlp, - stim_apparition, - nlp_dynamics=nlp.model.muscles_dynamics_model, - ).dxdt - muscle_forces = DynamicsFunctions.get(nlp.states["F"], states) - - moment_arm_matrix = -nlp.model.bio_model.model.musclesLengthJacobian(q).to_mx().T - - muscles_tau += moment_arm_matrix @ muscle_forces - dxdt_muscle_list = vertcat(dxdt_muscle_list, muscle_dxdt) + bio_muscle_names_at_index = [] + for i in range(len(nlp.model.bio_model.model.muscles())): + bio_muscle_names_at_index.append(nlp.model.bio_model.model.muscle(i).name().to_string()) + + for muscle_model in muscle_models: + muscle_states_idx = [i for i in range(len(state_name_list)) if muscle_model.muscle_name in state_name_list[i]] + muscle_states = vertcat() + for i in range(len(muscle_states_idx)): + muscle_states = vertcat(muscle_states, states[muscle_states_idx[i]]) + + muscle_dxdt = muscle_model.dynamics( + time, + muscle_states, + controls, + parameters, + stochastic_variables, + nlp, + stim_apparition, + nlp_dynamics=muscle_model, + ).dxdt + + muscle_forces = DynamicsFunctions.get(nlp.states["F_"+muscle_model.muscle_name], states) + muscle_idx = bio_muscle_names_at_index.index(muscle_model.muscle_name) + moment_arm_matrix_for_the_muscle_and_joint = -nlp.model.bio_model.model.musclesLengthJacobian(q).to_mx()[muscle_idx, :].T + muscles_tau += moment_arm_matrix_for_the_muscle_and_joint @ muscle_forces + + dxdt_muscle_list = vertcat(dxdt_muscle_list, muscle_dxdt) # You can directly call biorbd function (as for ddq) or call bioptim accessor (as for dq) dq = DynamicsFunctions.compute_qdot(nlp, q, qdot) @@ -165,33 +143,29 @@ def declare_model_variables(self, ocp: OptimalControlProgram, nlp: NonLinearProg nlp: NonLinearProgram A reference to the phase """ - # for i in range(len(self.muscles_dynamics_model)): - - # self.muscles_dynamics_model[i].configure_ca_troponin_complex(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscles_name[i]) - # TODO : make different muscle for biceps and triceps... such as DingModelFrequency has different parameters value - - self.muscles_dynamics_model.configure_ca_troponin_complex(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) - self.muscles_dynamics_model.configure_force(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) - - if "A" in self.muscles_dynamics_model.name_dof: - self.muscles_dynamics_model.configure_scaling_factor(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) - if "Tau1" in self.muscles_dynamics_model.name_dof: - self.muscles_dynamics_model.configure_time_state_force_no_cross_bridge( - ocp=ocp, nlp=nlp, as_states=True, as_controls=False - ) - if "Km" in self.muscles_dynamics_model.name_dof: - self.muscles_dynamics_model.configure_cross_bridges(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) - - # TODO : for fatigue model - # self.muscles_dynamics_model.configure_scaling_factor(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) - # self.muscles_dynamics_model.configure_time_state_force_no_cross_bridge( - # ocp=ocp, nlp=nlp, as_states=True, as_controls=False) - # self.muscles_dynamics_model.configure_cross_bridges(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) + state_name_list = [] + for muscle_dynamics_model in self.muscles_dynamics_model: + muscle_dynamics_model.configure_ca_troponin_complex(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=muscle_dynamics_model.muscle_name) + state_name_list.append("CN_"+muscle_dynamics_model.muscle_name) + muscle_dynamics_model.configure_force(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=muscle_dynamics_model.muscle_name) + state_name_list.append("F_" + muscle_dynamics_model.muscle_name) + if "A_"+muscle_dynamics_model.muscle_name in muscle_dynamics_model.name_dof: + muscle_dynamics_model.configure_scaling_factor(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=muscle_dynamics_model.muscle_name) + state_name_list.append("A_" + muscle_dynamics_model.muscle_name) + if "Tau1_"+muscle_dynamics_model.muscle_name in muscle_dynamics_model.name_dof: + muscle_dynamics_model.configure_time_state_force_no_cross_bridge( + ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=muscle_dynamics_model.muscle_name + ) + state_name_list.append("Tau1_" + muscle_dynamics_model.muscle_name) + if "Km_"+muscle_dynamics_model.muscle_name in muscle_dynamics_model.name_dof: + muscle_dynamics_model.configure_cross_bridges(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=muscle_dynamics_model.muscle_name) + state_name_list.append("Km_" + muscle_dynamics_model.muscle_name) ConfigureProblem.configure_q(ocp, nlp, as_states=True, as_controls=False) + state_name_list.append("q") ConfigureProblem.configure_qdot(ocp, nlp, as_states=True, as_controls=False) + state_name_list.append("qdot") ConfigureProblem.configure_tau(ocp, nlp, as_states=False, as_controls=True) - # stim_apparition = self.muscles_dynamics_model.get_stim_prev(ocp, nlp) time_type = "mx" if "time" in ocp.parameters.keys() else None stim_apparition = [ocp.node_time(phase_idx=i, node_idx=0, type=time_type) for i in range(nlp.phase_idx + 1)] @@ -199,8 +173,9 @@ def declare_model_variables(self, ocp: OptimalControlProgram, nlp: NonLinearProg ocp, nlp, dyn_func=self.muscle_dynamic, - muscle_model=self.muscles_dynamics_model, + muscle_models=self.muscles_dynamics_model, stim_apparition=stim_apparition, + state_name_list=state_name_list, ) @staticmethod @@ -264,7 +239,3 @@ def configure_tau(ocp, nlp, as_states: bool, as_controls: bool, fatigue: Fatigue name = "tau" name_tau = ["tau"] ConfigureProblem.configure_new_variable(name, name_tau, ocp, nlp, as_states, as_controls, fatigue=fatigue) - - -if __name__ == "__main__": - FESActuatedBiorbdModel(biorbd_path="msk_model/arm26_unmesh.bioMod", muscles_model=DingModelFrequency()) diff --git a/cocofest/models/hmed2018.py b/cocofest/models/hmed2018.py index cd803674..5fd509ff 100644 --- a/cocofest/models/hmed2018.py +++ b/cocofest/models/hmed2018.py @@ -188,7 +188,7 @@ def set_impulse_intensity(self, value: MX): self.impulse_intensity.append(value[i]) @staticmethod - def get_intensity_parameters(nlp_parameters: ParameterList) -> MX: + def get_intensity_parameters(nlp_parameters: ParameterList, muscle_name: str = None) -> MX: """ Get the nlp list of intensity parameters @@ -203,7 +203,10 @@ def get_intensity_parameters(nlp_parameters: ParameterList) -> MX: """ intensity_parameters = vertcat() for j in range(nlp_parameters.mx.shape[0]): - if "pulse_intensity" in str(nlp_parameters.mx[j]): + if muscle_name: + if "pulse_intensity_"+ muscle_name in str(nlp_parameters.mx[j]): + intensity_parameters = vertcat(intensity_parameters, nlp_parameters.mx[j]) + elif "pulse_intensity" in str(nlp_parameters.mx[j]): intensity_parameters = vertcat(intensity_parameters, nlp_parameters.mx[j]) return intensity_parameters @@ -247,7 +250,7 @@ def dynamics( intensity_parameters = ( nlp.model.get_intensity_parameters(nlp.parameters) if nlp_dynamics is None - else nlp_dynamics.get_intensity_parameters(nlp.parameters) + else nlp_dynamics.get_intensity_parameters(nlp.parameters, muscle_name=nlp_dynamics.muscle_name) ) if intensity_parameters.shape[0] == 1: # check if pulse duration is mapped @@ -277,8 +280,8 @@ def declare_ding_variables(self, ocp: OptimalControlProgram, nlp: NonLinearProgr nlp: NonLinearProgram A reference to the phase """ - self.configure_ca_troponin_complex(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) - self.configure_force(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) + self.configure_ca_troponin_complex(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) + self.configure_force(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) stim_apparition = self.get_stim_prev(ocp, nlp) ConfigureProblem.configure_dynamics_function(ocp, nlp, dyn_func=self.dynamics, stim_apparition=stim_apparition) diff --git a/cocofest/models/hmed2018_with_fatigue.py b/cocofest/models/hmed2018_with_fatigue.py index 3bd169f7..a051ecf5 100644 --- a/cocofest/models/hmed2018_with_fatigue.py +++ b/cocofest/models/hmed2018_with_fatigue.py @@ -38,7 +38,8 @@ def __init__(self, model_name: str = "hmed2018_with_fatigue", muscle_name: str = # ---- Absolutely needed methods ---- # @property def name_dof(self) -> list[str]: - return ["Cn", "F", "A", "Tau1", "Km"] + muscle_name = "_" + self.muscle_name if self.muscle_name else "" + return ["Cn"+muscle_name, "F"+muscle_name, "A"+muscle_name, "Tau1"+muscle_name, "Km"+muscle_name] @property def nb_state(self) -> int: @@ -204,7 +205,7 @@ def dynamics( intensity_parameters = ( nlp.model.get_intensity_parameters(nlp.parameters) if nlp_dynamics is None - else nlp_dynamics.get_intensity_parameters(nlp.parameters) + else nlp_dynamics.get_intensity_parameters(nlp.parameters, muscle_name=nlp_dynamics.muscle_name) ) if intensity_parameters.shape[0] == 1: # check if pulse duration is mapped @@ -241,11 +242,11 @@ def declare_ding_variables(self, ocp: OptimalControlProgram, nlp: NonLinearProgr nlp: NonLinearProgram A reference to the phase """ - self.configure_ca_troponin_complex(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) - self.configure_force(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) - self.configure_scaling_factor(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) - self.configure_time_state_force_no_cross_bridge(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) - self.configure_cross_bridges(ocp=ocp, nlp=nlp, as_states=True, as_controls=False) + self.configure_ca_troponin_complex(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) + self.configure_force(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) + self.configure_scaling_factor(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) + self.configure_time_state_force_no_cross_bridge(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) + self.configure_cross_bridges(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) stim_apparition = self.get_stim_prev(ocp, nlp) ConfigureProblem.configure_dynamics_function(ocp, nlp, dyn_func=self.dynamics, stim_apparition=stim_apparition) @@ -256,6 +257,7 @@ def configure_scaling_factor( as_states: bool, as_controls: bool, as_states_dot: bool = False, + muscle_name: str = None, ): """ Configure a new variable of the scaling factor (N/ms) @@ -273,7 +275,8 @@ def configure_scaling_factor( as_states_dot: bool If the generalized velocities should be a state_dot """ - name = "A" + muscle_name = "_" + muscle_name if muscle_name else "" + name = "A"+muscle_name name_a = [name] ConfigureProblem.configure_new_variable( name, name_a, ocp, nlp, as_states, as_controls, as_states_dot, @@ -286,6 +289,7 @@ def configure_time_state_force_no_cross_bridge( as_states: bool, as_controls: bool, as_states_dot: bool = False, + muscle_name: str = None, ): """ Configure a new variable for time constant of force decline at the absence of strongly bound cross-bridges (ms) @@ -303,7 +307,8 @@ def configure_time_state_force_no_cross_bridge( as_states_dot: bool If the generalized velocities should be a state_dot """ - name = "Tau1" + muscle_name = "_" + muscle_name if muscle_name else "" + name = "Tau1"+muscle_name name_tau1 = [name] ConfigureProblem.configure_new_variable( name, name_tau1, ocp, nlp, as_states, as_controls, as_states_dot, @@ -316,6 +321,7 @@ def configure_cross_bridges( as_states: bool, as_controls: bool, as_states_dot: bool = False, + muscle_name: str = None, ): """ Configure a new variable for sensitivity of strongly bound cross-bridges to Cn (unitless) @@ -333,7 +339,8 @@ def configure_cross_bridges( as_states_dot: bool If the generalized velocities should be a state_dot """ - name = "Km" + muscle_name = "_" + muscle_name if muscle_name else "" + name = "Km"+muscle_name name_km = [name] ConfigureProblem.configure_new_variable( name, name_km, ocp, nlp, as_states, as_controls, as_states_dot, diff --git a/cocofest/optimization/fes_ocp.py b/cocofest/optimization/fes_ocp.py index 12e1ce42..84672bca 100644 --- a/cocofest/optimization/fes_ocp.py +++ b/cocofest/optimization/fes_ocp.py @@ -481,6 +481,7 @@ def _build_parameters( parameters_bounds = BoundsList() parameters_init = InitialGuessList() parameter_objectives = ParameterObjectiveList() + if isinstance(model, DingModelPulseDurationFrequency): if pulse_duration: parameters.add( @@ -673,7 +674,7 @@ def _set_objective(n_stim, n_shooting, force_fourier_coef, end_node_tracking, cu for j in range(len(custom_objective[i])): objective_functions.add(custom_objective[i][j]) - if force_fourier_coef is not None: + if force_fourier_coef is not None: # TODO : Enable multiple force tracking for multiple muscles for phase in range(n_stim): for i in range(n_shooting[phase]): objective_functions.add( diff --git a/cocofest/optimization/fes_ocp_dynamics.py b/cocofest/optimization/fes_ocp_dynamics.py index 3d6e65af..2524e9e9 100644 --- a/cocofest/optimization/fes_ocp_dynamics.py +++ b/cocofest/optimization/fes_ocp_dynamics.py @@ -10,6 +10,10 @@ OdeSolver, OptimalControlProgram, PhaseDynamics, + ParameterList, + ParameterObjectiveList, + InterpolationType, + ObjectiveFcn, OdeSolverBase, ) @@ -31,7 +35,7 @@ def prepare_ocp( biorbd_model_path: str, bound_type: str = None, bound_data: list = None, - fes_muscle_model: list[DingModelFrequency] + fes_muscle_models: list[DingModelFrequency] | list[DingModelFrequencyWithFatigue] | list[DingModelPulseDurationFrequency] | list[DingModelPulseDurationFrequencyWithFatigue] @@ -50,10 +54,12 @@ def prepare_ocp( pulse_duration_min: int | float = None, pulse_duration_max: int | float = None, pulse_duration_bimapping: bool = False, + pulse_duration_similar_for_all_muscles: bool = False, pulse_intensity: int | float = None, pulse_intensity_min: int | float = None, pulse_intensity_max: int | float = None, pulse_intensity_bimapping: bool = False, + pulse_intensity_similar_for_all_muscles: bool = False, force_tracking: list = None, end_node_tracking: int | float = None, custom_objective: ObjectiveList = None, @@ -69,7 +75,7 @@ def prepare_ocp( . Attributes ---------- - fes_muscle_model: DingModelFrequency | DingModelFrequencyWithFatigue | DingModelPulseDurationFrequency | DingModelPulseDurationFrequencyWithFatigue | DingModelIntensityFrequency | DingModelIntensityFrequencyWithFatigue + fes_muscle_models: DingModelFrequency | DingModelFrequencyWithFatigue | DingModelPulseDurationFrequency | DingModelPulseDurationFrequencyWithFatigue | DingModelIntensityFrequency | DingModelIntensityFrequencyWithFatigue The fes model type used for the ocp n_stim: int Number of stimulation that will occur during the ocp, it is as well refer as phases @@ -112,9 +118,9 @@ def prepare_ocp( n_threads: int The number of thread to use while solving (multi-threading if > 1) """ - + # TODO : MAKE A NEW SANITY CHECK FOR THE FES MUSCLE MODEL OcpFes._sanity_check( - model=fes_muscle_model[0], + model=fes_muscle_models[0], n_stim=n_stim, n_shooting=n_shooting, final_time=final_time, @@ -139,16 +145,17 @@ def prepare_ocp( n_threads=n_threads, ) - FESActuatedBiorbdModelOCP._sanity_check_fes_models(fes_muscle_model) + FESActuatedBiorbdModelOCP._sanity_check_fes_models(fes_muscle_models) OcpFes._sanity_check_frequency(n_stim=n_stim, final_time=final_time, frequency=frequency, round_down=round_down) - FESActuatedBiorbdModelOCP._sanity_check_muscle_model(biorbd_model_path=biorbd_model_path, fes_muscle_model=fes_muscle_model) + FESActuatedBiorbdModelOCP._sanity_check_muscle_model(biorbd_model_path=biorbd_model_path, fes_muscle_models=fes_muscle_models) n_stim, final_time = OcpFes._build_phase_parameter( n_stim=n_stim, final_time=final_time, frequency=frequency, pulse_mode=pulse_mode, round_down=round_down ) + # NOT AVAILABLE FOR MULTI MUSCLE force_fourier_coef = None if force_tracking is None else OcpFes._build_fourrier_coeff(force_tracking) end_node_tracking = end_node_tracking @@ -161,17 +168,19 @@ def prepare_ocp( time_max=time_max, time_bimapping=time_bimapping, ) - parameters, parameters_bounds, parameters_init, parameter_objectives = OcpFes._build_parameters( - model=fes_muscle_model, + parameters, parameters_bounds, parameters_init, parameter_objectives = FESActuatedBiorbdModelOCP._build_parameters( + model=fes_muscle_models, n_stim=n_stim, pulse_duration=pulse_duration, pulse_duration_min=pulse_duration_min, pulse_duration_max=pulse_duration_max, pulse_duration_bimapping=pulse_duration_bimapping, + pulse_duration_similar_for_all_muscles=pulse_duration_similar_for_all_muscles, pulse_intensity=pulse_intensity, pulse_intensity_min=pulse_intensity_min, pulse_intensity_max=pulse_intensity_max, pulse_intensity_bimapping=pulse_intensity_bimapping, + pulse_intensity_similar_for_all_muscles=pulse_intensity_similar_for_all_muscles, ) if len(constraints) == 0 and len(parameters) == 0: @@ -181,7 +190,7 @@ def prepare_ocp( ) bio_models = [ - FESActuatedBiorbdModel(name=None, biorbd_path=biorbd_model_path, muscles_model=fes_muscle_model) + FESActuatedBiorbdModel(name=None, biorbd_path=biorbd_model_path, muscles_model=fes_muscle_models) for i in range(n_stim) ] @@ -190,9 +199,8 @@ def prepare_ocp( ) dynamics = FESActuatedBiorbdModelOCP._declare_dynamics(bio_models, n_stim) - x_bounds, x_init = OcpFes._set_bounds(fes_muscle_model, n_stim) x_bounds, x_init = FESActuatedBiorbdModelOCP._set_bounds( - bio_models, bound_type, bound_data, n_stim, x_bounds, x_init + bio_models, fes_muscle_models, bound_type, bound_data, n_stim, ) u_bounds, u_init = FESActuatedBiorbdModelOCP._set_controls(bio_models, n_stim, with_residual_torque) objective_functions = OcpFes._set_objective( @@ -236,7 +244,200 @@ def _declare_dynamics(bio_models, n_stim): return dynamics @staticmethod - def _set_bounds(bio_models, bound_type, bound_data, n_stim, x_bounds, x_init): + def _build_parameters( + model, + n_stim, + pulse_duration, + pulse_duration_min, + pulse_duration_max, + pulse_duration_bimapping, + pulse_duration_similar_for_all_muscles, + pulse_intensity, + pulse_intensity_min, + pulse_intensity_max, + pulse_intensity_bimapping, + pulse_intensity_similar_for_all_muscles, + ): + parameters = ParameterList() + parameters_bounds = BoundsList() + parameters_init = InitialGuessList() + parameter_objectives = ParameterObjectiveList() + + for i in range(len(model)): + if isinstance(model[i], DingModelPulseDurationFrequency): + parameter_name = "pulse_duration" if pulse_duration_similar_for_all_muscles else "pulse_duration" + "_" + model[i].muscle_name + if pulse_duration: #TODO : ADD SEVERAL INDIVIDUAL FIXED PULSE DURATION FOR EACH MUSCLE + if (pulse_duration_similar_for_all_muscles and i == 0) or not pulse_duration_similar_for_all_muscles: + parameters.add( + parameter_name=parameter_name, + function=DingModelPulseDurationFrequency.set_impulse_duration, + size=n_stim, + ) + if isinstance(pulse_duration, list): + parameters_bounds.add( + parameter_name, + min_bound=np.array(pulse_duration), + max_bound=np.array(pulse_duration), + interpolation=InterpolationType.CONSTANT, + ) + parameters_init.add(key=parameter_name, initial_guess=np.array(pulse_duration)) + else: + parameters_bounds.add( + parameter_name, + min_bound=np.array([pulse_duration] * n_stim), + max_bound=np.array([pulse_duration] * n_stim), + interpolation=InterpolationType.CONSTANT, + ) + parameters_init[parameter_name] = np.array([pulse_duration] * n_stim) + + elif pulse_duration_min and pulse_duration_max: #TODO : ADD SEVERAL MIN MAX PULSE DURATION FOR EACH MUSCLE + if (pulse_duration_similar_for_all_muscles and i == 0) or not pulse_duration_similar_for_all_muscles: + parameters_bounds.add( + parameter_name, + min_bound=[pulse_duration_min], + max_bound=[pulse_duration_max], + interpolation=InterpolationType.CONSTANT, + ) + parameters_init[parameter_name] = np.array([0] * n_stim) + parameters.add( + parameter_name=parameter_name, + function=DingModelPulseDurationFrequency.set_impulse_duration, + size=n_stim, + ) + + parameter_objectives.add( + ObjectiveFcn.Parameter.MINIMIZE_PARAMETER, + weight=0.0001, + quadratic=True, + target=0, + key=parameter_name, + ) + + if pulse_duration_bimapping: + pass + # parameter_bimapping.add(name="pulse_duration", to_second=[0 for _ in range(n_stim)], to_first=[0]) + # TODO : Fix Bimapping in Bioptim + + if isinstance(model[i], DingModelIntensityFrequency): + parameter_name = "pulse_intensity" if pulse_intensity_similar_for_all_muscles else "pulse_intensity" + "_" + \ + model[i].muscle_name + if pulse_intensity: # TODO : ADD SEVERAL INDIVIDUAL FIXED PULSE INTENSITY FOR EACH MUSCLE + if (pulse_intensity_similar_for_all_muscles and i == 0) or not pulse_intensity_similar_for_all_muscles: + parameters.add( + parameter_name=parameter_name, + function=DingModelIntensityFrequency.set_impulse_intensity, + size=n_stim, + ) + if isinstance(pulse_intensity, list): + parameters_bounds.add( + parameter_name, + min_bound=np.array(pulse_intensity), + max_bound=np.array(pulse_intensity), + interpolation=InterpolationType.CONSTANT, + ) + parameters_init.add(key=parameter_name, initial_guess=np.array(pulse_intensity)) + else: + parameters_bounds.add( + parameter_name, + min_bound=np.array([pulse_intensity] * n_stim), + max_bound=np.array([pulse_intensity] * n_stim), + interpolation=InterpolationType.CONSTANT, + ) + parameters_init[parameter_name] = np.array([pulse_intensity] * n_stim) + + elif pulse_intensity_min and pulse_intensity_max: #TODO : ADD SEVERAL MIN MAX PULSE INTENSITY FOR EACH MUSCLE + if ( + pulse_intensity_similar_for_all_muscles and i == 0) or not pulse_intensity_similar_for_all_muscles: + parameters_bounds.add( + parameter_name, + min_bound=[pulse_intensity_min], + max_bound=[pulse_intensity_max], + interpolation=InterpolationType.CONSTANT, + ) + intensity_avg = (pulse_intensity_min + pulse_intensity_max) / 2 + parameters_init[parameter_name] = np.array([intensity_avg] * n_stim) + parameters.add( + parameter_name=parameter_name, + function=DingModelIntensityFrequency.set_impulse_intensity, + size=n_stim, + ) + + parameter_objectives.add( + ObjectiveFcn.Parameter.MINIMIZE_PARAMETER, + weight=0.0001, + quadratic=True, + target=0, + key=parameter_name, + ) + + if pulse_intensity_bimapping: + pass + # parameter_bimapping.add(name="pulse_intensity", to_second=[0 for _ in range(n_stim)], to_first=[0]) + # TODO : Fix Bimapping in Bioptim + + return parameters, parameters_bounds, parameters_init, parameter_objectives + + @staticmethod + def _set_bounds(bio_models, fes_muscle_models, bound_type, bound_data, n_stim): + # ---- STATE BOUNDS REPRESENTATION ---- # + # + # |‾‾‾‾‾‾‾‾‾‾x_max_middle‾‾‾‾‾‾‾‾‾‾‾‾x_max_end‾ + # | max_bounds max_bounds + # x_max_start | + # _starting_bounds_| + # ‾starting_bounds‾| + # x_min_start | + # | min_bounds min_bounds + # ‾‾‾‾‾‾‾‾‾‾x_min_middle‾‾‾‾‾‾‾‾‾‾‾‾x_min_end‾ + + # Sets the bound for all the phases + x_bounds = BoundsList() + x_init = InitialGuessList() + for model in fes_muscle_models: + variable_bound_list = model.name_dof + starting_bounds, min_bounds, max_bounds = ( + model.standard_rest_values(), + model.standard_rest_values(), + model.standard_rest_values(), + ) + muscle_name = model.muscle_name + for i in range(len(variable_bound_list)): + if variable_bound_list[i] == "Cn_"+muscle_name: + max_bounds[i] = 10 + elif variable_bound_list[i] == "F_"+muscle_name: + max_bounds[i] = 1000 + elif variable_bound_list[i] == "Tau1_"+muscle_name or variable_bound_list[i] == "Km_"+muscle_name: + max_bounds[i] = 1 + elif variable_bound_list[i] == "A_"+muscle_name: + min_bounds[i] = 0 + + starting_bounds_min = np.concatenate((starting_bounds, min_bounds, min_bounds), axis=1) + starting_bounds_max = np.concatenate((starting_bounds, max_bounds, max_bounds), axis=1) + middle_bound_min = np.concatenate((min_bounds, min_bounds, min_bounds), axis=1) + middle_bound_max = np.concatenate((max_bounds, max_bounds, max_bounds), axis=1) + + for i in range(n_stim): + for j in range(len(variable_bound_list)): + if i == 0: + x_bounds.add( + variable_bound_list[j], + min_bound=np.array([starting_bounds_min[j]]), + max_bound=np.array([starting_bounds_max[j]]), + phase=i, + interpolation=InterpolationType.CONSTANT_WITH_FIRST_AND_LAST_DIFFERENT, + ) + else: + x_bounds.add( + variable_bound_list[j], + min_bound=np.array([middle_bound_min[j]]), + max_bound=np.array([middle_bound_max[j]]), + phase=i, + interpolation=InterpolationType.CONSTANT_WITH_FIRST_AND_LAST_DIFFERENT, + ) + + for i in range(n_stim): + for j in range(len(variable_bound_list)): + x_init.add(variable_bound_list[j], model.standard_rest_values()[j], phase=i) if bound_type == "start_end": start_bounds = [] @@ -280,8 +481,8 @@ def _set_bounds(bio_models, bound_type, bound_data, n_stim, x_bounds, x_init): def _set_controls(bio_models, n_stim, with_residual_torque): # Controls bounds nb_tau = bio_models[0].nb_tau - if with_residual_torque: - tau_min, tau_max, tau_init = [20] * nb_tau, [20] * nb_tau, [0] * nb_tau + if with_residual_torque: # TODO : ADD SEVERAL INDIVIDUAL FIXED RESIDUAL TORQUE FOR EACH JOINT + tau_min, tau_max, tau_init = [-20] * nb_tau, [20] * nb_tau, [0] * nb_tau else: tau_min, tau_max, tau_init = [0] * nb_tau, [0] * nb_tau, [0] * nb_tau @@ -310,18 +511,20 @@ def _sanity_check_bounds(bio_models, bound_type, bound_data): raise ValueError("The start and end position should be a list of size nb_q") @staticmethod - def _sanity_check_muscle_model(biorbd_model_path, fes_muscle_model): - tested_bio_model = FESActuatedBiorbdModel(name=None, biorbd_path=biorbd_model_path, muscles_model=fes_muscle_model) - fes_muscle_model_name_list = [fes_muscle_model[x].muscle_name for x in range(len(fes_muscle_model))] + def _sanity_check_muscle_model(biorbd_model_path, fes_muscle_models): + tested_bio_model = FESActuatedBiorbdModel(name=None, biorbd_path=biorbd_model_path, muscles_model=fes_muscle_models) + fes_muscle_models_name_list = [fes_muscle_models[x].muscle_name for x in range(len(fes_muscle_models))] for biorbd_muscle in tested_bio_model.muscle_names: - if biorbd_muscle not in fes_muscle_model_name_list: - raise ValueError(f"The muscle {biorbd_muscle} is not in the fes muscle model") + if biorbd_muscle not in fes_muscle_models_name_list: + raise ValueError(f"The muscle {biorbd_muscle} is not in the fes muscle model " + f"please add it into the fes_muscle_models list by providing the muscle_name =" + f" {biorbd_muscle}") @staticmethod - def _sanity_check_fes_models(fes_muscle_model): - for i in range(len(fes_muscle_model)): + def _sanity_check_fes_models(fes_muscle_models): + for i in range(len(fes_muscle_models)): if not isinstance( - fes_muscle_model[i], + fes_muscle_models[i], DingModelFrequency | DingModelFrequencyWithFatigue | DingModelPulseDurationFrequency diff --git a/examples/dynamics/arm26.bioMod b/examples/dynamics/arm26.bioMod new file mode 100644 index 00000000..ed03d03c --- /dev/null +++ b/examples/dynamics/arm26.bioMod @@ -0,0 +1,355 @@ +version 3 +gravity 0 -9.81 0 + +// SEGMENT DEFINITION + +segment base + // meshfile mesh/ground_ribs.vtp +endsegment + + // Markers + marker target + parent base + position 0.15 0.15 0.17 + endmarker + + +segment r_humerus_translation + parent base + RTinMatrix 1 + RT + 1.0 0.0 0.0 -0.017545 + 0.0 1.0 0.0 -0.007 + 0.0 0.0 1.0 0.17 + 0.0 0.0 0.0 1.0 +endsegment + + +segment r_humerus_rotation1 + parent r_humerus_translation + RTinMatrix 1 + RT + 0.9975010776109747 0.039020807762349584 -0.058898019716436364 0.0 + -0.038952964437603196 0.9992383982621832 0.0022999999889266845 0.0 + 0.05894291073968768 0.0 0.9982613551938856 0.0 + 0.0 0.0 0.0 1.0 + rotations z + rangesQ -2*pi 2*pi +endsegment + + +segment r_humerus_rotation2 + parent r_humerus_rotation1 +endsegment + +// Segment +segment r_humerus_rotation3 + parent r_humerus_rotation2 + RTinMatrix 1 + RT + 0.0 -0.0588981755023151 0.9982639956056206 0.0 + 1.0 0.0 0.0 0.0 + 0.0 0.9982639956056206 0.0588981755023151 0.0 + 0.0 0.0 0.0 1.0 +endsegment + + +segment r_humerus + parent r_humerus_rotation3 + RTinMatrix 1 + RT + 0.039020807762349605 0.9992383982621836 0.0 0.0 + -0.11754676602826802 0.004590265714620227 0.9930567391931666 0.0 + 0.9923004254548464 -0.03874987611716229 0.11763635808301447 0.0 + 0.0 0.0 0.0 1.0 + mass 1.8645719999999999 + inertia + 0.01481 0.0 0.0 + 0.0 0.004551 0.0 + 0.0 0.0 0.013193 + com 0 -0.18049599999999999 0 + meshfile mesh/arm_r_humerus.vtp +endsegment + + +segment r_ulna_radius_hand_translation + parent r_humerus + RTinMatrix 1 + RT + 1.0 0.0 0.0 0.0061 + 0.0 1.0 0.0 -0.2904 + 0.0 0.0 1.0 -0.0123 + 0.0 0.0 0.0 1.0 +endsegment + + +segment r_ulna_radius_hand_rotation1 + parent r_ulna_radius_hand_translation + RTinMatrix 1 + RT + 0.801979522152563 -0.5953053712684071 0.04940000998917986 0.0 + 0.5941792022021661 0.8034995425879125 0.036600009991983457 0.0 + -0.06148106796684942 3.469446951953614e-18 0.9981082497813831 0.0 + 0.0 0.0 0.0 1.0 + rotations z + rangesQ 0 pi +endsegment + + +segment r_ulna_radius_hand_rotation2 + parent r_ulna_radius_hand_rotation1 +endsegment + + +segment r_ulna_radius_hand_rotation3 + parent r_ulna_radius_hand_rotation2 + RTinMatrix 1 + RT + 0.0 0.049433130424779516 0.998777435476196 0.0 + 1.0 0.0 0.0 0.0 + 0.0 0.998777435476196 -0.049433130424779516 0.0 + 0.0 0.0 0.0 1.0 +endsegment + + +segment r_ulna_radius_hand + parent r_ulna_radius_hand_rotation3 + RTinMatrix 1 + RT + -0.5953053712684069 0.803499542587912 0.0 0.0 + 0.08898397360606149 0.06592740211634747 0.9938487963928239 0.0 + 0.7985570533031812 0.5916435267212894 -0.11074551868375905 0.0 + 0.0 0.0 0.0 1.0 + mass 1.5343150000000001 + inertia + 0.019281 0.0 0.0 + 0.0 0.001571 0.0 + 0.0 0.0 0.020062 + com 0 -0.181479 0 + meshfile mesh/arm_r_ulna.vtp +endsegment + + marker COM_hand + parent r_ulna_radius_hand + position 0 -0.181479 0 + endmarker + + + +// MUSCLE DEFINITION + +musclegroup base_to_r_ulna_radius_hand + OriginParent base + InsertionParent r_ulna_radius_hand +endmusclegroup + + muscle TRIlong + Type degrootefatigable + musclegroup base_to_r_ulna_radius_hand + OriginPosition -0.053650000000000003 -0.013729999999999999 0.14723 + InsertionPosition -0.021899999999999999 0.010460000000000001 -0.00077999999999999999 + optimalLength 0.13400000000000001 + maximalForce 798.51999999999998 + tendonSlackLength 0.14299999999999999 + pennationAngle 0.20943951 + maxVelocity 10 + + fatigueParameters + Type Xia + fatiguerate 0.01 + recoveryrate 0.002 + developfactor 10 + recoveryfactor 10 + endfatigueparameters + endmuscle + + viapoint TRIlong-P2 + parent r_humerus + muscle TRIlong + musclegroup base_to_r_ulna_radius_hand + position -0.027140000000000001 -0.11441 -0.0066400000000000001 + endviapoint + viapoint TRIlong-P3 + parent r_humerus + muscle TRIlong + musclegroup base_to_r_ulna_radius_hand + position -0.03184 -0.22636999999999999 -0.01217 + endviapoint + viapoint TRIlong-P4 + parent r_humerus + muscle TRIlong + musclegroup base_to_r_ulna_radius_hand + position -0.017430000000000001 -0.26756999999999997 -0.01208 + endviapoint + + muscle BIClong + Type degroote + musclegroup base_to_r_ulna_radius_hand + OriginPosition -0.039234999999999999 0.00347 0.14795 + InsertionPosition 0.0075100000000000002 -0.048390000000000002 0.02179 + optimalLength 0.1157 + maximalForce 624.29999999999995 + tendonSlackLength 0.27229999999999999 + pennationAngle 0 + maxVelocity 10 + endmuscle + + viapoint BIClong-P2 + parent base + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position -0.028944999999999999 0.01391 0.15639 + endviapoint + viapoint BIClong-P3 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.021309999999999999 0.017930000000000001 0.010279999999999999 + endviapoint + viapoint BIClong-P4 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.023779999999999999 -0.00511 0.01201 + endviapoint + viapoint BIClong-P5 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.01345 -0.02827 0.0013600000000000001 + endviapoint + viapoint BIClong-P6 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.01068 -0.077359999999999998 -0.00165 + endviapoint + viapoint BIClong-P7 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.01703 -0.12125 0.00024000000000000001 + endviapoint + viapoint BIClong-P8 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.022800000000000001 -0.1754 -0.0063 + endviapoint + + muscle BICshort + Type degroote + musclegroup base_to_r_ulna_radius_hand + OriginPosition 0.0046750000000000003 -0.01231 0.13475000000000001 + InsertionPosition 0.0075100000000000002 -0.048390000000000002 0.02179 + optimalLength 0.1321 + maximalForce 435.56 + tendonSlackLength 0.1923 + pennationAngle 0 + maxVelocity 10 + endmuscle + + viapoint BICshort-P2 + parent base + muscle BICshort + musclegroup base_to_r_ulna_radius_hand + position -0.0070749999999999997 -0.040039999999999999 0.14507 + endviapoint + viapoint BICshort-P3 + parent r_humerus + muscle BICshort + musclegroup base_to_r_ulna_radius_hand + position 0.011169999999999999 -0.075759999999999994 -0.011010000000000001 + endviapoint + viapoint BICshort-P4 + parent r_humerus + muscle BICshort + musclegroup base_to_r_ulna_radius_hand + position 0.01703 -0.12125 -0.010789999999999999 + endviapoint + viapoint BICshort-P5 + parent r_humerus + muscle BICshort + musclegroup base_to_r_ulna_radius_hand + position 0.022800000000000001 -0.1754 -0.0063 + endviapoint + +// r_humerus > r_ulna_radius_hand +musclegroup r_humerus_to_r_ulna_radius_hand + OriginParent r_humerus + InsertionParent r_ulna_radius_hand +endmusclegroup + + muscle TRIlat + Type degroote + musclegroup r_humerus_to_r_ulna_radius_hand + OriginPosition -0.0059899999999999997 -0.12645999999999999 0.00428 + InsertionPosition -0.021899999999999999 0.010460000000000001 -0.00077999999999999999 + optimalLength 0.1138 + maximalForce 624.29999999999995 + tendonSlackLength 0.098000000000000004 + pennationAngle 0.15707963 + maxVelocity 10 + endmuscle + + viapoint TRIlat-P2 + parent r_humerus + muscle TRIlat + musclegroup r_humerus_to_r_ulna_radius_hand + position -0.023439999999999999 -0.14527999999999999 0.0092800000000000001 + endviapoint + viapoint TRIlat-P3 + parent r_humerus + muscle TRIlat + musclegroup r_humerus_to_r_ulna_radius_hand + position -0.03184 -0.22636999999999999 -0.01217 + endviapoint + viapoint TRIlat-P4 + parent r_humerus + muscle TRIlat + musclegroup r_humerus_to_r_ulna_radius_hand + position -0.017430000000000001 -0.26756999999999997 -0.01208 + endviapoint + + muscle TRImed + Type degroote + musclegroup r_humerus_to_r_ulna_radius_hand + OriginPosition -0.0083800000000000003 -0.13694999999999999 -0.0090600000000000003 + InsertionPosition -0.021899999999999999 0.010460000000000001 -0.00077999999999999999 + optimalLength 0.1138 + maximalForce 624.29999999999995 + tendonSlackLength 0.090800000000000006 + pennationAngle 0.15707963 + maxVelocity 10 + endmuscle + + viapoint TRImed-P2 + parent r_humerus + muscle TRImed + musclegroup r_humerus_to_r_ulna_radius_hand + position -0.026009999999999998 -0.15139 -0.010800000000000001 + endviapoint + viapoint TRImed-P3 + parent r_humerus + muscle TRImed + musclegroup r_humerus_to_r_ulna_radius_hand + position -0.03184 -0.22636999999999999 -0.01217 + endviapoint + viapoint TRImed-P4 + parent r_humerus + muscle TRImed + musclegroup r_humerus_to_r_ulna_radius_hand + position -0.017430000000000001 -0.26756999999999997 -0.01208 + endviapoint + + muscle BRA + Type degroote + musclegroup r_humerus_to_r_ulna_radius_hand + OriginPosition 0.0067999999999999996 -0.1739 -0.0035999999999999999 + InsertionPosition -0.0032000000000000002 -0.023900000000000001 0.00089999999999999998 + optimalLength 0.085800000000000001 + maximalForce 987.25999999999999 + tendonSlackLength 0.053499999999999999 + pennationAngle 0 + maxVelocity 10 + endmuscle diff --git a/examples/dynamics/arm26_biceps_1dof.bioMod b/examples/dynamics/arm26_biceps_1dof.bioMod new file mode 100644 index 00000000..21f518c5 --- /dev/null +++ b/examples/dynamics/arm26_biceps_1dof.bioMod @@ -0,0 +1,254 @@ +version 3 +gravity 0 -9.81 0 + +// SEGMENT DEFINITION + +segment base + meshfile mesh/ground_ribs.vtp + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + // Markers + marker target + parent base + position 0.15 0.15 0.17 + endmarker + marker r_acromion + parent base + position -0.01256 0.04 0.17 + endmarker + + +segment r_humerus_translation + parent base + RTinMatrix 1 + RT + 1.0 0.0 0.0 -0.017545 + 0.0 1.0 0.0 -0.007 + 0.0 0.0 1.0 0.17 + 0.0 0.0 0.0 1.0 + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + +segment r_humerus_rotation1 + parent r_humerus_translation + RTinMatrix 1 + RT + 0.9975010776109747 0.039020807762349584 -0.058898019716436364 0.0 + -0.038952964437603196 0.9992383982621832 0.0022999999889266845 0.0 + 0.05894291073968768 0.0 0.9982613551938856 0.0 + 0.0 0.0 0.0 1.0 + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + +segment r_humerus_rotation2 + parent r_humerus_rotation1 + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + +segment r_humerus_rotation3 + parent r_humerus_rotation2 + RTinMatrix 1 + RT + 0.0 -0.0588981755023151 0.9982639956056206 0.0 + 1.0 0.0 0.0 0.0 + 0.0 0.9982639956056206 0.0588981755023151 0.0 + 0.0 0.0 0.0 1.0 + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + +segment r_humerus + parent r_humerus_rotation3 + RTinMatrix 1 + RT + 0.039020807762349605 0.9992383982621836 0.0 0.0 + -0.11754676602826802 0.004590265714620227 0.9930567391931666 0.0 + 0.9923004254548464 -0.03874987611716229 0.11763635808301447 0.0 + 0.0 0.0 0.0 1.0 + mass 1.8645719999999999 + inertia + 0.01481 0.0 0.0 + 0.0 0.004551 0.0 + 0.0 0.0 0.013193 + com 0 -0.18049599999999999 0 + meshfile mesh/arm_r_humerus.vtp +endsegment + + // Markers + marker r_humerus_epicondyle + parent r_humerus + position 0.0050000000000000001 -0.29039999999999999 0.029999999999999999 + endmarker + marker COM_arm + parent r_humerus + position 0 -0.18049599999999999 0 + endmarker + + +segment r_ulna_radius_hand_translation + parent r_humerus + RTinMatrix 1 + RT + 1.0 0.0 0.0 0.0061 + 0.0 1.0 0.0 -0.2904 + 0.0 0.0 1.0 -0.0123 + 0.0 0.0 0.0 1.0 + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + +segment r_ulna_radius_hand_rotation1 + parent r_ulna_radius_hand_translation + RTinMatrix 1 + RT + 0.801979522152563 -0.5953053712684071 0.04940000998917986 0.0 + 0.5941792022021661 0.8034995425879125 0.036600009991983457 0.0 + -0.06148106796684942 3.469446951953614e-18 0.9981082497813831 0.0 + 0.0 0.0 0.0 1.0 + rotations z + rangesQ 0 pi + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + +segment r_ulna_radius_hand_rotation2 + parent r_ulna_radius_hand_rotation1 + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + +segment r_ulna_radius_hand_rotation3 + parent r_ulna_radius_hand_rotation2 + RTinMatrix 1 + RT + 0.0 0.049433130424779516 0.998777435476196 0.0 + 1.0 0.0 0.0 0.0 + 0.0 0.998777435476196 -0.049433130424779516 0.0 + 0.0 0.0 0.0 1.0 + inertia + 0 0 0 + 0 0 0 + 0 0 0 +endsegment + + +segment r_ulna_radius_hand + parent r_ulna_radius_hand_rotation3 + RTinMatrix 1 + RT + -0.5953053712684069 0.803499542587912 0.0 0.0 + 0.08898397360606149 0.06592740211634747 0.9938487963928239 0.0 + 0.7985570533031812 0.5916435267212894 -0.11074551868375905 0.0 + 0.0 0.0 0.0 1.0 + mass 1.5343150000000001 + inertia + 0.019281 0.0 0.0 + 0.0 0.001571 0.0 + 0.0 0.0 0.020062 + com 0 -0.181479 0 + meshfile mesh/arm_r_ulna.vtp +endsegment + + // Markers + marker r_radius_styloid + parent r_ulna_radius_hand + position -0.0011000000000000001 -0.23558999999999999 0.094299999999999995 + endmarker + marker COM_hand + parent r_ulna_radius_hand + position 0 -0.181479 0 + endmarker + + + +// MUSCLE DEFINITION + +// base > r_ulna_radius_hand +musclegroup base_to_r_ulna_radius_hand + OriginParent base + InsertionParent r_ulna_radius_hand +endmusclegroup + + muscle BIClong + Type degroote + statetype degroote + musclegroup base_to_r_ulna_radius_hand + OriginPosition -0.039234999999999999 0.00347 0.14795 + InsertionPosition 0.0075100000000000002 -0.048390000000000002 0.02179 + optimalLength 0.1157 + maximalForce 624.29999999999995 + tendonSlackLength 0.27229999999999999 + pennationAngle 0 + maxVelocity 10 + endmuscle + + viapoint BIClong-P2 + parent base + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position -0.028944999999999999 0.01391 0.15639 + endviapoint + viapoint BIClong-P3 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.021309999999999999 0.017930000000000001 0.010279999999999999 + endviapoint + viapoint BIClong-P4 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.023779999999999999 -0.00511 0.01201 + endviapoint + viapoint BIClong-P5 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.01345 -0.02827 0.0013600000000000001 + endviapoint + viapoint BIClong-P6 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.01068 -0.077359999999999998 -0.00165 + endviapoint + viapoint BIClong-P7 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.01703 -0.12125 0.00024000000000000001 + endviapoint + viapoint BIClong-P8 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.022800000000000001 -0.1754 -0.0063 + endviapoint diff --git a/examples/dynamics/arm26_cycling.bioMod b/examples/dynamics/arm26_cycling.bioMod new file mode 100644 index 00000000..3f66f8f1 --- /dev/null +++ b/examples/dynamics/arm26_cycling.bioMod @@ -0,0 +1,276 @@ +version 3 +gravity 0 -9.81 0 + +// SEGMENT DEFINITION + +segment base + // meshfile mesh/ground_ribs.vtp +endsegment + + // Markers + marker target + parent base + position 0.15 0.15 0.17 + endmarker + + +segment r_humerus_translation + parent base + RTinMatrix 1 + RT + 1.0 0.0 0.0 -0.017545 + 0.0 1.0 0.0 -0.007 + 0.0 0.0 1.0 0.17 + 0.0 0.0 0.0 1.0 +endsegment + + +segment r_humerus_rotation1 + parent r_humerus_translation + RTinMatrix 1 + RT + 0.9975010776109747 0.039020807762349584 -0.058898019716436364 0.0 + -0.038952964437603196 0.9992383982621832 0.0022999999889266845 0.0 + 0.05894291073968768 0.0 0.9982613551938856 0.0 + 0.0 0.0 0.0 1.0 + rotations z + rangesQ -2*pi 2*pi +endsegment + + +segment r_humerus_rotation2 + parent r_humerus_rotation1 +endsegment + +// Segment +segment r_humerus_rotation3 + parent r_humerus_rotation2 + RTinMatrix 1 + RT + 0.0 -0.0588981755023151 0.9982639956056206 0.0 + 1.0 0.0 0.0 0.0 + 0.0 0.9982639956056206 0.0588981755023151 0.0 + 0.0 0.0 0.0 1.0 +endsegment + + +segment r_humerus + parent r_humerus_rotation3 + RTinMatrix 1 + RT + 0.039020807762349605 0.9992383982621836 0.0 0.0 + -0.11754676602826802 0.004590265714620227 0.9930567391931666 0.0 + 0.9923004254548464 -0.03874987611716229 0.11763635808301447 0.0 + 0.0 0.0 0.0 1.0 + mass 1.8645719999999999 + inertia + 0.01481 0.0 0.0 + 0.0 0.004551 0.0 + 0.0 0.0 0.013193 + com 0 -0.18049599999999999 0 + meshfile mesh/arm_r_humerus.vtp +endsegment + + +segment r_ulna_radius_hand_translation + parent r_humerus + RTinMatrix 1 + RT + 1.0 0.0 0.0 0.0061 + 0.0 1.0 0.0 -0.2904 + 0.0 0.0 1.0 -0.0123 + 0.0 0.0 0.0 1.0 +endsegment + + +segment r_ulna_radius_hand_rotation1 + parent r_ulna_radius_hand_translation + RTinMatrix 1 + RT + 0.801979522152563 -0.5953053712684071 0.04940000998917986 0.0 + 0.5941792022021661 0.8034995425879125 0.036600009991983457 0.0 + -0.06148106796684942 3.469446951953614e-18 0.9981082497813831 0.0 + 0.0 0.0 0.0 1.0 + rotations z + rangesQ 0 pi +endsegment + + +segment r_ulna_radius_hand_rotation2 + parent r_ulna_radius_hand_rotation1 +endsegment + + +segment r_ulna_radius_hand_rotation3 + parent r_ulna_radius_hand_rotation2 + RTinMatrix 1 + RT + 0.0 0.049433130424779516 0.998777435476196 0.0 + 1.0 0.0 0.0 0.0 + 0.0 0.998777435476196 -0.049433130424779516 0.0 + 0.0 0.0 0.0 1.0 +endsegment + + +segment r_ulna_radius_hand + parent r_ulna_radius_hand_rotation3 + RTinMatrix 1 + RT + -0.5953053712684069 0.803499542587912 0.0 0.0 + 0.08898397360606149 0.06592740211634747 0.9938487963928239 0.0 + 0.7985570533031812 0.5916435267212894 -0.11074551868375905 0.0 + 0.0 0.0 0.0 1.0 + mass 1.5343150000000001 + inertia + 0.019281 0.0 0.0 + 0.0 0.001571 0.0 + 0.0 0.0 0.020062 + com 0 -0.181479 0 + meshfile mesh/arm_r_ulna.vtp +endsegment + + marker COM_hand + parent r_ulna_radius_hand + position 0 -0.181479 0 + endmarker + + + +// MUSCLE DEFINITION + +musclegroup base_to_r_ulna_radius_hand + OriginParent base + InsertionParent r_ulna_radius_hand +endmusclegroup + + muscle TRIlong + Type degrootefatigable + musclegroup base_to_r_ulna_radius_hand + OriginPosition -0.053650000000000003 -0.013729999999999999 0.14723 + InsertionPosition -0.021899999999999999 0.010460000000000001 -0.00077999999999999999 + optimalLength 0.13400000000000001 + maximalForce 798.51999999999998 + tendonSlackLength 0.14299999999999999 + pennationAngle 0.20943951 + maxVelocity 10 + + fatigueParameters + Type Xia + fatiguerate 0.01 + recoveryrate 0.002 + developfactor 10 + recoveryfactor 10 + endfatigueparameters + endmuscle + + viapoint TRIlong-P2 + parent r_humerus + muscle TRIlong + musclegroup base_to_r_ulna_radius_hand + position -0.027140000000000001 -0.11441 -0.0066400000000000001 + endviapoint + viapoint TRIlong-P3 + parent r_humerus + muscle TRIlong + musclegroup base_to_r_ulna_radius_hand + position -0.03184 -0.22636999999999999 -0.01217 + endviapoint + viapoint TRIlong-P4 + parent r_humerus + muscle TRIlong + musclegroup base_to_r_ulna_radius_hand + position -0.017430000000000001 -0.26756999999999997 -0.01208 + endviapoint + + muscle BIClong + Type degroote + musclegroup base_to_r_ulna_radius_hand + OriginPosition -0.039234999999999999 0.00347 0.14795 + InsertionPosition 0.0075100000000000002 -0.048390000000000002 0.02179 + optimalLength 0.1157 + maximalForce 624.29999999999995 + tendonSlackLength 0.27229999999999999 + pennationAngle 0 + maxVelocity 10 + endmuscle + + viapoint BIClong-P2 + parent base + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position -0.028944999999999999 0.01391 0.15639 + endviapoint + viapoint BIClong-P3 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.021309999999999999 0.017930000000000001 0.010279999999999999 + endviapoint + viapoint BIClong-P4 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.023779999999999999 -0.00511 0.01201 + endviapoint + viapoint BIClong-P5 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.01345 -0.02827 0.0013600000000000001 + endviapoint + viapoint BIClong-P6 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.01068 -0.077359999999999998 -0.00165 + endviapoint + viapoint BIClong-P7 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.01703 -0.12125 0.00024000000000000001 + endviapoint + viapoint BIClong-P8 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.022800000000000001 -0.1754 -0.0063 + endviapoint + + +// r_humerus > r_ulna_radius_hand +musclegroup r_humerus_to_r_ulna_radius_hand + OriginParent r_humerus + InsertionParent r_ulna_radius_hand +endmusclegroup + + muscle TRIlat + Type degroote + musclegroup r_humerus_to_r_ulna_radius_hand + OriginPosition -0.0059899999999999997 -0.12645999999999999 0.00428 + InsertionPosition -0.021899999999999999 0.010460000000000001 -0.00077999999999999999 + optimalLength 0.1138 + maximalForce 624.29999999999995 + tendonSlackLength 0.098000000000000004 + pennationAngle 0.15707963 + maxVelocity 10 + endmuscle + + viapoint TRIlat-P2 + parent r_humerus + muscle TRIlat + musclegroup r_humerus_to_r_ulna_radius_hand + position -0.023439999999999999 -0.14527999999999999 0.0092800000000000001 + endviapoint + viapoint TRIlat-P3 + parent r_humerus + muscle TRIlat + musclegroup r_humerus_to_r_ulna_radius_hand + position -0.03184 -0.22636999999999999 -0.01217 + endviapoint + viapoint TRIlat-P4 + parent r_humerus + muscle TRIlat + musclegroup r_humerus_to_r_ulna_radius_hand + position -0.017430000000000001 -0.26756999999999997 -0.01208 + endviapoint diff --git a/examples/dynamics/frequency_optimization_musculoskeletal_dynamic_2dof.py b/examples/dynamics/frequency_optimization_musculoskeletal_dynamic_2dof.py index 7557a86e..3bd87a67 100644 --- a/examples/dynamics/frequency_optimization_musculoskeletal_dynamic_2dof.py +++ b/examples/dynamics/frequency_optimization_musculoskeletal_dynamic_2dof.py @@ -21,9 +21,9 @@ ocp = FESActuatedBiorbdModelOCP.prepare_ocp( biorbd_model_path="/arm26_biceps.bioMod", - motion_type="start_end", - motion_data=[[0, 5], [0, 120]], - fes_muscle_model=DingModelFrequencyWithFatigue(), + bound_type="start_end", + bound_data=[[0, 5], [0, 120]], + fes_muscle_models=[DingModelFrequencyWithFatigue(muscle_name="BIClong")], n_stim=n_stim, n_shooting=10, final_time=1, @@ -31,6 +31,7 @@ time_max=0.1, time_bimapping=True, custom_objective=objective_functions, + with_residual_torque=True, ) sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) diff --git a/examples/dynamics/intensity_optimization_cycling_multi_muscle.py b/examples/dynamics/intensity_optimization_cycling_multi_muscle.py new file mode 100644 index 00000000..d17aad3a --- /dev/null +++ b/examples/dynamics/intensity_optimization_cycling_multi_muscle.py @@ -0,0 +1,64 @@ +""" +This example will do a 10 stimulation example with Ding's 2003 frequency model associated to Bakir's 2022 intensity work. +This ocp was build to maintain an elbow angle of 90 degrees. +The stimulation frequency will be optimized between 1 and 10 Hz as well as the pulse intensity between minimal +sensitivity threshold and 130mA to satisfy the maintained elbow. No residual torque is allowed. +""" +import numpy as np + +from bioptim import ( + Node, + ObjectiveFcn, + ObjectiveList, + Solver, +) + +from cocofest import DingModelIntensityFrequencyWithFatigue, FESActuatedBiorbdModelOCP + + +objective_functions = ObjectiveList() +n_stim = 10 +n_shooting = 10 + +q_target = [np.array([[1.1339, 0.6629]]*(n_shooting+1)).T, + np.array([[0.9943, 0.7676]]*(n_shooting+1)).T, + np.array([[0.7676, 1.0641]]*(n_shooting+1)).T, + np.array([[0.5757, 1.3781]]*(n_shooting+1)).T, + np.array([[0.4536, 1.4653]]*(n_shooting+1)).T, + np.array([[0.6280, 1.3781]]*(n_shooting+1)).T, + np.array([[1.0292, 0.9594]]*(n_shooting+1)).T, + np.array([[1.0990, 0.8373]]*(n_shooting+1)).T, + np.array([[1.1339, 0.6629]]*(n_shooting+1)).T] + +for i in range(n_stim): + objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=10, quadratic=True, phase=i) + objective_functions.add(ObjectiveFcn.Mayer.MINIMIZE_STATE, key="q", index=[0, 1], node=Node.ALL, target=q_target[i], weight=10, quadratic=True, phase=i) + + +minimum_pulse_intensity = DingModelIntensityFrequencyWithFatigue.min_pulse_intensity( + DingModelIntensityFrequencyWithFatigue() +) + +ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="/arm26_cycling.bioMod", + bound_type="start", + bound_data=[0, 5], + fes_muscle_models=[DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong"), + DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlong"), + DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlat")], + n_stim=n_stim, + n_shooting=10, + final_time=1, + time_min=0.01, + time_max=0.01, + time_bimapping=True, + pulse_intensity_min=minimum_pulse_intensity, + pulse_intensity_max=130, + pulse_intensity_bimapping=False, + with_residual_torque=False, + custom_objective=objective_functions, +) + +sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) +sol.animate() +sol.graphs(show_bounds=False) diff --git a/examples/dynamics/intensity_optimization_track_q.py b/examples/dynamics/intensity_optimization_track_q.py new file mode 100644 index 00000000..05736557 --- /dev/null +++ b/examples/dynamics/intensity_optimization_track_q.py @@ -0,0 +1,51 @@ +""" +This example will do a 10 stimulation example with Ding's 2003 frequency model associated to Bakir's 2022 intensity work. +This ocp was build to maintain an elbow angle of 90 degrees. +The stimulation frequency will be optimized between 1 and 10 Hz as well as the pulse intensity between minimal +sensitivity threshold and 130mA to satisfy the maintained elbow. No residual torque is allowed. +""" +import numpy as np + +from bioptim import ( + Node, + ObjectiveFcn, + ObjectiveList, + Solver, +) + +from cocofest import DingModelIntensityFrequencyWithFatigue, FESActuatedBiorbdModelOCP + + +objective_functions = ObjectiveList() +n_stim = 10 +n_shooting = 10 +for i in range(n_stim): + objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=10, quadratic=True, phase=i) + objective_functions.add(ObjectiveFcn.Mayer.MINIMIZE_STATE, key="q", index=[0], node=Node.ALL, target=np.array([[1.57]]*(n_shooting+1)).T, weight=10, quadratic=True, phase=i) +objective_functions.add(ObjectiveFcn.Mayer.MINIMIZE_STATE, key="qdot", index=[0], node=Node.ALL, target=np.array([[0]]*(n_shooting+1)).T, weight=10, quadratic=True, phase=i) + +minimum_pulse_intensity = DingModelIntensityFrequencyWithFatigue.min_pulse_intensity( + DingModelIntensityFrequencyWithFatigue() +) + +ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="/arm26_biceps_1dof.bioMod", + bound_type="start", + bound_data=[90], + fes_muscle_models=[DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong")], + n_stim=n_stim, + n_shooting=10, + final_time=1, + time_min=0.1, + time_max=1, + time_bimapping=True, + pulse_intensity_min=minimum_pulse_intensity, + pulse_intensity_max=130, + pulse_intensity_bimapping=False, + with_residual_torque=True, + custom_objective=objective_functions, +) + +sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) +sol.animate() +sol.graphs(show_bounds=False) diff --git a/examples/dynamics/intensity_optimization_track_q_multi_muscle.py b/examples/dynamics/intensity_optimization_track_q_multi_muscle.py new file mode 100644 index 00000000..9b6e5706 --- /dev/null +++ b/examples/dynamics/intensity_optimization_track_q_multi_muscle.py @@ -0,0 +1,56 @@ +""" +This example will do a 10 stimulation example with Ding's 2003 frequency model associated to Bakir's 2022 intensity work. +This ocp was build to maintain an elbow angle of 90 degrees. +The stimulation frequency will be optimized between 1 and 10 Hz as well as the pulse intensity between minimal +sensitivity threshold and 130mA to satisfy the maintained elbow. No residual torque is allowed. +""" +import numpy as np + +from bioptim import ( + Node, + ObjectiveFcn, + ObjectiveList, + Solver, +) + +from cocofest import DingModelIntensityFrequencyWithFatigue, FESActuatedBiorbdModelOCP + + +objective_functions = ObjectiveList() +n_stim = 10 +n_shooting = 10 +for i in range(n_stim): + objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=10, quadratic=True, phase=i) + objective_functions.add(ObjectiveFcn.Mayer.MINIMIZE_STATE, key="q", index=[0, 1], node=Node.ALL, target=np.array([[0, 1.57]]*(n_shooting+1)).T, weight=10, quadratic=True, phase=i) + objective_functions.add(ObjectiveFcn.Mayer.MINIMIZE_STATE, key="qdot", index=[0, 1], node=Node.ALL, target=np.array([[0, 0]]*(n_shooting+1)).T, weight=10, quadratic=True, phase=i) + +minimum_pulse_intensity = DingModelIntensityFrequencyWithFatigue.min_pulse_intensity( + DingModelIntensityFrequencyWithFatigue() +) + +ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="/arm26.bioMod", + bound_type="start", + bound_data=[0, 90], + fes_muscle_models=[DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong"), + DingModelIntensityFrequencyWithFatigue(muscle_name="BICshort"), + DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlong"), + DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlat"), + DingModelIntensityFrequencyWithFatigue(muscle_name="TRImed"), + DingModelIntensityFrequencyWithFatigue(muscle_name="BRA")], + n_stim=n_stim, + n_shooting=10, + final_time=1, + time_min=0.1, + time_max=1, + time_bimapping=True, + pulse_intensity_min=minimum_pulse_intensity, + pulse_intensity_max=130, + pulse_intensity_bimapping=False, + with_residual_torque=True, + custom_objective=objective_functions, +) + +sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) +sol.animate() +sol.graphs(show_bounds=False) diff --git a/examples/getting_started/frequency_optimization_musculoskeletal_dynamic.py b/examples/getting_started/frequency_optimization_musculoskeletal_dynamic.py index 86cbd8d5..dd474668 100644 --- a/examples/getting_started/frequency_optimization_musculoskeletal_dynamic.py +++ b/examples/getting_started/frequency_optimization_musculoskeletal_dynamic.py @@ -21,9 +21,9 @@ ocp = FESActuatedBiorbdModelOCP.prepare_ocp( biorbd_model_path="arm26_biceps_1dof.bioMod", - motion_type="start_end", - motion_data=[[5], [120]], - fes_muscle_model=DingModelFrequencyWithFatigue(), + bound_type="start_end", + bound_data=[[5], [120]], + fes_muscle_models=[DingModelFrequencyWithFatigue(muscle_name="BIClong")], n_stim=n_stim, n_shooting=10, final_time=1, @@ -31,6 +31,7 @@ time_max=0.1, time_bimapping=True, custom_objective=objective_functions, + with_residual_torque=True, ) sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) diff --git a/examples/getting_started/pulse_duration_optimization_musculoskeletal_dynamic.py b/examples/getting_started/pulse_duration_optimization_musculoskeletal_dynamic.py index abd54276..88cd7504 100644 --- a/examples/getting_started/pulse_duration_optimization_musculoskeletal_dynamic.py +++ b/examples/getting_started/pulse_duration_optimization_musculoskeletal_dynamic.py @@ -22,9 +22,9 @@ minimum_pulse_duration = DingModelPulseDurationFrequencyWithFatigue().pd0 ocp = FESActuatedBiorbdModelOCP.prepare_ocp( biorbd_model_path="/arm26_biceps_1dof.bioMod", - motion_type="start_end", - motion_data=[[5], [120]], - fes_muscle_model=DingModelPulseDurationFrequencyWithFatigue(), + bound_type="start_end", + bound_data=[[5], [120]], + fes_muscle_models=[DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong")], n_stim=n_stim, n_shooting=10, final_time=1, @@ -35,6 +35,7 @@ pulse_duration_max=0.0006, pulse_duration_bimapping=False, custom_objective=objective_functions, + with_residual_torque=True, ) sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) diff --git a/examples/getting_started/pulse_intensity_optimization_musculoskeletal_dynamic.py b/examples/getting_started/pulse_intensity_optimization_musculoskeletal_dynamic.py index fdbd4924..e7331b0a 100644 --- a/examples/getting_started/pulse_intensity_optimization_musculoskeletal_dynamic.py +++ b/examples/getting_started/pulse_intensity_optimization_musculoskeletal_dynamic.py @@ -27,7 +27,7 @@ biorbd_model_path="/arm26_biceps_1dof.bioMod", bound_type="start_end", bound_data=[[5], [120]], - fes_muscle_model=DingModelIntensityFrequencyWithFatigue(), + fes_muscle_models=[DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong")], n_stim=n_stim, n_shooting=10, final_time=1, @@ -38,6 +38,7 @@ pulse_intensity_max=130, pulse_intensity_bimapping=False, custom_objective=objective_functions, + with_residual_torque=True, ) sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) From a6da5bf62cf1eed697256db34ee55fa728e1d9e5 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Thu, 25 Jan 2024 15:43:19 -0500 Subject: [PATCH 12/63] Enabled fourier track_q --- cocofest/optimization/fes_ocp_dynamics.py | 69 ++++++++++++++++++- ...nsity_optimization_cycling_multi_muscle.py | 68 ++++++++++++------ 2 files changed, 113 insertions(+), 24 deletions(-) diff --git a/cocofest/optimization/fes_ocp_dynamics.py b/cocofest/optimization/fes_ocp_dynamics.py index 2524e9e9..54df614d 100644 --- a/cocofest/optimization/fes_ocp_dynamics.py +++ b/cocofest/optimization/fes_ocp_dynamics.py @@ -15,6 +15,7 @@ InterpolationType, ObjectiveFcn, OdeSolverBase, + Node ) from cocofest import ( @@ -26,6 +27,7 @@ DingModelIntensityFrequencyWithFatigue, OcpFes, FESActuatedBiorbdModel, + CustomObjective, ) @@ -62,6 +64,7 @@ def prepare_ocp( pulse_intensity_similar_for_all_muscles: bool = False, force_tracking: list = None, end_node_tracking: int | float = None, + q_tracking: list = None, custom_objective: ObjectiveList = None, with_residual_torque: bool = False, use_sx: bool = True, @@ -159,6 +162,12 @@ def prepare_ocp( force_fourier_coef = None if force_tracking is None else OcpFes._build_fourrier_coeff(force_tracking) end_node_tracking = end_node_tracking + q_fourier_coef = [] if q_tracking else None + if q_tracking: + for i in range(len(q_tracking[1])): + q_fourier_coef.append(OcpFes._build_fourrier_coeff([q_tracking[0], q_tracking[1][i]])) + + n_shooting = [n_shooting] * n_stim final_time_phase, constraints, phase_time_bimapping = OcpFes._build_phase_time( final_time=final_time, @@ -203,8 +212,8 @@ def prepare_ocp( bio_models, fes_muscle_models, bound_type, bound_data, n_stim, ) u_bounds, u_init = FESActuatedBiorbdModelOCP._set_controls(bio_models, n_stim, with_residual_torque) - objective_functions = OcpFes._set_objective( - n_stim, n_shooting, force_fourier_coef, end_node_tracking, custom_objective + objective_functions = FESActuatedBiorbdModelOCP._set_objective( + n_stim, n_shooting, force_fourier_coef, end_node_tracking, custom_objective, q_fourier_coef ) return OptimalControlProgram( @@ -482,7 +491,7 @@ def _set_controls(bio_models, n_stim, with_residual_torque): # Controls bounds nb_tau = bio_models[0].nb_tau if with_residual_torque: # TODO : ADD SEVERAL INDIVIDUAL FIXED RESIDUAL TORQUE FOR EACH JOINT - tau_min, tau_max, tau_init = [-20] * nb_tau, [20] * nb_tau, [0] * nb_tau + tau_min, tau_max, tau_init = [-500] * nb_tau, [500] * nb_tau, [0] * nb_tau else: tau_min, tau_max, tau_init = [0] * nb_tau, [0] * nb_tau, [0] * nb_tau @@ -497,6 +506,60 @@ def _set_controls(bio_models, n_stim, with_residual_torque): return u_bounds, u_init + @staticmethod + def _set_objective(n_stim, n_shooting, force_fourier_coef, end_node_tracking, custom_objective, q_fourier_coef): + # Creates the objective for our problem + objective_functions = ObjectiveList() + if custom_objective: + for i in range(len(custom_objective)): + if custom_objective[i]: + for j in range(len(custom_objective[i])): + objective_functions.add(custom_objective[i][j]) + + if force_fourier_coef is not None: # TODO : Enable multiple force tracking for multiple muscles + for phase in range(n_stim): + for i in range(n_shooting[phase]): + objective_functions.add( + CustomObjective.track_state_from_time, + custom_type=ObjectiveFcn.Mayer, + node=i, + fourier_coeff=force_fourier_coef, + key="F", + quadratic=True, + weight=1, + phase=phase, + ) + + if end_node_tracking: + if isinstance(end_node_tracking, int | float): + objective_functions.add( + ObjectiveFcn.Mayer.MINIMIZE_STATE, + node=Node.END, + key="F", + quadratic=True, + weight=1, + target=end_node_tracking, + phase=n_stim - 1, + ) + + if q_fourier_coef: + for j in range(len(q_fourier_coef)): + for phase in range(n_stim): + for i in range(n_shooting[phase]): + objective_functions.add( + CustomObjective.track_state_from_time, + custom_type=ObjectiveFcn.Mayer, + node=i, + fourier_coeff=q_fourier_coef[j], + key="q", + quadratic=True, + weight=1, + phase=phase, + index=j, + ) + + return objective_functions + @staticmethod def _sanity_check_bounds(bio_models, bound_type, bound_data): for i in range(bio_models[0].nb_q): diff --git a/examples/dynamics/intensity_optimization_cycling_multi_muscle.py b/examples/dynamics/intensity_optimization_cycling_multi_muscle.py index d17aad3a..387c914a 100644 --- a/examples/dynamics/intensity_optimization_cycling_multi_muscle.py +++ b/examples/dynamics/intensity_optimization_cycling_multi_muscle.py @@ -16,49 +16,75 @@ from cocofest import DingModelIntensityFrequencyWithFatigue, FESActuatedBiorbdModelOCP -objective_functions = ObjectiveList() -n_stim = 10 +n_stim = 33 n_shooting = 10 -q_target = [np.array([[1.1339, 0.6629]]*(n_shooting+1)).T, - np.array([[0.9943, 0.7676]]*(n_shooting+1)).T, - np.array([[0.7676, 1.0641]]*(n_shooting+1)).T, - np.array([[0.5757, 1.3781]]*(n_shooting+1)).T, - np.array([[0.4536, 1.4653]]*(n_shooting+1)).T, - np.array([[0.6280, 1.3781]]*(n_shooting+1)).T, - np.array([[1.0292, 0.9594]]*(n_shooting+1)).T, - np.array([[1.0990, 0.8373]]*(n_shooting+1)).T, - np.array([[1.1339, 0.6629]]*(n_shooting+1)).T] +track_q = [np.array([0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1]), + [np.array([1.1339, + 0.9943, + 0.7676, + 0.5757, + 0.4536, + 0.6280, + 1.0292, + 1.0990, + 1.1339]), + np.array([0.6629, + 0.7676, + 1.0641, + 1.3781, + 1.4653, + 1.3781, + 0.9594, + 0.8373, + 0.6629])]] +objective_functions = ObjectiveList() for i in range(n_stim): - objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=10, quadratic=True, phase=i) - objective_functions.add(ObjectiveFcn.Mayer.MINIMIZE_STATE, key="q", index=[0, 1], node=Node.ALL, target=q_target[i], weight=10, quadratic=True, phase=i) + objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=1, quadratic=True, phase=i) minimum_pulse_intensity = DingModelIntensityFrequencyWithFatigue.min_pulse_intensity( DingModelIntensityFrequencyWithFatigue() ) +import time +start_time = time.time() ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="/arm26_cycling.bioMod", - bound_type="start", - bound_data=[0, 5], + biorbd_model_path="/arm26.bioMod", + bound_type="start_end", + bound_data=[[65, 38], [65, 38]], fes_muscle_models=[DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong"), + DingModelIntensityFrequencyWithFatigue(muscle_name="BICshort"), DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlong"), - DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlat")], + DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlat"), + DingModelIntensityFrequencyWithFatigue(muscle_name="TRImed"), + DingModelIntensityFrequencyWithFatigue(muscle_name="BRA")], n_stim=n_stim, n_shooting=10, final_time=1, - time_min=0.01, - time_max=0.01, - time_bimapping=True, pulse_intensity_min=minimum_pulse_intensity, pulse_intensity_max=130, pulse_intensity_bimapping=False, - with_residual_torque=False, + with_residual_torque=True, custom_objective=objective_functions, + q_tracking=track_q, + use_sx=True, ) +print("--- %s seconds --- OCP" % (time.time() - start_time)) +start_time = time.time() sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) +print("--- %s seconds --- SOL" % (time.time() - start_time)) sol.animate() sol.graphs(show_bounds=False) + +# Fast OCP : +# --- 2.8143112659454346 seconds --- OCP +# --- 55.290322065353394 seconds --- SOL +# 106 1.7460726e+03 + +# Slow OCP : +# --- 84.57249999046326 seconds --- OCP +# --- 56.183839321136475 seconds --- SOL +# 106 1.7460726e+03 From 5b4e7a81266a266e7bb53c0fa9da281cc9452966 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Thu, 25 Jan 2024 17:49:44 -0500 Subject: [PATCH 13/63] adding hilldegroot model --- cocofest/models/dynamical_model.py | 49 ++++++++++++++++++++++++++++-- 1 file changed, 47 insertions(+), 2 deletions(-) diff --git a/cocofest/models/dynamical_model.py b/cocofest/models/dynamical_model.py index 0b33993e..95d1d797 100644 --- a/cocofest/models/dynamical_model.py +++ b/cocofest/models/dynamical_model.py @@ -1,6 +1,6 @@ from typing import Callable -from casadi import vertcat, MX, SX +from casadi import vertcat, MX, SX, exp, log, sqrt from bioptim import ( BiorbdModel, OptimalControlProgram, @@ -117,8 +117,13 @@ def muscle_dynamic( nlp_dynamics=muscle_model, ).dxdt - muscle_forces = DynamicsFunctions.get(nlp.states["F_"+muscle_model.muscle_name], states) muscle_idx = bio_muscle_names_at_index.index(muscle_model.muscle_name) + + muscle_forces = DynamicsFunctions.get(nlp.states["F_"+muscle_model.muscle_name], states) + muscle_force_length_coeff = FESActuatedBiorbdModel.muscle_force_length_coefficient(model=nlp.model.bio_model.model, muscle=nlp.model.bio_model.model.muscle(muscle_idx), q=q) + muscle_force_velocity_coeff = FESActuatedBiorbdModel.muscle_force_velocity_coefficient(model=nlp.model.bio_model.model, muscle=nlp.model.bio_model.model.muscle(muscle_idx), q=q, qdot=qdot) + muscle_forces = muscle_forces * muscle_force_length_coeff * muscle_force_velocity_coeff + moment_arm_matrix_for_the_muscle_and_joint = -nlp.model.bio_model.model.musclesLengthJacobian(q).to_mx()[muscle_idx, :].T muscles_tau += moment_arm_matrix_for_the_muscle_and_joint @ muscle_forces @@ -239,3 +244,43 @@ def configure_tau(ocp, nlp, as_states: bool, as_controls: bool, fatigue: Fatigue name = "tau" name_tau = ["tau"] ConfigureProblem.configure_new_variable(name, name_tau, ocp, nlp, as_states, as_controls, fatigue=fatigue) + + @staticmethod + def muscle_force_length_coefficient(model, muscle, q): + + b11 = 0.815 + b21 = 1.055 + b31 = 0.162 + b41 = 0.063 + b12 = 0.433 + b22 = 0.717 + b32 = -0.030 + b42 = 0.200 + b13 = 0.100 + b23 = 1.000 + b33 = 0.354 + b43 = 0.0 + + muscle_length = muscle.length(model, q).to_mx() + muscle_optimal_length = muscle.characteristics().optimalLength().to_mx() + norm_length = muscle_length / muscle_optimal_length + + m_FlCE = b11 * exp((-0.5 * ((norm_length - b21) * (norm_length - b21)))/((b31 + b41 * norm_length) * (b31 + b41 * norm_length))) + b12 * exp((-0.5 * ((norm_length - b22) * (norm_length - b22))) / ((b32 + b42 * norm_length) * (b32 + b42 * norm_length))) + b13 * exp((-0.5 * ((norm_length - b23) * (norm_length - b23))) / ((b33 + b43 * norm_length) * (b33 + b43 * norm_length))) + + return m_FlCE + + @staticmethod + def muscle_force_velocity_coefficient(model, muscle, q, qdot): + muscle_velocity = muscle.velocity(model, q, qdot).to_mx() + m_cste_maxShorteningSpeed = 10 + norm_v = muscle_velocity / m_cste_maxShorteningSpeed + + d1 = -0.318 + d2 = -8.149 + d3 = -0.374 + d4 = 0.886 + + m_FvCE = d1 * log((d2 * norm_v + d3) + sqrt((d2 * norm_v + d3) * (d2 * norm_v + d3) + 1)) + d4 + + return m_FvCE +# From 8f07041f5652962de5a76b0a45552f0eac4bf5c5 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Thu, 25 Jan 2024 17:51:11 -0500 Subject: [PATCH 14/63] cycling --- ...nsity_optimization_cycling_multi_muscle.py | 27 ++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/examples/dynamics/intensity_optimization_cycling_multi_muscle.py b/examples/dynamics/intensity_optimization_cycling_multi_muscle.py index 387c914a..d005953e 100644 --- a/examples/dynamics/intensity_optimization_cycling_multi_muscle.py +++ b/examples/dynamics/intensity_optimization_cycling_multi_muscle.py @@ -13,11 +13,10 @@ Solver, ) -from cocofest import DingModelIntensityFrequencyWithFatigue, FESActuatedBiorbdModelOCP +from cocofest import DingModelIntensityFrequency, FESActuatedBiorbdModelOCP -n_stim = 33 -n_shooting = 10 +n_stim = 30 track_q = [np.array([0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1]), [np.array([1.1339, @@ -44,8 +43,8 @@ objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=1, quadratic=True, phase=i) -minimum_pulse_intensity = DingModelIntensityFrequencyWithFatigue.min_pulse_intensity( - DingModelIntensityFrequencyWithFatigue() +minimum_pulse_intensity = DingModelIntensityFrequency.min_pulse_intensity( + DingModelIntensityFrequency() ) import time @@ -54,15 +53,18 @@ biorbd_model_path="/arm26.bioMod", bound_type="start_end", bound_data=[[65, 38], [65, 38]], - fes_muscle_models=[DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong"), - DingModelIntensityFrequencyWithFatigue(muscle_name="BICshort"), - DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlong"), - DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlat"), - DingModelIntensityFrequencyWithFatigue(muscle_name="TRImed"), - DingModelIntensityFrequencyWithFatigue(muscle_name="BRA")], + fes_muscle_models=[DingModelIntensityFrequency(muscle_name="BIClong"), + DingModelIntensityFrequency(muscle_name="BICshort"), + DingModelIntensityFrequency(muscle_name="TRIlong"), + DingModelIntensityFrequency(muscle_name="TRIlat"), + DingModelIntensityFrequency(muscle_name="TRImed"), + DingModelIntensityFrequency(muscle_name="BRA")], n_stim=n_stim, - n_shooting=10, + n_shooting=5, final_time=1, + time_min=0.05, + time_max=1, + time_bimapping=True, pulse_intensity_min=minimum_pulse_intensity, pulse_intensity_max=130, pulse_intensity_bimapping=False, @@ -78,6 +80,7 @@ print("--- %s seconds --- SOL" % (time.time() - start_time)) sol.animate() sol.graphs(show_bounds=False) +print(sol.parameters) # Fast OCP : # --- 2.8143112659454346 seconds --- OCP From 6e6a7d02f4558d857492b69eaec18be9183d79f6 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Fri, 26 Jan 2024 11:56:03 -0500 Subject: [PATCH 15/63] Comparation between with and without musce force-length relationship --- ...le_force_length_relationship_comparison.py | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 examples/dynamics/muscle_force_length_relationship_comparison.py diff --git a/examples/dynamics/muscle_force_length_relationship_comparison.py b/examples/dynamics/muscle_force_length_relationship_comparison.py new file mode 100644 index 00000000..7c0ec773 --- /dev/null +++ b/examples/dynamics/muscle_force_length_relationship_comparison.py @@ -0,0 +1,54 @@ +""" +This example will do a 10 stimulation example with Ding's 2003 frequency model associated to Bakir's 2022 intensity work. +Those ocp were build to move the elbow starting from 0 degrees angle. +The stimulation frequency will be set to 10Hz and intensity to 40mA. +No residual torque is allowed. +""" +import matplotlib.pyplot as plt + +from bioptim import Solver + +from cocofest import DingModelPulseDurationFrequencyWithFatigue, DingModelIntensityFrequencyWithFatigue, FESActuatedBiorbdModelOCP + +minimum_pulse_duration = DingModelPulseDurationFrequencyWithFatigue().pd0 +minimum_pulse_intensity = DingModelIntensityFrequencyWithFatigue.min_pulse_intensity( + DingModelIntensityFrequencyWithFatigue() +) + +sol_list = [] +muscle_force_length_relationship = [False, True, False, True] +fes_muscle_model = [[DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong")], + [DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong")], + [DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong")], + [DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong")] + ] + +for i in range(4): + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="/arm26_biceps_1dof.bioMod", + bound_type="start", + bound_data=[0], + fes_muscle_models=fes_muscle_model[i], + n_stim=10, + n_shooting=10, + final_time=1, + pulse_duration=0.00026, + pulse_intensity=40, + with_residual_torque=False, + muscle_force_length_relationship=muscle_force_length_relationship[i], + muscle_force_velocity_relationship=False, + use_sx=False, + ) + sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) + sol_list.append(sol.merge_phases()) + +plt.title("Comparison between with and without muscle force length relationship for an elbow movement at 10Hz and 40mA or 260us") +plt.plot(sol_list[0].time, sol_list[0].states["q"][0], label="Pulse duration without force length relationship") +plt.plot(sol_list[1].time, sol_list[1].states["q"][0], label="Pulse duration with force length relationship") +plt.plot(sol_list[2].time, sol_list[2].states["q"][0], label="Pulse intensity without force length relationship") +plt.plot(sol_list[3].time, sol_list[3].states["q"][0], label="Pulse intensity with force length relationship") + +plt.xlabel("Time (s)") +plt.ylabel("Angle (rad)") +plt.legend() +plt.show() From d94afcfd744db05e172f3dd8ffa4c1fe438eb55f Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Fri, 26 Jan 2024 11:57:24 -0500 Subject: [PATCH 16/63] muscle relationship activation simplification --- cocofest/models/dynamical_model.py | 14 +++++++++++--- cocofest/optimization/fes_ocp_dynamics.py | 4 +++- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/cocofest/models/dynamical_model.py b/cocofest/models/dynamical_model.py index 95d1d797..b6ca00f5 100644 --- a/cocofest/models/dynamical_model.py +++ b/cocofest/models/dynamical_model.py @@ -20,6 +20,8 @@ def __init__( name: str = None, biorbd_path: str = None, muscles_model: DingModelFrequency() = None, + muscle_force_length_relationship: bool = False, + muscle_force_velocity_relationship: bool = False, ): super().__init__(biorbd_path) self._name = name @@ -30,6 +32,9 @@ def __init__( self.muscles_dynamics_model = muscles_model self.bio_stim_model = [self.bio_model] + self.muscles_dynamics_model + self.muscle_force_length_relationship = muscle_force_length_relationship + self.muscle_force_velocity_relationship = muscle_force_velocity_relationship + # ---- Absolutely needed methods ---- # def serialize(self, index: int = 0) -> tuple[Callable, dict]: return self.muscles_dynamics_model[index].serialize() @@ -120,8 +125,12 @@ def muscle_dynamic( muscle_idx = bio_muscle_names_at_index.index(muscle_model.muscle_name) muscle_forces = DynamicsFunctions.get(nlp.states["F_"+muscle_model.muscle_name], states) - muscle_force_length_coeff = FESActuatedBiorbdModel.muscle_force_length_coefficient(model=nlp.model.bio_model.model, muscle=nlp.model.bio_model.model.muscle(muscle_idx), q=q) - muscle_force_velocity_coeff = FESActuatedBiorbdModel.muscle_force_velocity_coefficient(model=nlp.model.bio_model.model, muscle=nlp.model.bio_model.model.muscle(muscle_idx), q=q, qdot=qdot) + muscle_force_length_coeff = 1 + muscle_force_velocity_coeff = 1 + if nlp.model.muscle_force_length_relationship: + muscle_force_length_coeff = FESActuatedBiorbdModel.muscle_force_length_coefficient(model=nlp.model.bio_model.model, muscle=nlp.model.bio_model.model.muscle(muscle_idx), q=q) + if nlp.model.muscle_force_velocity_relationship: + muscle_force_velocity_coeff = FESActuatedBiorbdModel.muscle_force_velocity_coefficient(model=nlp.model.bio_model.model, muscle=nlp.model.bio_model.model.muscle(muscle_idx), q=q, qdot=qdot) muscle_forces = muscle_forces * muscle_force_length_coeff * muscle_force_velocity_coeff moment_arm_matrix_for_the_muscle_and_joint = -nlp.model.bio_model.model.musclesLengthJacobian(q).to_mx()[muscle_idx, :].T @@ -283,4 +292,3 @@ def muscle_force_velocity_coefficient(model, muscle, q, qdot): m_FvCE = d1 * log((d2 * norm_v + d3) + sqrt((d2 * norm_v + d3) * (d2 * norm_v + d3) + 1)) + d4 return m_FvCE -# diff --git a/cocofest/optimization/fes_ocp_dynamics.py b/cocofest/optimization/fes_ocp_dynamics.py index 54df614d..dccb1b13 100644 --- a/cocofest/optimization/fes_ocp_dynamics.py +++ b/cocofest/optimization/fes_ocp_dynamics.py @@ -67,6 +67,8 @@ def prepare_ocp( q_tracking: list = None, custom_objective: ObjectiveList = None, with_residual_torque: bool = False, + muscle_force_length_relationship: bool = False, + muscle_force_velocity_relationship: bool = False, use_sx: bool = True, ode_solver: OdeSolverBase = OdeSolver.RK4(n_integration_steps=1), control_type: ControlType = ControlType.CONSTANT, @@ -199,7 +201,7 @@ def prepare_ocp( ) bio_models = [ - FESActuatedBiorbdModel(name=None, biorbd_path=biorbd_model_path, muscles_model=fes_muscle_models) + FESActuatedBiorbdModel(name=None, biorbd_path=biorbd_model_path, muscles_model=fes_muscle_models, muscle_force_length_relationship=muscle_force_length_relationship, muscle_force_velocity_relationship=muscle_force_velocity_relationship) for i in range(n_stim) ] From dc51e27f0e3448fadf0952f9ee2d4fef2250f103 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Fri, 26 Jan 2024 12:44:17 -0500 Subject: [PATCH 17/63] Enabling muscle fatigue minimization --- cocofest/custom_objectives.py | 20 ++ cocofest/optimization/fes_ocp_dynamics.py | 16 +- examples/dynamics/arm26_biceps_triceps.bioMod | 238 ++++++++++++++++++ ...intensity_optimization_minimize_fatigue.py | 48 ++++ 4 files changed, 320 insertions(+), 2 deletions(-) create mode 100644 examples/dynamics/arm26_biceps_triceps.bioMod create mode 100644 examples/dynamics/minimize_fatigue/pulse_intensity_optimization_minimize_fatigue.py diff --git a/cocofest/custom_objectives.py b/cocofest/custom_objectives.py index 4275bf85..ee135a88 100644 --- a/cocofest/custom_objectives.py +++ b/cocofest/custom_objectives.py @@ -68,3 +68,23 @@ def track_state_from_time_interpolate( return 1 - (force / controller.states[key].cx) else: raise RuntimeError(f"Minimization type {minimization_type} not implemented") + + @staticmethod + def minimize_overall_muscle_fatigue(controller: PenaltyController) -> MX: + """ + Minimize the overall muscle fatigue. + This function is quadratic, meaning that it minimizes towards the target. + Targets (default=np.zeros()) and indices (default=all_idx) can be specified. + + Parameters + ---------- + controller: PenaltyController + The penalty node elements + + Returns + ------- + The difference between the two keys + """ + muscle_name_list = controller.model.bio_model.muscle_names + muscle_fatigue = [controller.states["A_"+muscle_name_list[x]].cx for x in range(len(muscle_name_list))] + return sum(muscle_fatigue) diff --git a/cocofest/optimization/fes_ocp_dynamics.py b/cocofest/optimization/fes_ocp_dynamics.py index dccb1b13..dcb63305 100644 --- a/cocofest/optimization/fes_ocp_dynamics.py +++ b/cocofest/optimization/fes_ocp_dynamics.py @@ -69,6 +69,7 @@ def prepare_ocp( with_residual_torque: bool = False, muscle_force_length_relationship: bool = False, muscle_force_velocity_relationship: bool = False, + minimize_muscle_fatigue: bool = False, use_sx: bool = True, ode_solver: OdeSolverBase = OdeSolver.RK4(n_integration_steps=1), control_type: ControlType = ControlType.CONSTANT, @@ -215,7 +216,7 @@ def prepare_ocp( ) u_bounds, u_init = FESActuatedBiorbdModelOCP._set_controls(bio_models, n_stim, with_residual_torque) objective_functions = FESActuatedBiorbdModelOCP._set_objective( - n_stim, n_shooting, force_fourier_coef, end_node_tracking, custom_objective, q_fourier_coef + n_stim, n_shooting, force_fourier_coef, end_node_tracking, custom_objective, q_fourier_coef, minimize_muscle_fatigue ) return OptimalControlProgram( @@ -509,7 +510,7 @@ def _set_controls(bio_models, n_stim, with_residual_torque): return u_bounds, u_init @staticmethod - def _set_objective(n_stim, n_shooting, force_fourier_coef, end_node_tracking, custom_objective, q_fourier_coef): + def _set_objective(n_stim, n_shooting, force_fourier_coef, end_node_tracking, custom_objective, q_fourier_coef, minimize_muscle_fatigue): # Creates the objective for our problem objective_functions = ObjectiveList() if custom_objective: @@ -560,6 +561,17 @@ def _set_objective(n_stim, n_shooting, force_fourier_coef, end_node_tracking, cu index=j, ) + if minimize_muscle_fatigue: + for i in range(n_stim): + objective_functions.add( + CustomObjective.minimize_overall_muscle_fatigue, + custom_type=ObjectiveFcn.Mayer, + node=Node.ALL, + quadratic=True, + weight=-1, + phase=i, + ) + return objective_functions @staticmethod diff --git a/examples/dynamics/arm26_biceps_triceps.bioMod b/examples/dynamics/arm26_biceps_triceps.bioMod new file mode 100644 index 00000000..e826ae8a --- /dev/null +++ b/examples/dynamics/arm26_biceps_triceps.bioMod @@ -0,0 +1,238 @@ +version 3 +gravity 0 -9.81 0 + +// SEGMENT DEFINITION + +segment base + // meshfile mesh/ground_ribs.vtp +endsegment + + // Markers + marker target + parent base + position 0.15 0.15 0.17 + endmarker + + +segment r_humerus_translation + parent base + RTinMatrix 1 + RT + 1.0 0.0 0.0 -0.017545 + 0.0 1.0 0.0 -0.007 + 0.0 0.0 1.0 0.17 + 0.0 0.0 0.0 1.0 +endsegment + + +segment r_humerus_rotation1 + parent r_humerus_translation + RTinMatrix 1 + RT + 0.9975010776109747 0.039020807762349584 -0.058898019716436364 0.0 + -0.038952964437603196 0.9992383982621832 0.0022999999889266845 0.0 + 0.05894291073968768 0.0 0.9982613551938856 0.0 + 0.0 0.0 0.0 1.0 + rotations z + rangesQ -2*pi 2*pi +endsegment + + +segment r_humerus_rotation2 + parent r_humerus_rotation1 +endsegment + +// Segment +segment r_humerus_rotation3 + parent r_humerus_rotation2 + RTinMatrix 1 + RT + 0.0 -0.0588981755023151 0.9982639956056206 0.0 + 1.0 0.0 0.0 0.0 + 0.0 0.9982639956056206 0.0588981755023151 0.0 + 0.0 0.0 0.0 1.0 +endsegment + + +segment r_humerus + parent r_humerus_rotation3 + RTinMatrix 1 + RT + 0.039020807762349605 0.9992383982621836 0.0 0.0 + -0.11754676602826802 0.004590265714620227 0.9930567391931666 0.0 + 0.9923004254548464 -0.03874987611716229 0.11763635808301447 0.0 + 0.0 0.0 0.0 1.0 + mass 1.8645719999999999 + inertia + 0.01481 0.0 0.0 + 0.0 0.004551 0.0 + 0.0 0.0 0.013193 + com 0 -0.18049599999999999 0 + meshfile mesh/arm_r_humerus.vtp +endsegment + + +segment r_ulna_radius_hand_translation + parent r_humerus + RTinMatrix 1 + RT + 1.0 0.0 0.0 0.0061 + 0.0 1.0 0.0 -0.2904 + 0.0 0.0 1.0 -0.0123 + 0.0 0.0 0.0 1.0 +endsegment + + +segment r_ulna_radius_hand_rotation1 + parent r_ulna_radius_hand_translation + RTinMatrix 1 + RT + 0.801979522152563 -0.5953053712684071 0.04940000998917986 0.0 + 0.5941792022021661 0.8034995425879125 0.036600009991983457 0.0 + -0.06148106796684942 3.469446951953614e-18 0.9981082497813831 0.0 + 0.0 0.0 0.0 1.0 + rotations z + rangesQ 0 pi +endsegment + + +segment r_ulna_radius_hand_rotation2 + parent r_ulna_radius_hand_rotation1 +endsegment + + +segment r_ulna_radius_hand_rotation3 + parent r_ulna_radius_hand_rotation2 + RTinMatrix 1 + RT + 0.0 0.049433130424779516 0.998777435476196 0.0 + 1.0 0.0 0.0 0.0 + 0.0 0.998777435476196 -0.049433130424779516 0.0 + 0.0 0.0 0.0 1.0 +endsegment + + +segment r_ulna_radius_hand + parent r_ulna_radius_hand_rotation3 + RTinMatrix 1 + RT + -0.5953053712684069 0.803499542587912 0.0 0.0 + 0.08898397360606149 0.06592740211634747 0.9938487963928239 0.0 + 0.7985570533031812 0.5916435267212894 -0.11074551868375905 0.0 + 0.0 0.0 0.0 1.0 + mass 1.5343150000000001 + inertia + 0.019281 0.0 0.0 + 0.0 0.001571 0.0 + 0.0 0.0 0.020062 + com 0 -0.181479 0 + meshfile mesh/arm_r_ulna.vtp +endsegment + + marker COM_hand + parent r_ulna_radius_hand + position 0 -0.181479 0 + endmarker + + + +// MUSCLE DEFINITION + +musclegroup base_to_r_ulna_radius_hand + OriginParent base + InsertionParent r_ulna_radius_hand +endmusclegroup + + muscle TRIlong + Type degrootefatigable + musclegroup base_to_r_ulna_radius_hand + OriginPosition -0.053650000000000003 -0.013729999999999999 0.14723 + InsertionPosition -0.021899999999999999 0.010460000000000001 -0.00077999999999999999 + optimalLength 0.13400000000000001 + maximalForce 798.51999999999998 + tendonSlackLength 0.14299999999999999 + pennationAngle 0.20943951 + maxVelocity 10 + + fatigueParameters + Type Xia + fatiguerate 0.01 + recoveryrate 0.002 + developfactor 10 + recoveryfactor 10 + endfatigueparameters + endmuscle + + viapoint TRIlong-P2 + parent r_humerus + muscle TRIlong + musclegroup base_to_r_ulna_radius_hand + position -0.027140000000000001 -0.11441 -0.0066400000000000001 + endviapoint + viapoint TRIlong-P3 + parent r_humerus + muscle TRIlong + musclegroup base_to_r_ulna_radius_hand + position -0.03184 -0.22636999999999999 -0.01217 + endviapoint + viapoint TRIlong-P4 + parent r_humerus + muscle TRIlong + musclegroup base_to_r_ulna_radius_hand + position -0.017430000000000001 -0.26756999999999997 -0.01208 + endviapoint + + muscle BIClong + Type degroote + musclegroup base_to_r_ulna_radius_hand + OriginPosition -0.039234999999999999 0.00347 0.14795 + InsertionPosition 0.0075100000000000002 -0.048390000000000002 0.02179 + optimalLength 0.1157 + maximalForce 624.29999999999995 + tendonSlackLength 0.27229999999999999 + pennationAngle 0 + maxVelocity 10 + endmuscle + + viapoint BIClong-P2 + parent base + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position -0.028944999999999999 0.01391 0.15639 + endviapoint + viapoint BIClong-P3 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.021309999999999999 0.017930000000000001 0.010279999999999999 + endviapoint + viapoint BIClong-P4 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.023779999999999999 -0.00511 0.01201 + endviapoint + viapoint BIClong-P5 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.01345 -0.02827 0.0013600000000000001 + endviapoint + viapoint BIClong-P6 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.01068 -0.077359999999999998 -0.00165 + endviapoint + viapoint BIClong-P7 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.01703 -0.12125 0.00024000000000000001 + endviapoint + viapoint BIClong-P8 + parent r_humerus + muscle BIClong + musclegroup base_to_r_ulna_radius_hand + position 0.022800000000000001 -0.1754 -0.0063 + endviapoint diff --git a/examples/dynamics/minimize_fatigue/pulse_intensity_optimization_minimize_fatigue.py b/examples/dynamics/minimize_fatigue/pulse_intensity_optimization_minimize_fatigue.py new file mode 100644 index 00000000..b8b792bc --- /dev/null +++ b/examples/dynamics/minimize_fatigue/pulse_intensity_optimization_minimize_fatigue.py @@ -0,0 +1,48 @@ +""" +This example will do a 10 stimulation example with Ding's 2003 frequency model associated to Bakir's 2022 intensity work. +Those ocp were build to move the elbow from 0 to 90 degrees angle. +The stimulation frequency will be set to 10Hz and pulse intensity will be optimized to satisfy the motion and to minimize the overall muscle fatigue. +Intensity can be optimized from sensitivity threshold to 130mA. No residual torque is allowed. +""" +import numpy as np + +from bioptim import ( + Node, + ObjectiveFcn, + ObjectiveList, + Solver, +) + +from cocofest import DingModelIntensityFrequencyWithFatigue, FESActuatedBiorbdModelOCP + +n_stim = 10 +n_shooting = 10 +objective_functions = ObjectiveList() +objective_functions.add(ObjectiveFcn.Mayer.MINIMIZE_STATE, key="qdot", index=[0, 1], node=Node.END, target=np.array([[0, 0]]*(n_shooting+1)).T, weight=100, quadratic=True, phase=n_stim-1) + +minimum_pulse_intensity = DingModelIntensityFrequencyWithFatigue.min_pulse_intensity( + DingModelIntensityFrequencyWithFatigue() +) + +ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="../arm26_biceps_triceps.bioMod", + bound_type="start_end", + bound_data=[[0, 5], [0, 90]], + fes_muscle_models=[DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong"), + DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlong")], + n_stim=n_stim, + n_shooting=10, + final_time=1, + pulse_intensity_min=minimum_pulse_intensity, + pulse_intensity_max=130, + pulse_intensity_bimapping=False, + with_residual_torque=False, + custom_objective=objective_functions, + muscle_force_length_relationship=True, + muscle_force_velocity_relationship=False, + minimize_muscle_fatigue=True, +) + +sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) +sol.animate() +sol.graphs(show_bounds=False) From e84fde921b42bd430fef47dde7c7669e718c93ca Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Fri, 26 Jan 2024 14:38:09 -0500 Subject: [PATCH 18/63] fix: Corrected a major error in fatigue calculation for pulse duration model --- cocofest/models/ding2007.py | 6 +-- cocofest/models/ding2007_with_fatigue.py | 69 ++++++++++++++++++++---- 2 files changed, 63 insertions(+), 12 deletions(-) diff --git a/cocofest/models/ding2007.py b/cocofest/models/ding2007.py index 5d65db28..f548efd4 100644 --- a/cocofest/models/ding2007.py +++ b/cocofest/models/ding2007.py @@ -91,11 +91,11 @@ def system_dynamics( """ r0 = self.km_rest + self.r0_km_relationship # Simplification cn_dot = self.cn_dot_fun(cn, r0, t, t_stim_prev=t_stim_prev) # Equation n°1 from Ding's 2003 article - a = self.a_calculation(impulse_time=impulse_time) # Equation n°3 from Ding's 2007 article + a = self.a_calculation(a_scale=self.a_scale, impulse_time=impulse_time) # Equation n°3 from Ding's 2007 article f_dot = self.f_dot_fun(cn, f, a, self.tau1_rest, self.km_rest) # Equation n°2 from Ding's 2003 article return vertcat(cn_dot, f_dot) - def a_calculation(self, impulse_time: MX) -> MX: + def a_calculation(self, a_scale: float | MX, impulse_time: MX) -> MX: """ Parameters ---------- @@ -106,7 +106,7 @@ def a_calculation(self, impulse_time: MX) -> MX: ------- The value of scaling factor (unitless) """ - return self.a_scale * (1 - exp(-(impulse_time - self.pd0) / self.pdt)) + return a_scale * (1 - exp(-(impulse_time - self.pd0) / self.pdt)) def set_impulse_duration(self, value: list[MX]): """ diff --git a/cocofest/models/ding2007_with_fatigue.py b/cocofest/models/ding2007_with_fatigue.py index 8c160168..89ca9344 100644 --- a/cocofest/models/ding2007_with_fatigue.py +++ b/cocofest/models/ding2007_with_fatigue.py @@ -42,19 +42,19 @@ def __init__(self, model_name: str = "ding_2007_with_fatigue", muscle_name: str @property def name_dof(self) -> list[str]: muscle_name = "_" + self.muscle_name if self.muscle_name else "" - return ["Cn"+muscle_name, "F"+muscle_name, "Tau1"+muscle_name, "Km"+muscle_name] + return ["Cn"+muscle_name, "F"+muscle_name, "A"+muscle_name, "Tau1"+muscle_name, "Km"+muscle_name] @property def nb_state(self) -> int: - return 4 + return 5 def standard_rest_values(self) -> np.array: """ Returns ------- - The rested values of Cn, F, Tau1, Km + The rested values of Cn, F, A, Tau1, Km """ - return np.array([[0], [0], [self.tau1_rest], [self.km_rest]]) + return np.array([[0], [0], [self.a_scale], [self.tau1_rest], [self.km_rest]]) def serialize(self) -> tuple[Callable, dict]: # This is where you can serialize your models @@ -81,6 +81,7 @@ def system_dynamics( self, cn: MX, f: MX, + a: MX = None, tau1: MX = None, km: MX = None, t: MX = None, @@ -113,11 +114,27 @@ def system_dynamics( """ r0 = km + self.r0_km_relationship # Simplification cn_dot = self.cn_dot_fun(cn, r0, t, t_stim_prev=t_stim_prev) # Equation n°1 from Ding's 2003 article - a = self.a_calculation(impulse_time=impulse_time) # Equation n°3 from Ding's 2007 article - f_dot = self.f_dot_fun(cn, f, a, tau1, km) # Equation n°2 from Ding's 2003 article + a_calculated = self.a_calculation(a_scale=a, impulse_time=impulse_time) # Equation n°3 from Ding's 2007 article + f_dot = self.f_dot_fun(cn, f, a_calculated, tau1, km) # Equation n°2 from Ding's 2003 article + a_dot = self.a_dot_fun(a, f) tau1_dot = self.tau1_dot_fun(tau1, f) # Equation n°9 from Ding's 2003 article km_dot = self.km_dot_fun(km, f) # Equation n°11 from Ding's 2003 article - return vertcat(cn_dot, f_dot, tau1_dot, km_dot) + return vertcat(cn_dot, f_dot, a_dot, tau1_dot, km_dot) + + def a_dot_fun(self, a: MX, f: MX) -> MX | float: + """ + Parameters + ---------- + a: MX + The previous step value of scaling factor (unitless) + f: MX + The previous step value of force (N) + + Returns + ------- + The value of the derivative scaling factor (unitless) + """ + return -(a - self.a_scale) / self.tau_fat + self.alpha_a * f # Equation n°5 def tau1_dot_fun(self, tau1: MX, f: MX) -> MX | float: """ @@ -200,8 +217,9 @@ def dynamics( dxdt=dxdt_fun( cn=states[0], f=states[1], - tau1=states[2], - km=states[3], + a=states[2], + tau1=states[3], + km=states[4], t=time, t_stim_prev=stim_apparition, impulse_time=impulse_time, @@ -222,11 +240,44 @@ def declare_ding_variables(self, ocp: OptimalControlProgram, nlp: NonLinearProgr """ self.configure_ca_troponin_complex(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) self.configure_force(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) + self.configure_scaling_factor(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) self.configure_time_state_force_no_cross_bridge(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) self.configure_cross_bridges(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) stim_apparition = self.get_stim_prev(ocp, nlp) ConfigureProblem.configure_dynamics_function(ocp, nlp, dyn_func=self.dynamics, stim_apparition=stim_apparition) + @staticmethod + def configure_scaling_factor( + ocp: OptimalControlProgram, + nlp: NonLinearProgram, + as_states: bool, + as_controls: bool, + as_states_dot: bool = False, + muscle_name: str = None, + ): + """ + Configure a new variable of the scaling factor (N/ms) + + Parameters + ---------- + ocp: OptimalControlProgram + A reference to the ocp + nlp: NonLinearProgram + A reference to the phase + as_states: bool + If the generalized coordinates should be a state + as_controls: bool + If the generalized coordinates should be a control + as_states_dot: bool + If the generalized velocities should be a state_dot + """ + muscle_name = "_" + muscle_name if muscle_name else "" + name = "A" + muscle_name + name_a = [name] + ConfigureProblem.configure_new_variable( + name, name_a, ocp, nlp, as_states, as_controls, as_states_dot, + ) + @staticmethod def configure_time_state_force_no_cross_bridge( ocp: OptimalControlProgram, From 2e823415169b3f34769c973970476823146c923c Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Fri, 26 Jan 2024 14:38:53 -0500 Subject: [PATCH 19/63] pulse duration optimization to minimize muscle fatigue --- ..._duration_optimization_minimize_fatigue.py | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 examples/dynamics/minimize_fatigue/pulse_duration_optimization_minimize_fatigue.py diff --git a/examples/dynamics/minimize_fatigue/pulse_duration_optimization_minimize_fatigue.py b/examples/dynamics/minimize_fatigue/pulse_duration_optimization_minimize_fatigue.py new file mode 100644 index 00000000..3d49ccf4 --- /dev/null +++ b/examples/dynamics/minimize_fatigue/pulse_duration_optimization_minimize_fatigue.py @@ -0,0 +1,46 @@ +""" +This example will do a 10 stimulation example with Ding's 2007 pulse duration model. +Those ocp were build to move the elbow from 0 to 90 degrees angle. +The stimulation frequency will be set to 10Hz and pulse duration will be optimized to satisfy the motion and to minimize the overall muscle fatigue. +Intensity can be optimized from sensitivity threshold to 600us. No residual torque is allowed. +""" +import numpy as np + +from bioptim import ( + Node, + ObjectiveFcn, + ObjectiveList, + Solver, +) + +from cocofest import DingModelPulseDurationFrequencyWithFatigue, FESActuatedBiorbdModelOCP + +n_stim = 10 +n_shooting = 10 +objective_functions = ObjectiveList() +objective_functions.add(ObjectiveFcn.Mayer.MINIMIZE_STATE, key="qdot", index=[0, 1], node=Node.END, target=np.array([[0, 0]]*(n_shooting+1)).T, weight=100, quadratic=True, phase=n_stim-1) + +minimum_pulse_duration = DingModelPulseDurationFrequencyWithFatigue().pd0 + +ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="../arm26_biceps_triceps.bioMod", + bound_type="start_end", + bound_data=[[0, 5], [0, 90]], + fes_muscle_models=[DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong")], + n_stim=n_stim, + n_shooting=10, + final_time=1, + pulse_duration_min=minimum_pulse_duration, + pulse_duration_max=0.0006, + pulse_duration_bimapping=False, + with_residual_torque=False, + custom_objective=objective_functions, + muscle_force_length_relationship=True, + muscle_force_velocity_relationship=False, + minimize_muscle_fatigue=True, +) + +sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) +sol.animate() +sol.graphs(show_bounds=False) From 79275e476e0976a995de603c3e8cff32bf45ebd8 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Fri, 26 Jan 2024 15:36:45 -0500 Subject: [PATCH 20/63] Adding pulse apparition optimization to reduce muscle fatigue --- cocofest/optimization/fes_ocp.py | 2 +- cocofest/optimization/fes_ocp_dynamics.py | 2 +- .../frequecy_optimization_minimize_fatigue.py | 47 +++++++++++++++++++ 3 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 examples/dynamics/minimize_fatigue/frequecy_optimization_minimize_fatigue.py diff --git a/cocofest/optimization/fes_ocp.py b/cocofest/optimization/fes_ocp.py index 84672bca..19b18eac 100644 --- a/cocofest/optimization/fes_ocp.py +++ b/cocofest/optimization/fes_ocp.py @@ -674,7 +674,7 @@ def _set_objective(n_stim, n_shooting, force_fourier_coef, end_node_tracking, cu for j in range(len(custom_objective[i])): objective_functions.add(custom_objective[i][j]) - if force_fourier_coef is not None: # TODO : Enable multiple force tracking for multiple muscles + if force_fourier_coef is not None: for phase in range(n_stim): for i in range(n_shooting[phase]): objective_functions.add( diff --git a/cocofest/optimization/fes_ocp_dynamics.py b/cocofest/optimization/fes_ocp_dynamics.py index dcb63305..14632668 100644 --- a/cocofest/optimization/fes_ocp_dynamics.py +++ b/cocofest/optimization/fes_ocp_dynamics.py @@ -494,7 +494,7 @@ def _set_controls(bio_models, n_stim, with_residual_torque): # Controls bounds nb_tau = bio_models[0].nb_tau if with_residual_torque: # TODO : ADD SEVERAL INDIVIDUAL FIXED RESIDUAL TORQUE FOR EACH JOINT - tau_min, tau_max, tau_init = [-500] * nb_tau, [500] * nb_tau, [0] * nb_tau + tau_min, tau_max, tau_init = [-50] * nb_tau, [50] * nb_tau, [0] * nb_tau else: tau_min, tau_max, tau_init = [0] * nb_tau, [0] * nb_tau, [0] * nb_tau diff --git a/examples/dynamics/minimize_fatigue/frequecy_optimization_minimize_fatigue.py b/examples/dynamics/minimize_fatigue/frequecy_optimization_minimize_fatigue.py new file mode 100644 index 00000000..5110bde6 --- /dev/null +++ b/examples/dynamics/minimize_fatigue/frequecy_optimization_minimize_fatigue.py @@ -0,0 +1,47 @@ +""" +This example will do a 5 stimulation example with Ding's 2003 frequency model. +Those ocp were build to move the elbow from 0 to 90 degrees angle. +The stimulation apparition will be optimized to satisfy the motion and to minimize the overall muscle fatigue. +Stimulations can occur between 0.01 to 1 second. Residual torque added to help convergence. +""" +import numpy as np + +from bioptim import ( + Node, + ObjectiveFcn, + ObjectiveList, + Solver, +) + +from cocofest import DingModelFrequencyWithFatigue, FESActuatedBiorbdModelOCP + +n_stim = 5 +n_shooting = 10 +objective_functions = ObjectiveList() +objective_functions.add(ObjectiveFcn.Mayer.MINIMIZE_STATE, key="qdot", index=[0, 1], node=Node.END, target=np.array([[0, 0]]*(n_shooting+1)).T, weight=100, quadratic=True, phase=n_stim-1) +for i in range(n_stim): + objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=10000, quadratic=True, phase=i) + + +ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="../arm26_biceps_triceps.bioMod", + bound_type="start_end", + bound_data=[[0, 5], [0, 90]], + fes_muscle_models=[DingModelFrequencyWithFatigue(muscle_name="BIClong"), + DingModelFrequencyWithFatigue(muscle_name="TRIlong")], + n_stim=n_stim, + n_shooting=n_shooting, + final_time=1, + time_min=0.01, + time_max=1, + time_bimapping=False, + with_residual_torque=True, + custom_objective=objective_functions, + muscle_force_length_relationship=True, + muscle_force_velocity_relationship=False, + minimize_muscle_fatigue=True, +) + +sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) +sol.animate() +sol.graphs(show_bounds=False) From abfeedf1f3c9618cb757c488f8bfb48440343d10 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Fri, 26 Jan 2024 15:39:12 -0500 Subject: [PATCH 21/63] black --- cocofest/custom_objectives.py | 2 +- cocofest/models/ding2003.py | 48 ++++-- cocofest/models/ding2003_with_fatigue.py | 45 ++++-- cocofest/models/ding2007.py | 25 ++- cocofest/models/ding2007_with_fatigue.py | 54 +++++-- cocofest/models/dynamical_model.py | 83 +++++++--- cocofest/models/hmed2018.py | 16 +- cocofest/models/hmed2018_with_fatigue.py | 48 ++++-- cocofest/optimization/fes_multi_start.py | 7 +- cocofest/optimization/fes_ocp.py | 6 +- cocofest/optimization/fes_ocp_dynamics.py | 151 ++++++++++++------ ...nsity_optimization_cycling_multi_muscle.py | 45 ++---- .../intensity_optimization_track_q.py | 22 ++- ...nsity_optimization_track_q_multi_muscle.py | 36 ++++- .../frequecy_optimization_minimize_fatigue.py | 17 +- ..._duration_optimization_minimize_fatigue.py | 17 +- ...intensity_optimization_minimize_fatigue.py | 17 +- ...le_force_length_relationship_comparison.py | 21 ++- examples/getting_started/model_integration.py | 8 +- .../muscle_model_identification.py | 7 +- .../getting_started/pulse_mode_example.py | 14 +- .../truncation/summation_truncation_graph.py | 10 +- tests/shard1/test_ivp.py | 30 +++- tests/shard1/test_ocp_build.py | 57 ++++++- tests/shard1/test_ocp_id.py | 34 +++- 25 files changed, 612 insertions(+), 208 deletions(-) diff --git a/cocofest/custom_objectives.py b/cocofest/custom_objectives.py index ee135a88..93fa2839 100644 --- a/cocofest/custom_objectives.py +++ b/cocofest/custom_objectives.py @@ -86,5 +86,5 @@ def minimize_overall_muscle_fatigue(controller: PenaltyController) -> MX: The difference between the two keys """ muscle_name_list = controller.model.bio_model.muscle_names - muscle_fatigue = [controller.states["A_"+muscle_name_list[x]].cx for x in range(len(muscle_name_list))] + muscle_fatigue = [controller.states["A_" + muscle_name_list[x]].cx for x in range(len(muscle_name_list))] return sum(muscle_fatigue) diff --git a/cocofest/models/ding2003.py b/cocofest/models/ding2003.py index b4301cf4..3e2c78e7 100644 --- a/cocofest/models/ding2003.py +++ b/cocofest/models/ding2003.py @@ -27,7 +27,10 @@ class DingModelFrequency: """ def __init__( - self, model_name: str = "ding2003", muscle_name: str = None, sum_stim_truncation: int = None, + self, + model_name: str = "ding2003", + muscle_name: str = None, + sum_stim_truncation: int = None, ): self._model_name = model_name self._muscle_name = muscle_name @@ -83,7 +86,7 @@ def serialize(self) -> tuple[Callable, dict]: @property def name_dof(self) -> list[str]: muscle_name = "_" + self.muscle_name if self.muscle_name else "" - return ["Cn"+muscle_name, "F"+muscle_name] + return ["Cn" + muscle_name, "F" + muscle_name] @property def nb_state(self) -> int: @@ -98,7 +101,13 @@ def muscle_name(self) -> None | str: return self._muscle_name # ---- Model's dynamics ---- # - def system_dynamics(self, cn: MX, f: MX, t: MX = None, t_stim_prev: list[MX] | list[float] = None,) -> MX: + def system_dynamics( + self, + cn: MX, + f: MX, + t: MX = None, + t_stim_prev: list[MX] | list[float] = None, + ) -> MX: """ The system dynamics is the function that describes the models. @@ -262,7 +271,14 @@ def dynamics( dxdt_fun = nlp_dynamics.system_dynamics if nlp_dynamics else nlp.model.system_dynamics - return DynamicsEvaluation(dxdt=dxdt_fun(cn=states[0], f=states[1], t=time, t_stim_prev=stim_apparition,),) + return DynamicsEvaluation( + dxdt=dxdt_fun( + cn=states[0], + f=states[1], + t=time, + t_stim_prev=stim_apparition, + ), + ) def declare_ding_variables(self, ocp: OptimalControlProgram, nlp: NonLinearProgram): """ @@ -275,7 +291,9 @@ def declare_ding_variables(self, ocp: OptimalControlProgram, nlp: NonLinearProgr nlp: NonLinearProgram A reference to the phase """ - self.configure_ca_troponin_complex(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) + self.configure_ca_troponin_complex( + ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name + ) self.configure_force(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) stim_apparition = self.get_stim_prev(ocp, nlp) ConfigureProblem.configure_dynamics_function(ocp, nlp, dyn_func=self.dynamics, stim_apparition=stim_apparition) @@ -306,10 +324,16 @@ def configure_ca_troponin_complex( If the generalized velocities should be a state_dot """ muscle_name = "_" + muscle_name if muscle_name else "" - name = "Cn"+muscle_name + name = "Cn" + muscle_name name_cn = [name] ConfigureProblem.configure_new_variable( - name, name_cn, ocp, nlp, as_states, as_controls, as_states_dot, + name, + name_cn, + ocp, + nlp, + as_states, + as_controls, + as_states_dot, ) @staticmethod @@ -338,10 +362,16 @@ def configure_force( If the generalized velocities should be a state_dot """ muscle_name = "_" + muscle_name if muscle_name else "" - name = "F"+muscle_name + name = "F" + muscle_name name_f = [name] ConfigureProblem.configure_new_variable( - name, name_f, ocp, nlp, as_states, as_controls, as_states_dot, + name, + name_f, + ocp, + nlp, + as_states, + as_controls, + as_states_dot, ) @staticmethod diff --git a/cocofest/models/ding2003_with_fatigue.py b/cocofest/models/ding2003_with_fatigue.py index 9cab1034..06aa76db 100644 --- a/cocofest/models/ding2003_with_fatigue.py +++ b/cocofest/models/ding2003_with_fatigue.py @@ -27,7 +27,10 @@ class DingModelFrequencyWithFatigue(DingModelFrequency): """ def __init__( - self, model_name: str = "ding2003_with_fatigue", muscle_name: str = None, sum_stim_truncation: int = None, + self, + model_name: str = "ding2003_with_fatigue", + muscle_name: str = None, + sum_stim_truncation: int = None, ): super().__init__(model_name=model_name, muscle_name=muscle_name, sum_stim_truncation=sum_stim_truncation) self._with_fatigue = True @@ -80,7 +83,7 @@ def serialize(self) -> tuple[Callable, dict]: @property def name_dof(self) -> list[str]: muscle_name = "_" + self.muscle_name if self.muscle_name else "" - return ["Cn"+muscle_name, "F"+muscle_name, "A"+muscle_name, "Tau1"+muscle_name, "Km"+muscle_name] + return ["Cn" + muscle_name, "F" + muscle_name, "A" + muscle_name, "Tau1" + muscle_name, "Km" + muscle_name] @property def nb_state(self) -> int: @@ -243,10 +246,14 @@ def declare_ding_variables(self, ocp: OptimalControlProgram, nlp: NonLinearProgr nlp: NonLinearProgram A reference to the phase """ - self.configure_ca_troponin_complex(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) + self.configure_ca_troponin_complex( + ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name + ) self.configure_force(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) self.configure_scaling_factor(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) - self.configure_time_state_force_no_cross_bridge(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) + self.configure_time_state_force_no_cross_bridge( + ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name + ) self.configure_cross_bridges(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) stim_apparition = self.get_stim_prev(ocp, nlp) ConfigureProblem.configure_dynamics_function(ocp, nlp, dyn_func=self.dynamics, stim_apparition=stim_apparition) @@ -277,10 +284,16 @@ def configure_scaling_factor( If the generalized velocities should be a state_dot """ muscle_name = "_" + muscle_name if muscle_name else "" - name = "A"+muscle_name + name = "A" + muscle_name name_a = [name] ConfigureProblem.configure_new_variable( - name, name_a, ocp, nlp, as_states, as_controls, as_states_dot, + name, + name_a, + ocp, + nlp, + as_states, + as_controls, + as_states_dot, ) @staticmethod @@ -309,10 +322,16 @@ def configure_time_state_force_no_cross_bridge( If the generalized velocities should be a state_dot """ muscle_name = "_" + muscle_name if muscle_name else "" - name = "Tau1"+muscle_name + name = "Tau1" + muscle_name name_tau1 = [name] ConfigureProblem.configure_new_variable( - name, name_tau1, ocp, nlp, as_states, as_controls, as_states_dot, + name, + name_tau1, + ocp, + nlp, + as_states, + as_controls, + as_states_dot, ) @staticmethod @@ -341,8 +360,14 @@ def configure_cross_bridges( If the generalized velocities should be a state_dot """ muscle_name = "_" + muscle_name if muscle_name else "" - name = "Km"+muscle_name + name = "Km" + muscle_name name_km = [name] ConfigureProblem.configure_new_variable( - name, name_km, ocp, nlp, as_states, as_controls, as_states_dot, + name, + name_km, + ocp, + nlp, + as_states, + as_controls, + as_states_dot, ) diff --git a/cocofest/models/ding2007.py b/cocofest/models/ding2007.py index f548efd4..b6edf059 100644 --- a/cocofest/models/ding2007.py +++ b/cocofest/models/ding2007.py @@ -26,7 +26,9 @@ class DingModelPulseDurationFrequency(DingModelFrequency): """ def __init__(self, model_name: str = "ding_2007", muscle_name: str = None, sum_stim_truncation: int = None): - super(DingModelPulseDurationFrequency, self).__init__(model_name=model_name, muscle_name=muscle_name, sum_stim_truncation=sum_stim_truncation) + super(DingModelPulseDurationFrequency, self).__init__( + model_name=model_name, muscle_name=muscle_name, sum_stim_truncation=sum_stim_truncation + ) self._with_fatigue = False self.impulse_time = None # ---- Custom values for the example ---- # @@ -67,7 +69,12 @@ def serialize(self) -> tuple[Callable, dict]: ) def system_dynamics( - self, cn: MX, f: MX, t: MX = None, t_stim_prev: list[MX] | list[float] = None, impulse_time: MX = None, + self, + cn: MX, + f: MX, + t: MX = None, + t_stim_prev: list[MX] | list[float] = None, + impulse_time: MX = None, ) -> MX: """ The system dynamics is the function that describes the models. @@ -136,7 +143,7 @@ def get_pulse_duration_parameters(nlp_parameters: ParameterList, muscle_name: st pulse_duration_parameters = vertcat() for j in range(nlp_parameters.mx.shape[0]): if muscle_name: - if "pulse_duration_"+ muscle_name in str(nlp_parameters.mx[j]): + if "pulse_duration_" + muscle_name in str(nlp_parameters.mx[j]): pulse_duration_parameters = vertcat(pulse_duration_parameters, nlp_parameters.mx[j]) elif "pulse_duration" in str(nlp_parameters.mx[j]): pulse_duration_parameters = vertcat(pulse_duration_parameters, nlp_parameters.mx[j]) @@ -191,7 +198,13 @@ def dynamics( dxdt_fun = nlp_dynamics.system_dynamics if nlp_dynamics else nlp.model.system_dynamics return DynamicsEvaluation( - dxdt=dxdt_fun(cn=states[0], f=states[1], t=time, t_stim_prev=stim_apparition, impulse_time=impulse_time,), + dxdt=dxdt_fun( + cn=states[0], + f=states[1], + t=time, + t_stim_prev=stim_apparition, + impulse_time=impulse_time, + ), defects=None, ) @@ -206,7 +219,9 @@ def declare_ding_variables(self, ocp: OptimalControlProgram, nlp: NonLinearProgr nlp: NonLinearProgram A reference to the phase """ - self.configure_ca_troponin_complex(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) + self.configure_ca_troponin_complex( + ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name + ) self.configure_force(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) stim_apparition = self.get_stim_prev(ocp, nlp) ConfigureProblem.configure_dynamics_function(ocp, nlp, dyn_func=self.dynamics, stim_apparition=stim_apparition) diff --git a/cocofest/models/ding2007_with_fatigue.py b/cocofest/models/ding2007_with_fatigue.py index 89ca9344..8c1b0482 100644 --- a/cocofest/models/ding2007_with_fatigue.py +++ b/cocofest/models/ding2007_with_fatigue.py @@ -26,7 +26,9 @@ class DingModelPulseDurationFrequencyWithFatigue(DingModelPulseDurationFrequency Muscle & Nerve: Official Journal of the American Association of Electrodiagnostic Medicine, 36(2), 214-222. """ - def __init__(self, model_name: str = "ding_2007_with_fatigue", muscle_name: str = None, sum_stim_truncation: int = None): + def __init__( + self, model_name: str = "ding_2007_with_fatigue", muscle_name: str = None, sum_stim_truncation: int = None + ): super(DingModelPulseDurationFrequencyWithFatigue, self).__init__( model_name=model_name, muscle_name=muscle_name, sum_stim_truncation=sum_stim_truncation ) @@ -42,7 +44,7 @@ def __init__(self, model_name: str = "ding_2007_with_fatigue", muscle_name: str @property def name_dof(self) -> list[str]: muscle_name = "_" + self.muscle_name if self.muscle_name else "" - return ["Cn"+muscle_name, "F"+muscle_name, "A"+muscle_name, "Tau1"+muscle_name, "Km"+muscle_name] + return ["Cn" + muscle_name, "F" + muscle_name, "A" + muscle_name, "Tau1" + muscle_name, "Km" + muscle_name] @property def nb_state(self) -> int: @@ -238,22 +240,26 @@ def declare_ding_variables(self, ocp: OptimalControlProgram, nlp: NonLinearProgr nlp: NonLinearProgram A reference to the phase """ - self.configure_ca_troponin_complex(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) + self.configure_ca_troponin_complex( + ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name + ) self.configure_force(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) self.configure_scaling_factor(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) - self.configure_time_state_force_no_cross_bridge(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) + self.configure_time_state_force_no_cross_bridge( + ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name + ) self.configure_cross_bridges(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) stim_apparition = self.get_stim_prev(ocp, nlp) ConfigureProblem.configure_dynamics_function(ocp, nlp, dyn_func=self.dynamics, stim_apparition=stim_apparition) @staticmethod def configure_scaling_factor( - ocp: OptimalControlProgram, - nlp: NonLinearProgram, - as_states: bool, - as_controls: bool, - as_states_dot: bool = False, - muscle_name: str = None, + ocp: OptimalControlProgram, + nlp: NonLinearProgram, + as_states: bool, + as_controls: bool, + as_states_dot: bool = False, + muscle_name: str = None, ): """ Configure a new variable of the scaling factor (N/ms) @@ -275,7 +281,13 @@ def configure_scaling_factor( name = "A" + muscle_name name_a = [name] ConfigureProblem.configure_new_variable( - name, name_a, ocp, nlp, as_states, as_controls, as_states_dot, + name, + name_a, + ocp, + nlp, + as_states, + as_controls, + as_states_dot, ) @staticmethod @@ -304,10 +316,16 @@ def configure_time_state_force_no_cross_bridge( If the generalized velocities should be a state_dot """ muscle_name = "_" + muscle_name if muscle_name else "" - name = "Tau1"+muscle_name + name = "Tau1" + muscle_name name_tau1 = [name] ConfigureProblem.configure_new_variable( - name, name_tau1, ocp, nlp, as_states, as_controls, as_states_dot, + name, + name_tau1, + ocp, + nlp, + as_states, + as_controls, + as_states_dot, ) @staticmethod @@ -336,8 +354,14 @@ def configure_cross_bridges( If the generalized velocities should be a state_dot """ muscle_name = "_" + muscle_name if muscle_name else "" - name = "Km"+muscle_name + name = "Km" + muscle_name name_km = [name] ConfigureProblem.configure_new_variable( - name, name_km, ocp, nlp, as_states, as_controls, as_states_dot, + name, + name_km, + ocp, + nlp, + as_states, + as_controls, + as_states_dot, ) diff --git a/cocofest/models/dynamical_model.py b/cocofest/models/dynamical_model.py index b6ca00f5..5b79f77f 100644 --- a/cocofest/models/dynamical_model.py +++ b/cocofest/models/dynamical_model.py @@ -67,7 +67,9 @@ def muscle_dynamic( parameters: MX | SX, stochastic_variables: MX | SX, nlp: NonLinearProgram, - muscle_models: list[DingModelFrequency] | list[DingModelIntensityFrequency] | list[DingModelPulseDurationFrequency], + muscle_models: list[DingModelFrequency] + | list[DingModelIntensityFrequency] + | list[DingModelPulseDurationFrequency], stim_apparition=None, state_name_list=None, ) -> DynamicsEvaluation: @@ -106,34 +108,42 @@ def muscle_dynamic( bio_muscle_names_at_index.append(nlp.model.bio_model.model.muscle(i).name().to_string()) for muscle_model in muscle_models: - muscle_states_idx = [i for i in range(len(state_name_list)) if muscle_model.muscle_name in state_name_list[i]] + muscle_states_idx = [ + i for i in range(len(state_name_list)) if muscle_model.muscle_name in state_name_list[i] + ] muscle_states = vertcat() for i in range(len(muscle_states_idx)): muscle_states = vertcat(muscle_states, states[muscle_states_idx[i]]) muscle_dxdt = muscle_model.dynamics( - time, - muscle_states, - controls, - parameters, - stochastic_variables, - nlp, - stim_apparition, - nlp_dynamics=muscle_model, - ).dxdt + time, + muscle_states, + controls, + parameters, + stochastic_variables, + nlp, + stim_apparition, + nlp_dynamics=muscle_model, + ).dxdt muscle_idx = bio_muscle_names_at_index.index(muscle_model.muscle_name) - muscle_forces = DynamicsFunctions.get(nlp.states["F_"+muscle_model.muscle_name], states) + muscle_forces = DynamicsFunctions.get(nlp.states["F_" + muscle_model.muscle_name], states) muscle_force_length_coeff = 1 muscle_force_velocity_coeff = 1 if nlp.model.muscle_force_length_relationship: - muscle_force_length_coeff = FESActuatedBiorbdModel.muscle_force_length_coefficient(model=nlp.model.bio_model.model, muscle=nlp.model.bio_model.model.muscle(muscle_idx), q=q) + muscle_force_length_coeff = FESActuatedBiorbdModel.muscle_force_length_coefficient( + model=nlp.model.bio_model.model, muscle=nlp.model.bio_model.model.muscle(muscle_idx), q=q + ) if nlp.model.muscle_force_velocity_relationship: - muscle_force_velocity_coeff = FESActuatedBiorbdModel.muscle_force_velocity_coefficient(model=nlp.model.bio_model.model, muscle=nlp.model.bio_model.model.muscle(muscle_idx), q=q, qdot=qdot) + muscle_force_velocity_coeff = FESActuatedBiorbdModel.muscle_force_velocity_coefficient( + model=nlp.model.bio_model.model, muscle=nlp.model.bio_model.model.muscle(muscle_idx), q=q, qdot=qdot + ) muscle_forces = muscle_forces * muscle_force_length_coeff * muscle_force_velocity_coeff - moment_arm_matrix_for_the_muscle_and_joint = -nlp.model.bio_model.model.musclesLengthJacobian(q).to_mx()[muscle_idx, :].T + moment_arm_matrix_for_the_muscle_and_joint = ( + -nlp.model.bio_model.model.musclesLengthJacobian(q).to_mx()[muscle_idx, :].T + ) muscles_tau += moment_arm_matrix_for_the_muscle_and_joint @ muscle_forces dxdt_muscle_list = vertcat(dxdt_muscle_list, muscle_dxdt) @@ -159,20 +169,28 @@ def declare_model_variables(self, ocp: OptimalControlProgram, nlp: NonLinearProg """ state_name_list = [] for muscle_dynamics_model in self.muscles_dynamics_model: - muscle_dynamics_model.configure_ca_troponin_complex(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=muscle_dynamics_model.muscle_name) - state_name_list.append("CN_"+muscle_dynamics_model.muscle_name) - muscle_dynamics_model.configure_force(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=muscle_dynamics_model.muscle_name) + muscle_dynamics_model.configure_ca_troponin_complex( + ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=muscle_dynamics_model.muscle_name + ) + state_name_list.append("CN_" + muscle_dynamics_model.muscle_name) + muscle_dynamics_model.configure_force( + ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=muscle_dynamics_model.muscle_name + ) state_name_list.append("F_" + muscle_dynamics_model.muscle_name) - if "A_"+muscle_dynamics_model.muscle_name in muscle_dynamics_model.name_dof: - muscle_dynamics_model.configure_scaling_factor(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=muscle_dynamics_model.muscle_name) + if "A_" + muscle_dynamics_model.muscle_name in muscle_dynamics_model.name_dof: + muscle_dynamics_model.configure_scaling_factor( + ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=muscle_dynamics_model.muscle_name + ) state_name_list.append("A_" + muscle_dynamics_model.muscle_name) - if "Tau1_"+muscle_dynamics_model.muscle_name in muscle_dynamics_model.name_dof: + if "Tau1_" + muscle_dynamics_model.muscle_name in muscle_dynamics_model.name_dof: muscle_dynamics_model.configure_time_state_force_no_cross_bridge( ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=muscle_dynamics_model.muscle_name ) state_name_list.append("Tau1_" + muscle_dynamics_model.muscle_name) - if "Km_"+muscle_dynamics_model.muscle_name in muscle_dynamics_model.name_dof: - muscle_dynamics_model.configure_cross_bridges(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=muscle_dynamics_model.muscle_name) + if "Km_" + muscle_dynamics_model.muscle_name in muscle_dynamics_model.name_dof: + muscle_dynamics_model.configure_cross_bridges( + ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=muscle_dynamics_model.muscle_name + ) state_name_list.append("Km_" + muscle_dynamics_model.muscle_name) ConfigureProblem.configure_q(ocp, nlp, as_states=True, as_controls=False) @@ -256,7 +274,6 @@ def configure_tau(ocp, nlp, as_states: bool, as_controls: bool, fatigue: Fatigue @staticmethod def muscle_force_length_coefficient(model, muscle, q): - b11 = 0.815 b21 = 1.055 b31 = 0.162 @@ -274,7 +291,23 @@ def muscle_force_length_coefficient(model, muscle, q): muscle_optimal_length = muscle.characteristics().optimalLength().to_mx() norm_length = muscle_length / muscle_optimal_length - m_FlCE = b11 * exp((-0.5 * ((norm_length - b21) * (norm_length - b21)))/((b31 + b41 * norm_length) * (b31 + b41 * norm_length))) + b12 * exp((-0.5 * ((norm_length - b22) * (norm_length - b22))) / ((b32 + b42 * norm_length) * (b32 + b42 * norm_length))) + b13 * exp((-0.5 * ((norm_length - b23) * (norm_length - b23))) / ((b33 + b43 * norm_length) * (b33 + b43 * norm_length))) + m_FlCE = ( + b11 + * exp( + (-0.5 * ((norm_length - b21) * (norm_length - b21))) + / ((b31 + b41 * norm_length) * (b31 + b41 * norm_length)) + ) + + b12 + * exp( + (-0.5 * ((norm_length - b22) * (norm_length - b22))) + / ((b32 + b42 * norm_length) * (b32 + b42 * norm_length)) + ) + + b13 + * exp( + (-0.5 * ((norm_length - b23) * (norm_length - b23))) + / ((b33 + b43 * norm_length) * (b33 + b43 * norm_length)) + ) + ) return m_FlCE diff --git a/cocofest/models/hmed2018.py b/cocofest/models/hmed2018.py index 5fd509ff..3f314e1a 100644 --- a/cocofest/models/hmed2018.py +++ b/cocofest/models/hmed2018.py @@ -27,7 +27,9 @@ class DingModelIntensityFrequency(DingModelFrequency): """ def __init__(self, model_name: str = "hmed2018", muscle_name: str = None, sum_stim_truncation: int = None): - super(DingModelIntensityFrequency, self).__init__(model_name=model_name, muscle_name=muscle_name, sum_stim_truncation=sum_stim_truncation) + super(DingModelIntensityFrequency, self).__init__( + model_name=model_name, muscle_name=muscle_name, sum_stim_truncation=sum_stim_truncation + ) self._with_fatigue = False # ---- Custom values for the example ---- # # ---- Force models ---- # @@ -204,7 +206,7 @@ def get_intensity_parameters(nlp_parameters: ParameterList, muscle_name: str = N intensity_parameters = vertcat() for j in range(nlp_parameters.mx.shape[0]): if muscle_name: - if "pulse_intensity_"+ muscle_name in str(nlp_parameters.mx[j]): + if "pulse_intensity_" + muscle_name in str(nlp_parameters.mx[j]): intensity_parameters = vertcat(intensity_parameters, nlp_parameters.mx[j]) elif "pulse_intensity" in str(nlp_parameters.mx[j]): intensity_parameters = vertcat(intensity_parameters, nlp_parameters.mx[j]) @@ -264,7 +266,11 @@ def dynamics( return DynamicsEvaluation( dxdt=dxdt_fun( - cn=states[0], f=states[1], t=time, t_stim_prev=stim_apparition, intensity_stim=intensity_stim_prev, + cn=states[0], + f=states[1], + t=time, + t_stim_prev=stim_apparition, + intensity_stim=intensity_stim_prev, ), defects=None, ) @@ -280,7 +286,9 @@ def declare_ding_variables(self, ocp: OptimalControlProgram, nlp: NonLinearProgr nlp: NonLinearProgram A reference to the phase """ - self.configure_ca_troponin_complex(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) + self.configure_ca_troponin_complex( + ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name + ) self.configure_force(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) stim_apparition = self.get_stim_prev(ocp, nlp) ConfigureProblem.configure_dynamics_function(ocp, nlp, dyn_func=self.dynamics, stim_apparition=stim_apparition) diff --git a/cocofest/models/hmed2018_with_fatigue.py b/cocofest/models/hmed2018_with_fatigue.py index a051ecf5..75d78529 100644 --- a/cocofest/models/hmed2018_with_fatigue.py +++ b/cocofest/models/hmed2018_with_fatigue.py @@ -26,8 +26,12 @@ class DingModelIntensityFrequencyWithFatigue(DingModelIntensityFrequency): Computers in Biology and Medicine, 101, 218-228. """ - def __init__(self, model_name: str = "hmed2018_with_fatigue", muscle_name: str = None, sum_stim_truncation: int = None): - super(DingModelIntensityFrequencyWithFatigue, self).__init__(model_name=model_name, muscle_name=muscle_name, sum_stim_truncation=sum_stim_truncation) + def __init__( + self, model_name: str = "hmed2018_with_fatigue", muscle_name: str = None, sum_stim_truncation: int = None + ): + super(DingModelIntensityFrequencyWithFatigue, self).__init__( + model_name=model_name, muscle_name=muscle_name, sum_stim_truncation=sum_stim_truncation + ) self._with_fatigue = True # ---- Fatigue models ---- # self.alpha_a = -4.0 * 10e-7 # Value from Ding's experimentation [1] (s^-2) @@ -39,7 +43,7 @@ def __init__(self, model_name: str = "hmed2018_with_fatigue", muscle_name: str = @property def name_dof(self) -> list[str]: muscle_name = "_" + self.muscle_name if self.muscle_name else "" - return ["Cn"+muscle_name, "F"+muscle_name, "A"+muscle_name, "Tau1"+muscle_name, "Km"+muscle_name] + return ["Cn" + muscle_name, "F" + muscle_name, "A" + muscle_name, "Tau1" + muscle_name, "Km" + muscle_name] @property def nb_state(self) -> int: @@ -242,10 +246,14 @@ def declare_ding_variables(self, ocp: OptimalControlProgram, nlp: NonLinearProgr nlp: NonLinearProgram A reference to the phase """ - self.configure_ca_troponin_complex(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) + self.configure_ca_troponin_complex( + ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name + ) self.configure_force(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) self.configure_scaling_factor(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) - self.configure_time_state_force_no_cross_bridge(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) + self.configure_time_state_force_no_cross_bridge( + ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name + ) self.configure_cross_bridges(ocp=ocp, nlp=nlp, as_states=True, as_controls=False, muscle_name=self.muscle_name) stim_apparition = self.get_stim_prev(ocp, nlp) ConfigureProblem.configure_dynamics_function(ocp, nlp, dyn_func=self.dynamics, stim_apparition=stim_apparition) @@ -276,10 +284,16 @@ def configure_scaling_factor( If the generalized velocities should be a state_dot """ muscle_name = "_" + muscle_name if muscle_name else "" - name = "A"+muscle_name + name = "A" + muscle_name name_a = [name] ConfigureProblem.configure_new_variable( - name, name_a, ocp, nlp, as_states, as_controls, as_states_dot, + name, + name_a, + ocp, + nlp, + as_states, + as_controls, + as_states_dot, ) @staticmethod @@ -308,10 +322,16 @@ def configure_time_state_force_no_cross_bridge( If the generalized velocities should be a state_dot """ muscle_name = "_" + muscle_name if muscle_name else "" - name = "Tau1"+muscle_name + name = "Tau1" + muscle_name name_tau1 = [name] ConfigureProblem.configure_new_variable( - name, name_tau1, ocp, nlp, as_states, as_controls, as_states_dot, + name, + name_tau1, + ocp, + nlp, + as_states, + as_controls, + as_states_dot, ) @staticmethod @@ -340,8 +360,14 @@ def configure_cross_bridges( If the generalized velocities should be a state_dot """ muscle_name = "_" + muscle_name if muscle_name else "" - name = "Km"+muscle_name + name = "Km" + muscle_name name_km = [name] ConfigureProblem.configure_new_variable( - name, name_km, ocp, nlp, as_states, as_controls, as_states_dot, + name, + name_km, + ocp, + nlp, + as_states, + as_controls, + as_states_dot, ) diff --git a/cocofest/optimization/fes_multi_start.py b/cocofest/optimization/fes_multi_start.py index 793d1673..2359c122 100644 --- a/cocofest/optimization/fes_multi_start.py +++ b/cocofest/optimization/fes_multi_start.py @@ -328,7 +328,12 @@ def construct_filepath(save_path, combinatorial_parameters): " DingModelIntensityFrequency", ) - def save_results(self, sol: Solution, *combinatorial_parameters, **extra_parameters,) -> None: + def save_results( + self, + sol: Solution, + *combinatorial_parameters, + **extra_parameters, + ) -> None: """ Callback of the post_optimization_callback, this can be used to save the results diff --git a/cocofest/optimization/fes_ocp.py b/cocofest/optimization/fes_ocp.py index 19b18eac..e5eee3c1 100644 --- a/cocofest/optimization/fes_ocp.py +++ b/cocofest/optimization/fes_ocp.py @@ -454,7 +454,11 @@ def _build_phase_time(final_time, n_stim, pulse_mode, time_min, time_max, time_b else: for i in range(n_stim): constraints.add( - ConstraintFcn.TIME_CONSTRAINT, node=Node.END, min_bound=time_min, max_bound=time_max, phase=i, + ConstraintFcn.TIME_CONSTRAINT, + node=Node.END, + min_bound=time_min, + max_bound=time_max, + phase=i, ) if time_bimapping is True: diff --git a/cocofest/optimization/fes_ocp_dynamics.py b/cocofest/optimization/fes_ocp_dynamics.py index 14632668..66dba370 100644 --- a/cocofest/optimization/fes_ocp_dynamics.py +++ b/cocofest/optimization/fes_ocp_dynamics.py @@ -15,7 +15,7 @@ InterpolationType, ObjectiveFcn, OdeSolverBase, - Node + Node, ) from cocofest import ( @@ -75,7 +75,6 @@ def prepare_ocp( control_type: ControlType = ControlType.CONSTANT, n_threads: int = 1, ): - """ This definition prepares the ocp to be solved . @@ -155,7 +154,9 @@ def prepare_ocp( OcpFes._sanity_check_frequency(n_stim=n_stim, final_time=final_time, frequency=frequency, round_down=round_down) - FESActuatedBiorbdModelOCP._sanity_check_muscle_model(biorbd_model_path=biorbd_model_path, fes_muscle_models=fes_muscle_models) + FESActuatedBiorbdModelOCP._sanity_check_muscle_model( + biorbd_model_path=biorbd_model_path, fes_muscle_models=fes_muscle_models + ) n_stim, final_time = OcpFes._build_phase_parameter( n_stim=n_stim, final_time=final_time, frequency=frequency, pulse_mode=pulse_mode, round_down=round_down @@ -170,7 +171,6 @@ def prepare_ocp( for i in range(len(q_tracking[1])): q_fourier_coef.append(OcpFes._build_fourrier_coeff([q_tracking[0], q_tracking[1][i]])) - n_shooting = [n_shooting] * n_stim final_time_phase, constraints, phase_time_bimapping = OcpFes._build_phase_time( final_time=final_time, @@ -180,7 +180,12 @@ def prepare_ocp( time_max=time_max, time_bimapping=time_bimapping, ) - parameters, parameters_bounds, parameters_init, parameter_objectives = FESActuatedBiorbdModelOCP._build_parameters( + ( + parameters, + parameters_bounds, + parameters_init, + parameter_objectives, + ) = FESActuatedBiorbdModelOCP._build_parameters( model=fes_muscle_models, n_stim=n_stim, pulse_duration=pulse_duration, @@ -202,7 +207,13 @@ def prepare_ocp( ) bio_models = [ - FESActuatedBiorbdModel(name=None, biorbd_path=biorbd_model_path, muscles_model=fes_muscle_models, muscle_force_length_relationship=muscle_force_length_relationship, muscle_force_velocity_relationship=muscle_force_velocity_relationship) + FESActuatedBiorbdModel( + name=None, + biorbd_path=biorbd_model_path, + muscles_model=fes_muscle_models, + muscle_force_length_relationship=muscle_force_length_relationship, + muscle_force_velocity_relationship=muscle_force_velocity_relationship, + ) for i in range(n_stim) ] @@ -212,11 +223,21 @@ def prepare_ocp( dynamics = FESActuatedBiorbdModelOCP._declare_dynamics(bio_models, n_stim) x_bounds, x_init = FESActuatedBiorbdModelOCP._set_bounds( - bio_models, fes_muscle_models, bound_type, bound_data, n_stim, + bio_models, + fes_muscle_models, + bound_type, + bound_data, + n_stim, ) u_bounds, u_init = FESActuatedBiorbdModelOCP._set_controls(bio_models, n_stim, with_residual_torque) objective_functions = FESActuatedBiorbdModelOCP._set_objective( - n_stim, n_shooting, force_fourier_coef, end_node_tracking, custom_objective, q_fourier_coef, minimize_muscle_fatigue + n_stim, + n_shooting, + force_fourier_coef, + end_node_tracking, + custom_objective, + q_fourier_coef, + minimize_muscle_fatigue, ) return OptimalControlProgram( @@ -257,18 +278,18 @@ def _declare_dynamics(bio_models, n_stim): @staticmethod def _build_parameters( - model, - n_stim, - pulse_duration, - pulse_duration_min, - pulse_duration_max, - pulse_duration_bimapping, - pulse_duration_similar_for_all_muscles, - pulse_intensity, - pulse_intensity_min, - pulse_intensity_max, - pulse_intensity_bimapping, - pulse_intensity_similar_for_all_muscles, + model, + n_stim, + pulse_duration, + pulse_duration_min, + pulse_duration_max, + pulse_duration_bimapping, + pulse_duration_similar_for_all_muscles, + pulse_intensity, + pulse_intensity_min, + pulse_intensity_max, + pulse_intensity_bimapping, + pulse_intensity_similar_for_all_muscles, ): parameters = ParameterList() parameters_bounds = BoundsList() @@ -277,9 +298,15 @@ def _build_parameters( for i in range(len(model)): if isinstance(model[i], DingModelPulseDurationFrequency): - parameter_name = "pulse_duration" if pulse_duration_similar_for_all_muscles else "pulse_duration" + "_" + model[i].muscle_name - if pulse_duration: #TODO : ADD SEVERAL INDIVIDUAL FIXED PULSE DURATION FOR EACH MUSCLE - if (pulse_duration_similar_for_all_muscles and i == 0) or not pulse_duration_similar_for_all_muscles: + parameter_name = ( + "pulse_duration" + if pulse_duration_similar_for_all_muscles + else "pulse_duration" + "_" + model[i].muscle_name + ) + if pulse_duration: # TODO : ADD SEVERAL INDIVIDUAL FIXED PULSE DURATION FOR EACH MUSCLE + if ( + pulse_duration_similar_for_all_muscles and i == 0 + ) or not pulse_duration_similar_for_all_muscles: parameters.add( parameter_name=parameter_name, function=DingModelPulseDurationFrequency.set_impulse_duration, @@ -302,8 +329,12 @@ def _build_parameters( ) parameters_init[parameter_name] = np.array([pulse_duration] * n_stim) - elif pulse_duration_min and pulse_duration_max: #TODO : ADD SEVERAL MIN MAX PULSE DURATION FOR EACH MUSCLE - if (pulse_duration_similar_for_all_muscles and i == 0) or not pulse_duration_similar_for_all_muscles: + elif ( + pulse_duration_min and pulse_duration_max + ): # TODO : ADD SEVERAL MIN MAX PULSE DURATION FOR EACH MUSCLE + if ( + pulse_duration_similar_for_all_muscles and i == 0 + ) or not pulse_duration_similar_for_all_muscles: parameters_bounds.add( parameter_name, min_bound=[pulse_duration_min], @@ -326,15 +357,20 @@ def _build_parameters( ) if pulse_duration_bimapping: - pass - # parameter_bimapping.add(name="pulse_duration", to_second=[0 for _ in range(n_stim)], to_first=[0]) - # TODO : Fix Bimapping in Bioptim + pass + # parameter_bimapping.add(name="pulse_duration", to_second=[0 for _ in range(n_stim)], to_first=[0]) + # TODO : Fix Bimapping in Bioptim if isinstance(model[i], DingModelIntensityFrequency): - parameter_name = "pulse_intensity" if pulse_intensity_similar_for_all_muscles else "pulse_intensity" + "_" + \ - model[i].muscle_name + parameter_name = ( + "pulse_intensity" + if pulse_intensity_similar_for_all_muscles + else "pulse_intensity" + "_" + model[i].muscle_name + ) if pulse_intensity: # TODO : ADD SEVERAL INDIVIDUAL FIXED PULSE INTENSITY FOR EACH MUSCLE - if (pulse_intensity_similar_for_all_muscles and i == 0) or not pulse_intensity_similar_for_all_muscles: + if ( + pulse_intensity_similar_for_all_muscles and i == 0 + ) or not pulse_intensity_similar_for_all_muscles: parameters.add( parameter_name=parameter_name, function=DingModelIntensityFrequency.set_impulse_intensity, @@ -357,9 +393,12 @@ def _build_parameters( ) parameters_init[parameter_name] = np.array([pulse_intensity] * n_stim) - elif pulse_intensity_min and pulse_intensity_max: #TODO : ADD SEVERAL MIN MAX PULSE INTENSITY FOR EACH MUSCLE + elif ( + pulse_intensity_min and pulse_intensity_max + ): # TODO : ADD SEVERAL MIN MAX PULSE INTENSITY FOR EACH MUSCLE if ( - pulse_intensity_similar_for_all_muscles and i == 0) or not pulse_intensity_similar_for_all_muscles: + pulse_intensity_similar_for_all_muscles and i == 0 + ) or not pulse_intensity_similar_for_all_muscles: parameters_bounds.add( parameter_name, min_bound=[pulse_intensity_min], @@ -414,13 +453,13 @@ def _set_bounds(bio_models, fes_muscle_models, bound_type, bound_data, n_stim): ) muscle_name = model.muscle_name for i in range(len(variable_bound_list)): - if variable_bound_list[i] == "Cn_"+muscle_name: + if variable_bound_list[i] == "Cn_" + muscle_name: max_bounds[i] = 10 - elif variable_bound_list[i] == "F_"+muscle_name: + elif variable_bound_list[i] == "F_" + muscle_name: max_bounds[i] = 1000 - elif variable_bound_list[i] == "Tau1_"+muscle_name or variable_bound_list[i] == "Km_"+muscle_name: + elif variable_bound_list[i] == "Tau1_" + muscle_name or variable_bound_list[i] == "Km_" + muscle_name: max_bounds[i] = 1 - elif variable_bound_list[i] == "A_"+muscle_name: + elif variable_bound_list[i] == "A_" + muscle_name: min_bounds[i] = 0 starting_bounds_min = np.concatenate((starting_bounds, min_bounds, min_bounds), axis=1) @@ -510,7 +549,15 @@ def _set_controls(bio_models, n_stim, with_residual_torque): return u_bounds, u_init @staticmethod - def _set_objective(n_stim, n_shooting, force_fourier_coef, end_node_tracking, custom_objective, q_fourier_coef, minimize_muscle_fatigue): + def _set_objective( + n_stim, + n_shooting, + force_fourier_coef, + end_node_tracking, + custom_objective, + q_fourier_coef, + minimize_muscle_fatigue, + ): # Creates the objective for our problem objective_functions = ObjectiveList() if custom_objective: @@ -559,7 +606,7 @@ def _set_objective(n_stim, n_shooting, force_fourier_coef, end_node_tracking, cu weight=1, phase=phase, index=j, - ) + ) if minimize_muscle_fatigue: for i in range(n_stim): @@ -589,25 +636,29 @@ def _sanity_check_bounds(bio_models, bound_type, bound_data): @staticmethod def _sanity_check_muscle_model(biorbd_model_path, fes_muscle_models): - tested_bio_model = FESActuatedBiorbdModel(name=None, biorbd_path=biorbd_model_path, muscles_model=fes_muscle_models) + tested_bio_model = FESActuatedBiorbdModel( + name=None, biorbd_path=biorbd_model_path, muscles_model=fes_muscle_models + ) fes_muscle_models_name_list = [fes_muscle_models[x].muscle_name for x in range(len(fes_muscle_models))] for biorbd_muscle in tested_bio_model.muscle_names: if biorbd_muscle not in fes_muscle_models_name_list: - raise ValueError(f"The muscle {biorbd_muscle} is not in the fes muscle model " - f"please add it into the fes_muscle_models list by providing the muscle_name =" - f" {biorbd_muscle}") + raise ValueError( + f"The muscle {biorbd_muscle} is not in the fes muscle model " + f"please add it into the fes_muscle_models list by providing the muscle_name =" + f" {biorbd_muscle}" + ) @staticmethod def _sanity_check_fes_models(fes_muscle_models): for i in range(len(fes_muscle_models)): if not isinstance( - fes_muscle_models[i], - DingModelFrequency - | DingModelFrequencyWithFatigue - | DingModelPulseDurationFrequency - | DingModelPulseDurationFrequencyWithFatigue - | DingModelIntensityFrequency - | DingModelIntensityFrequencyWithFatigue, + fes_muscle_models[i], + DingModelFrequency + | DingModelFrequencyWithFatigue + | DingModelPulseDurationFrequency + | DingModelPulseDurationFrequencyWithFatigue + | DingModelIntensityFrequency + | DingModelIntensityFrequencyWithFatigue, ): raise TypeError( "model must be a DingModelFrequency, DingModelFrequencyWithFatigue, DingModelPulseDurationFrequency, DingModelPulseDurationFrequencyWithFatigue, DingModelIntensityFrequency, DingModelIntensityFrequencyWithFatigue type" diff --git a/examples/dynamics/intensity_optimization_cycling_multi_muscle.py b/examples/dynamics/intensity_optimization_cycling_multi_muscle.py index d005953e..78b58d50 100644 --- a/examples/dynamics/intensity_optimization_cycling_multi_muscle.py +++ b/examples/dynamics/intensity_optimization_cycling_multi_muscle.py @@ -18,47 +18,36 @@ n_stim = 30 -track_q = [np.array([0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1]), - [np.array([1.1339, - 0.9943, - 0.7676, - 0.5757, - 0.4536, - 0.6280, - 1.0292, - 1.0990, - 1.1339]), - np.array([0.6629, - 0.7676, - 1.0641, - 1.3781, - 1.4653, - 1.3781, - 0.9594, - 0.8373, - 0.6629])]] +track_q = [ + np.array([0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1]), + [ + np.array([1.1339, 0.9943, 0.7676, 0.5757, 0.4536, 0.6280, 1.0292, 1.0990, 1.1339]), + np.array([0.6629, 0.7676, 1.0641, 1.3781, 1.4653, 1.3781, 0.9594, 0.8373, 0.6629]), + ], +] objective_functions = ObjectiveList() for i in range(n_stim): objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=1, quadratic=True, phase=i) -minimum_pulse_intensity = DingModelIntensityFrequency.min_pulse_intensity( - DingModelIntensityFrequency() -) +minimum_pulse_intensity = DingModelIntensityFrequency.min_pulse_intensity(DingModelIntensityFrequency()) import time + start_time = time.time() ocp = FESActuatedBiorbdModelOCP.prepare_ocp( biorbd_model_path="/arm26.bioMod", bound_type="start_end", bound_data=[[65, 38], [65, 38]], - fes_muscle_models=[DingModelIntensityFrequency(muscle_name="BIClong"), - DingModelIntensityFrequency(muscle_name="BICshort"), - DingModelIntensityFrequency(muscle_name="TRIlong"), - DingModelIntensityFrequency(muscle_name="TRIlat"), - DingModelIntensityFrequency(muscle_name="TRImed"), - DingModelIntensityFrequency(muscle_name="BRA")], + fes_muscle_models=[ + DingModelIntensityFrequency(muscle_name="BIClong"), + DingModelIntensityFrequency(muscle_name="BICshort"), + DingModelIntensityFrequency(muscle_name="TRIlong"), + DingModelIntensityFrequency(muscle_name="TRIlat"), + DingModelIntensityFrequency(muscle_name="TRImed"), + DingModelIntensityFrequency(muscle_name="BRA"), + ], n_stim=n_stim, n_shooting=5, final_time=1, diff --git a/examples/dynamics/intensity_optimization_track_q.py b/examples/dynamics/intensity_optimization_track_q.py index 05736557..49a05f25 100644 --- a/examples/dynamics/intensity_optimization_track_q.py +++ b/examples/dynamics/intensity_optimization_track_q.py @@ -21,8 +21,26 @@ n_shooting = 10 for i in range(n_stim): objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=10, quadratic=True, phase=i) - objective_functions.add(ObjectiveFcn.Mayer.MINIMIZE_STATE, key="q", index=[0], node=Node.ALL, target=np.array([[1.57]]*(n_shooting+1)).T, weight=10, quadratic=True, phase=i) -objective_functions.add(ObjectiveFcn.Mayer.MINIMIZE_STATE, key="qdot", index=[0], node=Node.ALL, target=np.array([[0]]*(n_shooting+1)).T, weight=10, quadratic=True, phase=i) + objective_functions.add( + ObjectiveFcn.Mayer.MINIMIZE_STATE, + key="q", + index=[0], + node=Node.ALL, + target=np.array([[1.57]] * (n_shooting + 1)).T, + weight=10, + quadratic=True, + phase=i, + ) +objective_functions.add( + ObjectiveFcn.Mayer.MINIMIZE_STATE, + key="qdot", + index=[0], + node=Node.ALL, + target=np.array([[0]] * (n_shooting + 1)).T, + weight=10, + quadratic=True, + phase=i, +) minimum_pulse_intensity = DingModelIntensityFrequencyWithFatigue.min_pulse_intensity( DingModelIntensityFrequencyWithFatigue() diff --git a/examples/dynamics/intensity_optimization_track_q_multi_muscle.py b/examples/dynamics/intensity_optimization_track_q_multi_muscle.py index 9b6e5706..eeed959d 100644 --- a/examples/dynamics/intensity_optimization_track_q_multi_muscle.py +++ b/examples/dynamics/intensity_optimization_track_q_multi_muscle.py @@ -21,8 +21,26 @@ n_shooting = 10 for i in range(n_stim): objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=10, quadratic=True, phase=i) - objective_functions.add(ObjectiveFcn.Mayer.MINIMIZE_STATE, key="q", index=[0, 1], node=Node.ALL, target=np.array([[0, 1.57]]*(n_shooting+1)).T, weight=10, quadratic=True, phase=i) - objective_functions.add(ObjectiveFcn.Mayer.MINIMIZE_STATE, key="qdot", index=[0, 1], node=Node.ALL, target=np.array([[0, 0]]*(n_shooting+1)).T, weight=10, quadratic=True, phase=i) + objective_functions.add( + ObjectiveFcn.Mayer.MINIMIZE_STATE, + key="q", + index=[0, 1], + node=Node.ALL, + target=np.array([[0, 1.57]] * (n_shooting + 1)).T, + weight=10, + quadratic=True, + phase=i, + ) + objective_functions.add( + ObjectiveFcn.Mayer.MINIMIZE_STATE, + key="qdot", + index=[0, 1], + node=Node.ALL, + target=np.array([[0, 0]] * (n_shooting + 1)).T, + weight=10, + quadratic=True, + phase=i, + ) minimum_pulse_intensity = DingModelIntensityFrequencyWithFatigue.min_pulse_intensity( DingModelIntensityFrequencyWithFatigue() @@ -32,12 +50,14 @@ biorbd_model_path="/arm26.bioMod", bound_type="start", bound_data=[0, 90], - fes_muscle_models=[DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong"), - DingModelIntensityFrequencyWithFatigue(muscle_name="BICshort"), - DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlong"), - DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlat"), - DingModelIntensityFrequencyWithFatigue(muscle_name="TRImed"), - DingModelIntensityFrequencyWithFatigue(muscle_name="BRA")], + fes_muscle_models=[ + DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong"), + DingModelIntensityFrequencyWithFatigue(muscle_name="BICshort"), + DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlong"), + DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlat"), + DingModelIntensityFrequencyWithFatigue(muscle_name="TRImed"), + DingModelIntensityFrequencyWithFatigue(muscle_name="BRA"), + ], n_stim=n_stim, n_shooting=10, final_time=1, diff --git a/examples/dynamics/minimize_fatigue/frequecy_optimization_minimize_fatigue.py b/examples/dynamics/minimize_fatigue/frequecy_optimization_minimize_fatigue.py index 5110bde6..f52b2087 100644 --- a/examples/dynamics/minimize_fatigue/frequecy_optimization_minimize_fatigue.py +++ b/examples/dynamics/minimize_fatigue/frequecy_optimization_minimize_fatigue.py @@ -18,7 +18,16 @@ n_stim = 5 n_shooting = 10 objective_functions = ObjectiveList() -objective_functions.add(ObjectiveFcn.Mayer.MINIMIZE_STATE, key="qdot", index=[0, 1], node=Node.END, target=np.array([[0, 0]]*(n_shooting+1)).T, weight=100, quadratic=True, phase=n_stim-1) +objective_functions.add( + ObjectiveFcn.Mayer.MINIMIZE_STATE, + key="qdot", + index=[0, 1], + node=Node.END, + target=np.array([[0, 0]] * (n_shooting + 1)).T, + weight=100, + quadratic=True, + phase=n_stim - 1, +) for i in range(n_stim): objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=10000, quadratic=True, phase=i) @@ -27,8 +36,10 @@ biorbd_model_path="../arm26_biceps_triceps.bioMod", bound_type="start_end", bound_data=[[0, 5], [0, 90]], - fes_muscle_models=[DingModelFrequencyWithFatigue(muscle_name="BIClong"), - DingModelFrequencyWithFatigue(muscle_name="TRIlong")], + fes_muscle_models=[ + DingModelFrequencyWithFatigue(muscle_name="BIClong"), + DingModelFrequencyWithFatigue(muscle_name="TRIlong"), + ], n_stim=n_stim, n_shooting=n_shooting, final_time=1, diff --git a/examples/dynamics/minimize_fatigue/pulse_duration_optimization_minimize_fatigue.py b/examples/dynamics/minimize_fatigue/pulse_duration_optimization_minimize_fatigue.py index 3d49ccf4..a9f48eb2 100644 --- a/examples/dynamics/minimize_fatigue/pulse_duration_optimization_minimize_fatigue.py +++ b/examples/dynamics/minimize_fatigue/pulse_duration_optimization_minimize_fatigue.py @@ -18,7 +18,16 @@ n_stim = 10 n_shooting = 10 objective_functions = ObjectiveList() -objective_functions.add(ObjectiveFcn.Mayer.MINIMIZE_STATE, key="qdot", index=[0, 1], node=Node.END, target=np.array([[0, 0]]*(n_shooting+1)).T, weight=100, quadratic=True, phase=n_stim-1) +objective_functions.add( + ObjectiveFcn.Mayer.MINIMIZE_STATE, + key="qdot", + index=[0, 1], + node=Node.END, + target=np.array([[0, 0]] * (n_shooting + 1)).T, + weight=100, + quadratic=True, + phase=n_stim - 1, +) minimum_pulse_duration = DingModelPulseDurationFrequencyWithFatigue().pd0 @@ -26,8 +35,10 @@ biorbd_model_path="../arm26_biceps_triceps.bioMod", bound_type="start_end", bound_data=[[0, 5], [0, 90]], - fes_muscle_models=[DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), - DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong")], + fes_muscle_models=[ + DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong"), + ], n_stim=n_stim, n_shooting=10, final_time=1, diff --git a/examples/dynamics/minimize_fatigue/pulse_intensity_optimization_minimize_fatigue.py b/examples/dynamics/minimize_fatigue/pulse_intensity_optimization_minimize_fatigue.py index b8b792bc..733e0105 100644 --- a/examples/dynamics/minimize_fatigue/pulse_intensity_optimization_minimize_fatigue.py +++ b/examples/dynamics/minimize_fatigue/pulse_intensity_optimization_minimize_fatigue.py @@ -18,7 +18,16 @@ n_stim = 10 n_shooting = 10 objective_functions = ObjectiveList() -objective_functions.add(ObjectiveFcn.Mayer.MINIMIZE_STATE, key="qdot", index=[0, 1], node=Node.END, target=np.array([[0, 0]]*(n_shooting+1)).T, weight=100, quadratic=True, phase=n_stim-1) +objective_functions.add( + ObjectiveFcn.Mayer.MINIMIZE_STATE, + key="qdot", + index=[0, 1], + node=Node.END, + target=np.array([[0, 0]] * (n_shooting + 1)).T, + weight=100, + quadratic=True, + phase=n_stim - 1, +) minimum_pulse_intensity = DingModelIntensityFrequencyWithFatigue.min_pulse_intensity( DingModelIntensityFrequencyWithFatigue() @@ -28,8 +37,10 @@ biorbd_model_path="../arm26_biceps_triceps.bioMod", bound_type="start_end", bound_data=[[0, 5], [0, 90]], - fes_muscle_models=[DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong"), - DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlong")], + fes_muscle_models=[ + DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong"), + DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlong"), + ], n_stim=n_stim, n_shooting=10, final_time=1, diff --git a/examples/dynamics/muscle_force_length_relationship_comparison.py b/examples/dynamics/muscle_force_length_relationship_comparison.py index 7c0ec773..b8b245f4 100644 --- a/examples/dynamics/muscle_force_length_relationship_comparison.py +++ b/examples/dynamics/muscle_force_length_relationship_comparison.py @@ -8,7 +8,11 @@ from bioptim import Solver -from cocofest import DingModelPulseDurationFrequencyWithFatigue, DingModelIntensityFrequencyWithFatigue, FESActuatedBiorbdModelOCP +from cocofest import ( + DingModelPulseDurationFrequencyWithFatigue, + DingModelIntensityFrequencyWithFatigue, + FESActuatedBiorbdModelOCP, +) minimum_pulse_duration = DingModelPulseDurationFrequencyWithFatigue().pd0 minimum_pulse_intensity = DingModelIntensityFrequencyWithFatigue.min_pulse_intensity( @@ -17,11 +21,12 @@ sol_list = [] muscle_force_length_relationship = [False, True, False, True] -fes_muscle_model = [[DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong")], - [DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong")], - [DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong")], - [DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong")] - ] +fes_muscle_model = [ + [DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong")], + [DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong")], + [DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong")], + [DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong")], +] for i in range(4): ocp = FESActuatedBiorbdModelOCP.prepare_ocp( @@ -42,7 +47,9 @@ sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) sol_list.append(sol.merge_phases()) -plt.title("Comparison between with and without muscle force length relationship for an elbow movement at 10Hz and 40mA or 260us") +plt.title( + "Comparison between with and without muscle force length relationship for an elbow movement at 10Hz and 40mA or 260us" +) plt.plot(sol_list[0].time, sol_list[0].states["q"][0], label="Pulse duration without force length relationship") plt.plot(sol_list[1].time, sol_list[1].states["q"][0], label="Pulse duration with force length relationship") plt.plot(sol_list[2].time, sol_list[2].states["q"][0], label="Pulse intensity without force length relationship") diff --git a/examples/getting_started/model_integration.py b/examples/getting_started/model_integration.py index 5e36616d..703d17cf 100644 --- a/examples/getting_started/model_integration.py +++ b/examples/getting_started/model_integration.py @@ -8,7 +8,13 @@ # --- Build ocp --- # # This problem was build to be integrated and has no objectives nor parameter to optimize. -ivp = IvpFes(model=DingModelFrequencyWithFatigue(), n_stim=10, n_shooting=20, final_time=1, use_sx=True,) +ivp = IvpFes( + model=DingModelFrequencyWithFatigue(), + n_stim=10, + n_shooting=20, + final_time=1, + use_sx=True, +) # Creating the solution from the initial guess sol_from_initial_guess = Solution.from_initial_guess(ivp, [ivp.x_init, ivp.u_init, ivp.p_init, ivp.s_init]) diff --git a/examples/getting_started/muscle_model_identification.py b/examples/getting_started/muscle_model_identification.py index 07c7e1a1..ca7c86b9 100644 --- a/examples/getting_started/muscle_model_identification.py +++ b/examples/getting_started/muscle_model_identification.py @@ -420,7 +420,12 @@ identified_time_list = [] ivp_from_identification = IvpFes( - model=identified_model, n_stim=10, n_shooting=10, final_time=1, use_sx=True, pulse_intensity=pulse_intensity_values, + model=identified_model, + n_stim=10, + n_shooting=10, + final_time=1, + use_sx=True, + pulse_intensity=pulse_intensity_values, ) # Creating the solution from the initial guess diff --git a/examples/getting_started/pulse_mode_example.py b/examples/getting_started/pulse_mode_example.py index 7074c9f3..6bc00297 100644 --- a/examples/getting_started/pulse_mode_example.py +++ b/examples/getting_started/pulse_mode_example.py @@ -12,7 +12,12 @@ # This example shows how to create a problem with doublet pulses. # The stimulation won't be optimized. ivp = IvpFes( - model=DingModelFrequencyWithFatigue(), n_stim=20, n_shooting=10, final_time=1, pulse_mode="Doublet", use_sx=True, + model=DingModelFrequencyWithFatigue(), + n_stim=20, + n_shooting=10, + final_time=1, + pulse_mode="Doublet", + use_sx=True, ) # Creating the solution from the initial guess @@ -39,7 +44,12 @@ # --- Build ocp --- # # This example shows how to create a problem with triplet pulses. ivp = IvpFes( - model=DingModelFrequencyWithFatigue(), n_stim=30, n_shooting=10, final_time=1, pulse_mode="Triplet", use_sx=True, + model=DingModelFrequencyWithFatigue(), + n_stim=30, + n_shooting=10, + final_time=1, + pulse_mode="Triplet", + use_sx=True, ) # Creating the solution from the initial guess diff --git a/examples/sensitivity/truncation/summation_truncation_graph.py b/examples/sensitivity/truncation/summation_truncation_graph.py index 3d2adb0d..95713a7a 100644 --- a/examples/sensitivity/truncation/summation_truncation_graph.py +++ b/examples/sensitivity/truncation/summation_truncation_graph.py @@ -151,9 +151,15 @@ ) elif computation_time_color_bar_scale == "same": - cbar2 = fig.colorbar(im3, ax=axs[1], label="Computation time (s)", ticks=[3.033, 4, 5, 6, 7, 8, 9, 10.038],) + cbar2 = fig.colorbar( + im3, + ax=axs[1], + label="Computation time (s)", + ticks=[3.033, 4, 5, 6, 7, 8, 9, 10.038], + ) cbar2.ax.set_yticklabels( - [3.033, 4, 5, 6, 7, 8, 9, 10.038], style="italic", + [3.033, 4, 5, 6, 7, 8, 9, 10.038], + style="italic", ) axs[0].set_xlabel("Frequency (Hz)") diff --git a/tests/shard1/test_ivp.py b/tests/shard1/test_ivp.py index f210ebce..4aea6463 100644 --- a/tests/shard1/test_ivp.py +++ b/tests/shard1/test_ivp.py @@ -39,7 +39,14 @@ def test_ding2003_ivp(model): @pytest.mark.parametrize("model", [DingModelPulseDurationFrequency(), DingModelPulseDurationFrequencyWithFatigue()]) @pytest.mark.parametrize("pulse_duration", [0.0003, [0.0003, 0.0004, 0.0005]]) def test_ding2007_ivp(model, pulse_duration): - ivp = IvpFes(model=model, n_stim=3, n_shooting=10, final_time=0.3, pulse_duration=pulse_duration, use_sx=True,) + ivp = IvpFes( + model=model, + n_stim=3, + n_shooting=10, + final_time=0.3, + pulse_duration=pulse_duration, + use_sx=True, + ) # Creating the solution from the initial guess sol_from_initial_guess = Solution.from_initial_guess(ivp, [ivp.x_init, ivp.u_init, ivp.p_init, ivp.s_init]) @@ -70,7 +77,14 @@ def test_ding2007_ivp(model, pulse_duration): @pytest.mark.parametrize("model", [DingModelIntensityFrequency(), DingModelIntensityFrequencyWithFatigue()]) @pytest.mark.parametrize("pulse_intensity", [50, [50, 60, 70]]) def test_hmed2018_ivp(model, pulse_intensity): - ivp = IvpFes(model=model, n_stim=3, n_shooting=10, final_time=0.3, pulse_intensity=pulse_intensity, use_sx=True,) + ivp = IvpFes( + model=model, + n_stim=3, + n_shooting=10, + final_time=0.3, + pulse_intensity=pulse_intensity, + use_sx=True, + ) # Creating the solution from the initial guess sol_from_initial_guess = Solution.from_initial_guess(ivp, [ivp.x_init, ivp.u_init, ivp.p_init, ivp.s_init]) @@ -220,7 +234,11 @@ def test_all_ivp_errors(): with pytest.raises(ValueError, match="pulse_intensity list must have the same length as n_stim"): IvpFes( - model=DingModelIntensityFrequency(), n_stim=3, n_shooting=10, final_time=0.3, pulse_intensity=[20, 30], + model=DingModelIntensityFrequency(), + n_stim=3, + n_shooting=10, + final_time=0.3, + pulse_intensity=[20, 30], ) pulse_intensity = [20, 30, 0.1] @@ -242,7 +260,11 @@ def test_all_ivp_errors(): with pytest.raises(TypeError, match="pulse_intensity must be int, float or list type"): IvpFes( - model=DingModelIntensityFrequency(), n_stim=3, n_shooting=10, final_time=0.3, pulse_intensity=True, + model=DingModelIntensityFrequency(), + n_stim=3, + n_shooting=10, + final_time=0.3, + pulse_intensity=True, ) with pytest.raises(ValueError, match="ode_solver must be a OdeSolver type"): diff --git a/tests/shard1/test_ocp_build.py b/tests/shard1/test_ocp_build.py index 68abf550..d8388db9 100644 --- a/tests/shard1/test_ocp_build.py +++ b/tests/shard1/test_ocp_build.py @@ -257,7 +257,17 @@ (DingModelFrequencyWithFatigue(), None, None, None, None, None, None, None, None), (DingModelPulseDurationFrequency(), 0.0002, None, None, None, None, None, None, None), (DingModelPulseDurationFrequencyWithFatigue(), 0.0002, None, None, None, None, None, None, None), - (DingModelPulseDurationFrequency(), None, minimum_pulse_duration, 0.0006, False, None, None, None, None,), + ( + DingModelPulseDurationFrequency(), + None, + minimum_pulse_duration, + 0.0006, + False, + None, + None, + None, + None, + ), ( DingModelPulseDurationFrequencyWithFatigue(), None, @@ -272,13 +282,38 @@ # (DingModelPulseDurationFrequency(), None, minimum_pulse_duration, 0.0006, True, None, None, None, None), parameter mapping not yet implemented (DingModelIntensityFrequency(), None, None, None, None, 20, None, None, None), (DingModelIntensityFrequencyWithFatigue(), None, None, None, None, 20, None, None, None), - (DingModelIntensityFrequency(), None, None, None, None, None, minimum_pulse_intensity, 130, False,), - (DingModelIntensityFrequencyWithFatigue(), None, None, None, None, None, minimum_pulse_intensity, 130, False,), + ( + DingModelIntensityFrequency(), + None, + None, + None, + None, + None, + minimum_pulse_intensity, + 130, + False, + ), + ( + DingModelIntensityFrequencyWithFatigue(), + None, + None, + None, + None, + None, + minimum_pulse_intensity, + 130, + False, + ), # (DingModelIntensityFrequency(), None, None, None, None, None, minimum_pulse_intensity, 130, True), parameter mapping not yet implemented ], ) @pytest.mark.parametrize( - "time_min, time_max, time_bimapping", [(None, None, False), (0.01, 0.1, False), (0.01, 0.1, True),], + "time_min, time_max, time_bimapping", + [ + (None, None, False), + (0.01, 0.1, False), + (0.01, 0.1, True), + ], ) @pytest.mark.parametrize("use_sx", [True]) # Later add False @pytest.mark.parametrize( @@ -310,7 +345,11 @@ def test_ocp_building( use_sx, sum_stim_truncation, ): - if (model.model_name == "ding2003" or model.model_name == "ding2003_with_fatigue") and time_min is None and time_max is None: + if ( + (model.model_name == "ding2003" or model.model_name == "ding2003_with_fatigue") + and time_min is None + and time_max is None + ): return model._sum_stim_truncation = sum_stim_truncation @@ -386,7 +425,13 @@ def test_ocp_not_for_optimal_error(): match="This is not an optimal control problem," " add parameter to optimize or use the IvpFes method to build your problem", ): - ocp = OcpFes().prepare_ocp(model=DingModelFrequency(), n_stim=1, n_shooting=10, final_time=1, use_sx=True,) + ocp = OcpFes().prepare_ocp( + model=DingModelFrequency(), + n_stim=1, + n_shooting=10, + final_time=1, + use_sx=True, + ) @pytest.mark.parametrize( diff --git a/tests/shard1/test_ocp_id.py b/tests/shard1/test_ocp_id.py index 652ea784..ad1d279c 100644 --- a/tests/shard1/test_ocp_id.py +++ b/tests/shard1/test_ocp_id.py @@ -117,7 +117,13 @@ ] additional_key_settings = { - "a_rest": {"initial_guess": 1000, "min_bound": 1, "max_bound": 10000, "function": model.set_a_rest, "scaling": 1,}, + "a_rest": { + "initial_guess": 1000, + "min_bound": 1, + "max_bound": 10000, + "function": model.set_a_rest, + "scaling": 1, + }, "km_rest": { "initial_guess": 0.5, "min_bound": 0.001, @@ -132,14 +138,27 @@ "function": model.set_tau1_rest, "scaling": 1000, }, - "tau2": {"initial_guess": 0.5, "min_bound": 0.0001, "max_bound": 1, "function": model.set_tau2, "scaling": 1000,}, + "tau2": { + "initial_guess": 0.5, + "min_bound": 0.0001, + "max_bound": 1, + "function": model.set_tau2, + "scaling": 1000, + }, } def test_ocp_id_ding2003(): # --- Creating the simulated data to identify on --- # # Building the Initial Value Problem - ivp = IvpFes(model=DingModelFrequency(), n_stim=10, n_shooting=10, final_time=1, use_sx=True, extend_last_phase=1,) + ivp = IvpFes( + model=DingModelFrequency(), + n_stim=10, + n_shooting=10, + final_time=1, + use_sx=True, + extend_last_phase=1, + ) # Creating the solution from the initial guess sol_from_initial_guess = Solution.from_initial_guess(ivp, [ivp.x_init, ivp.u_init, ivp.p_init, ivp.s_init]) @@ -402,7 +421,8 @@ def test_all_ocp_id_errors(): def test_all_id_program_errors(): with pytest.raises( - ValueError, match="The given model is not valid and should not be including the fatigue equation in the model", + ValueError, + match="The given model is not valid and should not be including the fatigue equation in the model", ): DingModelFrequencyForceParameterIdentification(model=DingModelFrequencyWithFatigue()) @@ -600,7 +620,8 @@ def test_all_id_program_errors(): ) with pytest.raises( - ValueError, match=re.escape(f"The given model parameters are not valid, only None, int and float are accepted"), + ValueError, + match=re.escape(f"The given model parameters are not valid, only None, int and float are accepted"), ): DingModelFrequencyForceParameterIdentification( model=DingModelFrequency(), @@ -631,7 +652,8 @@ def test_all_id_program_errors(): ) with pytest.raises( - ValueError, match=re.escape(f"The given {'a_rest'} parameter is not valid, it must be given or identified"), + ValueError, + match=re.escape(f"The given {'a_rest'} parameter is not valid, it must be given or identified"), ): DingModelFrequencyForceParameterIdentification( model=DingModelFrequency(), From d4139fa1052543b5ea307628647b869896fc96a8 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Fri, 26 Jan 2024 16:07:42 -0500 Subject: [PATCH 22/63] corrected tests according to the pulse duration model fix --- tests/shard1/test_ivp.py | 4 ++-- .../shard1/test_models_dynamics_without_bioptim.py | 13 +++++++------ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/tests/shard1/test_ivp.py b/tests/shard1/test_ivp.py index 4aea6463..e2a12b2e 100644 --- a/tests/shard1/test_ivp.py +++ b/tests/shard1/test_ivp.py @@ -59,7 +59,7 @@ def test_ding2007_ivp(model, pulse_duration): if model._with_fatigue and isinstance(pulse_duration, list): np.testing.assert_almost_equal(result.states["F"][0][0], 0) np.testing.assert_almost_equal(result.states["F"][0][10], 32.78053644580685) - np.testing.assert_almost_equal(result.states["F"][0][-1], 60.936507876880086) + np.testing.assert_almost_equal(result.states["F"][0][-1], 60.93650724479694) elif model._with_fatigue is False and isinstance(pulse_duration, list): np.testing.assert_almost_equal(result.states["F"][0][0], 0) np.testing.assert_almost_equal(result.states["F"][0][10], 32.48751154425548) @@ -67,7 +67,7 @@ def test_ding2007_ivp(model, pulse_duration): elif model._with_fatigue and isinstance(pulse_duration, float): np.testing.assert_almost_equal(result.states["F"][0][0], 0) np.testing.assert_almost_equal(result.states["F"][0][10], 32.78053644580685) - np.testing.assert_almost_equal(result.states["F"][0][-1], 42.43955858325622) + np.testing.assert_almost_equal(result.states["F"][0][-1], 42.439558210310544) elif model._with_fatigue is False and isinstance(pulse_duration, float): np.testing.assert_almost_equal(result.states["F"][0][0], 0) np.testing.assert_almost_equal(result.states["F"][0][10], 32.48751154425548) diff --git a/tests/shard1/test_models_dynamics_without_bioptim.py b/tests/shard1/test_models_dynamics_without_bioptim.py index 4b4e4ff7..29548a19 100644 --- a/tests/shard1/test_models_dynamics_without_bioptim.py +++ b/tests/shard1/test_models_dynamics_without_bioptim.py @@ -51,15 +51,16 @@ def test_ding2003_dynamics(): def test_ding2007_dynamics(): model = DingModelPulseDurationFrequencyWithFatigue() - assert model.nb_state == 4 + assert model.nb_state == 5 assert model.name_dof == [ "Cn", "F", + "A", "Tau1", "Km", ] np.testing.assert_almost_equal( - model.standard_rest_values(), np.array([[0], [0], [model.tau1_rest], [model.km_rest]]) + model.standard_rest_values(), np.array([[0], [0], [model.a_scale], [model.tau1_rest], [model.km_rest]]) ) np.testing.assert_almost_equal( np.array( @@ -102,11 +103,11 @@ def test_ding2007_dynamics(): np.testing.assert_almost_equal( np.array( model.system_dynamics( - cn=5, f=100, tau1=0.050957, km=0.103, t=0.11, t_stim_prev=[0, 0.1], impulse_time=0.0002 + cn=5, f=100, a=4920, tau1=0.050957, km=0.103, t=0.11, t_stim_prev=[0, 0.1], impulse_time=0.0002 ) ).squeeze(), - np.array(DM([-417.918, -490.511, 0.0210759, 1.9e-05])).squeeze(), - decimal=3, + np.array(DM([-4.179e+02, -4.905e+02, -4.000e-04, 2.108e-02, 1.900e-05])).squeeze(), + decimal=1, ) np.testing.assert_almost_equal(model.exp_time_fun(t=0.1, t_stim_i=0.09), 0.4028903215291327) np.testing.assert_almost_equal(model.ri_fun(r0=1.05, time_between_stim=0.1), 1.0000056342790253) @@ -118,7 +119,7 @@ def test_ding2007_dynamics(): np.testing.assert_almost_equal(model.tau1_dot_fun(tau1=0.060601, f=100), 0.021) np.testing.assert_almost_equal(model.km_dot_fun(km=0.103, f=100), 1.8999999999999998e-05) np.testing.assert_almost_equal( - np.array(model.a_calculation(impulse_time=0.0002)).squeeze(), np.array(DM(1464.4646488)).squeeze() + np.array(model.a_calculation(a_scale=4920, impulse_time=0.0002)).squeeze(), np.array(DM(1464.4646488)).squeeze() ) From ecb3936d82e1891652b3796bc4abf4e41f84bf09 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Mon, 29 Jan 2024 14:35:47 -0500 Subject: [PATCH 23/63] Fix : corrected the muscle fatigue calculation sending the force length and force velocity coeff in the model to calculate the muscle fatigue accordingly to muscle force produced --- cocofest/models/ding2003.py | 12 +++++++--- cocofest/models/ding2003_with_fatigue.py | 8 ++++++- cocofest/models/ding2007.py | 8 ++++++- cocofest/models/ding2007_with_fatigue.py | 8 ++++++- cocofest/models/dynamical_model.py | 28 +++++++++++++----------- cocofest/models/hmed2018.py | 8 ++++++- cocofest/models/hmed2018_with_fatigue.py | 8 ++++++- 7 files changed, 59 insertions(+), 21 deletions(-) diff --git a/cocofest/models/ding2003.py b/cocofest/models/ding2003.py index 3e2c78e7..e5b76f4c 100644 --- a/cocofest/models/ding2003.py +++ b/cocofest/models/ding2003.py @@ -107,6 +107,8 @@ def system_dynamics( f: MX, t: MX = None, t_stim_prev: list[MX] | list[float] = None, + force_length_relationship: MX | float = 1, + force_velocity_relationship: MX | float = 1, ) -> MX: """ The system dynamics is the function that describes the models. @@ -128,7 +130,7 @@ def system_dynamics( """ r0 = self.km_rest + self.r0_km_relationship # Simplification cn_dot = self.cn_dot_fun(cn, r0, t, t_stim_prev=t_stim_prev) # Equation n°1 - f_dot = self.f_dot_fun(cn, f, self.a_rest, self.tau1_rest, self.km_rest) # Equation n°2 + f_dot = self.f_dot_fun(cn, f, self.a_rest, self.tau1_rest, self.km_rest, force_length_relationship=force_length_relationship, force_velocity_relationship=force_velocity_relationship) # Equation n°2 return vertcat(cn_dot, f_dot) def exp_time_fun(self, t: MX, t_stim_i: MX) -> MX | float: @@ -213,7 +215,7 @@ def cn_dot_fun(self, cn: MX, r0: MX | float, t: MX, t_stim_prev: list[MX]) -> MX return (1 / self.tauc) * sum_multiplier - (cn / self.tauc) # Equation n°1 - def f_dot_fun(self, cn: MX, f: MX, a: MX | float, tau1: MX | float, km: MX | float) -> MX | float: + def f_dot_fun(self, cn: MX, f: MX, a: MX | float, tau1: MX | float, km: MX | float, force_length_relationship: MX | float = 1, force_velocity_relationship: MX | float = 1) -> MX | float: """ Parameters ---------- @@ -232,7 +234,7 @@ def f_dot_fun(self, cn: MX, f: MX, a: MX | float, tau1: MX | float, km: MX | flo ------- The value of the derivative force (N) """ - return a * (cn / (km + cn)) - (f / (tau1 + self.tau2 * (cn / (km + cn)))) # Equation n°2 + return (a * (cn / (km + cn)) - (f / (tau1 + self.tau2 * (cn / (km + cn))))) * force_length_relationship * force_velocity_relationship # Equation n°2 @staticmethod def dynamics( @@ -244,6 +246,8 @@ def dynamics( nlp: NonLinearProgram, stim_apparition=None, nlp_dynamics=None, + force_length_relationship: MX | float = 1, + force_velocity_relationship: MX | float = 1, ) -> DynamicsEvaluation: """ Functional electrical stimulation dynamic @@ -277,6 +281,8 @@ def dynamics( f=states[1], t=time, t_stim_prev=stim_apparition, + force_length_relationship=force_length_relationship, + force_velocity_relationship=force_velocity_relationship, ), ) diff --git a/cocofest/models/ding2003_with_fatigue.py b/cocofest/models/ding2003_with_fatigue.py index 06aa76db..932a18e6 100644 --- a/cocofest/models/ding2003_with_fatigue.py +++ b/cocofest/models/ding2003_with_fatigue.py @@ -107,6 +107,8 @@ def system_dynamics( km: MX = None, t: MX = None, t_stim_prev: list[MX] | list[float] = None, + force_length_relationship: MX | float = 1, + force_velocity_relationship: MX | float = 1, ) -> MX: """ The system dynamics is the function that describes the models. @@ -134,7 +136,7 @@ def system_dynamics( """ r0 = km + self.r0_km_relationship # Simplification cn_dot = self.cn_dot_fun(cn, r0, t, t_stim_prev=t_stim_prev) # Equation n°1 - f_dot = self.f_dot_fun(cn, f, a, tau1, km) # Equation n°2 + f_dot = self.f_dot_fun(cn, f, a, tau1, km, force_length_relationship=force_length_relationship, force_velocity_relationship=force_velocity_relationship) # Equation n°2 a_dot = self.a_dot_fun(a, f) # Equation n°5 tau1_dot = self.tau1_dot_fun(tau1, f) # Equation n°9 km_dot = self.km_dot_fun(km, f) # Equation n°11 @@ -195,6 +197,8 @@ def dynamics( nlp: NonLinearProgram, stim_apparition=None, nlp_dynamics=None, + force_length_relationship: MX | float = 1, + force_velocity_relationship: MX | float = 1, ) -> DynamicsEvaluation: """ Functional electrical stimulation dynamic @@ -231,6 +235,8 @@ def dynamics( km=states[4], t=time, t_stim_prev=stim_apparition, + force_length_relationship=force_length_relationship, + force_velocity_relationship=force_velocity_relationship, ), defects=None, ) diff --git a/cocofest/models/ding2007.py b/cocofest/models/ding2007.py index b6edf059..8b5b7978 100644 --- a/cocofest/models/ding2007.py +++ b/cocofest/models/ding2007.py @@ -75,6 +75,8 @@ def system_dynamics( t: MX = None, t_stim_prev: list[MX] | list[float] = None, impulse_time: MX = None, + force_length_relationship: MX | float = 1, + force_velocity_relationship: MX | float = 1, ) -> MX: """ The system dynamics is the function that describes the models. @@ -99,7 +101,7 @@ def system_dynamics( r0 = self.km_rest + self.r0_km_relationship # Simplification cn_dot = self.cn_dot_fun(cn, r0, t, t_stim_prev=t_stim_prev) # Equation n°1 from Ding's 2003 article a = self.a_calculation(a_scale=self.a_scale, impulse_time=impulse_time) # Equation n°3 from Ding's 2007 article - f_dot = self.f_dot_fun(cn, f, a, self.tau1_rest, self.km_rest) # Equation n°2 from Ding's 2003 article + f_dot = self.f_dot_fun(cn, f, a, self.tau1_rest, self.km_rest, force_length_relationship=force_length_relationship, force_velocity_relationship=force_velocity_relationship) # Equation n°2 from Ding's 2003 article return vertcat(cn_dot, f_dot) def a_calculation(self, a_scale: float | MX, impulse_time: MX) -> MX: @@ -160,6 +162,8 @@ def dynamics( nlp: NonLinearProgram, stim_apparition: list[float] = None, nlp_dynamics=None, + force_length_relationship: MX | float = 1, + force_velocity_relationship: MX | float = 1, ) -> DynamicsEvaluation: """ Functional electrical stimulation dynamic @@ -204,6 +208,8 @@ def dynamics( t=time, t_stim_prev=stim_apparition, impulse_time=impulse_time, + force_length_relationship=force_length_relationship, + force_velocity_relationship=force_velocity_relationship, ), defects=None, ) diff --git a/cocofest/models/ding2007_with_fatigue.py b/cocofest/models/ding2007_with_fatigue.py index 8c1b0482..c4be7f5e 100644 --- a/cocofest/models/ding2007_with_fatigue.py +++ b/cocofest/models/ding2007_with_fatigue.py @@ -89,6 +89,8 @@ def system_dynamics( t: MX = None, t_stim_prev: list[MX] | list[float] = None, impulse_time: MX = None, + force_length_relationship: MX | float = 1, + force_velocity_relationship: MX | float = 1, ) -> MX: """ The system dynamics is the function that describes the models. @@ -117,7 +119,7 @@ def system_dynamics( r0 = km + self.r0_km_relationship # Simplification cn_dot = self.cn_dot_fun(cn, r0, t, t_stim_prev=t_stim_prev) # Equation n°1 from Ding's 2003 article a_calculated = self.a_calculation(a_scale=a, impulse_time=impulse_time) # Equation n°3 from Ding's 2007 article - f_dot = self.f_dot_fun(cn, f, a_calculated, tau1, km) # Equation n°2 from Ding's 2003 article + f_dot = self.f_dot_fun(cn, f, a_calculated, tau1, km, force_length_relationship=force_length_relationship, force_velocity_relationship=force_velocity_relationship) # Equation n°2 from Ding's 2003 article a_dot = self.a_dot_fun(a, f) tau1_dot = self.tau1_dot_fun(tau1, f) # Equation n°9 from Ding's 2003 article km_dot = self.km_dot_fun(km, f) # Equation n°11 from Ding's 2003 article @@ -178,6 +180,8 @@ def dynamics( nlp: NonLinearProgram, stim_apparition: list[float] = None, nlp_dynamics: NonLinearProgram = None, + force_length_relationship: MX | float = 1, + force_velocity_relationship: MX | float = 1, ) -> DynamicsEvaluation: """ Functional electrical stimulation dynamic @@ -225,6 +229,8 @@ def dynamics( t=time, t_stim_prev=stim_apparition, impulse_time=impulse_time, + force_length_relationship=force_length_relationship, + force_velocity_relationship=force_velocity_relationship, ), defects=None, ) diff --git a/cocofest/models/dynamical_model.py b/cocofest/models/dynamical_model.py index 5b79f77f..c12f7dda 100644 --- a/cocofest/models/dynamical_model.py +++ b/cocofest/models/dynamical_model.py @@ -115,20 +115,8 @@ def muscle_dynamic( for i in range(len(muscle_states_idx)): muscle_states = vertcat(muscle_states, states[muscle_states_idx[i]]) - muscle_dxdt = muscle_model.dynamics( - time, - muscle_states, - controls, - parameters, - stochastic_variables, - nlp, - stim_apparition, - nlp_dynamics=muscle_model, - ).dxdt - muscle_idx = bio_muscle_names_at_index.index(muscle_model.muscle_name) - muscle_forces = DynamicsFunctions.get(nlp.states["F_" + muscle_model.muscle_name], states) muscle_force_length_coeff = 1 muscle_force_velocity_coeff = 1 if nlp.model.muscle_force_length_relationship: @@ -139,7 +127,21 @@ def muscle_dynamic( muscle_force_velocity_coeff = FESActuatedBiorbdModel.muscle_force_velocity_coefficient( model=nlp.model.bio_model.model, muscle=nlp.model.bio_model.model.muscle(muscle_idx), q=q, qdot=qdot ) - muscle_forces = muscle_forces * muscle_force_length_coeff * muscle_force_velocity_coeff + + muscle_dxdt = muscle_model.dynamics( + time, + muscle_states, + controls, + parameters, + stochastic_variables, + nlp, + stim_apparition, + nlp_dynamics=muscle_model, + force_length_relationship=muscle_force_length_coeff, + force_velocity_relationship=muscle_force_velocity_coeff, + ).dxdt + + muscle_forces = DynamicsFunctions.get(nlp.states["F_" + muscle_model.muscle_name], states) moment_arm_matrix_for_the_muscle_and_joint = ( -nlp.model.bio_model.model.musclesLengthJacobian(q).to_mx()[muscle_idx, :].T diff --git a/cocofest/models/hmed2018.py b/cocofest/models/hmed2018.py index 3f314e1a..444e6659 100644 --- a/cocofest/models/hmed2018.py +++ b/cocofest/models/hmed2018.py @@ -78,6 +78,8 @@ def system_dynamics( t: MX = None, t_stim_prev: list[MX] | list[float] = None, intensity_stim: list[MX] | list[float] = None, + force_length_relationship: MX | float = 1, + force_velocity_relationship: MX | float = 1, ) -> MX: """ The system dynamics is the function that describes the models. @@ -101,7 +103,7 @@ def system_dynamics( """ r0 = self.km_rest + self.r0_km_relationship # Simplification cn_dot = self.cn_dot_fun(cn, r0, t, t_stim_prev=t_stim_prev, intensity_stim=intensity_stim) # Equation n°1 - f_dot = self.f_dot_fun(cn, f, self.a_rest, self.tau1_rest, self.km_rest) # Equation n°2 + f_dot = self.f_dot_fun(cn, f, self.a_rest, self.tau1_rest, self.km_rest, force_length_relationship=force_length_relationship, force_velocity_relationship=force_velocity_relationship) # Equation n°2 return vertcat(cn_dot, f_dot) def cn_dot_fun( @@ -222,6 +224,8 @@ def dynamics( nlp: NonLinearProgram, stim_apparition: list[float] = None, nlp_dynamics: NonLinearProgram = None, + force_length_relationship: MX | float = 1, + force_velocity_relationship: MX | float = 1, ) -> DynamicsEvaluation: """ Functional electrical stimulation dynamic @@ -271,6 +275,8 @@ def dynamics( t=time, t_stim_prev=stim_apparition, intensity_stim=intensity_stim_prev, + force_length_relationship=force_length_relationship, + force_velocity_relationship=force_velocity_relationship, ), defects=None, ) diff --git a/cocofest/models/hmed2018_with_fatigue.py b/cocofest/models/hmed2018_with_fatigue.py index 75d78529..e085e891 100644 --- a/cocofest/models/hmed2018_with_fatigue.py +++ b/cocofest/models/hmed2018_with_fatigue.py @@ -89,6 +89,8 @@ def system_dynamics( t: MX = None, t_stim_prev: list[MX] | list[float] = None, intensity_stim: list[MX] | list[float] = None, + force_length_relationship: float | MX = 1, + force_velocity_relationship: float | MX = 1, ) -> MX: """ The system dynamics is the function that describes the models. @@ -118,7 +120,7 @@ def system_dynamics( """ r0 = km + self.r0_km_relationship # Simplification cn_dot = self.cn_dot_fun(cn, r0, t, t_stim_prev=t_stim_prev, intensity_stim=intensity_stim) # Equation n°1 - f_dot = self.f_dot_fun(cn, f, a, tau1, km) # Equation n°2 + f_dot = self.f_dot_fun(cn, f, a, tau1, km, force_length_relationship=force_length_relationship, force_velocity_relationship=force_velocity_relationship) # Equation n°2 a_dot = self.a_dot_fun(a, f) # Equation n°5 tau1_dot = self.tau1_dot_fun(tau1, f) # Equation n°9 km_dot = self.km_dot_fun(km, f) # Equation n°11 @@ -179,6 +181,8 @@ def dynamics( nlp: NonLinearProgram, stim_apparition: list[float] = None, nlp_dynamics: NonLinearProgram = None, + force_length_relationship: float | MX = 1, + force_velocity_relationship: float | MX = 1, ) -> DynamicsEvaluation: """ Functional electrical stimulation dynamic @@ -231,6 +235,8 @@ def dynamics( t=time, t_stim_prev=stim_apparition, intensity_stim=intensity_stim_prev, + force_length_relationship=force_length_relationship, + force_velocity_relationship=force_velocity_relationship, ), defects=None, ) From 06e2b6d2019a3ebbdef9287c414faff75660d426 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Mon, 29 Jan 2024 17:12:12 -0500 Subject: [PATCH 24/63] graph for joint angle --- ...le_force_length_relationship_comparison.py | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/examples/dynamics/muscle_force_length_relationship_comparison.py b/examples/dynamics/muscle_force_length_relationship_comparison.py index b8b245f4..c78b909d 100644 --- a/examples/dynamics/muscle_force_length_relationship_comparison.py +++ b/examples/dynamics/muscle_force_length_relationship_comparison.py @@ -5,6 +5,7 @@ No residual torque is allowed. """ import matplotlib.pyplot as plt +import numpy as np from bioptim import Solver @@ -20,15 +21,15 @@ ) sol_list = [] -muscle_force_length_relationship = [False, True, False, True] +muscle_force_length_relationship = [False, True] fes_muscle_model = [ [DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong")], [DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong")], - [DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong")], - [DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong")], + # [DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong")], + # [DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong")], ] -for i in range(4): +for i in range(2): ocp = FESActuatedBiorbdModelOCP.prepare_ocp( biorbd_model_path="/arm26_biceps_1dof.bioMod", bound_type="start", @@ -37,7 +38,7 @@ n_stim=10, n_shooting=10, final_time=1, - pulse_duration=0.00026, + pulse_duration=0.00025, pulse_intensity=40, with_residual_torque=False, muscle_force_length_relationship=muscle_force_length_relationship[i], @@ -47,15 +48,13 @@ sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) sol_list.append(sol.merge_phases()) -plt.title( - "Comparison between with and without muscle force length relationship for an elbow movement at 10Hz and 40mA or 260us" -) -plt.plot(sol_list[0].time, sol_list[0].states["q"][0], label="Pulse duration without force length relationship") -plt.plot(sol_list[1].time, sol_list[1].states["q"][0], label="Pulse duration with force length relationship") -plt.plot(sol_list[2].time, sol_list[2].states["q"][0], label="Pulse intensity without force length relationship") -plt.plot(sol_list[3].time, sol_list[3].states["q"][0], label="Pulse intensity with force length relationship") +plt.plot(sol_list[0].time, np.degrees(sol_list[0].states["q"][0]), label="without force length relationship") +plt.plot(sol_list[1].time, np.degrees(sol_list[1].states["q"][0]), label="with force length relationship") plt.xlabel("Time (s)") -plt.ylabel("Angle (rad)") +plt.ylabel("Angle (°)") plt.legend() plt.show() + +joint_overestimation = np.degrees(sol_list[0].states["q"][0][-1]) - np.degrees(sol_list[1].states["q"][0][-1]) +print(f"Joint overestimation: {joint_overestimation} degrees") From 8d8d705db2cb8efc3df260bc4348c74fe2c51d64 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Tue, 30 Jan 2024 12:07:36 -0500 Subject: [PATCH 25/63] comparing with and without muscle fatigue minimization --- ...comparing_minimize_fatigue_optimization.py | 95 +++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 examples/dynamics/minimize_fatigue/comparing_minimize_fatigue_optimization.py diff --git a/examples/dynamics/minimize_fatigue/comparing_minimize_fatigue_optimization.py b/examples/dynamics/minimize_fatigue/comparing_minimize_fatigue_optimization.py new file mode 100644 index 00000000..4f52ad37 --- /dev/null +++ b/examples/dynamics/minimize_fatigue/comparing_minimize_fatigue_optimization.py @@ -0,0 +1,95 @@ +""" +This example will do a 10 stimulation example with Ding's 2003 frequency model associated to Bakir's 2022 intensity work. +Those ocp were build to move the elbow from 0 to 90 degrees angle. +The stimulation frequency will be set to 10Hz and pulse intensity will be optimized to satisfy the motion and to minimize the overall muscle fatigue. +Intensity can be optimized from sensitivity threshold to 130mA. No residual torque is allowed. +""" +import pickle +import numpy as np +import matplotlib.pyplot as plt + +from bioptim import ( + ObjectiveFcn, + ObjectiveList, + Solver, +) + +from cocofest import DingModelIntensityFrequencyWithFatigue, FESActuatedBiorbdModelOCP + +get_results = False +make_graphs = True + +if get_results: + n_stim = 10 + n_shooting = 10 + objective_functions = ObjectiveList() + + for i in range(n_stim): + objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=10, quadratic=True, phase=i) + + minimum_pulse_intensity = DingModelIntensityFrequencyWithFatigue.min_pulse_intensity( + DingModelIntensityFrequencyWithFatigue() + ) + + minimize_fatigue = [False, True] + pickle_file_list = ["normal.pkl", "minimizing_fatigue.pkl"] + time = [] + states = [] + controls = [] + parameters = [] + for i in range(len(minimize_fatigue)): + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="../arm26.bioMod", + bound_type="start_end", + bound_data=[[0, 5], [0, 90]], + fes_muscle_models=[ + DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong"), + DingModelIntensityFrequencyWithFatigue(muscle_name="BICshort"), + DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlong"), + DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlat"), + DingModelIntensityFrequencyWithFatigue(muscle_name="TRImed"), + DingModelIntensityFrequencyWithFatigue(muscle_name="BRA"), + ], + n_stim=n_stim, + n_shooting=10, + final_time=1, + pulse_intensity_min=minimum_pulse_intensity, + pulse_intensity_max=80, + pulse_intensity_bimapping=False, + with_residual_torque=False, + custom_objective=objective_functions if i == 0 else None, + muscle_force_length_relationship=True, + muscle_force_velocity_relationship=True, + minimize_muscle_fatigue=minimize_fatigue[i], + use_sx=False, + ) + + sol = ocp.solve(Solver.IPOPT(_max_iter=1000)).merge_phases() + time = sol.time + states = sol.states + controls = sol.controls + parameters = sol.parameters + + dictionary = { + "time": time, + "states": states, + "controls": controls, + "parameters": parameters, + } + + with open(pickle_file_list[i], "wb") as file: + pickle.dump(dictionary, file) + + +# if make_graphs: +# with open(r"normal.pkl", "rb") as f: +# data_normal = pickle.load(f) +# +# with open(r"minimizing_fatigue.pkl", "rb") as f: +# data_minimize = pickle.load(f) +# +# plt.plot(data_normal["time"], data_normal["states"]["F_BIClong"][0], label="Normal") +# plt.plot(data_minimize["time"], data_minimize["states"]["F_BIClong"][0], label="Minimizing fatigue") +# plt.legend() +# plt.show() + From 78a69a288ea23496b5159d6e67d5b98be7921897 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Tue, 30 Jan 2024 18:58:05 -0500 Subject: [PATCH 26/63] readme --- README.md | 2 ++ docs/arm_flexion.gif | Bin 0 -> 421773 bytes docs/cocofest_logo.png | Bin 525964 -> 1097225 bytes 3 files changed, 2 insertions(+) create mode 100644 docs/arm_flexion.gif diff --git a/README.md b/README.md index 237cb85b..bcd41c5b 100644 --- a/README.md +++ b/README.md @@ -146,3 +146,5 @@ ocp = OcpFes.prepare_ocp() # Citing `Cocofest` is not yet published in a journal. But if you use `Cocofest` in your research, please kindly cite this package by giving the repository link. + +![](https://github.com/Kev1CO/cocofest/tree/main/docs/arm_flexion.gif) diff --git a/docs/arm_flexion.gif b/docs/arm_flexion.gif new file mode 100644 index 0000000000000000000000000000000000000000..76a4dba2b1c53322f9fb702b2050b98fc4a83b66 GIT binary patch literal 421773 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%0DAQI0%i|i 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%0A&hyUn?r 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

-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

8x|}u25~N3!XnLX#2RmFoo|IhX4=}#@now^ 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�won}wn+OG1xG$pj@$wZSwoX0q8nUD#|`VRNJB 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 literal 0 HcmV?d00001 diff --git a/docs/cocofest_logo.png b/docs/cocofest_logo.png index 7ab5405c457c620e51f23dc48927448c5762a83e..8ea48f5138194d25a973f452f1511a2de5af0d7b 100644 GIT binary patch literal 1097225 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 z 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

*bwyGX;fjx}ckrz{Z>Y^yv{QXihcch5^^*1 z9ZUT8@bq4{Qa?w`(+h#Uilu@}lE;$&R$jj?e1e+z^GGQ354{DFg9$A?H-P|$s@+#8 ztFXgH+~kkA)<)D_BB^r8^XN1kHwLWHuA>?_bG`n_JFj)q;4}+}2v7RI$BB%B++b$H zs^u;IDgcHzy$lt&DGb_$T^U~Ku1a!64n)%}S!jnhL>X)cH|;-6 zb)~BK)Ch#kM`DFcF5is`%m{YphSp2K?tgQJ86^7ZrwC zs$pTb9MfsM?16@WKEHL;AQ~3~^eUfIsObdW|4zw?kN%tC4(6lW!LXpE9q`Q$-3naK zg<82g5;H6ma$ zTm9vYOj~;OT1~vpPwmRH8^sSD<~Swcy(;*j=Nq{+^FRdxP|N_mQo@{CEbCLIqZ}l8 ziyHEDq64DNeAU^=x%a3AFr%TKMQkMvuFxw7nv^HFBgq$-yI=`wNgnC4S&dhw)QMIj zptzBAUVZ-s?k!LjWC$Hkj5Jl+^~m-H5IiRCp`t!u1J>kZ%|*5$(LXg0lm`Z?tV?J? zGa%gn5l9Iv`1!NJ@gAoiSg^_GMQ@BTls-ZHAnc3uBQQd$Kh1(ELVl$4eh zq`SLQP(WI`LAtxULAtv^m~?mkFV6|5O4X^dy9jQN*6A;R(fzK37 zx?*j>pXHw5!TP^LNss-PwbH**C0Tl})weqHG`V&OD79Xj+OxH5Q=r9DjBI}^nM@?q|y^PySogVm1W!>a!K^dqvQgU^}`^GFK~WKpZe0Dj+L_ z$?0=ts|LmVfC+u?fG`a2=v3bs%!5O=Vpeh=LW2lg^s&atHTlyCoz8FxWFtAV{nLVo z*1O*)xs4~aWV&zYeCG8Tk8f|zo50ctGwn508BsG+OiSFn#gi8V2WF|aQv(|J!}fWX zq7+LgUPayMjD(%?j(_}lfk}73_K9V7$yqj2*)jFYqW*YUY0 z5$St<1lIM@>!W{}L-(XTyt6USREz(1;IBOMr1l?_1(B{*byh|8|3_&2uhZ%$hRlBs zs<>7d`lQ1Yz*^W4xPe3Wf*@e2`OlsvHr+jG_JZ~9Dy!Q)Cbc5s;70JaHn+zdQI?K(y2KN7|}F zux42fa#X5!p3J?7*b%Bu#eC)qC>$=0XQf6h#=t?S#EJFSybP0p1Jh6DUP6SYl) zhTzfAta$Se4d5SN8*9Uq>J`NtHf-H!Ot6NhN+%lM-nx|KMuiFsgQsjjhQdcfDZGY? zi6$f4r9U`S(~cqeoh_2=Rs$Us_{M5!xawnF6q($t_};bFMq229izIx>_SRQASu3=b zBF4E@c6cq!+xsU-xN{q*)E|8|L05EIRapwE0Y$8*dqMTSxd&0LuBH4}L+@wUp$_k$ zxwucGQNv2-IHHEx1o+~65;D}F;{PQH$)m=^Q_>0G%TA%_k}!Oqv?<8!r2#d+QJI&5 zO*3m`Zv3u5Bg!mI9D1};Bub!d3RR{_zg*-z>Z7ov}Fpf^IakD zMPb~IIewR8&c<0gn638JaH{^uSan>vW}@nBtD;Ser6a~EUZfT?ba`=2$msFG=^rZB zE{pg7c^<-8$H+SKt-3_JyIbzwH!~PD zsKIG+3&$2us6P#t{z5w2b{L;KH&fE4vTmVU!i6}r@L*+(r(|uI2El$0(NBP(tMAweYuaHeRv5YqP;7O zWok}GuDX{ANs+>B%DAzCs!^IZXY`OKDW_;eu8}=j8tvZ@@J!v~cY`BbnG{&2SpyjTUlQa=T~&@)nU zZ`PO^?Q+MaH zOdB4^u$nSX|MzuLe1#_HH38?VqPrYEkmazQaDNPLr%BpzKNGSGeNiRQ&R0zuWhCJZH$s{v|} z5%r#!q5rc9l>AJ1iW(dPyv)$> zBZG~J#+`*J@tH6}0*WV*qI$9X@~3`m6Lu6)WyKI+_CFT)04ry*EWc6!C24~V7OQe7 zDlM1!lC*cp02C3N7OZR-!atO~KPCQ?n=M}9uA%}};*71!Werc=k#|d|Q||Jkp*k?< z-{Jw^l_6Z%A%GBXBHUfYz8f8yy2WkCNa#sB%6CyvYD_F?_PpON_3k7Qa0}ZL@FIg~ zG{%0Cd6_Br%BrR;x;@C|$L88g4hHr9RF~ucH*VLW+JJ{Z&di!n8r^Lw#l(!zwB>Jc zf?XUtC)Ke~4)S=Q2^fL;F!^x#{_!Eo{JXO!ISFKH!udf+LFz+*aB0*gJl$=nrl3i$ zP5awjKxO*+xZ}nDFo3>(;c8=nJ>yj7F`d=H8Ttst6b=p}GKHF+KbYQf4!+ZCubT2P zTcFqKsy50TMO4bu4*c!8;45(P9yV)F(GA9Nb~@D9ECE*be7}YD)r5hZM|9Q3E5>lN zc7#Ic_}GYAPgQdn@|caP&saGM%pWcNt6_aTOm^(7;#blu}00b*!aW!&ZV9t~%vyq5u72%>)-pJM&kH}b`6SZMh)SG5AP9A7FU7+KU}sJ^u^ zio)I9M21XazUGGo#lVy(Ol^7rRLdwP^yvGK7tn)QGCEf;9i406ERP06(AoP2;33lj z6KKv+aWJsSt-%h0mqWo+__em`z_wboi1s#Jyxz(!n3*+SU=25!VL<_NEO`P6&RHB^ z-v{~dECofrdqrP6RaecXO_#@I9Xk z*UkTAB8Pf*x(LP3G=Y-~lILB?OJ3TzW3hZ2NE0|MinaofKYZ9rb*Vt!VGOaqJFO8* zB1Auv`x+=fz=IH-Y4Wa+sZ1qJ*b#U>Q)#KuBch`^FUa`yHi^14r zxgUP{?xyxt2wYg>&={V5Br&wOc}uPJNY=s;^Uy~?aLL_jzcei#aI{0?NnPqqjYF^4 zTHkEi+)xES4S{qln&}P(6X|6kzmwGov#*MSe*!bQyU2ufHs{Bv z)TCJ8Blb0Be1eU3_|W;}v5#FHj^dXaL#%)V>-U&sPC<02^fN-x+EIj5)kD&pQ@jw!}3F zmp?iC8IKQduT~R+@(%l37@J65igx#>RH!P2AaE!cg@>D!szQ&l0Kh35k#>1du-V?p zTa)v&(5ga-u&nLnncgr6+VQ(977US2$R^RSqP zlpZh8rKagtGm?fs;GhyZrxo131a_&}hxHfHw&%0z<{eYYMfK-;DE9LLVVz@ZkmZEg z^nW(teE!{p+agE4Cj88?#A9d2W%U&2Z9K3c2T~QC$&sU{iO_&JY<`6v$79^6CumoI z?y!G&0Moro9Dte=nTlG%$?rf7jnOlH$If5z-Ew5#5P;6=4&~^LFS-X_c0=2Lc!{b* z2>^0ykqz+A$W1_g82JAESwa#F>M!GQ15y+|rrc}mJSQ(KtyW{CPV+5U5o0&1h3=VD zfCA!RLw8=?k%~(}o5}gmOeyq~q>jVah}PKeUbj|zics{4E^zeXadYsg^#Et*-m-IN zjI~jl`;QOZI}0xlY;a9d8EdpeVnG-(3W$Stn3$y5bYIOY1z|;OJKU2}P<6qRcA= zz!b+SP=Qo766#y3Tic-Gd5 zKx8<%yb@MQg1BALF*5(z;I02oqt%N{$TVX=eEetb*BPdeFZ-PwCC_P&8iXv0EjYU zj+>bk@|9B#3mmwKr*{3OGsF>pUg6Obd~@<7FR>O&6zQhDSQI1zPQ&Wu8R!~t{ol~w zBc~GiH;9ea3>19&0YSJm+WjmCB)3iJd$r%lgrHPo=^>2F0VdKSyu^=#MlkGo!gDUssf$C3ET3fxBfnF`Sr_bL(*{Rc~w)b;N?#aV|^!^{RQIU`To@B(k(?dOa0+>sK zBhSi1@W?NjY-(m;bV%z1^CH(}|6*+TTdvj|r*VCBh~47C9GDcrv>_&OIB6R%_6;sz(EjE$Hrtz%_pNGUJg)DL zh#wd5QW9@)UJs3T_Jb`DNrP|bPPqZZ0W9)fZdf+l``R>BB68wD)zOnmhWo;wzI;Qs&L2fo|D7D zuZbj2x5Lu}SeIw}MOuDgcQW<}4bS_LsE|lfRAjB=YN!%jo!tt5RMD~_?13E#riwhS z{Kv_S@gGIyq5|AK^q(}1!ru`sUS8L#X_@9%sX-w#Kq-Rmv119wC%sEGz!*RsewDY` zGT;cLZA%H~N@%tr3eRW&`rtS7{H)dK8lM}jB8h)8E4M3g$?iz7kd%$Xo zM~-f_SKt-C*e?L(!8WlhX49M;orjw*9z{>=r(sh`=jYBYX`6XfSWsZQ%B(dutzu5mn z&sI%SdVYdjiALwRO`XX?BYgZCP)HEK7PNTpxYtOh}R-#KgEiGL25fQHMb@LR=Z2H^>^g`(r zq_WW*dV1U$v3=)!KMa;*h?oiK&v@MQ2%NKoK52+sO_aI3&TT&Q-O(r(?-=<mb*S}`x$S( z9%T;gHp3&X@cA2M`;ymqJsqTkovT3L3c6ih&L;{^Az=U^LLql~Q6cb}LU$q8VAZbZ z1^1I&35ws0wG5RK%XAIjRVquAp#gzV62i0jJ-t{MCxO{F8%ZNg0`#e1R7Xev_ph;^ z#}naeKQUJ#kTS-Tu?s>nHDv(&7nma}A)DWMpB7|_xV@Q-HL8Qy;%EUAsH;pGMff!% zU5odlsE5%8eCqz*(83qm9uvj%vm!GaQhU~b2wO0p3!DDCxZ$0avV$q{6}V!%b=akh zxkZ~tR8KuMiishZnwlLYm+8fd5DmIhcSDnJFoCcG9TA;RZ;O!?Cp2O>pi&4VfY~>m z=vn!WQMJ7Mz zHR^+~Aaq$qS|D43*qGdYsdw>DeRv3X^6vZ$xPTyF^n1~JWmt=?f?gLR6M0+sw*y6` z`~q|98v!%^H(vi}ie!lV=LX?Xf%XP+kTLbjlXUU=2kl3g6pAcm`cBq5U>~$Sbj&4k zP6BwSDoZAoHbIt!&Y9Wwa#`c0HdCWuGx`&#BDsxE)awr)1=zfCB#UZ2#=CRoJP|KkPT?=I%u*sZ(^`&Ef071SM_OB-gzMhP5PT? zX^phgz3a71lQEPCHTtRk_6+9ZB^fD{COsUiba3sE^%}{53M0d-?kvq~+G^Slee5}|z5P`Kt7j$N4r)#UHw zCR&>J>TGHmUg=zrm3E%W4#09D3j721BoF^@mEs`kTN`}FgS`xAK+$x5x}V6}h(VM~ zcHN{ddFqOB@#xidTLz2)2-p>JzFQqdxH6WgT|@X@(WeZML96-UOHFcia@~>G&tm&q zO}`=68oTa^m;CK7l!M$XXm5fpv}|ul>P)OIy^j-H^WELe3B(FgyW$a2C}8sXuzetHYv(qxI8Ben?7Lk`)Udd) z%vTmY8L(p<<&1fVG#WyFb2&W_gj^@IR-D+3o_%r}CQkXIQ&+}`x!%`;VcTUNmyZeJ z=h0;jX_>jy?;BTTscK*=8J%6GBpbf!eHrRzo{e*IUj zV)(zkykmKtA)qAY=LD|1tE(!@1^I{*vn^%YvpDPD4OC8xmW>;k_cMnn8e^lM23c+{ ziw+$U#oZcm?c!Zc2Xy}4yO|wXc2A@w%@R<{PkFdm0ryiugJ5NnlN+kD@R(*nMe*3{x}>-`HhPc{~n_fE0YY0 zs4Za6e$HYhMqhc(q0~n)k$(Am0wy}wzRTr0J)~Ufa%{ZdTfu*2fCWCgAv?@2Jc%;c*qmDjAtdwP@~6tP+lrRXcy^mh}(Jq)cp$X_x+1*Li2 z=@v5A(=Cfyb(#MY&lU9Ht{KD_0nO$;E(Lw)Xj?jzLrm#5yV!V-bl5`+=m3g^Aqw(< z-9UW=iFxn0pi%c_Ln3XLB0D2vbp?m1xYxQbhFk1^aWVl!c@rmNo8bj&+m}~WrfPit zhO2+WQh%=hC1CC&uo~8NWcAOFPL`9zWTm6eFNMg(78_U=nTfsi94#SdOU&^UM=#~A zNCBz;Gi^W62iB>lr?|}w-B3{n2dNl$!P`d|$6Ae_{XUr?UYowx_G9RSS9H3Gxpt?jfq$FE z^;EaOTrz-NW2N^#X)Pz#PZ0@!acrzd$0_K=CNvoTp=i$vE-e)+T4~^K4pAYOML(M%UUu# zxA;QhtP%S2@E6Lu%T#u~k&6(&?^3Az?kJ#HjG{R$azCifEaRhw>%l)b1?!BKnY`nD zUp38nIqSvkba5Q@ zW*Jfx96^9giw3bn*{l#>O10M%+uuR13*H$^kOTw2N=6)NQ}=LY#&cN6N&Q0&9W^DS z;lAJi3VUWspU|u@l-7`E3EMLYOojk6O!>V(wd-g#cHAo(RA z!=>cnc@aWTUGlX*5A`FzJ-ZdCiwFCg%9^&iX4(?hA#$kh90XnbtgeE%K_;H@;B@I( zL-a32{atO8#W9={;2Z{58NP}R$8}afa}4)=^XZ%4=C@XumeBw1aRmRnm1V?%d`fMJz`9^+KRcGgvt6M>bv zbxO_D?`lIv2UC{k#a`q&grwlR$s|9;%4poC+P`3w24`RS`}60$kQl8l5dkevD9=U; zWFd1K@yh*rbNr{%HrWrk9CqDD+J785lBGN~4J;&fxQ3O2$kG|5gmk@(*Yupi!%l6$ zWa!+%_I-lRWQ{Gv4yW={9h(9^NN}W0T~y6weRE$>LqK6BGW2i&2rV?tCu%+zWuKDe zJ68>5fXksLOoe}+^&J?26a7ppdq8(WJzIG4hz{_+rp?uEi5ysV<|h)+e@(Xxg?`~Y zk=7@@z~v(Q`B&lDcLlg4&zKE8)NsF4%LC^4cS%jUgl_UckfwSF1sz7l`n z;op9{i}z^JZ3=dH+FxsEAkI&bijO<&@2u(UK~d}5uXd|E*GbI?@MZRBhlpBzB2<3N zn36tw+nu578*5u9%BEpR?}*Hd=xMf#D6OIMeZlDHdbPDV*mYp9+(X4Q>gn`HT5nQ8 zZ+(do0Hn#7C`*Pmr*0{SKJZVDArw~UIEr(CXc9nldMt>c<+-wmmM`zKw_P3aNh7*# z{YOjemEnI1=zS*`n+u1dtY>h+9VCsMi&;J5s$c;BQ)|xP0a^n5r3~8BcPbppONqM?uq*?YP=V-bUnr5)GS! z)Ul-Png0?Z0P+F4&d%py)@2c$Lp?J3)J3+y2!J;fS zO?Ils@Vtp`kyeYiBSB4TH;y(d!ys zBSaE3f4{+v0s&Iu8Pa!2fc#chkzSq^DCX7Kl^cSn?Sc^_60G>l`31VC#U>XjBybgg z7LMG)}nYnUW2Q z!0ueOar3b6cJuyD%ZdztWR;U%b~yiw@M$z9Bbw(SUYd!k!KXTtN_(z)V@Jv;jo)+) z$7@u2sINiBxONi9e=_2z8A3u4X9C7>1NwxIxf$Z%`ug>NI!=)`Nr|Cn@``_?yA2hC`1)(DBSXH@=4s9wXG$yNMf*FkoIO5&RiLp3YCdk4u|(za(ZQ) z2m=SCGRHwi;D-2Zr-&XwIJ?*m&X+*^$9uEM*D~RfRMJxNwZ9X=@&+UTFW~anxC=jC zyh`n!i4}~&_~Bo^dcI8TRWi~knd`N`3YSd!y@{he%Gu9Xy#|~mJ@Ma9oXshvKx``s zEc&#v`BX@`qnd?(bo=;oEf^1%t2R|y>XqeCJERGoCbcsJ(r>N6`**f6AG$UMFUZLv zu7t1o{&Ej};~^&?mIZP$Jj1Zojips1zNE<9WGdcN_Ys*SX{go5zpX_+BqVr`0~nM0 zOtDAORSl;dafh+$O5>~TN(N|zzk?03-?&b==B*Qdkk8BF{qBBEP+Xsx8G1#l5i-K~ zQW*{`noGbwn)9g3cGdu_;~f!yJg~lvvtQA(+1}kS1nCSHs3BkT*Ew)mn^=6%kv)`K zS2t%4q_-oTZGf%Mh71#jun`D$im#*jm0+R0-)chFdJXm_x>2thX^O1eA z_M#5URj8bDZ{^yJHm$TtpH~a%nqf7mZ8;x}{9h@~zw;dF|Af&@E6fyz6&qZb<=M5I zce}p8jVNG&@R1)qtuK7BU0&a?nrH(%fB$Z_zks4ID$cb<8Zz&!ryaSvlDU1{{8aoi z0?@}@Hrk?l?cT+?KS6At0W3oUyWx$R;HJ^mX$Tkyq;G zgUgt6X_lKlJWjSpH=(Spo~YJMdUSCN$#TUbs$xGPd+#0E%5eBRCH^by3YWq56T_lI$>paA4OgW6L+H>>|-Yx5YJ z6z|M0h?|jyLd%ACmqmY|d0~S2s)F{}93LK6YT!z#p`gzb(%e%$tskW{jyul-Kj(gg z=EU0+Ra2aT;t={v3es=I&Hp+Y@9U5EE4qZ(UMhzEX}t{0Jx|U^twDcnf;4KHpw7$D zbNA}vd!^kLY@XQ11Iw>WIzLYi7V7mi#FiiQQXnSk!vNCr?X?xR(pq_cPW25o6e}||#vPAj_|%=fOrEIJai+NburDZD%hD!$pZid&y3ec8 zPM-LpS7%kfbve89&dhB6$98fgJY-JlJCFQ5U+L%Y8Fk5O+Q7 z2qvl*xwb?7qRFb7QiFSZRLsHt3SblVv$|*VA`}Hu(d3qgdkdm?UXe;6jIXd`bo$fd zai%Vw5}Vk`bF@4CNb*YC@y$h6 zte6c9#fZ43wVYYeSThRo#P2=`@nIb}I6`!Fc<8zAu0P9*c089kzq+nlWoR3Dx{le9 zw;Qt}GzP!(!{J#T#0Q*bylh`0fvW{Vz;bwI1AORnqj402O4jRpllL19A@gs(r3Q=H zacSY~GjKt@W1_1N)f%RFDin>T(FF@YDpOeWl;dMRZbWkHUFZUrZTP&^Z_l59w`Uzs zOviAD2R?lD*}JPB{2b)h{_0t55=w{s@+*cmzDe6uVzlK1Q=-n^GQAUTeL#u$6?0Q{ zfXEePeU<0Ar;+KkEAKf9nWpSJ_WU&C$U-Fo8mti=$bKLPuiZ@Vj|k0$?kX+w1!p_7 zQr@zIYIfs)tyJAIyeNGr0t>tq(4E6i|CVa?3=?`1wCMagTfQ~=z=oBSM*Clv81?Gk z8>rYY1Lwn6f=8g5(K*q+H?Lx%VVrNW{K@5m7ujjo#kh`ps0 zvT;wr%a~Vh5|9Ulb+>8o@#-_yo+_PJ)@(H(548fu{g+{AWmn{pdJ%ccjfQg-hF=eD zgB4S{0w?yh-}FilP}oW=&jzN{k=oXh4v01@yiul--*3*mI%rfJzUzg4|B+Tu=?&?K zr>4$a0v8Jp4-ZT5Ln>r)RFk$WJ2#0!{p)SVsG8j{PQZNXzNPeni+Y9OcM`2uiTAsm z=Q2f+<(ra=rdT(J6WD|3hdacN4lL=#n%lU0=frp~WJgIG8HGk-s05%V|%hliDBC&bqcgllEd9|qVG6pr&IY^;W zWVSvz8%8K7K+ae?iGJTfqY0V|l`-ROgkv-4Yi2-iuwuEtqmuagHh|lGuDUS-M(!xr zb3(qssXFqgZ%tYV;ZOb~5i~znlShx;TvT1EN5MBu98W0q2D{I_U#ZB1@IB~<&;N4P z6rQ`PzVxv&q16yb60EW&{UBd}w6wAuOW|a%a~AQ@@+EP6y$2OCgBnMcr>H#UKR&}H zXCzab{wAPK z@p_5!DG!*{nK{95%uJV4613;;K}3}$U%}&rnye%njs(IcXj2{{6%*>|FlS z-k;{iRlVXm%&=b;S>)lz#z$69z0z-Vn#ns#FVrPNw1P*cW#7oLzMfqOR^fbLqLm31 z68^O;Rq)9wk6eJqK??!i54O_S;ziBR^h(NY60>cW+e;Z(o9|xK=4>slS>KcQ(C~dz zvp$5yzjJ*PPC#<0MB<10k-3oilcvT;FR@n?ChLiyk~n0a!9Ja??1Zf)g>`nAa2-H# z6Nw;6Kq-kf5&Gpwz)C!PT`!)%iMTI$IUYFzq65cPOXlSVlBK&(}<&N+9)|D-EufY6fFw$@k z1va30^3!|sg?;nAt&1T9uIpJsZf#z%qctm}gpS`2?(8p#;XCRROJ0|TuYEyF>1`Ys z7SN=T4;Lj??857Q&}mgXG9(xf7)cDCdeEMU>R4gV&h8A28}B0d4D5PMlU3j67k zqv7oJ#t^1mwtMNLXF(FVxm9DrE*FWj#=Gx3DS4{@46GX;`;tHX0h2+KR+?;6{l|0 z@__lL;(XGw(zt6y84;~L9LhkrI-=NF@mtvsm%%6*QGybo>D9G-(tJ5@GqvsqG zNz0!ElVIZc8pL*gDlK|nNg9N4@}2_cI1Mdm$}5QN@wGVOF_EP1B_@^14QK3tf`cY+ zqS%-%6B{aoRy9+#C%5<)MX@80M2iqxCDV;8xVRoIcM{u_$D+53w8h=pCeV|d;{ zH8vRSQ7QTuqWE4%jfN!mzFg!VZ(gYMzTus9x%b`svNq#rRg%APg-wUce!nj%q39eG z$9}LGnr4~qI`Nvh*tDpF^DvzvA;LkllE6PH*X6`IIfw}I9t9jxgA~mwt(c?(%_6;A0?z2 z+@ZS#C%mDRMncwVX2nZ$^FuEte3`~9&u#TM3zoE^nTzmd1QOqB^p>!dYrTmD`Xhg{ z3DuKzugYSS5L$^Gg{QplU?fgz4MAWpejwjU(3mEUd$t*(`Y?H2VL)4|*8Uy(n47%s zQ%gnc5ksloM^7@2=^0yPWj2=k7w2cBS!9%OMsEX1XpzKSMh3YYu!AiQ4z{|7(U$jj zwrt3SOW7WGM;l&UJEYX@5bGs=dT%-RHBCMDeNnYY_}|t z0iJ8TN)atnic|hf z9B@{$kwxU$gC^jrx_NXZzx(+*tjn1-^a#xJH$uNC^H&7xXQ`0?p$*noc8TbzSHqo0 zOfrb;57;72O4Urv@|5OM8Y+o@5pDlG1u^j}84z!3Cv zO+2fI%F+EL&(%mkHJ7lj>s%41T+VrcT$rC2v$`FYbPDEb% ztg*${H-!}f&xp!W-H-WQN-g{C(gR_sz4|LT>&+E`NAJ4aMF=u+j?61=jfhnY?I-HW zSUTMqWQLP7?_1^r@vx2LEte{!=~=C)DEbtIe&Wns2ezvUNVYJ{UH5rHQN80$8-$)1 zHlq|ng>l z)$@I9aK|!oGU@#2tkCj4t-dPO{pptOT1fbNU|971#$n371Q`OK*MKRsQ0_$XNO@+h z^WuQq4^}oe`cmRY5e%^kPAbcm%TcGxX1DlFRR#iE{ufR5TeO5`R(guYcfWSVCn;HB zO&>>vxUG{U_UqrSkFal;^2>}m)LqoSsVo${pEJ@+Qm0~tooj6gD#kavK5|7=nN+gz zw0sw*swBU2k;<{g_mQedW9P!o(~)jQc}B0Ep6-U=tGk;^W^QmwpH`T0r2`i77X>t= ztTagsU$fG1`~vg(^qg4HHO7yfZH{EU;ZCP3PgUPLo4YG~IEZ1Z?P*TnC`h2_Mm(@g z5Z#7*oH<1u6lo$YMDcPSvZ93IT{glfH-j`(f z>)IKbw={BFOaXM2f{JSSABLo`O6Iq@c4Eo(g?OAbm9C=?9(!xD%*|ZX#ytsGFBLY< zB4l$%)>YED*!TrnD|KEwPmjDe!QreC7MF{aSwJf{ACNy?SlIE(46K1Uz&x9va98Ik zjVwIU9O=i8Wpo$iYtQrk3&+~t%|S<^j+N8scx+tscwDN?d2&B&K&ftm*PvT=>c4k= z-TJ^1!(yxxPtFocM}`x6T)gt6uaKho=e3w>L`fI!7M>gTc!Wt$;7GiJB)dS<_vNs0 zcfptKi!m%;oHl)-gz0R*0Qvt;Uy0;OMDCbCNEPn&&}vD3o`3oR^Xln-!&` zv?OKJEzQ(CyYWl>XM7BKlb4Yi+M?@yJrbr2as6k<-WCR9WcG}nB&t5_KYEPgidUBy z_~rTuja*EKDW|VZ-FpcdN=qs3-4FsP@J@)NV}x8c{s_Jt=yvAxJNkqKNzVl5kjqXG zUg}p((G2d6`2tC+{6b?(-j9nc*>Hm+oG)BhL)CoVS3-YWR#*Xvq8nXsX99}5g2W|h z6hU8(X&r>$2zua)6Xit=--c>%Bkcdnw$bg{w5FI^%bWFpS-PA$O5IxMBRnHEJ`Oz&;7~OYKQ#X8q|)YrAoZ!wh~Td4WPEB? zs-e)~5fK+2S@<3=g|UA^K2d9b?PO1M|Og+7@ebX{{eGZ8$pYA~v>B zIMr@pYI5Pt{ay`f$&V->sfl-HB)(qQ)*i3cyeCGFsayx^%W_qI@MHXV70*wE8jM}O zo3r=D{jQj{UJu6Kb)8=pCRW>>ZKmmnkN5t|M>fAMl?j|I()3JPsH%RC+ED-^Gr7XpR;%LeQv778yxadjX7iz{ zo^w*l{_|ty_xv$5HWo>}Ef??5EWGqPEKM7FcplH+PA^sz?SF3Tt-x)mapq7nw(+Y5 zRbl0KAKTKISbFqYRv8Jl@i9A3Za&qiH}2_hbOKzRMy)5a^p{O`@mRU}(5PjM1Z$o4 zkdvo_1(s8gSnEIfn0CIx!y;q=AM*`F((KK;qz`4-$wV* z%Hh@B=}4b%L3=EJhESt4v?a_O$yBP*d#$AxZ1(2f-$F-ZrV{aZDqgQJBlY znY;84{(JLcWB*oiN^EvS)=m5ShWZG(LG4cu8D_raP<>$-FCY%iMypS5+Kkub(_3dX zQGWEWdwPgo*3&{}3!147)))-;`;M2bUYIn-s1A%g_#;{-&|p1d(dGpJZ|a_9@@$(* zpd~QGQAa<}!hN?&kiDl9qWY-iWT)LkF+tR81$wsZIm5;q$>Y_HJ5An>XQ zZ`KK;rlL>vsB4JQIFxBldz3kjFZ1!2lJ{U#zoy;iPs_II!fm6mj6z3QDRzg z$tvU`AR*e-iy1m~^n3!X)4ZXV#%Ni|Wp6Y@7l&Lhw(MeEPSb_+?0pcF)z( z>X~PvCHUq^aj1g-6oMJBW$%T_mnko1gDwFdje(vv#ACZlQPt8GPzGmA7RbaWm$TL-RuqUi!|hK{N1mZ2wh$;%Y>$s z9JY0-DE7M=P8B|AqTa<;Mh9=)+4OJsV35RW$&f&#WdoW`g@xL%7BLDoGd$now_Zv; z&rFn5;a%UZ2!N8j7zv!d7SoGO(b=l>zujcv_=+XCliX&f6L2vVVigqrU=6^>rQaLM zOt59qFg0f$5vUe86#2kXY4$_~U<Hv6WhiKn(Ya{4Z&sxj2BK+#WHT&ewT3=!}7 zp}3gO#CHaE&YfPVIr9 zQE0Z8u>J+@j)Q13DeV@~QoKP7#TyE?gCF|!N?FW{-j3MA-%xu7uWO{bOT!gTj+q8a zpw}mfx8Obz+k7CO6P1rNr|F{)1b6a=TdtgmBR9t7tQN-zV{b52MUB)GPjhQU7H9Sw zgC_w;MdPhS$+sL`bB#MteL_2ng)fkOwb;9Sn?_TNoVmTl3eC+#v5!trmN#(UjIio< z^JYyejk~L%&UMQte|s@M$5U1$Nz@!S^Z8_yvHM*%>8TkH-^`?KSDdcBGsP7DN_3Mz z3`=3*m%kCQ6_+$S$CmH;D2BA)2}#zjD^^*BKM}u!C9Z;ACfL>Fc+*RR-x6 zhPlEhA=xpN(#3v<5p>kCj9DK9G-_6+T-q2ThNE!h8fh7`Gq=S4Bh$Wa<;J;F5KJh^EG@NG*j=!+BgQp0l0 zn=a6;buNQ$D<-b86+QHyv@E#Jr7kxkC|O{@-M!*-7B`}MTwivZp*IvyC!PgMN z#0%eE7H%O`uZ7h{4qOr|Sl^}~dY9lLFO9wwc~D~Q%1eHoYotYH zPj9C4IIl*!o8bbZ#mle%sqL+xiLctgUZ6@q0POE~1Gx60MpT=>AoREX4mcHZJ!%JY z$8M%ys=i4rJ5j_fd1AA~{y)0jGAOQYTN}mQ2_XqCf#B}$4#C}mySuwPf#AX2-3ivX zySuwP-^#ns-e;d%b*uVUSJ4#oTw{*$*r3IC!7^N>x3$EH;p-a7mx5O%6?b+-;p#Mq z*}`>I*ie_`FzuA0aJzhCJFu2O;m)dWEdOnMCNcXca%i_~@A}e8H#N(BbFKB76Qt$% z%HsNx;6Ue%fymCh81?_T@+F~vWBqe*$1>HsbmeX(HBfMO-ss*C$39U)qnca>H?Le| zBLjF9LI?Ex?zyvd;nyr2Mj0@+xf%V?OVu~4vE7BZ^z^Dr!>S*EsjaxDlaHhB=#<^c z%@f;0m!mh_;$wz006TkIya{Gn*ckYwlf;-?=}eqItc zk)uuhgD`Kyvyq_rSx9w=tZ5W(O(2-ulnr{i@L=TWwL}mxH!24B4*2- z7_Ha5yVrskcXf^VTi!{F{Rr0Ye5&f9402&J?QP^>ix%0kf>fYoOd4LlWKGg?`@9+6 z8(2z!C?mussVg8{Liwxqh`53Gair>+tAQ&o=Xyd^?rEQ5d44)|=P}C?f1$FYD!K7x zt^S~Y!$V#MyUq1Ijr%YW@Gc?4uR`bJ_QRc|$~2 zCeD3R4}!S&y3{r0vv=&af+prYdp&MMD@H<2A@j2#SQ;PJ#xp{U5&?o~$}3VPp0bWj zNz8s$7PzUv3Aigm_kH18D>%txPLacQeOXRZa~xceSN4;2ZF~8X^YvviY4n2}9)d?? zUbcMM<+PIl4=`+PS&g81w+9TA{?jXlZ(Hi#A*-*&k>6<{PRf)oz|*DlG3azO`O6HW zCj3G-l2QK3HalBOt0OSOJRU*s$g600tl0YaNB1?{pfwdXcoUyyb>af14RZ|zT&;qu z*^h`KtYbk`&j-WI{6ndyA-1SQWoUxtr+l^3p4$VHx~sEC@eivEE>)k-oRauA6AdPE z%|2vg6H$WqmXHV^=iIQ~B7KQo%SC*;KGD%OXjt#r)QW?t3_%&rSx&{@l+kZ~KqUj< z3I(Tk{W1iC#jgxNBQZc5`Qsk?x-f^h`FQf6%?W06o{PQ}LC7Tb@1J^x^W^}}11^p1 zP~spjFWrj+w3)p}w#H!a5i2u$-$u7fs*I8Q%jad+gqOnLoH4Gw_E@UWiFW%UYQ_QYw^P^18_jm?ouMTvo<20-JbW? zyUWj86MwHqu&x~k`RdKcePeJW#U&D6ESV&+vrPVBZ5zT#@wF%BkiNUX?8_RzuN!vd z&XvcR@u(G>B9F-(zn)tSoXqj@!oJa3>MRNDZyMOai*Zmjo@1^jtiYk9&eLNW^C{ot z=uWsxS+>62>F-BonI75&?u+r51gYJSI!wu4b&qG72mjsDN4beV#imOChrFa!`Zu0$ z@9c@zVV|1_OIOg#|DH7gwtTyiU;w%<- zbxVB7XFJ;B;=R38P8HC0AkuaEh;Kdq*$%d@TYTZ$em;Y;7q4=Yw3>057Fj1mT_KO0 zttuPP>Lm(}JM=7I@d7PtcDsZUf>+d=lLNTLuix#7u?-ml<&QEM%orFgA>;{o zE5lY(`gqOU`KK>#l>_hK{#bTmcP9Or_}y7)Wwiw|h~y8_F{uxy?2(j+~&8 zLfA?zo6YNs$s8NZ%7K*=^m_s=@46vn1|Z-T9SY)VLiuLJuOkUz>zMC8mz$MH=R+QT zKxJdQTvK-lcHFy!;s!3$9@MVu4qh zyln3C2G4h4UnN!06>^tXD}4e+pb_lB{E&{!+{ZT65)GP*2hW+&tl<_eo9!Bxwv5kG z*xQ%SV(oYai)(ND`z^Go`rkWk!3B|Yi=Q0Fdz?t0=+{ke8VX&HJm@xWRwH_kb5?F) z*^t~{1IZ?kqDE2A3+&`97M&{EHaU&U)mTgR*->nym3#hg{UiF%u)|b|@o=P6NxC>W z81r_7_`#tWzMdpduYc>y*~{xOJ-1M)m62sy=W26QwBVy&5E&HP{7kkS;lQ-|w<;=* zS5btd0@14}N&t5LK?)+U=TUFr8m?XU33|jH7iJq)W#dXAVt%uoRM0s(`Q6ISu{n&qu3M0QePI@e{uL!H#R4!I%U_Ew(tG&CFTX>;K+I>U34u#q=`GrV7qi0Pxvf2 zks!d1A@6AR*d+)|-NkbIs=K)4`qXAxVWd{csDx6a&5GTVm&(YF);uUig2R4A1U(b6 zEv(;4f6_Z~dkGK|btT2;P}z|RBb944Sm>>pO@@g0XV$|5{+*^=oMJ>kFYt0g-`uQ! z`mNL4I|s-SlJ!TzpgR z{!^!0QrTh%EB7b`F!x_Gj2hw;^R zWN)iSFV!<}N8Tz3amz-_*e#iqgH`x(qamzomAjQ~;2L8z=6>;6GRsE+w$<&Zl`g(0 ziqS*l^%oUOmh?0f{`thDwxgl}H9=e;+Cq{P1KUdx`|E6yS2iJj7HYQHFCDsU*U0eC z$RoOq!A7b&V=J>%@cjk`2zoKfKFj&f`hNPUz2+8Zsln825PkG%Q$Bn&`M7sZwg8Lb zQy)dLi~~;3&B^xKzpFGVnO+Am;V3|)xIyl7PcNHtwAEr}KP|?`tUQ|qu9IF8{I9m~ ze@OOS!90kGf1Oa1wRzu75MLJ5l#|;I&iYo@UKsYTDWoWux5sjz4Gyk=eR%R~w>&+> zcYX{6^~@^IVlD+Iw{RY$?%19i4vr(mX($T3r0hvpT<-$J`rLY3c*^jRD9d}BUTDmi zc31NKS!ycfV$O%V21?Hxt+TJq9SF5NVy;ryajMIg=jS5hoS2eqC`!TBHo$a)<7~(m z^aO@F9&s_y&HfX6*1qp*afRE13{g|DtR&h?Chh<5`hdeJKgE;_6X_##i-7{Y`H$BuF$g$ShwX&aHuw ziuiH3`%NHa_04CQ91k{Ftni1?LB_A>Y^2I!lnx-)ceG>5C;%&9FKrzZsm2c6Xj8*+6(lW%g33M5g{op=VaFi@IIF10I@u*oZ3S%6t z@$KAGQzPxQdr0nd<}HLe*mxbezKHHaf=vd+uN7LMSJ6EQ=w+6{Q%u2x`hhyI>%#pq#6OR- zbx6l2FVPi}%tHsrdELL0@2vU~<74XUhD3!o6{iH}cgQetQ|;tijlk-h?FqJY;o5W; zaNbAzF~#N5ykvib7!4k?xP(|oRfrHnge{5!nJ25n=lv)+dh-@7G?1ZP2VwCf){R97 z#GZe>K3Ey!xKs69T1eBky}lNxO$}XYQf|6Y5Tngdgqcuau>c(+*7=Al=E96@MxfUp zFGAhnIRs;F?>ApiV)uWiakT$T<0(!Qw&zNfJ6(WNVORCNQvyCw`z<;`-3KIMRBF{e zwfH9{2LE$)%}Km%pu3OW%CSrS&gNc0G5nn@a4Sy(U`aK$2Kw9t<&W*j)l|djR~y^$ ztyK9C;x#r8lum2w^e4$h!3}q)peMq<7O>U%xlOAfv?Z02f+Mc@?t^+XBg&E}cdUkp z#aV3el{MroxQdEP$C)0?YvMp!GriS%sV4nh?vL|I8%)TKGQN6x;-`}^TzQH4U9nWa zKXp+l(@`}zbM8ZN1=3*!b;=s`;2rZS0N~+x99W-yO&;043z9%wB<^ctp~&7($me8w z8P9r8M}1kz(F#W9`R+tQ8y);Q4lTkVG;@1rZ>boogKAr6!YhTHpO8z9xeqse{=0m zG=FiUP$gC43l<6fRREg&s8aj7*iNES%T4lBGKDB6I4L5x3<#QDJUoh9-sxp02>F=A z?Y*$taY`uWU}T?lVuMAU^%FBoEs9<1sx8Umy3X)(DjR@S98#A5HGI!g-ckFE%R6z| z{5Z^m8!{$&4OM_ysE0z)4Ube*&Mq}kO0@t$JY;WcdL(O~3i7${x90~6rIa(%?&>Go zDx;3n;RDHiyjwE${n2SIBs17;FD}#uKCbHMf)4G746 zMQ*MJnc=UOO<-g?JFZmV#stR(SAa|ZE#NGWxY7of!Nvv*^cSqaKArQvPP(vrR~Ql_ zqICGg+C;DHgE4Mn6a43TR#qgJD z)b>-i&W0jrCjm_lEeL5#q?D2ON(3p)fVnnukj6>j{gn>KB>$rmNLsxIW09 zk9c!36*=T7`QFPVenX?ugnSovP7r%R#Yxag(B2=^^YWfp|dtP*^5NoYPg9j z*33EFo(!-cl4AD_`k*DSViv3c2AIvnLkkZZ)R+e5%QM9ie%PG1j-h=chzX3g@@6I# zcvX%@C+rA7LzT{_%@^}%VO)LP{3=c{=xDNdzl5Ho-3%79ZYa+#7&Q*MWb~V6l31Vx zTDzII3$Ts=3gPvGFN%XV?!~%wzPB!GW2wv51^So7FPmt=^ATwN>n~5LkK^lakUBmO z)kMRRs_{odRlvtvy8U2NZ8uqsJ?hQ<8u)FQgH8**_agFa{<>m2$L!1E8n?6EK@kL4 zFi4oKaJ}+b8$@vmDf2rGrbWFYwc(I~-b?hb2~DV!$wK4N!mx#E7!xS>%2k(7JX-Ga z<^WY;xuMvImNRpicW?nfpXAeu?sVx(-lH$gTGt&eaz;TX^L~dMWpV#dt^e+$({l^f zZG`^^+|td0FqYdz&;o5f61+!_qVjNVHaH4xpN+5dmKiw-6-aE9K0DWLGtUMG1piU~ ziCLtD*fzH+p-IG-&03I($#B?F^6`C5r7E~~6$eN9vX7a7_3RR_N79~=rx-qgwH z+0ePWTmFo5DR7`hcvSoFA^)T{8~wGsw8};!@-)ABlZuW5ICJFi8JKO6ibNKB*2z56^QncfZ(l8zg&8n z+bH6P(If(nii14^83?f&N}~&L=1JQQlGiCBWnx zHk_EG&f(E-vwmFGHY+RuXp97k0^VSUDoVoHVEly`JPu50&SfpOZ_)-|dd{7P2fWQO zg;RWrU@)*|Yh|&leVcWzeV5gkR#TAvW8Z~q@QR}9c*^Lx=kfaEQV8##Ir1$0mcxp? zLY6@xU7ujLQWHQJ)6>*aBRSYrUy+68?`j1#&D8R}{#ZOP*3iAS$9drT>GjuIHlFHu zOULH7r&9i7(Z@>CHUT>P&cYLBBB<_9E!X*pC$826u#LDvY|MLQ<{L>d+JH<zPz-Cf-I?ZVVonyuU(%AprmeA!RH{RvxG^Z(z=OoF|fDpls~b_sajx#)H~4I!8E zvH~vqf!T9)zM?71PI666*WZ_)&dj>a0riP7RDafnUH;DH+}?D>zGXrxA%LhW?;e-l zaM(qkUiG@LR&Q1)2V&$dhqR!*48|L^P0dOGs#uC;23kQv89%&hJrMWKevpKYMpS0Q zMcq$`$qpe3i01^?v>H?O)(^N@1H&r>rlQ0dn2*EPK|dSK_?ASTCo71i1Ige-UzJ8e z6?wP>M1&$uoqmNseZpe;q4d>%pppl1Iqh?3g)wf$THMx z=~rF-p7Lo^9H8+5^a#%CxEs*jG=2@K>UU;t?Hbo?n_;Pz1Xssy=sG-W* zSiVEcOG>nGMQpNE*#`*C3BpNN`hi^?LR2U&!65s+=UE7@IUQ0aRj|cz{DexHCDP$# zE-DA~$0n1v@w-j|FPQ9@QuJii8cWq=KgoA!aW}hCcK64>4HT=@bCT>+N_$|5uWw zp?krY2!~dTFuAJGftgZB6O!3bm5c9$`>k+R=i5c?o`L7fQ4kOeva>K|3>Ix^lVfH> zb(sp6O4iiS60FO{mU(%~)QT|kw(gxn*O0wCtV)xK)MBQ9Iwf)AGQ&$lQ&VyKGkjfLID^_wrQuf{&$2l5gw zMs8Ogbo#qifCR01*FaUibwe0dYyRgioq#!#jF$r&9~oNp4ujJZtl_4oHIIUtr&>fL z8kUOx5gz=jVh;rt{aY+E!{kcUEzGtU_X>o67Y@#@l^fKMG!E|56d~DZr_JM{tE7FhOYY z@-k=ca#4UjNIZ?V(+Wf*of{WKMM1HH2WN4hx_FX~2MGQ2BG*z6M{e%~trlNL7`{aS z`N{bq8oBp++T<3&Z$Q^x%pFo2SbNHz6DpJ?%Yj zc{0Eb;XG8gEj}0^18SrS<1;*hdz`e`8DLGhs zTE0?S=I7K%Q)nl5%s;#Jnif+7D8JgkQI9dPpd16rn4E}q63j%B0mWpAw>OlHfwB2q z_A%+vanr$*MbnLy3*-5gvT$iBeY;NYCte@Z)c&%Fq{}lV&1nAlz8Ycw%uZI;#(TZf zPxr}a5T)OLvrDsF@%M&+be9Nn@vydl2kx(m^*eW0{ds4glS>)@@p0K#WpJQ$RzX)Ej3!Ck%QU$-{;9dxU z!8WQl<7Pu3+REKvsd|<5-Cxhk%XDT2?ogiGa&)nomZmaO_Er!;{Fsi($%^b2lgUH@ zay|gR%P}D**ZQ$blliuutnP4pC9j%>+4XEZzBxY{bt0KmNy~vJuB|7=y?~Ais0Lap zONHc?T{UZ5WAfln56G%oVQX7`tCT;r;LiWtnT7^xA?`Wv=}QaRCkW3}(UqCv`xI)p zhhL}nXe^H07<+YC4+9COZ4QdqbhPl77pdP`aXfc;w$BHCBgs*<0FD#I+b(@T!V0U3 zkO?&kYJFT1drNM7zl<8uWy4vf4YFpDA(6+?-<#4ndo69O@|YITKy^xApw%Xk#}H&ojR$u{uN$4$IPCLI#BC^%Mfc46N zR{%p80T8l`zqbaQ73hT1;R-)zsRG+f+2g5_6buuiO%&k}D!8(@E=^Lav;tX1n3waf zu*D`7KbD`T#QeO-T#QmI5H_F%z2ox^=+d^rRTgX_x|^zLMW8JY!Mp(Q@}fMLm|%)L z`-fenQ-E!%XR$xmRJmA*VVkyV!&$apxP1YqZGHY>zNhqk`<8+4!w*fH@fqvL#0S*8 zqSrs(fZK@d6<^l$OLeMwlC~2x&Y3qA;(X;-4aF$Xe%kk4gXwMk#h=Lzi>oe|Gxr@a zjv>yChn6RseXtExwy)`av1bPo;f0Y68;I^5)FGCPF&4=Lr-jaM zZ4B1)pJ%ZBX$@;X*zcCo1Iu~1c^zi52=IpW*Db_sag&`IY4@K{b%H@AcjdCbalZ7G z^%Z1U?Jb^n`twM`u0bEq+h3Nm#XM3(P4;y4hL|b*x0B|B5gL}S%0KUn;6FfXQyUWvdiq3x>h>nRQGL(M+`!laDK1IyUHoDmCSqT#~Mq2GegD z0)Rf96v8Kk<-Gdl?dI1Lk5f3R3LW+%qwe6ra~ib~0&BOZZjPGwylj0C_W}cI%2$RK z>lDAZnhSg>Ou#w?%#Jn&ALTSrc&xG)Yn1j>KC_5P;=)7EXU{tW-}jY*3rtpp{6331 z+C>fhLH?KphW*#Zwzc6~&4iQk`^$wsc^xg>Jdz(`BmKcgteO#ubhPP1V&>+FiSCxMEMccM`a!Q@U=ZX zGT=IP_RyxV6q0^sa$ON4A10lU5yN~HCLGL=1>v~8F+m)5yy3IL^zCGehS7>yZO2W3 zGXgW_>F{mx*zkGI>8hT*%%ZKFH8`<~=BI&A1OJj;to@Ml?q?#)j^bn-#7s z#cIgS0h-a1b&Wp()B{OoyQJiZ0-4`q$$sW_oR^rck>q5s^?e38 zz}5(QxUwT&YRw%MkxpBztN_NQi!XcPdN8m6Jsk8Gxieax#u<(-GQhHQw&Lu%T%{S& zK@w5SE0b{z-{UkXpkvdN9ix$(CF50Cw+x26hTOc5wRqr^e zvrb)kE%XWG!%ZDf#EE+Ub%dqG50!sjk0hCEdFbU6(cyES^{K9d0J2K%NfXR^J?6w? zq~ODM7x3f6!`B^&n85^m#s5CpW5oY^u;1aO4;zc4jV=e+I{LC{G|5+z4q069_pQn0 z32+!sO<8+7&z6POK5K857{z^KaBx(P7^Y~VO>1rKZ+}_bfO2%NEc<$;0m_5s1L`P_ z&jmsRT}r?qj#qv2v4we4O-U-yd6OA&jlpnP{-BFUQ2$8aIwGzP$VMKb3mIA>0O@va zqwk_}*8v5<+Sj!ORA~ny+C~==6@GtbyH^M8@;7w-vGgnCg#L*ifThn@+U;%LPBt8~ zr{>HJg3V-bHFgU$p+#^g>X+&-^>^FO-?iM5V^e(2g*-5`7>bcUlw68-{COqp#n&+r zcGSJce=FgK<}Z>w0&J!s%(fZYBto}hiPO9x-}+&R-H272yj*$_y&D{+)ide3_b+} zR%^wvDRA5wUXjYByr&a?eS?%Remi!~D+YvSAC4gaf_soUDlQAVKiWOEg!6(U7ch!( zg`ieZf64FO&No+qu<2r&px9J;6QW>w@?#{k3gW(ZVRN`&#lG%0Xgy$GlPRI%r!}=o4gqWrH>R$j zfOeJ>k_@vx5QhiE_=YAep0}nVJKMthdoYVe>W=Ft9GTrIg;H0Iol9idDEg%YC`bL%d(}6ne^X*dsGSL8S zczhOCw~y@u-4aMpa?ql4ZOkgGEx5VVB+{Kj$kfw(6GP|tC~v+-wzG?)8zpTaBG(Wb zwVbvB3pcU?BJ+;hSQVegD7i!g8}}wMDz0H-iq(BgbeLlD(cmjV3dTnf>>-#c&Rs zWzK5r)&sx^Q6y(QO1S_z9E6mSfQUZ+3%!tcFCS==7pZUt+HLi|bG2k6zvxagb9YQt z5(bims)R6blQkQ94>)r+MAT`AYvR~>IDF8OnBtv$6a}-JCM-(sHc9mbJif#yCh7}v zOU?@`X}gbxNn`#&4k)S-*hvwEJTU+d56F?>Y-NzS_VU&C$y*5}|E2YF?ma0@EtY1B zPHbD89(@JHT*ftDhs}!=nTAd_71p1;bmW>v8lsaM7R@Vt#uAgvJT%=t3o31TNHXGn z<)Z^^x2>6cT}C##GK31lIktfamB|1f8Cm))1W`H;@r*?=A=Cpi$Ug!pgZWh zh^#1aF)=`GWyRb1%aL!TCEW(~eoZadPm8{LnXV8md z|AD;TmJmw@-xIG@wju&6tRK{O=$YHs5pWeS#BWh0yPLvJCUy#3(_umsC+Ww}6krmP ze-2)|to2ayV;x~*_k`L1WqSJ`V(2sZe{O>>3>&S|m&x{vYovTHK0Z7w?{w`1YRU#l7aL|;ZL7y%$O(brjCGF(8Su|pV(PgQ&GS( z3wOhrw>*TjkfIV54l&#m5J^iWQ?hc`>=1K ztCYgferznQ*p)>@=dK!6>fc6u#3(PpoxMv(#sDlqW7{%4IswQr@<-fGsTOtGjtlo! z`jkfo0L04KCLnjHlW(JI6tC|6wp$1!GWzK+V+h*zi1GGzOU=pL6i4-|j`d0wpbH#& zkfY`gjnpSXj3Pe2RX`9YmavFXC_CRNA_#g=1f@Syv1ds=K`!x1Di=SOLskBFwDjhJ3QeqK8nld8^Xcu0&S^!9L0q!o$W>yzHH-rM9(0`^v4u~6~) zPSRb2c)kVE=sX-6TR$D_Dveisy0uS5^K?9ez_&6h_*xkreVY&*tbEv0auemIjyS*u zb zOF*mc$=6>h4PlJq<+cae1zrCN>kRsXIOIuJ^xfV-Ik6J38%a9e2Ar zAzPetK9&1U^f47TyKi=R76#AaF85I;`md!{Y@#NwIrxQU3428f&Jk-CK-5{Zs##Hl zb7}JX)AI9CsFlMDATgAk2|6f}53Bo)*(2j3W#a+yLJ<;OqQy-%xF^%?q4b z(&aP)Cs$8Sj0)i$JnlzafFIhV$+%GTJD#mFz`sHkr~z(U71DumgiWZ~O8+q!_!GJO zhq*tmFSGGjf0H{@y{qdj+2v}r0Kv4ON^e{XXBK5Hi63Z5v&m!d3$52NCH`AXlwksg zbGxmtk?I(^3eN7_k~_YQ*`K6bzJ2)Nz7tBcwJC{{6k`DOh4XmXm(Df|q{1j`d(-%f zr+?ILi53>(!SD2$@!Kj^Xi*7LcUT^^^gfUWoHjMBn(m98k8l>&+R=x2tB=gHz`}OU zNtGO0$yfg)KZ~qP8IqD3*L#6`_D? z$8rUC#WOAVkj{(k!}H(t665Ynqt3qop9GuF7a+imngj{k{2uY{&lRk9Wvil98*8!V z0iWtE=_(`nW_K_9#bJ@5zL8hn&jmtx*}aUoH6F9l+^Yc)CILK={N=%=ghlPCICdpq zl-1<5oBh;{@qPdPI-BGAVd@O;2xoeb7;5SRdx7YCE1lamk}=P$;N?ZL$4aKG*yJ9p zjCNTROcO17!JNf!M88_i#UY1*nEkjYGBjF}w0))L18($}*0FBVabf-^XQoyOW%dhZ|L>0Px zLs0*#=Vpb?cOELcoNm$|-}S^Xb1F+}duQq}OXs2Xrj`V(a0;S5rrfQTiIRsGvXAO*WAcPdH2xn;VGz5oqyWyCoq4tH`U(Ao?>UkWiXbWp#0{ZiH% z7PHbCy-J5?xLzu@P=5$E`n(i2E3AeihsGkq8ButiM^24xalHtxc=)^Ckoq=s$T&Sw%`tGT81^H|-~ zeJxH$Cr~zRz5NdBeAzpIdObgq<34u4#o`aZ5q7Q?Bta_^4#CEs%9_qni8eO@@=oG8 zF1L<=N5z{HqlbCoX8K%i+Qj~nX7~a|5)?D{z9`;}6LYpxZNn>;J@P8T*R#FZ^Zs%V zXu$g4g!|7lyB0h;WC;AHz;L`Jm7{Qc`x3qPf%W4e#o-RIm{{p_GqKmM2Z?u9?{DR> zNsy}G1ldZ+EszT+FJD|gnu3$PNfG{+j3)6q@F`g8U%>(PpS#`}`|j0Mvb((AFUEVk z{kT8=`IY7J+Gho2AVd|+GdDHDbh;a2LJ&>FTv36mA>mHlaN{_wQ?RwvESUNQNJl~g z5=#Ip>$*%!^l-xaHAZr$0dic)L{Tzk7Y~!kWkkXDzGIQ+(y-cswh+}~w3rW?6K75S z&d*FFF?*4-lIWUm2R+l+oah+b4FI!_D;2%(syk!2T|+;v^(^^Y9dquzLzmwLo2&G& z((N|7$YWaoRRUl&Ka>Sd(t|4C1ylRuf5+&6vKegRsxuVyUT!SX-V7-|oLY?~2}V`c zk+AsPm@dep_G$1vF6!4@_w4KkQm8!JDYM*5B)i~xFS!PCDAyJPqk{eK_7hKFppHBv zc3$AV6je=>cdg4$ajDE4{CQuNZ|6dFD%Jutf&zPGmW1ecHQ#XeepV2V+0Mf)_qk9D z0a*<>bag+RchGwrOE~bd&6EI^l;zw9^{-K-{(654G3t%?&Jsx41^?a=i2$|xo zgr$X8lP%79pxuDq(BA;d-#%$;Qda&isOU55e`W(M0;oCZU4*~RY=#;x)dK)hB;y^4RY29Qqatjuy+#Jly*kHPklkFEyRt&R*v9~9k7YH| z0Q*?=>0-Oq zUy^^{eOimFiFP^`5#O3(H)U#IDt?3qtCQXH9=;9`VHL+B-!OKUaCJO@NKHwk751)& zA*X3QGyEW^vv&W;)qI+uidsD8!+1EPP^IcyU@_8MbtYRx?vS12K+619ImKD)ucNf} z?Lw4U8?79Hgjt}DQ#y}P_}Y)P%zw1_s+gPa{qZ9L564+iH~`HWNlbvM#pCL>?VY%V z2iU!SuNB2?wY!r22z*VJ!(O-=wz_G^pCF}1d1@*pljNTl=b{B&e{7v{Lor0G!=?$Z z;I70V>;4(q7C@fWGo4CuV~h=^fZYTR3E14fV-o@*d25|tFC%EqBe^9Qa^DSDhu;T8 zlgi6*Si!7rKEj_I=YJ>QPsLu4P)v!f_~Dn;fWN=ZMzc8zY$CZW=4pHEwN_bgO5`Xt zv2{{L)^u+f%&?ECG_h&}G4`^tV!Acs)t1uR$`Vjzn~i96B)Ysj64V~`9|N8&G|W$U zd(s%GqJ$X6vodTKC-1LtAbj@>bH1g%OP=zwHgAT)VIN6VU@IIXO6#kBucwmdIL#@P{pwz9Bs>)dCshIuI2ejRfI_N*+Q76u@3}LQ$|;Y1Y(dE#jbh{ zUhhRKwjultO;QP7Mk_g5YTbIH1A$b7s}8!C*%VHEA0)?&Fs!J!-#6{w;fnG<*y=!+ z{Z^Xf5TMw>J$POgDn_WYzk`#k?6Z`toOJ3c^es>HpOCX7M*8n=-(Eoe-?p1UOvnz# zS*k-bvt8J%XYM&tCGpJK62E0$H>@WL0Y>FD8moYp2X^sV3_I00=c9B_n>S`|wvTQxjpD5@TA z_C~+3lY-5n(>_EYlFsal133d|xkwGLKfKRgSMXNuH0RSl&3Um462^rl+GmB2Nc&PrgzHd2qyn^@)l1R|t0*f)-?={$2 z)Tl#@cdyhD!-Sa}x9a7Q6v;KPh|wcty zprWC|dU0v_$p~%t5pG%rLKo}ic*;*)EwQ7IF{YeUL|y`s@W6$UGfc%z+=`U)nE*z9 z3~MoC%z;q#cdluIi`E#(`fGRG0R+u>jB4p|$mAMxHF%3Gcj!A7kCvSJ4Ye+K#3?S}pG%1*>ktAODVXJ#%o3?ds0l zjWL482Ru2Om$rk;XT3MkZFnY{L>Ze0cNsk~ve{-cBNCA-;_ql5bKX1hKcF;TeMI%% zm1y8?_UOH+rTegztNTh00J%M5Okubi<72(yvO-{F`RmHmV6-rE5D~tTl0>Ei`Bk;B z-?6U`<-V76@gykZpIJ~S2YW+4uv~nbK-%A>DfzFyeF*J8%Jb( zbJRFJ2QD*uk)6MtoC2N=p@LJ1ug&KVllme3_|ddbs!A%^GI~XKxr<1knnfVuzzT5X zilqP020OnT$zy5tmQBA#Lpgs_i_aW4JNb_VY5n@tCBrViZq@a^_Oc5s+bI;YNelt5V_A`V$X=K|%{Rn{w##PgsI#aa340?0et;X(Mk=f#Jd_bXEL>6M6bPhbT!3Fea^N%LjAfviOH%h~{-04a7yRKAfcG=8b@$>beH?m+RC0*|H&X8__5qX?<*|D$iT1t4 zhV68_i2ihvnYR3wnn-!nsnt&U^)?r0X}8$;F3Zfz%|ufO8lN()vfi{;W$i&c$EVC{ zXgpRWC3|fr8dMfG*`WrlgPTN=9-mWzaoMp;&dK}R#VtwK7OE)36&0*ME~!L)Ebv$q zX|1|Pdr55WZVuMIA@jnEtmOQ1{9>76pZPY$>(ZktdE~yCWff_$Bk2wdxBEE30^8H- zA%$AAobgBkE4J#<-yT8;cK@Dk&8#(#B?D=Qsh`}p?aAMaX}q^}*96${yD;gSk6x2w z%aIKD+LI@q=dvF|RG!AkuEi-}dHVELVjQ*e0>eMs0WjQG6+9UD!!zkes~T-w3Og_{ zNlW-A3Ax&G(^{IJx!p6xcw}Iwt@ik$uM;S|kXjO(YHY1Ocbw4keYs|32+x->&Yh3~ z+6MZ)D4**FD!XP{&!x?~@|&A|SR zyU|1=;$sTMyCsZ5iOeOb?PxX=h`yFd1Izhs&nggYM18SqMVVmM|9B&B}9gUJs&X)<}?~sdz=G|7x%)PG9 zg*M$c$jDWI!l2vXw8w{oCq58>V)<=XmI1*iV#aBLytIo(Yztv?NBB@kbar9+pqZki zj*lU5uFmRbMk~Ke*R-JhO_gGGYM55Uw`7Pz6yyv8jq) zMAj&nRc+Wmo-rTa8?mb$@6I3pXse+Y*PQ9%Se}(N^6ArrEk7Wp#xCC=qz(hv+tVa` zm#4kMw2EEao4TO5I(n|FU#rmm6gZsrBzwaU=mh7_%Z>KKph{e)2RCLQ#o}$l$2)+| zXJgsY!~MJ{DNf<)MUHLSzA8h`>s)ANq@wF4P1ssD*yEAAt_pj|(trpE&T)$e%!c6< z57b6o-|=C*l%Pe{yO~6L1TraxcC>ovB5C zbBMxmjcz6$eSd@iaWXYwP_}bM1oWu-;MbsJg`F=2JydG@HWz&%-^zW~&H7UPM4HYD z>GKwwj{+uIbE9*CCyTy1g8-pb8I8$UP1y#ZRy!s^z}Z$bh5G@bEz_$zo<7u473di* zH-aqc{wb_$nY%xvp*0-{A6b>H<(hiU(cyDL?^A6{F~8ygkLvlzp!2w^(f~9g8FYAr zQ>m#J@PpV0cGDo<5oCf#LI671K!%dV(c(#_?!2Q!n(l3YSqDi`{1ueSS;Q|=9ffG? zw8ZCfrJ?zPZ0s*bhXGzJ%9|ieVd5!D%vtZ}=dYw1+I>%4HlUlRikzFptp!#OU2iOp zz;S})6}QP>oGt~ewJ#4gKBEP&4T++Op9&I^(f*;oP~Wz(FM$T zZ9>5e%9U2q1#M{N&vXqO75F z@`jd-xCNiW?hET+@A&S)Li% z=IKSvEI_zLo;HFEpOz_85eVW+z#YYEZl>&(&VoJvCNxq&qQ3IWMBf4N6g|NtIRt2; z1AAuiuQKHWiJp6gR45W7sigkwbkLVnY1auJ+KoD+JL`rnQqYi`U=Ex1b=W$L35=_K zqCliE$StI)6Vx48v_}^yw80}UAN~o~XcHj&WU(Vo4FtKaT{m+z-D0W|4V^L#25wPL zmZ14utfF53MDDST;`FP{+Yv@1+x^IYj$h^V%!cy=j zPRnj%CL0kZ^B7vdKgk6U3mJ=Lc4e-0%u5g=1K@gfE`IndZ#auL0+S$+M)hqDx{3rp z&)a*qB@Zo6r5AV}ex2@eLH)Jc<4GmJ_s8x%-oE@SRt6GZtZa4*^q^HHb7Jck?rt)t zoo7Ck0}kTrY`RxGsfwmZe$q%*zj3f><(!V_C1~I&vAB;l1FCj0c=fC^Sn zsaKi9U~4yi(w*RXLXNGv-xb33yncw45QM8}+P9`OVU>QKa4RTG?$K;S#Zh48fw8dB zWw_v$z4v6~aqGA(&bpWi(1h{d6vPy&_#+56x8jYM^>AN_R#EmV(1ejvgsk$Z7VM>q zazndIh93_Nio2+)mXT9_1G0-Hk@L(4Pdsy$=D$^9Kw$L0V{Yx%4Z{B)Rc93zSC@6` z;O;?!JHa8iYj8;*xCICn+}+)S2d&^CxVyVc;qLBMIA`Z{|6g}s6>w8jJ!`E!*O+s> zqutADxi#gn{fybqPCm=r#aS^u7Z*6(zqqO1n zM&vkG%-S!=B_SoCXJrhAHvsG|c@f_P##1eM@(*L9Uf7P-81-TSJLbVZQ?EDli>MstZs9E$F{Ne za!dDKpJ)TpcJI@6u_Uq$=nJtAKLM2N;NIEY>)qAsBO(gV$j7Uc@;^*LiX^~?`2UYj@HSbj8L1L}`-a^Zf8_x-8ta%>Oo-p4Rml2a%#PM*0B0yd- z=bI4Tta9`w)ke7$%@Q&_Y-yzpQJ$Mm8ghL9|1X@*%ixgRamK3a&F(3A9Pm2deeBd<0?V*;$1&ra#@R$5riNm9Ap~ z6gNQiipef&NdLe9@YXy91D9(+zMeZ4%gF$FxeYyL=Pw~l_;QE!!(-0Q{_gqA?YJ{w zmwTvR)dv(Ce3JOgR4f7dohf&1jJky1u?{=Ub03WDN6+UTK2!}7k3a8oIhgRH!fmma zy+&iKr|trN#ZO(lw>gUJ8AeeUG*74Qj8pGQa&qJE|N*Lh{AJk;#cd z6FWS{bBX%=iw;Vi;JA?ibk!BrTT2)^XuX85XN;kM`7bVCV}$Ig>Pno#rnGeLQ5qxm z@uuw)(s2H6C;|Xf7`tl%@Lt_|#eb*N%=+TBcgr(J;~96a+I=q^Z*7J7OaF*1sZ6Q- z9gsnUKPzq%q<=5&6SBO96A0hq8 zz}>5V-D>r^g7}W?O1nfo{FHUcyKjbgMJoHA=#{w5X*-oZ)h&KRnB%iYpW_5999HXV zY5nA%@o5Nd5>ChBj}V$xsiYBahp zi018C0df2<7&3(XKDASYm!DH%=F&o(Fkp4~JCFzvlvOu0@+MAW@c_U`ja1#aYryHG z5(De?m`P0y<1ay=7y+0)HEc}e`$PL}_A(!cD0sbX!4Q$4muv>=ZMSn!8$b0|#(e6T zxISlHr&6z*qi@oL1_S-k?e=^c?Pfy$Sp0j5e-%b6Zx7`KCHXm@^;W=x8%wa8Ca5Pv zzwml!S~Yl?`-G@yw<9pOj^?4Xq^_aLW8g9FTMgOihKaS%E=rgwf*Ae9-p4*4iKudU z&ZaI)pLFc?H(J4JVmwjUkzoETiB?HWaHA(N5XpW!`>IUtsa`MhU%pV2fPY}mPhN>3 z7@1Yn5sC40WFCnrr@nSw)<}wW{k8_f8EPCM3c%%K?e-*_M&#vFAw4G^Z1I&ECP9X>2-vWrCs|6!@aNO0c?)r~6K)aV8e}!Nv!^%3T7PPZUBsFem6`h7)XcF=8|SKBK94 zdtD@Cgy)Z*C+UtD%;(p`3Ru7;m$usIjY?P z+VGJ2g^j?nzoSaN=L+ZVwAA-%&57&t=(rr4u$00dgtV$m7_{NLg!6_);kE-95s;mA z%JP=#1{+!IRr_7PV}8MbJ#9iX@&V>J0e7`%Pi(*0uY>%nyb;{Nr#okdj{r{x{#Vy@ zc=}GaC0#wq!vMS><6%e;2YKdD=!5VaeZ~F|gfZZucd*Sgh1o%_2gzw{}Jo5fFa)vxZNotP`{N zx)fV6Zk6N!wzOM8VA%oup;4^c-9tJA`Y;r*;)q6ESS)QO@5+U0GG`@7%$$}I!x?v( ztSlYIPyn6fmxp@5U#Gnr3~AQ$3nOnXUja=G*~uANp4{ zVo{NI2n(bdKFGW(q-B5R;)t1bC8>(M{V`)660*dD?I#KF!2Jcy7wyd%=QYcE$}QZK zi}ru_!`zh{NV1q!{ykXM8e-LWm<)SoP>}kb*5x9am)_f0c!B`a;Vc{8ep!{A$I5AHJ5k z@WYy$&ku6qaJz@DNs|1b2ABkdu1R>89@RgjdOO`pZk5>jB@Ot+L!rQk4wAxi`Is(9 z33782WN;=rp3E2X@JAE^WKVdgLG$&+C=WHtHekoOp4aSM)B(;a#SNjf&ZWfOmaH^&U3F1v1{X@ulHwKE;Bnn_0QgE?Kxq}^%UvU{0K~6Be-rzjCaz&>v!?HG(30H zODtYfmB{q@$4@xE=u)gZP#{5!wdjmxY;f? zGhx=8rxrW%XZN--XQWT=H`6hqO@?+?bi!RrB3Gf*gol&S91k=7KEIxDNDfuj%l(e% z)wb0Vt0~^JplG5!y*o!yx)%HLU#c6Q**|WzyCA=Er5$AArQJ$fpLFBqTZIN@gNbfW zVOIoPv`PxFLrgah`Z1Mp3WiOz2T7As4}mXDLueWieO5NZZ!-x18V7j3J2O`jW=)4X zU0mAT!q9AWxU6bxHq6D({TCeFTWV8JH?NBc1y>NIRh|}Y!{NyHC*8x3*Ba46(q4O|hB-Y^-zjgfTJCbmvZYrBxn2t;$ z)9%C~PZ`=m#}Q3VWVjYkp@fQ7VGxrG$Apenf!D%c{E6I!toVtGvGcLr4!_gfFSPAt zB#gpb5o`ze0%@2-7w;hu-<0vEYaFIFC-hJJ=#UntFqm>OqMD4kvrZzxxFala)Gvcf zyQPN3%1dR$h+JB9!Rab>@|KfbZ~-A9XWJ81Z(d1;Cy8>1eNWy)ybnIdoLKFyA4!ML z1!*}Q=;ocod#@|%4i^ADa7SHE3c!)S5HSm*n9jcuYa<#7H>AFrqyjjPH~DuY!W^GT zO&=7pDl%UbY4R+CqQMArL!-G}<2ZD>;qQ6P;Sj2;--N0J7RW0muFe&N;BfwJq%?#Y z)shu==^)GXw`h95g3M*KzXu$5Ar^5Z^<=TGQ7Deje-UExI( z2{LO5GV`^Rx{urvXT|(w8ss*IB_E*(fJ&{WIc;7ul`DY$-~~LinKdx~5A;ncY({^) z;ly@0cnX^vKhz5M$3pDu8q#^XGyqYi5H2Fs8A-v+`QAMfWL=Ut6yVbHRotU_EG-Tz zq4zxf1&px?=3DADj&lIB1{X;fK4vm^z!c)#u+Hl~q~Y0BM7E^h!78X50!7vOJ_Xtr zYB>N|h!Gt61`lQp{srw0K@<%u|33%o5Z}lDlP3E1Abt@=x}B3J0)I(9gf0#1lfYyl zP;XZrhR~Q4zUCb8mbfa5Hxip9Zv1U}ro`rk|2oad4+pwC% z!#lwso88Uylns;^A=pY@;*EzxZGhL|q*Ax%g$IC+y^OEk=@lMuHM~d=HEg+-Q)uJD zi}Kv4(CEl@E@=2PM!!Bsg1|G&0^i&zdVUPK4N>o-@C*2m{2hxvD%2$U^=YeLDe=z$ zOS;ymLAicpI(_`X;8iTd%kl1w6EK+!EE3|&7>T~R!De)=ep54BR-l#3mpr^F6E1E3 zjhJZInVmEGr^SbEvh5trC@vuK|@(4s%(Qq{1PX0D=PA+ ze_2Q><4E3?eD7$s;WqmDrx_TlUP)qp)OA+0Q)7~xOxk{cS%c0gP@0}lCepQK)yx~W zn{f~JKe`r$I~ap*>nJ21FcqgQUgX5L#D$e;wshS?-5fH{TPERb>h`-D3$ zV|jZ>y2u4q7jAfUE4^991Sf#d)xK?G0EW9fGhzC0eUeo!A94j2o+fT7j=)Zt^u*9(5696^Fe)IGgaI)>_2AIYZ9u0K!yVJSI!!hPnw7}`c;1K92uYnuD?wRbtB-aw(|KnpChuG z#a8g7P+Be}R@uf+O0L76gSQAjgTHA}59y(CG&WVGg;~UC&Ja9^Ps|vuz8nw%qfk%V zXQT{70W7XhPNZkMk-(+T)%(`vw%y|=bL<(RAPA^el&ge3t~?E8Gp6LrO-t0t;=GL< z>o_u$4QHldnJ^akMuM-H$Ux=!kb=M7ZcX2pp~6=Fv)+ygfdW>&vyWk(oaTNHef@7+ z#)5HC21!hU&L{?xdWK8<%pewzv`y2vfKJ}bSa|^*AxS?0PK;GxiZ6mrF_s8E+Yox@ zS$949OH9|7=$Hv#uir7)TU7G7FsMO!&B%A?pf9pbzL49{yhlb^jel1q0Da@Z3HY8! zZq|d)fE*UcPi`h_$-(^IkUvX-O0C-LBCGwLX~xkMgp<8ANb9%g?l`Q(_>DQEa@qK% z-&h*(`#7wnkTUBvE3yA&qc=ga9CIHyCcw)>W6|j$CqH=1c2K>tr*3YxD~gQyjy*QW zUvH#EcJ9h{4OvwI@_9*9807VNtztW37-;2~G1f5n4f~CMLKa^`)+92H`*vWn z;7m+B+{N&AAb;v@l@@X;aide3lLo#JbLq8<(+~NA0kbL~Zz@;;z4!;~X!_{qfn*>2 z&s>)9t6zUK-CrSUr~!boG(#X{AjHDRO+f(^D@rZ?p0t|`2`8fe;?A3(z`YDarMS-A zq1w^!A8qF9_+J&zXDR7_9vr7A9f>i|El2nG?)Ux%N)03{)9!nq74gyK%ice)kO2yG z(~uClejtbkcXHl>Q7f6sAAu-VSq{;&iE;K$7DyH24o?bF&3vct=_XLEKAj7qRnQoV zFpnB$V016p8BymEPWdA22D>&H-mWYq59R`FTym!mxkN)DAP%9wVOY`2ugUK&P2T%f)WwMh`@@ zsA&nE`*s^+mPb#4aJ{d+fP9&7t7%t~$WUnHeil|>gh26WW1_eXw zNdfM1b|<^RL?F*sbpDWF%sUDFj20nGmnz+GMvAirK-gx|$U#EfCv0o`5sv7F*yfF! z!#cpE7rrHv$MoC~6Uj8coi&e!jjS?dy&%(3jwDX?WuFuO%VwjS)WI(zsRBA_4b`(B zhrggTiO)CZxE7J0J8$DFvaxs-WeWD2jurN#aD&KDvH@h)5AR2rR7&q=mrpWH)m}19 zuOcdp&OhVD$wS<&TNK|Bz8K@Trp$Z=o;tatB|-QCr)p~1bP0LWe4-iq=JuPT@3Cy? zf7smOA(1KKtffd=j#7D|{HVipM-Vd3-pN$?Xr_@Yeie^{mI-4k0^Zw_FnEA=)F_wa z33VxGAx9MJ9f9Z6>#sxzjgM^HoR>P{8x5tIvv!S_KQ$)*c>dQTCOjg(+R)JsXiM> z*A%1yCacOtZD7*tE&$32ESSO|#|ljf{X%f3JQiM@^j~8t_#ggn0P$VAdxtc@7Pwak zL1?=+xlA1iTGDpB`oQAb-)jJ@eEk|fWI!Th zZ1DKKsSj`xUv;+o3S6XRpA|W|CjYfVh&+c%S6oUMlz*b^$agIjZ;F>u3yUn%lLVqD z%392r+wT?=teSjL)L)j%Z%^a~npiY~BuZlLCWH5f|0L)yj55Zj5HR$Mp>SIyhMVHM=l^ZkJMSBb8MP3=1;k|O zt&?CDBC`UVlGl%_J#+Su5Zy*2=Meb)<6Coj>9QWA}B~W z1?=*I5EAyvt$fUzV7x567|G#9px=C*7@So(d5NyQDm9+eHLNmcCk_wHN($$`bvqr| zvKZU69z|D6E+LjuQR!L=#DkQMV2T4pmfjm<%WOh&!h=}-8*>~-@r2- z2swgY_+~R-Cvibw`NRHi_`vVd+jm)XM2^a z5E42KwY;1g1AX|-+~^Q&sMGsM9VE$6csyPDd%!%yxfk+kB?=?=FofEB^i z*8MefX=!DJeIl0D>dMf^wrc|A*Kv6h#%rnKE~Z8=($-RXmL?zeVq0yw z(F{4@qMwn3=Cuu48=PXqvs)7pmII(l9G4jdDw9c8iaQO|c;tpLPm?a{p`*A&p61JO z8{tV<++~R1w~$Y4bRul3X8;UQ85Rjm)eMLx5WEW1_)$pvD;Sm@NQe+qo-yuiDJ(_j z)5ad)Lm#iHJ(p6(C(GmjVT@)fi?WhAyamXQ4-F4ONA}h!WKTEc1BIa>$svy4Z?=2@ z*!K?>yP@wepGA(&bOBc}hB2<(S*0E2z!O(B@5AMW|K0=$PH_?48V-eCY_4M(78I{>MRtMu4rEf{%~A8PrO!yN!KV^DDS70_meI?&V|UJ@ms7iZWY`w)$$eXf zzAs~26wo%^D@q4Y*}X|*|zDxmPcf7$a9bCq`(r~#J0`<}rQ(rQN{x;ST%HU^2|BLHq#C7Na~ z-zgJmvR_}NSco%RV+_5&*U0(`%zfLHd=M&rAAE^#;6i`)a15%t9vVIm4v9(3$q)c2 zd9P+?CEZkf=q=Cckn^aYwZ$f;`e%f5BT7aBE}Oh=8z^f#@n;UQEQ5OMT_a!Vl&tzk zZqsJCmi~O&bi0UZpU%3DJ zC1i|vJ*2YaS8ii)f7>h0NY4Pab};7hbrDyqO09fn^+o{_7`>7D>*w5#IJp1x#L$^wrvB)`P% z_D_MXzK`#Uln^^>OmObbl~)(!eUg&_GmodS-(&j?C+k{uCCG{@h`gLBH2iAFzTudu z(S-$t1tg|_aNrO`JHT*WwJXH?0hng-rZwM z9jg&quyL9gZ;f+lH^O{0gHC0Wp)~$h_A`H7ZPSuQNkk93z>?*h7ou^>Kn0w#*6PJDnKVNSQqN%ZdGY%xgnPmn^5kNU%v!XqFdLp^#wCCL^y%GUExc z|8~XA;CfO}^zhcO9VE#l#rd}HL)4YH(^w)4JOA|Q-d&6y@mgi1na{nB;DVNdL1PBj znKw^ldFz92Vm8AEdp7ci&GxQHD} zx&YDPHTgJq1IlZIo5iMA6Rx1#%0D+PxM+6KYXIPFE47}KHw!Oen`Ra!^l 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
hP;E9kKT)l`GMLz!?$|-EB?tKQV=X9kuL!z8t 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

Qn?P*82e^sy|TxrP#PwidmtUkUyCC@P0W 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

3a}T@fz8e5 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 Btc9A&Uw$Ea6I|4QG2N5W;E%3vmp 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

`Sg^oZ7SfdaLil=- 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�-}hLr_Y5>IX<$8E>=RZ1GjiJo~WQ`Z|^|O_g;Fx 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 ?T%`I=?M=%xjO^{8Bo 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 ?sN{{uD(DJGZ$d21c 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 kJftX@k53Ak@%$-z$*{w;DuM$lo0y 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 z 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ß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 z%0A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%0Df ztonV#Jm<|s^p}aB%`0SnB)FlYD$9QwoZ`wZPV zseGfE$6hEv4AlBs>r!`NZ+f5U-|FWkUp;=W*)L8Wu-4OG*vSshsUT#b#_crzyz3U! zS-M*mT6m7e-?b#VZNvD!Xt7;4Ox$Dg?8I`r*+S}Xe6PC$S0J2Z{6RE>S1N;CxQtnf z1?}Ak`mb7EVIvQAjlpJ^xlUo9p=#1Am1l2_KSCagu zB9N9d$9E&;s}sEhy((LI(0FS@kUutoUuW`TlLcfpvTwMs&vgU0OF?riR&#UJyS40q zTV>@@SQkcCIoo5=s-3ouM?u9PnX57P$v3)~Je{h;$_AfS+hW2BP^T)_%42s5c=`ER zqWe3LP}VB6Qi5x#$8S}zebm@~ueUT5`;8TlPG|2xeRlh?c3->VQRFbZD%DnIYEP^r z)0?<1zO8aS&#?4}p=}bz^n^W7#&$?5#a;AWi~j+OO6g5TzQ=OBt7M+1G?MJ|CLrb3 zq!?SHF8adDCly9ssRYSfqVr@&jvTm;wX~hW&V$v^WNyIYg-99X{y%vb^G4C-6*|0-c;C2CbCPFE5=a3gp;-pIN$K6yCZGI|OU_ZXC;1YS+YM zGwhkCZLBw4cYW+y0@+q&u6!#flyPNm-m-lce=)$k<3o@?Ig8cIpEGPNon1`X@iJHB z(-X9Yo!35vCNt_X{Z!KWd#iyT*LTPhtXIsz{}|9jJ!W<{bG)u5Kk8slW_3me%X`$1cCn@c^z#`vC6>1ONn zb4m_Cc4eY6P$UJjSnz1=v?>Mlt*!v2zNU-4K)zXV+@CxU1OJ=i6f-hv% zB9C%4T~&QyxR@Y!?U}-!f+6NK?ZU)$#M^~M6sZ%xwDnCB^mTv-xzfgvX%oa+gNzBoO3x@alvi2(#K#ZX>zo$R9EHtYqUc67Z-2JM z3~AY(^D9J4-pRbIkPv?7@_}wHJQz|w0PnNHQ^e(smdVnin~%iiulb?v10>XLbLL|k zH$jA`U=}By#uy_jFT#DdL*w#`$R#U?F9J?U!IRDi1oGn6o}>j2yk30DUt@KXQzaPK zB|5di?c%1pAyh{$9hys1??isf$Z~Y$DILQ#b5`jqj&)^6TrEuFT!Q{wG-$l~wKYPa z-zw*^>GXm?p{7^6I*Ena@`qhpR+v45B~G>W>2DE*n=7x9uGsCJ>l#4>-F6Py$6HpS zht0~J-Ev&dntF9Qj$^u^hpB1mbSA{XrtN8MluIZjNYu@`@W-@&3-6%M zVQ))NbyGy}PLmv6T}mzqGyzjIx5GN4B4@`)-{>g>+r z`uxDc%K#kLn+*gKb4F4e)@(|Tx7Sh{*2X2DcNGrLV%_y*uBsm^SCv%YLjyw5PM(O<4SjJ;hS-9n4Xi*nY1Jhi|9H&ZmT+fFhz#R$ z-imtChTKY2Z8=hy%d~y7tA5fMozGc@G04Mqgu!cphSalbf;=)g@!9F~chF|=L{ThY z=C}yqn=Q==v(zO=rdF(LegES(7=R;6Bn{45<;31ytpR)YtBpp-dE~2c7_{+m^VeX5 zP?<`pk!p?-h>$Ix{aVld7>cya3R&(lP*E8l-m^qH;j3#nP1fZa-k9b9A6Bj+%ngS1 zO+N>(lc#uo(eu3svsubTH#x^WckepAeOBUE`GEG}soxu;J$LAcm9!0QZ=~c;^m%WG zS@atwk8A{}IOaVaS)0Y;qpno179rf?-UzL@WyOZfPaTv;TTecidOoxkonX7%c{C%f z+)f#KR$3w>d!t&hmI#C^MPxGNa0@hYecf(Nv}OKQ8|E zDm}k*?CmhY#bGeiXrHDkA9wJMK4V8!vP3Tw-N#g1GhL1&RiQG@$iY%J3RZYUn?)h5 zF0DPn5tjvHlAg~_j9bgo{GZ-`bjM^32sLD5_E^M$%D z4QLYojug25?UTFyKvY!?CLn*Z!Zto$(VBit0HdmQ$22tz_U7I@GaSM)_& z-+JiP<4X*IaTw#%Ap_Cfrq!;gdA|c^RF&-5U&9vr-gJ(ukm0R{7!4ke{lkaH|HIZ> z2W7!+@xlTk9nz8_jdZutAP-&A(p}OmEg&Eu-60^|-6`GOAl)JP0C)4A_k8z$Gv^-% zg+X!l+Iy{Et-_UI3rP1Q)h)x^!k)O@{$SMb>x%y^E9E$HCd47-LEKK z%SgBwr?pGqqKE-`8|pWuZvsvE@Pul_Y^iPxJFE`77&y!U7(I>F7*Uuf z)xo|}Kct+p`c)+|6uQxZR$*!{@=C#S?_y4srd4FAcUisIKuhjHi)U4ZG<;XSz- zjKzFLj*RJ+p{!$5L!e{DBhn#WW1>T=%NrW6Q^XV@{(@Yr87J=sclbz7&Iqef6~rn# z!sBu0568<1yV?sYn5yJ_Ly`-D*k9!?KFvZr9u2v1L_V!x89>p<^pOu*up8#|w}@Qy zhMSa4F8E)HKRb4EIqQra_!S=D(v*Xv^U3<#_eU$Z!SrZ z%|vWlX!qVL;s-`f8LSW=)Q0hWVJW;I*7z{6O>Hc))#$cF+t4uI`DE;{eABlR}yBVs( z5OnCPYu-ddGIP}L{|h@~^y)~!5JuqVtA8|Y{qy(kL52f!(1};$EveoRMw;vQf>)pm z{g57jNomN+N0jvOY8Xq%bIWa-S>r=Sv%ll#Rhesad~wCH`jj7XMf&p{@WghLA_b-+ zU3!{+-6kf4VzmdKZ5LdiD>U>-qtsMF7M8|(K4pS zRCHPszLLIuPyK{JCX4OTC8-8SIZRB|)9eV@|g;)d)!uxS@ zq>r5gO_#?%bJo+5P3bYyq9iA#l%;=MktngkD}PL;NZ?=3xA&4H(3B>kZTJn>U~Zg)FR~Id9|>-IkF@`>90&)h9((0rmW*@HtLPgd-;Ox?tHs{4AzB}OQ@$_U zoUJ`rOG$-A8Rq?N`S6)lF1>lBq~R@GGt_K~O%37p=(dm`@wMafz>sTPmEqAhQ(cEn z$QaH6DgW}R+obwOv*bT-*xF?a+Jf}w8fl!8Jg`(A>^VztbsB|Ma1n?4@^)n=r13rq zE3&1g;=*&5Y-lctwr@D`%=|rS*|^H9iNDk|d*>pcL!VESW+u|MSDLRDW!niM+K5 zRh(pEWJYckYc)_C|IH!fzn3}v|9hE(oC7}Kqj^0}v|7LL&_ChR;=epyqaDxjsUX*W zEwXf@iOkzY(oP+bHDeRoK^Rf^4OV7$OVr=672`P+=E|c~Di934ox=`7;}eS1pj6!u z0aqsWNZ!zpbM!1%Pfqkw(|qBqW+nQl)wE;ichd*Y-hAEX(K+|2Z%0NBiPR$!Bcw$T znV3tcXU7t!>TDMscqO$RPY_k7TC0f`C#U)Uf$Hc56W7yCeW(jrm$O8UYzj&CN>-lB zJvVp)l2^`PU10H9de+?l2%=rTQs2;7Z0Wrl09PMEq;_Wj+}pduf(3%`vs7HNGktk(_ji%L28e^H_KRfB zYaWHTcU!M5M99jAF9Bwb7hARRp=nXtvnhE;4CBJL>0YSA4%3jBzcj zW@aoMvx2t@^T<`;Ipe4S#C}-0`jIT-B!o}>UAvlYVxLHeb2Myv~-01G@}3}C|z~gqamdAVa576zsC#Zy{{}9 z48-=QHz|J)OO=I;$3N<6$Ug(79ypSEM)AF{|JhRi!T@I&EhA5f!DG$%=zcj890M3p zvc-^-F%Iux2Jedtia)Wjplc|4)gZ@)mt9z%=(Nx=y1$|!B5z6LP9Ga{Qv6RllApjA zXpVwm2rg}vp@fLqvS*b;TqgdToj(Eap_gVal>F|RcIKzlxc4qQH#Fhg=b~9V9_Ic1 zUbUyS#HH|7t8H^s6WhuOKF2eWwgs7Uq`;m(GpN#p-xahFuJlefi+Y}jJhHe}{z;uj zlxu;+pP5wVv@NKMu;1!AAZ&OW#gBr6kKUIu^OpM()~(cGAsW4q%^%Dp?SF1Iz}04E z$kB#}LG$rp&)w#(og#qC`4EQ-r$EFpDKfV(FN)U1h;IztSNgrMR&-KrgMyyr>sc&f zyBSke=W?m-7ZlXd>U;a#MoeGgK7OMCs+pSVka?+qgpy<2%x!sPN8jxw z=l;hAbmiBLv9aU2DAxE>qh3~XM~yiVxFQ+iPEBv!^RHL%e%y|J8OEh8=(wK4_1uh* z$>+s(mo_9LUe(?)hl^*Db3LEAJTB5Ei z=ADgIaLVciVhtk4Vtr7VTFab!HLOi^gDIP6z;|~$M~gd;3!#V*Y01A}{E-DM-9Kqw zYH;|d?W>X&zD)4}(33$r6dIr4ULS9oq!fCv!JNZjQO7QKhM6}Tz4;}wU}Hl$`o^5v zo1n{O#od6!ztto&QRU*IjV8@XU14{d=t_I|k7$8Q6WO60n~lLhC}ahbm0*a@ECzg`@%{z)A5KYNbD9?)~3kk2+)!9PN8 zT{O<8`4K7ZV&=2EQ`380$e`TpcqEDYN&2|~C z)B&)%GV)zeddtZlfX>04Y-HMqMc44Ys3W5t1no36Dgc$W+)jFuUH2b?rKqs7Yit4j zP&8=RGZvG;k{4akCyt|zzX}!{JALed(DEfgP6xK}D=%tl?VBb-2_MBUWfi~5osEJ} z!7OD@f~^C%gxnvmTe&)}yLA%cs<13j&}grV@{#4zQ;{6#d9Q!G8sxEH>)tpo=VQ2c z9_I-7eYbgKB+Q*e-RY}cEy64-t<7f4KlrjetYU>K1`2^(IMTk3;nd{B% z&YJ~%RpmsNJyfR0AzmD{%|lo33+foC)zF7DD;wgz3Is9M=N6FOM@@Ed4C|qQS%kA| zy6+5SV_qWg&6087`)iG#ej~sciAF@u^ zAGtQj6%0B`92dq_344pC&|yrzbSr%&N(SAqsY#UXuGDL0YF+H*e*AkQ7?d6e*g*Uu z_w3;KWABh^+g9$}CrbbG_09IlT(V7$owjkwz^kt>*mTnM`s_)R-u+MXTE?SHJs^XB zZ?Aqod1c$*G>vR3Y#lB$pZ;MSi|Ju5lIQX~J~Q8NL*&Npr3fa5#j$=A#J zVc9K1t2qX{?$$Ej*JptQ7UZkwcHY5$2scjE`F$@ShPLSVEcp#t#$CAx=*@En zdB5m8t~HNrT&m>Z9AwH5B!Fh5Uz>9iJ=znrs&SbwMp5>@lCUCzV`*b*L@!NsXmJqe z_40-}^4yNtmQrVHmsc-c4V;cE>NuwO@Fi)q+!kHwEPaS)<`R{si)nIjzYH|ze!)1I zjS$1_QzB~6f8;kAPcgyF%MUPLop$!Nbk!vqdw9x!&6$8Y-xHEr6p>vbAp@`xeB}v~ zO=k=5S3J2$Pt%>HInoF&Isy~iPV+aL)!*sMqUful`YW><2MN^BCLv$uSu7C?lj@sQ z2cR1q`X8%d5Du#CkhOFO9MoYg9iBg0GJ<$y{w0Zg{Z@9Q=kxLo34 z#|SZo)Mcso<`%YPRoaMH6HW~fLL|8{G0+(y2WR|B* zeRDfed`HgCahiSC-E{ehI%f)Z_fIi`5@8eDn|}MH8(oE^ZF|J2WqX*2t1xVDqaC;F z@XVk6@4~q!I43vzvRvbQ^tj9Hdj9T_f)EwJe9s^z?8@l;0n87Zcm*bq5hq>>If56b zQa_Hi@TQw910vHrqR@_8B;{o+<@iP6%&4)^OM};uHWE3GU*{5YrSEC5|1PENJ+jYE z>^V^Op!wyRa!l&Z0W?8d4LH*C$8-h#6t}b2P4!ttL1}T*MLnK>$>QxVex6I_XFU{a z?q_D2TRF4*$nn*@T9j#W+fUU9=iOh>+i+;T-&Alegrk9BMl+^}o1#Ra`CkJJJ({G$f$)Q5$%lwnqmDZCLtR^eD%e|+*2(~Om5 zWDE1BOyh~?tauSs)uE)9UivtMJ`I+8snqCX5#qQdX~8tY2jv>2h`|9T;UOwg}Xe4+SE9Soy5giD3B$jGhN%vlV9$WZEX>E zxZ;_g-Raa9J(<7^0QhYFjpUZqCIS8mt~jX~Mc3Q-S`Z6Atjk zcbYh#jzTvymu1%wbn3VRM?DM(<{%IPw1u=cB7FhLfzsku81EK19fOgU^gHYlMh~e2 z#Kp~!^O1L8IWx0+oT>oG6)h2#Gn#c9(W>q^X3A}~WK7LA6ihf{Z-r_Eq_L=BA68Ec z=0}p>XAPE5jHrmWXPT?b5)+Sq8a=&pG1r}7%TRrBN!hw6=_2!b|L{6=(er#oo#pQ+ zQUU|NJl+Q}r@iSeuz5C?!R-$&AT?d?>J#23%?%!G;Mw;vdv{#(R$c|=VkoW>wJp83 zktdXaqyAq!ktX4n<~PqtPy*d9Yg*5)k8Q|j=VB)`aa4^vd@JjZ${(Zj6w@X&KMViU zR;9(MO*fx24W#)*flR<`(DOUKiJCxx56#L*9OAhb`iCa+yMZLVi`+|O|NZuDyH#bT z1>DZJI5-!t^E-jlU@ZroAWG@?x*BwkX7fMx*~~Osqb&1=``i~(iG1YrRhOSegP=?h z!{ZhpVtDyBkP_{8@T1#zjEDR8YKB5S=cPOw$$BLHHrQ?CZK0V~V$qkY#H;B>5iq?e zDsS2wYUAxzFnsz!(?{{G99Kmd2YxEYz(wN}ub!@CIL}Cg9A4F10G=sDm;cBUfB6kQ zczL+;a4W4{)$*iK{I`>n>o>Be09XjWf)Wn){VI&ZX1<@d&AhAo+#sL-db9Qjaf*%( zPR0ZEYW|s9p}Rd;UvSYirrg8SYaLqfsXVdo?O!Fq!W6iOq^=*LJ<3YTUzeM0qkOEE26OEY4Hq6Dp`jBwibmCn8=u)b_YE6*2cGAJL9O*o2_6n?l^Oam)R_#W z)$z?)J4P5`hW|GIcyNHb9BMD(8%0(ncT|8GN>7Ir{7ysSH>tLTp`{i1^7`)dOA<#J zR{)*2-Px6cSz#zI2X-(n&Pn|q67eTz#Vcu)K>uq+69d-sU&?Z>}x+f6?%I|!`(8rWgT zbZu3mnJC~x`lJRK6xgC2rh9&(iJy1Ke?U^cwB``RbhA;zj)hy!od4Ab{#L)qNoDR+z1mcH zGwgr0*?gs)C^nf zSKjfSMWX~)Ea-k>Ds!SGipufEiPngQ?hwzEYqdwn>9*|a3EU>HVDAy$73KnXy?`!( zf!a#$tz0^Zd}bJwjjY80qs4&RxfZQ)A*j=`H|DrYd8Z@hxMQp0Xp+44U8V}?Vr0J~&P%?1P?<;Il#DIn^CXZr8D4u0D*rZ8F_X3%fPVU_n&Dn;lh z;8Dj_mdQ_39nSIZ1sfo6L7gR;+YNQVm+=y>%M;Ct`{6UaZTJh zRob*$XG>%$%%1rHJ>8Pyo4%Y^eyzBd@i#goz;sie z2g2`k2_Pv#X+z|n3Q7wR^{VilStbqL^Hq@GkAW@xe#a4*35_wX@m0##t|VK-vtK%* zo^-W86T*Dl2`eKKLzk?Vc6pnHaQ+~?jW2Ji1-m2vBxIog=P5E-Vds^Ej5En+T$Vxl zC^)ENs;0P662?*q8ZBZm9dbd|C&Z|UjJj&x{<;;0UN!vXjYAyqOm{WjnRhqFp519n z%S?=@piKG?lerJZk-X~?Rb%^XxYK_Tj!07(*U3^(T3D+T-qe|` zea`AcqoC~NBD1`JBulOe#FX)RNT6;s`f5nTnqvFioRl&oW}$u~R{GHkLoeaQ ziB(k~Kl^%uBTH9X_R}-6yP z@pN16RKeCi`t8DbucQL=Kk7eN9md9py&vWvLRLadt;{pVXkvtQxYw^Rf7>&TzXsIS zlh8m~l+y%``X9}K^td<0`&?{-Z)=!Ub0!;gZ{G!X?r*N?Jp=_+?>k_XRr96-oJeTz zjwB36ynV}2iLX2;8njX_^L;=VV>VX@#v(?O&B9XUR(HnCVJ1`^vcER;B8W<-JUZdB zj+|WO2Z8Zmy%9jClvu5ipJcYzaHh(vPHZjFSVfnRU^8PJ<_>R^XK%h>XyG~1f~D< z5~-rO+rMmyUe7$L!Jl;)mx>N5f#ZR{<~@=9cEM|RL&EPjZc`b^ESuh+xItgBa zAi9K(`P8;(tdFwPkd{GbC>1Ga!hZ2({5YfQh9oG5l+Lp6w4Kw4|K*V9;5;*u!6rn; zS5;+S*f$OB6$R;NIup*%UpnY#O@t3{xaaW$H+}Tdkz&yQBz!c2&5!lb z6mz=@EIdj{(N{Vnhi4-|4zq6i+ zC8K2IKm0-mKKgb*A>KOk<-z1%jc0G&J+7zbr#Qs22TyJZjvW=PD)p5)`C^c`0!1bz zIw>9fE%IVIQIJ8|XFVelA=f=NGX&BEgC8UJh+wWW$lG*?K_pdqf9kJQW{realwAAU zam?9gG7x~gYl&`-X}aQ$(Fpoen4uNQ2zsiDCkcZeIb!YTWjjV)93dm{GLk6;$?67$ z$B%DA^4hxNkFN(wJ4YHYpLsU68h=)^`ZENI*ue*a( zo2>V`c`}LRXeGnw(PWe}pf2-%dIko)6EKo|$5eNX`q8?GJ6cjDP=QC#| zznyj-TrSBG?^BJL&*kB=c5w3^;huoHPhQo`ki?ihtA;KzRA<};Kbef% zoxXQ`dj1$vkQY(@Jc!zIuSX$*fM-OEWmjx#t;?mYo&K8lIR*6j)M#KR>Ne?V5qy4F zxzX>ie#TqIH~8@YkHML}xuBg$hh&n=Im;UPlO<|4yfW>Vt!g%X_g9r$YRU?0y_*iJ zOm^$cr{H|AUd$=V?v)Xb5Q->}g+DO|04~7Ru{mQ@D@yA5$g7FhCS%PAH5j5NG|ax^ zDkOkqOvt+SWxUq29&RA2I^w`Cb&RHU!6G`QRy=y0YT8+5zT=G6X(M9h-OL?X3kG3Yp$1?&lw;FP+a(r81-%+u*%k_7dIcbwx{;8IFdhzC6`u=_UC?sBF{1mo>F@=46)&n-5 zfa0&Ppv~ERcQn}Pl2!a0Uy~Isp@*_rMc$Cic*brYLwhrN zJ&?6iZez1~9{M}4W}VEd0y?Odz1~HtXtq%2EP6n--sK1mJliNTjNCG178Df0Mblo0 zE7n$Kr`WfzExxA%9kfJ77RcBQ?)VJ=>I!eQ|p%oNOfBQzO6mSAygJ3`O zKNHQMMMf_T2d1bWlQ^JKO#G(MQA`Sv!iK)}8FXw7Lg#iXH|Xrv=o|t3#;S#I=~jXw ztUbe8NN=J_!tT2*zb{LDa}*lsT3G4T|%d@*=p9pe3>X_deM?g8UUU1pg#Srj1xb=xHw~&ZB zJJJo)ctZzGMWHGCc}%}pU)|`Sb{Jh|=OK=r?Z9WCZdxA3?f{r4y}7sOJBx>B`&HrE zj4|zs{{=2Rrxjs8$ZShx$9){cGEfVYEl1P|dG4#imN%!VY#UwhuBfZJ;_;-i;8)6N zwPD?#Aa>^kL0x=51j4=Rfn2nz9?2~)EmfS*A}*%Vw6=O&)oX@0oixiJOopSqKeDD2t9&(51Q7y@!F zmt|ymW-d_auD`+lnWKG#Y7aM^A#SP0t+FP&H24IP&z4oiHMX3y5UrGoqHeH#0z4{T z`S&nOtO3{k zqZq9%w#~q3W?T5b?93(S|KsH|Gykq_)Zlv$M^I_H5rFA9Iej{N{O}uLL_oeQJ4TFy z&tgdcM_j+(Pqco0OOMrlS(sv;%2f{tty3XbC_!c)E90Dwn+E#T_44e8_}mxxN0onR z$Jb$ttCsVUxFVy_rL%=3`J?B!Uqa|})UF_(a^U@{0{+NFyimbj)^NBXmakQatf0lJ&%%n8QC9@)R)}Z!J|5asLE+q zy68n#>;14-)bl6y=K5}$=n1FmUMI9=?4x0%c`tSMrE$0=z!7ht%F=`#gUTbgVL=aW z2B1XI9Ei>UUK#nq${$7*D^<2Nsft<|Nwlh1ZkIL?VZkzVC>b19*3JSZuTC4qY$Q&MTzT}$yXti2y zQyvQMiZP!wBVm=_@-P%P!cPK}Xw$sxJ{2bz_F1jwGmfws zlX?Jk0xv&hxI!!<4TQ>7f@bM@M~3b74!qE&`XBO4U@*+GXiS3}3(R<%IQxtLK!FO) zU#~=`+fWuQAh_=H_;(~gK&DuF(0LZ2Z#OItI#3fKCuplx-TbT~Q}U>_Jd3IgMvul1L7gY#Z+nSX1eh;%3rR?qWJ!NlD}w?VWW`vERlnT0*+W?7^>;YiTa?{aj~a`j2X=={DWNq438?uPhyF-ph92}rcGI$xX(3`pb`_})!y z>iwDWcu1W}pkU%l0IHRn-#8r4iVxM|iZ6_ldE;|fX>h~ruiVmyEFj))uY7D5d44P* zuM)BiNXaOb5W_Dbr~vEm5}>qpcQ?CRSB9{C>SC9t5BREO;I8^?CKeu3Zqgw$=BmnL z5b(nw#dHTu>9-%%te?yRe3~D2DoLZ$NKKK`N%E7L>XbG4!60i)0bPCpY-q*AA&2so zbK+xxSyIK}$b3XeXOK-sp5sN8FnyH74BADG99v>8ciJaWb&POdmU1arD)Wq7$H@TS z3c>soE(KKIXgspu7vT^BcQEUXiRbcH%wDp?@O$%oKNbx2(^q35rUs&bU$8`dB1Gn; z@XEGWU|cF18jHLd!vM}pJ1KIKZ57Z1UalZ%elb9-Qa}cu2Y$nzdiRkfeO&Q&18(49 z{w_L_)R}2Ily+kkorzy)wI5O;)QsE2!S?N*(X~)6!(GB0ekAMkGryHgs9x5@U|Ek1h4_($zkq>W9^2&MC(F4T{4rJY}H3n)*RK_L2cC01(hw-z+k&FE5*D&-Rtyvcy zm#KZC>)u+@TyLlIGH0*lVJmh+Hp?y%I9t4oL=Kgh5XU#X7U8TFPw$-9;v2cUdG!Q< z6mrEo*lNq3=&T}tk_90H`2WQ^?g;-26+S6@ImGZ*SysI>D0{0fWDte(E5kOKTYEzB z^>S^d2>JGizFxeLqKTm(%=sH1cXE^LGnBcV;yXv*xPl&s>1V_sQC1n&!@2*|DNZ;2 zMIYMd9$#1%=8Gb5z-Pk|7v@YX<0ZM4k)i#S_`bV}PGyMaONBHij*9B~*&T~kabkqn z0@HAyhkJd21@fsK&%W2gpG3<{Y5W@@QYU1|`)AI*C(3>}Mbrx$+C0RJ*2J%w3tsbK}v|)!B1?;BOD+$?8 zSL>md&D_BiS}-X{0=z%MrN&uKU|T7$?Os*NEbi=b$nJBUtb&Zf#z-Ncl)j9sjelY5 zK?^}F&xSjdYlj$bFL<7rHVW!OFSvq|VMP?*D?gdu<9V?inQCGfDgetEMPC-(UkiM4 zViN>-3*Pqy(CWQ6;7uXPAO5EC#o^$<~ zFKWY2ijM}#l3W9el{`c=a@V?FzAGhK6Smu?@qJyy>FFaX;imff zYdzI(%k$~e3;)yX4aP0m@S76|Oi#8k5>1aKLcV>xo-=2&7ZZM|mo5-X7|*{S%#b=6 z61cw8AgqKdFge|&6Rx!@opKSB_vy-Ixk6~Qw~ihSG7_-5+-bZS+sR1DbM*U-l=opJ-s{(e9;pvx5l}Q+FzCq z`<T0OcWR zaGDcg)bg|DLy{`nVql#ZaQ&Nhw_{@?jOg2EAi z;$cnl^zI#atY8Hhf`8jb5_IH3VjMNqCnGa}?14s7xz&P`D6XkDh)TwMxh}*`o*4+w z&fix7j4k%fI1vzFX4oIP3%TC%a#X%5?2IU_`?$;=ZR>~o{V z*ri|%+`y^@5s;Q3Qh8oxi@xTOhc-h;lDaighM;4#38+n_H3!l!Nq_9Qx~ zOz^aRwMA%C4TOcsW1V|R8^6(@`rqx@V3+iIM5g5JM$nc{arK~v)kr3kLa#5U$R)t5V_*pC@x zqBZ7^#8z!q6H?UJ-vjTaUI?0=G_WF*wmqdigsAHYd*}!T>3^zTD6dbUGz2@0XxGwo zxft)i_u94ux*FM~B4S0+KHiLtm}xgg$oSl_pY?xmalDItAvwhXawFu@IzqMww*z@`U`^b~}MS$PxnOs{@x=g8B<?!4GxI$ zw>X$den)KBiMupheg5^?SlbP{Kw-Q7kqo@$e_tu7I{H@gMk9%|&V8`cg&C99g=FFk za|#0V2cU3d2C$ z^bR0(|0GV*Yje%R-WI_=9U<=XU@lrqHawvwfN?< z(s-HP@a?YX@g--^qcB;pg88#{tMG;t-w>dAPSS5RMSe||{qdI#4P7xXi5}?GhleND zRS*lG2<+rIxpnEq^uzFIy!ksnRfPOpDojW8;X{9$ED%v;*Xqd-58Q2lvS^}WjBh_rf*GW6-&!U zASA*Nx~Q>uThEMz1SASDEU5l74}bM)nDqJpe2$I1Jt7)QzM~JMXGu>c=#3{IbdMvR zt}D~nr>|hY<=olWXOKjmFhu4lW-3Y%VrHcP^E>KnS8mLo6-e?C(pWAD%WJC_5Pu(y zj1yEiosJjv0=cj7ZdcOFd}@!v71y`>tn~*EsF5 z92M9Nac(?KW=v4QC1>;MvjoY87>?yzTI@R-d!2U@D4-6^)-Jwu^dPdpD_<|$be?-7 zfC_Psq$TIzPOn-?+NBkG4i4|lq2(z931}*gYV4;N@ma3AcD)|7@%?C$iEfr|s~!K2 z-Ds%d&>x}?m*oFhFR(acm=;b|IADenOZ~jQ52_ZJRgnCQxYWTZ-kxjzV}WGw^hN`W z*9_^A2FWC01?UR^=worMEB9@+o|Dp{tQa^49`4H_VPvw>&U;~+z4!hX{=cYx#e6*w z=zA|u1Za$4=)Pp+#N79Lmkle80~07!+RH;0!RR7%go#Ljl$eqm*aFRwcN3`rg#~CG^JzoZ20C9sgXfE$+97{?B_6f<2xBc33|Nj-Of#o$Yh_( zR}>0Es~`YqsHpd#glNHR_n_wY6^wcMOCm9|adj1*$)%dtjfK*N%2?NLPv}9SLtbBLk^!vXfynEweuGjIco6R)ofsr2`6d7~3AI=+*| zWeY3DT4QH&4ys|J*P`XE__oga*ZvO78x5bcrm|4~g^e^#XJ5mI_Qnkl6+}V6On^wu zz^Yz|dqetf$9E*A5uNkI?bTTbz|upU3~QDt@92V;K>$m2V_$2kuOxlPAZ955Fn>j% z!f(f99<&INZ-u9NoO$Gxahgonbt@B*C8@vBf2q*`IpB#E`rFTS+Of=D_DAjD<)Z(1U? z2NKe5WKA8eZyfGCTXF*1vt`4f=A8{X9V5uAwI6vK^1m|6C3Lywp;!kDn>x~9FP53$ z%GYw}qpoL&!4xG)gbelgK}FD<5^gtOo0=%owUx=a5LM@Na4@GrVUDeVzs zvx=U9evQBS+nTp?z^eN5$uAm3ZNUhSmMe<5*6aR^THK@EHD?tkP`qAf~%f;sVNv;88Rb1V@I9I-$c?|HB1W7_?;^!%jMyZ5&H zIAU*)h*^=Nn#*o1>fU7 zXJ{>pwm;&|;Er+>QpS6(HO#A1h=mZGYjN{td^;^WfjUL& zpl7{uq9o@dDe{SlBtO}u<3ySQLH5v)i~cMJ2#}zZA8zM6ZM>t%6`oZVC>c~L8&oAx&Kaa`5Q8Q$oA~ zzatLt4KP9ao`cmZ(5()u3f9HB=$E2oON`U5Z(!arJqG};mi5>5Tb7#RWJc)udmd^RCVJCCs*07zf^=t_3u5bER(nmlt#4#5Xn% z$%j-uBK{aKaLd5&_b#Xx~K$rbQP zl&1?Yb;kDU2<7sgOuvvwzziKqIveUGW4AqX$)bQ07>xu!$Zt(u3bjO9JKBjzM-m0s z($|X~*L~ls`o|zsL?>~H&GX+zV?2lR;zd3#`*N8Fg}<^A1Zu(m&TxaO>>ujMC=Ac$2s6yb&%tU6XTGu)gmfR zu2lk$K=M0niOxMvNA6low4fKbNyLn%K6lT5u#SgV@pmfB(m&nlgVQd{Lm(BSix7BD ziG3|9YPZ5`D@Xw~rN}GjLe?D;@PUI`o$vc4iU01iLlSp{9llQo-Y=taBA1YxP#4h# z2dwElOrBVhGbE4`Kr2J)2G*#0fiSDuZ}XH=qTI6$O;NdM)`R>`)Z5<2V)S{j8A&SR z(y1V9rHlfS!4An_6yqSEApB;^Cm|Ul=4by#Q1MMOD+q+jY9~0gi&l9f&X-7?I?nEE zE^5SgA8~p#z7T1wqAEP4!Vwc{G0u|62^ed&M)=0wpb5*~weq!-`SQjh;2Z^iY?Ay6 zK%ro7vIX}B^SKgh_4DLT5w~ou$qb8kazed@O z{6?I{5SeRgPDHd&h(v^=J=|^Qmcthe$q&mhQxAUb=O7miDT4B~2Uw6A{%u|Ml}%dO zQ`A;BFi81bEjeRt%Dq9j4uPCvk!`=$}AJdJRQC>t^Rp&_xSa))z6c)VmRdK z`6VtuaG~PqaQWoTOghtbuKM=yJv5nj%3W0#(0+5^xdF0|Z8ep(S8ED8TXqS@CD-3K zo8i)%a_Nz|RI}%I|IDsq$uZDn_w05QMOaB*1n8d_IZ(J*Ex$M9kkB+rV+O8vQ+xhE z`AL22Z=Q=|UIcU6Y7tGYq%?Y7&x^GhU4e`PNLY*soemi8&!eA?l zuIcLHLlSpYWWP|b2zw#{x8;kcc$cR>7GzfZcvn6d}}A}TDzIrl5D2|HMz&z zY5*-dJC;RD1ZUCGCIu}Wb{sh?0znpUFPSJ`BFHn8k@SN5TR2^|+l-N~Ri6~m;O?ih zl(T-S9gqIryFN0TnU`|L_#jKx*(a`tKrl9It@$8+DAnh3_n*$ld*iUE7sB5}otOUB zHzU!}y|m@ztu%kgKd_3PlE4ogWHyovDs$WN7d%0OY`d+`daOc~6mh^9946#~gpm6A z&B)TJOIqW-?elqliQ*t5hVBInuiuhjgxitXcG#=0DU@+IhV4F$g@7zE#EcC)i3=46 z=Q%7qys_46jU_yVX~^Y&^>1 zVN(|(6)pidl%HXCi3>bXp)@$FjCPrc2=5a2VuW=?5!Zu;!9l9!TX1Ws4*Z+>ItY_M z1Z=r(P@g5$#-+w}#*XH6=_#L*G`m@(bZkTt_jPlFhuU0f_aBhCG?4E5-dH8##Qq{> zR+r1qq$1ro9CpUKhd7Vo1i}`^?vgSG|G~A(SQ!B=Px_o+0j(F8iX4i6gVc{att8iq z`l#ZllZ-uF@CdPCryfwLZDj5TAQu%YTK&~ONEQXM!t$!F(Kn4qVkp2QbIB-dRZZ?$ znkc2x@Kv>u#f1tO`m&V09Md#I^r!4f_A;;EB`d_-%RjSsJ@h#a47g>W@kxCinJLl@wa=%ku)7#M*r33w+hqTu)s;jjk6}WhDQL zyphIQgmm~5t`nzK|HZgB|3PyO-~Q_o0csAd-S>=k)QNJRw*OQm>F4It%e8{j-I!1S zmunB|#c;!e40SI{>K`h@CTX`I|xFfoaUTH0<8ef^3Gg#c( z@&5YAux}rn>ac~V!p>8u>p}5Q3>Wql2`kg<8iPqz`RWqY;Hv4(_dj3rW zbdVfa2t0^mkaUe3$UKm*nvzDNd*ehYwA%B73HiGEEg3$nqIq(u>Z z3yk>|3X(!uoug;D#1G!&Cj)vG(U0EC*#OHAbhmVubcb|EcOxL(p>%hH zgdiZ@As~&QbazX4NlACt|8UN^_x|7dV6i~qgLmF}_UzfS2S4z}uE`fYv8{UuRzxuM z)^embb7u+Df=73xskstaJSX<7070BbMxthaN_c_T0Nq)cKTtBeDP$m=G#*j-_z{)) z7sM(=7S-gE#D6t%SkIh@_kVSUtoICx9&8zG1@u*_S>-=OI}Mo^!fN9)DQWX5jR9Ca zf#10Dyrw)pX`Lkegnjta)#s{^=*5Rl0e1*NgBdj}kIu@1vqDe=JT*BBo%>UZfaV9m z&27BVlhKt?3#@aCwbE`$8V!@83?!H07s?B?0!pim3SOV?Un1H+?rXSkZS|XLpNV|s zfJ881dyEKxEZ~NdW4#;(%8n|BKOo}S#6;~yTk&M>leF#0OBZzy+=#P;!tw9p;G`-^ z%BfK+Kewy4;{~ij#k@p%+JMB?#dkgDdorDi26>OoS)Q7QZ(8H(kMP_IsUi>%HPx~b zZ#AI9<=vfGul26+E0^wBcKohkwlm*27oqivSIe`>2b3^izqeqZ&34 zpUZu8i=m^VEGt4RRC9Ta1sv)C915AB_fn@9`;HB+9T+lN9)KC};|CrwVTx3$d;J9h z_q^ECl=MFKb?p0Vryzm9#n$fom~drG8zQQ?HmPdS*3$`^r^LD%!^HliK)~=uQM{d0 z0H-MQtvJ`9yluJQ>cViEkx_RxtC+gXJrgKcC?|a&=&YfgEup+^5#&E$%j=@ZOB1Ur zV=>2zeclCM;Wj_Oj&}2%3jH9-BWE+l%@`@B>M9KQIjlm~j5$luR-V+&u%D%1$^=s% zL67ED(bpvB`TA1@H*YDy8Qx7kl-8^4QW8+<23!ja_Bp#Y8nb zK|B7`g^cQTe>1Mn>mFj)T}klPqoI)5T$#~y24A}vn_;f#Mh=F|NTm4N0jMSa&FjlO0WPtMKq(ARJMUib3$8K#6sxDmzT^3ru<5Xi6U7a@f`UkWU%fwg} z$w&D@jlAmW>0BTaqa;N!E~r5cy^#-}dL-ajo^1?o#FQP(rFI}X!3Q7>;VOfEm@lEH z6H=PRtTWL0=45`y^DkaouHWUtTSXTV6k~)vEuQlt#^Y}mb~u)P8`|5%B4F&|&0kv^ z8r#{Ja=F5D7mhg6#eoY7l{(+pN$k+WQ>muH^)9IFejoeiFyMbQ!S-p-dSSzHFJJYS zR44HF@@Okc-`2+VjVAkx|1J?&W{Ih*PWZy;!eX=RuiyO`xYxWP$l**i(j*TMW$W9q zG=7U2zPZCWzD2WYvi!QBsfni~#JGwZYrAI#*TCA|+?iKFV@%&lBSjjGS)li3j+grU?Ucp3@7%AikHSj)qA4=fMlIF(K%=7mR#1)>_sa9*6lv`FzH6yx z;Wq-<&{y(u^^F!BlR{al`-Myazyh+tc%($QYb-4f=rI@$&|>Hr)}zmmXd3mbBKd8| zWWq3}r1J&Gmqh6@w=?3A1k=TR92QNIMA|HN&>p)KRB>pAzi)Di2z<5rpvzz=Ky27| z$>MU~-n^yK8rjCFF~pP3j52Y-64&obL0OXsv_}*YP@$0;IdJY%TYt2Mi-Bi>dO|_@ z&V6T9)uhkF`%G*>=8jUi^vIfZ)0GW`+=M?L_pO6bsNh)oJZf)e@%pNe z=@|)1ij^fl6oj&7xj8~D)clwUCf5m=hD*RyhJ*2aR<70ZJ0kZ7Jv?R?N z?!tW_5b-Pk>zWr9t)lwwY<>uFz|e`2V;d>&gk!^Y6#^DVEmS}`4RrcFR*ubzX4abS zVX;q=Ja`Y~r5%@WkWX;09+O)5h_~-Fhde8r5`xdq8VW72kk63WOY^-^stQUI$jbGk z^tpb3l{Aq-vmY%$OOn7GXR%R8SIQSxX^`!&; zC(Qz@0}ZP}fs)B2kweFGyWH7Idu5&ghZWaH+^ z6#XQ7-@mshRxptL(`%KDI0WTYFM)F1Uryu7{{8i-@HsX=qPABgR5iIYB^PI2H|G2Z z`i_hyi2#&J}E`tJUtas z1j4PzW%v_2f4g3|5Qg+W@MZS?Mh(FzNEje_hW$Nh9b#2f&nRnm|rS|EUa z(N3rOZ+}E$ct|OSZVD+#9op4If6%=DHe$>`X1dg~WUTX;`z{Q+!Qgs5ZvmmGh*q(>TLTVbb z*{4RbRMkp>k^dj}-RD&2(iqlI!mbeI!WWu7*jy0kEDm%d7)X)e$J0zh`F_J@;= zUWMwu)G}U8$)9K>0DoYYm3jp%EAFJ19D)D&#lq$vbLl5+Q##* z)>!pJ;^p7(<2vg`_Uk8JDb5eo#NIuYsZMh~#0F!n6DeX4$I#F4J`&sBssG&vpLzeI z{^*NF-(@tg7;6YJm=zjfzaDT&=EbbXtdD2+8yC=xEKw6S$I^PmrUTpLM;fEWwyz<;0mjDwKkUAXHVR2R6XIDUPW8tY;+7&pxPChp- zyF93=W8e3Y69fY;s(+yP)VMVTetdZK1U?naPoRGHO3C~FuvxFp?&2#=r!(ss?XpeT z!WKOYgBOR$i%cQ>bWSTa99EG}H>l)aN5xw0i<12pg}GZvKdV8Pn@sH6Aeg&jp0&7fMm~0IJ8rPhQ~HZ>-@fWi5b-0f_(M7D zw%F>l{(dm-t!n@a3*nv}5k#ue*DLOy?Xd0E?U|x)l}ZU9z(JP9mNoXcEfv$eDMs3| zd)<7!$ytCEp<4PDKM2UTm%Nuv1sygx6|zLK#79$lx`TUF1%=6y#{w;m1cq&XrBp32 zH$C`jsk25DA3(IwHe%HFYycbl&Kl;CkQ#)V?MP$I2!-=?orTuL=KV1DI;^9JHO8xG zJ4Y%}ydV_@NnJ`My3EdsG*FEdJMpUGn5)n-!(hmL(_We$*cd@&+CR)?jGHq(nFqJZ zniG59PSLR4PUfi6`;8{Q5Jq}vb@B*YrCiC$Vn-5g>i~)u=~pEz7?rQG!FNN=r4P=U zvb2o^?uctZ%W*BO?<-6O4n@__jLxxig0K`e~ zgJ*`iK~Hn@gWo(%DOY@DgzyQ#cW-2NBzxr8qQp|)o}K=gi>=RrS`Rdxkc>}JW(jMI@yFvv*weD`$8We@r;ZXp;`71}-J zT6$gdvj$y2Q4-NsORWXTLgImV!)yd87a*4dg%AJL_Fh0_jq=r(mAVC4)Ea3&-}4+6 zKa%tL+Z*|2DwXjyL`dEJOnj*dR#v%*(S=!i>WS&h%X%Ye+K!k}%wnqxvlRn3-`LxW z`_U9Mk*tH!Fn#o~vi zzcvTUAE19*8-s;RF* z6R8Z4lmyLp?-O07DXC5n&{F8Ht9in!U3$kU>8E7)UwJ7Jkc$FilRPl06%VumZt0xs zmQ6{!5JD1Rl3+569oB92FSoxBDX~t+cB);g@1NWZwp=7z9{m*cu#SC_!|n?%o-saz zF*~T<^(?x}(zIPWL=5B}*&>&aI2}crwod7R8z{lh3L&MXxmS=(yL+3-AGB2QBG^VY zwnF}>DbX_*O|17fPF_2_3d^w;CmLJ6rLliH_7&5oTJ;bIys4i+k>8e;(!(E24`h9T zOo0PC#FKtS)|0`uBnjpfO$c9Xgn20%?izo*UrhBK+<<}8OLCcMe}rIr0+ob1?f zxmsj#M9g(wG4v&djff3B1wqi~*Pkg!QXI_B3fdh?H28-wXAop;1iU1?gmagX_kLyO z8#KTUEUv82nkKQP)pH3!gNtif2p8(DCj#SVA>CC^p4rzjeAFT2B+3{zwp3FKQj=$z z#U+vR#(kP9qANEHVC{FONClL#EPITgNQrD~vaD~E+x3f%sTQIZV(+heij*s@vwrH7Y@`$z$u~AFh2i==lInF=1Pt!(V=U%E`ieuK05% zK%c20b6JK|QkbanrU745{RFq(jercX8#KT$!tgb&r+rli*@|POJgdt?fyM&(y~;+P zZSaHT9B;sQ?RHEn^ij1#P_JwG6tM>PU?OT33rw6#+NZ4Ef?{BWt?9W@x8~GMqLAL|D4;GYv$btRIGq8X_JMp;fs3ib$k!tJrqfJ8l^qC`M zGv`y;h8vGXTJfI>rObbPA2Hu59vj{$vnQ2Sb$wDI$@YE^CFp%m)O-?Khv+Wd_p~{y z3Y2=Fib4~*M**{`CSWEZblzgfRi}#?aKO&3m$42&FC5e%kCH;i+2vzuEJow8IFCJ0u_?q-_gbWVn zi?+jxUSwZvxn?KlayH2e)kQPS?8gd%)ieSFzfp-2n+6kU^5@Sa#mbh@9uTbBGAkjD z*h*gl;uAoWFV`qk!ZXx(QfwHmd zfqM9Qa3MXCUsS4GIJEeu7LErLqnk1-9J@J1i1+wG&& z+sjJo6=(#zcnN@Dh&hh!Wr+OahgYA+@vW=RO)FlzG?ydFdAl&6a&C1-(-QXn-OZ^H zlCV|&s!a#(8(KnnEZJ|O2!ar4Vhgr3s@vqiH_at7`No4M3|QhY@IULm`q3D?1aMzj6-!|F<29rOKh)%}aE zXsL|g9~R4JPZm42a#YeeA`Tb!2<8cbYqK8rKgIy+|GEewf6W?IA4om0>tVIKi}jEQ zNdSiBt%!{ByQ7k$Roo2BevSkNP*3oFkr+WhA9uUM)7l4|X`GL)+aymzPV*ZC^HUYr z)|J~?Npa$&0XTjv&rF4S2RZv?_rQ%LHRkvI;i;0AI%nm|eRf$NePk!!DxWb717Vs` zzk+)#ih_)(vb(KN;C7N;GR0@dPBxhkD(X(mMw|V)yKR$?!mOSfeX4@ySc&jtpNh(0 zYV=1}=T{{gn`%fCwBGT5)hFx+R^|Q?kZn*;$Vv$PM8$8c( z|9F>krS1PYwWRKQEgvvkHg-defa_U~t92 z;Nyo}_N4nhhbrJVl3<}xb(Nc^gOt?C|lQjIe}~@&vw5W+_miRGY?UlrZFg zCZ^b61?IV~4ECbzSAhu4CgA=Z$Ml10xB)ed(bx3}M+F;K@4Z@tMN6>aB_=hMyUQDF*T7=y$T2QZ_!ln zsD`f%tp`U8|A1dSU@h4-eB|bMu$8PP*qU}Sg-V1R8qX=+h}0Lu`^z5fv@PH!0~n?jI})#%&u9ygE##6kzL~(`_~i8 zU0*lwRM{NGDoPWanBYlrHbi$+-jK_Be}B*M%47`Y32t+%HVsluBXMw7yl@G1xm1_6CT9I2Pdb9p?7+66Lu4nJ zfD_}vXcR^0prtyA%sWVlH|BWJOMty!NF@(+iFQc>Y9CJ#fO)Fg?HiOKeEw+)n7=`- zN{e4z_CI=>ze+b;k;Gkxn5LpcJ7jUUf zb&=t2rM&L{ie4Nk7U=qs3GMeJ;o8spq_YDO``^=Z0>$TE!MUkmAe${S%Fl@bc&`B? zRdBG*lxH^k%$gWH&NjjDi{-10X@iM`uT#-G#qz8c9iEozg1NxIIXk1CjJD=%1yxk{ ze}w}D!vDuawau@f-mSLlw$Ha;2T)X!3BLo~Qwy@XPY;p)4$sPVYs-CEoxd;3>P-Lg z>k7Xg&8~dFqBS^&RcgMI12P|#DbDv9d!R(~2k}5r3 zFX;1{6fC`L?jZ#>DlZL@}@(C=&1 zBMjJn1P#r`_~`Df^m+oUQVPn%6w5TuTjbB^6GMzY#XfZilAwM|jZZs;L-U)IW{!Yn z4u^(RF+REoqY)D7AQjtZyWwa0%PKt^H6ZWtKwiey+);n8E+eZ5DLH-X!RT97MRV)z zEu>4C>t`9d6B&I$K}1 zXUb&hc2wB#K4@KFfD=~<7ZkjDv%NKSZKJyAexe1mZ%R6LQl*u*Cx}LkIs+3^y-?l? z#^)H@GO{jTqD7HCesZXLSg>;CP4T+PWx6|fJuGa8xsum8&aceBfYtuoUzSnL()aU! z5*z9N7k(3g%z&`V2d%wlXg$6%>$&1IDbU*UIUV!QahZ_FdK}8^7F&O7%Q!VXlHYa< zoxXA(fL!q`oPaI_Gs0yPj`eO$#fTx*q0`nZXe2@iRqX&FN2mLSIkoS4$gJ~s7G}8{ zipSl|Vnle2f0-pQcPf4O_Q~Ld-P9XinQwiaTQaf>I#msc73Du0Si~3PUrOFLrmjsV zn(tJ&T(Qh+EY`~Dx{faM(yk(hGr597j4{y7W+4~WFO7c9hy7SY<6tb1nRqILu7|6K zu8$pd>@(=tbEpD7UVLl)q0N4){+?$^ZQwTMvI%U+#R?-&l$l&4ec7tDTw<}d!BP+8 zBmlPwi~-l4&tREwTX$5^@6buhzV%-~#dW&ba{@vT%l!_Y4-(B#_ z%Ur#A5|>=UHKB+~cw27pN(qRHsxpYdA$DKbT=J|li?e77_d&&p*hQYEG@13O=5+?5 zK%WbVFRLdL@D?nz+0DW-rJu3VKRY!AQ>LR<4n%jEbr#Su)wt)E zAl=zP{f>}{m$Co&)ju6Y9|46z1r|So>r^IaG>dLrGy|yExbSIlqZ2;8jtGARB(ncX z*Psq5UIc7`_|-B&8iI=aseoQa5t{st-;rbRAx*YtulCP?yBZfuHgGovJ8}zhI+guG zvpX3?vV8EsE(EH$wb2nGkNVs|6@Kmq_X%=(&dKKfK9;XOUQVKmTD=6K`9{aG@yB;L@V*LWwZ z2egtTrXeT8?nr!?sR;XKJJps$G z-F-B!GmoEV`6jvd^u@4R+!c80>*|NxuxRH$#w-39u=84O@peD9w|8=%^gf=yFd-6f zTta@cY((_2-3a9q%hck9lb=5^qG`ID6xC;pVRt@eID>^V@}v#q%^{ zd~7W($NT3y6z&9?v!XHIz+d9wocvaCa@2Eo{TsydmmHt7A7PT4H&UmXZ>CGrQM@h@0p_IY(j>l3# zgSm!ZsTsD_Lh;d<6I@u}F30KimMT|aQY8H=`gGo`_&a{25{6Tp&Da?w<|_t=eV zs~%0wV3I40FX?7!{r&M!S+KZ}&tUeDjkSo=DW~{HP`dDwG484p6}sPXpWx|`;pFUm z;=Z-{@DHXca#C50Sn9vF=#DPR$VSH-?~|teP2wUJ_j~b9u$a)k7!nrL{|NZACw3Nf zegfO#@kpv?_bRzBboRJo!+GPX@$_cN1DaG&7(LL3Y$Fm{f&RO>{o9bHH1zYiQ`6d> zKh))Mi<*n{Z9|gZ#+1bkzSy*7`_!f9EGh;rqVa3p_+WdseD!MCY+Aa}V`(mom~R{N zFA?&$Zx0^YpiC6JJpU?J7;zyLexlmKK%ngSASwXwPMTlZkgm=9ww6b(m{CmGn@p(O zt!P_4ENyZoV(p0Ukwv)AaF(SmqHl+$jatT29MQB;LzVM;&>kXAbUJ5Pnk-JygTiZD zo#wgao>{l!&4y8>&hI>7;o-q?KO8P!pOD7RB_| zYesSLtRU1HotyuukYYG?!{<7sSX!9F#4Cty0|P4TIgiyhqz~(pTrCbE8YVYRg<;lg zp6l9#BF?Dim02<16=BLdeY9uPCG(A#Zu1Qj7l@6EE@Jt+R>Ol~^w7*#)_jhJtLM+0 zXiDVZDcF!TqY`22?(-yAMce0$`SNg-fVBGO16?F<**0`&Ls((>=Fh4pS$vgM0rIP- z?`&uk*J88pp#-wt%ky`AbJs;D{ezeN#N%e~6Q(Qj=(uO8Ks1W}teAsxBVhE}E$4Qp z9da#Ny6`iEqftK2x^Fvcz!*d_ME+iXkGRN#j+AkD1TtZY_g4Q0H}}6X0on?XZwXRC ze|GQ^J3uQ~bjL|#O~T4*?Kqw!%y{k03lSSnbwWjYI@(%8F$@uDT0K}FFkcN^8e$7oIGSO#%%& z@`je@hGgWV1o}I?D9!HGOi^Znk{nr-3wZfWKd(`*g)o!e99|0*4t28~RD$=1j_aqM z4&M4V!3I#Ue&9J63AL1Uyj34(q)e%x%kXw0q_(fyiC~RG)?1OOE@F%QpwiAey0#An z<-VwwtxBOvkER|)fQa9rWwEwyhgkoawPV zu;4)^M~T&ii^YaxRmPgchC{`M=L~&b-RiW(PkF@S9sfP&D6JnmhL+ezRrI83@{Kt! z_lBqImzE!{*vV-JKpwkW<x_tv zi=qYnNlymCAMOd~epBWpq~p$Ga)b3LDJeNL2tOlNdiU*?{Sa%&3No`GJds?JT5C2; zUy&=a7H~_|^ce8q|YbOh! z5?w&ZX!#wf0;31-Lzpr~ck@JJ!Y<6_2bbBGMl$QSjecyZv(bE@Y=aRm8+@5Aj~F_7 z?~GxFjpXif*3|YKurd4ltdSjCQ`4mJAelIMahYtGon0BJccFuLR`%H~^Tz8>d#Ujn z|E?DbbQc?&!ud}_Q~_*Pr^EKEE8(WZN8LK}D{8%VxX#h1PAHJNK@yKSlYK>>%^PDR z37Zw*&qYR_OyP9XP%d~w_PkYWahqL@G|q#wfY=&2sD zyhQ$iUQ?iV+ZpPwN&|6@r(TQ_-jh4S{jfl8hs>dNjzeUKLP$96Fp`j8dT$MhpdYVSp3|_#SS^i z#ip2`!4YbmrkxaOy^w3)#dg5b_joN|#5^2$izbK`^~(4(VYOE~>2YQ1sY%}w5|L4H zXWVY)X**RtECW6|^?j(wsie#dcMFt>3dTAa2>S17U0;!UwE0%h zKBB(vs$I2jTA~Sr5((Y9{W_bd!q*xdd56W&m#8Yz61EqCa}zuY)k;5P;%<+=x=<7K zvz)nmLVVJ9Nv6>8^7U!0^dZY=CcDoFX0x=Ihi<+HziCPww$$K{w%ZdMF=6qioaETY zKl*wulOKW5OftVN_=w;q+3ugX?6R%6?27!Na(iw6EYz+XJ1_1!p9eYI6}Bid%AVZJ zK98sMOu_3DrL^mx@zLmp@OyFnz=Pl-D%ojXV0CnO=$)FH{$-l)nJOLR66yobiAl^3 zW!Hh2kX@0f3kc-=^Q^yb zL|2nR@8DW{nz;_~d`oz??*V7?O}F~eU1}_++f4Mj0n!BgFl?cb`~DNj2|Qz`DwV@b z%)s`k*qxEs}I@nTESbi?jPJd1?!s)d~R=HB9R9w%W?{GV>;7pf^fDxf<5a6Nnx|h ze|M7T$9$0c@BxmqAaoh>y@V1oY#Dr#X*TbzehvdbGVL4JoYy5osnsR~0<(5&PxijC zw!jmE5_jlwYE-$>f6-E>@`$&vjAA(=`qB{2j0(Z0WLk9e%D_5+`(&rxyP`&6tN&;t zIBh?|F`SRdCIyZ(JKab%Aa4+gp)X18otD^qiV4!tIej^Ep3_GHbJNJvoqG<_A*jYb zj()yIBL2K{67o!GE$|a#)5+vjZOQE`qz~a@9t=iE z`CRp`V;NIDRG~-i7wY$s(NF)Vd-Gn&4OutU8PY8oumbp5^)OQBc&ckxWHAA=w4%D2 zDTwv}dr#eO`}mCel1TX~cddTBgk68?w}A5Y`@qC@5eWIfAe6e~^L)X;AfKdFM@HAl zLWg6mww|!27kT zA!OV-lwsyfN1kx5y*A;Cd}F>jRmC+d6J8L*-jx=m%@_3DXxO0k6SVkCzyZ(m6&uGPJ#u) zw_P6;$Rg0sfi2ID2KWeK%DSx~%S2i0tgAO@tbhTO;JT-fCm@|iP|mU;qBV3MHO<($ z{{Ua4bCE=z%l?;14A)Mar)QOq1c+(D(|!uJbmeVG(%&W__HHmsVA*xYJZ*t zw|LLZOv`$GS=H6zjkvZ-X%95;2^YJG2|Xo^T|0_ik1Sw|-{tfl8#VWUKB+%RgiGPg zPx_AB%i+95t&lu`E^-mB4ws`&kBs+wZK&&zWSYcP`I9tObG;YOweJR^oBfhBWfJks z={eHlur_;yPO>7!5{dES^4Mwk*z@PnZBn%eslB5K9P&Z)*{2NM5*bdk?R979xlsOp1&RSwY z$Fhg++s?TQS@gS0Sp9=z^7}aWQ*3l_`>qdnEVFO$-mE^8*F6purTj3XSZS}?fqH0% zI#3$5hxRj(tOvth>KKjBzo_1Y*h5}J9K${#(h=R!TlO`IEQ_D7_{QuH?#tI-*hYmJ zNd-@??0ze{?$pE8l4{kqC+jm<+O42Im6)Z@v`NPkKg;fvgZB@U3u5h#5Sx!iEN< z&K1qk)6@5{dC+*e3=DSb~&50=k}wOWps_3i_& z)y7q_qgWU`+f5E)e%r(PnMr!gA^dhPq@)r>vid>kgLcDw!oGGmXMBx0^n>Z>_Ky~4 zNz0|W*7{j=^ODqLprEUN66St;A#;KHXp;rAZL>9kMMA@&a`{XC7_X;5ltX*U7BC zUu-$L2yk;4yquDN8(~A$vrB01gn%`F%djW^JxxVwYmOtb6p6lqA*a6NOMDvT8PbEt z!;!K6I+d+XZFki+T7hj-QIE)GYt*WvmPTG{%QPdIZ3R&CQKD0WZe9v)RjrMoUFI$$xMR6$(Z7v>bBoX9=g+;qKh${bMuL>qk4gc84Tad?*jZ()T9BE7O7p8?hRNLz14p zBvJMaaZ#&IM5dNwo!Ml~81JrRp;;lG$xbl7%>VEQ@Pm?a2a$vu>z@lO>=U6~T22`M#Wa*xRGz76_yng*=9$qu<`)EO-7Hz}JxYLh z7U$ij^K?@(dPg)|QB$9|WnH7lQ2%tTU&2OOb&aJOr{@I5FpV=PQ}^pFdLx&F!>op> zamg;_Uk$-BOdK{-=sG4QgvzYspyEG;#Pt9D0%ZVG0hwfc%o#nh8%=z6<1?)7$*!Kn z^k*$5`DUM|wX0Xt|Mh}kW@4@MRjc1aZtZ~<@u^2 z&=3!}fSYq)k7he4SYZV%yH$}w=BSNox>yo>3tL^}@^QLLPtRdymRw%j_}PSRXWkIk zvRE_cPbcekUNJ6{i%a6goMMz|?Q*)6yMNM0=&FtJ0Shv?FK3ma)72eCm{Ok;*l0bC zt%aL0DLWarf6C*!bC8>&JTfsYYoKJAP z-3Pb-HZ3a5T8-OS(Ec{|x##QasGG^1*7m?df$E7==2`1+lLy{*jH~|7;o4q{%zDqc z=xlaJAD0a5lPvw-!Kr}Ve@yVCwUj>ab2F=_w-=#q7+y6v>&xwOYYFW*?Vsd!R?d4W z%{AO7rCG+TX=f+-9Oy(Dxc8b)`#l*jBfz#T+nD{N6}O?63makeHJQiOO^?Uf9LPCa zTI^bc`-^exj$QP?st%zP3UuReY6)s*%r!(K+>`5ee`ra*%s6qo%4EdzowN1q$AEO< zQ%usEBlLNP>lO(wFKLM!yEW>CI5s>2{xIVJ$U^J2(}q*DkaR{Qy6-Fn;GXR~^9kyK zM3M{Eh+#Axo?-w<&ROWP=0_Eoq3lA>^gD_gfqY``*HZH8$bHv!lU~KaRMJggXkMl} z-X4J;9kz?h!CMbIX-8coKTH;no6UM%d#`9#MNcz;XRT*T_`0gtTqmT7svx20>7kzu zWyxUHlT7p{Q$e;z=TYVHB`j@yaGiNNwZj^>>RpVwxT?OJZL{oC|In~bMP|0OxFY80s>za+&K1aT zuy%{nuKzA18;Uhs9D^T9&_vRsu&=gHLX^27Sv zUo}tw?V>7qYZN9J(AXJaCQo+ayM{iekN1qoTj^)rAV^9xoIND+_*Y=*VIcObKi02z zvhAJj+g_cdG{1S2cle@qY%zP|hFtPnj|0fsp36Uva{WI7uzZQQn3O9zf7m zLUV6-s@GBZvxm3d46q`;{1?RYz0@CO#HgGfz8AB0WQ)|Z%)eX6tGOL6{gk>he|=__ zWDZ_OwWaf`*hdqg7p6`{%S?O6s8PX&M)QkdeBV%d+C|#z7@MNphmut9OB^Qub6W)i z7fjeK^M;#YcC8rWO12wh^18OFf54QJ%zt+(u{BqaZ)w?Y@%Ev1e<*hocvt5^mxkhW z;Y4@;OXQdDaP51zSjz=AFF-^kDoswf1Q15sVIYOeg zO9$)+is)ea!5;8HWmMb7V&)7*Rv~#1)??nluq6<~v5juRo?_R3_0oGx?Jy>G7)5|MZi?A z2upK^;%o&U+RTPDc14)!!k;*X5S0f&|SOTZ%yBle~D+lFl|LGu`>428qZ_;EPkU3$+9`^ z(%`%=WFZ-Q_+ZKA_!inT6tdaxItOa3GFh&G_w4L+Qdnxz{Et%;2U=~B`fl0iwH}I# z_mTCn>A9idX0>6(&e~OemtQ9!IrEN%{OHQqu!pS`R?yV z`$oGzWbpejK_Zl{oT}#N(v^D_8Wz3w7ocrP=Ha2ToTDBAGbZwY@14CkI9S&b%D8&2 z1lZlK!x7n>QD_C|C!BiNn@pVbx^`8ncI#M+%hj0~vNS*JdgvQ`How0`5AVIReY47A z1&``SiB23gq*=*c2m=Olhg#3g&>xa;1z3n^_MR(_%Rd&S-d$S;9F}Ig>2W$s+BJz3 zsllxSNyS%8KD;=Vo#pH(Mn+Jz!yXWUvT8H>3W5jvJm9%Q*!rv){0YCO3P#lV9*NYi zQ$2TsQ+hq{_~}a*>mg0%;Bv#OB=hn4rICCQ-M$48p`j(lBFAO;cO16!FwKzY?-urs zJBbQGPtQ;~#liloHm?$3L@^aHVrf9urrwav%jF$!#rMrL_7V^aY3y`!Xau&WN#v+9|zWkfqs=l{A~kzcsd5Oax@WAW6uFTVYVq zHT$8HwgJ>U_fUs7e}B+18KbGE-@oPG_H_?2`2A0#{%`TtChNRF5UoEVak}H%6WVtIEPuGM7r7<<@N{DNbT@K5{xG=mmgHgA+IHjRT3S9|VI;Thle}~< zN@$|{T(+p^wqduS)B_g-v$Zjg*r6;9_gjyhnnyACkRB_;wIgyyS>$TAAJyG8n#^wiu!=Za`ta)wM>l(qUdQF=#Dp-T zH#;m?j^D+bquD z=Hx{8*3=y`zpwCZ*QPHW5i`NM`BEUT`h0C?e*Va+0{C&wm-)*cXU;C_0|EeTN62C9c+L-^Cbd8Bj8+LhrblQ;G>_N=qyXj>wVN*nIeH1+xK8T%|R2U_Ob5PqCbHE-zmX?EQ@IdWLQm-Tm6{L{`P?i+DC{ z-|upbcwe9PJ>Rc>tp9*B>wgo>)OZUQ$-rpf%;t`N8`#s1vgXFvc^ya_4Poy?At39I z;Z=#Ve%^juCI0&uPA=T(hqPPEFi3EYdOJ?(OLyN(U#JUH9fuQ{02lsi_+Ck+BI`$* zKJITnxfOJNSiPLPTE7IPnTXvqOdAynS;uVQ{~j5{8c>-{A))(2@WXMTTR>Afjs9sr z4ur4Lin-NVYu3A>t}Oln>OO%e`_{nZ?D@{s*2myir7&9@#A$Mce2qn+B7RShPiN({ zDgKu(70)~J0PQ^Rh0~%=Rt0zXp@-t!PALqQ4Lyl|;U`sGSl_h@(x$V6&zQ7U8{pE$ z-Tf-bVeFoyR5V$TV6FDO_VM_uZ?*=9FC~7a(&Doct-3a}vEERpODYHgK|g`+1AxM} zJqH-8n%?Z-?W~VouV0}p5A<3t`lD~&pKhT(mMBAy`PTEuDSsdX&8`dA1(KGg#XBpJ zCE5EpmiOpxzn3TE3)(n6_=V1(MvF`u6&~KQf;x?BxXk=4uUf%?D~4UYw4ZfgXm_bm z_x|rb|Kn3A&l&|`WcA^xKFGVEVvSYN3X$Ln9J0ltLs8-U-YM*vTllH-#{pK{W<>rv0u!{b(;+MvG>nwY}Lvf^hQ0pEGApJcqX7Sns*8~_CKk6X<&_-E_YK# zAXA>8Jm&61Iu$Y-4*t=#Gg~-&{dIO$|5L6dGH*1A*OM)P>ZS>BapQX$eRwZWPf7AW zq=#8Bj!+ozl1JU=I@0abmvQa+_rv6*&Vx%P+0 zkn1DkS_W|e=@CnFg9FR`0qi$V51(LfGRsT&_Kk6vxD`5I5|EI(fb+So0wgHdC*%E_47q~8ACCaT z$69^oK6Wyg1WlbcVElLsTE|mk#p`+d7JpDZ=I@u@wm!Lw6rFpFRgJw)KFD@Wh~Hzd z(EAZ&UbosgWe)7aD+nF$$GfNz%ivoP%Ivs;Mw4^?AzT_Dwge?8{yAIi0jS$(9|gfs z)4trk6By+rz<8HT&1^Kl%)?>54wZG&Q|WmEFOpk&dz14k{Zo&}`swt6rv)y+9WYSMR^z#2jpXb<#_QS>2F;_4UKP#oR-`sK0V-y5 zNeB1ha+ivUprw-}6ZBzh;C{-;2)H4cT&Te@lAD}%ds}q0ef{hy;#`r^JAJG_da?EDbjQ#k zQzCr0A%rWc6lrV$@@_N0xn4lbUiwq(D4Xx2q4&bwU%?si{amyKH1`SL=41f+B$#CR zQ-zBfqAx_h15t=Jc8-k?!N$%sr|+!kZ30R1*>D<6sM`g z%pT_+s?Y*f-7)@j>eKTrP%Uod6%?kWCRZ3)Z;UADG^R|X?ICktp!|k>K)89Ak4d}) zU-r+X#v>;Y`j>C(ApC69$G~{OdxCXhw>Bw?A!E!M@s|=Fei(JKpt&{Xg>rLlVOT6 zAI{|EQ(Si=DN+=-)dr}WW^5hwc&Pdy|4MXH6BDF%pvQgef2ropdq6c0hjOHt{t0D9 z$%yaDuQ&Gp5p^BlSg-HjrZST3843|X*;`gtQ7C&Wd+(8~tn8E-Q7Lv?22`&Nw*M}Ya&E6qc-yBm4o zqSugO3%f@GnQ@x&-;Fjqc{yEM>EC4Ewk_uv{47C%sIKGnsiX``-KIu6htpC2q3PtC zN0s8d-wPykF;B5ZFRSSVrY`#?)RE~8Mnt(Ddm#(S`_^cU{j5sY4R_H@*NIbc=i?=4 zs?%tXU&E01j`eJ6y?iCfI{jmsi29fwZYqvoVjivw&4C~B6yXZKmF-GSkJk$O7%h4Z zN`V(obyjhhjQ3VZ=nLz!6-UivMJJxpgCJ>Qix|R=0<+<~A={z9AFNyYTPd@O*UP_4 zxpfb=oZ{j3=`}T$iO@- zQ3i1nJuOkstuhwe2J`X=I_Q_xG&D)mN1{hdwsVmBDz{o+&1|7N8ebC2Drb|~HH?fWC6tNzY~ zPl-Mm?!+_HBni-;IW{%=jC=+6S=idMOzbeH=YQXY0kNq&JKaKIGwAYP8Mk!6eEtry z-YKG4NnKURqIR%)k+tl?F}21S?D9tK@2KQYSkqOh26m>#8f2?Bd_5w3=fjZjL?b<<`f!jG}8`zo-+jvOqmkS3% zW-hZ~;iHToYAbv;>)2LQj^0w$A20LPet1M$oPTAW)9X}Y1&f;@(71jo-B(LlawhcI z{>shYf1nn~O?SfVR6n%2BhY-$(6m2F_dPF0A-{9d7)`G^W|Yy+Wz(xZ>|ei9b-cy) znbEsXN3ThYT|;n;dZ0czJu^A;$HLB4NTJG1govbLde0kyyL{@v8*#Sc%~!Q--1}wJ zq?)aro=`Dwf5>me{q(B$u{Qyy{j5=r%fRDIHgaWg^Nm+mBndFy6Tx9$Lzb4qnU;eC zUx2y^w!IOX91j%}Xt`jYt3M=2>J$du+|15MFyap6>n94CfiN9b{ z=kn5_Rwaor932&a!E6KDp3)^8q*TQ_y-s;RKaTAb?e{oV0q8?rw5K~TKz<7}Q=wT( zi0Zov=$hBC$toS!Mw@2e4D=6O3sYM1N_#E7v%#mgojGR71^6WvOxBua{i82&n zss1PR{Dah~hA?a{xjna$oa-ITuddVOsf!>{6N^Tkui=o4mfPW&aPtAbGJVdkIC*0&EY+kE#I-jl~*s9$9^0ZYQf#&(c|CQ>V zKBURW)W3b|M^HIGv;LSv=o+=7kHC!`2KA2I8eYw4O`SB7dCWeG_hmfDhUK3FJYxW3 zWll%FN}?Gb@-`a6hu{~G{i(`m0IK}cWdpgtQ+%)(knjzh`<4WROK)I`43b$zWU7)p z9j3TSLhl%N#KT823JyI7W^1Z}&bPVicrvu&TzsR~ON) zeuVxJX58TjhaR^)zdZ(RhkN^1VK|NWDVO!#{_;u%$c!XJpG>!ri#p?0-d~yD$eHUK zpICK#q(aj%CnpsUSz zN9;Ua|Jyjkb;b0oVM+HS9B6Ya&#SlLS~CFT_bj~PfB~^YH8W3W+UgCWn53T)5b6+O*3|JVXE!O>O*QSIh* zQC(#(IU2*vr*H+eurVCU=rp(ub*qcsx&~zL*xf}PQVomDDfV_Vp^7Vyj*H?f7J-=( z3%!>m#NoE0Kx|XN%Ki%w8MO=+Cr%}NK^Q5(ZVw_!xkUgL^Y7rx(0fc_a9Y0S(c z-s*tXkR~qUR+n4azr~cF(=M+MxiuY$rKNm)^GaN#O}&xf5-hcR!%o(3i0wk;3@IBS z(cRF>i7VtKN^H0cqc`DpPEAzs6;hQRl|bH9;+msklnG3)Q8SE)c{i@}t}#6c?bpQ@ zQt5;iy2k!MWK+6e^K0E7nsrhYwnei(-S^gqwqs*K*}D}4J2!!>jiuXxt}D-b`HIj{ zpRQfM`$Qw0?WtuIm*d?X*8cuvAVdOnCTi}j2&<17e37%{cslg@y~Fp9lk%hz7t91? z_j?RsC>(RzzS?18vuEwzvnh8yK%bMl8Ej^Eqe19vMqVA&L)L26@kmkJbx2R?R32?L zfh43Q@7WbLlyO`S>d)uPWObKoxgfTq!r~^Pw5BdZ`J2i7``s0-!tk1|oW#JidVHMy zlEA@YFWSmK>*y|upZj_6*skEBbK>Iq5hW?zX&2a}u-qHKxJgDT*>>?*-SfrvtV4_vKKCnWW=;+KK1m}O(%31uNOl$22xyH0)40#L&9e` zIV#&OSJQ$T0&m4ipZ{h4a(lbsR@8ZkDHySyMfQJ|5yEmp*T{EDqBr>v$s=vuI-~XJ zqKBC3wd-SSWv9>Dmf>^HupxvQY0esR7hgDy^JF?$2&>n6Qe^UP;p5X-?h!?#46wSj zW2Tz>ZLf91@q;;_3#UJMA~jM`q00OH&5t*uG{4tY?W5(hRjWdElpygc=FcBolNJ#% zU);!T87lXQHLpp@x-+aTJArgI3Q=qP>G{s7rU=g<6?NVb8qY)~uR}^F$U+AUZJ^IR zEV}YmR@bmNe{8iau@j9Qx^}qV1Jt&qH(x$HQv|W_Qs#h);Fnh*uK;bf)>_(#w_=m3 z!+mFav-!Kv@ErhLl~H~k6rQdP*m|$)w?Gx;*IDxS?`T3*I(PBSL z>H4FI0=GJ{(*dZZIinQSU0lX3+^n%QUA-j&)a};8SMx%o?FAr`DxzL8S~ld^T=5ee zEZx28Nj*hG{mXcPJX0>OEU3aPcB+2;B&fRE z@@6cV2PZEScG#uIJBBG~Yk{J(y|wO?Na*hCrRj}>t~30GFGf)y=Iso9p?=yB7884` zP%w>6HVZGDYJ1*|g5LB(GQqE|t)!#B7w6g)2QSZ2i~GE!6PZ?22s7_9q-$nmL(_gf zxvkXUi-)uvexf|Eo;0mHLmz*DuYTN$oMBVH#SjDjjr=!fZrY;eOg#BGWuoBh(DLUG zeN5k*tWdEX$UznX=&wEy=rFWNuFlAVK887)^@c`b;J|vdFplOF z@4fCvNU*nlRi@j8Hh#otxOcOxI!m{+QU3YQbf?L~*gM#RTa!*Y0i|44IS@kv{Ui-()1JXzQIjFjvE^SIXq-A^?JWi$a{bABJ8`?DI`;PHHYCZJv zN&6j?6ga2rYHAB@;G%r@^6JMDp zQ|-ybS?jdu88PcxmEWv0&tpO3URUbZI@<_QU})=Xwe=lu4xBY;DcH|ordC!6@Awx9 z-e!1iy=^kwUJ}yJfTIPzodI1(# zT~#{OL7_&?zWeBB;nc6am~2khRuZLc9f^@!UTb&Uxd#|w#r@OREU#^Be5(mLE}HJ$ zof#qEwM@K!@d8U=>v*G|sLlMHX8SvqCm@4JFDh9`Z0LfxW}ub;g-5no%eX`lj6r+O zM&S>xF@C)CHxeV?Cee&pS{E>woS>6pZiNgEX`nJoQ^{VOPR_H8froMFN$+i^L+fk>naKaR5(?) z%=ybZS_~>g_SY>7`(Bf0XklWgZ~Ok-0YU)e(@3&8!F#O#+u=!y%T|1C+Vn#HH>wr+ ztjAQIt_02}1M!+C*%SH4;m!4|bRj)YD5ZCp9#oIal&TW8Pf%gz*?PFeoO3%P zPe|5F?rMXN2BSDYWpK7p4SK}@#s#$z-V_NqxNZdnPD@GJ9##Cll1$RBf zqY~koZ(9&Pp1Pa#N1)BQg(FDf4aU=ezs;e?n_~v+=j$2VfMQ zLLcz(a|(ab$F|E_R*jflbZA0o9_WKW!Z?zIpT9?(bYY6~YWfJKXBrJ-|5I`ebPu$5 z(&3fjeq)xI`g0EBTeN3w08swTPdOo2KJy^(q)yVjB2mgiJ&8oPn7nrdNycrcStm}P zg0$peUKvhb>~_}Vx8%e23BDrx`00wOCoHUJ(Sz$P#H6HSBQrT(YyL{pR7HxplyVP%eFq%!7;ZfJFb9}P~#G&l-D$RGql z28nKT=!agOmHDfv&ve*x;lX+9b&xhuxPB-Jf{3Sq^ZF)aSTwaMOP8kKRh>7fuUa3H zJi4DrQmUTPn)u-IAgTv}M!y-xb9*6LYby?qz3Y}n7nV8S`q`PdVPNPyh3ZSPL|$I4H!&EA_Y|D3oI_r-DOgT=+Li#YzV zKqg6q^~@al+Np%eSW0}=s=(J51wsjI{KG3ukt(T=q)TjMnC?{W^W{9hAc5;g&VdYW zjszhLZrjYG_VCP z%WrSYBfx3p;$a0IC##6yk(ac+3Qf^eV|^03>aWN5u2!#lo)Z|2LH^T>L`W-FoH6$M zB#Olw+Q@szgpnSt1U1`_mG%vx6m699I3%-ETkkY43DxRsk3YTtZP;yZzU7spvvBc7lp(>;&%P(T1xROTtkd<1_F>c(GhJF} z;a(x}=l60%NKGJH%^?<2Lqdv+--`M}p?c%s#hy@Mqiqr|S;ppcyNuEPyu>#ly8ymOo%=l#cwn2qr9$jpaWLvOCfoNW0=C%g!ckE%gn|&Foi$v53ciPdG!|IJ1 zIHf%_T=TF5^yi5&nR8jwfY9cCs$g(>ukVW)GxeWxFxtVhmp8TV)?61HuH|6x)qh_m zOas8~mk)QtzC0x5wmf{iWTKG%`Jn ze9=K&ykkKda+S9YhlzUcZu!p|v(=_YYC^BF*RQ;N(Cys_fXdY?frVTF#+pcpO>NPK z%G!-5NJCqK^DeR0aoh+n<2PUpkeRG;PdR%}v6A=S@z@4WWy{I2@~7&)hq|(rX~GR36EL*x0gmP73FO~q|2+*gL~A-S=sC59#b@?V6x6~ zS>_85{#i%RO#-ZwNAb(uCxS75RR@CQ!%Gk7-kd zvbZU3WwtlI`x5PX=3LViyY9-g@4bu=LQFDTmLT}CjNY7eg-)>gRKkc1i)?bQf`z#? z-A;=fukb}el?_{8oMI~ciDqJh`iEjxFUTcr7e1Ll2i=`)`kt?kGP}FP%xW$dyF@#uGN9GrrTw`Xdo2984%Yqf&AG$;`?nUl6?TKV2q&~6>2*^m) z=*)!TTMSDGEFSYMz^M;S7Vda>7V@Od>97RRnae0+G8tj*8>s-bjCRci{)lcFFFD)H zhF!hdeWJ)K%Ct^6N2GPsAZ9vB>@s@?19$?+{=u5kd?EYy2wcq`xEdjKy(L!v?p3vW zW4B!Wz1o_tbDPK$g9MaJ&>a{4!;*dH$24ut$*dZeB49yI-$&X*l&d>x<_VB6qO7%o z{ybG4`X&~br@k_Un*Mm@s-Ru+x;2Cp91qsm$uf2F#`9nJ@-7{qZunFPpG$c|MgC#J zL6}q+r=oDRsbQU?7$ztEvo^9!IZ(79_4|vgafR*;w~`NLtz9;Q`(IbO7dTB07q9_6 zhcwaTP8_pGoUFtn4+DQ*oo;|1DdUs`1D)3XCLq?FL1t3via4t=!ZC@VmWeo&WA0#{ z_s!h>Ks5l8Or_NrB0zl^sy9#wXdWC6uy;4sL@Y-&MZU1z$GYC z$Udjb9p1dJE_%C9E@}wb4TPs83%JV5)wR1|%-U>=n|Ik^s+}wkq`A@CmrYk>6x(hI zG&yqjXH>lXdTADj{|rFgcDY|L=W;aCQYH6iek*za2L0x}qJsTHKcuz-9Pd57zr{Zb zD%_6z)9sCaPOTBLv43>?i*buXrv*goWTM{eP!@1zu!&u068Z8l5g926SgS9?=NZno zzvRENOGy3}BN?=08u-WDP;r}Z`01?3u#gqEYEuzu58$vK?jWi?#(NHuFBNs?rv#&# zaStFi9F|0$eW%;yHu;1S50((C8sCI?Ed_H+ym2wQm(zG<^C7yO3$|=!t}KqxZwf?G zERgd!_5S%h9vdXZzjb^CsdT?62hBP|pr-;X%|s^(!Rf4CN@{%9s3^oi&{|Ag>j^(d z-BI(;yU4KXc_bQW9Vj(uS`C;s9n4U2ht##&G9HlH+92?ey6*em!9*z&Zt$u9@M%|= zK3SO%P?3TQTK6+wFI_T*u{`Zt&g-w6U_N4nLrG7gp=-?2lWNp9W{h$#-*g)_eAV(( zVR@hiv$TLQ%Ss{x(x^6eJuV)!uWs;q zWMmcJS;pS&{c?Tm&UcH7{alN~5lK+V+yzJw*-YGGdnY63NX*_n8J}$l6xaKSvmx6g zeTu5-Gp)M|n}PD~S@9}^5JnM{*gs`j8Wq}1JpjHRSKuyO&b=X-RW+}_+8Rr8QkuFU zb|Pa#y{7h*n(y7b*Y8JOa7l27ncl7-sSXeF1#9z^gE~(Wk{N>Z$!3U2I2{)anmUs@ z!)Q;KN`#Lvvc0#l_e5*MG&DN58cnd(6~X!O=JsWnwG?)LUIrBj)PRpwX)$jC9>cdc zW?cguikb72e~0f#nFGolIo8Zyh2R5cj{QpP(_sSVo&n-p8lwyw8jLug z5&DD_2tesmQF;14wmSkNPqLdbUr<=|^RJ6h)?W^8B18T&<3L~MSJzkfq|V(Z1WpMC z`py@CBfau4(JqOSyFzM%#B`5Da}B12_j{ZUTHZQr$ltt1HBp)pccO@#dcP!b1%p2) z0Lc@8rDm#|z+|*~emvI$jN4$3JN-b?%L%dbHv&VA>(d%gdlv~KlSui~PnPcs!=li=Qn&j|$)ciWOYbM~FgjFO;_TON=yKvXOV;15U$0K1*vc-Tob>Kba8 zTQo?W6yZd)6nuL@=oMLJFb78j$Z#l3I`!Im8x^!Gg6{TZK2~}5vCiJf->2Dk9W@)t z#dE(qA6AUi9$oauQeC$&jxk+u1yN4$SGs-`hracE<4dJlu)hRCjd9```#TAKMt2$hR1Ho?gxQ)mirJhDrISr_TDarMW1mt%ir)A1hd z{HE@)Kze!AiD*vSXDdFbbasIXhdgEJ8a4X*G^E${`LK&>NoF49LZg>99!le25*c@i z=Pt4^Kb;Xlxnq|W`09cCWT6;3gVDXzG=mDQ>rZ325nB)6 zf%}=)^H{Q~YLooWgd@j@x~MQCD_*dDfPU2+0x$=%J#`QiBlUUgkjesw-GwRUdJHD` z3<+EIkrF-7>|s@bfX@S!peD8S?9}!86Oy;;WOd8Vh7}z*T&a*JdLyiQx#fEN@OA6? zgVX!Z-Vd7#|CVd+u>!g1wH}Pcm`^FygkZG7?fbdBud1RWz5Ci0+ysHpYj6Q5-nP8F zfhFyTexgN=BYbw%MJvtpVu~CJ!eKoxGA%)-`m{DK7#esTXyf==1PUk~{2zvvT|7jZ zIujn8gqmv|IXf3@FFJlZnbux;R_a@W`$~HLhkVv0=l#6tFZZg7oP>dd1MDIMj;Q*b z*!C|;LcySS9@SYlFWm&kU%U(BUze4`fiA-z$9Me_PTvaj!dyuPX^Qki4j1y`GXnPN z)i?`WZ>qAdfJk5gB%v_5J=p%s^!oi5<^p2N^^(ZK&cz=+RnW$nT5_vxP57`p`Ay4P z$cNz1VaaK8X$<6n=FEVwoNgC&V!gHl9THiBuS}LjwNIyk(g#EYB;yCSp1sE}SnX*B zH++=JT* zO$BVdELYe<9NKge%qLm6ae)yj8)es`Ap*@X?_{xLs}}+2R>p-0bZW7Y`8k%(rZhPG zl|nhEheP_Nxf6cP^Cin@Gynu3Q6;u+rdmb<-DKyMR~<|t|ME!mutC=T^M@_H=UouB zgB;@*u<2dX!hk732v4vK5uAbH}SNh5PlE?I(+a(fGfDGc6f{8xE$aF;B_c@6x z0aOlK58psIP6Vzz#|Fj*gPvkK;Y$0a$9dT^dQGuQs}_u00j!))?;8$rDXrbr!kavzy*-=4Bzw?J4r@CfPE-+hFXdP_(!2<%&+!x9wm(w5IB~zs=yHSnH z@((u-c88j-7W&YvD0PcsC!2wsv0LTb2OfDP{2xad_2v4;<&Arj1A}9Ar}!E;*EuEP zWbfnp9rs>Co?9?A+m4A=r;yTmN8R%-3pshN+wyt2fM_aNXHNts9U!tAM32ak2>$bu z*GL&e#)B)&-@l(zCN>aeWvTr9zPXgcOW~w&C62T_R-}ZL6)9oOyaO%Qs2foL|3a!X zMOk(a&MoDNoU4e8sL)lH7h%)y$yu53Oj^F#C6L&gI210HU;Fr|8jPbckFXay(0|=n zQF5cF_v;C(mT&Y%A3)K?GU1ZgI|+yyS^fkGSwG&`A-m6A+Ecpk*aVv}<5U6mp)<5a zCH&n|(&^)>tez&x)206KEl9MMiZITV4NRVi6G;Wx0} zh3zl)r&0sEew>o8bZ(Nt3;laW)rS5rl3uXE;K zhbE9O*)58BALR0Dqe^n;`?HJp-`vuo_bFd6{uHeYTLZNUy^QQLmh?}zRB+JXVVJ$+ zPXgjh1Aui`^HsM$$5ZSjqKDV3sgop!%fZ=gFvW?K!bfUzZ11d}N&$sIG}k@r-<;fG z_My~s?<-q3mpj`Pd}>H}h&W<<9g5Z|s6+q0UJmD>b>&UU24_@CUFR_}J(ch8N^`sD zP^t}PFj7&swjOsR_cYi)50P6emXc1BE#3Bzd1U+`v%wKCvdyo(Vg^SsmNiU9g(ZG*oUPY#E3j9VE^1Id7#Eb=w-En(;X;O&gTH47rt7w+|x6CaQ|+D)pA2m7>Vb97^op{oy{{S;WN@LgV|)H%WX?M>UxwUVtg9MJF0)R(u? zd-?&_P){rUYyx~#oJTSXxx7kBe|NfDmvZX`4v&2G@pQ)Q&OCHP<9(ZVEAICFdHFJI zV08Z{y2zuQr7C4NC9E}GmFUy55*qi#w(0GrV>+{_ z-pjY?Wy8K~piRy9)CPG#Hn~(PuEYxq;k)T z>Y-J2@OZcqQojyl+~DatQ-SYq*Z2iCg^~_F&MS_C;71|;%0*WXhtY4v z6#0{mMVP6@!7>l;YhxCsD@l@H*cND~I6}a0M9ewKpO2<+8PIC4^BXHpz`c_!%92HRGhMBC`2oQ`EDE8^Lch#ryF|{ zc_wLRsJ?K!ZFf6BKk>i=Z6$gTROqLAH1$!}ka#WCfY?dsBJw?r6@7uEMndM6W`}Y+ zA@}-Ig$?6L_Q`#qgq8op57OWLJIuIZdc|1tE?08z@J!xc$@vxS^J-LawHOfi*2!(@F(UWlSj5ss>XhXLzWJ5#@e7l@j zqBG%8a8^SSV4mnSH0kRX#zgBPbm)~^zLwFI3g0C2)S7=rB zLa#o3!f1bpOh!um8m0Gu{Pd#)NQl@=-5oNHjefouD~wlpUO8RysdOwVY|7oIIJdG3 zosFtP+8N1Wb%GaSV&lxCNMIn))nIm4T;xu!>ldMhlCJw*ryOB!#?z)eVM*J^SNYe_ri0)D?hL0xL6WYmdF#W(M?VF_s><856Uq0OTpLHIU zhl~Hh4LgzCDpKY%ZkjT`um+7rNn}u?bcaY*iwc)QAO5{cphl?9HhxJ|B70|3qh7f07hlkmr9di1g||s>!JA zr!T2XG3!o$-H6XkF+xuIa2@ghU-(HCi>l<@j$EwcZrC!q;|<#cqD_U~?m>Pd&eyI4 z+7A8{*?-E)GZIL+Y@fkSHHcn`L~4x+h#4R^2VqUB4=526=a8%%k3R%Pr3% zWoLHJ4VbUs=s~0ozAj^f_lfL2WnU5^@#xj^wX!Hm-@K?h149UbFGD1QbXk!51C zpc>!hLZnPc_mzKZ=!I&aU4WwOcgNZlPvCr||ePH5oXK7Vvl1wvS2t z(1jkjAY#{nG-F%0HbII`tE!f0n7D^dwA?=A4+(+V-b5fH$Os$_Kwd|^Us4Dx^!bBq zivq+h9~hoBVpb6yfQJ7yg9)uoS@|e%nY=YsLTyV;oW_d=z3U#7JvCRgJDZXDihuk9 z`Hr?|kj&IHVh?5te;egorH)u`3LNea>_CBHM@$5YlC7-&)RNctr#9>2xN`%Fg_t-h z5Xvxs!w*%_(Uk#eUXqDcSN3t;-AVmP<+>x#y~U5PoR5A%RgwP<6!yR-Us};I_SeDk z!vBUbj;4jChMG*Jw2lV_@ciJ`7Xqx@_YZoYi}7|L`aU5A`2viFcd317=${HG z3Q^sl5s?^}Vt~t_UyrP31uk2MT@86mj=%VhisDaVHR zq^=JI`y?li51_N7Rv-(;2nj(p*m1^@N}ptZ8oU;$T(C0#w7Nk!j8F4-A-S5$%bfI% zBKD$)SE2^r$7lx`mIlsL(O)Z@hd9?~R8^iyh`aJ*e!4jmA9t0F9cu1XZ*h@Ry$z}O zIX&B+;Eh62QCe@WtGN>qi@i15m|bXYK4C!5$WVsq$yjAEo;MwKaIy3`=g<;_Z4%Y`OKp%$VK~RQPhOU93 zX5frXc^6c1lsGDPOMKtt;~~Y>J4MCz2cO0)bWeCj)N`jc9#-NwI_gS=a~;z(~%}dANS;VamMn)pJOt zOA!+nAvUB$QNld5o zA?Px`&Ayesic4GPgaQ4$;D6_|)JvXMEUDxNW4Boycsa?-@GB_?EmB_-mRV1Ok%Ch7 z;n2HhNPGZroA>)`)9&jCQ|Q8Dmlw6kkdIAiVv|I|a#iDtT8=3rgY3DG9ZEguByUhQ z)S^{+yjfn(*X`pfuDC^^>b4$==bbz=c7Z0i+14tl$qp-ZEe zFnpX*bg?gkYIVC#j8g!(7U(^`Hbn^9elXSq2^gp@HJBALawEp~@PCX6OS!oR@9Yt- zt!3sGhJ-W7n2UP6E@_Ziuw1A6-T#1|f+1D`Ov1UY1TV;%J}8`Tn$Blnok`=dg|kf#Wx8G=ZoF?3TBYxkx^-x? zlmDBy84=Q2vKJcR83#BMaR>2{8gQ@IW0)%flU#b2Rl0Ciu;%P4S-yTtU3R$=s5_jr zycp^RgZLhzHJ2^RZO)-dx9as*b5&b}XL<7bP&&kbrGpl?;jG=|!oCN`gi2#!j<@^{ zzL_AF?uEaE{FR`^UalefhVO;tBesgRbEpd>bP4A9K`l5$a9f!WrU!@9$<%o;nMyNd?yI@?zKyQdzimSy@LPoc7i~UqZ?f!-if$ndx2m7A`e+p zc2cbJQl5n-iOHFI1J7N>zM3&kPQ_^{Qjt6VsLB1Fj;RW!uJ%`aij z&Vms8qQN8p{7pw6_2von2V#>r!k<4xrYxCk2yAHcvTDEhT)@tsKV1lUgA(K6adYIE z#}W^Rj-9-`W`pTux)9A0$>26JnH;WxXEo zvqylrI-2m-XpdZbj_N%AP$KL z?v5q8u?SC|E18ZkV&ukx6k2=1#=)wPdq!!znKf;&MhCw1K6aX7{FV3-PXirT8=D9g z=(3AS0^r5@N6kvS#d7ndhPcayK~}s*RQSc$Om1CFtfBwm6Whu6 z%@Cjv`4ZaB6uPd9{5e@n)>1Zf0KC6$b`#p-OoKMYrj8Ga(Bome3E99nF7vD*Y9|V* z(&-C;I7Vp@*WMhuBu0x?lJxgTNY5*ia&>v-Be=B$U~p!UQ-(c6xUOeIQpIEwtMqo#VT< zw?V>&{cQLCU0ZRV1(&9oDO4qO}l1|km=hq=NTrwp=K(nfOeT{ zYy$$mz}j76fyQ2X$`OoP+GPkciTsPN*xW|VdT$;`buq9&M&lX22W=S{xQfxFTiV3v z>9Yv2@eQ$)y$OV_ILtdpUp(7+)c>ly8W)<>H=GHSHS9H%IaL3_8)l?$34WtJ@iAqd z--^%m{vgFRSJpLq-_}(N#8qrpz7_c!Ywm^p$=;_d>pIWm+q^fAi;gv?PewM_cVCgH z!PuZ;w9HdS$Q2dM-ya&@M*=y%z4>_8|3K?|`zO(cVTIOSiB!SlBxFKHvot#bK*&$o z00E!{2WoR%L3&;AdkP>e?2j`Wf?Mbuiunk{NY$SJ5WI(+yb=Tdim9H>(&&k7;7>ZG zMo}e^vC{W;qZvTxJ>jI)%83+a@JO@$yqUzH&=wi{?x*XDx7`t$7 zCj{gWLq9kpF|etFjC6=iz&AzhA{u~VBZHwa;eE(E`FN7nx7`=$mWNX8RB|iC{Gg)1 z5W=8>WW|fNNcz&hS3dK~7$XS1@;i<$nirPVr7Btte50EQh&pF4v7+2=%k#t(4^_+kBuDV_W2WBDQ}#kI5&5Jq1!vI-ON^2dAUWp#l8o zbV+u9`iJA^A?d?50iT85@7GYGIQGI)sGwLD>U{7^!pNR4lm`#bK9Q7>AJB0UQF9PQ z);~0KcCtcsLVKB~T;oD0_-~S>*UTii=;@3!z;P{E;mPp!ks^gzKK(K30bG>{Wa`t@ z7~FW-@V(tlurty{Kej@w6qEPkWtshc;CzvlVH%h+CeP*d^>{Pk&N(eOfn_1mX&Eb~ zok=;qx$~^~9=J~%RvnF@Kf{%9ZqIY_QPOi3B_@m<5CFoql5!b$<%zEqb`y$QG$XyK zfxffj8kSByzJMr}1$y|rjn2h}BBlEGbfu2SeTmwCidsH^w7*LTx`PRHRn)%LJ(|N- zjs^3V&O%@qU3%x;>Co)husUcfy7@XiONue;{e25aJ_S4zQ1#BH4Q2Gsta8h1DsLA9 zN^^C9c19Ro1hSf*VhsDU;n2wO&`cvM- zLu!osXvzlbBh+oP85gVIXXd}6+QLGHYEVbR`Xe6rIt0pD`5&ff+taOLYg3-R)s$+I zhL+EZJ9%+6R63DN0d)BZ=hE$dq|rSNlD%S zI;d*80!SNUuEZcCap&yqeL zhb;3E=_4gX1pM77?3E|L{!XAL=A0B^Ya}iPIOk4C-HxqU+_kQGdq`&76Ne-tnR|Y4UdBr;Yotg_i zWv1#Qf$7Dk?6SCFlO2u5nq<-+UmMw@SL(I&0@r?qmsrq)2ZA)W=2^J(&MLx?*irVo z3Z7|;tyV1j%oO>n?-JmH3042G?VM=@*O2h}Uis}fs);hpsd$;Sjhi|LFUa^AH03_j zK|=UKz228l3_(&-s-HXeNH&1gEvV&fUY`2jV3cMbQr|#dygJsCf%AzmsKpg9mkSAC zUmpDoYD%3*oo5#qqG`fcT^l!DAO*dAg04qy1(4lpgrEf~g=q)%*rjkFWzyJ8gP9dJP??wb#*YMAfpq3#i zAMKO)6tvkoBfU#`*D6&VF!$tX>7%sGSMa-RQwbKDbZnV0iqPGClLnKL2vSqe^)o>& zpZ~Wi7w=$=&tyP21axZyTofyD%38rAA8hN)2a8G$gPNpIg&tt>tPegY8qsWi;&U-` zA$hci-y>-AM!8WP+z}B7@0sz>ZI|C{Qw-~DIBM0{u#sDIEaAEjzuylJI>X0f0a77fBz zb%DM@Ope{c2RHzoPP$YKOQy$m`I!wAfE(6`#xgR2tAY`mIGnsu~~OZNx{|`f4o>YW#Vq`4%4%1i&rD$;&$1 zVx^;HMx8@p%|q|$^EGftRFY=OK8yN^e{bKw`Ndk}+8+;yM>EHB`plpF!TelY8`N^B zMEmW$Lk>zDmY8(QdH~AfY;rs&h&F7b-7!%UOr$3y9UFVrs@cU5*Lb=MqM;D03YvJ+ zU!uz-8}WdKiFB^gtPH#d+5pMNwq9xe+fI3ydyhW-iD}`s)eZn`a1`ltU~)jJME`&{ zKgKbhjlQ!VO~lwux4TYsZbB-TT^?nbk!!N8;CEi4`|Z8hfX^e7r=I9S<3i<S32&xlgm!yX?uk0 zz3bZe9T;x-{1?(o7|Ht#V|21;A(_MLPI`Tg=h@{~jo}4<_#@>hsb20Ob%o(P#=lO6XmPpD zhO-Oq9xJ6T;+77e^e0&G5r*WuPn$G5a&v%^i7~z+TyPyl`*CznJH{X?(>(f{AX#?Y z*B=pi6QZZz&yD~Vz~iLUKmi4x^Z<(gf=0?98(rAgr*Z-_tUbfPxcyySIFPuV(KbgF zR4*1Qqx(+U#fxu|`-USjN#xTlH+K4+V`J3M^u>4KI&!?IYw$o z_E#=y_OP*@M-X_ci(bDVd=l?|luL^v&8vrFqi(a zM?D<7V=BP(_cuWJ+|*q^yzW3H=rN@ut1dj-YL2$DN7bRD6{OR~?m%fmnH6JELA$%&-&3mEY_-`Luic_ff`Lo&XXLq@7erBDdeVLx(7e{`EFiA;Ad_-p zvuGP-r{iHJcwT~x6X7 zKcjxl6O^0ZpJ?`{j-tU)cR#9i%lGR;*UrQiP>lE!-uFjN_s+_^fbWUc{*LaC!Kpc? z70&Hw=8g-@hn|b^zhA?(pR3N6{tz;Zs9BSoga#X}Yl6OR&W11Br4^4o2A)3S!) z$!m~MS?(EXn%3sF$o9Bb`R`RDK#_Xh45pyafF$Ni-{=}Pdn0}rUx{T+RN)=Fij{fuwKfO42LH(rkA60Dd z993(rXn{lb48PT7bW`t&^*gwS_F1!I`PH!Ug{8fj^ZM}JyU8|e(JudBjuHxlzTWZ| ztA+JbEj+ETYOONEkrZT*`tj%xMo2c@ca)+Q8@ZoR7VaLT1Rm=wB_ex|rAI)UWzMO( zAWnT@<2v8`Mlt`*J?t(|Ukgpb&2+oTg~=sO$QG1~V!NbUEBcW(dr{GmEF)K&`I{Mq z^CYRvTn#0p+ZcG9K%XvnBB-~}?YXG+oUtM-n{KjlcG!K}Nmd9X=D!guOSmX#Z#V^U zFWh&iAyWxHR#vreQbEv8GJho{=w6hPyh1?;!{!kX9mCe1JWno#FkmFgdO2q$O4{@5 zWeVIh`}&Vx5|ztlOG2|KHuqBk|1${$CG6SQdj@A$qndC`vaxFz=G5 z8Ly8pVI{7u7Uw)W=PwTxvblh!v8m4E960zPNzSdJi_GM;LqL!YE=S7x+ zNmpzC9&Y6Jun0qKN}jNkx* zB+>*DR0IX3L#P2{Ktc=BLJKw25Rl%Jcaz9`zwbYIKfJRRtlYKkI_Kw*^c(4_hxGNn+6py;2(Ldv5XkiDNfkzQ7M}n_j;WiwU7>{~2>- zpUYK|B~xl2!^0Sgxq8hSyH-q9bVF3~>Ls5|$9!bvb%hoi>~eZcQ}urFj1eR5%r94l zv4DL%6aDlO1JV`iSx-69EYvO_B0sx=2)L`8ayz`9Xo;$S6Wt7l0qUt3sFeeddZsh} z;~Z1RG5*Iej3wY_^NR&J*vIboqSP6T*Li0j4KrfNlf+>S0zm89TIJD5%L-J)OCfeN zJkd*Ts@xR_ZUjs-D6E^;RXOb9ZH443fQP$svd8bdBZ&mT5>P6b5tf!b%#$lG}E zx#t+-^t-cL;4z=ONqQm`o06k#PHh(2-lqYVwm-WI=s}MOS|QVtES)7(gY8Mp_MnTlXd``Wq-v8Rx_YUqgF5fc+ z@u*9iZ)OKLja1>6VN>hEmOEv-z?KkBS8{S$ouY#a_=7B$c2)0zihMiNnjVfwR-|e-HfiGDZi0vq0+K?11BwgOXCxw?#cVKL2WR5(n4HJp7VZkN!N$?-Noc z6&--x>IGJjQRbsuE~ov48Bpk<`|^i08!pXV4FK@mtrA%}HR~dZheeNH59^1qt+26F zQ)tv(n9?OdA$q;I?UrdpAO=RpB9-$47c*B1V@$cIIj1tlf?B@JJDjL0JqWmP1J2r! zll6cPfB8JIRe&&cSMG6WJo&*(m2O7y3BX}J<6IRyypPe`4+`gB$8 z>j#@NeA@o1BcY-n1})vIq%E@;kqyOOa=7|-rW3fQQUoRx@UwxDq&D>rrR%K1*cCX# zji`$}1~%@&>6VuSl^PW29`%9b#`fyTTI$I-d=ll7^|wV9MuukQB>s!lZ=FLMq0w|_ z*u~==Rjq8%tn>;}0Nro#Nm=D8VV_Twq>08p9fE3*G{~5>vM+}-=x3lR;}5@=g!;f_ ze4PAm17Do?MsLzufQYmin6j{713li0ti5*yyFTHd6+mzU!slCVbJ`suhi%<{YRTNI z^#AtYXEXjR%sDkQ0!8)$BVsDGLxexb<_FRAo;QZYJn_USNS|q&6a2&b$H@4{+@Why z(}F3_@3qtwaRLSRyeet7SJYfUFmZWl)y|TU?W4Z|_woi7SOxkW?c0uJtY%%b&Z)C& z(c#~hW*W3tbrFCOYxU(_8*=2*8Atjisr zE_np|cqv8h)<*6~7KOJnYUmuMIblCd0aRsRRRfa#+Xj2fn?`0|f8@#nr^}asbQy zn!RK}D+edGyZS$%*nI2YV#HERFDwpOAKXc_*?Mw=)p|Sc5m3p*{+{|>ULT~RWyBGY zaw6+MPO)+df3q#u;dJBuE3@|BE~XS+>t6m#AOi}9{s!gtN`ZzaC_xWr8SfK58aMr| zvw^cQI&XXfGc8c{(#u<&5z;+yR_iy7KBvR@x$Lh%%3L6Eo@r=y=;zS*R}c{J-5|(l**B%z!i|o@Win?q>MssW^ZH_!iznUZMs{7j!RfNp5rEZ_Hw%1EfFJP*v@r7wMVcA zY;#oq+*&FLR{Dr{f0JB$d{AKO~ z+H?Eb%52H`xvc%$k>0U0XQVFMZcHWFPd;2^v357>KD2kd{P?HlCa`t>`*$dM?SMT0 zrK$+qRY5rq7uNHQTvz{lUzi{4ix(OETc@7w+)v4N$0uPU6kq#zk0CJ9@87@caZgV} zJ*=jV<{!Ju-325nZ!KcQ-v=^aUxaC%DAKA3Ul(uaI$~}|5I#21vhO$y_fwKL8;Yk@4!TG5Bbte7C$YUQ8}Sops@wQ_l5pJ8a{?<$Sc^oq zQ-2mcHZLdk{hfcg``c8J%(TwzKne7(_eOuE!6{03AQA$*-jfLUc6py6dTCz92# zr{BAI^#oS}ZsDd6fb`(CEK8T7t$;h3=Y8yZ{3;w~_rc$b|Ft=QOPH(w51XK?Gu1JNwK04LC(|dczIIpsrnMH3YZ53@1K5G!p9H{mIM;Rq_#!Af##dKUmr*7x$isik z4@Il335Y|KTwXd%4a${~Cu;J*&f4qnpN)tvI=lRwwep;7f%OTemw$`!O=^-W=Mf(q ze2Y^x2fX7%-U_vzD}K_^F<@vg;eO7jH-BA!ngRFFbZE}pB5__kD8GVlx{1M6q0ww0G&pq2&ouMw+4U|q6mMLqjFP!w8 zmO&40sAb5fAI`vQEWO~huF8s{XroE-62HAVBeV`4HCnlV*xLjf-MhnMhHyX(Cy|06 zR6_(G`J{!fZ>bPtgxTj*S7i`LO2(9MT!fXYW?&A_BMg61lOmC08v%S5RPIFx(l@-BmB+4$|+s zcMds|ukT@qus~{ImY69~}NY9cuGuKHSk&;7pI=2-R%PXZcFqRKAe zgSWLG2MBbgK(n+7J3Ag5jXd`Y_roEBZet+&SYU2ztI<+LoFT+Iozw+3ioK{HCAtnq zLVQHFzk@Nt11M4|WKpk32zM{Y*15*wI17DL9n4W3RuD*EFGxxk@x$xSeYpP<2|_h3 zDt4o0&59>eEGo8-g|fS&NSTR4?^JshZ6vRoJf$^)DYUGAuAGy;(Uh0BRH=&FLzDg;+FuyaWXtb+p(z*;sbu;8^JE4L7l-CNZI3HH@mh2A+9hK%v+Yz0Bb z0Y)o+&uW;%+ia7Krr+%b_iscPskvLBXwLX2bdm+QDQ%ms)fkF5ULZ*K^bj7rz2+n< zXQf-XpOVhDzty{LrTp>th~c-S9W@Uxu#bi-#S0A%R5k= z2X~QvMNl!VtAu~CuFSh{ZjndO81_IyluKG#iyyoDm*asgfeDZ=*6=&x2;aJNL zd)32s6&qBM#g6shq}?ZdX}Q*Ly!o72h4ns&z~3CUBdLvEQtZgKbj#Ze%*$`s-kJNy za)}s7C^ar7dhh1;R$nj@8Vd|Sxe1(^`B{@0$~UMCbHVXCP&!cV=O2 zY!`e*D{9XM5?LYC%Q)D%cQfN)Aqbm8oTBzi^KcAA==!koZn?~>&_}CqRX+{+fa+u` zV@WIHJR&E@rsF8gP4z7C9N4wbweNABOGKRW$JKUci}2d7VU#zq37gP4GqUq%OwZ-W zyQ!L`i$qg@?$q^`B`fEQs$s{kUN(I@s4}*y?jkJQ$~k?SoZ|XGo!~u1xbIwnRm`vo z#?xPZ;2c`5xIo;iu&bHEIz33*n+UkywxLQOOohD}ZGAKUCa!&bB#D4O%_URo){ZjI zE>y;2sL!uUJk8LcK){Mu0 z&ufS04|D-2;AvAkJ>-(Fy8XcM(SB3*y~2G{q{cnncRszMWqsWocc3Bz2{%IjU~~vd z6cB0wfkHpNPb4KklzfY}jF%`+cUE7xh1_9_WK%OgR^mp8Egbe~NO#E(a8>L^J0dLQ zf!%)Z4kxpN*%*)l2vl%SLmW3$yriuga@)0r8ZjKy-R|P1;_=UI>y_ylObyrUuyTHt zbT_iwC0~7}D>}D7*b%{(D|VRKi5C=f4g@m$Eec$VB4t9)gv{40Eje{3QKNb6oz`1` z?U=s3Q)V$}y-LbPB~BV?mqt-)Q%E;WPCXCr-dI{|%X@4^@c)uLsYD3&q=aOk%$?g! z?Xb>V4tVGYI{ZOE!LGpUzC|;NeaFqCAb`0GyLv_`0HT5<3NGPl_1MKTs<6xL!~Xln zUEIoT{r=>^QgmJN?Nr4OUvA08+h?`bNJ&ptiLOv&hJS2SO7|LsKoKq<8k-k$q6!U8 z3qdHPQ;n72ppPflS9DkTozJ`N3+0cjR3}gN2d-PhVYE>BwH5x(nx?^8rZ&6e&))5U z0Ro>osCg;5Hvr-AuC1WT+$1mW_c~D?VXbG#j(M7g=*)q^PtbAS-%1*ni+DP3znnd? z8y2giNn4+BX#bI`X5M=De&({UY6>g+pc4V36%x?oYgAI>+B&NXVAgd6Iall-52fTD zsNS7`CwDo0tC*4$iV~)a(psgcC_F&zY=|Gtcd1#qEGUa|e3yOK}<*d1kB73FxedHfGw)aZs9?4fJb z`0l`dzu6GE155fQQFg&-W#ETx=Kg4MC|EqgxCd$wWryVSs^VjG8j2ES(4J$C7}bmH zM(4w6r&CaGp9ByS^-=MYP}MA?bl8!8hMMMI&a_)8nL%4LZup8+V4|){-IPQO{ta<4 zzRT%-z)RsPbn%@v5fyL>fm%Je{>)=Fuus1ageWml0evR<|@(g&n<$0QSju%Wvn>{H%t^ z_c^&|z9gmD=pNICc2Tz;C#IO+#CbYjy^@g zo$t`Y`_HIkGR<^xm>M42=f+#}DM~2|@sv;cMplkk)7`uJQKup9*P|xHA(Zk=v-GA5 z#tg22__?d%w?{?+gh0Q;xAV?3Uegpkx_ z;z@zt*$ez_p4Q7n5`*wRaqWOSd_H?CYCKa#O_$y|`jpV)!{~iUreuI3k&Ig$L%lBJL-y`1yb$3?O43_JeVp+2g6(gm@$IjUAZ-{O@-YgU#{G1 zoV&0<_OiHz&{&>bgyW53jT~&BdOTFzFnDB(zv^t@um=iS7?cfp^|vN_uyp&mNjv2B zoF@0oh#O4|$v#^nz=NH%xqrt&1Xl{cy20tjS#MTgpLhA1BkGekm}7Sa(OFn$OF)xe zL1Gu}mx;>6v?{mC3W|4b?75C3ZhqFH7S!kAza?rZCH9baHMI*JB~IF%WWQrao8dkM zO>fDGS@Kg^hwrE)7cAxp*sT)!<>7S&i($?NkM@8939;LvM=>Y+tZp6WLKn;U!=dUk z6((=|6>x?C>yL`v&k~D;%AFW@WUOdtBLjHM7L-KcL23r+K@_B^cgY+H_1TiTuzCNF zKFaBCUZ~A9_ue;K#S(v$5x*(+9Er_M2(>WBcCAQIybs(s2rfOq?m8)kF)mBiU&#WK z)uf;8no_YJyy;4Bj61k*u1xdOiQp{9)4K5(m;GCPZh?BIr{*Df=cR9K+`AKFt^E4E ziimhbC6R+EZowIGHjO+NjI01-`H$tCfx=Q`5k9>gZ3IDIfDkC~O%*N!4VV8PgCN(Il~26&GZ3 zW}zp~))-@9HobFhd}iY1*6#ok1Fddi!p#j(9F0$m5u*lor81jyKE!^>;)C50e^OdK z9XEm;rB2fBde7wo=Lk&`9v4&1(qSSk))iA&eOd_E_Ta`SS6?O;>l|b9W!}gGg0SN; zpUrgC2&!)fMYmQ?#S{1_bAcBd2pUB#@6Ho8OHy%5*~ z9v}2&jwTU`>gMnekB&!4QsulbASd(0vDJEuvY9rXnz7q&Xi!7|x9+%)f#ajaS=wfb zm_fl(EU;pLel&gF*E8mAhEmM5{M(=(->mBc1FrG5@=LSJKC2ZME>Gom5U03t~# zg+n?F@8bH~>)*Yr-VX^@D8*tWS`I}HL>Md0d<~(FTW%BG8~{Tj(j)h8u#L(aKK_{H ziR9tl5O`MZHbtUkFPOFVm|}(YoAYB zi?L}D#|QbKs1rO>F+3VF;n%K37QgUE;KA^{XRd?ug@Y;ZjHTYs-~ZXk6T6>13qa9V zqdnk=OmAjA46ts@yyanV?$T_F=KA)`bS*L1Q;YV47B3U{)OoRLT|Ls4FERQ3{nq9| z#Z~KKTYK<+c=)cS4Vm2f^KI{HpBX^v4*Lep#s6!*%r)ofB|E3yTRUuQ8v)q-TJ3AO zrtLO%>+?N3z}0$vuUP^X{)Ch3_#@a<%NJFDt3H7c%f2t#{v-a8^(Zg_IOxk0pTI;| zx2Ekv<6S#_O;WzVV=5TWqZ=PD)YoBS=clqSIqfe^={;*!NRvqb8258<+xZJWFG{(( zt*Af~r++g#{$^EgUEGd!ireu(mF|H}dE4p2uU7L;yyEvoO1lAD4-yr>uv>AIu}XEe z_AK<{N&goE=X0AU2K=UZ>3@-SlCb5skQGzN`K9};CmZin6w}gcPXt2|wm-eCW`6xKU`^Yf*2Gw0rkuvTDeh(IiLTZK#L9JIcaW*3GjG~V)fr(Q;`b! ztPZA8pkwqq-Tpt5dJ{3+OA!eb{)!?Eg3&Q^cxDfso=iD(a75%cUcW!qSs{!IKxp*; zJHp1V?SN8X>8t|4xd2Q|Af-dFNcxfH*E|InXN)tcDd17Vq8ecO`g)o;0mul7Bnio? z9Aer&piXfnKXx76SxM=GF5ZpgsTKyR8$@!*iR zBws|JCeGe>=$El@Cg&4@Ok4z>V3%1Tmv5~Ug83?kk9AtiL(Us{TtjFZt(1b*9padL z0BJJMh;4l$fZ0iVV_y!;KH5SPhXQkhw>=Op5LdmGVsN+B!Z9XMpUgrqbbCMf`y@mQ zMJflo85X^-qJWOwGrIfcyyFIZd&^+XeHFgCGwmXR^FtIWuykw+1KewexEie>!Bv7= zzmB;22*wdNxfiLCOlncUhQN&x@A7;O6HT~&!~44CJ#(*_a^J2@=~_-vc;3)X&eq4^ z26mUhCyO`RhdLBka8(X&b`Vr@jVpek^7FtB@?(&w<0eXqqOBN^o3xm!nXn0bNLm~i zLfs8w&K-7Ca(;a$EFaK6vw7x-;}Gjqk_!aY)9Y&H+VXDPHr8&6JpVYb2AUMBcmZ$k zR)^tTaTzhn`u!BjK&V+gvF6aI!)rg^bM+Gr{k|FjqL+9+?o9oBCSPtjB0r!UGt7BO zc{fd}H$~h^{Xvc_@vd{_RN$)j&bwc%zO71M=nT_SkXVD235Bbjctg4V-q_^Uz>`tj zC6@>ING=gCEv_|9-KKcW?KpriygTW7Lbo+!cY!glj1wOpj!NBBFIINa(6X@0@v=eP zvP8vdqz5(B;YRA7scLAX1Z4{-Uu!s7OfYm9J=)qHBx1gpUF??3)ZHN10MmYNj{>J6 zsx@%Ah_rb7N2coL)h+KP{96kv7E`-JkwM|r?Kmv*6guE@wWVB8kbEG@cxMzry$TTFW z8jLsa2t4<2)?6+1>Tr(t+hxm9onC!HJBg>EX$t1<%u&uOaUMVNcVj!G(eCl#m#O0u zE2Ig{VuG^U)NOaq{FTW*NMn2Gv+c@0HGn{9LWi;_uTe=gYMLxoo9FQQ7mXkZ<^jA& z5C=n)LXP>Z&Ez(WHiN?c|pF zaSyTb3P7`#w2x@)H{4R3}Sd3jqw^DErAdLkc^7kyc z&g^FWLO78BOZr;}ty7+Pct3a^gE6q<;8F7$9nB8fEH8bVA2c02140fS{UiQ&zjTZ` zXrZV}^rP)TTjQh)+d<24WEeCDkN-d9|2@W1FSzvVarEC53!twOL>GEJ?<(y1{{U8~ BVz>YR literal 525964 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�?j+Jy{ecJ!h%&}Ocy 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⪙dM2Ms1?$ZzgR6*5R_ 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 aefF25BgE!`A5&nTkDQdUWSzK4$o~VQ3~m Date: Tue, 30 Jan 2024 19:00:09 -0500 Subject: [PATCH 27/63] . --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bcd41c5b..b4824ac1 100644 --- a/README.md +++ b/README.md @@ -147,4 +147,4 @@ ocp = OcpFes.prepare_ocp() `Cocofest` is not yet published in a journal. But if you use `Cocofest` in your research, please kindly cite this package by giving the repository link. -![](https://github.com/Kev1CO/cocofest/tree/main/docs/arm_flexion.gif) +![](https://github.com/Kev1CO/cocofest/tree/dynamics_2/docs/arm_flexion.gif) From 83365e78031b1c02a88d35d980dd01b5856894ec Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Tue, 30 Jan 2024 19:02:44 -0500 Subject: [PATCH 28/63] adding a gif --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b4824ac1..a49f53ea 100644 --- a/README.md +++ b/README.md @@ -147,4 +147,4 @@ ocp = OcpFes.prepare_ocp() `Cocofest` is not yet published in a journal. But if you use `Cocofest` in your research, please kindly cite this package by giving the repository link. -![](https://github.com/Kev1CO/cocofest/tree/dynamics_2/docs/arm_flexion.gif) +![](docs/arm_flexion.gif) From 23862ee9f3a58170a0c308cd46fb2ec905297db4 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Wed, 31 Jan 2024 11:27:03 -0500 Subject: [PATCH 29/63] doc string --- cocofest/custom_objectives.py | 4 +- cocofest/models/ding2003.py | 30 ++++++++-- cocofest/models/ding2003_with_fatigue.py | 22 +++++++- cocofest/models/ding2007.py | 22 ++++++-- cocofest/models/ding2007_with_fatigue.py | 29 ++++++++-- cocofest/models/dynamical_model.py | 56 +++++++++++++++++-- cocofest/models/hmed2018.py | 20 +++++-- cocofest/models/hmed2018_with_fatigue.py | 27 +++++++-- cocofest/optimization/fes_ocp_dynamics.py | 34 ++++++++--- ...nsity_optimization_cycling_multi_muscle.py | 17 ------ 10 files changed, 200 insertions(+), 61 deletions(-) diff --git a/cocofest/custom_objectives.py b/cocofest/custom_objectives.py index 93fa2839..3b151d9a 100644 --- a/cocofest/custom_objectives.py +++ b/cocofest/custom_objectives.py @@ -73,8 +73,6 @@ def track_state_from_time_interpolate( def minimize_overall_muscle_fatigue(controller: PenaltyController) -> MX: """ Minimize the overall muscle fatigue. - This function is quadratic, meaning that it minimizes towards the target. - Targets (default=np.zeros()) and indices (default=all_idx) can be specified. Parameters ---------- @@ -83,7 +81,7 @@ def minimize_overall_muscle_fatigue(controller: PenaltyController) -> MX: Returns ------- - The difference between the two keys + The sum of each force scaling factor """ muscle_name_list = controller.model.bio_model.muscle_names muscle_fatigue = [controller.states["A_" + muscle_name_list[x]].cx for x in range(len(muscle_name_list))] diff --git a/cocofest/models/ding2003.py b/cocofest/models/ding2003.py index e5b76f4c..c205303d 100644 --- a/cocofest/models/ding2003.py +++ b/cocofest/models/ding2003.py @@ -100,6 +100,10 @@ def model_name(self) -> None | str: def muscle_name(self) -> None | str: return self._muscle_name + @property + def with_fatigue(self): + return self._with_fatigue + # ---- Model's dynamics ---- # def system_dynamics( self, @@ -123,6 +127,10 @@ def system_dynamics( The current time at which the dynamics is evaluated (ms) t_stim_prev: list[MX] The time list of the previous stimulations (ms) + force_length_relationship: MX | float + The force length relationship value (unitless) + force_velocity_relationship: MX | float + The force velocity relationship value (unitless) Returns ------- @@ -229,6 +237,10 @@ def f_dot_fun(self, cn: MX, f: MX, a: MX | float, tau1: MX | float, km: MX | flo The previous step value of time_state_force_no_cross_bridge (ms) km: MX | float The previous step value of cross_bridges (unitless) + force_length_relationship: MX | float + The force length relationship value (unitless) + force_velocity_relationship: MX | float + The force velocity relationship value (unitless) Returns ------- @@ -245,7 +257,7 @@ def dynamics( stochastic_variables: MX, nlp: NonLinearProgram, stim_apparition=None, - nlp_dynamics=None, + fes_model=None, force_length_relationship: MX | float = 1, force_velocity_relationship: MX | float = 1, ) -> DynamicsEvaluation: @@ -268,12 +280,18 @@ def dynamics( A reference to the phase stim_apparition: list[float] The time list of the previous stimulations (s) + fes_model: DingModelFrequency + The current phase fes model + force_length_relationship: MX | float + The force length relationship value (unitless) + force_velocity_relationship: MX | float + The force velocity relationship value (unitless) Returns ------- The derivative of the states in the tuple[MX] format """ - dxdt_fun = nlp_dynamics.system_dynamics if nlp_dynamics else nlp.model.system_dynamics + dxdt_fun = fes_model.system_dynamics if fes_model else nlp.model.system_dynamics return DynamicsEvaluation( dxdt=dxdt_fun( @@ -328,6 +346,8 @@ def configure_ca_troponin_complex( If the generalized coordinates should be a control as_states_dot: bool If the generalized velocities should be a state_dot + muscle_name: str + The muscle name """ muscle_name = "_" + muscle_name if muscle_name else "" name = "Cn" + muscle_name @@ -366,6 +386,8 @@ def configure_force( If the generalized coordinates should be a control as_states_dot: bool If the generalized velocities should be a state_dot + muscle_name: str + The muscle name """ muscle_name = "_" + muscle_name if muscle_name else "" name = "F" + muscle_name @@ -401,7 +423,3 @@ def get_stim_prev(ocp: OptimalControlProgram, nlp: NonLinearProgram) -> list[flo if not isinstance(t_stim_prev[0], (MX, float)): t_stim_prev = [ocp.node_time(phase_idx=i, node_idx=0, type="mx") for i in range(nlp.phase_idx + 1)] return t_stim_prev - - @property - def with_fatigue(self): - return self._with_fatigue diff --git a/cocofest/models/ding2003_with_fatigue.py b/cocofest/models/ding2003_with_fatigue.py index 932a18e6..02377111 100644 --- a/cocofest/models/ding2003_with_fatigue.py +++ b/cocofest/models/ding2003_with_fatigue.py @@ -1,6 +1,6 @@ from typing import Callable -from casadi import MX, exp, vertcat +from casadi import MX, vertcat import numpy as np from bioptim import ( @@ -129,6 +129,10 @@ def system_dynamics( The current time at which the dynamics is evaluated (ms) t_stim_prev: list[MX] The time list of the previous stimulations (ms) + force_length_relationship: MX | float + The force length relationship value (unitless) + force_velocity_relationship: MX | float + The force velocity relationship value (unitless) Returns ------- @@ -196,7 +200,7 @@ def dynamics( stochastic_variables: MX, nlp: NonLinearProgram, stim_apparition=None, - nlp_dynamics=None, + fes_model=None, force_length_relationship: MX | float = 1, force_velocity_relationship: MX | float = 1, ) -> DynamicsEvaluation: @@ -219,12 +223,18 @@ def dynamics( A reference to the phase stim_apparition: list[float] The time list of the previous stimulations (s) + fes_model: DingModelFrequencyWithFatigue + The current phase fes model + force_length_relationship: MX | float + The force length relationship value (unitless) + force_velocity_relationship: MX | float + The force velocity relationship value (unitless) Returns ------- The derivative of the states in the tuple[MX] format """ - dxdt_fun = nlp_dynamics.system_dynamics if nlp_dynamics else nlp.model.system_dynamics + dxdt_fun = fes_model.system_dynamics if fes_model else nlp.model.system_dynamics return DynamicsEvaluation( dxdt=dxdt_fun( @@ -288,6 +298,8 @@ def configure_scaling_factor( If the generalized coordinates should be a control as_states_dot: bool If the generalized velocities should be a state_dot + muscle_name: str + The muscle name """ muscle_name = "_" + muscle_name if muscle_name else "" name = "A" + muscle_name @@ -326,6 +338,8 @@ def configure_time_state_force_no_cross_bridge( If the generalized coordinates should be a control as_states_dot: bool If the generalized velocities should be a state_dot + muscle_name: str + The muscle name """ muscle_name = "_" + muscle_name if muscle_name else "" name = "Tau1" + muscle_name @@ -364,6 +378,8 @@ def configure_cross_bridges( If the generalized coordinates should be a control as_states_dot: bool If the generalized velocities should be a state_dot + muscle_name: str + The muscle name """ muscle_name = "_" + muscle_name if muscle_name else "" name = "Km" + muscle_name diff --git a/cocofest/models/ding2007.py b/cocofest/models/ding2007.py index 8b5b7978..1c0238b7 100644 --- a/cocofest/models/ding2007.py +++ b/cocofest/models/ding2007.py @@ -93,6 +93,10 @@ def system_dynamics( The time list of the previous stimulations (ms) impulse_time: MX The pulsation duration of the current stimulation (ms) + force_length_relationship: MX | float + The force length relationship value (unitless) + force_velocity_relationship: MX | float + The force velocity relationship value (unitless) Returns ------- @@ -108,6 +112,8 @@ def a_calculation(self, a_scale: float | MX, impulse_time: MX) -> MX: """ Parameters ---------- + a_scale: float | MX + The scaling factor of the current stimulation (unitless) impulse_time: MX The pulsation duration of the current stimulation (s) @@ -137,6 +143,8 @@ def get_pulse_duration_parameters(nlp_parameters: ParameterList, muscle_name: st ---------- nlp_parameters: ParameterList The nlp list parameter + muscle_name: str + The muscle name Returns ------- @@ -161,7 +169,7 @@ def dynamics( stochastic_variables: MX, nlp: NonLinearProgram, stim_apparition: list[float] = None, - nlp_dynamics=None, + fes_model=None, force_length_relationship: MX | float = 1, force_velocity_relationship: MX | float = 1, ) -> DynamicsEvaluation: @@ -184,14 +192,20 @@ def dynamics( A reference to the phase stim_apparition: list[float] The time list of the previous stimulations (s) + fes_model: DingModelPulseDurationFrequency + The current phase fes model + force_length_relationship: MX | float + The force length relationship value (unitless) + force_velocity_relationship: MX | float + The force velocity relationship value (unitless) Returns ------- The derivative of the states in the tuple[MX] format """ pulse_duration_parameters = ( nlp.model.get_pulse_duration_parameters(nlp.parameters) - if nlp_dynamics is None - else nlp_dynamics.get_pulse_duration_parameters(nlp.parameters, muscle_name=nlp_dynamics.muscle_name) + if fes_model is None + else fes_model.get_pulse_duration_parameters(nlp.parameters, muscle_name=fes_model.muscle_name) ) if pulse_duration_parameters.shape[0] == 1: # check if pulse duration is mapped @@ -199,7 +213,7 @@ def dynamics( else: impulse_time = pulse_duration_parameters[nlp.phase_idx] - dxdt_fun = nlp_dynamics.system_dynamics if nlp_dynamics else nlp.model.system_dynamics + dxdt_fun = fes_model.system_dynamics if fes_model else nlp.model.system_dynamics return DynamicsEvaluation( dxdt=dxdt_fun( diff --git a/cocofest/models/ding2007_with_fatigue.py b/cocofest/models/ding2007_with_fatigue.py index c4be7f5e..5e192e05 100644 --- a/cocofest/models/ding2007_with_fatigue.py +++ b/cocofest/models/ding2007_with_fatigue.py @@ -1,6 +1,6 @@ from typing import Callable -from casadi import MX, vertcat, exp +from casadi import MX, vertcat import numpy as np from bioptim import ( @@ -8,7 +8,6 @@ DynamicsEvaluation, NonLinearProgram, OptimalControlProgram, - ParameterList, ) from .ding2007 import DingModelPulseDurationFrequency @@ -101,6 +100,8 @@ def system_dynamics( The value of the ca_troponin_complex (unitless) f: MX The value of the force (N) + a: MX + The value of the scaling factor (unitless) tau1: MX The value of the time_state_force_no_cross_bridge (ms) km: MX @@ -111,6 +112,10 @@ def system_dynamics( The time list of the previous stimulations (ms) impulse_time: MX The pulsation duration of the current stimulation (ms) + force_length_relationship: MX | float + The force length relationship value (unitless) + force_velocity_relationship: MX | float + The force velocity relationship value (unitless) Returns ------- @@ -179,7 +184,7 @@ def dynamics( stochastic_variables: MX, nlp: NonLinearProgram, stim_apparition: list[float] = None, - nlp_dynamics: NonLinearProgram = None, + fes_model=None, force_length_relationship: MX | float = 1, force_velocity_relationship: MX | float = 1, ) -> DynamicsEvaluation: @@ -202,14 +207,20 @@ def dynamics( A reference to the phase stim_apparition: list[float] The time list of the previous stimulations (s) + fes_model: DingModelPulseDurationFrequencyWithFatigue + The current phase fes model + force_length_relationship: MX | float + The force length relationship value (unitless) + force_velocity_relationship: MX | float + The force velocity relationship value (unitless) Returns ------- The derivative of the states in the tuple[MX] format """ pulse_duration_parameters = ( nlp.model.get_pulse_duration_parameters(nlp.parameters) - if nlp_dynamics is None - else nlp_dynamics.get_pulse_duration_parameters(nlp.parameters, muscle_name=nlp_dynamics.muscle_name) + if fes_model is None + else fes_model.get_pulse_duration_parameters(nlp.parameters, muscle_name=fes_model.muscle_name) ) if pulse_duration_parameters.shape[0] == 1: # check if pulse duration is mapped @@ -217,7 +228,7 @@ def dynamics( else: impulse_time = pulse_duration_parameters[nlp.phase_idx] - dxdt_fun = nlp_dynamics.system_dynamics if nlp_dynamics else nlp.model.system_dynamics + dxdt_fun = fes_model.system_dynamics if fes_model else nlp.model.system_dynamics return DynamicsEvaluation( dxdt=dxdt_fun( @@ -282,6 +293,8 @@ def configure_scaling_factor( If the generalized coordinates should be a control as_states_dot: bool If the generalized velocities should be a state_dot + muscle_name: str + The muscle name """ muscle_name = "_" + muscle_name if muscle_name else "" name = "A" + muscle_name @@ -320,6 +333,8 @@ def configure_time_state_force_no_cross_bridge( If the generalized coordinates should be a control as_states_dot: bool If the generalized velocities should be a state_dot + muscle_name: str + The muscle name """ muscle_name = "_" + muscle_name if muscle_name else "" name = "Tau1" + muscle_name @@ -358,6 +373,8 @@ def configure_cross_bridges( If the generalized coordinates should be a control as_states_dot: bool If the generalized velocities should be a state_dot + muscle_name: str + The muscle name """ muscle_name = "_" + muscle_name if muscle_name else "" name = "Km" + muscle_name diff --git a/cocofest/models/dynamical_model.py b/cocofest/models/dynamical_model.py index c12f7dda..cc21797b 100644 --- a/cocofest/models/dynamical_model.py +++ b/cocofest/models/dynamical_model.py @@ -11,7 +11,13 @@ FatigueList, ) -from cocofest import DingModelFrequency, DingModelIntensityFrequency, DingModelPulseDurationFrequency +from cocofest import (DingModelFrequency, + DingModelFrequencyWithFatigue, + DingModelPulseDurationFrequency, + DingModelPulseDurationFrequencyWithFatigue, + DingModelIntensityFrequency, + DingModelIntensityFrequencyWithFatigue, + ) class FESActuatedBiorbdModel(BiorbdModel): @@ -68,8 +74,11 @@ def muscle_dynamic( stochastic_variables: MX | SX, nlp: NonLinearProgram, muscle_models: list[DingModelFrequency] + | list[DingModelFrequencyWithFatigue] + | list[DingModelPulseDurationFrequency] + | list[DingModelPulseDurationFrequencyWithFatigue] | list[DingModelIntensityFrequency] - | list[DingModelPulseDurationFrequency], + | list[DingModelIntensityFrequencyWithFatigue], stim_apparition=None, state_name_list=None, ) -> DynamicsEvaluation: @@ -90,7 +99,12 @@ def muscle_dynamic( The stochastic variables of the system nlp: NonLinearProgram A reference to the phase - + muscle_models: list[DingModelFrequency] | list[DingModelIntensityFrequency] | list[DingModelPulseDurationFrequency] | list[DingModelFrequencyWithFatigue] | list[DingModelIntensityFrequencyWithFatigue] | list[DingModelPulseDurationFrequencyWithFatigue] + The list of the muscle models + stim_apparition: list[float] + The stimulations apparition time list (s) + state_name_list: list[str] + The states names list Returns ------- The derivative of the states in the tuple[MX | SX] format @@ -136,7 +150,7 @@ def muscle_dynamic( stochastic_variables, nlp, stim_apparition, - nlp_dynamics=muscle_model, + fes_model=muscle_model, force_length_relationship=muscle_force_length_coeff, force_velocity_relationship=muscle_force_velocity_coeff, ).dxdt @@ -276,6 +290,22 @@ def configure_tau(ocp, nlp, as_states: bool, as_controls: bool, fatigue: Fatigue @staticmethod def muscle_force_length_coefficient(model, muscle, q): + """ + Muscle force length coefficient from HillDeGroote + + Parameters + ---------- + model: BiorbdModel + The biorbd model + muscle: MX + The muscle + q: MX + The generalized coordinates + + Returns + ------- + The muscle force length coefficient + """ b11 = 0.815 b21 = 1.055 b31 = 0.162 @@ -315,6 +345,24 @@ def muscle_force_length_coefficient(model, muscle, q): @staticmethod def muscle_force_velocity_coefficient(model, muscle, q, qdot): + """ + Muscle force velocity coefficient from HillDeGroote + + Parameters + ---------- + model: BiorbdModel + The biorbd model + muscle: MX + The muscle + q: MX + The generalized coordinates + qdot: MX + The generalized velocities + + Returns + ------- + The muscle force velocity coefficient + """ muscle_velocity = muscle.velocity(model, q, qdot).to_mx() m_cste_maxShorteningSpeed = 10 norm_v = muscle_velocity / m_cste_maxShorteningSpeed diff --git a/cocofest/models/hmed2018.py b/cocofest/models/hmed2018.py index 444e6659..04980960 100644 --- a/cocofest/models/hmed2018.py +++ b/cocofest/models/hmed2018.py @@ -96,6 +96,10 @@ def system_dynamics( The time list of the previous stimulations (ms) intensity_stim: list[MX] The pulsation intensity of the current stimulation (mA) + force_length_relationship: MX | float + The force length relationship value (unitless) + force_velocity_relationship: MX | float + The force velocity relationship value (unitless) Returns ------- @@ -200,6 +204,8 @@ def get_intensity_parameters(nlp_parameters: ParameterList, muscle_name: str = N ---------- nlp_parameters: ParameterList The nlp list parameter + muscle_name: str + The muscle name Returns ------- @@ -223,7 +229,7 @@ def dynamics( stochastic_variables: MX, nlp: NonLinearProgram, stim_apparition: list[float] = None, - nlp_dynamics: NonLinearProgram = None, + fes_model: NonLinearProgram = None, force_length_relationship: MX | float = 1, force_velocity_relationship: MX | float = 1, ) -> DynamicsEvaluation: @@ -246,6 +252,12 @@ def dynamics( A reference to the phase stim_apparition: list[float] The time list of the previous stimulations (s) + fes_model: DingModelIntensityFrequency + The current phase fes model + force_length_relationship: MX | float + The force length relationship value (unitless) + force_velocity_relationship: MX | float + The force velocity relationship value (unitless) Returns ------- The derivative of the states in the tuple[MX] format @@ -255,8 +267,8 @@ def dynamics( ) # Every stimulation intensity before the current phase, i.e.: the intensity of each phase intensity_parameters = ( nlp.model.get_intensity_parameters(nlp.parameters) - if nlp_dynamics is None - else nlp_dynamics.get_intensity_parameters(nlp.parameters, muscle_name=nlp_dynamics.muscle_name) + if fes_model is None + else fes_model.get_intensity_parameters(nlp.parameters, muscle_name=fes_model.muscle_name) ) if intensity_parameters.shape[0] == 1: # check if pulse duration is mapped @@ -266,7 +278,7 @@ def dynamics( for i in range(nlp.phase_idx + 1): intensity_stim_prev.append(intensity_parameters[i]) - dxdt_fun = nlp_dynamics.system_dynamics if nlp_dynamics else nlp.model.system_dynamics + dxdt_fun = fes_model.system_dynamics if fes_model else nlp.model.system_dynamics return DynamicsEvaluation( dxdt=dxdt_fun( diff --git a/cocofest/models/hmed2018_with_fatigue.py b/cocofest/models/hmed2018_with_fatigue.py index e085e891..3f7bc827 100644 --- a/cocofest/models/hmed2018_with_fatigue.py +++ b/cocofest/models/hmed2018_with_fatigue.py @@ -1,6 +1,6 @@ from typing import Callable -from casadi import MX, vertcat, tanh +from casadi import MX, vertcat import numpy as np from bioptim import ( @@ -8,7 +8,6 @@ DynamicsEvaluation, NonLinearProgram, OptimalControlProgram, - ParameterList, ) from .hmed2018 import DingModelIntensityFrequency @@ -113,6 +112,10 @@ def system_dynamics( The time list of the previous stimulations (ms) intensity_stim: list[MX] The pulsation intensity of the current stimulation (mA) + force_length_relationship: MX | float + The force length relationship value (unitless) + force_velocity_relationship: MX | float + The force velocity relationship value (unitless) Returns ------- @@ -180,7 +183,7 @@ def dynamics( stochastic_variables: MX, nlp: NonLinearProgram, stim_apparition: list[float] = None, - nlp_dynamics: NonLinearProgram = None, + fes_model=None, force_length_relationship: float | MX = 1, force_velocity_relationship: float | MX = 1, ) -> DynamicsEvaluation: @@ -203,6 +206,12 @@ def dynamics( A reference to the phase stim_apparition: list[float] The time list of the previous stimulations (s) + fes_model: DingModelIntensityFrequencyWithFatigue + The current phase fes model + force_length_relationship: MX | float + The force length relationship value (unitless) + force_velocity_relationship: MX | float + The force velocity relationship value (unitless) Returns ------- The derivative of the states in the tuple[MX] format @@ -212,8 +221,8 @@ def dynamics( ) # Every stimulation intensity before the current phase, i.e.: the intensity of each phase intensity_parameters = ( nlp.model.get_intensity_parameters(nlp.parameters) - if nlp_dynamics is None - else nlp_dynamics.get_intensity_parameters(nlp.parameters, muscle_name=nlp_dynamics.muscle_name) + if fes_model is None + else fes_model.get_intensity_parameters(nlp.parameters, muscle_name=fes_model.muscle_name) ) if intensity_parameters.shape[0] == 1: # check if pulse duration is mapped @@ -223,7 +232,7 @@ def dynamics( for i in range(nlp.phase_idx + 1): intensity_stim_prev.append(intensity_parameters[i]) - dxdt_fun = nlp_dynamics.system_dynamics if nlp_dynamics else nlp.model.system_dynamics + dxdt_fun = fes_model.system_dynamics if fes_model else nlp.model.system_dynamics return DynamicsEvaluation( dxdt=dxdt_fun( @@ -288,6 +297,8 @@ def configure_scaling_factor( If the generalized coordinates should be a control as_states_dot: bool If the generalized velocities should be a state_dot + muscle_name: str + The muscle name """ muscle_name = "_" + muscle_name if muscle_name else "" name = "A" + muscle_name @@ -326,6 +337,8 @@ def configure_time_state_force_no_cross_bridge( If the generalized coordinates should be a control as_states_dot: bool If the generalized velocities should be a state_dot + muscle_name: str + The muscle name """ muscle_name = "_" + muscle_name if muscle_name else "" name = "Tau1" + muscle_name @@ -364,6 +377,8 @@ def configure_cross_bridges( If the generalized coordinates should be a control as_states_dot: bool If the generalized velocities should be a state_dot + muscle_name: str + The muscle name """ muscle_name = "_" + muscle_name if muscle_name else "" name = "Km" + muscle_name diff --git a/cocofest/optimization/fes_ocp_dynamics.py b/cocofest/optimization/fes_ocp_dynamics.py index 66dba370..356bbee9 100644 --- a/cocofest/optimization/fes_ocp_dynamics.py +++ b/cocofest/optimization/fes_ocp_dynamics.py @@ -76,11 +76,17 @@ def prepare_ocp( n_threads: int = 1, ): """ - This definition prepares the ocp to be solved + This definition prepares the dynamics ocp to be solved . Attributes ---------- - fes_muscle_models: DingModelFrequency | DingModelFrequencyWithFatigue | DingModelPulseDurationFrequency | DingModelPulseDurationFrequencyWithFatigue | DingModelIntensityFrequency | DingModelIntensityFrequencyWithFatigue + biorbd_model_path: str + The bioMod file path + bound_type: str + The bound type to use (start, end, start_end) + bound_data: list + The data to use for the bound + fes_muscle_models: list[DingModelFrequency] | list[DingModelFrequencyWithFatigue] | list[DingModelPulseDurationFrequency] | list[DingModelPulseDurationFrequencyWithFatigue] | list[DingModelIntensityFrequency] | list[DingModelIntensityFrequencyWithFatigue] The fes model type used for the ocp n_stim: int Number of stimulation that will occur during the ocp, it is as well refer as phases @@ -88,10 +94,6 @@ def prepare_ocp( Number of shooting point for each individual phases final_time: float Refers to the final time of the ocp - force_tracking: list[np.ndarray, np.ndarray] - List of time and associated force to track during ocp optimisation - end_node_tracking: int | float - Force objective value to reach at the last node time_min: int | float Minimum time for a phase time_max: int | float @@ -114,12 +116,28 @@ def prepare_ocp( Maximum pulse intensity for a phase pulse_intensity_bimapping: bool Set pulse intensity constant among phases + force_tracking: list[np.ndarray, np.ndarray] + List of time and associated force to track during ocp optimisation + end_node_tracking: int | float + Force objective value to reach at the last node + q_tracking: list + List of time and associated q to track during ocp optimisation custom_objective: list[Objective] Additional objective for the system - ode_solver: OdeSolver - The ode solver to use + with_residual_torque: bool + If residual torque is used + muscle_force_length_relationship: bool + If the force length relationship is used + muscle_force_velocity_relationship: bool + If the force velocity relationship is used + minimize_muscle_fatigue: bool + Minimize the muscle fatigue use_sx: bool The nature of the casadi variables. MX are used if False. + ode_solver: OdeSolver + The ode solver to use + control_type: ControlType + The type of control to use n_threads: int The number of thread to use while solving (multi-threading if > 1) """ diff --git a/examples/dynamics/intensity_optimization_cycling_multi_muscle.py b/examples/dynamics/intensity_optimization_cycling_multi_muscle.py index 78b58d50..20083a95 100644 --- a/examples/dynamics/intensity_optimization_cycling_multi_muscle.py +++ b/examples/dynamics/intensity_optimization_cycling_multi_muscle.py @@ -7,7 +7,6 @@ import numpy as np from bioptim import ( - Node, ObjectiveFcn, ObjectiveList, Solver, @@ -33,9 +32,6 @@ minimum_pulse_intensity = DingModelIntensityFrequency.min_pulse_intensity(DingModelIntensityFrequency()) -import time - -start_time = time.time() ocp = FESActuatedBiorbdModelOCP.prepare_ocp( biorbd_model_path="/arm26.bioMod", bound_type="start_end", @@ -62,21 +58,8 @@ q_tracking=track_q, use_sx=True, ) -print("--- %s seconds --- OCP" % (time.time() - start_time)) -start_time = time.time() sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) -print("--- %s seconds --- SOL" % (time.time() - start_time)) sol.animate() sol.graphs(show_bounds=False) print(sol.parameters) - -# Fast OCP : -# --- 2.8143112659454346 seconds --- OCP -# --- 55.290322065353394 seconds --- SOL -# 106 1.7460726e+03 - -# Slow OCP : -# --- 84.57249999046326 seconds --- OCP -# --- 56.183839321136475 seconds --- SOL -# 106 1.7460726e+03 From 41316883bac24e2fec1c395a6b817329565b3892 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Thu, 1 Feb 2024 14:33:27 -0500 Subject: [PATCH 30/63] reaching example --- cocofest/optimization/fes_ocp_dynamics.py | 13 ++ examples/dynamics/arm26.bioMod | 5 + examples/dynamics/reaching_task.py | 165 ++++++++++++++++++++++ 3 files changed, 183 insertions(+) create mode 100644 examples/dynamics/reaching_task.py diff --git a/cocofest/optimization/fes_ocp_dynamics.py b/cocofest/optimization/fes_ocp_dynamics.py index 356bbee9..f5709097 100644 --- a/cocofest/optimization/fes_ocp_dynamics.py +++ b/cocofest/optimization/fes_ocp_dynamics.py @@ -3,6 +3,7 @@ from bioptim import ( BoundsList, ControlType, + ConstraintList, DynamicsList, InitialGuessList, Objective, @@ -66,6 +67,7 @@ def prepare_ocp( end_node_tracking: int | float = None, q_tracking: list = None, custom_objective: ObjectiveList = None, + custom_constraint: ConstraintList = None, with_residual_torque: bool = False, muscle_force_length_relationship: bool = False, muscle_force_velocity_relationship: bool = False, @@ -218,6 +220,8 @@ def prepare_ocp( pulse_intensity_similar_for_all_muscles=pulse_intensity_similar_for_all_muscles, ) + constraints = FESActuatedBiorbdModelOCP._set_constraints(constraints, custom_constraint) + if len(constraints) == 0 and len(parameters) == 0: raise ValueError( "This is not an optimal control problem," @@ -446,6 +450,15 @@ def _build_parameters( return parameters, parameters_bounds, parameters_init, parameter_objectives + @staticmethod + def _set_constraints(constraints, custom_constraint): + if custom_constraint: + for i in range(len(custom_constraint)): + if custom_constraint[i]: + for j in range(len(custom_constraint[i])): + constraints.add(custom_constraint[i][j]) + return constraints + @staticmethod def _set_bounds(bio_models, fes_muscle_models, bound_type, bound_data, n_stim): # ---- STATE BOUNDS REPRESENTATION ---- # diff --git a/examples/dynamics/arm26.bioMod b/examples/dynamics/arm26.bioMod index ed03d03c..10461eec 100644 --- a/examples/dynamics/arm26.bioMod +++ b/examples/dynamics/arm26.bioMod @@ -12,6 +12,11 @@ endsegment parent base position 0.15 0.15 0.17 endmarker + + marker reaching_target + parent base + position 0.45 -0.05 0.167 + endmarker segment r_humerus_translation diff --git a/examples/dynamics/reaching_task.py b/examples/dynamics/reaching_task.py new file mode 100644 index 00000000..3b15713e --- /dev/null +++ b/examples/dynamics/reaching_task.py @@ -0,0 +1,165 @@ +""" +This example will do a 10 stimulation example with Ding's 2003 frequency model associated to Bakir's 2022 intensity work. +Those ocp were build to move the elbow from 0 to 90 degrees angle. +The stimulation frequency will be set to 10Hz and pulse intensity will be optimized to satisfy the motion and to minimize the overall muscle fatigue. +Intensity can be optimized from sensitivity threshold to 130mA. No residual torque is allowed. +""" +import pickle +import numpy as np +import matplotlib.pyplot as plt + +from bioptim import ( + ObjectiveFcn, + ObjectiveList, + ConstraintList, + ConstraintFcn, + Solver, + Node, +) + +from cocofest import DingModelIntensityFrequencyWithFatigue, DingModelPulseDurationFrequencyWithFatigue, FESActuatedBiorbdModelOCP + +get_results = True +make_graphs = False + +if get_results: + n_stim = 10 + n_shooting = 10 + objective_functions = ObjectiveList() + + fes_muscle_models = [[DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="BICshort"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlat"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRImed"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="BRA")], + [DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong"), + DingModelIntensityFrequencyWithFatigue(muscle_name="BICshort"), + DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlong"), + DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlat"), + DingModelIntensityFrequencyWithFatigue(muscle_name="TRImed"), + DingModelIntensityFrequencyWithFatigue(muscle_name="BRA")]] + + for i in range(n_stim): + objective_functions.add( + ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, + key="tau", + weight=1, + quadratic=True, + phase=i, + ) + objective_functions.add( + ObjectiveFcn.Mayer.SUPERIMPOSE_MARKERS, + first_marker="COM_hand", + second_marker="reaching_target", + phase=6, + node=Node.END, + weight=10000, + ) + + objective_functions.add( + ObjectiveFcn.Mayer.MINIMIZE_STATE, + key="qdot", + index=[0, 1], + node=Node.END, + target=np.array([[0, 0]] * (n_shooting + 1)).T, + weight=100, + quadratic=True, + phase=6, + ) + + minimum_pulse_intensity = DingModelIntensityFrequencyWithFatigue.min_pulse_intensity( + DingModelIntensityFrequencyWithFatigue() + ) + + minimum_pulse_duration = DingModelPulseDurationFrequencyWithFatigue().pd0 + + pickle_file_list = ["pulse_duration.pkl", "pulse_intensity.pkl"] + time = [] + states = [] + controls = [] + parameters = [] + for i in range(len(pickle_file_list)): + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="arm26.bioMod", + bound_type="start_end", + bound_data=[[0, 5], [0, 5]], + fes_muscle_models=fes_muscle_models[i], + n_stim=n_stim, + n_shooting=10, + final_time=1, + pulse_duration_min=minimum_pulse_duration, + pulse_duration_max=0.0006, + pulse_duration_bimapping=False, + pulse_intensity_min=minimum_pulse_intensity, + pulse_intensity_max=80, + pulse_intensity_bimapping=False, + with_residual_torque=True, + custom_objective=objective_functions, + muscle_force_length_relationship=True, + muscle_force_velocity_relationship=True, + use_sx=False, + ) + + sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) #.merge_phases() + sol.animate() + sol.graphs(show_bounds=False) + time = sol.time + states = sol.states + controls = sol.controls + parameters = sol.parameters + + dictionary = { + "time": time, + "states": states, + "controls": controls, + "parameters": parameters, + } + + with open(pickle_file_list[i], "wb") as file: + pickle.dump(dictionary, file) + + +if make_graphs: + with open(r"normal.pkl", "rb") as f: + data_normal = pickle.load(f) + + with open(r"minimizing_fatigue.pkl", "rb") as f: + data_minimize = pickle.load(f) + + muscle_keys = ["F_BIClong", "F_BICshort", "F_TRIlong", "F_TRIlat", "F_TRImed", "F_BRA"] + muscle_names = ["BIClong", "BICshort", "TRIlong", "TRIlat", "TRImed", "BRA"] + fig, axs = plt.subplots(3, 2, figsize=(5, 3), sharex=True, sharey=True, constrained_layout=True) + counter = 0 + for i in range(3): + for j in range(2): + axs[i][j].set_xlim(left=0, right=1) + axs[i][j].set_ylim(bottom=0, top=190) + + axs[i][j].text(.025, .975, f'{muscle_names[counter]}', transform=axs[i][j].transAxes, ha="left", va="top", weight='bold', font="Times New Roman") + + labels = axs[i][j].get_xticklabels() + axs[i][j].get_yticklabels() + [label.set_fontname("Times New Roman") for label in labels] + [label.set_fontsize(14) for label in labels] + + if i == 0 and j == 0: + axs[i][j].plot(data_normal["time"], data_normal["states"][muscle_keys[counter]][0], ms=4, linewidth=5.0, + label="Normal") + axs[i][j].plot(data_minimize["time"], data_minimize["states"][muscle_keys[counter]][0], ms=4, linewidth=5.0, + label="Minimizing fatigue") + else: + axs[i][j].plot(data_normal["time"], data_normal["states"][muscle_keys[counter]][0], ms=4, linewidth=5.0) + axs[i][j].plot(data_minimize["time"], data_minimize["states"][muscle_keys[counter]][0], ms=4, linewidth=5.0) + counter += 1 + + plt.setp(axs, xticks=[0, 0.25, 0.5, 0.75, 1], xticklabels=[0, 0.25, 0.5, 0.75, 1], + yticks=[0, 75, 150], yticklabels=[0, 75, 150]) + + + fig.supxlabel('Time (s)', font="Times New Roman", fontsize=14) + fig.supylabel('Force (N)', font="Times New Roman", fontsize=14) + + # fig.legend() + # fig.tight_layout() + plt.show() + From 5c9bfe0c9e4b764b253ca818391411153adc1a92 Mon Sep 17 00:00:00 2001 From: kevin Date: Fri, 2 Feb 2024 11:06:34 -0500 Subject: [PATCH 31/63] condition modification --- examples/dynamics/reaching_task.py | 105 +++++++++++++++-------------- 1 file changed, 56 insertions(+), 49 deletions(-) diff --git a/examples/dynamics/reaching_task.py b/examples/dynamics/reaching_task.py index 3b15713e..ad143092 100644 --- a/examples/dynamics/reaching_task.py +++ b/examples/dynamics/reaching_task.py @@ -9,6 +9,7 @@ import matplotlib.pyplot as plt from bioptim import ( + Axis, ObjectiveFcn, ObjectiveList, ConstraintList, @@ -23,8 +24,8 @@ make_graphs = False if get_results: - n_stim = 10 - n_shooting = 10 + n_stim = 28 + n_shooting = 5 objective_functions = ObjectiveList() fes_muscle_models = [[DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), @@ -44,17 +45,19 @@ objective_functions.add( ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", - weight=1, + weight=100000, quadratic=True, phase=i, ) - objective_functions.add( - ObjectiveFcn.Mayer.SUPERIMPOSE_MARKERS, + + constraint = ConstraintList() + constraint.add( + ConstraintFcn.SUPERIMPOSE_MARKERS, first_marker="COM_hand", second_marker="reaching_target", - phase=6, + phase=19, node=Node.END, - weight=10000, + axes=[Axis.X, Axis.Y] ) objective_functions.add( @@ -63,9 +66,9 @@ index=[0, 1], node=Node.END, target=np.array([[0, 0]] * (n_shooting + 1)).T, - weight=100, + weight=1000, quadratic=True, - phase=6, + phase=19, ) minimum_pulse_intensity = DingModelIntensityFrequencyWithFatigue.min_pulse_intensity( @@ -74,50 +77,55 @@ minimum_pulse_duration = DingModelPulseDurationFrequencyWithFatigue().pd0 - pickle_file_list = ["pulse_duration.pkl", "pulse_intensity.pkl"] + pickle_file_list = ["pulse_duration_normal.pkl", "pulse_intensity_normal.pkl"] time = [] states = [] controls = [] parameters = [] for i in range(len(pickle_file_list)): - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="arm26.bioMod", - bound_type="start_end", - bound_data=[[0, 5], [0, 5]], - fes_muscle_models=fes_muscle_models[i], - n_stim=n_stim, - n_shooting=10, - final_time=1, - pulse_duration_min=minimum_pulse_duration, - pulse_duration_max=0.0006, - pulse_duration_bimapping=False, - pulse_intensity_min=minimum_pulse_intensity, - pulse_intensity_max=80, - pulse_intensity_bimapping=False, - with_residual_torque=True, - custom_objective=objective_functions, - muscle_force_length_relationship=True, - muscle_force_velocity_relationship=True, - use_sx=False, - ) - - sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) #.merge_phases() - sol.animate() - sol.graphs(show_bounds=False) - time = sol.time - states = sol.states - controls = sol.controls - parameters = sol.parameters - - dictionary = { - "time": time, - "states": states, - "controls": controls, - "parameters": parameters, - } - - with open(pickle_file_list[i], "wb") as file: - pickle.dump(dictionary, file) + if i == 0: + pass + else: + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="arm26.bioMod", + bound_type="start_end", + bound_data=[[0, 5], [0, 5]], + fes_muscle_models=fes_muscle_models[i], + n_stim=n_stim, + n_shooting=n_shooting, + final_time=1.4, + pulse_duration_min=minimum_pulse_duration, + pulse_duration_max=0.0006, + pulse_duration_bimapping=False, + pulse_intensity_min=minimum_pulse_intensity, + pulse_intensity_max=80, + pulse_intensity_bimapping=False, + with_residual_torque=True, + custom_objective=objective_functions, + custom_constraint=constraint, + muscle_force_length_relationship=True, + muscle_force_velocity_relationship=True, + minimize_muscle_fatigue=False, + use_sx=False, + ) + + sol = ocp.solve(Solver.IPOPT(_max_iter=1000)).merge_phases() + # sol.animate() + # sol.graphs(show_bounds=False) + time = sol.time + states = sol.states + controls = sol.controls + parameters = sol.parameters + + dictionary = { + "time": time, + "states": states, + "controls": controls, + "parameters": parameters, + } + + with open(pickle_file_list[i], "wb") as file: + pickle.dump(dictionary, file) if make_graphs: @@ -155,7 +163,6 @@ plt.setp(axs, xticks=[0, 0.25, 0.5, 0.75, 1], xticklabels=[0, 0.25, 0.5, 0.75, 1], yticks=[0, 75, 150], yticklabels=[0, 75, 150]) - fig.supxlabel('Time (s)', font="Times New Roman", fontsize=14) fig.supylabel('Force (N)', font="Times New Roman", fontsize=14) From 9705377c4fe24b55c7bc9d22d51f09d6f55f80ae Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Fri, 2 Feb 2024 11:23:03 -0500 Subject: [PATCH 32/63] working on minimization strategies --- cocofest/custom_objectives.py | 18 +++ cocofest/optimization/fes_ocp_dynamics.py | 11 ++ examples/dynamics/reaching_task.py | 150 +++++++++++++--------- 3 files changed, 121 insertions(+), 58 deletions(-) diff --git a/cocofest/custom_objectives.py b/cocofest/custom_objectives.py index 3b151d9a..de8c4ee7 100644 --- a/cocofest/custom_objectives.py +++ b/cocofest/custom_objectives.py @@ -86,3 +86,21 @@ def minimize_overall_muscle_fatigue(controller: PenaltyController) -> MX: muscle_name_list = controller.model.bio_model.muscle_names muscle_fatigue = [controller.states["A_" + muscle_name_list[x]].cx for x in range(len(muscle_name_list))] return sum(muscle_fatigue) + + @staticmethod + def minimize_overall_muscle_force_production(controller: PenaltyController) -> MX: + """ + Minimize the overall muscle force production. + + Parameters + ---------- + controller: PenaltyController + The penalty node elements + + Returns + ------- + The sum of each force + """ + muscle_name_list = controller.model.bio_model.muscle_names + muscle_force = [controller.states["F_" + muscle_name_list[x]].cx for x in range(len(muscle_name_list))] + return sum(muscle_force) diff --git a/cocofest/optimization/fes_ocp_dynamics.py b/cocofest/optimization/fes_ocp_dynamics.py index f5709097..989d3b04 100644 --- a/cocofest/optimization/fes_ocp_dynamics.py +++ b/cocofest/optimization/fes_ocp_dynamics.py @@ -650,6 +650,17 @@ def _set_objective( phase=i, ) + # if minimize_muscle_fatigue: + # for i in range(n_stim): + # objective_functions.add( + # CustomObjective.minimize_overall_muscle_force, + # custom_type=ObjectiveFcn.Mayer, + # node=Node.ALL, + # quadratic=True, + # weight=1, + # phase=i, + # ) + return objective_functions @staticmethod diff --git a/examples/dynamics/reaching_task.py b/examples/dynamics/reaching_task.py index ad143092..b6a23e4d 100644 --- a/examples/dynamics/reaching_task.py +++ b/examples/dynamics/reaching_task.py @@ -23,23 +23,54 @@ get_results = True make_graphs = False +# Fiber type proportion from [1] +biceps_fiber_type_2_proportion = 0.607 +triceps_fiber_type_2_proportion = 0.465 +brachioradialis_fiber_type_2_proportion = 0.457 + +biceps_long_duration = DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong") +biceps_long_duration.alpha_a = biceps_long_duration.alpha_a * biceps_fiber_type_2_proportion +biceps_short_duration = DingModelPulseDurationFrequencyWithFatigue(muscle_name="BICshort") +biceps_short_duration.alpha_a = biceps_short_duration.alpha_a * biceps_fiber_type_2_proportion +triceps_long_duration = DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong") +triceps_long_duration.alpha_a = triceps_long_duration.alpha_a * triceps_fiber_type_2_proportion +triceps_lat_duration = DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlat") +triceps_lat_duration.alpha_a = triceps_lat_duration.alpha_a * triceps_fiber_type_2_proportion +triceps_med_duration = DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRImed") +triceps_med_duration.alpha_a = triceps_med_duration.alpha_a * triceps_fiber_type_2_proportion +brachioradialis_duration = DingModelPulseDurationFrequencyWithFatigue(muscle_name="BRA") +brachioradialis_duration.alpha_a = brachioradialis_duration.alpha_a * brachioradialis_fiber_type_2_proportion + +biceps_long_intensity = DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong") +biceps_long_intensity.alpha_a = biceps_long_intensity.alpha_a * biceps_fiber_type_2_proportion +biceps_short_intensity = DingModelIntensityFrequencyWithFatigue(muscle_name="BICshort") +biceps_short_intensity.alpha_a = biceps_short_intensity.alpha_a * biceps_fiber_type_2_proportion +triceps_long_intensity = DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlong") +triceps_long_intensity.alpha_a = triceps_long_intensity.alpha_a * triceps_fiber_type_2_proportion +triceps_lat_intensity = DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlat") +triceps_lat_intensity.alpha_a = triceps_lat_intensity.alpha_a * triceps_fiber_type_2_proportion +triceps_med_intensity = DingModelIntensityFrequencyWithFatigue(muscle_name="TRImed") +triceps_med_intensity.alpha_a = triceps_med_intensity.alpha_a * triceps_fiber_type_2_proportion +brachioradialis_intensity = DingModelIntensityFrequencyWithFatigue(muscle_name="BRA") +brachioradialis_intensity.alpha_a = brachioradialis_intensity.alpha_a * brachioradialis_fiber_type_2_proportion + if get_results: - n_stim = 28 + n_stim = 20 n_shooting = 5 objective_functions = ObjectiveList() - fes_muscle_models = [[DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), - DingModelPulseDurationFrequencyWithFatigue(muscle_name="BICshort"), - DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong"), - DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlat"), - DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRImed"), - DingModelPulseDurationFrequencyWithFatigue(muscle_name="BRA")], - [DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong"), - DingModelIntensityFrequencyWithFatigue(muscle_name="BICshort"), - DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlong"), - DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlat"), - DingModelIntensityFrequencyWithFatigue(muscle_name="TRImed"), - DingModelIntensityFrequencyWithFatigue(muscle_name="BRA")]] + fes_muscle_models = [[biceps_long_duration, + biceps_short_duration, + triceps_long_duration, + triceps_lat_duration, + triceps_med_duration, + brachioradialis_duration], + [biceps_long_intensity, + biceps_short_intensity, + triceps_long_intensity, + triceps_lat_intensity, + triceps_med_intensity, + brachioradialis_intensity]] for i in range(n_stim): objective_functions.add( @@ -55,7 +86,7 @@ ConstraintFcn.SUPERIMPOSE_MARKERS, first_marker="COM_hand", second_marker="reaching_target", - phase=19, + phase=9, node=Node.END, axes=[Axis.X, Axis.Y] ) @@ -68,7 +99,7 @@ target=np.array([[0, 0]] * (n_shooting + 1)).T, weight=1000, quadratic=True, - phase=19, + phase=9, ) minimum_pulse_intensity = DingModelIntensityFrequencyWithFatigue.min_pulse_intensity( @@ -83,49 +114,47 @@ controls = [] parameters = [] for i in range(len(pickle_file_list)): - if i == 0: - pass - else: - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="arm26.bioMod", - bound_type="start_end", - bound_data=[[0, 5], [0, 5]], - fes_muscle_models=fes_muscle_models[i], - n_stim=n_stim, - n_shooting=n_shooting, - final_time=1.4, - pulse_duration_min=minimum_pulse_duration, - pulse_duration_max=0.0006, - pulse_duration_bimapping=False, - pulse_intensity_min=minimum_pulse_intensity, - pulse_intensity_max=80, - pulse_intensity_bimapping=False, - with_residual_torque=True, - custom_objective=objective_functions, - custom_constraint=constraint, - muscle_force_length_relationship=True, - muscle_force_velocity_relationship=True, - minimize_muscle_fatigue=False, - use_sx=False, - ) - - sol = ocp.solve(Solver.IPOPT(_max_iter=1000)).merge_phases() - # sol.animate() - # sol.graphs(show_bounds=False) - time = sol.time - states = sol.states - controls = sol.controls - parameters = sol.parameters - - dictionary = { - "time": time, - "states": states, - "controls": controls, - "parameters": parameters, - } - - with open(pickle_file_list[i], "wb") as file: - pickle.dump(dictionary, file) + + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="arm26.bioMod", + bound_type="start_end", + bound_data=[[0, 130], [0, 130]], + fes_muscle_models=fes_muscle_models[i], + n_stim=n_stim, + n_shooting=n_shooting, + final_time=1, + pulse_duration_min=minimum_pulse_duration, + pulse_duration_max=0.0006, + pulse_duration_bimapping=False, + pulse_intensity_min=minimum_pulse_intensity, + pulse_intensity_max=80, + pulse_intensity_bimapping=False, + with_residual_torque=True, + custom_objective=objective_functions, + custom_constraint=constraint, + muscle_force_length_relationship=True, + muscle_force_velocity_relationship=True, + minimize_muscle_fatigue=True, + use_sx=False, + ) + + sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) #.merge_phases() + sol.animate() + sol.graphs(show_bounds=False) + time = sol.time + states = sol.states + controls = sol.controls + parameters = sol.parameters + + dictionary = { + "time": time, + "states": states, + "controls": controls, + "parameters": parameters, + } + + with open(pickle_file_list[i], "wb") as file: + pickle.dump(dictionary, file) if make_graphs: @@ -170,3 +199,8 @@ # fig.tight_layout() plt.show() + + +# [1] Dahmane, R., Djordjevič, S., Šimunič, B., & Valenčič, V. (2005). +# Spatial fiber type distribution in normal human muscle: histochemical and tensiomyographical evaluation. +# Journal of biomechanics, 38(12), 2451-2459. From ea43ae7e24466e18bcd40c848c521ee4cfa21482 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Tue, 6 Feb 2024 10:35:06 -0500 Subject: [PATCH 33/63] for computational tests --- cocofest/optimization/fes_ocp_dynamics.py | 5 ++ examples/dynamics/reaching_task.py | 59 ++++++++++++++++++++--- 2 files changed, 57 insertions(+), 7 deletions(-) diff --git a/cocofest/optimization/fes_ocp_dynamics.py b/cocofest/optimization/fes_ocp_dynamics.py index 989d3b04..ceaff6ac 100644 --- a/cocofest/optimization/fes_ocp_dynamics.py +++ b/cocofest/optimization/fes_ocp_dynamics.py @@ -537,6 +537,11 @@ def _set_bounds(bio_models, fes_muscle_models, bound_type, bound_data, n_stim): q_x_bounds = bio_models[i].bounds_from_ranges("q") qdot_x_bounds = bio_models[i].bounds_from_ranges("qdot") + # if bound_type == "all": + # q_x_bounds = bound_data[i] + + q_x_bounds.min[0] = 0 + if i == 0: if bound_type == "start_end": for j in range(bio_models[i].nb_q): diff --git a/examples/dynamics/reaching_task.py b/examples/dynamics/reaching_task.py index b6a23e4d..b6f29259 100644 --- a/examples/dynamics/reaching_task.py +++ b/examples/dynamics/reaching_task.py @@ -28,35 +28,57 @@ triceps_fiber_type_2_proportion = 0.465 brachioradialis_fiber_type_2_proportion = 0.457 +# PCSA (cm²) from [2] +biceps_pcsa = 12.7 +triceps_pcsa = 28.3 +brachioradialis_pcsa = 11.6 + +biceps_a_rest_proportion = 12.7 / 28.3 +triceps_a_rest_proportion = 1 +brachioradialis_a_rest_proportion = 11.6 / 28.3 + biceps_long_duration = DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong") biceps_long_duration.alpha_a = biceps_long_duration.alpha_a * biceps_fiber_type_2_proportion +biceps_long_duration.a_rest = biceps_long_duration.a_rest * biceps_a_rest_proportion biceps_short_duration = DingModelPulseDurationFrequencyWithFatigue(muscle_name="BICshort") biceps_short_duration.alpha_a = biceps_short_duration.alpha_a * biceps_fiber_type_2_proportion +biceps_short_duration.a_rest = biceps_short_duration.a_rest * biceps_a_rest_proportion triceps_long_duration = DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong") triceps_long_duration.alpha_a = triceps_long_duration.alpha_a * triceps_fiber_type_2_proportion +triceps_long_duration.a_rest = triceps_long_duration.a_rest * triceps_a_rest_proportion triceps_lat_duration = DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlat") triceps_lat_duration.alpha_a = triceps_lat_duration.alpha_a * triceps_fiber_type_2_proportion +triceps_lat_duration.a_rest = triceps_lat_duration.a_rest * triceps_a_rest_proportion triceps_med_duration = DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRImed") triceps_med_duration.alpha_a = triceps_med_duration.alpha_a * triceps_fiber_type_2_proportion +triceps_med_duration.a_rest = triceps_med_duration.a_rest * triceps_a_rest_proportion brachioradialis_duration = DingModelPulseDurationFrequencyWithFatigue(muscle_name="BRA") brachioradialis_duration.alpha_a = brachioradialis_duration.alpha_a * brachioradialis_fiber_type_2_proportion +brachioradialis_duration.a_rest = brachioradialis_duration.a_rest * brachioradialis_a_rest_proportion biceps_long_intensity = DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong") biceps_long_intensity.alpha_a = biceps_long_intensity.alpha_a * biceps_fiber_type_2_proportion +biceps_long_intensity.a_rest = biceps_long_intensity.a_rest * biceps_a_rest_proportion biceps_short_intensity = DingModelIntensityFrequencyWithFatigue(muscle_name="BICshort") biceps_short_intensity.alpha_a = biceps_short_intensity.alpha_a * biceps_fiber_type_2_proportion +biceps_short_intensity.a_rest = biceps_short_intensity.a_rest * biceps_a_rest_proportion triceps_long_intensity = DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlong") triceps_long_intensity.alpha_a = triceps_long_intensity.alpha_a * triceps_fiber_type_2_proportion +triceps_long_intensity.a_rest = triceps_long_intensity.a_rest * triceps_a_rest_proportion triceps_lat_intensity = DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlat") triceps_lat_intensity.alpha_a = triceps_lat_intensity.alpha_a * triceps_fiber_type_2_proportion +triceps_lat_intensity.a_rest = triceps_lat_intensity.a_rest * triceps_a_rest_proportion triceps_med_intensity = DingModelIntensityFrequencyWithFatigue(muscle_name="TRImed") triceps_med_intensity.alpha_a = triceps_med_intensity.alpha_a * triceps_fiber_type_2_proportion +triceps_med_intensity.a_rest = triceps_med_intensity.a_rest * triceps_a_rest_proportion brachioradialis_intensity = DingModelIntensityFrequencyWithFatigue(muscle_name="BRA") brachioradialis_intensity.alpha_a = brachioradialis_intensity.alpha_a * brachioradialis_fiber_type_2_proportion +brachioradialis_intensity.a_rest = brachioradialis_intensity.a_rest * brachioradialis_a_rest_proportion + if get_results: - n_stim = 20 - n_shooting = 5 + n_stim = 100 + n_shooting = 1 objective_functions = ObjectiveList() fes_muscle_models = [[biceps_long_duration, @@ -86,20 +108,40 @@ ConstraintFcn.SUPERIMPOSE_MARKERS, first_marker="COM_hand", second_marker="reaching_target", - phase=9, + phase=24, node=Node.END, axes=[Axis.X, Axis.Y] ) + # objective_functions.add( + # ObjectiveFcn.Mayer.SUPERIMPOSE_MARKERS, + # node=Node.ALL, + # first_marker="COM_hand", + # second_marker="reaching_target", + # weight=1000, + # quadratic=True, + # phase=24, + # ) + # + # objective_functions.add( + # ObjectiveFcn.Mayer.SUPERIMPOSE_MARKERS, + # node=Node.ALL, + # first_marker="COM_hand", + # second_marker="reaching_target", + # weight=1000, + # quadratic=True, + # phase=25, + # ) + objective_functions.add( ObjectiveFcn.Mayer.MINIMIZE_STATE, key="qdot", index=[0, 1], - node=Node.END, + node=Node.ALL, target=np.array([[0, 0]] * (n_shooting + 1)).T, weight=1000, quadratic=True, - phase=9, + phase=25, ) minimum_pulse_intensity = DingModelIntensityFrequencyWithFatigue.min_pulse_intensity( @@ -122,7 +164,7 @@ fes_muscle_models=fes_muscle_models[i], n_stim=n_stim, n_shooting=n_shooting, - final_time=1, + final_time=2, pulse_duration_min=minimum_pulse_duration, pulse_duration_max=0.0006, pulse_duration_bimapping=False, @@ -200,7 +242,10 @@ plt.show() - # [1] Dahmane, R., Djordjevič, S., Šimunič, B., & Valenčič, V. (2005). # Spatial fiber type distribution in normal human muscle: histochemical and tensiomyographical evaluation. # Journal of biomechanics, 38(12), 2451-2459. + +# [2] Klein, C. S., Allman, B. L., Marsh, G. D., & Rice, C. L. (2002). +# Muscle size, strength, and bone geometry in the upper limbs of young and old men. +# The Journals of Gerontology Series A: Biological Sciences and Medical Sciences, 57(7), M455-M459. From a53f35f451f82c9e4ab27c6f47c2418ef3395543 Mon Sep 17 00:00:00 2001 From: kevin Date: Tue, 6 Feb 2024 15:36:49 -0500 Subject: [PATCH 34/63] . --- cocofest/optimization/fes_ocp_dynamics.py | 26 ++-- examples/dynamics/arm26.bioMod | 2 +- examples/dynamics/reaching_task.py | 157 ++++++++++------------ 3 files changed, 91 insertions(+), 94 deletions(-) diff --git a/cocofest/optimization/fes_ocp_dynamics.py b/cocofest/optimization/fes_ocp_dynamics.py index ceaff6ac..9062e7dd 100644 --- a/cocofest/optimization/fes_ocp_dynamics.py +++ b/cocofest/optimization/fes_ocp_dynamics.py @@ -72,6 +72,7 @@ def prepare_ocp( muscle_force_length_relationship: bool = False, muscle_force_velocity_relationship: bool = False, minimize_muscle_fatigue: bool = False, + minimize_muscle_force: bool = False, use_sx: bool = True, ode_solver: OdeSolverBase = OdeSolver.RK4(n_integration_steps=1), control_type: ControlType = ControlType.CONSTANT, @@ -134,6 +135,8 @@ def prepare_ocp( If the force velocity relationship is used minimize_muscle_fatigue: bool Minimize the muscle fatigue + minimize_muscle_force: bool + Minimize the muscle force use_sx: bool The nature of the casadi variables. MX are used if False. ode_solver: OdeSolver @@ -260,6 +263,7 @@ def prepare_ocp( custom_objective, q_fourier_coef, minimize_muscle_fatigue, + minimize_muscle_force, ) return OptimalControlProgram( @@ -541,6 +545,7 @@ def _set_bounds(bio_models, fes_muscle_models, bound_type, bound_data, n_stim): # q_x_bounds = bound_data[i] q_x_bounds.min[0] = 0 + q_x_bounds.max[1] = 2.6166666666666667 if i == 0: if bound_type == "start_end": @@ -593,6 +598,7 @@ def _set_objective( custom_objective, q_fourier_coef, minimize_muscle_fatigue, + minimize_muscle_force, ): # Creates the objective for our problem objective_functions = ObjectiveList() @@ -655,16 +661,16 @@ def _set_objective( phase=i, ) - # if minimize_muscle_fatigue: - # for i in range(n_stim): - # objective_functions.add( - # CustomObjective.minimize_overall_muscle_force, - # custom_type=ObjectiveFcn.Mayer, - # node=Node.ALL, - # quadratic=True, - # weight=1, - # phase=i, - # ) + if minimize_muscle_force: + for i in range(n_stim): + objective_functions.add( + CustomObjective.minimize_overall_muscle_force_production, + custom_type=ObjectiveFcn.Mayer, + node=Node.ALL, + quadratic=True, + weight=1, + phase=i, + ) return objective_functions diff --git a/examples/dynamics/arm26.bioMod b/examples/dynamics/arm26.bioMod index 10461eec..7a43d116 100644 --- a/examples/dynamics/arm26.bioMod +++ b/examples/dynamics/arm26.bioMod @@ -15,7 +15,7 @@ endsegment marker reaching_target parent base - position 0.45 -0.05 0.167 + position 0.40 -0.05 0.167 endmarker diff --git a/examples/dynamics/reaching_task.py b/examples/dynamics/reaching_task.py index b6f29259..6cf190db 100644 --- a/examples/dynamics/reaching_task.py +++ b/examples/dynamics/reaching_task.py @@ -75,96 +75,86 @@ brachioradialis_intensity.alpha_a = brachioradialis_intensity.alpha_a * brachioradialis_fiber_type_2_proportion brachioradialis_intensity.a_rest = brachioradialis_intensity.a_rest * brachioradialis_a_rest_proportion - +pickle_file_list = ["minimize_muscle_force.pkl", "minimize_muscle_fatigue.pkl"] if get_results: - n_stim = 100 - n_shooting = 1 - objective_functions = ObjectiveList() - - fes_muscle_models = [[biceps_long_duration, - biceps_short_duration, - triceps_long_duration, - triceps_lat_duration, - triceps_med_duration, - brachioradialis_duration], - [biceps_long_intensity, - biceps_short_intensity, - triceps_long_intensity, - triceps_lat_intensity, - triceps_med_intensity, - brachioradialis_intensity]] - - for i in range(n_stim): + for i in range(len(pickle_file_list)): + n_stim = 40 + n_shooting = 2 + objective_functions = ObjectiveList() + + fes_muscle_models = [[biceps_long_duration, + biceps_short_duration, + triceps_long_duration, + triceps_lat_duration, + triceps_med_duration, + brachioradialis_duration], + [biceps_long_intensity, + biceps_short_intensity, + triceps_long_intensity, + triceps_lat_intensity, + triceps_med_intensity, + brachioradialis_intensity]] + + for j in range(n_stim): + objective_functions.add( + ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, + key="tau", + weight=100000, + quadratic=True, + phase=j, + ) + + constraint = ConstraintList() + constraint.add( + ConstraintFcn.SUPERIMPOSE_MARKERS, + first_marker="COM_hand", + second_marker="reaching_target", + phase=19, + node=Node.END, + axes=[Axis.X, Axis.Y] + ) + objective_functions.add( - ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, - key="tau", - weight=100000, + ObjectiveFcn.Mayer.MINIMIZE_STATE, + key="qdot", + index=[0, 1], + node=Node.ALL, + target=np.array([[0, 0]] * (n_shooting + 1)).T, + weight=1000, quadratic=True, - phase=i, + phase=20, ) - constraint = ConstraintList() - constraint.add( - ConstraintFcn.SUPERIMPOSE_MARKERS, - first_marker="COM_hand", - second_marker="reaching_target", - phase=24, - node=Node.END, - axes=[Axis.X, Axis.Y] - ) - - # objective_functions.add( - # ObjectiveFcn.Mayer.SUPERIMPOSE_MARKERS, - # node=Node.ALL, - # first_marker="COM_hand", - # second_marker="reaching_target", - # weight=1000, - # quadratic=True, - # phase=24, - # ) - # - # objective_functions.add( - # ObjectiveFcn.Mayer.SUPERIMPOSE_MARKERS, - # node=Node.ALL, - # first_marker="COM_hand", - # second_marker="reaching_target", - # weight=1000, - # quadratic=True, - # phase=25, - # ) - - objective_functions.add( - ObjectiveFcn.Mayer.MINIMIZE_STATE, - key="qdot", - index=[0, 1], - node=Node.ALL, - target=np.array([[0, 0]] * (n_shooting + 1)).T, - weight=1000, - quadratic=True, - phase=25, - ) - - minimum_pulse_intensity = DingModelIntensityFrequencyWithFatigue.min_pulse_intensity( - DingModelIntensityFrequencyWithFatigue() - ) - - minimum_pulse_duration = DingModelPulseDurationFrequencyWithFatigue().pd0 - - pickle_file_list = ["pulse_duration_normal.pkl", "pulse_intensity_normal.pkl"] - time = [] - states = [] - controls = [] - parameters = [] - for i in range(len(pickle_file_list)): + objective_functions.add( + ObjectiveFcn.Mayer.MINIMIZE_STATE, + key="qdot", + index=[0, 1], + node=Node.ALL, + target=np.array([[0, 0]] * (n_shooting + 1)).T, + weight=1000, + quadratic=True, + phase=21, + ) + + minimum_pulse_intensity = DingModelIntensityFrequencyWithFatigue.min_pulse_intensity( + DingModelIntensityFrequencyWithFatigue() + ) + + minimum_pulse_duration = DingModelPulseDurationFrequencyWithFatigue().pd0 + + time = [] + states = [] + controls = [] + parameters = [] ocp = FESActuatedBiorbdModelOCP.prepare_ocp( biorbd_model_path="arm26.bioMod", bound_type="start_end", - bound_data=[[0, 130], [0, 130]], - fes_muscle_models=fes_muscle_models[i], + bound_data=[[0, 150], [0, 150]], + fes_muscle_models=fes_muscle_models[0], n_stim=n_stim, n_shooting=n_shooting, - final_time=2, + final_time=1, pulse_duration_min=minimum_pulse_duration, pulse_duration_max=0.0006, pulse_duration_bimapping=False, @@ -176,13 +166,14 @@ custom_constraint=constraint, muscle_force_length_relationship=True, muscle_force_velocity_relationship=True, - minimize_muscle_fatigue=True, + minimize_muscle_fatigue=True if pickle_file_list[i] == "minimize_muscle_fatigue.pkl" else False, + minimize_muscle_force=True if pickle_file_list[i] == "minimize_muscle_force.pkl" else False, use_sx=False, ) - sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) #.merge_phases() - sol.animate() - sol.graphs(show_bounds=False) + sol = ocp.solve(Solver.IPOPT(_max_iter=1000)).merge_phases() + # sol.animate() + # sol.graphs(show_bounds=False) time = sol.time states = sol.states controls = sol.controls From f7427ea3efe430a88597aca5b10bc83684bb06f2 Mon Sep 17 00:00:00 2001 From: kevin Date: Tue, 6 Feb 2024 17:11:23 -0500 Subject: [PATCH 35/63] trying to remove residual torque --- examples/dynamics/reaching_task.py | 34 +++++++++++++++--------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/examples/dynamics/reaching_task.py b/examples/dynamics/reaching_task.py index 6cf190db..4033804d 100644 --- a/examples/dynamics/reaching_task.py +++ b/examples/dynamics/reaching_task.py @@ -78,7 +78,7 @@ pickle_file_list = ["minimize_muscle_force.pkl", "minimize_muscle_fatigue.pkl"] if get_results: for i in range(len(pickle_file_list)): - n_stim = 40 + n_stim = 60 n_shooting = 2 objective_functions = ObjectiveList() @@ -95,21 +95,21 @@ triceps_med_intensity, brachioradialis_intensity]] - for j in range(n_stim): - objective_functions.add( - ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, - key="tau", - weight=100000, - quadratic=True, - phase=j, - ) + # for j in range(n_stim): + # objective_functions.add( + # ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, + # key="tau", + # weight=100000, + # quadratic=True, + # phase=j, + # ) constraint = ConstraintList() constraint.add( ConstraintFcn.SUPERIMPOSE_MARKERS, first_marker="COM_hand", second_marker="reaching_target", - phase=19, + phase=29, node=Node.END, axes=[Axis.X, Axis.Y] ) @@ -122,7 +122,7 @@ target=np.array([[0, 0]] * (n_shooting + 1)).T, weight=1000, quadratic=True, - phase=20, + phase=30, ) objective_functions.add( @@ -133,7 +133,7 @@ target=np.array([[0, 0]] * (n_shooting + 1)).T, weight=1000, quadratic=True, - phase=21, + phase=31, ) minimum_pulse_intensity = DingModelIntensityFrequencyWithFatigue.min_pulse_intensity( @@ -154,14 +154,14 @@ fes_muscle_models=fes_muscle_models[0], n_stim=n_stim, n_shooting=n_shooting, - final_time=1, + final_time=2, pulse_duration_min=minimum_pulse_duration, pulse_duration_max=0.0006, pulse_duration_bimapping=False, pulse_intensity_min=minimum_pulse_intensity, pulse_intensity_max=80, pulse_intensity_bimapping=False, - with_residual_torque=True, + with_residual_torque=False, custom_objective=objective_functions, custom_constraint=constraint, muscle_force_length_relationship=True, @@ -171,9 +171,9 @@ use_sx=False, ) - sol = ocp.solve(Solver.IPOPT(_max_iter=1000)).merge_phases() - # sol.animate() - # sol.graphs(show_bounds=False) + sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) #.merge_phases() + sol.animate() + sol.graphs(show_bounds=False) time = sol.time states = sol.states controls = sol.controls From f17b1ac554a04476cde67e5ae60045267dc88611 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Thu, 8 Feb 2024 11:07:20 -0500 Subject: [PATCH 36/63] changing initial guess --- cocofest/optimization/fes_ocp_dynamics.py | 3 +- .../reaching_task_intensity_optimization.py | 261 ++++++++++++++++++ ...aching_task_pulse_duration_optimization.py | 176 ++++++++++++ 3 files changed, 439 insertions(+), 1 deletion(-) create mode 100644 examples/dynamics/reaching_task/reaching_task_intensity_optimization.py create mode 100644 examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py diff --git a/cocofest/optimization/fes_ocp_dynamics.py b/cocofest/optimization/fes_ocp_dynamics.py index 9062e7dd..b4166362 100644 --- a/cocofest/optimization/fes_ocp_dynamics.py +++ b/cocofest/optimization/fes_ocp_dynamics.py @@ -367,7 +367,8 @@ def _build_parameters( max_bound=[pulse_duration_max], interpolation=InterpolationType.CONSTANT, ) - parameters_init[parameter_name] = np.array([0] * n_stim) + pulse_duration_avg = (pulse_duration_max + pulse_duration_min) / 2 + parameters_init[parameter_name] = np.array([pulse_duration_avg] * n_stim) parameters.add( parameter_name=parameter_name, function=DingModelPulseDurationFrequency.set_impulse_duration, diff --git a/examples/dynamics/reaching_task/reaching_task_intensity_optimization.py b/examples/dynamics/reaching_task/reaching_task_intensity_optimization.py new file mode 100644 index 00000000..b08dab3d --- /dev/null +++ b/examples/dynamics/reaching_task/reaching_task_intensity_optimization.py @@ -0,0 +1,261 @@ +""" +This example will do a 10 stimulation example with Ding's 2003 frequency model associated to Bakir's 2022 intensity work. +Those ocp were build to move the elbow from 0 to 90 degrees angle. +The stimulation frequency will be set to 10Hz and pulse intensity will be optimized to satisfy the motion and to minimize the overall muscle fatigue. +Intensity can be optimized from sensitivity threshold to 130mA. No residual torque is allowed. +""" +import pickle +import numpy as np +import matplotlib.pyplot as plt + +from bioptim import ( + Axis, + ObjectiveFcn, + ObjectiveList, + ConstraintList, + ConstraintFcn, + Solver, + Node, +) + +from cocofest import DingModelIntensityFrequencyWithFatigue, DingModelPulseDurationFrequencyWithFatigue, FESActuatedBiorbdModelOCP + +get_results = False +make_graphs = True + +# Fiber type proportion from [1] +biceps_fiber_type_2_proportion = 0.607 +triceps_fiber_type_2_proportion = 0.465 +brachioradialis_fiber_type_2_proportion = 0.457 + +# PCSA (cm²) from [2] +biceps_pcsa = 12.7 +triceps_pcsa = 28.3 +brachioradialis_pcsa = 11.6 + +biceps_a_rest_proportion = 12.7 / 28.3 +triceps_a_rest_proportion = 1 +brachioradialis_a_rest_proportion = 11.6 / 28.3 + +biceps_long_duration = DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong") +biceps_long_duration.alpha_a = biceps_long_duration.alpha_a * biceps_fiber_type_2_proportion +biceps_long_duration.a_rest = biceps_long_duration.a_rest * biceps_a_rest_proportion +biceps_short_duration = DingModelPulseDurationFrequencyWithFatigue(muscle_name="BICshort") +biceps_short_duration.alpha_a = biceps_short_duration.alpha_a * biceps_fiber_type_2_proportion +biceps_short_duration.a_rest = biceps_short_duration.a_rest * biceps_a_rest_proportion +triceps_long_duration = DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong") +triceps_long_duration.alpha_a = triceps_long_duration.alpha_a * triceps_fiber_type_2_proportion +triceps_long_duration.a_rest = triceps_long_duration.a_rest * triceps_a_rest_proportion +triceps_lat_duration = DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlat") +triceps_lat_duration.alpha_a = triceps_lat_duration.alpha_a * triceps_fiber_type_2_proportion +triceps_lat_duration.a_rest = triceps_lat_duration.a_rest * triceps_a_rest_proportion +triceps_med_duration = DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRImed") +triceps_med_duration.alpha_a = triceps_med_duration.alpha_a * triceps_fiber_type_2_proportion +triceps_med_duration.a_rest = triceps_med_duration.a_rest * triceps_a_rest_proportion +brachioradialis_duration = DingModelPulseDurationFrequencyWithFatigue(muscle_name="BRA") +brachioradialis_duration.alpha_a = brachioradialis_duration.alpha_a * brachioradialis_fiber_type_2_proportion +brachioradialis_duration.a_rest = brachioradialis_duration.a_rest * brachioradialis_a_rest_proportion + +biceps_long_intensity = DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong") +biceps_long_intensity.alpha_a = biceps_long_intensity.alpha_a * biceps_fiber_type_2_proportion +biceps_long_intensity.a_rest = biceps_long_intensity.a_rest * biceps_a_rest_proportion +biceps_short_intensity = DingModelIntensityFrequencyWithFatigue(muscle_name="BICshort") +biceps_short_intensity.alpha_a = biceps_short_intensity.alpha_a * biceps_fiber_type_2_proportion +biceps_short_intensity.a_rest = biceps_short_intensity.a_rest * biceps_a_rest_proportion +triceps_long_intensity = DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlong") +triceps_long_intensity.alpha_a = triceps_long_intensity.alpha_a * triceps_fiber_type_2_proportion +triceps_long_intensity.a_rest = triceps_long_intensity.a_rest * triceps_a_rest_proportion +triceps_lat_intensity = DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlat") +triceps_lat_intensity.alpha_a = triceps_lat_intensity.alpha_a * triceps_fiber_type_2_proportion +triceps_lat_intensity.a_rest = triceps_lat_intensity.a_rest * triceps_a_rest_proportion +triceps_med_intensity = DingModelIntensityFrequencyWithFatigue(muscle_name="TRImed") +triceps_med_intensity.alpha_a = triceps_med_intensity.alpha_a * triceps_fiber_type_2_proportion +triceps_med_intensity.a_rest = triceps_med_intensity.a_rest * triceps_a_rest_proportion +brachioradialis_intensity = DingModelIntensityFrequencyWithFatigue(muscle_name="BRA") +brachioradialis_intensity.alpha_a = brachioradialis_intensity.alpha_a * brachioradialis_fiber_type_2_proportion +brachioradialis_intensity.a_rest = brachioradialis_intensity.a_rest * brachioradialis_a_rest_proportion + +# pickle_file_list = ["minimize_muscle_fatigue.pkl", "minimize_muscle_force.pkl"] +pickle_file_list = ["minimize_muscle_force.pkl"] +if get_results: + for i in range(len(pickle_file_list)): + n_stim = 40 + n_shooting = 2 + objective_functions = ObjectiveList() + + fes_muscle_models = [[biceps_long_duration, + biceps_short_duration, + triceps_long_duration, + triceps_lat_duration, + triceps_med_duration, + brachioradialis_duration], + [biceps_long_intensity, + biceps_short_intensity, + triceps_long_intensity, + triceps_lat_intensity, + triceps_med_intensity, + brachioradialis_intensity]] + + # for j in range(n_stim): + # objective_functions.add( + # ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, + # key="tau", + # weight=100000, + # quadratic=True, + # phase=j, + # ) + + constraint = ConstraintList() + constraint.add( + ConstraintFcn.SUPERIMPOSE_MARKERS, + first_marker="COM_hand", + second_marker="reaching_target", + phase=39, + node=Node.END, + axes=[Axis.X, Axis.Y] + ) + + # objective_functions.add( + # ObjectiveFcn.Mayer.MINIMIZE_STATE, + # key="qdot", + # index=[0, 1], + # node=Node.ALL, + # target=np.array([[0, 0]] * (n_shooting + 1)).T, + # weight=1000, + # quadratic=True, + # phase=20, + # ) + # + # objective_functions.add( + # ObjectiveFcn.Mayer.MINIMIZE_STATE, + # key="qdot", + # index=[0, 1], + # node=Node.ALL, + # target=np.array([[0, 0]] * (n_shooting + 1)).T, + # weight=1000, + # quadratic=True, + # phase=21, + # ) + + minimum_pulse_intensity = DingModelIntensityFrequencyWithFatigue.min_pulse_intensity( + DingModelIntensityFrequencyWithFatigue() + ) + + minimum_pulse_duration = DingModelPulseDurationFrequencyWithFatigue().pd0 + + time = [] + states = [] + controls = [] + parameters = [] + + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="arm26.bioMod", + bound_type="start", + bound_data=[0, 5], + fes_muscle_models=fes_muscle_models[0], + n_stim=n_stim, + n_shooting=n_shooting, + final_time=1, + pulse_duration_min=minimum_pulse_duration, + pulse_duration_max=0.0006, + pulse_duration_bimapping=False, + pulse_intensity_min=minimum_pulse_intensity, + pulse_intensity_max=80, + pulse_intensity_bimapping=False, + with_residual_torque=False, + custom_objective=objective_functions, + custom_constraint=constraint, + muscle_force_length_relationship=True, + muscle_force_velocity_relationship=True, + minimize_muscle_fatigue=True if pickle_file_list[i] == "minimize_muscle_fatigue.pkl" else False, + minimize_muscle_force=True if pickle_file_list[i] == "minimize_muscle_force.pkl" else False, + use_sx=False, + ) + + sol = ocp.solve(Solver.IPOPT(_max_iter=100000)).merge_phases() + # sol.animate() + # sol.graphs(show_bounds=False) + time = sol.time + states = sol.states + controls = sol.controls + parameters = sol.parameters + + dictionary = { + "time": time, + "states": states, + "controls": controls, + "parameters": parameters, + } + + with open(pickle_file_list[i], "wb") as file: + pickle.dump(dictionary, file) + + +if make_graphs: + with open(r"minimize_muscle_force.pkl", "rb") as f: + data_minimize_force = pickle.load(f) + + with open(r"minimize_muscle_fatigue.pkl", "rb") as f: + data_minimize_fatigue = pickle.load(f) + + muscle_keys = ["F_BIClong", "F_BICshort", "F_TRIlong", "F_TRIlat", "F_TRImed", "F_BRA"] + muscle_names = ["BIClong", "BICshort", "TRIlong", "TRIlat", "TRImed", "BRA"] + fig, axs = plt.subplots(3, 2, figsize=(5, 3), sharex=True, sharey=True, constrained_layout=True) + counter = 0 + for i in range(3): + for j in range(2): + axs[i][j].set_xlim(left=0, right=1) + axs[i][j].set_ylim(bottom=0, top=300) + + axs[i][j].text(.025, .975, f'{muscle_names[counter]}', transform=axs[i][j].transAxes, ha="left", va="top", weight='bold', font="Times New Roman") + + labels = axs[i][j].get_xticklabels() + axs[i][j].get_yticklabels() + [label.set_fontname("Times New Roman") for label in labels] + [label.set_fontsize(14) for label in labels] + + if i == 0 and j == 0: + axs[i][j].plot(data_minimize_force["time"], data_minimize_force["states"][muscle_keys[counter]][0], ms=4, linewidth=5.0, + label="Minimizing force") + axs[i][j].plot(data_minimize_fatigue["time"], data_minimize_fatigue["states"][muscle_keys[counter]][0], ms=4, linewidth=5.0, + label="Minimizing fatigue") + else: + axs[i][j].plot(data_minimize_force["time"], data_minimize_force["states"][muscle_keys[counter]][0], ms=4, linewidth=5.0) + axs[i][j].plot(data_minimize_fatigue["time"], data_minimize_fatigue["states"][muscle_keys[counter]][0], ms=4, linewidth=5.0) + counter += 1 + + # axs[3][0].plot(data_minimize_force["time"], data_minimize_force["states"]["q"][0], ms=4, + # linewidth=5.0) + # axs[3][0].plot(data_minimize_fatigue["time"], data_minimize_fatigue["states"]["q"][0], ms=4, + # linewidth=5.0) + # + # axs[3][1].plot(data_minimize_force["time"], data_minimize_force["states"]["q"][1], ms=4, + # linewidth=5.0) + # axs[3][1].plot(data_minimize_fatigue["time"], data_minimize_fatigue["states"]["q"][1], ms=4, + # linewidth=5.0) + + plt.setp(axs, xticks=[0, 0.25, 0.5, 0.75, 1], xticklabels=[0, 0.25, 0.5, 0.75, 1], + yticks=[0, 100, 200, 300], yticklabels=[0, 100, 200, 300]) + + fig.supxlabel('Time (s)', font="Times New Roman", fontsize=14) + fig.supylabel('Force (N)', font="Times New Roman", fontsize=14) + + # fig.legend() + # fig.tight_layout() + plt.show() + + +# a_list = ["A_BIClong", "A_BICshort", "A_TRIlong", "A_TRIlat", "A_TRImed", "A_BRA"] +# a_sum = 0 +# for key_a in a_list: +# a_sum += data_minimize_force["states"][key_a][0][-1] + + + + +# [1] Dahmane, R., Djordjevič, S., Šimunič, B., & Valenčič, V. (2005). +# Spatial fiber type distribution in normal human muscle: histochemical and tensiomyographical evaluation. +# Journal of biomechanics, 38(12), 2451-2459. + +# [2] Klein, C. S., Allman, B. L., Marsh, G. D., & Rice, C. L. (2002). +# Muscle size, strength, and bone geometry in the upper limbs of young and old men. +# The Journals of Gerontology Series A: Biological Sciences and Medical Sciences, 57(7), M455-M459. diff --git a/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py b/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py new file mode 100644 index 00000000..11519862 --- /dev/null +++ b/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py @@ -0,0 +1,176 @@ +""" +This example will do a pulse duration optimization to either minimize overall muscle force or muscle fatigue +for a reaching task. Those ocp were build to move from starting position (arm: 0°, elbow: 5°) to a target position +defined in the bioMod file. At the end of the simulation 2 files will be created, one for each optimization. +The files will contain the time, states, controls and parameters of the ocp. +If the files already exist, it is possible to create graphs of the force for each muscle. +""" +import pickle +import matplotlib.pyplot as plt + +from bioptim import ( + Axis, + ConstraintList, + ConstraintFcn, + Solver, + Node, +) + +from cocofest import DingModelPulseDurationFrequencyWithFatigue, FESActuatedBiorbdModelOCP + +get_results = True +make_graphs = False + +# Fiber type proportion from [1] +biceps_fiber_type_2_proportion = 0.607 +triceps_fiber_type_2_proportion = 0.465 +brachioradialis_fiber_type_2_proportion = 0.457 +alpha_a_proportion_list = [biceps_fiber_type_2_proportion, + biceps_fiber_type_2_proportion, + triceps_fiber_type_2_proportion, + triceps_fiber_type_2_proportion, + triceps_fiber_type_2_proportion, + brachioradialis_fiber_type_2_proportion] + +# PCSA (cm²) from [2] +biceps_pcsa = 12.7 +triceps_pcsa = 28.3 +brachioradialis_pcsa = 11.6 + +biceps_a_rest_proportion = 12.7 / 28.3 +triceps_a_rest_proportion = 1 +brachioradialis_a_rest_proportion = 11.6 / 28.3 +a_rest_proportion_list = [biceps_a_rest_proportion, + biceps_a_rest_proportion, + triceps_a_rest_proportion, + triceps_a_rest_proportion, + triceps_a_rest_proportion, + brachioradialis_a_rest_proportion] + +fes_muscle_models = [DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="BICshort"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlat"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRImed"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="BRA")] + +for i in range(len(fes_muscle_models)): + fes_muscle_models[i].alpha_a = fes_muscle_models[i].alpha_a * alpha_a_proportion_list[i] + fes_muscle_models[i].a_rest = fes_muscle_models[i].a_rest * a_rest_proportion_list[i] + +minimum_pulse_duration = DingModelPulseDurationFrequencyWithFatigue().pd0 +pickle_file_list = ["minimize_muscle_fatigue.pkl", "minimize_muscle_force.pkl"] +n_stim = 40 +n_shooting = 5 + +constraint = ConstraintList() +constraint.add( + ConstraintFcn.SUPERIMPOSE_MARKERS, + first_marker="COM_hand", + second_marker="reaching_target", + phase=n_stim-1, + node=Node.END, + axes=[Axis.X, Axis.Y] +) + +if get_results: + for i in range(len(pickle_file_list)): + time = [] + states = [] + controls = [] + parameters = [] + + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="arm26.bioMod", + bound_type="start", + bound_data=[0, 5], + fes_muscle_models=fes_muscle_models, + n_stim=n_stim, + n_shooting=n_shooting, + final_time=1, + pulse_duration_min=minimum_pulse_duration, + pulse_duration_max=0.0006, + pulse_duration_bimapping=False, + with_residual_torque=False, + custom_constraint=constraint, + muscle_force_length_relationship=True, + muscle_force_velocity_relationship=True, + minimize_muscle_fatigue=True if pickle_file_list[i] == "minimize_muscle_fatigue.pkl" else False, + minimize_muscle_force=True if pickle_file_list[i] == "minimize_muscle_force.pkl" else False, + use_sx=False, + ) + + sol = ocp.solve(Solver.IPOPT(_max_iter=10000)).merge_phases() + # sol.animate() + # sol.graphs(show_bounds=False) + time = sol.time + states = sol.states + controls = sol.controls + parameters = sol.parameters + + dictionary = { + "time": time, + "states": states, + "controls": controls, + "parameters": parameters, + } + + with open("/result_file/pulse_duration_" + pickle_file_list[i], "wb") as file: + pickle.dump(dictionary, file) + + +if make_graphs: + with open(r"minimize_muscle_force.pkl", "rb") as f: + data_minimize_force = pickle.load(f) + + with open(r"minimize_muscle_fatigue.pkl", "rb") as f: + data_minimize_fatigue = pickle.load(f) + + muscle_keys = ["F_BIClong", "F_BICshort", "F_TRIlong", "F_TRIlat", "F_TRImed", "F_BRA"] + muscle_names = ["BIClong", "BICshort", "TRIlong", "TRIlat", "TRImed", "BRA"] + fig, axs = plt.subplots(3, 2, figsize=(5, 3), sharex=True, sharey=True, constrained_layout=True) + counter = 0 + for i in range(3): + for j in range(2): + axs[i][j].set_xlim(left=0, right=1) + axs[i][j].set_ylim(bottom=0, top=300) + + axs[i][j].text(.025, .975, f'{muscle_names[counter]}', transform=axs[i][j].transAxes, ha="left", va="top", weight='bold', font="Times New Roman") + + labels = axs[i][j].get_xticklabels() + axs[i][j].get_yticklabels() + [label.set_fontname("Times New Roman") for label in labels] + [label.set_fontsize(14) for label in labels] + + if i == 0 and j == 0: + axs[i][j].plot(data_minimize_force["time"], data_minimize_force["states"][muscle_keys[counter]][0], ms=4, linewidth=5.0, + label="Minimizing force") + axs[i][j].plot(data_minimize_fatigue["time"], data_minimize_fatigue["states"][muscle_keys[counter]][0], ms=4, linewidth=5.0, + label="Minimizing fatigue") + else: + axs[i][j].plot(data_minimize_force["time"], data_minimize_force["states"][muscle_keys[counter]][0], ms=4, linewidth=5.0) + axs[i][j].plot(data_minimize_fatigue["time"], data_minimize_fatigue["states"][muscle_keys[counter]][0], ms=4, linewidth=5.0) + counter += 1 + + plt.setp(axs, xticks=[0, 0.25, 0.5, 0.75, 1], xticklabels=[0, 0.25, 0.5, 0.75, 1], + yticks=[0, 100, 200, 300], yticklabels=[0, 100, 200, 300]) + + fig.supxlabel('Time (s)', font="Times New Roman", fontsize=14) + fig.supylabel('Force (N)', font="Times New Roman", fontsize=14) + + # fig.legend() + # fig.tight_layout() + plt.show() + + +# a_list = ["A_BIClong", "A_BICshort", "A_TRIlong", "A_TRIlat", "A_TRImed", "A_BRA"] +# a_sum = 0 +# for key_a in a_list: +# a_sum += data_minimize_force["states"][key_a][0][-1] + +# [1] Dahmane, R., Djordjevič, S., Šimunič, B., & Valenčič, V. (2005). +# Spatial fiber type distribution in normal human muscle: histochemical and tensiomyographical evaluation. +# Journal of biomechanics, 38(12), 2451-2459. + +# [2] Klein, C. S., Allman, B. L., Marsh, G. D., & Rice, C. L. (2002). +# Muscle size, strength, and bone geometry in the upper limbs of young and old men. +# The Journals of Gerontology Series A: Biological Sciences and Medical Sciences, 57(7), M455-M459. From 86d0ed5f13e8be06025ff8758986ed52f1a720dc Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Thu, 8 Feb 2024 11:08:20 -0500 Subject: [PATCH 37/63] reaching task refactor --- examples/dynamics/reaching_task/make_gaph.py | 75 ++++++ .../reaching_task_frequency_optimization.py | 123 +++++++++ .../reaching_task_intensity_optimization.py | 235 ++++-------------- ...aching_task_pulse_duration_optimization.py | 72 +----- 4 files changed, 258 insertions(+), 247 deletions(-) create mode 100644 examples/dynamics/reaching_task/make_gaph.py create mode 100644 examples/dynamics/reaching_task/reaching_task_frequency_optimization.py diff --git a/examples/dynamics/reaching_task/make_gaph.py b/examples/dynamics/reaching_task/make_gaph.py new file mode 100644 index 00000000..96a64588 --- /dev/null +++ b/examples/dynamics/reaching_task/make_gaph.py @@ -0,0 +1,75 @@ +""" +This script is used to make the graph of the muscle force and fatigue for the reaching task. +The data used to make the graph is from the result file of the optimization. +The available graphs are: frequency, duration, intensity +""" + +import pickle +import matplotlib.pyplot as plt + +chosen_graph_to_plot = "duration" + +frequency_path = [r"/result_file/pulse_apparition_minimize_muscle_force.pkl", + r"/result_file/pulse_apparition_minimize_muscle_fatigue.pkl"] + +duration_path = [r"/result_file/pulse_duration_minimize_muscle_force.pkl", + r"/result_file/pulse_duration_minimize_muscle_fatigue.pkl"] + +intensity_path = [r"/result_file/pulse_intensity_minimize_muscle_force.pkl", + r"/result_file/pulse_intensity_minimize_muscle_fatigue.pkl"] + +chosen_graph_to_plot_path = (frequency_path if chosen_graph_to_plot == "frequency" else + duration_path if chosen_graph_to_plot == "duration" else + intensity_path if chosen_graph_to_plot == "duration" else + None) + +if chosen_graph_to_plot_path is None: + raise ValueError("The chosen graph to plot is not valid") + + +with open(chosen_graph_to_plot_path[0], "rb") as f: + data_minimize_force = pickle.load(f) + +with open(chosen_graph_to_plot_path[1], "rb") as f: + data_minimize_fatigue = pickle.load(f) + +force_muscle_keys = ["F_BIClong", "F_BICshort", "F_TRIlong", "F_TRIlat", "F_TRImed", "F_BRA"] +muscle_names = ["BIClong", "BICshort", "TRIlong", "TRIlat", "TRImed", "BRA"] +fig, axs = plt.subplots(3, 2, figsize=(5, 3), sharex=True, sharey=True, constrained_layout=True) +index = 0 +for i in range(3): + for j in range(2): + axs[i][j].set_xlim(left=0, right=1) + axs[i][j].set_ylim(bottom=0, top=300) + + axs[i][j].text(.025, .975, f'{muscle_names[index]}', transform=axs[i][j].transAxes, ha="left", va="top", weight='bold', font="Times New Roman") + + labels = axs[i][j].get_xticklabels() + axs[i][j].get_yticklabels() + [label.set_fontname("Times New Roman") for label in labels] + [label.set_fontsize(14) for label in labels] + + if i == 0 and j == 0: + axs[i][j].plot(data_minimize_force["time"], data_minimize_force["states"][force_muscle_keys[index]][0], ms=4, linewidth=5.0, + label="Minimizing force") + axs[i][j].plot(data_minimize_fatigue["time"], data_minimize_fatigue["states"][force_muscle_keys[index]][0], ms=4, linewidth=5.0, + label="Minimizing fatigue") + else: + axs[i][j].plot(data_minimize_force["time"], data_minimize_force["states"][force_muscle_keys[index]][0], ms=4, linewidth=5.0) + axs[i][j].plot(data_minimize_fatigue["time"], data_minimize_fatigue["states"][force_muscle_keys[index]][0], ms=4, linewidth=5.0) + index += 1 + +plt.setp(axs, xticks=[0, 0.25, 0.5, 0.75, 1], xticklabels=[0, 0.25, 0.5, 0.75, 1], + yticks=[0, 100, 200, 300], yticklabels=[0, 100, 200, 300]) + +fig.supxlabel('Time (s)', font="Times New Roman", fontsize=14) +fig.supylabel('Force (N)', font="Times New Roman", fontsize=14) + +# fig.legend() +# fig.tight_layout() +plt.show() + + +# a_list = ["A_BIClong", "A_BICshort", "A_TRIlong", "A_TRIlat", "A_TRImed", "A_BRA"] +# a_sum = 0 +# for key_a in a_list: +# a_sum += data_minimize_force["states"][key_a][0][-1] \ No newline at end of file diff --git a/examples/dynamics/reaching_task/reaching_task_frequency_optimization.py b/examples/dynamics/reaching_task/reaching_task_frequency_optimization.py new file mode 100644 index 00000000..ce45fdc5 --- /dev/null +++ b/examples/dynamics/reaching_task/reaching_task_frequency_optimization.py @@ -0,0 +1,123 @@ +""" +This example will do a pulse apparition optimization to either minimize overall muscle force or muscle fatigue +for a reaching task. Those ocp were build to move from starting position (arm: 0°, elbow: 5°) to a target position +defined in the bioMod file. At the end of the simulation 2 files will be created, one for each optimization. +The files will contain the time, states, controls and parameters of the ocp. +""" +import pickle + +from bioptim import ( + Axis, + ConstraintList, + ConstraintFcn, + Solver, + Node, +) + +from cocofest import DingModelFrequencyWithFatigue, FESActuatedBiorbdModelOCP + +get_results = True +make_graphs = False + +# Fiber type proportion from [1] +biceps_fiber_type_2_proportion = 0.607 +triceps_fiber_type_2_proportion = 0.465 +brachioradialis_fiber_type_2_proportion = 0.457 +alpha_a_proportion_list = [biceps_fiber_type_2_proportion, + biceps_fiber_type_2_proportion, + triceps_fiber_type_2_proportion, + triceps_fiber_type_2_proportion, + triceps_fiber_type_2_proportion, + brachioradialis_fiber_type_2_proportion] + +# PCSA (cm²) from [2] +biceps_pcsa = 12.7 +triceps_pcsa = 28.3 +brachioradialis_pcsa = 11.6 + +biceps_a_rest_proportion = 12.7 / 28.3 +triceps_a_rest_proportion = 1 +brachioradialis_a_rest_proportion = 11.6 / 28.3 +a_rest_proportion_list = [biceps_a_rest_proportion, + biceps_a_rest_proportion, + triceps_a_rest_proportion, + triceps_a_rest_proportion, + triceps_a_rest_proportion, + brachioradialis_a_rest_proportion] + +fes_muscle_models = [DingModelFrequencyWithFatigue(muscle_name="BIClong"), + DingModelFrequencyWithFatigue(muscle_name="BICshort"), + DingModelFrequencyWithFatigue(muscle_name="TRIlong"), + DingModelFrequencyWithFatigue(muscle_name="TRIlat"), + DingModelFrequencyWithFatigue(muscle_name="TRImed"), + DingModelFrequencyWithFatigue(muscle_name="BRA")] + +for i in range(len(fes_muscle_models)): + fes_muscle_models[i].alpha_a = fes_muscle_models[i].alpha_a * alpha_a_proportion_list[i] + fes_muscle_models[i].a_rest = fes_muscle_models[i].a_rest * a_rest_proportion_list[i] + +pickle_file_list = ["minimize_muscle_fatigue.pkl", "minimize_muscle_force.pkl"] +n_stim = 40 +n_shooting = 5 + +constraint = ConstraintList() +constraint.add( + ConstraintFcn.SUPERIMPOSE_MARKERS, + first_marker="COM_hand", + second_marker="reaching_target", + phase=n_stim-1, + node=Node.END, + axes=[Axis.X, Axis.Y] +) + +if get_results: + for i in range(len(pickle_file_list)): + time = [] + states = [] + controls = [] + parameters = [] + + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="arm26.bioMod", + bound_type="start", + bound_data=[0, 5], + fes_muscle_models=fes_muscle_models, + n_stim=n_stim, + n_shooting=n_shooting, + final_time=1, + time_min=0.01, + time_max=0.1, + time_bimapping=False, + with_residual_torque=False, + custom_constraint=constraint, + muscle_force_length_relationship=True, + muscle_force_velocity_relationship=True, + minimize_muscle_fatigue=True if pickle_file_list[i] == "minimize_muscle_fatigue.pkl" else False, + minimize_muscle_force=True if pickle_file_list[i] == "minimize_muscle_force.pkl" else False, + use_sx=False, + ) + + sol = ocp.solve(Solver.IPOPT(_max_iter=10000)).merge_phases() + time = sol.time + states = sol.states + controls = sol.controls + parameters = sol.parameters + + dictionary = { + "time": time, + "states": states, + "controls": controls, + "parameters": parameters, + } + + with open("/result_file/pulse_apparition_" + pickle_file_list[i], "wb") as file: + pickle.dump(dictionary, file) + + +# [1] Dahmane, R., Djordjevič, S., Šimunič, B., & Valenčič, V. (2005). +# Spatial fiber type distribution in normal human muscle: histochemical and tensiomyographical evaluation. +# Journal of biomechanics, 38(12), 2451-2459. + +# [2] Klein, C. S., Allman, B. L., Marsh, G. D., & Rice, C. L. (2002). +# Muscle size, strength, and bone geometry in the upper limbs of young and old men. +# The Journals of Gerontology Series A: Biological Sciences and Medical Sciences, 57(7), M455-M459. diff --git a/examples/dynamics/reaching_task/reaching_task_intensity_optimization.py b/examples/dynamics/reaching_task/reaching_task_intensity_optimization.py index b08dab3d..6baa5d2a 100644 --- a/examples/dynamics/reaching_task/reaching_task_intensity_optimization.py +++ b/examples/dynamics/reaching_task/reaching_task_intensity_optimization.py @@ -1,32 +1,34 @@ """ -This example will do a 10 stimulation example with Ding's 2003 frequency model associated to Bakir's 2022 intensity work. -Those ocp were build to move the elbow from 0 to 90 degrees angle. -The stimulation frequency will be set to 10Hz and pulse intensity will be optimized to satisfy the motion and to minimize the overall muscle fatigue. -Intensity can be optimized from sensitivity threshold to 130mA. No residual torque is allowed. +This example will do a pulse intensity optimization to either minimize overall muscle force or muscle fatigue +for a reaching task. Those ocp were build to move from starting position (arm: 0°, elbow: 5°) to a target position +defined in the bioMod file. At the end of the simulation 2 files will be created, one for each optimization. +The files will contain the time, states, controls and parameters of the ocp. """ import pickle -import numpy as np -import matplotlib.pyplot as plt from bioptim import ( Axis, - ObjectiveFcn, - ObjectiveList, ConstraintList, ConstraintFcn, Solver, Node, ) -from cocofest import DingModelIntensityFrequencyWithFatigue, DingModelPulseDurationFrequencyWithFatigue, FESActuatedBiorbdModelOCP +from cocofest import DingModelIntensityFrequencyWithFatigue, FESActuatedBiorbdModelOCP -get_results = False -make_graphs = True +get_results = True +make_graphs = False # Fiber type proportion from [1] biceps_fiber_type_2_proportion = 0.607 triceps_fiber_type_2_proportion = 0.465 brachioradialis_fiber_type_2_proportion = 0.457 +alpha_a_proportion_list = [biceps_fiber_type_2_proportion, + biceps_fiber_type_2_proportion, + triceps_fiber_type_2_proportion, + triceps_fiber_type_2_proportion, + triceps_fiber_type_2_proportion, + brachioradialis_fiber_type_2_proportion] # PCSA (cm²) from [2] biceps_pcsa = 12.7 @@ -36,113 +38,43 @@ biceps_a_rest_proportion = 12.7 / 28.3 triceps_a_rest_proportion = 1 brachioradialis_a_rest_proportion = 11.6 / 28.3 +a_rest_proportion_list = [biceps_a_rest_proportion, + biceps_a_rest_proportion, + triceps_a_rest_proportion, + triceps_a_rest_proportion, + triceps_a_rest_proportion, + brachioradialis_a_rest_proportion] + +fes_muscle_models = [DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong"), + DingModelIntensityFrequencyWithFatigue(muscle_name="BICshort"), + DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlong"), + DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlat"), + DingModelIntensityFrequencyWithFatigue(muscle_name="TRImed"), + DingModelIntensityFrequencyWithFatigue(muscle_name="BRA")] + +for i in range(len(fes_muscle_models)): + fes_muscle_models[i].alpha_a = fes_muscle_models[i].alpha_a * alpha_a_proportion_list[i] + fes_muscle_models[i].a_rest = fes_muscle_models[i].a_rest * a_rest_proportion_list[i] + +minimum_pulse_intensity = DingModelIntensityFrequencyWithFatigue.min_pulse_intensity( + DingModelIntensityFrequencyWithFatigue() +) +pickle_file_list = ["minimize_muscle_fatigue.pkl", "minimize_muscle_force.pkl"] +n_stim = 40 +n_shooting = 5 + +constraint = ConstraintList() +constraint.add( + ConstraintFcn.SUPERIMPOSE_MARKERS, + first_marker="COM_hand", + second_marker="reaching_target", + phase=n_stim-1, + node=Node.END, + axes=[Axis.X, Axis.Y] +) -biceps_long_duration = DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong") -biceps_long_duration.alpha_a = biceps_long_duration.alpha_a * biceps_fiber_type_2_proportion -biceps_long_duration.a_rest = biceps_long_duration.a_rest * biceps_a_rest_proportion -biceps_short_duration = DingModelPulseDurationFrequencyWithFatigue(muscle_name="BICshort") -biceps_short_duration.alpha_a = biceps_short_duration.alpha_a * biceps_fiber_type_2_proportion -biceps_short_duration.a_rest = biceps_short_duration.a_rest * biceps_a_rest_proportion -triceps_long_duration = DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong") -triceps_long_duration.alpha_a = triceps_long_duration.alpha_a * triceps_fiber_type_2_proportion -triceps_long_duration.a_rest = triceps_long_duration.a_rest * triceps_a_rest_proportion -triceps_lat_duration = DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlat") -triceps_lat_duration.alpha_a = triceps_lat_duration.alpha_a * triceps_fiber_type_2_proportion -triceps_lat_duration.a_rest = triceps_lat_duration.a_rest * triceps_a_rest_proportion -triceps_med_duration = DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRImed") -triceps_med_duration.alpha_a = triceps_med_duration.alpha_a * triceps_fiber_type_2_proportion -triceps_med_duration.a_rest = triceps_med_duration.a_rest * triceps_a_rest_proportion -brachioradialis_duration = DingModelPulseDurationFrequencyWithFatigue(muscle_name="BRA") -brachioradialis_duration.alpha_a = brachioradialis_duration.alpha_a * brachioradialis_fiber_type_2_proportion -brachioradialis_duration.a_rest = brachioradialis_duration.a_rest * brachioradialis_a_rest_proportion - -biceps_long_intensity = DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong") -biceps_long_intensity.alpha_a = biceps_long_intensity.alpha_a * biceps_fiber_type_2_proportion -biceps_long_intensity.a_rest = biceps_long_intensity.a_rest * biceps_a_rest_proportion -biceps_short_intensity = DingModelIntensityFrequencyWithFatigue(muscle_name="BICshort") -biceps_short_intensity.alpha_a = biceps_short_intensity.alpha_a * biceps_fiber_type_2_proportion -biceps_short_intensity.a_rest = biceps_short_intensity.a_rest * biceps_a_rest_proportion -triceps_long_intensity = DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlong") -triceps_long_intensity.alpha_a = triceps_long_intensity.alpha_a * triceps_fiber_type_2_proportion -triceps_long_intensity.a_rest = triceps_long_intensity.a_rest * triceps_a_rest_proportion -triceps_lat_intensity = DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlat") -triceps_lat_intensity.alpha_a = triceps_lat_intensity.alpha_a * triceps_fiber_type_2_proportion -triceps_lat_intensity.a_rest = triceps_lat_intensity.a_rest * triceps_a_rest_proportion -triceps_med_intensity = DingModelIntensityFrequencyWithFatigue(muscle_name="TRImed") -triceps_med_intensity.alpha_a = triceps_med_intensity.alpha_a * triceps_fiber_type_2_proportion -triceps_med_intensity.a_rest = triceps_med_intensity.a_rest * triceps_a_rest_proportion -brachioradialis_intensity = DingModelIntensityFrequencyWithFatigue(muscle_name="BRA") -brachioradialis_intensity.alpha_a = brachioradialis_intensity.alpha_a * brachioradialis_fiber_type_2_proportion -brachioradialis_intensity.a_rest = brachioradialis_intensity.a_rest * brachioradialis_a_rest_proportion - -# pickle_file_list = ["minimize_muscle_fatigue.pkl", "minimize_muscle_force.pkl"] -pickle_file_list = ["minimize_muscle_force.pkl"] if get_results: for i in range(len(pickle_file_list)): - n_stim = 40 - n_shooting = 2 - objective_functions = ObjectiveList() - - fes_muscle_models = [[biceps_long_duration, - biceps_short_duration, - triceps_long_duration, - triceps_lat_duration, - triceps_med_duration, - brachioradialis_duration], - [biceps_long_intensity, - biceps_short_intensity, - triceps_long_intensity, - triceps_lat_intensity, - triceps_med_intensity, - brachioradialis_intensity]] - - # for j in range(n_stim): - # objective_functions.add( - # ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, - # key="tau", - # weight=100000, - # quadratic=True, - # phase=j, - # ) - - constraint = ConstraintList() - constraint.add( - ConstraintFcn.SUPERIMPOSE_MARKERS, - first_marker="COM_hand", - second_marker="reaching_target", - phase=39, - node=Node.END, - axes=[Axis.X, Axis.Y] - ) - - # objective_functions.add( - # ObjectiveFcn.Mayer.MINIMIZE_STATE, - # key="qdot", - # index=[0, 1], - # node=Node.ALL, - # target=np.array([[0, 0]] * (n_shooting + 1)).T, - # weight=1000, - # quadratic=True, - # phase=20, - # ) - # - # objective_functions.add( - # ObjectiveFcn.Mayer.MINIMIZE_STATE, - # key="qdot", - # index=[0, 1], - # node=Node.ALL, - # target=np.array([[0, 0]] * (n_shooting + 1)).T, - # weight=1000, - # quadratic=True, - # phase=21, - # ) - - minimum_pulse_intensity = DingModelIntensityFrequencyWithFatigue.min_pulse_intensity( - DingModelIntensityFrequencyWithFatigue() - ) - - minimum_pulse_duration = DingModelPulseDurationFrequencyWithFatigue().pd0 - time = [] states = [] controls = [] @@ -152,18 +84,14 @@ biorbd_model_path="arm26.bioMod", bound_type="start", bound_data=[0, 5], - fes_muscle_models=fes_muscle_models[0], + fes_muscle_models=fes_muscle_models, n_stim=n_stim, n_shooting=n_shooting, final_time=1, - pulse_duration_min=minimum_pulse_duration, - pulse_duration_max=0.0006, - pulse_duration_bimapping=False, pulse_intensity_min=minimum_pulse_intensity, pulse_intensity_max=80, pulse_intensity_bimapping=False, with_residual_torque=False, - custom_objective=objective_functions, custom_constraint=constraint, muscle_force_length_relationship=True, muscle_force_velocity_relationship=True, @@ -172,9 +100,7 @@ use_sx=False, ) - sol = ocp.solve(Solver.IPOPT(_max_iter=100000)).merge_phases() - # sol.animate() - # sol.graphs(show_bounds=False) + sol = ocp.solve(Solver.IPOPT(_max_iter=10000)).merge_phases() time = sol.time states = sol.states controls = sol.controls @@ -187,71 +113,10 @@ "parameters": parameters, } - with open(pickle_file_list[i], "wb") as file: + with open("/result_file/pulse_intensity_" + pickle_file_list[i], "wb") as file: pickle.dump(dictionary, file) -if make_graphs: - with open(r"minimize_muscle_force.pkl", "rb") as f: - data_minimize_force = pickle.load(f) - - with open(r"minimize_muscle_fatigue.pkl", "rb") as f: - data_minimize_fatigue = pickle.load(f) - - muscle_keys = ["F_BIClong", "F_BICshort", "F_TRIlong", "F_TRIlat", "F_TRImed", "F_BRA"] - muscle_names = ["BIClong", "BICshort", "TRIlong", "TRIlat", "TRImed", "BRA"] - fig, axs = plt.subplots(3, 2, figsize=(5, 3), sharex=True, sharey=True, constrained_layout=True) - counter = 0 - for i in range(3): - for j in range(2): - axs[i][j].set_xlim(left=0, right=1) - axs[i][j].set_ylim(bottom=0, top=300) - - axs[i][j].text(.025, .975, f'{muscle_names[counter]}', transform=axs[i][j].transAxes, ha="left", va="top", weight='bold', font="Times New Roman") - - labels = axs[i][j].get_xticklabels() + axs[i][j].get_yticklabels() - [label.set_fontname("Times New Roman") for label in labels] - [label.set_fontsize(14) for label in labels] - - if i == 0 and j == 0: - axs[i][j].plot(data_minimize_force["time"], data_minimize_force["states"][muscle_keys[counter]][0], ms=4, linewidth=5.0, - label="Minimizing force") - axs[i][j].plot(data_minimize_fatigue["time"], data_minimize_fatigue["states"][muscle_keys[counter]][0], ms=4, linewidth=5.0, - label="Minimizing fatigue") - else: - axs[i][j].plot(data_minimize_force["time"], data_minimize_force["states"][muscle_keys[counter]][0], ms=4, linewidth=5.0) - axs[i][j].plot(data_minimize_fatigue["time"], data_minimize_fatigue["states"][muscle_keys[counter]][0], ms=4, linewidth=5.0) - counter += 1 - - # axs[3][0].plot(data_minimize_force["time"], data_minimize_force["states"]["q"][0], ms=4, - # linewidth=5.0) - # axs[3][0].plot(data_minimize_fatigue["time"], data_minimize_fatigue["states"]["q"][0], ms=4, - # linewidth=5.0) - # - # axs[3][1].plot(data_minimize_force["time"], data_minimize_force["states"]["q"][1], ms=4, - # linewidth=5.0) - # axs[3][1].plot(data_minimize_fatigue["time"], data_minimize_fatigue["states"]["q"][1], ms=4, - # linewidth=5.0) - - plt.setp(axs, xticks=[0, 0.25, 0.5, 0.75, 1], xticklabels=[0, 0.25, 0.5, 0.75, 1], - yticks=[0, 100, 200, 300], yticklabels=[0, 100, 200, 300]) - - fig.supxlabel('Time (s)', font="Times New Roman", fontsize=14) - fig.supylabel('Force (N)', font="Times New Roman", fontsize=14) - - # fig.legend() - # fig.tight_layout() - plt.show() - - -# a_list = ["A_BIClong", "A_BICshort", "A_TRIlong", "A_TRIlat", "A_TRImed", "A_BRA"] -# a_sum = 0 -# for key_a in a_list: -# a_sum += data_minimize_force["states"][key_a][0][-1] - - - - # [1] Dahmane, R., Djordjevič, S., Šimunič, B., & Valenčič, V. (2005). # Spatial fiber type distribution in normal human muscle: histochemical and tensiomyographical evaluation. # Journal of biomechanics, 38(12), 2451-2459. diff --git a/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py b/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py index 11519862..0d177ad5 100644 --- a/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py +++ b/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py @@ -3,10 +3,8 @@ for a reaching task. Those ocp were build to move from starting position (arm: 0°, elbow: 5°) to a target position defined in the bioMod file. At the end of the simulation 2 files will be created, one for each optimization. The files will contain the time, states, controls and parameters of the ocp. -If the files already exist, it is possible to create graphs of the force for each muscle. """ import pickle -import matplotlib.pyplot as plt from bioptim import ( Axis, @@ -37,15 +35,15 @@ triceps_pcsa = 28.3 brachioradialis_pcsa = 11.6 -biceps_a_rest_proportion = 12.7 / 28.3 -triceps_a_rest_proportion = 1 -brachioradialis_a_rest_proportion = 11.6 / 28.3 -a_rest_proportion_list = [biceps_a_rest_proportion, - biceps_a_rest_proportion, - triceps_a_rest_proportion, - triceps_a_rest_proportion, - triceps_a_rest_proportion, - brachioradialis_a_rest_proportion] +biceps_a_scale_proportion = 12.7 / 28.3 +triceps_a_scale_proportion = 1 +brachioradialis_a_scale_proportion = 11.6 / 28.3 +a_scale_proportion_list = [biceps_a_scale_proportion, + biceps_a_scale_proportion, + triceps_a_scale_proportion, + triceps_a_scale_proportion, + triceps_a_scale_proportion, + brachioradialis_a_scale_proportion] fes_muscle_models = [DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), DingModelPulseDurationFrequencyWithFatigue(muscle_name="BICshort"), @@ -56,7 +54,7 @@ for i in range(len(fes_muscle_models)): fes_muscle_models[i].alpha_a = fes_muscle_models[i].alpha_a * alpha_a_proportion_list[i] - fes_muscle_models[i].a_rest = fes_muscle_models[i].a_rest * a_rest_proportion_list[i] + fes_muscle_models[i].a_scale = fes_muscle_models[i].a_scale * a_scale_proportion_list[i] minimum_pulse_duration = DingModelPulseDurationFrequencyWithFatigue().pd0 pickle_file_list = ["minimize_muscle_fatigue.pkl", "minimize_muscle_force.pkl"] @@ -101,8 +99,6 @@ ) sol = ocp.solve(Solver.IPOPT(_max_iter=10000)).merge_phases() - # sol.animate() - # sol.graphs(show_bounds=False) time = sol.time states = sol.states controls = sol.controls @@ -119,54 +115,6 @@ pickle.dump(dictionary, file) -if make_graphs: - with open(r"minimize_muscle_force.pkl", "rb") as f: - data_minimize_force = pickle.load(f) - - with open(r"minimize_muscle_fatigue.pkl", "rb") as f: - data_minimize_fatigue = pickle.load(f) - - muscle_keys = ["F_BIClong", "F_BICshort", "F_TRIlong", "F_TRIlat", "F_TRImed", "F_BRA"] - muscle_names = ["BIClong", "BICshort", "TRIlong", "TRIlat", "TRImed", "BRA"] - fig, axs = plt.subplots(3, 2, figsize=(5, 3), sharex=True, sharey=True, constrained_layout=True) - counter = 0 - for i in range(3): - for j in range(2): - axs[i][j].set_xlim(left=0, right=1) - axs[i][j].set_ylim(bottom=0, top=300) - - axs[i][j].text(.025, .975, f'{muscle_names[counter]}', transform=axs[i][j].transAxes, ha="left", va="top", weight='bold', font="Times New Roman") - - labels = axs[i][j].get_xticklabels() + axs[i][j].get_yticklabels() - [label.set_fontname("Times New Roman") for label in labels] - [label.set_fontsize(14) for label in labels] - - if i == 0 and j == 0: - axs[i][j].plot(data_minimize_force["time"], data_minimize_force["states"][muscle_keys[counter]][0], ms=4, linewidth=5.0, - label="Minimizing force") - axs[i][j].plot(data_minimize_fatigue["time"], data_minimize_fatigue["states"][muscle_keys[counter]][0], ms=4, linewidth=5.0, - label="Minimizing fatigue") - else: - axs[i][j].plot(data_minimize_force["time"], data_minimize_force["states"][muscle_keys[counter]][0], ms=4, linewidth=5.0) - axs[i][j].plot(data_minimize_fatigue["time"], data_minimize_fatigue["states"][muscle_keys[counter]][0], ms=4, linewidth=5.0) - counter += 1 - - plt.setp(axs, xticks=[0, 0.25, 0.5, 0.75, 1], xticklabels=[0, 0.25, 0.5, 0.75, 1], - yticks=[0, 100, 200, 300], yticklabels=[0, 100, 200, 300]) - - fig.supxlabel('Time (s)', font="Times New Roman", fontsize=14) - fig.supylabel('Force (N)', font="Times New Roman", fontsize=14) - - # fig.legend() - # fig.tight_layout() - plt.show() - - -# a_list = ["A_BIClong", "A_BICshort", "A_TRIlong", "A_TRIlat", "A_TRImed", "A_BRA"] -# a_sum = 0 -# for key_a in a_list: -# a_sum += data_minimize_force["states"][key_a][0][-1] - # [1] Dahmane, R., Djordjevič, S., Šimunič, B., & Valenčič, V. (2005). # Spatial fiber type distribution in normal human muscle: histochemical and tensiomyographical evaluation. # Journal of biomechanics, 38(12), 2451-2459. From 4d1c0164801cefa9ea9dab8724cc5a2f569ea22f Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Thu, 8 Feb 2024 11:09:24 -0500 Subject: [PATCH 38/63] Auto stash before merge of "dynamics_2" and "origin/dynamics_2" --- examples/dynamics/reaching_task.py | 101 +++++++++++++++++------------ 1 file changed, 60 insertions(+), 41 deletions(-) diff --git a/examples/dynamics/reaching_task.py b/examples/dynamics/reaching_task.py index 4033804d..b7140b07 100644 --- a/examples/dynamics/reaching_task.py +++ b/examples/dynamics/reaching_task.py @@ -20,8 +20,8 @@ from cocofest import DingModelIntensityFrequencyWithFatigue, DingModelPulseDurationFrequencyWithFatigue, FESActuatedBiorbdModelOCP -get_results = True -make_graphs = False +get_results = False +make_graphs = True # Fiber type proportion from [1] biceps_fiber_type_2_proportion = 0.607 @@ -75,7 +75,8 @@ brachioradialis_intensity.alpha_a = brachioradialis_intensity.alpha_a * brachioradialis_fiber_type_2_proportion brachioradialis_intensity.a_rest = brachioradialis_intensity.a_rest * brachioradialis_a_rest_proportion -pickle_file_list = ["minimize_muscle_force.pkl", "minimize_muscle_fatigue.pkl"] +# pickle_file_list = ["minimize_muscle_fatigue.pkl", "minimize_muscle_force.pkl"] +pickle_file_list = ["minimize_muscle_force.pkl"] if get_results: for i in range(len(pickle_file_list)): n_stim = 60 @@ -109,32 +110,32 @@ ConstraintFcn.SUPERIMPOSE_MARKERS, first_marker="COM_hand", second_marker="reaching_target", - phase=29, + phase=39, node=Node.END, axes=[Axis.X, Axis.Y] ) - objective_functions.add( - ObjectiveFcn.Mayer.MINIMIZE_STATE, - key="qdot", - index=[0, 1], - node=Node.ALL, - target=np.array([[0, 0]] * (n_shooting + 1)).T, - weight=1000, - quadratic=True, - phase=30, - ) - - objective_functions.add( - ObjectiveFcn.Mayer.MINIMIZE_STATE, - key="qdot", - index=[0, 1], - node=Node.ALL, - target=np.array([[0, 0]] * (n_shooting + 1)).T, - weight=1000, - quadratic=True, - phase=31, - ) + # objective_functions.add( + # ObjectiveFcn.Mayer.MINIMIZE_STATE, + # key="qdot", + # index=[0, 1], + # node=Node.ALL, + # target=np.array([[0, 0]] * (n_shooting + 1)).T, + # weight=1000, + # quadratic=True, + # phase=20, + # ) + # + # objective_functions.add( + # ObjectiveFcn.Mayer.MINIMIZE_STATE, + # key="qdot", + # index=[0, 1], + # node=Node.ALL, + # target=np.array([[0, 0]] * (n_shooting + 1)).T, + # weight=1000, + # quadratic=True, + # phase=21, + # ) minimum_pulse_intensity = DingModelIntensityFrequencyWithFatigue.min_pulse_intensity( DingModelIntensityFrequencyWithFatigue() @@ -149,8 +150,8 @@ ocp = FESActuatedBiorbdModelOCP.prepare_ocp( biorbd_model_path="arm26.bioMod", - bound_type="start_end", - bound_data=[[0, 150], [0, 150]], + bound_type="start", + bound_data=[0, 5], fes_muscle_models=fes_muscle_models[0], n_stim=n_stim, n_shooting=n_shooting, @@ -171,9 +172,9 @@ use_sx=False, ) - sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) #.merge_phases() - sol.animate() - sol.graphs(show_bounds=False) + sol = ocp.solve(Solver.IPOPT(_max_iter=100000)).merge_phases() + # sol.animate() + # sol.graphs(show_bounds=False) time = sol.time states = sol.states controls = sol.controls @@ -191,11 +192,11 @@ if make_graphs: - with open(r"normal.pkl", "rb") as f: - data_normal = pickle.load(f) + with open(r"minimize_muscle_force.pkl", "rb") as f: + data_minimize_force = pickle.load(f) - with open(r"minimizing_fatigue.pkl", "rb") as f: - data_minimize = pickle.load(f) + with open(r"minimize_muscle_fatigue.pkl", "rb") as f: + data_minimize_fatigue = pickle.load(f) muscle_keys = ["F_BIClong", "F_BICshort", "F_TRIlong", "F_TRIlat", "F_TRImed", "F_BRA"] muscle_names = ["BIClong", "BICshort", "TRIlong", "TRIlat", "TRImed", "BRA"] @@ -204,7 +205,7 @@ for i in range(3): for j in range(2): axs[i][j].set_xlim(left=0, right=1) - axs[i][j].set_ylim(bottom=0, top=190) + axs[i][j].set_ylim(bottom=0, top=300) axs[i][j].text(.025, .975, f'{muscle_names[counter]}', transform=axs[i][j].transAxes, ha="left", va="top", weight='bold', font="Times New Roman") @@ -213,17 +214,27 @@ [label.set_fontsize(14) for label in labels] if i == 0 and j == 0: - axs[i][j].plot(data_normal["time"], data_normal["states"][muscle_keys[counter]][0], ms=4, linewidth=5.0, - label="Normal") - axs[i][j].plot(data_minimize["time"], data_minimize["states"][muscle_keys[counter]][0], ms=4, linewidth=5.0, + axs[i][j].plot(data_minimize_force["time"], data_minimize_force["states"][muscle_keys[counter]][0], ms=4, linewidth=5.0, + label="Minimizing force") + axs[i][j].plot(data_minimize_fatigue["time"], data_minimize_fatigue["states"][muscle_keys[counter]][0], ms=4, linewidth=5.0, label="Minimizing fatigue") else: - axs[i][j].plot(data_normal["time"], data_normal["states"][muscle_keys[counter]][0], ms=4, linewidth=5.0) - axs[i][j].plot(data_minimize["time"], data_minimize["states"][muscle_keys[counter]][0], ms=4, linewidth=5.0) + axs[i][j].plot(data_minimize_force["time"], data_minimize_force["states"][muscle_keys[counter]][0], ms=4, linewidth=5.0) + axs[i][j].plot(data_minimize_fatigue["time"], data_minimize_fatigue["states"][muscle_keys[counter]][0], ms=4, linewidth=5.0) counter += 1 + # axs[3][0].plot(data_minimize_force["time"], data_minimize_force["states"]["q"][0], ms=4, + # linewidth=5.0) + # axs[3][0].plot(data_minimize_fatigue["time"], data_minimize_fatigue["states"]["q"][0], ms=4, + # linewidth=5.0) + # + # axs[3][1].plot(data_minimize_force["time"], data_minimize_force["states"]["q"][1], ms=4, + # linewidth=5.0) + # axs[3][1].plot(data_minimize_fatigue["time"], data_minimize_fatigue["states"]["q"][1], ms=4, + # linewidth=5.0) + plt.setp(axs, xticks=[0, 0.25, 0.5, 0.75, 1], xticklabels=[0, 0.25, 0.5, 0.75, 1], - yticks=[0, 75, 150], yticklabels=[0, 75, 150]) + yticks=[0, 100, 200, 300], yticklabels=[0, 100, 200, 300]) fig.supxlabel('Time (s)', font="Times New Roman", fontsize=14) fig.supylabel('Force (N)', font="Times New Roman", fontsize=14) @@ -233,6 +244,14 @@ plt.show() +# a_list = ["A_BIClong", "A_BICshort", "A_TRIlong", "A_TRIlat", "A_TRImed", "A_BRA"] +# a_sum = 0 +# for key_a in a_list: +# a_sum += data_minimize_force["states"][key_a][0][-1] + + + + # [1] Dahmane, R., Djordjevič, S., Šimunič, B., & Valenčič, V. (2005). # Spatial fiber type distribution in normal human muscle: histochemical and tensiomyographical evaluation. # Journal of biomechanics, 38(12), 2451-2459. From dec2a00c4b5727f1dab03645d606617acb1513a4 Mon Sep 17 00:00:00 2001 From: kevin Date: Thu, 8 Feb 2024 11:23:45 -0500 Subject: [PATCH 39/63] corrected path and cleaning --- .../reaching_task_frequency_optimization.py | 86 +++++++++---------- .../reaching_task_intensity_optimization.py | 86 +++++++++---------- ...aching_task_pulse_duration_optimization.py | 86 +++++++++---------- 3 files changed, 123 insertions(+), 135 deletions(-) diff --git a/examples/dynamics/reaching_task/reaching_task_frequency_optimization.py b/examples/dynamics/reaching_task/reaching_task_frequency_optimization.py index ce45fdc5..b9593d94 100644 --- a/examples/dynamics/reaching_task/reaching_task_frequency_optimization.py +++ b/examples/dynamics/reaching_task/reaching_task_frequency_optimization.py @@ -16,9 +16,6 @@ from cocofest import DingModelFrequencyWithFatigue, FESActuatedBiorbdModelOCP -get_results = True -make_graphs = False - # Fiber type proportion from [1] biceps_fiber_type_2_proportion = 0.607 triceps_fiber_type_2_proportion = 0.465 @@ -70,48 +67,47 @@ axes=[Axis.X, Axis.Y] ) -if get_results: - for i in range(len(pickle_file_list)): - time = [] - states = [] - controls = [] - parameters = [] - - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="arm26.bioMod", - bound_type="start", - bound_data=[0, 5], - fes_muscle_models=fes_muscle_models, - n_stim=n_stim, - n_shooting=n_shooting, - final_time=1, - time_min=0.01, - time_max=0.1, - time_bimapping=False, - with_residual_torque=False, - custom_constraint=constraint, - muscle_force_length_relationship=True, - muscle_force_velocity_relationship=True, - minimize_muscle_fatigue=True if pickle_file_list[i] == "minimize_muscle_fatigue.pkl" else False, - minimize_muscle_force=True if pickle_file_list[i] == "minimize_muscle_force.pkl" else False, - use_sx=False, - ) - - sol = ocp.solve(Solver.IPOPT(_max_iter=10000)).merge_phases() - time = sol.time - states = sol.states - controls = sol.controls - parameters = sol.parameters - - dictionary = { - "time": time, - "states": states, - "controls": controls, - "parameters": parameters, - } - - with open("/result_file/pulse_apparition_" + pickle_file_list[i], "wb") as file: - pickle.dump(dictionary, file) +for i in range(len(pickle_file_list)): + time = [] + states = [] + controls = [] + parameters = [] + + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="../arm26.bioMod", + bound_type="start", + bound_data=[0, 5], + fes_muscle_models=fes_muscle_models, + n_stim=n_stim, + n_shooting=n_shooting, + final_time=1, + time_min=0.01, + time_max=0.1, + time_bimapping=False, + with_residual_torque=False, + custom_constraint=constraint, + muscle_force_length_relationship=True, + muscle_force_velocity_relationship=True, + minimize_muscle_fatigue=True if pickle_file_list[i] == "minimize_muscle_fatigue.pkl" else False, + minimize_muscle_force=True if pickle_file_list[i] == "minimize_muscle_force.pkl" else False, + use_sx=False, + ) + + sol = ocp.solve(Solver.IPOPT(_max_iter=10000)).merge_phases() + time = sol.time + states = sol.states + controls = sol.controls + parameters = sol.parameters + + dictionary = { + "time": time, + "states": states, + "controls": controls, + "parameters": parameters, + } + + with open("/result_file/pulse_apparition_" + pickle_file_list[i], "wb") as file: + pickle.dump(dictionary, file) # [1] Dahmane, R., Djordjevič, S., Šimunič, B., & Valenčič, V. (2005). diff --git a/examples/dynamics/reaching_task/reaching_task_intensity_optimization.py b/examples/dynamics/reaching_task/reaching_task_intensity_optimization.py index 6baa5d2a..fb7e4653 100644 --- a/examples/dynamics/reaching_task/reaching_task_intensity_optimization.py +++ b/examples/dynamics/reaching_task/reaching_task_intensity_optimization.py @@ -16,9 +16,6 @@ from cocofest import DingModelIntensityFrequencyWithFatigue, FESActuatedBiorbdModelOCP -get_results = True -make_graphs = False - # Fiber type proportion from [1] biceps_fiber_type_2_proportion = 0.607 triceps_fiber_type_2_proportion = 0.465 @@ -73,48 +70,47 @@ axes=[Axis.X, Axis.Y] ) -if get_results: - for i in range(len(pickle_file_list)): - time = [] - states = [] - controls = [] - parameters = [] - - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="arm26.bioMod", - bound_type="start", - bound_data=[0, 5], - fes_muscle_models=fes_muscle_models, - n_stim=n_stim, - n_shooting=n_shooting, - final_time=1, - pulse_intensity_min=minimum_pulse_intensity, - pulse_intensity_max=80, - pulse_intensity_bimapping=False, - with_residual_torque=False, - custom_constraint=constraint, - muscle_force_length_relationship=True, - muscle_force_velocity_relationship=True, - minimize_muscle_fatigue=True if pickle_file_list[i] == "minimize_muscle_fatigue.pkl" else False, - minimize_muscle_force=True if pickle_file_list[i] == "minimize_muscle_force.pkl" else False, - use_sx=False, - ) - - sol = ocp.solve(Solver.IPOPT(_max_iter=10000)).merge_phases() - time = sol.time - states = sol.states - controls = sol.controls - parameters = sol.parameters - - dictionary = { - "time": time, - "states": states, - "controls": controls, - "parameters": parameters, - } - - with open("/result_file/pulse_intensity_" + pickle_file_list[i], "wb") as file: - pickle.dump(dictionary, file) +for i in range(len(pickle_file_list)): + time = [] + states = [] + controls = [] + parameters = [] + + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="../arm26.bioMod", + bound_type="start", + bound_data=[0, 5], + fes_muscle_models=fes_muscle_models, + n_stim=n_stim, + n_shooting=n_shooting, + final_time=1, + pulse_intensity_min=minimum_pulse_intensity, + pulse_intensity_max=80, + pulse_intensity_bimapping=False, + with_residual_torque=False, + custom_constraint=constraint, + muscle_force_length_relationship=True, + muscle_force_velocity_relationship=True, + minimize_muscle_fatigue=True if pickle_file_list[i] == "minimize_muscle_fatigue.pkl" else False, + minimize_muscle_force=True if pickle_file_list[i] == "minimize_muscle_force.pkl" else False, + use_sx=False, + ) + + sol = ocp.solve(Solver.IPOPT(_max_iter=10000)).merge_phases() + time = sol.time + states = sol.states + controls = sol.controls + parameters = sol.parameters + + dictionary = { + "time": time, + "states": states, + "controls": controls, + "parameters": parameters, + } + + with open("/result_file/pulse_intensity_" + pickle_file_list[i], "wb") as file: + pickle.dump(dictionary, file) # [1] Dahmane, R., Djordjevič, S., Šimunič, B., & Valenčič, V. (2005). diff --git a/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py b/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py index 0d177ad5..a51dd0c0 100644 --- a/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py +++ b/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py @@ -16,9 +16,6 @@ from cocofest import DingModelPulseDurationFrequencyWithFatigue, FESActuatedBiorbdModelOCP -get_results = True -make_graphs = False - # Fiber type proportion from [1] biceps_fiber_type_2_proportion = 0.607 triceps_fiber_type_2_proportion = 0.465 @@ -71,48 +68,47 @@ axes=[Axis.X, Axis.Y] ) -if get_results: - for i in range(len(pickle_file_list)): - time = [] - states = [] - controls = [] - parameters = [] - - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="arm26.bioMod", - bound_type="start", - bound_data=[0, 5], - fes_muscle_models=fes_muscle_models, - n_stim=n_stim, - n_shooting=n_shooting, - final_time=1, - pulse_duration_min=minimum_pulse_duration, - pulse_duration_max=0.0006, - pulse_duration_bimapping=False, - with_residual_torque=False, - custom_constraint=constraint, - muscle_force_length_relationship=True, - muscle_force_velocity_relationship=True, - minimize_muscle_fatigue=True if pickle_file_list[i] == "minimize_muscle_fatigue.pkl" else False, - minimize_muscle_force=True if pickle_file_list[i] == "minimize_muscle_force.pkl" else False, - use_sx=False, - ) - - sol = ocp.solve(Solver.IPOPT(_max_iter=10000)).merge_phases() - time = sol.time - states = sol.states - controls = sol.controls - parameters = sol.parameters - - dictionary = { - "time": time, - "states": states, - "controls": controls, - "parameters": parameters, - } - - with open("/result_file/pulse_duration_" + pickle_file_list[i], "wb") as file: - pickle.dump(dictionary, file) +for i in range(len(pickle_file_list)): + time = [] + states = [] + controls = [] + parameters = [] + + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="../arm26.bioMod", + bound_type="start", + bound_data=[0, 5], + fes_muscle_models=fes_muscle_models, + n_stim=n_stim, + n_shooting=n_shooting, + final_time=1, + pulse_duration_min=minimum_pulse_duration, + pulse_duration_max=0.0006, + pulse_duration_bimapping=False, + with_residual_torque=False, + custom_constraint=constraint, + muscle_force_length_relationship=True, + muscle_force_velocity_relationship=True, + minimize_muscle_fatigue=True if pickle_file_list[i] == "minimize_muscle_fatigue.pkl" else False, + minimize_muscle_force=True if pickle_file_list[i] == "minimize_muscle_force.pkl" else False, + use_sx=False, + ) + + sol = ocp.solve(Solver.IPOPT(_max_iter=10000)).merge_phases() + time = sol.time + states = sol.states + controls = sol.controls + parameters = sol.parameters + + dictionary = { + "time": time, + "states": states, + "controls": controls, + "parameters": parameters, + } + + with open("/result_file/pulse_duration_" + pickle_file_list[i], "wb") as file: + pickle.dump(dictionary, file) # [1] Dahmane, R., Djordjevič, S., Šimunič, B., & Valenčič, V. (2005). From 4596c392874965d82a488eafd7b79893e2a90466 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Thu, 8 Feb 2024 11:33:26 -0500 Subject: [PATCH 40/63] black --- cocofest/models/ding2003.py | 27 ++++- cocofest/models/ding2003_with_fatigue.py | 10 +- cocofest/models/ding2007.py | 10 +- cocofest/models/ding2007_with_fatigue.py | 10 +- cocofest/models/dynamical_model.py | 15 +-- cocofest/models/hmed2018.py | 10 +- cocofest/models/hmed2018_with_fatigue.py | 10 +- ...comparing_minimize_fatigue_optimization.py | 3 +- examples/dynamics/reaching_task.py | 98 +++++++++++++------ examples/dynamics/reaching_task/make_gaph.py | 95 +++++++++++++----- .../reaching_task_frequency_optimization.py | 50 +++++----- .../reaching_task_intensity_optimization.py | 50 +++++----- ...aching_task_pulse_duration_optimization.py | 50 +++++----- .../test_models_dynamics_without_bioptim.py | 2 +- 14 files changed, 303 insertions(+), 137 deletions(-) diff --git a/cocofest/models/ding2003.py b/cocofest/models/ding2003.py index c205303d..df9e9c4c 100644 --- a/cocofest/models/ding2003.py +++ b/cocofest/models/ding2003.py @@ -138,7 +138,15 @@ def system_dynamics( """ r0 = self.km_rest + self.r0_km_relationship # Simplification cn_dot = self.cn_dot_fun(cn, r0, t, t_stim_prev=t_stim_prev) # Equation n°1 - f_dot = self.f_dot_fun(cn, f, self.a_rest, self.tau1_rest, self.km_rest, force_length_relationship=force_length_relationship, force_velocity_relationship=force_velocity_relationship) # Equation n°2 + f_dot = self.f_dot_fun( + cn, + f, + self.a_rest, + self.tau1_rest, + self.km_rest, + force_length_relationship=force_length_relationship, + force_velocity_relationship=force_velocity_relationship, + ) # Equation n°2 return vertcat(cn_dot, f_dot) def exp_time_fun(self, t: MX, t_stim_i: MX) -> MX | float: @@ -223,7 +231,16 @@ def cn_dot_fun(self, cn: MX, r0: MX | float, t: MX, t_stim_prev: list[MX]) -> MX return (1 / self.tauc) * sum_multiplier - (cn / self.tauc) # Equation n°1 - def f_dot_fun(self, cn: MX, f: MX, a: MX | float, tau1: MX | float, km: MX | float, force_length_relationship: MX | float = 1, force_velocity_relationship: MX | float = 1) -> MX | float: + def f_dot_fun( + self, + cn: MX, + f: MX, + a: MX | float, + tau1: MX | float, + km: MX | float, + force_length_relationship: MX | float = 1, + force_velocity_relationship: MX | float = 1, + ) -> MX | float: """ Parameters ---------- @@ -246,7 +263,11 @@ def f_dot_fun(self, cn: MX, f: MX, a: MX | float, tau1: MX | float, km: MX | flo ------- The value of the derivative force (N) """ - return (a * (cn / (km + cn)) - (f / (tau1 + self.tau2 * (cn / (km + cn))))) * force_length_relationship * force_velocity_relationship # Equation n°2 + return ( + (a * (cn / (km + cn)) - (f / (tau1 + self.tau2 * (cn / (km + cn))))) + * force_length_relationship + * force_velocity_relationship + ) # Equation n°2 @staticmethod def dynamics( diff --git a/cocofest/models/ding2003_with_fatigue.py b/cocofest/models/ding2003_with_fatigue.py index 02377111..546ab5cc 100644 --- a/cocofest/models/ding2003_with_fatigue.py +++ b/cocofest/models/ding2003_with_fatigue.py @@ -140,7 +140,15 @@ def system_dynamics( """ r0 = km + self.r0_km_relationship # Simplification cn_dot = self.cn_dot_fun(cn, r0, t, t_stim_prev=t_stim_prev) # Equation n°1 - f_dot = self.f_dot_fun(cn, f, a, tau1, km, force_length_relationship=force_length_relationship, force_velocity_relationship=force_velocity_relationship) # Equation n°2 + f_dot = self.f_dot_fun( + cn, + f, + a, + tau1, + km, + force_length_relationship=force_length_relationship, + force_velocity_relationship=force_velocity_relationship, + ) # Equation n°2 a_dot = self.a_dot_fun(a, f) # Equation n°5 tau1_dot = self.tau1_dot_fun(tau1, f) # Equation n°9 km_dot = self.km_dot_fun(km, f) # Equation n°11 diff --git a/cocofest/models/ding2007.py b/cocofest/models/ding2007.py index 1c0238b7..040992c8 100644 --- a/cocofest/models/ding2007.py +++ b/cocofest/models/ding2007.py @@ -105,7 +105,15 @@ def system_dynamics( r0 = self.km_rest + self.r0_km_relationship # Simplification cn_dot = self.cn_dot_fun(cn, r0, t, t_stim_prev=t_stim_prev) # Equation n°1 from Ding's 2003 article a = self.a_calculation(a_scale=self.a_scale, impulse_time=impulse_time) # Equation n°3 from Ding's 2007 article - f_dot = self.f_dot_fun(cn, f, a, self.tau1_rest, self.km_rest, force_length_relationship=force_length_relationship, force_velocity_relationship=force_velocity_relationship) # Equation n°2 from Ding's 2003 article + f_dot = self.f_dot_fun( + cn, + f, + a, + self.tau1_rest, + self.km_rest, + force_length_relationship=force_length_relationship, + force_velocity_relationship=force_velocity_relationship, + ) # Equation n°2 from Ding's 2003 article return vertcat(cn_dot, f_dot) def a_calculation(self, a_scale: float | MX, impulse_time: MX) -> MX: diff --git a/cocofest/models/ding2007_with_fatigue.py b/cocofest/models/ding2007_with_fatigue.py index 5e192e05..74308415 100644 --- a/cocofest/models/ding2007_with_fatigue.py +++ b/cocofest/models/ding2007_with_fatigue.py @@ -124,7 +124,15 @@ def system_dynamics( r0 = km + self.r0_km_relationship # Simplification cn_dot = self.cn_dot_fun(cn, r0, t, t_stim_prev=t_stim_prev) # Equation n°1 from Ding's 2003 article a_calculated = self.a_calculation(a_scale=a, impulse_time=impulse_time) # Equation n°3 from Ding's 2007 article - f_dot = self.f_dot_fun(cn, f, a_calculated, tau1, km, force_length_relationship=force_length_relationship, force_velocity_relationship=force_velocity_relationship) # Equation n°2 from Ding's 2003 article + f_dot = self.f_dot_fun( + cn, + f, + a_calculated, + tau1, + km, + force_length_relationship=force_length_relationship, + force_velocity_relationship=force_velocity_relationship, + ) # Equation n°2 from Ding's 2003 article a_dot = self.a_dot_fun(a, f) tau1_dot = self.tau1_dot_fun(tau1, f) # Equation n°9 from Ding's 2003 article km_dot = self.km_dot_fun(km, f) # Equation n°11 from Ding's 2003 article diff --git a/cocofest/models/dynamical_model.py b/cocofest/models/dynamical_model.py index cc21797b..eb8c3788 100644 --- a/cocofest/models/dynamical_model.py +++ b/cocofest/models/dynamical_model.py @@ -11,13 +11,14 @@ FatigueList, ) -from cocofest import (DingModelFrequency, - DingModelFrequencyWithFatigue, - DingModelPulseDurationFrequency, - DingModelPulseDurationFrequencyWithFatigue, - DingModelIntensityFrequency, - DingModelIntensityFrequencyWithFatigue, - ) +from cocofest import ( + DingModelFrequency, + DingModelFrequencyWithFatigue, + DingModelPulseDurationFrequency, + DingModelPulseDurationFrequencyWithFatigue, + DingModelIntensityFrequency, + DingModelIntensityFrequencyWithFatigue, +) class FESActuatedBiorbdModel(BiorbdModel): diff --git a/cocofest/models/hmed2018.py b/cocofest/models/hmed2018.py index 04980960..d223da83 100644 --- a/cocofest/models/hmed2018.py +++ b/cocofest/models/hmed2018.py @@ -107,7 +107,15 @@ def system_dynamics( """ r0 = self.km_rest + self.r0_km_relationship # Simplification cn_dot = self.cn_dot_fun(cn, r0, t, t_stim_prev=t_stim_prev, intensity_stim=intensity_stim) # Equation n°1 - f_dot = self.f_dot_fun(cn, f, self.a_rest, self.tau1_rest, self.km_rest, force_length_relationship=force_length_relationship, force_velocity_relationship=force_velocity_relationship) # Equation n°2 + f_dot = self.f_dot_fun( + cn, + f, + self.a_rest, + self.tau1_rest, + self.km_rest, + force_length_relationship=force_length_relationship, + force_velocity_relationship=force_velocity_relationship, + ) # Equation n°2 return vertcat(cn_dot, f_dot) def cn_dot_fun( diff --git a/cocofest/models/hmed2018_with_fatigue.py b/cocofest/models/hmed2018_with_fatigue.py index 3f7bc827..335a960a 100644 --- a/cocofest/models/hmed2018_with_fatigue.py +++ b/cocofest/models/hmed2018_with_fatigue.py @@ -123,7 +123,15 @@ def system_dynamics( """ r0 = km + self.r0_km_relationship # Simplification cn_dot = self.cn_dot_fun(cn, r0, t, t_stim_prev=t_stim_prev, intensity_stim=intensity_stim) # Equation n°1 - f_dot = self.f_dot_fun(cn, f, a, tau1, km, force_length_relationship=force_length_relationship, force_velocity_relationship=force_velocity_relationship) # Equation n°2 + f_dot = self.f_dot_fun( + cn, + f, + a, + tau1, + km, + force_length_relationship=force_length_relationship, + force_velocity_relationship=force_velocity_relationship, + ) # Equation n°2 a_dot = self.a_dot_fun(a, f) # Equation n°5 tau1_dot = self.tau1_dot_fun(tau1, f) # Equation n°9 km_dot = self.km_dot_fun(km, f) # Equation n°11 diff --git a/examples/dynamics/minimize_fatigue/comparing_minimize_fatigue_optimization.py b/examples/dynamics/minimize_fatigue/comparing_minimize_fatigue_optimization.py index 4f52ad37..6f80e793 100644 --- a/examples/dynamics/minimize_fatigue/comparing_minimize_fatigue_optimization.py +++ b/examples/dynamics/minimize_fatigue/comparing_minimize_fatigue_optimization.py @@ -75,7 +75,7 @@ "states": states, "controls": controls, "parameters": parameters, - } + } with open(pickle_file_list[i], "wb") as file: pickle.dump(dictionary, file) @@ -92,4 +92,3 @@ # plt.plot(data_minimize["time"], data_minimize["states"]["F_BIClong"][0], label="Minimizing fatigue") # plt.legend() # plt.show() - diff --git a/examples/dynamics/reaching_task.py b/examples/dynamics/reaching_task.py index b7140b07..b8a495d4 100644 --- a/examples/dynamics/reaching_task.py +++ b/examples/dynamics/reaching_task.py @@ -18,7 +18,11 @@ Node, ) -from cocofest import DingModelIntensityFrequencyWithFatigue, DingModelPulseDurationFrequencyWithFatigue, FESActuatedBiorbdModelOCP +from cocofest import ( + DingModelIntensityFrequencyWithFatigue, + DingModelPulseDurationFrequencyWithFatigue, + FESActuatedBiorbdModelOCP, +) get_results = False make_graphs = True @@ -83,18 +87,24 @@ n_shooting = 2 objective_functions = ObjectiveList() - fes_muscle_models = [[biceps_long_duration, - biceps_short_duration, - triceps_long_duration, - triceps_lat_duration, - triceps_med_duration, - brachioradialis_duration], - [biceps_long_intensity, - biceps_short_intensity, - triceps_long_intensity, - triceps_lat_intensity, - triceps_med_intensity, - brachioradialis_intensity]] + fes_muscle_models = [ + [ + biceps_long_duration, + biceps_short_duration, + triceps_long_duration, + triceps_lat_duration, + triceps_med_duration, + brachioradialis_duration, + ], + [ + biceps_long_intensity, + biceps_short_intensity, + triceps_long_intensity, + triceps_lat_intensity, + triceps_med_intensity, + brachioradialis_intensity, + ], + ] # for j in range(n_stim): # objective_functions.add( @@ -112,7 +122,7 @@ second_marker="reaching_target", phase=39, node=Node.END, - axes=[Axis.X, Axis.Y] + axes=[Axis.X, Axis.Y], ) # objective_functions.add( @@ -185,7 +195,7 @@ "states": states, "controls": controls, "parameters": parameters, - } + } with open(pickle_file_list[i], "wb") as file: pickle.dump(dictionary, file) @@ -207,20 +217,49 @@ axs[i][j].set_xlim(left=0, right=1) axs[i][j].set_ylim(bottom=0, top=300) - axs[i][j].text(.025, .975, f'{muscle_names[counter]}', transform=axs[i][j].transAxes, ha="left", va="top", weight='bold', font="Times New Roman") + axs[i][j].text( + 0.025, + 0.975, + f"{muscle_names[counter]}", + transform=axs[i][j].transAxes, + ha="left", + va="top", + weight="bold", + font="Times New Roman", + ) labels = axs[i][j].get_xticklabels() + axs[i][j].get_yticklabels() [label.set_fontname("Times New Roman") for label in labels] [label.set_fontsize(14) for label in labels] if i == 0 and j == 0: - axs[i][j].plot(data_minimize_force["time"], data_minimize_force["states"][muscle_keys[counter]][0], ms=4, linewidth=5.0, - label="Minimizing force") - axs[i][j].plot(data_minimize_fatigue["time"], data_minimize_fatigue["states"][muscle_keys[counter]][0], ms=4, linewidth=5.0, - label="Minimizing fatigue") + axs[i][j].plot( + data_minimize_force["time"], + data_minimize_force["states"][muscle_keys[counter]][0], + ms=4, + linewidth=5.0, + label="Minimizing force", + ) + axs[i][j].plot( + data_minimize_fatigue["time"], + data_minimize_fatigue["states"][muscle_keys[counter]][0], + ms=4, + linewidth=5.0, + label="Minimizing fatigue", + ) else: - axs[i][j].plot(data_minimize_force["time"], data_minimize_force["states"][muscle_keys[counter]][0], ms=4, linewidth=5.0) - axs[i][j].plot(data_minimize_fatigue["time"], data_minimize_fatigue["states"][muscle_keys[counter]][0], ms=4, linewidth=5.0) + axs[i][j].plot( + data_minimize_force["time"], + data_minimize_force["states"][muscle_keys[counter]][0], + ms=4, + linewidth=5.0, + ) + axs[i][j].plot( + data_minimize_fatigue["time"], + data_minimize_fatigue["states"][muscle_keys[counter]][0], + ms=4, + linewidth=5.0, + ) counter += 1 # axs[3][0].plot(data_minimize_force["time"], data_minimize_force["states"]["q"][0], ms=4, @@ -233,11 +272,16 @@ # axs[3][1].plot(data_minimize_fatigue["time"], data_minimize_fatigue["states"]["q"][1], ms=4, # linewidth=5.0) - plt.setp(axs, xticks=[0, 0.25, 0.5, 0.75, 1], xticklabels=[0, 0.25, 0.5, 0.75, 1], - yticks=[0, 100, 200, 300], yticklabels=[0, 100, 200, 300]) + plt.setp( + axs, + xticks=[0, 0.25, 0.5, 0.75, 1], + xticklabels=[0, 0.25, 0.5, 0.75, 1], + yticks=[0, 100, 200, 300], + yticklabels=[0, 100, 200, 300], + ) - fig.supxlabel('Time (s)', font="Times New Roman", fontsize=14) - fig.supylabel('Force (N)', font="Times New Roman", fontsize=14) + fig.supxlabel("Time (s)", font="Times New Roman", fontsize=14) + fig.supylabel("Force (N)", font="Times New Roman", fontsize=14) # fig.legend() # fig.tight_layout() @@ -250,8 +294,6 @@ # a_sum += data_minimize_force["states"][key_a][0][-1] - - # [1] Dahmane, R., Djordjevič, S., Šimunič, B., & Valenčič, V. (2005). # Spatial fiber type distribution in normal human muscle: histochemical and tensiomyographical evaluation. # Journal of biomechanics, 38(12), 2451-2459. diff --git a/examples/dynamics/reaching_task/make_gaph.py b/examples/dynamics/reaching_task/make_gaph.py index 96a64588..87ea36eb 100644 --- a/examples/dynamics/reaching_task/make_gaph.py +++ b/examples/dynamics/reaching_task/make_gaph.py @@ -9,19 +9,30 @@ chosen_graph_to_plot = "duration" -frequency_path = [r"/result_file/pulse_apparition_minimize_muscle_force.pkl", - r"/result_file/pulse_apparition_minimize_muscle_fatigue.pkl"] - -duration_path = [r"/result_file/pulse_duration_minimize_muscle_force.pkl", - r"/result_file/pulse_duration_minimize_muscle_fatigue.pkl"] - -intensity_path = [r"/result_file/pulse_intensity_minimize_muscle_force.pkl", - r"/result_file/pulse_intensity_minimize_muscle_fatigue.pkl"] - -chosen_graph_to_plot_path = (frequency_path if chosen_graph_to_plot == "frequency" else - duration_path if chosen_graph_to_plot == "duration" else - intensity_path if chosen_graph_to_plot == "duration" else - None) +frequency_path = [ + r"/result_file/pulse_apparition_minimize_muscle_force.pkl", + r"/result_file/pulse_apparition_minimize_muscle_fatigue.pkl", +] + +duration_path = [ + r"/result_file/pulse_duration_minimize_muscle_force.pkl", + r"/result_file/pulse_duration_minimize_muscle_fatigue.pkl", +] + +intensity_path = [ + r"/result_file/pulse_intensity_minimize_muscle_force.pkl", + r"/result_file/pulse_intensity_minimize_muscle_fatigue.pkl", +] + +chosen_graph_to_plot_path = ( + frequency_path + if chosen_graph_to_plot == "frequency" + else duration_path + if chosen_graph_to_plot == "duration" + else intensity_path + if chosen_graph_to_plot == "duration" + else None +) if chosen_graph_to_plot_path is None: raise ValueError("The chosen graph to plot is not valid") @@ -42,27 +53,61 @@ axs[i][j].set_xlim(left=0, right=1) axs[i][j].set_ylim(bottom=0, top=300) - axs[i][j].text(.025, .975, f'{muscle_names[index]}', transform=axs[i][j].transAxes, ha="left", va="top", weight='bold', font="Times New Roman") + axs[i][j].text( + 0.025, + 0.975, + f"{muscle_names[index]}", + transform=axs[i][j].transAxes, + ha="left", + va="top", + weight="bold", + font="Times New Roman", + ) labels = axs[i][j].get_xticklabels() + axs[i][j].get_yticklabels() [label.set_fontname("Times New Roman") for label in labels] [label.set_fontsize(14) for label in labels] if i == 0 and j == 0: - axs[i][j].plot(data_minimize_force["time"], data_minimize_force["states"][force_muscle_keys[index]][0], ms=4, linewidth=5.0, - label="Minimizing force") - axs[i][j].plot(data_minimize_fatigue["time"], data_minimize_fatigue["states"][force_muscle_keys[index]][0], ms=4, linewidth=5.0, - label="Minimizing fatigue") + axs[i][j].plot( + data_minimize_force["time"], + data_minimize_force["states"][force_muscle_keys[index]][0], + ms=4, + linewidth=5.0, + label="Minimizing force", + ) + axs[i][j].plot( + data_minimize_fatigue["time"], + data_minimize_fatigue["states"][force_muscle_keys[index]][0], + ms=4, + linewidth=5.0, + label="Minimizing fatigue", + ) else: - axs[i][j].plot(data_minimize_force["time"], data_minimize_force["states"][force_muscle_keys[index]][0], ms=4, linewidth=5.0) - axs[i][j].plot(data_minimize_fatigue["time"], data_minimize_fatigue["states"][force_muscle_keys[index]][0], ms=4, linewidth=5.0) + axs[i][j].plot( + data_minimize_force["time"], + data_minimize_force["states"][force_muscle_keys[index]][0], + ms=4, + linewidth=5.0, + ) + axs[i][j].plot( + data_minimize_fatigue["time"], + data_minimize_fatigue["states"][force_muscle_keys[index]][0], + ms=4, + linewidth=5.0, + ) index += 1 -plt.setp(axs, xticks=[0, 0.25, 0.5, 0.75, 1], xticklabels=[0, 0.25, 0.5, 0.75, 1], - yticks=[0, 100, 200, 300], yticklabels=[0, 100, 200, 300]) +plt.setp( + axs, + xticks=[0, 0.25, 0.5, 0.75, 1], + xticklabels=[0, 0.25, 0.5, 0.75, 1], + yticks=[0, 100, 200, 300], + yticklabels=[0, 100, 200, 300], +) -fig.supxlabel('Time (s)', font="Times New Roman", fontsize=14) -fig.supylabel('Force (N)', font="Times New Roman", fontsize=14) +fig.supxlabel("Time (s)", font="Times New Roman", fontsize=14) +fig.supylabel("Force (N)", font="Times New Roman", fontsize=14) # fig.legend() # fig.tight_layout() @@ -72,4 +117,4 @@ # a_list = ["A_BIClong", "A_BICshort", "A_TRIlong", "A_TRIlat", "A_TRImed", "A_BRA"] # a_sum = 0 # for key_a in a_list: -# a_sum += data_minimize_force["states"][key_a][0][-1] \ No newline at end of file +# a_sum += data_minimize_force["states"][key_a][0][-1] diff --git a/examples/dynamics/reaching_task/reaching_task_frequency_optimization.py b/examples/dynamics/reaching_task/reaching_task_frequency_optimization.py index b9593d94..e549ac33 100644 --- a/examples/dynamics/reaching_task/reaching_task_frequency_optimization.py +++ b/examples/dynamics/reaching_task/reaching_task_frequency_optimization.py @@ -20,12 +20,14 @@ biceps_fiber_type_2_proportion = 0.607 triceps_fiber_type_2_proportion = 0.465 brachioradialis_fiber_type_2_proportion = 0.457 -alpha_a_proportion_list = [biceps_fiber_type_2_proportion, - biceps_fiber_type_2_proportion, - triceps_fiber_type_2_proportion, - triceps_fiber_type_2_proportion, - triceps_fiber_type_2_proportion, - brachioradialis_fiber_type_2_proportion] +alpha_a_proportion_list = [ + biceps_fiber_type_2_proportion, + biceps_fiber_type_2_proportion, + triceps_fiber_type_2_proportion, + triceps_fiber_type_2_proportion, + triceps_fiber_type_2_proportion, + brachioradialis_fiber_type_2_proportion, +] # PCSA (cm²) from [2] biceps_pcsa = 12.7 @@ -35,19 +37,23 @@ biceps_a_rest_proportion = 12.7 / 28.3 triceps_a_rest_proportion = 1 brachioradialis_a_rest_proportion = 11.6 / 28.3 -a_rest_proportion_list = [biceps_a_rest_proportion, - biceps_a_rest_proportion, - triceps_a_rest_proportion, - triceps_a_rest_proportion, - triceps_a_rest_proportion, - brachioradialis_a_rest_proportion] - -fes_muscle_models = [DingModelFrequencyWithFatigue(muscle_name="BIClong"), - DingModelFrequencyWithFatigue(muscle_name="BICshort"), - DingModelFrequencyWithFatigue(muscle_name="TRIlong"), - DingModelFrequencyWithFatigue(muscle_name="TRIlat"), - DingModelFrequencyWithFatigue(muscle_name="TRImed"), - DingModelFrequencyWithFatigue(muscle_name="BRA")] +a_rest_proportion_list = [ + biceps_a_rest_proportion, + biceps_a_rest_proportion, + triceps_a_rest_proportion, + triceps_a_rest_proportion, + triceps_a_rest_proportion, + brachioradialis_a_rest_proportion, +] + +fes_muscle_models = [ + DingModelFrequencyWithFatigue(muscle_name="BIClong"), + DingModelFrequencyWithFatigue(muscle_name="BICshort"), + DingModelFrequencyWithFatigue(muscle_name="TRIlong"), + DingModelFrequencyWithFatigue(muscle_name="TRIlat"), + DingModelFrequencyWithFatigue(muscle_name="TRImed"), + DingModelFrequencyWithFatigue(muscle_name="BRA"), +] for i in range(len(fes_muscle_models)): fes_muscle_models[i].alpha_a = fes_muscle_models[i].alpha_a * alpha_a_proportion_list[i] @@ -62,9 +68,9 @@ ConstraintFcn.SUPERIMPOSE_MARKERS, first_marker="COM_hand", second_marker="reaching_target", - phase=n_stim-1, + phase=n_stim - 1, node=Node.END, - axes=[Axis.X, Axis.Y] + axes=[Axis.X, Axis.Y], ) for i in range(len(pickle_file_list)): @@ -104,7 +110,7 @@ "states": states, "controls": controls, "parameters": parameters, - } + } with open("/result_file/pulse_apparition_" + pickle_file_list[i], "wb") as file: pickle.dump(dictionary, file) diff --git a/examples/dynamics/reaching_task/reaching_task_intensity_optimization.py b/examples/dynamics/reaching_task/reaching_task_intensity_optimization.py index fb7e4653..8810a3d6 100644 --- a/examples/dynamics/reaching_task/reaching_task_intensity_optimization.py +++ b/examples/dynamics/reaching_task/reaching_task_intensity_optimization.py @@ -20,12 +20,14 @@ biceps_fiber_type_2_proportion = 0.607 triceps_fiber_type_2_proportion = 0.465 brachioradialis_fiber_type_2_proportion = 0.457 -alpha_a_proportion_list = [biceps_fiber_type_2_proportion, - biceps_fiber_type_2_proportion, - triceps_fiber_type_2_proportion, - triceps_fiber_type_2_proportion, - triceps_fiber_type_2_proportion, - brachioradialis_fiber_type_2_proportion] +alpha_a_proportion_list = [ + biceps_fiber_type_2_proportion, + biceps_fiber_type_2_proportion, + triceps_fiber_type_2_proportion, + triceps_fiber_type_2_proportion, + triceps_fiber_type_2_proportion, + brachioradialis_fiber_type_2_proportion, +] # PCSA (cm²) from [2] biceps_pcsa = 12.7 @@ -35,19 +37,23 @@ biceps_a_rest_proportion = 12.7 / 28.3 triceps_a_rest_proportion = 1 brachioradialis_a_rest_proportion = 11.6 / 28.3 -a_rest_proportion_list = [biceps_a_rest_proportion, - biceps_a_rest_proportion, - triceps_a_rest_proportion, - triceps_a_rest_proportion, - triceps_a_rest_proportion, - brachioradialis_a_rest_proportion] - -fes_muscle_models = [DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong"), - DingModelIntensityFrequencyWithFatigue(muscle_name="BICshort"), - DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlong"), - DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlat"), - DingModelIntensityFrequencyWithFatigue(muscle_name="TRImed"), - DingModelIntensityFrequencyWithFatigue(muscle_name="BRA")] +a_rest_proportion_list = [ + biceps_a_rest_proportion, + biceps_a_rest_proportion, + triceps_a_rest_proportion, + triceps_a_rest_proportion, + triceps_a_rest_proportion, + brachioradialis_a_rest_proportion, +] + +fes_muscle_models = [ + DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong"), + DingModelIntensityFrequencyWithFatigue(muscle_name="BICshort"), + DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlong"), + DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlat"), + DingModelIntensityFrequencyWithFatigue(muscle_name="TRImed"), + DingModelIntensityFrequencyWithFatigue(muscle_name="BRA"), +] for i in range(len(fes_muscle_models)): fes_muscle_models[i].alpha_a = fes_muscle_models[i].alpha_a * alpha_a_proportion_list[i] @@ -65,9 +71,9 @@ ConstraintFcn.SUPERIMPOSE_MARKERS, first_marker="COM_hand", second_marker="reaching_target", - phase=n_stim-1, + phase=n_stim - 1, node=Node.END, - axes=[Axis.X, Axis.Y] + axes=[Axis.X, Axis.Y], ) for i in range(len(pickle_file_list)): @@ -107,7 +113,7 @@ "states": states, "controls": controls, "parameters": parameters, - } + } with open("/result_file/pulse_intensity_" + pickle_file_list[i], "wb") as file: pickle.dump(dictionary, file) diff --git a/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py b/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py index a51dd0c0..0b06512c 100644 --- a/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py +++ b/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py @@ -20,12 +20,14 @@ biceps_fiber_type_2_proportion = 0.607 triceps_fiber_type_2_proportion = 0.465 brachioradialis_fiber_type_2_proportion = 0.457 -alpha_a_proportion_list = [biceps_fiber_type_2_proportion, - biceps_fiber_type_2_proportion, - triceps_fiber_type_2_proportion, - triceps_fiber_type_2_proportion, - triceps_fiber_type_2_proportion, - brachioradialis_fiber_type_2_proportion] +alpha_a_proportion_list = [ + biceps_fiber_type_2_proportion, + biceps_fiber_type_2_proportion, + triceps_fiber_type_2_proportion, + triceps_fiber_type_2_proportion, + triceps_fiber_type_2_proportion, + brachioradialis_fiber_type_2_proportion, +] # PCSA (cm²) from [2] biceps_pcsa = 12.7 @@ -35,19 +37,23 @@ biceps_a_scale_proportion = 12.7 / 28.3 triceps_a_scale_proportion = 1 brachioradialis_a_scale_proportion = 11.6 / 28.3 -a_scale_proportion_list = [biceps_a_scale_proportion, - biceps_a_scale_proportion, - triceps_a_scale_proportion, - triceps_a_scale_proportion, - triceps_a_scale_proportion, - brachioradialis_a_scale_proportion] - -fes_muscle_models = [DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), - DingModelPulseDurationFrequencyWithFatigue(muscle_name="BICshort"), - DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong"), - DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlat"), - DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRImed"), - DingModelPulseDurationFrequencyWithFatigue(muscle_name="BRA")] +a_scale_proportion_list = [ + biceps_a_scale_proportion, + biceps_a_scale_proportion, + triceps_a_scale_proportion, + triceps_a_scale_proportion, + triceps_a_scale_proportion, + brachioradialis_a_scale_proportion, +] + +fes_muscle_models = [ + DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="BICshort"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlat"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRImed"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="BRA"), +] for i in range(len(fes_muscle_models)): fes_muscle_models[i].alpha_a = fes_muscle_models[i].alpha_a * alpha_a_proportion_list[i] @@ -63,9 +69,9 @@ ConstraintFcn.SUPERIMPOSE_MARKERS, first_marker="COM_hand", second_marker="reaching_target", - phase=n_stim-1, + phase=n_stim - 1, node=Node.END, - axes=[Axis.X, Axis.Y] + axes=[Axis.X, Axis.Y], ) for i in range(len(pickle_file_list)): @@ -105,7 +111,7 @@ "states": states, "controls": controls, "parameters": parameters, - } + } with open("/result_file/pulse_duration_" + pickle_file_list[i], "wb") as file: pickle.dump(dictionary, file) diff --git a/tests/shard1/test_models_dynamics_without_bioptim.py b/tests/shard1/test_models_dynamics_without_bioptim.py index 29548a19..4c8c7786 100644 --- a/tests/shard1/test_models_dynamics_without_bioptim.py +++ b/tests/shard1/test_models_dynamics_without_bioptim.py @@ -106,7 +106,7 @@ def test_ding2007_dynamics(): cn=5, f=100, a=4920, tau1=0.050957, km=0.103, t=0.11, t_stim_prev=[0, 0.1], impulse_time=0.0002 ) ).squeeze(), - np.array(DM([-4.179e+02, -4.905e+02, -4.000e-04, 2.108e-02, 1.900e-05])).squeeze(), + np.array(DM([-4.179e02, -4.905e02, -4.000e-04, 2.108e-02, 1.900e-05])).squeeze(), decimal=1, ) np.testing.assert_almost_equal(model.exp_time_fun(t=0.1, t_stim_i=0.09), 0.4028903215291327) From c389101ff5c787b3a195dea2058240d780784d09 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Thu, 8 Feb 2024 14:26:29 -0500 Subject: [PATCH 41/63] Answering to assossiated pr commantes --- cocofest/optimization/fes_ocp.py | 4 +- cocofest/optimization/fes_ocp_dynamics.py | 183 +- ...timization_musculoskeletal_dynamic_2dof.py | 2 +- ...nsity_optimization_cycling_multi_muscle.py | 2 +- ...> intensity_optimization_hold_position.py} | 22 +- ...ptimization_hold_position_multi_muscle.py} | 2 +- ...comparing_minimize_fatigue_optimization.py | 94 - .../frequecy_optimization_minimize_fatigue.py | 5 +- ..._duration_optimization_minimize_fatigue.py | 2 +- ...intensity_optimization_minimize_fatigue.py | 2 +- ...orce_velocity_relationships_comparison.py} | 28 +- examples/dynamics/reaching_task.py | 303 - .../reaching_task_frequency_optimization.py | 2 +- .../reaching_task_intensity_optimization.py | 2 +- ...aching_task_pulse_duration_optimization.py | 2 +- .../result_file/minimize_muscle_fatigue.pkl | Bin 0 -> 28108 bytes .../result_file/minimize_muscle_force.pkl | Bin 0 -> 28108 bytes examples/getting_started/arm26_biceps.bioMod | 256 - .../getting_started/arm26_biceps_1dof.bioMod | 254 - ...cy_optimization_musculoskeletal_dynamic.py | 4 +- .../getting_started/mesh/arm_r_humerus.vtp | 1228 -- examples/getting_started/mesh/arm_r_ulna.vtp | 842 -- examples/getting_started/mesh/ground_ribs.vtp | 10998 ---------------- ...on_optimization_musculoskeletal_dynamic.py | 4 +- ...ty_optimization_musculoskeletal_dynamic.py | 4 +- .../{dynamics => msk_models}/arm26.bioMod | 0 .../arm26_biceps.bioMod | 0 .../arm26_biceps_1dof.bioMod | 0 .../arm26_biceps_triceps.bioMod | 0 .../arm26_cycling.bioMod | 0 .../mesh/arm_r_humerus.vtp | 0 .../mesh/arm_r_ulna.vtp | 0 .../mesh/ground_ribs.vtp | 0 33 files changed, 190 insertions(+), 14055 deletions(-) rename examples/dynamics/{intensity_optimization_track_q.py => intensity_optimization_hold_position.py} (84%) rename examples/dynamics/{intensity_optimization_track_q_multi_muscle.py => intensity_optimization_hold_position_multi_muscle.py} (97%) delete mode 100644 examples/dynamics/minimize_fatigue/comparing_minimize_fatigue_optimization.py rename examples/dynamics/{muscle_force_length_relationship_comparison.py => muscle_force_length_and_force_velocity_relationships_comparison.py} (52%) delete mode 100644 examples/dynamics/reaching_task.py create mode 100644 examples/dynamics/reaching_task/result_file/minimize_muscle_fatigue.pkl create mode 100644 examples/dynamics/reaching_task/result_file/minimize_muscle_force.pkl delete mode 100644 examples/getting_started/arm26_biceps.bioMod delete mode 100644 examples/getting_started/arm26_biceps_1dof.bioMod delete mode 100644 examples/getting_started/mesh/arm_r_humerus.vtp delete mode 100644 examples/getting_started/mesh/arm_r_ulna.vtp delete mode 100644 examples/getting_started/mesh/ground_ribs.vtp rename examples/{dynamics => msk_models}/arm26.bioMod (100%) rename examples/{dynamics => msk_models}/arm26_biceps.bioMod (100%) rename examples/{dynamics => msk_models}/arm26_biceps_1dof.bioMod (100%) rename examples/{dynamics => msk_models}/arm26_biceps_triceps.bioMod (100%) rename examples/{dynamics => msk_models}/arm26_cycling.bioMod (100%) rename examples/{dynamics => msk_models}/mesh/arm_r_humerus.vtp (100%) rename examples/{dynamics => msk_models}/mesh/arm_r_ulna.vtp (100%) rename examples/{dynamics => msk_models}/mesh/ground_ribs.vtp (100%) diff --git a/cocofest/optimization/fes_ocp.py b/cocofest/optimization/fes_ocp.py index e5eee3c1..32d9e1f4 100644 --- a/cocofest/optimization/fes_ocp.py +++ b/cocofest/optimization/fes_ocp.py @@ -159,7 +159,7 @@ def prepare_ocp( n_stim=n_stim, final_time=final_time, frequency=frequency, pulse_mode=pulse_mode, round_down=round_down ) - force_fourier_coef = None if force_tracking is None else OcpFes._build_fourrier_coeff(force_tracking) + force_fourier_coef = None if force_tracking is None else OcpFes._build_fourier_coeff(force_tracking) end_node_tracking = end_node_tracking models = [model] * n_stim n_shooting = [n_shooting] * n_stim @@ -434,7 +434,7 @@ def _sanity_check_frequency(n_stim, final_time, frequency, round_down): raise TypeError("round_down must be bool type") @staticmethod - def _build_fourrier_coeff(force_tracking): + def _build_fourier_coeff(force_tracking): return FourierSeries().compute_real_fourier_coeffs(force_tracking[0], force_tracking[1], 50) @staticmethod diff --git a/cocofest/optimization/fes_ocp_dynamics.py b/cocofest/optimization/fes_ocp_dynamics.py index b4166362..7c0139de 100644 --- a/cocofest/optimization/fes_ocp_dynamics.py +++ b/cocofest/optimization/fes_ocp_dynamics.py @@ -89,7 +89,12 @@ def prepare_ocp( The bound type to use (start, end, start_end) bound_data: list The data to use for the bound - fes_muscle_models: list[DingModelFrequency] | list[DingModelFrequencyWithFatigue] | list[DingModelPulseDurationFrequency] | list[DingModelPulseDurationFrequencyWithFatigue] | list[DingModelIntensityFrequency] | list[DingModelIntensityFrequencyWithFatigue] + fes_muscle_models: list[DingModelFrequency] + | list[DingModelFrequencyWithFatigue] + | list[DingModelPulseDurationFrequency] + | list[DingModelPulseDurationFrequencyWithFatigue] + | list[DingModelIntensityFrequency] + | list[DingModelIntensityFrequencyWithFatigue] The fes model type used for the ocp n_stim: int Number of stimulation that will occur during the ocp, it is as well refer as phases @@ -146,7 +151,7 @@ def prepare_ocp( n_threads: int The number of thread to use while solving (multi-threading if > 1) """ - # TODO : MAKE A NEW SANITY CHECK FOR THE FES MUSCLE MODEL + OcpFes._sanity_check( model=fes_muscle_models[0], n_stim=n_stim, @@ -165,15 +170,26 @@ def prepare_ocp( pulse_intensity_min=pulse_intensity_min, pulse_intensity_max=pulse_intensity_max, pulse_intensity_bimapping=pulse_intensity_bimapping, - force_tracking=force_tracking, - end_node_tracking=end_node_tracking, custom_objective=custom_objective, use_sx=use_sx, ode_solver=ode_solver, n_threads=n_threads, ) - FESActuatedBiorbdModelOCP._sanity_check_fes_models(fes_muscle_models) + FESActuatedBiorbdModelOCP._sanity_check_fes_models_inputs( + biorbd_model_path=biorbd_model_path, + bound_type=bound_type, + bound_data=bound_data, + fes_muscle_models=fes_muscle_models, + force_tracking=force_tracking, + end_node_tracking=end_node_tracking, + q_tracking=q_tracking, + with_residual_torque=with_residual_torque, + muscle_force_length_relationship=muscle_force_length_relationship, + muscle_force_velocity_relationship=muscle_force_velocity_relationship, + minimize_muscle_fatigue=minimize_muscle_fatigue, + minimize_muscle_force=minimize_muscle_force, + ) OcpFes._sanity_check_frequency(n_stim=n_stim, final_time=final_time, frequency=frequency, round_down=round_down) @@ -185,14 +201,15 @@ def prepare_ocp( n_stim=n_stim, final_time=final_time, frequency=frequency, pulse_mode=pulse_mode, round_down=round_down ) - # NOT AVAILABLE FOR MULTI MUSCLE - force_fourier_coef = None if force_tracking is None else OcpFes._build_fourrier_coeff(force_tracking) - end_node_tracking = end_node_tracking + force_fourier_coef = [] if force_tracking else None + if force_tracking: + for i in range(len(force_tracking[1])): + force_fourier_coef.append(OcpFes._build_fourier_coeff([force_tracking[0], force_tracking[1][i]])) q_fourier_coef = [] if q_tracking else None if q_tracking: for i in range(len(q_tracking[1])): - q_fourier_coef.append(OcpFes._build_fourrier_coeff([q_tracking[0], q_tracking[1][i]])) + q_fourier_coef.append(OcpFes._build_fourier_coeff([q_tracking[0], q_tracking[1][i]])) n_shooting = [n_shooting] * n_stim final_time_phase, constraints, phase_time_bimapping = OcpFes._build_phase_time( @@ -255,6 +272,7 @@ def prepare_ocp( n_stim, ) u_bounds, u_init = FESActuatedBiorbdModelOCP._set_controls(bio_models, n_stim, with_residual_torque) + muscle_force_key = ["F_" + fes_muscle_models[i].muscle_name for i in range(len(fes_muscle_models))] objective_functions = FESActuatedBiorbdModelOCP._set_objective( n_stim, n_shooting, @@ -264,6 +282,7 @@ def prepare_ocp( q_fourier_coef, minimize_muscle_fatigue, minimize_muscle_force, + muscle_force_key, ) return OptimalControlProgram( @@ -450,7 +469,9 @@ def _build_parameters( if pulse_intensity_bimapping: pass - # parameter_bimapping.add(name="pulse_intensity", to_second=[0 for _ in range(n_stim)], to_first=[0]) + # parameter_bimapping.add(name="pulse_intensity", + # to_second=[0 for _ in range(n_stim)], + # to_first=[0]) # TODO : Fix Bimapping in Bioptim return parameters, parameters_bounds, parameters_init, parameter_objectives @@ -542,12 +563,6 @@ def _set_bounds(bio_models, fes_muscle_models, bound_type, bound_data, n_stim): q_x_bounds = bio_models[i].bounds_from_ranges("q") qdot_x_bounds = bio_models[i].bounds_from_ranges("qdot") - # if bound_type == "all": - # q_x_bounds = bound_data[i] - - q_x_bounds.min[0] = 0 - q_x_bounds.max[1] = 2.6166666666666667 - if i == 0: if bound_type == "start_end": for j in range(bio_models[i].nb_q): @@ -600,6 +615,7 @@ def _set_objective( q_fourier_coef, minimize_muscle_fatigue, minimize_muscle_force, + muscle_force_key, ): # Creates the objective for our problem objective_functions = ObjectiveList() @@ -609,29 +625,30 @@ def _set_objective( for j in range(len(custom_objective[i])): objective_functions.add(custom_objective[i][j]) - if force_fourier_coef is not None: # TODO : Enable multiple force tracking for multiple muscles - for phase in range(n_stim): - for i in range(n_shooting[phase]): - objective_functions.add( - CustomObjective.track_state_from_time, - custom_type=ObjectiveFcn.Mayer, - node=i, - fourier_coeff=force_fourier_coef, - key="F", - quadratic=True, - weight=1, - phase=phase, - ) + if force_fourier_coef is not None: + for j in range(len(muscle_force_key)): + for phase in range(n_stim): + for i in range(n_shooting[phase]): + objective_functions.add( + CustomObjective.track_state_from_time, + custom_type=ObjectiveFcn.Mayer, + node=i, + fourier_coeff=force_fourier_coef[j], + key=muscle_force_key[j], + quadratic=True, + weight=1, + phase=phase, + ) - if end_node_tracking: - if isinstance(end_node_tracking, int | float): + if end_node_tracking is not None: + for j in range(len(muscle_force_key)): objective_functions.add( ObjectiveFcn.Mayer.MINIMIZE_STATE, node=Node.END, - key="F", + key=muscle_force_key[j], quadratic=True, weight=1, - target=end_node_tracking, + target=end_node_tracking[j], phase=n_stim - 1, ) @@ -703,7 +720,45 @@ def _sanity_check_muscle_model(biorbd_model_path, fes_muscle_models): ) @staticmethod - def _sanity_check_fes_models(fes_muscle_models): + def _sanity_check_fes_models_inputs( + biorbd_model_path, + bound_type, + bound_data, + fes_muscle_models, + force_tracking, + end_node_tracking, + q_tracking, + with_residual_torque, + muscle_force_length_relationship, + muscle_force_velocity_relationship, + minimize_muscle_fatigue, + minimize_muscle_force, + ): + if not isinstance(biorbd_model_path, str): + raise TypeError("biorbd_model_path should be a string") + + if bound_type: + tested_bio_model = FESActuatedBiorbdModel( + name=None, biorbd_path=biorbd_model_path, muscles_model=fes_muscle_models + ) + if not isinstance(bound_type, str) or bound_type not in ["start", "end", "start_end"]: + raise ValueError("bound_type should be a string and should be equal to start, end or start_end") + if not isinstance(bound_data, list): + raise TypeError("bound_data should be a list") + if bound_type == "start_end": + if len(bound_data) != tested_bio_model.nb_q: + raise ValueError(f"bound_data should be a list of {tested_bio_model.nb_q} elements") + if not isinstance(bound_data[0], list) or not isinstance(bound_data[1], list): + raise TypeError("bound_data should be a list of two list") + if len(bound_data[0]) != len(bound_data[1]): + raise ValueError("bound_data should be a list of two list with the same size") + if bound_type == "start" or bound_type == "end": + if len(bound_data) != tested_bio_model.nb_q: + raise ValueError(f"bound_data should be a list of {tested_bio_model.nb_q} element") + for i in range(len(bound_data)): + if not isinstance(bound_data[i], int | float): + raise TypeError(f"bound data index {i}: {bound_data[i]} should be an int or float") + for i in range(len(fes_muscle_models)): if not isinstance( fes_muscle_models[i], @@ -715,5 +770,63 @@ def _sanity_check_fes_models(fes_muscle_models): | DingModelIntensityFrequencyWithFatigue, ): raise TypeError( - "model must be a DingModelFrequency, DingModelFrequencyWithFatigue, DingModelPulseDurationFrequency, DingModelPulseDurationFrequencyWithFatigue, DingModelIntensityFrequency, DingModelIntensityFrequencyWithFatigue type" + "model must be a DingModelFrequency," + " DingModelFrequencyWithFatigue," + " DingModelPulseDurationFrequency," + " DingModelPulseDurationFrequencyWithFatigue," + " DingModelIntensityFrequency," + " DingModelIntensityFrequencyWithFatigue type" ) + + if force_tracking: + if isinstance(force_tracking, list): + if not isinstance(force_tracking[0], np.ndarray): + raise TypeError(f"force_tracking index 0: {force_tracking[0]} must be np.ndarray type") + if not isinstance(force_tracking[1], list): + raise TypeError(f"force_tracking index 1: {force_tracking[1]} must be list type") + if len(force_tracking[1]) != len(fes_muscle_models): + raise ValueError( + "force_tracking index 1 list must have the same size as the number of muscles in fes_muscle_models" + ) + if len(force_tracking[0]) != len(force_tracking[1]) or len(force_tracking) != 2: + raise ValueError("force_tracking time and force argument must be the same length") + else: + raise TypeError(f"force_tracking: {force_tracking} must be list type") + + if end_node_tracking: + if not isinstance(end_node_tracking, list): + raise TypeError(f"force_tracking: {end_node_tracking} must be list type") + if len(end_node_tracking) != len(fes_muscle_models): + raise ValueError( + "end_node_tracking list must have the same size as the number of muscles in fes_muscle_models" + ) + for i in range(len(end_node_tracking)): + if not isinstance(end_node_tracking[i], int | float): + raise TypeError(f"end_node_tracking index {i}: {end_node_tracking[i]} must be int or float type") + + if q_tracking: + if not isinstance(q_tracking, list) and len(q_tracking) != 2: + raise TypeError("q_tracking should be a list of size 2") + tested_bio_model = FESActuatedBiorbdModel( + name=None, biorbd_path=biorbd_model_path, muscles_model=fes_muscle_models + ) + if len(q_tracking[0]) != 1: + raise ValueError("q_tracking[0] should be a list of size 1") + if len(q_tracking[1]) != tested_bio_model.nb_q: + raise ValueError("q_tracking[1] should have the same size as the number of generalized coordinates") + for i in range(tested_bio_model.nb_q): + if len(q_tracking[0][0]) != len(q_tracking[1][i]): + raise ValueError("q_tracking[0] and q_tracking[1] should have the same size") + + list_to_check = [ + with_residual_torque, + muscle_force_length_relationship, + muscle_force_velocity_relationship, + minimize_muscle_fatigue, + minimize_muscle_force, + ] + + for i in range(len(list_to_check)): + if list_to_check[i]: + if not isinstance(list_to_check[i], bool): + raise TypeError(f"{list_to_check[i]} should be a boolean") diff --git a/examples/dynamics/frequency_optimization_musculoskeletal_dynamic_2dof.py b/examples/dynamics/frequency_optimization_musculoskeletal_dynamic_2dof.py index 3bd87a67..6ca3a2fc 100644 --- a/examples/dynamics/frequency_optimization_musculoskeletal_dynamic_2dof.py +++ b/examples/dynamics/frequency_optimization_musculoskeletal_dynamic_2dof.py @@ -20,7 +20,7 @@ objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=1, quadratic=True, phase=i) ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="/arm26_biceps.bioMod", + biorbd_model_path="../msk_models/arm26_biceps.bioMod", bound_type="start_end", bound_data=[[0, 5], [0, 120]], fes_muscle_models=[DingModelFrequencyWithFatigue(muscle_name="BIClong")], diff --git a/examples/dynamics/intensity_optimization_cycling_multi_muscle.py b/examples/dynamics/intensity_optimization_cycling_multi_muscle.py index 20083a95..6efa3067 100644 --- a/examples/dynamics/intensity_optimization_cycling_multi_muscle.py +++ b/examples/dynamics/intensity_optimization_cycling_multi_muscle.py @@ -33,7 +33,7 @@ minimum_pulse_intensity = DingModelIntensityFrequency.min_pulse_intensity(DingModelIntensityFrequency()) ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="/arm26.bioMod", + biorbd_model_path="../msk_models/arm26.bioMod", bound_type="start_end", bound_data=[[65, 38], [65, 38]], fes_muscle_models=[ diff --git a/examples/dynamics/intensity_optimization_track_q.py b/examples/dynamics/intensity_optimization_hold_position.py similarity index 84% rename from examples/dynamics/intensity_optimization_track_q.py rename to examples/dynamics/intensity_optimization_hold_position.py index 49a05f25..92a83a1b 100644 --- a/examples/dynamics/intensity_optimization_track_q.py +++ b/examples/dynamics/intensity_optimization_hold_position.py @@ -31,23 +31,23 @@ quadratic=True, phase=i, ) -objective_functions.add( - ObjectiveFcn.Mayer.MINIMIZE_STATE, - key="qdot", - index=[0], - node=Node.ALL, - target=np.array([[0]] * (n_shooting + 1)).T, - weight=10, - quadratic=True, - phase=i, -) + objective_functions.add( + ObjectiveFcn.Mayer.MINIMIZE_STATE, + key="qdot", + index=[0], + node=Node.ALL, + target=np.array([[0]] * (n_shooting + 1)).T, + weight=10, + quadratic=True, + phase=i, + ) minimum_pulse_intensity = DingModelIntensityFrequencyWithFatigue.min_pulse_intensity( DingModelIntensityFrequencyWithFatigue() ) ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="/arm26_biceps_1dof.bioMod", + biorbd_model_path="../msk_models/arm26_biceps_1dof.bioMod", bound_type="start", bound_data=[90], fes_muscle_models=[DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong")], diff --git a/examples/dynamics/intensity_optimization_track_q_multi_muscle.py b/examples/dynamics/intensity_optimization_hold_position_multi_muscle.py similarity index 97% rename from examples/dynamics/intensity_optimization_track_q_multi_muscle.py rename to examples/dynamics/intensity_optimization_hold_position_multi_muscle.py index eeed959d..44395964 100644 --- a/examples/dynamics/intensity_optimization_track_q_multi_muscle.py +++ b/examples/dynamics/intensity_optimization_hold_position_multi_muscle.py @@ -47,7 +47,7 @@ ) ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="/arm26.bioMod", + biorbd_model_path="../msk_models/arm26.bioMod", bound_type="start", bound_data=[0, 90], fes_muscle_models=[ diff --git a/examples/dynamics/minimize_fatigue/comparing_minimize_fatigue_optimization.py b/examples/dynamics/minimize_fatigue/comparing_minimize_fatigue_optimization.py deleted file mode 100644 index 6f80e793..00000000 --- a/examples/dynamics/minimize_fatigue/comparing_minimize_fatigue_optimization.py +++ /dev/null @@ -1,94 +0,0 @@ -""" -This example will do a 10 stimulation example with Ding's 2003 frequency model associated to Bakir's 2022 intensity work. -Those ocp were build to move the elbow from 0 to 90 degrees angle. -The stimulation frequency will be set to 10Hz and pulse intensity will be optimized to satisfy the motion and to minimize the overall muscle fatigue. -Intensity can be optimized from sensitivity threshold to 130mA. No residual torque is allowed. -""" -import pickle -import numpy as np -import matplotlib.pyplot as plt - -from bioptim import ( - ObjectiveFcn, - ObjectiveList, - Solver, -) - -from cocofest import DingModelIntensityFrequencyWithFatigue, FESActuatedBiorbdModelOCP - -get_results = False -make_graphs = True - -if get_results: - n_stim = 10 - n_shooting = 10 - objective_functions = ObjectiveList() - - for i in range(n_stim): - objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=10, quadratic=True, phase=i) - - minimum_pulse_intensity = DingModelIntensityFrequencyWithFatigue.min_pulse_intensity( - DingModelIntensityFrequencyWithFatigue() - ) - - minimize_fatigue = [False, True] - pickle_file_list = ["normal.pkl", "minimizing_fatigue.pkl"] - time = [] - states = [] - controls = [] - parameters = [] - for i in range(len(minimize_fatigue)): - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="../arm26.bioMod", - bound_type="start_end", - bound_data=[[0, 5], [0, 90]], - fes_muscle_models=[ - DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong"), - DingModelIntensityFrequencyWithFatigue(muscle_name="BICshort"), - DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlong"), - DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlat"), - DingModelIntensityFrequencyWithFatigue(muscle_name="TRImed"), - DingModelIntensityFrequencyWithFatigue(muscle_name="BRA"), - ], - n_stim=n_stim, - n_shooting=10, - final_time=1, - pulse_intensity_min=minimum_pulse_intensity, - pulse_intensity_max=80, - pulse_intensity_bimapping=False, - with_residual_torque=False, - custom_objective=objective_functions if i == 0 else None, - muscle_force_length_relationship=True, - muscle_force_velocity_relationship=True, - minimize_muscle_fatigue=minimize_fatigue[i], - use_sx=False, - ) - - sol = ocp.solve(Solver.IPOPT(_max_iter=1000)).merge_phases() - time = sol.time - states = sol.states - controls = sol.controls - parameters = sol.parameters - - dictionary = { - "time": time, - "states": states, - "controls": controls, - "parameters": parameters, - } - - with open(pickle_file_list[i], "wb") as file: - pickle.dump(dictionary, file) - - -# if make_graphs: -# with open(r"normal.pkl", "rb") as f: -# data_normal = pickle.load(f) -# -# with open(r"minimizing_fatigue.pkl", "rb") as f: -# data_minimize = pickle.load(f) -# -# plt.plot(data_normal["time"], data_normal["states"]["F_BIClong"][0], label="Normal") -# plt.plot(data_minimize["time"], data_minimize["states"]["F_BIClong"][0], label="Minimizing fatigue") -# plt.legend() -# plt.show() diff --git a/examples/dynamics/minimize_fatigue/frequecy_optimization_minimize_fatigue.py b/examples/dynamics/minimize_fatigue/frequecy_optimization_minimize_fatigue.py index f52b2087..daa3b82e 100644 --- a/examples/dynamics/minimize_fatigue/frequecy_optimization_minimize_fatigue.py +++ b/examples/dynamics/minimize_fatigue/frequecy_optimization_minimize_fatigue.py @@ -1,4 +1,7 @@ """ +/!\ This example is not functional yet. /!\ +/!\ It is a work in progress as biceps and triceps can not be stimulated seperatly /!\ + This example will do a 5 stimulation example with Ding's 2003 frequency model. Those ocp were build to move the elbow from 0 to 90 degrees angle. The stimulation apparition will be optimized to satisfy the motion and to minimize the overall muscle fatigue. @@ -33,7 +36,7 @@ ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="../arm26_biceps_triceps.bioMod", + biorbd_model_path="../../msk_models/arm26_biceps_triceps.bioMod", bound_type="start_end", bound_data=[[0, 5], [0, 90]], fes_muscle_models=[ diff --git a/examples/dynamics/minimize_fatigue/pulse_duration_optimization_minimize_fatigue.py b/examples/dynamics/minimize_fatigue/pulse_duration_optimization_minimize_fatigue.py index a9f48eb2..f266fe8b 100644 --- a/examples/dynamics/minimize_fatigue/pulse_duration_optimization_minimize_fatigue.py +++ b/examples/dynamics/minimize_fatigue/pulse_duration_optimization_minimize_fatigue.py @@ -32,7 +32,7 @@ minimum_pulse_duration = DingModelPulseDurationFrequencyWithFatigue().pd0 ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="../arm26_biceps_triceps.bioMod", + biorbd_model_path="../../msk_models/arm26_biceps_triceps.bioMod", bound_type="start_end", bound_data=[[0, 5], [0, 90]], fes_muscle_models=[ diff --git a/examples/dynamics/minimize_fatigue/pulse_intensity_optimization_minimize_fatigue.py b/examples/dynamics/minimize_fatigue/pulse_intensity_optimization_minimize_fatigue.py index 733e0105..40ec5fe7 100644 --- a/examples/dynamics/minimize_fatigue/pulse_intensity_optimization_minimize_fatigue.py +++ b/examples/dynamics/minimize_fatigue/pulse_intensity_optimization_minimize_fatigue.py @@ -34,7 +34,7 @@ ) ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="../arm26_biceps_triceps.bioMod", + biorbd_model_path="../../msk_models/arm26_biceps_triceps.bioMod", bound_type="start_end", bound_data=[[0, 5], [0, 90]], fes_muscle_models=[ diff --git a/examples/dynamics/muscle_force_length_relationship_comparison.py b/examples/dynamics/muscle_force_length_and_force_velocity_relationships_comparison.py similarity index 52% rename from examples/dynamics/muscle_force_length_relationship_comparison.py rename to examples/dynamics/muscle_force_length_and_force_velocity_relationships_comparison.py index c78b909d..2ddef919 100644 --- a/examples/dynamics/muscle_force_length_relationship_comparison.py +++ b/examples/dynamics/muscle_force_length_and_force_velocity_relationships_comparison.py @@ -1,9 +1,8 @@ """ -This example will do a 10 stimulation example with Ding's 2003 frequency model associated to Bakir's 2022 intensity work. -Those ocp were build to move the elbow starting from 0 degrees angle. -The stimulation frequency will be set to 10Hz and intensity to 40mA. -No residual torque is allowed. +This example is used to compare the effect of the muscle force-length and force-velocity relationships +on the joint angle. """ + import matplotlib.pyplot as plt import numpy as np @@ -11,45 +10,34 @@ from cocofest import ( DingModelPulseDurationFrequencyWithFatigue, - DingModelIntensityFrequencyWithFatigue, FESActuatedBiorbdModelOCP, ) minimum_pulse_duration = DingModelPulseDurationFrequencyWithFatigue().pd0 -minimum_pulse_intensity = DingModelIntensityFrequencyWithFatigue.min_pulse_intensity( - DingModelIntensityFrequencyWithFatigue() -) sol_list = [] muscle_force_length_relationship = [False, True] -fes_muscle_model = [ - [DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong")], - [DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong")], - # [DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong")], - # [DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong")], -] for i in range(2): ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="/arm26_biceps_1dof.bioMod", + biorbd_model_path="../msk_models/arm26_biceps_1dof.bioMod", bound_type="start", bound_data=[0], - fes_muscle_models=fes_muscle_model[i], + fes_muscle_models=[DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong")], n_stim=10, n_shooting=10, final_time=1, pulse_duration=0.00025, - pulse_intensity=40, with_residual_torque=False, muscle_force_length_relationship=muscle_force_length_relationship[i], - muscle_force_velocity_relationship=False, + muscle_force_velocity_relationship=muscle_force_length_relationship[i], use_sx=False, ) sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) sol_list.append(sol.merge_phases()) -plt.plot(sol_list[0].time, np.degrees(sol_list[0].states["q"][0]), label="without force length relationship") -plt.plot(sol_list[1].time, np.degrees(sol_list[1].states["q"][0]), label="with force length relationship") +plt.plot(sol_list[0].time, np.degrees(sol_list[0].states["q"][0]), label="without relationships") +plt.plot(sol_list[1].time, np.degrees(sol_list[1].states["q"][0]), label="with relationships") plt.xlabel("Time (s)") plt.ylabel("Angle (°)") diff --git a/examples/dynamics/reaching_task.py b/examples/dynamics/reaching_task.py deleted file mode 100644 index b8a495d4..00000000 --- a/examples/dynamics/reaching_task.py +++ /dev/null @@ -1,303 +0,0 @@ -""" -This example will do a 10 stimulation example with Ding's 2003 frequency model associated to Bakir's 2022 intensity work. -Those ocp were build to move the elbow from 0 to 90 degrees angle. -The stimulation frequency will be set to 10Hz and pulse intensity will be optimized to satisfy the motion and to minimize the overall muscle fatigue. -Intensity can be optimized from sensitivity threshold to 130mA. No residual torque is allowed. -""" -import pickle -import numpy as np -import matplotlib.pyplot as plt - -from bioptim import ( - Axis, - ObjectiveFcn, - ObjectiveList, - ConstraintList, - ConstraintFcn, - Solver, - Node, -) - -from cocofest import ( - DingModelIntensityFrequencyWithFatigue, - DingModelPulseDurationFrequencyWithFatigue, - FESActuatedBiorbdModelOCP, -) - -get_results = False -make_graphs = True - -# Fiber type proportion from [1] -biceps_fiber_type_2_proportion = 0.607 -triceps_fiber_type_2_proportion = 0.465 -brachioradialis_fiber_type_2_proportion = 0.457 - -# PCSA (cm²) from [2] -biceps_pcsa = 12.7 -triceps_pcsa = 28.3 -brachioradialis_pcsa = 11.6 - -biceps_a_rest_proportion = 12.7 / 28.3 -triceps_a_rest_proportion = 1 -brachioradialis_a_rest_proportion = 11.6 / 28.3 - -biceps_long_duration = DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong") -biceps_long_duration.alpha_a = biceps_long_duration.alpha_a * biceps_fiber_type_2_proportion -biceps_long_duration.a_rest = biceps_long_duration.a_rest * biceps_a_rest_proportion -biceps_short_duration = DingModelPulseDurationFrequencyWithFatigue(muscle_name="BICshort") -biceps_short_duration.alpha_a = biceps_short_duration.alpha_a * biceps_fiber_type_2_proportion -biceps_short_duration.a_rest = biceps_short_duration.a_rest * biceps_a_rest_proportion -triceps_long_duration = DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong") -triceps_long_duration.alpha_a = triceps_long_duration.alpha_a * triceps_fiber_type_2_proportion -triceps_long_duration.a_rest = triceps_long_duration.a_rest * triceps_a_rest_proportion -triceps_lat_duration = DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlat") -triceps_lat_duration.alpha_a = triceps_lat_duration.alpha_a * triceps_fiber_type_2_proportion -triceps_lat_duration.a_rest = triceps_lat_duration.a_rest * triceps_a_rest_proportion -triceps_med_duration = DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRImed") -triceps_med_duration.alpha_a = triceps_med_duration.alpha_a * triceps_fiber_type_2_proportion -triceps_med_duration.a_rest = triceps_med_duration.a_rest * triceps_a_rest_proportion -brachioradialis_duration = DingModelPulseDurationFrequencyWithFatigue(muscle_name="BRA") -brachioradialis_duration.alpha_a = brachioradialis_duration.alpha_a * brachioradialis_fiber_type_2_proportion -brachioradialis_duration.a_rest = brachioradialis_duration.a_rest * brachioradialis_a_rest_proportion - -biceps_long_intensity = DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong") -biceps_long_intensity.alpha_a = biceps_long_intensity.alpha_a * biceps_fiber_type_2_proportion -biceps_long_intensity.a_rest = biceps_long_intensity.a_rest * biceps_a_rest_proportion -biceps_short_intensity = DingModelIntensityFrequencyWithFatigue(muscle_name="BICshort") -biceps_short_intensity.alpha_a = biceps_short_intensity.alpha_a * biceps_fiber_type_2_proportion -biceps_short_intensity.a_rest = biceps_short_intensity.a_rest * biceps_a_rest_proportion -triceps_long_intensity = DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlong") -triceps_long_intensity.alpha_a = triceps_long_intensity.alpha_a * triceps_fiber_type_2_proportion -triceps_long_intensity.a_rest = triceps_long_intensity.a_rest * triceps_a_rest_proportion -triceps_lat_intensity = DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlat") -triceps_lat_intensity.alpha_a = triceps_lat_intensity.alpha_a * triceps_fiber_type_2_proportion -triceps_lat_intensity.a_rest = triceps_lat_intensity.a_rest * triceps_a_rest_proportion -triceps_med_intensity = DingModelIntensityFrequencyWithFatigue(muscle_name="TRImed") -triceps_med_intensity.alpha_a = triceps_med_intensity.alpha_a * triceps_fiber_type_2_proportion -triceps_med_intensity.a_rest = triceps_med_intensity.a_rest * triceps_a_rest_proportion -brachioradialis_intensity = DingModelIntensityFrequencyWithFatigue(muscle_name="BRA") -brachioradialis_intensity.alpha_a = brachioradialis_intensity.alpha_a * brachioradialis_fiber_type_2_proportion -brachioradialis_intensity.a_rest = brachioradialis_intensity.a_rest * brachioradialis_a_rest_proportion - -# pickle_file_list = ["minimize_muscle_fatigue.pkl", "minimize_muscle_force.pkl"] -pickle_file_list = ["minimize_muscle_force.pkl"] -if get_results: - for i in range(len(pickle_file_list)): - n_stim = 60 - n_shooting = 2 - objective_functions = ObjectiveList() - - fes_muscle_models = [ - [ - biceps_long_duration, - biceps_short_duration, - triceps_long_duration, - triceps_lat_duration, - triceps_med_duration, - brachioradialis_duration, - ], - [ - biceps_long_intensity, - biceps_short_intensity, - triceps_long_intensity, - triceps_lat_intensity, - triceps_med_intensity, - brachioradialis_intensity, - ], - ] - - # for j in range(n_stim): - # objective_functions.add( - # ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, - # key="tau", - # weight=100000, - # quadratic=True, - # phase=j, - # ) - - constraint = ConstraintList() - constraint.add( - ConstraintFcn.SUPERIMPOSE_MARKERS, - first_marker="COM_hand", - second_marker="reaching_target", - phase=39, - node=Node.END, - axes=[Axis.X, Axis.Y], - ) - - # objective_functions.add( - # ObjectiveFcn.Mayer.MINIMIZE_STATE, - # key="qdot", - # index=[0, 1], - # node=Node.ALL, - # target=np.array([[0, 0]] * (n_shooting + 1)).T, - # weight=1000, - # quadratic=True, - # phase=20, - # ) - # - # objective_functions.add( - # ObjectiveFcn.Mayer.MINIMIZE_STATE, - # key="qdot", - # index=[0, 1], - # node=Node.ALL, - # target=np.array([[0, 0]] * (n_shooting + 1)).T, - # weight=1000, - # quadratic=True, - # phase=21, - # ) - - minimum_pulse_intensity = DingModelIntensityFrequencyWithFatigue.min_pulse_intensity( - DingModelIntensityFrequencyWithFatigue() - ) - - minimum_pulse_duration = DingModelPulseDurationFrequencyWithFatigue().pd0 - - time = [] - states = [] - controls = [] - parameters = [] - - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="arm26.bioMod", - bound_type="start", - bound_data=[0, 5], - fes_muscle_models=fes_muscle_models[0], - n_stim=n_stim, - n_shooting=n_shooting, - final_time=2, - pulse_duration_min=minimum_pulse_duration, - pulse_duration_max=0.0006, - pulse_duration_bimapping=False, - pulse_intensity_min=minimum_pulse_intensity, - pulse_intensity_max=80, - pulse_intensity_bimapping=False, - with_residual_torque=False, - custom_objective=objective_functions, - custom_constraint=constraint, - muscle_force_length_relationship=True, - muscle_force_velocity_relationship=True, - minimize_muscle_fatigue=True if pickle_file_list[i] == "minimize_muscle_fatigue.pkl" else False, - minimize_muscle_force=True if pickle_file_list[i] == "minimize_muscle_force.pkl" else False, - use_sx=False, - ) - - sol = ocp.solve(Solver.IPOPT(_max_iter=100000)).merge_phases() - # sol.animate() - # sol.graphs(show_bounds=False) - time = sol.time - states = sol.states - controls = sol.controls - parameters = sol.parameters - - dictionary = { - "time": time, - "states": states, - "controls": controls, - "parameters": parameters, - } - - with open(pickle_file_list[i], "wb") as file: - pickle.dump(dictionary, file) - - -if make_graphs: - with open(r"minimize_muscle_force.pkl", "rb") as f: - data_minimize_force = pickle.load(f) - - with open(r"minimize_muscle_fatigue.pkl", "rb") as f: - data_minimize_fatigue = pickle.load(f) - - muscle_keys = ["F_BIClong", "F_BICshort", "F_TRIlong", "F_TRIlat", "F_TRImed", "F_BRA"] - muscle_names = ["BIClong", "BICshort", "TRIlong", "TRIlat", "TRImed", "BRA"] - fig, axs = plt.subplots(3, 2, figsize=(5, 3), sharex=True, sharey=True, constrained_layout=True) - counter = 0 - for i in range(3): - for j in range(2): - axs[i][j].set_xlim(left=0, right=1) - axs[i][j].set_ylim(bottom=0, top=300) - - axs[i][j].text( - 0.025, - 0.975, - f"{muscle_names[counter]}", - transform=axs[i][j].transAxes, - ha="left", - va="top", - weight="bold", - font="Times New Roman", - ) - - labels = axs[i][j].get_xticklabels() + axs[i][j].get_yticklabels() - [label.set_fontname("Times New Roman") for label in labels] - [label.set_fontsize(14) for label in labels] - - if i == 0 and j == 0: - axs[i][j].plot( - data_minimize_force["time"], - data_minimize_force["states"][muscle_keys[counter]][0], - ms=4, - linewidth=5.0, - label="Minimizing force", - ) - axs[i][j].plot( - data_minimize_fatigue["time"], - data_minimize_fatigue["states"][muscle_keys[counter]][0], - ms=4, - linewidth=5.0, - label="Minimizing fatigue", - ) - else: - axs[i][j].plot( - data_minimize_force["time"], - data_minimize_force["states"][muscle_keys[counter]][0], - ms=4, - linewidth=5.0, - ) - axs[i][j].plot( - data_minimize_fatigue["time"], - data_minimize_fatigue["states"][muscle_keys[counter]][0], - ms=4, - linewidth=5.0, - ) - counter += 1 - - # axs[3][0].plot(data_minimize_force["time"], data_minimize_force["states"]["q"][0], ms=4, - # linewidth=5.0) - # axs[3][0].plot(data_minimize_fatigue["time"], data_minimize_fatigue["states"]["q"][0], ms=4, - # linewidth=5.0) - # - # axs[3][1].plot(data_minimize_force["time"], data_minimize_force["states"]["q"][1], ms=4, - # linewidth=5.0) - # axs[3][1].plot(data_minimize_fatigue["time"], data_minimize_fatigue["states"]["q"][1], ms=4, - # linewidth=5.0) - - plt.setp( - axs, - xticks=[0, 0.25, 0.5, 0.75, 1], - xticklabels=[0, 0.25, 0.5, 0.75, 1], - yticks=[0, 100, 200, 300], - yticklabels=[0, 100, 200, 300], - ) - - fig.supxlabel("Time (s)", font="Times New Roman", fontsize=14) - fig.supylabel("Force (N)", font="Times New Roman", fontsize=14) - - # fig.legend() - # fig.tight_layout() - plt.show() - - -# a_list = ["A_BIClong", "A_BICshort", "A_TRIlong", "A_TRIlat", "A_TRImed", "A_BRA"] -# a_sum = 0 -# for key_a in a_list: -# a_sum += data_minimize_force["states"][key_a][0][-1] - - -# [1] Dahmane, R., Djordjevič, S., Šimunič, B., & Valenčič, V. (2005). -# Spatial fiber type distribution in normal human muscle: histochemical and tensiomyographical evaluation. -# Journal of biomechanics, 38(12), 2451-2459. - -# [2] Klein, C. S., Allman, B. L., Marsh, G. D., & Rice, C. L. (2002). -# Muscle size, strength, and bone geometry in the upper limbs of young and old men. -# The Journals of Gerontology Series A: Biological Sciences and Medical Sciences, 57(7), M455-M459. diff --git a/examples/dynamics/reaching_task/reaching_task_frequency_optimization.py b/examples/dynamics/reaching_task/reaching_task_frequency_optimization.py index e549ac33..4256d29e 100644 --- a/examples/dynamics/reaching_task/reaching_task_frequency_optimization.py +++ b/examples/dynamics/reaching_task/reaching_task_frequency_optimization.py @@ -80,7 +80,7 @@ parameters = [] ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="../arm26.bioMod", + biorbd_model_path="../../msk_models/arm26.bioMod", bound_type="start", bound_data=[0, 5], fes_muscle_models=fes_muscle_models, diff --git a/examples/dynamics/reaching_task/reaching_task_intensity_optimization.py b/examples/dynamics/reaching_task/reaching_task_intensity_optimization.py index 8810a3d6..013bbac0 100644 --- a/examples/dynamics/reaching_task/reaching_task_intensity_optimization.py +++ b/examples/dynamics/reaching_task/reaching_task_intensity_optimization.py @@ -83,7 +83,7 @@ parameters = [] ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="../arm26.bioMod", + biorbd_model_path="../../msk_models/arm26.bioMod", bound_type="start", bound_data=[0, 5], fes_muscle_models=fes_muscle_models, diff --git a/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py b/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py index 0b06512c..7b84af48 100644 --- a/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py +++ b/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py @@ -81,7 +81,7 @@ parameters = [] ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="../arm26.bioMod", + biorbd_model_path="../../msk_models/arm26.bioMod", bound_type="start", bound_data=[0, 5], fes_muscle_models=fes_muscle_models, diff --git a/examples/dynamics/reaching_task/result_file/minimize_muscle_fatigue.pkl b/examples/dynamics/reaching_task/result_file/minimize_muscle_fatigue.pkl new file mode 100644 index 0000000000000000000000000000000000000000..aa56633bfda8a5714879074d971c9c8bb81932f4 GIT binary patch literal 28108 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 literal 0 HcmV?d00001 diff --git a/examples/dynamics/reaching_task/result_file/minimize_muscle_force.pkl b/examples/dynamics/reaching_task/result_file/minimize_muscle_force.pkl new file mode 100644 index 0000000000000000000000000000000000000000..df39e5ef92bf3151839318ccf12d6f7a77d7b1c9 GIT binary patch literal 28108 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 Iudn3)0jRK+7ytkO literal 0 HcmV?d00001 diff --git a/examples/getting_started/arm26_biceps.bioMod b/examples/getting_started/arm26_biceps.bioMod deleted file mode 100644 index 8050c204..00000000 --- a/examples/getting_started/arm26_biceps.bioMod +++ /dev/null @@ -1,256 +0,0 @@ -version 3 -gravity 0 -9.81 0 - -// SEGMENT DEFINITION - -segment base - meshfile mesh/ground_ribs.vtp - inertia - 0 0 0 - 0 0 0 - 0 0 0 -endsegment - - // Markers - marker target - parent base - position 0.15 0.15 0.17 - endmarker - marker r_acromion - parent base - position -0.01256 0.04 0.17 - endmarker - - -segment r_humerus_translation - parent base - RTinMatrix 1 - RT - 1.0 0.0 0.0 -0.017545 - 0.0 1.0 0.0 -0.007 - 0.0 0.0 1.0 0.17 - 0.0 0.0 0.0 1.0 - inertia - 0 0 0 - 0 0 0 - 0 0 0 -endsegment - - -segment r_humerus_rotation1 - parent r_humerus_translation - RTinMatrix 1 - RT - 0.9975010776109747 0.039020807762349584 -0.058898019716436364 0.0 - -0.038952964437603196 0.9992383982621832 0.0022999999889266845 0.0 - 0.05894291073968768 0.0 0.9982613551938856 0.0 - 0.0 0.0 0.0 1.0 - rotations z - rangesQ -1 pi - inertia - 0 0 0 - 0 0 0 - 0 0 0 -endsegment - - -segment r_humerus_rotation2 - parent r_humerus_rotation1 - inertia - 0 0 0 - 0 0 0 - 0 0 0 -endsegment - - -segment r_humerus_rotation3 - parent r_humerus_rotation2 - RTinMatrix 1 - RT - 0.0 -0.0588981755023151 0.9982639956056206 0.0 - 1.0 0.0 0.0 0.0 - 0.0 0.9982639956056206 0.0588981755023151 0.0 - 0.0 0.0 0.0 1.0 - inertia - 0 0 0 - 0 0 0 - 0 0 0 -endsegment - - -segment r_humerus - parent r_humerus_rotation3 - RTinMatrix 1 - RT - 0.039020807762349605 0.9992383982621836 0.0 0.0 - -0.11754676602826802 0.004590265714620227 0.9930567391931666 0.0 - 0.9923004254548464 -0.03874987611716229 0.11763635808301447 0.0 - 0.0 0.0 0.0 1.0 - mass 1.8645719999999999 - inertia - 0.01481 0.0 0.0 - 0.0 0.004551 0.0 - 0.0 0.0 0.013193 - com 0 -0.18049599999999999 0 - meshfile mesh/arm_r_humerus.vtp -endsegment - - // Markers - marker r_humerus_epicondyle - parent r_humerus - position 0.0050000000000000001 -0.29039999999999999 0.029999999999999999 - endmarker - marker COM_arm - parent r_humerus - position 0 -0.18049599999999999 0 - endmarker - - -segment r_ulna_radius_hand_translation - parent r_humerus - RTinMatrix 1 - RT - 1.0 0.0 0.0 0.0061 - 0.0 1.0 0.0 -0.2904 - 0.0 0.0 1.0 -0.0123 - 0.0 0.0 0.0 1.0 - inertia - 0 0 0 - 0 0 0 - 0 0 0 -endsegment - - -segment r_ulna_radius_hand_rotation1 - parent r_ulna_radius_hand_translation - RTinMatrix 1 - RT - 0.801979522152563 -0.5953053712684071 0.04940000998917986 0.0 - 0.5941792022021661 0.8034995425879125 0.036600009991983457 0.0 - -0.06148106796684942 3.469446951953614e-18 0.9981082497813831 0.0 - 0.0 0.0 0.0 1.0 - rotations z - rangesQ 0 pi - inertia - 0 0 0 - 0 0 0 - 0 0 0 -endsegment - - -segment r_ulna_radius_hand_rotation2 - parent r_ulna_radius_hand_rotation1 - inertia - 0 0 0 - 0 0 0 - 0 0 0 -endsegment - - -segment r_ulna_radius_hand_rotation3 - parent r_ulna_radius_hand_rotation2 - RTinMatrix 1 - RT - 0.0 0.049433130424779516 0.998777435476196 0.0 - 1.0 0.0 0.0 0.0 - 0.0 0.998777435476196 -0.049433130424779516 0.0 - 0.0 0.0 0.0 1.0 - inertia - 0 0 0 - 0 0 0 - 0 0 0 -endsegment - - -segment r_ulna_radius_hand - parent r_ulna_radius_hand_rotation3 - RTinMatrix 1 - RT - -0.5953053712684069 0.803499542587912 0.0 0.0 - 0.08898397360606149 0.06592740211634747 0.9938487963928239 0.0 - 0.7985570533031812 0.5916435267212894 -0.11074551868375905 0.0 - 0.0 0.0 0.0 1.0 - mass 1.5343150000000001 - inertia - 0.019281 0.0 0.0 - 0.0 0.001571 0.0 - 0.0 0.0 0.020062 - com 0 -0.181479 0 - meshfile mesh/arm_r_ulna.vtp -endsegment - - // Markers - marker r_radius_styloid - parent r_ulna_radius_hand - position -0.0011000000000000001 -0.23558999999999999 0.094299999999999995 - endmarker - marker COM_hand - parent r_ulna_radius_hand - position 0 -0.181479 0 - endmarker - - - -// MUSCLE DEFINITION - -// base > r_ulna_radius_hand -musclegroup base_to_r_ulna_radius_hand - OriginParent base - InsertionParent r_ulna_radius_hand -endmusclegroup - - muscle BIClong - Type degroote - statetype degroote - musclegroup base_to_r_ulna_radius_hand - OriginPosition -0.039234999999999999 0.00347 0.14795 - InsertionPosition 0.0075100000000000002 -0.048390000000000002 0.02179 - optimalLength 0.1157 - maximalForce 624.29999999999995 - tendonSlackLength 0.27229999999999999 - pennationAngle 0 - maxVelocity 10 - endmuscle - - viapoint BIClong-P2 - parent base - muscle BIClong - musclegroup base_to_r_ulna_radius_hand - position -0.028944999999999999 0.01391 0.15639 - endviapoint - viapoint BIClong-P3 - parent r_humerus - muscle BIClong - musclegroup base_to_r_ulna_radius_hand - position 0.021309999999999999 0.017930000000000001 0.010279999999999999 - endviapoint - viapoint BIClong-P4 - parent r_humerus - muscle BIClong - musclegroup base_to_r_ulna_radius_hand - position 0.023779999999999999 -0.00511 0.01201 - endviapoint - viapoint BIClong-P5 - parent r_humerus - muscle BIClong - musclegroup base_to_r_ulna_radius_hand - position 0.01345 -0.02827 0.0013600000000000001 - endviapoint - viapoint BIClong-P6 - parent r_humerus - muscle BIClong - musclegroup base_to_r_ulna_radius_hand - position 0.01068 -0.077359999999999998 -0.00165 - endviapoint - viapoint BIClong-P7 - parent r_humerus - muscle BIClong - musclegroup base_to_r_ulna_radius_hand - position 0.01703 -0.12125 0.00024000000000000001 - endviapoint - viapoint BIClong-P8 - parent r_humerus - muscle BIClong - musclegroup base_to_r_ulna_radius_hand - position 0.022800000000000001 -0.1754 -0.0063 - endviapoint diff --git a/examples/getting_started/arm26_biceps_1dof.bioMod b/examples/getting_started/arm26_biceps_1dof.bioMod deleted file mode 100644 index 21f518c5..00000000 --- a/examples/getting_started/arm26_biceps_1dof.bioMod +++ /dev/null @@ -1,254 +0,0 @@ -version 3 -gravity 0 -9.81 0 - -// SEGMENT DEFINITION - -segment base - meshfile mesh/ground_ribs.vtp - inertia - 0 0 0 - 0 0 0 - 0 0 0 -endsegment - - // Markers - marker target - parent base - position 0.15 0.15 0.17 - endmarker - marker r_acromion - parent base - position -0.01256 0.04 0.17 - endmarker - - -segment r_humerus_translation - parent base - RTinMatrix 1 - RT - 1.0 0.0 0.0 -0.017545 - 0.0 1.0 0.0 -0.007 - 0.0 0.0 1.0 0.17 - 0.0 0.0 0.0 1.0 - inertia - 0 0 0 - 0 0 0 - 0 0 0 -endsegment - - -segment r_humerus_rotation1 - parent r_humerus_translation - RTinMatrix 1 - RT - 0.9975010776109747 0.039020807762349584 -0.058898019716436364 0.0 - -0.038952964437603196 0.9992383982621832 0.0022999999889266845 0.0 - 0.05894291073968768 0.0 0.9982613551938856 0.0 - 0.0 0.0 0.0 1.0 - inertia - 0 0 0 - 0 0 0 - 0 0 0 -endsegment - - -segment r_humerus_rotation2 - parent r_humerus_rotation1 - inertia - 0 0 0 - 0 0 0 - 0 0 0 -endsegment - - -segment r_humerus_rotation3 - parent r_humerus_rotation2 - RTinMatrix 1 - RT - 0.0 -0.0588981755023151 0.9982639956056206 0.0 - 1.0 0.0 0.0 0.0 - 0.0 0.9982639956056206 0.0588981755023151 0.0 - 0.0 0.0 0.0 1.0 - inertia - 0 0 0 - 0 0 0 - 0 0 0 -endsegment - - -segment r_humerus - parent r_humerus_rotation3 - RTinMatrix 1 - RT - 0.039020807762349605 0.9992383982621836 0.0 0.0 - -0.11754676602826802 0.004590265714620227 0.9930567391931666 0.0 - 0.9923004254548464 -0.03874987611716229 0.11763635808301447 0.0 - 0.0 0.0 0.0 1.0 - mass 1.8645719999999999 - inertia - 0.01481 0.0 0.0 - 0.0 0.004551 0.0 - 0.0 0.0 0.013193 - com 0 -0.18049599999999999 0 - meshfile mesh/arm_r_humerus.vtp -endsegment - - // Markers - marker r_humerus_epicondyle - parent r_humerus - position 0.0050000000000000001 -0.29039999999999999 0.029999999999999999 - endmarker - marker COM_arm - parent r_humerus - position 0 -0.18049599999999999 0 - endmarker - - -segment r_ulna_radius_hand_translation - parent r_humerus - RTinMatrix 1 - RT - 1.0 0.0 0.0 0.0061 - 0.0 1.0 0.0 -0.2904 - 0.0 0.0 1.0 -0.0123 - 0.0 0.0 0.0 1.0 - inertia - 0 0 0 - 0 0 0 - 0 0 0 -endsegment - - -segment r_ulna_radius_hand_rotation1 - parent r_ulna_radius_hand_translation - RTinMatrix 1 - RT - 0.801979522152563 -0.5953053712684071 0.04940000998917986 0.0 - 0.5941792022021661 0.8034995425879125 0.036600009991983457 0.0 - -0.06148106796684942 3.469446951953614e-18 0.9981082497813831 0.0 - 0.0 0.0 0.0 1.0 - rotations z - rangesQ 0 pi - inertia - 0 0 0 - 0 0 0 - 0 0 0 -endsegment - - -segment r_ulna_radius_hand_rotation2 - parent r_ulna_radius_hand_rotation1 - inertia - 0 0 0 - 0 0 0 - 0 0 0 -endsegment - - -segment r_ulna_radius_hand_rotation3 - parent r_ulna_radius_hand_rotation2 - RTinMatrix 1 - RT - 0.0 0.049433130424779516 0.998777435476196 0.0 - 1.0 0.0 0.0 0.0 - 0.0 0.998777435476196 -0.049433130424779516 0.0 - 0.0 0.0 0.0 1.0 - inertia - 0 0 0 - 0 0 0 - 0 0 0 -endsegment - - -segment r_ulna_radius_hand - parent r_ulna_radius_hand_rotation3 - RTinMatrix 1 - RT - -0.5953053712684069 0.803499542587912 0.0 0.0 - 0.08898397360606149 0.06592740211634747 0.9938487963928239 0.0 - 0.7985570533031812 0.5916435267212894 -0.11074551868375905 0.0 - 0.0 0.0 0.0 1.0 - mass 1.5343150000000001 - inertia - 0.019281 0.0 0.0 - 0.0 0.001571 0.0 - 0.0 0.0 0.020062 - com 0 -0.181479 0 - meshfile mesh/arm_r_ulna.vtp -endsegment - - // Markers - marker r_radius_styloid - parent r_ulna_radius_hand - position -0.0011000000000000001 -0.23558999999999999 0.094299999999999995 - endmarker - marker COM_hand - parent r_ulna_radius_hand - position 0 -0.181479 0 - endmarker - - - -// MUSCLE DEFINITION - -// base > r_ulna_radius_hand -musclegroup base_to_r_ulna_radius_hand - OriginParent base - InsertionParent r_ulna_radius_hand -endmusclegroup - - muscle BIClong - Type degroote - statetype degroote - musclegroup base_to_r_ulna_radius_hand - OriginPosition -0.039234999999999999 0.00347 0.14795 - InsertionPosition 0.0075100000000000002 -0.048390000000000002 0.02179 - optimalLength 0.1157 - maximalForce 624.29999999999995 - tendonSlackLength 0.27229999999999999 - pennationAngle 0 - maxVelocity 10 - endmuscle - - viapoint BIClong-P2 - parent base - muscle BIClong - musclegroup base_to_r_ulna_radius_hand - position -0.028944999999999999 0.01391 0.15639 - endviapoint - viapoint BIClong-P3 - parent r_humerus - muscle BIClong - musclegroup base_to_r_ulna_radius_hand - position 0.021309999999999999 0.017930000000000001 0.010279999999999999 - endviapoint - viapoint BIClong-P4 - parent r_humerus - muscle BIClong - musclegroup base_to_r_ulna_radius_hand - position 0.023779999999999999 -0.00511 0.01201 - endviapoint - viapoint BIClong-P5 - parent r_humerus - muscle BIClong - musclegroup base_to_r_ulna_radius_hand - position 0.01345 -0.02827 0.0013600000000000001 - endviapoint - viapoint BIClong-P6 - parent r_humerus - muscle BIClong - musclegroup base_to_r_ulna_radius_hand - position 0.01068 -0.077359999999999998 -0.00165 - endviapoint - viapoint BIClong-P7 - parent r_humerus - muscle BIClong - musclegroup base_to_r_ulna_radius_hand - position 0.01703 -0.12125 0.00024000000000000001 - endviapoint - viapoint BIClong-P8 - parent r_humerus - muscle BIClong - musclegroup base_to_r_ulna_radius_hand - position 0.022800000000000001 -0.1754 -0.0063 - endviapoint diff --git a/examples/getting_started/frequency_optimization_musculoskeletal_dynamic.py b/examples/getting_started/frequency_optimization_musculoskeletal_dynamic.py index dd474668..b96ab8eb 100644 --- a/examples/getting_started/frequency_optimization_musculoskeletal_dynamic.py +++ b/examples/getting_started/frequency_optimization_musculoskeletal_dynamic.py @@ -20,7 +20,7 @@ objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=1, quadratic=True, phase=i) ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="arm26_biceps_1dof.bioMod", + biorbd_model_path="../msk_models/arm26_biceps_1dof.bioMod", bound_type="start_end", bound_data=[[5], [120]], fes_muscle_models=[DingModelFrequencyWithFatigue(muscle_name="BIClong")], @@ -32,6 +32,8 @@ time_bimapping=True, custom_objective=objective_functions, with_residual_torque=True, + muscle_force_length_relationship=True, + muscle_force_velocity_relationship=True, ) sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) diff --git a/examples/getting_started/mesh/arm_r_humerus.vtp b/examples/getting_started/mesh/arm_r_humerus.vtp deleted file mode 100644 index 19fcf553..00000000 --- a/examples/getting_started/mesh/arm_r_humerus.vtp +++ /dev/null @@ -1,1228 +0,0 @@ - - - - - - - -0.241965 0.928387 -0.282046 - -0.421615 0.891296 -0.166834 - -0.670330 0.714611 -0.199971 - -0.776204 0.488631 -0.398431 - -0.649453 0.374399 -0.661844 - -0.390814 0.431251 -0.813195 - -0.165920 0.625156 -0.762660 - -0.101672 0.835461 -0.540063 - 0.133272 0.890320 -0.435395 - -0.021126 0.997308 0.070220 - -0.330078 0.933471 0.140289 - -0.761722 0.635977 0.123745 - -0.924037 0.314799 -0.216928 - -0.755872 0.122545 -0.643149 - -0.340825 0.210203 -0.916326 - 0.080834 0.456267 -0.886164 - 0.226855 0.811746 -0.538149 - 0.168803 0.921058 -0.350939 - 0.082124 0.974772 0.207547 - -0.235549 0.878284 0.416094 - -0.784827 0.490265 0.379061 - -0.996652 0.062476 -0.052741 - -0.776039 -0.146179 -0.613510 - -0.224178 -0.064771 -0.972393 - 0.281896 0.277214 -0.918524 - 0.472616 0.720796 -0.507038 - 0.438742 0.870076 -0.224663 - 0.283569 0.855822 0.432616 - 0.015634 0.885027 0.465276 - -0.624657 0.474151 0.620472 - -0.897849 -0.196578 0.393985 - -0.761345 -0.592749 -0.262684 - -0.256323 -0.565235 -0.784097 - 0.536690 -0.260257 -0.802640 - 0.738515 0.441236 -0.509810 - 0.660496 0.743760 -0.102798 - 0.644355 0.726915 0.237491 - 0.023599 0.879572 0.475179 - -0.625617 0.509551 0.590729 - -0.912367 0.192540 0.361268 - -0.812395 -0.553530 0.183355 - -0.649047 -0.704337 -0.287484 - 0.123341 -0.629996 -0.766741 - 0.707297 -0.140960 -0.692720 - 0.838022 0.473805 -0.270608 - 0.759529 0.547506 0.351216 - 0.936343 0.072560 0.343506 - 0.846878 0.348061 0.402059 - 0.187341 0.469829 0.862650 - -0.238380 0.268495 0.933320 - -0.778725 0.092855 0.620455 - -0.914913 -0.281887 0.288917 - -0.786499 -0.601681 0.139281 - -0.851564 -0.512150 -0.111983 - -0.303144 -0.457790 -0.835782 - 0.397720 -0.368529 -0.840241 - 0.683419 -0.398808 -0.611466 - 0.931200 -0.099411 -0.350690 - 0.998150 -0.008967 0.060136 - 0.757891 0.195298 0.622463 - -0.442859 0.707933 -0.550187 - 0.984627 -0.153851 0.082701 - 0.962952 0.002946 -0.269657 - 0.945927 -0.079786 0.314413 - 0.947308 -0.144622 0.285819 - 0.323654 -0.178892 0.929110 - 0.373107 -0.240141 0.896172 - -0.440819 -0.135038 0.887380 - -0.315257 -0.282541 0.905971 - -0.915464 -0.072115 0.395886 - -0.796242 -0.220124 0.563511 - -0.994844 -0.067766 0.075450 - -0.945503 0.001099 -0.325611 - -0.867654 -0.101187 -0.486763 - -0.362844 -0.042362 -0.930887 - -0.157149 -0.149505 -0.976193 - 0.467906 -0.037114 -0.882999 - 0.719646 -0.160479 -0.675542 - 0.962610 -0.055757 -0.265090 - 0.972865 -0.231316 0.005203 - 0.982466 -0.084589 0.166146 - 0.981535 -0.031981 -0.188592 - 0.885937 -0.044490 0.461667 - 0.115208 -0.037877 0.992619 - -0.610360 -0.017562 0.791929 - -0.950644 0.004913 0.310246 - -0.964308 0.006572 -0.264701 - -0.546217 0.059954 -0.835495 - 0.254958 0.036742 -0.966254 - 0.829007 -0.025922 -0.558637 - 0.994718 -0.025124 -0.099525 - 0.989941 -0.039806 -0.135769 - 0.893612 -0.060112 0.444797 - 0.218010 -0.042508 0.975020 - -0.554327 -0.007801 0.832263 - -0.952176 0.000464 0.305551 - -0.945622 0.056378 -0.320346 - -0.276729 0.081356 -0.957498 - 0.605275 0.016688 -0.795842 - 0.909055 -0.039602 -0.414790 - 0.954586 -0.022579 -0.297080 - 0.923616 -0.081184 0.374623 - 0.341090 -0.077575 0.936824 - -0.329519 -0.071182 0.941462 - -0.857923 -0.033758 0.512668 - -0.998439 0.031365 -0.046206 - -0.609832 0.072521 -0.789206 - 0.429353 0.035802 -0.902427 - -0.764894 -0.405399 0.500589 - -0.776410 -0.492635 0.393063 - -0.971393 -0.197380 0.132048 - -0.929065 -0.354124 0.106930 - -0.920533 -0.221924 -0.321510 - 0.391504 -0.215172 -0.894665 - 0.711999 -0.367368 -0.598413 - 0.716689 -0.471528 -0.513826 - 0.874237 -0.477134 -0.089734 - 0.892208 -0.450570 -0.030852 - 0.808883 -0.376434 0.451670 - 0.890101 -0.423324 -0.168868 - 0.891317 -0.415140 0.182242 - 0.882279 -0.192315 0.429650 - 0.909237 -0.136289 0.393336 - 0.933109 -0.259752 0.248670 - 0.907367 -0.213420 0.362129 - 0.306057 -0.190278 0.932804 - -0.380544 -0.362686 0.850673 - 0.318574 -0.330503 0.888413 - -0.235764 -0.407482 0.882255 - 0.402369 -0.113316 -0.908438 - 0.216276 -0.387801 -0.896011 - -0.262611 -0.652644 -0.710697 - -0.298542 -0.926215 -0.230214 - 0.074983 -0.737758 -0.670888 - 0.344718 -0.764863 -0.544200 - -0.600093 0.023092 -0.799596 - -0.747168 -0.111063 -0.655290 - -0.735035 -0.654455 -0.177237 - -0.719649 -0.689121 -0.084958 - -0.740419 -0.488711 -0.461456 - -0.484463 -0.795245 -0.364529 - 0.085201 0.658875 -0.747412 - -0.894608 0.346068 -0.282691 - -0.991060 0.012452 -0.132834 - -0.691517 -0.600558 -0.401415 - -0.944358 -0.148346 -0.293565 - -0.939052 -0.327945 -0.103120 - -0.109432 0.803847 -0.584684 - -0.995519 -0.041596 0.084923 - -0.987827 -0.111081 0.108896 - -0.914842 0.291406 0.279546 - -0.956325 0.291966 0.014111 - -0.843326 0.189985 -0.502700 - -0.740370 -0.083770 -0.666959 - -0.835304 -0.172746 0.521944 - -0.920294 0.110741 0.375228 - -0.086781 0.939184 -0.332268 - -0.724374 -0.134688 -0.676122 - -0.367459 -0.130611 -0.920823 - -0.507775 -0.174462 -0.843639 - 0.851820 0.523639 0.014296 - -0.841677 -0.503100 0.196142 - -0.694816 -0.662222 0.280521 - -0.793453 -0.607858 0.030671 - -0.694432 -0.557535 -0.454883 - -0.476099 -0.473900 -0.740776 - -0.518770 -0.346975 -0.781336 - 0.978328 -0.159539 0.131989 - -0.798819 -0.550527 -0.242503 - 0.829924 0.503123 -0.241026 - 0.738857 0.618423 0.267663 - 0.701330 0.710032 0.063173 - 0.622553 0.771087 -0.133614 - 0.787753 0.611330 -0.075634 - 0.885088 0.136826 -0.444858 - 0.947331 0.181647 0.263759 - 0.968711 0.237628 0.071643 - 0.904933 0.410747 -0.111278 - 0.883772 0.466501 0.036394 - 0.852569 -0.371496 -0.367583 - 0.904746 -0.315326 0.286364 - 0.941129 -0.323709 0.097406 - 0.948710 -0.290584 -0.124542 - 0.968900 -0.242881 0.047338 - 0.546025 -0.787578 0.285618 - 0.573760 -0.793951 0.201103 - 0.534371 -0.840657 -0.087998 - 0.510192 -0.859474 -0.031765 - -0.143870 -0.944136 0.296494 - -0.120397 -0.983277 0.136640 - -0.047506 -0.992501 -0.112631 - 0.067596 -0.993412 -0.092539 - -0.751091 -0.587499 0.301175 - -0.722285 -0.689261 0.056770 - -0.631867 -0.716261 -0.296167 - -0.568936 -0.822382 0.000331 - -0.960600 -0.146299 0.236316 - -0.966642 -0.254528 -0.028613 - -0.857656 -0.264803 -0.440801 - -0.890473 -0.424749 -0.163238 - 0.710035 -0.508625 -0.486981 - 0.683429 -0.238088 -0.690100 - 0.816331 0.205356 -0.539845 - 0.846203 0.358155 -0.394546 - 0.696073 0.685778 0.212584 - 0.821179 -0.174612 -0.543301 - 0.786005 0.037730 -0.617068 - 0.816454 -0.060255 -0.574258 - 0.732578 0.510246 -0.450532 - 0.962461 -0.242146 -0.122610 - 0.985225 -0.043929 0.165534 - 0.704197 0.558382 -0.438540 - 0.930785 0.340753 -0.132391 - -0.467923 0.336732 0.817104 - -0.999076 -0.042835 0.003570 - -0.944865 -0.111212 -0.307998 - 0.047043 0.483686 -0.873976 - -0.979213 -0.188544 -0.074787 - -0.956851 -0.103925 0.271358 - -0.848526 0.121085 0.515114 - -0.837348 -0.503961 0.211829 - -0.850657 -0.409592 0.329570 - -0.782532 -0.265550 0.563141 - -0.640367 0.008332 0.768024 - 0.439317 0.612040 0.657577 - -0.660774 -0.734556 0.154288 - -0.501274 -0.640305 0.582008 - -0.251396 -0.496841 0.830632 - -0.196072 -0.290156 0.936678 - -0.033799 0.160406 0.986472 - -0.269436 -0.771981 0.575717 - -0.053992 -0.517273 0.854116 - 0.148472 -0.168105 0.974524 - 0.610070 0.724889 0.319921 - 0.408025 0.170260 0.896954 - 0.046951 -0.996400 -0.070593 - 0.620239 -0.777421 -0.104505 - 0.975552 -0.207031 -0.073734 - 0.872972 0.444224 -0.201458 - 0.671892 0.730514 -0.122109 - -0.218241 -0.974348 0.054935 - 0.350171 -0.933821 -0.073203 - 0.825083 -0.562775 -0.050225 - 0.994194 -0.080934 -0.070905 - 0.945104 0.307372 -0.110907 - 0.656532 0.744358 -0.122050 - 0.323149 0.944250 -0.062985 - -0.076772 -0.876381 0.475461 - 0.307397 -0.655417 0.689881 - 0.669972 -0.226073 0.707127 - 0.734861 0.296480 0.609982 - 0.568857 0.713629 0.408823 - -0.981359 0.190579 0.024787 - 0.682279 0.729359 0.050310 - 0.872274 0.442821 0.207480 - 0.905862 0.254990 0.338222 - 0.984873 0.084914 0.151042 - 0.992939 0.103690 0.057620 - 0.941983 0.215575 0.257285 - 0.925266 0.378044 -0.031070 - 0.819973 0.512067 0.255796 - 0.680342 0.709262 0.184613 - 0.544797 0.825912 -0.145142 - 0.548692 0.835588 -0.027031 - 0.868139 0.496204 -0.010761 - 0.831372 0.434000 -0.347081 - 0.750196 0.621050 0.226941 - 0.952495 -0.041923 -0.301655 - 0.987109 -0.083437 -0.136582 - 0.979630 -0.104837 -0.171272 - 0.893032 0.240891 -0.380087 - 0.911056 0.169028 0.376041 - 0.792382 0.351870 0.498316 - 0.951678 0.105219 -0.288509 - 0.999143 0.041351 0.002027 - 0.808929 0.001830 0.587904 - 0.239201 0.155238 0.958480 - -0.979641 -0.038595 0.197011 - -0.957296 -0.084818 -0.276388 - -0.406128 0.099725 -0.908358 - 0.619177 0.170148 -0.766596 - 0.657723 0.101958 -0.746328 - 0.993211 -0.028962 -0.112661 - 0.955023 0.010542 -0.296346 - 0.981101 -0.008132 0.193325 - 0.930652 -0.060265 0.360908 - 0.606895 0.009545 0.794725 - 0.469673 -0.059830 0.880811 - -0.439364 0.052686 0.896763 - -0.332264 0.000635 0.943186 - -0.973364 -0.016781 0.228649 - -0.911411 0.035395 0.409973 - -0.903361 -0.030027 -0.427828 - -0.879859 0.090109 -0.466613 - -0.058423 0.069487 -0.995871 - -0.129454 0.076419 -0.988636 - 0.525425 0.037067 -0.850032 - 0.537427 0.032297 -0.842692 - 0.725348 0.013743 -0.688245 - 0.818898 0.006957 -0.573896 - 0.932518 -0.009304 -0.361005 - 0.938634 -0.087884 0.333530 - 0.488334 -0.129456 0.863001 - -0.109388 -0.102396 0.988711 - -0.760028 -0.039507 0.648688 - -0.999868 0.012122 0.010820 - -0.619478 0.050620 -0.783380 - 0.352019 0.040230 -0.935128 - 0.813742 0.041891 -0.579715 - - - - - -0.003244 0.022145 -0.007029 - -0.009188 0.021757 -0.003054 - -0.015251 0.017942 -0.003615 - -0.018211 0.012891 -0.007792 - -0.016575 0.009246 -0.013576 - -0.010928 0.009649 -0.017587 - -0.004086 0.014405 -0.017265 - -0.002427 0.019449 -0.012335 - -0.002748 0.022121 -0.006969 - 0.002353 0.023356 -0.002803 - -0.007155 0.022663 0.003832 - -0.017598 0.015852 0.002462 - -0.021310 0.008721 -0.004652 - -0.017751 0.002869 -0.014689 - -0.008703 0.003966 -0.020695 - 0.001233 0.010930 -0.020080 - 0.004971 0.020040 -0.011576 - 0.002739 0.023418 -0.002639 - 0.008170 0.022454 0.001271 - -0.003993 0.021530 0.010593 - -0.018156 0.012354 0.008207 - -0.022899 0.002425 -0.002320 - -0.018077 -0.002902 -0.014250 - -0.005922 -0.000902 -0.022249 - 0.006588 0.004748 -0.020926 - 0.012041 0.017227 -0.009431 - 0.008166 0.022208 0.002045 - 0.011549 0.021347 0.004581 - 0.000434 0.020121 0.014291 - -0.017473 0.010115 0.010857 - -0.022446 -0.000708 0.001880 - -0.017680 -0.007626 -0.011885 - -0.004088 -0.008184 -0.021088 - 0.011399 0.000412 -0.019046 - 0.015519 0.015315 -0.008920 - 0.012084 0.020805 0.005781 - 0.015023 0.015432 0.008561 - 0.004268 0.017597 0.020783 - -0.009263 0.012481 0.017274 - -0.014553 0.005099 0.012266 - -0.018456 -0.005989 0.001841 - -0.014168 -0.010596 -0.006234 - -0.004545 -0.013629 -0.015277 - 0.012713 -0.003616 -0.013976 - 0.020082 0.010297 -0.004429 - 0.015269 0.015821 0.009177 - 0.016555 0.007919 0.010461 - 0.016959 0.011885 0.015338 - 0.007396 0.012197 0.025325 - -0.003283 0.008705 0.026377 - -0.013737 0.001648 0.022501 - -0.016766 -0.004063 0.016965 - -0.012606 -0.009845 0.008658 - -0.009881 -0.016235 -0.002200 - -0.002202 -0.020117 -0.011343 - 0.013524 -0.010481 -0.008362 - 0.021547 -0.004656 -0.007384 - 0.025149 0.000617 -0.001751 - 0.025735 0.003363 0.003644 - 0.024020 0.006003 0.007184 - -0.010938 0.015935 -0.012544 - 0.012182 -0.023823 0.005011 - 0.011029 -0.041944 0.002473 - 0.012751 -0.042883 0.007851 - 0.013496 -0.025435 0.011856 - 0.008526 -0.041976 0.012286 - 0.010080 -0.027862 0.014966 - -0.000761 -0.042723 0.012073 - -0.000955 -0.029565 0.014659 - -0.007796 -0.042698 0.005221 - -0.005025 -0.028850 0.011905 - -0.007637 -0.026900 0.003416 - -0.008240 -0.043255 0.001167 - -0.007076 -0.026718 -0.003651 - -0.000496 -0.041919 -0.008140 - -0.000292 -0.025300 -0.009993 - 0.008762 -0.042400 -0.007335 - 0.011699 -0.023893 -0.006030 - 0.011456 -0.042134 -0.003658 - 0.013812 -0.024251 0.000533 - 0.011026 -0.041941 0.002471 - 0.011295 -0.070938 0.000594 - 0.012629 -0.073147 0.007015 - 0.003747 -0.071300 0.010301 - -0.006410 -0.071249 0.005919 - -0.007978 -0.071089 0.001440 - -0.007103 -0.070953 -0.003238 - -0.001930 -0.069544 -0.008766 - 0.005248 -0.069828 -0.008195 - 0.010276 -0.070448 -0.004992 - 0.011294 -0.070990 0.000587 - 0.009461 -0.096869 -0.002659 - 0.010547 -0.099296 0.005653 - 0.003011 -0.096196 0.009137 - -0.003479 -0.096289 0.009406 - -0.007278 -0.095051 0.005450 - -0.008139 -0.094138 -0.002078 - -0.002702 -0.094297 -0.011241 - 0.004935 -0.096129 -0.010073 - 0.009450 -0.096810 -0.002643 - 0.008569 -0.119485 -0.004240 - 0.009791 -0.116960 0.004989 - 0.004835 -0.117444 0.008255 - -0.003266 -0.116925 0.008734 - -0.006328 -0.117512 0.004643 - -0.008821 -0.117297 -0.003839 - -0.006297 -0.117521 -0.010624 - 0.002875 -0.118829 -0.011929 - -0.005818 -0.020940 0.014888 - -0.008856 -0.013017 0.018095 - -0.008528 -0.020831 0.004821 - -0.009350 -0.016567 0.006621 - -0.007876 -0.022419 -0.003686 - 0.011849 -0.017701 -0.006517 - 0.015308 -0.015891 -0.005226 - 0.018906 -0.009752 -0.005891 - 0.020639 -0.007164 -0.002529 - 0.021890 -0.005532 0.001109 - 0.023147 -0.003132 0.004990 - 0.016394 -0.015340 -0.002319 - 0.017376 -0.014082 0.001727 - 0.016320 -0.002660 0.009930 - 0.017201 -0.003261 0.017416 - 0.013916 -0.014016 0.007850 - 0.013998 -0.016768 0.014428 - 0.006757 -0.005730 0.024424 - -0.007994 -0.006661 0.024288 - 0.007661 -0.018510 0.018617 - -0.000738 -0.019969 0.018286 - 0.000073 -0.282517 -0.042841 - -0.001307 -0.285146 -0.043295 - -0.000876 -0.290486 -0.041449 - 0.002684 -0.293483 -0.036206 - 0.005130 -0.293851 -0.030730 - 0.011529 -0.301300 -0.028188 - -0.002660 -0.283083 -0.043811 - -0.004632 -0.285732 -0.041886 - -0.005840 -0.285336 -0.036744 - -0.004656 -0.285036 -0.031411 - -0.002703 -0.290263 -0.027093 - 0.001644 -0.302885 -0.025455 - -0.000048 -0.275476 -0.040749 - -0.005837 -0.275374 -0.032872 - -0.004980 -0.283163 -0.030496 - -0.004352 -0.286292 -0.025248 - -0.004472 -0.289312 -0.023766 - -0.004438 -0.297099 -0.022931 - -0.000219 -0.270320 -0.033987 - -0.005680 -0.274132 -0.025349 - -0.005405 -0.291137 -0.020941 - -0.003259 -0.288600 -0.015178 - -0.003140 -0.288734 -0.009550 - -0.004918 -0.287426 -0.002675 - -0.008215 -0.286556 0.000746 - -0.000784 -0.276645 -0.021791 - 0.002831 -0.278378 -0.017336 - 0.004227 -0.279963 -0.012833 - 0.001871 -0.279556 -0.004865 - -0.005255 -0.280590 -0.000547 - -0.007604 -0.281241 -0.000560 - 0.009713 -0.278483 -0.024464 - -0.006093 -0.270213 -0.019561 - -0.001314 -0.273361 -0.016955 - 0.000624 -0.274196 -0.011630 - -0.001128 -0.274224 -0.006328 - -0.004515 -0.274949 -0.003621 - -0.008726 -0.273296 -0.001730 - 0.000543 -0.269516 -0.019547 - -0.006970 -0.266334 -0.009127 - 0.015406 -0.284528 -0.025336 - 0.013312 -0.283321 -0.020057 - 0.012064 -0.284744 -0.012793 - 0.010340 -0.283020 -0.008705 - 0.008863 -0.281382 -0.004190 - 0.017580 -0.289385 -0.026864 - 0.015714 -0.288724 -0.018685 - 0.013674 -0.288393 -0.012535 - 0.013172 -0.285872 -0.009064 - 0.013613 -0.285364 -0.005840 - 0.017085 -0.294866 -0.027418 - 0.015569 -0.293575 -0.019386 - 0.013521 -0.292119 -0.012723 - 0.014469 -0.292237 -0.008933 - 0.014833 -0.292261 -0.006123 - 0.011632 -0.299754 -0.020104 - 0.010544 -0.297107 -0.013407 - 0.010647 -0.296786 -0.009133 - 0.009532 -0.298110 -0.004600 - 0.004218 -0.301180 -0.018558 - 0.003966 -0.298370 -0.011211 - 0.003981 -0.298598 -0.007254 - 0.003666 -0.299191 -0.002382 - -0.002499 -0.296840 -0.018021 - -0.000776 -0.295464 -0.010884 - -0.000540 -0.296957 -0.005080 - -0.001149 -0.298908 0.000018 - -0.003687 -0.291230 -0.016841 - -0.002756 -0.291286 -0.009557 - -0.004298 -0.291975 -0.002914 - -0.007010 -0.293095 0.000731 - 0.005384 -0.291532 -0.037754 - 0.007230 -0.291693 -0.030575 - 0.006180 -0.280740 -0.038445 - 0.008076 -0.279409 -0.031089 - 0.009639 -0.278443 -0.024458 - 0.006761 -0.285540 -0.036787 - 0.008795 -0.286054 -0.030469 - 0.006566 -0.290088 -0.035287 - 0.003730 -0.266854 -0.025257 - 0.006736 -0.264837 -0.016813 - 0.006186 -0.262338 -0.012123 - 0.003690 -0.273340 -0.034135 - 0.005615 -0.271728 -0.027749 - -0.007667 -0.260900 0.010428 - -0.011129 -0.261075 -0.000199 - -0.008536 -0.259852 -0.015319 - -0.001495 -0.260296 -0.025350 - -0.010141 -0.279368 0.004475 - -0.010110 -0.273404 0.009054 - -0.009356 -0.265051 0.011089 - -0.005826 -0.290703 0.005216 - -0.005376 -0.291468 0.010361 - -0.005761 -0.286223 0.013935 - -0.005254 -0.279402 0.016580 - -0.004235 -0.270576 0.014945 - -0.000776 -0.297935 0.007316 - -0.001010 -0.294387 0.013980 - 0.001717 -0.290229 0.018066 - 0.000610 -0.286407 0.019544 - -0.000330 -0.281830 0.020771 - 0.002317 -0.297589 0.011059 - 0.007460 -0.295108 0.014537 - 0.010172 -0.289351 0.016043 - 0.008882 -0.280127 0.015308 - 0.009263 -0.283447 0.016698 - 0.005069 -0.299011 0.001932 - 0.009922 -0.297249 0.000014 - 0.013551 -0.292249 -0.002188 - 0.013115 -0.286306 -0.001260 - 0.009440 -0.282017 0.000790 - 0.003432 -0.299874 0.006789 - 0.011076 -0.299271 0.006353 - 0.015577 -0.295345 0.006527 - 0.016858 -0.291095 0.005933 - 0.016818 -0.286690 0.006324 - 0.013095 -0.281181 0.006746 - 0.008211 -0.278995 0.007128 - 0.006782 -0.299695 0.010843 - 0.011682 -0.296932 0.013931 - 0.014112 -0.291093 0.016133 - 0.014688 -0.285733 0.015138 - 0.011296 -0.281280 0.014078 - -0.000979 -0.298563 0.004093 - 0.004632 -0.278044 0.011244 - 0.002939 -0.274501 0.008290 - 0.003082 -0.272393 0.004595 - 0.006112 -0.266775 -0.007410 - 0.006751 -0.271682 -0.006277 - 0.004070 -0.274857 0.001301 - 0.008000 -0.278592 -0.004304 - 0.005370 -0.277938 0.000189 - 0.007513 -0.280087 -0.000029 - 0.005973 -0.278931 0.009821 - 0.006291 -0.279137 0.003778 - 0.004212 -0.277520 0.005751 - 0.006441 -0.280080 -0.008673 - 0.006099 -0.280151 -0.017543 - 0.005123 -0.272035 -0.009627 - 0.004907 -0.271847 -0.014437 - 0.005456 -0.266769 -0.012823 - 0.006000 -0.261020 -0.015903 - 0.005545 -0.262529 -0.007731 - 0.002279 -0.262817 0.000811 - 0.003717 -0.246915 -0.014849 - 0.005378 -0.245431 -0.008828 - 0.001550 -0.245784 -0.001498 - -0.009665 -0.244816 0.005731 - -0.012037 -0.242822 -0.001386 - -0.011242 -0.242399 -0.011966 - -0.003615 -0.247872 -0.021303 - 0.000268 -0.246665 -0.017915 - 0.003721 -0.246949 -0.014852 - 0.005380 -0.192929 -0.010625 - 0.003402 -0.226637 -0.013316 - 0.005137 -0.226970 -0.007943 - 0.005411 -0.194794 -0.004278 - -0.000305 -0.225814 -0.000853 - 0.000467 -0.193890 0.000268 - -0.010525 -0.226541 0.003325 - -0.007298 -0.193380 0.001301 - -0.013335 -0.226722 -0.003529 - -0.013444 -0.193071 -0.004460 - -0.012748 -0.227827 -0.012980 - -0.012464 -0.192921 -0.012504 - -0.005256 -0.227419 -0.018903 - -0.002420 -0.192819 -0.017128 - -0.001158 -0.228425 -0.017326 - 0.002633 -0.193354 -0.014930 - 0.003408 -0.226693 -0.013317 - 0.005355 -0.193002 -0.010619 - 0.007425 -0.150734 -0.007848 - 0.007986 -0.152205 -0.000563 - 0.004291 -0.151938 0.003414 - 0.000289 -0.151330 0.005056 - -0.005137 -0.148847 0.003371 - -0.010171 -0.147607 -0.003716 - -0.008081 -0.148241 -0.012067 - 0.001852 -0.148773 -0.014361 - 0.008472 -0.119500 -0.004121 - - - - - 10 9 0 - 1 10 0 - 11 10 1 - 2 11 1 - 12 11 2 - 3 12 2 - 13 12 3 - 4 13 3 - 14 13 4 - 5 14 4 - 15 14 5 - 6 15 5 - 16 15 6 - 7 16 6 - 17 16 7 - 8 17 7 - 19 18 9 - 10 19 9 - 20 19 10 - 11 20 10 - 21 20 11 - 12 21 11 - 22 21 12 - 13 22 12 - 23 22 13 - 14 23 13 - 24 23 14 - 15 24 14 - 25 24 15 - 16 25 15 - 26 25 16 - 17 26 16 - 28 27 18 - 19 28 18 - 29 28 19 - 20 29 19 - 30 29 20 - 21 30 20 - 31 30 21 - 22 31 21 - 32 31 22 - 23 32 22 - 33 32 23 - 24 33 23 - 34 33 24 - 25 34 24 - 35 34 25 - 26 35 25 - 28 36 27 - 28 37 36 - 29 37 28 - 29 38 37 - 30 38 29 - 30 39 38 - 30 40 39 - 31 40 30 - 31 41 40 - 32 41 31 - 32 42 41 - 33 42 32 - 33 43 42 - 34 43 33 - 34 44 43 - 35 44 34 - 35 45 44 - 36 47 46 - 37 47 36 - 37 48 47 - 38 48 37 - 38 49 48 - 38 50 49 - 39 50 38 - 39 51 50 - 40 51 39 - 40 52 51 - 40 53 52 - 41 53 40 - 41 54 53 - 42 54 41 - 42 55 54 - 42 56 55 - 43 56 42 - 43 57 56 - 44 57 43 - 44 58 57 - 44 59 58 - 45 59 44 - 45 46 59 - 7 60 0 - 6 60 7 - 5 60 6 - 4 60 5 - 3 60 4 - 2 60 3 - 1 60 2 - 0 60 1 - 63 62 61 - 64 63 61 - 65 63 64 - 66 65 64 - 67 65 66 - 68 67 66 - 69 67 68 - 70 69 68 - 71 69 70 - 72 69 71 - 73 72 71 - 74 72 73 - 75 74 73 - 76 74 75 - 77 76 75 - 78 76 77 - 79 78 77 - 80 78 79 - 61 80 79 - 82 81 62 - 63 82 62 - 83 82 63 - 65 83 63 - 84 83 65 - 67 84 65 - 85 84 67 - 69 85 67 - 86 85 69 - 72 86 69 - 87 86 72 - 74 87 72 - 88 87 74 - 76 88 74 - 89 88 76 - 78 89 76 - 90 89 78 - 80 90 78 - 92 91 81 - 82 92 81 - 93 92 82 - 83 93 82 - 94 93 83 - 84 94 83 - 85 94 84 - 95 94 85 - 86 95 85 - 96 95 86 - 87 96 86 - 97 96 87 - 88 97 87 - 98 97 88 - 89 98 88 - 99 98 89 - 90 99 89 - 101 100 91 - 92 101 91 - 102 101 92 - 93 102 92 - 103 102 93 - 94 103 93 - 104 103 94 - 95 104 94 - 105 104 95 - 96 105 95 - 106 105 96 - 97 106 96 - 107 106 97 - 98 107 97 - 100 107 98 - 99 100 98 - 110 71 70 - 108 110 70 - 111 110 108 - 109 111 108 - 52 111 109 - 51 52 109 - 112 73 71 - 110 112 71 - 111 112 110 - 53 112 111 - 52 53 111 - 112 75 73 - 54 75 112 - 53 54 112 - 75 113 77 - 54 113 75 - 54 55 113 - 113 114 77 - 113 115 114 - 55 115 113 - 55 56 115 - 116 115 56 - 57 116 56 - 117 116 57 - 58 117 57 - 118 117 58 - 59 118 58 - 119 114 115 - 116 119 115 - 117 119 116 - 120 119 117 - 118 120 117 - 119 77 114 - 79 77 119 - 120 79 119 - 121 118 59 - 46 121 59 - 122 121 46 - 47 122 46 - 123 120 118 - 121 123 118 - 124 123 121 - 122 124 121 - 61 79 120 - 123 61 120 - 64 61 123 - 124 64 123 - 125 122 47 - 48 125 47 - 49 125 48 - 126 125 49 - 50 126 49 - 109 126 50 - 51 109 50 - 127 124 122 - 125 127 122 - 128 127 125 - 126 128 125 - 108 128 126 - 109 108 126 - 66 64 124 - 127 66 124 - 68 66 127 - 128 68 127 - 70 68 128 - 108 70 128 - 136 135 129 - 130 136 129 - 137 136 130 - 131 137 130 - 138 137 131 - 132 138 131 - 139 138 132 - 133 139 132 - 140 139 133 - 134 140 133 - 142 141 135 - 136 142 135 - 143 142 136 - 137 143 136 - 144 143 137 - 138 144 137 - 145 144 138 - 139 145 138 - 146 145 139 - 140 146 139 - 142 147 141 - 148 147 142 - 143 148 142 - 149 148 143 - 144 149 143 - 145 149 144 - 146 149 145 - 149 154 148 - 150 154 149 - 150 155 154 - 151 155 150 - 151 156 155 - 152 156 151 - 152 157 156 - 152 158 157 - 153 158 152 - 153 159 158 - 162 161 148 - 154 162 148 - 163 162 154 - 155 163 154 - 156 163 155 - 164 163 156 - 157 164 156 - 165 164 157 - 158 165 157 - 166 165 158 - 159 166 158 - 162 168 161 - 163 168 162 - 164 168 163 - 165 168 164 - 166 168 165 - 175 174 169 - 170 175 169 - 176 175 170 - 171 176 170 - 177 176 171 - 172 177 171 - 178 177 172 - 173 178 172 - 180 179 174 - 175 180 174 - 181 180 175 - 176 181 175 - 182 181 176 - 177 182 176 - 183 182 177 - 178 183 177 - 184 134 179 - 180 184 179 - 185 184 180 - 181 185 180 - 186 185 181 - 182 186 181 - 187 186 182 - 183 187 182 - 188 140 134 - 184 188 134 - 189 188 184 - 185 189 184 - 190 189 185 - 186 190 185 - 191 190 186 - 187 191 186 - 192 146 140 - 188 192 140 - 193 192 188 - 189 193 188 - 194 193 189 - 190 194 189 - 195 194 190 - 191 195 190 - 196 149 146 - 192 196 146 - 197 196 192 - 193 197 192 - 198 197 193 - 194 198 193 - 199 198 194 - 195 199 194 - 196 150 149 - 151 150 196 - 197 151 196 - 152 151 197 - 198 152 197 - 153 152 198 - 199 153 198 - 200 132 131 - 133 132 200 - 201 133 200 - 134 133 201 - 179 134 201 - 205 130 129 - 202 205 129 - 206 205 202 - 203 206 202 - 169 206 203 - 204 169 203 - 207 131 130 - 205 207 130 - 201 207 205 - 206 201 205 - 174 201 206 - 169 174 206 - 207 200 131 - 201 200 207 - 174 179 201 - 211 141 147 - 208 211 147 - 212 211 208 - 209 212 208 - 167 212 209 - 210 167 209 - 202 129 141 - 211 202 141 - 203 202 211 - 212 203 211 - 160 203 212 - 167 160 212 - 215 168 214 - 215 161 168 - 215 148 161 - 216 148 215 - 216 147 148 - 214 168 217 - 218 214 217 - 219 214 218 - 213 214 219 - 217 153 199 - 220 217 199 - 221 217 220 - 218 217 221 - 222 218 221 - 219 218 222 - 223 219 222 - 213 219 223 - 224 213 223 - 220 199 195 - 225 220 195 - 221 220 225 - 226 221 225 - 227 221 226 - 222 221 227 - 228 222 227 - 223 222 228 - 229 223 228 - 224 223 229 - 230 226 225 - 227 226 230 - 231 227 230 - 232 227 231 - 228 227 232 - 234 228 232 - 229 228 234 - 233 229 234 - 224 229 233 - 235 241 240 - 236 241 235 - 236 242 241 - 237 242 236 - 237 243 242 - 238 243 237 - 238 244 243 - 238 245 244 - 239 245 238 - 239 246 245 - 241 247 240 - 248 247 241 - 242 248 241 - 249 248 242 - 243 249 242 - 250 249 243 - 244 250 243 - 245 250 244 - 251 250 245 - 246 251 245 - 195 252 225 - 235 225 195 - 240 225 235 - 230 225 240 - 247 230 240 - 231 230 247 - 248 231 247 - 232 231 248 - 249 232 248 - 250 232 249 - 234 232 250 - 251 234 250 - 233 234 251 - 253 224 233 - 254 224 253 - 255 224 254 - 258 257 256 - 255 258 256 - 260 259 257 - 258 260 257 - 260 261 259 - 239 173 259 - 261 239 259 - 238 178 173 - 239 238 173 - 237 183 178 - 238 237 178 - 236 187 183 - 237 236 183 - 235 191 187 - 236 235 187 - 235 195 191 - 246 233 251 - 246 262 233 - 246 263 262 - 239 263 246 - 239 261 263 - 264 253 233 - 262 264 233 - 263 264 262 - 260 264 263 - 261 260 263 - 264 254 253 - 258 254 264 - 260 258 264 - 258 255 254 - 265 259 173 - 172 265 173 - 156 265 172 - 171 156 172 - 266 156 171 - 170 266 171 - 204 266 170 - 169 204 170 - 267 257 259 - 265 267 259 - 156 267 265 - 268 267 156 - 266 268 156 - 167 268 266 - 204 167 266 - 269 256 257 - 267 269 257 - 268 269 267 - 209 269 268 - 167 209 268 - 269 210 256 - 269 210 209 - 208 147 216 - 270 208 216 - 209 208 270 - 210 209 270 - 271 256 210 - 255 256 271 - 272 255 271 - 224 255 272 - 213 224 272 - 274 270 273 - 274 210 270 - 275 210 274 - 275 271 210 - 276 271 275 - 276 272 271 - 276 213 272 - 277 213 276 - 277 214 213 - 278 214 277 - 278 215 214 - 279 215 278 - 279 216 215 - 280 216 279 - 280 270 216 - 281 270 280 - 284 283 282 - 285 284 282 - 286 284 285 - 287 286 285 - 288 286 287 - 289 288 287 - 290 288 289 - 291 290 289 - 292 290 291 - 293 292 291 - 294 292 293 - 295 294 293 - 296 294 295 - 297 296 295 - 298 296 297 - 299 298 297 - 274 273 283 - 284 274 283 - 275 274 284 - 286 275 284 - 276 275 286 - 288 276 286 - 277 276 288 - 290 277 288 - 278 277 290 - 292 278 290 - 279 278 292 - 294 279 292 - 280 279 294 - 296 280 294 - 281 280 296 - 298 281 296 - 285 282 300 - 301 285 300 - 287 285 301 - 302 287 301 - 289 287 302 - 303 289 302 - 291 289 303 - 304 291 303 - 293 291 304 - 305 293 304 - 295 293 305 - 306 295 305 - 297 295 306 - 307 297 306 - 299 297 307 - 300 299 307 - 301 300 100 - 101 301 100 - 302 301 101 - 102 302 101 - 303 302 102 - 103 303 102 - 304 303 103 - 104 304 103 - 305 304 104 - 105 305 104 - 306 305 105 - 106 306 105 - 307 306 106 - 107 307 106 - 300 307 107 - 308 300 107 - 159 217 166 - 159 153 217 - - - 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72 75 78 81 84 87 90 93 96 99 102 105 108 111 114 117 120 123 126 129 132 135 138 141 144 147 150 153 156 159 162 165 168 171 174 177 180 183 186 189 192 195 198 201 204 207 210 213 216 219 222 225 228 231 234 237 240 243 246 249 252 255 258 261 264 267 270 273 276 279 282 285 288 291 294 297 300 303 306 309 312 315 318 321 324 327 330 333 336 339 342 345 348 351 354 357 360 363 366 369 372 375 378 381 384 387 390 393 396 399 402 405 408 411 414 417 420 423 426 429 432 435 438 441 444 447 450 453 456 459 462 465 468 471 474 477 480 483 486 489 492 495 498 501 504 507 510 513 516 519 522 525 528 531 534 537 540 543 546 549 552 555 558 561 564 567 570 573 576 579 582 585 588 591 594 597 600 603 606 609 612 615 618 621 624 627 630 633 636 639 642 645 648 651 654 657 660 663 666 669 672 675 678 681 684 687 690 693 696 699 702 705 708 711 714 717 720 723 726 729 732 735 738 741 744 747 750 753 756 759 762 765 768 771 774 777 780 783 786 789 792 795 798 801 804 807 810 813 816 819 822 825 828 831 834 837 840 843 846 849 852 855 858 861 864 867 870 873 876 879 882 885 888 891 894 897 900 903 906 909 912 915 918 921 924 927 930 933 936 939 942 945 948 951 954 957 960 963 966 969 972 975 978 981 984 987 990 993 996 999 1002 1005 1008 1011 1014 1017 1020 1023 1026 1029 1032 1035 1038 1041 1044 1047 1050 1053 1056 1059 1062 1065 1068 1071 1074 1077 1080 1083 1086 1089 1092 1095 1098 1101 1104 1107 1110 1113 1116 1119 1122 1125 1128 1131 1134 1137 1140 1143 1146 1149 1152 1155 1158 1161 1164 1167 1170 1173 1176 1179 1182 1185 1188 1191 1194 1197 1200 1203 1206 1209 1212 1215 1218 1221 1224 1227 1230 1233 1236 1239 1242 1245 1248 1251 1254 1257 1260 1263 1266 1269 1272 1275 1278 1281 1284 1287 1290 1293 1296 1299 1302 1305 1308 1311 1314 1317 1320 1323 1326 1329 1332 1335 1338 1341 1344 1347 1350 1353 1356 1359 1362 1365 1368 1371 1374 1377 1380 1383 1386 1389 1392 1395 1398 1401 1404 1407 1410 1413 1416 1419 1422 1425 1428 1431 1434 1437 1440 1443 1446 1449 1452 1455 1458 1461 1464 1467 1470 1473 1476 1479 1482 1485 1488 1491 1494 1497 1500 1503 1506 1509 1512 1515 1518 1521 1524 1527 1530 1533 1536 1539 1542 1545 1548 1551 1554 1557 1560 1563 1566 1569 1572 1575 1578 1581 1584 1587 1590 1593 1596 1599 1602 1605 1608 1611 1614 1617 1620 1623 1626 1629 1632 1635 1638 1641 1644 1647 1650 1653 1656 1659 1662 1665 1668 1671 1674 1677 1680 1683 1686 1689 1692 1695 1698 1701 1704 1707 1710 1713 1716 1719 1722 1725 1728 1731 1734 1737 1740 1743 1746 1749 1752 1755 1758 1761 1764 - - - - - diff --git a/examples/getting_started/mesh/arm_r_ulna.vtp b/examples/getting_started/mesh/arm_r_ulna.vtp deleted file mode 100644 index 0674d1d5..00000000 --- a/examples/getting_started/mesh/arm_r_ulna.vtp +++ /dev/null @@ -1,842 +0,0 @@ - - - - - - - 0.458916 0.735698 0.498140 - 0.646546 0.477163 0.595226 - 0.460386 0.574867 0.676441 - 0.647775 0.741283 0.175749 - 0.203947 0.631014 0.748483 - 0.514927 0.688032 0.511333 - 0.364044 0.920999 -0.138679 - -0.025867 0.997673 0.063086 - 0.800612 0.511790 -0.311595 - 0.798472 0.519953 0.303466 - 0.565094 0.817515 0.111074 - 0.833920 0.539215 -0.117368 - 0.509369 0.810645 -0.288787 - -0.197389 0.884489 -0.422749 - 0.720562 0.402587 -0.564548 - 0.527583 0.678220 -0.511541 - 0.247272 0.838187 -0.486105 - 0.057536 0.892322 -0.447718 - 0.846210 0.183183 -0.500373 - 0.661344 0.222359 -0.716366 - 0.483602 0.612276 -0.625498 - 0.401217 0.833109 -0.380728 - 0.188123 0.947836 -0.257328 - 0.541760 0.410975 -0.733209 - 0.377002 0.589443 0.714441 - -0.464898 0.667100 0.582106 - -0.242290 0.357706 0.901855 - 0.271312 0.106558 0.956575 - 0.642522 0.665532 0.379778 - 0.405220 0.616322 0.675237 - 0.353350 0.075415 0.932447 - 0.313341 0.147039 0.938188 - 0.530831 0.093905 0.842259 - 0.670951 0.394668 0.627743 - 0.806719 -0.322855 0.494943 - 0.917138 -0.075545 0.391346 - 0.961401 0.180013 0.208096 - 0.851940 0.476482 0.217169 - 0.767232 0.415748 0.488374 - 0.780836 -0.520314 0.345786 - 0.928668 -0.329299 0.170698 - 0.994630 -0.092270 0.046867 - 0.954951 0.273169 0.115966 - 0.919093 0.392267 -0.037344 - 0.778091 -0.619859 0.101735 - 0.886171 -0.461502 0.041430 - 0.982123 -0.179748 -0.055897 - 0.973560 0.177710 -0.143529 - 0.863294 0.076122 -0.498927 - 0.779048 -0.576295 -0.246916 - 0.865154 -0.444654 -0.231931 - 0.935912 -0.204794 -0.286581 - 0.879330 0.077646 -0.469841 - 0.576361 0.329417 -0.747859 - 0.859629 -0.408269 -0.307172 - 0.898215 -0.315491 -0.306064 - 0.837514 -0.234139 -0.493710 - 0.734732 -0.049436 -0.676554 - 0.044714 0.146605 -0.988184 - 0.592165 -0.372860 -0.714364 - 0.576335 -0.465357 -0.671774 - 0.590269 -0.453279 -0.667923 - 0.426949 -0.292715 -0.855589 - 0.290660 0.174925 -0.940701 - -0.429133 -0.048695 -0.901928 - -0.338600 -0.382424 -0.859711 - -0.442547 0.583604 -0.680851 - -0.684963 -0.003338 -0.728571 - -0.210798 0.904705 -0.370234 - -0.727449 0.237478 -0.643756 - -0.854147 0.520029 0.001852 - -0.206459 0.975506 0.075919 - -0.717547 0.598950 0.355507 - -0.332570 0.912458 0.238365 - -0.753402 0.418838 0.506912 - -0.278877 0.958925 -0.051874 - -0.989158 -0.103600 0.104088 - -0.820941 -0.298814 -0.486586 - -0.881009 0.041940 0.471236 - -0.751121 -0.405552 -0.520907 - -0.966419 -0.150011 -0.208641 - -0.944190 0.109647 0.310617 - -0.619636 0.234280 0.749109 - 0.146585 0.209130 0.966839 - 0.022774 0.155261 0.987611 - 0.011069 0.146231 0.989189 - -0.085363 0.205250 0.974980 - 0.274922 0.179486 0.944565 - 0.097497 0.412279 0.905826 - -0.845890 0.031235 0.532442 - -0.963413 -0.012721 0.267718 - -0.898746 0.066687 0.433368 - -0.996671 -0.063986 -0.050516 - 0.632346 -0.311680 -0.709221 - -0.561984 -0.302741 -0.769755 - -0.058347 0.645923 -0.761170 - -0.135879 -0.579322 -0.803693 - 0.392662 -0.705936 -0.589466 - 0.149945 -0.460509 -0.874899 - 0.220452 -0.422956 -0.878925 - -0.545099 -0.412621 -0.729802 - -0.550406 -0.394611 -0.735755 - -0.539912 -0.328555 -0.774950 - -0.613572 -0.310857 -0.725877 - 0.997006 -0.031041 0.070821 - 0.983810 -0.129388 0.124000 - 0.986125 -0.157970 0.051024 - 0.869833 -0.421598 0.256216 - 0.646443 -0.199927 0.736302 - 0.383170 0.205538 0.900519 - 0.606596 0.161212 0.778493 - 0.771385 -0.107864 0.627161 - 0.777407 -0.321356 0.540711 - 0.448972 0.374801 0.811141 - 0.814467 -0.556501 -0.164165 - 0.890631 -0.331612 -0.311144 - 0.576254 -0.775546 -0.257800 - 0.746491 -0.664086 -0.041728 - 0.814488 -0.568903 -0.113836 - 0.589365 -0.166003 -0.790627 - -0.767295 -0.188417 -0.612990 - -0.921793 -0.003920 0.387663 - -0.093538 0.160692 0.982562 - 0.650107 0.175633 0.739266 - 0.958246 -0.031070 -0.284254 - 0.634952 -0.746424 -0.199219 - 0.785681 -0.594690 -0.170438 - 0.662138 0.013292 -0.749264 - 0.916049 0.171680 -0.362465 - 0.804537 -0.539504 0.221076 - 0.854898 0.302530 0.421455 - 0.521645 -0.608983 0.597517 - 0.136396 0.083216 0.987153 - -0.212886 -0.713225 0.667825 - -0.033313 -0.810462 0.584843 - -0.313009 -0.182993 0.931954 - 0.237240 -0.717438 0.654980 - -0.375258 -0.148293 0.914981 - 0.478724 -0.542180 0.681190 - -0.203983 -0.804742 0.557478 - -0.976079 -0.141753 0.164852 - -0.251498 -0.669839 -0.698616 - -0.575388 -0.274393 -0.770479 - 0.077574 -0.722662 -0.686834 - -0.194234 -0.474098 -0.858781 - 0.102078 -0.874691 -0.473811 - -0.052963 -0.833727 -0.549632 - -0.038806 -0.413585 -0.909638 - 0.006202 -0.865646 -0.500618 - 0.304455 -0.952468 -0.010537 - 0.665127 -0.015867 -0.746561 - 0.582109 0.140767 -0.800833 - 0.821074 0.084950 -0.564465 - 0.816662 0.319662 -0.480500 - 0.862232 0.354156 0.362117 - 0.711975 0.600983 0.363195 - -0.063910 0.323128 0.944195 - 0.024750 0.534066 0.845081 - -0.540232 0.218870 0.812555 - -0.749416 0.124155 0.650355 - -0.833209 0.191805 0.518627 - -0.975187 -0.048451 -0.216015 - -0.876297 -0.075169 -0.475870 - -0.458836 -0.190342 -0.867893 - -0.256342 -0.210716 -0.943339 - 0.299986 -0.167009 -0.939210 - 0.062336 -0.098192 -0.993213 - 0.730915 -0.059856 -0.679839 - 0.685598 -0.111862 -0.719334 - 0.874037 0.014438 -0.485644 - 0.959529 0.039190 -0.278868 - 0.920824 0.140404 0.363826 - 0.578406 0.253496 0.775362 - -0.267078 0.133984 0.954315 - -0.207165 0.204877 0.956613 - -0.910180 0.005446 0.414178 - -0.963010 -0.088844 0.254400 - -0.870179 -0.189540 -0.454822 - -0.679173 -0.195789 -0.707383 - -0.132739 -0.236906 -0.962422 - -0.148435 -0.197284 -0.969044 - 0.389940 -0.196652 -0.899597 - 0.845740 0.022864 -0.533105 - 0.834209 0.034026 -0.550397 - 0.924194 0.069290 -0.375585 - 0.868560 0.006912 -0.495535 - 0.800176 0.149408 0.580858 - 0.845522 0.140790 0.515043 - -0.315983 0.099211 0.943563 - -0.216632 0.093186 0.971796 - -0.949626 -0.072316 0.304929 - -0.867000 -0.063429 0.494256 - -0.695223 -0.190820 -0.693002 - -0.818766 -0.169711 -0.548470 - -0.422556 -0.206263 -0.882554 - -0.545691 -0.141128 -0.826017 - 0.831043 -0.029503 -0.555426 - 0.834118 -0.004550 -0.539849 - 0.856199 0.003379 -0.516635 - 0.882293 -0.000156 -0.470701 - 0.860023 0.100141 0.500332 - 0.848110 0.153135 0.507207 - -0.075076 0.082152 0.993788 - 0.036533 0.114544 0.992746 - -0.749157 -0.055872 0.660031 - -0.735792 -0.003637 0.677198 - -0.855899 -0.135533 -0.499066 - -0.841058 -0.170777 -0.513281 - -0.577933 -0.151264 -0.801943 - -0.562007 -0.187873 -0.805514 - -0.501913 -0.174646 -0.847102 - - - - - -0.009357 -0.010036 0.007856 - -0.010113 -0.010628 0.012293 - -0.005751 -0.012393 0.009177 - -0.009587 -0.008686 0.004887 - -0.001042 -0.013203 0.007970 - 0.004926 -0.013329 0.007780 - -0.005391 -0.011931 0.004384 - -0.000688 -0.012641 0.003623 - 0.006213 -0.009919 0.001606 - -0.009776 -0.007221 0.002900 - -0.006989 -0.010853 0.002674 - -0.009685 -0.006639 0.000925 - -0.006101 -0.011527 0.000355 - 0.003168 -0.012140 -0.000014 - -0.010966 -0.007764 -0.002189 - -0.007740 -0.011973 -0.002722 - -0.003865 -0.014444 -0.003771 - 0.000227 -0.015392 -0.004438 - 0.003736 -0.017105 -0.007017 - -0.013733 -0.009489 -0.005649 - -0.011323 -0.012143 -0.005843 - -0.006664 -0.015670 -0.007238 - -0.004121 -0.016919 -0.007897 - 0.002128 -0.017355 -0.010678 - -0.010229 0.011257 0.008116 - -0.016565 0.009458 0.008913 - -0.022600 0.000150 0.008779 - -0.019672 -0.005675 0.008804 - -0.014884 -0.011751 0.011155 - -0.011490 -0.014190 0.014937 - -0.015357 0.008150 0.010269 - -0.016029 0.003307 0.011050 - -0.014180 -0.002495 0.010496 - -0.011123 -0.006937 0.008266 - -0.011660 0.005528 0.006181 - -0.012463 -0.000144 0.005497 - -0.011781 -0.004516 0.005016 - -0.010900 -0.007066 0.004913 - -0.007100 0.011211 0.004532 - -0.009296 0.007642 0.002884 - -0.011011 0.004319 0.002439 - -0.012036 0.000749 0.002667 - -0.012136 -0.002561 0.002978 - -0.005171 0.010977 0.000103 - -0.008128 0.007480 0.000066 - -0.010493 0.004523 0.000154 - -0.011811 0.000631 0.000208 - -0.011983 -0.002286 0.000202 - -0.006964 0.010672 -0.006821 - -0.008967 0.007762 -0.004901 - -0.011210 0.004318 -0.004404 - -0.012698 0.000330 -0.003141 - -0.013222 -0.004130 -0.004468 - -0.011417 0.010028 -0.011276 - -0.013548 0.004899 -0.009863 - -0.014871 0.000421 -0.008549 - -0.014754 -0.002771 -0.008016 - -0.015063 -0.006286 -0.007030 - -0.015004 0.005051 -0.014066 - -0.015594 0.001018 -0.013028 - -0.015723 -0.003174 -0.011095 - -0.017002 -0.005548 -0.010122 - -0.017284 -0.008048 -0.008299 - -0.016543 -0.010502 -0.008000 - -0.021637 0.001640 -0.012487 - -0.024802 -0.006831 -0.008613 - -0.017269 0.009055 -0.010983 - -0.025204 -0.000674 -0.010929 - -0.016279 0.011983 -0.006461 - -0.026911 0.002944 -0.009452 - -0.028321 0.006336 -0.003634 - -0.016319 0.012146 -0.001409 - -0.026861 0.006069 -0.000548 - -0.017285 0.011343 0.003255 - -0.025526 0.004302 0.003453 - -0.013178 0.010488 0.009742 - -0.027263 -0.023614 0.007713 - -0.026834 -0.017932 0.003210 - -0.027201 -0.016895 0.007715 - -0.026110 -0.010656 -0.003416 - -0.027814 -0.009128 -0.000839 - -0.027652 -0.007253 0.003922 - -0.025039 -0.008617 0.009391 - -0.015260 -0.047309 0.022131 - -0.015520 -0.039126 0.020773 - -0.013654 -0.034003 0.020165 - -0.011510 -0.026966 0.018995 - -0.011080 -0.019733 0.018229 - -0.011262 -0.016953 0.017075 - -0.024556 -0.047852 0.018535 - -0.025608 -0.042737 0.016368 - -0.026040 -0.038879 0.014619 - -0.027055 -0.032266 0.011806 - -0.009276 -0.049715 0.007928 - -0.019383 -0.050637 0.010018 - -0.008958 -0.015086 -0.012608 - -0.008341 -0.022540 -0.010901 - -0.007115 -0.026690 -0.004722 - -0.008486 -0.035129 0.000490 - -0.009268 -0.042353 0.003672 - -0.018624 -0.018964 -0.001087 - -0.019743 -0.029313 0.002405 - -0.019500 -0.035780 0.004815 - -0.020181 -0.042502 0.007588 - -0.007815 -0.049835 0.014590 - -0.006137 -0.040569 0.009859 - -0.004792 -0.032287 0.008138 - -0.003458 -0.025770 0.009526 - -0.000484 -0.021743 0.011659 - -0.003872 -0.023347 0.012984 - -0.007166 -0.022235 0.014586 - -0.009094 -0.036189 0.014504 - 0.002050 -0.017995 0.009994 - -0.005836 -0.017989 0.010815 - -0.003149 -0.023945 0.001898 - -0.006957 -0.038475 0.005361 - -0.002206 -0.022298 -0.007160 - -0.000570 -0.020324 -0.002135 - 0.001171 -0.019370 0.000979 - -0.011116 -0.071821 0.012425 - -0.020548 -0.071261 0.017357 - -0.022394 -0.072183 0.024932 - -0.014015 -0.070733 0.025700 - -0.007666 -0.069125 0.025577 - -0.009599 -0.070744 0.018446 - 0.009410 -0.243676 0.043255 - 0.012917 -0.241602 0.046665 - 0.008288 -0.240273 0.040753 - 0.012822 -0.236019 0.044892 - 0.012263 -0.240984 0.051220 - 0.014063 -0.233464 0.050313 - 0.009751 -0.241508 0.054184 - 0.010178 -0.235557 0.055045 - 0.006772 -0.242521 0.053265 - 0.004299 -0.243309 0.050507 - 0.004889 -0.237586 0.056111 - 0.000318 -0.244179 0.049408 - 0.001133 -0.239277 0.052473 - -0.000803 -0.245551 0.049697 - -0.002469 -0.247579 0.048385 - -0.006015 -0.241890 0.048676 - -0.004183 -0.246115 0.046044 - -0.001943 -0.241983 0.044509 - -0.001392 -0.244938 0.045709 - 0.000672 -0.241648 0.041950 - -0.000119 -0.243866 0.044798 - 0.003665 -0.243547 0.042997 - 0.008537 -0.240654 0.040981 - 0.009194 -0.243787 0.043481 - 0.002500 -0.244073 0.046853 - 0.003124 -0.225482 0.039989 - 0.005034 -0.232866 0.040708 - 0.007103 -0.223076 0.043483 - 0.010181 -0.230479 0.044736 - 0.006682 -0.221256 0.046859 - 0.010114 -0.229923 0.049335 - 0.001049 -0.222100 0.048268 - 0.004541 -0.229540 0.052339 - -0.000156 -0.232577 0.050018 - -0.003584 -0.224031 0.045977 - -0.004004 -0.233448 0.048293 - -0.003667 -0.224985 0.042367 - -0.004510 -0.234841 0.043795 - -0.000837 -0.225949 0.038975 - -0.001106 -0.234266 0.040381 - 0.002966 -0.225788 0.040306 - 0.004538 -0.232793 0.041066 - 0.000011 -0.187811 0.031452 - 0.002274 -0.213747 0.037198 - 0.003142 -0.187567 0.034797 - 0.005377 -0.212413 0.039724 - 0.003580 -0.187165 0.040381 - 0.005309 -0.211865 0.043653 - -0.004026 -0.188058 0.040096 - -0.000642 -0.211918 0.045857 - -0.004708 -0.212914 0.043240 - -0.008312 -0.189183 0.036362 - -0.003940 -0.213930 0.038421 - -0.006101 -0.188188 0.032633 - -0.001637 -0.214316 0.035827 - -0.000030 -0.187224 0.030550 - 0.002217 -0.213549 0.037330 - -0.007424 -0.139403 0.022247 - -0.003629 -0.162055 0.026292 - -0.000825 -0.162913 0.031307 - -0.003030 -0.139136 0.028764 - 0.001183 -0.162503 0.037559 - -0.000529 -0.138117 0.033173 - -0.006564 -0.164007 0.037147 - -0.008696 -0.139344 0.033072 - -0.012079 -0.164801 0.034128 - -0.013992 -0.140012 0.030945 - -0.009909 -0.163225 0.029049 - -0.013352 -0.139035 0.025877 - -0.003444 -0.162145 0.026204 - -0.007482 -0.139207 0.022155 - -0.010793 -0.099704 0.016770 - -0.008780 -0.119076 0.019882 - -0.005038 -0.118462 0.025591 - -0.006602 -0.099055 0.022925 - -0.001902 -0.117483 0.031475 - -0.003527 -0.097181 0.028574 - -0.008729 -0.118618 0.031817 - -0.011010 -0.097853 0.029224 - -0.016497 -0.119127 0.031035 - -0.019080 -0.098461 0.030054 - -0.016151 -0.119174 0.025712 - -0.018081 -0.099691 0.023002 - -0.008848 -0.119372 0.020601 - -0.010327 -0.099969 0.017220 - -0.011079 -0.071726 0.011842 - - - - - 1 2 0 - 4 3 0 - 2 4 0 - 4 5 3 - 5 6 3 - 5 7 6 - 5 8 7 - 10 9 3 - 6 10 3 - 7 10 6 - 10 11 9 - 10 12 11 - 10 10 12 - 7 10 10 - 7 13 10 - 8 13 7 - 15 14 11 - 12 15 11 - 16 15 12 - 10 16 12 - 17 16 10 - 13 17 10 - 18 17 13 - 8 18 13 - 20 19 14 - 15 20 14 - 21 20 15 - 16 21 15 - 22 21 16 - 17 22 16 - 23 22 17 - 18 23 17 - 25 30 24 - 31 30 25 - 26 31 25 - 32 31 26 - 27 32 26 - 33 32 27 - 28 33 27 - 0 33 28 - 29 0 28 - 30 34 24 - 35 34 30 - 31 35 30 - 36 35 31 - 32 36 31 - 37 36 32 - 33 37 32 - 3 37 33 - 0 3 33 - 39 38 24 - 34 39 24 - 40 39 34 - 35 40 34 - 41 40 35 - 36 41 35 - 42 41 36 - 37 42 36 - 9 42 37 - 3 9 37 - 44 43 38 - 39 44 38 - 45 44 39 - 40 45 39 - 46 45 40 - 41 46 40 - 47 46 41 - 42 47 41 - 11 47 42 - 9 11 42 - 49 48 43 - 44 49 43 - 50 49 44 - 45 50 44 - 51 50 45 - 46 51 45 - 52 51 46 - 47 52 46 - 14 52 47 - 11 14 47 - 54 53 48 - 49 54 48 - 55 54 49 - 50 55 49 - 56 55 50 - 51 56 50 - 57 56 51 - 52 57 51 - 19 57 52 - 14 19 52 - 59 58 53 - 54 59 53 - 60 59 54 - 55 60 54 - 61 60 55 - 56 61 55 - 62 61 56 - 57 62 56 - 63 62 57 - 19 63 57 - 59 64 58 - 60 64 59 - 65 64 60 - 61 65 60 - 62 65 61 - 63 65 62 - 66 64 65 - 67 66 65 - 68 66 67 - 69 68 67 - 70 68 69 - 71 68 70 - 72 71 70 - 73 71 72 - 74 73 72 - 25 73 74 - 26 25 74 - 66 58 64 - 66 53 58 - 68 53 66 - 68 48 53 - 68 43 48 - 71 43 68 - 71 38 43 - 73 38 71 - 73 24 38 - 25 24 73 - 25 75 24 - 78 77 76 - 77 80 79 - 78 80 77 - 78 81 80 - 78 82 81 - 79 67 65 - 80 67 79 - 80 69 67 - 80 70 69 - 81 70 80 - 81 72 70 - 81 74 72 - 82 74 81 - 82 26 74 - 84 89 83 - 84 90 89 - 85 90 84 - 85 91 90 - 86 91 85 - 86 92 91 - 86 76 92 - 87 76 86 - 87 78 76 - 88 78 87 - 88 82 78 - 29 82 88 - 29 26 82 - 28 26 29 - 28 27 26 - 100 63 95 - 96 100 95 - 101 100 96 - 97 101 96 - 102 101 97 - 98 102 97 - 103 102 98 - 99 103 98 - 94 103 99 - 93 94 99 - 100 65 63 - 100 79 65 - 100 77 79 - 101 77 100 - 101 76 77 - 102 76 101 - 102 92 76 - 103 92 102 - 103 91 92 - 103 90 91 - 94 90 103 - 94 89 90 - 83 111 104 - 105 111 104 - 106 111 105 - 107 111 106 - 108 111 107 - 109 111 108 - 110 111 109 - 87 111 110 - 86 111 87 - 85 111 86 - 84 111 85 - 83 111 84 - 104 111 83 - 4 113 5 - 2 113 4 - 1 113 2 - 29 113 1 - 88 113 29 - 87 113 88 - 110 113 87 - 109 113 110 - 108 113 109 - 112 113 108 - 5 113 112 - 104 115 93 - 99 115 93 - 98 115 99 - 97 115 98 - 114 115 97 - 108 115 114 - 107 115 108 - 106 115 107 - 105 115 106 - 104 115 105 - 93 115 104 - 96 116 97 - 23 116 96 - 95 23 96 - 117 114 97 - 116 117 97 - 18 117 116 - 23 18 116 - 117 118 114 - 8 118 117 - 18 8 117 - 112 108 114 - 118 112 114 - 5 112 118 - 8 5 118 - 94 93 119 - 120 94 119 - 89 94 120 - 121 89 120 - 122 89 121 - 83 89 122 - 123 83 122 - 104 83 123 - 124 104 123 - 93 104 124 - 119 93 124 - 127 126 125 - 128 126 127 - 128 129 126 - 130 129 128 - 130 131 129 - 132 131 130 - 132 133 131 - 132 134 133 - 135 134 132 - 135 136 134 - 137 136 135 - 137 138 136 - 137 139 138 - 140 139 137 - 140 141 139 - 142 141 140 - 142 143 141 - 144 143 142 - 144 145 143 - 144 146 145 - 147 146 144 - 147 148 146 - 126 149 125 - 129 149 126 - 131 149 129 - 133 149 131 - 134 149 133 - 136 149 134 - 138 149 136 - 139 149 138 - 141 149 139 - 143 149 141 - 145 149 143 - 146 149 145 - 148 149 146 - 152 151 150 - 152 153 151 - 154 153 152 - 154 155 153 - 156 155 154 - 156 157 155 - 156 158 157 - 159 158 156 - 159 160 158 - 161 160 159 - 161 162 160 - 163 162 161 - 163 164 162 - 165 164 163 - 165 166 164 - 153 127 151 - 153 128 127 - 155 128 153 - 155 130 128 - 157 130 155 - 157 132 130 - 157 135 132 - 158 135 157 - 158 137 135 - 160 137 158 - 160 140 137 - 162 140 160 - 162 142 140 - 164 142 162 - 164 144 142 - 166 144 164 - 166 147 144 - 169 168 167 - 169 170 168 - 171 170 169 - 171 172 170 - 173 172 171 - 173 174 172 - 173 175 174 - 176 175 173 - 176 177 175 - 178 177 176 - 178 179 177 - 180 179 178 - 180 181 179 - 152 150 168 - 170 152 168 - 154 152 170 - 172 154 170 - 156 154 172 - 174 156 172 - 159 156 174 - 175 159 174 - 161 159 175 - 177 161 175 - 163 161 177 - 179 163 177 - 165 163 179 - 181 165 179 - 184 183 182 - 185 184 182 - 186 184 185 - 187 186 185 - 188 186 187 - 189 188 187 - 190 188 189 - 191 190 189 - 192 190 191 - 193 192 191 - 194 192 193 - 195 194 193 - 169 167 183 - 184 169 183 - 171 169 184 - 186 171 184 - 173 171 186 - 188 173 186 - 176 173 188 - 190 176 188 - 178 176 190 - 192 178 190 - 180 178 192 - 194 180 192 - 198 197 196 - 199 198 196 - 200 198 199 - 201 200 199 - 202 200 201 - 203 202 201 - 204 202 203 - 205 204 203 - 206 204 205 - 207 206 205 - 208 206 207 - 209 208 207 - 185 182 197 - 198 185 197 - 187 185 198 - 200 187 198 - 189 187 200 - 202 189 200 - 191 189 202 - 204 191 202 - 193 191 204 - 206 193 204 - 195 193 206 - 208 195 206 - 199 196 119 - 124 199 119 - 201 199 124 - 123 201 124 - 203 201 123 - 122 203 123 - 205 203 122 - 121 205 122 - 207 205 121 - 120 207 121 - 209 207 120 - 210 209 120 - 20 63 19 - 21 63 20 - 95 63 21 - 22 95 21 - 23 95 22 - - - 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72 75 78 81 84 87 90 93 96 99 102 105 108 111 114 117 120 123 126 129 132 135 138 141 144 147 150 153 156 159 162 165 168 171 174 177 180 183 186 189 192 195 198 201 204 207 210 213 216 219 222 225 228 231 234 237 240 243 246 249 252 255 258 261 264 267 270 273 276 279 282 285 288 291 294 297 300 303 306 309 312 315 318 321 324 327 330 333 336 339 342 345 348 351 354 357 360 363 366 369 372 375 378 381 384 387 390 393 396 399 402 405 408 411 414 417 420 423 426 429 432 435 438 441 444 447 450 453 456 459 462 465 468 471 474 477 480 483 486 489 492 495 498 501 504 507 510 513 516 519 522 525 528 531 534 537 540 543 546 549 552 555 558 561 564 567 570 573 576 579 582 585 588 591 594 597 600 603 606 609 612 615 618 621 624 627 630 633 636 639 642 645 648 651 654 657 660 663 666 669 672 675 678 681 684 687 690 693 696 699 702 705 708 711 714 717 720 723 726 729 732 735 738 741 744 747 750 753 756 759 762 765 768 771 774 777 780 783 786 789 792 795 798 801 804 807 810 813 816 819 822 825 828 831 834 837 840 843 846 849 852 855 858 861 864 867 870 873 876 879 882 885 888 891 894 897 900 903 906 909 912 915 918 921 924 927 930 933 936 939 942 945 948 951 954 957 960 963 966 969 972 975 978 981 984 987 990 993 996 999 1002 1005 1008 1011 1014 1017 1020 1023 1026 1029 1032 1035 1038 1041 1044 1047 1050 1053 1056 1059 1062 1065 1068 1071 1074 1077 1080 1083 1086 1089 1092 1095 1098 1101 1104 1107 1110 1113 1116 1119 1122 1125 1128 1131 1134 1137 1140 1143 1146 1149 1152 1155 1158 1161 1164 1167 1170 1173 1176 1179 1182 1185 1188 1191 1194 - - - - - diff --git a/examples/getting_started/mesh/ground_ribs.vtp b/examples/getting_started/mesh/ground_ribs.vtp deleted file mode 100644 index 6efac07b..00000000 --- a/examples/getting_started/mesh/ground_ribs.vtp +++ /dev/null @@ -1,10998 +0,0 @@ - - - - - - - 0.987667 0.151235 0.040521 - 0.622831 -0.649576 0.436041 - 0.332908 -0.530908 -0.779301 - 0.671050 0.674583 0.307621 - 0.663092 0.041999 0.747359 - 0.747551 0.553415 -0.367286 - 0.324162 -0.592725 0.737289 - -0.529533 -0.106446 -0.841584 - -0.042132 0.433245 -0.900291 - -0.472540 -0.878703 0.067730 - -0.023847 0.888271 -0.458699 - -0.253177 0.462313 -0.849805 - 0.420884 0.892963 -0.159604 - 0.505627 0.020400 0.862511 - 0.325694 -0.412785 0.850607 - -0.730314 0.021576 -0.682770 - -0.491299 -0.865503 0.097617 - -0.565498 -0.049177 -0.823282 - -0.384494 -0.229709 -0.894091 - -0.171152 0.278089 -0.945184 - 0.464193 0.884751 0.041720 - 0.377451 0.120927 0.918100 - 0.171422 -0.337909 0.925436 - -0.407110 -0.907443 0.103965 - -0.416820 -0.905734 0.076853 - -0.293742 -0.261769 -0.919343 - -0.010211 0.344296 -0.938806 - 0.438005 0.896299 0.069280 - 0.258131 0.204251 0.944272 - 0.014357 -0.299107 0.954112 - 0.085759 0.134724 0.987165 - 0.027757 0.637185 -0.770211 - -0.183346 -0.339125 -0.922702 - 0.153817 0.369461 -0.916427 - 0.432240 0.890052 0.144831 - 0.101669 0.163110 0.981355 - 0.016117 0.243988 0.969644 - 0.035240 0.367198 0.929475 - -0.244618 -0.705948 -0.664680 - -0.028630 -0.340481 -0.939815 - 0.283859 0.382002 -0.879487 - 0.408293 0.898720 0.159997 - 0.409138 0.907497 0.095166 - -0.124622 0.293703 0.947738 - -0.426968 -0.449043 0.784894 - -0.262777 -0.885783 -0.382541 - 0.118150 -0.353628 -0.927894 - 0.399467 0.403737 -0.823057 - 0.545065 0.465090 -0.697564 - 0.100586 0.852403 0.513119 - -0.351115 0.271748 0.896031 - -0.538037 -0.557813 0.631950 - -0.187950 -0.937796 -0.291914 - 0.349097 -0.221212 -0.910602 - 0.542151 -0.195486 -0.817225 - 0.637027 0.593448 -0.491951 - -0.468912 0.408659 0.783020 - -0.468767 0.383414 0.795771 - -0.602983 -0.590500 0.536396 - -0.021332 -0.892683 -0.450179 - -0.215864 -0.954180 -0.207227 - 0.721444 -0.184036 -0.667570 - 0.393115 0.824110 0.407803 - -0.347266 0.707912 0.615034 - -0.609379 0.384594 0.693358 - -0.781319 -0.107703 0.614768 - -0.950017 -0.188427 0.248923 - 0.039384 -0.851612 -0.522691 - 0.870793 -0.227039 -0.436088 - 0.914201 0.403160 -0.041203 - 0.202744 0.894434 0.398601 - -0.802182 0.343867 0.488118 - -0.799100 0.539850 0.264577 - -0.957301 -0.241183 -0.159389 - -0.007112 -0.894969 -0.446071 - 0.870306 -0.446419 -0.208034 - 0.996224 0.082677 0.026484 - 0.428873 0.798387 0.422666 - 0.406003 0.839072 0.362105 - -0.836422 0.547065 -0.033442 - -0.934665 -0.201938 -0.292613 - -0.142851 -0.926600 -0.347858 - 0.883449 -0.456113 0.107141 - 0.980312 0.001357 0.197449 - 0.852605 0.110456 0.510749 - 0.077876 0.973275 0.216034 - -0.826980 0.416052 -0.378159 - -0.833520 -0.168964 -0.526018 - 0.048778 -0.997475 -0.051623 - 0.874015 -0.077470 0.479683 - 0.974299 -0.215411 0.065869 - 0.847941 0.369942 -0.379656 - -0.327053 0.563661 -0.758500 - -0.406062 0.303087 -0.862120 - -0.245445 -0.222074 -0.943631 - 0.632625 -0.770262 -0.080512 - 0.974287 0.215284 0.066466 - 0.473575 -0.624408 0.621161 - 0.423190 -0.751034 -0.506812 - 0.599163 0.148798 0.786678 - 0.532008 0.586028 -0.611178 - 0.509219 0.860473 -0.016798 - 0.307097 -0.477246 0.823364 - -0.364637 0.110765 -0.924538 - -0.514515 -0.847397 0.131123 - 0.533141 0.315609 0.784953 - 0.430381 0.862120 -0.267435 - -0.237446 0.647681 -0.723967 - -0.107313 0.674887 -0.730076 - -0.049596 0.537739 -0.841651 - 0.269229 -0.334040 0.903290 - -0.578223 0.143752 -0.803115 - -0.555613 -0.828614 0.068502 - 0.400876 0.387420 0.830183 - 0.399709 0.855063 -0.330301 - -0.054499 0.276669 -0.959419 - -0.427710 0.033664 -0.903289 - -0.248859 -0.026789 -0.968169 - 0.084026 -0.307445 0.947849 - -0.503748 -0.859896 -0.082558 - 0.311591 0.494682 0.811296 - 0.413535 0.804717 -0.425934 - 0.059991 0.241721 -0.968490 - -0.105352 -0.092648 -0.990110 - -0.395018 -0.841298 -0.369023 - -0.086021 -0.367974 0.925849 - 0.126425 0.379974 0.916317 - 0.440470 0.625674 -0.643831 - 0.040031 -0.045773 -0.998150 - 0.005571 -0.108014 -0.994134 - -0.334544 -0.776563 -0.533882 - -0.264722 -0.542255 0.797422 - 0.013873 0.305413 0.952119 - 0.449698 0.806176 -0.384516 - 0.128117 -0.050216 -0.990487 - 0.051616 -0.173472 -0.983485 - -0.389415 -0.904506 -0.173852 - -0.293677 -0.436352 0.850500 - -0.079680 0.315824 0.945466 - 0.397480 0.908771 0.127059 - 0.242501 -0.021723 -0.969908 - 0.124394 -0.265075 -0.956170 - -0.513523 -0.824069 0.239175 - -0.195044 0.020026 0.980590 - -0.305054 0.215746 0.927575 - 0.176756 0.917163 0.357169 - 0.468429 0.296124 -0.832397 - 0.269893 -0.420285 -0.866325 - -0.400817 -0.805585 0.436323 - -0.201296 0.323551 0.924551 - -0.394891 0.395169 0.829399 - 0.080005 0.945393 0.315960 - 0.587573 0.456849 -0.667867 - 0.475059 -0.309714 -0.823648 - -0.392975 -0.906704 0.153162 - -0.444856 0.203124 0.872264 - -0.610434 0.311973 0.728041 - -0.064356 0.915125 0.398002 - 0.703856 0.521919 -0.481859 - 0.680397 -0.227413 -0.696666 - -0.151520 -0.974352 -0.166376 - -0.670943 -0.061228 0.738977 - -0.850183 0.168967 0.498637 - -0.471909 0.740580 0.478375 - 0.659852 0.750783 -0.030319 - 0.893105 -0.078646 -0.442920 - 0.069752 -0.923116 -0.378142 - -0.847747 -0.338314 0.408497 - -0.979538 0.123499 0.158911 - -0.497420 0.804996 0.323348 - 0.624899 0.746598 0.228239 - 0.969204 -0.188589 -0.158360 - 0.299304 -0.851230 -0.431074 - -0.843085 -0.532322 -0.076422 - -0.994589 0.082290 -0.063416 - -0.224815 0.935784 0.271600 - 0.706141 0.637314 0.308538 - 0.924396 -0.379859 0.034623 - 0.364845 -0.879770 -0.304782 - -0.532585 -0.771172 -0.348778 - -0.813446 -0.392914 -0.428864 - -0.459240 0.858921 -0.226613 - 0.719513 0.537421 0.439863 - 0.862136 -0.322452 0.390828 - 0.065334 -0.980284 -0.186479 - -0.178182 -0.906810 -0.382030 - -0.659251 0.297029 -0.690769 - -0.588000 -0.231971 -0.774884 - -0.368271 -0.826146 -0.426451 - 0.650281 0.759684 -0.003701 - 0.012120 0.609585 -0.792628 - 0.923921 0.029406 0.381453 - 0.065978 -0.848073 -0.525756 - -0.535704 0.008493 -0.844363 - -0.850333 -0.150034 -0.504405 - -0.557909 0.330854 -0.761100 - 0.144321 0.533855 -0.833169 - -0.263208 -0.837121 -0.479531 - 0.233117 -0.820959 -0.521231 - -0.506707 -0.741915 -0.439101 - -0.987906 0.102497 -0.116347 - -0.298515 0.954283 -0.015277 - 0.858404 0.227479 0.459778 - 0.580395 -0.768785 -0.268537 - 0.384099 -0.920577 -0.070747 - 0.792447 -0.387015 0.471431 - 0.507832 -0.715757 -0.479374 - -0.749832 -0.531246 -0.394372 - -0.990781 0.135460 0.001878 - -0.058248 0.894578 0.443100 - 0.683814 0.453953 0.571249 - 0.995190 -0.094100 0.027255 - 0.954312 -0.263043 0.141763 - 0.804643 0.403781 0.435328 - 0.973912 0.067028 -0.216800 - 0.309766 -0.679697 -0.664873 - -0.821664 -0.541289 -0.178534 - -0.821905 0.337374 0.458966 - 0.101039 0.867201 0.487599 - 0.890748 0.447213 0.081044 - 0.866109 0.404624 0.293486 - 0.772862 0.568968 -0.280996 - 0.855463 0.168005 -0.489855 - 0.304563 -0.703884 -0.641707 - -0.715590 -0.684840 0.137571 - -0.690926 0.146855 0.707853 - 0.719381 0.651044 0.242140 - 0.683355 0.723944 -0.094505 - 0.579198 0.763941 -0.284471 - 0.731500 0.247852 -0.635199 - 0.719416 0.204658 -0.663744 - 0.248220 -0.722620 -0.645141 - -0.653242 -0.668648 0.355226 - -0.402595 0.580222 0.707997 - -0.236669 0.675873 0.697985 - 0.578416 0.674841 -0.458285 - 0.585972 0.235152 -0.775462 - 0.572679 0.197521 -0.795628 - 0.061975 -0.786137 -0.614937 - -0.615450 -0.571840 0.542421 - -0.543220 -0.553391 0.631403 - -0.087937 0.597353 0.797143 - 0.533372 0.684342 -0.497182 - 0.470604 0.252981 -0.845301 - 0.447020 0.121201 -0.886275 - -0.129777 -0.818157 -0.560157 - -0.205987 -0.820979 -0.532505 - -0.497309 -0.572524 0.651844 - 0.066389 0.630020 0.773736 - 0.505082 0.659616 -0.556595 - 0.408463 0.280660 -0.868555 - 0.351714 0.117455 -0.928710 - 0.269030 0.102038 -0.957711 - -0.185248 -0.684640 -0.704948 - -0.460927 -0.679934 0.570294 - 0.167564 0.639727 0.750114 - 0.481338 0.702373 -0.524391 - 0.313796 0.204335 -0.927243 - 0.200720 0.209236 -0.957043 - 0.174425 0.237536 -0.955590 - -0.253795 -0.619110 -0.743163 - -0.360007 -0.621611 0.695697 - 0.196237 0.473012 0.858924 - 0.495601 0.739114 -0.456169 - 0.514035 0.855630 -0.060541 - 0.170051 0.406954 -0.897480 - 0.081356 0.294187 -0.952279 - -0.393604 -0.627780 -0.671541 - -0.330394 -0.664422 0.670360 - 0.116902 0.150039 0.981745 - 0.211112 0.047325 0.976316 - 0.541370 0.840529 -0.020726 - 0.124819 0.471414 -0.873035 - -0.018610 0.366126 -0.930379 - -0.508345 -0.560043 -0.654169 - -0.324773 -0.723920 0.608656 - -0.259874 -0.783166 0.564903 - 0.257124 -0.102069 0.960973 - 0.574643 0.803302 0.156497 - 0.078324 0.629639 -0.772930 - -0.148592 0.431406 -0.889837 - -0.566839 -0.582315 -0.582755 - 0.405816 -0.792785 -0.454759 - 0.023468 -0.776745 0.629378 - 0.523719 -0.369385 0.767641 - 0.616776 0.637069 -0.462310 - 0.309954 0.665435 -0.679061 - 0.051586 0.285415 -0.957015 - 0.304701 -0.950728 -0.057206 - 0.323583 -0.472143 -0.819985 - 0.689321 0.556577 -0.463744 - 0.135632 0.013446 0.990668 - -0.216694 -0.930707 0.294667 - 0.481448 0.116989 0.868632 - 0.236016 0.246689 -0.939915 - 0.385054 0.502068 -0.774378 - -0.221726 -0.417741 -0.881096 - 0.190383 0.872415 -0.450163 - 0.327869 0.895952 0.299619 - 0.429993 0.900403 -0.066181 - 0.124996 0.029162 0.991729 - -0.293573 -0.828729 0.476469 - 0.013134 0.503125 -0.864114 - -0.369731 -0.558424 -0.742605 - 0.060264 0.398456 -0.915206 - 0.218843 0.632538 -0.742970 - 0.265062 0.471187 -0.841264 - 0.468402 0.875508 -0.118680 - 0.090689 0.163562 0.982356 - -0.375476 -0.718813 0.585086 - -0.328015 -0.618913 -0.713689 - 0.180617 0.329703 -0.926646 - 0.270767 0.300054 -0.914687 - 0.282677 0.376760 -0.882126 - 0.497933 0.808560 -0.313516 - -0.003489 0.184220 0.982879 - -0.415753 -0.663569 0.621953 - -0.266294 -0.697094 -0.665693 - -0.211365 -0.682334 -0.699818 - 0.364741 0.349271 -0.863118 - 0.304979 0.230264 -0.924103 - 0.548573 0.780106 -0.300835 - -0.108257 0.161471 0.980922 - -0.468818 -0.628185 0.620962 - -0.508898 -0.618401 0.598835 - -0.108163 -0.696213 -0.709639 - 0.452418 0.317586 -0.833341 - 0.403055 0.218452 -0.888721 - 0.536262 0.829977 -0.153500 - -0.157930 0.247385 0.955960 - -0.223692 0.346959 0.910814 - -0.577162 -0.589917 0.564696 - -0.083602 -0.741389 -0.665848 - 0.559231 0.296563 -0.774152 - 0.555447 0.317364 -0.768609 - 0.504391 0.863404 -0.011109 - 0.510232 0.859183 0.038308 - -0.322913 0.439018 0.838445 - -0.683840 -0.538323 0.492516 - -0.017068 -0.775515 -0.631099 - 0.673011 0.225451 -0.704434 - 0.691103 0.415513 -0.591376 - 0.780702 0.406449 -0.474662 - 0.444002 0.884224 0.144952 - -0.406716 0.472804 0.781689 - -0.736903 -0.547862 0.396006 - 0.139067 -0.790556 -0.596391 - 0.779834 0.228282 -0.582877 - 0.918229 0.242586 -0.313063 - 0.839245 0.522370 -0.150991 - 0.645046 0.753804 0.125283 - -0.776510 0.036175 0.629066 - -0.811594 -0.563193 0.155337 - 0.170308 -0.723850 -0.668608 - 0.991029 0.015424 -0.132757 - 0.293135 -0.695862 -0.655628 - 0.856190 0.478025 0.196040 - 0.561720 0.720382 0.406841 - -0.813755 0.396643 0.424825 - -0.864648 -0.460459 -0.200899 - -0.051392 -0.792205 -0.608087 - 0.916183 -0.352335 -0.190966 - -0.850112 -0.406948 -0.334221 - 0.851087 0.374397 0.368074 - 0.285922 0.789362 0.543282 - -0.858649 0.459636 0.226841 - -0.848622 -0.453383 -0.272551 - -0.210815 -0.827391 -0.520559 - 0.794093 -0.607503 -0.018867 - -0.942426 0.334346 -0.006780 - 0.758215 0.390969 0.521779 - 0.079795 0.859109 0.505534 - -0.832526 -0.137262 -0.536713 - -0.324146 -0.673869 -0.663950 - 0.795096 -0.459251 0.396120 - -0.178854 0.980041 0.086776 - 0.686282 0.320982 0.652677 - -0.435265 0.132347 -0.890522 - 0.384053 -0.671476 -0.633738 - 0.846848 0.521320 0.105236 - -0.087140 0.522222 -0.848346 - 0.680762 0.732147 -0.022893 - 0.486907 -0.428190 0.761298 - 0.698038 0.710164 0.091709 - 0.569214 0.789626 -0.229100 - 0.592158 -0.485905 0.642842 - -0.328477 0.585355 -0.741258 - -0.613356 0.570973 -0.545697 - 0.355977 -0.398534 0.845252 - -0.635143 -0.764250 -0.111873 - -0.751838 -0.659081 -0.018765 - 0.681991 0.658373 0.318485 - -0.131025 0.651581 -0.747178 - 0.511243 0.784575 -0.350816 - 0.707346 -0.580485 0.403360 - -0.737343 0.578082 -0.349495 - -0.694145 -0.706467 0.138086 - -0.842205 -0.175020 -0.509960 - -0.919078 -0.322631 -0.226286 - -0.979613 -0.200735 -0.007958 - 0.087070 -0.521191 0.848987 - -0.646072 -0.724489 -0.240225 - -0.619385 -0.264232 -0.739286 - -0.707396 -0.146753 -0.691415 - 0.626564 0.638037 0.447577 - -0.013204 0.705891 -0.708198 - 0.771599 -0.557763 0.305834 - 0.518404 0.744402 -0.420859 - -0.786875 0.542985 -0.293249 - -0.617751 -0.725069 0.304400 - -0.960324 -0.250992 0.121579 - -0.502497 -0.766833 0.399329 - -0.208572 -0.832152 0.513830 - -0.629777 -0.682620 -0.370689 - -0.572341 -0.359947 -0.736792 - -0.060264 0.567263 -0.821329 - 0.078190 -0.294449 0.952463 - 0.567947 0.800108 0.193038 - 0.903330 -0.408779 0.129976 - 0.606445 0.636253 -0.476872 - -0.645586 0.724268 -0.242187 - -0.957338 -0.160326 0.240415 - -0.422764 -0.768201 0.480769 - -0.564389 -0.705239 -0.429072 - -0.490920 -0.406792 -0.770401 - 0.029725 0.446010 -0.894534 - -0.547569 -0.684168 -0.481750 - -0.338806 -0.625986 0.702390 - 0.531168 0.688677 0.493543 - 0.633899 -0.769352 0.079174 - 0.293920 0.768759 -0.567998 - -0.670686 0.741713 0.006450 - -0.875829 -0.005454 0.482590 - -0.377710 -0.431477 -0.819245 - 0.138998 0.462086 -0.875874 - -0.314199 -0.454070 -0.833727 - -0.510151 -0.793388 -0.332087 - -0.089456 -0.281585 0.955357 - 0.459368 0.752850 0.471378 - -0.190917 -0.980483 0.046936 - 0.505442 0.438466 -0.743152 - -0.524104 0.818057 0.236851 - -0.801403 -0.071825 0.593796 - 0.188465 0.420606 -0.887452 - 0.343718 0.266548 -0.900450 - -0.256397 -0.464087 -0.847870 - -0.391394 -0.912428 -0.119523 - -0.134365 -0.308224 0.941777 - 0.378602 0.786739 0.487547 - -0.358744 -0.621684 0.696284 - 0.953813 0.270602 -0.130444 - 0.091388 0.928120 0.360889 - -0.367456 0.382416 0.847782 - 0.391990 -0.347865 -0.851665 - 0.944238 0.313440 0.100851 - -0.082668 -0.647913 -0.757215 - 0.328478 -0.933131 -0.146182 - 0.314727 -0.144855 0.938064 - -0.173768 -0.776918 0.605148 - 0.837719 -0.544476 0.042115 - -0.814844 -0.241452 0.527001 - -0.810469 -0.553891 0.190646 - 0.587704 -0.644037 0.489714 - -0.904495 -0.333230 0.266171 - 0.953451 -0.294098 0.066617 - 0.471791 -0.853132 -0.222661 - 0.736870 0.423666 -0.526811 - 0.656241 0.407930 -0.634777 - -0.459454 -0.386732 0.799588 - -0.971406 -0.168497 0.167270 - -0.860274 0.501441 -0.092119 - -0.069485 0.994142 -0.082788 - 0.031096 0.904700 -0.424914 - -0.512640 0.085715 0.854315 - -0.728263 0.266666 -0.631286 - -0.415900 -0.902042 0.115526 - -0.968780 0.157233 -0.191688 - 0.951803 -0.102293 0.289148 - 0.995286 -0.047794 0.084392 - -0.851831 0.471034 -0.229154 - 0.878122 0.341202 -0.335386 - 0.152340 -0.829019 0.538070 - 0.772256 0.133803 0.621062 - 0.303415 0.893733 0.330426 - 0.276326 0.821037 -0.499541 - 0.592163 0.805157 -0.032637 - 0.573947 0.817211 0.052448 - -0.458315 0.440279 -0.772076 - 0.694526 -0.221386 0.684559 - -0.683159 -0.680571 -0.264797 - 0.209675 0.860171 -0.464910 - 0.918704 0.306447 0.249145 - 0.924691 0.366685 -0.102412 - 0.757070 0.459932 0.464013 - 0.828563 0.543806 0.133261 - 0.694018 0.435959 0.572956 - 0.504633 0.862739 0.032048 - -0.370655 0.394032 -0.841043 - -0.060643 -0.862187 0.502947 - 0.794989 0.297984 0.528393 - -0.661793 -0.516587 -0.543294 - 0.661065 0.189316 0.726053 - 0.546859 0.259746 0.795913 - 0.582485 0.412567 0.700356 - 0.512311 0.832891 0.209356 - -0.266678 0.293283 -0.918078 - -0.578686 -0.559178 -0.593669 - 0.019265 -0.743810 0.668113 - -0.069835 -0.692010 0.718502 - 0.442868 0.311475 0.840745 - 0.432783 0.290148 0.853530 - 0.498297 0.802153 0.329014 - -0.183893 0.191653 -0.964081 - -0.500145 -0.655617 -0.565705 - -0.457600 -0.637458 -0.619879 - -0.159614 -0.690685 0.705320 - 0.362520 0.323982 0.873850 - 0.289218 0.196373 0.936905 - 0.478791 0.832312 0.279314 - -0.110248 0.156632 -0.981485 - -0.002787 0.199506 -0.979893 - -0.409159 -0.639855 -0.650518 - -0.230766 -0.673994 0.701769 - 0.253815 0.294725 0.921258 - 0.226682 0.262542 0.937916 - 0.460570 0.869991 0.176046 - 0.447428 0.887947 0.106574 - 0.054730 0.161040 -0.985429 - -0.352364 -0.722545 -0.594785 - -0.268513 -0.612024 0.743860 - 0.159400 0.308824 0.937667 - 0.233085 0.443890 0.865236 - 0.176797 0.579987 0.795209 - 0.398968 0.911227 -0.102417 - 0.127355 0.081623 -0.988493 - -0.288296 -0.815979 -0.501063 - -0.312884 -0.541042 0.780626 - 0.059685 0.403533 0.913016 - 0.036039 0.566579 0.823219 - 0.184122 0.810644 0.555838 - 0.332354 0.894097 -0.300218 - 0.118743 -0.009606 -0.992879 - -0.235048 -0.932494 -0.274239 - -0.230879 -0.366908 0.901151 - 0.430031 0.007478 0.902783 - 0.165266 0.653187 0.738941 - 0.227330 0.863524 0.450164 - 0.562906 0.808831 0.170087 - 0.628621 -0.568017 -0.531218 - 0.107580 -0.979462 0.170529 - -0.141713 -0.637797 0.757055 - 0.277011 -0.859976 0.428610 - 0.682889 -0.057018 0.728294 - 0.345626 0.341895 0.873871 - -0.275347 -0.553561 0.785973 - 0.968527 0.156631 -0.193446 - 0.135941 -0.396167 -0.908059 - -0.379587 -0.865278 0.327425 - 0.455728 0.769062 -0.448170 - 0.451435 0.752071 -0.480204 - 0.198267 0.424072 0.883659 - -0.335372 -0.465138 0.819251 - -0.221612 -0.245883 -0.943626 - -0.534130 -0.808154 0.248177 - 0.507573 0.725204 -0.465241 - -0.145113 -0.329953 -0.932777 - 0.148303 0.397710 0.905446 - -0.366331 -0.425544 0.827475 - -0.549016 -0.717657 0.428427 - 0.581708 0.738947 -0.339961 - -0.224732 -0.485116 -0.845079 - 0.039163 0.440770 0.896765 - -0.474658 -0.382437 0.792743 - -0.611367 -0.688790 0.389614 - 0.596719 0.723772 -0.346526 - 0.002165 -0.543377 -0.839486 - 0.003200 0.591843 0.806047 - -0.592551 -0.342774 0.728965 - -0.600015 -0.689007 0.406511 - 0.695425 0.599158 -0.396729 - 0.080501 -0.593976 -0.800445 - -0.027849 0.636489 0.770783 - -0.610729 -0.262629 0.747018 - -0.651868 -0.661455 0.370872 - 0.706652 0.685084 -0.176927 - 0.378212 -0.348561 -0.857590 - 0.005612 -0.654329 -0.756189 - -0.114844 0.598114 0.793140 - -0.697295 -0.189718 0.691222 - -0.716357 -0.685367 0.130783 - 0.730596 0.682711 -0.011595 - 0.479713 -0.434450 -0.762318 - -0.719019 -0.693865 -0.039533 - -0.316690 0.569317 0.758674 - -0.829278 -0.204368 0.520127 - 0.651720 0.738997 0.170719 - 0.625465 -0.487549 -0.609171 - -0.681542 -0.696865 -0.223338 - -0.944089 -0.230070 0.236142 - -0.660742 0.476087 0.580312 - 0.640530 0.694397 0.327925 - 0.731084 -0.539519 -0.417655 - -0.628224 -0.712979 -0.311441 - -0.979884 -0.196666 0.033908 - -0.749647 0.541258 0.380878 - 0.286663 0.852944 0.436246 - 0.716264 -0.630022 -0.300065 - 0.961974 -0.268978 -0.047508 - -0.554779 -0.731228 -0.396896 - -0.975413 -0.199473 -0.093698 - -0.787765 0.547654 0.281961 - 0.525697 0.643293 0.556612 - -0.293359 -0.788419 -0.540680 - -0.299880 -0.691451 -0.657242 - 0.776856 -0.618948 0.115746 - -0.977723 -0.077174 -0.195197 - -0.654748 0.680905 0.328138 - 0.391592 0.684661 0.614732 - -0.883113 -0.002295 -0.469154 - -0.759481 0.095372 -0.643501 - -0.334933 -0.796335 -0.503656 - 0.569194 -0.598980 0.563242 - -0.752732 0.643871 -0.137205 - 0.191390 0.864686 0.464422 - -0.528612 0.815998 -0.233913 - -0.408049 0.152012 -0.900216 - -0.105104 0.891366 -0.440930 - 0.244647 -0.645823 -0.723229 - 0.866117 -0.437745 0.241289 - 0.793927 0.584507 0.167429 - 0.218146 0.938497 0.267647 - 0.125218 0.968589 -0.214839 - -0.841750 0.484565 0.238020 - 0.087707 0.996107 -0.008822 - 0.909571 -0.076009 0.408538 - 0.034480 0.938974 -0.342255 - 0.996637 0.081924 0.001782 - -0.900791 0.394192 -0.182174 - -0.880872 -0.389762 0.268607 - -0.881217 -0.250395 0.400947 - -0.781708 0.418380 0.462484 - 0.129192 0.989069 0.071078 - 0.936703 0.190910 -0.293497 - 0.216123 -0.723792 0.655299 - 0.807765 0.230703 0.542487 - 0.418063 -0.770920 0.480526 - 0.095052 0.905117 -0.414402 - -0.696972 0.507210 -0.506920 - 0.666991 -0.726785 0.164029 - -0.692306 -0.713429 0.108309 - -0.004451 -0.968054 -0.250702 - -0.065305 -0.997734 -0.016185 - -0.345196 -0.624559 0.700546 - -0.654653 0.105198 0.748574 - -0.599960 0.495065 0.628457 - 0.852964 -0.025842 -0.521330 - 0.200783 0.613771 0.763526 - 0.477797 -0.874779 -0.080453 - -0.564846 -0.799047 -0.206091 - 0.122742 -0.688708 0.714573 - -0.673524 -0.706122 -0.218533 - 0.629481 0.190468 0.753310 - -0.320760 -0.932678 0.165000 - 0.232948 0.933565 -0.272381 - -0.491530 0.500522 -0.712654 - -0.907501 -0.029725 -0.418997 - 0.528513 -0.704501 -0.473658 - 0.682543 -0.701228 0.205948 - 0.916451 -0.233080 -0.325255 - -0.410139 0.091824 -0.907389 - -0.495602 -0.783462 -0.374920 - -0.499138 0.227299 -0.836179 - 0.007380 -0.680991 0.732254 - -0.658477 0.235624 -0.714765 - 0.483493 0.250889 0.838624 - 0.211774 0.920515 -0.328335 - -0.367668 0.454055 -0.811575 - -0.105914 0.430880 -0.896172 - -0.278374 -0.109621 -0.954197 - -0.244989 0.457919 -0.854570 - -0.374873 -0.901508 -0.216225 - 0.019303 -0.514146 0.857485 - 0.329130 0.331973 0.884006 - 0.251279 0.939614 -0.232345 - 0.220120 0.956238 -0.192761 - 0.078516 0.464922 -0.881863 - -0.109132 -0.124089 -0.986251 - -0.268487 -0.950256 -0.157886 - -0.110807 -0.545842 0.830529 - 0.182115 0.452623 0.872907 - -0.122225 0.406264 0.905545 - 0.212007 0.971870 -0.102573 - 0.283231 0.520559 -0.805480 - 0.132374 -0.088582 -0.987234 - -0.149981 -0.870508 -0.468745 - -0.277733 -0.641970 0.714660 - -0.392319 -0.644813 0.655974 - -0.195894 0.579425 0.791134 - 0.380024 0.857977 -0.345625 - 0.445170 0.489746 -0.749649 - 0.380450 0.128454 -0.915837 - 0.109325 -0.768859 -0.630003 - 0.162186 -0.862766 -0.478884 - -0.577722 -0.566556 0.587582 - -0.206777 0.784731 0.584328 - 0.519635 0.748913 -0.411228 - 0.585440 0.505580 -0.633757 - 0.595010 0.084132 -0.799303 - 0.759407 -0.168699 -0.628365 - 0.028712 -0.942275 -0.333608 - -0.781710 -0.375471 0.497947 - -0.231846 0.908285 0.348233 - 0.630453 0.721174 -0.287121 - 0.794667 0.403645 -0.453404 - 0.906173 0.336114 -0.256669 - 0.861509 -0.196962 -0.467982 - 0.029660 -0.945581 -0.324031 - -0.885230 -0.381072 0.266744 - -0.790415 0.470842 0.391857 - 0.241830 0.949242 0.201140 - 0.362063 0.868885 0.337564 - 0.713515 -0.145649 0.685334 - 0.968615 -0.224408 -0.106894 - 0.034784 -0.835139 0.548938 - -0.657234 -0.373871 0.654419 - -0.744289 0.164896 0.647181 - 0.807139 0.346471 -0.478000 - -0.383232 -0.295689 -0.875044 - -0.786611 0.264071 -0.558131 - -0.138503 0.987005 -0.081471 - 0.670904 -0.625519 -0.398262 - 0.843437 -0.121260 0.523365 - 0.056023 0.868139 0.493149 - -0.688763 -0.634566 -0.350615 - 0.410235 -0.901917 -0.135105 - -0.915873 0.398977 -0.044658 - 0.885467 0.073609 0.458835 - -0.088147 0.818091 0.568294 - -0.943237 0.330624 -0.031484 - -0.653373 -0.590299 -0.473974 - 0.485387 -0.847307 -0.215568 - 0.907663 0.174980 0.381484 - -0.269852 0.762082 0.588567 - -0.981963 0.171052 0.080554 - -0.609605 -0.659084 -0.440443 - 0.491300 -0.784968 -0.377425 - 0.925025 0.259109 0.277835 - -0.304797 0.701573 0.644123 - -0.952335 0.185306 0.242321 - -0.735926 -0.549935 -0.394949 - 0.517701 -0.722214 -0.458686 - -0.436342 0.652262 0.619806 - 0.915710 0.358129 0.182259 - -0.886268 0.172193 0.429974 - -0.874588 -0.445390 -0.191635 - 0.343693 -0.681633 -0.645950 - -0.835394 0.069529 0.545236 - -0.363841 0.567117 0.738917 - 0.952928 0.300317 -0.041678 - -0.864890 -0.501670 -0.017091 - 0.295988 -0.663157 -0.687469 - -0.839475 -0.539048 0.068623 - -0.771267 0.005272 0.636489 - -0.156521 0.551155 0.819591 - 0.925433 0.329013 -0.187947 - 0.283350 -0.559883 -0.778616 - 0.279251 -0.502192 -0.818426 - -0.788841 -0.537891 0.297326 - -0.732002 -0.050950 0.679394 - 0.338679 0.617418 0.709994 - 0.887116 0.422169 -0.186545 - 0.870979 0.219557 -0.439533 - 0.420545 -0.710248 -0.564526 - -0.205353 -0.745904 0.633606 - -0.092019 -0.126111 0.987739 - 0.932501 0.008923 0.361057 - 0.161997 0.824749 -0.541799 - 0.892456 0.347552 0.287628 - 0.858385 0.067713 -0.508517 - -0.882211 -0.134790 -0.451149 - 0.032352 0.506075 -0.861882 - -0.823510 -0.274168 -0.496651 - 0.120837 0.758900 -0.639898 - 0.886696 0.419150 0.195151 - 0.163741 -0.760217 0.628696 - 0.478111 -0.841782 0.250623 - -0.407877 -0.627844 -0.662909 - 0.126683 -0.746003 0.653782 - -0.067348 -0.725895 0.684501 - -0.723985 -0.442992 -0.528775 - 0.138832 0.698242 -0.702270 - 0.863635 0.390785 0.318469 - 0.734461 0.419176 0.533722 - -0.173271 -0.659075 0.731845 - -0.698127 -0.449345 -0.557412 - 0.169556 0.741132 -0.649595 - 0.268033 0.707363 -0.654061 - 0.604154 0.490683 0.627877 - -0.275290 -0.559890 0.781498 - -0.781232 -0.215788 -0.585757 - -0.642927 -0.197327 -0.740072 - 0.336381 0.629878 -0.700073 - 0.420862 0.664181 0.617850 - -0.472560 -0.372930 0.798505 - -0.521483 -0.450559 0.724604 - -0.470551 -0.658484 -0.587350 - 0.282120 0.332425 -0.899946 - 0.248702 0.771399 0.585739 - 0.171019 0.824789 0.538958 - -0.529088 -0.367532 0.764844 - -0.372942 -0.862569 -0.341891 - 0.407928 0.135799 -0.902858 - 0.646851 -0.035797 -0.761776 - 0.237932 0.802295 0.547459 - -0.593376 -0.232142 0.770723 - -0.314060 -0.911921 -0.264132 - -0.202893 -0.923043 -0.326844 - 0.838967 -0.077938 -0.538571 - 0.177783 0.877111 0.446171 - -0.649120 -0.305112 0.696814 - -0.760603 -0.441307 0.476163 - -0.060697 -0.974299 -0.216928 - 0.865429 -0.076697 -0.495126 - -0.127143 0.910479 0.393525 - -0.575132 0.797854 0.180699 - -0.804542 -0.469425 -0.363802 - -0.046173 -0.959600 -0.277555 - 0.919037 0.021291 -0.393596 - 0.837123 -0.496841 0.228853 - 0.076115 0.913475 -0.399712 - -0.875116 0.033360 -0.482762 - -0.063244 -0.997531 0.030518 - -0.142702 -0.822152 0.551092 - 0.958573 -0.230600 0.167214 - 0.120454 0.932274 -0.341109 - -0.998207 0.051940 0.029754 - -0.956137 -0.179141 -0.231754 - -0.133914 -0.937659 0.320721 - 0.390516 -0.000697 -0.920596 - -0.339337 0.760483 -0.553638 - -0.723364 -0.687723 -0.061504 - -0.784897 -0.379479 -0.489829 - -0.118288 -0.960958 -0.250135 - -0.554761 -0.830071 -0.056767 - 0.730613 -0.494790 0.470519 - -0.332748 0.788362 -0.517459 - -0.301287 0.861158 -0.409429 - -0.008974 0.307982 -0.951350 - 0.969470 0.242438 0.036777 - -0.383510 -0.922714 -0.038968 - 0.701286 -0.360600 0.614952 - -0.314310 0.781196 -0.539390 - 0.898061 0.401834 0.178927 - 0.679103 0.620511 0.392154 - 0.785855 0.547701 0.287152 - -0.213682 -0.968149 0.130490 - 0.659190 -0.134647 0.739824 - -0.226965 0.738147 -0.635315 - 0.569667 0.653893 0.497899 - 0.566151 0.085212 0.819885 - -0.175915 -0.953297 0.245516 - -0.068043 0.612030 -0.787902 - 0.560254 0.657247 0.504124 - 0.521064 0.054674 0.851765 - -0.306169 -0.915570 0.260754 - 0.003440 0.521509 -0.853239 - 0.560178 0.740988 0.370320 - 0.463205 0.124258 0.877497 - -0.467153 -0.788091 0.400849 - 0.139837 0.341249 -0.929513 - 0.523013 0.798269 0.298704 - 0.245582 0.487926 0.837626 - -0.722524 -0.547693 0.421889 - 0.312402 0.082640 -0.946349 - 0.494318 0.845285 0.202838 - 0.049951 0.635869 0.770179 - -0.734247 -0.582564 0.348569 - 0.471365 -0.082982 -0.878026 - 0.529116 0.827011 0.189971 - -0.068282 0.636741 0.768049 - -0.798327 -0.539465 0.267678 - 0.529149 -0.348312 -0.773744 - 0.564287 0.816051 0.125061 - -0.177950 0.744632 0.643317 - -0.841929 -0.516854 0.154974 - 0.649244 -0.511488 -0.562905 - 0.669882 0.738376 0.077842 - -0.295297 0.806231 0.512632 - -0.822571 -0.559946 0.099183 - 0.810070 -0.469855 -0.350746 - 0.590851 0.805926 0.037115 - -0.460542 0.828425 0.318769 - -0.634143 -0.758574 0.149763 - 0.929936 -0.351080 -0.109373 - 0.398745 0.887957 -0.229207 - -0.750329 0.625741 -0.213201 - -0.410643 -0.897737 0.159502 - 0.975582 0.042640 0.215458 - 0.162483 0.919776 -0.357227 - -0.722753 0.485693 -0.491661 - -0.505563 -0.580761 -0.638061 - 0.922226 -0.316658 -0.221873 - 0.212148 0.922539 -0.322358 - -0.012445 0.629066 -0.777253 - -0.442688 0.622823 -0.645073 - 0.921276 0.260863 0.288446 - 0.852671 -0.267234 0.448930 - 0.781308 -0.207885 -0.588508 - 0.249917 0.946984 -0.201899 - 0.846040 0.154823 -0.510144 - 0.319499 0.911557 -0.258813 - 0.841867 0.237559 0.484589 - 0.742113 -0.206576 0.637648 - -0.212590 -0.935249 0.283046 - 0.360191 -0.890219 -0.278877 - -0.708582 -0.242147 -0.662779 - -0.585829 -0.170170 -0.792368 - -0.810943 0.435439 -0.390851 - -0.192516 0.792688 -0.578432 - -0.701445 0.325405 -0.634102 - -0.615113 0.102669 -0.781726 - 0.313795 0.925779 -0.210867 - 0.693178 0.250952 0.675668 - 0.646413 -0.125059 0.752669 - -0.379059 -0.889909 0.253723 - -0.933166 -0.166035 -0.318800 - -0.836041 -0.102968 -0.538919 - -0.713042 -0.222950 -0.664729 - -0.585424 -0.375811 -0.718363 - -0.484858 0.026960 -0.874177 - 0.260459 0.959893 -0.103757 - 0.562255 0.438356 0.701223 - 0.558250 -0.027765 0.829208 - -0.347823 -0.921824 0.171053 - -0.298529 -0.938411 0.173972 - -0.350461 -0.892626 0.283542 - -0.438652 -0.696322 -0.568085 - -0.327991 -0.030716 -0.944181 - 0.233508 0.957186 -0.171083 - 0.458628 0.596404 0.658759 - 0.406850 0.093567 0.908691 - 0.106203 0.200530 0.973914 - -0.254132 -0.517211 0.817258 - -0.393483 -0.919316 0.005307 - -0.108240 0.021129 -0.993900 - 0.319574 0.930198 -0.180564 - 0.297924 0.674717 0.675276 - 0.102728 0.712739 0.693867 - -0.119664 0.283831 0.951378 - -0.232608 -0.001570 0.972569 - -0.455982 -0.834521 0.309281 - 0.125948 -0.123635 -0.984302 - 0.409891 0.856549 -0.313548 - 0.509198 0.817035 -0.270503 - 0.033766 0.724810 0.688121 - -0.233942 0.383435 0.893448 - -0.449530 0.040576 0.892343 - -0.579036 -0.808373 0.106071 - 0.253946 -0.227581 -0.940063 - 0.431269 -0.253856 -0.865774 - 0.614921 0.778761 -0.124114 - -0.098586 0.706936 0.700373 - -0.400017 0.392468 0.828224 - -0.566838 0.115009 0.815762 - -0.692731 -0.707276 0.141013 - -0.308759 -0.857395 -0.411755 - 0.589877 -0.322627 -0.740241 - 0.612568 0.789749 0.032515 - -0.142058 0.760869 0.633165 - -0.409148 0.517260 0.751692 - -0.685399 0.160671 0.710221 - 0.165296 -0.863079 -0.477254 - -0.909377 0.115256 0.399688 - 0.716750 -0.471491 -0.513776 - 0.692917 0.716724 0.078568 - -0.116280 0.860619 0.495795 - -0.658602 0.527466 0.536677 - -0.881270 -0.437997 -0.177544 - 0.027392 -0.949795 -0.311672 - -0.827479 0.520591 0.210389 - 0.823459 -0.544200 -0.160503 - 0.777568 0.598740 0.192090 - -0.261297 0.909172 0.324238 - -0.691546 0.705596 -0.154592 - -0.920844 -0.029347 -0.388826 - -0.097476 -0.995187 -0.010106 - -0.487249 0.860601 -0.148173 - 0.887940 -0.392514 0.239782 - 0.715729 0.646366 0.264466 - -0.523306 0.666217 -0.531324 - -0.538967 0.688224 -0.485657 - -0.896942 -0.261380 -0.356615 - 0.130610 -0.936061 0.326697 - 0.444843 0.895572 0.008068 - 0.741781 -0.355229 0.568835 - -0.027731 0.580515 -0.813777 - -0.369775 0.736784 -0.566053 - -0.515110 0.525658 -0.677012 - -0.618089 -0.289190 -0.730982 - 0.306601 -0.910996 -0.275831 - 0.960923 -0.052104 0.271870 - 0.826024 0.297133 0.478953 - 0.723523 -0.259638 0.639611 - 0.885407 -0.159783 -0.436490 - 0.375660 0.921671 -0.096965 - 0.921901 0.364370 0.131659 - 0.398989 0.907237 -0.133152 - 0.746168 0.264946 0.610768 - 0.571084 -0.313250 0.758774 - -0.342824 -0.916413 0.206542 - 0.325295 -0.945403 -0.019926 - -0.524432 -0.235911 -0.818118 - -0.357977 0.055205 -0.932097 - 0.416183 0.611677 -0.672788 - -0.618960 0.457779 -0.638222 - -0.553657 0.392016 -0.734703 - -0.384787 0.353009 -0.852832 - 0.389016 0.921171 -0.010564 - 0.569902 0.228681 0.789251 - 0.384373 -0.354545 0.852382 - -0.395064 -0.906903 0.146463 - -0.840507 -0.238836 -0.486318 - -0.729926 -0.350074 -0.587075 - -0.586783 -0.365890 -0.722365 - -0.407291 -0.300310 -0.862513 - -0.205977 0.334444 -0.919631 - 0.377817 0.915646 0.137287 - 0.397205 0.231770 0.887981 - 0.176959 -0.380594 0.907653 - -0.304583 -0.943912 0.127516 - -0.337048 -0.937186 0.089900 - -0.333133 -0.938074 -0.095081 - -0.190082 -0.271530 -0.943473 - 0.028843 0.466671 -0.883961 - 0.303171 0.870563 0.387567 - 0.150234 0.199992 0.968211 - -0.022186 -0.301819 0.953107 - -0.271399 -0.433564 0.859282 - -0.328963 -0.899930 -0.286197 - 0.024798 -0.265989 -0.963657 - 0.245778 0.535314 -0.808104 - 0.251792 0.887870 0.385081 - -0.021114 0.232996 0.972248 - -0.245705 0.156700 0.956595 - -0.409423 -0.312174 0.857275 - -0.303939 -0.940526 -0.151762 - 0.208084 -0.299882 -0.931006 - 0.406913 0.573523 -0.710981 - 0.172563 0.873864 0.454514 - 0.077945 0.853626 0.515022 - -0.408617 0.146771 0.900828 - -0.528096 -0.326884 0.783748 - -0.279969 -0.939121 -0.199173 - 0.358792 -0.317441 -0.877781 - 0.546857 0.564729 -0.618085 - 0.602074 0.642010 -0.474690 - -0.100189 0.808547 0.579839 - -0.522720 0.179184 0.833461 - -0.629100 -0.245121 0.737664 - -0.301478 -0.948781 -0.094480 - 0.505142 -0.265310 -0.821244 - 0.649388 -0.271110 -0.710489 - 0.661087 0.679987 -0.317146 - -0.248751 0.804257 0.539716 - -0.648216 0.300268 0.699753 - -0.759369 -0.203223 0.618109 - -0.258060 -0.947179 -0.190415 - -0.149533 -0.938510 -0.311190 - 0.800065 -0.347161 -0.489259 - 0.657859 0.748833 -0.080437 - -0.321539 0.862483 0.390814 - -0.813892 0.276315 0.511107 - -0.914693 -0.091442 0.393669 - -0.990773 -0.135362 -0.006823 - -0.074758 -0.926409 -0.369022 - 0.818434 -0.518678 -0.247263 - 0.618442 0.765736 0.176571 - -0.283115 0.914445 0.289198 - -0.930320 0.331897 0.156042 - -0.750298 0.661098 0.001566 - -0.957640 -0.006861 -0.287885 - -0.512862 -0.753377 -0.411577 - 0.670901 -0.735445 -0.094936 - 0.711061 0.608788 0.351810 - -0.046570 0.961534 0.270708 - 0.259735 0.912893 0.314905 - -0.554138 0.799024 -0.233435 - -0.760881 0.555422 -0.335510 - -0.822514 -0.214628 -0.526694 - 0.453125 -0.816519 0.357736 - 0.793506 0.292808 0.533491 - 0.785451 0.618098 -0.031970 - 0.041696 0.966464 -0.253396 - -0.292879 0.505925 -0.811333 - -0.615004 0.543188 -0.571592 - -0.621459 -0.326380 -0.712225 - 0.951088 -0.242932 -0.190830 - 0.703923 0.227646 0.672807 - 0.557856 -0.466990 0.686088 - 0.954897 -0.095586 -0.281132 - 0.644378 0.651314 0.400707 - 0.912593 0.322678 0.251103 - 0.272640 0.962068 0.009625 - 0.557239 0.339761 0.757659 - 0.491884 -0.251400 0.833576 - -0.501397 -0.864781 0.027476 - 0.419292 -0.848980 -0.321602 - -0.336633 0.169511 -0.926253 - -0.144952 0.461621 -0.875154 - 0.746654 0.606925 -0.272304 - -0.206085 0.852628 -0.480160 - -0.296034 0.548187 -0.782212 - -0.217815 0.524886 -0.822831 - 0.336882 0.938985 0.069406 - 0.487512 0.386278 0.783021 - 0.350473 -0.205451 0.913761 - -0.385435 -0.914487 0.123095 - -0.760980 0.043828 -0.647293 - -0.558252 -0.022611 -0.829364 - -0.441400 -0.040411 -0.896400 - -0.326750 -0.059481 -0.943237 - -0.010755 0.535696 -0.844343 - 0.407990 0.912987 0.000457 - 0.406614 0.408113 0.817379 - 0.144252 -0.268567 0.952399 - -0.397348 -0.917562 0.013990 - -0.500328 -0.849014 -0.169845 - -0.469685 -0.841030 -0.268448 - -0.121571 -0.107339 -0.986762 - 0.159328 0.428623 -0.889324 - 0.457569 0.883303 -0.102015 - 0.306792 0.474113 0.825285 - -0.124194 -0.394658 0.910396 - -0.300992 -0.373246 0.877548 - -0.410350 -0.888442 -0.205631 - 0.074968 -0.146900 -0.986306 - 0.326790 0.403216 -0.854766 - 0.447517 0.891794 0.066570 - 0.107057 0.472156 0.874990 - -0.065670 0.496712 0.865428 - -0.410651 -0.261848 0.873385 - -0.349986 -0.927005 -0.134803 - 0.207165 -0.242962 -0.947656 - 0.448591 0.450655 -0.771801 - 0.314200 0.916500 0.247600 - 0.187150 0.918379 0.348647 - -0.236842 0.495482 0.835706 - -0.491752 -0.168522 0.854272 - -0.325637 -0.941219 -0.089822 - 0.305250 -0.357061 -0.882797 - 0.528745 0.587436 -0.612657 - 0.624575 0.486654 -0.610797 - 0.202379 0.940086 0.274375 - -0.357592 0.476357 0.803251 - -0.611967 -0.135417 0.779204 - -0.317850 -0.941724 -0.110124 - 0.416080 -0.389408 -0.821730 - 0.588519 -0.343452 -0.731906 - 0.700014 0.472971 -0.535050 - 0.088903 0.953008 0.289606 - -0.496470 0.522904 0.692885 - -0.746165 -0.258040 0.613721 - -0.221032 -0.955306 -0.196304 - -0.134199 -0.929126 -0.344552 - 0.766157 -0.440552 -0.467886 - 0.926882 0.051458 -0.371808 - 0.387682 0.914679 0.114306 - -0.660895 0.541695 0.519408 - -0.916356 -0.237329 0.322439 - -0.969168 -0.234508 -0.075630 - 0.310678 -0.869948 -0.382974 - 0.786011 -0.567984 -0.244093 - 0.988758 -0.101001 -0.110253 - 0.573580 0.777802 0.256965 - -0.747120 0.611405 0.260759 - -0.862600 0.505420 -0.021712 - -0.730528 -0.521348 -0.441050 - 0.089277 -0.947752 -0.306262 - 0.673767 -0.738706 0.018723 - 0.959190 -0.245196 0.140831 - 0.429323 0.802237 0.414846 - -0.163770 0.901750 0.400033 - -0.888233 0.268197 -0.372978 - -0.774880 -0.459551 -0.434021 - -0.299211 -0.941995 -0.152045 - 0.851494 -0.285609 0.439756 - 0.783769 -0.400585 0.474592 - 0.820067 -0.066938 -0.568339 - -0.042362 0.782678 -0.620983 - -0.714098 0.192803 -0.672972 - -0.336813 -0.114199 -0.934621 - 0.505065 -0.663936 -0.551452 - 0.739568 -0.223318 0.634955 - 0.122742 -0.688708 -0.714573 - 0.007380 -0.680991 -0.732254 - -0.495602 -0.783462 0.374920 - 0.155849 -0.756611 -0.635020 - 0.792678 0.343985 -0.503324 - -0.598631 -0.768158 0.227099 - 0.551300 -0.037630 -0.833458 - 0.483493 0.250889 -0.838624 - 0.019303 -0.514146 -0.857485 - -0.374873 -0.901508 0.216225 - -0.410139 0.091824 0.907389 - -0.278374 -0.109621 0.954197 - -0.763505 -0.515694 0.388741 - 0.390145 -0.792108 -0.469416 - 0.909571 -0.076009 -0.408538 - 0.034480 0.938974 0.342255 - -0.037607 0.872969 0.486324 - 0.275799 0.926639 0.255489 - -0.493992 0.206828 0.844508 - 0.329130 0.331973 -0.884006 - 0.211774 0.920515 0.328335 - -0.110807 -0.545842 -0.830529 - -0.268487 -0.950256 0.157886 - -0.109132 -0.124089 0.986251 - -0.105914 0.430880 0.896172 - -0.244989 0.457919 0.854570 - 0.078516 0.464922 0.881863 - -0.910521 -0.011369 0.413306 - -0.489518 0.504517 0.711221 - -0.162482 -0.943571 -0.288571 - -0.367851 0.454111 0.811461 - 0.666991 -0.726785 -0.164029 - 0.997150 0.075438 -0.000954 - 0.114168 0.968820 0.219894 - -0.696972 0.507210 0.506920 - -0.900791 0.394192 0.182174 - 0.251279 0.939614 0.232345 - 0.182115 0.452623 -0.872907 - -0.277733 -0.641970 -0.714660 - -0.149981 -0.870508 0.468745 - 0.132374 -0.088582 0.987234 - 0.283231 0.520559 0.805480 - 0.220120 0.956238 0.192761 - 0.212007 0.971870 0.102573 - -0.658995 -0.748027 -0.078621 - 0.570413 -0.810004 0.136099 - 0.940760 0.176536 0.289493 - 0.095883 0.995335 0.010734 - -0.846302 0.477734 -0.235675 - -0.912004 -0.277167 -0.302370 - -0.122225 0.406264 -0.905545 - -0.392319 -0.644813 -0.655974 - 0.109325 -0.768859 0.630003 - 0.380450 0.128454 0.915837 - 0.445170 0.489746 0.749649 - 0.380024 0.857977 0.345625 - -0.195894 0.579425 -0.791134 - -0.126984 -0.988338 -0.084042 - 0.852964 -0.025842 0.521330 - 0.547431 -0.706590 0.448385 - 0.141108 0.987260 -0.073525 - -0.781515 0.419075 -0.462181 - -0.849885 -0.370271 -0.374959 - -0.577722 -0.566556 -0.587582 - 0.162186 -0.862766 0.478884 - 0.595010 0.084132 0.799303 - 0.586179 0.495461 0.641024 - 0.462353 0.816771 0.345131 - -0.198250 0.784156 -0.588045 - 0.015036 -0.967322 0.253104 - 0.350256 0.750921 -0.559856 - 0.916451 -0.233080 0.325255 - 0.569191 -0.279830 -0.773121 - -0.427781 0.498781 -0.753804 - -0.599643 0.096845 -0.794386 - -0.413668 -0.839789 -0.351617 - -0.830343 -0.345768 -0.437007 - 0.183549 -0.910697 0.370056 - 0.777076 -0.178971 0.603425 - 0.837870 0.326374 0.437553 - 0.117412 0.975097 -0.188151 - -0.299744 -0.928208 0.220415 - -0.786121 -0.604356 -0.129487 - -0.906636 -0.289545 -0.306878 - -0.903848 0.047723 -0.425184 - 0.804034 -0.341336 0.486845 - 0.738137 -0.443185 0.508666 - 0.914929 -0.000545 0.403616 - 0.798345 0.585150 0.142286 - 0.901767 0.334270 0.274008 - 0.251468 0.939346 -0.233224 - -0.659002 0.562651 -0.499139 - 0.213887 -0.890277 -0.402069 - -0.646071 -0.356136 -0.675099 - -0.414127 0.329597 -0.848448 - 0.924768 -0.301134 0.232642 - 0.798073 -0.088300 -0.596055 - 0.703891 0.662945 -0.255033 - 0.493041 0.869232 0.036696 - 0.470455 0.403080 0.784983 - -0.867041 0.399082 0.298284 - -0.829546 0.504503 0.239437 - 0.581521 0.806124 0.109530 - 0.790126 -0.456522 -0.409010 - 0.893499 -0.029475 0.448096 - 0.919004 -0.183874 0.348743 - -0.638994 -0.759362 0.122703 - -0.963944 -0.235207 0.124458 - 0.891513 0.166310 0.421361 - 0.911033 0.246814 0.330305 - -0.510820 -0.846934 -0.147531 - -0.586759 -0.748607 -0.308710 - -0.749717 -0.526001 -0.401557 - -0.920967 0.355606 0.159260 - 0.749866 -0.494411 -0.439612 - 0.723002 0.689273 0.046591 - -0.412463 -0.904111 0.111616 - 0.979118 0.134886 0.152101 - 0.562111 -0.042828 0.825952 - 0.936396 -0.010697 0.350784 - 0.351753 0.755262 0.553036 - 0.637447 0.765528 0.087340 - 0.938355 0.294100 0.181644 - 0.812712 -0.560655 -0.158637 - -0.974970 0.149101 0.164929 - -0.938448 -0.334029 -0.087973 - -0.947226 -0.279827 -0.156393 - -0.540098 -0.837580 -0.082184 - -0.942015 -0.297289 -0.155647 - 0.956675 0.291017 -0.009077 - 0.963098 0.269081 0.006114 - 0.985609 0.168590 0.012319 - 0.565247 -0.432689 -0.702336 - 0.687118 -0.021982 -0.726213 - -0.569445 -0.452250 -0.686442 - -0.665813 -0.583930 0.464455 - -0.802505 -0.091575 0.589575 - -0.746176 0.662786 0.062743 - -0.564703 -0.822665 0.065827 - 0.810154 0.086827 0.579751 - 0.681280 0.713539 0.163459 - -0.986734 -0.150803 0.060121 - 0.983157 0.180861 -0.026311 - 0.990620 0.134224 -0.025613 - 0.675629 0.671982 0.303260 - -0.771083 0.347540 0.533523 - 0.958580 -0.104415 0.264993 - 0.994476 0.097791 -0.038139 - 0.858652 0.333976 0.388814 - -0.818264 -0.249053 0.518090 - -0.771451 0.555539 0.310227 - -0.763281 0.625821 0.160468 - 0.703731 0.709687 -0.033286 - 0.949658 0.313263 0.003853 - 0.720565 -0.680875 -0.131134 - -0.939921 -0.340635 0.022699 - -0.942057 -0.335435 0.003311 - -0.948304 -0.317362 0.000707 - -0.959705 -0.280872 -0.008827 - -0.699456 -0.710909 0.073276 - 0.931269 0.212985 -0.295594 - 0.853438 0.228384 -0.468491 - 0.967547 0.068395 -0.243258 - 0.971586 0.021025 -0.235750 - 0.672593 0.422571 0.607497 - -0.995315 0.037755 -0.089012 - 0.918528 0.285993 -0.272974 - 0.747544 -0.520285 0.412895 - -0.925180 0.185097 0.331334 - -0.680897 0.731682 -0.031952 - -0.580969 -0.801895 -0.139424 - 0.853981 -0.519401 0.030638 - 0.728664 0.675546 0.112636 - -0.975566 -0.219202 -0.014889 - -0.898324 -0.035046 -0.437933 - -0.953124 0.127983 -0.274182 - -0.840824 -0.537053 -0.067746 - 0.996309 0.055135 -0.065800 - 0.874060 -0.304350 -0.378670 - 0.985053 -0.172253 0.000188 - -0.484420 0.558271 0.673551 - 0.744429 0.607679 0.276680 - -0.798782 -0.579204 -0.162700 - 0.940768 0.338734 0.014679 - 0.899746 0.353331 0.256151 - 0.947003 0.319397 0.034216 - 0.823454 -0.141849 0.549366 - -0.927159 -0.355919 -0.117039 - -0.549817 -0.834850 0.026949 - -0.750331 0.659413 0.046663 - -0.791278 -0.605723 0.083533 - 0.734803 0.676786 -0.045002 - 0.933812 0.303785 -0.188969 - 0.577622 -0.816128 -0.016988 - -0.934423 -0.355496 0.021792 - -0.934858 -0.314413 -0.164879 - -0.941517 -0.327055 0.081126 - -0.941840 -0.258605 0.214618 - -0.946792 -0.297226 0.123455 - 0.798695 -0.317829 -0.510951 - 0.565232 0.484037 -0.667998 - 0.835984 -0.185991 -0.516273 - 0.450572 0.266115 -0.852155 - 0.777657 0.587326 0.224272 - -0.362185 -0.708737 -0.605404 - -0.376142 0.642568 0.667550 - 0.765104 0.619793 0.174565 - -0.925028 -0.315700 -0.211320 - 0.835350 -0.228542 -0.499959 - 0.751193 -0.335473 -0.568478 - -0.712129 0.701830 0.017517 - -0.684718 -0.712271 0.154377 - -0.677577 -0.729863 -0.090495 - -0.654817 0.754512 -0.043886 - -0.694221 -0.711058 -0.111601 - 0.813147 -0.581067 -0.033957 - 0.736572 0.671772 0.078638 - -0.973575 -0.146858 -0.174883 - -0.968020 -0.250703 0.009173 - -0.981903 0.115082 -0.150409 - -0.998651 -0.051922 0.000248 - -0.998766 0.043886 -0.023245 - -0.353460 -0.935386 0.010913 - 0.694124 -0.401799 -0.597285 - 0.763148 0.591910 -0.259321 - 0.978760 0.131027 0.157674 - 0.873977 -0.303850 0.379262 - -0.111286 -0.579791 0.807129 - -0.211933 -0.977269 -0.005411 - -0.111532 -0.576954 -0.809126 - -0.352806 -0.935630 -0.011173 - 0.929755 0.368104 0.007355 - 0.879113 0.353361 0.319838 - 0.914600 0.355994 -0.191769 - 0.399695 0.654487 0.641787 - 0.579445 0.307578 -0.754744 - 0.914952 -0.358838 -0.184659 - 0.418877 0.886190 0.198013 - -0.924077 -0.365423 0.112016 - -0.925018 -0.379858 0.007052 - -0.952867 0.045294 0.299990 - -0.364322 -0.923539 -0.119773 - -0.717286 0.696340 0.024745 - -0.772635 -0.626185 0.104534 - 0.513693 -0.850102 0.115955 - 0.730780 0.679153 -0.068643 - 0.787626 0.486237 -0.378443 - -0.916535 -0.381193 -0.121056 - -0.926585 -0.349205 0.139630 - -0.740840 -0.641686 -0.198483 - -0.799111 0.438418 -0.411353 - -0.920519 -0.390546 0.010860 - -0.913926 -0.301645 -0.271570 - -0.482463 -0.873438 0.065840 - 0.793967 -0.579958 0.182387 - -0.514902 -0.855825 0.049382 - 0.493041 0.869232 -0.036696 - -0.867041 0.399082 -0.298284 - 0.790126 -0.456522 0.409010 - -0.771083 0.347540 -0.533523 - 0.851058 -0.400983 0.338988 - 0.802726 0.582178 0.129230 - -0.722926 -0.517753 -0.457504 - -0.824771 -0.037453 0.564225 - 0.780236 0.590625 0.205896 - 0.741101 -0.333884 -0.582486 - 0.417917 0.541331 0.729593 - -0.497012 0.797484 -0.342050 - -0.699460 -0.702877 -0.129304 - 0.654813 -0.748219 0.106716 - 0.570016 -0.775843 0.270461 - -0.590830 0.798936 -0.112343 - -0.699168 -0.687088 -0.197671 - 0.728787 -0.680490 -0.076177 - 0.805309 0.591177 -0.044578 - -0.882060 -0.051833 0.468277 - -0.953146 0.127721 0.274228 - -0.840730 -0.537193 0.067802 - -0.939084 0.309014 0.150437 - -0.484420 0.558271 -0.673551 - 0.744429 0.607679 -0.276680 - 0.779469 -0.310190 0.544252 - 0.917315 0.397965 -0.012541 - 0.901343 0.403818 0.156561 - 0.880621 0.352489 -0.316638 - 0.820175 0.323817 0.471653 - 0.891333 -0.002124 0.453344 - 0.066230 0.046930 0.996700 - 0.637541 0.569429 -0.518934 - 0.858669 -0.359485 -0.365320 - -0.871033 0.360000 0.334218 - 0.958047 -0.273686 -0.085104 - 0.416500 0.898785 0.136798 - -0.846335 0.438492 0.302392 - -0.911680 -0.410357 -0.021136 - -0.914825 -0.403675 -0.011872 - -0.472098 -0.838147 0.273189 - -0.921102 -0.388163 0.030014 - -0.368513 -0.928561 -0.044423 - -0.705734 0.688900 -0.165396 - -0.714241 -0.690352 0.115210 - 0.626185 -0.754326 0.197192 - 0.759604 0.630081 -0.161244 - 0.674892 0.723561 -0.144844 - -0.694070 -0.686179 -0.217774 - 0.066230 0.046930 -0.996700 - -0.882556 0.246378 -0.400491 - -0.859883 0.379065 -0.341923 - -0.454823 -0.890057 0.030559 - -0.811999 0.543314 -0.213232 - -0.510820 -0.846934 0.147531 - 0.669397 -0.732435 0.124280 - -0.631170 -0.775523 0.013737 - -0.752393 0.644348 -0.136822 - -0.829546 0.504503 -0.239437 - 0.581521 0.806124 -0.109530 - -0.586759 -0.748607 0.308710 - 0.749866 -0.494411 0.439612 - -0.742454 -0.620078 0.253505 - 0.852581 0.509343 0.116940 - 0.317140 -0.573554 -0.755287 - -0.777687 -0.506113 -0.372897 - -0.876962 0.381580 0.292122 - 0.731461 0.656123 0.185654 - 0.954053 0.128096 0.270877 - -0.645078 0.764066 0.008787 - -0.262374 0.948932 0.175182 - -0.877519 -0.307489 0.367982 - 0.111764 -0.788526 0.604761 - 0.506693 0.277915 0.816104 - -0.497306 0.829747 -0.253389 - -0.647476 -0.726171 -0.231194 - 0.727714 -0.677259 -0.108409 - 0.831217 0.555134 -0.030071 - -0.590356 0.500951 -0.632872 - 0.647929 0.723056 -0.239536 - 0.757447 -0.344835 0.554403 - 0.867453 0.192206 0.458893 - 0.879736 0.475462 -0.000754 - 0.862695 0.479957 0.159367 - 0.909157 0.384782 -0.159299 - 0.519251 0.573585 0.633544 - 0.850572 -0.165826 -0.499029 - 0.458674 0.869842 0.181641 - 0.908755 -0.416387 -0.028045 - 0.947208 -0.288171 0.140547 - 0.393432 0.881926 -0.259651 - 0.951439 -0.297102 -0.080580 - 0.382643 0.918324 0.101318 - -0.893957 0.423820 0.145661 - -0.365039 -0.930819 0.017949 - -0.902931 -0.422903 0.076613 - -0.884336 -0.466851 -0.000600 - -0.954248 -0.201081 0.221307 - -0.882314 -0.470456 -0.013893 - -0.379605 -0.923812 -0.049708 - -0.849908 -0.007119 -0.526882 - -0.569786 0.820741 -0.041572 - -0.871372 -0.090272 0.482247 - 0.350957 -0.774398 0.526438 - 0.432960 0.579722 0.690267 - 0.708247 0.705782 -0.016075 - -0.904043 0.358941 -0.232092 - -0.373819 -0.926463 -0.043888 - 0.413761 0.879581 -0.234818 - -0.857629 0.468375 -0.212359 - -0.374183 -0.924370 0.074340 - -0.753374 -0.655746 -0.049238 - 0.534423 -0.845033 0.017626 - -0.749672 0.659641 -0.053533 - 0.740049 0.671094 0.044274 - -0.685921 -0.555408 0.470143 - -0.920967 0.355606 -0.159260 - 0.723002 0.689273 -0.046591 - 0.565247 -0.432689 0.702336 - -0.723181 -0.576847 0.379812 - 0.825541 -0.383213 -0.414282 - -0.879642 -0.464838 0.100776 - -0.736843 -0.548416 -0.395350 - -0.626709 -0.770633 -0.115589 - 0.762170 -0.644542 0.060525 - 0.825437 0.534298 0.182150 - -0.461160 0.847416 -0.263092 - 0.283516 0.634013 0.719476 - -0.843026 0.291909 0.451769 - 0.380304 -0.782692 0.492709 - -0.780784 -0.580282 -0.231621 - -0.492750 0.669478 0.555875 - -0.925376 -0.365742 0.099556 - -0.055723 -0.818999 0.571083 - 0.821540 0.375808 0.428766 - -0.954627 0.296519 -0.027634 - 0.837525 -0.231186 0.495080 - 0.872295 0.475797 -0.112777 - 0.836184 0.065925 0.544473 - -0.752864 -0.360031 0.550975 - 0.864251 0.503030 0.005607 - 0.846600 0.478288 0.233470 - 0.856478 0.480712 -0.188044 - 0.936574 0.144738 0.319185 - 0.807943 0.384362 -0.446647 - -0.467037 -0.675848 0.570180 - -0.904160 0.331191 0.269829 - 0.716214 0.520046 -0.465392 - 0.897788 -0.429118 0.099168 - -0.887696 0.405996 0.217170 - 0.458612 0.881884 0.109341 - 0.906630 -0.412884 -0.086884 - 0.950135 -0.271877 0.152727 - 0.928982 -0.367956 -0.040010 - 0.428997 0.893279 -0.134219 - -0.908211 0.417950 0.021695 - -0.356078 -0.929586 0.095285 - -0.843710 -0.491483 0.215864 - -0.871710 -0.489998 0.004780 - -0.876533 -0.447594 -0.177060 - -0.395671 -0.918234 -0.017042 - -0.663419 -0.577043 -0.476337 - 0.871842 -0.008332 -0.489716 - 0.454568 0.860291 -0.230797 - 0.430621 0.891959 -0.137750 - -0.892833 0.411325 -0.183472 - -0.414534 -0.909973 0.010505 - 0.953265 -0.300102 0.035000 - 0.418380 0.903272 -0.095177 - -0.886132 0.448085 -0.118279 - -0.329202 -0.944259 -0.000668 - -0.752371 0.658716 -0.005710 - -0.816704 -0.570925 -0.083902 - 0.556261 -0.827481 -0.076481 - 0.737250 0.675337 0.019560 - -0.735305 -0.550048 -0.395946 - -0.746176 0.662786 -0.062743 - -0.564703 -0.822665 -0.065827 - 0.810154 0.086827 -0.579751 - 0.681280 0.713539 -0.163459 - -0.867235 -0.389871 0.309682 - -0.957953 0.092854 -0.271484 - 0.711908 0.499234 0.493915 - 0.411606 -0.698843 -0.584977 - 0.331004 -0.939964 -0.083091 - -0.810649 -0.232793 -0.537266 - 0.587452 -0.782552 0.206185 - -0.248202 0.959065 0.136342 - 0.456337 0.318910 0.830694 - -0.958875 -0.092989 0.268163 - -0.670013 0.700931 0.244497 - 0.013557 -0.846236 0.532635 - 0.851058 -0.400983 -0.338988 - 0.679333 0.457632 -0.573654 - 0.626900 -0.391799 0.673417 - 0.492996 0.443887 -0.748278 - 0.802726 0.582178 -0.129230 - -0.712129 0.701830 -0.017517 - -0.582354 0.060297 -0.810696 - 0.885295 0.464834 -0.013478 - 0.870632 0.277063 0.406493 - 0.795971 0.482131 -0.366033 - 0.778079 0.421155 0.466071 - 0.870309 0.448273 -0.203993 - -0.445175 0.056179 0.893680 - 0.797661 0.597849 0.079459 - 0.821213 0.558432 -0.117318 - 0.931279 -0.355866 -0.077965 - -0.141640 -0.984313 0.105200 - 0.899065 -0.426549 0.098677 - -0.869602 0.483806 0.098613 - -0.402769 -0.915181 -0.014863 - 0.431300 0.901907 -0.023327 - 0.914966 -0.387660 -0.112058 - 0.896981 -0.420051 0.137774 - 0.560540 0.793675 -0.236380 - -0.864496 0.485499 -0.130147 - -0.359445 -0.922116 0.143183 - -0.838566 -0.492957 0.231950 - -0.889384 -0.456744 -0.019509 - -0.729736 -0.628321 -0.269625 - -0.777224 -0.509073 -0.369821 - -0.318543 0.296715 -0.900273 - -0.609894 0.686001 -0.396776 - -0.210905 -0.976418 -0.046130 - 0.883462 0.438517 -0.164915 - 0.949994 -0.302323 0.078187 - 0.917836 -0.386075 0.092323 - 0.407639 0.913106 0.008213 - -0.885641 0.458084 -0.076146 - -0.454028 -0.890159 0.038401 - -0.356629 -0.931087 -0.076772 - 0.937662 -0.347545 -0.001706 - 0.418947 0.906826 0.046374 - -0.902254 0.430418 -0.026030 - 0.693353 0.717117 0.070745 - -0.683894 0.695492 0.220409 - -0.775279 -0.631202 -0.022929 - 0.683196 -0.717296 -0.136858 - 0.747544 -0.520285 -0.412895 - -0.517945 0.855127 0.022158 - -0.580969 -0.801895 0.139424 - 0.853981 -0.519401 -0.030638 - 0.812229 0.568846 -0.129221 - -0.684718 -0.712271 -0.154377 - -0.739869 -0.056768 -0.670352 - -0.877680 0.384106 -0.286600 - -0.830074 -0.441996 0.340026 - -0.677577 -0.729863 0.090495 - -0.617762 0.783517 0.066867 - 0.706320 0.493091 0.507911 - 0.809643 -0.553311 -0.195769 - -0.657865 -0.172557 -0.733101 - 0.654813 -0.748219 -0.106716 - 0.771423 0.600744 -0.209794 - 0.758019 -0.386723 0.525216 - 0.852581 0.509343 -0.116940 - -0.497012 0.797484 0.342050 - -0.699460 -0.702877 0.129304 - 0.875763 0.482357 0.019262 - 0.903967 0.179940 0.387900 - 0.870196 0.474256 -0.133569 - 0.893637 0.151866 -0.422316 - 0.827569 0.282013 -0.485386 - 0.405373 -0.525697 0.747874 - 0.156753 -0.382063 0.910745 - 0.152157 0.025673 -0.988023 - -0.215893 -0.188115 0.958125 - -0.535232 0.748402 0.391690 - -0.643711 0.745248 0.173897 - 0.817823 0.573504 -0.047529 - 0.938123 -0.346302 -0.000685 - -0.129151 -0.985118 0.113416 - -0.850214 0.524322 0.047153 - -0.424952 -0.905199 -0.005494 - 0.931907 -0.347521 -0.103821 - 0.396277 0.905100 -0.154141 - 0.625184 -0.568249 0.535012 - 0.408735 0.706859 0.577309 - -0.569847 0.812411 0.123541 - -0.792508 -0.170519 0.585538 - -0.720187 -0.608452 0.333343 - -0.699085 -0.701543 0.138266 - -0.820175 -0.536975 -0.197407 - -0.856734 -0.511710 0.064491 - -0.786937 -0.616969 -0.008890 - 0.179324 -0.719429 -0.671018 - 0.109270 -0.419658 -0.901081 - 0.850932 0.517532 0.089856 - 0.846483 0.532317 0.010267 - -0.659091 0.688219 -0.303237 - -0.170294 -0.984286 -0.046691 - 0.957054 -0.289883 -0.003900 - -0.465824 -0.884388 -0.029433 - 0.941823 -0.326627 0.079278 - 0.392940 0.914952 0.091978 - -0.866282 0.499509 0.006771 - -0.846123 0.504052 0.173228 - -0.421450 -0.900313 -0.108702 - 0.928722 -0.349964 -0.122475 - 0.504581 0.853462 0.130387 - 0.469680 -0.223765 -0.854008 - 0.251697 0.963440 -0.091829 - -0.849559 0.447865 -0.278687 - -0.533783 -0.716126 -0.449710 - 0.669012 0.739885 -0.070660 - -0.832037 0.551768 0.057153 - -0.694221 -0.711058 0.111601 - 0.813147 -0.581067 0.033957 - -0.645078 0.764066 -0.008787 - -0.626709 -0.770633 0.115589 - -0.908168 -0.316205 -0.274309 - -0.736133 -0.558454 0.382410 - 0.570016 -0.775843 -0.270461 - -0.743119 0.669023 -0.013491 - 0.552435 0.472749 0.686530 - 0.874347 -0.194619 0.444567 - 0.602799 -0.694952 -0.392014 - 0.636075 -0.296048 0.712576 - -0.750684 -0.130442 -0.647656 - 0.961414 -0.223449 -0.160479 - 0.731461 0.656123 -0.185654 - 0.438031 -0.594378 0.674421 - 0.311723 0.622647 -0.717733 - 0.506693 0.277915 -0.816104 - -0.262374 0.948932 -0.175182 - -0.877519 -0.307489 -0.367982 - 0.111764 -0.788526 -0.604761 - 0.704817 0.709366 -0.005681 - 0.360215 0.900069 0.245196 - 0.872005 0.466128 0.149441 - -0.331854 -0.833353 0.442036 - 0.821026 0.021258 0.570494 - 0.576368 0.799537 0.168940 - 0.218115 0.924668 -0.312114 - 0.620401 0.729457 -0.288090 - 0.826613 -0.132123 -0.547042 - -0.655578 0.752140 -0.067100 - -0.176625 -0.982904 0.051998 - 0.837893 0.545782 0.007585 - 0.933665 -0.348940 0.080691 - -0.846706 0.531840 0.015372 - -0.477147 -0.875861 0.072091 - 0.923705 -0.372276 -0.090439 - 0.409314 0.883095 -0.229361 - -0.942606 -0.309381 0.125608 - -0.834314 -0.548840 -0.051916 - -0.891244 -0.450969 0.048082 - -0.747496 -0.569747 0.341522 - -0.755445 0.269261 -0.597328 - -0.746468 0.593584 0.300738 - -0.430759 -0.899654 -0.071199 - 0.927421 -0.356048 -0.114544 - 0.854842 0.518027 -0.029883 - -0.698093 0.715545 -0.025723 - -0.141165 -0.989919 -0.011522 - -0.850168 0.525155 0.037761 - -0.460618 -0.881522 -0.103680 - 0.936422 -0.343863 0.069793 - 0.428456 0.888969 0.161736 - 0.279563 0.959329 -0.039151 - -0.866785 0.355735 -0.349480 - -0.327100 -0.818854 -0.471683 - 0.616865 0.053165 -0.785271 - 0.805309 0.591177 0.044578 - -0.590830 0.798936 0.112343 - -0.699168 -0.687088 0.197671 - 0.728787 -0.680490 0.076177 - -0.461160 0.847416 0.263092 - -0.780784 -0.580282 0.231621 - 0.405672 -0.908957 0.096054 - 0.783004 -0.612479 -0.108507 - 0.587452 -0.782552 -0.206185 - -0.888758 0.276237 -0.365789 - 0.089429 -0.559261 -0.824154 - -0.753858 -0.473158 0.455872 - -0.655134 0.750455 -0.087272 - -0.973972 0.068110 0.216191 - -0.847861 -0.480106 -0.225011 - 0.545438 0.582082 0.603058 - 0.437374 -0.599932 0.669915 - 0.614714 0.057047 0.786685 - 0.341668 -0.844424 -0.412567 - -0.530523 0.711276 0.461121 - -0.793134 0.046185 -0.607294 - 0.825437 0.534298 -0.182150 - 0.799098 -0.515971 0.308573 - 0.428455 0.708889 -0.560270 - -0.824755 0.545397 -0.149401 - 0.202774 0.978390 0.040435 - 0.001770 0.954456 0.298347 - -0.662698 0.493274 0.563483 - -0.885083 0.425979 -0.187538 - -0.236182 -0.951226 0.198459 - 0.789804 -0.082142 0.607834 - 0.500143 0.862682 0.075074 - -0.582664 0.392691 -0.711545 - -0.077711 0.978955 -0.188702 - -0.646443 0.604481 -0.465526 - 0.490495 0.869328 -0.060693 - 0.788859 -0.087437 -0.608323 - -0.234545 -0.950954 -0.201682 - -0.629109 0.751872 -0.197259 - -0.358291 -0.931971 0.055288 - 0.882932 -0.429199 0.190313 - 0.853454 0.519823 0.037425 - -0.517129 0.810656 0.274615 - -0.510662 -0.290441 0.809239 - 0.689491 -0.596930 0.410216 - 0.584659 0.637570 0.501676 - -0.790701 0.550325 0.268206 - -0.884414 0.455033 0.103713 - -0.570023 0.411206 0.711325 - -0.290689 -0.956662 -0.017262 - 0.836326 -0.522058 -0.167375 - 0.851017 0.523088 -0.046358 - -0.634636 0.712755 0.298693 - 0.277246 0.957847 -0.075257 - -0.665622 0.354731 -0.656592 - -0.158114 -0.873296 -0.460818 - 0.818582 0.047783 -0.572399 - 0.831217 0.555134 0.030071 - -0.497306 0.829747 0.253389 - -0.647476 -0.726171 0.231194 - 0.727714 -0.677259 0.108409 - -0.248202 0.959065 -0.136342 - -0.958875 -0.092989 -0.268163 - 0.013557 -0.846236 -0.532635 - 0.456337 0.318910 -0.830694 - -0.611715 -0.460042 0.643557 - -0.606470 0.778967 -0.159390 - -0.722189 -0.530911 -0.443369 - 0.363545 -0.870612 0.331465 - 0.651377 0.583084 0.485511 - 0.626132 0.086206 0.774937 - -0.365938 0.872567 0.323600 - 0.240327 -0.893919 -0.378353 - -0.696147 0.106539 -0.709950 - 0.726400 -0.621643 0.293093 - 0.776176 0.397521 -0.489416 - -0.592838 0.803953 -0.046935 - -0.664943 -0.190987 0.722063 - -0.209925 -0.953407 0.216672 - 0.799500 -0.048663 0.598691 - 0.484458 0.873118 0.054459 - -0.597062 0.368407 -0.712596 - 0.799069 -0.052186 -0.598971 - 0.475233 0.878907 -0.040943 - -0.209417 -0.952887 -0.219434 - -0.585411 0.386158 0.712865 - -0.619533 0.757355 -0.206381 - -0.466122 -0.869032 0.165873 - 0.842799 -0.474712 0.253648 - 0.833461 0.551219 0.038747 - -0.600109 0.679082 0.422749 - -0.400917 -0.906158 -0.134697 - 0.807886 -0.544969 -0.224340 - 0.813632 0.580340 -0.034765 - 0.821540 0.375808 -0.428766 - -0.492750 0.669478 -0.555875 - -0.925376 -0.365742 -0.099556 - -0.055723 -0.818999 -0.571083 - -0.526733 0.819350 -0.226315 - -0.746489 -0.471834 -0.469177 - 0.395481 -0.894377 0.209008 - 0.674928 0.642493 0.362871 - -0.150219 0.974571 0.166269 - 0.704682 0.174677 0.687685 - -0.720016 0.140565 -0.679572 - 0.079673 -0.984074 -0.158903 - 0.602799 -0.694952 0.392014 - 0.636075 -0.296048 -0.712576 - 0.874347 -0.194619 -0.444567 - 0.552435 0.472749 -0.686530 - -0.685184 0.725123 -0.068704 - -0.792646 -0.049503 0.607670 - -0.182973 -0.954521 0.235393 - 0.808328 -0.015247 0.588534 - 0.469686 0.882158 0.034522 - -0.610703 0.345142 -0.712685 - -0.183498 -0.953930 -0.237372 - 0.808184 -0.016955 -0.588686 - 0.460986 0.887139 -0.021828 - -0.599580 0.361507 0.714015 - -0.420105 0.901720 0.102044 - -0.696814 -0.350616 0.625714 - 0.604420 -0.540653 0.585125 - 0.539220 0.524746 0.658698 - 0.441410 0.857307 -0.264920 - -0.824829 0.287441 -0.486862 - -0.186141 -0.685126 -0.704240 - 0.525283 -0.059378 -0.848854 - -0.468816 0.844429 -0.259134 - -0.759769 -0.366730 -0.536899 - 0.232398 -0.916102 0.326724 - 0.611929 0.618974 0.492356 - 0.018807 0.969982 0.242450 - -0.681931 0.728229 0.068208 - 0.134277 0.198973 0.970762 - -0.581610 -0.802835 0.131095 - 0.614714 0.057047 -0.786685 - 0.341668 -0.844424 0.412567 - 0.437374 -0.599932 -0.669915 - -0.973972 0.068110 -0.216191 - -0.530523 0.711276 -0.461121 - 0.545438 0.582082 -0.603058 - -0.655134 0.750455 0.087272 - -0.847861 -0.480106 0.225011 - -0.793134 0.046185 0.607294 - -0.154824 -0.954721 0.254041 - 0.815997 0.018128 0.577772 - 0.455475 0.890108 0.015830 - -0.622886 0.322473 -0.712758 - -0.613111 0.338108 0.713987 - -0.156523 -0.954107 -0.255306 - 0.816430 0.018499 -0.577147 - 0.447326 0.894362 -0.004046 - -0.516427 0.847005 0.126040 - -0.994965 -0.040683 -0.091597 - -0.470523 -0.835144 0.284856 - -0.041363 0.278942 0.959417 - 0.626132 0.086206 -0.774937 - -0.365938 0.872567 -0.323600 - 0.240327 -0.893919 0.378353 - 0.651377 0.583084 -0.485511 - 0.363545 -0.870612 -0.331465 - -0.696147 0.106539 0.709950 - -0.606470 0.778967 0.159390 - -0.722189 -0.530911 0.443369 - -0.125326 -0.953936 0.272579 - 0.822793 0.051830 0.565972 - 0.441944 0.897042 -0.001412 - -0.634469 0.301200 -0.711848 - 0.434186 0.900741 0.012200 - -0.625125 0.315455 0.713938 - -0.128445 -0.953319 -0.273286 - 0.823372 0.054359 -0.564893 - 0.704682 0.174677 -0.687685 - -0.150219 0.974571 -0.166269 - -0.720016 0.140565 0.679572 - 0.079673 -0.984074 0.158903 - 0.674928 0.642493 -0.362871 - -0.526733 0.819350 0.226315 - 0.395481 -0.894377 -0.209008 - -0.746489 -0.471834 0.469177 - -0.583268 -0.667635 0.462669 - 0.377155 0.034845 0.925494 - 0.326486 0.839638 0.434069 - -0.612607 0.772208 0.168545 - 0.620469 0.372457 -0.690140 - 0.020371 0.930258 -0.366341 - -0.992067 -0.007787 0.125472 - -0.081182 -0.324565 -0.942373 - 0.018807 0.969982 -0.242450 - 0.134277 0.198973 -0.970762 - -0.681931 0.728229 -0.068208 - -0.581610 -0.802835 -0.131095 - 0.611929 0.618974 -0.492356 - -0.468816 0.844429 0.259134 - -0.759769 -0.366730 0.536899 - 0.232398 -0.916102 -0.326724 - 0.257633 0.288877 -0.922050 - -0.642702 0.693619 -0.325311 - -0.955314 -0.055364 0.290363 - -0.643900 -0.611312 -0.460098 - 0.857256 0.214875 -0.467911 - 0.341195 0.939341 0.034988 - 0.493981 0.855369 0.155973 - 0.848677 -0.528763 -0.012533 - 0.978918 0.077087 -0.189150 - 0.771573 0.244465 -0.587292 - 0.867314 0.496895 -0.029340 - 0.458807 0.871117 -0.175074 - -0.671515 0.640611 0.372405 - -0.214184 0.459078 0.862191 - -0.120125 -0.888511 0.442852 - 0.927479 -0.340396 0.154638 - -0.363537 -0.843443 0.395531 - 0.998297 0.058318 0.001371 - -0.205226 -0.938535 -0.277552 - 0.938004 0.065366 0.340405 - 0.401395 0.870514 -0.284760 - -0.768490 0.639839 0.005440 - -0.884951 -0.196505 0.422194 - -0.307084 0.158233 0.938436 - -0.911014 -0.387023 -0.142365 - 0.176968 -0.903410 0.390553 - -0.958589 -0.261462 0.112895 - 0.891524 -0.225978 0.392580 - -0.925677 -0.200089 0.321071 - 0.920627 0.322043 0.220757 - -0.139805 -0.919717 0.366846 - -0.143562 0.899459 -0.412751 - -0.830989 0.510365 -0.221325 - -0.651757 0.318135 -0.688478 - -0.702978 -0.589867 -0.397339 - -0.823157 0.338629 -0.455788 - 0.242093 -0.863499 0.442449 - 0.695606 -0.240698 0.676902 - 0.623273 0.728681 0.283820 - -0.240030 0.829110 -0.504938 - 0.078956 0.930559 -0.357529 - -0.489680 0.368492 -0.790207 - -0.555883 -0.672452 -0.488674 - 0.086203 -0.902895 0.421130 - 0.520443 -0.236448 0.820507 - 0.594233 0.654333 0.467691 - 0.538405 0.522075 0.661482 - 0.232357 0.941381 -0.244565 - -0.303983 0.347675 -0.886971 - -0.482654 -0.580055 -0.656188 - -0.069911 -0.884923 0.460461 - 0.316282 -0.303290 0.898878 - 0.007912 -0.633992 0.773299 - 0.393829 0.443390 0.805173 - 0.354056 0.934403 -0.039182 - -0.109564 0.335041 -0.935811 - -0.284837 -0.940651 -0.184511 - -0.410478 -0.651010 -0.638509 - -0.271496 -0.754403 0.597634 - 0.018470 -0.238278 0.971021 - -0.042243 -0.023337 -0.998835 - 0.283150 0.409138 0.867429 - 0.399481 0.915982 -0.037303 - 0.084611 0.137838 -0.986834 - -0.320970 -0.806182 -0.497040 - -0.354884 -0.784465 0.508598 - -0.150893 -0.272654 0.950206 - 0.385421 0.914613 -0.122201 - 0.158554 0.394645 0.905050 - 0.359710 0.933033 -0.007679 - 0.239369 0.165285 -0.956757 - -0.008405 -0.376511 -0.926374 - -0.393427 -0.913044 -0.107544 - -0.263756 -0.252521 0.930949 - 0.014760 0.393229 0.919322 - -0.159067 0.356093 0.920813 - 0.371374 0.928039 -0.028722 - 0.361853 0.106972 -0.926077 - 0.164497 -0.331002 -0.929182 - -0.340850 -0.935106 -0.096942 - -0.399367 -0.220347 0.889918 - -0.578983 -0.081339 0.811272 - -0.294419 0.467726 0.833397 - 0.515276 0.773141 -0.369788 - 0.533405 0.114457 -0.838080 - 0.314141 -0.439524 -0.841507 - -0.367743 -0.927920 -0.061067 - -0.554283 -0.831082 0.045527 - -0.696218 0.036244 0.716914 - 0.105975 0.943115 0.315125 - 0.702454 0.133130 -0.699167 - 0.394715 -0.519652 -0.757734 - 0.651731 -0.755933 -0.061748 - -0.262649 -0.506553 0.821231 - -0.334392 0.127677 0.933745 - -0.083378 0.574337 0.814362 - 0.771756 0.350778 0.530422 - 0.899968 -0.032650 -0.434731 - 0.744833 0.485019 0.458236 - -0.066113 -0.598168 0.798639 - 0.695769 -0.644884 -0.316277 - 0.127167 0.856840 0.499653 - -0.279504 0.347338 0.895117 - 0.620044 0.142302 -0.771554 - 0.674228 0.477278 -0.563580 - 0.825396 -0.056599 -0.561710 - -0.554699 0.126141 0.822434 - -0.539210 -0.842170 0.001252 - 0.308857 -0.454844 -0.835299 - -0.033152 0.746614 0.664432 - 0.208685 -0.426854 -0.879913 - 0.516302 0.326270 -0.791821 - 0.518106 0.838865 -0.166950 - -0.070184 0.502142 0.861932 - -0.448991 0.024028 0.893213 - -0.442426 -0.892304 -0.089734 - -0.414986 -0.907529 0.064631 - 0.036765 -0.399894 -0.915824 - 0.372725 0.375210 -0.848701 - 0.352322 0.863877 0.359980 - -0.050289 0.308754 0.949812 - -0.288627 -0.077164 0.954327 - -0.088708 -0.087139 0.992239 - -0.373059 -0.880725 0.291805 - -0.121050 -0.406325 -0.905675 - 0.273700 0.462294 -0.843429 - 0.369016 0.839952 0.397880 - 0.113662 0.309068 0.944224 - 0.180109 0.245336 0.952560 - 0.019615 -0.083631 0.996304 - -0.387940 -0.896133 0.215518 - -0.228031 -0.404334 -0.885729 - 0.149638 0.425710 -0.892401 - 0.431004 0.891617 0.138760 - 0.401531 0.907016 0.126863 - 0.246040 0.250860 0.936234 - 0.084340 -0.123909 0.988703 - -0.272927 -0.753142 0.598572 - -0.372838 -0.726977 -0.576625 - 0.046216 0.338271 -0.939913 - -0.060675 0.363128 -0.929762 - 0.355751 0.934139 -0.028733 - 0.383605 0.432986 0.815702 - 0.137315 -0.213983 0.967138 - -0.142841 -0.738801 0.658612 - -0.362047 -0.596608 -0.716227 - -0.398814 -0.360378 -0.843253 - -0.269986 0.248440 -0.930261 - 0.135923 0.931360 -0.337778 - 0.470485 0.486069 0.736464 - 0.267168 -0.351017 0.897446 - -0.035635 -0.837932 0.544610 - -0.514645 -0.049831 -0.855954 - 0.011717 -0.934882 0.354764 - -0.477131 0.227784 -0.848800 - 0.083916 0.972751 -0.216131 - 0.582178 0.407542 0.703546 - 0.439206 -0.364117 0.821290 - 0.047298 -0.981996 0.182887 - -0.688512 -0.218142 -0.691639 - 0.675344 -0.238238 0.697963 - -0.585192 0.341889 -0.735297 - 0.001757 0.975454 -0.220198 - 0.664547 0.543879 0.512420 - 0.920202 -0.058353 0.387070 - 0.065753 -0.982362 0.175048 - -0.821430 -0.384698 -0.421022 - 0.566051 0.822599 -0.054007 - -0.854573 0.148820 -0.497552 - -0.478423 0.759256 -0.441183 - 0.751784 0.643058 -0.145934 - 0.986451 -0.115578 0.116432 - 0.177279 -0.918967 0.352239 - -0.716623 -0.686457 0.123400 - -0.505679 0.820411 -0.266861 - -0.993851 0.024629 -0.107953 - -0.275217 0.939514 -0.203887 - 0.844864 0.484389 -0.227096 - 0.975819 -0.200233 -0.087657 - 0.326978 -0.911448 0.249696 - -0.642156 -0.719950 0.263265 - -0.996070 -0.001707 0.088548 - -0.893207 -0.254778 0.370499 - -0.077689 0.989159 0.124611 - 0.609715 0.719812 -0.331842 - 0.802193 -0.527551 -0.279600 - 0.625801 -0.752658 -0.204643 - -0.467012 -0.837227 0.284518 - -0.473554 -0.737180 0.481988 - -0.581916 -0.233253 0.779081 - 0.065281 0.634355 0.770281 - 0.757477 0.561031 -0.333875 - 0.909212 -0.416081 0.014469 - 0.077248 -0.757525 0.648220 - -0.491636 -0.124247 0.861891 - 0.459573 0.841313 0.284578 - -0.760955 0.618981 0.194449 - 0.133222 -0.643775 0.753529 - 0.963406 -0.106358 0.246044 - -0.944049 0.329620 0.011034 - -0.712311 -0.508782 0.483481 - 0.890666 -0.122216 -0.437923 - 0.103866 0.823614 -0.557559 - 0.401817 -0.896641 0.185953 - -0.100348 0.875578 -0.472540 - -0.960155 0.272399 0.062460 - -0.686074 -0.606224 0.402238 - 0.517978 -0.845922 0.126942 - 0.893497 -0.018735 -0.448678 - 0.952955 0.124080 -0.276553 - -0.255297 0.780741 -0.570322 - -0.984758 0.129551 -0.116049 - -0.648944 -0.660933 0.376881 - 0.595572 -0.751300 0.284330 - 0.462271 -0.733817 0.497814 - 0.947533 0.203966 -0.246130 - -0.344521 0.717541 -0.605344 - -0.977163 0.079745 -0.196962 - -0.672968 -0.646012 0.360253 - -0.904318 -0.403621 0.138924 - 0.234166 -0.760557 0.605574 - 0.899841 0.396566 -0.181721 - -0.409964 0.688056 -0.598756 - -0.936055 0.095454 -0.338659 - -0.854090 -0.038748 -0.518680 - -0.872610 -0.486633 -0.041714 - 0.274141 -0.684324 0.675683 - 0.904487 0.425966 -0.021356 - -0.221320 0.667442 -0.711012 - -0.105356 0.616506 -0.780269 - -0.795489 -0.026837 -0.605373 - -0.848457 -0.518284 -0.107249 - 0.321658 -0.599145 0.733186 - 0.894603 0.421431 0.148595 - 0.860254 0.429372 0.274959 - -0.015920 0.440902 -0.897414 - -0.726682 -0.048860 -0.685234 - -0.758887 -0.631887 -0.157508 - 0.283665 -0.580033 0.763607 - 0.722072 -0.464163 0.512995 - 0.908578 0.377162 0.179539 - -0.292723 0.151369 -0.944140 - 0.694403 0.095985 -0.713156 - -0.171450 -0.328918 -0.928665 - -0.299893 -0.953869 0.014107 - 0.934567 0.345753 -0.083905 - 0.308349 -0.695272 0.649244 - 0.446374 -0.482859 -0.753390 - 0.086316 0.728628 0.679449 - 0.154003 0.519026 0.840771 - 0.214562 -0.177984 -0.960357 - 0.477173 0.865114 -0.154545 - -0.154149 -0.925727 -0.345352 - -0.194117 0.339197 0.920470 - -0.534831 -0.479521 0.695712 - -0.266201 -0.781652 -0.564054 - 0.077021 0.624715 0.777045 - -0.282241 -0.716576 -0.637855 - 0.170271 -0.008754 -0.985358 - 0.477142 0.878715 0.013958 - 0.119253 0.485401 0.866120 - -0.069334 0.306965 0.949192 - -0.475704 -0.518737 0.710365 - -0.362970 -0.622677 0.693199 - -0.298431 -0.679309 -0.670431 - 0.082180 0.064263 -0.994544 - 0.448863 0.883375 0.134799 - 0.140434 0.328044 0.934165 - 0.053575 0.280689 0.958302 - 0.180499 0.241697 0.953416 - -0.251081 -0.700891 0.667615 - -0.352991 -0.643113 -0.679561 - 0.066502 0.320097 -0.945048 - 0.415241 0.731599 0.540683 - 0.187468 0.202037 0.961268 - 0.336972 0.274730 0.900541 - 0.253265 0.117450 0.960241 - -0.163102 -0.739190 0.653449 - -0.431591 -0.605451 -0.668699 - 0.089510 0.552188 -0.828901 - 0.440285 0.664821 0.603459 - 0.501205 0.686650 0.526598 - 0.400523 0.236283 0.885298 - 0.356758 0.120614 0.926378 - -0.147855 -0.774061 0.615605 - -0.479441 -0.523078 -0.704646 - 0.036497 0.627531 -0.777736 - -0.065444 0.637261 -0.767864 - 0.518993 0.656163 0.547810 - 0.463078 0.208958 0.861334 - 0.426245 0.114578 0.897322 - -0.081907 -0.834615 0.544710 - -0.540125 -0.534422 -0.650122 - -0.592638 -0.603848 -0.533055 - -0.248275 0.653205 -0.715320 - 0.519423 0.689551 0.504697 - 0.589199 0.210518 0.780081 - 0.568127 0.131783 0.812321 - 0.092273 -0.800626 0.592016 - 0.326450 -0.743599 0.583516 - -0.656444 -0.635595 -0.406325 - -0.438224 0.655090 -0.615481 - 0.566335 0.742975 0.356726 - 0.709174 0.402404 0.578915 - 0.709125 0.147419 0.689500 - 0.857156 0.196470 0.476113 - 0.420934 -0.745835 0.516279 - -0.798035 -0.554087 -0.236911 - -0.559787 0.577719 -0.594036 - 0.251388 0.922934 -0.291541 - 0.799216 0.539200 0.265551 - 0.943377 0.322978 0.075670 - 0.979345 0.108581 0.170569 - 0.341495 -0.789771 0.509552 - -0.859625 -0.496178 0.121869 - -0.828366 0.415148 -0.376114 - 0.157421 0.892831 -0.421986 - 0.005872 0.884248 -0.466980 - 0.889348 0.358829 -0.283375 - 0.997835 -0.008944 -0.065163 - 0.304995 -0.775094 0.553360 - -0.695623 -0.599371 0.396060 - -0.985506 0.145277 -0.087596 - -0.984395 0.115908 0.132406 - -0.009099 0.924049 -0.382167 - 0.860328 0.346948 -0.373447 - 0.968066 -0.065015 -0.242117 - 0.278038 -0.886234 0.370518 - -0.511158 -0.743701 0.430843 - -0.482277 -0.741310 0.466765 - -0.860224 -0.103056 0.499394 - 0.052384 0.998558 0.011749 - 0.666718 0.448365 -0.595362 - 0.770428 -0.523328 -0.364099 - 0.215815 -0.968950 0.120665 - -0.228219 -0.114765 0.966822 - 0.422277 -0.736875 -0.527918 - -0.495638 0.097952 0.862988 - 0.574955 0.728345 0.372747 - 0.783946 0.133769 -0.606247 - 0.730241 -0.652034 -0.203963 - 0.382372 0.358949 0.851438 - 0.987333 -0.140342 -0.074005 - 0.890445 0.380609 -0.249488 - -0.478607 -0.043318 0.876960 - 0.155472 0.824643 0.543867 - -0.075888 -0.968343 0.237809 - 0.091258 -0.765258 -0.637223 - 0.887332 0.386725 -0.251171 - 0.182698 -0.721399 -0.667986 - -0.852522 -0.176425 0.492017 - 0.115651 0.788010 0.604703 - -0.822265 -0.297492 0.485159 - 0.834951 0.350628 -0.424166 - 0.067228 -0.754652 -0.652672 - -0.706828 -0.425636 0.565003 - 0.095676 0.711480 0.696163 - 0.678143 0.455001 -0.577145 - -0.131376 -0.672933 -0.727943 - -0.715839 -0.375308 0.588828 - 0.143993 0.700248 0.699228 - 0.516655 0.606562 -0.604276 - -0.308620 -0.564281 -0.765729 - -0.772442 -0.249574 0.583992 - 0.222666 0.707872 0.670327 - 0.402554 0.715660 -0.570772 - -0.371274 -0.578111 -0.726598 - -0.600959 -0.454326 0.657599 - 0.384553 0.650087 0.655367 - 0.277553 0.771037 -0.573120 - -0.458030 -0.484638 -0.745208 - -0.414146 -0.769341 0.486413 - 0.325880 0.519950 0.789591 - 0.186734 0.837117 -0.514164 - -0.549718 -0.362963 -0.752375 - -0.345648 -0.885193 0.311385 - 0.367069 0.199681 0.908509 - 0.187987 0.893588 -0.407629 - -0.618246 -0.291333 -0.729998 - -0.351559 -0.899257 0.260277 - 0.592255 -0.020292 0.805495 - 0.176610 0.854560 -0.488402 - -0.661231 -0.280282 -0.695856 - -0.197979 -0.948596 0.246921 - 0.767266 0.000495 0.641328 - -0.188851 0.926159 -0.326442 - -0.657305 -0.451184 -0.603642 - -0.146034 -0.964878 0.218367 - 0.777848 -0.001234 0.628451 - -0.247142 0.959021 0.138559 - -0.886227 -0.457773 0.071029 - 0.071000 -0.995962 0.054947 - 0.928134 -0.370541 -0.035591 - 0.076287 0.988265 0.132334 - -0.781740 0.010610 0.623514 - 0.043366 -0.998550 -0.031904 - 0.993842 -0.083013 0.073402 - 0.050273 0.968592 0.243522 - -0.957394 0.285955 -0.040327 - -0.143889 -0.920277 -0.363848 - 0.971926 -0.226009 0.065419 - 0.026994 0.496005 0.867900 - -0.903311 0.366300 0.223277 - -0.543597 -0.836812 0.065170 - 0.527272 -0.779469 0.338250 - -0.639887 -0.659866 0.393855 - -0.657546 -0.752853 -0.029070 - 0.638662 -0.567570 -0.519591 - -0.845391 0.180780 0.502625 - 0.778257 0.290629 0.556642 - 0.835132 -0.509128 0.208192 - -0.530593 -0.847475 -0.016024 - 0.647997 -0.428554 -0.629636 - -0.174374 0.783694 0.596169 - 0.868225 0.477817 -0.133704 - 0.787497 0.560751 -0.255747 - -0.423105 -0.895026 -0.141107 - 0.593027 -0.252799 -0.764468 - -0.272044 0.762874 0.586528 - 0.695097 0.595856 -0.402239 - -0.209814 0.696663 0.686031 - -0.220510 -0.941132 -0.256216 - 0.557311 0.027406 -0.829851 - 0.572712 0.635794 -0.517462 - -0.159987 0.679528 0.715993 - -0.249738 -0.946369 -0.204981 - 0.547915 0.124109 -0.827276 - 0.550846 0.667954 -0.500406 - -0.143056 0.687805 0.711659 - -0.434157 -0.855087 -0.283432 - 0.484786 0.157165 -0.860396 - 0.577728 0.703042 -0.414683 - 0.016860 0.509210 0.860477 - -0.703370 -0.589734 -0.396843 - 0.314126 0.427124 -0.847874 - 0.547398 0.782263 -0.297353 - 0.285468 0.266509 0.920587 - -0.732182 -0.556080 -0.393301 - 0.077865 0.630138 -0.772569 - 0.537266 0.823359 -0.182826 - 0.387880 0.073321 0.918789 - -0.787732 -0.545812 -0.285600 - -0.054252 0.643377 -0.763625 - 0.534446 0.827492 -0.172117 - 0.483657 -0.028065 0.874808 - -0.855267 -0.485561 -0.180965 - -0.126485 0.724083 -0.678015 - 0.625690 0.771199 -0.117318 - 0.625252 -0.213833 0.750557 - -0.868940 -0.488852 -0.077246 - -0.281350 0.787857 -0.547836 - 0.678908 0.723682 -0.123967 - 0.732319 -0.466031 0.496511 - -0.810572 -0.585128 -0.024460 - -0.442267 0.845231 -0.299975 - 0.601961 0.792431 -0.098467 - 0.854299 -0.490745 0.171296 - -0.497875 -0.865834 -0.049508 - -0.831778 0.472855 0.290780 - 0.309943 0.922652 0.229455 - 0.956216 -0.278390 -0.090277 - -0.270664 -0.948442 -0.164922 - -0.923165 0.048511 0.381329 - -0.262274 0.813320 0.519348 - 0.999220 -0.011927 -0.037653 - -0.006458 -0.860174 0.509959 - -0.799517 0.290529 0.525705 - -0.239981 0.637510 0.732114 - 0.584673 0.359584 0.727226 - 0.863965 0.193694 0.464808 - 0.873342 -0.360712 0.327355 - 0.874811 -0.162880 -0.456262 - 0.329018 0.476388 0.815353 - 0.923429 0.281034 -0.261342 - -0.529143 -0.267008 0.805428 - -0.604193 -0.595099 0.529913 - -0.275252 -0.959566 -0.058901 - 0.766381 -0.196706 -0.611528 - -0.268952 -0.960651 -0.069388 - -0.748318 0.408872 0.522346 - 0.379939 0.920129 0.094918 - 0.841399 0.257028 -0.475378 - -0.925654 -0.206624 0.316973 - -0.827305 0.398313 0.396123 - -0.822550 -0.131549 0.553269 - 0.650389 -0.148352 -0.744974 - -0.211234 -0.975089 -0.067687 - -0.716682 -0.229462 0.658570 - 0.309775 0.942687 0.124021 - 0.703054 0.296179 -0.646524 - -0.719087 0.282626 0.634851 - -0.608676 0.153765 0.778377 - 0.548167 -0.042478 -0.835290 - -0.109304 -0.988517 -0.104344 - -0.579366 -0.364202 0.729172 - -0.475525 0.105924 0.873302 - 0.256139 0.958905 0.122042 - 0.574003 0.389550 -0.720258 - 0.158180 0.969941 0.184916 - 0.374511 0.069274 -0.924631 - -0.009703 -0.774854 -0.632066 - -0.429226 -0.524691 0.735163 - -0.328857 0.051942 0.942950 - 0.127977 0.957843 0.257214 - 0.427380 0.592882 -0.682523 - 0.105314 0.195589 -0.975015 - -0.080163 -0.283659 -0.955569 - -0.316184 -0.872999 0.371350 - -0.049248 0.010098 0.998736 - 0.260464 0.948751 0.178968 - 0.253696 0.695144 -0.672616 - -0.117034 0.301250 -0.946336 - -0.226506 0.060203 -0.972147 - -0.378484 -0.914716 -0.141581 - 0.101350 -0.195629 0.975427 - 0.345141 0.908193 0.236777 - 0.104954 0.719627 -0.686383 - -0.286901 0.317225 -0.903911 - -0.394199 0.107973 -0.912660 - -0.485545 -0.863843 -0.134244 - 0.279836 -0.254588 0.925676 - 0.473591 0.827936 0.300388 - 0.006072 0.739929 -0.672657 - -0.451212 0.281963 -0.846702 - -0.535913 0.151115 -0.830640 - -0.579320 -0.807417 -0.111651 - 0.467702 -0.233360 0.852524 - 0.568195 0.808229 0.154666 - -0.016395 0.773921 -0.633070 - -0.478113 0.475705 -0.738318 - -0.570236 0.329879 -0.752337 - -0.581917 -0.808547 -0.087320 - 0.634234 -0.282617 0.719635 - 0.590522 0.807021 0.001503 - -0.132290 0.763563 -0.632038 - -0.692622 0.491407 -0.528010 - -0.878583 -0.002793 -0.477581 - -0.145714 -0.951835 0.269773 - 0.735718 -0.438937 0.515804 - 0.702098 0.711412 0.030837 - -0.221852 0.845708 -0.485344 - -0.797682 0.556637 -0.232074 - -0.916073 -0.394108 0.074092 - 0.110551 -0.965707 0.234924 - 0.787611 -0.586725 0.188209 - 0.778270 0.622985 -0.078643 - -0.257447 0.924418 -0.281376 - -0.660346 0.726936 0.188436 - -0.994487 -0.063782 0.083234 - 0.061392 -0.998084 -0.007692 - 0.880806 -0.412086 -0.233164 - 0.716277 0.689269 -0.108881 - -0.281981 0.952412 0.115751 - -0.686824 0.508297 0.519525 - -0.866928 -0.450350 0.213590 - 0.015419 -0.898944 -0.437793 - 0.828915 -0.156246 -0.537110 - 0.562237 0.826911 0.010370 - -0.350935 0.829524 0.434437 - -0.355081 0.558806 0.749435 - -0.444423 0.050112 0.894414 - -0.153326 -0.709658 0.687661 - 0.900324 -0.238981 -0.363736 - 0.502537 0.668522 0.548210 - -0.169972 0.522957 0.835240 - 0.928416 0.063210 0.366126 - 0.918889 -0.392221 0.042498 - 0.714847 -0.255766 -0.650828 - 0.701357 0.655650 0.279681 - 0.818530 0.338769 -0.463944 - -0.102574 0.317184 0.942801 - -0.353540 -0.226206 0.907656 - -0.474677 -0.671722 0.568745 - -0.324480 -0.935308 -0.141107 - 0.587742 -0.309175 -0.747643 - -0.257518 -0.956255 -0.138786 - 0.461682 0.885912 0.044820 - 0.740389 0.260414 -0.619684 - -0.669059 0.423953 0.610430 - -0.836449 -0.261468 0.481651 - -0.731818 -0.258872 0.630419 - 0.398751 -0.355280 -0.845443 - -0.255651 -0.959170 -0.120979 - -0.587046 -0.348524 0.730690 - 0.365915 0.930645 -0.002456 - 0.578144 0.205621 -0.789601 - -0.592333 0.331037 0.734545 - -0.402850 0.350973 0.845298 - 0.204241 -0.337047 -0.919067 - -0.252055 -0.967260 0.029617 - -0.415097 -0.359088 0.835913 - -0.204746 0.422573 0.882899 - 0.338684 0.940740 -0.017383 - 0.376530 0.235913 -0.895863 - 0.260428 0.962648 -0.074069 - -0.016168 -0.359214 -0.933115 - -0.254919 -0.966571 0.027517 - -0.205194 -0.324277 0.923439 - 0.042492 0.553960 0.831458 - 0.269529 0.904468 -0.330593 - 0.155554 0.180771 -0.971146 - -0.243789 -0.456075 -0.855899 - -0.159962 -0.930040 0.330814 - 0.029145 -0.286067 0.957766 - 0.200226 0.546852 0.812935 - 0.203465 0.902540 -0.379505 - -0.039703 0.248117 -0.967916 - -0.381532 -0.298755 -0.874745 - -0.233339 -0.955310 0.181480 - 0.231117 -0.267166 0.935525 - 0.385948 0.542220 0.746352 - 0.109059 0.853575 -0.509427 - -0.222766 0.188351 -0.956504 - -0.507623 -0.410500 -0.757502 - -0.184245 -0.968436 0.167886 - 0.388386 -0.264928 0.882593 - 0.522138 0.566649 0.637402 - 0.043224 0.882651 -0.468037 - -0.391971 0.173657 -0.903439 - -0.631684 -0.249328 -0.734037 - -0.235397 -0.965877 0.108027 - 0.489080 -0.296550 0.820280 - 0.577443 0.700767 0.418909 - -0.088280 0.826758 -0.555588 - -0.518593 0.227043 -0.824325 - -0.752643 -0.265273 -0.602627 - -0.179441 -0.978850 0.098251 - 0.637038 -0.304743 0.708035 - 0.588449 0.725402 0.357100 - -0.180586 0.868909 -0.460854 - -0.655290 0.247813 -0.713571 - -0.909179 -0.212027 -0.358384 - -0.251731 -0.961661 0.108812 - 0.825482 -0.324146 0.462070 - 0.582225 0.801993 0.133498 - -0.165159 0.926297 -0.338669 - -0.715408 0.527712 -0.457943 - -0.968823 -0.246884 0.020747 - -0.195194 -0.946441 0.257194 - 0.873013 -0.458070 0.167393 - 0.701031 0.707969 -0.085642 - -0.204802 0.941313 -0.268302 - -0.790631 0.576362 -0.206666 - -0.952015 0.148770 0.267459 - -0.491170 -0.798556 0.347937 - 0.759588 -0.647271 -0.063768 - 0.858791 0.434212 -0.271916 - -0.160556 0.966638 -0.199583 - -0.692130 0.720962 0.034215 - -0.866447 0.154826 0.474655 - -0.593416 -0.763726 0.254127 - 0.557936 -0.715528 -0.420389 - 0.799638 0.334669 -0.498573 - 0.306685 0.929234 -0.206080 - -0.531160 0.806364 0.260089 - -0.348177 0.372065 0.860430 - -0.550175 -0.339822 0.762777 - 0.617075 -0.267627 0.739996 - 0.850010 0.445073 -0.281768 - 0.389110 0.845464 0.365764 - -0.064844 0.706086 0.705151 - 0.975981 0.149389 0.158566 - 0.901866 -0.431095 0.028203 - 0.599771 -0.405480 -0.689827 - 0.729196 0.674506 0.115390 - 0.717367 0.251706 -0.649637 - 0.365544 0.583428 0.725251 - -0.085059 0.280842 0.955977 - -0.368578 -0.382607 0.847209 - -0.417065 -0.902204 0.109929 - 0.474409 -0.228010 -0.850263 - -0.311936 -0.950017 0.012755 - 0.600901 0.657446 -0.454624 - 0.541180 0.348606 -0.765244 - -0.318536 0.785619 0.530413 - -0.730599 0.103096 0.674979 - -0.600207 -0.024015 0.799484 - 0.325755 -0.224485 -0.918417 - -0.291579 -0.956423 -0.015385 - -0.448608 -0.065890 0.891296 - 0.368873 0.881230 -0.295577 - 0.468956 0.376484 -0.798962 - -0.371558 0.509363 0.776205 - -0.159246 0.594155 0.788429 - 0.109524 -0.355837 -0.928108 - -0.401639 -0.913273 0.067962 - -0.308345 -0.077352 0.948124 - -0.024392 0.523683 0.851564 - 0.276982 0.960664 -0.020155 - 0.392019 0.387237 -0.834487 - 0.371897 0.928258 -0.005484 - -0.111099 -0.408030 -0.906183 - -0.390361 -0.891400 0.230268 - -0.119256 -0.098109 0.988004 - 0.166445 0.478362 0.862245 - 0.392112 0.911293 0.125671 - 0.273402 0.481503 -0.832710 - -0.265774 -0.318866 -0.909774 - -0.340609 -0.902352 0.264096 - 0.043197 -0.199402 0.978965 - 0.374553 0.545709 0.749608 - 0.412878 0.910699 -0.012620 - 0.131352 0.499699 -0.856182 - -0.359134 -0.208259 -0.909753 - -0.270753 -0.945392 0.181459 - 0.187711 -0.274961 0.942953 - 0.438647 0.603055 0.666269 - 0.299975 0.924780 -0.234086 - -0.049869 0.545130 -0.836867 - -0.491625 -0.136384 -0.860061 - -0.269364 -0.960922 0.063814 - 0.321607 -0.346803 0.881077 - 0.516935 0.598289 0.612232 - 0.137618 0.898245 -0.417392 - -0.218814 0.511454 -0.830985 - -0.611956 -0.140604 -0.778293 - -0.304061 -0.949865 0.072828 - 0.397001 -0.410379 0.820963 - 0.599103 0.490389 0.632925 - 0.100116 0.922941 -0.371694 - -0.350619 0.523480 -0.776553 - -0.732548 -0.203858 -0.649474 - -0.098559 -0.984593 0.144442 - 0.545212 -0.458942 0.701510 - 0.715761 0.418937 0.558729 - 0.133556 0.973210 -0.187151 - -0.493003 0.529087 -0.690662 - -0.922538 -0.182302 -0.340132 - 0.009646 -0.990012 0.140649 - 0.736471 -0.493929 0.462216 - 0.897692 -0.005069 0.440595 - 0.238178 0.963652 -0.121017 - -0.713952 0.557550 -0.423569 - -0.931448 -0.345783 0.113309 - -0.206716 -0.907751 0.365043 - 0.913908 -0.383334 0.133519 - 0.962890 -0.226010 0.147523 - 0.586040 0.807741 -0.064124 - -0.754338 0.619436 -0.217424 - -0.832582 -0.393819 0.389504 - -0.103538 -0.953648 0.282551 - 0.831424 -0.552319 -0.060641 - 0.978958 -0.135340 -0.152724 - 0.587450 0.783966 -0.200746 - -0.794035 0.604998 0.059043 - -0.851408 -0.291610 0.435968 - -0.320093 -0.920170 0.225450 - 0.778049 -0.428368 -0.459501 - 0.882553 0.081793 -0.463045 - 0.382700 0.922157 -0.056289 - -0.895935 0.334323 0.292453 - -0.439830 -0.081965 0.894333 - -0.197315 -0.863256 0.464602 - 0.924311 0.103913 0.367221 - 0.843244 0.502341 0.191294 - 0.557505 0.829953 -0.019151 - -0.425667 0.644379 0.635282 - - - - - 0.069284 -0.178984 0.100519 - 0.066834 -0.189495 0.098513 - 0.064125 -0.188934 0.096646 - 0.056488 -0.167784 0.111902 - 0.056826 -0.169923 0.113062 - 0.067697 -0.174806 0.098000 - 0.054096 -0.181043 0.111210 - 0.062879 -0.183297 0.095718 - 0.064949 -0.174241 0.097163 - 0.052025 -0.182178 0.110512 - 0.055496 -0.166850 0.111929 - 0.040597 -0.162663 0.122599 - 0.042482 -0.161015 0.122620 - 0.041829 -0.163513 0.123933 - 0.039939 -0.173864 0.123011 - 0.051044 -0.177577 0.109169 - 0.039098 -0.174287 0.122841 - 0.038669 -0.169742 0.120857 - 0.022623 -0.163921 0.128174 - 0.024174 -0.155907 0.128681 - 0.026435 -0.153838 0.129719 - 0.025478 -0.155129 0.130443 - 0.023973 -0.165515 0.131025 - 0.022942 -0.166380 0.130279 - 0.005300 -0.159207 0.134232 - 0.006048 -0.156546 0.131857 - 0.007904 -0.147568 0.132874 - 0.009580 -0.146449 0.133970 - 0.008075 -0.147770 0.135434 - 0.006378 -0.157816 0.134964 - -0.011628 -0.150182 0.136068 - -0.011898 -0.150358 0.136564 - -0.010494 -0.148895 0.133899 - -0.009286 -0.140171 0.134560 - -0.007784 -0.139277 0.135957 - -0.009954 -0.141554 0.137351 - -0.027660 -0.133333 0.136996 - -0.029399 -0.141963 0.134709 - -0.029467 -0.142132 0.134981 - -0.026869 -0.140249 0.132549 - -0.026087 -0.131790 0.133559 - -0.024759 -0.131161 0.134911 - -0.042013 -0.124070 0.132155 - -0.044838 -0.124670 0.134053 - -0.047103 -0.134246 0.131147 - -0.046756 -0.134215 0.130790 - -0.043938 -0.133832 0.129471 - -0.043192 -0.124769 0.130429 - -0.059344 -0.117184 0.124848 - -0.058671 -0.116577 0.127107 - -0.061808 -0.117520 0.127244 - -0.064375 -0.127192 0.125008 - -0.063896 -0.127948 0.123990 - -0.059600 -0.125993 0.123463 - -0.074321 -0.118838 0.114520 - -0.074420 -0.109338 0.116544 - -0.073583 -0.110582 0.117221 - -0.077421 -0.112329 0.117199 - -0.080792 -0.122957 0.114947 - -0.080204 -0.123032 0.114400 - -0.094334 -0.119006 0.101427 - -0.087530 -0.113974 0.102215 - -0.087754 -0.104387 0.103920 - -0.087372 -0.106288 0.104815 - -0.091358 -0.107295 0.104632 - -0.094374 -0.118516 0.101221 - -0.104915 -0.112109 0.085700 - -0.102602 -0.113795 0.084146 - -0.097537 -0.107289 0.087793 - -0.097563 -0.100399 0.088338 - -0.097899 -0.100163 0.091693 - -0.103022 -0.104681 0.089078 - -0.105067 -0.095275 0.072036 - -0.106699 -0.100838 0.069612 - -0.103358 -0.103347 0.067387 - -0.099626 -0.101439 0.069912 - -0.099980 -0.093173 0.070912 - -0.099974 -0.092808 0.073697 - -0.098865 -0.086002 0.055669 - -0.103383 -0.088129 0.053258 - -0.104407 -0.094416 0.050947 - -0.102712 -0.095172 0.049223 - -0.098000 -0.094664 0.052197 - -0.098089 -0.088480 0.052347 - -0.092607 -0.087562 0.034072 - -0.095015 -0.082889 0.037561 - -0.098090 -0.087684 0.034711 - -0.098875 -0.089318 0.033976 - -0.093280 -0.094145 0.038083 - -0.091738 -0.092976 0.034645 - -0.078938 -0.094298 0.022398 - -0.079365 -0.090099 0.021270 - -0.087731 -0.084023 0.020326 - -0.086218 -0.089722 0.020275 - -0.086865 -0.093166 0.018441 - -0.083614 -0.098966 0.021266 - 0.071033 -0.208437 0.111264 - 0.068068 -0.218286 0.109170 - 0.063924 -0.218738 0.107911 - 0.057166 -0.199629 0.121210 - 0.069817 -0.205296 0.108786 - 0.056202 -0.197586 0.120677 - 0.054309 -0.210550 0.118436 - 0.063864 -0.212511 0.104511 - 0.052658 -0.212054 0.117910 - 0.042655 -0.190351 0.129547 - 0.040900 -0.188866 0.129159 - 0.065463 -0.203444 0.111420 - 0.052367 -0.196394 0.121666 - 0.038231 -0.188538 0.129200 - 0.042030 -0.201235 0.128385 - 0.051842 -0.205454 0.116835 - 0.039468 -0.202114 0.128003 - 0.026096 -0.182071 0.134067 - 0.024055 -0.180041 0.133514 - 0.022750 -0.180181 0.133591 - 0.038600 -0.196231 0.125699 - 0.023608 -0.187461 0.131414 - 0.026719 -0.193042 0.134143 - 0.023711 -0.192860 0.133776 - 0.009474 -0.173166 0.136648 - 0.006692 -0.171492 0.136006 - 0.006298 -0.172541 0.135494 - 0.006827 -0.180748 0.134238 - 0.006102 -0.184795 0.136160 - 0.010075 -0.185742 0.136703 - -0.007584 -0.164723 0.136248 - -0.010462 -0.162485 0.135125 - -0.009624 -0.163694 0.135940 - -0.009422 -0.172365 0.133807 - -0.010891 -0.177439 0.135964 - -0.007030 -0.179279 0.137209 - -0.024792 -0.156895 0.134345 - -0.028202 -0.154623 0.133431 - -0.026358 -0.156752 0.133864 - -0.026230 -0.165603 0.131974 - -0.028128 -0.169810 0.134914 - -0.023589 -0.171592 0.135790 - -0.042225 -0.149717 0.132106 - -0.045220 -0.145973 0.129815 - -0.042479 -0.148759 0.131034 - -0.041964 -0.157339 0.129219 - -0.045665 -0.162359 0.133084 - -0.039928 -0.163619 0.133878 - -0.059026 -0.142916 0.126704 - -0.063155 -0.140193 0.124785 - -0.058464 -0.142572 0.124885 - -0.059008 -0.152964 0.124228 - -0.062319 -0.154663 0.127603 - -0.056041 -0.156196 0.129298 - -0.075651 -0.138389 0.118471 - -0.079415 -0.135666 0.114857 - -0.073991 -0.138539 0.116024 - -0.073978 -0.146863 0.115564 - -0.078711 -0.151406 0.118253 - -0.071699 -0.149443 0.122681 - -0.090481 -0.134021 0.107100 - -0.094030 -0.131793 0.102146 - -0.088096 -0.135210 0.104585 - -0.087932 -0.142501 0.104266 - -0.092003 -0.147060 0.104766 - -0.086572 -0.146785 0.112093 - -0.103644 -0.134469 0.093788 - -0.104862 -0.126709 0.087385 - -0.099723 -0.128558 0.091805 - -0.096985 -0.135246 0.090231 - -0.101652 -0.143344 0.089507 - -0.099839 -0.142035 0.099960 - -0.108477 -0.128534 0.076688 - -0.106638 -0.120393 0.068449 - -0.102940 -0.122627 0.074356 - -0.101143 -0.130158 0.072558 - -0.104227 -0.134870 0.072263 - -0.106325 -0.138383 0.083216 - -0.108313 -0.122361 0.058264 - -0.103341 -0.113475 0.050005 - -0.102401 -0.117295 0.056338 - -0.099333 -0.123419 0.055021 - -0.103500 -0.126359 0.054953 - -0.105914 -0.131324 0.065885 - -0.105685 -0.118774 0.039137 - -0.100758 -0.109116 0.030752 - -0.097534 -0.114271 0.038369 - -0.094202 -0.120272 0.037211 - -0.098012 -0.120717 0.038696 - -0.104774 -0.124132 0.048500 - -0.099045 -0.112457 0.027961 - -0.096254 -0.114117 0.024439 - -0.099388 -0.118674 0.033602 - -0.086253 -0.111681 0.024306 - -0.085882 -0.112847 0.021105 - -0.084250 -0.117500 0.022039 - -0.086599 -0.120972 0.022683 - -0.095346 -0.136971 0.019098 - -0.104869 -0.142279 0.031056 - -0.096489 -0.135313 0.020872 - -0.081701 -0.136786 0.016103 - -0.096899 -0.144207 0.025649 - -0.084433 -0.143252 0.014914 - -0.103695 -0.148553 0.038585 - -0.107653 -0.146275 0.047230 - -0.096493 -0.131614 0.022042 - -0.080124 -0.138995 0.018095 - -0.099639 -0.150537 0.042926 - -0.094581 -0.144572 0.029130 - -0.091733 -0.143504 0.028298 - -0.101783 -0.160532 0.055823 - -0.104668 -0.156165 0.053284 - -0.108527 -0.153251 0.062750 - -0.101200 -0.136656 0.038237 - -0.093252 -0.139911 0.028222 - -0.100993 -0.157585 0.056616 - -0.098387 -0.148708 0.042704 - -0.099785 -0.145353 0.042752 - -0.100815 -0.166994 0.070573 - -0.102011 -0.171132 0.068556 - -0.105740 -0.166404 0.066536 - -0.106484 -0.160270 0.078155 - -0.105426 -0.145314 0.053106 - -0.103242 -0.159376 0.072997 - -0.101956 -0.152230 0.057928 - -0.095222 -0.166051 0.086848 - -0.094113 -0.173586 0.084965 - -0.094641 -0.178347 0.082611 - -0.100224 -0.175167 0.080119 - -0.095970 -0.166844 0.091257 - -0.105024 -0.154112 0.068551 - -0.100750 -0.163186 0.082398 - -0.088993 -0.168772 0.094899 - -0.084280 -0.173202 0.098783 - -0.082948 -0.179233 0.097890 - -0.084129 -0.182806 0.096328 - -0.090230 -0.180519 0.093869 - -0.083067 -0.170593 0.103807 - -0.068288 -0.174263 0.114699 - -0.074967 -0.172451 0.107375 - -0.070482 -0.178452 0.109709 - -0.068599 -0.184161 0.108415 - -0.070525 -0.188818 0.107218 - -0.076667 -0.185692 0.105175 - -0.061945 -0.191700 0.114744 - -0.052293 -0.181400 0.121827 - -0.058556 -0.178414 0.116796 - -0.054684 -0.184118 0.117881 - -0.052915 -0.190297 0.116453 - -0.055439 -0.194983 0.116230 - -0.039095 -0.202478 0.121728 - -0.045883 -0.198317 0.121692 - -0.035968 -0.189257 0.127470 - -0.041605 -0.186563 0.123301 - -0.038716 -0.192337 0.123130 - -0.036602 -0.197579 0.122200 - -0.020744 -0.206312 0.126755 - -0.022376 -0.209506 0.126920 - -0.029733 -0.206354 0.126947 - -0.019131 -0.197172 0.131495 - -0.024215 -0.194827 0.128664 - -0.021936 -0.199162 0.128300 - -0.004892 -0.206409 0.131742 - -0.002889 -0.212256 0.129641 - -0.005304 -0.217125 0.128649 - -0.012621 -0.213327 0.130988 - -0.002611 -0.206200 0.133662 - -0.006243 -0.203213 0.131244 - 0.011532 -0.212082 0.132998 - 0.012192 -0.214018 0.132295 - 0.013148 -0.221344 0.129095 - 0.011661 -0.224924 0.128655 - 0.004624 -0.220929 0.131602 - 0.013387 -0.216094 0.134191 - 0.029925 -0.224826 0.132146 - 0.028666 -0.221758 0.131263 - 0.028065 -0.223337 0.130341 - 0.028119 -0.231523 0.125869 - 0.027813 -0.233436 0.125565 - 0.021228 -0.229419 0.130770 - 0.036527 -0.238783 0.126814 - 0.045318 -0.234285 0.127916 - 0.045165 -0.231702 0.127749 - 0.043275 -0.232880 0.126688 - 0.043260 -0.240081 0.120437 - 0.042881 -0.242348 0.120381 - 0.058159 -0.248810 0.113031 - 0.051323 -0.247510 0.121106 - 0.060492 -0.242652 0.121706 - 0.061721 -0.239717 0.121476 - 0.058892 -0.240026 0.120573 - 0.058255 -0.246757 0.112863 - 0.044416 -0.269688 0.115689 - 0.041217 -0.268545 0.112586 - 0.050384 -0.262704 0.118290 - 0.035734 -0.261049 0.120933 - 0.030686 -0.267456 0.114907 - 0.050738 -0.265423 0.119137 - 0.042238 -0.265746 0.112720 - 0.046424 -0.262071 0.115947 - 0.029571 -0.265855 0.112296 - 0.032415 -0.258593 0.117958 - 0.034809 -0.259206 0.119576 - 0.015705 -0.250804 0.122098 - 0.016691 -0.253361 0.123451 - 0.013180 -0.260682 0.119037 - 0.029185 -0.262994 0.113747 - 0.010645 -0.259662 0.116530 - 0.011196 -0.256439 0.116835 - 0.014094 -0.251437 0.121364 - -0.002490 -0.243909 0.121026 - -0.001431 -0.242663 0.122201 - -0.000003 -0.245486 0.124226 - -0.002288 -0.252941 0.120775 - -0.005923 -0.251506 0.117268 - -0.004364 -0.249071 0.117885 - -0.019906 -0.240752 0.116679 - -0.017874 -0.234474 0.120939 - -0.018085 -0.233526 0.121059 - -0.016176 -0.236330 0.122885 - -0.018286 -0.244646 0.119458 - -0.022925 -0.243234 0.115954 - -0.039546 -0.235065 0.112228 - -0.035551 -0.232796 0.114277 - -0.034246 -0.226211 0.118810 - -0.034455 -0.224206 0.118514 - -0.032719 -0.227777 0.120701 - -0.034222 -0.236768 0.116447 - -0.049625 -0.228764 0.112401 - -0.055472 -0.226266 0.107823 - -0.050594 -0.224729 0.110123 - -0.050125 -0.218209 0.114476 - -0.050751 -0.215301 0.114315 - -0.048140 -0.218464 0.116530 - -0.063739 -0.209986 0.111217 - -0.064889 -0.221127 0.107138 - -0.070984 -0.219176 0.100604 - -0.065290 -0.217048 0.104530 - -0.065084 -0.210064 0.108613 - -0.066912 -0.207418 0.108502 - -0.080888 -0.199687 0.099394 - -0.078250 -0.202231 0.103473 - -0.078256 -0.213819 0.099030 - -0.084030 -0.210991 0.091572 - -0.078279 -0.209690 0.096457 - -0.078338 -0.202074 0.100264 - -0.089896 -0.195066 0.089851 - -0.092567 -0.192198 0.088409 - -0.090669 -0.195119 0.093253 - -0.089824 -0.206689 0.089102 - -0.094990 -0.204111 0.080490 - -0.089509 -0.203268 0.086569 - -0.098818 -0.196923 0.075289 - -0.099139 -0.188088 0.078106 - -0.103905 -0.185206 0.076911 - -0.101056 -0.187225 0.082173 - -0.099906 -0.200890 0.077563 - -0.101980 -0.196573 0.067724 - -0.101529 -0.189855 0.062499 - -0.102244 -0.186928 0.055476 - -0.102966 -0.181513 0.064982 - -0.105789 -0.177409 0.063236 - -0.107960 -0.181454 0.068595 - -0.105070 -0.192399 0.065870 - -0.102735 -0.177428 0.043125 - -0.100309 -0.181459 0.050639 - -0.106005 -0.182857 0.054525 - -0.102132 -0.174840 0.051630 - -0.104417 -0.169432 0.050337 - -0.107388 -0.173258 0.055673 - -0.104613 -0.173914 0.042845 - -0.104924 -0.168248 0.031047 - -0.097006 -0.173003 0.039164 - -0.106639 -0.166393 0.041839 - -0.099131 -0.166733 0.039415 - -0.101615 -0.161667 0.036869 - -0.106503 -0.165924 0.028881 - -0.095511 -0.164666 0.021176 - -0.089993 -0.167856 0.027157 - -0.095159 -0.155423 0.023921 - -0.091344 -0.161580 0.026846 - -0.094119 -0.160871 0.020369 - -0.080877 -0.166294 0.014949 - -0.078902 -0.161595 0.016018 - -0.081088 -0.158993 0.015670 - -0.084097 -0.216766 -0.084724 - -0.082082 -0.226568 -0.079163 - -0.076946 -0.223126 -0.091496 - -0.089891 -0.210457 -0.076276 - -0.086626 -0.220410 -0.071180 - -0.085556 -0.216686 -0.086733 - -0.092462 -0.211649 -0.078369 - -0.075633 -0.231937 -0.085950 - -0.080133 -0.232261 -0.089048 - -0.086844 -0.226091 -0.082014 - -0.069037 -0.229715 -0.096448 - -0.078219 -0.222990 -0.092959 - -0.092348 -0.204696 -0.065253 - -0.089656 -0.215110 -0.061273 - -0.094451 -0.206206 -0.067230 - -0.090794 -0.219609 -0.072581 - -0.086556 -0.221737 -0.084274 - -0.092131 -0.216056 -0.075904 - -0.094954 -0.209589 -0.066224 - -0.069287 -0.238834 -0.090305 - -0.071727 -0.237619 -0.094277 - -0.071974 -0.233169 -0.096696 - -0.079980 -0.227363 -0.091741 - -0.060155 -0.234774 -0.101526 - -0.070022 -0.228477 -0.098807 - -0.089262 -0.209420 -0.051119 - -0.092641 -0.199188 -0.053671 - -0.095541 -0.201191 -0.055818 - -0.092275 -0.214531 -0.061144 - -0.094866 -0.205075 -0.054451 - -0.092298 -0.208649 -0.050186 - -0.062041 -0.244624 -0.095208 - -0.063018 -0.243366 -0.097831 - -0.063483 -0.238150 -0.101644 - -0.061633 -0.234178 -0.103958 - -0.053356 -0.248774 -0.099227 - -0.051105 -0.240120 -0.105462 - -0.088876 -0.203542 -0.041093 - -0.091259 -0.193330 -0.042492 - -0.094422 -0.194746 -0.045092 - -0.095618 -0.198529 -0.044601 - -0.090449 -0.203705 -0.038921 - -0.054350 -0.248133 -0.102853 - -0.055338 -0.244672 -0.104373 - -0.052758 -0.239941 -0.107460 - -0.045780 -0.254844 -0.103648 - -0.045789 -0.255240 -0.101536 - -0.042031 -0.246413 -0.106466 - -0.087882 -0.196602 -0.029366 - -0.087518 -0.186934 -0.032454 - -0.090936 -0.188818 -0.034746 - -0.091915 -0.194204 -0.033464 - -0.046760 -0.250937 -0.105483 - -0.043512 -0.245737 -0.109078 - -0.037906 -0.256862 -0.105866 - -0.037017 -0.261199 -0.103596 - -0.037051 -0.260356 -0.102179 - -0.032626 -0.251988 -0.108111 - -0.079799 -0.193223 -0.021550 - -0.078811 -0.183952 -0.024976 - -0.083978 -0.184823 -0.025675 - -0.085858 -0.188950 -0.024940 - -0.034101 -0.251339 -0.110219 - -0.024483 -0.256647 -0.109922 - -0.028621 -0.262087 -0.106628 - -0.027699 -0.266824 -0.103687 - -0.028563 -0.265823 -0.102779 - -0.023043 -0.257398 -0.106875 - -0.072080 -0.192657 -0.012433 - -0.070039 -0.187538 -0.020158 - -0.074620 -0.183109 -0.019062 - -0.078967 -0.189104 -0.016173 - -0.017115 -0.264345 -0.107793 - -0.015391 -0.264136 -0.104051 - -0.019231 -0.267083 -0.106029 - -0.017475 -0.268773 -0.103797 - -0.019049 -0.268725 -0.100383 - -0.102735 -0.177428 -0.043125 - -0.097006 -0.173003 -0.039164 - -0.104494 -0.165680 -0.030669 - -0.105070 -0.192399 -0.065870 - -0.102244 -0.186928 -0.055476 - -0.106005 -0.182857 -0.054525 - -0.100309 -0.181459 -0.050639 - -0.089993 -0.167856 -0.027157 - -0.099131 -0.166733 -0.039415 - -0.091344 -0.161580 -0.026846 - -0.095511 -0.164666 -0.021176 - -0.105887 -0.172593 -0.043954 - -0.106639 -0.166393 -0.041839 - -0.095159 -0.155423 -0.023921 - -0.101615 -0.161667 -0.036869 - -0.094119 -0.160871 -0.020369 - -0.101056 -0.187225 -0.082173 - -0.099906 -0.200890 -0.077563 - -0.107960 -0.181454 -0.068595 - -0.100653 -0.194216 -0.068735 - -0.101529 -0.189855 -0.062499 - -0.107388 -0.173258 -0.055673 - -0.102132 -0.174840 -0.051630 - -0.080877 -0.166294 -0.014949 - -0.078902 -0.161595 -0.016018 - -0.081088 -0.158993 -0.015670 - -0.104417 -0.169432 -0.050337 - -0.103905 -0.185206 -0.076911 - -0.092567 -0.192198 -0.088409 - -0.090669 -0.195119 -0.093253 - -0.092408 -0.202057 -0.080982 - -0.089824 -0.206689 -0.089102 - -0.105789 -0.177409 -0.063236 - -0.098818 -0.196923 -0.075289 - -0.102966 -0.181513 -0.064982 - -0.089896 -0.195066 -0.089851 - -0.099139 -0.188088 -0.078106 - -0.078338 -0.202074 -0.100264 - -0.080888 -0.199687 -0.099394 - -0.078250 -0.202231 -0.103473 - -0.084030 -0.210991 -0.091572 - -0.089509 -0.203268 -0.086569 - -0.078256 -0.213819 -0.099030 - -0.078279 -0.209690 -0.096457 - -0.065290 -0.217048 -0.104530 - -0.065084 -0.210064 -0.108613 - -0.066912 -0.207418 -0.108502 - -0.063739 -0.209986 -0.111217 - -0.064889 -0.221127 -0.107138 - -0.070984 -0.219176 -0.100604 - -0.055472 -0.226266 -0.107823 - -0.050594 -0.224729 -0.110123 - -0.050125 -0.218209 -0.114476 - -0.050751 -0.215301 -0.114315 - -0.048140 -0.218464 -0.116530 - -0.049625 -0.228764 -0.112401 - -0.034222 -0.236768 -0.116447 - -0.039546 -0.235065 -0.112228 - -0.035551 -0.232796 -0.114277 - -0.034246 -0.226211 -0.118810 - -0.034455 -0.224206 -0.118514 - -0.032719 -0.227777 -0.120701 - -0.016176 -0.236330 -0.122885 - -0.018286 -0.244646 -0.119458 - -0.022925 -0.243234 -0.115954 - -0.019906 -0.240752 -0.116679 - -0.017874 -0.234474 -0.120939 - -0.018085 -0.233526 -0.121059 - -0.001431 -0.242663 -0.122201 - -0.000003 -0.245486 -0.124226 - -0.002288 -0.252941 -0.120775 - -0.005923 -0.251506 -0.117268 - -0.004364 -0.249071 -0.117885 - -0.002490 -0.243909 -0.121026 - 0.014094 -0.251437 -0.121364 - 0.015705 -0.250804 -0.122098 - 0.016691 -0.253361 -0.123451 - 0.013180 -0.260682 -0.119037 - 0.010645 -0.259662 -0.116530 - 0.011196 -0.256439 -0.116835 - 0.029185 -0.262994 -0.113747 - 0.032415 -0.258593 -0.117958 - 0.034809 -0.259206 -0.119576 - 0.035734 -0.261049 -0.120933 - 0.030686 -0.267456 -0.114907 - 0.029571 -0.265855 -0.112296 - 0.044923 -0.268815 -0.110095 - 0.043565 -0.265923 -0.111855 - 0.047216 -0.262721 -0.116493 - 0.050735 -0.262809 -0.117881 - 0.050738 -0.265423 -0.119137 - 0.045674 -0.270343 -0.113385 - -0.019231 -0.267083 0.106029 - -0.017475 -0.268773 0.103797 - -0.017115 -0.264345 0.107793 - -0.024483 -0.256647 0.109922 - -0.028621 -0.262087 0.106628 - -0.015391 -0.264136 0.104051 - -0.019049 -0.268725 0.100383 - -0.027699 -0.266824 0.103687 - -0.023043 -0.257398 0.106875 - -0.032626 -0.251988 0.108111 - -0.034101 -0.251339 0.110219 - -0.037906 -0.256862 0.105866 - -0.028563 -0.265823 0.102779 - -0.037017 -0.261199 0.103596 - -0.042031 -0.246413 0.106466 - -0.037051 -0.260356 0.102179 - -0.043512 -0.245737 0.109078 - -0.046760 -0.250937 0.105483 - -0.045780 -0.254844 0.103648 - -0.051105 -0.240120 0.105462 - -0.045789 -0.255240 0.101536 - -0.052758 -0.239941 0.107460 - -0.055338 -0.244672 0.104373 - -0.054350 -0.248133 0.102853 - -0.060155 -0.234774 0.101526 - -0.053356 -0.248774 0.099227 - -0.061633 -0.234178 0.103958 - -0.063483 -0.238150 0.101644 - -0.063018 -0.243366 0.097831 - -0.069037 -0.229715 0.096448 - -0.062041 -0.244624 0.095208 - -0.070022 -0.228477 0.098807 - -0.071974 -0.233169 0.096696 - -0.071727 -0.237619 0.094277 - -0.076946 -0.223126 0.091496 - -0.075633 -0.231937 0.085950 - -0.069287 -0.238834 0.090305 - -0.078219 -0.222990 0.092959 - -0.079980 -0.227363 0.091741 - -0.080133 -0.232261 0.089048 - -0.084097 -0.216766 0.084724 - -0.082082 -0.226568 0.079163 - -0.086844 -0.226091 0.082014 - -0.085556 -0.216686 0.086733 - -0.086556 -0.221737 0.084274 - -0.089891 -0.210457 0.076276 - -0.086626 -0.220410 0.071180 - -0.090794 -0.219609 0.072581 - -0.092131 -0.216056 0.075904 - -0.092462 -0.211649 0.078369 - -0.092348 -0.204696 0.065253 - -0.089656 -0.215110 0.061273 - -0.092275 -0.214531 0.061144 - -0.094954 -0.209589 0.066224 - -0.094451 -0.206206 0.067230 - -0.092641 -0.199188 0.053671 - -0.089262 -0.209420 0.051119 - -0.088876 -0.203542 0.041093 - -0.092298 -0.208649 0.050186 - -0.094866 -0.205075 0.054451 - -0.095541 -0.201191 0.055818 - -0.091259 -0.193330 0.042492 - -0.090449 -0.203705 0.038921 - -0.087882 -0.196602 0.029366 - -0.084598 -0.197910 0.032205 - -0.095618 -0.198529 0.044601 - -0.094422 -0.194746 0.045092 - -0.087518 -0.186934 0.032454 - -0.091915 -0.194204 0.033464 - -0.085858 -0.188950 0.024940 - -0.079799 -0.193223 0.021550 - -0.078213 -0.193783 0.024272 - -0.090936 -0.188818 0.034746 - -0.078811 -0.183952 0.024976 - -0.083978 -0.184823 0.025675 - -0.078967 -0.189104 0.016173 - -0.074620 -0.183109 0.019062 - -0.072080 -0.192657 0.012433 - -0.069337 -0.191592 0.018953 - -0.070039 -0.187538 0.020158 - -0.077289 -0.183867 0.022657 - -0.096263 -0.021381 -0.064556 - -0.098030 -0.022215 -0.049784 - -0.094178 -0.019481 -0.047195 - -0.090542 -0.032258 -0.080469 - -0.094295 -0.028300 -0.079766 - -0.094038 -0.026381 -0.064787 - -0.100504 -0.027467 -0.067414 - -0.099140 -0.026288 -0.049801 - -0.091078 -0.026514 -0.036177 - -0.090962 -0.021383 -0.037939 - -0.089224 -0.019740 -0.037799 - -0.090714 -0.023361 -0.048097 - -0.085320 -0.045080 -0.097782 - -0.081845 -0.037484 -0.094258 - -0.093834 -0.036941 -0.085017 - -0.085940 -0.035489 -0.094146 - -0.094925 -0.031645 -0.083868 - -0.094894 -0.031121 -0.068194 - -0.100961 -0.032039 -0.065964 - -0.087763 -0.030098 -0.035855 - -0.096508 -0.026965 -0.048189 - -0.079994 -0.035250 -0.019565 - -0.083311 -0.031671 -0.019964 - -0.083698 -0.027676 -0.022145 - -0.083381 -0.026762 -0.033524 - -0.078488 -0.022086 -0.023610 - -0.093554 -0.027719 -0.050703 - -0.077548 -0.052885 -0.107824 - -0.073622 -0.052664 -0.107881 - -0.089671 -0.044540 -0.096856 - -0.070981 -0.045845 -0.104333 - -0.097275 -0.036534 -0.082033 - -0.074194 -0.042342 -0.105669 - -0.085181 -0.038317 -0.097441 - -0.097324 -0.036363 -0.084464 - -0.086355 -0.029717 -0.034797 - -0.077735 -0.033679 -0.020041 - -0.073939 -0.029599 -0.020728 - -0.061096 -0.057972 -0.117773 - -0.063344 -0.059962 -0.116909 - -0.075554 -0.051338 -0.109249 - -0.060528 -0.060379 -0.115946 - -0.087694 -0.043911 -0.097913 - -0.057290 -0.051798 -0.112000 - -0.060476 -0.049162 -0.114542 - -0.072354 -0.044635 -0.108221 - -0.045365 -0.058612 -0.123869 - -0.045048 -0.063606 -0.123332 - -0.058805 -0.052107 -0.116639 - -0.047396 -0.066777 -0.121533 - -0.044456 -0.064085 -0.119368 - -0.042666 -0.057666 -0.117305 - -0.044831 -0.055115 -0.119908 - -0.028889 -0.061248 -0.123458 - -0.027128 -0.063730 -0.125948 - -0.028581 -0.069661 -0.126691 - -0.030760 -0.072582 -0.124732 - -0.028819 -0.069745 -0.121540 - -0.026952 -0.062514 -0.119839 - -0.010732 -0.065957 -0.118753 - -0.011915 -0.064417 -0.120853 - -0.010061 -0.066876 -0.124086 - -0.011556 -0.074962 -0.125947 - -0.013393 -0.077066 -0.125373 - -0.013093 -0.075885 -0.121748 - 0.002672 -0.079892 -0.117201 - 0.004844 -0.068473 -0.113901 - 0.004375 -0.068695 -0.116082 - 0.006118 -0.071568 -0.118583 - 0.004769 -0.080484 -0.121121 - 0.003650 -0.081577 -0.121923 - 0.019451 -0.084356 -0.113511 - 0.017457 -0.083014 -0.109231 - 0.019237 -0.072586 -0.106394 - 0.019583 -0.073173 -0.108293 - 0.021453 -0.075588 -0.110587 - 0.020636 -0.082527 -0.112828 - 0.033102 -0.087663 -0.100660 - 0.031325 -0.089929 -0.100621 - 0.030152 -0.087898 -0.098526 - 0.032139 -0.076469 -0.096108 - 0.032271 -0.077400 -0.096328 - 0.034029 -0.079628 -0.098353 - 0.041911 -0.085900 -0.083392 - 0.040957 -0.094632 -0.085308 - 0.039926 -0.096572 -0.085444 - 0.038253 -0.094200 -0.084349 - 0.039533 -0.082787 -0.082077 - 0.040448 -0.082704 -0.081222 - 0.043569 -0.088242 -0.063935 - 0.047314 -0.090069 -0.066376 - 0.048051 -0.098715 -0.068557 - 0.047071 -0.101594 -0.068780 - 0.042920 -0.099650 -0.068043 - 0.042655 -0.088009 -0.065751 - -0.058377 -0.209363 0.021539 - -0.071201 -0.216568 0.018716 - -0.072359 -0.212671 0.020982 - -0.059722 -0.206224 0.021176 - -0.060746 -0.216862 0.018551 - -0.061838 -0.212771 0.027827 - -0.063449 -0.208594 0.028104 - -0.071332 -0.220108 0.025610 - -0.066060 -0.220153 0.023037 - -0.072368 -0.216290 0.028380 - -0.065978 -0.215070 0.034075 - -0.068094 -0.212675 0.034324 - -0.074482 -0.219652 0.035660 - -0.073289 -0.223145 0.032721 - -0.068468 -0.222585 0.030352 - -0.067576 -0.219293 0.040729 - -0.071553 -0.217018 0.041188 - -0.074796 -0.224588 0.042276 - -0.074022 -0.227481 0.039205 - -0.071493 -0.225960 0.036809 - -0.068317 -0.224206 0.046843 - -0.071583 -0.222813 0.047460 - -0.073954 -0.229463 0.048870 - -0.073557 -0.231724 0.045934 - -0.071947 -0.230011 0.043705 - -0.071306 -0.228394 0.054151 - -0.068600 -0.228297 0.053699 - -0.072530 -0.234080 0.055565 - -0.073838 -0.236603 0.052144 - -0.072948 -0.235184 0.049509 - -0.069518 -0.239464 0.061039 - -0.069162 -0.233129 0.061296 - -0.067179 -0.233451 0.059573 - -0.071188 -0.241526 0.057801 - -0.071019 -0.240197 0.055336 - -0.068351 -0.246671 0.063119 - -0.065068 -0.243724 0.066585 - -0.065372 -0.239044 0.066576 - -0.065014 -0.238802 0.065086 - -0.068441 -0.245137 0.060942 - -0.064168 -0.250042 0.065421 - -0.064145 -0.251465 0.067877 - -0.060740 -0.248794 0.071526 - -0.061102 -0.244746 0.071699 - -0.061432 -0.243938 0.069720 - -0.057353 -0.250068 0.072725 - -0.059680 -0.254477 0.070035 - -0.058890 -0.254358 0.072899 - -0.057410 -0.252302 0.074242 - -0.056700 -0.252008 0.073598 - -0.015270 -0.001015 0.037887 - -0.004589 -0.007338 0.047685 - -0.000602 -0.012149 0.041464 - -0.020086 -0.002986 0.038333 - -0.012220 -0.003946 0.034011 - -0.022664 0.000358 0.042061 - -0.019125 0.001869 0.041248 - -0.008218 -0.002806 0.054250 - -0.006490 -0.011248 0.048988 - -0.003717 -0.015528 0.042447 - -0.017257 -0.006157 0.034664 - -0.009047 -0.006094 0.054980 - -0.012762 -0.001170 0.060810 - -0.026327 0.003705 0.044840 - -0.023520 0.004906 0.044055 - -0.011285 0.001601 0.061097 - -0.016811 0.006845 0.066079 - -0.017425 0.004490 0.065426 - -0.031192 0.006876 0.046985 - -0.027854 0.008188 0.046631 - -0.031860 0.011439 0.049558 - -0.023904 0.012729 0.068713 - -0.024039 0.010111 0.068207 - -0.034908 0.010411 0.049662 - -0.036180 0.015264 0.051786 - -0.034982 0.015662 0.052104 - -0.031904 0.018396 0.068404 - -0.032479 0.014830 0.068869 - -0.041007 0.019101 0.066727 - -0.040994 0.018498 0.053546 - -0.039280 0.019624 0.052729 - -0.040239 0.023348 0.066018 - -0.048619 0.027722 0.062745 - -0.048461 0.024097 0.063840 - -0.047424 0.020780 0.053852 - -0.044835 0.022842 0.051585 - -0.050261 0.024868 0.049158 - -0.056036 0.031885 0.058004 - -0.056026 0.028383 0.059952 - -0.052174 0.023409 0.051272 - -0.055647 0.026085 0.047031 - -0.052590 0.028232 0.045302 - -0.062291 0.036190 0.052455 - -0.063824 0.031495 0.055419 - -0.070251 0.033787 0.049803 - -0.058537 0.028135 0.042335 - -0.054984 0.029696 0.040438 - -0.070506 0.039350 0.048152 - -0.074281 0.037552 0.041572 - -0.075597 0.033301 0.043023 - -0.060108 0.029528 0.037283 - -0.057009 0.031198 0.035558 - -0.058453 0.030863 0.030237 - -0.065414 0.037731 0.038180 - -0.069552 0.035169 0.037376 - -0.060657 0.029453 0.031962 - -0.062048 0.027990 0.026835 - -0.058576 0.028437 0.025692 - -0.063454 0.036326 0.029955 - -0.065870 0.034382 0.030352 - -0.068682 0.031140 0.023463 - -0.065598 0.024910 0.023417 - -0.060032 0.025927 0.021103 - -0.065252 0.034142 0.021842 - 0.016543 -0.044262 0.055465 - 0.019689 -0.047500 0.042707 - 0.022632 -0.049129 0.043701 - 0.010304 -0.040159 0.066332 - 0.019055 -0.043917 0.055919 - 0.012508 -0.031930 0.059511 - 0.017773 -0.035538 0.050393 - 0.020802 -0.040417 0.040700 - 0.021402 -0.041687 0.040038 - 0.002692 -0.036421 0.076289 - 0.012481 -0.039403 0.066968 - 0.006469 -0.027898 0.067850 - 0.019048 -0.037033 0.051417 - 0.006572 -0.028423 0.070768 - 0.013396 -0.032600 0.061526 - -0.007119 -0.032939 0.084162 - 0.004453 -0.035148 0.076743 - -0.001645 -0.024470 0.074297 - -0.002663 -0.025178 0.077939 - -0.005904 -0.030970 0.083976 - -0.018135 -0.029834 0.090292 - -0.010634 -0.021311 0.079577 - -0.012665 -0.021747 0.083749 - -0.016813 -0.027009 0.090501 - -0.028478 -0.024602 0.095959 - -0.019979 -0.017123 0.083127 - -0.022593 -0.016173 0.087694 - -0.026993 -0.021431 0.097035 - -0.038642 -0.017932 0.099644 - -0.028797 -0.010777 0.083961 - -0.032511 -0.009330 0.088094 - -0.036609 -0.012708 0.099354 - -0.047700 -0.009195 0.095102 - -0.038138 -0.005493 0.082189 - -0.041693 -0.002847 0.085153 - -0.046146 -0.004479 0.094158 - -0.056604 -0.001536 0.088723 - -0.046605 0.000695 0.078588 - -0.050851 0.004132 0.080389 - -0.056136 0.002669 0.088296 - -0.064809 0.006094 0.081286 - -0.054304 0.006635 0.073215 - -0.058103 0.010405 0.073068 - -0.063806 0.010789 0.080191 - -0.070252 0.012513 0.070578 - -0.060438 0.011832 0.065061 - -0.062940 0.016071 0.062787 - -0.069589 0.017136 0.069180 - -0.074328 0.016912 0.058759 - -0.062814 0.015989 0.053640 - -0.066645 0.021726 0.052000 - -0.072758 0.022866 0.056854 - -0.074770 0.017135 0.045984 - -0.063650 0.017516 0.044729 - -0.068811 0.022525 0.041672 - -0.075774 0.023206 0.044362 - -0.070395 0.012557 0.034730 - -0.062735 0.016515 0.034033 - -0.066496 0.018209 0.033477 - -0.072361 0.018441 0.035957 - -0.068638 0.009038 0.023148 - -0.060960 0.013638 0.024149 - -0.062990 0.015419 0.028075 - -0.063610 0.012747 0.022675 - -0.068305 0.012472 0.024176 - 0.033126 -0.059166 0.067047 - 0.033149 -0.068016 0.069315 - 0.038888 -0.071721 0.053771 - 0.033140 -0.058270 0.065654 - 0.037845 -0.063051 0.051357 - 0.026449 -0.053406 0.078759 - 0.026498 -0.055290 0.081758 - 0.025321 -0.062274 0.082865 - 0.031073 -0.071668 0.069101 - 0.035802 -0.074709 0.052819 - 0.034267 -0.071832 0.053500 - 0.032232 -0.062954 0.051324 - 0.030034 -0.059428 0.066151 - 0.034754 -0.061673 0.050136 - 0.023736 -0.054654 0.079172 - 0.013627 -0.050734 0.089270 - 0.017244 -0.047488 0.089390 - 0.015772 -0.050064 0.092777 - 0.014765 -0.057356 0.094670 - 0.022839 -0.066532 0.082855 - 0.030325 -0.069176 0.069562 - 0.022619 -0.063792 0.083036 - 0.012403 -0.058512 0.094560 - 0.000327 -0.054284 0.104276 - 0.002070 -0.045792 0.096976 - 0.005451 -0.043430 0.097852 - 0.003276 -0.045466 0.101663 - 0.002145 -0.054435 0.104739 - 0.012663 -0.060528 0.094722 - 0.000281 -0.056882 0.105113 - -0.013497 -0.052568 0.112880 - -0.013296 -0.051538 0.112054 - -0.010833 -0.042998 0.102606 - -0.007897 -0.040595 0.103851 - -0.010453 -0.041767 0.108858 - -0.011323 -0.050081 0.112563 - -0.025457 -0.043299 0.115850 - -0.028092 -0.046333 0.115669 - -0.027959 -0.047159 0.114650 - -0.024110 -0.038404 0.105642 - -0.021414 -0.036682 0.108538 - -0.024958 -0.037091 0.112644 - -0.039404 -0.031698 0.110199 - -0.040484 -0.038468 0.113609 - -0.042902 -0.040219 0.113310 - -0.042733 -0.041958 0.113621 - -0.037716 -0.034813 0.104933 - -0.035207 -0.031507 0.107481 - -0.048476 -0.026446 0.103166 - -0.053598 -0.026464 0.105672 - -0.054486 -0.032105 0.108765 - -0.056951 -0.033416 0.108433 - -0.056291 -0.036138 0.108107 - -0.050421 -0.028910 0.101427 - -0.061430 -0.021487 0.095179 - -0.060479 -0.020156 0.096681 - -0.065530 -0.019300 0.097618 - -0.067042 -0.025324 0.100931 - -0.068537 -0.025176 0.099760 - -0.068513 -0.028729 0.100885 - -0.079160 -0.021161 0.091380 - -0.071030 -0.014232 0.086391 - -0.070418 -0.012333 0.088250 - -0.075530 -0.012036 0.087036 - -0.077248 -0.016678 0.091353 - -0.080386 -0.018879 0.090070 - -0.087517 -0.013003 0.079690 - -0.088497 -0.011680 0.076951 - -0.078669 -0.008630 0.074610 - -0.078491 -0.006171 0.076491 - -0.084077 -0.004671 0.075183 - -0.086481 -0.009525 0.079507 - -0.091055 -0.005772 0.060948 - -0.087732 -0.006945 0.064334 - -0.089832 -0.003225 0.063985 - -0.082712 -0.004729 0.060271 - -0.082424 -0.000615 0.062394 - -0.086744 0.001313 0.060342 - -0.088160 0.001676 0.047545 - -0.088714 0.001436 0.045627 - -0.084671 -0.005009 0.048411 - -0.085521 0.004622 0.045807 - -0.080542 -0.002008 0.045398 - -0.081398 0.003836 0.047150 - -0.079364 0.001613 0.036080 - -0.081486 -0.000266 0.035688 - -0.083533 -0.005292 0.035063 - -0.078877 -0.007597 0.032999 - -0.075945 0.001637 0.032905 - -0.074694 -0.004646 0.031484 - -0.068663 -0.003962 0.020752 - -0.072964 -0.004120 0.022142 - -0.074310 -0.005655 0.021346 - -0.076753 -0.010562 0.020176 - -0.071532 -0.013405 0.019504 - -0.064422 -0.008905 0.022270 - 0.044078 -0.108320 0.095841 - 0.044582 -0.116347 0.097219 - 0.054766 -0.122197 0.083080 - 0.043317 -0.105529 0.093976 - 0.054363 -0.113610 0.081816 - 0.033697 -0.099914 0.107684 - 0.033932 -0.102796 0.109939 - 0.033793 -0.110688 0.110940 - 0.042419 -0.119559 0.096100 - 0.052022 -0.125715 0.081547 - 0.049762 -0.122114 0.081402 - 0.049590 -0.112289 0.079356 - 0.052867 -0.111481 0.080227 - 0.040925 -0.106408 0.092937 - 0.030916 -0.102259 0.106108 - 0.018939 -0.096016 0.116018 - 0.020909 -0.094096 0.117685 - 0.020425 -0.098135 0.120331 - 0.019686 -0.105471 0.120613 - 0.031811 -0.113198 0.109533 - 0.041742 -0.115806 0.095515 - 0.031107 -0.110043 0.107781 - 0.018280 -0.104900 0.117414 - 0.004126 -0.099199 0.124164 - 0.004945 -0.091063 0.122896 - 0.006223 -0.089217 0.124766 - 0.005504 -0.093437 0.128285 - 0.004401 -0.100805 0.128422 - 0.018444 -0.106940 0.119686 - 0.003046 -0.102319 0.127085 - -0.013421 -0.097198 0.130084 - -0.011083 -0.093911 0.127768 - -0.009983 -0.085689 0.126315 - -0.009162 -0.085163 0.129455 - -0.010949 -0.089296 0.131649 - -0.011903 -0.095159 0.131140 - -0.028960 -0.091734 0.130659 - -0.030031 -0.092008 0.128952 - -0.026966 -0.089684 0.127973 - -0.025514 -0.081311 0.126843 - -0.025282 -0.080767 0.129234 - -0.027088 -0.083422 0.131519 - -0.043088 -0.078015 0.127953 - -0.044501 -0.084349 0.126792 - -0.046331 -0.087202 0.124840 - -0.042316 -0.084945 0.124403 - -0.040735 -0.076729 0.123885 - -0.041315 -0.076210 0.127418 - -0.056268 -0.070876 0.121596 - -0.058621 -0.073171 0.121837 - -0.059797 -0.081083 0.120062 - -0.061431 -0.081447 0.117846 - -0.056009 -0.079084 0.117699 - -0.055301 -0.072198 0.118184 - -0.068400 -0.066054 0.110285 - -0.070346 -0.066095 0.113145 - -0.072726 -0.067847 0.112817 - -0.074019 -0.074189 0.112087 - -0.075928 -0.076613 0.108725 - -0.069081 -0.073458 0.108807 - -0.081784 -0.068828 0.098907 - -0.080556 -0.061305 0.100035 - -0.083422 -0.061281 0.103056 - -0.085754 -0.062753 0.101976 - -0.087172 -0.070190 0.100605 - -0.088414 -0.072066 0.096638 - -0.098039 -0.067723 0.081709 - -0.090955 -0.063813 0.085498 - -0.090722 -0.056813 0.087411 - -0.092574 -0.057427 0.088643 - -0.095835 -0.058422 0.087577 - -0.097736 -0.064974 0.086936 - -0.102325 -0.060898 0.069579 - -0.099190 -0.061496 0.064594 - -0.095522 -0.060475 0.068979 - -0.095216 -0.052632 0.071230 - -0.099457 -0.054210 0.072496 - -0.099414 -0.053633 0.070407 - -0.098326 -0.049092 0.052222 - -0.100160 -0.054016 0.052023 - -0.097723 -0.055288 0.046870 - -0.093666 -0.056543 0.051762 - -0.094072 -0.049211 0.054180 - -0.097224 -0.048389 0.055633 - -0.090047 -0.045552 0.039683 - -0.091618 -0.045412 0.038343 - -0.093966 -0.049338 0.037835 - -0.094112 -0.049114 0.034744 - -0.086080 -0.055077 0.036046 - -0.087978 -0.047479 0.038108 - -0.076569 -0.046303 0.025658 - -0.079422 -0.045391 0.025534 - -0.081194 -0.047340 0.023415 - -0.082335 -0.051201 0.023627 - -0.081551 -0.057621 0.019781 - -0.076556 -0.058213 0.022001 - 0.051218 -0.139038 0.109923 - 0.050896 -0.150652 0.108513 - 0.062904 -0.152962 0.093248 - 0.050706 -0.136379 0.108219 - 0.061842 -0.142579 0.094783 - 0.036651 -0.132278 0.117089 - 0.036348 -0.133785 0.118666 - 0.037085 -0.144492 0.120089 - 0.048375 -0.154488 0.104744 - 0.057569 -0.156741 0.088042 - 0.058183 -0.151984 0.089272 - 0.058867 -0.140089 0.092520 - 0.060406 -0.139559 0.093436 - 0.049790 -0.134708 0.107802 - 0.035063 -0.133645 0.116368 - 0.019845 -0.129881 0.123884 - 0.021954 -0.129163 0.125124 - 0.021049 -0.130813 0.127584 - 0.021024 -0.140853 0.128662 - 0.036458 -0.148190 0.117940 - 0.047577 -0.148630 0.104400 - 0.036994 -0.138984 0.114180 - 0.022028 -0.133598 0.122128 - 0.006856 -0.127401 0.128729 - 0.004778 -0.123973 0.129839 - 0.007049 -0.123603 0.131024 - 0.005313 -0.124637 0.133234 - 0.004647 -0.134324 0.134456 - 0.021005 -0.144041 0.126898 - 0.005333 -0.136597 0.132538 - -0.010509 -0.128409 0.136381 - -0.008847 -0.120175 0.131636 - -0.010864 -0.117533 0.132202 - -0.008099 -0.116712 0.133547 - -0.010503 -0.117057 0.136184 - -0.011993 -0.127042 0.137891 - -0.028675 -0.119463 0.136595 - -0.026861 -0.120877 0.136047 - -0.024675 -0.112836 0.130959 - -0.026062 -0.109292 0.131299 - -0.023226 -0.109116 0.133893 - -0.026470 -0.109132 0.135473 - -0.042523 -0.102216 0.131993 - -0.044941 -0.111035 0.133312 - -0.043211 -0.113928 0.131867 - -0.040541 -0.106212 0.127556 - -0.041206 -0.101702 0.127447 - -0.038359 -0.102071 0.130887 - -0.053800 -0.096978 0.126180 - -0.057971 -0.096254 0.125168 - -0.061349 -0.106033 0.126167 - -0.059520 -0.108654 0.125635 - -0.056706 -0.103113 0.121898 - -0.056332 -0.095525 0.121475 - -0.070760 -0.090737 0.112629 - -0.067718 -0.091017 0.117807 - -0.072917 -0.091150 0.116460 - -0.076559 -0.099733 0.116926 - -0.074652 -0.102772 0.116703 - -0.071429 -0.098134 0.113110 - -0.085003 -0.092106 0.102775 - -0.084154 -0.085325 0.102239 - -0.081383 -0.086059 0.108332 - -0.086633 -0.085669 0.105814 - -0.090594 -0.095298 0.104541 - -0.088271 -0.097200 0.105029 - -0.099868 -0.094497 0.089854 - -0.096748 -0.089454 0.089422 - -0.094254 -0.083594 0.087310 - -0.091966 -0.081787 0.095086 - -0.099082 -0.084671 0.092332 - -0.101974 -0.091375 0.089217 - -0.103853 -0.085540 0.070355 - -0.102470 -0.088122 0.072115 - -0.100100 -0.084440 0.071993 - -0.098762 -0.079377 0.069720 - -0.097659 -0.077864 0.078270 - -0.102511 -0.077680 0.075261 - -0.101504 -0.073042 0.056091 - -0.101768 -0.077851 0.051358 - -0.099713 -0.078608 0.055145 - -0.097008 -0.078426 0.053907 - -0.096785 -0.070974 0.052898 - -0.096852 -0.070939 0.060940 - -0.093893 -0.065318 0.043754 - -0.095455 -0.068335 0.040093 - -0.093605 -0.075398 0.039448 - -0.091864 -0.077172 0.038561 - -0.090443 -0.076967 0.036180 - -0.090248 -0.068124 0.035472 - -0.078966 -0.071987 0.023150 - -0.086419 -0.062773 0.027291 - -0.086676 -0.069942 0.022827 - -0.085687 -0.075494 0.020217 - -0.082341 -0.079324 0.022121 - -0.079830 -0.075688 0.021523 - -0.073622 -0.052664 0.107881 - -0.060528 -0.060379 0.115946 - -0.063344 -0.059962 0.116909 - -0.085320 -0.045080 0.097782 - -0.081845 -0.037484 0.094258 - -0.077548 -0.052885 0.107824 - -0.070981 -0.045845 0.104333 - -0.057290 -0.051798 0.112000 - -0.044456 -0.064085 0.119368 - -0.047396 -0.066777 0.121533 - -0.061096 -0.057972 0.117773 - -0.045048 -0.063606 0.123332 - -0.088683 -0.044225 0.097384 - -0.093834 -0.036941 0.085017 - -0.090542 -0.032258 0.080469 - -0.094295 -0.028300 0.079766 - -0.085940 -0.035489 0.094146 - -0.074194 -0.042342 0.105669 - -0.075554 -0.051338 0.109249 - -0.042666 -0.057666 0.117305 - -0.060476 -0.049162 0.114542 - -0.028819 -0.069745 0.121540 - -0.030760 -0.072582 0.124732 - -0.028581 -0.069661 0.126691 - -0.045365 -0.058612 0.123869 - -0.058805 -0.052107 0.116639 - -0.027128 -0.063730 0.125948 - -0.097324 -0.036363 0.084464 - -0.085181 -0.038317 0.097441 - -0.097275 -0.036534 0.082033 - -0.072354 -0.044635 0.108221 - -0.094894 -0.031121 0.068194 - -0.094038 -0.026381 0.064787 - -0.096263 -0.021381 0.064556 - -0.094925 -0.031645 0.083868 - -0.100504 -0.027467 0.067414 - -0.044831 -0.055115 0.119908 - -0.026952 -0.062514 0.119839 - -0.013093 -0.075885 0.121748 - -0.013393 -0.077066 0.125373 - -0.011556 -0.074962 0.125947 - -0.010061 -0.066876 0.124086 - -0.028889 -0.061248 0.123458 - -0.011915 -0.064417 0.120853 - -0.100961 -0.032039 0.065964 - -0.093554 -0.027719 0.050703 - -0.090714 -0.023361 0.048097 - -0.094316 -0.019263 0.047864 - -0.098030 -0.022215 0.049784 - -0.099140 -0.026288 0.049801 - -0.010732 -0.065957 0.118753 - 0.002672 -0.079892 0.117201 - 0.003650 -0.081577 0.121923 - 0.004769 -0.080484 0.121121 - 0.006118 -0.071568 0.118583 - 0.004375 -0.068695 0.116082 - 0.004844 -0.068473 0.113901 - -0.095041 -0.028079 0.049126 - -0.083381 -0.026762 0.033524 - -0.086355 -0.029717 0.034797 - -0.089224 -0.019740 0.037799 - -0.090962 -0.021383 0.037939 - -0.091078 -0.026514 0.036177 - 0.017457 -0.083014 0.109231 - 0.019451 -0.084356 0.113511 - 0.020636 -0.082527 0.112828 - 0.021453 -0.075588 0.110587 - 0.019583 -0.073173 0.108293 - 0.019237 -0.072586 0.106394 - -0.087763 -0.030098 0.035855 - -0.078488 -0.022086 0.023610 - -0.073939 -0.029599 0.020728 - -0.077735 -0.033679 0.020041 - -0.083698 -0.027676 0.022145 - -0.083311 -0.031671 0.019964 - -0.079994 -0.035250 0.019565 - 0.030152 -0.087898 0.098526 - 0.031325 -0.089929 0.100621 - 0.033102 -0.087663 0.100660 - 0.034029 -0.079628 0.098353 - 0.032205 -0.076935 0.096218 - 0.038606 -0.096009 0.084922 - 0.038020 -0.094993 0.083875 - 0.037184 -0.093807 0.083328 - 0.038210 -0.088325 0.082173 - 0.040011 -0.093906 0.084874 - 0.039122 -0.095039 0.084854 - 0.040488 -0.089539 0.083916 - 0.040045 -0.083895 0.082144 - 0.040951 -0.085522 0.082763 - 0.039134 -0.082549 0.081077 - 0.038850 -0.082619 0.081037 - 0.045888 -0.102088 0.069224 - 0.044215 -0.099716 0.068129 - 0.045495 -0.088303 0.065857 - 0.046919 -0.100148 0.069088 - 0.047873 -0.091416 0.067172 - 0.046062 -0.088163 0.065935 - 0.061543 -0.135562 0.025919 - 0.057294 -0.133146 0.014424 - 0.056223 -0.136782 0.027868 - 0.059106 -0.139066 0.039445 - 0.065017 -0.138633 0.037596 - 0.065178 -0.144100 0.024341 - 0.061934 -0.141546 0.013946 - 0.054457 -0.124117 0.019417 - 0.050698 -0.126375 0.017300 - 0.052556 -0.135205 0.016516 - 0.059083 -0.126614 0.012460 - 0.062345 -0.135623 0.011748 - 0.060811 -0.145443 0.026629 - 0.063593 -0.149569 0.036185 - 0.065877 -0.156902 0.043549 - 0.060574 -0.142468 0.051075 - 0.067871 -0.149116 0.034076 - 0.065814 -0.141826 0.049720 - 0.056879 -0.142387 0.017066 - 0.063872 -0.142649 0.010394 - 0.061606 -0.143647 0.013512 - 0.064390 -0.147521 0.009836 - 0.053103 -0.111081 0.017697 - 0.055496 -0.114673 0.027565 - 0.057104 -0.114696 0.011010 - 0.055012 -0.126317 0.029939 - 0.047192 -0.112367 0.017582 - 0.050570 -0.117821 0.009946 - 0.053080 -0.129485 0.011482 - 0.049566 -0.127992 0.027480 - 0.056519 -0.138410 0.010799 - 0.058974 -0.125456 -0.000041 - 0.061169 -0.131129 -0.000042 - 0.062054 -0.136373 -0.000042 - 0.070546 -0.155399 0.042517 - 0.073394 -0.165097 0.047353 - 0.069378 -0.166415 0.046944 - 0.066489 -0.155521 0.053994 - 0.069758 -0.166967 0.055201 - 0.062258 -0.143107 0.060875 - 0.064254 -0.152650 0.056913 - 0.071201 -0.154826 0.054457 - 0.067142 -0.143913 0.060087 - 0.057501 -0.145287 0.010694 - 0.062800 -0.140680 -0.000042 - 0.064057 -0.161173 0.006421 - 0.066163 -0.151849 0.022492 - 0.059789 -0.152064 0.022250 - 0.064416 -0.152350 0.008120 - 0.064229 -0.145430 -0.000043 - 0.051712 -0.105000 0.012953 - 0.045245 -0.108093 0.011899 - 0.048618 -0.116299 0.027007 - 0.051097 -0.117547 0.036947 - 0.057275 -0.116562 0.037790 - 0.056327 -0.115549 -0.000040 - 0.055442 -0.128476 0.040534 - 0.046397 -0.108681 -0.000037 - 0.050219 -0.118470 -0.000038 - 0.053187 -0.128224 -0.000039 - 0.055459 -0.133860 -0.000040 - 0.051023 -0.128915 0.037930 - 0.059083 -0.126614 -0.012460 - 0.062345 -0.135623 -0.011748 - 0.063872 -0.142649 -0.010394 - 0.064390 -0.147521 -0.009836 - 0.074733 -0.166899 0.055305 - 0.071098 -0.172005 0.049185 - 0.074618 -0.171971 0.048006 - 0.068224 -0.151428 0.060034 - 0.071129 -0.177030 0.060571 - 0.061593 -0.143322 0.066183 - 0.063658 -0.153048 0.062880 - 0.067614 -0.152176 0.066282 - 0.066481 -0.144448 0.066347 - 0.056594 -0.138984 -0.000041 - 0.059167 -0.150019 0.008985 - 0.056952 -0.158333 0.007586 - 0.060628 -0.169006 0.013770 - 0.064416 -0.152350 -0.008120 - 0.068463 -0.169990 0.014761 - 0.063398 -0.162157 -0.000043 - 0.063528 -0.159707 0.031868 - 0.069438 -0.160689 0.031532 - 0.065491 -0.177776 0.022229 - 0.048665 -0.091471 -0.000037 - 0.049136 -0.090066 0.007878 - 0.052664 -0.105684 -0.000039 - 0.048065 -0.100313 0.016099 - 0.042099 -0.093431 0.006732 - 0.041023 -0.101711 0.015612 - 0.051402 -0.117547 0.047221 - 0.051836 -0.128490 0.048387 - 0.058440 -0.116866 0.048373 - 0.057104 -0.114696 -0.011010 - 0.055926 -0.129479 0.051192 - 0.041971 -0.094673 -0.000035 - 0.045245 -0.108093 -0.011899 - 0.050570 -0.117821 -0.009946 - 0.053080 -0.129485 -0.011482 - 0.056519 -0.138410 -0.010799 - 0.054457 -0.124117 -0.019417 - 0.057294 -0.133146 -0.014424 - 0.061934 -0.141546 -0.013946 - 0.061606 -0.143647 -0.013512 - 0.077057 -0.176745 0.062384 - 0.069306 -0.186639 0.031091 - 0.067311 -0.167311 0.041480 - 0.072822 -0.168980 0.041011 - 0.072598 -0.196516 0.040520 - 0.076704 -0.196524 0.041631 - 0.073251 -0.187320 0.033339 - 0.072125 -0.179491 0.072003 - 0.075258 -0.190988 0.065267 - 0.073766 -0.191430 0.075954 - 0.061587 -0.143427 0.071546 - 0.062619 -0.152929 0.068952 - 0.067169 -0.153319 0.072436 - 0.065286 -0.144296 0.072552 - 0.057501 -0.145287 -0.010694 - 0.057542 -0.143194 -0.000041 - 0.059584 -0.154661 0.007333 - 0.059636 -0.163956 -0.000042 - 0.059100 -0.147883 -0.000041 - 0.060167 -0.170040 0.007361 - 0.071526 -0.178974 0.023583 - 0.066163 -0.151849 -0.022492 - 0.064057 -0.161173 -0.006421 - 0.068463 -0.169990 -0.014761 - 0.059404 -0.173596 0.005826 - 0.059553 -0.178303 -0.000042 - 0.059404 -0.173596 -0.005826 - 0.060167 -0.170040 -0.007361 - 0.043004 -0.078935 -0.000035 - 0.042742 -0.078854 0.009426 - 0.049136 -0.090066 -0.007878 - 0.042453 -0.084159 0.014714 - 0.051712 -0.105000 -0.012953 - 0.049599 -0.098948 0.024721 - 0.044519 -0.087887 0.021927 - 0.035824 -0.082162 0.008299 - 0.036264 -0.082158 -0.000034 - 0.037815 -0.087797 0.015706 - 0.042171 -0.103620 0.023708 - 0.052312 -0.117780 0.057638 - 0.051957 -0.127447 0.058823 - 0.056547 -0.128298 0.061876 - 0.059111 -0.116860 0.059122 - 0.053103 -0.111081 -0.017697 - 0.035824 -0.082162 -0.008299 - 0.042099 -0.093431 -0.006732 - 0.041023 -0.101711 -0.015612 - 0.047192 -0.112367 -0.017582 - 0.050698 -0.126375 -0.017300 - 0.052556 -0.135205 -0.016516 - 0.056879 -0.142387 -0.017066 - 0.055012 -0.126317 -0.029939 - 0.049566 -0.127992 -0.027480 - 0.061543 -0.135562 -0.025919 - 0.056223 -0.136782 -0.027868 - 0.065178 -0.144100 -0.024341 - 0.059789 -0.152064 -0.022250 - 0.078216 -0.190670 0.065195 - 0.077150 -0.181220 0.074077 - 0.073742 -0.208622 0.051811 - 0.073580 -0.196943 0.060142 - 0.081492 -0.206173 0.072202 - 0.078531 -0.210951 0.051104 - 0.078696 -0.197821 0.062785 - 0.069983 -0.177857 0.083822 - 0.069942 -0.190652 0.086027 - 0.076562 -0.191952 0.076254 - 0.073768 -0.191275 0.087190 - 0.061185 -0.143127 0.076860 - 0.062135 -0.153236 0.075148 - 0.066945 -0.154612 0.078507 - 0.065200 -0.144898 0.078869 - 0.059167 -0.150019 -0.008985 - 0.056952 -0.158333 -0.007586 - 0.060628 -0.169006 -0.013770 - 0.059584 -0.154661 -0.007333 - 0.063528 -0.159707 -0.031868 - 0.069438 -0.160689 -0.031532 - 0.071526 -0.178974 -0.023583 - 0.038902 -0.066635 -0.000034 - 0.039369 -0.065759 0.008291 - 0.042742 -0.078854 -0.009426 - 0.037707 -0.066567 0.012961 - 0.038338 -0.074115 0.015624 - 0.039554 -0.080843 0.013640 - 0.042453 -0.084159 -0.014714 - 0.048065 -0.100313 -0.016099 - 0.039114 -0.091255 0.022961 - 0.050816 -0.099295 0.033447 - 0.047483 -0.090788 0.029330 - 0.041059 -0.093582 0.030490 - 0.032039 -0.069265 0.007097 - 0.031891 -0.069988 -0.000032 - 0.033371 -0.076123 0.016333 - 0.032039 -0.069265 -0.007097 - 0.042798 -0.105272 0.031929 - 0.053417 -0.116760 0.067704 - 0.051835 -0.126545 0.069266 - 0.056834 -0.126106 0.072466 - 0.058642 -0.115538 0.069549 - 0.055496 -0.114673 -0.027565 - 0.033371 -0.076123 -0.016333 - 0.039554 -0.080843 -0.013640 - 0.037815 -0.087797 -0.015706 - 0.039114 -0.091255 -0.022961 - 0.042171 -0.103620 -0.023708 - 0.048618 -0.116299 -0.027007 - 0.060811 -0.145443 -0.026629 - 0.055442 -0.128476 -0.040534 - 0.051023 -0.128915 -0.037930 - 0.051097 -0.117547 -0.036947 - 0.059106 -0.139066 -0.039445 - 0.065017 -0.138633 -0.037596 - 0.063593 -0.149569 -0.036185 - 0.067871 -0.149116 -0.034076 - 0.065491 -0.177776 -0.022229 - 0.074779 -0.179897 0.086332 - 0.081488 -0.219211 0.058591 - 0.075326 -0.216685 0.059017 - 0.075526 -0.205126 0.069934 - 0.079347 -0.209062 0.084697 - 0.081230 -0.214954 0.073548 - 0.075312 -0.208814 0.082179 - 0.065879 -0.174277 0.094740 - 0.065605 -0.188927 0.095788 - 0.070168 -0.188993 0.097665 - 0.070864 -0.176980 0.097914 - 0.061217 -0.141737 0.082047 - 0.061544 -0.155383 0.080799 - 0.066130 -0.155784 0.084393 - 0.065070 -0.143445 0.084995 - 0.067311 -0.167311 -0.041480 - 0.072822 -0.168980 -0.041011 - 0.073251 -0.187320 -0.033339 - 0.074618 -0.171971 -0.048006 - 0.033843 -0.057533 -0.000032 - 0.034119 -0.057331 0.007855 - 0.039369 -0.065759 -0.008291 - 0.033152 -0.060513 0.014794 - 0.038338 -0.074115 -0.015624 - 0.034877 -0.062573 0.019769 - 0.038694 -0.073649 0.021612 - 0.049599 -0.098948 -0.024721 - 0.044519 -0.087887 -0.021927 - 0.050464 -0.101811 0.041977 - 0.047470 -0.092404 0.037401 - 0.041527 -0.095151 0.038475 - 0.044502 -0.105760 0.040119 - 0.026986 -0.060743 0.006693 - 0.026948 -0.060831 -0.000030 - 0.027942 -0.062742 0.015212 - 0.026986 -0.060743 -0.006693 - 0.033116 -0.075827 0.022074 - 0.027942 -0.062742 -0.015212 - 0.052391 -0.112080 0.076874 - 0.051372 -0.125963 0.079724 - 0.056527 -0.123474 0.082900 - 0.056405 -0.111689 0.079287 - 0.057275 -0.116562 -0.037790 - 0.028184 -0.065346 -0.020525 - 0.033116 -0.075827 -0.022074 - 0.047483 -0.090788 -0.029330 - 0.041059 -0.093582 -0.030490 - 0.042798 -0.105272 -0.031929 - 0.051836 -0.128490 -0.048387 - 0.055926 -0.129479 -0.051192 - 0.051402 -0.117547 -0.047221 - 0.058440 -0.116866 -0.048373 - 0.065877 -0.156902 -0.043549 - 0.060574 -0.142468 -0.051075 - 0.065814 -0.141826 -0.049720 - 0.070546 -0.155399 -0.042517 - 0.069306 -0.186639 -0.031091 - 0.084239 -0.227151 0.066497 - 0.076030 -0.219008 0.071361 - 0.077702 -0.224556 0.065864 - 0.073849 -0.219056 0.082970 - 0.079459 -0.219152 0.085630 - 0.076043 -0.209293 0.097351 - 0.072937 -0.207886 0.094766 - 0.082091 -0.225354 0.079017 - 0.078277 -0.225361 0.077009 - 0.077878 -0.217567 0.072138 - 0.070644 -0.219550 0.095669 - 0.060520 -0.141048 0.087319 - 0.060433 -0.156495 0.086729 - 0.064737 -0.156748 0.090411 - 0.065891 -0.144433 0.091181 - 0.071098 -0.172005 -0.049185 - 0.076704 -0.196524 -0.041631 - 0.077057 -0.176745 -0.062384 - 0.073394 -0.165097 -0.047353 - 0.069378 -0.166415 -0.046944 - 0.027055 -0.044510 -0.000030 - 0.028323 -0.045064 0.008103 - 0.034119 -0.057331 -0.007855 - 0.027630 -0.050971 0.014420 - 0.037707 -0.066567 -0.012961 - 0.025918 -0.052246 0.014924 - 0.028184 -0.065346 0.020525 - 0.033152 -0.060513 -0.014794 - 0.038694 -0.073649 -0.021612 - 0.029321 -0.066486 0.026283 - 0.035535 -0.064331 0.025142 - 0.039218 -0.073962 0.027579 - 0.050816 -0.099295 -0.033447 - 0.051100 -0.102232 0.050867 - 0.047757 -0.092457 0.045763 - 0.042293 -0.094983 0.046624 - 0.045777 -0.105433 0.048406 - 0.021172 -0.048484 0.006938 - 0.020255 -0.047762 -0.000028 - 0.021172 -0.048484 -0.006938 - 0.033439 -0.075981 0.027803 - 0.025918 -0.052246 -0.014924 - 0.027630 -0.050971 -0.014420 - 0.034877 -0.062573 -0.019769 - 0.035535 -0.064331 -0.025142 - 0.029321 -0.066486 -0.026283 - 0.033439 -0.075981 -0.027803 - 0.050464 -0.101811 -0.041977 - 0.047470 -0.092404 -0.037401 - 0.041527 -0.095151 -0.038475 - 0.044502 -0.105760 -0.040119 - 0.052312 -0.117780 -0.057638 - 0.051957 -0.127447 -0.058823 - 0.056547 -0.128298 -0.061876 - 0.059111 -0.116860 -0.059122 - 0.066489 -0.155521 -0.053994 - 0.062258 -0.143107 -0.060875 - 0.064254 -0.152650 -0.056913 - 0.071201 -0.154826 -0.054457 - 0.067142 -0.143913 -0.060087 - 0.072598 -0.196516 -0.040520 - 0.071129 -0.177030 -0.060571 - 0.081311 -0.230799 0.085096 - 0.083978 -0.235349 0.074654 - 0.076511 -0.219031 0.073790 - 0.078414 -0.231965 0.073827 - 0.074949 -0.220274 0.097728 - 0.068467 -0.205260 0.106556 - 0.072516 -0.206856 0.109677 - 0.064577 -0.217897 0.107049 - 0.076047 -0.231017 0.082809 - 0.069740 -0.219444 0.109521 - 0.078216 -0.190670 -0.065195 - 0.078696 -0.197821 -0.062785 - 0.078531 -0.210951 -0.051104 - 0.074733 -0.166899 -0.055305 - 0.077150 -0.181220 -0.074077 - 0.072125 -0.179491 -0.072003 - 0.069758 -0.166967 -0.055201 - 0.016387 -0.025035 -0.000026 - 0.017300 -0.028529 0.012083 - 0.021765 -0.035631 -0.009576 - 0.021765 -0.035631 0.009576 - 0.028323 -0.045064 -0.008103 - 0.018734 -0.039640 0.015383 - 0.026490 -0.046048 0.013268 - 0.027239 -0.045497 0.017764 - 0.028142 -0.050788 0.018916 - 0.026175 -0.052690 0.019178 - 0.039218 -0.073962 -0.027579 - 0.030337 -0.066705 0.032185 - 0.033556 -0.076526 0.033524 - 0.035817 -0.065042 0.030764 - 0.039999 -0.074076 0.033520 - 0.050578 -0.101717 0.059677 - 0.048556 -0.091093 0.053955 - 0.043144 -0.092743 0.054287 - 0.045714 -0.104925 0.056795 - 0.014889 -0.038919 0.008456 - 0.009810 -0.028181 -0.000024 - 0.010525 -0.031769 -0.010980 - 0.014889 -0.038919 -0.008456 - 0.018734 -0.039640 -0.015383 - 0.020799 -0.041386 -0.018107 - 0.026175 -0.052690 -0.019178 - 0.026490 -0.046048 -0.013268 - 0.028142 -0.050788 -0.018916 - 0.039999 -0.074076 -0.033520 - 0.035817 -0.065042 -0.030764 - 0.030337 -0.066705 -0.032185 - 0.033556 -0.076526 -0.033524 - 0.045777 -0.105433 -0.048406 - 0.051100 -0.102232 -0.050867 - 0.047757 -0.092457 -0.045763 - 0.042293 -0.094983 -0.046624 - 0.058642 -0.115538 -0.069549 - 0.053417 -0.116760 -0.067704 - 0.051835 -0.126545 -0.069266 - 0.056834 -0.126106 -0.072466 - 0.068224 -0.151428 -0.060034 - 0.061593 -0.143322 -0.066183 - 0.063658 -0.153048 -0.062880 - 0.067614 -0.152176 -0.066282 - 0.066481 -0.144448 -0.066347 - 0.075258 -0.190988 -0.065267 - 0.073580 -0.196943 -0.060142 - 0.075526 -0.205126 -0.069934 - 0.073742 -0.208622 -0.051811 - 0.073766 -0.191430 -0.075954 - 0.073105 -0.233801 0.090034 - 0.078983 -0.235195 0.091586 - 0.080444 -0.243819 0.081702 - 0.074859 -0.239859 0.079980 - 0.076562 -0.191952 -0.076254 - 0.081492 -0.206173 -0.072202 - 0.081488 -0.219211 -0.058591 - 0.074779 -0.179897 -0.086332 - 0.069983 -0.177857 -0.083822 - 0.069942 -0.190652 -0.086027 - 0.010869 -0.013736 -0.000024 - 0.013398 -0.022393 0.017692 - 0.009446 -0.012400 -0.014749 - 0.013398 -0.022393 -0.017692 - 0.017300 -0.028529 -0.012083 - 0.011012 -0.026088 0.019196 - 0.014953 -0.031881 0.014840 - 0.017049 -0.035116 -0.013914 - 0.017049 -0.035116 0.013914 - 0.020799 -0.041386 0.018107 - 0.022160 -0.042528 0.021262 - 0.027766 -0.045274 0.022320 - 0.028225 -0.050733 0.023404 - 0.026720 -0.052450 0.023731 - 0.031181 -0.066238 0.038063 - 0.033318 -0.077116 0.039233 - 0.040850 -0.073443 0.039443 - 0.036118 -0.064804 0.036435 - 0.048082 -0.100816 0.068239 - 0.047986 -0.088428 0.061947 - 0.043886 -0.088420 0.061293 - 0.045032 -0.104378 0.065150 - 0.010525 -0.031769 0.010980 - 0.006631 -0.025629 0.016590 - 0.002627 -0.015661 0.013638 - 0.004316 -0.016870 -0.000023 - 0.006631 -0.025629 -0.016590 - 0.011012 -0.026088 -0.019196 - 0.014953 -0.031881 -0.014840 - 0.027239 -0.045497 -0.017764 - 0.027766 -0.045274 -0.022320 - 0.022160 -0.042528 -0.021262 - 0.026720 -0.052450 -0.023731 - 0.028225 -0.050733 -0.023404 - 0.033318 -0.077116 -0.039233 - 0.040850 -0.073443 -0.039443 - 0.036118 -0.064804 -0.036435 - 0.031181 -0.066238 -0.038063 - 0.043144 -0.092743 -0.054287 - 0.045714 -0.104925 -0.056795 - 0.050578 -0.101717 -0.059677 - 0.048556 -0.091093 -0.053955 - 0.056527 -0.123474 -0.082900 - 0.056405 -0.111689 -0.079287 - 0.052391 -0.112080 -0.076874 - 0.051372 -0.125963 -0.079724 - 0.065286 -0.144296 -0.072552 - 0.061587 -0.143427 -0.071546 - 0.062619 -0.152929 -0.068952 - 0.067169 -0.153319 -0.072436 - 0.075312 -0.208814 -0.082179 - 0.073849 -0.219056 -0.082970 - 0.076030 -0.219008 -0.071361 - 0.075326 -0.216685 -0.059017 - 0.073768 -0.191275 -0.087190 - 0.069543 -0.235887 0.097485 - 0.075667 -0.238440 0.098783 - 0.074511 -0.245103 0.100811 - 0.075753 -0.252221 0.088218 - 0.071436 -0.251696 0.099575 - 0.069411 -0.247396 0.085658 - 0.081230 -0.214954 -0.073548 - 0.079347 -0.209062 -0.084697 - 0.084239 -0.227151 -0.066497 - 0.082091 -0.225354 -0.079017 - 0.070864 -0.176980 -0.097914 - 0.065879 -0.174277 -0.094740 - 0.065605 -0.188927 -0.095788 - 0.070168 -0.188993 -0.097665 - 0.003523 -0.002470 -0.000022 - 0.002389 -0.001311 0.015643 - 0.009446 -0.012400 0.014749 - 0.001810 -0.023024 0.027908 - 0.007890 -0.017310 0.028537 - 0.002443 -0.006765 0.027785 - 0.002389 -0.001311 -0.015643 - 0.002443 -0.006765 -0.027785 - 0.007890 -0.017310 -0.028537 - 0.022792 -0.043041 0.024888 - 0.026509 -0.052551 0.028287 - 0.028068 -0.045402 0.026941 - 0.027828 -0.050852 0.027887 - 0.032066 -0.065029 0.043794 - 0.033846 -0.077221 0.044917 - 0.041105 -0.073699 0.045377 - 0.036667 -0.063890 0.041977 - -0.007636 -0.006106 0.014010 - -0.002719 -0.005454 -0.000020 - -0.007636 -0.006106 -0.014010 - 0.002627 -0.015661 -0.013638 - -0.005916 -0.005886 -0.015413 - -0.005178 -0.006918 -0.026099 - 0.001810 -0.023024 -0.027908 - 0.027828 -0.050852 -0.027887 - 0.028068 -0.045402 -0.026941 - 0.022792 -0.043041 -0.024888 - 0.026509 -0.052551 -0.028287 - 0.032066 -0.065029 -0.043794 - 0.033846 -0.077221 -0.044917 - 0.041105 -0.073699 -0.045377 - 0.036667 -0.063890 -0.041977 - 0.047986 -0.088428 -0.061947 - 0.043886 -0.088420 -0.061293 - 0.045032 -0.104378 -0.065150 - 0.048082 -0.100816 -0.068239 - 0.065200 -0.144898 -0.078869 - 0.061185 -0.143127 -0.076860 - 0.062135 -0.153236 -0.075148 - 0.066945 -0.154612 -0.078507 - 0.072937 -0.207886 -0.094766 - 0.070644 -0.219550 -0.095669 - 0.076511 -0.219031 -0.073790 - 0.079459 -0.219152 -0.085630 - 0.074949 -0.220274 -0.097728 - 0.078277 -0.225361 -0.077009 - 0.077878 -0.217567 -0.072138 - 0.077702 -0.224556 -0.065864 - 0.066841 -0.237632 0.099971 - 0.066951 -0.248828 0.098043 - 0.067461 -0.247429 0.101319 - 0.073576 -0.240591 0.102464 - 0.071295 -0.250160 0.103399 - 0.067945 -0.258422 0.102482 - 0.069588 -0.260100 0.094143 - 0.062488 -0.254932 0.100894 - 0.065288 -0.253762 0.093311 - 0.076043 -0.209293 -0.097351 - 0.083978 -0.235349 -0.074654 - 0.081311 -0.230799 -0.085096 - 0.076047 -0.231017 -0.082809 - -0.000017 -0.000013 -0.000021 - -0.000188 -0.000065 0.012310 - -0.005916 -0.005886 0.015413 - -0.005178 -0.006918 0.026099 - 0.000755 -0.022017 0.030227 - 0.006605 -0.016574 0.030449 - 0.000920 -0.006098 0.029003 - -0.006179 -0.006459 0.026983 - -0.000188 -0.000065 -0.012310 - -0.008215 -0.002916 -0.011655 - 0.000920 -0.006098 -0.029003 - 0.006605 -0.016574 -0.030449 - 0.000755 -0.022017 -0.030227 - 0.022709 -0.042959 0.028578 - 0.024850 -0.052237 0.032597 - 0.027267 -0.050751 0.032345 - 0.027806 -0.045118 0.031430 - 0.033004 -0.063081 0.049372 - 0.035102 -0.076866 0.050576 - 0.040737 -0.074939 0.051325 - 0.037431 -0.062318 0.047413 - -0.008215 -0.002916 0.011655 - -0.006031 -0.000311 -0.000019 - -0.006179 -0.006459 -0.026983 - 0.024850 -0.052237 -0.032597 - 0.027267 -0.050751 -0.032345 - 0.027806 -0.045118 -0.031430 - 0.022709 -0.042959 -0.028578 - 0.037431 -0.062318 -0.047413 - 0.033004 -0.063081 -0.049372 - 0.035102 -0.076866 -0.050576 - 0.040737 -0.074939 -0.051325 - 0.065070 -0.143445 -0.084995 - 0.061217 -0.141737 -0.082047 - 0.061544 -0.155383 -0.080799 - 0.066130 -0.155784 -0.084393 - 0.068467 -0.205260 -0.106556 - 0.064577 -0.217897 -0.107049 - 0.069740 -0.219444 -0.109521 - 0.072516 -0.206856 -0.109677 - 0.078414 -0.231965 -0.073827 - 0.064758 -0.238953 0.102943 - 0.065251 -0.246114 0.104055 - 0.069629 -0.249601 0.107108 - 0.070371 -0.240974 0.106058 - 0.062832 -0.262489 0.107152 - 0.058805 -0.258432 0.103403 - 0.062289 -0.266012 0.100928 - 0.058664 -0.260297 0.099102 - 0.080444 -0.243819 -0.081702 - 0.078983 -0.235195 -0.091586 - 0.073105 -0.233801 -0.090034 - 0.074859 -0.239859 -0.079980 - -0.000299 -0.021011 0.032546 - 0.005321 -0.015839 0.032360 - -0.000604 -0.005431 0.030221 - -0.007181 -0.006000 0.027867 - 0.005321 -0.015839 -0.032360 - -0.000604 -0.005431 -0.030221 - -0.000299 -0.021011 -0.032546 - -0.007181 -0.006000 -0.027867 - 0.021920 -0.042303 0.032065 - 0.023634 -0.051353 0.036815 - 0.026789 -0.050123 0.036766 - 0.026753 -0.043931 0.035664 - 0.021920 -0.042303 -0.032065 - 0.023634 -0.051353 -0.036815 - 0.026789 -0.050123 -0.036766 - 0.026753 -0.043931 -0.035664 - 0.065891 -0.144433 -0.091181 - 0.060520 -0.141048 -0.087319 - 0.060433 -0.156495 -0.086729 - 0.064737 -0.156748 -0.090411 - 0.063377 -0.239819 0.106460 - 0.062872 -0.245444 0.106860 - 0.067702 -0.249671 0.110724 - 0.067789 -0.240907 0.110143 - 0.053049 -0.261892 0.107632 - 0.056725 -0.265054 0.111937 - 0.050479 -0.264475 0.104991 - 0.054039 -0.270394 0.107851 - 0.075753 -0.252221 -0.088218 - 0.071436 -0.251696 -0.099575 - 0.074511 -0.245103 -0.100811 - 0.075667 -0.238440 -0.098783 - 0.069543 -0.235887 -0.097485 - 0.069411 -0.247396 -0.085658 - -0.001354 -0.020005 0.034865 - 0.004036 -0.015104 0.034272 - -0.002129 -0.004765 0.031439 - -0.008182 -0.005541 0.028751 - -0.001354 -0.020005 -0.034865 - 0.004036 -0.015104 -0.034272 - -0.002129 -0.004765 -0.031439 - -0.008182 -0.005541 -0.028751 - 0.020452 -0.041089 0.035430 - 0.024452 -0.049835 0.041088 - 0.026335 -0.049059 0.041153 - 0.025006 -0.042022 0.039688 - 0.025006 -0.042022 -0.039688 - 0.020452 -0.041089 -0.035430 - 0.024452 -0.049835 -0.041088 - 0.026335 -0.049059 -0.041153 - 0.061765 -0.239971 0.110010 - 0.060472 -0.244875 0.109666 - 0.065174 -0.249571 0.113929 - 0.066056 -0.241152 0.114593 - 0.048339 -0.262414 0.113122 - 0.042742 -0.264102 0.112454 - 0.051171 -0.264182 0.117660 - 0.045350 -0.269218 0.115254 - 0.067945 -0.258422 -0.102482 - 0.069588 -0.260100 -0.094143 - 0.071295 -0.250160 -0.103399 - 0.066951 -0.248828 -0.098043 - 0.062488 -0.254932 -0.100894 - 0.073576 -0.240591 -0.102464 - 0.066841 -0.237632 -0.099971 - 0.067461 -0.247429 -0.101319 - 0.065288 -0.253762 -0.093311 - -0.002408 -0.018999 0.037183 - 0.002752 -0.014368 0.036183 - -0.003652 -0.004097 0.032656 - -0.009184 -0.005081 0.029636 - -0.009184 -0.005081 -0.029636 - -0.002408 -0.018999 -0.037183 - 0.002752 -0.014368 -0.036183 - -0.003652 -0.004097 -0.032656 - 0.059337 -0.240505 0.113024 - 0.058111 -0.244814 0.112610 - 0.062102 -0.249313 0.116762 - 0.062659 -0.241474 0.117998 - 0.062832 -0.262489 -0.107152 - 0.058805 -0.258432 -0.103403 - 0.062289 -0.266012 -0.100928 - 0.070371 -0.240974 -0.106058 - 0.069629 -0.249601 -0.107108 - 0.058664 -0.260297 -0.099102 - 0.064758 -0.238953 -0.102943 - 0.065251 -0.246114 -0.104055 - -0.003463 -0.017993 0.039502 - 0.001467 -0.013632 0.038095 - -0.005176 -0.003431 0.033874 - -0.010185 -0.004622 0.030520 - -0.005176 -0.003431 -0.033874 - -0.010185 -0.004622 -0.030520 - -0.003463 -0.017993 -0.039502 - 0.001467 -0.013632 -0.038095 - 0.056725 -0.265054 -0.111937 - 0.053049 -0.261892 -0.107632 - 0.050479 -0.264475 -0.104991 - 0.054039 -0.270394 -0.107851 - 0.067789 -0.240907 -0.110143 - 0.063377 -0.239819 -0.106460 - 0.067702 -0.249671 -0.110724 - 0.062872 -0.245444 -0.106860 - -0.004517 -0.016987 0.041820 - 0.000182 -0.012897 0.040007 - -0.006700 -0.002764 0.035092 - -0.011187 -0.004162 0.031404 - 0.000182 -0.012897 -0.040007 - -0.006700 -0.002764 -0.035092 - -0.011187 -0.004162 -0.031404 - -0.004517 -0.016987 -0.041820 - 0.048339 -0.262414 -0.113122 - 0.051171 -0.264182 -0.117660 - 0.042742 -0.264102 -0.112454 - 0.045350 -0.269218 -0.115254 - 0.066056 -0.241152 -0.114593 - 0.061765 -0.239971 -0.110010 - 0.060472 -0.244875 -0.109666 - 0.065174 -0.249571 -0.113929 - 0.062659 -0.241474 -0.117998 - 0.059337 -0.240505 -0.113024 - 0.058111 -0.244814 -0.112610 - 0.062102 -0.249313 -0.116762 - -0.092607 -0.087562 -0.034072 - -0.095015 -0.082889 -0.037561 - -0.084823 -0.085874 -0.022815 - -0.098000 -0.094664 -0.052197 - -0.098089 -0.088480 -0.052347 - -0.091738 -0.092976 -0.034645 - -0.079365 -0.090099 -0.021270 - -0.098865 -0.086002 -0.055669 - -0.098090 -0.087684 -0.034711 - -0.086218 -0.089722 -0.020275 - -0.103358 -0.103347 -0.067387 - -0.099626 -0.101439 -0.069912 - -0.102712 -0.095172 -0.049223 - -0.099980 -0.093173 -0.070912 - -0.093280 -0.094145 -0.038083 - -0.078938 -0.094298 -0.022398 - -0.099974 -0.092808 -0.073697 - -0.103383 -0.088129 -0.053258 - -0.098875 -0.089318 -0.033976 - -0.086865 -0.093166 -0.018441 - -0.104915 -0.112109 -0.085700 - -0.102602 -0.113795 -0.084146 - -0.106699 -0.100838 -0.069612 - -0.097537 -0.107289 -0.087793 - -0.104407 -0.094416 -0.050947 - -0.097563 -0.100399 -0.088338 - -0.083614 -0.098966 -0.021266 - -0.097899 -0.100163 -0.091693 - -0.105067 -0.095275 -0.072036 - -0.091358 -0.107295 -0.104632 - -0.094374 -0.118516 -0.101221 - -0.103022 -0.104681 -0.089078 - -0.093587 -0.118678 -0.101110 - -0.087530 -0.113974 -0.102215 - -0.087754 -0.104387 -0.103920 - -0.087676 -0.105032 -0.105500 - -0.073583 -0.110582 -0.117221 - -0.077421 -0.112329 -0.117199 - -0.080792 -0.122957 -0.114947 - -0.080204 -0.123032 -0.114400 - -0.074321 -0.118838 -0.114520 - -0.074486 -0.110297 -0.115452 - -0.059344 -0.117184 -0.124848 - -0.058671 -0.116577 -0.127107 - -0.061808 -0.117520 -0.127244 - -0.064375 -0.127192 -0.125008 - -0.063896 -0.127948 -0.123990 - -0.059600 -0.125993 -0.123463 - -0.043938 -0.133832 -0.129471 - -0.043192 -0.124769 -0.130429 - -0.042013 -0.124070 -0.132155 - -0.044838 -0.124670 -0.134053 - -0.046930 -0.134230 -0.130968 - -0.029399 -0.141963 -0.134709 - -0.029095 -0.141690 -0.133620 - -0.026869 -0.140249 -0.132549 - -0.027660 -0.133333 -0.136996 - -0.026087 -0.131790 -0.133559 - -0.024759 -0.131161 -0.134911 - -0.009954 -0.141554 -0.137351 - -0.011628 -0.150182 -0.136068 - -0.011295 -0.149654 -0.134835 - -0.010494 -0.148895 -0.133899 - -0.007784 -0.139277 -0.135957 - -0.009286 -0.140171 -0.134560 - 0.009580 -0.146449 -0.133970 - 0.008075 -0.147770 -0.135434 - 0.006378 -0.157816 -0.134964 - 0.005300 -0.159207 -0.134232 - 0.006048 -0.156546 -0.131857 - 0.007904 -0.147568 -0.132874 - 0.024174 -0.155907 -0.128681 - 0.026435 -0.153838 -0.129719 - 0.025478 -0.155129 -0.130443 - 0.023973 -0.165515 -0.131025 - 0.022942 -0.166380 -0.130279 - 0.022623 -0.163921 -0.128174 - 0.038669 -0.169742 -0.120857 - 0.040534 -0.162353 -0.121837 - 0.042482 -0.161015 -0.122620 - 0.041829 -0.163513 -0.123933 - 0.039939 -0.173864 -0.123011 - 0.039098 -0.174287 -0.122841 - 0.052025 -0.182178 -0.110512 - 0.051044 -0.177577 -0.109169 - 0.055992 -0.167317 -0.111915 - 0.056826 -0.169923 -0.113062 - 0.054096 -0.181043 -0.111210 - 0.066834 -0.189495 -0.098513 - 0.064125 -0.188934 -0.096646 - 0.062879 -0.183297 -0.095718 - 0.064949 -0.174241 -0.097163 - 0.067697 -0.174806 -0.098000 - 0.069284 -0.178984 -0.100519 - 0.069817 -0.205296 -0.108786 - 0.066029 -0.219325 -0.106108 - 0.068068 -0.218286 -0.109170 - 0.065463 -0.203444 -0.111420 - 0.063864 -0.212511 -0.104511 - 0.057166 -0.199629 -0.121210 - 0.056202 -0.197586 -0.120677 - 0.071033 -0.208437 -0.111264 - 0.051842 -0.205454 -0.116835 - 0.052658 -0.212054 -0.117910 - 0.054309 -0.210550 -0.118436 - 0.053804 -0.195347 -0.122979 - 0.042030 -0.201235 -0.128385 - 0.042655 -0.190351 -0.129547 - 0.040900 -0.188866 -0.129159 - 0.038231 -0.188538 -0.129200 - 0.038600 -0.196231 -0.125699 - 0.039468 -0.202114 -0.128003 - 0.023711 -0.192860 -0.133776 - 0.026719 -0.193042 -0.134143 - 0.026096 -0.182071 -0.134067 - 0.024055 -0.180041 -0.133514 - 0.022750 -0.180181 -0.133591 - 0.023608 -0.187461 -0.131414 - 0.006827 -0.180748 -0.134238 - 0.006629 -0.185290 -0.135506 - 0.010168 -0.185652 -0.137106 - 0.009474 -0.173166 -0.136648 - 0.006692 -0.171492 -0.136006 - 0.006298 -0.172541 -0.135494 - -0.009647 -0.163879 -0.134638 - -0.009422 -0.172365 -0.133807 - -0.010591 -0.177261 -0.135378 - -0.006585 -0.178301 -0.136250 - -0.007584 -0.164723 -0.136248 - -0.010462 -0.162485 -0.135125 - -0.028202 -0.154623 -0.133431 - -0.026297 -0.156738 -0.133362 - -0.026230 -0.165603 -0.131974 - -0.026893 -0.169247 -0.133673 - -0.023422 -0.171370 -0.135172 - -0.024792 -0.156895 -0.134345 - -0.042225 -0.149717 -0.132106 - -0.045573 -0.146837 -0.130010 - -0.042311 -0.149165 -0.130025 - -0.041964 -0.157339 -0.129219 - -0.044683 -0.161040 -0.131565 - -0.039928 -0.163619 -0.133878 - -0.056041 -0.156196 -0.129298 - -0.059026 -0.142916 -0.126704 - -0.063155 -0.140193 -0.124785 - -0.058464 -0.142572 -0.124885 - -0.059008 -0.152964 -0.124228 - -0.061631 -0.154668 -0.125919 - -0.071699 -0.149443 -0.122681 - -0.078711 -0.151406 -0.118253 - -0.075651 -0.138389 -0.118471 - -0.079415 -0.135666 -0.114857 - -0.073991 -0.138539 -0.116024 - -0.073978 -0.146863 -0.115564 - -0.092003 -0.147060 -0.104766 - -0.086572 -0.146785 -0.112093 - -0.087932 -0.142501 -0.104266 - -0.090481 -0.134021 -0.107100 - -0.094030 -0.131793 -0.102146 - -0.088096 -0.135210 -0.104585 - -0.096985 -0.135246 -0.090231 - -0.101652 -0.143344 -0.089507 - -0.099839 -0.142035 -0.099960 - -0.099723 -0.128558 -0.091805 - -0.103644 -0.134469 -0.093788 - -0.104862 -0.126709 -0.087385 - -0.102940 -0.122627 -0.074356 - -0.101143 -0.130158 -0.072558 - -0.104227 -0.134870 -0.072263 - -0.106325 -0.138383 -0.083216 - -0.106638 -0.120393 -0.068449 - -0.108477 -0.128534 -0.076688 - -0.103341 -0.113475 -0.050005 - -0.102401 -0.117295 -0.056338 - -0.099333 -0.123419 -0.055021 - -0.103500 -0.126359 -0.054953 - -0.105914 -0.131324 -0.065885 - -0.108313 -0.122361 -0.058264 - -0.105685 -0.118774 -0.039137 - -0.100758 -0.109116 -0.030752 - -0.097534 -0.114271 -0.038369 - -0.094202 -0.120272 -0.037211 - -0.098012 -0.120717 -0.038696 - -0.104774 -0.124132 -0.048500 - -0.099388 -0.118674 -0.033602 - -0.096254 -0.114117 -0.024439 - -0.085882 -0.112847 -0.021105 - -0.086253 -0.111681 -0.024306 - -0.084250 -0.117500 -0.022039 - -0.086599 -0.120972 -0.022683 - -0.071201 -0.216568 -0.018716 - -0.059722 -0.206224 -0.021176 - -0.072359 -0.212671 -0.020982 - -0.060746 -0.216862 -0.018551 - -0.058377 -0.209363 -0.021539 - -0.072368 -0.216290 -0.028380 - -0.071332 -0.220108 -0.025610 - -0.061838 -0.212771 -0.027827 - -0.063449 -0.208594 -0.028104 - -0.066060 -0.220153 -0.023037 - -0.068094 -0.212675 -0.034324 - -0.074482 -0.219652 -0.035660 - -0.073289 -0.223145 -0.032721 - -0.068468 -0.222585 -0.030352 - -0.065978 -0.215070 -0.034075 - -0.067576 -0.219293 -0.040729 - -0.071553 -0.217018 -0.041188 - -0.074796 -0.224588 -0.042276 - -0.074022 -0.227481 -0.039205 - -0.071493 -0.225960 -0.036809 - -0.071947 -0.230011 -0.043705 - -0.068317 -0.224206 -0.046843 - -0.071583 -0.222813 -0.047460 - -0.073954 -0.229463 -0.048870 - -0.073557 -0.231724 -0.045934 - -0.073838 -0.236603 -0.052144 - -0.072948 -0.235184 -0.049509 - -0.068600 -0.228297 -0.053699 - -0.071306 -0.228394 -0.054151 - -0.072530 -0.234080 -0.055565 - -0.069518 -0.239464 -0.061039 - -0.071188 -0.241526 -0.057801 - -0.071019 -0.240197 -0.055336 - -0.067179 -0.233451 -0.059573 - -0.069162 -0.233129 -0.061296 - -0.065372 -0.239044 -0.066576 - -0.065068 -0.243724 -0.066585 - -0.068351 -0.246671 -0.063119 - -0.068441 -0.245137 -0.060942 - -0.065014 -0.238802 -0.065086 - -0.061432 -0.243938 -0.069720 - -0.061102 -0.244746 -0.071699 - -0.060740 -0.248794 -0.071526 - -0.064145 -0.251465 -0.067877 - -0.064168 -0.250042 -0.065421 - -0.059680 -0.254477 -0.070035 - -0.057353 -0.250068 -0.072725 - -0.058789 -0.250001 -0.073259 - -0.056700 -0.252008 -0.073598 - -0.057798 -0.252492 -0.073965 - -0.059321 -0.254971 -0.072545 - 0.061721 -0.239717 -0.121476 - 0.058159 -0.248810 -0.113031 - 0.060492 -0.242652 -0.121706 - 0.058892 -0.240026 -0.120573 - 0.058255 -0.246757 -0.112863 - 0.045318 -0.234285 -0.127916 - 0.045165 -0.231702 -0.127749 - 0.051323 -0.247510 -0.121106 - 0.043260 -0.240081 -0.120437 - 0.042881 -0.242348 -0.120381 - 0.036527 -0.238783 -0.126814 - 0.043275 -0.232880 -0.126688 - 0.021228 -0.229419 -0.130770 - 0.029925 -0.224826 -0.132146 - 0.028666 -0.221758 -0.131263 - 0.028065 -0.223337 -0.130341 - 0.028119 -0.231523 -0.125869 - 0.027813 -0.233436 -0.125565 - 0.011661 -0.224924 -0.128655 - 0.004624 -0.220929 -0.131602 - 0.013387 -0.216094 -0.134191 - 0.011532 -0.212082 -0.132998 - 0.012192 -0.214018 -0.132295 - 0.013148 -0.221344 -0.129095 - -0.002889 -0.212256 -0.129641 - -0.005304 -0.217125 -0.128649 - -0.012621 -0.213327 -0.130988 - -0.002611 -0.206200 -0.133662 - -0.006243 -0.203213 -0.131244 - -0.004892 -0.206409 -0.131742 - -0.021936 -0.199162 -0.128300 - -0.020744 -0.206312 -0.126755 - -0.022376 -0.209506 -0.126920 - -0.029733 -0.206354 -0.126947 - -0.019131 -0.197172 -0.131495 - -0.024215 -0.194827 -0.128664 - -0.041605 -0.186563 -0.123301 - -0.038716 -0.192337 -0.123130 - -0.036602 -0.197579 -0.122200 - -0.039095 -0.202478 -0.121728 - -0.045883 -0.198317 -0.121692 - -0.035968 -0.189257 -0.127470 - -0.052293 -0.181400 -0.121827 - -0.058556 -0.178414 -0.116796 - -0.054684 -0.184118 -0.117881 - -0.052915 -0.190297 -0.116453 - -0.055439 -0.194983 -0.116230 - -0.061945 -0.191700 -0.114744 - -0.076667 -0.185692 -0.105175 - -0.068288 -0.174263 -0.114699 - -0.074967 -0.172451 -0.107375 - -0.070482 -0.178452 -0.109709 - -0.068599 -0.184161 -0.108415 - -0.070525 -0.188818 -0.107218 - -0.084129 -0.182806 -0.096328 - -0.090230 -0.180519 -0.093869 - -0.083067 -0.170593 -0.103807 - -0.088993 -0.168772 -0.094899 - -0.084280 -0.173202 -0.098783 - -0.082948 -0.179233 -0.097890 - -0.094113 -0.173586 -0.084965 - -0.094641 -0.178347 -0.082611 - -0.100224 -0.175167 -0.080119 - -0.095970 -0.166844 -0.091257 - -0.100750 -0.163186 -0.082398 - -0.095222 -0.166051 -0.086848 - -0.103242 -0.159376 -0.072997 - -0.100815 -0.166994 -0.070573 - -0.102011 -0.171132 -0.068556 - -0.105740 -0.166404 -0.066536 - -0.106484 -0.160270 -0.078155 - -0.105024 -0.154112 -0.068551 - -0.105426 -0.145314 -0.053106 - -0.101956 -0.152230 -0.057928 - -0.100993 -0.157585 -0.056616 - -0.101783 -0.160532 -0.055823 - -0.104668 -0.156165 -0.053284 - -0.108527 -0.153251 -0.062750 - -0.107653 -0.146275 -0.047230 - -0.101200 -0.136656 -0.038237 - -0.099785 -0.145353 -0.042752 - -0.098387 -0.148708 -0.042704 - -0.099639 -0.150537 -0.042926 - -0.103695 -0.148553 -0.038585 - -0.096899 -0.144207 -0.025649 - -0.104869 -0.142279 -0.031056 - -0.096493 -0.131614 -0.022042 - -0.093252 -0.139911 -0.028222 - -0.091733 -0.143504 -0.028298 - -0.094581 -0.144572 -0.029130 - -0.083628 -0.143331 -0.014549 - -0.085238 -0.143172 -0.015280 - -0.095346 -0.136971 -0.019098 - -0.081701 -0.136786 -0.016103 - -0.080452 -0.140119 -0.017070 - -0.080042 -0.140359 -0.016125 - -0.012220 -0.003946 -0.034011 - -0.000602 -0.012149 -0.041464 - -0.004589 -0.007338 -0.047685 - -0.017257 -0.006157 -0.034664 - -0.015270 -0.001015 -0.037887 - -0.003717 -0.015528 -0.042447 - -0.006490 -0.011248 -0.048988 - -0.008218 -0.002806 -0.054250 - -0.009047 -0.006094 -0.054980 - -0.020086 -0.002986 -0.038333 - -0.019125 0.001869 -0.041248 - -0.022664 0.000358 -0.042061 - -0.011285 0.001601 -0.061097 - -0.012762 -0.001170 -0.060810 - -0.026327 0.003705 -0.044840 - -0.023520 0.004906 -0.044055 - -0.016811 0.006845 -0.066079 - -0.017425 0.004490 -0.065426 - -0.031192 0.006876 -0.046985 - -0.027854 0.008188 -0.046631 - -0.023904 0.012729 -0.068713 - -0.024039 0.010111 -0.068207 - -0.034908 0.010411 -0.049662 - -0.031860 0.011439 -0.049558 - -0.031904 0.018396 -0.068404 - -0.032479 0.014830 -0.068869 - -0.036180 0.015264 -0.051786 - -0.034982 0.015662 -0.052104 - -0.040239 0.023348 -0.066018 - -0.041007 0.019101 -0.066727 - -0.040994 0.018498 -0.053546 - -0.039280 0.019624 -0.052729 - -0.048619 0.027722 -0.062745 - -0.048461 0.024097 -0.063840 - -0.047424 0.020780 -0.053852 - -0.044835 0.022842 -0.051585 - -0.056036 0.031885 -0.058004 - -0.056026 0.028383 -0.059952 - -0.052174 0.023409 -0.051272 - -0.050261 0.024868 -0.049158 - -0.062291 0.036190 -0.052455 - -0.063824 0.031495 -0.055419 - -0.055647 0.026085 -0.047031 - -0.052590 0.028232 -0.045302 - -0.070506 0.039350 -0.048152 - -0.070251 0.033787 -0.049803 - -0.058537 0.028135 -0.042335 - -0.054984 0.029696 -0.040438 - -0.074281 0.037552 -0.041572 - -0.075597 0.033301 -0.043023 - -0.060108 0.029528 -0.037283 - -0.057009 0.031198 -0.035558 - -0.065414 0.037731 -0.038180 - -0.069552 0.035169 -0.037376 - -0.060657 0.029453 -0.031962 - -0.058453 0.030863 -0.030237 - -0.063454 0.036326 -0.029955 - -0.065870 0.034382 -0.030352 - -0.062048 0.027990 -0.026835 - -0.058576 0.028437 -0.025692 - -0.065252 0.034142 -0.021842 - -0.068682 0.031140 -0.023463 - -0.065598 0.024910 -0.023417 - -0.060032 0.025927 -0.021103 - 0.019689 -0.047500 -0.042707 - 0.016543 -0.044262 -0.055465 - 0.019055 -0.043917 -0.055919 - 0.020802 -0.040417 -0.040700 - 0.021402 -0.041687 -0.040038 - 0.022632 -0.049129 -0.043701 - 0.010304 -0.040159 -0.066332 - 0.012481 -0.039403 -0.066968 - 0.017773 -0.035538 -0.050393 - 0.019048 -0.037033 -0.051417 - 0.013396 -0.032600 -0.061526 - 0.002692 -0.036421 -0.076289 - 0.004453 -0.035148 -0.076743 - 0.012508 -0.031930 -0.059511 - 0.006572 -0.028423 -0.070768 - 0.006469 -0.027898 -0.067850 - -0.007119 -0.032939 -0.084162 - -0.005904 -0.030970 -0.083976 - -0.002663 -0.025178 -0.077939 - -0.001645 -0.024470 -0.074297 - -0.018135 -0.029834 -0.090292 - -0.016813 -0.027009 -0.090501 - -0.012665 -0.021747 -0.083749 - -0.010634 -0.021311 -0.079577 - -0.028478 -0.024602 -0.095959 - -0.026993 -0.021431 -0.097035 - -0.022593 -0.016173 -0.087694 - -0.019979 -0.017123 -0.083127 - -0.038642 -0.017932 -0.099644 - -0.036609 -0.012708 -0.099354 - -0.032511 -0.009330 -0.088094 - -0.028797 -0.010777 -0.083961 - -0.047700 -0.009195 -0.095102 - -0.046146 -0.004479 -0.094158 - -0.041693 -0.002847 -0.085153 - -0.038138 -0.005493 -0.082189 - -0.056604 -0.001536 -0.088723 - -0.056136 0.002669 -0.088296 - -0.050851 0.004132 -0.080389 - -0.046605 0.000695 -0.078588 - -0.064809 0.006094 -0.081286 - -0.063806 0.010789 -0.080191 - -0.058103 0.010405 -0.073068 - -0.054304 0.006635 -0.073215 - -0.070252 0.012513 -0.070578 - -0.069589 0.017136 -0.069180 - -0.062940 0.016071 -0.062787 - -0.060438 0.011832 -0.065061 - -0.074328 0.016912 -0.058759 - -0.072758 0.022866 -0.056854 - -0.066645 0.021726 -0.052000 - -0.062814 0.015989 -0.053640 - -0.074770 0.017135 -0.045984 - -0.075774 0.023206 -0.044362 - -0.068811 0.022525 -0.041672 - -0.063650 0.017516 -0.044729 - -0.070395 0.012557 -0.034730 - -0.072368 0.014142 -0.037544 - -0.066884 0.016807 -0.033726 - -0.062735 0.016515 -0.034033 - -0.068638 0.009038 -0.023148 - -0.068305 0.012472 -0.024176 - -0.063610 0.012747 -0.022675 - -0.057918 0.014691 -0.024229 - 0.037845 -0.063051 -0.051357 - 0.038888 -0.071721 -0.053771 - 0.033149 -0.068016 -0.069315 - 0.034754 -0.061673 -0.050136 - 0.033126 -0.059166 -0.067047 - 0.034267 -0.071832 -0.053500 - 0.035802 -0.074709 -0.052819 - 0.031073 -0.071668 -0.069101 - 0.025321 -0.062274 -0.082865 - 0.022839 -0.066532 -0.082855 - 0.032232 -0.062954 -0.051324 - 0.033140 -0.058270 -0.065654 - 0.026498 -0.055290 -0.081758 - 0.030325 -0.069176 -0.069562 - 0.030034 -0.059428 -0.066151 - 0.022619 -0.063792 -0.083036 - 0.014765 -0.057356 -0.094670 - 0.012663 -0.060528 -0.094722 - 0.012403 -0.058512 -0.094560 - 0.026449 -0.053406 -0.078759 - 0.015772 -0.050064 -0.092777 - 0.023736 -0.054654 -0.079172 - 0.013627 -0.050734 -0.089270 - 0.002145 -0.054435 -0.104739 - 0.000281 -0.056882 -0.105113 - 0.000327 -0.054284 -0.104276 - 0.002070 -0.045792 -0.096976 - 0.017244 -0.047488 -0.089390 - 0.003276 -0.045466 -0.101663 - 0.005451 -0.043430 -0.097852 - -0.011323 -0.050081 -0.112563 - -0.013497 -0.052568 -0.112880 - -0.013296 -0.051538 -0.112054 - -0.010833 -0.042998 -0.102606 - -0.007897 -0.040595 -0.103851 - -0.010453 -0.041767 -0.108858 - -0.025457 -0.043299 -0.115850 - -0.028092 -0.046333 -0.115669 - -0.027959 -0.047159 -0.114650 - -0.024110 -0.038404 -0.105642 - -0.021414 -0.036682 -0.108538 - -0.024958 -0.037091 -0.112644 - -0.040484 -0.038468 -0.113609 - -0.042902 -0.040219 -0.113310 - -0.042733 -0.041958 -0.113621 - -0.037716 -0.034813 -0.104933 - -0.035207 -0.031507 -0.107481 - -0.039404 -0.031698 -0.110199 - -0.054486 -0.032105 -0.108765 - -0.056951 -0.033416 -0.108433 - -0.056291 -0.036138 -0.108107 - -0.050421 -0.028910 -0.101427 - -0.048476 -0.026446 -0.103166 - -0.053598 -0.026464 -0.105672 - -0.067042 -0.025324 -0.100931 - -0.068537 -0.025176 -0.099760 - -0.068513 -0.028729 -0.100885 - -0.061430 -0.021487 -0.095179 - -0.060479 -0.020156 -0.096681 - -0.065530 -0.019300 -0.097618 - -0.077248 -0.016678 -0.091353 - -0.080386 -0.018879 -0.090070 - -0.079160 -0.021161 -0.091380 - -0.071030 -0.014232 -0.086391 - -0.070418 -0.012333 -0.088250 - -0.075530 -0.012036 -0.087036 - -0.086481 -0.009525 -0.079507 - -0.088497 -0.011680 -0.076951 - -0.087517 -0.013003 -0.079690 - -0.078669 -0.008630 -0.074610 - -0.078491 -0.006171 -0.076491 - -0.084077 -0.004671 -0.075183 - -0.089832 -0.003225 -0.063985 - -0.091055 -0.005772 -0.060948 - -0.087732 -0.006945 -0.064334 - -0.082712 -0.004729 -0.060271 - -0.082424 -0.000615 -0.062394 - -0.086744 0.001313 -0.060342 - -0.088160 0.001676 -0.047545 - -0.088714 0.001436 -0.045627 - -0.084671 -0.005009 -0.048411 - -0.080542 -0.002008 -0.045398 - -0.081398 0.003836 -0.047150 - -0.085521 0.004622 -0.045807 - -0.081486 -0.000266 -0.035688 - -0.083533 -0.005292 -0.035063 - -0.078877 -0.007597 -0.032999 - -0.074694 -0.004646 -0.031484 - -0.075945 0.001637 -0.032905 - -0.079364 0.001613 -0.036080 - -0.074310 -0.005655 -0.021346 - -0.076753 -0.010562 -0.020176 - -0.071532 -0.013405 -0.019504 - -0.064422 -0.008905 -0.022270 - -0.068663 -0.003962 -0.020752 - -0.072964 -0.004120 -0.022142 - 0.054363 -0.113610 -0.081816 - 0.054766 -0.122197 -0.083080 - 0.044582 -0.116347 -0.097219 - 0.052867 -0.111481 -0.080227 - 0.044078 -0.108320 -0.095841 - 0.049590 -0.112289 -0.079356 - 0.049762 -0.122114 -0.081402 - 0.052022 -0.125715 -0.081547 - 0.042419 -0.119559 -0.096100 - 0.033793 -0.110688 -0.110940 - 0.031811 -0.113198 -0.109533 - 0.043317 -0.105529 -0.093976 - 0.033932 -0.102796 -0.109939 - 0.040925 -0.106408 -0.092937 - 0.041742 -0.115806 -0.095515 - 0.031107 -0.110043 -0.107781 - 0.019686 -0.105471 -0.120613 - 0.018444 -0.106940 -0.119686 - 0.018280 -0.104900 -0.117414 - 0.033697 -0.099914 -0.107684 - 0.020425 -0.098135 -0.120331 - 0.030916 -0.102259 -0.106108 - 0.018939 -0.096016 -0.116018 - 0.004401 -0.100805 -0.128422 - 0.003046 -0.102319 -0.127085 - 0.004126 -0.099199 -0.124164 - 0.004945 -0.091063 -0.122896 - 0.020909 -0.094096 -0.117685 - 0.005504 -0.093437 -0.128285 - 0.006223 -0.089217 -0.124766 - -0.011903 -0.095159 -0.131140 - -0.013421 -0.097198 -0.130084 - -0.011083 -0.093911 -0.127768 - -0.009983 -0.085689 -0.126315 - -0.009162 -0.085163 -0.129455 - -0.010949 -0.089296 -0.131649 - -0.028960 -0.091734 -0.130659 - -0.030031 -0.092008 -0.128952 - -0.026966 -0.089684 -0.127973 - -0.025514 -0.081311 -0.126843 - -0.025282 -0.080767 -0.129234 - -0.027088 -0.083422 -0.131519 - -0.044501 -0.084349 -0.126792 - -0.046331 -0.087202 -0.124840 - -0.042316 -0.084945 -0.124403 - -0.040735 -0.076729 -0.123885 - -0.041315 -0.076210 -0.127418 - -0.043088 -0.078015 -0.127953 - -0.059797 -0.081083 -0.120062 - -0.061431 -0.081447 -0.117846 - -0.056009 -0.079084 -0.117699 - -0.055301 -0.072198 -0.118184 - -0.056268 -0.070876 -0.121596 - -0.058621 -0.073171 -0.121837 - -0.074019 -0.074189 -0.112087 - -0.075928 -0.076613 -0.108725 - -0.069081 -0.073458 -0.108807 - -0.068400 -0.066054 -0.110285 - -0.070346 -0.066095 -0.113145 - -0.072726 -0.067847 -0.112817 - -0.087172 -0.070190 -0.100605 - -0.088414 -0.072066 -0.096638 - -0.081784 -0.068828 -0.098907 - -0.080556 -0.061305 -0.100035 - -0.083422 -0.061281 -0.103056 - -0.085754 -0.062753 -0.101976 - -0.097736 -0.064974 -0.086936 - -0.098039 -0.067723 -0.081709 - -0.090955 -0.063813 -0.085498 - -0.090722 -0.056813 -0.087411 - -0.092574 -0.057427 -0.088643 - -0.095835 -0.058422 -0.087577 - -0.102325 -0.060898 -0.069579 - -0.099190 -0.061496 -0.064594 - -0.095522 -0.060475 -0.068979 - -0.095216 -0.052632 -0.071230 - -0.099457 -0.054210 -0.072496 - -0.099414 -0.053633 -0.070407 - -0.100160 -0.054016 -0.052023 - -0.097723 -0.055288 -0.046870 - -0.093666 -0.056543 -0.051762 - -0.094072 -0.049211 -0.054180 - -0.097224 -0.048389 -0.055633 - -0.098326 -0.049092 -0.052222 - -0.093966 -0.049338 -0.037835 - -0.091040 -0.055082 -0.037116 - -0.086080 -0.055077 -0.036046 - -0.087978 -0.047479 -0.038108 - -0.090047 -0.045552 -0.039683 - -0.091618 -0.045412 -0.038343 - -0.081457 -0.050916 -0.022276 - -0.081551 -0.057621 -0.019781 - -0.076556 -0.058213 -0.022001 - -0.076569 -0.046303 -0.025658 - -0.079422 -0.045391 -0.025534 - -0.081194 -0.047340 -0.023415 - 0.061842 -0.142579 -0.094783 - 0.062904 -0.152962 -0.093248 - 0.050896 -0.150652 -0.108513 - 0.060406 -0.139559 -0.093436 - 0.051218 -0.139038 -0.109923 - 0.058867 -0.140089 -0.092520 - 0.058183 -0.151984 -0.089272 - 0.057569 -0.156741 -0.088042 - 0.048375 -0.154488 -0.104744 - 0.037085 -0.144492 -0.120089 - 0.036458 -0.148190 -0.117940 - 0.050706 -0.136379 -0.108219 - 0.036348 -0.133785 -0.118666 - 0.049790 -0.134708 -0.107802 - 0.047577 -0.148630 -0.104400 - 0.036994 -0.138984 -0.114180 - 0.021024 -0.140853 -0.128662 - 0.021005 -0.144041 -0.126898 - 0.022028 -0.133598 -0.122128 - 0.036651 -0.132278 -0.117089 - 0.021049 -0.130813 -0.127584 - 0.035063 -0.133645 -0.116368 - 0.019845 -0.129881 -0.123884 - 0.004647 -0.134324 -0.134456 - 0.005333 -0.136597 -0.132538 - 0.006856 -0.127401 -0.128729 - 0.004778 -0.123973 -0.129839 - 0.021954 -0.129163 -0.125124 - 0.005313 -0.124637 -0.133234 - 0.007049 -0.123603 -0.131024 - -0.011993 -0.127042 -0.137891 - -0.010509 -0.128409 -0.136381 - -0.008847 -0.120175 -0.131636 - -0.010864 -0.117533 -0.132202 - -0.008099 -0.116712 -0.133547 - -0.010503 -0.117057 -0.136184 - -0.028675 -0.119463 -0.136595 - -0.026861 -0.120877 -0.136047 - -0.024675 -0.112836 -0.130959 - -0.026062 -0.109292 -0.131299 - -0.023226 -0.109116 -0.133893 - -0.026470 -0.109132 -0.135473 - -0.044941 -0.111035 -0.133312 - -0.043211 -0.113928 -0.131867 - -0.040541 -0.106212 -0.127556 - -0.041206 -0.101702 -0.127447 - -0.038359 -0.102071 -0.130887 - -0.042523 -0.102216 -0.131993 - -0.061349 -0.106033 -0.126167 - -0.059520 -0.108654 -0.125635 - -0.056706 -0.103113 -0.121898 - -0.056332 -0.095525 -0.121475 - -0.053800 -0.096978 -0.126180 - -0.057971 -0.096254 -0.125168 - -0.076559 -0.099733 -0.116926 - -0.074652 -0.102772 -0.116703 - -0.071429 -0.098134 -0.113110 - -0.070760 -0.090737 -0.112629 - -0.067718 -0.091017 -0.117807 - -0.072917 -0.091150 -0.116460 - -0.090594 -0.095298 -0.104541 - -0.088271 -0.097200 -0.105029 - -0.085003 -0.092106 -0.102775 - -0.084154 -0.085325 -0.102239 - -0.081383 -0.086059 -0.108332 - -0.086633 -0.085669 -0.105814 - -0.101974 -0.091375 -0.089217 - -0.099868 -0.094497 -0.089854 - -0.096748 -0.089454 -0.089422 - -0.094254 -0.083594 -0.087310 - -0.091966 -0.081787 -0.095086 - -0.099082 -0.084671 -0.092332 - -0.103853 -0.085540 -0.070355 - -0.102470 -0.088122 -0.072115 - -0.100100 -0.084440 -0.071993 - -0.098762 -0.079377 -0.069720 - -0.097659 -0.077864 -0.078270 - -0.102511 -0.077680 -0.075261 - -0.101768 -0.077851 -0.051358 - -0.099713 -0.078608 -0.055145 - -0.097008 -0.078426 -0.053907 - -0.096785 -0.070974 -0.052898 - -0.096852 -0.070939 -0.060940 - -0.101504 -0.073042 -0.056091 - -0.093605 -0.075398 -0.039448 - -0.091864 -0.077172 -0.038561 - -0.090443 -0.076967 -0.036180 - -0.090248 -0.068124 -0.035472 - -0.093893 -0.065318 -0.043754 - -0.095455 -0.068335 -0.040093 - -0.085687 -0.075494 -0.020217 - -0.082341 -0.079324 -0.022121 - -0.079830 -0.075688 -0.021523 - -0.078966 -0.071987 -0.023150 - -0.086341 -0.066242 -0.028384 - -0.086676 -0.069942 -0.022827 - - - - - 0 1 2 - 3 4 0 - 0 2 5 - 3 0 5 - 4 1 0 - 4 6 1 - 6 2 1 - 2 7 8 - 6 9 2 - 2 8 5 - 9 7 2 - 10 3 5 - 11 12 3 - 3 10 11 - 12 4 3 - 12 13 4 - 13 6 4 - 10 5 8 - 13 14 6 - 14 9 6 - 9 15 7 - 15 8 7 - 15 10 8 - 14 16 9 - 16 15 9 - 17 11 10 - 17 10 15 - 18 19 11 - 18 11 17 - 19 12 11 - 19 20 12 - 20 13 12 - 20 21 13 - 21 14 13 - 21 22 14 - 22 16 14 - 16 17 15 - 22 23 16 - 23 17 16 - 23 18 17 - 24 25 18 - 24 18 23 - 25 19 18 - 25 26 19 - 26 20 19 - 26 27 20 - 27 21 20 - 27 28 21 - 28 22 21 - 28 29 22 - 29 23 22 - 29 24 23 - 30 31 24 - 30 24 29 - 31 25 24 - 31 32 25 - 32 26 25 - 32 33 26 - 33 27 26 - 33 34 27 - 34 28 27 - 34 35 28 - 35 29 28 - 35 30 29 - 36 37 30 - 37 31 30 - 36 30 35 - 37 38 31 - 38 32 31 - 38 39 32 - 39 33 32 - 39 40 33 - 40 34 33 - 40 41 34 - 41 35 34 - 41 36 35 - 42 43 36 - 42 36 41 - 43 37 36 - 43 44 37 - 38 37 44 - 44 45 38 - 45 39 38 - 45 46 39 - 46 40 39 - 46 47 40 - 47 41 40 - 47 42 41 - 48 49 42 - 48 42 47 - 49 43 42 - 49 50 43 - 50 44 43 - 50 51 44 - 51 45 44 - 51 52 45 - 52 46 45 - 52 53 46 - 53 47 46 - 53 48 47 - 54 55 48 - 54 48 53 - 55 49 48 - 56 49 55 - 56 50 49 - 56 57 50 - 57 51 50 - 57 58 51 - 58 52 51 - 58 59 52 - 59 53 52 - 59 54 53 - 60 61 54 - 60 54 59 - 61 55 54 - 61 62 55 - 56 55 62 - 62 63 56 - 63 57 56 - 63 64 57 - 64 58 57 - 64 65 58 - 65 59 58 - 65 60 59 - 66 67 60 - 66 60 65 - 67 61 60 - 67 68 61 - 68 62 61 - 68 69 62 - 63 62 69 - 69 70 63 - 70 64 63 - 70 71 64 - 71 65 64 - 71 66 65 - 72 73 66 - 73 67 66 - 72 66 71 - 73 74 67 - 74 68 67 - 74 75 68 - 75 69 68 - 75 76 69 - 76 70 69 - 76 77 70 - 77 71 70 - 77 72 71 - 78 79 72 - 78 72 77 - 79 73 72 - 79 80 73 - 80 74 73 - 80 81 74 - 81 75 74 - 81 82 75 - 82 76 75 - 82 83 76 - 83 77 76 - 83 78 77 - 84 85 78 - 84 78 83 - 85 79 78 - 85 86 79 - 86 80 79 - 86 87 80 - 87 81 80 - 87 88 81 - 88 82 81 - 88 89 82 - 89 83 82 - 89 84 83 - 90 91 84 - 90 84 89 - 91 85 84 - 91 92 85 - 92 86 85 - 92 93 86 - 93 87 86 - 93 94 87 - 94 88 87 - 94 95 88 - 95 89 88 - 95 90 89 - 90 95 94 - 91 90 94 - 91 93 92 - 91 94 93 - 96 97 98 - 97 96 99 - 96 100 101 - 96 98 100 - 96 101 99 - 98 97 102 - 97 99 102 - 98 103 100 - 103 98 104 - 98 102 104 - 102 99 105 - 99 101 106 - 99 106 105 - 103 107 100 - 100 107 108 - 100 108 101 - 101 108 109 - 101 109 106 - 104 102 110 - 102 105 110 - 107 103 111 - 103 104 111 - 111 104 112 - 104 110 112 - 110 105 113 - 105 106 114 - 105 114 113 - 106 109 115 - 106 115 114 - 107 111 108 - 108 111 116 - 108 116 109 - 109 116 117 - 109 117 115 - 112 110 118 - 110 113 118 - 111 112 116 - 116 112 119 - 112 118 119 - 118 113 120 - 113 114 121 - 113 121 120 - 114 115 122 - 114 122 121 - 115 117 123 - 115 123 122 - 116 119 117 - 117 119 124 - 117 124 123 - 119 118 125 - 118 120 125 - 119 125 124 - 125 120 126 - 120 121 127 - 120 127 126 - 121 122 128 - 128 127 121 - 122 123 129 - 122 129 128 - 123 124 130 - 123 130 129 - 124 125 131 - 124 131 130 - 125 126 131 - 131 126 132 - 126 127 133 - 126 133 132 - 127 128 134 - 127 134 133 - 128 129 135 - 128 135 134 - 129 130 136 - 129 136 135 - 130 131 137 - 130 137 136 - 131 132 137 - 137 132 138 - 132 133 139 - 132 139 138 - 133 134 140 - 133 140 139 - 134 135 141 - 134 141 140 - 135 136 142 - 135 142 141 - 136 137 143 - 136 143 142 - 137 138 143 - 143 138 144 - 138 139 145 - 138 145 144 - 140 146 139 - 139 146 145 - 140 141 147 - 140 147 146 - 141 142 148 - 141 148 147 - 143 149 142 - 142 149 148 - 143 144 149 - 149 144 150 - 144 145 151 - 144 151 150 - 145 146 152 - 145 152 151 - 146 147 153 - 146 153 152 - 147 148 154 - 147 154 153 - 149 155 148 - 148 155 154 - 149 150 155 - 155 150 156 - 150 151 157 - 150 157 156 - 151 152 158 - 151 158 157 - 152 153 159 - 152 159 158 - 153 154 160 - 153 160 159 - 154 155 161 - 154 161 160 - 155 156 161 - 161 156 162 - 156 157 163 - 156 163 162 - 157 158 164 - 157 164 163 - 158 159 165 - 158 165 164 - 159 160 166 - 159 166 165 - 160 161 167 - 160 167 166 - 161 162 167 - 167 162 168 - 162 163 169 - 162 169 168 - 163 164 170 - 163 170 169 - 164 165 171 - 164 171 170 - 165 166 172 - 165 172 171 - 166 167 173 - 166 173 172 - 167 168 173 - 173 168 174 - 168 169 175 - 168 175 174 - 169 170 176 - 169 176 175 - 170 171 177 - 170 177 176 - 171 172 178 - 171 178 177 - 172 173 179 - 172 179 178 - 173 174 179 - 179 174 180 - 174 175 181 - 174 181 180 - 175 176 182 - 175 182 181 - 176 177 183 - 176 183 182 - 177 178 184 - 177 184 183 - 178 179 185 - 178 185 184 - 179 180 185 - 186 180 181 - 187 180 186 - 188 185 180 - 187 188 180 - 181 182 189 - 181 189 190 - 190 186 181 - 182 183 191 - 182 191 189 - 183 184 192 - 183 192 191 - 184 185 188 - 184 188 192 - 187 186 190 - 188 187 192 - 192 187 190 - 192 190 189 - 192 189 191 - 193 194 195 - 193 195 196 - 197 194 193 - 197 193 198 - 198 193 196 - 199 200 194 - 199 194 197 - 200 201 194 - 195 194 201 - 196 195 201 - 201 202 196 - 198 196 202 - 203 199 197 - 203 197 204 - 204 197 198 - 205 204 198 - 205 198 202 - 206 207 199 - 206 199 203 - 207 200 199 - 207 208 200 - 208 209 200 - 200 209 201 - 209 210 201 - 201 210 202 - 210 205 202 - 211 206 203 - 211 203 212 - 212 203 204 - 212 204 205 - 213 212 205 - 213 205 210 - 214 215 206 - 214 206 211 - 215 207 206 - 215 216 207 - 216 208 207 - 216 217 208 - 217 218 208 - 208 218 209 - 218 213 209 - 209 213 210 - 219 214 211 - 219 211 220 - 220 211 212 - 220 212 213 - 218 220 213 - 221 222 214 - 221 214 219 - 222 215 214 - 222 223 215 - 223 216 215 - 223 224 216 - 224 217 216 - 224 225 217 - 225 226 217 - 217 226 218 - 226 220 218 - 227 221 219 - 227 219 226 - 226 219 220 - 228 229 221 - 228 221 227 - 229 222 221 - 229 230 222 - 230 223 222 - 230 231 223 - 231 224 223 - 231 232 224 - 232 225 224 - 232 233 225 - 233 227 225 - 227 226 225 - 228 227 233 - 234 235 228 - 235 229 228 - 234 228 233 - 235 236 229 - 236 230 229 - 236 237 230 - 237 231 230 - 237 238 231 - 238 232 231 - 238 239 232 - 239 233 232 - 239 234 233 - 240 241 234 - 240 234 239 - 241 235 234 - 241 242 235 - 242 236 235 - 242 243 236 - 243 237 236 - 243 244 237 - 244 238 237 - 244 245 238 - 245 239 238 - 245 240 239 - 246 247 240 - 246 240 245 - 247 241 240 - 247 248 241 - 248 242 241 - 248 249 242 - 249 243 242 - 249 250 243 - 250 244 243 - 250 251 244 - 251 245 244 - 251 246 245 - 252 253 246 - 252 246 251 - 253 247 246 - 253 254 247 - 254 248 247 - 254 255 248 - 255 249 248 - 255 256 249 - 256 250 249 - 256 257 250 - 257 251 250 - 257 252 251 - 258 259 252 - 258 252 257 - 259 253 252 - 259 260 253 - 260 254 253 - 260 261 254 - 261 255 254 - 261 262 255 - 262 256 255 - 262 263 256 - 263 257 256 - 263 258 257 - 264 265 258 - 258 263 264 - 265 259 258 - 265 266 259 - 266 260 259 - 266 267 260 - 267 261 260 - 267 268 261 - 268 262 261 - 268 269 262 - 269 263 262 - 269 264 263 - 270 271 264 - 271 265 264 - 270 264 269 - 271 272 265 - 272 266 265 - 272 273 266 - 273 267 266 - 273 274 267 - 274 268 267 - 274 275 268 - 275 269 268 - 275 270 269 - 276 277 270 - 277 271 270 - 276 270 275 - 277 278 271 - 278 272 271 - 278 279 272 - 279 273 272 - 279 280 273 - 280 274 273 - 280 281 274 - 281 275 274 - 281 276 275 - 282 283 276 - 282 276 281 - 283 277 276 - 283 284 277 - 284 278 277 - 284 285 278 - 285 279 278 - 285 286 279 - 286 280 279 - 286 287 280 - 287 281 280 - 287 282 281 - 284 282 285 - 284 283 282 - 282 287 286 - 286 285 282 - 288 289 290 - 291 292 288 - 288 290 293 - 291 288 293 - 292 289 288 - 289 294 295 - 292 296 289 - 289 295 290 - 296 294 289 - 297 298 290 - 293 290 298 - 297 290 295 - 291 298 299 - 293 298 291 - 291 299 300 - 300 292 291 - 300 301 292 - 301 296 292 - 296 302 294 - 302 295 294 - 302 297 295 - 301 303 296 - 303 302 296 - 304 305 297 - 305 298 297 - 304 297 302 - 305 299 298 - 306 307 299 - 300 299 307 - 306 299 305 - 300 307 308 - 308 301 300 - 308 309 301 - 309 303 301 - 303 304 302 - 309 310 303 - 310 304 303 - 310 311 304 - 311 305 304 - 311 306 305 - 312 313 306 - 313 307 306 - 312 306 311 - 313 314 307 - 308 307 314 - 308 314 315 - 315 309 308 - 315 316 309 - 316 310 309 - 316 317 310 - 317 311 310 - 317 312 311 - 318 319 312 - 318 312 317 - 319 313 312 - 319 320 313 - 320 314 313 - 320 321 314 - 315 314 321 - 315 321 322 - 322 316 315 - 322 323 316 - 323 317 316 - 323 318 317 - 324 325 318 - 324 318 323 - 325 319 318 - 325 326 319 - 326 320 319 - 326 327 320 - 327 321 320 - 327 328 321 - 322 321 328 - 322 328 329 - 329 323 322 - 329 324 323 - 330 331 324 - 330 324 329 - 331 325 324 - 331 332 325 - 332 326 325 - 332 333 326 - 333 327 326 - 333 334 327 - 334 328 327 - 334 335 328 - 329 328 335 - 329 335 330 - 330 335 336 - 330 336 337 - 337 331 330 - 337 338 331 - 338 332 331 - 338 339 332 - 339 333 332 - 339 340 333 - 340 334 333 - 340 341 334 - 341 335 334 - 341 336 335 - 342 343 336 - 337 336 343 - 342 336 341 - 337 343 344 - 344 338 337 - 344 345 338 - 345 339 338 - 345 346 339 - 346 340 339 - 346 347 340 - 347 341 340 - 347 342 341 - 348 349 342 - 349 343 342 - 348 342 347 - 349 350 343 - 344 343 350 - 344 350 351 - 351 345 344 - 351 352 345 - 352 346 345 - 352 353 346 - 353 347 346 - 348 347 353 - 354 348 355 - 355 348 353 - 354 349 348 - 354 356 349 - 356 350 349 - 356 357 350 - 350 357 351 - 351 357 358 - 358 352 351 - 358 359 352 - 359 353 352 - 359 355 353 - 360 354 355 - 360 361 354 - 361 356 354 - 362 360 355 - 362 355 359 - 361 363 356 - 363 357 356 - 363 364 357 - 358 357 364 - 358 364 365 - 365 359 358 - 365 362 359 - 366 360 362 - 366 367 360 - 367 361 360 - 367 368 361 - 368 363 361 - 369 366 362 - 369 362 365 - 368 370 363 - 370 364 363 - 370 371 364 - 365 364 371 - 365 371 369 - 372 366 369 - 372 367 366 - 372 373 367 - 373 368 367 - 373 374 368 - 374 370 368 - 369 371 375 - 369 375 372 - 374 376 370 - 376 371 370 - 376 375 371 - 372 375 377 - 377 373 372 - 378 374 373 - 378 373 377 - 376 374 378 - 379 380 375 - 375 380 377 - 379 375 376 - 378 379 376 - 378 377 379 - 377 380 379 - 381 382 383 - 384 385 381 - 385 382 381 - 386 381 383 - 387 384 381 - 387 381 386 - 382 388 383 - 389 388 382 - 389 382 390 - 390 382 385 - 383 388 391 - 392 383 391 - 386 383 392 - 384 393 394 - 385 384 394 - 395 393 384 - 395 384 387 - 390 385 396 - 396 385 394 - 392 397 386 - 386 397 398 - 386 398 387 - 387 398 399 - 387 399 395 - 388 400 391 - 401 400 388 - 401 388 389 - 402 401 389 - 402 389 403 - 403 389 390 - 403 390 397 - 397 390 396 - 391 400 404 - 405 391 404 - 392 391 405 - 405 403 392 - 392 403 397 - 406 394 393 - 407 406 393 - 408 407 393 - 408 393 395 - 396 394 409 - 409 394 406 - 395 399 410 - 395 410 408 - 397 396 398 - 398 396 409 - 398 409 399 - 399 409 411 - 399 411 410 - 400 412 404 - 413 412 400 - 413 400 401 - 414 413 401 - 414 401 402 - 415 414 402 - 415 402 405 - 405 402 403 - 416 417 404 - 416 404 412 - 415 404 417 - 405 404 415 - 418 406 407 - 409 406 411 - 411 406 418 - 419 418 407 - 420 419 407 - 420 407 408 - 408 410 421 - 408 421 420 - 410 411 422 - 410 422 421 - 411 418 422 - 423 416 412 - 423 412 413 - 424 423 413 - 424 413 414 - 425 424 414 - 425 414 415 - 415 417 425 - 426 427 416 - 426 416 423 - 416 427 428 - 417 416 428 - 425 417 428 - 422 418 429 - 418 419 429 - 419 430 429 - 431 430 419 - 431 419 420 - 420 421 432 - 420 432 431 - 421 422 429 - 421 429 432 - 433 426 423 - 433 423 424 - 434 433 424 - 434 424 425 - 425 428 434 - 435 436 426 - 436 427 426 - 435 426 433 - 436 437 427 - 427 437 428 - 434 428 438 - 437 438 428 - 432 429 439 - 440 439 429 - 440 429 430 - 441 440 430 - 441 430 431 - 431 432 442 - 431 442 441 - 432 439 442 - 443 435 433 - 443 433 434 - 434 438 443 - 444 445 435 - 445 436 435 - 444 435 443 - 445 446 436 - 446 437 436 - 446 447 437 - 438 437 447 - 443 438 448 - 448 438 447 - 442 439 449 - 450 449 439 - 450 439 440 - 451 450 440 - 451 440 441 - 441 442 452 - 441 452 451 - 442 449 452 - 443 448 444 - 453 445 444 - 444 454 453 - 444 448 454 - 453 455 445 - 455 446 445 - 455 456 446 - 456 447 446 - 456 457 447 - 447 457 448 - 457 454 448 - 450 452 449 - 450 451 452 - 453 456 455 - 453 454 456 - 454 457 456 - 458 459 460 - 461 462 458 - 461 458 463 - 462 464 458 - 463 458 460 - 458 464 459 - 459 465 460 - 464 466 459 - 459 466 467 - 459 467 465 - 465 468 460 - 463 460 469 - 470 469 460 - 460 471 472 - 460 472 470 - 460 468 473 - 473 471 460 - 474 475 461 - 475 462 461 - 474 461 476 - 476 461 463 - 477 462 475 - 477 478 462 - 462 478 464 - 476 463 479 - 479 463 469 - 478 480 464 - 464 480 466 - 468 465 481 - 465 467 482 - 465 482 481 - 480 472 466 - 466 472 471 - 466 471 467 - 467 471 483 - 467 483 482 - 482 473 468 - 482 468 481 - 479 469 470 - 470 472 484 - 470 484 479 - 473 483 471 - 480 484 472 - 482 483 473 - 485 486 474 - 474 486 487 - 487 475 474 - 485 474 476 - 488 477 475 - 488 475 489 - 487 489 475 - 476 490 485 - 479 490 476 - 488 491 477 - 477 491 478 - 491 492 478 - 478 492 480 - 479 484 490 - 492 484 480 - 492 490 484 - 493 486 485 - 493 485 494 - 494 485 490 - 495 496 486 - 495 486 493 - 487 486 496 - 487 496 497 - 497 489 487 - 498 488 489 - 499 488 498 - 488 499 491 - 500 498 489 - 497 500 489 - 494 490 492 - 499 494 491 - 491 494 492 - 501 495 493 - 501 493 499 - 499 493 494 - 502 503 495 - 502 495 501 - 503 496 495 - 503 504 496 - 497 496 504 - 497 504 505 - 505 500 497 - 506 507 498 - 506 498 500 - 507 501 498 - 498 501 499 - 505 506 500 - 507 502 501 - 508 509 502 - 508 502 507 - 509 503 502 - 509 510 503 - 510 504 503 - 510 511 504 - 505 504 511 - 505 511 512 - 512 506 505 - 512 513 506 - 513 507 506 - 513 508 507 - 514 515 508 - 514 508 513 - 515 509 508 - 515 516 509 - 516 510 509 - 516 517 510 - 517 511 510 - 517 518 511 - 512 511 518 - 512 518 519 - 519 513 512 - 519 514 513 - 520 521 514 - 521 515 514 - 520 514 519 - 521 522 515 - 522 516 515 - 522 523 516 - 523 517 516 - 523 524 517 - 524 518 517 - 524 525 518 - 519 518 525 - 519 525 520 - 520 526 527 - 527 521 520 - 520 525 526 - 527 528 521 - 528 522 521 - 528 529 522 - 529 523 522 - 529 530 523 - 530 524 523 - 530 531 524 - 531 525 524 - 531 526 525 - 532 533 526 - 527 526 533 - 532 526 531 - 527 533 534 - 534 528 527 - 534 535 528 - 535 529 528 - 535 536 529 - 536 530 529 - 536 537 530 - 537 531 530 - 537 532 531 - 538 539 532 - 538 532 537 - 539 533 532 - 539 540 533 - 534 533 540 - 534 540 541 - 541 535 534 - 541 542 535 - 542 536 535 - 542 543 536 - 543 537 536 - 543 538 537 - 544 545 538 - 544 538 543 - 545 539 538 - 545 546 539 - 546 540 539 - 546 547 540 - 541 540 547 - 541 547 548 - 548 542 541 - 548 549 542 - 549 543 542 - 549 544 543 - 548 547 544 - 548 544 549 - 547 545 544 - 547 546 545 - 550 551 552 - 553 554 550 - 554 551 550 - 553 550 552 - 551 555 552 - 551 556 555 - 554 557 551 - 557 556 551 - 552 555 558 - 552 558 553 - 553 558 559 - 560 554 553 - 553 559 560 - 560 561 554 - 561 557 554 - 555 556 558 - 557 562 556 - 556 562 558 - 561 563 557 - 563 562 557 - 559 558 562 - 560 559 564 - 559 565 564 - 565 559 562 - 566 561 560 - 560 564 566 - 566 567 561 - 567 563 561 - 563 565 562 - 567 568 563 - 568 565 563 - 566 564 569 - 565 570 564 - 569 564 570 - 568 570 565 - 571 567 566 - 566 569 571 - 572 568 567 - 571 572 567 - 572 573 568 - 573 570 568 - 571 569 574 - 575 569 570 - 569 575 574 - 573 575 570 - 576 572 571 - 571 574 576 - 577 573 572 - 576 577 572 - 577 578 573 - 578 575 573 - 576 574 579 - 575 580 574 - 579 574 580 - 578 580 575 - 581 577 576 - 576 579 581 - 582 578 577 - 581 582 577 - 582 583 578 - 583 580 578 - 581 579 584 - 585 584 579 - 586 585 579 - 586 579 580 - 583 586 580 - 587 582 581 - 581 584 587 - 588 583 582 - 587 588 582 - 588 589 583 - 589 586 583 - 587 584 590 - 585 591 584 - 591 590 584 - 589 585 586 - 592 585 589 - 592 591 585 - 593 588 587 - 587 590 593 - 594 589 588 - 593 594 588 - 594 592 589 - 593 590 595 - 596 595 590 - 591 596 590 - 597 591 592 - 597 596 591 - 598 597 592 - 598 592 594 - 599 594 593 - 593 595 599 - 599 598 594 - 599 595 600 - 601 600 595 - 596 601 595 - 602 596 597 - 602 601 596 - 603 602 597 - 603 597 598 - 604 603 598 - 604 598 599 - 599 600 604 - 604 600 605 - 606 607 600 - 605 600 607 - 601 606 600 - 608 601 602 - 608 606 601 - 609 608 602 - 609 602 603 - 610 609 603 - 610 603 604 - 604 605 610 - 610 605 611 - 611 605 607 - 612 606 608 - 612 607 606 - 613 607 612 - 613 614 607 - 607 614 611 - 615 612 608 - 615 608 609 - 616 615 609 - 616 609 610 - 610 611 616 - 616 611 617 - 614 617 611 - 618 613 612 - 618 612 615 - 619 620 613 - 620 614 613 - 619 613 618 - 620 621 614 - 614 621 617 - 622 618 615 - 622 615 616 - 616 617 622 - 622 617 623 - 621 623 617 - 624 619 618 - 624 618 622 - 625 620 619 - 626 625 619 - 626 619 624 - 625 627 620 - 627 621 620 - 627 628 621 - 628 629 621 - 629 623 621 - 622 623 624 - 629 630 623 - 630 624 623 - 624 630 626 - 629 625 626 - 629 627 625 - 630 629 626 - 627 629 628 - 631 632 633 - 634 635 631 - 634 631 636 - 635 637 631 - 636 631 633 - 631 637 632 - 632 638 639 - 637 638 632 - 632 639 640 - 633 632 640 - 633 640 641 - 642 633 641 - 636 633 642 - 643 644 634 - 643 634 645 - 644 635 634 - 645 634 636 - 644 646 635 - 646 647 635 - 635 647 637 - 645 636 648 - 648 636 642 - 647 649 637 - 637 649 638 - 638 650 639 - 638 651 650 - 649 651 638 - 639 652 653 - 639 650 652 - 640 639 653 - 640 653 654 - 641 640 654 - 642 641 655 - 641 654 656 - 655 641 656 - 657 642 655 - 648 642 657 - 658 659 643 - 658 643 660 - 659 644 643 - 660 643 645 - 659 661 644 - 661 646 644 - 660 645 662 - 662 645 648 - 661 663 646 - 663 664 646 - 646 664 647 - 664 665 647 - 647 665 649 - 662 648 649 - 649 648 657 - 665 662 649 - 649 657 651 - 651 666 650 - 650 667 652 - 650 666 667 - 651 657 666 - 656 652 667 - 656 653 652 - 656 654 653 - 657 655 666 - 655 656 668 - 666 655 668 - 656 667 668 - 669 670 658 - 669 658 671 - 670 659 658 - 671 658 660 - 670 672 659 - 672 661 659 - 671 660 673 - 673 660 662 - 672 674 661 - 674 663 661 - 673 662 665 - 674 675 663 - 675 676 663 - 663 676 664 - 676 673 664 - 664 673 665 - 666 668 667 - 677 678 669 - 678 670 669 - 677 669 679 - 679 669 671 - 678 680 670 - 680 672 670 - 679 671 676 - 676 671 673 - 680 681 672 - 681 674 672 - 681 682 674 - 682 675 674 - 682 683 675 - 683 679 675 - 675 679 676 - 684 685 677 - 684 677 683 - 685 678 677 - 683 677 679 - 685 686 678 - 686 680 678 - 686 687 680 - 687 681 680 - 687 688 681 - 688 682 681 - 688 689 682 - 689 683 682 - 689 684 683 - 690 691 684 - 690 684 689 - 691 685 684 - 691 692 685 - 692 686 685 - 692 693 686 - 693 687 686 - 693 694 687 - 694 688 687 - 694 695 688 - 695 689 688 - 695 690 689 - 696 697 690 - 696 690 695 - 697 691 690 - 697 698 691 - 698 692 691 - 698 699 692 - 699 693 692 - 699 700 693 - 700 694 693 - 700 701 694 - 701 695 694 - 701 696 695 - 702 703 696 - 702 696 701 - 703 697 696 - 703 704 697 - 704 698 697 - 704 705 698 - 705 699 698 - 705 706 699 - 706 700 699 - 706 707 700 - 707 701 700 - 707 702 701 - 708 709 702 - 708 702 707 - 709 703 702 - 709 710 703 - 710 704 703 - 710 711 704 - 711 705 704 - 712 705 711 - 712 706 705 - 712 713 706 - 713 707 706 - 713 708 707 - 714 715 708 - 715 709 708 - 714 708 713 - 715 716 709 - 716 710 709 - 716 717 710 - 717 711 710 - 717 718 711 - 712 711 718 - 718 719 712 - 719 713 712 - 719 714 713 - 720 721 714 - 721 715 714 - 720 714 719 - 721 722 715 - 722 716 715 - 722 723 716 - 723 717 716 - 723 724 717 - 724 718 717 - 724 725 718 - 725 719 718 - 725 720 719 - 725 721 720 - 721 725 724 - 721 724 723 - 721 723 722 - 726 727 728 - 726 728 729 - 727 726 730 - 730 726 731 - 726 732 731 - 726 729 732 - 728 727 733 - 727 734 733 - 727 730 734 - 729 728 735 - 728 733 735 - 729 735 732 - 730 731 734 - 734 731 736 - 731 737 736 - 731 732 737 - 732 738 737 - 732 735 738 - 735 733 739 - 733 740 739 - 733 734 740 - 734 736 740 - 735 739 738 - 740 736 741 - 736 742 741 - 736 737 742 - 737 743 742 - 737 738 743 - 738 744 743 - 738 739 744 - 739 740 745 - 739 745 744 - 740 741 745 - 745 741 746 - 741 747 746 - 741 742 747 - 742 748 747 - 742 743 748 - 743 749 748 - 743 744 749 - 744 750 749 - 744 745 750 - 745 746 750 - 746 747 751 - 746 751 752 - 750 746 752 - 747 753 751 - 747 748 753 - 748 754 753 - 748 749 754 - 749 755 754 - 749 750 755 - 750 752 755 - 751 753 756 - 751 756 757 - 752 751 757 - 755 752 758 - 752 757 758 - 753 759 756 - 753 754 759 - 754 760 759 - 754 755 760 - 755 758 760 - 756 759 761 - 756 761 762 - 757 756 762 - 758 757 763 - 757 762 763 - 760 758 764 - 758 763 764 - 759 765 761 - 759 760 765 - 760 764 765 - 761 765 766 - 761 766 767 - 762 761 767 - 762 767 768 - 763 762 768 - 764 763 769 - 763 768 769 - 765 764 770 - 764 769 770 - 765 770 766 - 766 770 771 - 766 771 772 - 767 766 772 - 767 772 773 - 768 767 773 - 769 768 774 - 768 773 774 - 770 769 775 - 769 774 775 - 775 771 770 - 771 775 772 - 775 773 772 - 775 774 773 - 776 777 778 - 779 776 780 - 781 782 776 - 776 778 780 - 782 777 776 - 781 776 779 - 782 783 777 - 777 784 785 - 777 785 778 - 783 784 777 - 778 785 786 - 778 786 780 - 784 779 786 - 787 781 779 - 787 779 784 - 779 780 786 - 788 789 781 - 788 781 787 - 789 782 781 - 789 790 782 - 790 783 782 - 790 791 783 - 783 787 784 - 791 787 783 - 784 786 785 - 791 788 787 - 792 793 788 - 792 788 791 - 793 789 788 - 793 794 789 - 794 790 789 - 794 795 790 - 795 791 790 - 795 792 791 - 796 797 792 - 796 792 795 - 797 793 792 - 797 798 793 - 798 794 793 - 798 799 794 - 799 795 794 - 799 796 795 - 800 801 796 - 801 797 796 - 800 796 799 - 801 802 797 - 802 798 797 - 802 803 798 - 803 799 798 - 803 800 799 - 804 805 800 - 804 800 803 - 805 801 800 - 805 806 801 - 806 802 801 - 806 807 802 - 807 803 802 - 807 804 803 - 808 809 804 - 808 804 807 - 809 805 804 - 809 810 805 - 810 806 805 - 810 811 806 - 811 807 806 - 811 808 807 - 812 813 808 - 812 808 811 - 813 809 808 - 813 814 809 - 814 810 809 - 814 815 810 - 815 811 810 - 815 812 811 - 816 817 812 - 817 813 812 - 816 812 815 - 817 818 813 - 818 814 813 - 818 819 814 - 819 815 814 - 819 816 815 - 820 821 816 - 820 816 819 - 821 817 816 - 821 822 817 - 822 818 817 - 822 823 818 - 823 819 818 - 823 820 819 - 824 825 820 - 824 820 823 - 825 821 820 - 825 826 821 - 826 822 821 - 826 827 822 - 827 823 822 - 827 824 823 - 828 829 824 - 824 827 828 - 829 825 824 - 829 830 825 - 830 826 825 - 830 831 826 - 831 827 826 - 831 828 827 - 832 833 828 - 833 829 828 - 832 828 831 - 833 834 829 - 834 830 829 - 834 835 830 - 835 831 830 - 835 832 831 - 836 837 832 - 836 832 835 - 837 833 832 - 837 838 833 - 838 834 833 - 838 839 834 - 839 835 834 - 839 836 835 - 836 839 838 - 836 838 837 - 840 841 842 - 843 840 844 - 845 846 840 - 844 840 842 - 840 846 841 - 843 845 840 - 846 847 841 - 842 841 847 - 844 842 848 - 842 847 848 - 849 843 850 - 851 845 843 - 850 843 844 - 849 851 843 - 850 844 852 - 852 844 848 - 853 854 845 - 845 854 846 - 851 853 845 - 854 852 846 - 846 852 847 - 852 848 847 - 855 849 856 - 857 851 849 - 856 849 850 - 855 857 849 - 856 850 854 - 854 850 852 - 858 853 851 - 857 858 851 - 859 856 853 - 853 856 854 - 858 859 853 - 860 855 859 - 861 857 855 - 859 855 856 - 860 861 855 - 862 858 857 - 861 862 857 - 863 859 858 - 862 863 858 - 863 860 859 - 864 860 863 - 865 861 860 - 864 865 860 - 866 862 861 - 865 866 861 - 867 863 862 - 866 867 862 - 867 864 863 - 868 864 867 - 869 865 864 - 868 869 864 - 870 866 865 - 869 870 865 - 871 867 866 - 870 871 866 - 871 868 867 - 872 868 871 - 873 869 868 - 872 873 868 - 874 870 869 - 873 874 869 - 875 871 870 - 874 875 870 - 875 872 871 - 876 872 875 - 877 873 872 - 876 877 872 - 878 874 873 - 877 878 873 - 879 875 874 - 878 879 874 - 879 876 875 - 880 876 879 - 881 877 876 - 880 881 876 - 882 878 877 - 881 882 877 - 883 879 878 - 882 883 878 - 883 880 879 - 884 880 883 - 885 881 880 - 884 885 880 - 886 882 881 - 885 886 881 - 887 883 882 - 886 887 882 - 887 884 883 - 888 884 887 - 889 885 884 - 888 889 884 - 890 886 885 - 889 890 885 - 891 887 886 - 890 891 886 - 891 888 887 - 892 888 891 - 893 889 888 - 892 893 888 - 894 890 889 - 893 894 889 - 895 891 890 - 894 895 890 - 895 892 891 - 896 892 895 - 897 893 892 - 896 897 892 - 898 894 893 - 897 898 893 - 899 895 894 - 898 899 894 - 899 896 895 - 900 896 899 - 901 897 896 - 900 901 896 - 902 897 901 - 897 902 898 - 902 903 898 - 904 899 898 - 903 904 898 - 904 900 899 - 900 904 903 - 901 900 903 - 903 902 901 - 905 906 907 - 908 905 909 - 910 911 905 - 905 907 909 - 911 906 905 - 910 905 908 - 911 912 906 - 906 913 914 - 906 914 907 - 912 913 906 - 907 914 915 - 916 909 907 - 916 907 915 - 917 908 918 - 919 910 908 - 919 908 917 - 908 909 918 - 916 918 909 - 920 921 910 - 920 910 919 - 921 911 910 - 921 922 911 - 922 912 911 - 922 923 912 - 912 924 913 - 923 924 912 - 913 925 915 - 913 915 914 - 924 925 913 - 925 916 915 - 925 917 916 - 917 918 916 - 926 919 917 - 926 917 925 - 927 920 919 - 927 919 926 - 928 929 920 - 928 920 927 - 929 921 920 - 929 930 921 - 930 922 921 - 930 931 922 - 931 923 922 - 931 932 923 - 923 933 924 - 932 933 923 - 924 926 925 - 933 926 924 - 933 927 926 - 934 928 927 - 934 927 933 - 935 936 928 - 935 928 934 - 936 929 928 - 936 937 929 - 937 930 929 - 937 938 930 - 938 931 930 - 938 939 931 - 939 932 931 - 939 940 932 - 932 934 933 - 940 934 932 - 940 935 934 - 941 942 935 - 941 935 940 - 936 935 942 - 942 943 936 - 943 937 936 - 943 944 937 - 944 938 937 - 944 945 938 - 945 939 938 - 945 946 939 - 946 940 939 - 946 941 940 - 947 948 941 - 947 941 946 - 948 942 941 - 948 949 942 - 949 943 942 - 949 950 943 - 950 944 943 - 950 951 944 - 951 945 944 - 951 952 945 - 952 946 945 - 952 947 946 - 953 954 947 - 954 948 947 - 953 947 952 - 954 955 948 - 955 949 948 - 955 956 949 - 956 950 949 - 956 957 950 - 957 951 950 - 957 958 951 - 958 952 951 - 958 953 952 - 959 960 953 - 959 953 958 - 960 954 953 - 960 961 954 - 961 955 954 - 961 962 955 - 962 956 955 - 962 963 956 - 963 957 956 - 963 964 957 - 964 958 957 - 964 959 958 - 965 966 959 - 965 959 964 - 966 960 959 - 966 967 960 - 967 961 960 - 967 968 961 - 968 962 961 - 968 969 962 - 969 963 962 - 969 970 963 - 970 964 963 - 970 965 964 - 971 965 972 - 972 965 970 - 971 966 965 - 971 973 966 - 973 967 966 - 973 974 967 - 974 968 967 - 974 975 968 - 975 969 968 - 975 976 969 - 976 970 969 - 976 972 970 - 977 971 972 - 977 978 971 - 978 973 971 - 979 977 972 - 979 972 976 - 978 980 973 - 980 974 973 - 980 981 974 - 981 975 974 - 981 982 975 - 982 976 975 - 982 979 976 - 983 977 979 - 983 984 977 - 984 978 977 - 984 985 978 - 985 980 978 - 986 983 979 - 986 979 982 - 985 987 980 - 987 981 980 - 987 988 981 - 988 982 981 - 988 986 982 - 989 983 986 - 989 990 983 - 990 984 983 - 990 991 984 - 991 985 984 - 991 992 985 - 992 987 985 - 993 989 986 - 993 986 988 - 992 994 987 - 994 988 987 - 994 993 988 - 995 989 993 - 995 996 989 - 996 990 989 - 996 997 990 - 997 991 990 - 997 998 991 - 998 992 991 - 998 999 992 - 999 994 992 - 1000 995 993 - 1000 993 994 - 999 1000 994 - 995 1000 999 - 995 999 998 - 995 998 997 - 995 997 996 - 1001 1002 1003 - 1004 1001 1005 - 1006 1007 1001 - 1001 1003 1005 - 1007 1002 1001 - 1006 1001 1004 - 1007 1008 1002 - 1002 1009 1010 - 1002 1010 1003 - 1008 1009 1002 - 1003 1010 1011 - 1003 1011 1012 - 1003 1012 1013 - 1003 1013 1005 - 1014 1004 1013 - 1015 1006 1004 - 1015 1004 1014 - 1004 1005 1013 - 1016 1017 1006 - 1016 1006 1015 - 1017 1007 1006 - 1017 1018 1007 - 1018 1008 1007 - 1018 1019 1008 - 1008 1020 1009 - 1019 1020 1008 - 1009 1021 1011 - 1009 1011 1010 - 1020 1021 1009 - 1021 1012 1011 - 1021 1014 1012 - 1014 1013 1012 - 1022 1015 1014 - 1022 1014 1021 - 1023 1016 1015 - 1023 1015 1022 - 1024 1025 1016 - 1024 1016 1023 - 1025 1017 1016 - 1025 1026 1017 - 1026 1018 1017 - 1026 1027 1018 - 1027 1019 1018 - 1027 1028 1019 - 1019 1029 1020 - 1028 1029 1019 - 1020 1022 1021 - 1029 1022 1020 - 1029 1023 1022 - 1030 1024 1023 - 1030 1023 1029 - 1031 1032 1024 - 1031 1024 1030 - 1032 1025 1024 - 1032 1033 1025 - 1033 1026 1025 - 1033 1034 1026 - 1034 1027 1026 - 1034 1035 1027 - 1035 1028 1027 - 1035 1036 1028 - 1028 1030 1029 - 1036 1030 1028 - 1036 1031 1030 - 1037 1038 1031 - 1037 1031 1036 - 1038 1032 1031 - 1038 1039 1032 - 1039 1033 1032 - 1039 1040 1033 - 1040 1034 1033 - 1040 1041 1034 - 1041 1035 1034 - 1041 1042 1035 - 1042 1036 1035 - 1042 1037 1036 - 1043 1044 1037 - 1043 1037 1042 - 1044 1038 1037 - 1044 1045 1038 - 1045 1039 1038 - 1045 1046 1039 - 1046 1040 1039 - 1046 1047 1040 - 1047 1041 1040 - 1047 1048 1041 - 1048 1042 1041 - 1048 1043 1042 - 1049 1050 1043 - 1050 1044 1043 - 1049 1043 1048 - 1050 1051 1044 - 1051 1045 1044 - 1051 1052 1045 - 1052 1046 1045 - 1052 1053 1046 - 1053 1047 1046 - 1053 1054 1047 - 1054 1048 1047 - 1054 1049 1048 - 1055 1056 1049 - 1055 1049 1054 - 1056 1050 1049 - 1056 1057 1050 - 1057 1051 1050 - 1057 1058 1051 - 1058 1052 1051 - 1058 1059 1052 - 1059 1053 1052 - 1059 1060 1053 - 1060 1054 1053 - 1060 1055 1054 - 1061 1062 1055 - 1061 1055 1060 - 1062 1056 1055 - 1062 1063 1056 - 1063 1057 1056 - 1063 1064 1057 - 1064 1058 1057 - 1064 1065 1058 - 1065 1059 1058 - 1065 1066 1059 - 1066 1060 1059 - 1066 1061 1060 - 1067 1068 1061 - 1067 1061 1066 - 1068 1062 1061 - 1068 1069 1062 - 1069 1063 1062 - 1069 1070 1063 - 1070 1064 1063 - 1070 1071 1064 - 1071 1065 1064 - 1071 1072 1065 - 1072 1066 1065 - 1072 1067 1066 - 1073 1074 1067 - 1073 1067 1072 - 1074 1068 1067 - 1074 1075 1068 - 1075 1069 1068 - 1075 1076 1069 - 1076 1070 1069 - 1076 1077 1070 - 1077 1071 1070 - 1078 1071 1077 - 1078 1072 1071 - 1078 1073 1072 - 1079 1080 1073 - 1079 1073 1078 - 1080 1074 1073 - 1080 1081 1074 - 1081 1075 1074 - 1081 1082 1075 - 1082 1076 1075 - 1082 1083 1076 - 1083 1077 1076 - 1083 1084 1077 - 1084 1078 1077 - 1084 1079 1078 - 1085 1086 1079 - 1086 1080 1079 - 1085 1079 1084 - 1086 1087 1080 - 1087 1081 1080 - 1087 1088 1081 - 1088 1082 1081 - 1088 1089 1082 - 1089 1083 1082 - 1089 1090 1083 - 1090 1084 1083 - 1090 1085 1084 - 1091 1092 1085 - 1091 1085 1090 - 1092 1086 1085 - 1092 1093 1086 - 1093 1087 1086 - 1093 1094 1087 - 1094 1088 1087 - 1094 1095 1088 - 1095 1089 1088 - 1095 1096 1089 - 1096 1090 1089 - 1096 1091 1090 - 1091 1096 1093 - 1091 1093 1092 - 1093 1096 1095 - 1093 1095 1094 - 1097 1098 1099 - 1100 1097 1101 - 1102 1103 1097 - 1097 1099 1101 - 1103 1098 1097 - 1102 1097 1100 - 1103 1104 1098 - 1098 1105 1106 - 1098 1106 1099 - 1104 1105 1098 - 1099 1106 1107 - 1099 1107 1108 - 1099 1108 1109 - 1099 1109 1101 - 1110 1100 1109 - 1111 1102 1100 - 1100 1110 1111 - 1100 1101 1109 - 1112 1113 1102 - 1112 1102 1111 - 1113 1103 1102 - 1113 1114 1103 - 1114 1104 1103 - 1114 1115 1104 - 1104 1116 1105 - 1115 1116 1104 - 1105 1117 1107 - 1105 1107 1106 - 1116 1117 1105 - 1117 1108 1107 - 1117 1110 1108 - 1110 1109 1108 - 1118 1111 1110 - 1118 1110 1117 - 1119 1112 1111 - 1119 1111 1118 - 1120 1121 1112 - 1120 1112 1119 - 1121 1113 1112 - 1121 1122 1113 - 1122 1114 1113 - 1122 1123 1114 - 1123 1115 1114 - 1123 1124 1115 - 1115 1125 1116 - 1124 1125 1115 - 1116 1118 1117 - 1125 1118 1116 - 1125 1119 1118 - 1126 1120 1119 - 1126 1119 1125 - 1127 1128 1120 - 1127 1120 1126 - 1128 1121 1120 - 1128 1129 1121 - 1129 1122 1121 - 1129 1130 1122 - 1130 1123 1122 - 1130 1131 1123 - 1131 1124 1123 - 1131 1132 1124 - 1124 1126 1125 - 1132 1126 1124 - 1132 1127 1126 - 1133 1134 1127 - 1133 1127 1132 - 1134 1128 1127 - 1134 1135 1128 - 1135 1129 1128 - 1135 1136 1129 - 1136 1130 1129 - 1136 1137 1130 - 1137 1131 1130 - 1137 1138 1131 - 1138 1132 1131 - 1138 1133 1132 - 1139 1140 1133 - 1139 1133 1138 - 1140 1134 1133 - 1140 1141 1134 - 1141 1135 1134 - 1141 1142 1135 - 1142 1136 1135 - 1142 1143 1136 - 1143 1137 1136 - 1143 1144 1137 - 1144 1138 1137 - 1144 1139 1138 - 1145 1146 1139 - 1146 1140 1139 - 1145 1139 1144 - 1146 1147 1140 - 1147 1141 1140 - 1147 1148 1141 - 1148 1142 1141 - 1148 1149 1142 - 1149 1143 1142 - 1149 1150 1143 - 1150 1144 1143 - 1150 1145 1144 - 1151 1152 1145 - 1151 1145 1150 - 1152 1146 1145 - 1152 1153 1146 - 1153 1147 1146 - 1153 1154 1147 - 1154 1148 1147 - 1154 1155 1148 - 1155 1149 1148 - 1155 1156 1149 - 1156 1150 1149 - 1156 1151 1150 - 1157 1158 1151 - 1157 1151 1156 - 1158 1152 1151 - 1158 1159 1152 - 1159 1153 1152 - 1159 1160 1153 - 1160 1154 1153 - 1160 1161 1154 - 1161 1155 1154 - 1161 1162 1155 - 1162 1156 1155 - 1162 1157 1156 - 1163 1164 1157 - 1163 1157 1162 - 1164 1158 1157 - 1164 1165 1158 - 1159 1158 1165 - 1165 1166 1159 - 1166 1160 1159 - 1166 1167 1160 - 1167 1161 1160 - 1167 1168 1161 - 1168 1162 1161 - 1168 1163 1162 - 1169 1170 1163 - 1169 1163 1168 - 1170 1164 1163 - 1170 1171 1164 - 1171 1165 1164 - 1171 1172 1165 - 1172 1166 1165 - 1172 1173 1166 - 1173 1167 1166 - 1173 1174 1167 - 1174 1168 1167 - 1174 1169 1168 - 1175 1176 1169 - 1175 1169 1174 - 1176 1170 1169 - 1176 1177 1170 - 1177 1171 1170 - 1177 1178 1171 - 1178 1172 1171 - 1178 1179 1172 - 1179 1173 1172 - 1179 1180 1173 - 1180 1174 1173 - 1180 1175 1174 - 1181 1182 1175 - 1182 1176 1175 - 1181 1175 1180 - 1182 1183 1176 - 1183 1177 1176 - 1183 1184 1177 - 1184 1178 1177 - 1184 1185 1178 - 1185 1179 1178 - 1185 1186 1179 - 1186 1180 1179 - 1186 1181 1180 - 1187 1188 1181 - 1181 1186 1187 - 1188 1182 1181 - 1188 1189 1182 - 1189 1183 1182 - 1189 1190 1183 - 1190 1184 1183 - 1190 1191 1184 - 1191 1185 1184 - 1191 1192 1185 - 1192 1186 1185 - 1192 1187 1186 - 1188 1187 1190 - 1192 1191 1187 - 1187 1191 1190 - 1188 1190 1189 - 1193 1194 1195 - 1196 1197 1193 - 1196 1193 1198 - 1197 1199 1193 - 1193 1195 1198 - 1193 1199 1194 - 1199 1200 1194 - 1194 1201 1202 - 1194 1200 1201 - 1195 1194 1202 - 1198 1195 1203 - 1195 1202 1204 - 1203 1195 1204 - 1205 1196 1198 - 1206 1207 1196 - 1207 1197 1196 - 1206 1196 1205 - 1208 1209 1197 - 1207 1208 1197 - 1209 1210 1197 - 1199 1197 1210 - 1205 1198 1211 - 1211 1198 1203 - 1199 1210 1200 - 1200 1212 1201 - 1200 1213 1212 - 1210 1213 1200 - 1201 1214 1215 - 1202 1201 1215 - 1201 1212 1214 - 1202 1215 1216 - 1204 1202 1216 - 1203 1204 1217 - 1218 1203 1217 - 1211 1203 1218 - 1217 1204 1219 - 1204 1216 1219 - 1220 1205 1221 - 1220 1222 1205 - 1222 1206 1205 - 1221 1205 1223 - 1205 1211 1223 - 1224 1206 1222 - 1224 1225 1206 - 1225 1207 1206 - 1225 1226 1207 - 1226 1208 1207 - 1208 1227 1209 - 1226 1228 1208 - 1228 1227 1208 - 1227 1221 1209 - 1210 1209 1221 - 1210 1223 1213 - 1223 1210 1221 - 1223 1211 1218 - 1212 1229 1230 - 1212 1230 1214 - 1213 1229 1212 - 1213 1218 1229 - 1223 1218 1213 - 1214 1231 1232 - 1215 1214 1232 - 1214 1230 1231 - 1215 1232 1233 - 1216 1215 1233 - 1216 1233 1234 - 1219 1216 1234 - 1217 1219 1235 - 1229 1217 1235 - 1218 1217 1229 - 1219 1234 1236 - 1235 1219 1236 - 1237 1222 1220 - 1237 1220 1227 - 1227 1220 1221 - 1237 1224 1222 - 1238 1224 1237 - 1238 1239 1224 - 1239 1225 1224 - 1239 1240 1225 - 1240 1226 1225 - 1241 1228 1226 - 1240 1241 1226 - 1228 1237 1227 - 1242 1237 1228 - 1241 1242 1228 - 1229 1235 1230 - 1230 1243 1231 - 1230 1235 1243 - 1231 1244 1245 - 1232 1231 1245 - 1231 1243 1244 - 1232 1245 1246 - 1233 1232 1246 - 1233 1246 1247 - 1234 1233 1247 - 1234 1247 1248 - 1236 1234 1248 - 1235 1236 1243 - 1236 1248 1249 - 1243 1236 1249 - 1250 1238 1237 - 1250 1237 1242 - 1251 1239 1238 - 1252 1251 1238 - 1252 1238 1250 - 1251 1253 1239 - 1253 1240 1239 - 1253 1254 1240 - 1254 1241 1240 - 1254 1255 1241 - 1255 1242 1241 - 1250 1242 1255 - 1243 1249 1244 - 1244 1256 1257 - 1245 1244 1257 - 1244 1249 1256 - 1245 1257 1258 - 1246 1245 1258 - 1246 1258 1259 - 1247 1246 1259 - 1247 1259 1260 - 1248 1247 1260 - 1248 1260 1261 - 1249 1248 1261 - 1249 1261 1256 - 1262 1252 1250 - 1262 1250 1255 - 1263 1253 1251 - 1264 1263 1251 - 1264 1251 1252 - 1265 1264 1252 - 1265 1252 1262 - 1263 1266 1253 - 1266 1254 1253 - 1266 1267 1254 - 1267 1255 1254 - 1267 1268 1255 - 1268 1262 1255 - 1256 1269 1270 - 1257 1256 1270 - 1256 1261 1269 - 1257 1270 1271 - 1258 1257 1271 - 1258 1271 1272 - 1259 1258 1272 - 1259 1272 1273 - 1260 1259 1273 - 1261 1260 1273 - 1261 1273 1269 - 1268 1265 1262 - 1265 1266 1263 - 1263 1264 1265 - 1267 1265 1268 - 1265 1267 1266 - 1274 1270 1269 - 1275 1274 1269 - 1269 1276 1275 - 1273 1277 1269 - 1277 1276 1269 - 1278 1271 1270 - 1279 1278 1270 - 1270 1274 1279 - 1271 1280 1272 - 1271 1278 1280 - 1272 1281 1273 - 1280 1282 1272 - 1272 1282 1281 - 1273 1283 1284 - 1284 1277 1273 - 1281 1283 1273 - 1279 1274 1285 - 1275 1285 1274 - 1275 1276 1286 - 1285 1275 1286 - 1277 1286 1276 - 1277 1284 1287 - 1286 1277 1287 - 1280 1278 1288 - 1279 1288 1278 - 1288 1279 1285 - 1280 1289 1282 - 1289 1280 1288 - 1281 1290 1283 - 1281 1282 1290 - 1282 1289 1290 - 1283 1290 1287 - 1284 1283 1287 - 1288 1285 1289 - 1285 1286 1289 - 1286 1287 1289 - 1287 1290 1289 - 1291 1292 1293 - 1294 1295 1291 - 1293 1294 1291 - 1296 1297 1291 - 1295 1296 1291 - 1292 1291 1297 - 1292 1298 1299 - 1292 1299 1300 - 1292 1301 1298 - 1302 1301 1292 - 1302 1292 1297 - 1292 1300 1293 - 1300 1303 1293 - 1293 1304 1294 - 1293 1303 1304 - 1294 1304 1305 - 1294 1305 1306 - 1295 1294 1306 - 1307 1295 1308 - 1295 1306 1308 - 1307 1296 1295 - 1309 1297 1296 - 1303 1309 1296 - 1303 1296 1307 - 1310 1302 1297 - 1311 1297 1309 - 1312 1310 1297 - 1312 1297 1311 - 1298 1313 1314 - 1315 1313 1298 - 1315 1298 1301 - 1299 1298 1316 - 1298 1314 1316 - 1317 1318 1299 - 1299 1318 1319 - 1317 1299 1320 - 1300 1299 1319 - 1299 1316 1320 - 1300 1319 1321 - 1300 1321 1309 - 1300 1309 1303 - 1322 1315 1301 - 1322 1301 1302 - 1322 1302 1323 - 1324 1323 1302 - 1324 1302 1310 - 1303 1307 1304 - 1304 1307 1325 - 1304 1325 1305 - 1305 1325 1326 - 1305 1326 1327 - 1306 1305 1328 - 1329 1328 1305 - 1329 1305 1327 - 1308 1306 1330 - 1306 1328 1331 - 1306 1331 1330 - 1307 1308 1325 - 1326 1325 1308 - 1326 1308 1332 - 1308 1333 1332 - 1308 1330 1333 - 1309 1321 1334 - 1311 1309 1334 - 1335 1324 1310 - 1335 1310 1312 - 1336 1311 1337 - 1338 1311 1334 - 1338 1337 1311 - 1339 1312 1311 - 1339 1311 1336 - 1340 1335 1312 - 1340 1312 1339 - 1313 1341 1342 - 1313 1342 1317 - 1315 1341 1313 - 1313 1317 1343 - 1313 1343 1314 - 1314 1343 1344 - 1316 1314 1345 - 1314 1344 1345 - 1346 1341 1315 - 1322 1346 1315 - 1320 1316 1347 - 1316 1345 1347 - 1317 1342 1318 - 1317 1320 1343 - 1318 1342 1348 - 1318 1348 1349 - 1319 1318 1349 - 1319 1349 1350 - 1351 1321 1319 - 1351 1319 1350 - 1343 1320 1352 - 1320 1347 1352 - 1334 1321 1351 - 1353 1346 1322 - 1323 1353 1322 - 1323 1354 1353 - 1355 1354 1323 - 1355 1323 1324 - 1356 1355 1324 - 1356 1324 1335 - 1326 1332 1357 - 1327 1326 1358 - 1358 1326 1359 - 1357 1359 1326 - 1329 1327 1358 - 1332 1328 1329 - 1360 1328 1332 - 1360 1331 1328 - 1332 1329 1357 - 1357 1329 1361 - 1329 1358 1361 - 1333 1330 1362 - 1330 1331 1363 - 1330 1363 1362 - 1331 1360 1364 - 1331 1364 1363 - 1333 1360 1332 - 1360 1333 1365 - 1333 1362 1365 - 1334 1351 1366 - 1367 1334 1366 - 1334 1367 1368 - 1369 1338 1334 - 1334 1368 1369 - 1370 1356 1335 - 1370 1335 1340 - 1371 1336 1337 - 1372 1339 1336 - 1372 1336 1371 - 1373 1337 1338 - 1373 1374 1337 - 1374 1371 1337 - 1375 1338 1369 - 1375 1373 1338 - 1340 1339 1372 - 1372 1370 1340 - 1376 1377 1341 - 1376 1341 1378 - 1379 1342 1341 - 1377 1379 1341 - 1346 1378 1341 - 1348 1342 1380 - 1381 1380 1342 - 1379 1381 1342 - 1343 1352 1344 - 1345 1344 1382 - 1344 1352 1383 - 1344 1383 1382 - 1347 1345 1384 - 1345 1382 1384 - 1385 1378 1346 - 1353 1385 1346 - 1352 1347 1386 - 1347 1384 1386 - 1348 1380 1387 - 1387 1388 1348 - 1349 1348 1388 - 1349 1388 1389 - 1350 1349 1389 - 1350 1389 1390 - 1350 1390 1391 - 1350 1391 1351 - 1366 1351 1391 - 1352 1386 1383 - 1353 1392 1385 - 1393 1353 1354 - 1392 1353 1393 - 1394 1354 1355 - 1394 1393 1354 - 1395 1394 1355 - 1395 1355 1356 - 1395 1356 1370 - 1357 1361 1396 - 1357 1396 1359 - 1375 1397 1358 - 1375 1358 1398 - 1399 1358 1359 - 1398 1358 1399 - 1400 1358 1397 - 1400 1361 1358 - 1401 1402 1359 - 1399 1359 1402 - 1401 1359 1396 - 1360 1365 1364 - 1396 1361 1403 - 1361 1404 1405 - 1361 1405 1403 - 1400 1404 1361 - 1365 1362 1406 - 1362 1363 1407 - 1362 1407 1406 - 1363 1408 1407 - 1363 1364 1408 - 1364 1365 1409 - 1364 1409 1408 - 1365 1406 1409 - 1366 1391 1410 - 1411 1366 1410 - 1367 1366 1411 - 1412 1367 1411 - 1368 1367 1412 - 1368 1413 1369 - 1368 1412 1414 - 1368 1414 1413 - 1415 1371 1369 - 1416 1375 1369 - 1416 1369 1371 - 1369 1413 1415 - 1395 1370 1417 - 1370 1418 1417 - 1418 1370 1372 - 1374 1416 1371 - 1371 1415 1372 - 1419 1418 1372 - 1420 1372 1415 - 1420 1421 1372 - 1372 1421 1422 - 1372 1422 1423 - 1372 1423 1419 - 1398 1373 1375 - 1398 1374 1373 - 1399 1416 1374 - 1398 1399 1374 - 1402 1375 1416 - 1402 1397 1375 - 1376 1424 1425 - 1426 1424 1376 - 1376 1425 1377 - 1378 1426 1376 - 1377 1425 1427 - 1377 1427 1379 - 1378 1428 1426 - 1385 1428 1378 - 1381 1379 1429 - 1379 1427 1430 - 1379 1430 1429 - 1380 1431 1432 - 1433 1431 1380 - 1380 1432 1387 - 1433 1380 1381 - 1433 1381 1434 - 1381 1429 1434 - 1384 1382 1435 - 1382 1383 1436 - 1382 1436 1435 - 1383 1386 1437 - 1383 1437 1436 - 1386 1384 1438 - 1384 1435 1438 - 1439 1428 1385 - 1392 1439 1385 - 1386 1438 1437 - 1387 1432 1440 - 1387 1441 1388 - 1387 1440 1441 - 1388 1441 1442 - 1428 1388 1442 - 1443 1388 1428 - 1389 1388 1443 - 1444 1389 1443 - 1390 1389 1444 - 1390 1444 1445 - 1391 1390 1445 - 1446 1391 1445 - 1410 1391 1446 - 1447 1439 1392 - 1445 1444 1392 - 1448 1392 1444 - 1448 1447 1392 - 1392 1393 1445 - 1393 1394 1449 - 1450 1445 1393 - 1449 1450 1393 - 1394 1451 1449 - 1410 1394 1395 - 1451 1394 1446 - 1394 1410 1446 - 1410 1395 1452 - 1395 1417 1452 - 1401 1396 1453 - 1453 1396 1454 - 1396 1403 1454 - 1401 1397 1402 - 1401 1400 1397 - 1399 1402 1416 - 1455 1400 1401 - 1400 1456 1404 - 1455 1456 1400 - 1457 1458 1401 - 1453 1459 1401 - 1457 1401 1459 - 1455 1401 1458 - 1454 1403 1460 - 1403 1405 1461 - 1403 1461 1460 - 1404 1453 1462 - 1453 1404 1456 - 1404 1462 1405 - 1405 1462 1463 - 1405 1463 1461 - 1409 1406 1464 - 1406 1407 1465 - 1406 1465 1464 - 1407 1466 1465 - 1407 1408 1466 - 1408 1409 1467 - 1408 1467 1466 - 1409 1464 1467 - 1411 1410 1468 - 1469 1468 1410 - 1410 1452 1470 - 1469 1410 1470 - 1414 1411 1468 - 1412 1411 1414 - 1413 1414 1469 - 1423 1413 1470 - 1413 1421 1420 - 1413 1420 1415 - 1422 1421 1413 - 1423 1422 1413 - 1413 1469 1470 - 1414 1468 1471 - 1414 1471 1469 - 1418 1419 1417 - 1452 1417 1472 - 1417 1473 1472 - 1417 1419 1473 - 1470 1419 1423 - 1419 1470 1474 - 1419 1474 1473 - 1424 1475 1476 - 1477 1475 1424 - 1424 1476 1425 - 1426 1477 1424 - 1425 1476 1478 - 1425 1479 1480 - 1425 1478 1479 - 1427 1425 1480 - 1481 1477 1426 - 1482 1481 1426 - 1428 1482 1426 - 1427 1480 1433 - 1427 1433 1483 - 1427 1483 1430 - 1428 1442 1482 - 1443 1428 1439 - 1434 1429 1484 - 1429 1430 1485 - 1429 1485 1484 - 1430 1483 1486 - 1430 1486 1485 - 1431 1487 1488 - 1489 1487 1431 - 1431 1488 1432 - 1480 1489 1431 - 1480 1431 1433 - 1432 1488 1490 - 1432 1490 1440 - 1433 1434 1483 - 1483 1434 1491 - 1434 1484 1491 - 1438 1435 1492 - 1435 1436 1493 - 1435 1493 1492 - 1436 1437 1494 - 1436 1494 1493 - 1437 1438 1495 - 1437 1495 1494 - 1438 1492 1495 - 1496 1443 1439 - 1447 1496 1439 - 1440 1490 1497 - 1440 1497 1498 - 1441 1440 1499 - 1499 1440 1498 - 1442 1441 1499 - 1500 1442 1499 - 1501 1482 1442 - 1500 1501 1442 - 1496 1502 1443 - 1502 1444 1443 - 1502 1448 1444 - 1503 1446 1445 - 1450 1503 1445 - 1503 1451 1446 - 1504 1496 1447 - 1505 1504 1447 - 1505 1447 1448 - 1506 1448 1502 - 1506 1505 1448 - 1507 1450 1449 - 1508 1449 1451 - 1508 1507 1449 - 1509 1503 1450 - 1507 1509 1450 - 1510 1451 1503 - 1510 1508 1451 - 1470 1452 1511 - 1452 1472 1511 - 1456 1459 1453 - 1453 1454 1462 - 1462 1454 1512 - 1454 1460 1512 - 1455 1458 1513 - 1455 1513 1514 - 1455 1515 1456 - 1514 1515 1455 - 1515 1459 1456 - 1516 1517 1457 - 1518 1457 1515 - 1515 1457 1459 - 1518 1516 1457 - 1517 1458 1457 - 1517 1513 1458 - 1512 1460 1519 - 1460 1461 1520 - 1460 1520 1519 - 1461 1463 1521 - 1461 1521 1520 - 1462 1512 1463 - 1463 1512 1522 - 1463 1522 1521 - 1467 1464 1523 - 1464 1465 1524 - 1464 1524 1523 - 1465 1466 1525 - 1465 1525 1524 - 1466 1467 1526 - 1466 1526 1525 - 1467 1523 1526 - 1471 1468 1469 - 1470 1511 1474 - 1511 1472 1527 - 1472 1473 1527 - 1473 1474 1528 - 1473 1528 1527 - 1474 1511 1529 - 1474 1529 1530 - 1474 1530 1528 - 1475 1531 1532 - 1533 1531 1475 - 1475 1532 1476 - 1477 1533 1475 - 1476 1532 1534 - 1476 1534 1478 - 1535 1533 1477 - 1498 1535 1477 - 1498 1477 1481 - 1478 1534 1479 - 1479 1534 1536 - 1489 1479 1537 - 1480 1479 1489 - 1479 1536 1537 - 1499 1498 1481 - 1538 1539 1481 - 1539 1499 1481 - 1538 1481 1482 - 1501 1538 1482 - 1483 1491 1486 - 1491 1484 1540 - 1484 1485 1541 - 1484 1541 1540 - 1485 1486 1542 - 1485 1542 1541 - 1486 1491 1543 - 1486 1543 1542 - 1487 1544 1545 - 1546 1544 1487 - 1487 1545 1488 - 1546 1487 1489 - 1488 1545 1547 - 1488 1547 1490 - 1546 1489 1548 - 1489 1537 1548 - 1490 1547 1549 - 1497 1490 1549 - 1491 1540 1543 - 1495 1492 1550 - 1492 1493 1551 - 1492 1551 1550 - 1493 1494 1552 - 1493 1552 1551 - 1494 1495 1553 - 1494 1553 1552 - 1495 1550 1553 - 1504 1554 1496 - 1554 1502 1496 - 1555 1497 1549 - 1555 1556 1497 - 1497 1535 1498 - 1556 1535 1497 - 1539 1500 1499 - 1557 1500 1539 - 1557 1558 1500 - 1558 1501 1500 - 1559 1538 1501 - 1558 1559 1501 - 1554 1506 1502 - 1509 1510 1503 - 1560 1561 1504 - 1560 1504 1505 - 1561 1554 1504 - 1562 1505 1506 - 1562 1560 1505 - 1563 1506 1554 - 1563 1562 1506 - 1564 1509 1507 - 1565 1564 1507 - 1565 1507 1508 - 1566 1508 1510 - 1566 1565 1508 - 1567 1510 1509 - 1564 1567 1509 - 1567 1566 1510 - 1511 1568 1529 - 1527 1568 1511 - 1512 1519 1522 - 1517 1569 1513 - 1514 1513 1569 - 1514 1570 1515 - 1514 1569 1571 - 1571 1570 1514 - 1572 1518 1515 - 1572 1515 1570 - 1516 1573 1517 - 1574 1573 1516 - 1575 1574 1516 - 1575 1516 1518 - 1517 1576 1569 - 1577 1576 1517 - 1573 1578 1517 - 1578 1577 1517 - 1579 1575 1518 - 1579 1518 1572 - 1522 1519 1520 - 1522 1520 1521 - 1526 1523 1580 - 1523 1524 1581 - 1523 1581 1580 - 1524 1525 1582 - 1524 1582 1581 - 1525 1526 1583 - 1525 1583 1582 - 1526 1580 1583 - 1527 1584 1568 - 1528 1584 1527 - 1530 1584 1528 - 1529 1568 1585 - 1586 1530 1529 - 1586 1529 1585 - 1530 1587 1588 - 1587 1530 1586 - 1530 1588 1584 - 1531 1589 1590 - 1591 1589 1531 - 1531 1590 1532 - 1533 1591 1531 - 1532 1590 1592 - 1532 1592 1534 - 1593 1591 1533 - 1535 1593 1533 - 1534 1592 1594 - 1534 1594 1546 - 1534 1546 1595 - 1534 1595 1536 - 1535 1596 1593 - 1597 1596 1535 - 1556 1597 1535 - 1536 1595 1598 - 1537 1536 1599 - 1536 1598 1599 - 1548 1537 1600 - 1537 1599 1600 - 1559 1601 1538 - 1601 1539 1538 - 1601 1557 1539 - 1543 1540 1602 - 1540 1541 1603 - 1540 1603 1602 - 1541 1542 1604 - 1541 1604 1603 - 1542 1543 1605 - 1542 1605 1604 - 1543 1602 1605 - 1544 1606 1607 - 1544 1607 1545 - 1594 1606 1544 - 1594 1544 1546 - 1545 1607 1608 - 1545 1608 1547 - 1546 1548 1595 - 1549 1547 1608 - 1595 1548 1609 - 1548 1600 1609 - 1549 1608 1610 - 1549 1610 1611 - 1612 1555 1549 - 1612 1549 1596 - 1549 1611 1596 - 1553 1550 1551 - 1553 1551 1552 - 1561 1563 1554 - 1613 1555 1612 - 1613 1614 1555 - 1614 1556 1555 - 1615 1597 1556 - 1614 1615 1556 - 1616 1557 1601 - 1616 1617 1557 - 1617 1558 1557 - 1618 1559 1558 - 1617 1618 1558 - 1618 1619 1559 - 1619 1601 1559 - 1620 1621 1560 - 1620 1560 1562 - 1621 1561 1560 - 1621 1622 1561 - 1622 1563 1561 - 1623 1562 1563 - 1623 1620 1562 - 1622 1623 1563 - 1587 1567 1564 - 1588 1587 1564 - 1624 1564 1565 - 1588 1564 1624 - 1625 1565 1566 - 1626 1624 1565 - 1625 1626 1565 - 1566 1567 1587 - 1627 1566 1587 - 1627 1628 1566 - 1628 1625 1566 - 1568 1629 1585 - 1568 1584 1630 - 1568 1630 1629 - 1631 1569 1576 - 1571 1569 1632 - 1631 1632 1569 - 1571 1577 1570 - 1633 1570 1578 - 1570 1633 1572 - 1578 1570 1577 - 1634 1577 1571 - 1571 1632 1634 - 1633 1573 1572 - 1635 1572 1573 - 1635 1579 1572 - 1573 1633 1578 - 1574 1635 1573 - 1636 1637 1574 - 1636 1574 1575 - 1637 1635 1574 - 1638 1636 1575 - 1638 1575 1579 - 1576 1639 1631 - 1576 1577 1639 - 1634 1639 1577 - 1640 1579 1635 - 1640 1638 1579 - 1582 1583 1580 - 1582 1580 1581 - 1630 1584 1588 - 1641 1586 1585 - 1642 1585 1643 - 1643 1585 1629 - 1585 1642 1641 - 1587 1586 1644 - 1586 1630 1644 - 1645 1586 1641 - 1645 1646 1586 - 1646 1630 1586 - 1644 1627 1587 - 1588 1624 1647 - 1630 1588 1647 - 1589 1648 1649 - 1650 1648 1589 - 1589 1649 1651 - 1589 1651 1590 - 1652 1650 1589 - 1591 1652 1589 - 1590 1651 1653 - 1590 1653 1654 - 1590 1654 1592 - 1611 1652 1591 - 1593 1596 1591 - 1596 1611 1591 - 1592 1654 1655 - 1594 1592 1656 - 1592 1655 1656 - 1653 1594 1657 - 1594 1653 1606 - 1594 1656 1657 - 1595 1609 1598 - 1597 1612 1596 - 1658 1612 1597 - 1615 1658 1597 - 1599 1598 1659 - 1598 1609 1660 - 1598 1660 1659 - 1600 1599 1661 - 1599 1659 1661 - 1609 1600 1662 - 1600 1661 1662 - 1619 1616 1601 - 1605 1602 1663 - 1602 1603 1664 - 1602 1664 1663 - 1603 1604 1665 - 1603 1665 1664 - 1604 1605 1666 - 1604 1666 1665 - 1605 1663 1666 - 1653 1667 1606 - 1667 1607 1606 - 1607 1668 1669 - 1667 1668 1607 - 1607 1669 1670 - 1608 1607 1670 - 1608 1670 1671 - 1608 1671 1610 - 1609 1662 1660 - 1672 1610 1671 - 1672 1673 1610 - 1673 1611 1610 - 1611 1674 1652 - 1675 1674 1611 - 1673 1675 1611 - 1658 1613 1612 - 1676 1613 1658 - 1676 1677 1613 - 1677 1614 1613 - 1677 1678 1614 - 1678 1615 1614 - 1679 1658 1615 - 1678 1679 1615 - 1680 1616 1619 - 1680 1681 1616 - 1681 1617 1616 - 1682 1618 1617 - 1681 1682 1617 - 1682 1683 1618 - 1683 1619 1618 - 1683 1680 1619 - 1684 1685 1620 - 1684 1620 1623 - 1685 1621 1620 - 1685 1686 1621 - 1686 1622 1621 - 1686 1687 1622 - 1687 1623 1622 - 1687 1684 1623 - 1647 1624 1627 - 1627 1624 1688 - 1624 1626 1688 - 1689 1625 1628 - 1690 1626 1625 - 1689 1690 1625 - 1691 1688 1626 - 1690 1691 1626 - 1644 1647 1627 - 1627 1688 1628 - 1692 1628 1688 - 1692 1689 1628 - 1630 1693 1629 - 1629 1694 1695 - 1693 1694 1629 - 1643 1629 1696 - 1629 1695 1696 - 1630 1647 1644 - 1697 1693 1630 - 1646 1697 1630 - 1631 1639 1698 - 1631 1698 1699 - 1700 1632 1631 - 1700 1631 1699 - 1634 1632 1700 - 1698 1639 1634 - 1634 1700 1701 - 1698 1634 1701 - 1637 1640 1635 - 1637 1636 1638 - 1637 1638 1640 - 1702 1645 1641 - 1642 1694 1641 - 1702 1641 1693 - 1694 1693 1641 - 1642 1703 1695 - 1694 1642 1695 - 1642 1643 1703 - 1704 1643 1696 - 1703 1643 1704 - 1705 1645 1702 - 1706 1646 1645 - 1705 1706 1645 - 1707 1697 1646 - 1706 1707 1646 - 1708 1709 1648 - 1648 1710 1708 - 1648 1711 1710 - 1648 1709 1649 - 1712 1711 1648 - 1650 1712 1648 - 1649 1709 1713 - 1649 1713 1714 - 1651 1649 1714 - 1715 1712 1650 - 1674 1671 1650 - 1715 1650 1671 - 1674 1650 1652 - 1651 1714 1716 - 1653 1651 1716 - 1653 1716 1667 - 1654 1653 1717 - 1653 1657 1717 - 1654 1717 1655 - 1655 1717 1718 - 1656 1655 1719 - 1655 1718 1719 - 1657 1656 1720 - 1656 1719 1720 - 1717 1657 1721 - 1657 1720 1721 - 1679 1676 1658 - 1661 1659 1722 - 1659 1660 1723 - 1659 1723 1722 - 1660 1662 1724 - 1660 1724 1723 - 1662 1661 1725 - 1661 1722 1725 - 1662 1725 1724 - 1666 1663 1726 - 1663 1664 1727 - 1663 1727 1726 - 1664 1665 1728 - 1664 1728 1727 - 1665 1666 1729 - 1665 1729 1728 - 1666 1726 1729 - 1667 1730 1668 - 1716 1730 1667 - 1668 1731 1732 - 1668 1732 1733 - 1733 1734 1668 - 1668 1734 1669 - 1730 1731 1668 - 1669 1734 1735 - 1670 1669 1736 - 1669 1735 1736 - 1670 1715 1671 - 1670 1736 1715 - 1737 1672 1671 - 1737 1671 1674 - 1738 1672 1737 - 1738 1739 1672 - 1739 1673 1672 - 1740 1675 1673 - 1739 1740 1673 - 1675 1737 1674 - 1741 1737 1675 - 1740 1741 1675 - 1742 1676 1679 - 1742 1743 1676 - 1743 1677 1676 - 1743 1744 1677 - 1744 1678 1677 - 1745 1679 1678 - 1744 1745 1678 - 1745 1742 1679 - 1746 1680 1683 - 1746 1747 1680 - 1747 1681 1680 - 1748 1682 1681 - 1747 1748 1681 - 1748 1749 1682 - 1749 1683 1682 - 1749 1746 1683 - 1750 1751 1684 - 1751 1685 1684 - 1750 1684 1687 - 1751 1752 1685 - 1752 1686 1685 - 1752 1753 1686 - 1753 1687 1686 - 1753 1750 1687 - 1691 1692 1688 - 1754 1689 1692 - 1754 1755 1689 - 1756 1690 1689 - 1755 1756 1689 - 1756 1757 1690 - 1757 1691 1690 - 1754 1692 1691 - 1757 1754 1691 - 1697 1702 1693 - 1695 1703 1758 - 1695 1758 1759 - 1760 1695 1759 - 1696 1695 1760 - 1761 1704 1696 - 1696 1760 1761 - 1762 1702 1697 - 1707 1762 1697 - 1699 1698 1763 - 1763 1698 1701 - 1699 1763 1764 - 1764 1765 1699 - 1765 1700 1699 - 1701 1700 1766 - 1700 1765 1767 - 1700 1767 1766 - 1701 1766 1768 - 1763 1701 1768 - 1762 1705 1702 - 1703 1769 1770 - 1703 1770 1758 - 1703 1704 1769 - 1771 1704 1761 - 1704 1771 1772 - 1704 1772 1769 - 1773 1705 1762 - 1773 1774 1705 - 1774 1706 1705 - 1775 1707 1706 - 1774 1775 1706 - 1776 1762 1707 - 1775 1776 1707 - 1708 1777 1778 - 1710 1777 1708 - 1708 1779 1709 - 1708 1778 1779 - 1780 1713 1709 - 1780 1709 1781 - 1782 1709 1779 - 1782 1781 1709 - 1710 1783 1777 - 1783 1710 1784 - 1710 1711 1785 - 1710 1785 1784 - 1736 1735 1711 - 1785 1711 1735 - 1736 1711 1712 - 1715 1736 1712 - 1780 1731 1713 - 1714 1713 1731 - 1714 1731 1730 - 1716 1714 1730 - 1717 1721 1718 - 1719 1718 1786 - 1718 1721 1787 - 1718 1787 1786 - 1720 1719 1788 - 1719 1786 1788 - 1721 1720 1789 - 1720 1788 1789 - 1721 1789 1787 - 1725 1722 1790 - 1722 1723 1791 - 1722 1791 1790 - 1723 1724 1792 - 1723 1792 1791 - 1724 1725 1793 - 1724 1793 1792 - 1725 1790 1793 - 1727 1729 1726 - 1727 1728 1729 - 1780 1732 1731 - 1732 1794 1795 - 1732 1795 1733 - 1780 1794 1732 - 1733 1795 1796 - 1733 1796 1797 - 1733 1797 1734 - 1734 1797 1796 - 1734 1796 1798 - 1734 1798 1799 - 1735 1734 1800 - 1734 1799 1800 - 1785 1735 1800 - 1741 1738 1737 - 1801 1738 1741 - 1801 1802 1738 - 1802 1739 1738 - 1802 1803 1739 - 1803 1740 1739 - 1804 1741 1740 - 1803 1804 1740 - 1804 1801 1741 - 1805 1742 1745 - 1805 1806 1742 - 1806 1743 1742 - 1806 1807 1743 - 1807 1744 1743 - 1808 1745 1744 - 1807 1808 1744 - 1808 1805 1745 - 1809 1746 1749 - 1809 1810 1746 - 1810 1747 1746 - 1811 1748 1747 - 1810 1811 1747 - 1811 1812 1748 - 1812 1749 1748 - 1812 1809 1749 - 1750 1753 1752 - 1750 1752 1751 - 1813 1754 1757 - 1813 1814 1754 - 1814 1755 1754 - 1815 1756 1755 - 1814 1815 1755 - 1815 1816 1756 - 1816 1757 1756 - 1816 1813 1757 - 1758 1770 1817 - 1758 1817 1818 - 1759 1758 1818 - 1759 1819 1760 - 1759 1820 1819 - 1820 1759 1821 - 1759 1818 1821 - 1761 1760 1822 - 1823 1760 1819 - 1760 1772 1822 - 1760 1823 1772 - 1824 1771 1761 - 1761 1822 1824 - 1776 1773 1762 - 1764 1763 1825 - 1763 1826 1827 - 1763 1827 1825 - 1763 1768 1826 - 1764 1825 1828 - 1828 1829 1764 - 1829 1765 1764 - 1829 1767 1765 - 1766 1767 1830 - 1766 1830 1831 - 1768 1766 1831 - 1826 1767 1829 - 1767 1826 1832 - 1767 1832 1830 - 1768 1831 1833 - 1833 1826 1768 - 1769 1823 1819 - 1769 1820 1770 - 1769 1819 1820 - 1823 1769 1772 - 1770 1820 1834 - 1770 1834 1817 - 1835 1771 1824 - 1772 1771 1835 - 1836 1837 1772 - 1837 1822 1772 - 1772 1835 1836 - 1776 1775 1773 - 1775 1774 1773 - 1777 1838 1839 - 1783 1838 1777 - 1777 1839 1778 - 1839 1840 1778 - 1841 1778 1840 - 1841 1782 1778 - 1782 1779 1778 - 1780 1841 1840 - 1780 1840 1794 - 1841 1780 1842 - 1780 1781 1843 - 1780 1843 1842 - 1781 1782 1844 - 1781 1844 1843 - 1782 1841 1845 - 1782 1845 1844 - 1783 1846 1838 - 1783 1847 1846 - 1783 1798 1847 - 1798 1783 1799 - 1783 1784 1799 - 1848 1799 1784 - 1849 1848 1784 - 1849 1784 1785 - 1850 1785 1800 - 1850 1849 1785 - 1788 1786 1851 - 1786 1787 1852 - 1786 1852 1851 - 1787 1789 1853 - 1787 1853 1852 - 1789 1788 1854 - 1788 1851 1854 - 1789 1854 1853 - 1793 1790 1855 - 1790 1791 1856 - 1790 1856 1855 - 1791 1792 1857 - 1791 1857 1856 - 1792 1793 1858 - 1792 1858 1857 - 1793 1855 1858 - 1840 1859 1794 - 1859 1795 1794 - 1859 1860 1795 - 1796 1795 1860 - 1796 1860 1847 - 1796 1847 1798 - 1848 1861 1799 - 1861 1800 1799 - 1861 1850 1800 - 1862 1801 1804 - 1862 1863 1801 - 1863 1802 1801 - 1863 1864 1802 - 1864 1803 1802 - 1865 1804 1803 - 1864 1865 1803 - 1865 1862 1804 - 1866 1805 1808 - 1866 1867 1805 - 1867 1806 1805 - 1867 1868 1806 - 1868 1807 1806 - 1869 1808 1807 - 1868 1869 1807 - 1869 1866 1808 - 1812 1810 1809 - 1812 1811 1810 - 1870 1813 1816 - 1870 1871 1813 - 1871 1814 1813 - 1872 1815 1814 - 1871 1872 1814 - 1873 1816 1815 - 1872 1873 1815 - 1873 1870 1816 - 1817 1834 1874 - 1817 1874 1875 - 1818 1817 1875 - 1821 1818 1876 - 1818 1875 1876 - 1820 1821 1834 - 1834 1821 1877 - 1821 1876 1877 - 1824 1822 1837 - 1878 1835 1824 - 1824 1837 1878 - 1828 1825 1879 - 1825 1827 1880 - 1825 1880 1879 - 1826 1829 1827 - 1833 1832 1826 - 1827 1829 1881 - 1827 1881 1880 - 1828 1879 1882 - 1829 1828 1882 - 1829 1882 1881 - 1831 1830 1883 - 1830 1884 1883 - 1830 1832 1884 - 1831 1883 1885 - 1833 1831 1885 - 1886 1832 1833 - 1886 1884 1832 - 1833 1885 1886 - 1834 1877 1874 - 1887 1835 1878 - 1888 1836 1835 - 1888 1835 1887 - 1888 1889 1836 - 1889 1837 1836 - 1890 1878 1837 - 1890 1837 1889 - 1838 1860 1859 - 1846 1860 1838 - 1838 1859 1839 - 1839 1859 1840 - 1841 1842 1845 - 1845 1842 1891 - 1842 1843 1892 - 1842 1892 1891 - 1843 1844 1893 - 1843 1893 1892 - 1844 1845 1894 - 1844 1894 1893 - 1845 1891 1894 - 1846 1847 1860 - 1895 1896 1848 - 1896 1861 1848 - 1895 1848 1849 - 1897 1895 1849 - 1897 1849 1850 - 1898 1850 1861 - 1898 1897 1850 - 1854 1851 1899 - 1851 1852 1900 - 1851 1900 1899 - 1852 1853 1901 - 1852 1901 1900 - 1853 1854 1902 - 1853 1902 1901 - 1854 1899 1902 - 1858 1855 1856 - 1858 1856 1857 - 1896 1898 1861 - 1903 1862 1865 - 1903 1904 1862 - 1904 1863 1862 - 1904 1905 1863 - 1905 1864 1863 - 1906 1865 1864 - 1905 1906 1864 - 1906 1903 1865 - 1869 1867 1866 - 1869 1868 1867 - 1907 1908 1870 - 1907 1870 1873 - 1908 1871 1870 - 1909 1872 1871 - 1908 1909 1871 - 1910 1873 1872 - 1909 1910 1872 - 1910 1907 1873 - 1875 1874 1877 - 1876 1875 1877 - 1890 1887 1878 - 1882 1879 1911 - 1879 1880 1912 - 1879 1912 1911 - 1880 1881 1913 - 1880 1913 1912 - 1881 1882 1914 - 1881 1914 1913 - 1882 1911 1914 - 1883 1915 1916 - 1885 1883 1916 - 1883 1884 1915 - 1917 1884 1886 - 1917 1915 1884 - 1886 1885 1918 - 1885 1916 1918 - 1886 1918 1917 - 1919 1887 1890 - 1920 1921 1887 - 1919 1920 1887 - 1888 1887 1921 - 1922 1923 1888 - 1923 1889 1888 - 1888 1921 1922 - 1924 1890 1889 - 1924 1889 1923 - 1924 1919 1890 - 1894 1891 1925 - 1891 1892 1926 - 1891 1926 1925 - 1892 1893 1927 - 1892 1927 1926 - 1893 1894 1928 - 1893 1928 1927 - 1894 1925 1928 - 1929 1930 1895 - 1929 1895 1897 - 1930 1896 1895 - 1930 1931 1896 - 1931 1898 1896 - 1932 1897 1898 - 1932 1929 1897 - 1931 1932 1898 - 1902 1899 1933 - 1899 1900 1934 - 1899 1934 1933 - 1900 1901 1935 - 1900 1935 1934 - 1901 1902 1936 - 1901 1936 1935 - 1902 1933 1936 - 1937 1903 1906 - 1937 1938 1903 - 1938 1904 1903 - 1938 1939 1904 - 1939 1905 1904 - 1940 1906 1905 - 1939 1940 1905 - 1940 1937 1906 - 1908 1907 1910 - 1909 1908 1910 - 1914 1911 1941 - 1911 1912 1942 - 1911 1942 1941 - 1912 1913 1943 - 1912 1943 1942 - 1913 1944 1943 - 1913 1914 1944 - 1914 1941 1944 - 1916 1915 1945 - 1946 1915 1917 - 1946 1945 1915 - 1916 1945 1947 - 1918 1916 1947 - 1917 1918 1948 - 1917 1948 1946 - 1918 1947 1948 - 1949 1920 1919 - 1950 1949 1919 - 1950 1919 1924 - 1921 1920 1951 - 1951 1920 1952 - 1953 1952 1920 - 1949 1953 1920 - 1922 1921 1951 - 1954 1955 1922 - 1955 1923 1922 - 1922 1951 1954 - 1956 1952 1923 - 1955 1956 1923 - 1952 1924 1923 - 1957 1950 1924 - 1924 1952 1957 - 1928 1925 1958 - 1925 1926 1959 - 1925 1959 1958 - 1926 1927 1960 - 1926 1960 1959 - 1927 1928 1961 - 1927 1961 1960 - 1928 1958 1961 - 1962 1963 1929 - 1962 1929 1932 - 1963 1930 1929 - 1963 1964 1930 - 1964 1931 1930 - 1964 1965 1931 - 1965 1932 1931 - 1965 1962 1932 - 1936 1933 1934 - 1936 1934 1935 - 1940 1938 1937 - 1940 1939 1938 - 1944 1941 1966 - 1941 1942 1967 - 1941 1967 1966 - 1942 1943 1968 - 1942 1968 1967 - 1943 1944 1969 - 1943 1969 1968 - 1944 1966 1969 - 1947 1945 1946 - 1947 1946 1948 - 1970 1949 1950 - 1970 1971 1949 - 1971 1953 1949 - 1972 1970 1950 - 1972 1950 1957 - 1973 1954 1951 - 1956 1951 1952 - 1974 1973 1951 - 1974 1951 1956 - 1952 1953 1957 - 1957 1953 1975 - 1953 1971 1975 - 1976 1955 1954 - 1973 1976 1954 - 1977 1956 1955 - 1976 1977 1955 - 1977 1974 1956 - 1975 1972 1957 - 1961 1958 1978 - 1958 1959 1979 - 1958 1979 1978 - 1959 1960 1980 - 1959 1980 1979 - 1960 1961 1981 - 1960 1981 1980 - 1961 1978 1981 - 1982 1983 1962 - 1982 1962 1965 - 1983 1963 1962 - 1983 1984 1963 - 1984 1964 1963 - 1984 1985 1964 - 1985 1965 1964 - 1985 1982 1965 - 1967 1969 1966 - 1967 1968 1969 - 1986 1987 1970 - 1986 1970 1972 - 1987 1971 1970 - 1975 1971 1988 - 1971 1987 1988 - 1989 1972 1975 - 1989 1986 1972 - 1990 1973 1974 - 1991 1976 1973 - 1990 1991 1973 - 1992 1974 1977 - 1992 1990 1974 - 1988 1989 1975 - 1993 1977 1976 - 1991 1993 1976 - 1993 1992 1977 - 1981 1978 1994 - 1978 1979 1995 - 1978 1995 1994 - 1979 1980 1996 - 1979 1996 1995 - 1980 1981 1997 - 1980 1997 1996 - 1981 1994 1997 - 1998 1999 1982 - 1999 1983 1982 - 1998 1982 1985 - 1999 2000 1983 - 2000 1984 1983 - 2000 2001 1984 - 2001 1985 1984 - 2001 1998 1985 - 2002 1987 1986 - 2003 2002 1986 - 2003 1986 1989 - 1988 1987 2004 - 1987 2002 2004 - 2005 1989 1988 - 2005 1988 2004 - 2005 2003 1989 - 2006 1990 1992 - 2007 1991 1990 - 2006 2007 1990 - 2008 1993 1991 - 2007 2008 1991 - 2009 2006 1992 - 2009 1992 1993 - 2008 2009 1993 - 1995 1997 1994 - 1995 1996 1997 - 2001 1999 1998 - 2001 2000 1999 - 2004 2002 2003 - 2005 2004 2003 - 2010 2006 2009 - 2011 2007 2006 - 2010 2011 2006 - 2012 2008 2007 - 2011 2012 2007 - 2013 2009 2008 - 2012 2013 2008 - 2013 2010 2009 - 2011 2010 2013 - 2011 2013 2012 - 2014 2015 2016 - 2017 2018 2014 - 2017 2014 2019 - 2018 2015 2014 - 2019 2014 2020 - 2014 2016 2020 - 2018 2021 2015 - 2021 2022 2015 - 2015 2022 2023 - 2015 2023 2016 - 2016 2023 2020 - 2024 2025 2017 - 2024 2017 2026 - 2025 2018 2017 - 2026 2017 2019 - 2025 2027 2018 - 2027 2021 2018 - 2019 2028 2026 - 2019 2029 2028 - 2019 2020 2029 - 2023 2029 2020 - 2027 2030 2021 - 2030 2031 2021 - 2021 2031 2022 - 2031 2032 2022 - 2022 2032 2033 - 2022 2033 2023 - 2023 2033 2029 - 2034 2035 2024 - 2035 2025 2024 - 2034 2024 2036 - 2036 2024 2026 - 2035 2037 2025 - 2037 2027 2025 - 2036 2026 2038 - 2038 2026 2028 - 2037 2039 2027 - 2039 2030 2027 - 2038 2028 2032 - 2032 2028 2040 - 2028 2029 2040 - 2033 2040 2029 - 2039 2041 2030 - 2041 2042 2030 - 2030 2042 2031 - 2042 2038 2031 - 2031 2038 2032 - 2032 2040 2033 - 2043 2044 2034 - 2043 2034 2045 - 2044 2035 2034 - 2045 2034 2036 - 2046 2037 2035 - 2044 2046 2035 - 2045 2036 2042 - 2042 2036 2038 - 2046 2047 2037 - 2047 2039 2037 - 2047 2048 2039 - 2048 2041 2039 - 2048 2049 2041 - 2049 2045 2041 - 2041 2045 2042 - 2050 2051 2043 - 2050 2043 2049 - 2051 2044 2043 - 2049 2043 2045 - 2051 2052 2044 - 2052 2046 2044 - 2052 2053 2046 - 2053 2047 2046 - 2053 2054 2047 - 2054 2048 2047 - 2054 2055 2048 - 2055 2049 2048 - 2055 2050 2049 - 2056 2057 2050 - 2057 2051 2050 - 2056 2050 2055 - 2057 2058 2051 - 2058 2052 2051 - 2058 2059 2052 - 2059 2053 2052 - 2059 2060 2053 - 2060 2054 2053 - 2060 2061 2054 - 2061 2055 2054 - 2061 2056 2055 - 2062 2063 2056 - 2062 2056 2061 - 2063 2057 2056 - 2063 2064 2057 - 2064 2058 2057 - 2064 2065 2058 - 2065 2059 2058 - 2065 2066 2059 - 2066 2060 2059 - 2066 2061 2060 - 2066 2062 2061 - 2067 2068 2062 - 2068 2069 2062 - 2069 2063 2062 - 2062 2066 2070 - 2070 2067 2062 - 2069 2071 2063 - 2071 2064 2063 - 2071 2072 2064 - 2072 2065 2064 - 2072 2070 2065 - 2070 2066 2065 - 2073 2067 2070 - 2073 2074 2067 - 2068 2067 2074 - 2075 2069 2068 - 2075 2068 2074 - 2075 2076 2069 - 2076 2071 2069 - 2077 2073 2070 - 2077 2070 2072 - 2076 2078 2071 - 2078 2072 2071 - 2078 2077 2072 - 2079 2080 2073 - 2079 2073 2077 - 2080 2074 2073 - 2080 2081 2074 - 2075 2074 2081 - 2081 2082 2075 - 2082 2076 2075 - 2082 2083 2076 - 2083 2078 2076 - 2084 2079 2077 - 2084 2077 2078 - 2083 2084 2078 - 2085 2086 2079 - 2085 2079 2084 - 2086 2080 2079 - 2086 2087 2080 - 2087 2081 2080 - 2087 2088 2081 - 2088 2082 2081 - 2088 2089 2082 - 2089 2083 2082 - 2089 2090 2083 - 2090 2084 2083 - 2090 2085 2084 - 2091 2092 2085 - 2091 2085 2090 - 2092 2086 2085 - 2092 2093 2086 - 2093 2087 2086 - 2093 2094 2087 - 2094 2088 2087 - 2094 2095 2088 - 2095 2089 2088 - 2095 2096 2089 - 2096 2090 2089 - 2096 2091 2090 - 2097 2098 2091 - 2097 2091 2096 - 2098 2092 2091 - 2098 2099 2092 - 2093 2092 2099 - 2094 2093 2099 - 2099 2100 2094 - 2100 2095 2094 - 2100 2101 2095 - 2101 2096 2095 - 2101 2097 2096 - 2102 2103 2097 - 2102 2097 2101 - 2103 2098 2097 - 2103 2104 2098 - 2104 2099 2098 - 2105 2106 2099 - 2106 2100 2099 - 2104 2105 2099 - 2106 2107 2100 - 2107 2101 2100 - 2107 2102 2101 - 2106 2103 2102 - 2106 2102 2107 - 2106 2104 2103 - 2106 2105 2104 - 2108 2109 2110 - 2108 2111 2112 - 2108 2112 2109 - 2113 2114 2108 - 2108 2110 2115 - 2114 2111 2108 - 2113 2108 2115 - 2116 2117 2109 - 2116 2109 2112 - 2117 2110 2109 - 2117 2118 2110 - 2118 2115 2110 - 2114 2119 2111 - 2119 2112 2111 - 2119 2116 2112 - 2118 2113 2115 - 2120 2121 2113 - 2120 2113 2118 - 2121 2114 2113 - 2121 2122 2114 - 2119 2114 2122 - 2123 2124 2116 - 2123 2116 2119 - 2124 2117 2116 - 2124 2125 2117 - 2125 2118 2117 - 2125 2120 2118 - 2122 2123 2119 - 2126 2127 2120 - 2126 2120 2125 - 2127 2121 2120 - 2127 2128 2121 - 2128 2122 2121 - 2128 2129 2122 - 2129 2123 2122 - 2129 2130 2123 - 2130 2124 2123 - 2130 2131 2124 - 2131 2125 2124 - 2131 2126 2125 - 2132 2133 2126 - 2132 2126 2131 - 2133 2127 2126 - 2133 2134 2127 - 2134 2128 2127 - 2134 2135 2128 - 2135 2129 2128 - 2135 2136 2129 - 2136 2130 2129 - 2136 2137 2130 - 2137 2131 2130 - 2137 2132 2131 - 2138 2139 2132 - 2138 2132 2137 - 2139 2133 2132 - 2139 2140 2133 - 2140 2134 2133 - 2140 2141 2134 - 2141 2135 2134 - 2141 2142 2135 - 2142 2136 2135 - 2142 2143 2136 - 2143 2137 2136 - 2143 2138 2137 - 2144 2145 2138 - 2144 2138 2143 - 2145 2139 2138 - 2145 2146 2139 - 2146 2140 2139 - 2146 2147 2140 - 2141 2140 2147 - 2147 2148 2141 - 2148 2142 2141 - 2148 2149 2142 - 2149 2143 2142 - 2149 2144 2143 - 2150 2151 2144 - 2151 2145 2144 - 2150 2144 2149 - 2151 2152 2145 - 2152 2146 2145 - 2152 2153 2146 - 2153 2147 2146 - 2153 2154 2147 - 2154 2148 2147 - 2154 2155 2148 - 2155 2149 2148 - 2155 2150 2149 - 2156 2157 2150 - 2156 2150 2155 - 2157 2151 2150 - 2157 2158 2151 - 2158 2152 2151 - 2158 2159 2152 - 2159 2153 2152 - 2159 2160 2153 - 2160 2154 2153 - 2160 2161 2154 - 2161 2155 2154 - 2161 2156 2155 - 2162 2156 2163 - 2163 2156 2161 - 2162 2157 2156 - 2162 2164 2157 - 2164 2158 2157 - 2164 2165 2158 - 2165 2159 2158 - 2165 2166 2159 - 2166 2160 2159 - 2166 2167 2160 - 2167 2161 2160 - 2167 2163 2161 - 2162 2163 2168 - 2168 2169 2162 - 2169 2164 2162 - 2170 2168 2163 - 2170 2163 2167 - 2169 2171 2164 - 2171 2165 2164 - 2171 2172 2165 - 2172 2166 2165 - 2172 2173 2166 - 2173 2167 2166 - 2173 2170 2167 - 2174 2168 2170 - 2174 2175 2168 - 2169 2168 2175 - 2175 2176 2169 - 2176 2171 2169 - 2177 2174 2170 - 2177 2170 2173 - 2176 2178 2171 - 2178 2172 2171 - 2178 2179 2172 - 2179 2173 2172 - 2179 2177 2173 - 2180 2174 2177 - 2180 2181 2174 - 2181 2175 2174 - 2181 2182 2175 - 2176 2175 2182 - 2182 2183 2176 - 2183 2178 2176 - 2184 2180 2177 - 2184 2177 2179 - 2183 2185 2178 - 2185 2179 2178 - 2185 2184 2179 - 2186 2180 2184 - 2186 2187 2180 - 2187 2181 2180 - 2187 2188 2181 - 2188 2182 2181 - 2188 2189 2182 - 2189 2183 2182 - 2189 2190 2183 - 2190 2185 2183 - 2191 2186 2184 - 2191 2184 2185 - 2190 2191 2185 - 2192 2186 2191 - 2192 2193 2186 - 2193 2187 2186 - 2193 2194 2187 - 2194 2188 2187 - 2194 2195 2188 - 2195 2189 2188 - 2195 2196 2189 - 2190 2189 2196 - 2197 2191 2190 - 2196 2197 2190 - 2197 2192 2191 - 2198 2192 2197 - 2198 2199 2192 - 2199 2193 2192 - 2199 2200 2193 - 2200 2194 2193 - 2200 2201 2194 - 2201 2195 2194 - 2201 2202 2195 - 2202 2196 2195 - 2197 2196 2203 - 2202 2203 2196 - 2203 2198 2197 - 2203 2199 2198 - 2200 2199 2203 - 2202 2200 2203 - 2202 2201 2200 - 2204 2205 2206 - 2204 2207 2208 - 2204 2208 2205 - 2209 2210 2204 - 2209 2204 2206 - 2210 2207 2204 - 2211 2212 2205 - 2211 2205 2208 - 2212 2206 2205 - 2212 2209 2206 - 2210 2213 2207 - 2213 2208 2207 - 2213 2211 2208 - 2214 2215 2209 - 2214 2209 2212 - 2215 2210 2209 - 2215 2216 2210 - 2216 2213 2210 - 2217 2218 2211 - 2218 2212 2211 - 2217 2211 2213 - 2218 2214 2212 - 2216 2217 2213 - 2219 2220 2214 - 2219 2214 2218 - 2220 2215 2214 - 2220 2221 2215 - 2221 2216 2215 - 2221 2222 2216 - 2222 2217 2216 - 2222 2223 2217 - 2223 2218 2217 - 2223 2219 2218 - 2224 2225 2219 - 2225 2220 2219 - 2224 2219 2223 - 2225 2226 2220 - 2226 2221 2220 - 2226 2227 2221 - 2227 2222 2221 - 2227 2228 2222 - 2228 2223 2222 - 2228 2224 2223 - 2229 2230 2224 - 2229 2224 2228 - 2230 2225 2224 - 2230 2231 2225 - 2231 2226 2225 - 2231 2232 2226 - 2232 2227 2226 - 2232 2233 2227 - 2233 2228 2227 - 2233 2229 2228 - 2234 2235 2229 - 2234 2229 2233 - 2235 2230 2229 - 2235 2236 2230 - 2236 2231 2230 - 2236 2237 2231 - 2237 2232 2231 - 2237 2238 2232 - 2238 2233 2232 - 2238 2234 2233 - 2239 2240 2234 - 2239 2234 2238 - 2240 2235 2234 - 2240 2241 2235 - 2241 2236 2235 - 2241 2242 2236 - 2242 2237 2236 - 2242 2243 2237 - 2243 2238 2237 - 2243 2239 2238 - 2244 2245 2239 - 2244 2239 2243 - 2245 2240 2239 - 2245 2246 2240 - 2246 2241 2240 - 2246 2247 2241 - 2247 2242 2241 - 2247 2248 2242 - 2248 2243 2242 - 2248 2244 2243 - 2249 2250 2244 - 2249 2244 2248 - 2250 2245 2244 - 2251 2246 2245 - 2252 2251 2245 - 2250 2252 2245 - 2246 2251 2253 - 2253 2247 2246 - 2253 2254 2247 - 2254 2248 2247 - 2254 2249 2248 - 2249 2252 2250 - 2249 2254 2253 - 2249 2253 2252 - 2251 2252 2253 - 2255 2256 2257 - 2255 2258 2259 - 2260 2261 2255 - 2255 2259 2256 - 2260 2255 2257 - 2261 2258 2255 - 2256 2262 2257 - 2263 2264 2256 - 2263 2256 2259 - 2264 2262 2256 - 2265 2260 2257 - 2265 2257 2262 - 2261 2266 2258 - 2266 2259 2258 - 2266 2263 2259 - 2267 2268 2260 - 2268 2261 2260 - 2267 2260 2265 - 2268 2269 2261 - 2269 2266 2261 - 2264 2265 2262 - 2270 2271 2263 - 2270 2263 2266 - 2271 2264 2263 - 2271 2272 2264 - 2272 2265 2264 - 2272 2267 2265 - 2269 2270 2266 - 2273 2274 2267 - 2273 2267 2272 - 2274 2268 2267 - 2274 2275 2268 - 2275 2269 2268 - 2275 2276 2269 - 2276 2270 2269 - 2276 2277 2270 - 2277 2271 2270 - 2277 2278 2271 - 2278 2272 2271 - 2278 2273 2272 - 2279 2280 2273 - 2279 2273 2278 - 2280 2274 2273 - 2280 2281 2274 - 2281 2275 2274 - 2281 2282 2275 - 2282 2276 2275 - 2282 2283 2276 - 2283 2277 2276 - 2283 2284 2277 - 2284 2278 2277 - 2284 2279 2278 - 2285 2286 2279 - 2285 2279 2284 - 2286 2280 2279 - 2286 2287 2280 - 2287 2281 2280 - 2287 2288 2281 - 2288 2282 2281 - 2288 2289 2282 - 2289 2283 2282 - 2289 2290 2283 - 2290 2284 2283 - 2290 2285 2284 - 2291 2292 2285 - 2291 2285 2290 - 2292 2286 2285 - 2292 2293 2286 - 2293 2287 2286 - 2293 2294 2287 - 2294 2288 2287 - 2294 2295 2288 - 2295 2289 2288 - 2295 2296 2289 - 2296 2290 2289 - 2296 2291 2290 - 2297 2298 2291 - 2297 2291 2296 - 2298 2292 2291 - 2298 2299 2292 - 2299 2293 2292 - 2299 2300 2293 - 2300 2294 2293 - 2300 2301 2294 - 2301 2295 2294 - 2301 2302 2295 - 2302 2296 2295 - 2302 2297 2296 - 2303 2304 2297 - 2304 2298 2297 - 2303 2297 2302 - 2304 2305 2298 - 2305 2299 2298 - 2305 2306 2299 - 2306 2300 2299 - 2306 2307 2300 - 2307 2301 2300 - 2307 2308 2301 - 2308 2302 2301 - 2308 2303 2302 - 2309 2310 2303 - 2309 2303 2308 - 2310 2304 2303 - 2310 2311 2304 - 2311 2305 2304 - 2311 2312 2305 - 2312 2306 2305 - 2312 2313 2306 - 2313 2307 2306 - 2313 2314 2307 - 2314 2308 2307 - 2314 2309 2308 - 2315 2316 2309 - 2315 2309 2314 - 2316 2310 2309 - 2316 2317 2310 - 2317 2311 2310 - 2317 2318 2311 - 2318 2312 2311 - 2318 2319 2312 - 2319 2313 2312 - 2319 2320 2313 - 2320 2314 2313 - 2320 2315 2314 - 2321 2322 2315 - 2321 2315 2320 - 2322 2316 2315 - 2322 2323 2316 - 2323 2317 2316 - 2323 2324 2317 - 2324 2318 2317 - 2324 2325 2318 - 2325 2319 2318 - 2325 2326 2319 - 2326 2320 2319 - 2321 2320 2326 - 2327 2328 2321 - 2327 2321 2326 - 2328 2322 2321 - 2328 2329 2322 - 2329 2323 2322 - 2329 2330 2323 - 2330 2324 2323 - 2330 2331 2324 - 2331 2325 2324 - 2331 2332 2325 - 2332 2326 2325 - 2332 2327 2326 - 2333 2334 2327 - 2333 2327 2332 - 2334 2328 2327 - 2334 2335 2328 - 2335 2329 2328 - 2335 2336 2329 - 2336 2330 2329 - 2336 2337 2330 - 2337 2331 2330 - 2337 2338 2331 - 2338 2332 2331 - 2338 2333 2332 - 2339 2340 2333 - 2340 2334 2333 - 2339 2333 2338 - 2340 2341 2334 - 2341 2335 2334 - 2341 2342 2335 - 2342 2336 2335 - 2342 2343 2336 - 2343 2337 2336 - 2343 2344 2337 - 2344 2338 2337 - 2344 2339 2338 - 2345 2339 2346 - 2346 2339 2344 - 2345 2340 2339 - 2345 2347 2340 - 2347 2341 2340 - 2347 2348 2341 - 2348 2342 2341 - 2348 2349 2342 - 2349 2343 2342 - 2349 2350 2343 - 2350 2344 2343 - 2350 2346 2344 - 2350 2345 2346 - 2348 2347 2345 - 2348 2345 2350 - 2348 2350 2349 - 2351 2352 2353 - 2354 2351 2355 - 2351 2354 2356 - 2351 2353 2355 - 2351 2356 2352 - 2352 2356 2357 - 2352 2357 2353 - 2355 2353 2358 - 2353 2357 2359 - 2353 2359 2358 - 2356 2354 2360 - 2354 2355 2360 - 2360 2355 2361 - 2355 2358 2361 - 2356 2360 2357 - 2357 2360 2362 - 2357 2362 2359 - 2361 2358 2363 - 2358 2359 2364 - 2358 2364 2363 - 2359 2362 2365 - 2359 2365 2364 - 2360 2361 2362 - 2362 2361 2366 - 2361 2363 2366 - 2362 2366 2365 - 2366 2363 2367 - 2363 2364 2368 - 2363 2368 2367 - 2364 2365 2369 - 2364 2369 2368 - 2365 2366 2370 - 2365 2370 2369 - 2366 2367 2370 - 2370 2367 2371 - 2367 2368 2372 - 2367 2372 2371 - 2368 2369 2373 - 2368 2373 2372 - 2369 2370 2374 - 2369 2374 2373 - 2370 2371 2374 - 2374 2371 2375 - 2371 2372 2376 - 2371 2376 2375 - 2372 2373 2377 - 2372 2377 2376 - 2373 2374 2378 - 2373 2378 2377 - 2374 2375 2378 - 2378 2375 2379 - 2375 2376 2380 - 2375 2380 2379 - 2376 2377 2381 - 2376 2381 2380 - 2377 2378 2382 - 2377 2382 2381 - 2378 2379 2382 - 2382 2379 2383 - 2379 2380 2384 - 2379 2384 2383 - 2380 2381 2385 - 2380 2385 2384 - 2381 2382 2386 - 2381 2386 2385 - 2382 2383 2386 - 2386 2383 2387 - 2383 2384 2388 - 2383 2388 2387 - 2384 2385 2389 - 2384 2389 2388 - 2385 2386 2390 - 2385 2390 2389 - 2386 2387 2390 - 2390 2387 2391 - 2387 2388 2392 - 2387 2392 2391 - 2388 2389 2393 - 2388 2393 2392 - 2389 2390 2394 - 2389 2394 2393 - 2390 2391 2394 - 2394 2391 2395 - 2391 2392 2396 - 2391 2396 2395 - 2392 2393 2397 - 2392 2397 2396 - 2393 2394 2398 - 2393 2398 2397 - 2394 2395 2398 - 2398 2395 2399 - 2395 2396 2400 - 2395 2400 2399 - 2396 2397 2401 - 2396 2401 2400 - 2397 2398 2402 - 2397 2402 2401 - 2398 2399 2402 - 2402 2399 2403 - 2399 2400 2404 - 2399 2404 2403 - 2400 2401 2405 - 2400 2405 2404 - 2401 2402 2406 - 2401 2406 2405 - 2402 2403 2406 - 2406 2403 2407 - 2403 2404 2408 - 2403 2408 2407 - 2404 2405 2409 - 2404 2409 2408 - 2405 2406 2410 - 2405 2410 2409 - 2406 2407 2410 - 2410 2407 2411 - 2407 2408 2412 - 2407 2412 2411 - 2408 2409 2413 - 2408 2413 2412 - 2409 2410 2414 - 2409 2414 2413 - 2410 2411 2414 - 2413 2414 2411 - 2413 2411 2412 - 2415 2416 2417 - 2418 2415 2419 - 2415 2417 2420 - 2415 2418 2416 - 2419 2415 2420 - 2416 2421 2422 - 2418 2423 2416 - 2417 2416 2422 - 2416 2423 2421 - 2420 2417 2424 - 2417 2422 2425 - 2424 2417 2425 - 2419 2423 2418 - 2419 2424 2423 - 2419 2420 2424 - 2421 2426 2427 - 2423 2428 2421 - 2422 2421 2427 - 2421 2428 2426 - 2422 2427 2429 - 2425 2422 2429 - 2423 2424 2428 - 2424 2425 2428 - 2425 2429 2430 - 2428 2425 2430 - 2426 2431 2432 - 2428 2430 2426 - 2427 2426 2432 - 2426 2430 2431 - 2427 2432 2433 - 2429 2427 2433 - 2429 2433 2434 - 2430 2429 2434 - 2430 2434 2431 - 2431 2435 2436 - 2432 2431 2436 - 2431 2434 2435 - 2432 2436 2437 - 2433 2432 2437 - 2433 2437 2438 - 2434 2433 2438 - 2434 2438 2435 - 2435 2439 2440 - 2436 2435 2440 - 2435 2438 2439 - 2436 2440 2441 - 2437 2436 2441 - 2437 2441 2442 - 2438 2437 2442 - 2438 2442 2439 - 2439 2443 2444 - 2440 2439 2444 - 2439 2442 2443 - 2440 2444 2445 - 2441 2440 2445 - 2441 2445 2446 - 2442 2441 2446 - 2442 2446 2443 - 2443 2447 2448 - 2444 2443 2448 - 2443 2446 2447 - 2444 2448 2449 - 2445 2444 2449 - 2445 2449 2450 - 2446 2445 2450 - 2446 2450 2447 - 2447 2451 2452 - 2448 2447 2452 - 2447 2450 2451 - 2448 2452 2453 - 2449 2448 2453 - 2449 2453 2454 - 2450 2449 2454 - 2450 2454 2451 - 2451 2455 2456 - 2452 2451 2456 - 2451 2454 2455 - 2452 2456 2457 - 2453 2452 2457 - 2453 2457 2458 - 2454 2453 2458 - 2454 2458 2455 - 2455 2459 2460 - 2456 2455 2460 - 2455 2458 2459 - 2456 2460 2461 - 2457 2456 2461 - 2457 2461 2462 - 2458 2457 2462 - 2458 2462 2459 - 2459 2463 2464 - 2460 2459 2464 - 2459 2462 2463 - 2460 2464 2465 - 2461 2460 2465 - 2461 2465 2466 - 2462 2461 2466 - 2462 2466 2463 - 2463 2467 2468 - 2464 2463 2468 - 2463 2466 2467 - 2464 2468 2469 - 2465 2464 2469 - 2465 2469 2470 - 2466 2465 2470 - 2466 2470 2467 - 2467 2471 2472 - 2468 2467 2472 - 2467 2470 2471 - 2468 2472 2473 - 2469 2468 2473 - 2469 2473 2474 - 2470 2469 2474 - 2470 2474 2471 - 2471 2475 2476 - 2472 2471 2476 - 2471 2474 2475 - 2472 2476 2477 - 2473 2472 2477 - 2473 2477 2478 - 2474 2473 2478 - 2474 2478 2475 - 2477 2476 2475 - 2475 2478 2477 - 2479 2480 2481 - 2482 2479 2483 - 2484 2480 2479 - 2479 2481 2483 - 2484 2479 2482 - 2480 2485 2486 - 2484 2485 2480 - 2480 2486 2481 - 2483 2481 2487 - 2481 2486 2488 - 2481 2488 2487 - 2489 2482 2490 - 2482 2483 2490 - 2484 2482 2489 - 2490 2483 2491 - 2483 2487 2491 - 2485 2484 2492 - 2484 2489 2493 - 2484 2493 2492 - 2485 2492 2486 - 2486 2492 2494 - 2486 2494 2488 - 2491 2487 2495 - 2487 2488 2496 - 2487 2496 2495 - 2488 2494 2497 - 2488 2497 2496 - 2489 2490 2493 - 2493 2490 2498 - 2490 2491 2498 - 2498 2491 2499 - 2491 2495 2499 - 2492 2493 2500 - 2492 2500 2494 - 2493 2498 2500 - 2494 2500 2501 - 2494 2501 2497 - 2499 2495 2502 - 2495 2496 2503 - 2495 2503 2502 - 2496 2497 2504 - 2496 2504 2503 - 2497 2501 2505 - 2497 2505 2504 - 2500 2498 2506 - 2498 2499 2506 - 2506 2499 2507 - 2499 2502 2507 - 2500 2506 2501 - 2501 2506 2508 - 2501 2508 2505 - 2507 2502 2509 - 2502 2503 2510 - 2502 2510 2509 - 2503 2504 2511 - 2503 2511 2510 - 2504 2505 2512 - 2504 2512 2511 - 2505 2508 2513 - 2505 2513 2512 - 2506 2507 2508 - 2508 2507 2514 - 2507 2509 2514 - 2508 2514 2513 - 2514 2509 2515 - 2509 2510 2516 - 2509 2516 2515 - 2511 2517 2510 - 2510 2517 2516 - 2511 2512 2518 - 2511 2518 2517 - 2512 2513 2519 - 2512 2519 2518 - 2513 2514 2520 - 2513 2520 2519 - 2514 2515 2520 - 2520 2515 2521 - 2515 2516 2522 - 2515 2522 2521 - 2516 2517 2523 - 2516 2523 2522 - 2517 2518 2524 - 2517 2524 2523 - 2518 2519 2525 - 2518 2525 2524 - 2519 2520 2526 - 2519 2526 2525 - 2520 2521 2526 - 2526 2521 2527 - 2521 2522 2528 - 2521 2528 2527 - 2522 2523 2529 - 2522 2529 2528 - 2523 2524 2530 - 2523 2530 2529 - 2524 2525 2531 - 2524 2531 2530 - 2525 2526 2532 - 2525 2532 2531 - 2526 2527 2532 - 2532 2527 2533 - 2527 2528 2534 - 2527 2534 2533 - 2528 2529 2535 - 2528 2535 2534 - 2529 2530 2536 - 2529 2536 2535 - 2530 2531 2537 - 2530 2537 2536 - 2531 2532 2538 - 2531 2538 2537 - 2532 2533 2538 - 2538 2533 2539 - 2533 2534 2540 - 2533 2540 2539 - 2534 2535 2541 - 2534 2541 2540 - 2535 2536 2542 - 2535 2542 2541 - 2536 2537 2543 - 2536 2543 2542 - 2537 2538 2544 - 2537 2544 2543 - 2538 2539 2544 - 2544 2539 2545 - 2539 2540 2546 - 2539 2546 2545 - 2540 2541 2547 - 2540 2547 2546 - 2541 2542 2548 - 2541 2548 2547 - 2542 2543 2549 - 2542 2549 2548 - 2543 2544 2550 - 2543 2550 2549 - 2544 2545 2550 - 2550 2545 2551 - 2545 2546 2552 - 2545 2552 2551 - 2546 2547 2553 - 2553 2552 2546 - 2547 2548 2554 - 2547 2554 2553 - 2548 2549 2555 - 2548 2555 2554 - 2549 2550 2556 - 2549 2556 2555 - 2550 2551 2556 - 2556 2551 2557 - 2551 2552 2558 - 2551 2558 2557 - 2552 2553 2559 - 2552 2559 2558 - 2553 2554 2560 - 2553 2560 2559 - 2554 2555 2561 - 2554 2561 2560 - 2555 2556 2562 - 2555 2562 2561 - 2556 2557 2562 - 2562 2557 2563 - 2557 2558 2564 - 2557 2564 2563 - 2558 2559 2565 - 2558 2565 2564 - 2559 2560 2566 - 2559 2566 2565 - 2560 2561 2567 - 2560 2567 2566 - 2561 2562 2568 - 2561 2568 2567 - 2562 2563 2568 - 2568 2563 2569 - 2563 2564 2570 - 2563 2570 2569 - 2564 2565 2571 - 2564 2571 2570 - 2565 2566 2572 - 2565 2572 2571 - 2566 2567 2573 - 2566 2573 2572 - 2567 2568 2574 - 2567 2574 2573 - 2568 2569 2574 - 2574 2569 2570 - 2574 2570 2571 - 2571 2572 2573 - 2574 2571 2573 - 2575 2576 2577 - 2578 2575 2579 - 2575 2578 2580 - 2575 2577 2579 - 2575 2580 2581 - 2575 2581 2576 - 2576 2582 2583 - 2581 2582 2576 - 2576 2583 2577 - 2579 2577 2584 - 2577 2583 2585 - 2577 2585 2584 - 2580 2578 2586 - 2578 2579 2586 - 2586 2579 2587 - 2579 2584 2587 - 2581 2580 2588 - 2580 2586 2588 - 2582 2581 2589 - 2581 2588 2589 - 2582 2589 2583 - 2583 2589 2590 - 2583 2590 2585 - 2587 2584 2591 - 2584 2585 2592 - 2584 2592 2591 - 2585 2590 2593 - 2585 2593 2592 - 2588 2586 2594 - 2586 2587 2594 - 2594 2587 2595 - 2587 2591 2595 - 2589 2588 2596 - 2588 2594 2596 - 2589 2596 2590 - 2590 2596 2597 - 2590 2597 2593 - 2595 2591 2598 - 2591 2592 2599 - 2591 2599 2598 - 2592 2593 2600 - 2592 2600 2599 - 2593 2597 2601 - 2593 2601 2600 - 2596 2594 2602 - 2594 2595 2602 - 2602 2595 2603 - 2595 2598 2603 - 2596 2602 2597 - 2597 2602 2604 - 2597 2604 2601 - 2603 2598 2605 - 2598 2599 2606 - 2598 2606 2605 - 2599 2600 2607 - 2599 2607 2606 - 2600 2601 2608 - 2600 2608 2607 - 2601 2604 2609 - 2601 2609 2608 - 2602 2603 2604 - 2604 2603 2610 - 2603 2605 2610 - 2604 2610 2609 - 2610 2605 2611 - 2605 2606 2612 - 2605 2612 2611 - 2606 2607 2613 - 2606 2613 2612 - 2607 2608 2614 - 2607 2614 2613 - 2608 2609 2615 - 2608 2615 2614 - 2609 2610 2616 - 2609 2616 2615 - 2610 2611 2616 - 2616 2611 2617 - 2611 2612 2618 - 2611 2618 2617 - 2612 2613 2619 - 2612 2619 2618 - 2613 2614 2620 - 2613 2620 2619 - 2614 2615 2621 - 2614 2621 2620 - 2615 2616 2622 - 2615 2622 2621 - 2616 2617 2622 - 2622 2617 2623 - 2617 2618 2624 - 2617 2624 2623 - 2618 2619 2625 - 2618 2625 2624 - 2619 2620 2626 - 2619 2626 2625 - 2620 2621 2627 - 2620 2627 2626 - 2621 2622 2628 - 2621 2628 2627 - 2622 2623 2628 - 2628 2623 2629 - 2623 2624 2630 - 2623 2630 2629 - 2624 2625 2631 - 2624 2631 2630 - 2625 2626 2632 - 2625 2632 2631 - 2626 2627 2633 - 2626 2633 2632 - 2627 2628 2634 - 2627 2634 2633 - 2628 2629 2634 - 2634 2629 2635 - 2629 2630 2636 - 2629 2636 2635 - 2630 2631 2637 - 2630 2637 2636 - 2631 2632 2638 - 2631 2638 2637 - 2632 2633 2639 - 2632 2639 2638 - 2633 2634 2640 - 2633 2640 2639 - 2634 2635 2640 - 2640 2635 2641 - 2635 2636 2642 - 2635 2642 2641 - 2636 2637 2643 - 2636 2643 2642 - 2637 2638 2644 - 2637 2644 2643 - 2638 2639 2645 - 2638 2645 2644 - 2639 2640 2646 - 2639 2646 2645 - 2640 2641 2646 - 2646 2641 2647 - 2641 2642 2648 - 2641 2648 2647 - 2642 2643 2649 - 2642 2649 2648 - 2643 2644 2650 - 2643 2650 2649 - 2644 2645 2651 - 2644 2651 2650 - 2645 2646 2652 - 2652 2651 2645 - 2646 2647 2652 - 2652 2647 2653 - 2647 2648 2654 - 2647 2654 2653 - 2648 2649 2655 - 2648 2655 2654 - 2649 2650 2656 - 2649 2656 2655 - 2650 2651 2657 - 2650 2657 2656 - 2651 2652 2658 - 2651 2658 2657 - 2652 2653 2658 - 2658 2653 2659 - 2653 2654 2660 - 2653 2660 2659 - 2654 2655 2661 - 2654 2661 2660 - 2655 2656 2662 - 2655 2662 2661 - 2656 2657 2663 - 2656 2663 2662 - 2657 2658 2664 - 2657 2664 2663 - 2658 2659 2664 - 2664 2659 2665 - 2659 2660 2666 - 2659 2666 2665 - 2660 2661 2667 - 2660 2667 2666 - 2661 2662 2668 - 2661 2668 2667 - 2662 2663 2669 - 2662 2669 2668 - 2663 2664 2670 - 2663 2670 2669 - 2664 2665 2670 - 2665 2666 2667 - 2665 2667 2670 - 2669 2670 2667 - 2669 2667 2668 - 2671 2672 2673 - 2674 2671 2675 - 2671 2674 2676 - 2671 2673 2675 - 2671 2676 2677 - 2671 2677 2672 - 2672 2678 2679 - 2677 2678 2672 - 2672 2679 2673 - 2675 2673 2680 - 2673 2679 2681 - 2673 2681 2680 - 2676 2674 2682 - 2674 2675 2682 - 2682 2675 2683 - 2675 2680 2683 - 2677 2676 2684 - 2676 2682 2684 - 2678 2677 2685 - 2677 2684 2685 - 2678 2685 2679 - 2679 2685 2686 - 2679 2686 2681 - 2683 2680 2687 - 2680 2681 2688 - 2680 2688 2687 - 2681 2686 2689 - 2681 2689 2688 - 2682 2690 2684 - 2682 2683 2690 - 2690 2683 2691 - 2683 2687 2691 - 2685 2684 2692 - 2684 2690 2692 - 2685 2692 2686 - 2686 2692 2693 - 2686 2693 2689 - 2691 2687 2694 - 2687 2688 2695 - 2687 2695 2694 - 2688 2689 2696 - 2688 2696 2695 - 2689 2693 2697 - 2689 2697 2696 - 2692 2690 2698 - 2690 2691 2698 - 2698 2691 2699 - 2691 2694 2699 - 2692 2698 2693 - 2693 2698 2700 - 2693 2700 2697 - 2699 2694 2701 - 2694 2695 2702 - 2694 2702 2701 - 2695 2696 2703 - 2695 2703 2702 - 2696 2697 2704 - 2696 2704 2703 - 2697 2700 2705 - 2697 2705 2704 - 2698 2699 2700 - 2700 2699 2706 - 2699 2701 2706 - 2700 2706 2705 - 2706 2701 2707 - 2701 2702 2708 - 2701 2708 2707 - 2702 2703 2709 - 2702 2709 2708 - 2703 2704 2710 - 2703 2710 2709 - 2704 2705 2711 - 2704 2711 2710 - 2705 2706 2712 - 2705 2712 2711 - 2706 2707 2712 - 2712 2707 2713 - 2707 2708 2714 - 2707 2714 2713 - 2708 2709 2715 - 2708 2715 2714 - 2709 2710 2716 - 2709 2716 2715 - 2710 2711 2717 - 2710 2717 2716 - 2711 2712 2718 - 2711 2718 2717 - 2712 2713 2718 - 2718 2713 2719 - 2713 2714 2720 - 2713 2720 2719 - 2714 2715 2721 - 2714 2721 2720 - 2715 2716 2722 - 2715 2722 2721 - 2716 2717 2723 - 2716 2723 2722 - 2717 2718 2724 - 2717 2724 2723 - 2718 2719 2724 - 2724 2719 2725 - 2719 2720 2726 - 2719 2726 2725 - 2720 2721 2727 - 2720 2727 2726 - 2721 2722 2728 - 2721 2728 2727 - 2722 2723 2729 - 2722 2729 2728 - 2723 2724 2730 - 2723 2730 2729 - 2724 2725 2730 - 2730 2725 2731 - 2725 2726 2732 - 2725 2732 2731 - 2726 2727 2733 - 2726 2733 2732 - 2727 2728 2734 - 2727 2734 2733 - 2728 2729 2735 - 2728 2735 2734 - 2729 2730 2736 - 2729 2736 2735 - 2730 2731 2736 - 2736 2731 2737 - 2731 2732 2738 - 2731 2738 2737 - 2732 2733 2739 - 2732 2739 2738 - 2733 2734 2740 - 2733 2740 2739 - 2734 2735 2741 - 2734 2741 2740 - 2735 2736 2742 - 2735 2742 2741 - 2736 2737 2742 - 2742 2737 2743 - 2737 2738 2744 - 2737 2744 2743 - 2738 2739 2745 - 2738 2745 2744 - 2739 2740 2746 - 2739 2746 2745 - 2740 2741 2747 - 2740 2747 2746 - 2741 2742 2748 - 2741 2748 2747 - 2742 2743 2748 - 2748 2743 2749 - 2743 2744 2750 - 2743 2750 2749 - 2744 2745 2751 - 2744 2751 2750 - 2745 2746 2752 - 2745 2752 2751 - 2746 2747 2753 - 2746 2753 2752 - 2747 2748 2754 - 2747 2754 2753 - 2748 2749 2754 - 2754 2749 2755 - 2749 2750 2756 - 2749 2756 2755 - 2750 2751 2757 - 2750 2757 2756 - 2751 2752 2758 - 2751 2758 2757 - 2752 2753 2759 - 2752 2759 2758 - 2753 2754 2760 - 2760 2759 2753 - 2754 2755 2760 - 2760 2755 2761 - 2755 2756 2762 - 2755 2762 2761 - 2757 2763 2756 - 2756 2763 2762 - 2757 2758 2764 - 2757 2764 2763 - 2758 2759 2765 - 2758 2765 2764 - 2759 2760 2766 - 2759 2766 2765 - 2760 2761 2766 - 2766 2761 2764 - 2761 2762 2763 - 2761 2763 2764 - 2766 2764 2765 - - - 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72 75 78 81 84 87 90 93 96 99 102 105 108 111 114 117 120 123 126 129 132 135 138 141 144 147 150 153 156 159 162 165 168 171 174 177 180 183 186 189 192 195 198 201 204 207 210 213 216 219 222 225 228 231 234 237 240 243 246 249 252 255 258 261 264 267 270 273 276 279 282 285 288 291 294 297 300 303 306 309 312 315 318 321 324 327 330 333 336 339 342 345 348 351 354 357 360 363 366 369 372 375 378 381 384 387 390 393 396 399 402 405 408 411 414 417 420 423 426 429 432 435 438 441 444 447 450 453 456 459 462 465 468 471 474 477 480 483 486 489 492 495 498 501 504 507 510 513 516 519 522 525 528 531 534 537 540 543 546 549 552 555 558 561 564 567 570 573 576 579 582 585 588 591 594 597 600 603 606 609 612 615 618 621 624 627 630 633 636 639 642 645 648 651 654 657 660 663 666 669 672 675 678 681 684 687 690 693 696 699 702 705 708 711 714 717 720 723 726 729 732 735 738 741 744 747 750 753 756 759 762 765 768 771 774 777 780 783 786 789 792 795 798 801 804 807 810 813 816 819 822 825 828 831 834 837 840 843 846 849 852 855 858 861 864 867 870 873 876 879 882 885 888 891 894 897 900 903 906 909 912 915 918 921 924 927 930 933 936 939 942 945 948 951 954 957 960 963 966 969 972 975 978 981 984 987 990 993 996 999 1002 1005 1008 1011 1014 1017 1020 1023 1026 1029 1032 1035 1038 1041 1044 1047 1050 1053 1056 1059 1062 1065 1068 1071 1074 1077 1080 1083 1086 1089 1092 1095 1098 1101 1104 1107 1110 1113 1116 1119 1122 1125 1128 1131 1134 1137 1140 1143 1146 1149 1152 1155 1158 1161 1164 1167 1170 1173 1176 1179 1182 1185 1188 1191 1194 1197 1200 1203 1206 1209 1212 1215 1218 1221 1224 1227 1230 1233 1236 1239 1242 1245 1248 1251 1254 1257 1260 1263 1266 1269 1272 1275 1278 1281 1284 1287 1290 1293 1296 1299 1302 1305 1308 1311 1314 1317 1320 1323 1326 1329 1332 1335 1338 1341 1344 1347 1350 1353 1356 1359 1362 1365 1368 1371 1374 1377 1380 1383 1386 1389 1392 1395 1398 1401 1404 1407 1410 1413 1416 1419 1422 1425 1428 1431 1434 1437 1440 1443 1446 1449 1452 1455 1458 1461 1464 1467 1470 1473 1476 1479 1482 1485 1488 1491 1494 1497 1500 1503 1506 1509 1512 1515 1518 1521 1524 1527 1530 1533 1536 1539 1542 1545 1548 1551 1554 1557 1560 1563 1566 1569 1572 1575 1578 1581 1584 1587 1590 1593 1596 1599 1602 1605 1608 1611 1614 1617 1620 1623 1626 1629 1632 1635 1638 1641 1644 1647 1650 1653 1656 1659 1662 1665 1668 1671 1674 1677 1680 1683 1686 1689 1692 1695 1698 1701 1704 1707 1710 1713 1716 1719 1722 1725 1728 1731 1734 1737 1740 1743 1746 1749 1752 1755 1758 1761 1764 1767 1770 1773 1776 1779 1782 1785 1788 1791 1794 1797 1800 1803 1806 1809 1812 1815 1818 1821 1824 1827 1830 1833 1836 1839 1842 1845 1848 1851 1854 1857 1860 1863 1866 1869 1872 1875 1878 1881 1884 1887 1890 1893 1896 1899 1902 1905 1908 1911 1914 1917 1920 1923 1926 1929 1932 1935 1938 1941 1944 1947 1950 1953 1956 1959 1962 1965 1968 1971 1974 1977 1980 1983 1986 1989 1992 1995 1998 2001 2004 2007 2010 2013 2016 2019 2022 2025 2028 2031 2034 2037 2040 2043 2046 2049 2052 2055 2058 2061 2064 2067 2070 2073 2076 2079 2082 2085 2088 2091 2094 2097 2100 2103 2106 2109 2112 2115 2118 2121 2124 2127 2130 2133 2136 2139 2142 2145 2148 2151 2154 2157 2160 2163 2166 2169 2172 2175 2178 2181 2184 2187 2190 2193 2196 2199 2202 2205 2208 2211 2214 2217 2220 2223 2226 2229 2232 2235 2238 2241 2244 2247 2250 2253 2256 2259 2262 2265 2268 2271 2274 2277 2280 2283 2286 2289 2292 2295 2298 2301 2304 2307 2310 2313 2316 2319 2322 2325 2328 2331 2334 2337 2340 2343 2346 2349 2352 2355 2358 2361 2364 2367 2370 2373 2376 2379 2382 2385 2388 2391 2394 2397 2400 2403 2406 2409 2412 2415 2418 2421 2424 2427 2430 2433 2436 2439 2442 2445 2448 2451 2454 2457 2460 2463 2466 2469 2472 2475 2478 2481 2484 2487 2490 2493 2496 2499 2502 2505 2508 2511 2514 2517 2520 2523 2526 2529 2532 2535 2538 2541 2544 2547 2550 2553 2556 2559 2562 2565 2568 2571 2574 2577 2580 2583 2586 2589 2592 2595 2598 2601 2604 2607 2610 2613 2616 2619 2622 2625 2628 2631 2634 2637 2640 2643 2646 2649 2652 2655 2658 2661 2664 2667 2670 2673 2676 2679 2682 2685 2688 2691 2694 2697 2700 2703 2706 2709 2712 2715 2718 2721 2724 2727 2730 2733 2736 2739 2742 2745 2748 2751 2754 2757 2760 2763 2766 2769 2772 2775 2778 2781 2784 2787 2790 2793 2796 2799 2802 2805 2808 2811 2814 2817 2820 2823 2826 2829 2832 2835 2838 2841 2844 2847 2850 2853 2856 2859 2862 2865 2868 2871 2874 2877 2880 2883 2886 2889 2892 2895 2898 2901 2904 2907 2910 2913 2916 2919 2922 2925 2928 2931 2934 2937 2940 2943 2946 2949 2952 2955 2958 2961 2964 2967 2970 2973 2976 2979 2982 2985 2988 2991 2994 2997 3000 3003 3006 3009 3012 3015 3018 3021 3024 3027 3030 3033 3036 3039 3042 3045 3048 3051 3054 3057 3060 3063 3066 3069 3072 3075 3078 3081 3084 3087 3090 3093 3096 3099 3102 3105 3108 3111 3114 3117 3120 3123 3126 3129 3132 3135 3138 3141 3144 3147 3150 3153 3156 3159 3162 3165 3168 3171 3174 3177 3180 3183 3186 3189 3192 3195 3198 3201 3204 3207 3210 3213 3216 3219 3222 3225 3228 3231 3234 3237 3240 3243 3246 3249 3252 3255 3258 3261 3264 3267 3270 3273 3276 3279 3282 3285 3288 3291 3294 3297 3300 3303 3306 3309 3312 3315 3318 3321 3324 3327 3330 3333 3336 3339 3342 3345 3348 3351 3354 3357 3360 3363 3366 3369 3372 3375 3378 3381 3384 3387 3390 3393 3396 3399 3402 3405 3408 3411 3414 3417 3420 3423 3426 3429 3432 3435 3438 3441 3444 3447 3450 3453 3456 3459 3462 3465 3468 3471 3474 3477 3480 3483 3486 3489 3492 3495 3498 3501 3504 3507 3510 3513 3516 3519 3522 3525 3528 3531 3534 3537 3540 3543 3546 3549 3552 3555 3558 3561 3564 3567 3570 3573 3576 3579 3582 3585 3588 3591 3594 3597 3600 3603 3606 3609 3612 3615 3618 3621 3624 3627 3630 3633 3636 3639 3642 3645 3648 3651 3654 3657 3660 3663 3666 3669 3672 3675 3678 3681 3684 3687 3690 3693 3696 3699 3702 3705 3708 3711 3714 3717 3720 3723 3726 3729 3732 3735 3738 3741 3744 3747 3750 3753 3756 3759 3762 3765 3768 3771 3774 3777 3780 3783 3786 3789 3792 3795 3798 3801 3804 3807 3810 3813 3816 3819 3822 3825 3828 3831 3834 3837 3840 3843 3846 3849 3852 3855 3858 3861 3864 3867 3870 3873 3876 3879 3882 3885 3888 3891 3894 3897 3900 3903 3906 3909 3912 3915 3918 3921 3924 3927 3930 3933 3936 3939 3942 3945 3948 3951 3954 3957 3960 3963 3966 3969 3972 3975 3978 3981 3984 3987 3990 3993 3996 3999 4002 4005 4008 4011 4014 4017 4020 4023 4026 4029 4032 4035 4038 4041 4044 4047 4050 4053 4056 4059 4062 4065 4068 4071 4074 4077 4080 4083 4086 4089 4092 4095 4098 4101 4104 4107 4110 4113 4116 4119 4122 4125 4128 4131 4134 4137 4140 4143 4146 4149 4152 4155 4158 4161 4164 4167 4170 4173 4176 4179 4182 4185 4188 4191 4194 4197 4200 4203 4206 4209 4212 4215 4218 4221 4224 4227 4230 4233 4236 4239 4242 4245 4248 4251 4254 4257 4260 4263 4266 4269 4272 4275 4278 4281 4284 4287 4290 4293 4296 4299 4302 4305 4308 4311 4314 4317 4320 4323 4326 4329 4332 4335 4338 4341 4344 4347 4350 4353 4356 4359 4362 4365 4368 4371 4374 4377 4380 4383 4386 4389 4392 4395 4398 4401 4404 4407 4410 4413 4416 4419 4422 4425 4428 4431 4434 4437 4440 4443 4446 4449 4452 4455 4458 4461 4464 4467 4470 4473 4476 4479 4482 4485 4488 4491 4494 4497 4500 4503 4506 4509 4512 4515 4518 4521 4524 4527 4530 4533 4536 4539 4542 4545 4548 4551 4554 4557 4560 4563 4566 4569 4572 4575 4578 4581 4584 4587 4590 4593 4596 4599 4602 4605 4608 4611 4614 4617 4620 4623 4626 4629 4632 4635 4638 4641 4644 4647 4650 4653 4656 4659 4662 4665 4668 4671 4674 4677 4680 4683 4686 4689 4692 4695 4698 4701 4704 4707 4710 4713 4716 4719 4722 4725 4728 4731 4734 4737 4740 4743 4746 4749 4752 4755 4758 4761 4764 4767 4770 4773 4776 4779 4782 4785 4788 4791 4794 4797 4800 4803 4806 4809 4812 4815 4818 4821 4824 4827 4830 4833 4836 4839 4842 4845 4848 4851 4854 4857 4860 4863 4866 4869 4872 4875 4878 4881 4884 4887 4890 4893 4896 4899 4902 4905 4908 4911 4914 4917 4920 4923 4926 4929 4932 4935 4938 4941 4944 4947 4950 4953 4956 4959 4962 4965 4968 4971 4974 4977 4980 4983 4986 4989 4992 4995 4998 5001 5004 5007 5010 5013 5016 5019 5022 5025 5028 5031 5034 5037 5040 5043 5046 5049 5052 5055 5058 5061 5064 5067 5070 5073 5076 5079 5082 5085 5088 5091 5094 5097 5100 5103 5106 5109 5112 5115 5118 5121 5124 5127 5130 5133 5136 5139 5142 5145 5148 5151 5154 5157 5160 5163 5166 5169 5172 5175 5178 5181 5184 5187 5190 5193 5196 5199 5202 5205 5208 5211 5214 5217 5220 5223 5226 5229 5232 5235 5238 5241 5244 5247 5250 5253 5256 5259 5262 5265 5268 5271 5274 5277 5280 5283 5286 5289 5292 5295 5298 5301 5304 5307 5310 5313 5316 5319 5322 5325 5328 5331 5334 5337 5340 5343 5346 5349 5352 5355 5358 5361 5364 5367 5370 5373 5376 5379 5382 5385 5388 5391 5394 5397 5400 5403 5406 5409 5412 5415 5418 5421 5424 5427 5430 5433 5436 5439 5442 5445 5448 5451 5454 5457 5460 5463 5466 5469 5472 5475 5478 5481 5484 5487 5490 5493 5496 5499 5502 5505 5508 5511 5514 5517 5520 5523 5526 5529 5532 5535 5538 5541 5544 5547 5550 5553 5556 5559 5562 5565 5568 5571 5574 5577 5580 5583 5586 5589 5592 5595 5598 5601 5604 5607 5610 5613 5616 5619 5622 5625 5628 5631 5634 5637 5640 5643 5646 5649 5652 5655 5658 5661 5664 5667 5670 5673 5676 5679 5682 5685 5688 5691 5694 5697 5700 5703 5706 5709 5712 5715 5718 5721 5724 5727 5730 5733 5736 5739 5742 5745 5748 5751 5754 5757 5760 5763 5766 5769 5772 5775 5778 5781 5784 5787 5790 5793 5796 5799 5802 5805 5808 5811 5814 5817 5820 5823 5826 5829 5832 5835 5838 5841 5844 5847 5850 5853 5856 5859 5862 5865 5868 5871 5874 5877 5880 5883 5886 5889 5892 5895 5898 5901 5904 5907 5910 5913 5916 5919 5922 5925 5928 5931 5934 5937 5940 5943 5946 5949 5952 5955 5958 5961 5964 5967 5970 5973 5976 5979 5982 5985 5988 5991 5994 5997 6000 6003 6006 6009 6012 6015 6018 6021 6024 6027 6030 6033 6036 6039 6042 6045 6048 6051 6054 6057 6060 6063 6066 6069 6072 6075 6078 6081 6084 6087 6090 6093 6096 6099 6102 6105 6108 6111 6114 6117 6120 6123 6126 6129 6132 6135 6138 6141 6144 6147 6150 6153 6156 6159 6162 6165 6168 6171 6174 6177 6180 6183 6186 6189 6192 6195 6198 6201 6204 6207 6210 6213 6216 6219 6222 6225 6228 6231 6234 6237 6240 6243 6246 6249 6252 6255 6258 6261 6264 6267 6270 6273 6276 6279 6282 6285 6288 6291 6294 6297 6300 6303 6306 6309 6312 6315 6318 6321 6324 6327 6330 6333 6336 6339 6342 6345 6348 6351 6354 6357 6360 6363 6366 6369 6372 6375 6378 6381 6384 6387 6390 6393 6396 6399 6402 6405 6408 6411 6414 6417 6420 6423 6426 6429 6432 6435 6438 6441 6444 6447 6450 6453 6456 6459 6462 6465 6468 6471 6474 6477 6480 6483 6486 6489 6492 6495 6498 6501 6504 6507 6510 6513 6516 6519 6522 6525 6528 6531 6534 6537 6540 6543 6546 6549 6552 6555 6558 6561 6564 6567 6570 6573 6576 6579 6582 6585 6588 6591 6594 6597 6600 6603 6606 6609 6612 6615 6618 6621 6624 6627 6630 6633 6636 6639 6642 6645 6648 6651 6654 6657 6660 6663 6666 6669 6672 6675 6678 6681 6684 6687 6690 6693 6696 6699 6702 6705 6708 6711 6714 6717 6720 6723 6726 6729 6732 6735 6738 6741 6744 6747 6750 6753 6756 6759 6762 6765 6768 6771 6774 6777 6780 6783 6786 6789 6792 6795 6798 6801 6804 6807 6810 6813 6816 6819 6822 6825 6828 6831 6834 6837 6840 6843 6846 6849 6852 6855 6858 6861 6864 6867 6870 6873 6876 6879 6882 6885 6888 6891 6894 6897 6900 6903 6906 6909 6912 6915 6918 6921 6924 6927 6930 6933 6936 6939 6942 6945 6948 6951 6954 6957 6960 6963 6966 6969 6972 6975 6978 6981 6984 6987 6990 6993 6996 6999 7002 7005 7008 7011 7014 7017 7020 7023 7026 7029 7032 7035 7038 7041 7044 7047 7050 7053 7056 7059 7062 7065 7068 7071 7074 7077 7080 7083 7086 7089 7092 7095 7098 7101 7104 7107 7110 7113 7116 7119 7122 7125 7128 7131 7134 7137 7140 7143 7146 7149 7152 7155 7158 7161 7164 7167 7170 7173 7176 7179 7182 7185 7188 7191 7194 7197 7200 7203 7206 7209 7212 7215 7218 7221 7224 7227 7230 7233 7236 7239 7242 7245 7248 7251 7254 7257 7260 7263 7266 7269 7272 7275 7278 7281 7284 7287 7290 7293 7296 7299 7302 7305 7308 7311 7314 7317 7320 7323 7326 7329 7332 7335 7338 7341 7344 7347 7350 7353 7356 7359 7362 7365 7368 7371 7374 7377 7380 7383 7386 7389 7392 7395 7398 7401 7404 7407 7410 7413 7416 7419 7422 7425 7428 7431 7434 7437 7440 7443 7446 7449 7452 7455 7458 7461 7464 7467 7470 7473 7476 7479 7482 7485 7488 7491 7494 7497 7500 7503 7506 7509 7512 7515 7518 7521 7524 7527 7530 7533 7536 7539 7542 7545 7548 7551 7554 7557 7560 7563 7566 7569 7572 7575 7578 7581 7584 7587 7590 7593 7596 7599 7602 7605 7608 7611 7614 7617 7620 7623 7626 7629 7632 7635 7638 7641 7644 7647 7650 7653 7656 7659 7662 7665 7668 7671 7674 7677 7680 7683 7686 7689 7692 7695 7698 7701 7704 7707 7710 7713 7716 7719 7722 7725 7728 7731 7734 7737 7740 7743 7746 7749 7752 7755 7758 7761 7764 7767 7770 7773 7776 7779 7782 7785 7788 7791 7794 7797 7800 7803 7806 7809 7812 7815 7818 7821 7824 7827 7830 7833 7836 7839 7842 7845 7848 7851 7854 7857 7860 7863 7866 7869 7872 7875 7878 7881 7884 7887 7890 7893 7896 7899 7902 7905 7908 7911 7914 7917 7920 7923 7926 7929 7932 7935 7938 7941 7944 7947 7950 7953 7956 7959 7962 7965 7968 7971 7974 7977 7980 7983 7986 7989 7992 7995 7998 8001 8004 8007 8010 8013 8016 8019 8022 8025 8028 8031 8034 8037 8040 8043 8046 8049 8052 8055 8058 8061 8064 8067 8070 8073 8076 8079 8082 8085 8088 8091 8094 8097 8100 8103 8106 8109 8112 8115 8118 8121 8124 8127 8130 8133 8136 8139 8142 8145 8148 8151 8154 8157 8160 8163 8166 8169 8172 8175 8178 8181 8184 8187 8190 8193 8196 8199 8202 8205 8208 8211 8214 8217 8220 8223 8226 8229 8232 8235 8238 8241 8244 8247 8250 8253 8256 8259 8262 8265 8268 8271 8274 8277 8280 8283 8286 8289 8292 8295 8298 8301 8304 8307 8310 8313 8316 8319 8322 8325 8328 8331 8334 8337 8340 8343 8346 8349 8352 8355 8358 8361 8364 8367 8370 8373 8376 8379 8382 8385 8388 8391 8394 8397 8400 8403 8406 8409 8412 8415 8418 8421 8424 8427 8430 8433 8436 8439 8442 8445 8448 8451 8454 8457 8460 8463 8466 8469 8472 8475 8478 8481 8484 8487 8490 8493 8496 8499 8502 8505 8508 8511 8514 8517 8520 8523 8526 8529 8532 8535 8538 8541 8544 8547 8550 8553 8556 8559 8562 8565 8568 8571 8574 8577 8580 8583 8586 8589 8592 8595 8598 8601 8604 8607 8610 8613 8616 8619 8622 8625 8628 8631 8634 8637 8640 8643 8646 8649 8652 8655 8658 8661 8664 8667 8670 8673 8676 8679 8682 8685 8688 8691 8694 8697 8700 8703 8706 8709 8712 8715 8718 8721 8724 8727 8730 8733 8736 8739 8742 8745 8748 8751 8754 8757 8760 8763 8766 8769 8772 8775 8778 8781 8784 8787 8790 8793 8796 8799 8802 8805 8808 8811 8814 8817 8820 8823 8826 8829 8832 8835 8838 8841 8844 8847 8850 8853 8856 8859 8862 8865 8868 8871 8874 8877 8880 8883 8886 8889 8892 8895 8898 8901 8904 8907 8910 8913 8916 8919 8922 8925 8928 8931 8934 8937 8940 8943 8946 8949 8952 8955 8958 8961 8964 8967 8970 8973 8976 8979 8982 8985 8988 8991 8994 8997 9000 9003 9006 9009 9012 9015 9018 9021 9024 9027 9030 9033 9036 9039 9042 9045 9048 9051 9054 9057 9060 9063 9066 9069 9072 9075 9078 9081 9084 9087 9090 9093 9096 9099 9102 9105 9108 9111 9114 9117 9120 9123 9126 9129 9132 9135 9138 9141 9144 9147 9150 9153 9156 9159 9162 9165 9168 9171 9174 9177 9180 9183 9186 9189 9192 9195 9198 9201 9204 9207 9210 9213 9216 9219 9222 9225 9228 9231 9234 9237 9240 9243 9246 9249 9252 9255 9258 9261 9264 9267 9270 9273 9276 9279 9282 9285 9288 9291 9294 9297 9300 9303 9306 9309 9312 9315 9318 9321 9324 9327 9330 9333 9336 9339 9342 9345 9348 9351 9354 9357 9360 9363 9366 9369 9372 9375 9378 9381 9384 9387 9390 9393 9396 9399 9402 9405 9408 9411 9414 9417 9420 9423 9426 9429 9432 9435 9438 9441 9444 9447 9450 9453 9456 9459 9462 9465 9468 9471 9474 9477 9480 9483 9486 9489 9492 9495 9498 9501 9504 9507 9510 9513 9516 9519 9522 9525 9528 9531 9534 9537 9540 9543 9546 9549 9552 9555 9558 9561 9564 9567 9570 9573 9576 9579 9582 9585 9588 9591 9594 9597 9600 9603 9606 9609 9612 9615 9618 9621 9624 9627 9630 9633 9636 9639 9642 9645 9648 9651 9654 9657 9660 9663 9666 9669 9672 9675 9678 9681 9684 9687 9690 9693 9696 9699 9702 9705 9708 9711 9714 9717 9720 9723 9726 9729 9732 9735 9738 9741 9744 9747 9750 9753 9756 9759 9762 9765 9768 9771 9774 9777 9780 9783 9786 9789 9792 9795 9798 9801 9804 9807 9810 9813 9816 9819 9822 9825 9828 9831 9834 9837 9840 9843 9846 9849 9852 9855 9858 9861 9864 9867 9870 9873 9876 9879 9882 9885 9888 9891 9894 9897 9900 9903 9906 9909 9912 9915 9918 9921 9924 9927 9930 9933 9936 9939 9942 9945 9948 9951 9954 9957 9960 9963 9966 9969 9972 9975 9978 9981 9984 9987 9990 9993 9996 9999 10002 10005 10008 10011 10014 10017 10020 10023 10026 10029 10032 10035 10038 10041 10044 10047 10050 10053 10056 10059 10062 10065 10068 10071 10074 10077 10080 10083 10086 10089 10092 10095 10098 10101 10104 10107 10110 10113 10116 10119 10122 10125 10128 10131 10134 10137 10140 10143 10146 10149 10152 10155 10158 10161 10164 10167 10170 10173 10176 10179 10182 10185 10188 10191 10194 10197 10200 10203 10206 10209 10212 10215 10218 10221 10224 10227 10230 10233 10236 10239 10242 10245 10248 10251 10254 10257 10260 10263 10266 10269 10272 10275 10278 10281 10284 10287 10290 10293 10296 10299 10302 10305 10308 10311 10314 10317 10320 10323 10326 10329 10332 10335 10338 10341 10344 10347 10350 10353 10356 10359 10362 10365 10368 10371 10374 10377 10380 10383 10386 10389 10392 10395 10398 10401 10404 10407 10410 10413 10416 10419 10422 10425 10428 10431 10434 10437 10440 10443 10446 10449 10452 10455 10458 10461 10464 10467 10470 10473 10476 10479 10482 10485 10488 10491 10494 10497 10500 10503 10506 10509 10512 10515 10518 10521 10524 10527 10530 10533 10536 10539 10542 10545 10548 10551 10554 10557 10560 10563 10566 10569 10572 10575 10578 10581 10584 10587 10590 10593 10596 10599 10602 10605 10608 10611 10614 10617 10620 10623 10626 10629 10632 10635 10638 10641 10644 10647 10650 10653 10656 10659 10662 10665 10668 10671 10674 10677 10680 10683 10686 10689 10692 10695 10698 10701 10704 10707 10710 10713 10716 10719 10722 10725 10728 10731 10734 10737 10740 10743 10746 10749 10752 10755 10758 10761 10764 10767 10770 10773 10776 10779 10782 10785 10788 10791 10794 10797 10800 10803 10806 10809 10812 10815 10818 10821 10824 10827 10830 10833 10836 10839 10842 10845 10848 10851 10854 10857 10860 10863 10866 10869 10872 10875 10878 10881 10884 10887 10890 10893 10896 10899 10902 10905 10908 10911 10914 10917 10920 10923 10926 10929 10932 10935 10938 10941 10944 10947 10950 10953 10956 10959 10962 10965 10968 10971 10974 10977 10980 10983 10986 10989 10992 10995 10998 11001 11004 11007 11010 11013 11016 11019 11022 11025 11028 11031 11034 11037 11040 11043 11046 11049 11052 11055 11058 11061 11064 11067 11070 11073 11076 11079 11082 11085 11088 11091 11094 11097 11100 11103 11106 11109 11112 11115 11118 11121 11124 11127 11130 11133 11136 11139 11142 11145 11148 11151 11154 11157 11160 11163 11166 11169 11172 11175 11178 11181 11184 11187 11190 11193 11196 11199 11202 11205 11208 11211 11214 11217 11220 11223 11226 11229 11232 11235 11238 11241 11244 11247 11250 11253 11256 11259 11262 11265 11268 11271 11274 11277 11280 11283 11286 11289 11292 11295 11298 11301 11304 11307 11310 11313 11316 11319 11322 11325 11328 11331 11334 11337 11340 11343 11346 11349 11352 11355 11358 11361 11364 11367 11370 11373 11376 11379 11382 11385 11388 11391 11394 11397 11400 11403 11406 11409 11412 11415 11418 11421 11424 11427 11430 11433 11436 11439 11442 11445 11448 11451 11454 11457 11460 11463 11466 11469 11472 11475 11478 11481 11484 11487 11490 11493 11496 11499 11502 11505 11508 11511 11514 11517 11520 11523 11526 11529 11532 11535 11538 11541 11544 11547 11550 11553 11556 11559 11562 11565 11568 11571 11574 11577 11580 11583 11586 11589 11592 11595 11598 11601 11604 11607 11610 11613 11616 11619 11622 11625 11628 11631 11634 11637 11640 11643 11646 11649 11652 11655 11658 11661 11664 11667 11670 11673 11676 11679 11682 11685 11688 11691 11694 11697 11700 11703 11706 11709 11712 11715 11718 11721 11724 11727 11730 11733 11736 11739 11742 11745 11748 11751 11754 11757 11760 11763 11766 11769 11772 11775 11778 11781 11784 11787 11790 11793 11796 11799 11802 11805 11808 11811 11814 11817 11820 11823 11826 11829 11832 11835 11838 11841 11844 11847 11850 11853 11856 11859 11862 11865 11868 11871 11874 11877 11880 11883 11886 11889 11892 11895 11898 11901 11904 11907 11910 11913 11916 11919 11922 11925 11928 11931 11934 11937 11940 11943 11946 11949 11952 11955 11958 11961 11964 11967 11970 11973 11976 11979 11982 11985 11988 11991 11994 11997 12000 12003 12006 12009 12012 12015 12018 12021 12024 12027 12030 12033 12036 12039 12042 12045 12048 12051 12054 12057 12060 12063 12066 12069 12072 12075 12078 12081 12084 12087 12090 12093 12096 12099 12102 12105 12108 12111 12114 12117 12120 12123 12126 12129 12132 12135 12138 12141 12144 12147 12150 12153 12156 12159 12162 12165 12168 12171 12174 12177 12180 12183 12186 12189 12192 12195 12198 12201 12204 12207 12210 12213 12216 12219 12222 12225 12228 12231 12234 12237 12240 12243 12246 12249 12252 12255 12258 12261 12264 12267 12270 12273 12276 12279 12282 12285 12288 12291 12294 12297 12300 12303 12306 12309 12312 12315 12318 12321 12324 12327 12330 12333 12336 12339 12342 12345 12348 12351 12354 12357 12360 12363 12366 12369 12372 12375 12378 12381 12384 12387 12390 12393 12396 12399 12402 12405 12408 12411 12414 12417 12420 12423 12426 12429 12432 12435 12438 12441 12444 12447 12450 12453 12456 12459 12462 12465 12468 12471 12474 12477 12480 12483 12486 12489 12492 12495 12498 12501 12504 12507 12510 12513 12516 12519 12522 12525 12528 12531 12534 12537 12540 12543 12546 12549 12552 12555 12558 12561 12564 12567 12570 12573 12576 12579 12582 12585 12588 12591 12594 12597 12600 12603 12606 12609 12612 12615 12618 12621 12624 12627 12630 12633 12636 12639 12642 12645 12648 12651 12654 12657 12660 12663 12666 12669 12672 12675 12678 12681 12684 12687 12690 12693 12696 12699 12702 12705 12708 12711 12714 12717 12720 12723 12726 12729 12732 12735 12738 12741 12744 12747 12750 12753 12756 12759 12762 12765 12768 12771 12774 12777 12780 12783 12786 12789 12792 12795 12798 12801 12804 12807 12810 12813 12816 12819 12822 12825 12828 12831 12834 12837 12840 12843 12846 12849 12852 12855 12858 12861 12864 12867 12870 12873 12876 12879 12882 12885 12888 12891 12894 12897 12900 12903 12906 12909 12912 12915 12918 12921 12924 12927 12930 12933 12936 12939 12942 12945 12948 12951 12954 12957 12960 12963 12966 12969 12972 12975 12978 12981 12984 12987 12990 12993 12996 12999 13002 13005 13008 13011 13014 13017 13020 13023 13026 13029 13032 13035 13038 13041 13044 13047 13050 13053 13056 13059 13062 13065 13068 13071 13074 13077 13080 13083 13086 13089 13092 13095 13098 13101 13104 13107 13110 13113 13116 13119 13122 13125 13128 13131 13134 13137 13140 13143 13146 13149 13152 13155 13158 13161 13164 13167 13170 13173 13176 13179 13182 13185 13188 13191 13194 13197 13200 13203 13206 13209 13212 13215 13218 13221 13224 13227 13230 13233 13236 13239 13242 13245 13248 13251 13254 13257 13260 13263 13266 13269 13272 13275 13278 13281 13284 13287 13290 13293 13296 13299 13302 13305 13308 13311 13314 13317 13320 13323 13326 13329 13332 13335 13338 13341 13344 13347 13350 13353 13356 13359 13362 13365 13368 13371 13374 13377 13380 13383 13386 13389 13392 13395 13398 13401 13404 13407 13410 13413 13416 13419 13422 13425 13428 13431 13434 13437 13440 13443 13446 13449 13452 13455 13458 13461 13464 13467 13470 13473 13476 13479 13482 13485 13488 13491 13494 13497 13500 13503 13506 13509 13512 13515 13518 13521 13524 13527 13530 13533 13536 13539 13542 13545 13548 13551 13554 13557 13560 13563 13566 13569 13572 13575 13578 13581 13584 13587 13590 13593 13596 13599 13602 13605 13608 13611 13614 13617 13620 13623 13626 13629 13632 13635 13638 13641 13644 13647 13650 13653 13656 13659 13662 13665 13668 13671 13674 13677 13680 13683 13686 13689 13692 13695 13698 13701 13704 13707 13710 13713 13716 13719 13722 13725 13728 13731 13734 13737 13740 13743 13746 13749 13752 13755 13758 13761 13764 13767 13770 13773 13776 13779 13782 13785 13788 13791 13794 13797 13800 13803 13806 13809 13812 13815 13818 13821 13824 13827 13830 13833 13836 13839 13842 13845 13848 13851 13854 13857 13860 13863 13866 13869 13872 13875 13878 13881 13884 13887 13890 13893 13896 13899 13902 13905 13908 13911 13914 13917 13920 13923 13926 13929 13932 13935 13938 13941 13944 13947 13950 13953 13956 13959 13962 13965 13968 13971 13974 13977 13980 13983 13986 13989 13992 13995 13998 14001 14004 14007 14010 14013 14016 14019 14022 14025 14028 14031 14034 14037 14040 14043 14046 14049 14052 14055 14058 14061 14064 14067 14070 14073 14076 14079 14082 14085 14088 14091 14094 14097 14100 14103 14106 14109 14112 14115 14118 14121 14124 14127 14130 14133 14136 14139 14142 14145 14148 14151 14154 14157 14160 14163 14166 14169 14172 14175 14178 14181 14184 14187 14190 14193 14196 14199 14202 14205 14208 14211 14214 14217 14220 14223 14226 14229 14232 14235 14238 14241 14244 14247 14250 14253 14256 14259 14262 14265 14268 14271 14274 14277 14280 14283 14286 14289 14292 14295 14298 14301 14304 14307 14310 14313 14316 14319 14322 14325 14328 14331 14334 14337 14340 14343 14346 14349 14352 14355 14358 14361 14364 14367 14370 14373 14376 14379 14382 14385 14388 14391 14394 14397 14400 14403 14406 14409 14412 14415 14418 14421 14424 14427 14430 14433 14436 14439 14442 14445 14448 14451 14454 14457 14460 14463 14466 14469 14472 14475 14478 14481 14484 14487 14490 14493 14496 14499 14502 14505 14508 14511 14514 14517 14520 14523 14526 14529 14532 14535 14538 14541 14544 14547 14550 14553 14556 14559 14562 14565 14568 14571 14574 14577 14580 14583 14586 14589 14592 14595 14598 14601 14604 14607 14610 14613 14616 14619 14622 14625 14628 14631 14634 14637 14640 14643 14646 14649 14652 14655 14658 14661 14664 14667 14670 14673 14676 14679 14682 14685 14688 14691 14694 14697 14700 14703 14706 14709 14712 14715 14718 14721 14724 14727 14730 14733 14736 14739 14742 14745 14748 14751 14754 14757 14760 14763 14766 14769 14772 14775 14778 14781 14784 14787 14790 14793 14796 14799 14802 14805 14808 14811 14814 14817 14820 14823 14826 14829 14832 14835 14838 14841 14844 14847 14850 14853 14856 14859 14862 14865 14868 14871 14874 14877 14880 14883 14886 14889 14892 14895 14898 14901 14904 14907 14910 14913 14916 14919 14922 14925 14928 14931 14934 14937 14940 14943 14946 14949 14952 14955 14958 14961 14964 14967 14970 14973 14976 14979 14982 14985 14988 14991 14994 14997 15000 15003 15006 15009 15012 15015 15018 15021 15024 15027 15030 15033 15036 15039 15042 15045 15048 15051 15054 15057 15060 15063 15066 15069 15072 15075 15078 15081 15084 15087 15090 15093 15096 15099 15102 15105 15108 15111 15114 15117 15120 15123 15126 15129 15132 15135 15138 15141 15144 15147 15150 15153 15156 15159 15162 15165 15168 15171 15174 15177 15180 15183 15186 15189 15192 15195 15198 15201 15204 15207 15210 15213 15216 15219 15222 15225 15228 15231 15234 15237 15240 15243 15246 15249 15252 15255 15258 15261 15264 15267 15270 15273 15276 15279 15282 15285 15288 15291 15294 15297 15300 15303 15306 15309 15312 15315 15318 15321 15324 15327 15330 15333 15336 15339 15342 15345 15348 15351 15354 15357 15360 15363 15366 15369 15372 15375 15378 15381 15384 15387 15390 15393 15396 15399 15402 15405 15408 15411 15414 15417 15420 15423 15426 15429 15432 15435 15438 15441 15444 15447 15450 15453 15456 15459 15462 15465 15468 15471 15474 15477 15480 15483 15486 15489 15492 15495 15498 15501 15504 15507 15510 15513 15516 15519 15522 15525 15528 15531 15534 15537 15540 15543 15546 15549 15552 15555 15558 15561 15564 15567 15570 15573 15576 15579 15582 15585 15588 15591 15594 15597 15600 15603 15606 15609 15612 15615 15618 15621 15624 15627 15630 15633 15636 15639 15642 15645 15648 15651 15654 15657 15660 15663 15666 15669 15672 15675 15678 15681 15684 15687 15690 15693 15696 15699 15702 15705 15708 15711 15714 15717 15720 15723 15726 15729 15732 15735 15738 15741 15744 15747 15750 15753 15756 15759 15762 15765 15768 15771 15774 15777 15780 15783 15786 15789 15792 15795 15798 15801 15804 15807 15810 15813 15816 15819 15822 15825 15828 15831 15834 15837 15840 15843 15846 15849 15852 15855 15858 15861 15864 15867 15870 15873 15876 15879 15882 15885 15888 15891 15894 15897 15900 15903 15906 15909 15912 15915 15918 15921 15924 15927 15930 15933 15936 15939 15942 15945 15948 15951 15954 15957 15960 15963 15966 15969 15972 15975 15978 15981 15984 15987 15990 15993 15996 15999 16002 16005 16008 16011 16014 16017 16020 16023 16026 16029 16032 16035 16038 16041 16044 16047 16050 16053 16056 16059 16062 16065 16068 16071 16074 16077 16080 16083 16086 16089 16092 16095 16098 16101 16104 16107 16110 16113 16116 16119 16122 16125 16128 16131 16134 16137 16140 16143 16146 16149 16152 16155 16158 16161 16164 16167 16170 16173 16176 16179 16182 16185 16188 16191 16194 16197 16200 16203 16206 16209 16212 16215 16218 16221 16224 16227 16230 16233 16236 16239 16242 16245 16248 16251 16254 16257 16260 16263 16266 16269 16272 16275 16278 16281 16284 16287 16290 16293 16296 16299 16302 16305 16308 16311 16314 16317 16320 16323 16326 - - - - - diff --git a/examples/getting_started/pulse_duration_optimization_musculoskeletal_dynamic.py b/examples/getting_started/pulse_duration_optimization_musculoskeletal_dynamic.py index 88cd7504..750254bc 100644 --- a/examples/getting_started/pulse_duration_optimization_musculoskeletal_dynamic.py +++ b/examples/getting_started/pulse_duration_optimization_musculoskeletal_dynamic.py @@ -21,7 +21,7 @@ minimum_pulse_duration = DingModelPulseDurationFrequencyWithFatigue().pd0 ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="/arm26_biceps_1dof.bioMod", + biorbd_model_path="../msk_models/arm26_biceps_1dof.bioMod", bound_type="start_end", bound_data=[[5], [120]], fes_muscle_models=[DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong")], @@ -36,6 +36,8 @@ pulse_duration_bimapping=False, custom_objective=objective_functions, with_residual_torque=True, + muscle_force_length_relationship=True, + muscle_force_velocity_relationship=True, ) sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) diff --git a/examples/getting_started/pulse_intensity_optimization_musculoskeletal_dynamic.py b/examples/getting_started/pulse_intensity_optimization_musculoskeletal_dynamic.py index e7331b0a..b17956e9 100644 --- a/examples/getting_started/pulse_intensity_optimization_musculoskeletal_dynamic.py +++ b/examples/getting_started/pulse_intensity_optimization_musculoskeletal_dynamic.py @@ -24,7 +24,7 @@ ) ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="/arm26_biceps_1dof.bioMod", + biorbd_model_path="../msk_models/arm26_biceps_1dof.bioMod", bound_type="start_end", bound_data=[[5], [120]], fes_muscle_models=[DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong")], @@ -39,6 +39,8 @@ pulse_intensity_bimapping=False, custom_objective=objective_functions, with_residual_torque=True, + muscle_force_length_relationship=True, + muscle_force_velocity_relationship=True, ) sol = ocp.solve(Solver.IPOPT(_max_iter=1000)) diff --git a/examples/dynamics/arm26.bioMod b/examples/msk_models/arm26.bioMod similarity index 100% rename from examples/dynamics/arm26.bioMod rename to examples/msk_models/arm26.bioMod diff --git a/examples/dynamics/arm26_biceps.bioMod b/examples/msk_models/arm26_biceps.bioMod similarity index 100% rename from examples/dynamics/arm26_biceps.bioMod rename to examples/msk_models/arm26_biceps.bioMod diff --git a/examples/dynamics/arm26_biceps_1dof.bioMod b/examples/msk_models/arm26_biceps_1dof.bioMod similarity index 100% rename from examples/dynamics/arm26_biceps_1dof.bioMod rename to examples/msk_models/arm26_biceps_1dof.bioMod diff --git a/examples/dynamics/arm26_biceps_triceps.bioMod b/examples/msk_models/arm26_biceps_triceps.bioMod similarity index 100% rename from examples/dynamics/arm26_biceps_triceps.bioMod rename to examples/msk_models/arm26_biceps_triceps.bioMod diff --git a/examples/dynamics/arm26_cycling.bioMod b/examples/msk_models/arm26_cycling.bioMod similarity index 100% rename from examples/dynamics/arm26_cycling.bioMod rename to examples/msk_models/arm26_cycling.bioMod diff --git a/examples/dynamics/mesh/arm_r_humerus.vtp b/examples/msk_models/mesh/arm_r_humerus.vtp similarity index 100% rename from examples/dynamics/mesh/arm_r_humerus.vtp rename to examples/msk_models/mesh/arm_r_humerus.vtp diff --git a/examples/dynamics/mesh/arm_r_ulna.vtp b/examples/msk_models/mesh/arm_r_ulna.vtp similarity index 100% rename from examples/dynamics/mesh/arm_r_ulna.vtp rename to examples/msk_models/mesh/arm_r_ulna.vtp diff --git a/examples/dynamics/mesh/ground_ribs.vtp b/examples/msk_models/mesh/ground_ribs.vtp similarity index 100% rename from examples/dynamics/mesh/ground_ribs.vtp rename to examples/msk_models/mesh/ground_ribs.vtp From fb2243b1aef6906d721e9dd6523eb2930184a413 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Thu, 8 Feb 2024 14:31:42 -0500 Subject: [PATCH 42/63] new black version application --- cocofest/custom_objectives.py | 1 + cocofest/integration/ivp_fes.py | 42 +++++++++++-------- cocofest/models/dynamical_model.py | 14 ++++--- .../optimization/fes_identification_ocp.py | 14 ++++--- cocofest/optimization/fes_ocp.py | 14 ++++--- cocofest/optimization/fes_ocp_dynamics.py | 14 ++++--- data_process/force_from_sensor.py | 4 +- ...nsity_optimization_cycling_multi_muscle.py | 1 + .../intensity_optimization_hold_position.py | 1 + ...optimization_hold_position_multi_muscle.py | 1 + .../frequecy_optimization_minimize_fatigue.py | 1 + ..._duration_optimization_minimize_fatigue.py | 1 + ...intensity_optimization_minimize_fatigue.py | 1 + examples/dynamics/reaching_task/make_gaph.py | 10 ++--- .../reaching_task_frequency_optimization.py | 1 + .../reaching_task_intensity_optimization.py | 1 + ...aching_task_pulse_duration_optimization.py | 1 + .../force_tracking_parameter_optimization.py | 1 + examples/getting_started/multi_start.py | 1 + .../pulse_intensity_optimization.py | 1 + .../getting_started/pulse_mode_example.py | 1 + 21 files changed, 76 insertions(+), 50 deletions(-) diff --git a/cocofest/custom_objectives.py b/cocofest/custom_objectives.py index de8c4ee7..7c010cea 100644 --- a/cocofest/custom_objectives.py +++ b/cocofest/custom_objectives.py @@ -2,6 +2,7 @@ This custom objective is to enable the tracking of a curve by a state at all node. Used for sample data control problems such as functional electro stimulation """ + import numpy as np from casadi import MX, SX diff --git a/cocofest/integration/ivp_fes.py b/cocofest/integration/ivp_fes.py index 1930aaaa..f76a20a1 100644 --- a/cocofest/integration/ivp_fes.py +++ b/cocofest/integration/ivp_fes.py @@ -57,12 +57,14 @@ class IvpFes(OptimalControlProgram): def __init__( self, - model: DingModelFrequency - | DingModelFrequencyWithFatigue - | DingModelPulseDurationFrequency - | DingModelPulseDurationFrequencyWithFatigue - | DingModelIntensityFrequency - | DingModelIntensityFrequencyWithFatigue, + model: ( + DingModelFrequency + | DingModelFrequencyWithFatigue + | DingModelPulseDurationFrequency + | DingModelPulseDurationFrequencyWithFatigue + | DingModelIntensityFrequency + | DingModelIntensityFrequencyWithFatigue + ), n_stim: int = None, n_shooting: int = None, final_time: float = None, @@ -257,12 +259,14 @@ def build_initial_guess_from_ocp(self, ocp): @classmethod def from_frequency_and_final_time( cls, - model: DingModelFrequency - | DingModelFrequencyWithFatigue - | DingModelPulseDurationFrequency - | DingModelPulseDurationFrequencyWithFatigue - | DingModelIntensityFrequency - | DingModelIntensityFrequencyWithFatigue, + model: ( + DingModelFrequency + | DingModelFrequencyWithFatigue + | DingModelPulseDurationFrequency + | DingModelPulseDurationFrequencyWithFatigue + | DingModelIntensityFrequency + | DingModelIntensityFrequencyWithFatigue + ), n_shooting: int, final_time: float, frequency: int | float = None, @@ -298,12 +302,14 @@ def from_frequency_and_final_time( @classmethod def from_frequency_and_n_stim( cls, - model: DingModelFrequency - | DingModelFrequencyWithFatigue - | DingModelPulseDurationFrequency - | DingModelPulseDurationFrequencyWithFatigue - | DingModelIntensityFrequency - | DingModelIntensityFrequencyWithFatigue, + model: ( + DingModelFrequency + | DingModelFrequencyWithFatigue + | DingModelPulseDurationFrequency + | DingModelPulseDurationFrequencyWithFatigue + | DingModelIntensityFrequency + | DingModelIntensityFrequencyWithFatigue + ), n_stim: int, n_shooting: int, frequency: int | float = None, diff --git a/cocofest/models/dynamical_model.py b/cocofest/models/dynamical_model.py index eb8c3788..1a7039fe 100644 --- a/cocofest/models/dynamical_model.py +++ b/cocofest/models/dynamical_model.py @@ -74,12 +74,14 @@ def muscle_dynamic( parameters: MX | SX, stochastic_variables: MX | SX, nlp: NonLinearProgram, - muscle_models: list[DingModelFrequency] - | list[DingModelFrequencyWithFatigue] - | list[DingModelPulseDurationFrequency] - | list[DingModelPulseDurationFrequencyWithFatigue] - | list[DingModelIntensityFrequency] - | list[DingModelIntensityFrequencyWithFatigue], + muscle_models: ( + list[DingModelFrequency] + | list[DingModelFrequencyWithFatigue] + | list[DingModelPulseDurationFrequency] + | list[DingModelPulseDurationFrequencyWithFatigue] + | list[DingModelIntensityFrequency] + | list[DingModelIntensityFrequencyWithFatigue] + ), stim_apparition=None, state_name_list=None, ) -> DynamicsEvaluation: diff --git a/cocofest/optimization/fes_identification_ocp.py b/cocofest/optimization/fes_identification_ocp.py index ea0c85d2..8b05ccd8 100644 --- a/cocofest/optimization/fes_identification_ocp.py +++ b/cocofest/optimization/fes_identification_ocp.py @@ -34,12 +34,14 @@ def __init__(self): @staticmethod def prepare_ocp( - model: DingModelFrequency - | DingModelFrequencyWithFatigue - | DingModelPulseDurationFrequency - | DingModelPulseDurationFrequencyWithFatigue - | DingModelIntensityFrequency - | DingModelIntensityFrequencyWithFatigue = None, + model: ( + DingModelFrequency + | DingModelFrequencyWithFatigue + | DingModelPulseDurationFrequency + | DingModelPulseDurationFrequencyWithFatigue + | DingModelIntensityFrequency + | DingModelIntensityFrequencyWithFatigue + ) = None, n_shooting: list[int] = None, final_time_phase: tuple | list = None, pulse_duration: int | float | list = None, diff --git a/cocofest/optimization/fes_ocp.py b/cocofest/optimization/fes_ocp.py index 32d9e1f4..d84e2970 100644 --- a/cocofest/optimization/fes_ocp.py +++ b/cocofest/optimization/fes_ocp.py @@ -48,12 +48,14 @@ class OcpFes: @staticmethod def prepare_ocp( - model: DingModelFrequency - | DingModelFrequencyWithFatigue - | DingModelPulseDurationFrequency - | DingModelPulseDurationFrequencyWithFatigue - | DingModelIntensityFrequency - | DingModelIntensityFrequencyWithFatigue = None, + model: ( + DingModelFrequency + | DingModelFrequencyWithFatigue + | DingModelPulseDurationFrequency + | DingModelPulseDurationFrequencyWithFatigue + | DingModelIntensityFrequency + | DingModelIntensityFrequencyWithFatigue + ) = None, n_stim: int = None, n_shooting: int = None, final_time: int | float = None, diff --git a/cocofest/optimization/fes_ocp_dynamics.py b/cocofest/optimization/fes_ocp_dynamics.py index 7c0139de..b323d086 100644 --- a/cocofest/optimization/fes_ocp_dynamics.py +++ b/cocofest/optimization/fes_ocp_dynamics.py @@ -38,12 +38,14 @@ def prepare_ocp( biorbd_model_path: str, bound_type: str = None, bound_data: list = None, - fes_muscle_models: list[DingModelFrequency] - | list[DingModelFrequencyWithFatigue] - | list[DingModelPulseDurationFrequency] - | list[DingModelPulseDurationFrequencyWithFatigue] - | list[DingModelIntensityFrequency] - | list[DingModelIntensityFrequencyWithFatigue] = None, + fes_muscle_models: ( + list[DingModelFrequency] + | list[DingModelFrequencyWithFatigue] + | list[DingModelPulseDurationFrequency] + | list[DingModelPulseDurationFrequencyWithFatigue] + | list[DingModelIntensityFrequency] + | list[DingModelIntensityFrequencyWithFatigue] + ) = None, n_stim: int = None, n_shooting: int = None, final_time: int | float = None, diff --git a/data_process/force_from_sensor.py b/data_process/force_from_sensor.py index ada1ddca..66bedac5 100644 --- a/data_process/force_from_sensor.py +++ b/data_process/force_from_sensor.py @@ -61,9 +61,7 @@ def __init__( muscle_name = ( muscle_name if isinstance(muscle_name, str) - else muscle_name[i] - if isinstance(muscle_name, list) - else "biceps" + else muscle_name[i] if isinstance(muscle_name, list) else "biceps" ) dictionary = {"time": self.time, muscle_name: self.all_biceps_force_vector, "stim_time": self.stim_time} with open(save_pickle_path, "wb") as file: diff --git a/examples/dynamics/intensity_optimization_cycling_multi_muscle.py b/examples/dynamics/intensity_optimization_cycling_multi_muscle.py index 6efa3067..f977eefc 100644 --- a/examples/dynamics/intensity_optimization_cycling_multi_muscle.py +++ b/examples/dynamics/intensity_optimization_cycling_multi_muscle.py @@ -4,6 +4,7 @@ The stimulation frequency will be optimized between 1 and 10 Hz as well as the pulse intensity between minimal sensitivity threshold and 130mA to satisfy the maintained elbow. No residual torque is allowed. """ + import numpy as np from bioptim import ( diff --git a/examples/dynamics/intensity_optimization_hold_position.py b/examples/dynamics/intensity_optimization_hold_position.py index 92a83a1b..7e75cfaf 100644 --- a/examples/dynamics/intensity_optimization_hold_position.py +++ b/examples/dynamics/intensity_optimization_hold_position.py @@ -4,6 +4,7 @@ The stimulation frequency will be optimized between 1 and 10 Hz as well as the pulse intensity between minimal sensitivity threshold and 130mA to satisfy the maintained elbow. No residual torque is allowed. """ + import numpy as np from bioptim import ( diff --git a/examples/dynamics/intensity_optimization_hold_position_multi_muscle.py b/examples/dynamics/intensity_optimization_hold_position_multi_muscle.py index 44395964..1c721fd1 100644 --- a/examples/dynamics/intensity_optimization_hold_position_multi_muscle.py +++ b/examples/dynamics/intensity_optimization_hold_position_multi_muscle.py @@ -4,6 +4,7 @@ The stimulation frequency will be optimized between 1 and 10 Hz as well as the pulse intensity between minimal sensitivity threshold and 130mA to satisfy the maintained elbow. No residual torque is allowed. """ + import numpy as np from bioptim import ( diff --git a/examples/dynamics/minimize_fatigue/frequecy_optimization_minimize_fatigue.py b/examples/dynamics/minimize_fatigue/frequecy_optimization_minimize_fatigue.py index daa3b82e..262cf4ee 100644 --- a/examples/dynamics/minimize_fatigue/frequecy_optimization_minimize_fatigue.py +++ b/examples/dynamics/minimize_fatigue/frequecy_optimization_minimize_fatigue.py @@ -7,6 +7,7 @@ The stimulation apparition will be optimized to satisfy the motion and to minimize the overall muscle fatigue. Stimulations can occur between 0.01 to 1 second. Residual torque added to help convergence. """ + import numpy as np from bioptim import ( diff --git a/examples/dynamics/minimize_fatigue/pulse_duration_optimization_minimize_fatigue.py b/examples/dynamics/minimize_fatigue/pulse_duration_optimization_minimize_fatigue.py index f266fe8b..54542b54 100644 --- a/examples/dynamics/minimize_fatigue/pulse_duration_optimization_minimize_fatigue.py +++ b/examples/dynamics/minimize_fatigue/pulse_duration_optimization_minimize_fatigue.py @@ -4,6 +4,7 @@ The stimulation frequency will be set to 10Hz and pulse duration will be optimized to satisfy the motion and to minimize the overall muscle fatigue. Intensity can be optimized from sensitivity threshold to 600us. No residual torque is allowed. """ + import numpy as np from bioptim import ( diff --git a/examples/dynamics/minimize_fatigue/pulse_intensity_optimization_minimize_fatigue.py b/examples/dynamics/minimize_fatigue/pulse_intensity_optimization_minimize_fatigue.py index 40ec5fe7..ed068496 100644 --- a/examples/dynamics/minimize_fatigue/pulse_intensity_optimization_minimize_fatigue.py +++ b/examples/dynamics/minimize_fatigue/pulse_intensity_optimization_minimize_fatigue.py @@ -4,6 +4,7 @@ The stimulation frequency will be set to 10Hz and pulse intensity will be optimized to satisfy the motion and to minimize the overall muscle fatigue. Intensity can be optimized from sensitivity threshold to 130mA. No residual torque is allowed. """ + import numpy as np from bioptim import ( diff --git a/examples/dynamics/reaching_task/make_gaph.py b/examples/dynamics/reaching_task/make_gaph.py index 87ea36eb..a5f58f34 100644 --- a/examples/dynamics/reaching_task/make_gaph.py +++ b/examples/dynamics/reaching_task/make_gaph.py @@ -27,11 +27,11 @@ chosen_graph_to_plot_path = ( frequency_path if chosen_graph_to_plot == "frequency" - else duration_path - if chosen_graph_to_plot == "duration" - else intensity_path - if chosen_graph_to_plot == "duration" - else None + else ( + duration_path + if chosen_graph_to_plot == "duration" + else intensity_path if chosen_graph_to_plot == "duration" else None + ) ) if chosen_graph_to_plot_path is None: diff --git a/examples/dynamics/reaching_task/reaching_task_frequency_optimization.py b/examples/dynamics/reaching_task/reaching_task_frequency_optimization.py index 4256d29e..38baf051 100644 --- a/examples/dynamics/reaching_task/reaching_task_frequency_optimization.py +++ b/examples/dynamics/reaching_task/reaching_task_frequency_optimization.py @@ -4,6 +4,7 @@ defined in the bioMod file. At the end of the simulation 2 files will be created, one for each optimization. The files will contain the time, states, controls and parameters of the ocp. """ + import pickle from bioptim import ( diff --git a/examples/dynamics/reaching_task/reaching_task_intensity_optimization.py b/examples/dynamics/reaching_task/reaching_task_intensity_optimization.py index 013bbac0..562e4f7b 100644 --- a/examples/dynamics/reaching_task/reaching_task_intensity_optimization.py +++ b/examples/dynamics/reaching_task/reaching_task_intensity_optimization.py @@ -4,6 +4,7 @@ defined in the bioMod file. At the end of the simulation 2 files will be created, one for each optimization. The files will contain the time, states, controls and parameters of the ocp. """ + import pickle from bioptim import ( diff --git a/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py b/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py index 7b84af48..d816fc1d 100644 --- a/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py +++ b/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py @@ -4,6 +4,7 @@ defined in the bioMod file. At the end of the simulation 2 files will be created, one for each optimization. The files will contain the time, states, controls and parameters of the ocp. """ + import pickle from bioptim import ( diff --git a/examples/getting_started/force_tracking_parameter_optimization.py b/examples/getting_started/force_tracking_parameter_optimization.py index 394069d0..100e812f 100644 --- a/examples/getting_started/force_tracking_parameter_optimization.py +++ b/examples/getting_started/force_tracking_parameter_optimization.py @@ -2,6 +2,7 @@ This example will do a 10 stimulation example with Ding's 2003 frequency model associated to Bakir's 2022 intensity work This ocp was build to match a force curve across all optimization. """ + import matplotlib.pyplot as plt import numpy as np diff --git a/examples/getting_started/multi_start.py b/examples/getting_started/multi_start.py index 514a4123..7790bfae 100644 --- a/examples/getting_started/multi_start.py +++ b/examples/getting_started/multi_start.py @@ -2,6 +2,7 @@ An example of how to use multi-start to find local minima from stimulation parameter. This example is a variation of the fes frequency in examples/frequency_optimization.py. """ + import shutil from cocofest import DingModelFrequencyWithFatigue, FunctionalElectricStimulationMultiStart diff --git a/examples/getting_started/pulse_intensity_optimization.py b/examples/getting_started/pulse_intensity_optimization.py index 18899373..f3ff3d2a 100644 --- a/examples/getting_started/pulse_intensity_optimization.py +++ b/examples/getting_started/pulse_intensity_optimization.py @@ -2,6 +2,7 @@ This example will do a 10 stimulation example with Ding's 2003 frequency model associated to Bakir's 2022 work. This ocp was build to match a force value of 200N at the end of the last node. """ + import numpy as np from cocofest import DingModelIntensityFrequency, OcpFes diff --git a/examples/getting_started/pulse_mode_example.py b/examples/getting_started/pulse_mode_example.py index 6bc00297..fd4e74f5 100644 --- a/examples/getting_started/pulse_mode_example.py +++ b/examples/getting_started/pulse_mode_example.py @@ -2,6 +2,7 @@ This example will do a 10 stimulation example using doublets and triplets. The example model is the Ding2003 frequency model. """ + import numpy as np import matplotlib.pyplot as plt from bioptim import Solution, Shooting, SolutionIntegrator From afbe2ce4bca1167997cf5bea63d082fdf740df82 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Thu, 8 Feb 2024 17:35:16 -0500 Subject: [PATCH 43/63] adding test for dynamical problems --- cocofest/optimization/fes_ocp_dynamics.py | 63 +-- tests/shard2/test_fes_dynamics.py | 588 ++++++++++++++++++++++ 2 files changed, 622 insertions(+), 29 deletions(-) create mode 100644 tests/shard2/test_fes_dynamics.py diff --git a/cocofest/optimization/fes_ocp_dynamics.py b/cocofest/optimization/fes_ocp_dynamics.py index b323d086..03a87f67 100644 --- a/cocofest/optimization/fes_ocp_dynamics.py +++ b/cocofest/optimization/fes_ocp_dynamics.py @@ -66,7 +66,7 @@ def prepare_ocp( pulse_intensity_bimapping: bool = False, pulse_intensity_similar_for_all_muscles: bool = False, force_tracking: list = None, - end_node_tracking: int | float = None, + end_node_tracking: list = None, q_tracking: list = None, custom_objective: ObjectiveList = None, custom_constraint: ConstraintList = None, @@ -261,10 +261,6 @@ def prepare_ocp( for i in range(n_stim) ] - FESActuatedBiorbdModelOCP._sanity_check_bounds( - bio_models=bio_models, bound_type=bound_type, bound_data=bound_data - ) - dynamics = FESActuatedBiorbdModelOCP._declare_dynamics(bio_models, n_stim) x_bounds, x_init = FESActuatedBiorbdModelOCP._set_bounds( bio_models, @@ -561,6 +557,11 @@ def _set_bounds(bio_models, fes_muscle_models, bound_type, bound_data, n_stim): for i in range(bio_models[0].nb_q): start_bounds.append(3.14 / (180 / bound_data[i]) if bound_data[i] != 0 else 0) + elif bound_type == "end": + end_bounds = [] + for i in range(bio_models[0].nb_q): + end_bounds.append(3.14 / (180 / bound_data[i]) if bound_data[i] != 0 else 0) + for i in range(n_stim): q_x_bounds = bio_models[i].bounds_from_ranges("q") qdot_x_bounds = bio_models[i].bounds_from_ranges("qdot") @@ -578,6 +579,9 @@ def _set_bounds(bio_models, fes_muscle_models, bound_type, bound_data, n_stim): if bound_type == "start_end": for j in range(bio_models[i].nb_q): q_x_bounds[j, [-1]] = end_bounds[j] + elif bound_type == "end": + for j in range(bio_models[i].nb_q): + q_x_bounds[j, [-1]] = end_bounds[j] x_bounds.add(key="q", bounds=q_x_bounds, phase=i) x_bounds.add(key="qdot", bounds=qdot_x_bounds, phase=i) @@ -694,19 +698,6 @@ def _set_objective( return objective_functions - @staticmethod - def _sanity_check_bounds(bio_models, bound_type, bound_data): - for i in range(bio_models[0].nb_q): - if bound_type == "start_end": - if not isinstance(bound_data, list): - raise TypeError("The bound data should be a list of two elements") - if len(bound_data) != 2: - raise ValueError("The bound data should be a list of two elements, start and end position") - if not isinstance(bound_data[0], list) or not isinstance(bound_data[1], list): - raise TypeError("The start and end position should be a list") - if len(bound_data[0]) != bio_models[0].nb_q or len(bound_data[1]) != bio_models[0].nb_q: - raise ValueError("The start and end position should be a list of size nb_q") - @staticmethod def _sanity_check_muscle_model(biorbd_model_path, fes_muscle_models): tested_bio_model = FESActuatedBiorbdModel( @@ -748,12 +739,15 @@ def _sanity_check_fes_models_inputs( if not isinstance(bound_data, list): raise TypeError("bound_data should be a list") if bound_type == "start_end": - if len(bound_data) != tested_bio_model.nb_q: - raise ValueError(f"bound_data should be a list of {tested_bio_model.nb_q} elements") - if not isinstance(bound_data[0], list) or not isinstance(bound_data[1], list): + if len(bound_data) != 2 or not isinstance(bound_data[0], list) or not isinstance(bound_data[1], list): raise TypeError("bound_data should be a list of two list") - if len(bound_data[0]) != len(bound_data[1]): - raise ValueError("bound_data should be a list of two list with the same size") + if len(bound_data[0]) != tested_bio_model.nb_q or len(bound_data[1]) != tested_bio_model.nb_q: + raise ValueError(f"bound_data should be a list of {tested_bio_model.nb_q} elements") + for i in range(len(bound_data[0])): + if not isinstance(bound_data[0][i], int | float) or not isinstance(bound_data[1][i], int | float): + raise TypeError( + f"bound data index {i}: {bound_data[0][i]} and {bound_data[1][i]} should be an int or float" + ) if bound_type == "start" or bound_type == "end": if len(bound_data) != tested_bio_model.nb_q: raise ValueError(f"bound_data should be a list of {tested_bio_model.nb_q} element") @@ -782,6 +776,8 @@ def _sanity_check_fes_models_inputs( if force_tracking: if isinstance(force_tracking, list): + if len(force_tracking) != 2: + raise ValueError("force_tracking must of size 2") if not isinstance(force_tracking[0], np.ndarray): raise TypeError(f"force_tracking index 0: {force_tracking[0]} must be np.ndarray type") if not isinstance(force_tracking[1], list): @@ -790,8 +786,9 @@ def _sanity_check_fes_models_inputs( raise ValueError( "force_tracking index 1 list must have the same size as the number of muscles in fes_muscle_models" ) - if len(force_tracking[0]) != len(force_tracking[1]) or len(force_tracking) != 2: - raise ValueError("force_tracking time and force argument must be the same length") + for i in range(len(force_tracking[1])): + if len(force_tracking[0]) != len(force_tracking[1][i]): + raise ValueError("force_tracking time and force argument must be the same length") else: raise TypeError(f"force_tracking: {force_tracking} must be list type") @@ -812,12 +809,12 @@ def _sanity_check_fes_models_inputs( tested_bio_model = FESActuatedBiorbdModel( name=None, biorbd_path=biorbd_model_path, muscles_model=fes_muscle_models ) - if len(q_tracking[0]) != 1: - raise ValueError("q_tracking[0] should be a list of size 1") + if not isinstance(q_tracking[0], list): + raise ValueError("q_tracking[0] should be a list") if len(q_tracking[1]) != tested_bio_model.nb_q: raise ValueError("q_tracking[1] should have the same size as the number of generalized coordinates") for i in range(tested_bio_model.nb_q): - if len(q_tracking[0][0]) != len(q_tracking[1][i]): + if len(q_tracking[0]) != len(q_tracking[1][i]): raise ValueError("q_tracking[0] and q_tracking[1] should have the same size") list_to_check = [ @@ -828,7 +825,15 @@ def _sanity_check_fes_models_inputs( minimize_muscle_force, ] + list_to_check_name = [ + "with_residual_torque", + "muscle_force_length_relationship", + "muscle_force_velocity_relationship", + "minimize_muscle_fatigue", + "minimize_muscle_force", + ] + for i in range(len(list_to_check)): if list_to_check[i]: if not isinstance(list_to_check[i], bool): - raise TypeError(f"{list_to_check[i]} should be a boolean") + raise TypeError(f"{list_to_check_name[i]} should be a boolean") diff --git a/tests/shard2/test_fes_dynamics.py b/tests/shard2/test_fes_dynamics.py new file mode 100644 index 00000000..e3f8d9c1 --- /dev/null +++ b/tests/shard2/test_fes_dynamics.py @@ -0,0 +1,588 @@ +import re +import pytest + +import numpy as np +from bioptim import ( + ObjectiveFcn, + ObjectiveList, + Solver, +) + +from cocofest import DingModelPulseDurationFrequencyWithFatigue, FESActuatedBiorbdModelOCP + + +def test_multi_muscle_fes_dynamics(): + objective_functions = ObjectiveList() + n_stim = 10 + for i in range(n_stim): + objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=1, quadratic=True, phase=i) + + minimum_pulse_duration = DingModelPulseDurationFrequencyWithFatigue().pd0 + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + bound_type="start_end", + bound_data=[[0, 5], [0, 120]], + fes_muscle_models=[ + DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong"), + ], + n_stim=n_stim, + n_shooting=10, + final_time=1, + pulse_duration_min=minimum_pulse_duration, + pulse_duration_max=0.0006, + pulse_duration_bimapping=False, + custom_objective=objective_functions, + with_residual_torque=True, + muscle_force_length_relationship=True, + muscle_force_velocity_relationship=True, + use_sx=False, + ) + + sol = ocp.solve(Solver.IPOPT(_max_iter=1000)).merge_phases() + + np.testing.assert_almost_equal(sol.cost, 2.64645e-08) + np.testing.assert_almost_equal( + sol.parameters["pulse_duration_BIClong"], + np.array( + [ + [0.00059638], + [0.00059498], + [0.00059357], + [0.00059024], + [0.00058198], + [0.00054575], + [0.00014772], + [0.00015474], + [0.00018023], + [0.00029466], + ] + ), + ) + np.testing.assert_almost_equal( + sol.parameters["pulse_duration_TRIlong"], + np.array( + [ + [0.00015802], + [0.00015879], + [0.00052871], + [0.00055611], + [0.00028161], + [0.00013942], + [0.00014098], + [0.00014026], + [0.00014371], + [0.00019614], + ] + ), + ) + + np.testing.assert_almost_equal(sol.states["q"][0][0], 0) + np.testing.assert_almost_equal(sol.states["q"][0][-1], 0) + np.testing.assert_almost_equal(sol.states["q"][1][0], 0.08722222222222223) + np.testing.assert_almost_equal(sol.states["q"][1][-1], 2.0933333333333333) + np.testing.assert_almost_equal(sol.states["F_BIClong"][0][-1], 33.20686595) + np.testing.assert_almost_equal(sol.states["F_TRIlong"][0][-1], 18.36373478) + + +def test_fes_models_inputs_sanity_check_errors(): + with pytest.raises( + TypeError, + match=re.escape("biorbd_model_path should be a string"), + ): + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path=5, + bound_type="start_end", + bound_data=[[0, 5], [0, 120]], + fes_muscle_models=[ + DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong"), + ], + n_stim=1, + n_shooting=10, + final_time=1, + pulse_duration_min=0.0003, + pulse_duration_max=0.0006, + ) + + with pytest.raises( + ValueError, + match=re.escape("bound_type should be a string and should be equal to start, end or start_end"), + ): + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + bound_type="hello", + bound_data=[[0, 5], [0, 120]], + fes_muscle_models=[ + DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong"), + ], + n_stim=1, + n_shooting=10, + final_time=1, + pulse_duration_min=0.0003, + pulse_duration_max=0.0006, + ) + + with pytest.raises( + TypeError, + match=re.escape("bound_data should be a list"), + ): + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + bound_type="start_end", + bound_data="[[0, 5], [0, 120]]", + fes_muscle_models=[ + DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong"), + ], + n_stim=1, + n_shooting=10, + final_time=1, + pulse_duration_min=0.0003, + pulse_duration_max=0.0006, + ) + + with pytest.raises( + ValueError, + match=re.escape(f"bound_data should be a list of {2} elements"), + ): + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + bound_type="start_end", + bound_data=[[0, 5, 7], [0, 120, 150]], + fes_muscle_models=[ + DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong"), + ], + n_stim=1, + n_shooting=10, + final_time=1, + pulse_duration_min=0.0003, + pulse_duration_max=0.0006, + ) + + with pytest.raises( + TypeError, + match=re.escape(f"bound_data should be a list of two list"), + ): + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + bound_type="start_end", + bound_data=["[0, 5]", [0, 120]], + fes_muscle_models=[ + DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong"), + ], + n_stim=1, + n_shooting=10, + final_time=1, + pulse_duration_min=0.0003, + pulse_duration_max=0.0006, + ) + + with pytest.raises( + ValueError, + match=re.escape(f"bound_data should be a list of {2} elements"), + ): + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + bound_type="start_end", + bound_data=[[0, 5, 7], [0, 120, 150]], + fes_muscle_models=[ + DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong"), + ], + n_stim=1, + n_shooting=10, + final_time=1, + pulse_duration_min=0.0003, + pulse_duration_max=0.0006, + ) + + with pytest.raises( + TypeError, + match=re.escape(f"bound data index {1}: {5} and {'120'} should be an int or float"), + ): + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + bound_type="start_end", + bound_data=[[0, 5], [0, "120"]], + fes_muscle_models=[ + DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong"), + ], + n_stim=1, + n_shooting=10, + final_time=1, + pulse_duration_min=0.0003, + pulse_duration_max=0.0006, + ) + + with pytest.raises( + ValueError, + match=re.escape(f"bound_data should be a list of {2} element"), + ): + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + bound_type="start", + bound_data=[0, 5, 10], + fes_muscle_models=[ + DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong"), + ], + n_stim=1, + n_shooting=10, + final_time=1, + pulse_duration_min=0.0003, + pulse_duration_max=0.0006, + ) + + with pytest.raises( + TypeError, + match=re.escape(f"bound data index {1}: {'5'} should be an int or float"), + ): + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + bound_type="end", + bound_data=[0, "5"], + fes_muscle_models=[ + DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong"), + ], + n_stim=1, + n_shooting=10, + final_time=1, + pulse_duration_min=0.0003, + pulse_duration_max=0.0006, + ) + + with pytest.raises( + TypeError, + match=re.escape( + "model must be a DingModelFrequency," + " DingModelFrequencyWithFatigue," + " DingModelPulseDurationFrequency," + " DingModelPulseDurationFrequencyWithFatigue," + " DingModelIntensityFrequency," + " DingModelIntensityFrequencyWithFatigue type" + ), + ): + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + bound_type="start", + bound_data=[0, 5], + fes_muscle_models=[ + DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), + "DingModelPulseDurationFrequencyWithFatigue(muscle_name='TRIlong')", + ], + n_stim=1, + n_shooting=10, + final_time=1, + pulse_duration_min=0.0003, + pulse_duration_max=0.0006, + ) + + with pytest.raises( + TypeError, + match=re.escape(f"force_tracking: {'hello'} must be list type"), + ): + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + bound_type="start", + bound_data=[0, 5], + fes_muscle_models=[ + DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong"), + ], + n_stim=1, + n_shooting=10, + final_time=1, + pulse_duration_min=0.0003, + pulse_duration_max=0.0006, + force_tracking="hello", + ) + + with pytest.raises( + ValueError, + match=re.escape("force_tracking must of size 2"), + ): + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + bound_type="end", + bound_data=[0, 5], + fes_muscle_models=[ + DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong"), + ], + n_stim=1, + n_shooting=10, + final_time=1, + pulse_duration_min=0.0003, + pulse_duration_max=0.0006, + force_tracking=["hello"], + ) + + with pytest.raises( + TypeError, + match=re.escape(f"force_tracking index 0: {'hello'} must be np.ndarray type"), + ): + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + bound_type="start", + bound_data=[0, 5], + fes_muscle_models=[ + DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong"), + ], + n_stim=1, + n_shooting=10, + final_time=1, + pulse_duration_min=0.0003, + pulse_duration_max=0.0006, + force_tracking=["hello", [1, 2, 3]], + ) + + with pytest.raises( + TypeError, + match=re.escape(f"force_tracking index 1: {'[1, 2, 3]'} must be list type"), + ): + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + bound_type="start", + bound_data=[0, 5], + fes_muscle_models=[ + DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong"), + ], + n_stim=1, + n_shooting=10, + final_time=1, + pulse_duration_min=0.0003, + pulse_duration_max=0.0006, + force_tracking=[np.array([1, 2, 3]), "[1, 2, 3]"], + ) + + with pytest.raises( + ValueError, + match=re.escape( + "force_tracking index 1 list must have the same size as the number of muscles in fes_muscle_models" + ), + ): + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + bound_type="start", + bound_data=[0, 5], + fes_muscle_models=[ + DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong"), + ], + n_stim=1, + n_shooting=10, + final_time=1, + pulse_duration_min=0.0003, + pulse_duration_max=0.0006, + force_tracking=[np.array([1, 2, 3]), [[1, 2, 3], [1, 2, 3], [1, 2, 3]]], + ) + + with pytest.raises( + ValueError, + match=re.escape("force_tracking time and force argument must be the same length"), + ): + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + bound_type="start", + bound_data=[0, 5], + fes_muscle_models=[ + DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong"), + ], + n_stim=1, + n_shooting=10, + final_time=1, + pulse_duration_min=0.0003, + pulse_duration_max=0.0006, + force_tracking=[np.array([1, 2, 3]), [[1, 2, 3], [1, 2]]], + ) + + with pytest.raises( + TypeError, + match=re.escape(f"force_tracking: {'hello'} must be list type"), + ): + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + bound_type="start", + bound_data=[0, 5], + fes_muscle_models=[ + DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong"), + ], + n_stim=1, + n_shooting=10, + final_time=1, + pulse_duration_min=0.0003, + pulse_duration_max=0.0006, + end_node_tracking="hello", + ) + + with pytest.raises( + ValueError, + match=re.escape("end_node_tracking list must have the same size as the number of muscles in fes_muscle_models"), + ): + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + bound_type="start", + bound_data=[0, 5], + fes_muscle_models=[ + DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong"), + ], + n_stim=1, + n_shooting=10, + final_time=1, + pulse_duration_min=0.0003, + pulse_duration_max=0.0006, + end_node_tracking=[2, 3, 4], + ) + + with pytest.raises( + TypeError, + match=re.escape(f"end_node_tracking index {1}: {'hello'} must be int or float type"), + ): + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + bound_type="start", + bound_data=[0, 5], + fes_muscle_models=[ + DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong"), + ], + n_stim=1, + n_shooting=10, + final_time=1, + pulse_duration_min=0.0003, + pulse_duration_max=0.0006, + end_node_tracking=[2, "hello"], + ) + + with pytest.raises( + TypeError, + match=re.escape("q_tracking should be a list of size 2"), + ): + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + bound_type="start", + bound_data=[0, 5], + fes_muscle_models=[ + DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong"), + ], + n_stim=1, + n_shooting=10, + final_time=1, + pulse_duration_min=0.0003, + pulse_duration_max=0.0006, + q_tracking="hello", + ) + + with pytest.raises( + ValueError, + match=re.escape("q_tracking[0] should be a list"), + ): + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + bound_type="start", + bound_data=[0, 5], + fes_muscle_models=[ + DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong"), + ], + n_stim=1, + n_shooting=10, + final_time=1, + pulse_duration_min=0.0003, + pulse_duration_max=0.0006, + q_tracking=["hello", [1, 2, 3]], + ) + + with pytest.raises( + ValueError, + match=re.escape("q_tracking[1] should have the same size as the number of generalized coordinates"), + ): + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + bound_type="start", + bound_data=[0, 5], + fes_muscle_models=[ + DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong"), + ], + n_stim=1, + n_shooting=10, + final_time=1, + pulse_duration_min=0.0003, + pulse_duration_max=0.0006, + q_tracking=[[1, 2, 3], [1, 2, 3]], + ) + + with pytest.raises( + ValueError, + match=re.escape("q_tracking[0] and q_tracking[1] should have the same size"), + ): + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + bound_type="start", + bound_data=[0, 5], + fes_muscle_models=[ + DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong"), + ], + n_stim=1, + n_shooting=10, + final_time=1, + pulse_duration_min=0.0003, + pulse_duration_max=0.0006, + q_tracking=[[1, 2, 3], [[1, 2, 3], [4, 5]]], + ) + + with pytest.raises( + TypeError, + match=re.escape(f"{'with_residual_torque'} should be a boolean"), + ): + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + bound_type="start", + bound_data=[0, 5], + fes_muscle_models=[ + DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong"), + DingModelPulseDurationFrequencyWithFatigue(muscle_name="TRIlong"), + ], + n_stim=1, + n_shooting=10, + final_time=1, + pulse_duration_min=0.0003, + pulse_duration_max=0.0006, + with_residual_torque="hello", + ) + + +def test_fes_muscle_models_sanity_check_errors(): + with pytest.raises( + ValueError, + match=re.escape( + f"The muscle {'TRIlong'} is not in the fes muscle model " + f"please add it into the fes_muscle_models list by providing the muscle_name =" + f" {'TRIlong'}" + ), + ): + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + bound_type="start", + bound_data=[0, 5], + fes_muscle_models=[DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong")], + n_stim=1, + n_shooting=10, + final_time=1, + pulse_duration_min=0.0003, + pulse_duration_max=0.0006, + ) From bcc3d14fb3182ca22f2d64a522d3c2e9d3f595c9 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Thu, 8 Feb 2024 17:58:40 -0500 Subject: [PATCH 44/63] enabling biomod file access in online tests --- examples/msk_models/init.py | 0 tests/shard2/test_fes_dynamics.py | 56 +++++++++++++++++-------------- 2 files changed, 31 insertions(+), 25 deletions(-) create mode 100644 examples/msk_models/init.py diff --git a/examples/msk_models/init.py b/examples/msk_models/init.py new file mode 100644 index 00000000..e69de29b diff --git a/tests/shard2/test_fes_dynamics.py b/tests/shard2/test_fes_dynamics.py index e3f8d9c1..b12d7a7c 100644 --- a/tests/shard2/test_fes_dynamics.py +++ b/tests/shard2/test_fes_dynamics.py @@ -1,5 +1,6 @@ import re import pytest +import os import numpy as np from bioptim import ( @@ -10,6 +11,11 @@ from cocofest import DingModelPulseDurationFrequencyWithFatigue, FESActuatedBiorbdModelOCP +from examples.msk_models import init as ocp_module + +biomodel_folder = os.path.dirname(ocp_module.__file__) +biorbd_model_path = biomodel_folder + "/arm26_biceps_triceps.bioMod" + def test_multi_muscle_fes_dynamics(): objective_functions = ObjectiveList() @@ -19,7 +25,7 @@ def test_multi_muscle_fes_dynamics(): minimum_pulse_duration = DingModelPulseDurationFrequencyWithFatigue().pd0 ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + biorbd_model_path=biorbd_model_path, bound_type="start_end", bound_data=[[0, 5], [0, 120]], fes_muscle_models=[ @@ -110,7 +116,7 @@ def test_fes_models_inputs_sanity_check_errors(): match=re.escape("bound_type should be a string and should be equal to start, end or start_end"), ): ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + biorbd_model_path=biorbd_model_path, bound_type="hello", bound_data=[[0, 5], [0, 120]], fes_muscle_models=[ @@ -129,7 +135,7 @@ def test_fes_models_inputs_sanity_check_errors(): match=re.escape("bound_data should be a list"), ): ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + biorbd_model_path=biorbd_model_path, bound_type="start_end", bound_data="[[0, 5], [0, 120]]", fes_muscle_models=[ @@ -148,7 +154,7 @@ def test_fes_models_inputs_sanity_check_errors(): match=re.escape(f"bound_data should be a list of {2} elements"), ): ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + biorbd_model_path=biorbd_model_path, bound_type="start_end", bound_data=[[0, 5, 7], [0, 120, 150]], fes_muscle_models=[ @@ -167,7 +173,7 @@ def test_fes_models_inputs_sanity_check_errors(): match=re.escape(f"bound_data should be a list of two list"), ): ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + biorbd_model_path=biorbd_model_path, bound_type="start_end", bound_data=["[0, 5]", [0, 120]], fes_muscle_models=[ @@ -186,7 +192,7 @@ def test_fes_models_inputs_sanity_check_errors(): match=re.escape(f"bound_data should be a list of {2} elements"), ): ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + biorbd_model_path=biorbd_model_path, bound_type="start_end", bound_data=[[0, 5, 7], [0, 120, 150]], fes_muscle_models=[ @@ -205,7 +211,7 @@ def test_fes_models_inputs_sanity_check_errors(): match=re.escape(f"bound data index {1}: {5} and {'120'} should be an int or float"), ): ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + biorbd_model_path=biorbd_model_path, bound_type="start_end", bound_data=[[0, 5], [0, "120"]], fes_muscle_models=[ @@ -224,7 +230,7 @@ def test_fes_models_inputs_sanity_check_errors(): match=re.escape(f"bound_data should be a list of {2} element"), ): ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + biorbd_model_path=biorbd_model_path, bound_type="start", bound_data=[0, 5, 10], fes_muscle_models=[ @@ -243,7 +249,7 @@ def test_fes_models_inputs_sanity_check_errors(): match=re.escape(f"bound data index {1}: {'5'} should be an int or float"), ): ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + biorbd_model_path=biorbd_model_path, bound_type="end", bound_data=[0, "5"], fes_muscle_models=[ @@ -269,7 +275,7 @@ def test_fes_models_inputs_sanity_check_errors(): ), ): ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + biorbd_model_path=biorbd_model_path, bound_type="start", bound_data=[0, 5], fes_muscle_models=[ @@ -288,7 +294,7 @@ def test_fes_models_inputs_sanity_check_errors(): match=re.escape(f"force_tracking: {'hello'} must be list type"), ): ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + biorbd_model_path=biorbd_model_path, bound_type="start", bound_data=[0, 5], fes_muscle_models=[ @@ -308,7 +314,7 @@ def test_fes_models_inputs_sanity_check_errors(): match=re.escape("force_tracking must of size 2"), ): ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + biorbd_model_path=biorbd_model_path, bound_type="end", bound_data=[0, 5], fes_muscle_models=[ @@ -328,7 +334,7 @@ def test_fes_models_inputs_sanity_check_errors(): match=re.escape(f"force_tracking index 0: {'hello'} must be np.ndarray type"), ): ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + biorbd_model_path=biorbd_model_path, bound_type="start", bound_data=[0, 5], fes_muscle_models=[ @@ -348,7 +354,7 @@ def test_fes_models_inputs_sanity_check_errors(): match=re.escape(f"force_tracking index 1: {'[1, 2, 3]'} must be list type"), ): ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + biorbd_model_path=biorbd_model_path, bound_type="start", bound_data=[0, 5], fes_muscle_models=[ @@ -370,7 +376,7 @@ def test_fes_models_inputs_sanity_check_errors(): ), ): ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + biorbd_model_path=biorbd_model_path, bound_type="start", bound_data=[0, 5], fes_muscle_models=[ @@ -390,7 +396,7 @@ def test_fes_models_inputs_sanity_check_errors(): match=re.escape("force_tracking time and force argument must be the same length"), ): ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + biorbd_model_path=biorbd_model_path, bound_type="start", bound_data=[0, 5], fes_muscle_models=[ @@ -410,7 +416,7 @@ def test_fes_models_inputs_sanity_check_errors(): match=re.escape(f"force_tracking: {'hello'} must be list type"), ): ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + biorbd_model_path=biorbd_model_path, bound_type="start", bound_data=[0, 5], fes_muscle_models=[ @@ -430,7 +436,7 @@ def test_fes_models_inputs_sanity_check_errors(): match=re.escape("end_node_tracking list must have the same size as the number of muscles in fes_muscle_models"), ): ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + biorbd_model_path=biorbd_model_path, bound_type="start", bound_data=[0, 5], fes_muscle_models=[ @@ -450,7 +456,7 @@ def test_fes_models_inputs_sanity_check_errors(): match=re.escape(f"end_node_tracking index {1}: {'hello'} must be int or float type"), ): ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + biorbd_model_path=biorbd_model_path, bound_type="start", bound_data=[0, 5], fes_muscle_models=[ @@ -470,7 +476,7 @@ def test_fes_models_inputs_sanity_check_errors(): match=re.escape("q_tracking should be a list of size 2"), ): ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + biorbd_model_path=biorbd_model_path, bound_type="start", bound_data=[0, 5], fes_muscle_models=[ @@ -490,7 +496,7 @@ def test_fes_models_inputs_sanity_check_errors(): match=re.escape("q_tracking[0] should be a list"), ): ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + biorbd_model_path=biorbd_model_path, bound_type="start", bound_data=[0, 5], fes_muscle_models=[ @@ -510,7 +516,7 @@ def test_fes_models_inputs_sanity_check_errors(): match=re.escape("q_tracking[1] should have the same size as the number of generalized coordinates"), ): ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + biorbd_model_path=biorbd_model_path, bound_type="start", bound_data=[0, 5], fes_muscle_models=[ @@ -530,7 +536,7 @@ def test_fes_models_inputs_sanity_check_errors(): match=re.escape("q_tracking[0] and q_tracking[1] should have the same size"), ): ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + biorbd_model_path=biorbd_model_path, bound_type="start", bound_data=[0, 5], fes_muscle_models=[ @@ -550,7 +556,7 @@ def test_fes_models_inputs_sanity_check_errors(): match=re.escape(f"{'with_residual_torque'} should be a boolean"), ): ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + biorbd_model_path=biorbd_model_path, bound_type="start", bound_data=[0, 5], fes_muscle_models=[ @@ -576,7 +582,7 @@ def test_fes_muscle_models_sanity_check_errors(): ), ): ocp = FESActuatedBiorbdModelOCP.prepare_ocp( - biorbd_model_path="../../examples/msk_models/arm26_biceps_triceps.bioMod", + biorbd_model_path=biorbd_model_path, bound_type="start", bound_data=[0, 5], fes_muscle_models=[DingModelPulseDurationFrequencyWithFatigue(muscle_name="BIClong")], From ce9a13f2b41a22480de6bdbe4f5c3383abfba46b Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Thu, 8 Feb 2024 18:13:13 -0500 Subject: [PATCH 45/63] to correspond to online tests --- tests/shard2/test_fes_dynamics.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/shard2/test_fes_dynamics.py b/tests/shard2/test_fes_dynamics.py index b12d7a7c..0392d8c0 100644 --- a/tests/shard2/test_fes_dynamics.py +++ b/tests/shard2/test_fes_dynamics.py @@ -87,8 +87,8 @@ def test_multi_muscle_fes_dynamics(): np.testing.assert_almost_equal(sol.states["q"][0][-1], 0) np.testing.assert_almost_equal(sol.states["q"][1][0], 0.08722222222222223) np.testing.assert_almost_equal(sol.states["q"][1][-1], 2.0933333333333333) - np.testing.assert_almost_equal(sol.states["F_BIClong"][0][-1], 33.20686595) - np.testing.assert_almost_equal(sol.states["F_TRIlong"][0][-1], 18.36373478) + np.testing.assert_almost_equal(sol.states["F_BIClong"][0][-1], 33.206865, decimal=6) + np.testing.assert_almost_equal(sol.states["F_TRIlong"][0][-1], 18.363734, decimal=6) def test_fes_models_inputs_sanity_check_errors(): From 4756af1405a92bf1859281782ee418cb6efeca50 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Thu, 8 Feb 2024 19:04:52 -0500 Subject: [PATCH 46/63] adding one more test for multiple force tracking with intensity optim --- tests/shard2/test_fes_dynamics.py | 85 ++++++++++++++++++++++++++++++- 1 file changed, 83 insertions(+), 2 deletions(-) diff --git a/tests/shard2/test_fes_dynamics.py b/tests/shard2/test_fes_dynamics.py index 0392d8c0..ee4b6bdd 100644 --- a/tests/shard2/test_fes_dynamics.py +++ b/tests/shard2/test_fes_dynamics.py @@ -9,7 +9,11 @@ Solver, ) -from cocofest import DingModelPulseDurationFrequencyWithFatigue, FESActuatedBiorbdModelOCP +from cocofest import ( + DingModelPulseDurationFrequencyWithFatigue, + DingModelIntensityFrequencyWithFatigue, + FESActuatedBiorbdModelOCP, +) from examples.msk_models import init as ocp_module @@ -17,7 +21,7 @@ biorbd_model_path = biomodel_folder + "/arm26_biceps_triceps.bioMod" -def test_multi_muscle_fes_dynamics(): +def test_pulse_duration_multi_muscle_fes_dynamics(): objective_functions = ObjectiveList() n_stim = 10 for i in range(n_stim): @@ -91,6 +95,83 @@ def test_multi_muscle_fes_dynamics(): np.testing.assert_almost_equal(sol.states["F_TRIlong"][0][-1], 18.363734, decimal=6) +def test_pulse_intensity_multi_muscle_fes_dynamics(): + n_stim = 10 + minimum_pulse_intensity = DingModelIntensityFrequencyWithFatigue.min_pulse_intensity( + DingModelIntensityFrequencyWithFatigue() + ) + track_forces = [ + np.array([0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1]), + [np.array([0, 10, 40, 90, 140, 80, 50, 10, 0, 0, 0]), np.array([0, 0, 0, 10, 40, 90, 140, 80, 50, 10, 0])], + ] + + ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + biorbd_model_path=biorbd_model_path, + bound_type="start", + bound_data=[0, 5], + fes_muscle_models=[ + DingModelIntensityFrequencyWithFatigue(muscle_name="BIClong"), + DingModelIntensityFrequencyWithFatigue(muscle_name="TRIlong"), + ], + n_stim=n_stim, + n_shooting=5, + final_time=1, + pulse_intensity_min=minimum_pulse_intensity, + pulse_intensity_max=130, + pulse_intensity_bimapping=False, + force_tracking=track_forces, + with_residual_torque=False, + muscle_force_length_relationship=True, + muscle_force_velocity_relationship=True, + use_sx=False, + ) + + sol = ocp.solve(Solver.IPOPT(_max_iter=1000)).merge_phases() + + np.testing.assert_almost_equal(sol.cost, 6666357.331403, decimal=6) + np.testing.assert_almost_equal( + sol.parameters["pulse_intensity_BIClong"], + np.array( + [ + [130.00000125], + [130.00000126], + [130.00000128], + [130.00000128], + [130.00000121], + [50.86019267], + [17.02854916], + [17.02854916], + [17.02854917], + [17.0285492], + ] + ), + ) + np.testing.assert_almost_equal( + sol.parameters["pulse_intensity_TRIlong"], + np.array( + [ + [45.78076277], + [25.84044302], + [59.54858653], + [130.00000124], + [130.00000128], + [130.00000128], + [130.00000122], + [76.08547779], + [17.02854916], + [22.72956196], + ] + ), + ) + + np.testing.assert_almost_equal(sol.states["q"][0][0], 0) + np.testing.assert_almost_equal(sol.states["q"][0][-1], -0.35378857156156907) + np.testing.assert_almost_equal(sol.states["q"][1][0], 0.08722222222222223) + np.testing.assert_almost_equal(sol.states["q"][1][-1], -7.097935277992009e-10) + np.testing.assert_almost_equal(sol.states["F_BIClong"][0][-1], 47.408594, decimal=6) + np.testing.assert_almost_equal(sol.states["F_TRIlong"][0][-1], 29.131785, decimal=6) + + def test_fes_models_inputs_sanity_check_errors(): with pytest.raises( TypeError, From bed920496b56d8d8f5d8a65f3c33f2d88debef83 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Fri, 9 Feb 2024 11:28:03 -0500 Subject: [PATCH 47/63] correction --- .../reaching_task_pulse_duration_optimization.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py b/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py index d816fc1d..b8a2c4df 100644 --- a/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py +++ b/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py @@ -75,6 +75,16 @@ axes=[Axis.X, Axis.Y], ) +force_keys = ["F_BIClong", "F_BICshort", "F_TRIlong", "F_TRIlat", "F_TRImed", "F_BRA"] +for force_key in force_keys: + constraint.add( + ConstraintFcn.TRACK_STATE, + key=force_key, + phase=n_stim - 1, + node=Node.END, + target=0, + ) + for i in range(len(pickle_file_list)): time = [] states = [] From e6e1bbd6b0a3504a7a5fc785c1401c452a7363ba Mon Sep 17 00:00:00 2001 From: kevin Date: Sat, 10 Feb 2024 12:55:48 -0500 Subject: [PATCH 48/63] testing new simulation conditions --- cocofest/custom_objectives.py | 2 +- ...aching_task_pulse_duration_optimization.py | 28 +++++-------------- 2 files changed, 8 insertions(+), 22 deletions(-) diff --git a/cocofest/custom_objectives.py b/cocofest/custom_objectives.py index 7c010cea..58f4c2cc 100644 --- a/cocofest/custom_objectives.py +++ b/cocofest/custom_objectives.py @@ -103,5 +103,5 @@ def minimize_overall_muscle_force_production(controller: PenaltyController) -> M The sum of each force """ muscle_name_list = controller.model.bio_model.muscle_names - muscle_force = [controller.states["F_" + muscle_name_list[x]].cx for x in range(len(muscle_name_list))] + muscle_force = [controller.states["F_" + muscle_name_list[x]].cx ** 3 for x in range(len(muscle_name_list))] return sum(muscle_force) diff --git a/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py b/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py index b8a2c4df..83f48345 100644 --- a/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py +++ b/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py @@ -62,43 +62,29 @@ minimum_pulse_duration = DingModelPulseDurationFrequencyWithFatigue().pd0 pickle_file_list = ["minimize_muscle_fatigue.pkl", "minimize_muscle_force.pkl"] -n_stim = 40 -n_shooting = 5 +n_stim = 60 +n_shooting = 2 constraint = ConstraintList() constraint.add( ConstraintFcn.SUPERIMPOSE_MARKERS, first_marker="COM_hand", second_marker="reaching_target", - phase=n_stim - 1, + phase=39, node=Node.END, axes=[Axis.X, Axis.Y], ) -force_keys = ["F_BIClong", "F_BICshort", "F_TRIlong", "F_TRIlat", "F_TRImed", "F_BRA"] -for force_key in force_keys: - constraint.add( - ConstraintFcn.TRACK_STATE, - key=force_key, - phase=n_stim - 1, - node=Node.END, - target=0, - ) - for i in range(len(pickle_file_list)): - time = [] - states = [] - controls = [] - parameters = [] ocp = FESActuatedBiorbdModelOCP.prepare_ocp( biorbd_model_path="../../msk_models/arm26.bioMod", - bound_type="start", - bound_data=[0, 5], + bound_type="start_end", + bound_data=[[0, 5], [0, 5]], fes_muscle_models=fes_muscle_models, n_stim=n_stim, n_shooting=n_shooting, - final_time=1, + final_time=1.5, pulse_duration_min=minimum_pulse_duration, pulse_duration_max=0.0006, pulse_duration_bimapping=False, @@ -124,7 +110,7 @@ "parameters": parameters, } - with open("/result_file/pulse_duration_" + pickle_file_list[i], "wb") as file: + with open("result_file/pulse_duration_" + pickle_file_list[i], "wb") as file: pickle.dump(dictionary, file) From 232a6690fe1400fd1f0dd05efb12ca686e40664f Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Mon, 12 Feb 2024 14:24:45 -0500 Subject: [PATCH 49/63] graphic modification --- examples/dynamics/reaching_task/make_gaph.py | 244 ++++++++++++++++--- 1 file changed, 207 insertions(+), 37 deletions(-) diff --git a/examples/dynamics/reaching_task/make_gaph.py b/examples/dynamics/reaching_task/make_gaph.py index a5f58f34..7b8e17e6 100644 --- a/examples/dynamics/reaching_task/make_gaph.py +++ b/examples/dynamics/reaching_task/make_gaph.py @@ -1,42 +1,34 @@ """ This script is used to make the graph of the muscle force and fatigue for the reaching task. The data used to make the graph is from the result file of the optimization. -The available graphs are: frequency, duration, intensity +The available graphs are: duration, intensity """ import pickle import matplotlib.pyplot as plt +import numpy as np chosen_graph_to_plot = "duration" -frequency_path = [ - r"/result_file/pulse_apparition_minimize_muscle_force.pkl", - r"/result_file/pulse_apparition_minimize_muscle_fatigue.pkl", -] - duration_path = [ - r"/result_file/pulse_duration_minimize_muscle_force.pkl", - r"/result_file/pulse_duration_minimize_muscle_fatigue.pkl", + r"result_file/pulse_duration_minimize_muscle_force.pkl", + r"result_file/pulse_duration_minimize_muscle_fatigue.pkl", ] intensity_path = [ - r"/result_file/pulse_intensity_minimize_muscle_force.pkl", - r"/result_file/pulse_intensity_minimize_muscle_fatigue.pkl", + r"result_file/pulse_intensity_minimize_muscle_force.pkl", + r"result_file/pulse_intensity_minimize_muscle_fatigue.pkl", ] chosen_graph_to_plot_path = ( - frequency_path - if chosen_graph_to_plot == "frequency" - else ( duration_path if chosen_graph_to_plot == "duration" - else intensity_path if chosen_graph_to_plot == "duration" else None + else intensity_path if chosen_graph_to_plot == "intensity" else None ) -) -if chosen_graph_to_plot_path is None: - raise ValueError("The chosen graph to plot is not valid") +if chosen_graph_to_plot_path is None: + raise ValueError("The chosen graph to plot is not available") with open(chosen_graph_to_plot_path[0], "rb") as f: data_minimize_force = pickle.load(f) @@ -46,15 +38,18 @@ force_muscle_keys = ["F_BIClong", "F_BICshort", "F_TRIlong", "F_TRIlat", "F_TRImed", "F_BRA"] muscle_names = ["BIClong", "BICshort", "TRIlong", "TRIlat", "TRImed", "BRA"] -fig, axs = plt.subplots(3, 2, figsize=(5, 3), sharex=True, sharey=True, constrained_layout=True) +muscle_title_x_postiton = [0.55, 0.5, 0.56, 0.62, 0.55, 0.73] +fig, axs = plt.subplots(3, 3, figsize=(5, 3), constrained_layout=True) index = 0 -for i in range(3): - for j in range(2): - axs[i][j].set_xlim(left=0, right=1) - axs[i][j].set_ylim(bottom=0, top=300) + +# Force across time +for i in range(2): + for j in range(3): + axs[i][j].set_xlim(left=0, right=1.5) + axs[i][j].set_ylim(bottom=0, top=250) axs[i][j].text( - 0.025, + muscle_title_x_postiton[index], 0.975, f"{muscle_names[index]}", transform=axs[i][j].transAxes, @@ -68,6 +63,30 @@ [label.set_fontname("Times New Roman") for label in labels] [label.set_fontsize(14) for label in labels] + axs[i][j].scatter( + 1, + 0, + color="red" + ) + + if j == 0: + plt.setp( + axs[i][j], + xticks=[0, 0.5, 1, 1.5], + xticklabels=[], + yticks=[0, 75, 150, 225], + yticklabels=[0, 75, 150, 225], + ) + + else: + plt.setp( + axs[i][j], + xticks=[0, 0.5, 1, 1.5], + xticklabels=[], + yticks=[0, 75, 150, 225], + yticklabels=[], + ) + if i == 0 and j == 0: axs[i][j].plot( data_minimize_force["time"], @@ -98,23 +117,174 @@ ) index += 1 +# Joint angle across time +q_names = ["q_arm", "q_elbow"] +q_x_position = [0.65, 0.57] +for i in range(2): + axs[2][i].set_xlim(left=0, right=1.5) + axs[2][i].set_ylim(bottom=-1, top=2.5) + + axs[2][i].text( + q_x_position[i], + 0.975, + f"{q_names[i]}", + transform=axs[2][i].transAxes, + ha="left", + va="top", + weight="bold", + font="Times New Roman", + ) + + labels = axs[2][i].get_xticklabels() + axs[2][i].get_yticklabels() + [label.set_fontname("Times New Roman") for label in labels] + [label.set_fontsize(14) for label in labels] + + axs[2][i].scatter( + 1, + -2, + color="red" + ) + + if i == 0: + plt.setp( + axs[2][i], + xticks=[0, 0.5, 1, 1.5], + xticklabels=[0, 0.5, 1, 1.5], + yticks=[-2, -1, 0, 1, 2], + yticklabels=[-2, -1, 0, 1, 2], + ) + + else: + plt.setp( + axs[2][i], + xticks=[0, 0.5, 1, 1.5], + xticklabels=[0, 0.5, 1, 1.5], + yticks=[-1, 0, 1, 2], + yticklabels=[], + ) + + axs[2][i].plot( + data_minimize_force["time"], + data_minimize_force["states"]["q"][i], + ms=4, + linewidth=5.0, + ) + axs[2][i].plot( + data_minimize_fatigue["time"], + data_minimize_fatigue["states"]["q"][i], + ms=4, + linewidth=5.0, + ) + +# fatigue across time +axs[2][2].set_xlim(left=0, right=1.5) +axs[2][2].set_ylim(bottom=-6, top=0) + +axs[2][2].text( + 0.3, + 0.975, + f"{'Scaling factor'}", + transform=axs[2][2].transAxes, + ha="left", + va="top", + weight="bold", + font="Times New Roman", +) + +labels = axs[2][2].get_xticklabels() + axs[2][2].get_yticklabels() +[label.set_fontname("Times New Roman") for label in labels] +[label.set_fontsize(14) for label in labels] + +a_list = ["A_BIClong", "A_BICshort", "A_TRIlong", "A_TRIlat", "A_TRImed", "A_BRA"] +a_sum_base_line = 0 +a_force_sum_list = [] +a_fatigue_sum_list = [] +for key_a in a_list: + a_sum_base_line += data_minimize_force["states"][key_a][0][0] +for i in range(len(data_minimize_force["time"])): + a_force_sum = 0 + a_fatigue_sum = 0 + for key_a in a_list: + a_force_sum += data_minimize_force["states"][key_a][0][i] + a_fatigue_sum += data_minimize_fatigue["states"][key_a][0][i] + + a_force_sum_list.append(a_force_sum) + a_fatigue_sum_list.append(a_fatigue_sum) + +a_force_diff_list = [] +a_fatigue_diff_list = [] +for i in range(len(data_minimize_force["time"])): + a_force_diff_list.append((a_force_sum_list[i] - a_force_sum_list[0])*1000) + a_fatigue_diff_list.append((a_fatigue_sum_list[i] - a_fatigue_sum_list[0])*1000) + plt.setp( - axs, - xticks=[0, 0.25, 0.5, 0.75, 1], - xticklabels=[0, 0.25, 0.5, 0.75, 1], - yticks=[0, 100, 200, 300], - yticklabels=[0, 100, 200, 300], + axs[2][2], + xticks=[0, 0.5, 1, 1.5], + xticklabels=[0, 0.5, 1, 1.5], + yticks=[0, -2, -4, -6], + yticklabels=[0, 2, 4, 6], ) -fig.supxlabel("Time (s)", font="Times New Roman", fontsize=14) -fig.supylabel("Force (N)", font="Times New Roman", fontsize=14) +axs[2][2].plot(data_minimize_force["time"], a_force_diff_list, ms=4, linewidth=5.0) +axs[2][2].plot(data_minimize_force["time"], a_fatigue_diff_list, ms=4, linewidth=5.0) -# fig.legend() -# fig.tight_layout() -plt.show() +axs[2][2].scatter( + 1, + -6, + color="red" +) + +axs[2][2].text( + 0, + 1.15, + f"{'-1e-4'}", + transform=axs[2][2].transAxes, + ha="left", + va="top", + fontsize=10, +) + +# fig.delaxes(axs[2][2]) +# Figure labels +axs[1][0].text( + -0.5, + 1.85, + f"{'Force (N)'}", + transform=axs[1][0].transAxes, + ha="left", + va="top", + weight="bold", + font="Times New Roman", + fontsize=14, + rotation=90, +) -# a_list = ["A_BIClong", "A_BICshort", "A_TRIlong", "A_TRIlat", "A_TRImed", "A_BRA"] -# a_sum = 0 -# for key_a in a_list: -# a_sum += data_minimize_force["states"][key_a][0][-1] +axs[2][0].text( + -0.5, + 1.18, + "Joint angle \n (rad)", + transform=axs[2][0].transAxes, + ha="left", + va="top", + weight="bold", + font="Times New Roman", + fontsize=14, + rotation=90, +) + +axs[2][1].text( + 0.225, + -0.4, + "Time (s)", + transform=axs[2][1].transAxes, + ha="left", + va="top", + weight="bold", + font="Times New Roman", + fontsize=14, +) + +fig.tight_layout(pad=4.0) +plt.subplots_adjust(left=0.130, right=0.975, top=0.975, bottom=0.155) +plt.show() From 417c92006cadab4d373f57fb35b3a67c6ef42743 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Thu, 15 Feb 2024 14:00:11 -0500 Subject: [PATCH 50/63] Renaming class --- cocofest/__init__.py | 4 +- cocofest/models/dynamical_model.py | 6 +- cocofest/optimization/fes_ocp_dynamics.py | 28 +++++----- ...timization_musculoskeletal_dynamic_2dof.py | 4 +- ...nsity_optimization_cycling_multi_muscle.py | 4 +- .../intensity_optimization_hold_position.py | 4 +- ...optimization_hold_position_multi_muscle.py | 4 +- .../frequecy_optimization_minimize_fatigue.py | 4 +- ..._duration_optimization_minimize_fatigue.py | 4 +- ...intensity_optimization_minimize_fatigue.py | 4 +- ...force_velocity_relationships_comparison.py | 4 +- .../reaching_task_frequency_optimization.py | 4 +- .../reaching_task_intensity_optimization.py | 4 +- ...aching_task_pulse_duration_optimization.py | 4 +- ...cy_optimization_musculoskeletal_dynamic.py | 4 +- ...on_optimization_musculoskeletal_dynamic.py | 4 +- ...ty_optimization_musculoskeletal_dynamic.py | 4 +- tests/shard2/test_fes_dynamics.py | 56 +++++++++---------- 18 files changed, 75 insertions(+), 75 deletions(-) diff --git a/cocofest/__init__.py b/cocofest/__init__.py index 66234015..340e53e1 100644 --- a/cocofest/__init__.py +++ b/cocofest/__init__.py @@ -5,11 +5,11 @@ from .models.ding2007_with_fatigue import DingModelPulseDurationFrequencyWithFatigue from .models.hmed2018 import DingModelIntensityFrequency from .models.hmed2018_with_fatigue import DingModelIntensityFrequencyWithFatigue -from .models.dynamical_model import FESActuatedBiorbdModel +from .models.dynamical_model import FesMskModel from .optimization.fes_multi_start import FunctionalElectricStimulationMultiStart from .optimization.fes_ocp import OcpFes from .optimization.fes_identification_ocp import OcpFesId -from .optimization.fes_ocp_dynamics import FESActuatedBiorbdModelOCP +from .optimization.fes_ocp_dynamics import OcpFesMsk from .integration.ivp_fes import IvpFes from .fourier_approx import FourierSeries from .read_data import ExtractData diff --git a/cocofest/models/dynamical_model.py b/cocofest/models/dynamical_model.py index 1a7039fe..1a36e688 100644 --- a/cocofest/models/dynamical_model.py +++ b/cocofest/models/dynamical_model.py @@ -21,7 +21,7 @@ ) -class FESActuatedBiorbdModel(BiorbdModel): +class FesMskModel(BiorbdModel): def __init__( self, name: str = None, @@ -137,11 +137,11 @@ def muscle_dynamic( muscle_force_length_coeff = 1 muscle_force_velocity_coeff = 1 if nlp.model.muscle_force_length_relationship: - muscle_force_length_coeff = FESActuatedBiorbdModel.muscle_force_length_coefficient( + muscle_force_length_coeff = FesMskModel.muscle_force_length_coefficient( model=nlp.model.bio_model.model, muscle=nlp.model.bio_model.model.muscle(muscle_idx), q=q ) if nlp.model.muscle_force_velocity_relationship: - muscle_force_velocity_coeff = FESActuatedBiorbdModel.muscle_force_velocity_coefficient( + muscle_force_velocity_coeff = FesMskModel.muscle_force_velocity_coefficient( model=nlp.model.bio_model.model, muscle=nlp.model.bio_model.model.muscle(muscle_idx), q=q, qdot=qdot ) diff --git a/cocofest/optimization/fes_ocp_dynamics.py b/cocofest/optimization/fes_ocp_dynamics.py index 03a87f67..587ed529 100644 --- a/cocofest/optimization/fes_ocp_dynamics.py +++ b/cocofest/optimization/fes_ocp_dynamics.py @@ -27,12 +27,12 @@ DingModelIntensityFrequency, DingModelIntensityFrequencyWithFatigue, OcpFes, - FESActuatedBiorbdModel, + FesMskModel, CustomObjective, ) -class FESActuatedBiorbdModelOCP: +class OcpFesMsk: @staticmethod def prepare_ocp( biorbd_model_path: str, @@ -178,7 +178,7 @@ def prepare_ocp( n_threads=n_threads, ) - FESActuatedBiorbdModelOCP._sanity_check_fes_models_inputs( + OcpFesMsk._sanity_check_fes_models_inputs( biorbd_model_path=biorbd_model_path, bound_type=bound_type, bound_data=bound_data, @@ -195,7 +195,7 @@ def prepare_ocp( OcpFes._sanity_check_frequency(n_stim=n_stim, final_time=final_time, frequency=frequency, round_down=round_down) - FESActuatedBiorbdModelOCP._sanity_check_muscle_model( + OcpFesMsk._sanity_check_muscle_model( biorbd_model_path=biorbd_model_path, fes_muscle_models=fes_muscle_models ) @@ -227,7 +227,7 @@ def prepare_ocp( parameters_bounds, parameters_init, parameter_objectives, - ) = FESActuatedBiorbdModelOCP._build_parameters( + ) = OcpFesMsk._build_parameters( model=fes_muscle_models, n_stim=n_stim, pulse_duration=pulse_duration, @@ -242,7 +242,7 @@ def prepare_ocp( pulse_intensity_similar_for_all_muscles=pulse_intensity_similar_for_all_muscles, ) - constraints = FESActuatedBiorbdModelOCP._set_constraints(constraints, custom_constraint) + constraints = OcpFesMsk._set_constraints(constraints, custom_constraint) if len(constraints) == 0 and len(parameters) == 0: raise ValueError( @@ -251,7 +251,7 @@ def prepare_ocp( ) bio_models = [ - FESActuatedBiorbdModel( + FesMskModel( name=None, biorbd_path=biorbd_model_path, muscles_model=fes_muscle_models, @@ -261,17 +261,17 @@ def prepare_ocp( for i in range(n_stim) ] - dynamics = FESActuatedBiorbdModelOCP._declare_dynamics(bio_models, n_stim) - x_bounds, x_init = FESActuatedBiorbdModelOCP._set_bounds( + dynamics = OcpFesMsk._declare_dynamics(bio_models, n_stim) + x_bounds, x_init = OcpFesMsk._set_bounds( bio_models, fes_muscle_models, bound_type, bound_data, n_stim, ) - u_bounds, u_init = FESActuatedBiorbdModelOCP._set_controls(bio_models, n_stim, with_residual_torque) + u_bounds, u_init = OcpFesMsk._set_controls(bio_models, n_stim, with_residual_torque) muscle_force_key = ["F_" + fes_muscle_models[i].muscle_name for i in range(len(fes_muscle_models))] - objective_functions = FESActuatedBiorbdModelOCP._set_objective( + objective_functions = OcpFesMsk._set_objective( n_stim, n_shooting, force_fourier_coef, @@ -700,7 +700,7 @@ def _set_objective( @staticmethod def _sanity_check_muscle_model(biorbd_model_path, fes_muscle_models): - tested_bio_model = FESActuatedBiorbdModel( + tested_bio_model = FesMskModel( name=None, biorbd_path=biorbd_model_path, muscles_model=fes_muscle_models ) fes_muscle_models_name_list = [fes_muscle_models[x].muscle_name for x in range(len(fes_muscle_models))] @@ -731,7 +731,7 @@ def _sanity_check_fes_models_inputs( raise TypeError("biorbd_model_path should be a string") if bound_type: - tested_bio_model = FESActuatedBiorbdModel( + tested_bio_model = FesMskModel( name=None, biorbd_path=biorbd_model_path, muscles_model=fes_muscle_models ) if not isinstance(bound_type, str) or bound_type not in ["start", "end", "start_end"]: @@ -806,7 +806,7 @@ def _sanity_check_fes_models_inputs( if q_tracking: if not isinstance(q_tracking, list) and len(q_tracking) != 2: raise TypeError("q_tracking should be a list of size 2") - tested_bio_model = FESActuatedBiorbdModel( + tested_bio_model = FesMskModel( name=None, biorbd_path=biorbd_model_path, muscles_model=fes_muscle_models ) if not isinstance(q_tracking[0], list): diff --git a/examples/dynamics/frequency_optimization_musculoskeletal_dynamic_2dof.py b/examples/dynamics/frequency_optimization_musculoskeletal_dynamic_2dof.py index 6ca3a2fc..d4643037 100644 --- a/examples/dynamics/frequency_optimization_musculoskeletal_dynamic_2dof.py +++ b/examples/dynamics/frequency_optimization_musculoskeletal_dynamic_2dof.py @@ -11,7 +11,7 @@ Solver, ) -from cocofest import DingModelFrequencyWithFatigue, FESActuatedBiorbdModelOCP +from cocofest import DingModelFrequencyWithFatigue, OcpFesMsk objective_functions = ObjectiveList() @@ -19,7 +19,7 @@ for i in range(n_stim): objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=1, quadratic=True, phase=i) -ocp = FESActuatedBiorbdModelOCP.prepare_ocp( +ocp = OcpFesMsk.prepare_ocp( biorbd_model_path="../msk_models/arm26_biceps.bioMod", bound_type="start_end", bound_data=[[0, 5], [0, 120]], diff --git a/examples/dynamics/intensity_optimization_cycling_multi_muscle.py b/examples/dynamics/intensity_optimization_cycling_multi_muscle.py index f977eefc..7026fcce 100644 --- a/examples/dynamics/intensity_optimization_cycling_multi_muscle.py +++ b/examples/dynamics/intensity_optimization_cycling_multi_muscle.py @@ -13,7 +13,7 @@ Solver, ) -from cocofest import DingModelIntensityFrequency, FESActuatedBiorbdModelOCP +from cocofest import DingModelIntensityFrequency, OcpFesMsk n_stim = 30 @@ -33,7 +33,7 @@ minimum_pulse_intensity = DingModelIntensityFrequency.min_pulse_intensity(DingModelIntensityFrequency()) -ocp = FESActuatedBiorbdModelOCP.prepare_ocp( +ocp = OcpFesMsk.prepare_ocp( biorbd_model_path="../msk_models/arm26.bioMod", bound_type="start_end", bound_data=[[65, 38], [65, 38]], diff --git a/examples/dynamics/intensity_optimization_hold_position.py b/examples/dynamics/intensity_optimization_hold_position.py index 7e75cfaf..499ac17f 100644 --- a/examples/dynamics/intensity_optimization_hold_position.py +++ b/examples/dynamics/intensity_optimization_hold_position.py @@ -14,7 +14,7 @@ Solver, ) -from cocofest import DingModelIntensityFrequencyWithFatigue, FESActuatedBiorbdModelOCP +from cocofest import DingModelIntensityFrequencyWithFatigue, OcpFesMsk objective_functions = ObjectiveList() @@ -47,7 +47,7 @@ DingModelIntensityFrequencyWithFatigue() ) -ocp = FESActuatedBiorbdModelOCP.prepare_ocp( +ocp = OcpFesMsk.prepare_ocp( biorbd_model_path="../msk_models/arm26_biceps_1dof.bioMod", bound_type="start", bound_data=[90], diff --git a/examples/dynamics/intensity_optimization_hold_position_multi_muscle.py b/examples/dynamics/intensity_optimization_hold_position_multi_muscle.py index 1c721fd1..d487c667 100644 --- a/examples/dynamics/intensity_optimization_hold_position_multi_muscle.py +++ b/examples/dynamics/intensity_optimization_hold_position_multi_muscle.py @@ -14,7 +14,7 @@ Solver, ) -from cocofest import DingModelIntensityFrequencyWithFatigue, FESActuatedBiorbdModelOCP +from cocofest import DingModelIntensityFrequencyWithFatigue, OcpFesMsk objective_functions = ObjectiveList() @@ -47,7 +47,7 @@ DingModelIntensityFrequencyWithFatigue() ) -ocp = FESActuatedBiorbdModelOCP.prepare_ocp( +ocp = OcpFesMsk.prepare_ocp( biorbd_model_path="../msk_models/arm26.bioMod", bound_type="start", bound_data=[0, 90], diff --git a/examples/dynamics/minimize_fatigue/frequecy_optimization_minimize_fatigue.py b/examples/dynamics/minimize_fatigue/frequecy_optimization_minimize_fatigue.py index 262cf4ee..68f1266f 100644 --- a/examples/dynamics/minimize_fatigue/frequecy_optimization_minimize_fatigue.py +++ b/examples/dynamics/minimize_fatigue/frequecy_optimization_minimize_fatigue.py @@ -17,7 +17,7 @@ Solver, ) -from cocofest import DingModelFrequencyWithFatigue, FESActuatedBiorbdModelOCP +from cocofest import DingModelFrequencyWithFatigue, OcpFesMsk n_stim = 5 n_shooting = 10 @@ -36,7 +36,7 @@ objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=10000, quadratic=True, phase=i) -ocp = FESActuatedBiorbdModelOCP.prepare_ocp( +ocp = OcpFesMsk.prepare_ocp( biorbd_model_path="../../msk_models/arm26_biceps_triceps.bioMod", bound_type="start_end", bound_data=[[0, 5], [0, 90]], diff --git a/examples/dynamics/minimize_fatigue/pulse_duration_optimization_minimize_fatigue.py b/examples/dynamics/minimize_fatigue/pulse_duration_optimization_minimize_fatigue.py index 54542b54..5a155479 100644 --- a/examples/dynamics/minimize_fatigue/pulse_duration_optimization_minimize_fatigue.py +++ b/examples/dynamics/minimize_fatigue/pulse_duration_optimization_minimize_fatigue.py @@ -14,7 +14,7 @@ Solver, ) -from cocofest import DingModelPulseDurationFrequencyWithFatigue, FESActuatedBiorbdModelOCP +from cocofest import DingModelPulseDurationFrequencyWithFatigue, OcpFesMsk n_stim = 10 n_shooting = 10 @@ -32,7 +32,7 @@ minimum_pulse_duration = DingModelPulseDurationFrequencyWithFatigue().pd0 -ocp = FESActuatedBiorbdModelOCP.prepare_ocp( +ocp = OcpFesMsk.prepare_ocp( biorbd_model_path="../../msk_models/arm26_biceps_triceps.bioMod", bound_type="start_end", bound_data=[[0, 5], [0, 90]], diff --git a/examples/dynamics/minimize_fatigue/pulse_intensity_optimization_minimize_fatigue.py b/examples/dynamics/minimize_fatigue/pulse_intensity_optimization_minimize_fatigue.py index ed068496..f4ec8a82 100644 --- a/examples/dynamics/minimize_fatigue/pulse_intensity_optimization_minimize_fatigue.py +++ b/examples/dynamics/minimize_fatigue/pulse_intensity_optimization_minimize_fatigue.py @@ -14,7 +14,7 @@ Solver, ) -from cocofest import DingModelIntensityFrequencyWithFatigue, FESActuatedBiorbdModelOCP +from cocofest import DingModelIntensityFrequencyWithFatigue, OcpFesMsk n_stim = 10 n_shooting = 10 @@ -34,7 +34,7 @@ DingModelIntensityFrequencyWithFatigue() ) -ocp = FESActuatedBiorbdModelOCP.prepare_ocp( +ocp = OcpFesMsk.prepare_ocp( biorbd_model_path="../../msk_models/arm26_biceps_triceps.bioMod", bound_type="start_end", bound_data=[[0, 5], [0, 90]], diff --git a/examples/dynamics/muscle_force_length_and_force_velocity_relationships_comparison.py b/examples/dynamics/muscle_force_length_and_force_velocity_relationships_comparison.py index 2ddef919..42e9a0f7 100644 --- a/examples/dynamics/muscle_force_length_and_force_velocity_relationships_comparison.py +++ b/examples/dynamics/muscle_force_length_and_force_velocity_relationships_comparison.py @@ -10,7 +10,7 @@ from cocofest import ( DingModelPulseDurationFrequencyWithFatigue, - FESActuatedBiorbdModelOCP, + OcpFesMsk, ) minimum_pulse_duration = DingModelPulseDurationFrequencyWithFatigue().pd0 @@ -19,7 +19,7 @@ muscle_force_length_relationship = [False, True] for i in range(2): - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + ocp = OcpFesMsk.prepare_ocp( biorbd_model_path="../msk_models/arm26_biceps_1dof.bioMod", bound_type="start", bound_data=[0], diff --git a/examples/dynamics/reaching_task/reaching_task_frequency_optimization.py b/examples/dynamics/reaching_task/reaching_task_frequency_optimization.py index 38baf051..103dcec5 100644 --- a/examples/dynamics/reaching_task/reaching_task_frequency_optimization.py +++ b/examples/dynamics/reaching_task/reaching_task_frequency_optimization.py @@ -15,7 +15,7 @@ Node, ) -from cocofest import DingModelFrequencyWithFatigue, FESActuatedBiorbdModelOCP +from cocofest import DingModelFrequencyWithFatigue, OcpFesMsk # Fiber type proportion from [1] biceps_fiber_type_2_proportion = 0.607 @@ -80,7 +80,7 @@ controls = [] parameters = [] - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + ocp = OcpFesMsk.prepare_ocp( biorbd_model_path="../../msk_models/arm26.bioMod", bound_type="start", bound_data=[0, 5], diff --git a/examples/dynamics/reaching_task/reaching_task_intensity_optimization.py b/examples/dynamics/reaching_task/reaching_task_intensity_optimization.py index 562e4f7b..537fa84f 100644 --- a/examples/dynamics/reaching_task/reaching_task_intensity_optimization.py +++ b/examples/dynamics/reaching_task/reaching_task_intensity_optimization.py @@ -15,7 +15,7 @@ Node, ) -from cocofest import DingModelIntensityFrequencyWithFatigue, FESActuatedBiorbdModelOCP +from cocofest import DingModelIntensityFrequencyWithFatigue, OcpFesMsk # Fiber type proportion from [1] biceps_fiber_type_2_proportion = 0.607 @@ -83,7 +83,7 @@ controls = [] parameters = [] - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + ocp = OcpFesMsk.prepare_ocp( biorbd_model_path="../../msk_models/arm26.bioMod", bound_type="start", bound_data=[0, 5], diff --git a/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py b/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py index 83f48345..0b96d643 100644 --- a/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py +++ b/examples/dynamics/reaching_task/reaching_task_pulse_duration_optimization.py @@ -15,7 +15,7 @@ Node, ) -from cocofest import DingModelPulseDurationFrequencyWithFatigue, FESActuatedBiorbdModelOCP +from cocofest import DingModelPulseDurationFrequencyWithFatigue, OcpFesMsk # Fiber type proportion from [1] biceps_fiber_type_2_proportion = 0.607 @@ -77,7 +77,7 @@ for i in range(len(pickle_file_list)): - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + ocp = OcpFesMsk.prepare_ocp( biorbd_model_path="../../msk_models/arm26.bioMod", bound_type="start_end", bound_data=[[0, 5], [0, 5]], diff --git a/examples/getting_started/frequency_optimization_musculoskeletal_dynamic.py b/examples/getting_started/frequency_optimization_musculoskeletal_dynamic.py index b96ab8eb..217716ea 100644 --- a/examples/getting_started/frequency_optimization_musculoskeletal_dynamic.py +++ b/examples/getting_started/frequency_optimization_musculoskeletal_dynamic.py @@ -11,7 +11,7 @@ Solver, ) -from cocofest import DingModelFrequencyWithFatigue, FESActuatedBiorbdModelOCP +from cocofest import DingModelFrequencyWithFatigue, OcpFesMsk objective_functions = ObjectiveList() @@ -19,7 +19,7 @@ for i in range(n_stim): objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=1, quadratic=True, phase=i) -ocp = FESActuatedBiorbdModelOCP.prepare_ocp( +ocp = OcpFesMsk.prepare_ocp( biorbd_model_path="../msk_models/arm26_biceps_1dof.bioMod", bound_type="start_end", bound_data=[[5], [120]], diff --git a/examples/getting_started/pulse_duration_optimization_musculoskeletal_dynamic.py b/examples/getting_started/pulse_duration_optimization_musculoskeletal_dynamic.py index 750254bc..0288ed18 100644 --- a/examples/getting_started/pulse_duration_optimization_musculoskeletal_dynamic.py +++ b/examples/getting_started/pulse_duration_optimization_musculoskeletal_dynamic.py @@ -11,7 +11,7 @@ Solver, ) -from cocofest import DingModelPulseDurationFrequencyWithFatigue, FESActuatedBiorbdModelOCP +from cocofest import DingModelPulseDurationFrequencyWithFatigue, OcpFesMsk objective_functions = ObjectiveList() @@ -20,7 +20,7 @@ objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=1, quadratic=True, phase=i) minimum_pulse_duration = DingModelPulseDurationFrequencyWithFatigue().pd0 -ocp = FESActuatedBiorbdModelOCP.prepare_ocp( +ocp = OcpFesMsk.prepare_ocp( biorbd_model_path="../msk_models/arm26_biceps_1dof.bioMod", bound_type="start_end", bound_data=[[5], [120]], diff --git a/examples/getting_started/pulse_intensity_optimization_musculoskeletal_dynamic.py b/examples/getting_started/pulse_intensity_optimization_musculoskeletal_dynamic.py index b17956e9..9106166c 100644 --- a/examples/getting_started/pulse_intensity_optimization_musculoskeletal_dynamic.py +++ b/examples/getting_started/pulse_intensity_optimization_musculoskeletal_dynamic.py @@ -11,7 +11,7 @@ Solver, ) -from cocofest import DingModelIntensityFrequencyWithFatigue, FESActuatedBiorbdModelOCP +from cocofest import DingModelIntensityFrequencyWithFatigue, OcpFesMsk objective_functions = ObjectiveList() @@ -23,7 +23,7 @@ DingModelIntensityFrequencyWithFatigue() ) -ocp = FESActuatedBiorbdModelOCP.prepare_ocp( +ocp = OcpFesMsk.prepare_ocp( biorbd_model_path="../msk_models/arm26_biceps_1dof.bioMod", bound_type="start_end", bound_data=[[5], [120]], diff --git a/tests/shard2/test_fes_dynamics.py b/tests/shard2/test_fes_dynamics.py index ee4b6bdd..b4753b9e 100644 --- a/tests/shard2/test_fes_dynamics.py +++ b/tests/shard2/test_fes_dynamics.py @@ -12,7 +12,7 @@ from cocofest import ( DingModelPulseDurationFrequencyWithFatigue, DingModelIntensityFrequencyWithFatigue, - FESActuatedBiorbdModelOCP, + OcpFesMsk, ) from examples.msk_models import init as ocp_module @@ -28,7 +28,7 @@ def test_pulse_duration_multi_muscle_fes_dynamics(): objective_functions.add(ObjectiveFcn.Lagrange.MINIMIZE_CONTROL, key="tau", weight=1, quadratic=True, phase=i) minimum_pulse_duration = DingModelPulseDurationFrequencyWithFatigue().pd0 - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + ocp = OcpFesMsk.prepare_ocp( biorbd_model_path=biorbd_model_path, bound_type="start_end", bound_data=[[0, 5], [0, 120]], @@ -105,7 +105,7 @@ def test_pulse_intensity_multi_muscle_fes_dynamics(): [np.array([0, 10, 40, 90, 140, 80, 50, 10, 0, 0, 0]), np.array([0, 0, 0, 10, 40, 90, 140, 80, 50, 10, 0])], ] - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + ocp = OcpFesMsk.prepare_ocp( biorbd_model_path=biorbd_model_path, bound_type="start", bound_data=[0, 5], @@ -177,7 +177,7 @@ def test_fes_models_inputs_sanity_check_errors(): TypeError, match=re.escape("biorbd_model_path should be a string"), ): - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + ocp = OcpFesMsk.prepare_ocp( biorbd_model_path=5, bound_type="start_end", bound_data=[[0, 5], [0, 120]], @@ -196,7 +196,7 @@ def test_fes_models_inputs_sanity_check_errors(): ValueError, match=re.escape("bound_type should be a string and should be equal to start, end or start_end"), ): - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + ocp = OcpFesMsk.prepare_ocp( biorbd_model_path=biorbd_model_path, bound_type="hello", bound_data=[[0, 5], [0, 120]], @@ -215,7 +215,7 @@ def test_fes_models_inputs_sanity_check_errors(): TypeError, match=re.escape("bound_data should be a list"), ): - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + ocp = OcpFesMsk.prepare_ocp( biorbd_model_path=biorbd_model_path, bound_type="start_end", bound_data="[[0, 5], [0, 120]]", @@ -234,7 +234,7 @@ def test_fes_models_inputs_sanity_check_errors(): ValueError, match=re.escape(f"bound_data should be a list of {2} elements"), ): - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + ocp = OcpFesMsk.prepare_ocp( biorbd_model_path=biorbd_model_path, bound_type="start_end", bound_data=[[0, 5, 7], [0, 120, 150]], @@ -253,7 +253,7 @@ def test_fes_models_inputs_sanity_check_errors(): TypeError, match=re.escape(f"bound_data should be a list of two list"), ): - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + ocp = OcpFesMsk.prepare_ocp( biorbd_model_path=biorbd_model_path, bound_type="start_end", bound_data=["[0, 5]", [0, 120]], @@ -272,7 +272,7 @@ def test_fes_models_inputs_sanity_check_errors(): ValueError, match=re.escape(f"bound_data should be a list of {2} elements"), ): - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + ocp = OcpFesMsk.prepare_ocp( biorbd_model_path=biorbd_model_path, bound_type="start_end", bound_data=[[0, 5, 7], [0, 120, 150]], @@ -291,7 +291,7 @@ def test_fes_models_inputs_sanity_check_errors(): TypeError, match=re.escape(f"bound data index {1}: {5} and {'120'} should be an int or float"), ): - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + ocp = OcpFesMsk.prepare_ocp( biorbd_model_path=biorbd_model_path, bound_type="start_end", bound_data=[[0, 5], [0, "120"]], @@ -310,7 +310,7 @@ def test_fes_models_inputs_sanity_check_errors(): ValueError, match=re.escape(f"bound_data should be a list of {2} element"), ): - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + ocp = OcpFesMsk.prepare_ocp( biorbd_model_path=biorbd_model_path, bound_type="start", bound_data=[0, 5, 10], @@ -329,7 +329,7 @@ def test_fes_models_inputs_sanity_check_errors(): TypeError, match=re.escape(f"bound data index {1}: {'5'} should be an int or float"), ): - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + ocp = OcpFesMsk.prepare_ocp( biorbd_model_path=biorbd_model_path, bound_type="end", bound_data=[0, "5"], @@ -355,7 +355,7 @@ def test_fes_models_inputs_sanity_check_errors(): " DingModelIntensityFrequencyWithFatigue type" ), ): - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + ocp = OcpFesMsk.prepare_ocp( biorbd_model_path=biorbd_model_path, bound_type="start", bound_data=[0, 5], @@ -374,7 +374,7 @@ def test_fes_models_inputs_sanity_check_errors(): TypeError, match=re.escape(f"force_tracking: {'hello'} must be list type"), ): - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + ocp = OcpFesMsk.prepare_ocp( biorbd_model_path=biorbd_model_path, bound_type="start", bound_data=[0, 5], @@ -394,7 +394,7 @@ def test_fes_models_inputs_sanity_check_errors(): ValueError, match=re.escape("force_tracking must of size 2"), ): - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + ocp = OcpFesMsk.prepare_ocp( biorbd_model_path=biorbd_model_path, bound_type="end", bound_data=[0, 5], @@ -414,7 +414,7 @@ def test_fes_models_inputs_sanity_check_errors(): TypeError, match=re.escape(f"force_tracking index 0: {'hello'} must be np.ndarray type"), ): - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + ocp = OcpFesMsk.prepare_ocp( biorbd_model_path=biorbd_model_path, bound_type="start", bound_data=[0, 5], @@ -434,7 +434,7 @@ def test_fes_models_inputs_sanity_check_errors(): TypeError, match=re.escape(f"force_tracking index 1: {'[1, 2, 3]'} must be list type"), ): - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + ocp = OcpFesMsk.prepare_ocp( biorbd_model_path=biorbd_model_path, bound_type="start", bound_data=[0, 5], @@ -456,7 +456,7 @@ def test_fes_models_inputs_sanity_check_errors(): "force_tracking index 1 list must have the same size as the number of muscles in fes_muscle_models" ), ): - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + ocp = OcpFesMsk.prepare_ocp( biorbd_model_path=biorbd_model_path, bound_type="start", bound_data=[0, 5], @@ -476,7 +476,7 @@ def test_fes_models_inputs_sanity_check_errors(): ValueError, match=re.escape("force_tracking time and force argument must be the same length"), ): - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + ocp = OcpFesMsk.prepare_ocp( biorbd_model_path=biorbd_model_path, bound_type="start", bound_data=[0, 5], @@ -496,7 +496,7 @@ def test_fes_models_inputs_sanity_check_errors(): TypeError, match=re.escape(f"force_tracking: {'hello'} must be list type"), ): - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + ocp = OcpFesMsk.prepare_ocp( biorbd_model_path=biorbd_model_path, bound_type="start", bound_data=[0, 5], @@ -516,7 +516,7 @@ def test_fes_models_inputs_sanity_check_errors(): ValueError, match=re.escape("end_node_tracking list must have the same size as the number of muscles in fes_muscle_models"), ): - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + ocp = OcpFesMsk.prepare_ocp( biorbd_model_path=biorbd_model_path, bound_type="start", bound_data=[0, 5], @@ -536,7 +536,7 @@ def test_fes_models_inputs_sanity_check_errors(): TypeError, match=re.escape(f"end_node_tracking index {1}: {'hello'} must be int or float type"), ): - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + ocp = OcpFesMsk.prepare_ocp( biorbd_model_path=biorbd_model_path, bound_type="start", bound_data=[0, 5], @@ -556,7 +556,7 @@ def test_fes_models_inputs_sanity_check_errors(): TypeError, match=re.escape("q_tracking should be a list of size 2"), ): - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + ocp = OcpFesMsk.prepare_ocp( biorbd_model_path=biorbd_model_path, bound_type="start", bound_data=[0, 5], @@ -576,7 +576,7 @@ def test_fes_models_inputs_sanity_check_errors(): ValueError, match=re.escape("q_tracking[0] should be a list"), ): - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + ocp = OcpFesMsk.prepare_ocp( biorbd_model_path=biorbd_model_path, bound_type="start", bound_data=[0, 5], @@ -596,7 +596,7 @@ def test_fes_models_inputs_sanity_check_errors(): ValueError, match=re.escape("q_tracking[1] should have the same size as the number of generalized coordinates"), ): - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + ocp = OcpFesMsk.prepare_ocp( biorbd_model_path=biorbd_model_path, bound_type="start", bound_data=[0, 5], @@ -616,7 +616,7 @@ def test_fes_models_inputs_sanity_check_errors(): ValueError, match=re.escape("q_tracking[0] and q_tracking[1] should have the same size"), ): - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + ocp = OcpFesMsk.prepare_ocp( biorbd_model_path=biorbd_model_path, bound_type="start", bound_data=[0, 5], @@ -636,7 +636,7 @@ def test_fes_models_inputs_sanity_check_errors(): TypeError, match=re.escape(f"{'with_residual_torque'} should be a boolean"), ): - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + ocp = OcpFesMsk.prepare_ocp( biorbd_model_path=biorbd_model_path, bound_type="start", bound_data=[0, 5], @@ -662,7 +662,7 @@ def test_fes_muscle_models_sanity_check_errors(): f" {'TRIlong'}" ), ): - ocp = FESActuatedBiorbdModelOCP.prepare_ocp( + ocp = OcpFesMsk.prepare_ocp( biorbd_model_path=biorbd_model_path, bound_type="start", bound_data=[0, 5], From 486fbf1e3408503e84ef12671a2f27ff1a2f53dc Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Thu, 15 Feb 2024 14:53:01 -0500 Subject: [PATCH 51/63] moving logo in readme --- README.md | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index a49f53ea..70abca22 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,15 @@ -

- logo -

+[//]: # () + # COCOFEST `Cocofest` : Custom Optimal Control Optimization for Functional Electrical Stimulation, is an optimal control program (OCP) package for functional electrical stimulation (FES). It is based on the [bioptim](https://github.com/pyomeca/bioptim) framework for the optimal control construction. Bioptim uses [biorbd](https://github.com/pyomeca/biorbd) a biomechanics library and benefits from the powerful algorithmic diff provided by [CasADi](https://web.casadi.org/). -To solve the OCP, the robust solver [Ipopt](https://github.com/coin-or/Ipopt) has been implemented. +To solve the OCP, the robust solver [Ipopt](https://github.com/coin-or/Ipopt) has been implemented. + +
+
## Status From 633b1e95e95fd96f02eb5b0109413ec3fe5e6084 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Thu, 15 Feb 2024 14:53:45 -0500 Subject: [PATCH 52/63] same --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index 70abca22..d7205128 100644 --- a/README.md +++ b/README.md @@ -8,9 +8,6 @@ It is based on the [bioptim](https://github.com/pyomeca/bioptim) framework for t Bioptim uses [biorbd](https://github.com/pyomeca/biorbd) a biomechanics library and benefits from the powerful algorithmic diff provided by [CasADi](https://web.casadi.org/). To solve the OCP, the robust solver [Ipopt](https://github.com/coin-or/Ipopt) has been implemented. -
-
- ## Status | Type | Status | From 51bbb296daf542e0558f3bf2feabb77feba7aa29 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Thu, 15 Feb 2024 15:56:36 -0500 Subject: [PATCH 53/63] removing read data and multistart file --- cocofest/__init__.py | 2 - cocofest/optimization/fes_multi_start.py | 548 ----------------------- cocofest/read_data.py | 54 --- environment.yml | 1 - 4 files changed, 605 deletions(-) delete mode 100644 cocofest/optimization/fes_multi_start.py delete mode 100644 cocofest/read_data.py diff --git a/cocofest/__init__.py b/cocofest/__init__.py index 340e53e1..998c81bb 100644 --- a/cocofest/__init__.py +++ b/cocofest/__init__.py @@ -6,13 +6,11 @@ from .models.hmed2018 import DingModelIntensityFrequency from .models.hmed2018_with_fatigue import DingModelIntensityFrequencyWithFatigue from .models.dynamical_model import FesMskModel -from .optimization.fes_multi_start import FunctionalElectricStimulationMultiStart from .optimization.fes_ocp import OcpFes from .optimization.fes_identification_ocp import OcpFesId from .optimization.fes_ocp_dynamics import OcpFesMsk from .integration.ivp_fes import IvpFes from .fourier_approx import FourierSeries -from .read_data import ExtractData from .identification.ding2003_force_parameter_identification import DingModelFrequencyForceParameterIdentification from .identification.ding2007_force_parameter_identification import ( DingModelPulseDurationFrequencyForceParameterIdentification, diff --git a/cocofest/optimization/fes_multi_start.py b/cocofest/optimization/fes_multi_start.py deleted file mode 100644 index 2359c122..00000000 --- a/cocofest/optimization/fes_multi_start.py +++ /dev/null @@ -1,548 +0,0 @@ -import os - -import numpy as np -import pickle - -from bioptim import Solver, MultiStart, Solution -from cocofest import DingModelFrequency, DingModelPulseDurationFrequency, DingModelIntensityFrequency -from ..read_data import ExtractData -from .fes_ocp import OcpFes - - -class FunctionalElectricStimulationMultiStart(MultiStart): - """ - The main class to define a multi start program. This class prepares the full multi start and gives all - the needed parameters to solve multiple functional electrical stimulation ocp - - Attributes - ---------- - model: list[DingModelFrequency | DingModelPulseDurationFrequency| DingModelIntensityFrequency] - The model type used for the ocp - n_stim: list[int] - Number of stimulation that will occur during the ocp, it is as well refer as phases - n_shooting: list[int] - Number of shooting point for each individual phases - final_time: list[float] - Refers to the final time of the ocp - frequency list[int]: - Frequency of stimulation apparition - force_tracking: list[list[np.ndarray, np.ndarray]] - List of time and associated force to track during ocp optimisation - end_node_tracking: list[int] | list[float] - Force objective value to reach at the last node - time_min: list[int] | list[float] - Minimum time for a phase - time_max: list[int] | list[float] - Maximum time for a phase - time_bimapping: list[bool] - Set phase time constant - pulse_duration: list[int | float] - Setting a chosen pulse time among phases - pulse_duration_min: list[int | float] - Minimum pulse time for a phase - pulse_duration_max: list[int | float] - Maximum pulse time for a phase - pulse_duration_bimapping: list[bool] - Set pulse time constant among phases - pulse_intensity: list[int | float] - Setting a chosen pulse intensity among phases - pulse_intensity_min: list[int | float] - Minimum pulse intensity for a phase - pulse_intensity_max: list[int | float] - Maximum pulse intensity for a phase - pulse_intensity_bimapping: list[bool] - Set pulse intensity constant among phases - **kwargs: - objective: list[Objective] - Additional objective for the system - ode_solver: list[OdeSolver] - The ode solver to use - use_sx: list[bool] - The nature of the casadi variables. MX are used if False. - n_threads: list[int] - The number of thread to use while solving (multi-threading if > 1) - - Example - ---------- - combinatorial_parameters = {"model": list[model1, model2, model3], - "n_stim": list[n_stim1, n_stim2], - "force_tracking": list[force_tracking1, force_tracking2]} - - 3 model, 2 n_stim, 2 force_tracking different so 3 x 2 x 2 = 12 different ocp run in the multi start - All cases : - case 1 : model1 + n_stim1 + force_tracking1 - case 2 : model1 + n_stim1 + force_tracking2 - case 3 : model1 + n_stim2 + force_tracking1 - case 4 : model1 + n_stim2 + force_tracking2 - case 5 : model2 + n_stim1 + force_tracking1 - case 6 : model2 + n_stim1 + force_tracking2 - case 7 : model2 + n_stim2 + force_tracking1 - case 8 : model2 + n_stim2 + force_tracking2 - case 9 : model3 + n_stim1 + force_tracking1 - case 10 : model3 + n_stim1 + force_tracking2 - case 11 : model3 + n_stim2 + force_tracking1 - case 12 : model3 + n_stim2 + force_tracking2 - """ - - def __init__( - self, - methode: str = None, - model: list[DingModelFrequency | DingModelPulseDurationFrequency | DingModelIntensityFrequency] = None, - n_stim: list[int] | list[None] = None, - n_shooting: list[int] = None, - final_time: list[float] | list[None] = None, - frequency: list[int] | list[None] = None, - force_tracking: list[list[np.ndarray, np.ndarray]] | list[None] = None, - end_node_tracking: list[int] | list[float] | list[None] = None, - time_min: list[int] | list[float] | list[None] = None, - time_max: list[int] | list[float] | list[None] = None, - time_bimapping: list[bool] | list[None] = None, - pulse_duration: list[int] | list[float] | list[None] = None, - pulse_duration_min: list[int] | list[float] | list[None] = None, - pulse_duration_max: list[int] | list[float] | list[None] = None, - pulse_duration_bimapping: list[bool] | list[None] = None, - pulse_intensity: list[int] | list[float] | list[None] = None, - pulse_intensity_min: list[int] | list[float] | list[None] = None, - pulse_intensity_max: list[int] | list[float] | list[None] = None, - pulse_intensity_bimapping: list[bool] | list[None] = None, - kwargs_fes: dict = None, - **kwargs, - ): - self.methode = methode - # --- Prepare the multi-start and run it --- # - combinatorial_parameters = { - "model": [None] if model is None else model, - "n_stim": [None] if n_stim is None else n_stim, - "n_shooting": [None] if n_shooting is None else n_shooting, - "final_time": [None] if final_time is None else final_time, - "frequency": [None] if frequency is None else frequency, - "force_tracking": [None] if force_tracking is None else force_tracking, - "end_node_tracking": [None] if end_node_tracking is None else end_node_tracking, - "time_min": [None] if time_min is None else time_min, - "time_max": [None] if time_max is None else time_max, - "time_bimapping": [None] if time_bimapping is None else time_bimapping, - "pulse_duration": [None] if pulse_duration is None else pulse_duration, - "pulse_duration_min": [None] if pulse_duration_min is None else pulse_duration_min, - "pulse_duration_max": [None] if pulse_duration_max is None else pulse_duration_max, - "pulse_duration_bimapping": [None] if pulse_duration_bimapping is None else pulse_duration_bimapping, - "pulse_intensity": [None] if pulse_intensity is None else pulse_intensity, - "pulse_intensity_min": [None] if pulse_intensity_min is None else pulse_intensity_min, - "pulse_intensity_max": [None] if pulse_intensity_max is None else pulse_intensity_max, - "pulse_intensity_bimapping": [None] if pulse_intensity_bimapping is None else pulse_intensity_bimapping, - } - - if "path_folder" in kwargs: - save_folder = kwargs["path_folder"] - else: - save_folder = "./multiprocess_results" - - n_pools = 1 - if not isinstance(save_folder, str): - raise ValueError("save_folder must be a str") - if not os.path.exists(save_folder): - os.mkdir(save_folder) - if "max_iter" in kwargs: - if not isinstance(kwargs["max_iter"], int): - raise ValueError("max_iter must be an int") - else: - kwargs["max_iter"] = 1000 - - if kwargs_fes is not None: - for kwarg in kwargs_fes: - if isinstance(kwarg, list): - raise ValueError("Kwargs are not combinatorial parameters, kwarg fix across all multi_ocp") - - self.kwarg_fes = kwargs_fes - - super().__init__( - combinatorial_parameters=combinatorial_parameters, - prepare_ocp_callback=self.prepare_ocp, - post_optimization_callback=(self.save_results, {"save_folder": save_folder}), - should_solve_callback=(self.should_solve, {"save_folder": save_folder}), - solver=Solver.IPOPT(_max_iter=kwargs["max_iter"]), - n_pools=n_pools, - ) - - @staticmethod - def construct_filepath(save_path, combinatorial_parameters): - ( - model, - n_stim, - n_shooting, - final_time, - frequency, - force_tracking, - end_node_tracking, - time_min, - time_max, - time_bimapping, - pulse_duration, - pulse_duration_min, - pulse_duration_max, - pulse_duration_bimapping, - pulse_intensity, - pulse_intensity_min, - pulse_intensity_max, - pulse_intensity_bimapping, - ) = combinatorial_parameters - - if force_tracking is None: - force_tracking_state = False - else: - force_tracking_state = True - if end_node_tracking is None: - end_node_state = False - else: - end_node_state = True - if time_min or time_max is None: - time_parameter = False - else: - time_parameter = True - - if frequency is None: - frequency = n_stim / final_time - - file_list = [ - f"{save_path}/DingModelPulseDurationFrequency_multi_start_{n_stim}_stimulation_{n_shooting}_node_shooting_force_tracking_{time_min}_min_{time_max}_max_time_bimapped{time_bimapping}_and_{pulse_duration_min}_min_{pulse_duration_max}_max_pulse_duration_bimapped{pulse_duration_bimapping}.pkl", - f"{save_path}/DingModelPulseDurationFrequency_multi_start_{n_stim}_stimulation_{n_shooting}_node_shooting_{end_node_tracking}N_end_node_tracking_{time_min}_min_{time_max}_max_time_bimapped{time_bimapping}_and_{pulse_duration_min}_min_{pulse_duration_max}_max_pulse_duration_bimapped{pulse_duration_bimapping}.pkl", - f"{save_path}/DingModelPulseDurationFrequency_multi_start_{n_stim}_stimulation_{n_shooting}_node_shooting_{time_min}_min_{time_max}_max_time_bimapped{time_bimapping}_and_{pulse_duration_min}_min_{pulse_duration_max}_max_pulse_duration_bimapped{pulse_duration_bimapping}.pkl", - f"{save_path}/DingModelPulseDurationFrequency_multi_start_{n_stim}_stimulation_{n_shooting}_node_shooting_force_tracking_{frequency}_HZ_and_{pulse_duration_min}_min_{pulse_duration_max}_max_pulse_duration_bimapped{pulse_duration_bimapping}.pkl", - f"{save_path}/DingModelPulseDurationFrequency_multi_start_{n_stim}_stimulation_{n_shooting}_node_shooting_{end_node_tracking}N_end_node_tracking_{frequency}_HZ_and_{pulse_duration_min}_min_{pulse_duration_max}_max_pulse_duration_bimapped{pulse_duration_bimapping}.pkl", - f"{save_path}/DingModelPulseDurationFrequency_multi_start_{n_stim}_stimulation_{n_shooting}_node_shooting_{frequency}_HZ_and_{pulse_duration_min}_min_{pulse_duration_max}_max_pulse_duration_bimapped{pulse_duration_bimapping}.pkl", - f"{save_path}/DingModelPulseDurationFrequency_multi_start_{n_stim}_stimulation_{n_shooting}_node_shooting_force_tracking_{time_min}_min_{time_max}_max_time_bimapped{time_bimapping}_and_{pulse_duration}_pulse_duration.pkl", - f"{save_path}/DingModelPulseDurationFrequency_multi_start_{n_stim}_stimulation_{n_shooting}_node_shooting_{end_node_tracking}N_end_node_tracking_{time_min}_min_{time_max}_max_time_bimapped{time_bimapping}_and_{pulse_duration}_pulse_duration.pkl", - f"{save_path}/DingModelPulseDurationFrequency_multi_start_{n_stim}_stimulation_{n_shooting}_node_shooting_{time_min}_min_{time_max}_max_time_bimapped{time_bimapping}_and_{pulse_duration}_pulse_duration.pkl", - f"{save_path}/DingModelPulseDurationFrequency_multi_start_{n_stim}_stimulation_{n_shooting}_node_shooting_force_tracking_{frequency}_HZ_and_{pulse_duration}_pulse_duration.pkl", - f"{save_path}/DingModelPulseDurationFrequency_multi_start_{n_stim}_stimulation_{n_shooting}_node_shooting_{end_node_tracking}N_end_node_tracking_{frequency}_HZ_and_{pulse_duration}_pulse_duration.pkl", - f"{save_path}/DingModelPulseDurationFrequency_multi_start_{n_stim}_stimulation_{n_shooting}_node_shooting_{frequency}_HZ_and_{pulse_duration}_pulse_duration.pkl", - f"{save_path}/DingModelIntensityFrequency_multi_start_{n_stim}_stimulation_{n_shooting}_node_shooting_force_tracking_{time_min}_min_{time_max}_max_time_bimapped{time_bimapping}_and_{pulse_intensity_min}_min_{pulse_intensity_max}_max_pulse_intensity_bimapped{pulse_intensity_bimapping}.pkl", - f"{save_path}/DingModelIntensityFrequency_multi_start_{n_stim}_stimulation_{n_shooting}_node_shooting_{end_node_tracking}N_end_node_tracking_{time_min}_min_{time_max}_max_time_bimapped{time_bimapping}_and_{pulse_intensity_min}_min_{pulse_intensity_max}_max_pulse_intensity_bimapped{pulse_intensity_bimapping}.pkl", - f"{save_path}/DingModelIntensityFrequency_multi_start_{n_stim}_stimulation_{n_shooting}_node_shooting_{time_min}_min_{time_max}_max_time_bimapped{time_bimapping}_and_{pulse_intensity_min}_min_{pulse_intensity_max}_max_pulse_intensity_bimapped{pulse_intensity_bimapping}.pkl", - f"{save_path}/DingModelIntensityFrequency_multi_start_{n_stim}_stimulation_{n_shooting}_node_shooting_force_tracking_{frequency}_HZ_and_{pulse_intensity_min}_min_{pulse_intensity_max}_max_pulse_intensity_bimapped{pulse_intensity_bimapping}.pkl", - f"{save_path}/DingModelIntensityFrequency_multi_start_{n_stim}_stimulation_{n_shooting}_node_shooting_{end_node_tracking}N_end_node_tracking_{frequency}_HZ_and_{pulse_intensity_min}_min_{pulse_intensity_max}_max_pulse_intensity_bimapped{pulse_intensity_bimapping}.pkl", - f"{save_path}/DingModelIntensityFrequency_multi_start_{n_stim}_stimulation_{n_shooting}_node_shooting_{frequency}_HZ_and_{pulse_intensity_min}_min_{pulse_intensity_max}_max_pulse_intensity_bimapped{pulse_intensity_bimapping}.pkl", - f"{save_path}/DingModelIntensityFrequency_multi_start_{n_stim}_stimulation_{n_shooting}_node_shooting_force_tracking_{time_min}_min_{time_max}_max_time_bimapped{time_bimapping}_and_{pulse_intensity}_pulse_intensity.pkl", - f"{save_path}/DingModelIntensityFrequency_multi_start_{n_stim}_stimulation_{n_shooting}_node_shooting_{end_node_tracking}N_end_node_tracking_{time_min}_min_{time_max}_max_time_bimapped{time_bimapping}_and_{pulse_intensity}_pulse_intensity.pkl", - f"{save_path}/DingModelIntensityFrequency_multi_start_{n_stim}_stimulation_{n_shooting}_node_shooting_{time_min}_min_{time_max}_max_time_bimapped{time_bimapping}_and_{pulse_intensity}_pulse_intensity.pkl", - f"{save_path}/DingModelIntensityFrequency_multi_start_{n_stim}_stimulation_{n_shooting}_node_shooting_force_tracking_{frequency}_HZ_and_{pulse_intensity}_pulse_intensity.pkl", - f"{save_path}/DingModelIntensityFrequency_multi_start_{n_stim}_stimulation_{n_shooting}_node_shooting_{end_node_tracking}N_end_node_tracking_{frequency}_HZ_and_{pulse_intensity}_pulse_intensity.pkl", - f"{save_path}/DingModelIntensityFrequency_multi_start_{n_stim}_stimulation_{n_shooting}_node_shooting_{frequency}_HZ_and_{pulse_intensity}_pulse_intensity.pkl", - f"{save_path}/DingModelFrequency_multi_start_{n_stim}_stimulation_{n_shooting}_node_shooting_force_tracking_{time_min}_min_{time_max}_max_time_bimapped{time_bimapping}.pkl", - f"{save_path}/DingModelFrequency_multi_start_{n_stim}_stimulation_{n_shooting}_node_shooting_{end_node_tracking}N_end_node_tracking_{time_min}_min_{time_max}_max_time_bimapped{time_bimapping}.pkl", - f"{save_path}/DingModelFrequency_multi_start_{n_stim}_stimulation_{n_shooting}_node_shooting_{time_min}_min_{time_max}_max_time_bimapped{time_bimapping}.pkl", - f"{save_path}/DingModelFrequency_multi_start_{n_stim}_stimulation_{n_shooting}_node_shooting_force_tracking_{frequency}_HZ.pkl", - f"{save_path}/DingModelFrequency_multi_start_{n_stim}_stimulation_{n_shooting}_node_shooting_{end_node_tracking}N_end_node_tracking_{frequency}_HZ.pkl", - f"{save_path}/DingModelFrequency_multi_start_{n_stim}_stimulation_{n_shooting}_node_shooting_{frequency}_HZ.pkl", - ] - - if isinstance(model, DingModelPulseDurationFrequency): - if pulse_duration_min or pulse_duration_max is None: - pulse_duration_parameter = False - else: - pulse_duration_parameter = True - - if pulse_duration_parameter is True: - if time_parameter is True: - if force_tracking_state is True: - return file_list[0] - elif end_node_state is True: - return file_list[1] - else: - return file_list[2] - else: - if force_tracking_state is True: - return file_list[3] - elif end_node_state is True: - return file_list[4] - else: - return file_list[5] - else: - if time_parameter is True: - if force_tracking_state is True: - return file_list[6] - elif end_node_state is True: - return file_list[7] - else: - return file_list[8] - else: - if force_tracking_state is True: - return file_list[9] - elif end_node_state is True: - return file_list[10] - else: - return file_list[11] - elif isinstance(model, DingModelIntensityFrequency): - if pulse_duration_min or pulse_duration_max is None: - pulse_intensity_parameter = False - else: - pulse_intensity_parameter = True - - if pulse_intensity_parameter is True: - if time_parameter is True: - if force_tracking_state is True: - return file_list[12] - elif end_node_state is True: - return file_list[13] - else: - return file_list[14] - else: - if force_tracking_state is True: - return file_list[15] - elif end_node_state is True: - return file_list[16] - else: - return file_list[17] - else: - if time_parameter is True: - if force_tracking_state is True: - return file_list[18] - elif end_node_state is True: - return file_list[19] - else: - return file_list[20] - else: - if force_tracking_state is True: - return file_list[21] - elif end_node_state is True: - return file_list[22] - else: - return file_list[23] - elif isinstance(model, DingModelFrequency): - if time_parameter is True: - if force_tracking_state is True: - return file_list[24] - elif end_node_state is True: - return file_list[25] - else: - return file_list[26] - else: - if force_tracking_state is True: - return file_list[27] - elif end_node_state is True: - return file_list[28] - else: - return file_list[29] - else: - raise ValueError( - "Wrong model type, either DingModelFrequency, DingModelPulseDurationFrequency," - " DingModelIntensityFrequency", - ) - - def save_results( - self, - sol: Solution, - *combinatorial_parameters, - **extra_parameters, - ) -> None: - """ - Callback of the post_optimization_callback, this can be used to save the results - - Parameters - ---------- - sol: Solution - The solution to the ocp at the current pool - combinatorial_parameters: - The current values of the combinatorial_parameters being treated - extra_parameters: - All the non-combinatorial parameters sent by the user - """ - ( - model, - n_stim, - n_shooting, - final_time, - frequency, - force_tracking, - end_node_tracking, - time_min, - time_max, - time_bimapping, - pulse_duration, - pulse_duration_min, - pulse_duration_max, - pulse_duration_bimapping, - pulse_intensity, - pulse_intensity_min, - pulse_intensity_max, - pulse_intensity_bimapping, - ) = combinatorial_parameters - - save_folder = extra_parameters["save_folder"] - - file_path = self.construct_filepath(save_folder, combinatorial_parameters) - merged_phase = sol.merge_phases() - states = merged_phase.states - time = merged_phase.time - phase_time = [] - for i in range(len(sol.time)): - phase_time.append(sol.time[i][0]) - states["time"] = time - states["cost"] = sol.cost - states["computation_time"] = sol.real_time_to_optimize - states["parameters"] = sol.parameters - states["phase_time"] = np.array(phase_time) - states["status"] = sol.status - states["model"] = np.array([str(model)]) - states["n_stim"] = np.array([n_stim]) - states["n_shooting"] = np.array([n_shooting]) - states["force_tracking"] = force_tracking - states["end_node_tracking"] = np.array([end_node_tracking]) - states["time_min"] = np.array([time_min]) - states["time_max"] = np.array([time_max]) - states["time_bimapping"] = np.array([time_bimapping]) - states["pulse_duration"] = np.array([pulse_duration]) - states["pulse_duration_min"] = np.array([pulse_duration_min]) - states["pulse_duration_max"] = np.array([pulse_duration_max]) - states["pulse_duration_bimapping"] = np.array([pulse_duration_bimapping]) - states["pulse_intensity"] = np.array([pulse_intensity]) - states["pulse_intensity_min"] = np.array([pulse_intensity_min]) - states["pulse_intensity_max"] = np.array([pulse_intensity_max]) - states["pulse_intensity_bimapping"] = np.array([pulse_intensity_bimapping]) - - with open(file_path, "wb") as file: - pickle.dump(states, file) - - def should_solve(self, *combinatorial_parameters, **extra_parameters): - """ - Callback of the should_solve_callback, this allows the user to instruct bioptim - - Parameters - ---------- - combinatorial_parameters: - The current values of the combinatorial_parameters being treated - extra_parameters: - All the non-combinatorial parameters sent by the user - """ - - save_folder = extra_parameters["save_folder"] - - file_path = self.construct_filepath(save_folder, combinatorial_parameters) - return not os.path.exists(file_path) - - def prepare_ocp( - self, - model: DingModelFrequency | DingModelPulseDurationFrequency | DingModelIntensityFrequency = None, - n_stim: int = None, - n_shooting: int = None, - final_time: int | float = None, - frequency: int = None, - force_tracking: list[np.ndarray, np.ndarray] = None, - end_node_tracking: int | float = None, - time_min: list[int] | list[float] = None, - time_max: list[int] | list[float] = None, - time_bimapping: bool = None, - pulse_duration: int | float = None, - pulse_duration_min: int | float = None, - pulse_duration_max: int | float = None, - pulse_duration_bimapping: bool = None, - pulse_intensity: int | float = None, - pulse_intensity_min: int | float = None, - pulse_intensity_max: int | float = None, - pulse_intensity_bimapping: bool = None, - ): - if self.methode is None or self.methode == "standard": - ocp = OcpFes.prepare_ocp( - model=model, - n_stim=n_stim, - n_shooting=n_shooting, - final_time=final_time, - force_tracking=force_tracking, - end_node_tracking=end_node_tracking, - time_min=time_min, - time_max=time_max, - time_bimapping=time_bimapping, - pulse_duration=pulse_duration, - pulse_duration_min=pulse_duration_min, - pulse_duration_max=pulse_duration_max, - pulse_duration_bimapping=pulse_duration_bimapping, - pulse_intensity=pulse_intensity, - pulse_intensity_min=pulse_intensity_min, - pulse_intensity_max=pulse_intensity_max, - pulse_intensity_bimapping=pulse_intensity_bimapping, - use_sx=True, - ) - - elif self.methode == "from_frequency_and_final_time": - ocp = OcpFes.prepare_ocp( - model=model, - n_shooting=n_shooting, - final_time=final_time, - force_tracking=force_tracking, - end_node_tracking=end_node_tracking, - round_down=True, - frequency=frequency, - time_min=time_min, - time_max=time_max, - time_bimapping=time_bimapping, - pulse_duration=pulse_duration, - pulse_duration_min=pulse_duration_min, - pulse_duration_max=pulse_duration_max, - pulse_duration_bimapping=pulse_duration_bimapping, - pulse_intensity=pulse_intensity, - pulse_intensity_min=pulse_intensity_min, - pulse_intensity_max=pulse_intensity_max, - pulse_intensity_bimapping=pulse_intensity_bimapping, - use_sx=True, - ) - - elif self.methode == "from_frequency_and_n_stim": - ocp = OcpFes.prepare_ocp( - model=model, - n_shooting=n_shooting, - n_stim=n_stim, - force_tracking=force_tracking, - end_node_tracking=end_node_tracking, - frequency=frequency, - time_min=time_min, - time_max=time_max, - time_bimapping=time_bimapping, - pulse_duration=pulse_duration, - pulse_duration_min=pulse_duration_min, - pulse_duration_max=pulse_duration_max, - pulse_duration_bimapping=pulse_duration_bimapping, - pulse_intensity=pulse_intensity, - pulse_intensity_min=pulse_intensity_min, - pulse_intensity_max=pulse_intensity_max, - pulse_intensity_bimapping=pulse_intensity_bimapping, - use_sx=True, - ) - - else: - raise ValueError( - "method should be either None or standard for an ocp build with n_stim and final_time", - " from_frequency_and_final_time for an ocp build with frequency and final_time", - " of from_frequency_and_n_stim for an ocp build with frequency and n_stim", - ) - - return ocp - - -if __name__ == "__main__": - time, force = ExtractData.load_data("../../examples/data/hand_cycling_force.bio") - force = force - force[0] - force = [time, force] - - a = FunctionalElectricStimulationMultiStart( - methode="standard", - model=[DingModelFrequency()], - n_stim=[10], - n_shooting=[20], - final_time=[1], - frequency=[None], - force_tracking=[None], - end_node_tracking=[270], - time_min=[0.01], - time_max=[0.1], - time_bimapping=[True], - pulse_duration=[None], - pulse_duration_min=[None], - pulse_duration_max=[None], - pulse_duration_bimapping=[False], - pulse_intensity=[None], - pulse_intensity_min=[None], - pulse_intensity_max=[None], - pulse_intensity_bimapping=[None], - path_folder="./for_test", - ) - - a.solve() diff --git a/cocofest/read_data.py b/cocofest/read_data.py deleted file mode 100644 index 2a6311fc..00000000 --- a/cocofest/read_data.py +++ /dev/null @@ -1,54 +0,0 @@ -import csv -from math import ceil -import matplotlib.pyplot as plt -import numpy as np - -from biosiglive import load - - -class ExtractData: - @staticmethod - def data(path: str) -> np.array: - datas = [] - with open(path, "r") as file: - reader = csv.reader(file, delimiter="\t") - for row in reader: - row_bis = [float(i) for i in row] - datas.append(row_bis) - return np.array(datas) - - @staticmethod - def time_force(datas: np.array, time_start: int | float, time_end: int | float) -> np.array: - closest_start = min(datas[:, 20], key=lambda x: abs(x - time_start)) - closest_end = min(datas[:, 20], key=lambda x: abs(x - time_end)) - idx_start = np.where(datas[:, 20] == closest_start)[0][0] - idx_end = np.where(datas[:, 20] == closest_end)[0][0] - force = np.array(np.sqrt(datas[:, 21] ** 2 + datas[:, 22] ** 2 + datas[:, 23] ** 2))[idx_start:idx_end] - time = datas[:, 20][idx_start:idx_end] - time = time - time[0] - return time, force - - @staticmethod - def load_data(path: str) -> np.array: - data = load(path) - - force = data["f_est"][17, :100] - min(data["f_est"][17, :100]) - time = np.linspace(0, 1, 100) - return time, force - - @staticmethod - def plot_data(path: str): - data = load(path) - n_line = 4 - - if data["f_est"].shape[0] <= n_line: - n_column = 1 - else: - n_column = ceil(data["f_est"].shape[0] / n_line) - - for i in range(data["f_est"].shape[0]): - plt.subplot(n_line, n_column, i + 1) - plt.plot(data["f_est"][i, :100], color="b") - plt.grid() - plt.legend() - plt.show() diff --git a/environment.yml b/environment.yml index 08f4f450..ea9f527b 100644 --- a/environment.yml +++ b/environment.yml @@ -4,7 +4,6 @@ channels: - conda-forge dependencies: - biorbd = 1.10.2 -- biosiglive - bioviz - python-graphviz - pyqtgraph From 62808e18a59314c23315d4c9d7fe27cf8d81ea4e Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Thu, 15 Feb 2024 16:19:58 -0500 Subject: [PATCH 54/63] Removing last multistart examples --- examples/getting_started/multi_start.py | 31 ----------------------- tests/shard1/test_ocp_build.py | 33 ------------------------- 2 files changed, 64 deletions(-) delete mode 100644 examples/getting_started/multi_start.py diff --git a/examples/getting_started/multi_start.py b/examples/getting_started/multi_start.py deleted file mode 100644 index 7790bfae..00000000 --- a/examples/getting_started/multi_start.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -An example of how to use multi-start to find local minima from stimulation parameter. -This example is a variation of the fes frequency in examples/frequency_optimization.py. -""" - -import shutil - -from cocofest import DingModelFrequencyWithFatigue, FunctionalElectricStimulationMultiStart - -# --- Build multi start --- # -# This multi start was build to match a force value of 270N at the end of the last node. -# The stimulation will be optimized between 0.01 to 0.1 seconds and are equally spaced (a fixed frequency). -# Plus the number of stimulation will be different at each optimization 10 to 15 in this example. -save_folder = "./temporary" -fes_multi_start = FunctionalElectricStimulationMultiStart( - model=[DingModelFrequencyWithFatigue()], - n_stim=[10, 11, 12, 13, 14, 15], - n_shooting=[20], - final_time=[1], - end_node_tracking=[270], - time_min=[0.01], - time_max=[0.1], - time_bimapping=[True], - use_sx=[True], - path_folder=save_folder, -) -# --- Solve each program --- # -sol = fes_multi_start.solve() - -# --- Delete the solutions ---# -shutil.rmtree(save_folder) diff --git a/tests/shard1/test_ocp_build.py b/tests/shard1/test_ocp_build.py index d8388db9..a51c3e55 100644 --- a/tests/shard1/test_ocp_build.py +++ b/tests/shard1/test_ocp_build.py @@ -5,7 +5,6 @@ import numpy as np from cocofest import ( - FunctionalElectricStimulationMultiStart, DingModelFrequency, DingModelFrequencyWithFatigue, DingModelPulseDurationFrequency, @@ -434,38 +433,6 @@ def test_ocp_not_for_optimal_error(): ) -@pytest.mark.parametrize( - "force_tracking, end_node_tracking", [(init_force_tracking, None), (None, init_end_node_tracking)] -) -@pytest.mark.parametrize("min_pulse_duration, min_pulse_intensity", [(minimum_pulse_duration, minimum_pulse_intensity)]) -def test_multi_start_building(force_tracking, end_node_tracking, min_pulse_duration, min_pulse_intensity): - multi_start = FunctionalElectricStimulationMultiStart( - methode="standard", - model=[DingModelFrequency(), DingModelPulseDurationFrequency(), DingModelIntensityFrequency()], - n_stim=[10], - n_shooting=[20], - final_time=[1], - frequency=[None], - force_tracking=[force_tracking], - end_node_tracking=[end_node_tracking], - time_min=[0.01], - time_max=[0.1], - time_bimapping=[False], - pulse_duration=[None], - pulse_duration_min=[minimum_pulse_duration], - pulse_duration_max=[0.0006], - pulse_duration_bimapping=[None], - pulse_intensity=[None], - pulse_intensity_min=[minimum_pulse_intensity], - pulse_intensity_max=[130], - pulse_intensity_bimapping=[None], - path_folder="./temp", - ) - - # --- Delete the temp file ---# - shutil.rmtree("./temp") - - def test_ding2007_build(): min_duration = DingModelPulseDurationFrequency().pd0 ocp = OcpFes().prepare_ocp( From 65d7c455667a4994ad06ad1067ecbe5b15b1af14 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Thu, 15 Feb 2024 17:10:28 -0500 Subject: [PATCH 55/63] Readme update --- README.md | 66 ++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 43 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index d7205128..b9d3a94a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,3 @@ -[//]: # () # COCOFEST @@ -32,11 +31,11 @@ To solve the OCP, the robust solver [Ipopt](https://github.com/coin-or/Ipopt) ha [Create your own FES OCP](#create-your-own-fes-ocp) [Examples](#examples) +- [Musculoskeletal model driven by FES models](#musculoskeletal-model-driven-by-FES-models)
Other functionalities -- [With fatigue](#with-fatigue) - [Initial value problem](#initital-value-problem) - [Summation truncation](#summation-truncation) @@ -51,11 +50,36 @@ Cloning the repository is the first step to be able to use the package. ## Dependencies `Cocofest` relies on several libraries. -Based on `bioptim`, the user is invited to directly download the framework from anaconda or from the [sources](https://github.com/pyomeca/bioptim) by cloning the repository +Follows the steps to install everything you need to use `Cocofest`. +
+First, you need to create a new conda environment ```bash -conda install -c conda-forge bioptim +conda create -n YOUR_ENV_NAME python=3.10 ``` -The other [bioptim dependencies](https://github.com/pyomeca/bioptim#dependencies) must be installed as well. + +Then, activate the environment +```bash +conda activate YOUR_ENV_NAME +``` + +This step will allow you to install the dependencies in the environment much quicker +```bash: +conda install -cconda-forge conda-libmamba-solver +``` + +After, install the dependencies +```bash +conda install numpy matplotlib pytest casadi biorbd -cconda-forge --solver=libmamba +``` + +Finally, install the bioptim setup.py file located in your cocofest/external/bioptim folder +```bash +cd /external/bioptim +python setup.py install +``` + +You got everything you need to use `Cocofest`! + # Available FES models The available FES models are likely to increase so stay tune. @@ -91,7 +115,7 @@ the minimum and maximum time between two stimulation pulse, the time bimapping (If True, will act like a frequency at constant pulse interval). ```python -ocp = OcpFes.prepare_ocp(..., +ocp = OcpFes().prepare_ocp(..., n_stim=10, n_shooting=20, ...,) @@ -105,41 +129,37 @@ result = ocp.solve() # Examples You can find all the available examples in the [examples](https://github.com/Kev1CO/cocofest/tree/main/examples) file. +## Musculoskeletal model driven by FES models +The following example is a musculoskeletal model driven by the Ding2007 FES model. +The objective function is to reach a 90° forearm position and 0° arm position at the movement end. +The stimulation last 1s and the stimulation frequency is 10Hz. +The optimized parameter are each stimulation pulse width. -# Other functionalities + -## With fatigue -It is possible to compute the models with their fatigue equations or not. -For example, the "ding2003" model can be use with fatigue DingModelFrequencyWithFatigue or without DingModelFrequency. -If no fatigue is applied, the fatigue equation will not be added to the model and the muscle force will remain -constant during the simulation regardless of the previous stimulation appearance. - -```python -ocp = OcpFes.prepare_ocp(model=DingModelFrequencyWithFatigue()) -``` +# Other functionalities ## Initital value problem You can also compute the models form initial value problem. For that, use the IvpFes class to build the computed problem. ```python -ocp = IvpFes( - ding_model=DingModelFrequency(), -) +ocp = IvpFes(model=DingModelFrequency(), ...) ``` ## Summation truncation The summation truncation is an integer parameter that can be added to the model. It will truncate the stimulation apparition list used for the calcium summation. -The integer number defines the stimulation number to keep for this summation. +The integer number defines the stimulation number to keep prior this summation calculation (e.g only the 5 past stimulation will be included). ```python -ocp = OcpFes.prepare_ocp() +ocp = OcpFes().prepare_ocp(model=DingModelFrequency(sum_stim_truncation=5)) ``` # Citing `Cocofest` is not yet published in a journal. -But if you use `Cocofest` in your research, please kindly cite this package by giving the repository link. +But if you use `Cocofest` in your research, please kindly cite this zenodo link [10.5281/zenodo.10427934](https://doi.org/10.5281/zenodo.10427934). -![](docs/arm_flexion.gif) +# Acknowledgements +The Cocofest [logo](docs/cocofest_logo.png) has been design by [MaxMV](https://www.instagram.com/max_mv3/) From cfbeeee0235f2af5a9f4d70154bea8923df0cdc0 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Thu, 15 Feb 2024 17:12:43 -0500 Subject: [PATCH 56/63] centering gif --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b9d3a94a..7da14e3d 100644 --- a/README.md +++ b/README.md @@ -135,7 +135,11 @@ The objective function is to reach a 90° forearm position and 0° arm position The stimulation last 1s and the stimulation frequency is 10Hz. The optimized parameter are each stimulation pulse width. - +

+ +

+ + # Other functionalities From 48d3154355e848082be01d2d2e92877bc93b1cca Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Thu, 15 Feb 2024 17:13:28 -0500 Subject: [PATCH 57/63] . --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7da14e3d..7b0683c3 100644 --- a/README.md +++ b/README.md @@ -136,7 +136,7 @@ The stimulation last 1s and the stimulation frequency is 10Hz. The optimized parameter are each stimulation pulse width.

- +

From 720fbf2617dd57ca5602840b18e95f3383b1df46 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Thu, 15 Feb 2024 18:32:25 -0500 Subject: [PATCH 58/63] Finalizing graph and data for minimize fatigue --- cocofest/optimization/fes_ocp_dynamics.py | 17 ++++---- examples/dynamics/reaching_task/make_gaph.py | 40 +++++------------- .../result_file/minimize_muscle_fatigue.pkl | Bin 28108 -> 0 bytes .../result_file/minimize_muscle_force.pkl | Bin 28108 -> 0 bytes ...pulse_duration_minimize_muscle_fatigue.pkl | Bin 0 -> 40948 bytes .../pulse_duration_minimize_muscle_force.pkl | Bin 0 -> 40948 bytes 6 files changed, 18 insertions(+), 39 deletions(-) delete mode 100644 examples/dynamics/reaching_task/result_file/minimize_muscle_fatigue.pkl delete mode 100644 examples/dynamics/reaching_task/result_file/minimize_muscle_force.pkl create mode 100644 examples/dynamics/reaching_task/result_file/pulse_duration_minimize_muscle_fatigue.pkl create mode 100644 examples/dynamics/reaching_task/result_file/pulse_duration_minimize_muscle_force.pkl diff --git a/cocofest/optimization/fes_ocp_dynamics.py b/cocofest/optimization/fes_ocp_dynamics.py index 587ed529..b7a9290c 100644 --- a/cocofest/optimization/fes_ocp_dynamics.py +++ b/cocofest/optimization/fes_ocp_dynamics.py @@ -686,15 +686,14 @@ def _set_objective( ) if minimize_muscle_force: - for i in range(n_stim): - objective_functions.add( - CustomObjective.minimize_overall_muscle_force_production, - custom_type=ObjectiveFcn.Mayer, - node=Node.ALL, - quadratic=True, - weight=1, - phase=i, - ) + objective_functions.add( + CustomObjective.minimize_overall_muscle_force_production, + custom_type=ObjectiveFcn.Mayer, + node=Node.END, + quadratic=True, + weight=1, + phase=n_stim - 1, + ) return objective_functions diff --git a/examples/dynamics/reaching_task/make_gaph.py b/examples/dynamics/reaching_task/make_gaph.py index 7b8e17e6..44b574c3 100644 --- a/examples/dynamics/reaching_task/make_gaph.py +++ b/examples/dynamics/reaching_task/make_gaph.py @@ -63,12 +63,6 @@ [label.set_fontname("Times New Roman") for label in labels] [label.set_fontsize(14) for label in labels] - axs[i][j].scatter( - 1, - 0, - color="red" - ) - if j == 0: plt.setp( axs[i][j], @@ -139,12 +133,6 @@ [label.set_fontname("Times New Roman") for label in labels] [label.set_fontsize(14) for label in labels] - axs[2][i].scatter( - 1, - -2, - color="red" - ) - if i == 0: plt.setp( axs[2][i], @@ -178,7 +166,7 @@ # fatigue across time axs[2][2].set_xlim(left=0, right=1.5) -axs[2][2].set_ylim(bottom=-6, top=0) +# axs[2][2].set_ylim(bottom=-0.63, top=0) axs[2][2].text( 0.3, @@ -213,38 +201,30 @@ a_force_diff_list = [] a_fatigue_diff_list = [] +fatigue_minimization_percentage_gain_list = [] for i in range(len(data_minimize_force["time"])): a_force_diff_list.append((a_force_sum_list[i] - a_force_sum_list[0])*1000) a_fatigue_diff_list.append((a_fatigue_sum_list[i] - a_fatigue_sum_list[0])*1000) -plt.setp( - axs[2][2], - xticks=[0, 0.5, 1, 1.5], - xticklabels=[0, 0.5, 1, 1.5], - yticks=[0, -2, -4, -6], - yticklabels=[0, 2, 4, 6], -) - -axs[2][2].plot(data_minimize_force["time"], a_force_diff_list, ms=4, linewidth=5.0) -axs[2][2].plot(data_minimize_force["time"], a_fatigue_diff_list, ms=4, linewidth=5.0) + fatigue_minimization_percentage_gain_list.append((a_fatigue_sum_list[i] - a_force_sum_list[i]) / (a_force_sum_list[0] - a_force_sum_list[-1]) * 100) -axs[2][2].scatter( - 1, - -6, - color="red" -) +axs[2][2].plot(data_minimize_force["time"], fatigue_minimization_percentage_gain_list, ms=4, linewidth=5.0, color="green") axs[2][2].text( 0, 1.15, - f"{'-1e-4'}", + f"{'%'}", transform=axs[2][2].transAxes, ha="left", va="top", fontsize=10, ) -# fig.delaxes(axs[2][2]) +plt.setp( + axs[2][2], + xticks=[0, 0.5, 1, 1.5], + xticklabels=[0, 0.5, 1, 1.5], +) # Figure labels axs[1][0].text( diff --git a/examples/dynamics/reaching_task/result_file/minimize_muscle_fatigue.pkl b/examples/dynamics/reaching_task/result_file/minimize_muscle_fatigue.pkl deleted file mode 100644 index aa56633bfda8a5714879074d971c9c8bb81932f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28108 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 diff --git a/examples/dynamics/reaching_task/result_file/minimize_muscle_force.pkl b/examples/dynamics/reaching_task/result_file/minimize_muscle_force.pkl deleted file mode 100644 index df39e5ef92bf3151839318ccf12d6f7a77d7b1c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28108 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 Iudn3)0jRK+7ytkO diff --git a/examples/dynamics/reaching_task/result_file/pulse_duration_minimize_muscle_fatigue.pkl b/examples/dynamics/reaching_task/result_file/pulse_duration_minimize_muscle_fatigue.pkl new file mode 100644 index 0000000000000000000000000000000000000000..a3b62e9b22a8389e0540041e0a8df6ac8c82e6c5 GIT binary patch literal 40948 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 NFlEYq;o`FI{{X-{>tFx? literal 0 HcmV?d00001 diff --git a/examples/dynamics/reaching_task/result_file/pulse_duration_minimize_muscle_force.pkl b/examples/dynamics/reaching_task/result_file/pulse_duration_minimize_muscle_force.pkl new file mode 100644 index 0000000000000000000000000000000000000000..7bcbf5e6406d5d9bffe557875d05ce90048f207d GIT binary patch literal 40948 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 YXd3SjS Date: Thu, 15 Feb 2024 18:36:22 -0500 Subject: [PATCH 59/63] black --- cocofest/optimization/fes_ocp_dynamics.py | 16 ++++---------- examples/dynamics/reaching_task/make_gaph.py | 22 ++++++++++++-------- 2 files changed, 17 insertions(+), 21 deletions(-) diff --git a/cocofest/optimization/fes_ocp_dynamics.py b/cocofest/optimization/fes_ocp_dynamics.py index b7a9290c..4a041288 100644 --- a/cocofest/optimization/fes_ocp_dynamics.py +++ b/cocofest/optimization/fes_ocp_dynamics.py @@ -195,9 +195,7 @@ def prepare_ocp( OcpFes._sanity_check_frequency(n_stim=n_stim, final_time=final_time, frequency=frequency, round_down=round_down) - OcpFesMsk._sanity_check_muscle_model( - biorbd_model_path=biorbd_model_path, fes_muscle_models=fes_muscle_models - ) + OcpFesMsk._sanity_check_muscle_model(biorbd_model_path=biorbd_model_path, fes_muscle_models=fes_muscle_models) n_stim, final_time = OcpFes._build_phase_parameter( n_stim=n_stim, final_time=final_time, frequency=frequency, pulse_mode=pulse_mode, round_down=round_down @@ -699,9 +697,7 @@ def _set_objective( @staticmethod def _sanity_check_muscle_model(biorbd_model_path, fes_muscle_models): - tested_bio_model = FesMskModel( - name=None, biorbd_path=biorbd_model_path, muscles_model=fes_muscle_models - ) + tested_bio_model = FesMskModel(name=None, biorbd_path=biorbd_model_path, muscles_model=fes_muscle_models) fes_muscle_models_name_list = [fes_muscle_models[x].muscle_name for x in range(len(fes_muscle_models))] for biorbd_muscle in tested_bio_model.muscle_names: if biorbd_muscle not in fes_muscle_models_name_list: @@ -730,9 +726,7 @@ def _sanity_check_fes_models_inputs( raise TypeError("biorbd_model_path should be a string") if bound_type: - tested_bio_model = FesMskModel( - name=None, biorbd_path=biorbd_model_path, muscles_model=fes_muscle_models - ) + tested_bio_model = FesMskModel(name=None, biorbd_path=biorbd_model_path, muscles_model=fes_muscle_models) if not isinstance(bound_type, str) or bound_type not in ["start", "end", "start_end"]: raise ValueError("bound_type should be a string and should be equal to start, end or start_end") if not isinstance(bound_data, list): @@ -805,9 +799,7 @@ def _sanity_check_fes_models_inputs( if q_tracking: if not isinstance(q_tracking, list) and len(q_tracking) != 2: raise TypeError("q_tracking should be a list of size 2") - tested_bio_model = FesMskModel( - name=None, biorbd_path=biorbd_model_path, muscles_model=fes_muscle_models - ) + tested_bio_model = FesMskModel(name=None, biorbd_path=biorbd_model_path, muscles_model=fes_muscle_models) if not isinstance(q_tracking[0], list): raise ValueError("q_tracking[0] should be a list") if len(q_tracking[1]) != tested_bio_model.nb_q: diff --git a/examples/dynamics/reaching_task/make_gaph.py b/examples/dynamics/reaching_task/make_gaph.py index 44b574c3..f87de069 100644 --- a/examples/dynamics/reaching_task/make_gaph.py +++ b/examples/dynamics/reaching_task/make_gaph.py @@ -21,10 +21,10 @@ ] chosen_graph_to_plot_path = ( - duration_path - if chosen_graph_to_plot == "duration" - else intensity_path if chosen_graph_to_plot == "intensity" else None - ) + duration_path + if chosen_graph_to_plot == "duration" + else intensity_path if chosen_graph_to_plot == "intensity" else None +) if chosen_graph_to_plot_path is None: @@ -39,7 +39,7 @@ force_muscle_keys = ["F_BIClong", "F_BICshort", "F_TRIlong", "F_TRIlat", "F_TRImed", "F_BRA"] muscle_names = ["BIClong", "BICshort", "TRIlong", "TRIlat", "TRImed", "BRA"] muscle_title_x_postiton = [0.55, 0.5, 0.56, 0.62, 0.55, 0.73] -fig, axs = plt.subplots(3, 3, figsize=(5, 3), constrained_layout=True) +fig, axs = plt.subplots(3, 3, figsize=(5, 3), constrained_layout=True) index = 0 # Force across time @@ -203,12 +203,16 @@ a_fatigue_diff_list = [] fatigue_minimization_percentage_gain_list = [] for i in range(len(data_minimize_force["time"])): - a_force_diff_list.append((a_force_sum_list[i] - a_force_sum_list[0])*1000) - a_fatigue_diff_list.append((a_fatigue_sum_list[i] - a_fatigue_sum_list[0])*1000) + a_force_diff_list.append((a_force_sum_list[i] - a_force_sum_list[0]) * 1000) + a_fatigue_diff_list.append((a_fatigue_sum_list[i] - a_fatigue_sum_list[0]) * 1000) - fatigue_minimization_percentage_gain_list.append((a_fatigue_sum_list[i] - a_force_sum_list[i]) / (a_force_sum_list[0] - a_force_sum_list[-1]) * 100) + fatigue_minimization_percentage_gain_list.append( + (a_fatigue_sum_list[i] - a_force_sum_list[i]) / (a_force_sum_list[0] - a_force_sum_list[-1]) * 100 + ) -axs[2][2].plot(data_minimize_force["time"], fatigue_minimization_percentage_gain_list, ms=4, linewidth=5.0, color="green") +axs[2][2].plot( + data_minimize_force["time"], fatigue_minimization_percentage_gain_list, ms=4, linewidth=5.0, color="green" +) axs[2][2].text( 0, From ada97bbb1957387c990f308f67611ab20477f2fa Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Fri, 16 Feb 2024 11:57:59 -0500 Subject: [PATCH 60/63] readme update --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7b0683c3..609b51d1 100644 --- a/README.md +++ b/README.md @@ -78,7 +78,7 @@ cd /external/bioptim python setup.py install ``` -You got everything you need to use `Cocofest`! +You are now ready to use `Cocofest`! # Available FES models From ff00cb5c857c6c3b080f3308bcdb231364c06209 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Fri, 16 Feb 2024 12:01:09 -0500 Subject: [PATCH 61/63] cleanning --- examples/dynamics/reaching_task/make_gaph.py | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/examples/dynamics/reaching_task/make_gaph.py b/examples/dynamics/reaching_task/make_gaph.py index f87de069..2cb0a76b 100644 --- a/examples/dynamics/reaching_task/make_gaph.py +++ b/examples/dynamics/reaching_task/make_gaph.py @@ -1,12 +1,11 @@ """ This script is used to make the graph of the muscle force and fatigue for the reaching task. The data used to make the graph is from the result file of the optimization. -The available graphs are: duration, intensity +The available graphs are: duration """ import pickle import matplotlib.pyplot as plt -import numpy as np chosen_graph_to_plot = "duration" @@ -15,15 +14,10 @@ r"result_file/pulse_duration_minimize_muscle_fatigue.pkl", ] -intensity_path = [ - r"result_file/pulse_intensity_minimize_muscle_force.pkl", - r"result_file/pulse_intensity_minimize_muscle_fatigue.pkl", -] - chosen_graph_to_plot_path = ( duration_path if chosen_graph_to_plot == "duration" - else intensity_path if chosen_graph_to_plot == "intensity" else None + else None ) @@ -166,7 +160,6 @@ # fatigue across time axs[2][2].set_xlim(left=0, right=1.5) -# axs[2][2].set_ylim(bottom=-0.63, top=0) axs[2][2].text( 0.3, From 17fb9d07b958a2dd7ce7f1c58982d358bda66474 Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Fri, 16 Feb 2024 12:02:10 -0500 Subject: [PATCH 62/63] black --- examples/dynamics/reaching_task/make_gaph.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/examples/dynamics/reaching_task/make_gaph.py b/examples/dynamics/reaching_task/make_gaph.py index 2cb0a76b..81c515e8 100644 --- a/examples/dynamics/reaching_task/make_gaph.py +++ b/examples/dynamics/reaching_task/make_gaph.py @@ -14,11 +14,7 @@ r"result_file/pulse_duration_minimize_muscle_fatigue.pkl", ] -chosen_graph_to_plot_path = ( - duration_path - if chosen_graph_to_plot == "duration" - else None -) +chosen_graph_to_plot_path = duration_path if chosen_graph_to_plot == "duration" else None if chosen_graph_to_plot_path is None: From bc81f3c6263dfb5be43da65b17a5ba31cb2315bb Mon Sep 17 00:00:00 2001 From: Kevin CO Date: Fri, 16 Feb 2024 12:09:05 -0500 Subject: [PATCH 63/63] adding new issue template --- .github/ISSUE_TEMPLATE/enhancement_report.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/enhancement_report.md diff --git a/.github/ISSUE_TEMPLATE/enhancement_report.md b/.github/ISSUE_TEMPLATE/enhancement_report.md new file mode 100644 index 00000000..b7e26aee --- /dev/null +++ b/.github/ISSUE_TEMPLATE/enhancement_report.md @@ -0,0 +1,17 @@ +--- +name: Enhancement report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +### Subject of the enhancement +Give a title to your enhancement here. + +### Proposed enhancement +Describe your enhancement here. + +### Additional information +Any additional information, like libraries versions, etc.