diff --git a/mlcolvar/core/nn/graph/gnn.py b/mlcolvar/core/nn/graph/gnn.py new file mode 100644 index 00000000..27900a8d --- /dev/null +++ b/mlcolvar/core/nn/graph/gnn.py @@ -0,0 +1,135 @@ +import torch +import lightning +from torch import nn +import numpy as np +import torch_geometric as tg +from typing import List, Dict, Tuple, Any + +# from mlcolvar.graph import data as gdata +from mlcolvar.core.nn.graph import radial +# from mlcolvar.graph.core.nn import schnet +# from mlcolvar.graph.core.nn import gvp_layer +# from mlcolvar.graph.utils import torch_tools + +""" +GNN models. +""" + +__all__ = ['BaseGNN'] + + +class BaseGNN(nn.Module): + """ + The commen GNN interface for mlcolvar. + + Parameters + ---------- + n_out: int + Size of the output node features. + cutoff: float + Cutoff radius of the basis functions. Should be the same as the cutoff + radius used to build the graphs. + atomic_numbers: List[int] + The atomic numbers mapping, e.g. the `atomic_numbers` attribute of a + `mlcolvar.graph.data.GraphDataSet` instance. + n_bases: int + Size of the basis set. + n_polynomials: bool + Order of the polynomials in the basis functions. + basis_type: str + Type of the basis function. + """ + + def __init__( + self, + n_out: int, + cutoff: float, + atomic_numbers: List[int], + n_bases: int = 6, + n_polynomials: int = 6, + basis_type: str = 'bessel' + ) -> None: + super().__init__() + self._model_type = 'gnn' + + self._n_out = n_out + self._radial_embedding = radial.RadialEmbeddingBlock( + cutoff, n_bases, n_polynomials, basis_type + ) + self.register_buffer( + 'n_out', torch.tensor(n_out, dtype=torch.int64) + ) + self.register_buffer( + 'cutoff', torch.tensor(cutoff, dtype=torch.get_default_dtype()) + ) + self.register_buffer( + 'atomic_numbers', torch.tensor(atomic_numbers, dtype=torch.int64) + ) + + def embed_edge( + self, data: Dict[str, torch.Tensor], normalize: bool = True + ) -> Tuple[torch.Tensor, torch.Tensor, torch.Tensor]: + """ + Perform the edge embedding. + + Parameters + ---------- + data: Dict[str, torch.Tensor] + The data dict. Usually came from the `to_dict` method of a + `torch_geometric.data.Batch` object. + normalize: bool + If return the normalized distance vectors. + + Returns + ------- + edge_lengths: torch.Tensor (shape: [n_edges, 1]) + The edge lengths. + edge_length_embeddings: torch.Tensor (shape: [n_edges, n_bases]) + The edge length embeddings. + edge_unit_vectors: torch.Tensor (shape: [n_edges, 3]) + The normalized edge vectors. + """ + vectors, lengths = get_edge_vectors_and_lengths( + positions=data['positions'], + edge_index=data['edge_index'], + shifts=data['shifts'], + normalize=normalize, + ) + return lengths, self._radial_embedding(lengths), vectors + +def get_edge_vectors_and_lengths( + positions: torch.Tensor, + edge_index: torch.Tensor, + shifts: torch.Tensor, + normalize: bool = True, +) -> Tuple[torch.Tensor, torch.Tensor]: + """ + Calculate edge vectors and lengths by indices and shift vectors. + + Parameters + ---------- + position: torch.Tensor (shape: [n_atoms, 3]) + The position vector. + edge_index: torch.Tensor (shape: [2, n_edges]) + The edge indices. + shifts: torch.Tensor (shape: [n_edges, 3]) + The shift vector. + normalize: bool + If return the normalized distance vectors. + + Returns + ------- + vectors: torch.Tensor (shape: [n_edges, 3]) + The distance vectors. + lengths: torch.Tensor (shape: [n_edges, 1]) + The edge lengths. + """ + sender = edge_index[0] + receiver = edge_index[1] + vectors = positions[receiver] - positions[sender] + shifts # [n_edges, 3] + lengths = torch.linalg.norm(vectors, dim=-1, keepdim=True) # [n_edges, 1] + + if normalize: + vectors = torch.nan_to_num(torch.div(vectors, lengths)) + + return vectors, lengths \ No newline at end of file diff --git a/mlcolvar/core/nn/graph/radial.py b/mlcolvar/core/nn/graph/radial.py new file mode 100644 index 00000000..e43193fd --- /dev/null +++ b/mlcolvar/core/nn/graph/radial.py @@ -0,0 +1,360 @@ +import torch +import numpy as np + +""" +The radial functions. This module is taken from MACE directly: +https://github.com/ACEsuit/mace/blob/main/mace/modules/radial.py +""" + +__all__ = ['RadialEmbeddingBlock'] + + +class GaussianBasis(torch.nn.Module): + """ + The Gaussian basis functions. + + Parameters + ---------- + cutoff: float + The cutoff radius. + n_bases: int + Size of the basis set. + """ + def __init__(self, cutoff: float, n_bases=32) -> None: + super().__init__() + + offset = torch.linspace( + start=0.0, + end=cutoff, + steps=n_bases, + dtype=torch.get_default_dtype(), + ) + coeff = -0.5 / (offset[1] - offset[0]).item() ** 2 + self.register_buffer( + 'cutoff', torch.tensor(cutoff, dtype=torch.get_default_dtype()) + ) + self.register_buffer( + 'coeff', torch.tensor(coeff, dtype=torch.get_default_dtype()) + ) + self.register_buffer('offset', offset) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + dist = x.view(-1, 1) - self.offset.view(1, -1) + return torch.exp(self.coeff * torch.pow(dist, 2)) + + def __repr__(self) -> str: + result = 'GAUSSIANBASIS [ ' + + data_string = '\033[32m{:d}\033[0m\033[36m 󰯰 \033[0m' + result = result + data_string.format(len(self.offset)) + result = result + '| ' + data_string = '\033[32m{:f}\033[0m\033[36m 󰳁 \033[0m' + result = result + data_string.format(self.cutoff) + result = result + ']' + + return result + + +class BesselBasis(torch.nn.Module): + """ + The Bessel radial basis functions (equation (7) in [1]). + + Parameters + ---------- + cutoff: float + The cutoff radius. + n_bases: int + Size of the basis set. + trainable: bool + If use trainable basis set parameters. + + References + ---------- + .. [1] Klicpera, J.; Groß, J.; Günnemann, S. Directional Message Passing + for Molecular Graphs; ICLR 2020. + """ + + def __init__(self, cutoff: float, n_bases=8, trainable=False) -> None: + super().__init__() + + bessel_weights = ( + np.pi + / cutoff + * torch.linspace( + start=1.0, + end=n_bases, + steps=n_bases, + dtype=torch.get_default_dtype(), + ) + ) + if trainable: + self.bessel_weights = torch.nn.Parameter(bessel_weights) + else: + self.register_buffer('bessel_weights', bessel_weights) + + self.register_buffer( + 'cutoff', torch.tensor(cutoff, dtype=torch.get_default_dtype()) + ) + self.register_buffer( + 'prefactor', + torch.tensor( + np.sqrt(2.0 / cutoff), dtype=torch.get_default_dtype() + ) + ) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + numerator = torch.sin(self.bessel_weights * x) + return self.prefactor * (numerator / x) + + def __repr__(self) -> str: + result = 'BESSELBASIS [ ' + + data_string = '\033[32m{:d}\033[0m\033[36m 󰯰 \033[0m' + result = result + data_string.format(len(self.bessel_weights)) + result = result + '| ' + data_string = '\033[32m{:f}\033[0m\033[36m 󰳁 \033[0m' + result = result + data_string.format(self.cutoff) + if self.bessel_weights.requires_grad: + result = result + '|\033[36m TRAINABLE \033[0m' + result = result + ']' + + return result + + +class PolynomialCutoff(torch.nn.Module): + """ + The Continuous cutoff function (equation (8) in [1]). + + Parameters + ---------- + cutoff: float + The cutoff radius. + p: int + Order of the polynomial. + + References + ---------- + .. [1] Klicpera, J.; Groß, J.; Günnemann, S. Directional Message Passing + for Molecular Graphs; ICLR 2020. + """ + p: torch.Tensor + cutoff: torch.Tensor + + def __init__(self, cutoff: float, p: int = 6) -> None: + super().__init__() + self.register_buffer( + 'p', torch.tensor(p, dtype=torch.get_default_dtype()) + ) + self.register_buffer( + 'cutoff', torch.tensor(cutoff, dtype=torch.get_default_dtype()) + ) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + # fmt: off + envelope = ( + 1.0 + - (self.p + 1.0) * (self.p + 2.0) / 2.0 + * torch.pow(x / self.cutoff, self.p) + + self.p * (self.p + 2.0) + * torch.pow(x / self.cutoff, self.p + 1) + - self.p * (self.p + 1.0) / 2 + * torch.pow(x / self.cutoff, self.p + 2) + ) + # fmt: on + + # noinspection PyUnresolvedReferences + return envelope * (x < self.cutoff) + + def __repr__(self) -> str: + result = 'POLYNOMIALCUTOFF [ ' + + data_string = '\033[32m{:d}\033[0m\033[36m 󰰚 \033[0m' + result = result + data_string.format(int(self.p)) + result = result + '| ' + data_string = '\033[32m{:f}\033[0m\033[36m 󰳁 \033[0m' + result = result + data_string.format(self.cutoff) + result = result + ']' + + return result + + +class RadialEmbeddingBlock(torch.nn.Module): + """ + The radial embedding block [1]. + + Parameters + ---------- + cutoff: float + The cutoff radius. + n_bases: int + Size of the basis set. + n_polynomials: bool + Order of the polynomial. + basis_type: str + Type of the basis function. + + References + ---------- + .. [1] Klicpera, J.; Groß, J.; Günnemann, S. Directional Message Passing + for Molecular Graphs; ICLR 2020. + """ + + def __init__( + self, + cutoff: float, + n_bases: int = 8, + n_polynomials: int = 6, + basis_type: str = 'bessel', + ) -> None: + super().__init__() + self.n_out = n_bases + if basis_type == 'bessel': + self.bessel_fn = BesselBasis(cutoff=cutoff, n_bases=n_bases) + self.cutoff_fn = PolynomialCutoff(cutoff=cutoff, p=n_polynomials) + elif basis_type == 'gaussian': + self.bessel_fn = GaussianBasis(cutoff=cutoff, n_bases=n_bases) + self.cutoff_fn = None + else: + raise RuntimeError( + 'Unknown basis function type "{:s}" !'.format(basis_type) + ) + + def forward(self, edge_lengths: torch.Tensor) -> torch.Tensor: + """ + The forward pass. + + Parameters + ---------- + edge_lengths: torch.Tensor (shape: [n_edges, 1]) + Lengths of edges. + + Returns + ------- + edge_embedding: torch.Tensor (shape: [n_edges, n_bases]) + The radial edge embedding. + """ + r = self.bessel_fn(edge_lengths) # shape: [n_edges, n_bases] + if self.cutoff_fn is not None: + c = self.cutoff_fn(edge_lengths) # shape: [n_edges, 1] + return r * c + else: + return r + + +def test_bessel_basis() -> None: + dtype = torch.get_default_dtype() + torch.set_default_dtype(torch.float64) + + data = torch.tensor([ + [0.30216178425160090, 0.603495364055576400], + [0.29735174147757487, 0.565596622727919000], + [0.28586135770645804, 0.479487014442650350], + [0.26815929064765680, 0.358867177503655900], + [0.24496326504279375, 0.222421990229218020], + [0.21720530022724968, 0.090319042449653110], + [0.18598678410040770, -0.019467592388889482], + [0.15252575991598738, -0.094266103787986490], + [0.11809918979627002, -0.128642857533393970], + [0.08398320341397922, -0.124823366088228150] + ]) + + rbf = BesselBasis(6.0, 2) + + data_new = torch.stack( + [rbf(torch.ones(1) * i * 0.5 + 0.1) for i in range(0, 10)] + ) + + assert (torch.abs(data - data_new) < 1E-12).all() + + torch.set_default_dtype(dtype) + + +def test_gaussian_basis() -> None: + dtype = torch.get_default_dtype() + torch.set_default_dtype(torch.float64) + + data = torch.tensor([ + [0.9998611207557263, 0.6166385641763439], + [0.9950124791926823, 0.6669768108584744], + [0.9833348700493460, 0.7164317992468783], + [0.9650691177896804, 0.7642281651714904], + [0.9405880633643421, 0.8095716486678869], + [0.9103839103891423, 0.8516705072294410], + [0.8750517756337902, 0.8897581848801761], + [0.8352702114112720, 0.9231163463866358], + [0.7917795893122607, 0.9510973184771084], + [0.7453593045429805, 0.9731449630580510] + ]) + + rbf = GaussianBasis(6.0, 2) + + data_new = torch.stack( + [rbf(torch.ones(1) * i * 0.5 + 0.1)[0] for i in range(0, 10)] + ) + + assert (torch.abs(data - data_new) < 1E-12).all() + + torch.set_default_dtype(dtype) + + +def test_polynomial_cutoff() -> None: + dtype = torch.get_default_dtype() + torch.set_default_dtype(torch.float64) + + data = torch.tensor([ + [1.0000000000000000], + [0.9999919136092714], + [0.9995588277320531], + [0.9957733154296875], + [0.9803383630544124], + [0.9390599059360889], + [0.8554687500000000], + [0.7184512221655127], + [0.5317786922725198], + [0.3214569091796875] + ]) + + cutoff_function = PolynomialCutoff(6.0) + + data_new = torch.stack( + [cutoff_function(torch.ones(1) * i * 0.5) for i in range(0, 10)] + ) + + assert (torch.abs(data - data_new) < 1E-12).all() + + torch.set_default_dtype(dtype) + + +def test_radial_embedding_block(): + dtype = torch.get_default_dtype() + torch.set_default_dtype(torch.float64) + + data = torch.tensor([ + [0.302161784075405670, 0.603495363703668900], + [0.297344780473306900, 0.565583382110980900], + [0.285645292705329600, 0.479124599728231300], + [0.266549578182040000, 0.356712961747292670], + [0.238761404317085600, 0.216790818528859370], + [0.201179558989195350, 0.083655164534829570], + [0.154832684273361420, -0.016206633178216297], + [0.104419964978618930, -0.064535087460860160], + [0.057909938358517744, -0.063080025890725560], + [0.023554408472511446, -0.035008673547055544] + ]) + + embedding = RadialEmbeddingBlock(6, 2, 6) + + data_new = torch.stack( + [embedding(torch.ones(1) * i * 0.5 + 0.1) for i in range(0, 10)] + ) + + assert (torch.abs(data - data_new) < 1E-12).all() + + torch.set_default_dtype(dtype) + + +if __name__ == '__main__': + test_bessel_basis() + test_gaussian_basis() + test_polynomial_cutoff() + test_radial_embedding_block() diff --git a/mlcolvar/core/nn/graph/schnet.py b/mlcolvar/core/nn/graph/schnet.py new file mode 100644 index 00000000..2c3e9c2c --- /dev/null +++ b/mlcolvar/core/nn/graph/schnet.py @@ -0,0 +1,229 @@ +import math +import torch +import torch_scatter # TODO check this is equivalent in torch scatter +from torch import nn +from torch_geometric.nn import MessagePassing + +from mlcolvar.core.nn.graph.gnn import BaseGNN + +from typing import List, Dict, Tuple + + +""" +The SchNet components. This module is taken from the pgy package: +https://github.com/pyg-team/pytorch_geometric/blob/master/torch_geometric/nn/models/schnet.py +""" + +__all__ = ['InteractionBlock', 'ShiftedSoftplus'] + +class SchNetModel(BaseGNN): + """ + The SchNet [1] model. This implementation is taken from torch_geometric: + https://github.com/pyg-team/pytorch_geometric/blob/master/torch_geometric/nn/models/schnet.py + + Parameters + ---------- + n_out: int + Size of the output node features. + cutoff: float + Cutoff radius of the basis functions. Should be the same as the cutoff + radius used to build the graphs. + atomic_numbers: List[int] + The atomic numbers mapping, e.g. the `atomic_numbers` attribute of a + `mlcolvar.graph.data.GraphDataSet` instance. + n_bases: int + Size of the basis set. + n_layers: int + Number of the graph convolution layers. + n_filters: int + Number of filters. + n_hidden_channels: int + Size of hidden embeddings. + + References + ---------- + .. [1] Schütt, Kristof T., et al. "Schnet–a deep learning architecture for + molecules and materials." The Journal of Chemical Physics 148.24 + (2018). + """ + + def __init__( + self, + n_out: int, + cutoff: float, + atomic_numbers: List[int], + n_bases: int = 16, + n_layers: int = 2, + n_filters: int = 16, + n_hidden_channels: int = 16, + drop_rate: int = 0 + ) -> None: + + super().__init__( + n_out, cutoff, atomic_numbers, n_bases, 0, 'gaussian' + ) + + self.W_v = nn.Linear( + len(atomic_numbers), n_hidden_channels, bias=False + ) + + self.layers = nn.ModuleList([ + InteractionBlock( + n_hidden_channels, n_bases, n_filters, cutoff + ) + for _ in range(n_layers) + ]) + + self.W_out = nn.ModuleList([ + nn.Linear(n_hidden_channels, n_hidden_channels // 2), + ShiftedSoftplus(), + nn.Linear(n_hidden_channels // 2, n_out) + ]) + + self.reset_parameters() + + def reset_parameters(self) -> None: + """ + Resets all learnable parameters of the module. + """ + self.W_v.reset_parameters() + + for layer in self.layers: + layer.reset_parameters() + + nn.init.xavier_uniform_(self.W_out[0].weight) + self.W_out[0].bias.data.fill_(0) + nn.init.xavier_uniform_(self.W_out[2].weight) + self.W_out[2].bias.data.fill_(0) + + def forward( + self, data: Dict[str, torch.Tensor], scatter_mean: bool = True + ) -> torch.Tensor: + """ + The forward pass. + + Parameters + ---------- + data: Dict[str, torch.Tensor] + The data dict. Usually came from the `to_dict` method of a + `torch_geometric.data.Batch` object. + scatter_mean: bool + If perform the scatter mean to the model output. + """ + + h_E = self.embed_edge(data) + h_V = self.W_v(data['node_attrs']) + + batch_id = data['batch'] + + for layer in self.layers: + h_V = h_V + layer(h_V, data['edge_index'], h_E[0], h_E[1]) + + for w in self.W_out: + h_V = w(h_V) + out = h_V + + if scatter_mean: + if 'system_masks' not in data.keys(): + # TODO check this is equivalent in torch scatter + out = torch_scatter.scatter_mean(out, batch_id, dim=0) + else: + out = out * data['system_masks'] + # TODO check this is equivalent in torch scatter + out = torch_scatter.scatter_sum(out, batch_id, dim=0) + out = out / data['n_system'] + + return out + +class InteractionBlock(nn.Module): + def __init__( + self, + hidden_channels: int, + num_gaussians: int, + num_filters: int, + cutoff: float + ) -> None: + super().__init__() + self.mlp = nn.Sequential( + nn.Linear(num_gaussians, num_filters), + ShiftedSoftplus(), + nn.Linear(num_filters, num_filters), + ) + self.conv = CFConv( + hidden_channels, hidden_channels, num_filters, self.mlp, cutoff + ) + self.act = ShiftedSoftplus() + self.lin = nn.Linear(hidden_channels, hidden_channels) + + self.reset_parameters() + + def reset_parameters(self) -> None: + nn.init.xavier_uniform_(self.mlp[0].weight) + self.mlp[0].bias.data.fill_(0) + nn.init.xavier_uniform_(self.mlp[2].weight) + self.mlp[2].bias.data.fill_(0) + self.conv.reset_parameters() + nn.init.xavier_uniform_(self.lin.weight) + self.lin.bias.data.fill_(0) + + def forward( + self, + x: torch.Tensor, + edge_index: torch.Tensor, + edge_weight: torch.Tensor, + edge_attr: torch.Tensor, + ) -> torch.Tensor: + x = self.conv(x, edge_index, edge_weight, edge_attr) + x = self.act(x) + x = self.lin(x) + return x + + +class CFConv(MessagePassing): + def __init__( + self, + in_channels: int, + out_channels: int, + num_filters: int, + network: nn.Sequential, + cutoff: float, + ) -> None: + super().__init__(aggr='mean') + self.lin1 = nn.Linear(in_channels, num_filters, bias=False) + self.lin2 = nn.Linear(num_filters, out_channels) + self.network = network + self.cutoff = cutoff + + self.reset_parameters() + + def reset_parameters(self): + nn.init.xavier_uniform_(self.lin1.weight) + nn.init.xavier_uniform_(self.lin2.weight) + self.lin2.bias.data.fill_(0) + + def forward( + self, + x: torch.Tensor, + edge_index: torch.Tensor, + edge_weight: torch.Tensor, + edge_attr: torch.Tensor, + ) -> torch.Tensor: + C = 0.5 * (torch.cos(edge_weight * math.pi / self.cutoff) + 1.0) + W = self.network(edge_attr) * C.view(-1, 1) + + x = self.lin1(x) + x = self.propagate(edge_index, x=x, W=W) + x = self.lin2(x) + return x + + def message(self, x_j: torch.Tensor, W: torch.Tensor) -> torch.Tensor: + return x_j * W + +# TODO maybe remove and use the common one +class ShiftedSoftplus(nn.Module): + def __init__(self) -> None: + super().__init__() + self.shift = torch.log(torch.tensor(2.0)).item() + + def forward(self, x: torch.Tensor) -> torch.Tensor: + return nn.functional.softplus(x) - self.shift diff --git a/mlcolvar/cvs/supervised/deeptda_graph.py b/mlcolvar/cvs/supervised/deeptda_graph.py new file mode 100644 index 00000000..cade3fcf --- /dev/null +++ b/mlcolvar/cvs/supervised/deeptda_graph.py @@ -0,0 +1,201 @@ +import torch +import torch_geometric as tg +from typing import Dict, Any, List, Union + +from mlcolvar.core.loss import TDALoss +from mlcolvar.graph.cvs import GraphBaseCV +from mlcolvar.graph.cvs.cv import test_get_data +from mlcolvar.graph.utils import torch_tools + +""" +The Deep Targeted Discriminant Analysis (Deep-TDA) CV based on Graph Neural +Networks (GNN). +""" + +__all__ = ['GraphDeepTDA'] + + +class GraphDeepTDA(GraphBaseCV): + """ + The Deep Targeted Discriminant Analysis (Deep-TDA) CV [1] based on Graph + Neural Networks (GNN). + + Parameters + ---------- + n_cvs: int + Number of components of the CV. + cutoff: float + Cutoff radius of the basis functions. Should be the same as the cutoff + radius used to build the graphs. + atomic_numbers: List[int] + The atomic numbers mapping, e.g. the `atomic_numbers` attribute of a + `mlcolvar.graph.data.GraphDataSet` instance. + n_cvs : int + Number of collective variables to be trained + target_centers : list + Centers of the Gaussian targets + target_sigmas : list + Standard deviations of the Gaussian targets + model_name: str + Name of the GNN model. + model_options: Dict[Any, Any] + Model options. + extra_loss_options: Dict[Any, Any] + Extra loss function options. + optimizer_options: Dict[Any, Any] + Optimizer options. + + References + ---------- + .. [1] E. Trizio and M. Parrinello, + 'From enhanced sampling to reaction profiles', + The Journal of Physical Chemistry Letters 12, 8621– 8626 (2021). + + See also + -------- + mlcolvar.core.loss.TDALoss + Distance from a simple Gaussian target distribution. + """ + + def __init__( + self, + n_cvs: int, + cutoff: float, + atomic_numbers: List[int], + target_centers: Union[List[float], List[List[float]]], + target_sigmas: Union[List[float], List[List[float]]], + model_name: str = 'GVPModel', + model_options: Dict[Any, Any] = {}, + extra_loss_options: Dict[Any, Any] = {'alpha': 1.0, 'beta': 100.0}, + optimizer_options: Dict[Any, Any] = {}, + **kwargs, + ) -> None: + if model_options.pop('n_out', None) is not None: + raise RuntimeError( + 'The `n_out` key of parameter `model_options` will be ignored!' + ) + if optimizer_options != {}: + kwargs['optimizer_options'] = optimizer_options + + super().__init__( + n_cvs, cutoff, atomic_numbers, model_name, model_options, **kwargs + ) + + # check size and type of targets + if not isinstance(target_centers, torch.Tensor): + target_centers = torch.tensor( + target_centers, dtype=torch.get_default_dtype() + ) + if not isinstance(target_sigmas, torch.Tensor): + target_sigmas = torch.tensor( + target_sigmas, dtype=torch.get_default_dtype() + ) + + self._n_states = target_centers.shape[0] + if target_centers.shape != target_sigmas.shape: + raise ValueError( + 'Size of target_centers and target_sigmas should be the same!' + ) + if len(target_centers.shape) == 1: + if n_cvs != 1: + raise ValueError( + 'Size of target_centers at dimension 1 should match the ' + + f'number of cvs! Expected 1 found {n_cvs}' + ) + elif len(target_centers.shape) == 2: + if n_cvs != target_centers.shape[1]: + raise ValueError( + 'Size of target_centers at dimension 1 should match the ' + + f'number of cvs! Expected {n_cvs} found ' + + f'{target_centers.shape[1]}' + ) + elif len(target_centers.shape) > 2: + raise ValueError('Too much target_centers dimensions!') + + self.loss_fn = TDALoss( + n_states=target_centers.shape[0], + target_centers=target_centers, + target_sigmas=target_sigmas, + **extra_loss_options + ) + + def training_step( + self, train_batch: tg.data.Batch, *args, **kwargs + ) -> torch.Tensor: + """ + Compute and return the training loss and record metrics. + + Parameters + ---------- + train_batch: torch_geometric.data.Batch + The data batch. + """ + output = self.forward(train_batch.to_dict()) + + loss, loss_centers, loss_sigmas = self.loss_fn( + output, + train_batch.graph_labels.squeeze(), + return_loss_terms=True + ) + + name = 'train' if self.training else 'valid' + self.log(f'{name}_loss', loss, on_epoch=True) + self.log(f'{name}_loss_centers', loss_centers, on_epoch=True) + self.log(f'{name}_loss_sigmas', loss_sigmas, on_epoch=True) + return loss + + +def test_deep_tda(): + torch.manual_seed(0) + torch_tools.set_default_dtype('float64') + + cv = GraphDeepTDA( + 2, + 0.1, + [1, 8], + [[-1, -1], [1, 1]], + [[1, 1], [1, 1]], + model_options={ + 'n_bases': 6, + 'n_polynomials': 6, + 'n_layers': 2, + 'n_messages': 2, + 'n_feedforwards': 1, + 'n_scalars_node': 16, + 'n_vectors_node': 8, + 'n_scalars_edge': 16, + 'drop_rate': 0, + 'activation': 'SiLU', + } + ) + + data = test_get_data() + + assert ( + torch.abs( + cv(data) + - torch.tensor([[0.6100070244145421, -0.2559670171962067]] * 6) + ) < 1E-12 + ).all() + + assert torch.abs( + cv.training_step(data) - torch.tensor(404.8752553674548) + ) < 1E-12 + + try: + cv = GraphDeepTDA(2, 0.1, [1, 8], [-1, 1], [1, 1]) + except ValueError: + pass + else: + raise RuntimeError + + try: + cv = GraphDeepTDA(2, 0.1, [1, 8], [[-1, -1], [1, 1]], [1, 1]) + except ValueError: + pass + else: + raise RuntimeError + + +if __name__ == '__main__': + test_deep_tda() diff --git a/mlcolvar/cvs/supervised/deeptda_merged.py b/mlcolvar/cvs/supervised/deeptda_merged.py new file mode 100644 index 00000000..4e424d72 --- /dev/null +++ b/mlcolvar/cvs/supervised/deeptda_merged.py @@ -0,0 +1,245 @@ +import torch +import lightning +from mlcolvar.cvs import BaseCV +from mlcolvar.core import FeedForward, Normalization +from mlcolvar.core.loss import TDALoss +from mlcolvar.data import DictModule + +import torch_geometric + +__all__ = ["DeepTDA"] + + +class DeepTDA(BaseCV, lightning.LightningModule): + """ + Deep Targeted Discriminant Analysis (Deep-TDA) CV. + Combine the inputs with a neural-network and optimize it in a way such that + the data are distributed accordingly to a mixture of Gaussians. The method is described in [1]_. + + **Data**: for training it requires a DictDataset with the keys 'data' and 'labels'. + + **Loss**: distance of the samples of each class from a set of Gaussians (TDALoss) + + References + ---------- + .. [1] E. Trizio and M. Parrinello, "From enhanced sampling to reaction profiles", + The Journal of Physical Chemistry Letters 12, 8621– 8626 (2021). + + See also + -------- + mlcolvar.core.loss.TDALoss + Distance from a simple Gaussian target distribution. + """ + + BLOCKS = ["norm_in", "nn"] + + # TODO n_states optional? + def __init__( + self, + n_states: int, + n_cvs: int, + target_centers: list, + target_sigmas: list, + layers: list, + gnn_model=None, + options: dict = None, + **kwargs, + ): + """ + Define Deep Targeted Discriminant Analysis (Deep-TDA) CV composed by a neural network module. + By default a module standardizing the inputs is also used. + + Parameters + ---------- + n_states : int + Number of states for the training + n_cvs : int + Number of collective variables to be trained + target_centers : list + Centers of the Gaussian targets + target_sigmas : list + Standard deviations of the Gaussian targets + layers : list + Number of neurons per layer + options : dict[str, Any], optional + Options for the building blocks of the model, by default {}. + Available blocks: ['norm_in', 'nn']. + Set 'block_name' = None or False to turn off that block + """ + + super().__init__(in_features=layers[0], out_features=layers[-1], **kwargs) + self.gnn_model = gnn_model + + # ======= LOSS ======= + self.loss_fn = TDALoss( + n_states=n_states, + target_centers=target_centers, + target_sigmas=target_sigmas, + ) + + # ======= OPTIONS ======= + # parse and sanitize + options = self.parse_options(options) + # Save n_states + self.n_states = n_states + if self.out_features != n_cvs: + raise ValueError( + "Number of neurons of last layer should match the number of CVs!" + ) + + # check size and type of targets + if not isinstance(target_centers, torch.Tensor): + target_centers = torch.Tensor(target_centers) + if not isinstance(target_sigmas, torch.Tensor): + target_sigmas = torch.Tensor(target_sigmas) + + if target_centers.shape != target_sigmas.shape: + raise ValueError( + f"Size of target_centers and target_sigmas should be the same!" + ) + if n_states != target_centers.shape[0]: + raise ValueError( + f"Size of target_centers at dimension 0 should match the number of states! Expected {n_states} found {target_centers.shape[0]}" + ) + if len(target_centers.shape) == 2: + if n_cvs != target_centers.shape[1]: + raise ValueError( + ( + f"Size of target_centers at dimension 1 should match the number of cvs! Expected {n_cvs} found {target_centers.shape[1]}" + ) + ) + + # ======= BLOCKS ======= + # Initialize norm_in + o = "norm_in" + if (options[o] is not False) and (options[o] is not None and gnn_model is None): + self.norm_in = Normalization(self.in_features, **options[o]) + + # initialize NN + o = "nn" + if gnn_model is None: + self.nn = FeedForward(layers, **options[o]) + else: + self.nn = gnn_model + + def training_step(self, train_batch, *args, **kwargs) -> torch.Tensor: + if self.gnn_model is None: + # =================get data=================== + x = train_batch["data"] + labels = train_batch["labels"] + # =================forward==================== + z = self.forward_cv(x) + # ===================loss===================== + loss, loss_centers, loss_sigmas = self.loss_fn(z, + labels, + return_loss_terms=True + ) + elif self.gnn_model._model_type is 'gnn': + # data = train_batch.to_dict() + data = train_batch['data_list'] + data['positions'].requires_grad_(True) + data['node_attrs'].requires_grad_(True) + + output = self.forward(data) + + loss, loss_centers, loss_sigmas = self.loss_fn(output, + data["graph_labels"].squeeze(), + return_loss_terms=True + ) + + # ====================log=====================+ + name = "train" if self.training else "valid" + self.log(f"{name}_loss", loss, on_epoch=True) + self.log(f"{name}_loss_centers", loss_centers, on_epoch=True) + self.log(f"{name}_loss_sigmas", loss_sigmas, on_epoch=True) + return loss + + # def training_step( + # self, train_batch: torch_geometric.data.Batch, *args, **kwargs + # ) -> torch.Tensor: + # """ + # Compute and return the training loss and record metrics. + + # Parameters + # ---------- + # train_batch: torch_geometric.data.Batch + # The data batch. + # """ + # data = train_batch.to_dict() + # data['positions'].requires_grad_(True) + # data['node_attrs'].requires_grad_(True) + + # output = self.forward(data) + + # loss, loss_centers, loss_sigmas = self.loss_fn( + # output, + # train_batch.graph_labels.squeeze(), + # return_loss_terms=True + # ) + + # name = 'train' if self.training else 'valid' + # self.log(f'{name}_loss', loss, on_epoch=True) + # self.log(f'{name}_loss_centers', loss_centers, on_epoch=True) + # self.log(f'{name}_loss_sigmas', loss_sigmas, on_epoch=True) + # return loss + + +# TODO signature of tests? +import numpy as np + + +def test_deeptda_cv(): + from mlcolvar.data import DictDataset + + for states_and_cvs in [[2, 1], [3, 1], [3, 2], [5, 4]]: + # get the number of states and cvs for the test run + n_states = states_and_cvs[0] + n_cvs = states_and_cvs[1] + + in_features, out_features = 2, n_cvs + layers = [in_features, 4, 2, out_features] + target_centers = np.random.randn(n_states, n_cvs) + target_sigmas = np.random.randn(n_states, n_cvs) + + # test initialize via dictionary + options = {"nn": {"activation": "relu"}} + + model = DeepTDA( + n_states=n_states, + n_cvs=n_cvs, + target_centers=target_centers, + target_sigmas=target_sigmas, + layers=layers, + options=options, + ) + + print("----------") + print(model) + + # create dataset + samples = 100 + X = torch.randn((samples * n_states, 2)) + + # create labels + y = torch.zeros(X.shape[0]) + for i in range(1, n_states): + y[samples * i :] += 1 + + dataset = DictDataset({"data": X, "labels": y}) + datamodule = DictModule(dataset, lengths=[0.75, 0.2, 0.05], batch_size=samples) + # train model + trainer = lightning.Trainer( + accelerator="cpu", max_epochs=2, logger=None, enable_checkpointing=False + ) + trainer.fit(model, datamodule) + + # trace model + traced_model = model.to_torchscript( + file_path=None, method="trace", example_inputs=X[0] + ) + model.eval() + assert torch.allclose(model(X), traced_model(X)) + + +if __name__ == "__main__": + test_deeptda_cv() diff --git a/mlcolvar/data/dataset.py b/mlcolvar/data/dataset.py index 4dfdb15f..48913b43 100644 --- a/mlcolvar/data/dataset.py +++ b/mlcolvar/data/dataset.py @@ -2,6 +2,8 @@ import numpy as np from mlcolvar.core.transform.utils import Statistics from torch.utils.data import Dataset +import torch_geometric +from mlcolvar.data.graph.atomic import AtomicNumberTable __all__ = ["DictDataset"] @@ -14,7 +16,7 @@ class DictDataset(Dataset): 'weights' : np.asarray([0.5,1.5,1.5,0.5]) } """ - def __init__(self, dictionary: dict = None, feature_names=None, **kwargs): + def __init__(self, dictionary: dict=None, feature_names = None, metadata: dict = None, **kwargs): """Create a Dataset from a dictionary or from a list of kwargs. Parameters @@ -30,7 +32,12 @@ def __init__(self, dictionary: dict = None, feature_names=None, **kwargs): raise TypeError( f"DictDataset requires a dictionary , not {type(dictionary)}." ) - + + if (metadata is not None) and (not isinstance(metadata, dict)): + raise TypeError( + f"DictDataset metadata requires a dictionary , not {type(metadata)}." + ) + # Add kwargs to dict if dictionary is None: dictionary = {} @@ -41,7 +48,10 @@ def __init__(self, dictionary: dict = None, feature_names=None, **kwargs): # convert to torch.Tensors for key, val in dictionary.items(): if not isinstance(val, torch.Tensor): - dictionary[key] = torch.Tensor(val) + if key =="data_list": + dictionary[key] = val + else: + dictionary[key] = torch.Tensor(val) # save dictionary self._dictionary = dictionary @@ -49,10 +59,13 @@ def __init__(self, dictionary: dict = None, feature_names=None, **kwargs): # save feature names self.feature_names = feature_names + # save metadata + self.metadata = metadata + # check that all elements of dict have same length it = iter(dictionary.values()) self.length = len(next(it)) - if not all(len(l) == self.length for l in it): + if not all([len(l)==self.length for l in it]): raise ValueError("not all arrays in dictionary have same length!") def __getitem__(self, index): @@ -70,7 +83,7 @@ def __setitem__(self, index, value): # check lengths if len(value) != len(self): raise ValueError( - f"length of value ({len(value)}) != length of dataset ({len(self)})." + f"length of value ({len(value)}) != length of dataset ({len(self)})." ) self._dictionary[index] = value else: @@ -98,7 +111,14 @@ def get_stats(self): def __repr__(self) -> str: string = "DictDataset(" for key, val in self._dictionary.items(): - string += f' "{key}": {list(val.shape)},' + if key=="data_list": + string += f' "{key}": {len(val)},' + elif key in ["cutoff"]: + string += f' "{key}": {val},' + else: + string += f' "{key}": {list(val.shape)},' + for key, val in self.metadata.items(): + string += f' "{key}": {val},' string = string[:-1] + " )" return string diff --git a/mlcolvar/data/graph/__init__.py b/mlcolvar/data/graph/__init__.py new file mode 100644 index 00000000..c7718884 --- /dev/null +++ b/mlcolvar/data/graph/__init__.py @@ -0,0 +1,12 @@ +# TODO fix imports + +from . import atomic +from . import neighborhood +# from .dataset import ( +# GraphDataSet, +# create_dataset_from_configurations, +# save_dataset, +# save_dataset_as_exyz, +# load_dataset +# ) +# from .datamodule import GraphDataModule, GraphCombinedDataModule diff --git a/mlcolvar/data/graph/atomic.py b/mlcolvar/data/graph/atomic.py new file mode 100644 index 00000000..e46e54fc --- /dev/null +++ b/mlcolvar/data/graph/atomic.py @@ -0,0 +1,158 @@ +import warnings +import numpy as np +import mdtraj as md # TODO re-write the two functions +from dataclasses import dataclass +from typing import List, Iterable, Optional + +""" +The helper functions for atomic data. This module is taken from MACE directly: +https://github.com/ACEsuit/mace/blob/main/mace/tools/utils.py +https://github.com/ACEsuit/mace/blob/main/mace/data/utils.py +""" + +__all__ = ['AtomicNumberTable', 'Configuration', 'Configurations'] + + +class AtomicNumberTable: + """ + The atomic number table. Used to map between one hot encodings and a given + set of actual atomic numbers. + + Parameters + ---------- + zs: List[int] + The atomic numbers in this table. + """ + + def __init__(self, zs: List[int]) -> None: + self.zs = zs + self.masses = [1.0] * len(zs) + for i in range(len(zs)): + try: + m = md.element.Element.getByAtomicNumber(zs[i]).mass + self.masses[i] = m + except Exception: + warnings.warn( + 'Can not assign mass for atom number: {:d}'.format(zs[i]) + ) + + def __len__(self) -> int: + """ + Number of elements in this table. + """ + return len(self.zs) + + def __str__(self) -> str: + return f'AtomicNumberTable: {tuple(s for s in self.zs)}' + + def index_to_z(self, index: int) -> int: + """ + Map the encoding to the actual atomic number. + + Parameters + ---------- + index: int + The encoding. + """ + return self.zs[index] + + def index_to_symbol(self, index: int) -> str: + """ + Map the encoding to the atomic symbol. + + Parameters + ---------- + index: int + The encoding. + """ + return md.element.Element.getByAtomicNumber(self.zs[index]).symbol + + def z_to_index(self, atomic_number: int) -> int: + """ + Map an atomic number to the encoding. + + Parameters + ---------- + atomic_number: int + The atomic number. + """ + return self.zs.index(atomic_number) + + def zs_to_indices(self, atomic_numbers: np.ndarray) -> np.ndarray: + """ + Map an array of atomic number to the encodings. + + Parameters + ---------- + atomic_numbers: numpy.ndarray + The atomic numbers. + """ + to_index_fn = np.vectorize(self.z_to_index) + return to_index_fn(atomic_numbers) + + @classmethod + def from_zs(cls, atomic_numbers: Iterable[int]) -> 'AtomicNumberTable': + """ + Build the table from an array atomic numbers. + + Parameters + ---------- + atomic_numbers: Iterable[int] + The atomic numbers. + """ + z_set = set() + for z in atomic_numbers: + z_set.add(z) + return cls(sorted(list(z_set))) + + +def get_masses(atomic_numbers: Iterable[int]) -> List[float]: + """ + Get atomic masses from atomic numbers. + + Parameters + ---------- + atomic_numbers: Iterable[int] + The atomic numbers. + """ + return AtomicNumberTable.from_zs(atomic_numbers).masses.copy() + + +@dataclass +class Configuration: + """ + Internal helper class that describe a given configuration of the system. + """ + atomic_numbers: np.ndarray # shape: [n_atoms] + positions: np.ndarray # shape: [n_atoms, 3], units: Ang + cell: np.ndarray # shape: [n_atoms, 3], units: Ang + pbc: Optional[tuple] # shape: [3] + node_labels: Optional[np.ndarray] # shape: [n_atoms, n_node_labels] + graph_labels: Optional[np.ndarray] # shape: [n_graph_labels, 1] + weight: Optional[float] = 1.0 # shape: [] + system: Optional[np.ndarray] = None # shape: [n_system_atoms] + environment: Optional[np.ndarray] = None # shape: [n_environment_atoms] + + +Configurations = List[Configuration] + + +def test_atomic_number_table() -> None: + table = AtomicNumberTable([1, 6, 7, 8]) + + numbers = np.array([1, 7, 6, 8]) + assert ( + table.zs_to_indices(numbers) == np.array([0, 2, 1, 3], dtype=int) + ).all() + + numbers = np.array([1, 1, 1, 6, 8, 1]) + assert ( + table.zs_to_indices(numbers) == np.array([0, 0, 0, 1, 3, 0], dtype=int) + ).all() + + table_1 = AtomicNumberTable.from_zs([6] * 3 + [1] * 10 + [7] * 3 + [8] * 2) + assert table_1.zs == table.zs + + +if __name__ == '__main__': + test_atomic_number_table() diff --git a/mlcolvar/data/graph/datamodule.py b/mlcolvar/data/graph/datamodule.py new file mode 100644 index 00000000..fefc58d5 --- /dev/null +++ b/mlcolvar/data/graph/datamodule.py @@ -0,0 +1,879 @@ +import torch +import lightning +import torch_geometric as tg +import numpy as np + +from typing import Sequence, Union, Optional, Tuple +from lightning.pytorch.utilities import combined_loader + +from mlcolvar.data.graph import atomic +from mlcolvar.data.graph.dataset import create_dataset_from_configurations + +""" +The data module for lightning. +""" + +__all__ = ['GraphDataModule', 'GraphCombinedDataModule'] + + +class GraphDataModule(lightning.LightningDataModule): + """ + Lightning DataModule constructed for `torch_geometric.data.Data`. This data + module automatically splits the input graphs into training, validation, + and (optionally) test sets. + + Parameters + ---------- + dataset: List[torch_geometric.data.Data] + List of graph data. + lengths: List[int] + Lengths of the training, validation, and (optionally) test datasets. + This must be a list of (float) fractions summing to 1. + batch_size : Union[int, List[int]] + The batch size. + random_split: bool + Whether to randomly split train/valid/test or sequentially. + shuffle: Union[bool, List[bool]] + Whether to shuffle the batches in the ``DataLoader``. + seed: int + The random seed used to split the dataset. + """ + + def __init__( + self, + dataset: Sequence[tg.data.Data], + lengths: Sequence = (0.8, 0.2), + batch_size: Union[int, Sequence] = None, + random_split: bool = True, + shuffle: Union[bool, Sequence] = True, + seed: Optional[int] = None, + ) -> None: + super().__init__() + + self._dataset = dataset + self._lengths = lengths + self._n_total = len(dataset) + + assert self._n_total > 0 + assert len(lengths) in [1, 2, 3] + assert np.abs(1 - sum(lengths)) < 1e-12 + + if self._n_total == 1: + self._n_train = 1 + else: + self._n_train = int(lengths[0] * self._n_total) + if len(lengths) == 3: + self._n_validation = int(lengths[1] * self._n_total) + self._n_test = self._n_total - self._n_train - self._n_validation + elif len(lengths) == 2: + self._n_validation = self._n_total - self._n_train + self._n_test = 0 + + indices = list(range(self._n_total)) + if random_split: + rng = np.random.default_rng(seed) + rng.shuffle(indices) + indices_train = indices[0:self._n_train] + if len(lengths) == 3: + indices_validation = indices[ + self._n_train:(self._n_train + self._n_validation) + ] + indices_test = indices[ + (self._n_train + self._n_validation):self._n_total + ] + elif len(lengths) == 2: + indices_validation = indices[ + self._n_train:(self._n_train + self._n_validation) + ] + indices_test = [] + else: + indices_validation = [] + indices_test = [] + self._dataset_indices = [ + indices_train, + indices_validation, + indices_test, + ] + + # Make sure batch_size and shuffle are lists. + if batch_size is None: + batch_size = len(dataset) + if isinstance(batch_size, int): + self.batch_size = [batch_size for _ in lengths] + else: + self.batch_size = batch_size + if isinstance(shuffle, bool): + self.shuffle = [shuffle for _ in lengths] + else: + self.shuffle = shuffle + + # This is initialized in setup(). + self._dataset_split = None + + # dataloaders + self.train_loader = None + self.valid_loader = None + self.test_loader = None + + def setup(self, stage: Optional[str] = None) -> None: + """ + Set up the datasets. + """ + if self._dataset_split is None: + dataset_split = [ + [self._dataset[j] for j in i] for i in self._dataset_indices + ] + self._dataset_split = dataset_split + + def train_dataloader(self) -> tg.loader.DataLoader: + """ + Return training dataloader. + """ + self._check_setup() + if self.train_loader is None: + self.train_loader = tg.loader.DataLoader( + self._dataset_split[0], + batch_size=self.batch_size[0], + shuffle=self.shuffle[0], + ) + return self.train_loader + + def val_dataloader(self) -> tg.loader.DataLoader: + """ + Return validation dataloader. + """ + self._check_setup() + if len(self._dataset_indices[1]) == 0: + raise NotImplementedError( + 'Validation dataset not available, you need to pass two ' + + 'lengths to datamodule.' + ) + if self.valid_loader is None: + self.valid_loader = tg.loader.DataLoader( + self._dataset_split[1], + batch_size=self.batch_size[1], + shuffle=self.shuffle[1], + ) + return self.valid_loader + + def test_dataloader(self) -> tg.loader.DataLoader: + """ + Return test dataloader. + """ + self._check_setup() + if len(self._dataset_indices[2]) == 0: + raise NotImplementedError( + 'Test dataset not available, you need to pass three ' + + 'lengths to datamodule.' + ) + if self.test_loader is None: + self.test_loader = tg.loader.DataLoader( + self._dataset_split[2], + batch_size=self.batch_size[2], + shuffle=self.shuffle[2], + ) + return self.test_loader + + def predict_dataloader(self) -> tg.loader.DataLoader: + """ + Return predict dataloader. + """ + raise NotImplementedError() + + def teardown(self, stage: str) -> None: + pass + + # def __repr__(self) -> str: + # result = '' + # n_digits = len(str(self._n_total)) + # data_string_1 = '[ \033[32m{{:{:d}d}}\033[0m\033[36m 󰡷 \033[0m' + # data_string_2 = '| \033[32m{{:{:d}d}}\033[0m\033[36m  \033[0m' + # shuffle_string_1 = '|\033[36m  \033[0m ]' + # shuffle_string_2 = '|\033[36m  \033[0m ]' + + # prefix = '\033[1m\033[34m BASEDATA \033[0m: ' + # result += ( + # prefix + self._dataset.__repr__().split('GRAPHDATASET ')[1] + '\n' + # ) + # prefix = '\033[1m\033[34m TRAINING \033[0m: ' + # string = prefix + data_string_1.format(n_digits) + # result += string.format( + # self._n_train, self._n_train / self._n_total * 100 + # ) + # string = data_string_2.format(n_digits) + # result += string.format(self.batch_size[0]) + # if self.shuffle[0]: + # result += shuffle_string_1 + # else: + # result += shuffle_string_2 + + # if self._n_validation > 0: + # result += '\n' + # prefix = '\033[1m\033[34m VALIDATION \033[0m: ' + # string = prefix + data_string_1.format(n_digits) + # result += string.format( + # self._n_validation, self._n_validation / self._n_total * 100 + # ) + # string = data_string_2.format(n_digits) + # result += string.format(self.batch_size[1]) + # if self.shuffle[1]: + # result += shuffle_string_1 + # else: + # result += shuffle_string_2 + + # if self._n_test > 0: + # result += '\n' + # prefix = '\033[1m\033[34m TEST \033[0m: ' + # string = prefix + data_string_1.format(n_digits) + # result += string.format( + # self._n_test, self._n_test / self._n_total * 100 + # ) + # string = data_string_2.format(n_digits) + # result += string.format(self.batch_size[2]) + # if self.shuffle[2]: + # result += shuffle_string_1 + # else: + # result += shuffle_string_2 + # return result + + def __repr__(self) -> str: + string = f"DictModule(dataset -> {self._dataset.__repr__()}" + string += f",\n\t\t train_loader -> DictLoader(length={self._lengths[0]}, batch_size={self.batch_size[0]}, shuffle={self.shuffle[0]})" + if len(self._lengths) >= 2: + string += f",\n\t\t valid_loader -> DictLoader(length={self._lengths[1]}, batch_size={self.batch_size[1]}, shuffle={self.shuffle[1]})" + if len(self._lengths) >= 3: + string += f",\n\t\t\ttest_loader =DictLoader(length={self._lengths[2]}, batch_size={self.batch_size[2]}, shuffle={self.shuffle[2]})" + string += f")" + return string + + def _check_setup(self) -> None: + """ + Raise an error if setup() has not been called. + """ + if self._dataset_split is None: + raise AttributeError( + 'The datamodule has not been set up yet. To get the ' + + 'dataloaders outside a Lightning trainer please call ' + + '.setup() first.' + ) + + +class GraphCombinedDataModule(lightning.LightningDataModule): + """ + Lightning DataModule constructed for `torch_geometric.data.Data`. This data + module automatically splits the input graphs into training, validation, + and (optionally) test sets. + Being differnet from `GraphDataModule`, this class takes two different + datasets as input, and evaluates them at the same time during the training. + + Parameters + ---------- + datasets: Tuple[ + List[torch_geometric.data.Data], List[torch_geometric.data.Data] + ] + Lists of graph data. + lengths: List[int] + Lengths of the training, validation, and (optionally) test datasets. + This must be a list of (float) fractions summing to 1. + batch_size : Union[int, List[int]] + The batch size. + random_split: bool + Whether to randomly split train/valid/test or sequentially. + seed: int + The random seed used to split the dataset. + """ + + def __init__( + self, + datasets: Tuple[Sequence[tg.data.Data], Sequence[tg.data.Data]], + lengths: Sequence = (0.8, 0.2), + batch_size: Union[int, Sequence] = None, + random_split: bool = True, + seed: Optional[int] = None, + ) -> None: + super().__init__() + + self._datasets = datasets + self._lengths = lengths + self._n_total = len(datasets[0]) + + assert self._n_total > 0 + assert self._n_total == len(datasets[1]) + assert len(lengths) in [1, 2, 3] + assert np.abs(1 - sum(lengths)) < 1e-12 + + if self._n_total == 1: + self._n_train = 1 + else: + self._n_train = int(lengths[0] * self._n_total) + if len(lengths) == 3: + self._n_validation = int(lengths[1] * self._n_total) + self._n_test = self._n_total - self._n_train - self._n_validation + elif len(lengths) == 2: + self._n_validation = self._n_total - self._n_train + self._n_test = 0 + + indices = list(range(self._n_total)) + if random_split: + rng = np.random.default_rng(seed) + rng.shuffle(indices) + indices_train = indices[0:self._n_train] + if len(lengths) == 3: + indices_validation = indices[ + self._n_train:(self._n_train + self._n_validation) + ] + indices_test = indices[ + (self._n_train + self._n_validation):self._n_total + ] + elif len(lengths) == 2: + indices_validation = indices[ + self._n_train:(self._n_train + self._n_validation) + ] + indices_test = [] + else: + indices_validation = [] + indices_test = [] + self._dataset_indices = [ + indices_train, + indices_validation, + indices_test, + ] + + # Make sure batch_size and shuffle are lists. + if batch_size is None: + batch_size = self._n_total + if isinstance(batch_size, int): + self.batch_size = [batch_size for _ in lengths] + else: + self.batch_size = batch_size + + # This is initialized in setup(). + self._dataset_splits = None + + # dataloaders + self.train_loader = None + self.valid_loader = None + self.test_loader = None + + def setup(self, stage: Optional[str] = None) -> None: + """ + Set up the datasets. + """ + if self._dataset_splits is None: + dataset_splits = [None] * 2 + dataset_splits[0] = [ + [self._datasets[0][j] for j in i] + for i in self._dataset_indices + ] + dataset_splits[1] = [ + [self._datasets[1][j] for j in i] + for i in self._dataset_indices + ] + self._dataset_splits = dataset_splits + + def train_dataloader(self) -> tg.loader.DataLoader: + """ + Return training dataloader. + """ + self._check_setup() + if self.train_loader is None: + train_loader_1 = tg.loader.DataLoader( + self._dataset_splits[0][0], + batch_size=self.batch_size[0], + shuffle=False, + ) + train_loader_2 = tg.loader.DataLoader( + self._dataset_splits[1][0], + batch_size=self.batch_size[0], + shuffle=False, + ) + self.train_loader = combined_loader.CombinedLoader( + {'dataset_1': train_loader_1, 'dataset_2': train_loader_2}, + mode='min_size' + ) + return self.train_loader + + def val_dataloader(self) -> tg.loader.DataLoader: + """ + Return validation dataloader. + """ + self._check_setup() + if len(self._dataset_indices[1]) == 0: + raise NotImplementedError( + 'Validation dataset not available, you need to pass two ' + + 'lengths to datamodule.' + ) + if self.valid_loader is None: + valid_loader_1 = tg.loader.DataLoader( + self._dataset_splits[0][1], + batch_size=self.batch_size[1], + shuffle=False, + ) + valid_loader_2 = tg.loader.DataLoader( + self._dataset_splits[1][1], + batch_size=self.batch_size[1], + shuffle=False, + ) + self.valid_loader = combined_loader.CombinedLoader( + {'dataset_1': valid_loader_1, 'dataset_2': valid_loader_2}, + mode='min_size' + ) + return self.valid_loader + + def test_dataloader(self) -> tg.loader.DataLoader: + """ + Return test dataloader. + """ + self._check_setup() + if len(self._dataset_indices[2]) == 0: + raise NotImplementedError( + 'Test dataset not available, you need to pass three ' + + 'lengths to datamodule.' + ) + if self.test_loader is None: + test_loader_1 = tg.loader.DataLoader( + self._dataset_splits[0][2], + batch_size=self.batch_size[2], + shuffle=False, + ) + test_loader_2 = tg.loader.DataLoader( + self._dataset_splits[1][2], + batch_size=self.batch_size[2], + shuffle=False, + ) + self.test_loader = combined_loader.CombinedLoader( + {'dataset_1': test_loader_1, 'dataset_2': test_loader_2}, + mode='min_size' + ) + return self.test_loader + + def predict_dataloader(self) -> tg.loader.DataLoader: + """ + Return predict dataloader. + """ + raise NotImplementedError() + + def teardown(self, stage: str) -> None: + pass + + def __repr__(self) -> str: + result = '' + n_digits = len(str(self._n_total)) + data_string_1 = '[ \033[32m{{:{:d}d}}\033[0m\033[36m 󰡷 \033[0m' + data_string_2 = '| \033[32m{{:{:d}d}}\033[0m\033[36m  \033[0m' + shuffle_string = '|\033[36m  \033[0m ]' + + prefix = '\033[1m\033[34m BASEDATA \033[0m: ' + result += ( + prefix + self._datasets[0].__repr__().split('GRAPHDATASET ')[1] + + '\n' + + prefix + self._datasets[1].__repr__().split('GRAPHDATASET ')[1] + + '\n' + ) + prefix = '\033[1m\033[34m TRAINING \033[0m: ' + string = prefix + data_string_1.format(n_digits) + result += string.format( + self._n_train * 2, self._n_train / self._n_total * 100 + ) + string = data_string_2.format(n_digits) + result += string.format(self.batch_size[0]) + result += shuffle_string + + if self._n_validation > 0: + result += '\n' + prefix = '\033[1m\033[34m VALIDATION \033[0m: ' + string = prefix + data_string_1.format(n_digits) + result += string.format( + self._n_validation * 2, + self._n_validation / self._n_total * 100 + ) + string = data_string_2.format(n_digits) + result += string.format(self.batch_size[1]) + result += shuffle_string + + if self._n_test > 0: + result += '\n' + prefix = '\033[1m\033[34m TEST \033[0m: ' + string = prefix + data_string_1.format(n_digits) + result += string.format( + self._n_test * 2, self._n_test / self._n_total * 100 + ) + string = data_string_2.format(n_digits) + result += string.format(self.batch_size[2]) + result += shuffle_string + return result + + def _check_setup(self) -> None: + """ + Raise an error if setup() has not been called. + """ + if self._dataset_splits is None: + raise AttributeError( + 'The datamodule has not been set up yet. To get the ' + + 'dataloaders outside a Lightning trainer please call ' + + '.setup() first.' + ) + + +def test_datamodule() -> None: + numbers = [8, 1, 1] + positions = np.array( + [[0.0, 0.0, 0.0], [0.07, 0.07, 0.0], [0.07, -0.07, 0.0]], dtype=float + ) + cell = np.identity(3, dtype=float) * 0.2 + graph_labels = np.array([[1]]) + node_labels = np.array([[0], [1], [1]]) + z_table = atomic.AtomicNumberTable.from_zs(numbers) + + config = atomic.Configuration( + atomic_numbers=numbers, + positions=positions, + cell=cell, + pbc=[True] * 3, + node_labels=node_labels, + graph_labels=graph_labels, + ) + dataset = create_dataset_from_configurations( + [config] * 10, z_table, 0.1, show_progress=False + ) + for i, d in enumerate(dataset): + d['graph_labels'][0][0] = i + + loader = GraphDataModule( + dataset, + lengths=(1.0,), + batch_size=10, + shuffle=True, + seed=1 + ) + loader.setup() + assert len(loader._dataset_indices[0]) == 10 + assert len(loader._dataset_indices[1]) == 0 + assert len(loader._dataset_indices[2]) == 0 + + loader = GraphDataModule( + dataset, + batch_size=10, + shuffle=True, + seed=1 + ) + loader.setup() + assert len(loader._dataset_indices[0]) == 8 + assert len(loader._dataset_indices[1]) == 2 + assert len(loader._dataset_indices[2]) == 0 + + loader = GraphDataModule( + dataset, + lengths=(0.6, 0.3, 0.1), + batch_size=10, + shuffle=False, + seed=1 + ) + loader.setup() + assert loader._dataset_indices == [[8, 4, 7, 0, 1, 2], [5, 9, 6], [3]] + + data_dict = next(iter(loader.train_dataloader())).to_dict() + assert data_dict['edge_index'].shape == (2, 36) + assert ( + data_dict['graph_labels'] == torch.tensor( + [[8], [4], [7], [0], [1], [2]] + ) + ).all() + + data_dict = next(iter(loader.val_dataloader())).to_dict() + assert ( + data_dict['edge_index'] == torch.tensor([ + [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8], + [2, 1, 0, 2, 1, 0, 5, 4, 3, 5, 4, 3, 8, 7, 6, 8, 7, 6] + ]) + ).all() + assert ( + data_dict['batch'] == torch.tensor([0, 0, 0, 1, 1, 1, 2, 2, 2]) + ).all() + assert (data_dict['graph_labels'] == torch.tensor([[5], [9], [6]])).all() + assert (data_dict['ptr'] == torch.tensor([0, 3, 6, 9])).all() + + data_dict = next(iter(loader.test_dataloader())).to_dict() + assert (data_dict['graph_labels'] == torch.tensor([[3]])).all() + assert ( + data_dict['edge_index'] == torch.tensor( + [[0, 0, 1, 1, 2, 2], [2, 1, 0, 2, 1, 0]] + ) + ).all() + assert ( + data_dict['shifts'] == torch.tensor([ + [0.0, 0.0, 0.0], + [0.0, 0.0, 0.0], + [0.0, 0.0, 0.0], + [0.0, 0.2, 0.0], + [0.0, -0.2, 0.0], + [0.0, 0.0, 0.0], + ]) + ).all() + assert ( + data_dict['unit_shifts'] == torch.tensor([ + [0.0, 0.0, 0.0], + [0.0, 0.0, 0.0], + [0.0, 0.0, 0.0], + [0.0, 1.0, 0.0], + [0.0, -1.0, 0.0], + [0.0, 0.0, 0.0], + ]) + ).all() + assert ( + data_dict['positions'] == torch.tensor([ + [0.0, 0.0, 0.0], + [0.07, 0.07, 0.0], + [0.07, -0.07, 0.0], + ]) + ).all() + assert ( + data_dict['cell'] == torch.tensor([ + [0.2, 0.0, 0.0], + [0.0, 0.2, 0.0], + [0.0, 0.0, 0.2], + ]) + ).all() + assert ( + data_dict['node_attrs'] == torch.tensor([ + [0.0, 1.0], [1.0, 0.0], [1.0, 0.0] + ]) + ).all() + + config = atomic.Configuration( + atomic_numbers=numbers, + positions=positions, + cell=cell, + pbc=[True] * 3, + node_labels=node_labels, + graph_labels=graph_labels, + system=[0], + environment=[1, 2] + ) + dataset = create_dataset_from_configurations( + [config] * 10, z_table, 0.1, show_progress=False + ) + + loader = GraphDataModule( + dataset, + lengths=(0.6, 0.3, 0.1), + batch_size=10, + shuffle=False, + seed=1 + ) + + loader.setup() + assert loader._dataset_indices == [[8, 4, 7, 0, 1, 2], [5, 9, 6], [3]] + + data_dict = next(iter(loader.val_dataloader())).to_dict() + assert ( + data_dict['edge_index'] == torch.tensor([ + [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8], + [2, 1, 0, 2, 1, 0, 5, 4, 3, 5, 4, 3, 8, 7, 6, 8, 7, 6] + ]) + ).all() + + data_dict = next(iter(loader.test_dataloader())).to_dict() + assert ( + data_dict['edge_index'] == torch.tensor( + [[0, 0, 1, 1, 2, 2], [2, 1, 0, 2, 1, 0]] + ) + ).all() + + +def test_combined_datamodule() -> None: + numbers = [8, 1, 1] + positions = np.array( + [[0.0, 0.0, 0.0], [0.07, 0.07, 0.0], [0.07, -0.07, 0.0]], dtype=float + ) + cell = np.identity(3, dtype=float) * 0.2 + graph_labels = np.array([[1]]) + node_labels = np.array([[0], [1], [1]]) + z_table = atomic.AtomicNumberTable.from_zs(numbers) + + config = atomic.Configuration( + atomic_numbers=numbers, + positions=positions, + cell=cell, + pbc=[True] * 3, + node_labels=node_labels, + graph_labels=graph_labels, + ) + dataset = create_dataset_from_configurations( + [config] * 10, z_table, 0.1, show_progress=False + ) + for i, d in enumerate(dataset): + d['graph_labels'][0][0] = i + + loader = GraphCombinedDataModule( + (dataset, dataset), + lengths=(1.0,), + batch_size=10, + seed=1 + ) + loader.setup() + assert len(loader._dataset_indices[0]) == 10 + assert len(loader._dataset_indices[1]) == 0 + assert len(loader._dataset_indices[2]) == 0 + + loader = GraphCombinedDataModule( + (dataset, dataset), + lengths=(0.8, 0.2), + batch_size=10, + seed=1 + ) + loader.setup() + assert len(loader._dataset_indices[0]) == 8 + assert len(loader._dataset_indices[1]) == 2 + assert len(loader._dataset_indices[2]) == 0 + + loader = GraphCombinedDataModule( + (dataset, dataset), + lengths=(0.6, 0.3, 0.1), + batch_size=10, + seed=1 + ) + loader.setup() + assert loader._dataset_indices == [[8, 4, 7, 0, 1, 2], [5, 9, 6], [3]] + + batch = next(iter(loader.train_dataloader()))[0] + data_dict_1 = batch['dataset_1'].to_dict() + data_dict_2 = batch['dataset_2'].to_dict() + + assert data_dict_1['edge_index'].shape == (2, 36) + assert data_dict_2['edge_index'].shape == (2, 36) + assert ( + data_dict_1['graph_labels'] == torch.tensor( + [[8], [4], [7], [0], [1], [2]] + ) + ).all() + assert ( + data_dict_2['graph_labels'] == torch.tensor( + [[8], [4], [7], [0], [1], [2]] + ) + ).all() + + batch = next(iter(loader.val_dataloader()))[0] + data_dict_1 = batch['dataset_1'].to_dict() + data_dict_2 = batch['dataset_2'].to_dict() + assert ( + data_dict_1['edge_index'] == torch.tensor([ + [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8], + [2, 1, 0, 2, 1, 0, 5, 4, 3, 5, 4, 3, 8, 7, 6, 8, 7, 6] + ]) + ).all() + assert ( + data_dict_2['edge_index'] == torch.tensor([ + [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8], + [2, 1, 0, 2, 1, 0, 5, 4, 3, 5, 4, 3, 8, 7, 6, 8, 7, 6] + ]) + ).all() + assert ( + data_dict_1['batch'] == torch.tensor([0, 0, 0, 1, 1, 1, 2, 2, 2]) + ).all() + assert ( + data_dict_2['batch'] == torch.tensor([0, 0, 0, 1, 1, 1, 2, 2, 2]) + ).all() + assert (data_dict_1['graph_labels'] == torch.tensor([[5], [9], [6]])).all() + assert (data_dict_2['graph_labels'] == torch.tensor([[5], [9], [6]])).all() + assert (data_dict_1['ptr'] == torch.tensor([0, 3, 6, 9])).all() + assert (data_dict_2['ptr'] == torch.tensor([0, 3, 6, 9])).all() + + batch = next(iter(loader.test_dataloader()))[0] + data_dict_1 = batch['dataset_1'].to_dict() + data_dict_2 = batch['dataset_2'].to_dict() + assert (data_dict_1['graph_labels'] == torch.tensor([[3]])).all() + assert (data_dict_2['graph_labels'] == torch.tensor([[3]])).all() + assert ( + data_dict_1['edge_index'] == torch.tensor( + [[0, 0, 1, 1, 2, 2], [2, 1, 0, 2, 1, 0]] + ) + ).all() + assert ( + data_dict_2['edge_index'] == torch.tensor( + [[0, 0, 1, 1, 2, 2], [2, 1, 0, 2, 1, 0]] + ) + ).all() + assert ( + data_dict_1['shifts'] == torch.tensor([ + [0.0, 0.0, 0.0], + [0.0, 0.0, 0.0], + [0.0, 0.0, 0.0], + [0.0, 0.2, 0.0], + [0.0, -0.2, 0.0], + [0.0, 0.0, 0.0], + ]) + ).all() + assert ( + data_dict_2['shifts'] == torch.tensor([ + [0.0, 0.0, 0.0], + [0.0, 0.0, 0.0], + [0.0, 0.0, 0.0], + [0.0, 0.2, 0.0], + [0.0, -0.2, 0.0], + [0.0, 0.0, 0.0], + ]) + ).all() + assert ( + data_dict_1['unit_shifts'] == torch.tensor([ + [0.0, 0.0, 0.0], + [0.0, 0.0, 0.0], + [0.0, 0.0, 0.0], + [0.0, 1.0, 0.0], + [0.0, -1.0, 0.0], + [0.0, 0.0, 0.0], + ]) + ).all() + assert ( + data_dict_2['unit_shifts'] == torch.tensor([ + [0.0, 0.0, 0.0], + [0.0, 0.0, 0.0], + [0.0, 0.0, 0.0], + [0.0, 1.0, 0.0], + [0.0, -1.0, 0.0], + [0.0, 0.0, 0.0], + ]) + ).all() + assert ( + data_dict_1['positions'] == torch.tensor([ + [0.0, 0.0, 0.0], + [0.07, 0.07, 0.0], + [0.07, -0.07, 0.0], + ]) + ).all() + assert ( + data_dict_2['positions'] == torch.tensor([ + [0.0, 0.0, 0.0], + [0.07, 0.07, 0.0], + [0.07, -0.07, 0.0], + ]) + ).all() + assert ( + data_dict_1['cell'] == torch.tensor([ + [0.2, 0.0, 0.0], + [0.0, 0.2, 0.0], + [0.0, 0.0, 0.2], + ]) + ).all() + assert ( + data_dict_2['cell'] == torch.tensor([ + [0.2, 0.0, 0.0], + [0.0, 0.2, 0.0], + [0.0, 0.0, 0.2], + ]) + ).all() + assert ( + data_dict_1['node_attrs'] == torch.tensor([ + [0.0, 1.0], [1.0, 0.0], [1.0, 0.0] + ]) + ).all() + assert ( + data_dict_2['node_attrs'] == torch.tensor([ + [0.0, 1.0], [1.0, 0.0], [1.0, 0.0] + ]) + ).all() + + +if __name__ == '__main__': + test_datamodule() + test_combined_datamodule() diff --git a/mlcolvar/data/graph/dataset.py b/mlcolvar/data/graph/dataset.py new file mode 100644 index 00000000..23b272eb --- /dev/null +++ b/mlcolvar/data/graph/dataset.py @@ -0,0 +1,650 @@ +import torch +import torch_geometric as tg +import numpy as np +from typing import List, Union + +from mlcolvar.data.graph import atomic +from mlcolvar.data.graph.neighborhood import get_neighborhood +# from mlcolvar.data.graph.utils import torch_tools # moved here one hot +from mlcolvar.utils.plot import pbar # moved + +from mlcolvar.data.dataset import DictDataset + +""" +Build the graph data from a configuration. This module is taken from MACE: +https://github.com/ACEsuit/mace/blob/main/mace/data/atomic_data.py +""" + +__all__ = [ + 'GraphDataSet', + 'create_dataset_from_configurations', + 'save_dataset', + 'save_dataset_as_exyz', + 'load_dataset' +] + + +class GraphDataSet(list): + """ + A very simple graph dataset class. + + Parameters + ---------- + data: List[torch_geometric.data.Data] + The data. + atomic_numbers: List[int] + The atomic numbers used to build the node attributes. + cutoff: float + The graph cutoff radius. + """ + + def __init__( + self, + data: List[tg.data.Data], + atomic_numbers: List[int], + cutoff: float + ) -> None: + super().__init__() + self.extend(data) + self.__atomic_numbers = list(atomic_numbers) + self.__cutoff = cutoff + + def __getitem__( + self, + index: Union[int, slice, list, range, np.ndarray] + ) -> Union['GraphDataSet', tg.data.Data]: + """ + Build sub-dataset from the dataset. + + Parameters + ---------- + index : int, slice or list + Indices of the data. + """ + if type(index) in [slice, list, np.ndarray, range]: + if isinstance(index, slice): + index = list(range(len(self)))[index] + data = [super(GraphDataSet, self).__getitem__(i) for i in index] + return GraphDataSet(data, self.atomic_numbers, self.cutoff) + elif np.issubdtype(type(index), np.integer): + return super(GraphDataSet, self).__getitem__(index) + else: + raise RuntimeError( + 'Could only indexing a GraphDataSet by an int, slice or list!' + ) + + def __repr__(self) -> str: + result = 'GRAPHDATASET [ ' + + data_string = '\033[32m{:d}\033[0m\033[36m 󰡷 \033[0m' + result = result + data_string.format(len(self)) + result = result + '| ' + data_string = '[\033[32m{}\033[0m]\033[36m 󰝨 \033[0m' + result = result + data_string.format( + ('{:d} ' * len(self.atomic_numbers)).strip() + ).format(*self.atomic_numbers) + result = result + '| ' + data_string = '\033[32m{:f}\033[0m\033[36m 󰳁 \033[0m' + result = result + data_string.format(self.cutoff) + result = result + ']' + + return result + + @property + def cutoff(self) -> float: + """ + The graph cutoff radius. + """ + return self.__cutoff + + @property + def atomic_numbers(self) -> List[int]: + """ + The atomic numbers used to build the node attributes. + """ + return self.__atomic_numbers.copy() + + +def _create_dataset_from_configuration( + config: atomic.Configuration, + z_table: atomic.AtomicNumberTable, + cutoff: float, + buffer: float = 0.0 +) -> tg.data.Data: + """ + Build the graph data object from a configuration. + + Parameters + ---------- + config: mlcolvar.graph.utils.atomic.Configuration + The configuration. + z_table: mlcolvar.graph.utils.atomic.AtomicNumberTable + The atomic number table used to build the node attributes. + cutoff: float + The graph cutoff radius. + buffer: float + Buffer size used in finding active environment atoms. + """ + + assert config.graph_labels is None or len(config.graph_labels.shape) == 2 + + # NOTE: here we do not take care about the nodes that are not taking part + # the graph, like, we don't even change the node indices in `edge_index`. + # Here we simply ignore them, and rely on the `RemoveIsolatedNodes` method + # that will be called later (in `create_dataset_from_configurations`). + edge_index, shifts, unit_shifts = get_neighborhood( + positions=config.positions, + cutoff=cutoff, + cell=config.cell, + pbc=config.pbc, + system_indices=config.system, + environment_indices=config.environment, + buffer=buffer + ) + edge_index = torch.tensor(edge_index, dtype=torch.long) + shifts = torch.tensor(shifts, dtype=torch.get_default_dtype()) + unit_shifts = torch.tensor( + unit_shifts, dtype=torch.get_default_dtype() + ) + + positions = torch.tensor( + config.positions, dtype=torch.get_default_dtype() + ) + cell = torch.tensor(config.cell, dtype=torch.get_default_dtype()) + + indices = z_table.zs_to_indices(config.atomic_numbers) + one_hot = to_one_hot( + torch.tensor(indices, dtype=torch.long).unsqueeze(-1), + n_classes=len(z_table), + ) + + node_labels = ( + torch.tensor(config.node_labels, dtype=torch.get_default_dtype()) + if config.node_labels is not None + else None + ) + + graph_labels = ( + torch.tensor(config.graph_labels, dtype=torch.get_default_dtype()) + if config.graph_labels is not None + else None + ) + + weight = ( + torch.tensor(config.weight, dtype=torch.get_default_dtype()) + if config.weight is not None + else 1 + ) + + n_system = ( + torch.tensor( + [[len(config.system)]], dtype=torch.get_default_dtype() + ) if config.system is not None + else torch.tensor( + [[one_hot.shape[0]]], dtype=torch.get_default_dtype() + ) + ) + + if config.system is not None: + system_masks = torch.zeros((one_hot.shape[0], 1), dtype=torch.bool) + system_masks[config.system, 0] = 1 + else: + system_masks = None + + return tg.data.Data( + edge_index=edge_index, + shifts=shifts, + unit_shifts=unit_shifts, + positions=positions, + cell=cell, + node_attrs=one_hot, + node_labels=node_labels, + graph_labels=graph_labels, + n_system=n_system, + system_masks=system_masks, + weight=weight, + ) + + +def create_dataset_from_configurations( + config: atomic.Configurations, + z_table: atomic.AtomicNumberTable, + cutoff: float, + buffer: float = 0.0, + remove_isolated_nodes: bool = False, + show_progress: bool = True +) -> GraphDataSet: + """ + Build graph data objects from configurations. + + Parameters + ---------- + config: mlcolvar.graph.utils.atomic.Configurations + The configurations. + z_table: mlcolvar.graph.utils.atomic.AtomicNumberTable + The atomic number table used to build the node attributes. + cutoff: float + The graph cutoff radius. + buffer: float + Buffer size used in finding active environment atoms. + remove_isolated_nodes: bool + If remove isolated nodes from the dataset. + show_progress: bool + If show the progress bar. + """ + if show_progress: + items = pbar(config, frequency=0.0001, prefix='Making graphs') + else: + items = config + + data_list = [ + _create_dataset_from_configuration( + c, z_table, cutoff, buffer + ) for c in items + ] + + if remove_isolated_nodes: + # TODO: not the worst way to fake the `is_node_attr` method of + # `tg.data.storage.GlobalStorage` ... + # I mean, when there are exact three atoms in the graph, the + # `RemoveIsolatedNodes` method will remove the cell vectors that + # correspond to the isolated node ... This is a consequence of that + # pyg regarding the cell vectors as some kind of node features. + # So here we first remove the isolated nodes, then set the cell back. + cell_list = [d.cell.clone() for d in data_list] + transform = tg.transforms.remove_isolated_nodes.RemoveIsolatedNodes() + data_list = [transform(d) for d in data_list] + for i in range(len(data_list)): + data_list[i].cell = cell_list[i] + + # dataset = GraphDataSet(data_list, z_table.zs, cutoff) + dataset = DictDataset(dictionary={'data_list' : data_list}, + metadata={'z_table' : z_table.zs, + 'cutoff' : cutoff}) + + return dataset + + +def save_dataset(dataset: GraphDataSet, file_name: str) -> None: + """ + Save a dataset to disk. + + Parameters + ---------- + dataset: GraphDataSet + The dataset. + file_name: str + The filename. + """ + assert isinstance(dataset, GraphDataSet) + + torch.save(dataset, file_name) # super torch magic go brrrrrrrrr + + +def load_dataset(file_name: str) -> GraphDataSet: + """ + Load a dataset from disk. + + Parameters + ---------- + file_name: str + The filename. + """ + dataset = torch.load(file_name) + + assert isinstance(dataset, GraphDataSet) + + return dataset + + +def save_dataset_as_exyz(dataset: GraphDataSet, file_name: str) -> None: + """ + Save a dataset to disk in the extxyz format. + + Parameters + ---------- + dataset: GraphDataSet + The dataset. + file_name: str + The filename. + """ + z_table = atomic.AtomicNumberTable.from_zs(dataset.atomic_numbers) + + fp = open(file_name, 'w') + + for d in dataset: + print(len(d['positions']), file=fp) + line = ( + 'Lattice="{:s}" '.format((r'{:.5f} ' * 9).strip()) + + 'Properties=species:S:1:pos:R:3 pbc="T T T"' + ) + cell = [c.item() for c in d['cell'].flatten()] + print(line.format(*cell), file=fp) + for i in range(0, len(d['positions'])): + s = z_table.index_to_symbol(np.where(d['node_attrs'][i])[0][0]) + print('{:2s}'.format(s), file=fp, end=' ') + positions = [p.item() for p in d['positions'][i]] + print('{:10.5f} {:10.5f} {:10.5f}'.format(*positions), file=fp) + + fp.close() + +def to_one_hot(indices: torch.Tensor, n_classes: int) -> torch.Tensor: + """ + Generates one-hot encoding with `n_classes` classes from `indices` + + Parameters + ---------- + indices: torch.Tensor (shape: [N, 1]) + Node incices. + n_classes: int + Number of classes. + + Returns + ------- + encoding: torch.tensor (shape: [N, n_classes]) + The one-hot encoding. + """ + shape = indices.shape[:-1] + (n_classes,) + oh = torch.zeros(shape, device=indices.device).view(shape) + + # scatter_ is the in-place version of scatter + oh.scatter_(dim=-1, index=indices, value=1) + + return oh.view(*shape) + + +def test_from_configuration() -> None: + numbers = [8, 1, 1] + positions = np.array( + [[0.0, 0.0, 0.0], [0.07, 0.07, 0.0], [0.07, -0.07, 0.0]], + dtype=float + ) + cell = np.identity(3, dtype=float) * 0.2 + graph_labels = np.array([[1]]) + node_labels = np.array([[0], [1], [1]]) + z_table = atomic.AtomicNumberTable.from_zs(numbers) + + config = atomic.Configuration( + atomic_numbers=numbers, + positions=positions, + cell=cell, + pbc=[True] * 3, + node_labels=node_labels, + graph_labels=graph_labels, + ) + data = _create_dataset_from_configuration(config, z_table, 0.1) + assert ( + data['edge_index'] == torch.tensor( + [[0, 0, 1, 1, 2, 2], [2, 1, 0, 2, 1, 0]] + ) + ).all() + assert ( + data['shifts'] == torch.tensor([ + [0.0, 0.0, 0.0], + [0.0, 0.0, 0.0], + [0.0, 0.0, 0.0], + [0.0, 0.2, 0.0], + [0.0, -0.2, 0.0], + [0.0, 0.0, 0.0], + ]) + ).all() + assert ( + data['unit_shifts'] == torch.tensor([ + [0.0, 0.0, 0.0], + [0.0, 0.0, 0.0], + [0.0, 0.0, 0.0], + [0.0, 1.0, 0.0], + [0.0, -1.0, 0.0], + [0.0, 0.0, 0.0], + ]) + ).all() + assert ( + data['positions'] == torch.tensor([ + [0.0, 0.0, 0.0], + [0.07, 0.07, 0.0], + [0.07, -0.07, 0.0], + ]) + ).all() + assert ( + data['cell'] == torch.tensor([ + [0.2, 0.0, 0.0], + [0.0, 0.2, 0.0], + [0.0, 0.0, 0.2], + ]) + ).all() + assert ( + data['node_attrs'] == torch.tensor([ + [0.0, 1.0], [1.0, 0.0], [1.0, 0.0] + ]) + ).all() + assert (data['node_labels'] == torch.tensor([[0.0], [1.0], [1.0]])).all() + assert (data['graph_labels'] == torch.tensor([[1.0]])).all() + assert data['weight'] == 1.0 + + config = atomic.Configuration( + atomic_numbers=numbers, + positions=positions, + cell=cell, + pbc=[True] * 3, + node_labels=node_labels, + graph_labels=graph_labels, + system=[1], + environment=[2] + ) + data = _create_dataset_from_configuration(config, z_table, 0.1) + assert ( + data['edge_index'] == torch.tensor([[1, 2], [2, 1]]) + ).all() + assert ( + data['shifts'] == torch.tensor([[0.0, 0.2, 0.0], [0.0, -0.2, 0.0]]) + ).all() + assert ( + data['unit_shifts'] == torch.tensor( + [[0.0, 1.0, 0.0], [0.0, -1.0, 0.0]] + ) + ).all() + + config = atomic.Configuration( + atomic_numbers=numbers, + positions=positions, + cell=cell, + pbc=[True] * 3, + node_labels=node_labels, + graph_labels=graph_labels, + system=[0], + environment=[1, 2] + ) + data = _create_dataset_from_configuration(config, z_table, 0.1) + assert ( + data['edge_index'] == torch.tensor( + [[0, 0, 1, 1, 2, 2], [2, 1, 0, 2, 1, 0]] + ) + ).all() + + positions = np.array( + [[0.0, 0.0, 0.0], [0.07, 0.07, 0.0], [0.07, -0.08, 0.0]], + dtype=float + ) + config = atomic.Configuration( + atomic_numbers=numbers, + positions=positions, + cell=cell, + pbc=[True] * 3, + node_labels=node_labels, + graph_labels=graph_labels, + system=[0], + environment=[1, 2] + ) + data = _create_dataset_from_configuration(config, z_table, 0.1) + assert ( + data['edge_index'] == torch.tensor([[0, 1], [1, 0]]) + ).all() + data = _create_dataset_from_configuration(config, z_table, 0.11) + assert ( + data['edge_index'] == torch.tensor( + [[0, 0, 1, 1, 2, 2], [2, 1, 0, 2, 1, 0]] + ) + ).all() + data = _create_dataset_from_configuration(config, z_table, 0.1, 0.01) + assert ( + data['edge_index'] == torch.tensor( + [[0, 1, 1, 2], [1, 0, 2, 1]] + ) + ).all() + assert ( + data['shifts'] == torch.tensor([ + [0.0, 0.0, 0.0], + [0.0, 0.0, 0.0], + [0.0, 0.2, 0.0], + [0.0, -0.2, 0.0] + ]) + ).all() + assert ( + data['unit_shifts'] == torch.tensor([ + [0.0, 0.0, 0.0], + [0.0, 0.0, 0.0], + [0.0, 1.0, 0.0], + [0.0, -1.0, 0.0] + ]) + ).all() + + config = [atomic.Configuration( + atomic_numbers=numbers, + positions=positions, + cell=cell, + pbc=[True] * 3, + node_labels=node_labels, + graph_labels=np.array([[i]]), + ) for i in range(0, 10)] + dataset = create_dataset_from_configurations( + config, z_table, 0.1, show_progress=False + ) + + dataset_1 = dataset[range(0, 5, 2)] + assert dataset_1.atomic_numbers == [1, 8] + assert (dataset_1[0]['graph_labels'] == torch.tensor([[0.0]])).all() + assert (dataset_1[1]['graph_labels'] == torch.tensor([[2.0]])).all() + assert (dataset_1[2]['graph_labels'] == torch.tensor([[4.0]])).all() + + dataset_1 = dataset[np.array([0, -1])] + assert dataset_1.atomic_numbers == [1, 8] + assert (dataset_1[0]['graph_labels'] == torch.tensor([[0.0]])).all() + assert (dataset_1[1]['graph_labels'] == torch.tensor([[9.0]])).all() + + +def test_from_configurations() -> None: + numbers = [8, 1, 1] + positions = np.array( + [[0.0, 0.0, 0.0], [0.07, 0.07, 0.0], [0.07, -0.07, 0.0]], + dtype=float + ) + cell = np.identity(3, dtype=float) * 0.2 + graph_labels = np.array([[1]]) + node_labels = np.array([[0], [1], [1]]) + z_table = atomic.AtomicNumberTable.from_zs(numbers) + + config = atomic.Configuration( + atomic_numbers=numbers, + positions=positions, + cell=cell, + pbc=[True] * 3, + node_labels=node_labels, + graph_labels=graph_labels, + ) + data = create_dataset_from_configurations( + [config], z_table, 0.1, remove_isolated_nodes=True, show_progress=False + )[0] + assert ( + data['edge_index'] == torch.tensor( + [[0, 0, 1, 1, 2, 2], [2, 1, 0, 2, 1, 0]] + ) + ).all() + assert ( + data['shifts'] == torch.tensor([ + [0.0, 0.0, 0.0], + [0.0, 0.0, 0.0], + [0.0, 0.0, 0.0], + [0.0, 0.2, 0.0], + [0.0, -0.2, 0.0], + [0.0, 0.0, 0.0], + ]) + ).all() + assert ( + data['unit_shifts'] == torch.tensor([ + [0.0, 0.0, 0.0], + [0.0, 0.0, 0.0], + [0.0, 0.0, 0.0], + [0.0, 1.0, 0.0], + [0.0, -1.0, 0.0], + [0.0, 0.0, 0.0], + ]) + ).all() + assert ( + data['positions'] == torch.tensor([ + [0.0, 0.0, 0.0], + [0.07, 0.07, 0.0], + [0.07, -0.07, 0.0], + ]) + ).all() + assert ( + data['cell'] == torch.tensor([ + [0.2, 0.0, 0.0], + [0.0, 0.2, 0.0], + [0.0, 0.0, 0.2], + ]) + ).all() + assert ( + data['node_attrs'] == torch.tensor([ + [0.0, 1.0], [1.0, 0.0], [1.0, 0.0] + ]) + ).all() + assert (data['node_labels'] == torch.tensor([[0.0], [1.0], [1.0]])).all() + assert (data['graph_labels'] == torch.tensor([[1.0]])).all() + assert data['weight'] == 1.0 + + config = atomic.Configuration( + atomic_numbers=numbers, + positions=positions, + cell=cell, + pbc=[True] * 3, + node_labels=node_labels, + graph_labels=graph_labels, + system=[1], + environment=[2] + ) + data = create_dataset_from_configurations( + [config], z_table, 0.1, remove_isolated_nodes=True, show_progress=False + )[0] + assert ( + data['positions'] == torch.tensor([ + [0.07, 0.07, 0.0], [0.07, -0.07, 0.0], + ]) + ).all() + assert ( + data['cell'] == torch.tensor([ + [0.2, 0.0, 0.0], + [0.0, 0.2, 0.0], + [0.0, 0.0, 0.2], + ]) + ).all() + assert ( + data['node_attrs'] == torch.tensor([ + [1.0, 0.0], [1.0, 0.0] + ]) + ).all() + assert ( + data['edge_index'] == torch.tensor([[0, 1], [1, 0]]) + ).all() + assert ( + data['shifts'] == torch.tensor([[0.0, 0.2, 0.0], [0.0, -0.2, 0.0]]) + ).all() + assert ( + data['unit_shifts'] == torch.tensor( + [[0.0, 1.0, 0.0], [0.0, -1.0, 0.0]] + ) + ).all() + + +if __name__ == '__main__': + test_from_configuration() + test_from_configurations() diff --git a/mlcolvar/data/graph/neighborhood.py b/mlcolvar/data/graph/neighborhood.py new file mode 100644 index 00000000..077b88df --- /dev/null +++ b/mlcolvar/data/graph/neighborhood.py @@ -0,0 +1,251 @@ +import numpy as np +from matscipy.neighbours import neighbour_list +from typing import Optional, Tuple, List + +""" +The neighbor list function. This module is taken from MACE directly: +https://github.com/ACEsuit/mace/blob/main/mace/data/neighborhood.py +""" + +__all__ = ['get_neighborhood'] + + +def get_neighborhood( + positions: np.ndarray, # [num_positions, 3] + cutoff: float, + pbc: Optional[Tuple[bool, bool, bool]] = None, + cell: Optional[np.ndarray] = None, # [3, 3] + true_self_interaction: Optional[bool] = False, + system_indices: Optional[List[int]] = None, + environment_indices: Optional[List[int]] = None, + buffer: float = 0.0 +) -> Tuple[np.ndarray, np.ndarray, np.ndarray]: + """ + Get the neighbor list of a given set atoms. + + Parameters + ---------- + positions: numpy.ndarray (shape: [N, 3]) + The positions array. + cutoff: float + The cutoff radius. + pbc: Tuple[bool, bool, bool] (shape: [3]) + If enable PBC in the directions of the three lattice vectors. + cell: numpy.ndarray (shape: [3, 3]) + The lattice vectors. + true_self_interaction: bool + If keep self-edges that don't cross periodic boundaries. + system_indices: List[int] + Indices of the system atoms. + environment_indices: List[int] + Indices of the environment atoms. + buffer: float + Buffer size used in finding active environment atoms. + + Returns + ------- + edge_index: numpy.ndarray (shape: [2, n_edges]) + The edge indices in the graph. + shifts: numpy.ndarray (shape: [n_edges, 3]) + The shift vectors (unit_shifts * cell_lengths). + unit_shifts: numpy.ndarray (shape: [n_edges, 3]) + The unit shift vectors (number of PBC croessed by the edges). + + Notes + ----- + Arguments `system_indices` and `environment_indices` must presnet at the + same time. When these arguments are given, only edges in the [subsystem] + formed by [the systems atoms] and [the environment atoms within the cutoff + radius of the systems atoms] will be kept. + Besides, these two lists could not contain common atoms. + """ + + if system_indices is not None or environment_indices is not None: + assert system_indices is not None and environment_indices is not None + + system_indices = np.array(system_indices) + environment_indices = np.array(environment_indices) + assert np.intersect1d(system_indices, environment_indices).size == 0 + else: + assert buffer == 0.0 + + if pbc is None: + pbc = (False, False, False) + + if cell is None or cell.any() == np.zeros((3, 3)).any(): + cell = np.identity(3, dtype=float) + + assert len(pbc) == 3 and all(isinstance(i, (bool, np.bool_)) for i in pbc) + assert cell.shape == (3, 3) + + pbc_x = pbc[0] + pbc_y = pbc[1] + pbc_z = pbc[2] + identity = np.identity(3, dtype=float) + max_positions = np.max(np.absolute(positions)) + 1 + # Extend cell in non-periodic directions + # For models with more than 5 layers, the multiplicative constant needs to + # be increased. + if not pbc_x: + cell[:, 0] = max_positions * 5 * cutoff * identity[:, 0] + if not pbc_y: + cell[:, 1] = max_positions * 5 * cutoff * identity[:, 1] + if not pbc_z: + cell[:, 2] = max_positions * 5 * cutoff * identity[:, 2] + + sender, receiver, unit_shifts, distances = neighbour_list( + quantities='ijSd', + pbc=pbc, + cell=cell, + positions=positions, + cutoff=float(cutoff + buffer), + # self_interaction=True, # we want edges from atom to itself in different periodic images + # use_scaled_positions=False, # positions are not scaled positions + ) + + if not true_self_interaction: + # Eliminate self-edges that don't cross periodic boundaries + true_self_edge = sender == receiver + true_self_edge &= np.all(unit_shifts == 0, axis=1) + keep_edge = ~true_self_edge + + # NOTE: after eliminating self-edges, it can be that no edges remain + # in this system + sender = sender[keep_edge] + receiver = receiver[keep_edge] + unit_shifts = unit_shifts[keep_edge] + distances = distances[keep_edge] + + if system_indices is not None: + # Get environment atoms that are neighbors of the system. + keep_edge = np.where(np.in1d(receiver, system_indices))[0] + keep_sender = np.intersect1d(sender[keep_edge], environment_indices) + keep_atom = np.concatenate((system_indices, np.unique(keep_sender))) + # Get the edges in the subsystem. + keep_sender = np.where(np.in1d(sender, keep_atom))[0] + keep_receiver = np.where(np.in1d(receiver, keep_atom))[0] + keep_edge = np.intersect1d(keep_sender, keep_receiver) + keep_edge_distance = np.where(distances <= cutoff)[0] + keep_edge = np.intersect1d(keep_edge, keep_edge_distance) + # Get the edges + sender = sender[keep_edge] + receiver = receiver[keep_edge] + unit_shifts = unit_shifts[keep_edge] + + # Build output + edge_index = np.stack((sender, receiver)) # [2, n_edges] + + # From the docs: With the shift vector S, the distances D between atoms + # can be computed from: D = positions[j]-positions[i]+S.dot(cell) + shifts = np.dot(unit_shifts, cell) # [n_edges, 3] + + return edge_index, shifts, unit_shifts + + +def test_get_neighborhood() -> None: + + positions = np.array( + [[0, 0, 0], [1, 1, 1], [2, 2, 2], [3, 3, 3]], dtype=float + ) + cell = np.array([[4, 0, 0], [0, 4, 0], [0, 0, 4]], dtype=float) + + n, s, u = get_neighborhood(positions, cutoff=5.0) + assert ( + n == np.array( + [[0, 0, 1, 1, 1, 2, 2, 2, 3, 3], [1, 2, 0, 2, 3, 0, 1, 3, 1, 2]], + dtype=int + ) + ).all() + + n, s, u = get_neighborhood(positions, cutoff=2.0) + assert ( + n == np.array([[0, 1, 1, 2, 2, 3], [1, 0, 2, 1, 3, 2]], dtype=int) + ).all() + + n, s, u = get_neighborhood( + positions, cutoff=2.0, pbc=[True] * 3, cell=cell + ) + assert ( + n == np.array( + [[0, 0, 1, 1, 2, 2, 3, 3], [3, 1, 0, 2, 1, 3, 2, 0]], dtype=int + ) + ).all() + assert ( + s == np.array( + [ + [-4.0, -4.0, -4.0], + [0.0, 0.0, 0.0], + [0.0, 0.0, 0.0], + [0.0, 0.0, 0.0], + [0.0, 0.0, 0.0], + [0.0, 0.0, 0.0], + [0.0, 0.0, 0.0], + [4.0, 4.0, 4.0] + ], + dtype=float + ) + ).all() + assert ( + u == np.array( + [ + [-1, -1, -1], + [0, 0, 0], + [0, 0, 0], + [0, 0, 0], + [0, 0, 0], + [0, 0, 0], + [0, 0, 0], + [1, 1, 1] + ], + dtype=int + ) + ).all() + + n, s, u = get_neighborhood( + positions, + cutoff=2.0, + pbc=[True] * 3, + cell=cell, + system_indices=[0, 1], + environment_indices=[2, 3] + ) + assert ( + n == np.array( + [[0, 0, 1, 1, 2, 2, 3, 3], [3, 1, 0, 2, 1, 3, 2, 0]], dtype=int + ) + ).all() + + n, s, u = get_neighborhood( + positions, + cutoff=2.0, + pbc=[True] * 3, + cell=cell, + system_indices=[0], + environment_indices=[1, 2, 3] + ) + assert ( + n == np.array( + [[0, 0, 1, 3], [3, 1, 0, 0]], dtype=int + ) + ).all() + assert ( + s == np.array( + [ + [-4.0, -4.0, -4.0], + [0.0, 0.0, 0.0], + [0.0, 0.0, 0.0], + [4.0, 4.0, 4.0] + ], + dtype=float + ) + ).all() + assert ( + u == np.array( + [[-1, -1, -1], [0, 0, 0], [0, 0, 0], [1, 1, 1]], + dtype=int + ) + ).all() + + +if __name__ == "__main__": + test_get_neighborhood() diff --git a/mlcolvar/utils/io.py b/mlcolvar/utils/io.py index 7bbc96db..226a6eb8 100644 --- a/mlcolvar/utils/io.py +++ b/mlcolvar/utils/io.py @@ -10,7 +10,10 @@ import torch import os import urllib.request -from typing import Union +from typing import Union, List, Tuple +import mdtraj + +from mlcolvar.data import graph as gdata from mlcolvar.data import DictDataset @@ -258,6 +261,294 @@ def create_dataset_from_files( else: return dataset +def create_dataset_from_trajectories( + trajectories: Union[List[List[str]], List[str], str], + top: Union[List[List[str]], List[str], str], + cutoff: float, + buffer: float = 0.0, + z_table: gdata.atomic.AtomicNumberTable = None, + folder: str = None, + create_labels: bool = True, + system_selection: str = None, + environment_selection: str = None, + return_trajectories: bool = False, + remove_isolated_nodes: bool = True, + show_progress: bool = True +) -> Union[ + DictDataset, + Tuple[ + DictDataset, + Union[List[List[mdtraj.Trajectory]], List[mdtraj.Trajectory]] + ] +]: + """ + Create a dataset from a set of trajectory files. + + Parameters + ---------- + trajectories: Union[List[List[str]], List[str], str] + Names of trajectories files. + top: Union[List[List[str]], List[str], str] + Names of topology files. + cutoff: float (units: Ang) + The graph cutoff radius. + buffer: float + Buffer size used in finding active environment atoms. + z_table: mlcolvar.graph.data.atomic.AtomicNumberTable + The atomic number table used to build the node attributes. If not + given, it will be created from the given trajectories. + folder: str + Common path for the files to be imported. If set, filenames become + `folder/file_name`. + create_labels: bool + Assign a label to each file according to the total number of files. + If False, labels of all files will be `-1`. + system_selection: str + MDTraj style atom selections [1] of the system atoms. If given, only + selected atoms will be loaded from the trajectories. This option may + increase the speed of building graphs. + environment_selection: str + MDTraj style atom selections [1] of the environment atoms. If given, + only the system atoms and [the environment atoms within the cutoff + radius of the system atoms] will be kept in the graph. + return_trajectories: bool + If also return the loaded trajectory objects. + remove_isolated_nodes: bool + If remove isolated nodes from the dataset. + show_progress: bool + If show the progress bar. + + Returns + ------- + dataset: mlcolvar.graph.data.GraphDataSet + The graph dataset. + trajectories: Union[List[List[mdtraj.Trajectory]], List[mdtraj.Trajectory]] + The loaded trajectory objects. + + Notes + ----- + The login behind this method is like the follows: + 1. If only `system_selection` is given, the method will only load atoms + selected by this selection, from the trajectories. + 2. If both `system_selection` and `environment_selection` are given, + the method will load the atoms select by both selections, but will + build graphs using [the system atoms] and [the environment atoms within + the cutoff radius of the system atoms]. + + References + ---------- + .. [1] https://www.mdtraj.org/1.9.8.dev0/atom_selection.html + """ + + if environment_selection is not None: + assert system_selection is not None, ( + 'the `environment_selection` argument requires the' + + '`system_selection` argument to be defined!' + ) + selection = '({:s}) or ({:s})'.format( + system_selection, environment_selection + ) + elif system_selection is not None: + selection = system_selection + else: + selection = None + + if environment_selection is None: + assert buffer == 0, ( + 'Not `environment_selection` given! Cannot define buffer size!' + ) + + # fmt: off + assert type(trajectories) is type(top), ( + 'The `trajectories` and `top` parameters should have the same type!' + ) + if isinstance(trajectories, str): + trajectories = [trajectories] + top = [top] + assert len(trajectories) == len(top), ( + 'Numbers of trajectories and topology files should be the same!' + ) + # fmt: on + + for i in range(len(trajectories)): + assert type(trajectories[i]) is type(top[i]), ( + 'Each element of `trajectories` and `top` parameters ' + + 'should have the same type!' + ) + if isinstance(trajectories[i], list): + assert len(trajectories[i]) == len(top[i]), ( + 'Numbers of trajectories and topology files should be ' + + 'the same!' + ) + for j in range(len(trajectories[i])): + if folder is not None: + trajectories[i][j] = folder + '/' + trajectories[i][j] + top[i][j] = folder + '/' + top[i][j] + assert isinstance(trajectories[i][j], str) + assert isinstance(top[i][j], str) + else: + if folder is not None: + trajectories[i] = folder + '/' + trajectories[i] + top[i] = folder + '/' + top[i] + assert isinstance(trajectories[i], str) + assert isinstance(top[i], str) + + topologies = [] + trajectories_in_memory = [] + + for i in range(len(trajectories)): + if isinstance(trajectories[i], list): + traj = [ + mdtraj.load(trajectories[i][j], top=top[i][j]) + for j in range(len(trajectories[i])) + ] + for t in traj: + t.top = mdtraj.core.trajectory.load_topology(top[i][j]) + if selection is not None: + for j in range(len(traj)): + subset = traj[j].top.select(selection) + assert len(subset) > 0, ( + 'No atoms will be selected with selection string ' + + '"{:s}"!'.format(selection) + ) + traj[j] = traj[j].atom_slice(subset) + trajectories_in_memory.append(traj) + topologies.extend([t.top for t in traj]) + else: + traj = mdtraj.load(trajectories[i], top=top[i]) + traj.top = mdtraj.core.trajectory.load_topology(top[i]) + if selection is not None: + subset = traj.top.select(selection) + assert len(subset) > 0, ( + 'No atoms will be selected with selection string ' + + '"{:s}"!'.format(selection) + ) + traj = traj.atom_slice(subset) + trajectories_in_memory.append(traj) + topologies.append(traj.top) + + if z_table is None: + z_table = _z_table_from_top(topologies) + + configurations = [] + for i in range(len(trajectories_in_memory)): + if isinstance(trajectories_in_memory[i], list): + for j in range(len(trajectories_in_memory[i])): + configuration = _configures_from_trajectory( + trajectories_in_memory[i][j], + i if create_labels else -1, # NOTE: all these configurations have a label `i` + system_selection, + environment_selection, + ) + configurations.extend(configuration) + else: + configuration = _configures_from_trajectory( + trajectories_in_memory[i], + i if create_labels else -1, + system_selection, + environment_selection, + ) + configurations.extend(configuration) + + dataset = gdata.dataset.create_dataset_from_configurations( + configurations, + z_table, + cutoff, + buffer, + remove_isolated_nodes, + show_progress + ) + + if return_trajectories: + return dataset, trajectories_in_memory + else: + return dataset + + +def _z_table_from_top( + top: List[mdtraj.Topology] +) -> gdata.atomic.AtomicNumberTable: + """ + Create an atomic number table from the topologies. + + Parameters + ---------- + top: List[mdtraj.Topology] + The topology objects. + """ + atomic_numbers = [] + for t in top: + atomic_numbers.extend([a.element.number for a in t.atoms]) + # atomic_numbers = np.array(atomic_numbers, dtype=int) + z_table = gdata.atomic.AtomicNumberTable.from_zs(atomic_numbers) + return z_table + + +def _configures_from_trajectory( + trajectory: mdtraj.Trajectory, + label: int = None, + system_selection: str = None, + environment_selection: str = None, +) -> gdata.atomic.Configurations: + """ + Create configurations from one trajectory. + + Parameters + ---------- + trajectory: mdtraj.Trajectory + The MDTraj Trajectory object. + label: int + The graph label. + system_selection: str + MDTraj style atom selections of the system atoms. If given, only + selected atoms will be loaded from the trajectories. This option may + increase the speed of building graphs. + environment_selection: str + MDTraj style atom selections of the environment atoms. If given, + only the system atoms and [the environment atoms within the cutoff + radius of the system atoms] will be kept in the graph. + """ + if label is not None: + label = np.array([[label]]) + + if system_selection is not None and environment_selection is not None: + system_atoms = trajectory.top.select(system_selection) + assert len(system_atoms) > 0, ( + 'No atoms will be selected with `system_selection`: ' + + '"{:s}"!'.format(system_selection) + ) + environment_atoms = trajectory.top.select(environment_selection) + assert len(environment_atoms) > 0, ( + 'No atoms will be selected with `environment_selection`: ' + + '"{:s}"!'.format(environment_selection) + ) + else: + system_atoms = None + environment_atoms = None + + atomic_numbers = [a.element.number for a in trajectory.top.atoms] + if trajectory.unitcell_vectors is not None: + pbc = [True] * 3 + cell = trajectory.unitcell_vectors + else: + pbc = [False] * 3 + cell = [None] * len(trajectory) + + configurations = [] + for i in range(len(trajectory)): + configuration = gdata.atomic.Configuration( + atomic_numbers=atomic_numbers, + positions=trajectory.xyz[i] * 10, + cell=cell[i] * 10, + pbc=pbc, + graph_labels=label, + node_labels=None, # TODO: Add supports for per-node labels. + system=system_atoms, + environment=environment_atoms + ) + configurations.append(configuration) + + return configurations def test_datasetFromFile(): # Test with unlabeled dataset diff --git a/mlcolvar/utils/plot.py b/mlcolvar/utils/plot.py index 62f1a3ee..e0a31a46 100644 --- a/mlcolvar/utils/plot.py +++ b/mlcolvar/utils/plot.py @@ -328,6 +328,73 @@ def plot_features_distribution(dataset, features, titles=None, axs=None): ax.set_yticks([]) ax.legend([],[],title=feat,loc='upper center',frameon=False) +import sys +import time +import typing + +""" +A simple progress bar. +""" + +__all__ = ['pbar'] + + +def pbar( + item: typing.List[int], + prefix: str = '', + size: int = 25, + frequency: int = 0.05, + use_unicode: bool = True, + file: typing.TextIO = sys.stdout +): + """ + A simple progress bar. Taken from stackoverflow: + https://stackoverflow.com/questions/3160699 + + Parameters + ---------- + it : List[int] + The looped item. + prefix : str + Prefix of the bar. + size : int + Size of the bar. + frequency : float + Flush frequency of the bar. + use_unicode : bool + If use unicode char to draw the bar. + file : TextIO + The output file. + """ + if (use_unicode): + c_1 = '' + c_2 = '█' + c_3 = '━' + c_4 = '' + else: + c_1 = '|' + c_2 = '|' + c_3 = '-' + c_4 = '|' + count = len(item) + start = time.time() + interval = max(int(count * frequency), 1) + + def show(j) -> None: + x = int(size * j / count) + remaining = ((time.time() - start) / j) * (count - j) + mins, sec = divmod(remaining, 60) + time_string = f'{int(mins):02}:{sec:02.1f}' + output = f' {prefix} {c_1}{c_2 * (x - 1) + c_4}{c_3 * (size - x)} ' + \ + f'{j}/{count} Est. {time_string}' + print('\x1b[1A\x1b[2K' + output, file=file, flush=True) + + for i, it in enumerate(item): + yield it + if ((i % interval) == 0 or i in [0, (count - 1)]): + show(i + 1) + print(flush=True, file=file) + def test_utils_plot(): import matplotlib diff --git a/test_graphs/data/colvar_p.dat b/test_graphs/data/colvar_p.dat new file mode 100644 index 00000000..82958267 --- /dev/null +++ b/test_graphs/data/colvar_p.dat @@ -0,0 +1,801 @@ +#! FIELDS time d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 + 0.000000 0.144166 0.158332 0.150825 0.156693 0.271990 0.234740 0.196624 0.256774 0.252607 0.150774 0.130759 0.257428 0.263725 0.296668 0.264844 0.253644 0.330454 0.370866 0.398193 0.273651 0.228494 + 1.000000 0.144203 0.158319 0.155171 0.154648 0.263317 0.232135 0.202110 0.259722 0.246088 0.149628 0.132295 0.263939 0.260941 0.282075 0.258501 0.256340 0.322725 0.374091 0.390807 0.263444 0.239569 + 2.000000 0.149048 0.158168 0.156388 0.151904 0.271179 0.239394 0.203837 0.257777 0.258389 0.148978 0.131321 0.259089 0.254571 0.300954 0.260812 0.259388 0.316812 0.376955 0.400131 0.288520 0.231931 + 3.000000 0.147208 0.158269 0.147919 0.151086 0.266588 0.227502 0.221191 0.247205 0.256435 0.145593 0.123386 0.248472 0.257658 0.315898 0.278548 0.243907 0.307105 0.355252 0.393338 0.278598 0.226702 + 4.000000 0.139202 0.153168 0.152465 0.151774 0.258619 0.232529 0.215839 0.245413 0.236422 0.146567 0.128627 0.259705 0.236212 0.311875 0.290610 0.260543 0.304444 0.358531 0.379228 0.256224 0.225452 + 5.000000 0.146237 0.153449 0.153154 0.154836 0.262573 0.233968 0.220517 0.254654 0.253621 0.145923 0.127222 0.253513 0.263234 0.300153 0.291087 0.240553 0.317491 0.365071 0.392517 0.279381 0.228827 + 6.000000 0.153159 0.155992 0.152124 0.153213 0.274135 0.235782 0.215260 0.254651 0.259108 0.148196 0.130934 0.253329 0.244917 0.305525 0.277147 0.263783 0.316844 0.367130 0.402735 0.271420 0.237785 + 7.000000 0.148405 0.160669 0.153913 0.151708 0.262797 0.233885 0.216810 0.242789 0.254515 0.148292 0.130419 0.257338 0.261755 0.321008 0.286346 0.261567 0.278937 0.358281 0.385301 0.272724 0.240346 + 8.000000 0.146654 0.160293 0.154484 0.154497 0.267205 0.235004 0.241730 0.256096 0.256771 0.147052 0.130231 0.252966 0.248134 0.350813 0.299078 0.248897 0.314780 0.371861 0.392439 0.285134 0.231435 + 9.000000 0.146734 0.154318 0.154670 0.154068 0.260893 0.229514 0.208329 0.251738 0.247899 0.140758 0.126900 0.258808 0.261845 0.308588 0.248907 0.256998 0.302269 0.365543 0.377083 0.274452 0.226395 + 10.000000 0.145536 0.160952 0.149255 0.157677 0.258352 0.238349 0.212500 0.253020 0.254452 0.144189 0.131148 0.249548 0.260490 0.305811 0.272181 0.260063 0.302795 0.372054 0.388887 0.282435 0.232178 + 11.000000 0.146281 0.154088 0.149306 0.161010 0.259810 0.240066 0.221763 0.250178 0.257665 0.142284 0.133513 0.261001 0.248656 0.317028 0.282587 0.251970 0.307051 0.368770 0.392827 0.284060 0.230247 + 12.000000 0.141966 0.160514 0.153784 0.153687 0.261673 0.228664 0.229081 0.253146 0.245814 0.144564 0.131487 0.243105 0.259475 0.329037 0.287407 0.257679 0.312376 0.368727 0.381981 0.264998 0.232460 + 13.000000 0.143246 0.155711 0.149741 0.152697 0.267337 0.225655 0.216772 0.248538 0.250006 0.142892 0.128643 0.253313 0.246746 0.323237 0.262963 0.251197 0.319691 0.360385 0.387731 0.267876 0.222004 + 14.000000 0.142847 0.155993 0.156213 0.152390 0.253929 0.238850 0.214497 0.249545 0.252124 0.145237 0.131151 0.251182 0.262293 0.315305 0.288251 0.252642 0.285688 0.371065 0.377212 0.289472 0.231889 + 15.000000 0.143028 0.155878 0.153846 0.154603 0.258545 0.226221 0.230118 0.246433 0.245770 0.139369 0.126470 0.256051 0.248024 0.328204 0.290185 0.259044 0.301955 0.356827 0.378977 0.258755 0.222315 + 16.000000 0.145952 0.154487 0.150410 0.149536 0.272628 0.232890 0.233781 0.240062 0.248607 0.149918 0.131255 0.244814 0.252518 0.327828 0.306331 0.248821 0.308766 0.355174 0.394225 0.269253 0.232130 + 17.000000 0.141960 0.153999 0.151585 0.157053 0.253196 0.235758 0.231444 0.246670 0.243111 0.146936 0.132179 0.252213 0.245125 0.306368 0.301180 0.259824 0.300485 0.364542 0.384325 0.263385 0.237543 + 18.000000 0.147504 0.158870 0.150696 0.150642 0.269137 0.237643 0.227075 0.246795 0.250250 0.144956 0.130304 0.258390 0.254093 0.320694 0.306055 0.248524 0.313049 0.358331 0.390528 0.272547 0.223539 + 19.000000 0.138221 0.155380 0.159258 0.152213 0.258450 0.218324 0.219345 0.246047 0.245906 0.147130 0.129109 0.256158 0.248403 0.299322 0.288374 0.262388 0.305314 0.353627 0.389008 0.250025 0.239671 + 20.000000 0.146559 0.154653 0.153216 0.157257 0.261312 0.228925 0.235909 0.251595 0.262518 0.144916 0.127562 0.245914 0.251792 0.311521 0.298996 0.247245 0.312973 0.361406 0.400508 0.282633 0.231868 + 21.000000 0.148434 0.148472 0.152432 0.153455 0.271487 0.237983 0.211767 0.244901 0.250337 0.150849 0.126726 0.257821 0.249909 0.303232 0.288502 0.255261 0.308790 0.355585 0.396411 0.273153 0.228086 + 22.000000 0.143661 0.159100 0.158279 0.146136 0.261783 0.236857 0.218746 0.263348 0.238487 0.145812 0.130374 0.257186 0.245966 0.309533 0.280363 0.255062 0.323919 0.380950 0.379054 0.267811 0.226794 + 23.000000 0.138460 0.160679 0.147345 0.154317 0.259776 0.227763 0.206742 0.235667 0.250380 0.145278 0.130172 0.251576 0.274489 0.303958 0.270845 0.245521 0.292918 0.353408 0.384454 0.278344 0.227791 + 24.000000 0.137821 0.155131 0.150827 0.156966 0.253945 0.226133 0.224813 0.247106 0.256482 0.149058 0.125949 0.251378 0.239928 0.331542 0.272338 0.245050 0.294520 0.361650 0.390645 0.289946 0.235152 + 25.000000 0.137689 0.160865 0.157142 0.154317 0.259619 0.223373 0.236193 0.250740 0.242508 0.146555 0.126473 0.258504 0.240577 0.352125 0.296947 0.260907 0.307684 0.361241 0.378730 0.256231 0.225377 + 26.000000 0.144526 0.161424 0.154557 0.157337 0.270973 0.229903 0.233194 0.253620 0.245590 0.146736 0.130902 0.258844 0.262110 0.342230 0.296682 0.258014 0.324169 0.365063 0.385301 0.256009 0.227140 + 27.000000 0.147595 0.157006 0.153208 0.152932 0.265375 0.240142 0.219550 0.249913 0.253365 0.149445 0.130328 0.258520 0.256993 0.315678 0.275236 0.252687 0.300396 0.370637 0.391971 0.290403 0.233533 + 28.000000 0.143230 0.158831 0.156833 0.153943 0.263470 0.229165 0.215848 0.250209 0.253951 0.147130 0.129300 0.258719 0.255170 0.325308 0.257941 0.260075 0.301512 0.367561 0.388473 0.282917 0.233673 + 29.000000 0.144987 0.159335 0.159482 0.157264 0.264465 0.225554 0.237878 0.263275 0.238694 0.142495 0.127792 0.252101 0.268929 0.338114 0.294196 0.259231 0.327582 0.370790 0.373050 0.247653 0.227779 + 30.000000 0.148636 0.160290 0.154680 0.145432 0.274837 0.232313 0.218572 0.256340 0.245519 0.148150 0.129273 0.260669 0.246095 0.311689 0.277841 0.254751 0.329266 0.368049 0.391126 0.261988 0.228085 + 31.000000 0.142690 0.163862 0.151375 0.153445 0.259846 0.239770 0.201272 0.251476 0.253058 0.143076 0.129497 0.259619 0.264698 0.278750 0.283311 0.253405 0.312904 0.368394 0.391401 0.287077 0.217485 + 32.000000 0.139550 0.160239 0.150304 0.152476 0.254751 0.224252 0.208480 0.251525 0.254032 0.141504 0.129004 0.251848 0.250803 0.288967 0.277587 0.246322 0.312256 0.360048 0.389911 0.270228 0.230449 + 33.000000 0.142673 0.154657 0.152348 0.147374 0.260732 0.225116 0.231039 0.244463 0.243393 0.143736 0.127386 0.251450 0.239172 0.315000 0.303631 0.250437 0.308357 0.350033 0.383486 0.254548 0.229963 + 34.000000 0.142202 0.158644 0.152265 0.158631 0.257747 0.240968 0.237306 0.235885 0.253686 0.143801 0.130911 0.252836 0.259021 0.304552 0.336941 0.258972 0.300216 0.347207 0.393545 0.284133 0.221607 + 35.000000 0.143794 0.152510 0.149382 0.155780 0.263416 0.228820 0.234776 0.247876 0.245186 0.144757 0.129437 0.247869 0.252104 0.313786 0.323604 0.244873 0.325642 0.343709 0.388027 0.250233 0.230810 + 36.000000 0.144597 0.150545 0.155594 0.157257 0.263751 0.237819 0.236174 0.246654 0.244715 0.147999 0.128492 0.247662 0.251424 0.324717 0.320249 0.262481 0.305351 0.359664 0.388400 0.265875 0.227169 + 37.000000 0.141542 0.157736 0.150627 0.153616 0.266819 0.239683 0.227917 0.246739 0.247366 0.151420 0.129847 0.256215 0.247440 0.324243 0.311687 0.249619 0.315151 0.361905 0.394248 0.279740 0.223198 + 38.000000 0.143521 0.157016 0.158936 0.153154 0.251460 0.228602 0.236370 0.256977 0.248437 0.142757 0.126610 0.249648 0.250683 0.324907 0.305828 0.255752 0.296383 0.366548 0.378610 0.265880 0.235056 + 39.000000 0.146115 0.154589 0.151317 0.153085 0.268815 0.235534 0.235368 0.245599 0.250211 0.144144 0.129517 0.249938 0.253758 0.346385 0.299249 0.246707 0.308444 0.362446 0.383288 0.279579 0.219958 + 40.000000 0.143313 0.162437 0.153018 0.146460 0.259484 0.232910 0.229157 0.248552 0.234196 0.143584 0.131813 0.260990 0.251728 0.336391 0.269030 0.253677 0.299139 0.368477 0.365692 0.266883 0.231649 + 41.000000 0.145580 0.152497 0.148378 0.162245 0.266528 0.237216 0.222305 0.247206 0.259841 0.145466 0.128367 0.253628 0.253296 0.339296 0.262650 0.252056 0.307370 0.366216 0.391343 0.303497 0.220441 + 42.000000 0.145738 0.156993 0.157992 0.158831 0.263628 0.235996 0.248939 0.252674 0.248224 0.148609 0.129305 0.256051 0.259541 0.359898 0.296353 0.251735 0.299649 0.372633 0.378505 0.291067 0.233130 + 43.000000 0.146271 0.159982 0.152480 0.158504 0.265824 0.233559 0.251237 0.253652 0.231751 0.144285 0.130063 0.257907 0.247228 0.373912 0.293989 0.265239 0.312578 0.369575 0.360905 0.250353 0.227890 + 44.000000 0.151000 0.151553 0.157950 0.155873 0.272332 0.227626 0.244399 0.249411 0.239384 0.148016 0.127137 0.254212 0.267609 0.366898 0.279579 0.251598 0.299025 0.362295 0.359570 0.270076 0.237560 + 45.000000 0.147478 0.153181 0.158296 0.162259 0.269325 0.228482 0.260575 0.256736 0.233252 0.152867 0.127131 0.253058 0.250887 0.396200 0.297402 0.261990 0.306451 0.369158 0.349158 0.257140 0.241155 + 46.000000 0.148455 0.154785 0.159632 0.156530 0.261784 0.234539 0.243230 0.258729 0.225992 0.142742 0.124635 0.264480 0.256598 0.372320 0.271268 0.263955 0.304720 0.373088 0.332458 0.272948 0.224224 + 47.000000 0.152759 0.156509 0.153133 0.153005 0.271623 0.237447 0.240368 0.258928 0.237303 0.145734 0.129524 0.262290 0.256611 0.368870 0.254479 0.248738 0.315990 0.371634 0.355338 0.294826 0.230096 + 48.000000 0.155794 0.157023 0.150105 0.158420 0.280644 0.229917 0.246523 0.253118 0.251018 0.147929 0.126622 0.255874 0.259283 0.382027 0.257371 0.254772 0.319054 0.360075 0.369353 0.289924 0.233630 + 49.000000 0.151507 0.161231 0.147110 0.162001 0.262362 0.236203 0.257500 0.257589 0.230603 0.143936 0.128701 0.264288 0.255487 0.390916 0.273737 0.246377 0.307221 0.369692 0.329574 0.280762 0.236321 + 50.000000 0.150615 0.155504 0.152192 0.162935 0.270325 0.237883 0.255229 0.249445 0.230144 0.146296 0.129097 0.252564 0.263755 0.394777 0.279811 0.266789 0.310068 0.364425 0.324113 0.288892 0.228644 + 51.000000 0.146180 0.148393 0.154564 0.154547 0.265768 0.236001 0.240630 0.255782 0.221742 0.148176 0.128434 0.255985 0.244700 0.384409 0.263031 0.254183 0.317959 0.369818 0.310169 0.289505 0.229512 + 52.000000 0.145556 0.150796 0.156215 0.159129 0.264265 0.230696 0.253377 0.248880 0.231522 0.142341 0.126326 0.254107 0.250430 0.390739 0.275530 0.256519 0.309145 0.360202 0.321398 0.299880 0.221255 + 53.000000 0.142995 0.156306 0.148901 0.158972 0.261018 0.235280 0.254493 0.240506 0.229777 0.145982 0.131492 0.250680 0.255570 0.394289 0.280225 0.254140 0.299237 0.357305 0.316367 0.303062 0.231026 + 54.000000 0.142774 0.151340 0.157245 0.159894 0.258690 0.236269 0.244442 0.246363 0.229812 0.142160 0.133170 0.254575 0.262990 0.378892 0.269167 0.257121 0.298067 0.364563 0.318761 0.309498 0.227975 + 55.000000 0.150867 0.151862 0.153668 0.153505 0.274431 0.229484 0.245772 0.253890 0.231092 0.145207 0.133126 0.255367 0.246540 0.387599 0.250514 0.258137 0.324666 0.363739 0.331899 0.281991 0.235907 + 56.000000 0.150072 0.154160 0.153886 0.154906 0.272679 0.234568 0.244543 0.256386 0.237989 0.148444 0.130244 0.259240 0.254098 0.386633 0.261693 0.247250 0.319995 0.370285 0.340136 0.294224 0.234080 + 57.000000 0.144741 0.150215 0.153699 0.159166 0.255298 0.239585 0.234439 0.243601 0.231512 0.142101 0.127516 0.253519 0.257751 0.366666 0.267395 0.264855 0.286953 0.362345 0.323410 0.298234 0.222347 + 58.000000 0.147518 0.157897 0.148198 0.150435 0.263044 0.227833 0.256479 0.242117 0.233803 0.143984 0.125718 0.248628 0.248014 0.383302 0.288777 0.250048 0.290727 0.354915 0.346653 0.267142 0.231105 + 59.000000 0.147117 0.154973 0.158487 0.151215 0.265741 0.226454 0.252842 0.253551 0.226176 0.144422 0.128604 0.253375 0.249944 0.373669 0.279728 0.261533 0.304806 0.366798 0.351031 0.257896 0.233933 + 60.000000 0.148033 0.154915 0.155658 0.148462 0.265508 0.239059 0.227437 0.247792 0.251225 0.143200 0.131348 0.258825 0.250293 0.352494 0.260564 0.248983 0.297909 0.369658 0.368522 0.304752 0.226341 + 61.000000 0.144248 0.155328 0.157478 0.161165 0.264159 0.236493 0.247403 0.248579 0.230393 0.145082 0.130032 0.256415 0.268900 0.379117 0.286041 0.260853 0.301139 0.370285 0.336311 0.283844 0.224066 + 62.000000 0.143633 0.152928 0.160216 0.160924 0.259744 0.228793 0.249742 0.263785 0.226997 0.143238 0.132788 0.265475 0.242246 0.387041 0.272591 0.251282 0.319159 0.378341 0.322595 0.260769 0.233411 + 63.000000 0.143425 0.155127 0.153699 0.157255 0.272744 0.230365 0.254625 0.241081 0.214565 0.147994 0.132855 0.249297 0.260571 0.390574 0.282633 0.268454 0.307842 0.360689 0.333726 0.260653 0.227689 + 64.000000 0.145232 0.157237 0.155344 0.160000 0.262819 0.240089 0.248569 0.249914 0.226010 0.143282 0.132447 0.267563 0.263226 0.380166 0.290034 0.252391 0.301535 0.373803 0.331780 0.272450 0.223708 + 65.000000 0.141422 0.155776 0.154482 0.163658 0.261695 0.226442 0.257036 0.250649 0.226923 0.144470 0.131363 0.246172 0.254617 0.394192 0.278770 0.267864 0.312724 0.364459 0.325781 0.275603 0.232673 + 66.000000 0.145436 0.154441 0.153282 0.160555 0.269919 0.229319 0.249238 0.254247 0.232253 0.148798 0.133536 0.263828 0.252143 0.393264 0.256649 0.242838 0.319275 0.367699 0.332305 0.296073 0.240107 + 67.000000 0.142806 0.164011 0.163332 0.154988 0.262590 0.231544 0.255175 0.255292 0.221465 0.144452 0.130263 0.269605 0.260872 0.394283 0.269241 0.267433 0.313121 0.368289 0.317200 0.292307 0.227776 + 68.000000 0.143750 0.155298 0.156302 0.163001 0.259215 0.240826 0.253706 0.250923 0.223032 0.148920 0.127457 0.256878 0.267246 0.395131 0.291059 0.257888 0.305071 0.368631 0.291054 0.303997 0.225730 + 69.000000 0.143283 0.163888 0.156467 0.170343 0.264887 0.232323 0.249078 0.255299 0.244446 0.146214 0.128005 0.272047 0.262672 0.392762 0.261807 0.264976 0.321033 0.368046 0.337457 0.310267 0.224425 + 70.000000 0.145711 0.158863 0.152053 0.162710 0.258993 0.239726 0.254903 0.249642 0.240930 0.148305 0.132000 0.249419 0.258984 0.393138 0.280128 0.262146 0.300382 0.364361 0.327873 0.317217 0.239438 + 71.000000 0.147218 0.153142 0.155676 0.152305 0.263853 0.241209 0.247592 0.248490 0.226342 0.148314 0.128705 0.255021 0.256879 0.386329 0.275877 0.253690 0.297765 0.363032 0.317968 0.309476 0.229335 + 72.000000 0.147050 0.152504 0.154999 0.153091 0.271388 0.238402 0.250415 0.256114 0.220566 0.149344 0.133552 0.250920 0.254210 0.393266 0.277364 0.252804 0.322253 0.374599 0.320175 0.285607 0.233116 + 73.000000 0.141662 0.165634 0.148737 0.161957 0.253310 0.225336 0.251648 0.240434 0.226168 0.142926 0.125902 0.270940 0.262500 0.389002 0.260254 0.256681 0.288139 0.352124 0.310235 0.282778 0.231874 + 74.000000 0.146833 0.151538 0.159374 0.164096 0.267979 0.230901 0.257259 0.258864 0.241862 0.149277 0.126608 0.245675 0.252045 0.399063 0.278499 0.264192 0.321482 0.365683 0.332778 0.311237 0.233375 + 75.000000 0.145227 0.159566 0.156008 0.153739 0.258061 0.228653 0.241372 0.257126 0.227075 0.142583 0.124266 0.261693 0.261187 0.381382 0.243634 0.254630 0.321010 0.352392 0.299308 0.314205 0.227243 + 76.000000 0.145142 0.148362 0.148252 0.159673 0.270058 0.237348 0.238004 0.252303 0.236088 0.154136 0.126253 0.241807 0.255444 0.388757 0.261441 0.247699 0.329535 0.357831 0.315973 0.325312 0.229108 + 77.000000 0.143189 0.148646 0.151491 0.154226 0.265896 0.223538 0.241320 0.242019 0.231454 0.142252 0.125441 0.258848 0.233365 0.382205 0.248242 0.252063 0.311996 0.347540 0.327422 0.298221 0.219702 + 78.000000 0.145867 0.150642 0.149707 0.160716 0.263564 0.232150 0.252333 0.245637 0.222257 0.145493 0.126738 0.245089 0.264297 0.392449 0.278711 0.252029 0.309497 0.358504 0.294457 0.288601 0.225175 + 79.000000 0.141323 0.156018 0.153748 0.171766 0.256404 0.229047 0.246694 0.260574 0.212476 0.144253 0.126655 0.260712 0.247403 0.384503 0.262139 0.277303 0.317378 0.370478 0.312673 0.264967 0.228264 + 80.000000 0.145777 0.154941 0.155497 0.161565 0.263301 0.231924 0.248308 0.254783 0.229914 0.143202 0.125118 0.251144 0.266189 0.383772 0.274809 0.261000 0.314022 0.367096 0.323606 0.286867 0.220952 + 81.000000 0.145175 0.155210 0.149508 0.151823 0.268126 0.231340 0.242608 0.250350 0.217561 0.150668 0.128210 0.253748 0.252969 0.384726 0.261504 0.251995 0.312222 0.363319 0.323925 0.272328 0.234807 + 82.000000 0.144970 0.156852 0.150444 0.154830 0.265890 0.234711 0.255885 0.236865 0.212623 0.146953 0.129756 0.259440 0.264367 0.394567 0.286568 0.250094 0.290544 0.357492 0.308015 0.271782 0.228216 + 83.000000 0.146720 0.155584 0.151814 0.164514 0.259486 0.239109 0.249303 0.255090 0.239170 0.143061 0.131777 0.249780 0.253670 0.384362 0.278490 0.265027 0.310127 0.373104 0.332859 0.293704 0.230262 + 84.000000 0.141533 0.150165 0.157389 0.161095 0.257013 0.225018 0.240999 0.253895 0.217584 0.142112 0.125834 0.258954 0.257155 0.373801 0.261452 0.259616 0.305338 0.366205 0.315763 0.266249 0.226783 + 85.000000 0.144013 0.147389 0.154126 0.160874 0.267584 0.233538 0.246747 0.253844 0.213792 0.149141 0.129951 0.251457 0.259487 0.385563 0.273911 0.250188 0.314246 0.370365 0.317754 0.279958 0.230350 + 86.000000 0.143003 0.156236 0.153464 0.157371 0.266306 0.227549 0.250211 0.251034 0.223026 0.147876 0.132405 0.257257 0.248518 0.393668 0.266088 0.259539 0.316855 0.365950 0.321850 0.268651 0.235927 + 87.000000 0.142158 0.158674 0.155086 0.159232 0.260859 0.233928 0.251057 0.263639 0.211321 0.146481 0.131427 0.254290 0.267317 0.390827 0.273570 0.250469 0.327000 0.378314 0.300326 0.279265 0.232048 + 88.000000 0.145036 0.152212 0.148360 0.160439 0.261492 0.227945 0.249614 0.250245 0.218546 0.142847 0.129412 0.249641 0.254420 0.387293 0.268479 0.254603 0.311879 0.362277 0.305495 0.264503 0.229942 + 89.000000 0.145307 0.151825 0.154903 0.161097 0.269055 0.233603 0.249925 0.245408 0.229281 0.145414 0.130028 0.256085 0.262907 0.386258 0.280035 0.254268 0.305683 0.364765 0.334060 0.286258 0.223722 + 90.000000 0.143213 0.156069 0.154770 0.156559 0.252781 0.235597 0.248874 0.252141 0.221139 0.140735 0.132287 0.262654 0.250764 0.374391 0.281936 0.254246 0.293523 0.373472 0.326829 0.267211 0.232397 + 91.000000 0.147872 0.158236 0.152906 0.156605 0.275388 0.233722 0.260693 0.245808 0.236400 0.148617 0.127053 0.245716 0.262129 0.393323 0.300268 0.256364 0.310384 0.362676 0.356901 0.281752 0.222294 + 92.000000 0.149149 0.153027 0.158880 0.158101 0.265657 0.232454 0.233223 0.260765 0.245707 0.148462 0.128886 0.264349 0.255027 0.357431 0.261603 0.255725 0.306994 0.375108 0.367973 0.280971 0.240759 + 93.000000 0.149402 0.161740 0.155102 0.152803 0.272113 0.231308 0.230712 0.260804 0.254313 0.143604 0.129797 0.258415 0.246673 0.346322 0.278452 0.257318 0.328240 0.372037 0.388635 0.270002 0.225944 + 94.000000 0.147117 0.162859 0.158755 0.153351 0.257878 0.236960 0.218089 0.258946 0.263323 0.145291 0.127884 0.259594 0.264889 0.294575 0.281246 0.250180 0.303629 0.375511 0.396001 0.299092 0.232326 + 95.000000 0.151363 0.160384 0.154009 0.154775 0.277227 0.233773 0.232669 0.256515 0.251110 0.145718 0.129914 0.260069 0.257769 0.327119 0.297661 0.257889 0.333708 0.365221 0.395019 0.260288 0.225395 + 96.000000 0.146461 0.160829 0.152265 0.156624 0.262785 0.242204 0.239519 0.257156 0.238605 0.143800 0.134987 0.260732 0.263021 0.344377 0.317699 0.248317 0.316239 0.371243 0.371042 0.256881 0.228615 + 97.000000 0.146029 0.162867 0.158245 0.160125 0.262306 0.231819 0.219859 0.247316 0.261453 0.140666 0.130171 0.268585 0.254806 0.312694 0.262052 0.274357 0.299068 0.366549 0.397108 0.284090 0.224672 + 98.000000 0.148447 0.159809 0.148125 0.152653 0.271421 0.235099 0.234898 0.246911 0.254973 0.150880 0.132150 0.246599 0.258186 0.344561 0.288862 0.247165 0.304627 0.364398 0.392108 0.283064 0.240452 + 99.000000 0.142726 0.158121 0.153896 0.161542 0.259635 0.225705 0.222088 0.246920 0.248006 0.143453 0.128585 0.264951 0.262448 0.335295 0.269265 0.261877 0.296999 0.359905 0.375880 0.261379 0.231630 + 100.000000 0.143328 0.159927 0.160530 0.156464 0.263041 0.240700 0.210287 0.257903 0.256442 0.147342 0.134866 0.256941 0.265502 0.313301 0.262526 0.262930 0.309695 0.383548 0.391587 0.299446 0.231547 + 101.000000 0.147209 0.156773 0.165186 0.158605 0.271825 0.236025 0.226590 0.255146 0.252969 0.152752 0.125022 0.274987 0.258064 0.335300 0.278196 0.267689 0.307501 0.372393 0.395803 0.285480 0.227472 + 102.000000 0.145423 0.155660 0.148568 0.156756 0.256295 0.228467 0.230216 0.247510 0.252239 0.146904 0.124954 0.247660 0.250540 0.320476 0.299193 0.253994 0.291871 0.353804 0.387825 0.265076 0.238102 + 103.000000 0.144033 0.156356 0.155517 0.150149 0.274982 0.226432 0.237931 0.258232 0.238125 0.152846 0.126340 0.242637 0.244034 0.335988 0.310191 0.258796 0.338611 0.362862 0.389685 0.244611 0.230010 + 104.000000 0.147280 0.154003 0.151874 0.155179 0.267303 0.232244 0.240769 0.240744 0.248380 0.146709 0.126343 0.249116 0.258250 0.324406 0.324211 0.252450 0.306026 0.344765 0.391336 0.260882 0.228291 + 105.000000 0.147336 0.156735 0.154431 0.149038 0.264473 0.229376 0.252696 0.249066 0.248884 0.143687 0.128448 0.240746 0.244870 0.342394 0.336656 0.249224 0.307722 0.350372 0.386546 0.258835 0.231148 + 106.000000 0.148361 0.160505 0.154392 0.154035 0.270085 0.229742 0.240640 0.255550 0.247596 0.144894 0.126291 0.255926 0.259969 0.325253 0.314408 0.251403 0.330278 0.357819 0.390405 0.255586 0.225397 + 107.000000 0.145439 0.160231 0.150079 0.158348 0.259974 0.237619 0.214479 0.245265 0.256312 0.147888 0.127585 0.250965 0.255355 0.285290 0.290972 0.268252 0.297351 0.361192 0.397815 0.281045 0.230904 + 108.000000 0.150013 0.154851 0.157885 0.151676 0.259136 0.237747 0.222057 0.259343 0.254946 0.141707 0.128313 0.258345 0.251970 0.308755 0.289275 0.253955 0.304727 0.372645 0.386187 0.280127 0.231016 + 109.000000 0.141839 0.157841 0.154257 0.155888 0.259019 0.228017 0.229195 0.247569 0.240870 0.142931 0.129148 0.252319 0.259935 0.319166 0.282250 0.261707 0.304822 0.363619 0.378917 0.260527 0.226830 + 110.000000 0.146831 0.154031 0.149868 0.148073 0.269854 0.235575 0.230840 0.247153 0.245697 0.147767 0.127787 0.255131 0.237091 0.336281 0.293505 0.247719 0.311651 0.361053 0.387402 0.271411 0.225046 + 111.000000 0.142216 0.157879 0.153990 0.148034 0.250282 0.229402 0.223906 0.252180 0.247113 0.148479 0.126158 0.255088 0.241892 0.316149 0.280200 0.248781 0.286465 0.365588 0.379168 0.274619 0.242426 + 112.000000 0.143032 0.154014 0.156958 0.156239 0.263370 0.226837 0.220017 0.247201 0.251821 0.142118 0.128061 0.255798 0.254283 0.336613 0.273542 0.262248 0.302885 0.362089 0.379098 0.271286 0.221726 + 113.000000 0.146628 0.159255 0.149687 0.159414 0.267304 0.235363 0.238174 0.251643 0.248143 0.145601 0.130666 0.256505 0.260475 0.353470 0.283039 0.250178 0.313061 0.368667 0.379391 0.278963 0.228626 + 114.000000 0.148162 0.159530 0.153618 0.157413 0.261984 0.234086 0.234958 0.250069 0.241618 0.144284 0.125357 0.261932 0.258753 0.337738 0.278634 0.264274 0.296816 0.365284 0.374905 0.268472 0.227090 + 115.000000 0.151184 0.157461 0.154481 0.151468 0.268585 0.236663 0.241700 0.259252 0.241370 0.142341 0.125594 0.256546 0.248562 0.348886 0.295079 0.255635 0.319024 0.371314 0.374822 0.264764 0.220158 + 116.000000 0.141967 0.153483 0.155887 0.154228 0.264598 0.228801 0.216164 0.253169 0.251027 0.154056 0.129631 0.250803 0.252310 0.322982 0.281399 0.255078 0.305237 0.366665 0.392248 0.270418 0.243765 + 117.000000 0.143162 0.157736 0.152353 0.160306 0.264972 0.227557 0.208921 0.250907 0.269500 0.146564 0.125780 0.248354 0.261005 0.306285 0.273582 0.252329 0.311803 0.361966 0.407502 0.293929 0.226347 + 118.000000 0.145083 0.163981 0.153116 0.148160 0.254727 0.234834 0.220943 0.241804 0.251242 0.145568 0.126261 0.275122 0.255591 0.305028 0.280640 0.245230 0.282414 0.356947 0.383909 0.284845 0.232581 + 119.000000 0.145004 0.154060 0.152581 0.154784 0.260344 0.245176 0.230521 0.254502 0.238965 0.145603 0.132156 0.249733 0.253967 0.321362 0.311406 0.255533 0.311626 0.374403 0.378365 0.269840 0.225413 + 120.000000 0.145845 0.160921 0.152400 0.149428 0.272357 0.229030 0.228179 0.250106 0.249175 0.148127 0.125934 0.256569 0.252634 0.325156 0.285066 0.249777 0.321931 0.361073 0.393501 0.270406 0.223328 + 121.000000 0.142183 0.157417 0.156065 0.155051 0.253399 0.225360 0.214378 0.248330 0.253559 0.137619 0.128587 0.252480 0.262475 0.310564 0.275048 0.258412 0.293587 0.361655 0.378921 0.270983 0.227184 + 122.000000 0.151328 0.155475 0.150295 0.151557 0.269509 0.243116 0.231038 0.253928 0.251368 0.146190 0.128810 0.256843 0.242719 0.345011 0.287033 0.250686 0.309647 0.371832 0.384665 0.285458 0.225277 + 123.000000 0.146607 0.153770 0.151837 0.155319 0.254349 0.235764 0.239437 0.250801 0.238484 0.144466 0.131866 0.253610 0.254277 0.342910 0.284185 0.250564 0.288275 0.369746 0.364044 0.271391 0.241748 + 124.000000 0.144058 0.165877 0.147671 0.156700 0.271193 0.227018 0.239175 0.248076 0.249776 0.146746 0.126865 0.254621 0.251942 0.358617 0.272728 0.255619 0.320359 0.360204 0.387198 0.274491 0.222370 + 125.000000 0.141959 0.160508 0.150641 0.153402 0.257238 0.234693 0.232405 0.242482 0.239142 0.150004 0.126050 0.249388 0.265492 0.336747 0.290608 0.254847 0.282292 0.361643 0.370642 0.276925 0.232302 + 126.000000 0.143638 0.154932 0.150439 0.157345 0.270686 0.228574 0.241912 0.249446 0.246502 0.151630 0.125499 0.249000 0.235312 0.366994 0.276855 0.258203 0.314311 0.362750 0.386744 0.277436 0.228020 + 127.000000 0.145366 0.152821 0.154943 0.155254 0.272023 0.228801 0.245488 0.248222 0.234464 0.149723 0.130016 0.251717 0.259426 0.374782 0.290398 0.250108 0.309021 0.363947 0.359056 0.260992 0.233142 + 128.000000 0.141763 0.161185 0.157347 0.167088 0.261108 0.225748 0.243829 0.251173 0.254118 0.142267 0.130437 0.258549 0.257250 0.356309 0.285462 0.270244 0.307919 0.366812 0.385628 0.270831 0.229208 + 129.000000 0.144443 0.159579 0.156718 0.154524 0.260661 0.242109 0.223784 0.254090 0.254955 0.141977 0.134099 0.260457 0.251377 0.322795 0.280379 0.256968 0.308264 0.379219 0.388606 0.295749 0.223018 + 130.000000 0.138150 0.159009 0.149501 0.151955 0.265804 0.235843 0.192479 0.239024 0.244241 0.149214 0.137280 0.250717 0.264717 0.300708 0.259316 0.258669 0.302926 0.365793 0.384006 0.274015 0.229646 + 131.000000 0.141160 0.152209 0.160298 0.156225 0.262667 0.222442 0.242521 0.253800 0.255692 0.148408 0.131055 0.251318 0.238987 0.341422 0.288048 0.246563 0.315018 0.366960 0.396502 0.277921 0.238752 + 132.000000 0.139642 0.160455 0.148661 0.155903 0.263499 0.226149 0.227718 0.238929 0.246517 0.147874 0.125337 0.261304 0.254828 0.335027 0.278505 0.250094 0.300776 0.352691 0.386257 0.271600 0.224155 + 133.000000 0.141226 0.158986 0.156893 0.156072 0.259753 0.239594 0.221103 0.250636 0.252315 0.145648 0.133259 0.253483 0.247850 0.311385 0.282854 0.267356 0.305108 0.376129 0.392836 0.288715 0.224500 + 134.000000 0.146021 0.161637 0.150445 0.157850 0.257095 0.237543 0.211245 0.252331 0.257602 0.143218 0.130629 0.269348 0.266357 0.301905 0.283039 0.245136 0.302480 0.364530 0.389305 0.282046 0.232233 + 135.000000 0.146380 0.158637 0.149471 0.150043 0.271456 0.227594 0.217735 0.252047 0.245333 0.148083 0.126016 0.240172 0.261267 0.312006 0.286676 0.254397 0.321179 0.359806 0.388658 0.256990 0.228178 + 136.000000 0.147811 0.156632 0.152246 0.147782 0.263711 0.232239 0.227559 0.245005 0.246271 0.142341 0.126414 0.256733 0.243768 0.317914 0.291904 0.256020 0.300402 0.356609 0.383371 0.264916 0.225140 + 137.000000 0.144109 0.155789 0.162666 0.155114 0.260592 0.234073 0.219205 0.262695 0.256700 0.142896 0.130711 0.258069 0.261299 0.308441 0.307078 0.251098 0.319503 0.370763 0.391296 0.278104 0.226315 + 138.000000 0.141035 0.162181 0.159402 0.149422 0.268249 0.226460 0.206301 0.251217 0.239287 0.151043 0.131411 0.265855 0.250378 0.306964 0.272406 0.270703 0.312522 0.365214 0.386256 0.247167 0.237147 + 139.000000 0.151527 0.157519 0.151541 0.152034 0.267871 0.239362 0.216557 0.259367 0.258554 0.146910 0.125960 0.250794 0.261359 0.305571 0.280294 0.246313 0.316280 0.372218 0.395654 0.289973 0.227965 + 140.000000 0.145331 0.156259 0.154436 0.154126 0.266787 0.226067 0.216254 0.244939 0.253305 0.146680 0.128792 0.259321 0.252918 0.306764 0.268868 0.261066 0.305103 0.357855 0.395440 0.266745 0.233554 + 141.000000 0.137148 0.161093 0.152048 0.154458 0.262442 0.233006 0.201512 0.250679 0.254446 0.145935 0.134105 0.254816 0.262941 0.300582 0.284768 0.245697 0.320877 0.367581 0.393938 0.283171 0.221264 + 142.000000 0.135822 0.168541 0.150598 0.149408 0.255398 0.230874 0.211846 0.244101 0.241395 0.150047 0.130174 0.263770 0.253581 0.314359 0.271778 0.253854 0.294390 0.364010 0.381064 0.271843 0.233789 + 143.000000 0.140869 0.161028 0.153532 0.153178 0.256818 0.233578 0.219506 0.252193 0.244053 0.148689 0.132615 0.262960 0.262213 0.302932 0.284130 0.246690 0.307583 0.369238 0.384534 0.269669 0.239924 + 144.000000 0.143475 0.157114 0.153992 0.155653 0.266148 0.226669 0.213214 0.247249 0.254536 0.145128 0.127796 0.240597 0.262494 0.304701 0.255192 0.265115 0.308585 0.362128 0.394865 0.281913 0.222551 + 145.000000 0.147007 0.159968 0.153909 0.144809 0.265348 0.237155 0.227940 0.254444 0.243754 0.146878 0.130530 0.264027 0.253329 0.337203 0.277072 0.237999 0.308451 0.372577 0.375355 0.281852 0.232280 + 146.000000 0.141024 0.155594 0.149156 0.153671 0.265243 0.227035 0.231637 0.238121 0.244310 0.149167 0.126178 0.241611 0.253151 0.336456 0.294947 0.257108 0.296551 0.352538 0.385339 0.264875 0.228153 + 147.000000 0.141334 0.152729 0.161777 0.155453 0.267195 0.225930 0.239330 0.248620 0.251310 0.150473 0.125982 0.251265 0.251082 0.344638 0.310811 0.254550 0.306889 0.358541 0.392735 0.270730 0.229600 + 148.000000 0.144182 0.164399 0.146126 0.151723 0.265638 0.234839 0.241558 0.243536 0.240694 0.152925 0.126134 0.264256 0.240581 0.333789 0.310995 0.249854 0.309355 0.353217 0.389089 0.261674 0.232534 + 149.000000 0.144697 0.155371 0.153307 0.159579 0.252712 0.232515 0.237811 0.257024 0.258602 0.146002 0.127555 0.246990 0.260331 0.304961 0.314003 0.237135 0.312423 0.364011 0.393870 0.281337 0.238210 + 150.000000 0.143257 0.162228 0.152945 0.153947 0.266983 0.228868 0.204244 0.249776 0.251194 0.145592 0.129783 0.260117 0.265454 0.308854 0.268637 0.257370 0.313534 0.362924 0.388309 0.267331 0.225986 + 151.000000 0.145703 0.156444 0.157570 0.155552 0.269467 0.224063 0.217170 0.260951 0.257609 0.148504 0.128160 0.246371 0.263193 0.322750 0.253349 0.254332 0.323805 0.370021 0.395160 0.282081 0.235905 + 152.000000 0.143581 0.163527 0.149229 0.156387 0.266265 0.235741 0.205544 0.240371 0.259447 0.147586 0.132584 0.266105 0.257744 0.309795 0.249949 0.258371 0.297971 0.363029 0.399047 0.292522 0.229950 + 153.000000 0.147873 0.159658 0.153695 0.157033 0.262759 0.245132 0.219690 0.259005 0.252161 0.146743 0.132809 0.254539 0.269056 0.325123 0.289201 0.254490 0.308446 0.380489 0.381680 0.287243 0.231297 + 154.000000 0.150064 0.167550 0.158994 0.155230 0.273454 0.224919 0.245542 0.257599 0.253353 0.145422 0.127587 0.267825 0.254983 0.352988 0.277110 0.264880 0.321091 0.366855 0.392475 0.265776 0.231397 + 155.000000 0.150440 0.156512 0.151635 0.165207 0.265694 0.230124 0.245142 0.244717 0.257839 0.143688 0.125115 0.252611 0.268963 0.357833 0.294009 0.258846 0.290850 0.356339 0.380603 0.278157 0.229970 + 156.000000 0.147837 0.154196 0.156246 0.151556 0.264159 0.242023 0.236537 0.261374 0.237209 0.144483 0.130944 0.259205 0.238052 0.353540 0.291568 0.257007 0.315646 0.380677 0.367923 0.268284 0.226031 + 157.000000 0.144266 0.157710 0.148168 0.156655 0.262571 0.230509 0.248571 0.236912 0.239568 0.148527 0.125775 0.253166 0.247487 0.365891 0.289703 0.259517 0.282613 0.353900 0.371658 0.271249 0.231906 + 158.000000 0.145132 0.155777 0.154728 0.153764 0.258950 0.233671 0.233408 0.253934 0.250817 0.144716 0.128213 0.256781 0.250628 0.347861 0.272543 0.245711 0.299723 0.371049 0.374309 0.293397 0.231459 + 159.000000 0.148032 0.163263 0.148833 0.149490 0.264459 0.234301 0.216731 0.256376 0.239136 0.143432 0.126874 0.250261 0.258469 0.330119 0.251939 0.258067 0.314899 0.369035 0.367156 0.270438 0.225598 + 160.000000 0.144563 0.162183 0.154082 0.154974 0.262941 0.225021 0.229304 0.258256 0.242360 0.143929 0.123721 0.259995 0.267681 0.343849 0.264281 0.248538 0.317263 0.366385 0.367973 0.269831 0.225748 + 161.000000 0.151127 0.156292 0.152380 0.153945 0.265556 0.228754 0.244427 0.246073 0.252389 0.143233 0.125679 0.258234 0.246087 0.349638 0.268061 0.255127 0.293884 0.358016 0.383896 0.285654 0.228166 + 162.000000 0.150567 0.158809 0.154818 0.157077 0.272565 0.242465 0.240002 0.252783 0.246922 0.147635 0.132855 0.262693 0.257920 0.358392 0.293014 0.259589 0.309551 0.374287 0.379583 0.277356 0.230347 + 163.000000 0.144491 0.157046 0.155003 0.154503 0.258824 0.228796 0.222215 0.262335 0.245079 0.142394 0.128409 0.252630 0.253526 0.339552 0.270824 0.254919 0.317486 0.372956 0.367836 0.263623 0.229136 + 164.000000 0.146397 0.152576 0.147971 0.158202 0.265897 0.231370 0.239538 0.239943 0.252778 0.147068 0.125339 0.249797 0.244965 0.348949 0.281447 0.254503 0.293782 0.355498 0.389088 0.285970 0.226211 + 165.000000 0.147535 0.160119 0.153677 0.147664 0.265625 0.232317 0.246295 0.252802 0.238216 0.147424 0.129416 0.254674 0.247068 0.358830 0.303186 0.251547 0.304075 0.365746 0.371214 0.256277 0.236313 + 166.000000 0.143054 0.153025 0.155527 0.163225 0.253592 0.234446 0.234411 0.248044 0.256585 0.137884 0.129104 0.248615 0.249161 0.330792 0.304912 0.267286 0.294034 0.364868 0.385810 0.278989 0.221360 + 167.000000 0.149009 0.161092 0.154887 0.146057 0.261405 0.239907 0.221035 0.256415 0.240574 0.146102 0.131223 0.259246 0.254567 0.311488 0.290939 0.256279 0.302006 0.372948 0.376549 0.263882 0.237377 + 168.000000 0.150235 0.158213 0.158460 0.156769 0.271303 0.229922 0.246478 0.265994 0.250460 0.145444 0.126256 0.255772 0.250079 0.351813 0.293952 0.256211 0.332464 0.373296 0.389395 0.265408 0.228313 + 169.000000 0.145013 0.159233 0.156288 0.157181 0.260507 0.234594 0.226064 0.241348 0.260197 0.144403 0.130304 0.261943 0.258657 0.323716 0.289292 0.261046 0.284377 0.360830 0.392940 0.288558 0.231639 + 170.000000 0.146370 0.159698 0.156330 0.149282 0.265068 0.243411 0.223822 0.252837 0.244845 0.148912 0.132345 0.263876 0.254813 0.318587 0.285918 0.253878 0.306100 0.376278 0.385199 0.283693 0.230394 + 171.000000 0.145724 0.156252 0.152134 0.158662 0.265225 0.231160 0.220022 0.258568 0.252948 0.145215 0.130256 0.252917 0.252374 0.318028 0.268146 0.257036 0.323255 0.371290 0.392681 0.271374 0.231082 + 172.000000 0.140589 0.161671 0.149081 0.159067 0.253269 0.230449 0.222271 0.239540 0.257460 0.147159 0.128275 0.252313 0.261042 0.307894 0.293498 0.257202 0.281575 0.354707 0.393190 0.281284 0.237218 + 173.000000 0.145088 0.153229 0.151374 0.151765 0.267698 0.231627 0.229865 0.250456 0.248338 0.148953 0.125381 0.251342 0.247546 0.320019 0.298373 0.244164 0.320749 0.359327 0.392930 0.270920 0.225803 + 174.000000 0.145549 0.157773 0.155766 0.152467 0.250888 0.236691 0.225497 0.252482 0.251559 0.144123 0.124576 0.249995 0.250826 0.296935 0.304738 0.260944 0.289507 0.365038 0.384647 0.280195 0.230273 + 175.000000 0.142755 0.160922 0.154657 0.154970 0.267214 0.225851 0.224535 0.256418 0.254536 0.149937 0.122909 0.259185 0.256149 0.313862 0.294470 0.246593 0.327738 0.359741 0.399829 0.272416 0.226548 + 176.000000 0.143549 0.158476 0.153480 0.154147 0.261271 0.232601 0.217430 0.257771 0.240079 0.146681 0.131863 0.255479 0.261319 0.305514 0.293184 0.255418 0.318600 0.368225 0.381097 0.251021 0.236846 + 177.000000 0.145153 0.162057 0.147065 0.152482 0.267734 0.227573 0.220042 0.244192 0.253869 0.149756 0.126696 0.252893 0.253967 0.313227 0.285174 0.252387 0.305940 0.353123 0.397449 0.268596 0.234867 + 178.000000 0.146755 0.148801 0.151656 0.155334 0.257426 0.228641 0.216970 0.246922 0.247608 0.144507 0.126430 0.257486 0.253674 0.303181 0.269837 0.249717 0.295501 0.357248 0.382946 0.265160 0.235992 + 179.000000 0.150902 0.157045 0.153360 0.152038 0.273210 0.236126 0.214574 0.260239 0.246511 0.145065 0.123645 0.245723 0.259988 0.317487 0.268397 0.262875 0.326252 0.372190 0.384433 0.272557 0.216152 + 180.000000 0.144445 0.159389 0.153129 0.152732 0.266114 0.226744 0.220722 0.255005 0.248347 0.152142 0.125995 0.258488 0.253535 0.333085 0.262466 0.251733 0.310129 0.365665 0.386668 0.271047 0.239561 + 181.000000 0.149230 0.158737 0.148668 0.156299 0.263577 0.238985 0.248018 0.249044 0.235615 0.146507 0.129450 0.245252 0.261342 0.359056 0.298538 0.260216 0.295537 0.367617 0.364073 0.266578 0.234190 + 182.000000 0.149091 0.158933 0.150753 0.154404 0.267328 0.233886 0.249354 0.248383 0.241299 0.145031 0.128430 0.261052 0.247755 0.369335 0.293207 0.252328 0.301968 0.363126 0.369448 0.265133 0.230141 + 183.000000 0.142815 0.153254 0.154483 0.154971 0.263887 0.228170 0.222037 0.252058 0.253816 0.147259 0.128967 0.248767 0.243316 0.337376 0.259765 0.257191 0.308115 0.367436 0.388231 0.284047 0.232896 + 184.000000 0.147989 0.153674 0.153724 0.155110 0.269152 0.236494 0.213775 0.251418 0.262797 0.148224 0.126749 0.256846 0.255984 0.323359 0.263224 0.249097 0.306760 0.368417 0.397396 0.301685 0.226457 + 185.000000 0.142668 0.159670 0.151939 0.152217 0.264329 0.226553 0.205433 0.252712 0.257814 0.151551 0.127276 0.253783 0.254509 0.300081 0.269598 0.248231 0.310188 0.362561 0.399759 0.278022 0.239432 + 186.000000 0.148085 0.153222 0.152771 0.153143 0.268296 0.236050 0.222687 0.256763 0.247835 0.148985 0.126465 0.246757 0.254384 0.317897 0.295230 0.254548 0.317153 0.367728 0.389687 0.268907 0.229328 + 187.000000 0.146510 0.157287 0.155330 0.156779 0.264941 0.228920 0.229789 0.246655 0.253196 0.146165 0.127122 0.256755 0.250450 0.326256 0.298040 0.267255 0.298710 0.355967 0.392868 0.262758 0.232852 + 188.000000 0.152162 0.162313 0.153063 0.149432 0.276318 0.237790 0.233089 0.259474 0.252701 0.150378 0.126317 0.261128 0.258944 0.318346 0.303829 0.242871 0.334226 0.366984 0.398834 0.275380 0.227607 + 189.000000 0.149234 0.159298 0.154391 0.153569 0.261608 0.229969 0.224855 0.252354 0.250733 0.142015 0.126393 0.257675 0.251953 0.310714 0.285149 0.264557 0.302566 0.361637 0.386694 0.261056 0.231635 + 190.000000 0.145372 0.159946 0.153807 0.160457 0.257968 0.231492 0.225983 0.255627 0.262877 0.141823 0.128467 0.258321 0.259058 0.317678 0.289957 0.251213 0.308354 0.366466 0.395047 0.283447 0.230390 + 191.000000 0.146793 0.165266 0.154080 0.152669 0.261313 0.238712 0.229563 0.256620 0.240874 0.139607 0.128965 0.262531 0.254585 0.321109 0.296107 0.263351 0.315259 0.372349 0.376233 0.262480 0.218124 + 192.000000 0.143373 0.161484 0.156866 0.155172 0.262753 0.230527 0.212707 0.251367 0.253636 0.146465 0.127768 0.274143 0.251926 0.309287 0.269464 0.259177 0.307680 0.364743 0.393592 0.274802 0.229614 + 193.000000 0.145621 0.159270 0.148780 0.159650 0.262339 0.234976 0.215593 0.256695 0.256332 0.146826 0.130935 0.249338 0.260416 0.294682 0.280080 0.254525 0.319971 0.370445 0.397985 0.275909 0.234176 + 194.000000 0.145575 0.156244 0.154952 0.150167 0.261008 0.235683 0.208020 0.249765 0.251822 0.143887 0.129744 0.257990 0.259193 0.290835 0.284800 0.251753 0.303243 0.363922 0.388244 0.277391 0.229099 + 195.000000 0.142230 0.165192 0.154502 0.156520 0.261131 0.229801 0.235761 0.245439 0.248332 0.141094 0.129817 0.266508 0.263213 0.320580 0.300217 0.254859 0.312120 0.359094 0.386750 0.266126 0.221269 + 196.000000 0.144472 0.162340 0.153397 0.151462 0.269750 0.232843 0.204702 0.254404 0.252736 0.146478 0.129526 0.257679 0.266505 0.294741 0.273595 0.250628 0.325626 0.368342 0.394966 0.276624 0.223092 + 197.000000 0.145537 0.162090 0.156018 0.152950 0.265682 0.244880 0.201240 0.249363 0.252710 0.144099 0.141580 0.263873 0.261546 0.299666 0.265875 0.265149 0.305013 0.379543 0.389647 0.283935 0.233854 + 198.000000 0.149315 0.158590 0.156150 0.156010 0.266290 0.233553 0.240286 0.256452 0.253209 0.142906 0.130132 0.256446 0.259405 0.330953 0.302724 0.252245 0.317817 0.368058 0.390194 0.270317 0.230303 + 199.000000 0.146846 0.161379 0.158579 0.156802 0.272041 0.231929 0.243448 0.249244 0.255285 0.148763 0.131823 0.255095 0.256923 0.334684 0.304140 0.265325 0.315521 0.366442 0.400881 0.272800 0.232074 + 200.000000 0.148082 0.166236 0.151415 0.149084 0.267040 0.234514 0.222450 0.252959 0.247451 0.150254 0.127883 0.260034 0.258180 0.304482 0.284374 0.255003 0.311192 0.366035 0.391436 0.268299 0.236023 + 201.000000 0.146100 0.162529 0.153852 0.156459 0.260785 0.234425 0.228890 0.260610 0.252540 0.142724 0.128760 0.259430 0.262327 0.321513 0.283333 0.248260 0.319549 0.374086 0.386974 0.279585 0.227059 + 202.000000 0.148102 0.150118 0.156431 0.158687 0.260502 0.241892 0.244815 0.245699 0.246174 0.145039 0.128897 0.253539 0.245967 0.346997 0.310563 0.265794 0.285487 0.366547 0.379359 0.277130 0.228603 + 203.000000 0.146058 0.159800 0.153165 0.157589 0.262314 0.236252 0.234114 0.258091 0.251409 0.145040 0.134441 0.240447 0.259771 0.344170 0.292335 0.260362 0.311927 0.376657 0.380687 0.274695 0.237397 + 204.000000 0.143708 0.166688 0.154726 0.152343 0.266971 0.219693 0.237932 0.255039 0.241915 0.145204 0.130534 0.262421 0.260408 0.343334 0.272378 0.252545 0.322138 0.362894 0.379939 0.251223 0.236522 + 205.000000 0.147262 0.155330 0.155780 0.157391 0.261967 0.236763 0.237458 0.249098 0.256873 0.143423 0.129402 0.250456 0.254522 0.332410 0.282417 0.258519 0.297882 0.369352 0.390569 0.298975 0.223416 + 206.000000 0.144993 0.162007 0.151865 0.157010 0.264919 0.241975 0.230137 0.247147 0.243689 0.150133 0.125593 0.263396 0.250277 0.350841 0.284852 0.266888 0.296226 0.367952 0.378231 0.283674 0.219981 + 207.000000 0.151312 0.151085 0.150481 0.154841 0.267296 0.236329 0.242480 0.256647 0.246949 0.149448 0.127146 0.245759 0.251767 0.363786 0.298060 0.244267 0.305433 0.368058 0.369262 0.272248 0.235859 + 208.000000 0.146704 0.148953 0.152545 0.151231 0.266108 0.225534 0.235756 0.251009 0.241214 0.142571 0.128032 0.245865 0.239078 0.352811 0.271582 0.254052 0.309986 0.362226 0.370591 0.261860 0.229591 + 209.000000 0.144000 0.161337 0.157487 0.151773 0.265532 0.239594 0.223864 0.257780 0.248782 0.147587 0.133618 0.252765 0.258146 0.333873 0.271668 0.257357 0.315225 0.380946 0.383706 0.292029 0.229349 + 210.000000 0.147053 0.156860 0.160227 0.158558 0.267542 0.226914 0.235829 0.255937 0.257173 0.145547 0.130472 0.262808 0.252760 0.349971 0.284180 0.259607 0.310369 0.367720 0.389382 0.270260 0.236532 + 211.000000 0.142688 0.156228 0.161828 0.151327 0.258105 0.235971 0.228807 0.260222 0.234762 0.144090 0.134897 0.255732 0.258896 0.332710 0.291284 0.259469 0.309074 0.381302 0.365303 0.260668 0.235622 + 212.000000 0.147313 0.154327 0.151881 0.156393 0.272198 0.231458 0.244100 0.242709 0.249487 0.144964 0.134739 0.249480 0.251247 0.361161 0.274025 0.256812 0.306163 0.362614 0.383178 0.285917 0.230184 + 213.000000 0.142034 0.158015 0.156636 0.163170 0.260650 0.229853 0.240094 0.246385 0.243285 0.143012 0.131033 0.262964 0.263699 0.368691 0.271842 0.261996 0.297979 0.366483 0.355591 0.282179 0.228367 + 214.000000 0.148493 0.157892 0.156376 0.158172 0.269089 0.238756 0.238431 0.250035 0.244630 0.149655 0.132422 0.262434 0.257649 0.367205 0.278404 0.265630 0.298431 0.372353 0.368233 0.280358 0.237312 + 215.000000 0.151168 0.160000 0.148282 0.151491 0.268464 0.237417 0.252838 0.247150 0.257072 0.144831 0.129095 0.252573 0.242631 0.375322 0.299767 0.242472 0.299604 0.363826 0.379512 0.292264 0.229258 + 216.000000 0.147277 0.154268 0.155748 0.161487 0.271080 0.233487 0.244470 0.250926 0.233412 0.143571 0.133061 0.257854 0.262001 0.361233 0.285385 0.264579 0.316431 0.369991 0.365055 0.257221 0.225782 + 217.000000 0.150709 0.154784 0.149390 0.151586 0.262504 0.241173 0.243067 0.256322 0.243984 0.142198 0.129645 0.249547 0.239462 0.357449 0.293913 0.249859 0.306357 0.373364 0.369044 0.276123 0.228195 + 218.000000 0.144763 0.159481 0.151739 0.148981 0.259218 0.232056 0.238174 0.247524 0.237356 0.140789 0.130711 0.255795 0.252456 0.348178 0.295618 0.249554 0.298042 0.363131 0.362984 0.258472 0.227897 + 219.000000 0.145131 0.156871 0.149174 0.154207 0.271813 0.224843 0.236200 0.240046 0.247814 0.146866 0.129379 0.255090 0.251079 0.340774 0.287245 0.251696 0.311014 0.351287 0.390413 0.258990 0.229918 + 220.000000 0.144810 0.154936 0.156243 0.155398 0.258732 0.230347 0.237805 0.255011 0.244818 0.141257 0.129795 0.249669 0.258142 0.333248 0.291698 0.251706 0.308826 0.369548 0.376618 0.268650 0.229776 + 221.000000 0.145803 0.156605 0.159559 0.148017 0.268420 0.228263 0.219475 0.255550 0.251556 0.143732 0.128182 0.261661 0.244418 0.334993 0.272295 0.255420 0.316383 0.368291 0.384268 0.271980 0.223404 + 222.000000 0.146615 0.157784 0.153175 0.149842 0.264325 0.236385 0.232794 0.257551 0.243982 0.143207 0.129388 0.258803 0.247632 0.342558 0.288843 0.244423 0.317397 0.372399 0.375651 0.272773 0.224318 + 223.000000 0.145545 0.157244 0.148507 0.151640 0.269116 0.235521 0.211808 0.243152 0.247402 0.148999 0.131775 0.258201 0.257635 0.298184 0.274596 0.250792 0.311389 0.360749 0.392679 0.271171 0.230535 + 224.000000 0.143882 0.159374 0.144074 0.156838 0.259780 0.233695 0.205794 0.243195 0.259256 0.147118 0.129993 0.259164 0.255304 0.283367 0.278446 0.246982 0.303904 0.354703 0.399347 0.281474 0.235554 + 225.000000 0.139960 0.162195 0.153661 0.157287 0.254750 0.228499 0.227327 0.250749 0.244329 0.140946 0.126466 0.258068 0.257753 0.300886 0.305712 0.259658 0.315650 0.357979 0.382926 0.257968 0.221280 + 226.000000 0.144133 0.157805 0.156832 0.147603 0.266336 0.237629 0.231578 0.243081 0.246688 0.149609 0.129307 0.254354 0.251965 0.316950 0.308064 0.254773 0.301619 0.361932 0.390731 0.279758 0.226806 + 227.000000 0.142806 0.158119 0.151965 0.159115 0.268452 0.228019 0.231650 0.249241 0.256839 0.148948 0.131645 0.249543 0.256192 0.334708 0.297194 0.252625 0.316653 0.361254 0.399342 0.270925 0.235253 + 228.000000 0.144690 0.165342 0.154222 0.150810 0.270683 0.232964 0.212855 0.251886 0.252649 0.146971 0.136569 0.259126 0.259927 0.306721 0.288659 0.257406 0.320873 0.367623 0.395809 0.266927 0.234765 + 229.000000 0.146533 0.162448 0.161443 0.149261 0.261040 0.239108 0.198540 0.266518 0.253913 0.138899 0.137464 0.274014 0.258330 0.279317 0.256909 0.252754 0.327624 0.386902 0.387924 0.281476 0.229121 + 230.000000 0.144855 0.159256 0.152998 0.153352 0.264519 0.229863 0.207239 0.243164 0.263892 0.144578 0.130431 0.248613 0.259623 0.303612 0.260195 0.257619 0.295917 0.361409 0.399115 0.291525 0.231579 + 231.000000 0.146800 0.161616 0.150307 0.154776 0.264104 0.232507 0.231499 0.257151 0.245640 0.146452 0.129679 0.253825 0.264667 0.319385 0.297783 0.247118 0.320371 0.366082 0.385646 0.259887 0.235634 + 232.000000 0.148977 0.165559 0.157778 0.158212 0.265020 0.233750 0.224821 0.255661 0.267241 0.139762 0.133583 0.258690 0.255245 0.322632 0.293464 0.268696 0.309764 0.370533 0.399970 0.280997 0.229654 + 233.000000 0.148852 0.159811 0.155153 0.154960 0.264661 0.244626 0.210831 0.249752 0.262003 0.145204 0.136607 0.266870 0.257413 0.305698 0.274104 0.258729 0.298615 0.374727 0.397500 0.295541 0.236001 + 234.000000 0.145515 0.156651 0.153288 0.150514 0.265145 0.233376 0.235515 0.248252 0.235841 0.149512 0.131590 0.247833 0.250701 0.325541 0.289205 0.262606 0.304732 0.367091 0.380665 0.257245 0.236210 + 235.000000 0.146578 0.163943 0.154364 0.153758 0.267569 0.226260 0.245664 0.252688 0.253901 0.143495 0.127917 0.251060 0.257852 0.341362 0.304601 0.251399 0.317814 0.361435 0.391874 0.267518 0.228306 + 236.000000 0.142862 0.156463 0.153891 0.155834 0.255618 0.231297 0.231164 0.244397 0.250053 0.146159 0.129997 0.254641 0.251489 0.329728 0.287386 0.258392 0.284190 0.362652 0.382975 0.275247 0.238955 + 237.000000 0.146116 0.148217 0.149529 0.156120 0.271044 0.232369 0.233358 0.246499 0.246657 0.144168 0.131788 0.251003 0.239928 0.353538 0.278213 0.250617 0.315676 0.363333 0.380611 0.270916 0.224176 + 238.000000 0.146257 0.154601 0.152049 0.150641 0.259207 0.237263 0.226977 0.253905 0.245715 0.142088 0.131206 0.250679 0.247969 0.341744 0.273303 0.249821 0.302984 0.373122 0.368236 0.282749 0.229838 + 239.000000 0.146077 0.155500 0.154435 0.154359 0.259949 0.224938 0.242397 0.252032 0.247559 0.138150 0.128638 0.253322 0.255623 0.355221 0.281175 0.243734 0.304551 0.363110 0.366286 0.272093 0.228564 + 240.000000 0.144711 0.153856 0.154300 0.159642 0.267844 0.229475 0.242213 0.233649 0.248090 0.143984 0.127756 0.254618 0.254360 0.367266 0.288207 0.266779 0.287249 0.353088 0.372002 0.275812 0.220896 + 241.000000 0.150304 0.157562 0.150420 0.156343 0.257490 0.235704 0.248597 0.254880 0.238023 0.144487 0.127556 0.261359 0.250666 0.369286 0.274581 0.248157 0.292254 0.369100 0.351410 0.281793 0.238296 + 242.000000 0.156674 0.161001 0.156076 0.148309 0.275662 0.232686 0.252931 0.264904 0.244432 0.144786 0.127667 0.252004 0.248392 0.378661 0.281479 0.258371 0.324259 0.373275 0.367365 0.268070 0.233721 + 243.000000 0.146909 0.162411 0.157927 0.158153 0.263496 0.230903 0.248349 0.247589 0.242401 0.142729 0.132796 0.272403 0.255724 0.367800 0.291821 0.264054 0.294002 0.365120 0.366531 0.257123 0.235004 + 244.000000 0.144619 0.156690 0.156022 0.159286 0.262327 0.239381 0.236968 0.250102 0.262094 0.143963 0.134316 0.252682 0.247494 0.340882 0.297525 0.257448 0.302742 0.374001 0.395843 0.298055 0.229296 + 245.000000 0.147052 0.161626 0.159813 0.150734 0.265993 0.235657 0.227739 0.241801 0.248542 0.144986 0.131662 0.275647 0.267157 0.321890 0.286020 0.250957 0.292982 0.361775 0.384256 0.278426 0.230765 + 246.000000 0.140629 0.159807 0.154914 0.153611 0.258882 0.234804 0.213226 0.251390 0.251169 0.143675 0.130628 0.254506 0.253634 0.305290 0.274402 0.258203 0.308606 0.371946 0.388807 0.283839 0.222836 + 247.000000 0.145129 0.155668 0.150230 0.152797 0.265131 0.230223 0.221132 0.247028 0.251218 0.143801 0.132718 0.246658 0.258378 0.310513 0.280768 0.250265 0.310931 0.362539 0.389934 0.270234 0.232043 + 248.000000 0.143427 0.155103 0.150722 0.155048 0.266308 0.235094 0.218596 0.247198 0.247695 0.149263 0.132058 0.250091 0.258047 0.310303 0.287915 0.254473 0.311293 0.364885 0.391897 0.270582 0.232777 + 249.000000 0.144512 0.160806 0.154470 0.157118 0.255297 0.240341 0.217026 0.252218 0.254228 0.144498 0.126530 0.265334 0.262673 0.293660 0.285375 0.254512 0.302053 0.369756 0.390415 0.291588 0.222373 + 250.000000 0.143965 0.159949 0.148864 0.157811 0.259299 0.220599 0.204682 0.256143 0.254559 0.145477 0.125207 0.259533 0.258235 0.286969 0.265444 0.250577 0.317540 0.355590 0.394133 0.256682 0.237899 + 251.000000 0.147390 0.158523 0.151079 0.156171 0.268218 0.234379 0.226857 0.255625 0.259245 0.146791 0.127947 0.245436 0.263467 0.315633 0.296152 0.246424 0.321685 0.367368 0.399580 0.283955 0.227641 + 252.000000 0.140216 0.160253 0.148880 0.151116 0.259957 0.230342 0.223432 0.241709 0.240794 0.147647 0.129530 0.257080 0.244649 0.325793 0.281099 0.256545 0.296351 0.358880 0.381209 0.262686 0.232210 + 253.000000 0.145740 0.155500 0.151150 0.153184 0.262103 0.230436 0.220720 0.251198 0.252268 0.140485 0.126617 0.246436 0.258772 0.314256 0.274196 0.249390 0.310671 0.364331 0.385207 0.279495 0.220756 + 254.000000 0.145483 0.160572 0.155207 0.148265 0.263178 0.230014 0.204229 0.260196 0.247676 0.147063 0.125694 0.259982 0.256776 0.282292 0.266918 0.251556 0.321200 0.369505 0.388981 0.267892 0.230465 + 255.000000 0.147211 0.157142 0.154542 0.159243 0.261869 0.241431 0.202935 0.258758 0.255034 0.142972 0.133684 0.259132 0.259694 0.280965 0.288575 0.265328 0.318134 0.373286 0.393946 0.274159 0.230187 + 256.000000 0.143737 0.159312 0.152489 0.158367 0.261532 0.230201 0.221069 0.255059 0.249442 0.149255 0.129919 0.264306 0.255941 0.295155 0.291041 0.252902 0.323913 0.361752 0.394379 0.259270 0.239333 + 257.000000 0.149347 0.161440 0.155229 0.158823 0.273709 0.234757 0.235594 0.256164 0.259274 0.154154 0.130321 0.252032 0.266021 0.310162 0.317994 0.258205 0.327817 0.363444 0.408917 0.271263 0.242291 + 258.000000 0.147204 0.160156 0.157612 0.159787 0.264339 0.235737 0.243181 0.251030 0.243219 0.145667 0.127067 0.262351 0.263640 0.319190 0.324931 0.266031 0.317334 0.357560 0.386839 0.253786 0.226595 + 259.000000 0.144215 0.164579 0.157375 0.152684 0.265721 0.232703 0.245862 0.249961 0.246687 0.148801 0.126899 0.263190 0.258947 0.328720 0.324698 0.251200 0.317003 0.357882 0.391447 0.266803 0.228182 + 260.000000 0.141530 0.157006 0.156104 0.154452 0.246756 0.233963 0.229416 0.254254 0.250285 0.143024 0.131135 0.251741 0.245600 0.303986 0.304858 0.255723 0.295119 0.369221 0.382863 0.273526 0.239208 + 261.000000 0.149877 0.153942 0.149554 0.157372 0.270159 0.235188 0.233864 0.247995 0.253503 0.143150 0.124564 0.251912 0.252314 0.325427 0.311281 0.254668 0.317795 0.352605 0.393871 0.268842 0.216744 + 262.000000 0.144582 0.158131 0.161970 0.151533 0.263737 0.234385 0.242169 0.253847 0.244204 0.148694 0.131824 0.249991 0.261855 0.320103 0.323961 0.256055 0.313236 0.367958 0.387632 0.263627 0.237173 + 263.000000 0.149227 0.162519 0.157943 0.152729 0.262044 0.239868 0.236997 0.254562 0.248510 0.141680 0.131409 0.269383 0.260865 0.299392 0.308905 0.252886 0.324624 0.368889 0.386469 0.271184 0.222768 + 264.000000 0.141756 0.163044 0.152318 0.152810 0.259311 0.222252 0.209829 0.258197 0.252261 0.143376 0.131926 0.259699 0.247893 0.287150 0.274274 0.250577 0.326001 0.362705 0.391723 0.256060 0.238703 + 265.000000 0.144506 0.159297 0.148925 0.155284 0.266963 0.237743 0.196353 0.252722 0.258631 0.149343 0.134892 0.248650 0.260844 0.299496 0.275757 0.253855 0.314325 0.370500 0.398439 0.282339 0.234300 + 266.000000 0.147355 0.151600 0.153603 0.155707 0.257763 0.244311 0.228277 0.238182 0.251239 0.141203 0.130628 0.258636 0.250556 0.324918 0.289778 0.260177 0.277165 0.363300 0.380956 0.293279 0.222706 + 267.000000 0.144187 0.157865 0.152783 0.157001 0.268260 0.226693 0.248185 0.244394 0.243827 0.143256 0.128047 0.250570 0.262984 0.364020 0.292295 0.248744 0.309205 0.359243 0.372937 0.272909 0.221578 + 268.000000 0.146247 0.157468 0.153619 0.154065 0.259342 0.225401 0.243247 0.252871 0.248045 0.145658 0.129518 0.249250 0.244456 0.363933 0.282372 0.256927 0.296375 0.364260 0.368890 0.264157 0.242692 + 269.000000 0.146351 0.155054 0.158099 0.155495 0.265027 0.243776 0.245815 0.252620 0.245784 0.150772 0.132729 0.251277 0.259856 0.361515 0.308044 0.250784 0.296542 0.377860 0.372557 0.292735 0.235370 + 270.000000 0.147065 0.160581 0.155729 0.156982 0.261920 0.238465 0.220130 0.252880 0.255453 0.142060 0.130273 0.256316 0.246891 0.321430 0.264266 0.273465 0.302097 0.373581 0.389982 0.286772 0.224390 + 271.000000 0.145273 0.161881 0.147619 0.162093 0.259980 0.231895 0.222819 0.255134 0.250085 0.144411 0.130435 0.259195 0.265569 0.317450 0.278445 0.252518 0.314450 0.365942 0.386522 0.263699 0.235523 + 272.000000 0.150624 0.157591 0.152363 0.154042 0.264294 0.236166 0.236107 0.258572 0.250831 0.142213 0.127877 0.254029 0.247527 0.317443 0.297202 0.254436 0.322040 0.369311 0.389032 0.268960 0.225695 + 273.000000 0.144368 0.154643 0.155162 0.150259 0.264808 0.231236 0.235230 0.239457 0.244224 0.145145 0.127293 0.251731 0.253121 0.321001 0.312648 0.255476 0.300945 0.350780 0.385660 0.263034 0.224614 + 274.000000 0.149797 0.158624 0.152345 0.148412 0.259010 0.238715 0.231522 0.250308 0.259189 0.147348 0.124671 0.258975 0.242704 0.303033 0.325229 0.244886 0.299215 0.349228 0.394043 0.289926 0.232185 + 275.000000 0.151408 0.152220 0.149739 0.149929 0.267042 0.242754 0.226306 0.250058 0.251094 0.146779 0.126707 0.244315 0.257852 0.287403 0.324081 0.244859 0.321327 0.353469 0.392530 0.277358 0.226062 + 276.000000 0.148275 0.156201 0.153325 0.152595 0.274115 0.230033 0.212049 0.256262 0.244535 0.144805 0.131018 0.259280 0.259702 0.295721 0.290265 0.255082 0.338854 0.359231 0.388730 0.246244 0.226808 + 277.000000 0.147231 0.159656 0.148761 0.151070 0.269775 0.226779 0.229065 0.249220 0.253317 0.146174 0.128493 0.253096 0.252710 0.322109 0.281575 0.244825 0.318542 0.358081 0.394815 0.268568 0.231539 + 278.000000 0.140588 0.165255 0.153457 0.152534 0.254424 0.239031 0.207844 0.251832 0.248335 0.141732 0.136078 0.270710 0.263065 0.315454 0.250035 0.248601 0.301806 0.377492 0.374496 0.292357 0.230085 + 279.000000 0.146832 0.154955 0.151009 0.158065 0.271297 0.235033 0.236061 0.244441 0.248368 0.148166 0.130495 0.241521 0.262817 0.349738 0.282109 0.261264 0.304085 0.364204 0.383324 0.284161 0.228430 + 280.000000 0.148904 0.151252 0.153039 0.155237 0.264668 0.226224 0.251089 0.245785 0.237008 0.143318 0.129602 0.254771 0.245605 0.364177 0.283622 0.254278 0.295023 0.358699 0.365879 0.256324 0.237826 + 281.000000 0.147475 0.152541 0.150690 0.153444 0.268921 0.238297 0.240668 0.254977 0.240574 0.149093 0.129297 0.243063 0.249014 0.358817 0.291111 0.250209 0.314420 0.372677 0.373639 0.277294 0.229823 + 282.000000 0.142464 0.158575 0.154355 0.153414 0.257479 0.228526 0.224795 0.250840 0.243296 0.143513 0.126200 0.261127 0.256827 0.343195 0.259027 0.252057 0.298842 0.365788 0.364671 0.279702 0.227859 + 283.000000 0.148217 0.161697 0.157214 0.158701 0.257591 0.225694 0.237095 0.253508 0.262972 0.141419 0.123422 0.252950 0.263259 0.333285 0.265849 0.259360 0.292501 0.363014 0.388410 0.296142 0.229282 + 284.000000 0.151848 0.158647 0.150076 0.154233 0.269709 0.227490 0.243395 0.255705 0.249601 0.144696 0.125044 0.262953 0.244349 0.353143 0.274291 0.246541 0.316692 0.361412 0.384748 0.266497 0.231726 + 285.000000 0.148235 0.156392 0.154651 0.156371 0.258524 0.242710 0.232312 0.253280 0.252009 0.146526 0.125430 0.252704 0.260417 0.330734 0.295072 0.255624 0.291443 0.372204 0.381253 0.294404 0.226516 + 286.000000 0.148394 0.165164 0.152120 0.157205 0.266461 0.228574 0.231424 0.257449 0.266506 0.148606 0.127738 0.253869 0.264249 0.347309 0.266312 0.245203 0.310668 0.367599 0.393506 0.296282 0.240571 + 287.000000 0.143303 0.157913 0.151743 0.152722 0.262216 0.228406 0.228818 0.240205 0.249511 0.144270 0.128158 0.252662 0.264582 0.347016 0.265125 0.245900 0.290496 0.357794 0.369935 0.292040 0.228675 + 288.000000 0.148730 0.159799 0.152373 0.149073 0.264629 0.234498 0.251851 0.253757 0.231224 0.142219 0.127577 0.261874 0.240944 0.371430 0.289633 0.251218 0.307925 0.368575 0.357272 0.261160 0.225379 + 289.000000 0.150542 0.156464 0.156363 0.157685 0.266969 0.238361 0.244516 0.257074 0.244949 0.143407 0.132698 0.261500 0.246368 0.370385 0.281128 0.264132 0.308758 0.376431 0.365604 0.275178 0.232530 + 290.000000 0.142377 0.155504 0.149137 0.159806 0.257769 0.229027 0.239467 0.237079 0.239908 0.143769 0.129679 0.249261 0.264728 0.360267 0.274378 0.255922 0.281661 0.356046 0.355050 0.280389 0.233116 + 291.000000 0.148159 0.155210 0.150682 0.155469 0.273010 0.236231 0.250432 0.246666 0.232064 0.147289 0.131111 0.257626 0.255148 0.377793 0.291693 0.248366 0.309626 0.365769 0.358915 0.267032 0.227612 + 292.000000 0.149373 0.151898 0.157436 0.157816 0.264508 0.228046 0.254901 0.251968 0.245222 0.142991 0.129246 0.244404 0.253487 0.375713 0.295022 0.259532 0.297874 0.365731 0.360167 0.269462 0.235968 + 293.000000 0.149269 0.166040 0.152696 0.153712 0.261910 0.241128 0.252334 0.251003 0.241535 0.143755 0.126695 0.269356 0.258969 0.371966 0.286542 0.248804 0.294714 0.369977 0.360079 0.296188 0.223278 + 294.000000 0.146166 0.159329 0.150132 0.160048 0.267199 0.239263 0.237469 0.249750 0.239862 0.153483 0.128149 0.257906 0.258087 0.359431 0.289118 0.261678 0.300541 0.368853 0.374455 0.271586 0.234557 + 295.000000 0.145246 0.154504 0.154591 0.161836 0.261438 0.226694 0.232076 0.248447 0.254870 0.142755 0.123591 0.251642 0.260010 0.331122 0.291984 0.261527 0.300871 0.357377 0.388386 0.269819 0.224697 + 296.000000 0.144329 0.163212 0.148870 0.150839 0.268071 0.237854 0.209122 0.256452 0.252871 0.150807 0.130754 0.247195 0.251761 0.290797 0.283649 0.250430 0.326071 0.372709 0.399092 0.281367 0.230221 + 297.000000 0.140730 0.162769 0.151822 0.153485 0.261034 0.223205 0.206849 0.252042 0.238390 0.146528 0.128834 0.261169 0.260861 0.291369 0.277717 0.259941 0.316318 0.357449 0.381663 0.239462 0.235724 + 298.000000 0.143550 0.158734 0.152234 0.153784 0.267718 0.233514 0.230835 0.250310 0.252776 0.149261 0.132930 0.256119 0.251656 0.333962 0.299147 0.245682 0.315422 0.365058 0.394435 0.275177 0.234893 + 299.000000 0.143491 0.158339 0.150324 0.152608 0.256521 0.236617 0.225107 0.242896 0.254507 0.140797 0.129739 0.244809 0.244977 0.311593 0.296853 0.259316 0.292474 0.362441 0.388636 0.285032 0.223156 + 300.000000 0.146608 0.158215 0.147907 0.157043 0.263319 0.231119 0.222381 0.251602 0.244478 0.140575 0.127484 0.260385 0.264217 0.319736 0.277319 0.246257 0.316387 0.361012 0.377853 0.261218 0.222611 + 301.000000 0.146308 0.151287 0.156772 0.149971 0.260982 0.231822 0.222090 0.258727 0.250523 0.145067 0.129114 0.241604 0.240068 0.326239 0.270957 0.258863 0.306874 0.373755 0.383394 0.276993 0.235379 + 302.000000 0.144667 0.162089 0.155310 0.147045 0.266767 0.236810 0.231306 0.246108 0.247854 0.145884 0.128416 0.261379 0.254034 0.342448 0.298935 0.248672 0.301779 0.364137 0.381032 0.282586 0.218872 + 303.000000 0.146146 0.158708 0.148001 0.151483 0.272177 0.227820 0.232851 0.246932 0.239337 0.148858 0.128189 0.255509 0.253423 0.338787 0.277197 0.249536 0.317371 0.358443 0.382595 0.256676 0.230396 + 304.000000 0.143759 0.161766 0.145580 0.154091 0.259799 0.238155 0.188627 0.252489 0.249336 0.150206 0.127944 0.260561 0.266819 0.280129 0.269565 0.246658 0.306779 0.364373 0.388628 0.276966 0.230970 + 305.000000 0.142570 0.160322 0.152841 0.159146 0.265053 0.225007 0.195387 0.261584 0.259638 0.150498 0.128962 0.271904 0.249131 0.295013 0.252752 0.250312 0.328935 0.365781 0.403995 0.268897 0.240564 + 306.000000 0.143145 0.155867 0.154554 0.154898 0.265259 0.218281 0.240815 0.251750 0.243853 0.150370 0.122372 0.249762 0.255910 0.331833 0.297696 0.247844 0.317890 0.352598 0.388928 0.249944 0.235884 + 307.000000 0.144577 0.158638 0.153544 0.151633 0.268877 0.237020 0.245788 0.246345 0.238034 0.152391 0.127202 0.247171 0.256702 0.351314 0.311403 0.255791 0.302999 0.365161 0.380770 0.271072 0.227754 + 308.000000 0.145068 0.162729 0.151974 0.151392 0.258933 0.233508 0.243158 0.245908 0.241809 0.146745 0.126806 0.262661 0.241126 0.342802 0.302820 0.258674 0.291494 0.360145 0.379497 0.263033 0.233090 + 309.000000 0.140458 0.153153 0.152784 0.153725 0.249179 0.232819 0.220660 0.253491 0.243610 0.139299 0.131467 0.252360 0.254809 0.296309 0.296872 0.243016 0.309974 0.365673 0.376655 0.265121 0.229688 + 310.000000 0.142498 0.163205 0.153704 0.150453 0.269621 0.230289 0.225233 0.236929 0.248006 0.147821 0.128030 0.258172 0.265652 0.312846 0.301800 0.254650 0.305361 0.350417 0.392714 0.270036 0.221797 + 311.000000 0.145896 0.155088 0.154096 0.152283 0.259380 0.226864 0.242553 0.246936 0.243270 0.145751 0.125940 0.247924 0.256108 0.330353 0.315202 0.250787 0.295326 0.351632 0.379586 0.252246 0.237084 + 312.000000 0.150088 0.158751 0.155624 0.146400 0.270229 0.235743 0.222508 0.254843 0.246591 0.150969 0.128507 0.253816 0.238007 0.325281 0.296637 0.265962 0.305415 0.366257 0.389507 0.262435 0.236611 + 313.000000 0.150111 0.158023 0.148512 0.160288 0.266900 0.240217 0.225238 0.246983 0.259549 0.144663 0.130055 0.254809 0.272879 0.314700 0.283929 0.248560 0.305268 0.365259 0.395578 0.292753 0.226625 + 314.000000 0.146519 0.162525 0.150080 0.159553 0.269371 0.219126 0.231302 0.249632 0.255465 0.144557 0.130007 0.254659 0.254914 0.334031 0.266454 0.262904 0.316512 0.356081 0.395408 0.255463 0.237010 + 315.000000 0.137350 0.164358 0.162694 0.151165 0.257010 0.232725 0.216537 0.257560 0.240089 0.147288 0.134772 0.272322 0.253855 0.327542 0.281749 0.261518 0.308439 0.378140 0.374921 0.263935 0.233909 + 316.000000 0.142857 0.164567 0.150374 0.152256 0.273539 0.228335 0.211082 0.248849 0.253735 0.151497 0.127399 0.252368 0.260582 0.324466 0.253922 0.254132 0.320680 0.363270 0.396629 0.282306 0.226289 + 317.000000 0.142732 0.155040 0.156677 0.159430 0.258331 0.233103 0.235582 0.245839 0.253718 0.148028 0.126093 0.264339 0.247131 0.342955 0.289106 0.256312 0.287991 0.363428 0.387243 0.287877 0.230687 + 318.000000 0.148481 0.153484 0.155515 0.151700 0.269576 0.234414 0.228434 0.245271 0.242888 0.147567 0.124918 0.247025 0.248422 0.329743 0.297158 0.272110 0.297362 0.359325 0.384145 0.260414 0.224849 + 319.000000 0.142482 0.163463 0.154830 0.150994 0.263762 0.226442 0.207568 0.254715 0.249227 0.146973 0.128971 0.264212 0.267296 0.299405 0.263490 0.247259 0.316705 0.366193 0.388542 0.269240 0.233606 + 320.000000 0.143766 0.167213 0.156725 0.147909 0.258968 0.230970 0.201847 0.256935 0.247627 0.142891 0.128622 0.263427 0.258508 0.290698 0.256951 0.259885 0.308927 0.372184 0.383219 0.270800 0.228943 + 321.000000 0.147844 0.158999 0.152395 0.151517 0.269944 0.236104 0.227401 0.247235 0.259319 0.145373 0.130880 0.262331 0.247830 0.321413 0.284171 0.247735 0.313548 0.364593 0.399659 0.289014 0.225109 + 322.000000 0.143841 0.156329 0.158984 0.149209 0.261977 0.237395 0.212143 0.247105 0.246254 0.146220 0.134289 0.258629 0.256462 0.294226 0.296400 0.261531 0.299532 0.365212 0.386678 0.269301 0.234920 + 323.000000 0.145780 0.155285 0.155814 0.156207 0.268813 0.232616 0.210502 0.257430 0.259136 0.150266 0.130024 0.262490 0.245159 0.309322 0.285425 0.257414 0.320393 0.365633 0.403362 0.275465 0.235478 + 324.000000 0.148065 0.160713 0.151055 0.156947 0.260329 0.240524 0.215273 0.255504 0.256956 0.148297 0.129143 0.247546 0.258110 0.299268 0.287075 0.263226 0.301118 0.372580 0.395442 0.283483 0.236589 + 325.000000 0.141099 0.158435 0.155133 0.158975 0.262623 0.227169 0.200891 0.263792 0.247940 0.145943 0.132119 0.262559 0.258920 0.284187 0.251182 0.256734 0.337740 0.374489 0.391681 0.259759 0.231403 + 326.000000 0.143468 0.160317 0.157030 0.154468 0.263753 0.229370 0.229138 0.243337 0.252050 0.143511 0.130571 0.250437 0.264931 0.303119 0.310375 0.262479 0.308217 0.355713 0.392979 0.265859 0.227583 + 327.000000 0.147062 0.154723 0.152952 0.149928 0.267376 0.229567 0.246128 0.241659 0.244541 0.144399 0.130763 0.247310 0.248588 0.327138 0.332408 0.252504 0.313231 0.342384 0.386841 0.249184 0.232899 + 328.000000 0.149199 0.154734 0.153496 0.149828 0.268618 0.231853 0.245668 0.243288 0.242770 0.143683 0.127314 0.248645 0.255540 0.320280 0.349015 0.250829 0.319108 0.324984 0.384734 0.251092 0.224940 + 329.000000 0.147104 0.149511 0.161838 0.154425 0.262126 0.240053 0.242396 0.230488 0.256180 0.144800 0.132724 0.265668 0.254325 0.304420 0.356982 0.247201 0.306299 0.307654 0.395592 0.280233 0.232156 + 330.000000 0.146176 0.155675 0.155569 0.152837 0.259562 0.232830 0.256234 0.222001 0.250040 0.143536 0.128217 0.248352 0.253038 0.310092 0.367327 0.260965 0.301642 0.296159 0.386283 0.269495 0.231462 + 331.000000 0.140867 0.155786 0.157369 0.149085 0.265333 0.230286 0.245625 0.204159 0.250952 0.147204 0.132574 0.260994 0.255475 0.306263 0.364863 0.249807 0.304104 0.264743 0.392035 0.276174 0.230894 + 332.000000 0.142997 0.155319 0.152487 0.152499 0.260870 0.230891 0.248593 0.218293 0.251747 0.142939 0.130348 0.253002 0.248556 0.301096 0.365589 0.254892 0.326641 0.277633 0.380143 0.279995 0.227672 + 333.000000 0.140103 0.148980 0.156908 0.152401 0.269196 0.225626 0.243839 0.236309 0.235971 0.150768 0.130438 0.249259 0.253148 0.311899 0.359909 0.245165 0.363916 0.267388 0.372169 0.267069 0.232586 + 334.000000 0.142744 0.152338 0.158414 0.157231 0.256181 0.230131 0.253843 0.249226 0.233404 0.140369 0.131014 0.248823 0.256521 0.307359 0.369745 0.251405 0.360401 0.289410 0.359546 0.260496 0.229830 + 335.000000 0.144228 0.151349 0.154505 0.159946 0.264447 0.232728 0.239333 0.234821 0.250603 0.144124 0.129702 0.250097 0.257195 0.295785 0.357147 0.261988 0.337618 0.297647 0.385521 0.274352 0.225450 + 336.000000 0.147748 0.157607 0.155544 0.153432 0.262644 0.237462 0.255390 0.234173 0.252468 0.142326 0.131113 0.248356 0.256794 0.307294 0.372193 0.255147 0.327776 0.305251 0.385908 0.277234 0.228898 + 337.000000 0.148115 0.153827 0.155921 0.152399 0.272621 0.233036 0.252971 0.222049 0.248026 0.150261 0.128301 0.252004 0.263717 0.314778 0.367949 0.247800 0.325929 0.273001 0.392420 0.268422 0.232198 + 338.000000 0.148945 0.154863 0.144179 0.157075 0.267476 0.229448 0.255158 0.222008 0.257986 0.148374 0.126499 0.244589 0.252080 0.307693 0.366258 0.249060 0.328244 0.270182 0.392958 0.281808 0.237012 + 339.000000 0.149456 0.151714 0.157411 0.153219 0.268959 0.233542 0.255463 0.229909 0.240097 0.145397 0.128449 0.254658 0.256667 0.320101 0.367572 0.257329 0.324077 0.283059 0.380875 0.256699 0.228616 + 340.000000 0.142358 0.148249 0.165072 0.148957 0.260040 0.227278 0.246539 0.214256 0.247283 0.142492 0.127802 0.253291 0.249552 0.307133 0.359349 0.259218 0.300164 0.270996 0.384431 0.268142 0.225924 + 341.000000 0.141993 0.149230 0.156288 0.153154 0.253682 0.228187 0.245207 0.219346 0.248197 0.142726 0.129803 0.251185 0.252421 0.293008 0.357903 0.249723 0.309836 0.283411 0.381814 0.264321 0.235970 + 342.000000 0.142278 0.151756 0.157323 0.153533 0.268507 0.232892 0.249770 0.235097 0.246974 0.148292 0.126057 0.243812 0.249657 0.321321 0.361867 0.253890 0.334498 0.311248 0.390763 0.272800 0.217553 + 343.000000 0.143841 0.150285 0.154636 0.156083 0.262935 0.230271 0.244669 0.236973 0.236212 0.148600 0.128598 0.243663 0.256316 0.302090 0.358602 0.262893 0.328411 0.301149 0.378434 0.252016 0.235191 + 344.000000 0.144031 0.154988 0.155303 0.148091 0.260812 0.233941 0.252245 0.209807 0.252310 0.147657 0.125190 0.261368 0.248286 0.301814 0.367266 0.243782 0.309538 0.268203 0.388651 0.287231 0.227429 + 345.000000 0.139905 0.153076 0.160433 0.152413 0.257123 0.226829 0.245431 0.208840 0.257706 0.147238 0.125136 0.257212 0.245650 0.293477 0.360615 0.260726 0.303801 0.258097 0.391735 0.293861 0.229787 + 346.000000 0.142570 0.153077 0.158830 0.148532 0.268443 0.229066 0.248254 0.207901 0.243609 0.153639 0.126987 0.255541 0.254848 0.308397 0.362580 0.256970 0.304684 0.266904 0.390145 0.266770 0.235223 + 347.000000 0.145757 0.152237 0.160866 0.152113 0.257605 0.235164 0.251404 0.220288 0.252020 0.146917 0.126868 0.254691 0.253912 0.299353 0.360901 0.256985 0.297079 0.302286 0.389649 0.275154 0.234272 + 348.000000 0.149982 0.155998 0.163087 0.147312 0.262509 0.233581 0.258097 0.228915 0.251086 0.141595 0.123176 0.261109 0.248004 0.314918 0.361148 0.257951 0.305537 0.307412 0.386094 0.271482 0.222754 + 349.000000 0.145830 0.156135 0.161771 0.155629 0.261347 0.220764 0.246429 0.242447 0.250812 0.140637 0.128129 0.252110 0.261730 0.304266 0.353005 0.261855 0.323312 0.303228 0.387601 0.251714 0.233178 + 350.000000 0.149478 0.149385 0.156748 0.162426 0.269413 0.238277 0.253336 0.234436 0.258967 0.150266 0.127612 0.253712 0.249488 0.320972 0.362097 0.262684 0.320228 0.309360 0.403737 0.278765 0.232412 + 351.000000 0.144164 0.154242 0.161027 0.152265 0.256908 0.233308 0.255783 0.227938 0.241383 0.148437 0.127822 0.254377 0.262383 0.307457 0.361340 0.248702 0.303576 0.314823 0.383564 0.255692 0.238071 + 352.000000 0.150218 0.160871 0.156969 0.159098 0.266194 0.242460 0.250879 0.246367 0.260437 0.146800 0.124313 0.265583 0.258362 0.310938 0.353567 0.254432 0.325844 0.338000 0.401404 0.289157 0.220874 + 353.000000 0.144035 0.156063 0.153430 0.157684 0.264571 0.230882 0.248354 0.243496 0.235961 0.146791 0.128546 0.251293 0.256054 0.316007 0.347706 0.261744 0.331243 0.332306 0.379976 0.238801 0.230002 + 354.000000 0.144095 0.155573 0.156714 0.153808 0.273291 0.228044 0.246184 0.229776 0.253980 0.148711 0.128975 0.250876 0.259203 0.319597 0.352310 0.250806 0.326561 0.312184 0.400309 0.265787 0.225963 + 355.000000 0.143287 0.150600 0.153661 0.154959 0.257436 0.234066 0.241236 0.237707 0.243662 0.146131 0.129995 0.241302 0.257627 0.288893 0.357571 0.253462 0.325791 0.312918 0.381719 0.264011 0.235051 + 356.000000 0.149113 0.151002 0.155812 0.149958 0.272408 0.227347 0.246634 0.240672 0.249873 0.143205 0.131161 0.251862 0.240075 0.316390 0.356284 0.254550 0.342850 0.295322 0.386710 0.264011 0.230312 + 357.000000 0.143781 0.155618 0.162081 0.151283 0.265031 0.230283 0.259962 0.212347 0.249024 0.149082 0.128004 0.254969 0.260681 0.320165 0.372981 0.247082 0.308183 0.268012 0.392301 0.268697 0.233288 + 358.000000 0.143860 0.154530 0.166325 0.155150 0.255376 0.240039 0.252609 0.221690 0.257542 0.142014 0.130917 0.271321 0.247023 0.300592 0.371438 0.263268 0.313387 0.290092 0.387900 0.294253 0.225940 + 359.000000 0.141751 0.156488 0.160968 0.157967 0.261736 0.217763 0.245881 0.226689 0.253131 0.141360 0.127572 0.259161 0.265349 0.304539 0.356503 0.257501 0.325170 0.266463 0.389020 0.262384 0.228656 + 360.000000 0.145684 0.153209 0.162217 0.148142 0.267606 0.230784 0.255884 0.217691 0.248979 0.148237 0.132363 0.253975 0.249623 0.317957 0.369951 0.257191 0.313297 0.275179 0.389793 0.268394 0.238895 + 361.000000 0.145593 0.157544 0.156068 0.148566 0.266540 0.233690 0.241874 0.223884 0.255740 0.145704 0.130332 0.257781 0.254360 0.296042 0.362213 0.250014 0.317913 0.282669 0.393965 0.288469 0.227725 + 362.000000 0.144191 0.151719 0.163451 0.151051 0.260781 0.230390 0.253698 0.212689 0.250416 0.141419 0.132272 0.263089 0.244616 0.312267 0.368251 0.263321 0.313329 0.263546 0.381077 0.273602 0.231268 + 363.000000 0.142405 0.156993 0.162589 0.151720 0.257052 0.222350 0.253075 0.224289 0.251437 0.139992 0.130924 0.259842 0.252573 0.304720 0.365527 0.257028 0.324510 0.265931 0.380429 0.268999 0.234748 + 364.000000 0.145217 0.150852 0.160844 0.152118 0.255193 0.241927 0.242649 0.225264 0.250136 0.141997 0.128648 0.255675 0.258013 0.290029 0.362330 0.253798 0.300571 0.301069 0.385080 0.285740 0.221969 + 365.000000 0.146197 0.154797 0.156498 0.149824 0.265207 0.235206 0.248987 0.225458 0.243404 0.146558 0.132196 0.257994 0.245032 0.315683 0.363644 0.264065 0.301148 0.297954 0.385696 0.265358 0.232454 + 366.000000 0.142146 0.151363 0.161002 0.158667 0.265189 0.228705 0.245315 0.230228 0.254016 0.149149 0.129117 0.262136 0.257469 0.312176 0.354945 0.248662 0.321740 0.298781 0.399459 0.267370 0.233501 + 367.000000 0.145101 0.150598 0.159463 0.157374 0.267285 0.240277 0.247998 0.228829 0.251035 0.150616 0.133503 0.253344 0.251998 0.310687 0.361155 0.265176 0.319359 0.318706 0.395235 0.272682 0.234500 + 368.000000 0.144942 0.158929 0.155652 0.159153 0.263450 0.237494 0.252855 0.222169 0.251346 0.141252 0.134109 0.256994 0.269575 0.316927 0.367081 0.258321 0.305551 0.308281 0.390548 0.265795 0.224759 + 369.000000 0.148874 0.161074 0.162258 0.154978 0.260514 0.239107 0.265794 0.218372 0.261447 0.139798 0.133983 0.269479 0.254197 0.323595 0.379415 0.259724 0.293941 0.292994 0.395090 0.283631 0.231610 + 370.000000 0.149110 0.155529 0.168870 0.152497 0.277367 0.230678 0.263056 0.207264 0.245148 0.150293 0.132355 0.265559 0.264070 0.337169 0.374318 0.270004 0.300917 0.258828 0.392121 0.253121 0.237008 + 371.000000 0.146943 0.153596 0.157797 0.163800 0.260113 0.236379 0.251313 0.232032 0.265053 0.142870 0.132813 0.255827 0.260148 0.300117 0.368795 0.256591 0.329051 0.294700 0.397497 0.287016 0.235240 + 372.000000 0.145298 0.155099 0.156394 0.159382 0.262281 0.238413 0.255343 0.227008 0.248455 0.142579 0.137734 0.261945 0.259956 0.313570 0.374883 0.253194 0.329773 0.290483 0.383506 0.265242 0.234985 + 373.000000 0.145206 0.156136 0.157909 0.148755 0.265718 0.236942 0.253382 0.221957 0.246985 0.145244 0.131309 0.263742 0.252957 0.314326 0.373287 0.245344 0.321011 0.275018 0.386292 0.279368 0.225081 + 374.000000 0.144433 0.152953 0.162313 0.152148 0.264104 0.232226 0.251497 0.225185 0.247312 0.143783 0.130141 0.251268 0.249686 0.313321 0.368754 0.269484 0.316098 0.275445 0.383949 0.279921 0.224398 + 375.000000 0.141225 0.150703 0.158439 0.152970 0.255337 0.223307 0.247703 0.208769 0.255841 0.139262 0.131081 0.254392 0.252249 0.302979 0.360939 0.246811 0.300024 0.251491 0.388567 0.273186 0.231699 + 376.000000 0.145907 0.152481 0.163877 0.155651 0.265104 0.235847 0.244455 0.227158 0.252082 0.142802 0.130611 0.264015 0.255307 0.303563 0.359380 0.266729 0.321466 0.299567 0.388341 0.273432 0.223522 + 377.000000 0.147145 0.157456 0.153847 0.148524 0.265882 0.234212 0.254761 0.225962 0.251553 0.147152 0.129724 0.240734 0.259035 0.311150 0.369180 0.246929 0.309440 0.301390 0.392701 0.272870 0.233846 + 378.000000 0.144949 0.158176 0.155885 0.149968 0.269928 0.233453 0.244812 0.218048 0.255106 0.148605 0.130264 0.265019 0.247657 0.310181 0.355231 0.257022 0.307743 0.299048 0.398238 0.279469 0.229152 + 379.000000 0.150452 0.153328 0.153159 0.154834 0.257731 0.241232 0.252119 0.238990 0.238313 0.146448 0.130959 0.249933 0.263920 0.303541 0.366191 0.252421 0.305284 0.315627 0.379013 0.252453 0.239911 + 380.000000 0.149058 0.147110 0.165256 0.155288 0.267780 0.240848 0.245919 0.238294 0.258496 0.144288 0.127719 0.256687 0.253549 0.315143 0.357315 0.252441 0.317339 0.319310 0.399298 0.285489 0.219088 + 381.000000 0.145358 0.156949 0.156188 0.151673 0.259634 0.234249 0.252790 0.229889 0.252805 0.147023 0.128138 0.249096 0.247998 0.314364 0.356901 0.259173 0.292091 0.323599 0.392671 0.274432 0.234755 + 382.000000 0.146761 0.159874 0.151988 0.149819 0.272338 0.226847 0.244081 0.236300 0.253020 0.145815 0.127635 0.257058 0.258293 0.315860 0.335972 0.240248 0.327907 0.327491 0.396777 0.262047 0.225031 + 383.000000 0.144944 0.152654 0.166238 0.151320 0.256604 0.242461 0.248842 0.242043 0.246768 0.146864 0.129599 0.251498 0.257605 0.302043 0.349233 0.255635 0.306939 0.353315 0.386537 0.280325 0.226914 + 384.000000 0.149446 0.155153 0.151994 0.156760 0.265612 0.237381 0.243924 0.248433 0.248675 0.144144 0.128753 0.251981 0.249454 0.328070 0.340827 0.258982 0.311958 0.343457 0.389586 0.260433 0.226014 + 385.000000 0.148016 0.157152 0.158440 0.153175 0.270628 0.237748 0.236277 0.256673 0.254085 0.150572 0.127815 0.253347 0.250739 0.321524 0.327823 0.256987 0.322537 0.361418 0.399958 0.275999 0.229570 + 386.000000 0.150020 0.158877 0.154831 0.159025 0.263657 0.234357 0.233840 0.249005 0.259712 0.148670 0.125630 0.256219 0.271783 0.301909 0.308471 0.252771 0.304290 0.357362 0.400098 0.279065 0.236209 + 387.000000 0.153087 0.158585 0.151326 0.157106 0.281725 0.230168 0.226137 0.259430 0.264470 0.153464 0.123935 0.252200 0.257452 0.319649 0.288703 0.252698 0.335877 0.362046 0.413944 0.275555 0.233315 + 388.000000 0.145399 0.163395 0.158493 0.158082 0.262957 0.237433 0.195920 0.259211 0.253634 0.145154 0.130871 0.266970 0.265254 0.298002 0.262802 0.271443 0.311622 0.377166 0.389183 0.275273 0.227478 + 389.000000 0.149277 0.159752 0.152313 0.156198 0.263339 0.232123 0.219292 0.258087 0.255428 0.144396 0.128325 0.248529 0.269354 0.296659 0.273415 0.254673 0.314863 0.369708 0.392962 0.276272 0.232263 + 390.000000 0.148350 0.158667 0.155497 0.155036 0.267028 0.234231 0.231619 0.255584 0.252702 0.149479 0.126904 0.259019 0.259130 0.323626 0.296016 0.252627 0.312246 0.366774 0.393815 0.274192 0.234628 + 391.000000 0.149606 0.156719 0.158000 0.157066 0.272325 0.226043 0.230926 0.254041 0.253003 0.146466 0.125552 0.262365 0.251159 0.331896 0.279674 0.266809 0.316657 0.361832 0.394910 0.260171 0.230528 + 392.000000 0.143127 0.162042 0.157124 0.151074 0.255451 0.225602 0.220802 0.253738 0.252240 0.143955 0.127182 0.254733 0.258809 0.306147 0.277310 0.254672 0.298810 0.365629 0.385615 0.272352 0.236141 + 393.000000 0.140942 0.160325 0.150894 0.148422 0.260968 0.235910 0.218270 0.246594 0.243984 0.146060 0.135425 0.261976 0.247179 0.312821 0.286067 0.247375 0.307752 0.366507 0.384223 0.270614 0.233362 + 394.000000 0.142429 0.156886 0.154782 0.156660 0.261991 0.235605 0.227639 0.259871 0.241232 0.142181 0.128470 0.248168 0.254144 0.324153 0.296101 0.259926 0.327979 0.375109 0.379507 0.264799 0.215077 + 395.000000 0.140640 0.152936 0.158737 0.154736 0.265906 0.227501 0.224892 0.238243 0.252834 0.148703 0.127555 0.259826 0.249113 0.331625 0.287973 0.260502 0.292619 0.354600 0.393200 0.277388 0.227289 + 396.000000 0.145348 0.155319 0.151136 0.153267 0.266110 0.235330 0.219467 0.253859 0.249782 0.147396 0.126303 0.254787 0.251965 0.318532 0.278680 0.247781 0.317223 0.368069 0.389980 0.280406 0.223197 + 397.000000 0.148058 0.153881 0.148801 0.153357 0.255778 0.239068 0.224260 0.250209 0.245627 0.148305 0.127084 0.254137 0.255567 0.303577 0.286560 0.246845 0.294799 0.365450 0.382349 0.276202 0.236932 + 398.000000 0.143900 0.161145 0.152129 0.155810 0.265346 0.232861 0.204684 0.256819 0.258222 0.147946 0.127873 0.260425 0.251201 0.296847 0.267571 0.254387 0.321594 0.369606 0.400854 0.282180 0.228058 + 399.000000 0.147755 0.162739 0.153645 0.158681 0.264153 0.237060 0.216198 0.260564 0.251917 0.145894 0.131192 0.253604 0.275425 0.290293 0.290274 0.259392 0.322139 0.373988 0.392982 0.268783 0.233808 + 400.000000 0.149064 0.165132 0.152136 0.150405 0.273285 0.240438 0.236750 0.257639 0.248208 0.154162 0.127983 0.255793 0.249389 0.319188 0.320631 0.255525 0.328071 0.367006 0.398059 0.271553 0.233109 + 401.000000 0.143383 0.157662 0.158323 0.154768 0.259768 0.230222 0.232364 0.252604 0.253479 0.143773 0.129198 0.260716 0.257411 0.317009 0.316797 0.246661 0.311988 0.355961 0.390647 0.269590 0.230285 + 402.000000 0.138822 0.167725 0.155013 0.155757 0.265894 0.227587 0.226635 0.252940 0.248643 0.150238 0.131514 0.258729 0.256052 0.313500 0.301803 0.260154 0.326124 0.364464 0.396685 0.261531 0.233120 + 403.000000 0.140393 0.165862 0.155493 0.156268 0.266735 0.229852 0.199936 0.262297 0.247135 0.151992 0.133912 0.268576 0.260857 0.275317 0.263948 0.258447 0.339748 0.375039 0.396811 0.258719 0.238171 + 404.000000 0.146535 0.156070 0.152796 0.161569 0.267673 0.239980 0.235267 0.249254 0.248474 0.150111 0.129976 0.255977 0.259731 0.329403 0.301294 0.261386 0.310774 0.367878 0.393460 0.274576 0.229235 + 405.000000 0.147694 0.158570 0.154979 0.155660 0.272540 0.233217 0.222143 0.250949 0.256490 0.148960 0.130216 0.270662 0.254298 0.332805 0.271454 0.252382 0.313604 0.365987 0.396468 0.279657 0.232421 + 406.000000 0.147122 0.161366 0.156689 0.158798 0.254225 0.233283 0.221198 0.261154 0.253746 0.139261 0.130741 0.244481 0.272596 0.323246 0.278583 0.265984 0.303319 0.376360 0.372932 0.274344 0.233497 + 407.000000 0.149702 0.162241 0.147845 0.158450 0.276989 0.233488 0.234488 0.248255 0.257418 0.146171 0.129934 0.256134 0.256944 0.342383 0.282519 0.256759 0.322858 0.362415 0.398931 0.276524 0.223265 + 408.000000 0.144898 0.157085 0.151956 0.151474 0.259717 0.224979 0.212250 0.251910 0.251153 0.148152 0.127950 0.260844 0.247595 0.308212 0.266376 0.251076 0.300737 0.359643 0.388585 0.262455 0.244253 + 409.000000 0.147627 0.162971 0.157100 0.152526 0.263655 0.237773 0.227103 0.258653 0.254428 0.144106 0.130363 0.261231 0.258884 0.316915 0.295321 0.253698 0.314295 0.374113 0.390780 0.280713 0.229277 + 410.000000 0.144586 0.162105 0.159937 0.153710 0.264638 0.228121 0.235323 0.257813 0.247200 0.140963 0.132637 0.257389 0.259345 0.312166 0.304477 0.259894 0.332353 0.368126 0.387039 0.254441 0.225887 + 411.000000 0.144821 0.163659 0.152556 0.154923 0.265603 0.226404 0.230773 0.241378 0.258294 0.148679 0.129086 0.255583 0.259359 0.312245 0.291957 0.258030 0.299899 0.354306 0.401084 0.273523 0.237826 + 412.000000 0.145690 0.164716 0.151470 0.154345 0.266775 0.236040 0.221415 0.253851 0.255495 0.146492 0.127625 0.261819 0.258188 0.312582 0.292083 0.250969 0.319403 0.366329 0.396752 0.281621 0.223205 + 413.000000 0.147052 0.155095 0.159766 0.155443 0.256834 0.237131 0.220505 0.260774 0.248209 0.145669 0.127325 0.255025 0.257099 0.304374 0.289466 0.265373 0.302865 0.375606 0.384155 0.271782 0.233950 + 414.000000 0.144750 0.162093 0.154350 0.159468 0.269027 0.234639 0.223671 0.252443 0.266154 0.147731 0.129216 0.258628 0.252440 0.320747 0.297466 0.257726 0.318429 0.365800 0.408756 0.291515 0.224854 + 415.000000 0.145848 0.157847 0.155939 0.156320 0.263463 0.235231 0.234116 0.248961 0.248359 0.146808 0.129215 0.255734 0.262319 0.328201 0.301048 0.258201 0.300717 0.365378 0.386373 0.272115 0.231805 + 416.000000 0.144228 0.162275 0.148934 0.158712 0.257736 0.233674 0.254324 0.252432 0.235298 0.145848 0.127050 0.250031 0.248868 0.365171 0.308389 0.258658 0.302415 0.366282 0.367792 0.255799 0.231382 + 417.000000 0.146460 0.157779 0.151517 0.152472 0.264153 0.240712 0.246935 0.238474 0.243955 0.140716 0.133297 0.251451 0.252317 0.352930 0.310338 0.256297 0.291771 0.362985 0.374691 0.277618 0.221063 + 418.000000 0.144200 0.159353 0.159407 0.149831 0.257842 0.226184 0.223230 0.256287 0.257508 0.144832 0.126579 0.252933 0.252582 0.312056 0.284176 0.250445 0.301898 0.367102 0.390241 0.280170 0.235897 + 419.000000 0.144544 0.154643 0.153586 0.150961 0.259349 0.238016 0.213655 0.248101 0.248958 0.145595 0.130694 0.256478 0.247573 0.300620 0.278641 0.256896 0.298568 0.368128 0.387193 0.279786 0.230485 + 420.000000 0.152468 0.157760 0.155978 0.151842 0.271531 0.239852 0.233670 0.252098 0.253349 0.145352 0.128948 0.255003 0.262790 0.325339 0.289298 0.253800 0.309934 0.370340 0.391327 0.287028 0.224711 + 421.000000 0.142354 0.168925 0.152606 0.155526 0.261531 0.223229 0.229344 0.248994 0.251466 0.144806 0.125587 0.262076 0.263560 0.327848 0.276005 0.256363 0.306107 0.359258 0.388140 0.268409 0.229500 + 422.000000 0.144439 0.162394 0.153879 0.151691 0.257682 0.235911 0.223882 0.257005 0.247453 0.146599 0.129233 0.259199 0.254031 0.322407 0.287843 0.252127 0.304414 0.372516 0.381570 0.274500 0.234445 + 423.000000 0.141655 0.159549 0.149893 0.149463 0.265026 0.226260 0.228563 0.247489 0.244107 0.146901 0.126619 0.253138 0.244166 0.339588 0.285926 0.248766 0.311091 0.358299 0.382378 0.262857 0.226220 + 424.000000 0.146680 0.154305 0.152224 0.157223 0.267573 0.230445 0.239354 0.241121 0.252700 0.144709 0.126808 0.249803 0.253488 0.344168 0.287986 0.258238 0.297965 0.357258 0.388895 0.280150 0.224169 + 425.000000 0.145772 0.155005 0.156403 0.156533 0.256818 0.241536 0.240919 0.252161 0.246918 0.146134 0.127307 0.251503 0.256116 0.353093 0.295485 0.255565 0.288128 0.373814 0.367916 0.297159 0.227574 + 426.000000 0.145790 0.157065 0.149921 0.160533 0.264125 0.227060 0.245724 0.261339 0.233766 0.146557 0.127551 0.251294 0.248773 0.377432 0.265857 0.253683 0.323068 0.368714 0.352289 0.264398 0.235875 + 427.000000 0.147090 0.158655 0.154447 0.166311 0.261108 0.235850 0.253296 0.254029 0.233695 0.142805 0.127038 0.268725 0.262454 0.383154 0.284243 0.254732 0.302111 0.371049 0.339357 0.279750 0.225081 + 428.000000 0.147139 0.158926 0.155357 0.164500 0.266648 0.231321 0.251568 0.245758 0.248619 0.150232 0.128177 0.261649 0.265793 0.389342 0.280406 0.259639 0.293030 0.362936 0.351702 0.292207 0.237696 + 429.000000 0.147777 0.159641 0.156961 0.157176 0.266967 0.234368 0.254644 0.260966 0.239923 0.153729 0.132243 0.255622 0.255576 0.390290 0.284323 0.253759 0.309764 0.377443 0.353110 0.282123 0.249711 + 430.000000 0.145626 0.155679 0.161753 0.158161 0.267483 0.235564 0.245750 0.249311 0.241582 0.147478 0.130172 0.265666 0.259153 0.378793 0.281631 0.259965 0.298660 0.371364 0.355049 0.291241 0.228860 + 431.000000 0.144495 0.159973 0.154589 0.161070 0.262817 0.234071 0.255766 0.250295 0.243577 0.143036 0.132504 0.254270 0.258790 0.384483 0.293013 0.255142 0.305157 0.370778 0.354863 0.286566 0.228789 + 432.000000 0.140456 0.158776 0.152551 0.154931 0.256568 0.230346 0.250760 0.245338 0.210030 0.139793 0.132851 0.262714 0.252507 0.379099 0.278589 0.257949 0.298642 0.366061 0.319818 0.250176 0.226829 + 433.000000 0.145613 0.148859 0.154104 0.151123 0.261904 0.233615 0.251168 0.255948 0.214929 0.143649 0.129350 0.244183 0.246194 0.386968 0.280292 0.251814 0.314322 0.370706 0.307265 0.273699 0.228277 + 434.000000 0.146454 0.156194 0.146184 0.152973 0.256884 0.233117 0.255814 0.243274 0.208000 0.145994 0.125484 0.251853 0.252040 0.393257 0.278374 0.255012 0.294447 0.354674 0.283407 0.271123 0.232862 + 435.000000 0.145473 0.158133 0.154079 0.155597 0.260766 0.237406 0.256433 0.254531 0.211989 0.142386 0.127911 0.257201 0.261246 0.395098 0.280221 0.254372 0.320179 0.364314 0.280972 0.298729 0.220880 + 436.000000 0.147437 0.158737 0.150401 0.156347 0.263044 0.239534 0.243767 0.252817 0.234370 0.146411 0.128766 0.253240 0.249713 0.387393 0.258406 0.263091 0.327624 0.356933 0.307783 0.317804 0.228573 + 437.000000 0.142760 0.154503 0.164462 0.164322 0.273648 0.233005 0.247517 0.237818 0.259917 0.150529 0.132631 0.262301 0.267589 0.397048 0.261954 0.254070 0.315072 0.345036 0.346529 0.357916 0.227191 + 438.000000 0.148502 0.154102 0.160869 0.158711 0.271373 0.234267 0.252807 0.243977 0.257422 0.148894 0.130123 0.260465 0.253052 0.398711 0.264031 0.255078 0.314300 0.338831 0.338318 0.354994 0.233951 + 439.000000 0.153000 0.160316 0.152715 0.152723 0.273362 0.242467 0.247057 0.236619 0.251058 0.146664 0.127262 0.258321 0.254834 0.391416 0.262703 0.263847 0.325493 0.313299 0.323626 0.358231 0.222630 + 440.000000 0.147565 0.152675 0.163845 0.154407 0.261368 0.242452 0.254031 0.220114 0.259335 0.145024 0.131422 0.260527 0.253501 0.392608 0.282572 0.258771 0.292682 0.304289 0.317232 0.374152 0.230361 + 441.000000 0.141594 0.157671 0.160652 0.157223 0.253084 0.223819 0.253764 0.232598 0.253350 0.144166 0.129129 0.261496 0.252666 0.390107 0.262705 0.255568 0.306296 0.304068 0.305444 0.359370 0.241004 + 442.000000 0.146210 0.149069 0.160089 0.154577 0.274921 0.226596 0.247786 0.224551 0.244549 0.149454 0.129607 0.250850 0.262113 0.392356 0.255176 0.256241 0.330332 0.292342 0.310510 0.354624 0.232047 + 443.000000 0.147244 0.156581 0.153167 0.154051 0.266424 0.237224 0.253723 0.225311 0.247234 0.144364 0.129491 0.258504 0.259625 0.389866 0.282270 0.249297 0.324089 0.289193 0.302834 0.366016 0.224473 + 444.000000 0.145756 0.154942 0.166909 0.147475 0.262072 0.236869 0.251740 0.238600 0.244893 0.143687 0.130363 0.258295 0.250939 0.385445 0.283264 0.259182 0.340013 0.291529 0.299321 0.363937 0.227321 + 445.000000 0.145244 0.158432 0.159149 0.154309 0.257663 0.235852 0.252366 0.233213 0.249347 0.147027 0.128708 0.260507 0.258109 0.387159 0.278845 0.256659 0.325888 0.298052 0.291905 0.366163 0.236002 + 446.000000 0.140440 0.154215 0.170243 0.156567 0.259753 0.230653 0.246651 0.209174 0.262116 0.149663 0.129725 0.264471 0.260518 0.389010 0.265084 0.262383 0.299842 0.276971 0.319417 0.375478 0.236632 + 447.000000 0.147809 0.165363 0.154545 0.154583 0.273476 0.229228 0.262463 0.220783 0.263385 0.146200 0.125451 0.264735 0.251261 0.404451 0.273261 0.258089 0.321240 0.285102 0.341778 0.366180 0.221880 + 448.000000 0.148808 0.148067 0.158078 0.160264 0.269153 0.233294 0.245854 0.238937 0.255502 0.152326 0.128069 0.256535 0.256828 0.391776 0.262689 0.251018 0.317921 0.314665 0.313520 0.365764 0.240701 + 449.000000 0.150119 0.157933 0.158200 0.153771 0.267435 0.238010 0.265506 0.233884 0.245715 0.146834 0.127758 0.257354 0.251833 0.405710 0.290490 0.262524 0.313237 0.309849 0.307235 0.355959 0.229709 + 450.000000 0.144952 0.150266 0.154498 0.149885 0.253590 0.235187 0.245867 0.225579 0.249184 0.139251 0.128908 0.245185 0.249532 0.379263 0.266539 0.249484 0.301678 0.306646 0.303178 0.358851 0.226786 + 451.000000 0.144066 0.147927 0.159560 0.154032 0.268155 0.231906 0.239875 0.241186 0.248489 0.148598 0.127824 0.248233 0.251864 0.382294 0.257060 0.252532 0.343840 0.320044 0.311585 0.357071 0.226060 + 452.000000 0.145454 0.155468 0.153270 0.157883 0.268070 0.226009 0.243735 0.232352 0.252640 0.147227 0.126985 0.258069 0.262369 0.386423 0.245388 0.248903 0.327021 0.310379 0.315686 0.355260 0.231488 + 453.000000 0.145795 0.151225 0.162502 0.153442 0.260509 0.227323 0.261158 0.235111 0.243218 0.144294 0.125019 0.247509 0.254149 0.397322 0.281541 0.252792 0.312893 0.304612 0.295154 0.352093 0.230998 + 454.000000 0.145630 0.153284 0.168436 0.158481 0.262578 0.226773 0.242404 0.239681 0.255362 0.145060 0.125711 0.270217 0.252842 0.380272 0.254823 0.271732 0.329060 0.298774 0.312150 0.362376 0.231690 + 455.000000 0.145222 0.150035 0.164055 0.159793 0.265641 0.237326 0.249489 0.211515 0.262647 0.147378 0.129789 0.255883 0.260276 0.385168 0.278413 0.263762 0.321193 0.274808 0.319016 0.380294 0.226377 + 456.000000 0.140595 0.158253 0.161519 0.152589 0.262410 0.225717 0.250886 0.209050 0.249078 0.146633 0.130087 0.267270 0.261414 0.390121 0.270254 0.254474 0.306865 0.256261 0.309007 0.364214 0.233092 + 457.000000 0.143049 0.154749 0.161124 0.148793 0.258995 0.227367 0.249571 0.224242 0.244113 0.145543 0.123731 0.262318 0.241122 0.380444 0.280419 0.265010 0.328823 0.267540 0.295012 0.355938 0.227967 + 458.000000 0.149478 0.161961 0.160039 0.146037 0.262620 0.234042 0.250906 0.254216 0.250919 0.142946 0.125163 0.249289 0.245871 0.373811 0.279409 0.257134 0.372674 0.294795 0.302947 0.362229 0.226991 + 459.000000 0.150956 0.153213 0.159813 0.156159 0.271222 0.232012 0.220427 0.249088 0.256433 0.143928 0.127558 0.256999 0.266555 0.340232 0.257008 0.263061 0.377233 0.268876 0.314789 0.368958 0.227287 + 460.000000 0.150491 0.156050 0.153966 0.159626 0.276342 0.230270 0.241734 0.249358 0.259014 0.149754 0.125660 0.260800 0.257605 0.353140 0.296477 0.250181 0.387616 0.268710 0.322935 0.367812 0.230502 + 461.000000 0.148244 0.163656 0.158156 0.152124 0.256333 0.245621 0.254597 0.243603 0.249748 0.146850 0.128926 0.246557 0.264949 0.358729 0.315930 0.261279 0.375556 0.279105 0.285262 0.371056 0.232423 + 462.000000 0.146079 0.155481 0.153260 0.150550 0.265862 0.235757 0.243550 0.229017 0.252260 0.148504 0.128936 0.252444 0.251686 0.363889 0.304827 0.251721 0.359052 0.248470 0.307915 0.366072 0.229832 + 463.000000 0.141954 0.157384 0.160081 0.154309 0.264287 0.228088 0.230633 0.251790 0.245666 0.143850 0.130122 0.262762 0.258021 0.350817 0.271312 0.254214 0.377354 0.283529 0.304750 0.363589 0.225661 + 464.000000 0.142173 0.158286 0.155602 0.152717 0.273687 0.230022 0.225957 0.251808 0.246232 0.151460 0.129702 0.256682 0.243774 0.350562 0.257090 0.260730 0.389677 0.294151 0.316445 0.363028 0.225630 + 465.000000 0.144420 0.152993 0.161057 0.153291 0.259165 0.232416 0.218625 0.262114 0.248684 0.141593 0.136248 0.253392 0.261221 0.333798 0.251488 0.251671 0.385630 0.295699 0.297834 0.369759 0.238476 + 466.000000 0.144651 0.156533 0.155125 0.156283 0.264976 0.235310 0.237189 0.253991 0.250381 0.143165 0.134551 0.246203 0.254119 0.349098 0.286329 0.256371 0.386242 0.286561 0.307793 0.372700 0.228978 + 467.000000 0.145983 0.161490 0.151255 0.156715 0.259669 0.239559 0.235571 0.246085 0.249095 0.142111 0.133637 0.264252 0.258958 0.335763 0.298772 0.252110 0.373622 0.280501 0.294145 0.371974 0.230638 + 468.000000 0.146181 0.158662 0.156128 0.155393 0.266025 0.235029 0.233458 0.250898 0.251820 0.145130 0.131657 0.245603 0.263711 0.350108 0.265565 0.260681 0.383668 0.287119 0.306858 0.371671 0.229462 + 469.000000 0.146016 0.162190 0.161833 0.148511 0.268950 0.235025 0.233259 0.263691 0.240333 0.150448 0.131730 0.266343 0.247452 0.337219 0.269843 0.259911 0.402918 0.305632 0.295117 0.360828 0.232800 + 470.000000 0.146389 0.158305 0.154933 0.154272 0.260652 0.239986 0.208724 0.251789 0.258581 0.150450 0.128043 0.251696 0.263614 0.310137 0.265411 0.258252 0.389436 0.284789 0.303996 0.376416 0.235602 + 471.000000 0.147045 0.158674 0.152508 0.155497 0.270253 0.224779 0.208226 0.254381 0.261600 0.145932 0.128869 0.267029 0.251786 0.304591 0.274911 0.250395 0.393101 0.261856 0.329542 0.366185 0.233433 + 472.000000 0.141646 0.163365 0.155306 0.156363 0.264758 0.232061 0.215083 0.254915 0.253137 0.146405 0.135244 0.255479 0.259772 0.302059 0.273830 0.261205 0.397937 0.276108 0.319188 0.373025 0.232480 + 473.000000 0.140097 0.167211 0.154680 0.155395 0.254192 0.236886 0.221999 0.247725 0.248867 0.143887 0.134121 0.265750 0.269002 0.302530 0.286220 0.254829 0.384762 0.279495 0.301138 0.371539 0.231150 + 474.000000 0.144154 0.158084 0.153954 0.149315 0.263079 0.227323 0.205541 0.260510 0.248293 0.144017 0.132333 0.254661 0.245112 0.302002 0.259820 0.253524 0.396653 0.278067 0.306628 0.362667 0.236480 + 475.000000 0.142450 0.155917 0.146128 0.158731 0.265936 0.230386 0.219309 0.246767 0.249824 0.146472 0.127897 0.249084 0.259847 0.312990 0.285981 0.249234 0.387975 0.274250 0.313371 0.364233 0.223625 + 476.000000 0.140601 0.151081 0.161325 0.157001 0.262246 0.232952 0.202112 0.249204 0.259231 0.143542 0.133633 0.265356 0.255044 0.294982 0.282474 0.257972 0.388332 0.263380 0.328835 0.372187 0.225498 + 477.000000 0.143594 0.171388 0.151840 0.154608 0.261938 0.235557 0.216702 0.250548 0.255311 0.151381 0.131084 0.262990 0.269235 0.310967 0.278530 0.255794 0.391425 0.277213 0.305662 0.372889 0.240757 + 478.000000 0.148028 0.165474 0.157116 0.159433 0.271708 0.226414 0.238226 0.251585 0.260978 0.148336 0.130539 0.262375 0.264340 0.339153 0.280086 0.262743 0.393940 0.262236 0.325280 0.371386 0.238633 + 479.000000 0.142350 0.158428 0.155073 0.158447 0.258131 0.239398 0.225027 0.258616 0.243951 0.148613 0.128787 0.258665 0.258038 0.321140 0.307010 0.256622 0.392000 0.298473 0.282068 0.362965 0.227895 + 480.000000 0.146637 0.155768 0.158203 0.149024 0.260616 0.238350 0.228292 0.253657 0.258039 0.143644 0.130225 0.256602 0.242638 0.302824 0.310222 0.249258 0.392864 0.273957 0.324169 0.368478 0.228699 + 481.000000 0.142557 0.157963 0.147867 0.156848 0.258601 0.230688 0.208145 0.245746 0.245506 0.141983 0.130989 0.247150 0.266190 0.280411 0.287367 0.259755 0.384020 0.262536 0.306137 0.356360 0.229195 + 482.000000 0.142765 0.159983 0.149183 0.148396 0.265671 0.230617 0.210475 0.248572 0.250302 0.147285 0.128596 0.261704 0.247643 0.280062 0.284993 0.242898 0.392702 0.270952 0.326378 0.361485 0.224944 + 483.000000 0.141326 0.155176 0.149178 0.157884 0.262053 0.233295 0.211088 0.248526 0.256293 0.149280 0.130927 0.254144 0.257332 0.297741 0.290679 0.245912 0.390504 0.275047 0.316911 0.369471 0.234349 + 484.000000 0.144102 0.158779 0.153109 0.145319 0.257036 0.234029 0.209890 0.252304 0.238042 0.143416 0.127894 0.247376 0.256256 0.305845 0.269805 0.256511 0.386549 0.278290 0.284469 0.354842 0.228499 + 485.000000 0.148116 0.154924 0.154104 0.152324 0.267091 0.232066 0.233966 0.240517 0.264474 0.142401 0.132197 0.260888 0.246441 0.330082 0.283004 0.244229 0.377160 0.260608 0.336462 0.374676 0.228999 + 486.000000 0.142498 0.156295 0.152156 0.153437 0.259993 0.232485 0.218340 0.247352 0.247511 0.142998 0.128359 0.249632 0.267270 0.317989 0.275481 0.246908 0.382553 0.275752 0.305106 0.362886 0.223177 + 487.000000 0.137366 0.156509 0.157147 0.152875 0.247758 0.234219 0.201176 0.255413 0.244182 0.141365 0.129582 0.251731 0.259240 0.290062 0.275258 0.257605 0.386991 0.289328 0.287020 0.363051 0.224306 + 488.000000 0.139211 0.161299 0.149000 0.153051 0.263147 0.228773 0.196177 0.240478 0.255537 0.146272 0.128269 0.265863 0.256079 0.290742 0.256621 0.248997 0.380488 0.266292 0.324664 0.369688 0.222495 + 489.000000 0.139309 0.150034 0.151114 0.157051 0.268506 0.223455 0.219739 0.243073 0.251327 0.149916 0.130210 0.248376 0.255766 0.320939 0.275183 0.244401 0.389129 0.261772 0.327248 0.363290 0.230483 + 490.000000 0.134265 0.164949 0.159988 0.149436 0.251508 0.227776 0.216553 0.252233 0.240527 0.143443 0.132677 0.257346 0.259878 0.301895 0.283359 0.257065 0.390815 0.273870 0.298293 0.358827 0.230191 + 491.000000 0.142444 0.167140 0.153302 0.153740 0.267177 0.231301 0.232047 0.254815 0.248724 0.147533 0.134565 0.254674 0.259303 0.323348 0.307482 0.254243 0.398474 0.271675 0.316711 0.362826 0.234737 + 492.000000 0.142479 0.166036 0.153750 0.159195 0.261692 0.233039 0.207163 0.245195 0.269463 0.146906 0.131118 0.256141 0.275184 0.305223 0.271172 0.255114 0.385551 0.262442 0.333260 0.380576 0.232737 + 493.000000 0.142432 0.155656 0.155249 0.153060 0.271840 0.224312 0.219798 0.242545 0.241989 0.153109 0.131162 0.272179 0.241484 0.326428 0.267591 0.261025 0.384953 0.263588 0.303558 0.358701 0.240878 + 494.000000 0.143569 0.159022 0.158358 0.153475 0.270488 0.240203 0.258336 0.244723 0.249963 0.152780 0.132019 0.230068 0.262170 0.379744 0.318132 0.250652 0.389516 0.276398 0.316597 0.370132 0.229102 + 495.000000 0.139872 0.158305 0.151252 0.158648 0.253014 0.239365 0.238810 0.236061 0.243606 0.147631 0.129263 0.254179 0.256000 0.350142 0.313402 0.260844 0.361209 0.275046 0.274540 0.366736 0.226457 + 496.000000 0.148453 0.159006 0.155045 0.156026 0.270086 0.238144 0.234734 0.256358 0.254673 0.151012 0.130270 0.255959 0.256422 0.354547 0.285571 0.254508 0.387720 0.291920 0.306428 0.373928 0.235849 + 497.000000 0.147127 0.158823 0.157592 0.152390 0.268686 0.226729 0.226662 0.263143 0.246576 0.148801 0.127790 0.256437 0.252681 0.330208 0.255156 0.257745 0.401626 0.293140 0.301200 0.359673 0.234367 + 498.000000 0.150908 0.155950 0.158906 0.157027 0.261211 0.240840 0.251482 0.252664 0.259679 0.146497 0.126715 0.255253 0.250990 0.347820 0.317569 0.254581 0.384622 0.281719 0.302536 0.374065 0.233200 + 499.000000 0.149544 0.159166 0.155556 0.147424 0.272032 0.232799 0.237503 0.242592 0.241667 0.150347 0.127596 0.261206 0.261406 0.336011 0.297979 0.250674 0.386757 0.254670 0.304971 0.351397 0.235449 + 500.000000 0.145620 0.157701 0.155183 0.154384 0.258658 0.245091 0.198896 0.253596 0.256548 0.145624 0.125915 0.246243 0.261271 0.295911 0.273406 0.265609 0.390208 0.294064 0.302998 0.375234 0.216305 + 501.000000 0.143739 0.166543 0.154667 0.157076 0.256723 0.234181 0.222478 0.248874 0.252880 0.150662 0.127603 0.270183 0.273628 0.314627 0.279580 0.251924 0.384233 0.279621 0.292733 0.369107 0.240393 + 502.000000 0.152685 0.160909 0.154242 0.157060 0.270229 0.237312 0.241788 0.256454 0.252956 0.148485 0.124285 0.260972 0.262153 0.341167 0.301418 0.255014 0.392720 0.284041 0.301841 0.365518 0.230169 + 503.000000 0.151565 0.158269 0.154345 0.149964 0.267227 0.240166 0.227387 0.256728 0.246571 0.147206 0.129213 0.256255 0.247752 0.331255 0.296591 0.261698 0.390343 0.280388 0.291993 0.363277 0.233098 + 504.000000 0.155318 0.156507 0.150230 0.155990 0.283741 0.237582 0.207117 0.254423 0.270160 0.145941 0.132003 0.252061 0.266769 0.310290 0.263985 0.251187 0.397518 0.267875 0.353192 0.378884 0.224909 + 505.000000 0.143526 0.157372 0.155691 0.154088 0.258173 0.234322 0.217178 0.248546 0.247225 0.143392 0.131389 0.266892 0.262169 0.296779 0.278658 0.250328 0.385667 0.276259 0.303765 0.365544 0.229075 + 506.000000 0.143960 0.173093 0.151585 0.151810 0.262955 0.226565 0.219928 0.249137 0.253778 0.145094 0.133474 0.248358 0.271858 0.318521 0.268728 0.259194 0.388801 0.255539 0.313403 0.365443 0.240846 + 507.000000 0.144857 0.159873 0.154468 0.153433 0.266797 0.232915 0.227258 0.258775 0.246541 0.150390 0.128207 0.256132 0.244653 0.315537 0.307122 0.259016 0.401895 0.281763 0.302555 0.359711 0.233609 + 508.000000 0.146164 0.159959 0.150959 0.152703 0.266465 0.235241 0.232344 0.251385 0.244637 0.147078 0.127967 0.251723 0.258378 0.326455 0.314580 0.252390 0.391738 0.273681 0.302453 0.353570 0.226404 + 509.000000 0.146698 0.156171 0.149471 0.162307 0.257239 0.244377 0.217820 0.240512 0.265598 0.140026 0.134977 0.247161 0.261070 0.286754 0.305131 0.265535 0.376927 0.264426 0.323943 0.382844 0.227715 + 510.000000 0.150590 0.149357 0.153959 0.150794 0.270764 0.228867 0.234263 0.253577 0.247794 0.141425 0.127491 0.255818 0.239372 0.319246 0.305009 0.249101 0.392681 0.261989 0.320515 0.352918 0.223901 + 511.000000 0.142063 0.156928 0.153517 0.151132 0.264364 0.224688 0.234397 0.247515 0.245428 0.144589 0.129036 0.248914 0.249650 0.336215 0.298997 0.250872 0.386360 0.258254 0.310340 0.354425 0.229065 + 512.000000 0.144842 0.153450 0.153256 0.157858 0.257096 0.235030 0.221491 0.246493 0.258148 0.143318 0.126366 0.250353 0.255126 0.319392 0.282526 0.257566 0.378612 0.275580 0.304849 0.373435 0.226000 + 513.000000 0.140938 0.160228 0.152364 0.152199 0.263865 0.226273 0.226444 0.245218 0.245450 0.148523 0.126409 0.256252 0.250628 0.323200 0.282654 0.255629 0.387398 0.267306 0.305585 0.359301 0.228990 + 514.000000 0.141203 0.160466 0.153645 0.154993 0.261708 0.236506 0.212270 0.255020 0.254215 0.147196 0.130175 0.254400 0.256258 0.312256 0.279858 0.252748 0.393294 0.290244 0.311981 0.373637 0.225235 + 515.000000 0.141913 0.156906 0.157736 0.154398 0.261485 0.232230 0.227612 0.245965 0.250494 0.148678 0.128523 0.253534 0.257214 0.325512 0.277756 0.259307 0.387571 0.275384 0.306775 0.368376 0.229560 + 516.000000 0.139032 0.156283 0.154249 0.153768 0.261267 0.222848 0.245958 0.244756 0.236239 0.147172 0.127269 0.251170 0.251830 0.356035 0.296889 0.247376 0.378865 0.272326 0.288896 0.352105 0.231066 + 517.000000 0.145215 0.156774 0.153733 0.151328 0.267216 0.231851 0.241908 0.237785 0.255914 0.149375 0.129853 0.255199 0.243796 0.369827 0.286703 0.250685 0.361498 0.267045 0.316507 0.370439 0.234604 + 518.000000 0.149010 0.161462 0.150195 0.159458 0.269803 0.237070 0.247064 0.244300 0.251754 0.145414 0.133488 0.246498 0.257036 0.373186 0.285006 0.268943 0.369553 0.278141 0.304827 0.373723 0.232613 + 519.000000 0.149599 0.150370 0.175211 0.155774 0.257350 0.239503 0.244887 0.256016 0.248837 0.140218 0.128838 0.270053 0.262594 0.358632 0.290055 0.260170 0.367898 0.295322 0.284228 0.368943 0.228628 + 520.000000 0.149441 0.162429 0.161336 0.153565 0.267420 0.235086 0.257449 0.247667 0.254309 0.146268 0.131591 0.252348 0.253009 0.382796 0.299694 0.267890 0.371467 0.269258 0.306645 0.371323 0.236166 + 521.000000 0.149457 0.160277 0.152625 0.154730 0.258202 0.241681 0.245296 0.244178 0.250466 0.143865 0.128574 0.249893 0.272103 0.363658 0.296284 0.247771 0.360765 0.282038 0.284872 0.369745 0.230203 + 522.000000 0.144604 0.159837 0.162914 0.152875 0.269480 0.231620 0.235840 0.245875 0.254009 0.147524 0.129888 0.257123 0.254517 0.368840 0.268745 0.267923 0.369758 0.274846 0.320912 0.369967 0.227217 + 523.000000 0.145242 0.152330 0.157574 0.155375 0.259234 0.233471 0.238953 0.241901 0.261140 0.144543 0.127436 0.249388 0.252515 0.369166 0.270828 0.248739 0.349848 0.289124 0.312715 0.375488 0.229815 + 524.000000 0.142180 0.159369 0.152959 0.151058 0.264554 0.235724 0.251484 0.231215 0.240823 0.149002 0.132784 0.247348 0.252782 0.387093 0.282674 0.258753 0.347980 0.287466 0.295255 0.362650 0.232953 + 525.000000 0.141709 0.156098 0.153980 0.151714 0.259351 0.230112 0.243528 0.228570 0.243436 0.144766 0.129749 0.253776 0.255953 0.373507 0.272017 0.251991 0.340119 0.277062 0.293501 0.361962 0.230909 + 526.000000 0.147321 0.152012 0.154671 0.160849 0.271774 0.231099 0.251471 0.220894 0.263465 0.151008 0.125036 0.254828 0.255116 0.390540 0.287141 0.256235 0.331845 0.258870 0.323450 0.375915 0.228939 + 527.000000 0.142804 0.153470 0.160511 0.156587 0.262652 0.234406 0.251446 0.222776 0.255050 0.148908 0.128351 0.257545 0.249993 0.381517 0.290034 0.261906 0.339781 0.272386 0.306759 0.373451 0.230005 + 528.000000 0.145366 0.153367 0.164196 0.150864 0.264120 0.233030 0.253587 0.244218 0.241435 0.146676 0.127119 0.254410 0.251474 0.387973 0.290750 0.256802 0.349362 0.290539 0.291842 0.359577 0.227664 + 529.000000 0.148567 0.160456 0.148606 0.154885 0.274529 0.229197 0.247134 0.241528 0.254243 0.150228 0.127539 0.255620 0.255653 0.384911 0.265987 0.246076 0.358255 0.289677 0.318563 0.365429 0.233836 + 530.000000 0.148540 0.150593 0.160078 0.151485 0.263562 0.238150 0.243451 0.236636 0.249470 0.144221 0.129590 0.254366 0.249854 0.373591 0.267500 0.260198 0.344030 0.301356 0.298909 0.364530 0.228687 + 531.000000 0.145362 0.153671 0.163004 0.154056 0.259744 0.238862 0.250464 0.228923 0.257711 0.143446 0.127943 0.253310 0.259009 0.388298 0.282929 0.250694 0.312581 0.292674 0.313880 0.375581 0.221017 + 532.000000 0.143397 0.150652 0.154420 0.158290 0.269275 0.217547 0.257161 0.217701 0.243973 0.144611 0.127399 0.259092 0.250406 0.398859 0.265526 0.251805 0.302475 0.284656 0.315681 0.349346 0.228469 + 533.000000 0.145477 0.150554 0.158215 0.155125 0.265134 0.236983 0.253030 0.238757 0.249212 0.148826 0.129982 0.253375 0.248566 0.396139 0.280062 0.246624 0.312694 0.325311 0.314526 0.361576 0.231663 + 534.000000 0.146488 0.157606 0.152754 0.153402 0.269693 0.233029 0.252051 0.222200 0.253826 0.151621 0.128265 0.241028 0.258693 0.400205 0.264776 0.261330 0.312871 0.291927 0.324037 0.361263 0.235380 + 535.000000 0.143421 0.156340 0.152793 0.158186 0.261673 0.228314 0.245723 0.227247 0.257054 0.143944 0.127452 0.259573 0.255720 0.384606 0.258629 0.249603 0.315998 0.298937 0.319260 0.365380 0.227790 + 536.000000 0.139393 0.149759 0.171870 0.153332 0.258171 0.228229 0.249037 0.216218 0.246648 0.145065 0.133053 0.263994 0.255140 0.385905 0.270318 0.261264 0.308695 0.278252 0.300176 0.364724 0.235732 + 537.000000 0.143801 0.150657 0.169642 0.158980 0.268566 0.232670 0.258967 0.209086 0.253198 0.147809 0.131551 0.262885 0.258611 0.397356 0.291077 0.267148 0.315148 0.255789 0.312535 0.373223 0.229853 + 538.000000 0.140361 0.153346 0.166149 0.153792 0.255927 0.228267 0.253848 0.213892 0.247942 0.147169 0.131469 0.257837 0.253250 0.389968 0.279754 0.267530 0.307865 0.260309 0.294683 0.365685 0.240906 + 539.000000 0.149327 0.152727 0.167414 0.147439 0.272306 0.232606 0.254315 0.226537 0.250865 0.142300 0.132290 0.261726 0.257692 0.392346 0.272805 0.246810 0.324785 0.273135 0.321562 0.365527 0.225291 + 540.000000 0.151087 0.153285 0.154894 0.150214 0.269321 0.240296 0.257232 0.222732 0.246488 0.142689 0.131345 0.250915 0.253260 0.389206 0.291778 0.256979 0.330854 0.269833 0.302540 0.366878 0.225236 + 541.000000 0.151452 0.152493 0.162057 0.152720 0.267996 0.233369 0.274231 0.195875 0.256538 0.146340 0.126158 0.264067 0.244264 0.405989 0.303703 0.260714 0.295193 0.249691 0.308117 0.367611 0.233180 + 542.000000 0.140353 0.152389 0.150328 0.160977 0.261680 0.225119 0.249491 0.212459 0.248195 0.148352 0.127957 0.247866 0.263675 0.390356 0.268893 0.253176 0.308981 0.274175 0.299333 0.363172 0.234445 + 543.000000 0.142139 0.157586 0.158804 0.153985 0.270731 0.235837 0.246333 0.225025 0.263678 0.152505 0.134308 0.252795 0.251386 0.388251 0.266915 0.253601 0.344900 0.289652 0.338014 0.379107 0.233071 + 544.000000 0.140422 0.156871 0.157973 0.150783 0.263165 0.228614 0.244339 0.218250 0.246731 0.144965 0.130300 0.263119 0.261566 0.383117 0.273071 0.244350 0.317832 0.261901 0.310869 0.364277 0.223729 + 545.000000 0.138962 0.149986 0.153372 0.153961 0.256907 0.233973 0.247447 0.224237 0.245664 0.149209 0.127856 0.240168 0.242019 0.380951 0.294107 0.258939 0.334486 0.276206 0.292412 0.366489 0.228748 + 546.000000 0.145032 0.158407 0.155474 0.152034 0.266394 0.229658 0.249608 0.252950 0.247154 0.145913 0.123359 0.247958 0.256642 0.378251 0.280937 0.240137 0.372822 0.303198 0.304018 0.360570 0.220851 + 547.000000 0.145838 0.160685 0.159634 0.150176 0.262627 0.236531 0.239847 0.252030 0.242516 0.145895 0.127722 0.257414 0.254344 0.356497 0.271080 0.261843 0.379133 0.303253 0.289072 0.360920 0.224884 + 548.000000 0.143585 0.161485 0.157167 0.158204 0.256629 0.234936 0.233512 0.254091 0.258946 0.143816 0.130652 0.252606 0.264333 0.354346 0.273810 0.252692 0.373273 0.293566 0.304728 0.378070 0.232089 + 549.000000 0.142939 0.157860 0.152609 0.159650 0.257744 0.237217 0.234419 0.244271 0.251630 0.144307 0.130170 0.258302 0.254160 0.342968 0.282643 0.257914 0.370276 0.292347 0.294057 0.374526 0.226892 + 550.000000 0.140213 0.158321 0.158421 0.149232 0.257005 0.229193 0.226975 0.250278 0.249803 0.146901 0.127173 0.251395 0.244609 0.337206 0.280430 0.255367 0.383028 0.276428 0.302154 0.364498 0.231311 + 551.000000 0.143562 0.155478 0.157585 0.156438 0.268263 0.225643 0.236935 0.233634 0.245414 0.148056 0.123983 0.258301 0.255584 0.327894 0.299512 0.269660 0.380534 0.239425 0.315053 0.354471 0.223029 + 552.000000 0.146798 0.159619 0.154348 0.152720 0.263801 0.239620 0.236702 0.255532 0.253321 0.149020 0.131147 0.252999 0.245158 0.304740 0.324318 0.253999 0.398277 0.280242 0.318022 0.366065 0.235157 + 553.000000 0.144981 0.157180 0.155630 0.161905 0.262665 0.229274 0.234700 0.243269 0.266469 0.146892 0.127408 0.258318 0.254555 0.302073 0.333959 0.258727 0.387298 0.248944 0.340739 0.354447 0.233924 + 554.000000 0.147204 0.158589 0.152345 0.154387 0.266435 0.237683 0.246974 0.253626 0.238614 0.145049 0.129114 0.250131 0.254397 0.328980 0.346156 0.255519 0.394670 0.275994 0.301738 0.338883 0.223646 + 555.000000 0.143996 0.154734 0.150313 0.153980 0.261888 0.230765 0.246588 0.242896 0.242995 0.145979 0.129517 0.250726 0.235747 0.325335 0.340387 0.255985 0.384870 0.254305 0.303353 0.346398 0.233414 + 556.000000 0.146677 0.156011 0.155468 0.158184 0.270901 0.225645 0.250031 0.250137 0.238326 0.148111 0.126410 0.250592 0.267438 0.342536 0.338766 0.252410 0.395372 0.251411 0.308726 0.322172 0.230269 + 557.000000 0.146490 0.158138 0.154854 0.150573 0.261663 0.243923 0.237497 0.242680 0.247404 0.151811 0.129951 0.269875 0.241541 0.297243 0.338985 0.253391 0.388733 0.268224 0.309157 0.357553 0.236024 + 558.000000 0.147798 0.158530 0.150177 0.160132 0.274885 0.229294 0.219129 0.251413 0.258177 0.144291 0.131317 0.249083 0.267765 0.294677 0.301680 0.258544 0.394311 0.257438 0.348388 0.358737 0.223104 + 559.000000 0.145367 0.160141 0.151895 0.154205 0.253691 0.232105 0.252819 0.250595 0.238807 0.141882 0.126607 0.254800 0.251504 0.324998 0.351315 0.248382 0.383567 0.267982 0.285371 0.332408 0.228463 + 560.000000 0.144500 0.148154 0.151557 0.158845 0.263666 0.232373 0.244293 0.248280 0.223272 0.143878 0.127750 0.245281 0.254337 0.320446 0.344040 0.258395 0.389484 0.265351 0.291614 0.317098 0.223645 + 561.000000 0.143046 0.151229 0.151907 0.161183 0.257193 0.235305 0.239142 0.244288 0.239846 0.145593 0.128362 0.254995 0.259950 0.288816 0.357769 0.248168 0.382920 0.274091 0.326958 0.303385 0.228201 + 562.000000 0.147292 0.150000 0.156094 0.152493 0.269161 0.230088 0.254841 0.253718 0.213945 0.145652 0.127531 0.251295 0.249713 0.319754 0.365618 0.254722 0.388734 0.274140 0.324836 0.263101 0.227978 + 563.000000 0.146539 0.149248 0.149953 0.160945 0.268537 0.233854 0.247529 0.253485 0.207370 0.146935 0.129618 0.250825 0.261150 0.307294 0.363493 0.253381 0.390291 0.279263 0.316593 0.260793 0.229162 + 564.000000 0.140783 0.158372 0.150682 0.158935 0.256078 0.231079 0.258964 0.247693 0.222903 0.144596 0.129172 0.248795 0.252211 0.309707 0.376112 0.255300 0.379231 0.284585 0.322819 0.272491 0.230077 + 565.000000 0.142828 0.158070 0.153956 0.156969 0.267489 0.229161 0.249218 0.248745 0.231331 0.147639 0.127801 0.264718 0.259491 0.308479 0.364433 0.241269 0.388912 0.268580 0.343964 0.288133 0.226176 + 566.000000 0.145681 0.152722 0.150657 0.159988 0.259894 0.236209 0.252404 0.245026 0.225199 0.141048 0.130300 0.247870 0.253402 0.310834 0.368866 0.264500 0.379993 0.272680 0.306859 0.292100 0.224451 + 567.000000 0.148598 0.148540 0.154419 0.157521 0.260061 0.228092 0.258247 0.253990 0.220262 0.140645 0.128024 0.247501 0.251143 0.317184 0.361666 0.253407 0.388195 0.261402 0.304543 0.283159 0.233969 + 568.000000 0.146927 0.153643 0.149909 0.157918 0.264119 0.235756 0.243241 0.253483 0.213967 0.141723 0.129759 0.250687 0.268299 0.299157 0.355544 0.253439 0.388378 0.277354 0.307536 0.287436 0.223255 + 569.000000 0.146135 0.153783 0.156409 0.154489 0.260782 0.227249 0.247149 0.249970 0.236381 0.142003 0.127595 0.262250 0.241131 0.301925 0.358884 0.257070 0.387066 0.262207 0.319479 0.298323 0.230002 + 570.000000 0.148393 0.149303 0.152479 0.163751 0.267682 0.237123 0.248766 0.257893 0.225030 0.143557 0.131689 0.246290 0.260832 0.311134 0.367473 0.259467 0.394389 0.291596 0.320271 0.271645 0.225547 + 571.000000 0.145034 0.153484 0.149911 0.162114 0.250243 0.237366 0.254763 0.253374 0.213121 0.140058 0.129416 0.248299 0.256513 0.292448 0.373063 0.260004 0.377479 0.289021 0.302997 0.274214 0.230587 + 572.000000 0.143215 0.150254 0.148259 0.165870 0.266205 0.227382 0.245622 0.258742 0.189729 0.145094 0.130038 0.252772 0.258728 0.307782 0.359820 0.254404 0.396969 0.279694 0.290802 0.250309 0.228008 + 573.000000 0.139919 0.147346 0.154687 0.163529 0.261964 0.228157 0.245647 0.252281 0.203039 0.143518 0.130454 0.251566 0.255183 0.312858 0.359894 0.262300 0.390927 0.271698 0.296957 0.267269 0.224281 + 574.000000 0.145594 0.148730 0.152187 0.174132 0.259380 0.232469 0.256685 0.244117 0.230376 0.146239 0.128698 0.255605 0.264891 0.311186 0.368177 0.255303 0.383247 0.260009 0.320899 0.284536 0.236692 + 575.000000 0.147251 0.154009 0.157976 0.162284 0.271596 0.234448 0.250677 0.253280 0.231420 0.149247 0.129288 0.257677 0.266239 0.319815 0.361278 0.260210 0.398985 0.268683 0.323616 0.301383 0.230324 + 576.000000 0.143377 0.161574 0.156434 0.160116 0.256438 0.228408 0.248787 0.248619 0.240066 0.141803 0.126850 0.272130 0.248036 0.298359 0.360097 0.261493 0.385998 0.261031 0.313692 0.318196 0.228351 + 577.000000 0.152576 0.160538 0.146888 0.154727 0.264625 0.238026 0.250216 0.252317 0.255556 0.143580 0.128139 0.245934 0.261464 0.297247 0.358019 0.239606 0.385267 0.274867 0.346621 0.330809 0.232545 + 578.000000 0.143600 0.151294 0.157579 0.161385 0.269899 0.228698 0.243104 0.248083 0.226173 0.150768 0.126864 0.264096 0.244885 0.308732 0.355201 0.271351 0.395209 0.261223 0.313903 0.299542 0.229994 + 579.000000 0.141749 0.149764 0.153106 0.159227 0.261547 0.228566 0.253719 0.250341 0.220637 0.152098 0.127609 0.245168 0.256383 0.315151 0.364320 0.244710 0.394791 0.271751 0.311921 0.277159 0.239347 + 580.000000 0.141730 0.153631 0.149980 0.155232 0.271244 0.229488 0.249081 0.245298 0.195777 0.148344 0.126446 0.255353 0.261171 0.322822 0.362610 0.251906 0.389806 0.268487 0.299099 0.256751 0.216893 + 581.000000 0.146253 0.149633 0.155571 0.152219 0.261682 0.238291 0.252928 0.250906 0.212664 0.146951 0.130111 0.242662 0.253560 0.306387 0.371437 0.261942 0.384600 0.290591 0.311176 0.263082 0.231812 + 582.000000 0.147725 0.157435 0.146262 0.155841 0.261391 0.232096 0.247001 0.244879 0.221490 0.145984 0.126310 0.261062 0.262040 0.284124 0.362059 0.243863 0.375614 0.267831 0.329456 0.276025 0.233921 + 583.000000 0.145896 0.152388 0.156041 0.158635 0.267870 0.237008 0.255784 0.252804 0.229016 0.144273 0.132174 0.251897 0.249213 0.320817 0.374319 0.258843 0.382420 0.283508 0.345707 0.285047 0.223569 + 584.000000 0.148660 0.151507 0.158286 0.150024 0.265431 0.239508 0.254674 0.250421 0.218568 0.144918 0.130868 0.258001 0.257296 0.310637 0.373301 0.245711 0.385658 0.280371 0.326656 0.265296 0.229180 + 585.000000 0.146476 0.152140 0.159391 0.161302 0.267009 0.229520 0.250465 0.256654 0.238317 0.148592 0.130979 0.257366 0.251074 0.309436 0.365130 0.260647 0.397957 0.276794 0.333493 0.285326 0.238406 + 586.000000 0.143976 0.154855 0.154423 0.159384 0.265882 0.231878 0.246139 0.256031 0.224266 0.146779 0.131775 0.257222 0.261230 0.300433 0.365365 0.251059 0.390388 0.282507 0.338066 0.275567 0.232656 + 587.000000 0.148667 0.152956 0.151345 0.159007 0.268400 0.241536 0.247673 0.252783 0.226943 0.146162 0.134496 0.254046 0.259083 0.299986 0.370252 0.254011 0.382821 0.284116 0.342933 0.288024 0.231187 + 588.000000 0.143016 0.150837 0.154417 0.165083 0.254425 0.232775 0.248963 0.249625 0.237968 0.143817 0.132579 0.250516 0.256595 0.292902 0.367082 0.255639 0.378185 0.275579 0.340438 0.291786 0.239143 + 589.000000 0.145229 0.152747 0.155632 0.159095 0.263856 0.233912 0.240740 0.248269 0.232364 0.145704 0.129380 0.259754 0.248707 0.290375 0.361400 0.267698 0.383194 0.287388 0.330297 0.277929 0.226677 + 590.000000 0.142915 0.150644 0.154846 0.153051 0.261789 0.228425 0.257109 0.241777 0.218475 0.141484 0.126923 0.248937 0.253025 0.322668 0.368355 0.248496 0.365746 0.268625 0.340093 0.256981 0.220087 + 591.000000 0.145185 0.148871 0.154036 0.154417 0.261199 0.234671 0.251186 0.247094 0.232392 0.145663 0.129242 0.253376 0.241311 0.303943 0.368124 0.246299 0.379804 0.283957 0.340603 0.274933 0.230408 + 592.000000 0.142998 0.151286 0.152605 0.164051 0.270292 0.229140 0.243178 0.243687 0.237065 0.149842 0.129110 0.253301 0.264529 0.313434 0.357430 0.252859 0.389862 0.262071 0.338126 0.292501 0.228736 + 593.000000 0.149087 0.162601 0.151763 0.159695 0.267110 0.233770 0.263384 0.246460 0.230918 0.145038 0.130458 0.257220 0.263072 0.318499 0.376590 0.263098 0.381923 0.265021 0.328814 0.291523 0.233984 + 594.000000 0.146674 0.158690 0.151420 0.158806 0.272250 0.227226 0.255600 0.251284 0.244880 0.146728 0.131663 0.258008 0.250455 0.319722 0.368299 0.244097 0.388297 0.264276 0.360912 0.298320 0.233741 + 595.000000 0.145298 0.155436 0.156149 0.161294 0.258267 0.237457 0.249134 0.247965 0.234679 0.143093 0.131005 0.247345 0.263728 0.295800 0.370617 0.270608 0.377194 0.289422 0.330229 0.284927 0.228768 + 596.000000 0.143389 0.156114 0.156651 0.159970 0.255634 0.236696 0.248580 0.254439 0.204048 0.137208 0.133185 0.263664 0.269734 0.296987 0.372352 0.257561 0.382829 0.291652 0.302300 0.241655 0.221591 + 597.000000 0.143042 0.152935 0.155966 0.162250 0.263408 0.232233 0.248204 0.251812 0.218713 0.140467 0.131693 0.257943 0.257692 0.310806 0.366431 0.263858 0.383846 0.275342 0.322881 0.276766 0.220149 + 598.000000 0.149109 0.157780 0.149103 0.153794 0.272604 0.240903 0.262770 0.250015 0.226225 0.153246 0.132401 0.250411 0.251835 0.325279 0.380343 0.248687 0.395533 0.279323 0.322657 0.294112 0.238825 + 599.000000 0.144250 0.157394 0.158139 0.161444 0.262891 0.235668 0.251432 0.249261 0.232866 0.146045 0.128517 0.266874 0.261552 0.305465 0.366884 0.256535 0.388894 0.270658 0.329659 0.304026 0.226121 + 600.000000 0.143978 0.161841 0.161564 0.155019 0.272260 0.225835 0.262235 0.255137 0.221880 0.155072 0.125924 0.259300 0.264648 0.326724 0.371494 0.259181 0.401009 0.272184 0.332602 0.271467 0.237981 + 601.000000 0.142493 0.150771 0.155695 0.159500 0.261369 0.236911 0.242639 0.257018 0.201862 0.154740 0.130096 0.265329 0.250500 0.283099 0.363824 0.254888 0.397787 0.288074 0.305023 0.270788 0.241591 + 602.000000 0.147416 0.151524 0.160973 0.155941 0.268928 0.236005 0.246230 0.250420 0.220036 0.147146 0.126538 0.259286 0.261666 0.309304 0.358822 0.265651 0.392337 0.270119 0.314774 0.287220 0.223540 + 603.000000 0.144837 0.155413 0.155816 0.163464 0.262188 0.225858 0.262974 0.250469 0.223722 0.140680 0.126048 0.252964 0.263721 0.331785 0.367280 0.256395 0.387895 0.260219 0.311555 0.281512 0.223320 + 604.000000 0.145828 0.149846 0.158061 0.157058 0.264447 0.234881 0.247560 0.256159 0.209863 0.145288 0.129122 0.254840 0.260706 0.309708 0.361529 0.259337 0.396441 0.277967 0.297252 0.275419 0.227498 + 605.000000 0.149459 0.146341 0.153938 0.156827 0.266615 0.239603 0.256277 0.248910 0.213071 0.147831 0.131254 0.250929 0.252242 0.316102 0.369795 0.254067 0.388821 0.268640 0.309429 0.280219 0.236116 + 606.000000 0.140205 0.153614 0.159227 0.156588 0.265391 0.226299 0.249703 0.255066 0.216261 0.148730 0.130129 0.263290 0.255801 0.312791 0.362526 0.243874 0.396753 0.267848 0.328469 0.277566 0.231710 + 607.000000 0.140279 0.152073 0.156717 0.158736 0.252729 0.234459 0.235733 0.247410 0.228881 0.143954 0.129393 0.254183 0.255277 0.288495 0.347166 0.266204 0.385409 0.270943 0.297914 0.319135 0.229017 + 608.000000 0.148127 0.154087 0.152712 0.158640 0.269368 0.233091 0.256618 0.256033 0.234343 0.145514 0.132196 0.254738 0.251832 0.333161 0.358462 0.242796 0.398314 0.267385 0.311031 0.322399 0.233621 + 609.000000 0.141889 0.154494 0.156581 0.158079 0.260028 0.229958 0.249048 0.247740 0.239118 0.145693 0.131614 0.244119 0.251719 0.314681 0.345442 0.264416 0.388504 0.256618 0.319438 0.336528 0.234041 + 610.000000 0.147678 0.155644 0.152063 0.154968 0.267829 0.245365 0.224678 0.241264 0.257667 0.143714 0.134931 0.257921 0.253997 0.283693 0.342630 0.255667 0.381811 0.266471 0.347211 0.352055 0.222519 + 611.000000 0.143544 0.160893 0.150498 0.154663 0.264703 0.235616 0.251689 0.241586 0.236370 0.144899 0.132343 0.259446 0.259662 0.311247 0.360694 0.244042 0.381312 0.258505 0.336737 0.324142 0.224466 + 612.000000 0.144377 0.158188 0.158485 0.162590 0.262495 0.228584 0.254197 0.254199 0.239991 0.148519 0.127133 0.263354 0.258401 0.307439 0.362806 0.254366 0.395575 0.266513 0.331865 0.309428 0.236690 + 613.000000 0.143464 0.153190 0.160079 0.166191 0.269681 0.234127 0.250018 0.247164 0.242351 0.153887 0.126599 0.261541 0.256375 0.321789 0.362722 0.267026 0.398426 0.267126 0.326459 0.315880 0.228267 + 614.000000 0.149608 0.160016 0.154785 0.158073 0.269422 0.235832 0.261012 0.251064 0.235160 0.150006 0.124064 0.254947 0.268696 0.332509 0.361728 0.252147 0.396992 0.268226 0.312783 0.315523 0.228825 + 615.000000 0.140750 0.154548 0.160071 0.163814 0.251342 0.235521 0.245951 0.254114 0.235895 0.141971 0.128378 0.261257 0.251806 0.300357 0.361624 0.264977 0.390543 0.281995 0.299156 0.319196 0.223364 + 616.000000 0.137959 0.151153 0.153433 0.159635 0.258972 0.232193 0.243182 0.236230 0.240483 0.148887 0.129235 0.246613 0.253888 0.301135 0.352192 0.254615 0.376141 0.256254 0.342931 0.326327 0.226067 + 617.000000 0.145513 0.161711 0.152758 0.149930 0.269653 0.226856 0.260268 0.245320 0.240039 0.148589 0.126897 0.263950 0.246055 0.320563 0.363132 0.235609 0.385244 0.250574 0.354347 0.314518 0.227356 + 618.000000 0.142488 0.152973 0.156991 0.155444 0.262337 0.224189 0.238528 0.249799 0.230693 0.148263 0.126461 0.250298 0.245169 0.286857 0.346266 0.271931 0.383585 0.262050 0.328684 0.306632 0.234490 + 619.000000 0.143492 0.156509 0.155995 0.166670 0.262530 0.227423 0.247254 0.249308 0.239742 0.150320 0.126324 0.267318 0.261188 0.299728 0.362665 0.256442 0.393824 0.272375 0.324845 0.283622 0.232005 + 620.000000 0.143688 0.150238 0.160061 0.156789 0.266468 0.234662 0.248880 0.254863 0.223408 0.144727 0.129526 0.251817 0.259671 0.315314 0.365597 0.254130 0.391577 0.282806 0.332976 0.279190 0.220217 + 621.000000 0.143061 0.149842 0.157216 0.150381 0.264105 0.234418 0.247750 0.244233 0.221083 0.144627 0.127818 0.256690 0.244345 0.308203 0.366107 0.254190 0.373133 0.280521 0.338952 0.270449 0.219183 + 622.000000 0.145612 0.150083 0.149860 0.156544 0.264599 0.237308 0.251491 0.243901 0.242208 0.148680 0.129659 0.243533 0.244098 0.304876 0.370011 0.247931 0.371879 0.282048 0.361020 0.297273 0.231947 + 623.000000 0.139405 0.145780 0.160941 0.154040 0.264429 0.218541 0.228587 0.229444 0.250315 0.145330 0.125724 0.254838 0.251524 0.290737 0.342150 0.252897 0.360664 0.254089 0.372472 0.280328 0.224627 + 624.000000 0.143319 0.152752 0.159842 0.155718 0.258954 0.236586 0.254019 0.236872 0.243142 0.145577 0.126673 0.255108 0.245810 0.304552 0.372225 0.262382 0.352049 0.280778 0.366690 0.293079 0.223397 + 625.000000 0.143700 0.162643 0.155875 0.152491 0.253705 0.222703 0.257426 0.241362 0.245019 0.143558 0.124104 0.248998 0.267486 0.292279 0.367947 0.241947 0.351873 0.285229 0.368744 0.263269 0.235709 + 626.000000 0.147137 0.154370 0.163428 0.156295 0.273268 0.237340 0.252059 0.232569 0.255528 0.151368 0.128528 0.260555 0.251819 0.315203 0.369947 0.266874 0.338769 0.289031 0.396944 0.289895 0.227597 + 627.000000 0.142214 0.156597 0.158784 0.155508 0.257383 0.236255 0.248816 0.213348 0.254220 0.148205 0.130145 0.259587 0.263406 0.291240 0.371139 0.254135 0.307011 0.265913 0.391622 0.291211 0.233377 + 628.000000 0.141830 0.152223 0.155994 0.165036 0.265917 0.227642 0.253002 0.221699 0.250003 0.146219 0.129524 0.266068 0.250456 0.328358 0.362531 0.261868 0.321468 0.275180 0.392311 0.262753 0.226877 + 629.000000 0.147152 0.149996 0.160671 0.144784 0.266423 0.241904 0.244736 0.241680 0.248401 0.154143 0.126763 0.243796 0.247125 0.291570 0.363183 0.245945 0.337952 0.317593 0.389355 0.288761 0.233135 + 630.000000 0.142847 0.150086 0.160818 0.157003 0.259652 0.228628 0.241288 0.238602 0.248498 0.148873 0.126062 0.255908 0.256625 0.289135 0.354613 0.253852 0.336962 0.296472 0.387189 0.268698 0.235747 + 631.000000 0.145147 0.146923 0.157382 0.149306 0.261639 0.238437 0.257540 0.212042 0.252215 0.144672 0.133039 0.245753 0.239052 0.319304 0.374848 0.247792 0.309430 0.271951 0.387789 0.284771 0.231597 + 632.000000 0.142811 0.149694 0.155617 0.152726 0.248342 0.232663 0.247139 0.204301 0.244892 0.139662 0.126888 0.251204 0.258199 0.289469 0.362860 0.254549 0.279369 0.265801 0.376571 0.269906 0.227209 + 633.000000 0.144935 0.153022 0.156445 0.151717 0.265957 0.226012 0.251378 0.224833 0.256099 0.143999 0.125169 0.259171 0.242748 0.314957 0.362443 0.246762 0.329169 0.260797 0.391995 0.286665 0.222252 + 634.000000 0.146631 0.154229 0.157928 0.154644 0.258904 0.235119 0.247533 0.234515 0.243850 0.145507 0.127819 0.253475 0.262383 0.285340 0.365730 0.258286 0.345436 0.287928 0.368782 0.272661 0.233411 + 635.000000 0.143383 0.148480 0.164799 0.153975 0.262916 0.231982 0.254110 0.230389 0.242599 0.146679 0.127378 0.244662 0.255590 0.314765 0.368229 0.260381 0.338861 0.277343 0.377567 0.271474 0.227616 + 636.000000 0.145604 0.154003 0.152489 0.157701 0.264818 0.231903 0.242217 0.237996 0.247927 0.146534 0.125679 0.261601 0.256995 0.292752 0.359206 0.246017 0.349824 0.281171 0.382719 0.280690 0.225727 + 637.000000 0.142668 0.152551 0.157992 0.153933 0.266089 0.232984 0.241366 0.221691 0.247677 0.150503 0.129344 0.257388 0.252623 0.294064 0.362140 0.263318 0.332382 0.268146 0.383716 0.286577 0.231660 + 638.000000 0.144356 0.150970 0.160245 0.157914 0.268478 0.230971 0.248202 0.227791 0.255283 0.146787 0.127297 0.253711 0.260162 0.311679 0.363969 0.251343 0.341068 0.270790 0.393131 0.283734 0.223473 + 639.000000 0.148019 0.158182 0.151397 0.151967 0.263496 0.236845 0.254643 0.224924 0.242718 0.146094 0.133914 0.259666 0.251757 0.307020 0.374330 0.257223 0.316523 0.278666 0.379961 0.270765 0.238232 + 640.000000 0.147533 0.147837 0.157113 0.155497 0.274804 0.240156 0.242293 0.204820 0.258881 0.151553 0.131715 0.256362 0.255924 0.306234 0.361443 0.258913 0.312082 0.274249 0.402496 0.287160 0.229013 + 641.000000 0.150936 0.157880 0.157404 0.151772 0.265946 0.232635 0.263542 0.231931 0.249347 0.142045 0.130664 0.250430 0.257684 0.321389 0.375836 0.256771 0.320771 0.282689 0.385171 0.267415 0.232348 + 642.000000 0.145069 0.155157 0.155131 0.156674 0.265675 0.228064 0.250293 0.207653 0.252038 0.146975 0.128600 0.253313 0.256150 0.303662 0.362734 0.272151 0.316504 0.270269 0.382382 0.268958 0.232554 + 643.000000 0.151684 0.152232 0.162346 0.154100 0.272004 0.237600 0.252612 0.211914 0.260699 0.150594 0.129689 0.256893 0.262003 0.304502 0.367996 0.260215 0.316443 0.273524 0.399758 0.281866 0.238364 + 644.000000 0.146188 0.157815 0.155960 0.156830 0.261944 0.231208 0.260446 0.225565 0.238229 0.145229 0.128080 0.253929 0.259910 0.314819 0.369434 0.269618 0.318598 0.295194 0.374225 0.248244 0.233351 + 645.000000 0.147001 0.153997 0.163818 0.151198 0.264435 0.240619 0.257345 0.227351 0.251039 0.147762 0.129663 0.262095 0.252539 0.315532 0.374549 0.251751 0.315650 0.293933 0.391961 0.282440 0.229236 + 646.000000 0.143938 0.152872 0.160962 0.155776 0.258851 0.228428 0.246960 0.203660 0.256559 0.145641 0.130571 0.270840 0.249763 0.298015 0.358119 0.266222 0.290553 0.265938 0.392635 0.272664 0.240182 + 647.000000 0.147286 0.152083 0.162358 0.153633 0.269638 0.238207 0.259013 0.210686 0.257035 0.146539 0.133418 0.255030 0.255566 0.326610 0.376582 0.254364 0.303941 0.272365 0.399036 0.281394 0.230191 + 648.000000 0.144049 0.153058 0.160696 0.156736 0.261871 0.238646 0.249121 0.230241 0.250963 0.148527 0.129441 0.250566 0.256200 0.298513 0.368141 0.265411 0.329225 0.303032 0.386962 0.282824 0.229879 + 649.000000 0.145467 0.160317 0.165880 0.161166 0.262039 0.225660 0.259036 0.219585 0.260175 0.144708 0.129159 0.265525 0.270024 0.308056 0.371336 0.266625 0.327668 0.260114 0.391221 0.274558 0.237766 + 650.000000 0.147300 0.152824 0.161906 0.160382 0.266715 0.230983 0.255293 0.250905 0.250239 0.145350 0.132753 0.262647 0.251671 0.314038 0.369946 0.250567 0.370383 0.283015 0.380350 0.274592 0.237805 + 651.000000 0.147845 0.151181 0.164804 0.157719 0.262182 0.233426 0.243116 0.244669 0.248791 0.143500 0.126800 0.263768 0.265726 0.290955 0.360213 0.252835 0.344510 0.279434 0.384257 0.279677 0.224755 + 652.000000 0.148452 0.156970 0.155983 0.157275 0.264591 0.235925 0.259746 0.223173 0.254521 0.148255 0.125749 0.266014 0.251304 0.311378 0.372478 0.257644 0.324524 0.277886 0.390498 0.283110 0.231657 + 653.000000 0.145642 0.152942 0.158605 0.151463 0.276341 0.227324 0.257702 0.216450 0.249444 0.152737 0.126650 0.247163 0.258819 0.331107 0.366535 0.247954 0.330027 0.275107 0.395818 0.262156 0.230578 + 654.000000 0.146815 0.150293 0.160300 0.153244 0.266710 0.229687 0.239196 0.234877 0.244737 0.148396 0.124654 0.263972 0.251373 0.290219 0.349674 0.259218 0.341854 0.292677 0.380936 0.262846 0.230938 + 655.000000 0.147476 0.152416 0.155954 0.156924 0.264123 0.242967 0.259714 0.235641 0.236403 0.144972 0.126355 0.253266 0.260293 0.320489 0.377023 0.250921 0.336391 0.297028 0.375164 0.269092 0.215998 + 656.000000 0.145399 0.154297 0.159141 0.158964 0.261610 0.231136 0.251056 0.219488 0.255599 0.144914 0.125853 0.256997 0.257241 0.302303 0.365291 0.268598 0.314578 0.272112 0.389887 0.283045 0.227709 + 657.000000 0.150794 0.155806 0.153298 0.162419 0.268241 0.230662 0.259063 0.240843 0.256487 0.149222 0.125995 0.262167 0.252447 0.311500 0.367463 0.251297 0.352714 0.283754 0.391157 0.274766 0.239293 + 658.000000 0.154449 0.156006 0.160775 0.160838 0.267306 0.241880 0.266035 0.245714 0.243436 0.149227 0.122968 0.256988 0.267207 0.310881 0.373535 0.265421 0.354343 0.317410 0.375351 0.258973 0.227429 + 659.000000 0.151026 0.155958 0.157163 0.161796 0.266923 0.236579 0.259300 0.231190 0.255966 0.145667 0.125663 0.262973 0.264374 0.312245 0.371615 0.255575 0.334409 0.284081 0.392127 0.277076 0.228428 + 660.000000 0.150022 0.148131 0.166306 0.157672 0.271375 0.227781 0.249724 0.229381 0.249869 0.145591 0.127060 0.254871 0.262696 0.311496 0.359411 0.269060 0.335898 0.267998 0.385951 0.263055 0.231839 + 661.000000 0.154185 0.152470 0.161086 0.155733 0.265080 0.240242 0.265744 0.221354 0.262227 0.144101 0.128844 0.256460 0.255040 0.314794 0.379031 0.255211 0.324830 0.266392 0.391888 0.290350 0.234942 + 662.000000 0.144577 0.154345 0.163500 0.156260 0.261637 0.230348 0.245433 0.230869 0.250944 0.141858 0.126238 0.261134 0.265651 0.296496 0.360411 0.256259 0.336572 0.286258 0.382968 0.271770 0.221702 + 663.000000 0.147040 0.157546 0.159803 0.151097 0.268576 0.235868 0.262547 0.222528 0.250315 0.148435 0.128219 0.258448 0.248220 0.328224 0.377143 0.261087 0.311334 0.281361 0.392631 0.281042 0.226814 + 664.000000 0.143160 0.153932 0.164571 0.156433 0.259643 0.237118 0.257027 0.191447 0.250596 0.146056 0.134996 0.263235 0.267478 0.311415 0.374801 0.259216 0.278306 0.269039 0.391033 0.268032 0.236987 + 665.000000 0.145047 0.150879 0.166534 0.146348 0.264684 0.226355 0.252231 0.204681 0.253901 0.143734 0.131082 0.263269 0.246099 0.314548 0.361445 0.254369 0.296982 0.266624 0.391279 0.267828 0.234385 + 666.000000 0.149441 0.159074 0.153076 0.155548 0.269534 0.231177 0.249989 0.220637 0.256174 0.139471 0.128985 0.255873 0.258912 0.308500 0.364746 0.265228 0.327488 0.277419 0.384131 0.277060 0.219894 + 667.000000 0.146781 0.150823 0.157287 0.153386 0.255974 0.230620 0.259367 0.231182 0.242102 0.144369 0.126419 0.259172 0.250280 0.307722 0.369089 0.240979 0.332017 0.270073 0.375181 0.263490 0.235936 + 668.000000 0.144041 0.150436 0.165735 0.154540 0.262552 0.229279 0.252542 0.236085 0.253809 0.149715 0.129826 0.253273 0.248166 0.304574 0.366265 0.256508 0.353559 0.283058 0.383507 0.278596 0.241128 + 669.000000 0.147576 0.153795 0.152659 0.163583 0.263636 0.228923 0.248050 0.220169 0.264216 0.144472 0.127092 0.256432 0.255120 0.295755 0.360483 0.266633 0.328614 0.270466 0.391328 0.286157 0.233056 + 670.000000 0.148370 0.153551 0.164605 0.153008 0.272868 0.238620 0.261964 0.225163 0.242858 0.147040 0.128956 0.253394 0.257105 0.333859 0.376758 0.269573 0.321178 0.290329 0.384922 0.266914 0.221204 + 671.000000 0.145318 0.157811 0.158614 0.153184 0.266184 0.223764 0.255764 0.216546 0.253353 0.145140 0.127115 0.258903 0.259238 0.321556 0.361518 0.255159 0.299344 0.280973 0.395073 0.260609 0.231651 + 672.000000 0.149093 0.147613 0.161371 0.149856 0.266341 0.233022 0.242930 0.227019 0.255527 0.149336 0.125753 0.250901 0.249194 0.302848 0.354152 0.257053 0.297787 0.293571 0.397545 0.278277 0.233109 + 673.000000 0.145184 0.150922 0.155119 0.151973 0.256290 0.228559 0.245378 0.224830 0.253026 0.139722 0.125277 0.249551 0.252308 0.293697 0.356765 0.248092 0.314493 0.284659 0.384055 0.274510 0.225548 + 674.000000 0.142752 0.153049 0.152548 0.156298 0.258580 0.230198 0.243979 0.232928 0.246391 0.137705 0.131306 0.250145 0.248673 0.305725 0.360534 0.258978 0.323642 0.294054 0.378927 0.269365 0.220767 + 675.000000 0.143797 0.151465 0.155064 0.155027 0.264151 0.234232 0.248688 0.231208 0.249769 0.142222 0.133349 0.249043 0.252914 0.312432 0.366657 0.248772 0.335146 0.294463 0.385301 0.272236 0.225482 + 676.000000 0.145051 0.144361 0.157382 0.157674 0.264471 0.234410 0.247354 0.228233 0.244428 0.146564 0.131182 0.245737 0.252975 0.311504 0.361813 0.258055 0.323732 0.292016 0.385416 0.261067 0.232572 + 677.000000 0.142327 0.151578 0.155418 0.148510 0.257169 0.232168 0.252054 0.207923 0.244774 0.146694 0.126276 0.252866 0.247937 0.302825 0.366260 0.250765 0.300319 0.269943 0.381360 0.274177 0.230161 + 678.000000 0.139919 0.148596 0.160146 0.152586 0.262161 0.232122 0.247226 0.213397 0.247046 0.149019 0.129534 0.249127 0.255670 0.309081 0.362139 0.247890 0.308612 0.288083 0.390764 0.269864 0.229369 + 679.000000 0.141070 0.160039 0.155041 0.151763 0.259175 0.232230 0.251656 0.221206 0.244044 0.146027 0.130848 0.246420 0.256349 0.308266 0.365700 0.265544 0.297437 0.307726 0.384499 0.265011 0.231903 + 680.000000 0.146409 0.149913 0.159047 0.155593 0.271478 0.231966 0.246843 0.241791 0.254134 0.148445 0.126211 0.256253 0.255571 0.317998 0.354304 0.237360 0.342272 0.311339 0.399556 0.270369 0.224685 + 681.000000 0.144111 0.155639 0.153786 0.158279 0.250351 0.236959 0.250603 0.248546 0.239921 0.144553 0.130551 0.238969 0.253820 0.300242 0.365097 0.265556 0.312972 0.331335 0.377463 0.260214 0.236851 + 682.000000 0.140646 0.154123 0.160982 0.150449 0.269245 0.230028 0.240376 0.213901 0.253168 0.147434 0.134074 0.269398 0.246386 0.314703 0.355134 0.256703 0.306490 0.286215 0.397601 0.275276 0.227731 + 683.000000 0.148873 0.157055 0.163472 0.150231 0.261384 0.231248 0.252039 0.235091 0.251812 0.144507 0.125967 0.254833 0.266095 0.299237 0.362688 0.249295 0.313213 0.302202 0.389437 0.266849 0.233682 + 684.000000 0.150253 0.158072 0.154024 0.155650 0.268891 0.230806 0.255049 0.242906 0.251091 0.141927 0.129429 0.249596 0.252560 0.320799 0.363962 0.261985 0.331301 0.308987 0.388748 0.262875 0.228062 + 685.000000 0.149640 0.146881 0.166359 0.152615 0.258166 0.240617 0.255692 0.231918 0.246583 0.138902 0.133371 0.262305 0.251212 0.310235 0.370871 0.251301 0.319245 0.293225 0.379091 0.265826 0.231702 + 686.000000 0.147083 0.155338 0.155022 0.151622 0.272610 0.231610 0.250360 0.221590 0.259069 0.146258 0.128737 0.256503 0.248461 0.323044 0.362555 0.251648 0.313194 0.286875 0.401807 0.282186 0.223437 + 687.000000 0.149697 0.149963 0.153713 0.154936 0.261343 0.239308 0.243361 0.228506 0.251179 0.147028 0.129264 0.242628 0.263394 0.285785 0.360127 0.255274 0.311690 0.302727 0.388986 0.272755 0.237610 + 688.000000 0.148231 0.156733 0.161687 0.150222 0.270078 0.233246 0.258116 0.235735 0.244730 0.145948 0.128061 0.264611 0.253619 0.322850 0.371225 0.251519 0.337486 0.286482 0.384818 0.267206 0.226268 + 689.000000 0.145726 0.153965 0.155980 0.156626 0.262497 0.237757 0.249052 0.217427 0.246486 0.147081 0.130493 0.248840 0.266546 0.295920 0.370339 0.263901 0.317555 0.272679 0.381883 0.278177 0.232426 + 690.000000 0.144371 0.159981 0.156890 0.152400 0.261886 0.225293 0.247805 0.217795 0.255619 0.141160 0.124059 0.268022 0.256688 0.298734 0.359133 0.252918 0.320641 0.269215 0.386916 0.278105 0.221385 + 691.000000 0.142979 0.148265 0.162192 0.156533 0.264446 0.222546 0.245949 0.223988 0.253612 0.144685 0.133775 0.247941 0.259237 0.308609 0.353690 0.253875 0.325587 0.292190 0.392226 0.251861 0.238786 + 692.000000 0.144430 0.153549 0.149166 0.160061 0.260233 0.228816 0.252061 0.238803 0.251282 0.141630 0.130546 0.249411 0.245921 0.311741 0.360880 0.248242 0.339621 0.301275 0.384440 0.264103 0.231556 + 693.000000 0.141171 0.156594 0.155999 0.154432 0.263982 0.237424 0.242676 0.224437 0.245794 0.148002 0.131903 0.263842 0.260627 0.297458 0.367795 0.250161 0.330400 0.278726 0.385877 0.284640 0.224629 + 694.000000 0.147374 0.151841 0.160241 0.146991 0.271267 0.236470 0.249758 0.220530 0.245663 0.151080 0.130427 0.246608 0.255772 0.308561 0.368039 0.257178 0.319105 0.283242 0.388728 0.272641 0.234529 + 695.000000 0.150775 0.153238 0.156628 0.151401 0.261819 0.224767 0.259296 0.230743 0.256719 0.143348 0.125234 0.252518 0.242740 0.305796 0.362839 0.254016 0.334692 0.276847 0.381995 0.271016 0.238625 + 696.000000 0.148917 0.151765 0.159738 0.156466 0.267457 0.229379 0.252394 0.222344 0.255803 0.143519 0.127850 0.254863 0.263927 0.309290 0.364347 0.251936 0.334707 0.263230 0.388060 0.272107 0.230153 + 697.000000 0.146230 0.154885 0.162121 0.151830 0.250715 0.235003 0.257773 0.238051 0.239816 0.139899 0.126067 0.250180 0.260847 0.295076 0.371980 0.255412 0.330754 0.298937 0.366217 0.264032 0.228643 + 698.000000 0.147733 0.149008 0.155065 0.154543 0.272345 0.235455 0.240438 0.238364 0.251147 0.149093 0.130591 0.253113 0.252680 0.298964 0.358161 0.248507 0.357307 0.296051 0.386760 0.275837 0.230774 + 699.000000 0.149667 0.148597 0.158476 0.152422 0.269137 0.231419 0.243136 0.253535 0.240679 0.146714 0.129917 0.250220 0.253134 0.297082 0.358437 0.251045 0.365287 0.295895 0.374800 0.263125 0.236851 + 700.000000 0.147134 0.154544 0.155519 0.163167 0.260210 0.231955 0.252683 0.250648 0.232851 0.144586 0.124489 0.260965 0.256211 0.295912 0.366577 0.262002 0.375402 0.285307 0.344467 0.270530 0.229266 + 701.000000 0.148871 0.156079 0.156355 0.162108 0.269996 0.219658 0.266583 0.243810 0.236685 0.142123 0.126902 0.258046 0.255474 0.336340 0.367237 0.262444 0.376323 0.248967 0.346720 0.266496 0.231202 + 702.000000 0.149447 0.160249 0.159279 0.158855 0.267021 0.231098 0.253174 0.260618 0.238005 0.148814 0.124693 0.270309 0.263234 0.296289 0.366172 0.249235 0.396418 0.281228 0.346852 0.286695 0.235137 + 703.000000 0.151334 0.152892 0.156040 0.163999 0.261674 0.244564 0.250423 0.258045 0.239020 0.147892 0.125799 0.258107 0.257371 0.286552 0.367451 0.262824 0.388767 0.293774 0.335787 0.310190 0.229971 + 704.000000 0.145298 0.156393 0.154678 0.161877 0.260588 0.228633 0.250314 0.245456 0.238256 0.146396 0.126004 0.268592 0.256459 0.297582 0.362237 0.250801 0.384866 0.258266 0.330994 0.297529 0.234476 + 705.000000 0.148025 0.155035 0.153008 0.153932 0.266152 0.227744 0.263665 0.253592 0.226835 0.148793 0.123972 0.242439 0.250939 0.326821 0.368119 0.253210 0.394485 0.272173 0.315405 0.282815 0.234115 + 706.000000 0.146066 0.157047 0.151903 0.159444 0.263079 0.230249 0.253256 0.250863 0.219191 0.143786 0.131754 0.261836 0.262138 0.314707 0.362605 0.249894 0.390840 0.260135 0.296707 0.292993 0.235700 + 707.000000 0.146367 0.154488 0.153011 0.158612 0.268396 0.236709 0.257155 0.253808 0.223476 0.147180 0.132013 0.247872 0.256662 0.334557 0.361816 0.257006 0.397822 0.272746 0.296547 0.316557 0.230699 + 708.000000 0.140690 0.157798 0.149132 0.155718 0.261803 0.226120 0.248861 0.236363 0.227716 0.141941 0.130016 0.261395 0.253757 0.322661 0.356038 0.247075 0.377501 0.243117 0.306462 0.307769 0.223432 + 709.000000 0.141447 0.149802 0.159753 0.157474 0.263439 0.235479 0.254727 0.256613 0.216975 0.147456 0.131036 0.249533 0.241050 0.329503 0.366751 0.263959 0.400897 0.280334 0.290435 0.306317 0.226488 + 710.000000 0.143676 0.153754 0.153472 0.159830 0.263325 0.220082 0.253438 0.250997 0.222561 0.145019 0.127348 0.253381 0.259540 0.317692 0.352927 0.250224 0.391594 0.251303 0.312561 0.290020 0.235849 + 711.000000 0.154167 0.151126 0.153451 0.153535 0.269597 0.243437 0.249832 0.255763 0.234645 0.148350 0.127769 0.254027 0.250551 0.299913 0.364773 0.252480 0.393907 0.283402 0.328048 0.304969 0.232902 + 712.000000 0.144835 0.160146 0.151913 0.163100 0.260453 0.227557 0.262617 0.242355 0.219243 0.142836 0.124047 0.254266 0.273016 0.318856 0.367372 0.262136 0.376883 0.255665 0.314520 0.282766 0.224670 + 713.000000 0.143356 0.157167 0.152199 0.167506 0.268969 0.222193 0.254054 0.251229 0.217905 0.145187 0.127969 0.263337 0.255973 0.328107 0.364493 0.263716 0.395050 0.262139 0.296199 0.269600 0.223079 + 714.000000 0.143848 0.162387 0.155047 0.161097 0.263542 0.232848 0.252249 0.254471 0.222886 0.147385 0.131694 0.258275 0.264151 0.306623 0.368102 0.268829 0.394521 0.276730 0.307110 0.296998 0.235513 + 715.000000 0.146307 0.148652 0.162528 0.160930 0.262429 0.234917 0.257246 0.254686 0.228730 0.146483 0.130703 0.252685 0.261315 0.319714 0.366401 0.252926 0.395020 0.267602 0.323615 0.293445 0.236183 + 716.000000 0.145424 0.151944 0.153300 0.163807 0.274626 0.233564 0.251448 0.240661 0.228484 0.149799 0.129744 0.260363 0.262118 0.329666 0.365651 0.255522 0.389052 0.256278 0.324889 0.289298 0.223802 + 717.000000 0.144372 0.156460 0.155746 0.162447 0.266071 0.229917 0.251979 0.246607 0.239922 0.150323 0.127454 0.256188 0.260207 0.310958 0.366295 0.260762 0.389990 0.270143 0.335270 0.292562 0.233246 + 718.000000 0.143068 0.160116 0.154882 0.159196 0.259719 0.232987 0.256220 0.245228 0.235726 0.146103 0.127832 0.254883 0.258531 0.310640 0.372686 0.260934 0.383677 0.275137 0.325054 0.295770 0.227601 + 719.000000 0.144331 0.156350 0.153998 0.154829 0.269714 0.234864 0.244443 0.248593 0.229670 0.150185 0.129614 0.265032 0.257505 0.302590 0.363274 0.244537 0.392535 0.273163 0.336490 0.293673 0.228685 + 720.000000 0.144854 0.152834 0.153561 0.156764 0.263981 0.236741 0.248059 0.243710 0.239201 0.147770 0.129587 0.251416 0.249130 0.306019 0.361727 0.257458 0.384378 0.266333 0.331889 0.318306 0.230156 + 721.000000 0.141015 0.155911 0.156637 0.160281 0.257049 0.232833 0.238833 0.245354 0.235121 0.146086 0.126260 0.255886 0.267858 0.287674 0.349232 0.260417 0.383524 0.268490 0.325309 0.314252 0.225593 + 722.000000 0.149526 0.159269 0.154014 0.154615 0.270082 0.239813 0.253849 0.247973 0.244816 0.146489 0.127672 0.261908 0.241887 0.311048 0.367430 0.260151 0.387634 0.271153 0.339279 0.328184 0.222944 + 723.000000 0.142020 0.159173 0.155541 0.158648 0.260364 0.232482 0.258009 0.246727 0.231414 0.146519 0.130901 0.255679 0.258847 0.311439 0.372786 0.254651 0.381439 0.267882 0.337611 0.298221 0.232489 + 724.000000 0.144205 0.154277 0.157120 0.158528 0.262962 0.230914 0.243439 0.238575 0.244848 0.144959 0.131442 0.258883 0.255386 0.297513 0.362347 0.263123 0.374963 0.261332 0.345348 0.296316 0.232414 + 725.000000 0.144083 0.153540 0.157896 0.162067 0.270983 0.226838 0.242192 0.247251 0.250631 0.145024 0.128244 0.268004 0.251611 0.308414 0.358667 0.251250 0.374693 0.272522 0.379647 0.287998 0.220857 + 726.000000 0.140068 0.156574 0.161268 0.163059 0.250398 0.227364 0.254357 0.242878 0.242576 0.140679 0.130957 0.250626 0.261148 0.301924 0.368604 0.268999 0.334950 0.301844 0.372938 0.257071 0.234859 + 727.000000 0.143387 0.151404 0.166989 0.150338 0.264738 0.231637 0.242846 0.222622 0.255708 0.147274 0.128993 0.261192 0.251123 0.302911 0.357138 0.257565 0.308301 0.293120 0.396884 0.281281 0.229647 + 728.000000 0.146123 0.157109 0.151440 0.151309 0.267110 0.233236 0.260830 0.206188 0.245911 0.148172 0.130395 0.254438 0.255138 0.328768 0.369100 0.254438 0.286620 0.286547 0.390448 0.259366 0.234661 + 729.000000 0.144783 0.150663 0.159343 0.154033 0.268238 0.231600 0.254021 0.220988 0.245877 0.149339 0.125425 0.256515 0.252121 0.330237 0.363138 0.256113 0.300179 0.287185 0.392904 0.264469 0.223404 + 730.000000 0.147411 0.151835 0.162929 0.155688 0.259745 0.233699 0.250483 0.249656 0.248106 0.140271 0.126384 0.250204 0.251965 0.305327 0.358800 0.262522 0.336883 0.324701 0.381372 0.264746 0.223629 + 731.000000 0.148338 0.158242 0.154184 0.158388 0.267403 0.234132 0.249375 0.247469 0.249642 0.143987 0.129063 0.262746 0.256482 0.312041 0.358023 0.250503 0.344061 0.317690 0.389126 0.262210 0.227404 + 732.000000 0.145458 0.154347 0.157324 0.153627 0.263511 0.241092 0.250816 0.222340 0.248978 0.149605 0.130761 0.246697 0.259648 0.305716 0.372268 0.261742 0.300796 0.294905 0.392171 0.282671 0.230367 + 733.000000 0.144210 0.155446 0.168443 0.152999 0.263227 0.235263 0.261092 0.220317 0.251336 0.143546 0.130738 0.264684 0.253683 0.327651 0.375311 0.259762 0.305069 0.288224 0.390978 0.274599 0.224667 + 734.000000 0.141619 0.157132 0.160985 0.150568 0.269123 0.231422 0.250853 0.231436 0.246346 0.145727 0.132502 0.247441 0.257166 0.320949 0.368323 0.256819 0.336108 0.304023 0.386585 0.267678 0.221937 + 735.000000 0.140612 0.157706 0.157160 0.156095 0.256897 0.229992 0.249626 0.240194 0.240645 0.146094 0.128335 0.270977 0.250875 0.303486 0.361205 0.242898 0.342472 0.300552 0.378669 0.259624 0.231932 + 736.000000 0.143799 0.152685 0.154851 0.156874 0.264068 0.238989 0.258849 0.223181 0.250875 0.148467 0.131998 0.245777 0.251018 0.323061 0.374083 0.255112 0.316684 0.303523 0.392884 0.276280 0.230854 + 737.000000 0.142376 0.149027 0.154359 0.158625 0.263615 0.227771 0.244310 0.224431 0.245626 0.146598 0.127559 0.256687 0.255642 0.310073 0.353404 0.250697 0.320501 0.288254 0.388368 0.256199 0.229235 + 738.000000 0.139110 0.152815 0.159254 0.146621 0.261075 0.225863 0.251511 0.217629 0.244343 0.145904 0.128931 0.244848 0.249231 0.318776 0.363731 0.245813 0.301751 0.286235 0.386586 0.264143 0.228079 + 739.000000 0.138173 0.153142 0.159514 0.154586 0.258856 0.229749 0.252405 0.203032 0.246783 0.148562 0.127291 0.260671 0.252887 0.312762 0.359274 0.257876 0.295667 0.289548 0.388756 0.268046 0.225099 + 740.000000 0.144977 0.155988 0.159534 0.152143 0.271322 0.225818 0.255209 0.231484 0.243934 0.148880 0.126010 0.253812 0.257432 0.329766 0.362207 0.255629 0.321252 0.294738 0.390823 0.253633 0.227573 + 741.000000 0.149289 0.152181 0.153028 0.160009 0.264647 0.234336 0.258893 0.224467 0.254122 0.145187 0.128621 0.246559 0.256701 0.325749 0.368021 0.261117 0.296997 0.293835 0.395545 0.267185 0.230893 + 742.000000 0.145750 0.149411 0.159690 0.155222 0.260663 0.237107 0.244489 0.235578 0.247898 0.146363 0.127259 0.252204 0.258035 0.295153 0.358160 0.253194 0.326320 0.310957 0.386697 0.271078 0.228681 + 743.000000 0.146724 0.152271 0.159129 0.151983 0.269622 0.230084 0.254921 0.244129 0.238652 0.145865 0.130345 0.254647 0.249958 0.327066 0.364355 0.250586 0.343979 0.301280 0.380880 0.249389 0.230499 + 744.000000 0.147074 0.147482 0.165348 0.155592 0.271745 0.237219 0.251280 0.208854 0.249302 0.147413 0.133197 0.257903 0.252828 0.323962 0.368875 0.275614 0.295827 0.268503 0.392984 0.272322 0.228169 + 745.000000 0.142900 0.153429 0.163258 0.153753 0.264541 0.232626 0.249016 0.205671 0.256122 0.145567 0.133491 0.260718 0.255797 0.309144 0.366193 0.262908 0.301214 0.275109 0.394781 0.277568 0.231719 + 746.000000 0.146099 0.159237 0.160903 0.153274 0.256377 0.234841 0.273175 0.223299 0.252291 0.146075 0.130584 0.258191 0.251088 0.322717 0.384640 0.247328 0.317689 0.282332 0.386416 0.274091 0.241238 + 747.000000 0.142981 0.158362 0.156697 0.160143 0.263585 0.239019 0.244174 0.219451 0.251949 0.149040 0.130422 0.258139 0.270832 0.290413 0.367727 0.264960 0.321918 0.286510 0.390185 0.285471 0.227995 + 748.000000 0.143893 0.152891 0.158028 0.159786 0.262164 0.230605 0.247699 0.234139 0.253198 0.146076 0.128373 0.259181 0.260086 0.305146 0.363972 0.248423 0.330680 0.279663 0.393442 0.278204 0.228294 + 749.000000 0.138610 0.151175 0.156148 0.153979 0.257168 0.231922 0.243972 0.223344 0.253017 0.147449 0.131458 0.247337 0.245589 0.298518 0.361780 0.252268 0.315323 0.296763 0.391097 0.283311 0.233589 + 750.000000 0.140395 0.156802 0.153364 0.156437 0.261624 0.226893 0.254377 0.213847 0.254602 0.144836 0.132211 0.254364 0.248198 0.321376 0.363487 0.257802 0.302276 0.289950 0.394573 0.268771 0.232869 + 751.000000 0.145414 0.155376 0.153715 0.150733 0.265295 0.238287 0.253744 0.215896 0.240723 0.147706 0.126823 0.255307 0.262866 0.319134 0.368521 0.246021 0.295575 0.290430 0.385629 0.266119 0.221276 + 752.000000 0.141930 0.151017 0.161231 0.157124 0.261916 0.238722 0.246911 0.206773 0.261410 0.147036 0.135963 0.262370 0.247583 0.310226 0.367270 0.264182 0.287012 0.283449 0.402177 0.293077 0.233684 + 753.000000 0.142784 0.153872 0.162413 0.154823 0.261617 0.222081 0.257489 0.220308 0.249553 0.144282 0.125472 0.252786 0.255722 0.320771 0.362426 0.259552 0.309188 0.280299 0.388891 0.257651 0.230173 + 754.000000 0.147622 0.154784 0.156514 0.148245 0.270102 0.234080 0.253220 0.232488 0.242669 0.147561 0.125640 0.247446 0.257626 0.315265 0.363282 0.249720 0.330427 0.307528 0.384764 0.261619 0.223816 + 755.000000 0.143270 0.151032 0.159128 0.155097 0.254518 0.238937 0.248288 0.228103 0.252238 0.148077 0.125251 0.257000 0.249708 0.292511 0.360392 0.252070 0.315841 0.310233 0.388281 0.286777 0.227277 + 756.000000 0.148993 0.151345 0.158847 0.155760 0.273103 0.233307 0.254360 0.212117 0.249019 0.147917 0.125927 0.257493 0.265383 0.324532 0.363773 0.254249 0.302967 0.277344 0.394737 0.261086 0.224852 + 757.000000 0.147019 0.152415 0.160035 0.155593 0.265169 0.230111 0.266653 0.211621 0.254835 0.146782 0.126429 0.247130 0.246696 0.332443 0.373306 0.269066 0.294712 0.272276 0.394823 0.273708 0.231900 + 758.000000 0.141591 0.149329 0.173244 0.147364 0.262759 0.230622 0.254546 0.187914 0.241073 0.150773 0.130561 0.263861 0.256186 0.313866 0.368194 0.261557 0.282535 0.254508 0.384504 0.257827 0.238081 + 759.000000 0.144549 0.150099 0.164312 0.150615 0.257117 0.237684 0.255148 0.216880 0.246635 0.141620 0.130819 0.258812 0.249725 0.313621 0.371265 0.256107 0.295242 0.284948 0.382824 0.273346 0.226374 + 760.000000 0.143571 0.152893 0.161199 0.153637 0.256924 0.231206 0.245049 0.241042 0.241085 0.140393 0.128847 0.255130 0.259131 0.296779 0.359486 0.254685 0.332489 0.306242 0.375304 0.257906 0.226301 + 761.000000 0.145368 0.154122 0.160984 0.150696 0.275399 0.230053 0.245900 0.216281 0.254142 0.149983 0.126628 0.259509 0.256873 0.315022 0.358083 0.255449 0.322189 0.282477 0.398735 0.275114 0.222488 + 762.000000 0.145163 0.148656 0.163312 0.157197 0.249957 0.240256 0.260085 0.216629 0.243540 0.145759 0.124434 0.262014 0.256683 0.305598 0.372834 0.251771 0.296223 0.284131 0.380253 0.271991 0.228844 + 763.000000 0.144335 0.154347 0.152852 0.153650 0.259295 0.229809 0.258003 0.215898 0.254814 0.146604 0.127161 0.247859 0.248457 0.310925 0.369840 0.251163 0.306856 0.273008 0.391236 0.279954 0.234749 + 764.000000 0.144378 0.152828 0.166821 0.152789 0.265109 0.223410 0.251689 0.234461 0.259788 0.145697 0.125972 0.251085 0.253129 0.309909 0.361461 0.248697 0.343384 0.277560 0.394798 0.279828 0.231370 + 765.000000 0.148322 0.154883 0.149786 0.161280 0.266918 0.238800 0.251018 0.232929 0.244906 0.149224 0.126509 0.256936 0.262471 0.298370 0.367649 0.254519 0.352581 0.291661 0.374617 0.272204 0.228095 + 766.000000 0.142736 0.154680 0.160422 0.153531 0.258755 0.238411 0.256295 0.236115 0.232482 0.148906 0.126765 0.260316 0.266475 0.303486 0.375464 0.237150 0.357515 0.287631 0.365423 0.265867 0.226830 + 767.000000 0.144481 0.156043 0.160439 0.153915 0.262473 0.231709 0.259416 0.239925 0.241432 0.148612 0.126642 0.259728 0.246120 0.312438 0.372057 0.258166 0.353610 0.290618 0.372033 0.270196 0.233096 + 768.000000 0.146927 0.155561 0.161890 0.159639 0.272038 0.224581 0.246555 0.233479 0.255570 0.147432 0.127966 0.248819 0.267879 0.306777 0.359777 0.271488 0.337393 0.273676 0.394501 0.274600 0.232026 + 769.000000 0.142321 0.155046 0.162266 0.159283 0.258430 0.230886 0.252644 0.223032 0.260398 0.145454 0.126759 0.262534 0.255874 0.305351 0.363808 0.255169 0.316751 0.292404 0.397056 0.283767 0.228429 + 770.000000 0.143894 0.149096 0.164836 0.156596 0.264573 0.233268 0.248233 0.210412 0.254113 0.148512 0.129715 0.256155 0.261031 0.307666 0.359724 0.260579 0.299378 0.290857 0.397164 0.271327 0.232090 + 771.000000 0.143425 0.153896 0.163042 0.156572 0.254797 0.240205 0.262110 0.215823 0.252685 0.145165 0.128268 0.252338 0.257992 0.311720 0.376762 0.255902 0.304008 0.299588 0.388481 0.283649 0.225155 + 772.000000 0.145763 0.152179 0.151967 0.154452 0.261325 0.226112 0.251678 0.217941 0.244120 0.143132 0.127143 0.253591 0.256902 0.309968 0.360483 0.251364 0.307983 0.270787 0.382113 0.254126 0.231696 + 773.000000 0.144974 0.147729 0.163156 0.150355 0.274538 0.231362 0.246259 0.236534 0.251750 0.149758 0.131981 0.243552 0.243842 0.321705 0.360977 0.258574 0.338159 0.302210 0.396463 0.273636 0.230090 + 774.000000 0.143625 0.156668 0.159660 0.159803 0.258871 0.235732 0.246180 0.225764 0.249005 0.139573 0.130645 0.265832 0.265397 0.304167 0.361376 0.262899 0.310096 0.301225 0.385203 0.267442 0.220514 + 775.000000 0.145383 0.152631 0.160782 0.158849 0.257373 0.245922 0.256064 0.229810 0.255224 0.143983 0.131640 0.263441 0.252086 0.307470 0.376629 0.251320 0.325406 0.302122 0.389518 0.293124 0.224903 + 776.000000 0.144072 0.152043 0.164166 0.151111 0.271368 0.224001 0.243765 0.233961 0.246205 0.149073 0.126252 0.255625 0.254557 0.308544 0.355345 0.260330 0.342183 0.283619 0.387209 0.263396 0.229521 + 777.000000 0.144650 0.154419 0.159108 0.157761 0.262903 0.226308 0.246353 0.238045 0.256803 0.145457 0.127157 0.255023 0.253565 0.296880 0.359888 0.257821 0.343875 0.285194 0.388955 0.280971 0.233085 + 778.000000 0.149401 0.152353 0.157076 0.152638 0.265973 0.241015 0.256782 0.222260 0.255048 0.143428 0.131785 0.253411 0.254646 0.314190 0.374283 0.247868 0.321618 0.288171 0.390565 0.282019 0.227702 + 779.000000 0.142513 0.156483 0.160626 0.152609 0.255680 0.235750 0.256821 0.219377 0.244766 0.141561 0.132765 0.248632 0.258143 0.309537 0.376403 0.264977 0.301086 0.288489 0.379456 0.271330 0.229459 + 780.000000 0.143742 0.152392 0.156382 0.157216 0.268475 0.227462 0.249497 0.227286 0.256239 0.147037 0.130170 0.254263 0.247399 0.318722 0.362150 0.256810 0.327470 0.281638 0.397432 0.276231 0.230549 + 781.000000 0.144883 0.150239 0.160950 0.149146 0.261068 0.231145 0.241985 0.224244 0.248827 0.143307 0.131180 0.252907 0.251160 0.294027 0.359292 0.257739 0.315334 0.282640 0.383773 0.272235 0.233151 + 782.000000 0.140730 0.152337 0.158878 0.160056 0.262355 0.231330 0.240687 0.207725 0.257681 0.143754 0.133448 0.259358 0.258674 0.299360 0.361683 0.268199 0.307520 0.266641 0.393408 0.283070 0.227769 + 783.000000 0.142115 0.159314 0.152038 0.154072 0.265332 0.233980 0.256714 0.213553 0.243974 0.147426 0.132798 0.256301 0.260082 0.325454 0.375320 0.253664 0.300849 0.278325 0.388719 0.266827 0.227771 + 784.000000 0.145496 0.152692 0.153608 0.153174 0.264153 0.232945 0.255765 0.219205 0.243008 0.147522 0.125598 0.254216 0.253378 0.315680 0.367460 0.251691 0.315204 0.279178 0.383758 0.265533 0.227695 + 785.000000 0.141049 0.153418 0.159145 0.156330 0.263942 0.227380 0.250038 0.223505 0.260730 0.150444 0.131410 0.244108 0.252213 0.306567 0.366615 0.253807 0.327636 0.275619 0.399845 0.287464 0.240555 + 786.000000 0.144322 0.158976 0.164895 0.151866 0.260012 0.227536 0.261592 0.224773 0.249046 0.143824 0.126264 0.267525 0.254898 0.313269 0.372388 0.254606 0.337983 0.269974 0.376992 0.270751 0.229289 + 787.000000 0.145329 0.155137 0.162309 0.157579 0.260092 0.235219 0.249383 0.242135 0.251299 0.145019 0.126177 0.261491 0.256655 0.301281 0.364715 0.257916 0.332541 0.304470 0.388573 0.279779 0.225307 + 788.000000 0.142801 0.154977 0.162827 0.155842 0.266829 0.221427 0.257303 0.211116 0.246217 0.148782 0.124495 0.265651 0.254072 0.327997 0.362552 0.268505 0.297953 0.260801 0.391289 0.256783 0.230151 + 789.000000 0.141061 0.149831 0.170258 0.152883 0.258924 0.225062 0.252327 0.212437 0.246978 0.148181 0.126055 0.247328 0.260774 0.306888 0.362843 0.262655 0.299830 0.271492 0.388121 0.261336 0.235631 + 790.000000 0.145330 0.156242 0.167111 0.149402 0.265502 0.236281 0.259132 0.230707 0.249296 0.149805 0.125944 0.283121 0.237150 0.322109 0.369190 0.249691 0.330736 0.291619 0.390399 0.281013 0.227379 + 791.000000 0.148493 0.149012 0.154214 0.154290 0.260846 0.233205 0.250151 0.223284 0.251836 0.145320 0.125615 0.241387 0.258457 0.297775 0.363573 0.252356 0.312543 0.274410 0.387863 0.277550 0.231123 + 792.000000 0.147675 0.152640 0.156667 0.154842 0.264721 0.235936 0.252466 0.227799 0.254847 0.153252 0.128972 0.254174 0.242304 0.298853 0.367122 0.265129 0.327068 0.291126 0.390100 0.284838 0.244613 + 793.000000 0.148431 0.155537 0.167835 0.159983 0.261602 0.234245 0.264243 0.246365 0.251435 0.143446 0.128525 0.254761 0.265598 0.318274 0.376609 0.257989 0.341408 0.298192 0.387459 0.268642 0.231909 + 794.000000 0.148460 0.154830 0.158385 0.155968 0.273216 0.239798 0.247862 0.244485 0.249371 0.150783 0.127962 0.258703 0.255714 0.309231 0.361304 0.256636 0.349362 0.320376 0.392526 0.273923 0.225673 + 795.000000 0.148045 0.156407 0.155658 0.153571 0.274246 0.240023 0.251349 0.234407 0.248566 0.152127 0.132596 0.252281 0.258759 0.313172 0.366845 0.256123 0.337759 0.315774 0.393443 0.269276 0.233616 + 796.000000 0.147705 0.161584 0.156461 0.150081 0.271484 0.232945 0.261326 0.212177 0.252001 0.146625 0.129736 0.262514 0.255781 0.326561 0.370625 0.257913 0.308018 0.288067 0.393004 0.268690 0.228068 + 797.000000 0.147342 0.158777 0.153249 0.158680 0.260446 0.231699 0.264778 0.220271 0.249821 0.141526 0.130403 0.258212 0.265550 0.325866 0.375591 0.249077 0.301185 0.277487 0.388013 0.259563 0.230970 + 798.000000 0.144907 0.156580 0.161944 0.157679 0.268260 0.238537 0.246045 0.214885 0.257982 0.147022 0.134492 0.273233 0.255188 0.307643 0.369500 0.268403 0.310278 0.271258 0.398514 0.291504 0.228419 + 799.000000 0.142783 0.144897 0.172499 0.152394 0.260716 0.235444 0.247677 0.198762 0.250441 0.147550 0.133871 0.263587 0.251645 0.306895 0.365207 0.266707 0.278732 0.266432 0.391864 0.272367 0.238192 diff --git a/test_graphs/data/colvar_r.dat b/test_graphs/data/colvar_r.dat new file mode 100644 index 00000000..f11e98e2 --- /dev/null +++ b/test_graphs/data/colvar_r.dat @@ -0,0 +1,801 @@ +#! FIELDS time d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 + 0.000000 0.143957 0.140059 0.144371 0.240803 0.260765 0.225943 0.247596 0.245559 0.160854 0.154197 0.133826 0.248415 0.347782 0.368059 0.260121 0.296602 0.315493 0.359006 0.257943 0.235748 0.228996 + 1.000000 0.145517 0.148875 0.145649 0.247983 0.245041 0.229481 0.247805 0.256483 0.156411 0.153613 0.136633 0.256720 0.348157 0.364260 0.252362 0.313987 0.306564 0.368465 0.251751 0.235110 0.241556 + 2.000000 0.156330 0.142266 0.140010 0.249121 0.270770 0.227375 0.255045 0.248900 0.153765 0.150873 0.137999 0.253855 0.337755 0.379832 0.249813 0.307351 0.322571 0.355848 0.253839 0.235224 0.226776 + 3.000000 0.150533 0.143836 0.149312 0.226863 0.254647 0.240114 0.252400 0.259099 0.150513 0.148971 0.141130 0.256860 0.308710 0.378428 0.271687 0.316653 0.299118 0.376143 0.252742 0.231132 0.238723 + 4.000000 0.148628 0.143707 0.145326 0.240683 0.259963 0.231476 0.250218 0.253488 0.156795 0.153340 0.136245 0.254058 0.324408 0.381657 0.263873 0.318601 0.306270 0.364416 0.254909 0.238093 0.231632 + 5.000000 0.149725 0.140399 0.140874 0.248336 0.247094 0.228892 0.250288 0.250769 0.158683 0.154479 0.136200 0.245413 0.348993 0.358491 0.257228 0.310231 0.294687 0.360147 0.263052 0.244797 0.235565 + 6.000000 0.150105 0.149609 0.149115 0.243374 0.254562 0.229339 0.255952 0.260027 0.151048 0.150081 0.138271 0.261139 0.350542 0.365334 0.255187 0.316043 0.319045 0.370667 0.253693 0.228602 0.232722 + 7.000000 0.144018 0.148971 0.149242 0.255951 0.248453 0.226237 0.252227 0.245281 0.155048 0.152414 0.139199 0.267231 0.374089 0.352220 0.255791 0.307890 0.305535 0.362796 0.247623 0.230101 0.236579 + 8.000000 0.147591 0.141682 0.149109 0.253711 0.234412 0.244876 0.253405 0.264529 0.152164 0.159240 0.139454 0.240040 0.371105 0.336108 0.286968 0.316576 0.316982 0.385594 0.261050 0.232408 0.236869 + 9.000000 0.144633 0.145915 0.145587 0.261770 0.251347 0.217142 0.251962 0.238866 0.159811 0.157451 0.138150 0.263049 0.381755 0.349527 0.244954 0.295106 0.312425 0.349017 0.255955 0.242681 0.240162 + 10.000000 0.150428 0.147695 0.150020 0.245898 0.245132 0.222562 0.258375 0.266344 0.150928 0.155750 0.133744 0.250805 0.365259 0.342047 0.255792 0.306951 0.336537 0.365758 0.269224 0.230984 0.230535 + 11.000000 0.152095 0.141403 0.147941 0.261856 0.243135 0.239992 0.242134 0.253959 0.153263 0.155480 0.142231 0.265346 0.373655 0.324752 0.253119 0.304405 0.308378 0.374056 0.247041 0.240131 0.243821 + 12.000000 0.148610 0.143307 0.148772 0.261304 0.235255 0.235070 0.258401 0.249715 0.154406 0.159029 0.136359 0.254438 0.385979 0.330189 0.280693 0.298509 0.309611 0.366723 0.262699 0.233115 0.236177 + 13.000000 0.150092 0.142071 0.144912 0.252561 0.249974 0.226277 0.251217 0.253803 0.155900 0.152745 0.139316 0.251825 0.369980 0.339295 0.250240 0.298991 0.325510 0.362768 0.260118 0.248436 0.225829 + 14.000000 0.157379 0.142767 0.144476 0.245873 0.259666 0.235599 0.253105 0.269372 0.158644 0.153822 0.137067 0.247189 0.355483 0.361333 0.256240 0.308423 0.330466 0.374559 0.256835 0.242735 0.244256 + 15.000000 0.148220 0.145636 0.149331 0.248165 0.266216 0.227801 0.253656 0.249654 0.156386 0.162066 0.133886 0.263428 0.349447 0.379724 0.260162 0.308026 0.316878 0.363293 0.264344 0.225672 0.237972 + 16.000000 0.147423 0.139833 0.143864 0.249940 0.250184 0.230564 0.249578 0.252336 0.154024 0.150987 0.140012 0.244793 0.347480 0.357971 0.260314 0.318427 0.312833 0.365927 0.259116 0.237187 0.221332 + 17.000000 0.147082 0.142169 0.148821 0.224824 0.259912 0.230196 0.256668 0.249988 0.151807 0.151415 0.137859 0.250835 0.320840 0.382217 0.271271 0.286978 0.312123 0.366557 0.257031 0.219111 0.241490 + 18.000000 0.149654 0.139997 0.144887 0.240716 0.255000 0.226465 0.251804 0.253111 0.154788 0.152433 0.138503 0.247629 0.339533 0.363246 0.254825 0.308972 0.310587 0.361897 0.264812 0.242196 0.226947 + 19.000000 0.147531 0.142918 0.146651 0.228735 0.257780 0.231493 0.254420 0.256431 0.152470 0.149386 0.135446 0.245934 0.330106 0.374894 0.269702 0.304006 0.316204 0.369413 0.253290 0.220777 0.234694 + 20.000000 0.147733 0.147345 0.152160 0.239828 0.254702 0.231923 0.254149 0.257736 0.156268 0.153230 0.134298 0.261838 0.336659 0.379998 0.269011 0.305727 0.308142 0.372164 0.250936 0.239337 0.232121 + 21.000000 0.143918 0.144786 0.148529 0.236771 0.262530 0.225193 0.254762 0.254556 0.156927 0.155656 0.138892 0.246287 0.334770 0.385933 0.265301 0.303540 0.327534 0.366495 0.257094 0.244970 0.230450 + 22.000000 0.147459 0.142740 0.146983 0.241337 0.250972 0.235971 0.248191 0.251489 0.157514 0.149574 0.139879 0.257033 0.324980 0.371075 0.263978 0.323841 0.291057 0.369613 0.257692 0.228037 0.239023 + 23.000000 0.152551 0.148171 0.143103 0.250184 0.258313 0.232793 0.250309 0.260134 0.156243 0.148849 0.136475 0.256945 0.327422 0.379527 0.254486 0.344646 0.306785 0.364457 0.248181 0.228641 0.235218 + 24.000000 0.152027 0.142325 0.143984 0.229981 0.264619 0.225843 0.253146 0.262663 0.160950 0.153973 0.134811 0.243050 0.294308 0.390400 0.261557 0.326022 0.316756 0.360195 0.268622 0.237936 0.240682 + 25.000000 0.149972 0.145990 0.145081 0.242251 0.259115 0.234137 0.253021 0.250757 0.158087 0.154039 0.133669 0.259451 0.308015 0.389088 0.276949 0.336154 0.289001 0.358173 0.260926 0.229937 0.231957 + 26.000000 0.152643 0.146603 0.147573 0.245105 0.261338 0.223773 0.257381 0.261742 0.152336 0.152922 0.136652 0.253423 0.335059 0.381254 0.251927 0.341723 0.310059 0.359768 0.257890 0.229718 0.236007 + 27.000000 0.143255 0.146772 0.152673 0.241233 0.236321 0.235840 0.248249 0.259154 0.155546 0.154029 0.133929 0.259304 0.346103 0.357109 0.272029 0.310786 0.292945 0.378008 0.254763 0.230862 0.237745 + 28.000000 0.140085 0.146481 0.148267 0.235147 0.252102 0.235261 0.245417 0.254227 0.149816 0.161260 0.141673 0.252605 0.341893 0.364745 0.264387 0.299098 0.323834 0.376171 0.258093 0.231446 0.239698 + 29.000000 0.148352 0.143826 0.143548 0.250188 0.256696 0.222624 0.252793 0.253071 0.157476 0.146717 0.139295 0.248815 0.359142 0.358013 0.248184 0.310980 0.328954 0.359569 0.254377 0.234211 0.226981 + 30.000000 0.145385 0.140272 0.154595 0.247134 0.233407 0.237022 0.251412 0.257336 0.148840 0.153412 0.136661 0.252699 0.364420 0.334754 0.279421 0.311032 0.293294 0.378712 0.252839 0.226105 0.234041 + 31.000000 0.148974 0.147559 0.150065 0.252601 0.248678 0.216794 0.262593 0.254968 0.150538 0.159854 0.132163 0.255606 0.375976 0.352688 0.257935 0.305489 0.319667 0.357401 0.263042 0.235604 0.230266 + 32.000000 0.147331 0.141945 0.145133 0.255351 0.230782 0.225649 0.247151 0.254635 0.155423 0.152345 0.134960 0.250552 0.367890 0.328646 0.250486 0.310743 0.297930 0.362845 0.258472 0.237524 0.236651 + 33.000000 0.150003 0.141378 0.143688 0.260004 0.245022 0.233059 0.252143 0.248701 0.151568 0.152866 0.140402 0.252227 0.364552 0.351889 0.261056 0.319845 0.295785 0.365189 0.251125 0.232637 0.233299 + 34.000000 0.147398 0.149173 0.143432 0.240262 0.254177 0.232446 0.253239 0.253228 0.154765 0.151120 0.136787 0.254230 0.336152 0.373176 0.263084 0.303994 0.318231 0.367283 0.258580 0.230260 0.228249 + 35.000000 0.146970 0.147196 0.144799 0.239434 0.244175 0.232175 0.256548 0.249263 0.153847 0.159086 0.134366 0.254356 0.340516 0.373593 0.275574 0.305543 0.278052 0.362866 0.258712 0.240112 0.240763 + 36.000000 0.146255 0.151257 0.147291 0.239764 0.251856 0.230573 0.254718 0.260223 0.161730 0.150111 0.134204 0.254754 0.329678 0.376989 0.265667 0.332626 0.309172 0.368927 0.267661 0.230061 0.228686 + 37.000000 0.145458 0.146871 0.141734 0.243721 0.252227 0.238118 0.249238 0.248127 0.155945 0.151759 0.143702 0.253341 0.328174 0.377784 0.267257 0.334185 0.288083 0.364847 0.251603 0.233499 0.240710 + 38.000000 0.147473 0.144600 0.151509 0.244421 0.248162 0.232359 0.249449 0.265532 0.156899 0.147228 0.133506 0.252694 0.334654 0.368865 0.264312 0.327007 0.314268 0.376586 0.249808 0.227595 0.229860 + 39.000000 0.149582 0.142160 0.144576 0.254542 0.243772 0.233519 0.251146 0.260096 0.156779 0.156355 0.130442 0.244024 0.359819 0.359917 0.269942 0.318554 0.303169 0.369607 0.249877 0.238781 0.231641 + 40.000000 0.151119 0.140754 0.145084 0.262443 0.244447 0.233590 0.252129 0.245354 0.152785 0.151299 0.139000 0.257297 0.371584 0.334659 0.262394 0.312848 0.303917 0.363425 0.260335 0.226049 0.223436 + 41.000000 0.149573 0.143007 0.147271 0.249303 0.243383 0.224402 0.249249 0.261379 0.148648 0.157676 0.133525 0.251056 0.363609 0.340629 0.249799 0.307927 0.318950 0.363864 0.253007 0.228349 0.245411 + 42.000000 0.151704 0.144135 0.147247 0.255441 0.243655 0.239907 0.250189 0.261571 0.153587 0.154306 0.140047 0.254262 0.371758 0.331005 0.264846 0.317408 0.314822 0.378580 0.260002 0.236452 0.232695 + 43.000000 0.141871 0.153384 0.145853 0.250691 0.234221 0.223105 0.249150 0.248339 0.151029 0.157909 0.135589 0.266202 0.372277 0.333644 0.247207 0.303005 0.303626 0.360165 0.257779 0.235253 0.233595 + 44.000000 0.150282 0.147250 0.143160 0.251367 0.241014 0.237206 0.249880 0.261544 0.155002 0.153230 0.139483 0.251101 0.365795 0.339489 0.258747 0.313616 0.314479 0.374513 0.258259 0.239724 0.237278 + 45.000000 0.150524 0.147452 0.147171 0.247830 0.251033 0.234322 0.258830 0.258032 0.152964 0.152652 0.144635 0.254164 0.357333 0.365290 0.263608 0.314582 0.312005 0.373984 0.256859 0.241026 0.239728 + 46.000000 0.155445 0.145795 0.143702 0.236100 0.270528 0.231666 0.254023 0.258966 0.154948 0.157529 0.139239 0.256812 0.321149 0.387074 0.251671 0.318370 0.316709 0.364922 0.264783 0.236547 0.243891 + 47.000000 0.150225 0.148644 0.147072 0.224157 0.258097 0.236643 0.264398 0.248371 0.162412 0.152719 0.132270 0.258896 0.316001 0.394846 0.289934 0.293407 0.284773 0.364424 0.256931 0.239356 0.240000 + 48.000000 0.157309 0.145139 0.147813 0.243492 0.263669 0.235676 0.259160 0.269031 0.153469 0.155686 0.138505 0.251115 0.319489 0.390701 0.275419 0.334387 0.316022 0.371108 0.259883 0.246522 0.231965 + 49.000000 0.156612 0.151009 0.140598 0.241207 0.263906 0.241905 0.260908 0.253605 0.150769 0.156582 0.142036 0.260566 0.323208 0.393691 0.273211 0.316459 0.299144 0.368785 0.256410 0.233965 0.245950 + 50.000000 0.149293 0.145166 0.150293 0.246815 0.258375 0.228188 0.256156 0.257716 0.161698 0.149658 0.137131 0.255870 0.354261 0.370517 0.260908 0.316733 0.317274 0.369183 0.258901 0.233740 0.235183 + 51.000000 0.148175 0.142906 0.152553 0.247989 0.249481 0.228514 0.249693 0.258285 0.149499 0.159960 0.138448 0.260262 0.354565 0.355883 0.253567 0.310603 0.311461 0.371563 0.258094 0.240512 0.234451 + 52.000000 0.152123 0.134507 0.147006 0.249238 0.247802 0.231735 0.248202 0.255432 0.158881 0.149003 0.135913 0.247307 0.348116 0.349395 0.259210 0.308079 0.304738 0.367583 0.262400 0.233830 0.234085 + 53.000000 0.151178 0.141263 0.149322 0.250454 0.261281 0.228635 0.248413 0.262781 0.152198 0.156107 0.136583 0.253798 0.350729 0.364094 0.249358 0.324083 0.327089 0.370798 0.253393 0.228495 0.237140 + 54.000000 0.151857 0.139654 0.145232 0.253854 0.258539 0.231034 0.248683 0.263469 0.153113 0.151312 0.135125 0.244229 0.348721 0.363745 0.255188 0.332959 0.326960 0.370128 0.249960 0.224336 0.229310 + 55.000000 0.145703 0.148564 0.145071 0.243579 0.251053 0.234278 0.250338 0.253088 0.154017 0.153034 0.135169 0.257335 0.355168 0.367407 0.265384 0.303695 0.307075 0.369290 0.240099 0.239464 0.230258 + 56.000000 0.149026 0.143008 0.138894 0.246273 0.246297 0.227158 0.247579 0.254990 0.152875 0.152099 0.132034 0.243228 0.350701 0.340786 0.251723 0.306326 0.324933 0.359568 0.267576 0.228625 0.217440 + 57.000000 0.143853 0.143538 0.146391 0.250910 0.249066 0.222728 0.250472 0.255454 0.153263 0.161102 0.138880 0.244655 0.374404 0.345714 0.257208 0.308975 0.321708 0.362277 0.252087 0.233583 0.254565 + 58.000000 0.142955 0.147485 0.151583 0.261289 0.224371 0.228649 0.249226 0.255516 0.155384 0.152745 0.136688 0.260745 0.384300 0.306481 0.260273 0.312836 0.320869 0.369301 0.264869 0.235986 0.217313 + 59.000000 0.144696 0.146586 0.150862 0.257991 0.239592 0.230261 0.250455 0.260332 0.155083 0.159940 0.137354 0.253595 0.382364 0.330577 0.262822 0.308688 0.337157 0.369475 0.257261 0.238434 0.237293 + 60.000000 0.148311 0.142831 0.147921 0.251045 0.241794 0.228433 0.247332 0.256971 0.157067 0.152054 0.143098 0.255578 0.367243 0.322420 0.250846 0.304751 0.323302 0.367417 0.271263 0.234202 0.240308 + 61.000000 0.148968 0.144383 0.145352 0.261727 0.253106 0.224723 0.244110 0.256385 0.154911 0.160116 0.134123 0.258384 0.379501 0.330725 0.244328 0.309123 0.337568 0.359444 0.250979 0.237239 0.236746 + 62.000000 0.152336 0.149129 0.145341 0.255845 0.244606 0.230182 0.260534 0.262896 0.153804 0.153051 0.137481 0.248213 0.382162 0.337106 0.266073 0.302108 0.345292 0.361448 0.259984 0.233998 0.236399 + 63.000000 0.145085 0.146066 0.149016 0.260819 0.233284 0.224954 0.253256 0.254338 0.154887 0.154044 0.139452 0.254777 0.385426 0.325486 0.257758 0.310859 0.316258 0.364359 0.255508 0.240421 0.236324 + 64.000000 0.150176 0.146982 0.139406 0.252075 0.246528 0.233368 0.258880 0.241589 0.148906 0.151905 0.139170 0.253572 0.379869 0.339692 0.273164 0.289670 0.303341 0.358091 0.246243 0.231338 0.235880 + 65.000000 0.145430 0.150662 0.149373 0.247035 0.250406 0.234175 0.251894 0.262847 0.152171 0.156417 0.140044 0.256160 0.368577 0.343565 0.264560 0.309662 0.343253 0.375525 0.260901 0.226861 0.234213 + 66.000000 0.150559 0.141353 0.143066 0.256508 0.254896 0.222396 0.247675 0.257600 0.154989 0.158246 0.134904 0.247948 0.367489 0.348823 0.244171 0.312813 0.327101 0.357789 0.255015 0.229805 0.248130 + 67.000000 0.152948 0.142850 0.149017 0.257751 0.252011 0.224705 0.258087 0.261039 0.150136 0.162330 0.135197 0.251358 0.371098 0.350160 0.256673 0.319797 0.323394 0.365608 0.266816 0.233895 0.233212 + 68.000000 0.154913 0.148020 0.149377 0.269034 0.229757 0.232788 0.263230 0.260274 0.150901 0.152763 0.137397 0.259322 0.382928 0.341057 0.266948 0.327165 0.295605 0.371227 0.255691 0.229892 0.238798 + 69.000000 0.150400 0.143790 0.146431 0.254677 0.248067 0.232452 0.252194 0.260204 0.155781 0.153865 0.135169 0.250467 0.369494 0.347936 0.262288 0.316362 0.316257 0.370876 0.254582 0.235715 0.233249 + 70.000000 0.148678 0.143749 0.148301 0.254143 0.239575 0.232640 0.255743 0.255658 0.156261 0.159190 0.138054 0.251803 0.377634 0.334206 0.270366 0.296614 0.318467 0.368868 0.266654 0.241418 0.239957 + 71.000000 0.147339 0.146279 0.145766 0.277326 0.222388 0.235005 0.249117 0.254974 0.156061 0.155494 0.140255 0.255129 0.393393 0.310782 0.260905 0.342681 0.285171 0.372285 0.253329 0.229597 0.241362 + 72.000000 0.152531 0.144505 0.149288 0.268725 0.240264 0.234311 0.247235 0.267104 0.158056 0.160898 0.133925 0.255443 0.381629 0.325534 0.254691 0.340997 0.305504 0.376220 0.264741 0.235995 0.237350 + 73.000000 0.153550 0.147266 0.146825 0.250431 0.248143 0.229467 0.260655 0.253969 0.154867 0.154962 0.132959 0.259215 0.361935 0.364385 0.264931 0.294405 0.305780 0.363394 0.257222 0.241818 0.233629 + 74.000000 0.149873 0.145867 0.141276 0.249181 0.255921 0.231515 0.255168 0.256254 0.155158 0.155328 0.138437 0.245300 0.362707 0.362166 0.261170 0.311775 0.321808 0.366396 0.256674 0.243413 0.230073 + 75.000000 0.149135 0.148477 0.146019 0.257071 0.238342 0.233574 0.255745 0.255203 0.149123 0.148235 0.142571 0.257258 0.371857 0.342939 0.261290 0.320740 0.304063 0.371108 0.246986 0.225499 0.239690 + 76.000000 0.146649 0.150801 0.145680 0.251804 0.238135 0.233594 0.246268 0.261287 0.151643 0.156444 0.137435 0.258284 0.368745 0.325824 0.252727 0.311348 0.329859 0.371746 0.262324 0.231959 0.231337 + 77.000000 0.146390 0.146476 0.144789 0.268402 0.232747 0.233741 0.246376 0.258210 0.156698 0.163177 0.134608 0.251884 0.386549 0.324081 0.260267 0.323730 0.318858 0.368474 0.255628 0.233313 0.242700 + 78.000000 0.150484 0.148052 0.141702 0.270776 0.254608 0.231498 0.251808 0.251763 0.162121 0.152782 0.140757 0.256448 0.393905 0.333859 0.255841 0.319334 0.328544 0.364143 0.251955 0.245728 0.226946 + 79.000000 0.152183 0.144347 0.144092 0.252599 0.230329 0.233946 0.255756 0.254389 0.150517 0.150642 0.140557 0.252836 0.372956 0.318643 0.263840 0.295542 0.311126 0.366254 0.263201 0.237418 0.232904 + 80.000000 0.142501 0.147601 0.141874 0.258041 0.238027 0.232443 0.245484 0.253505 0.155316 0.166407 0.134597 0.247568 0.382691 0.321631 0.263164 0.317948 0.310771 0.367769 0.261801 0.236829 0.234714 + 81.000000 0.141969 0.152511 0.142399 0.258787 0.224766 0.233519 0.254660 0.244754 0.151184 0.154576 0.137939 0.257194 0.382293 0.329993 0.272249 0.309804 0.294547 0.364080 0.254255 0.223230 0.235902 + 82.000000 0.148012 0.143535 0.135915 0.241758 0.255813 0.228371 0.249890 0.249545 0.152499 0.156270 0.131621 0.240853 0.360356 0.351798 0.260411 0.289616 0.325913 0.356113 0.254145 0.233913 0.228240 + 83.000000 0.147708 0.149909 0.142563 0.238081 0.245134 0.229104 0.256336 0.254182 0.146548 0.152883 0.136599 0.251563 0.349317 0.352628 0.260912 0.299970 0.318676 0.364235 0.262937 0.223734 0.228341 + 84.000000 0.147312 0.143717 0.150440 0.246401 0.250589 0.234261 0.241159 0.258138 0.152445 0.157935 0.139030 0.264173 0.341367 0.361078 0.248907 0.319880 0.299805 0.374369 0.251019 0.237530 0.242257 + 85.000000 0.146481 0.147292 0.148236 0.241468 0.263017 0.231582 0.255257 0.256131 0.158231 0.154310 0.137988 0.252074 0.345448 0.380896 0.266708 0.327194 0.315441 0.368558 0.256737 0.235621 0.231283 + 86.000000 0.145881 0.147961 0.145146 0.238484 0.249487 0.230257 0.252837 0.248510 0.147949 0.148469 0.137864 0.258625 0.345182 0.366677 0.260694 0.297259 0.305207 0.364724 0.241613 0.226177 0.234071 + 87.000000 0.147580 0.146906 0.144579 0.249569 0.251082 0.227436 0.249289 0.254558 0.157331 0.152281 0.137759 0.255663 0.350425 0.355136 0.248558 0.310007 0.325407 0.364742 0.266863 0.235983 0.223976 + 88.000000 0.146240 0.143009 0.142682 0.251755 0.260273 0.229916 0.249547 0.255963 0.155533 0.159745 0.138149 0.239929 0.365836 0.362217 0.259246 0.325453 0.321490 0.366663 0.251841 0.235830 0.238485 + 89.000000 0.146513 0.146637 0.148278 0.237404 0.243526 0.227519 0.258876 0.259457 0.150061 0.150767 0.133527 0.245078 0.344849 0.366408 0.271416 0.308584 0.308719 0.368658 0.254499 0.224461 0.235152 + 90.000000 0.149275 0.145697 0.145841 0.244160 0.258455 0.229401 0.248597 0.256887 0.154449 0.149968 0.136844 0.257546 0.341908 0.365021 0.249736 0.314542 0.323063 0.367155 0.254461 0.233497 0.224674 + 91.000000 0.141207 0.142708 0.147685 0.250270 0.261240 0.235028 0.241538 0.250745 0.155663 0.157244 0.138376 0.254414 0.342855 0.375410 0.263030 0.319086 0.322824 0.372584 0.241869 0.222118 0.231380 + 92.000000 0.148370 0.145722 0.146472 0.231182 0.255506 0.221828 0.252398 0.264098 0.150536 0.143833 0.137123 0.243819 0.337385 0.365849 0.245861 0.318835 0.325460 0.362666 0.244808 0.240472 0.223857 + 93.000000 0.140582 0.144945 0.141295 0.232031 0.259656 0.223745 0.246862 0.243212 0.154005 0.156609 0.140186 0.249151 0.313988 0.384000 0.253200 0.318870 0.301398 0.355070 0.259252 0.224566 0.244098 + 94.000000 0.148938 0.141816 0.147498 0.248844 0.256233 0.229716 0.248877 0.257485 0.148435 0.149806 0.137882 0.252523 0.319901 0.379388 0.264724 0.352987 0.299635 0.359459 0.243716 0.223068 0.228629 + 95.000000 0.144788 0.139094 0.150790 0.246941 0.250490 0.231713 0.243554 0.263418 0.151119 0.152670 0.135869 0.242010 0.325215 0.370952 0.267288 0.364282 0.299535 0.361989 0.248013 0.226858 0.226099 + 96.000000 0.151019 0.139659 0.147904 0.249867 0.253469 0.228026 0.245022 0.257533 0.148923 0.151089 0.139710 0.256309 0.329545 0.369864 0.247771 0.338204 0.294223 0.362426 0.241881 0.234561 0.238945 + 97.000000 0.153685 0.143355 0.145388 0.247983 0.256484 0.240077 0.250387 0.259187 0.156488 0.152326 0.138035 0.253121 0.325677 0.372419 0.265786 0.315769 0.318274 0.375215 0.266078 0.227153 0.231329 + 98.000000 0.152143 0.144466 0.148269 0.221621 0.268946 0.236705 0.250422 0.257994 0.161417 0.152531 0.130089 0.261380 0.327186 0.382092 0.266411 0.271501 0.323129 0.371216 0.249756 0.239605 0.232674 + 99.000000 0.154708 0.146122 0.142736 0.253271 0.269708 0.242126 0.249704 0.264173 0.156310 0.156365 0.149106 0.253312 0.347885 0.369707 0.250271 0.329648 0.340488 0.380230 0.261753 0.235633 0.242419 + 100.000000 0.152735 0.143975 0.145906 0.261209 0.250230 0.228337 0.255893 0.262808 0.154963 0.155242 0.136011 0.247925 0.369539 0.351838 0.256832 0.330093 0.323223 0.367924 0.262757 0.230505 0.232875 + 101.000000 0.148444 0.143439 0.155139 0.251733 0.250583 0.231283 0.251192 0.258050 0.151983 0.155882 0.138895 0.264146 0.362966 0.353357 0.258955 0.302605 0.324368 0.373463 0.253797 0.231276 0.239241 + 102.000000 0.148865 0.141906 0.148656 0.256428 0.241458 0.239909 0.245726 0.262993 0.160709 0.158154 0.134214 0.252144 0.364340 0.345622 0.268975 0.317967 0.308362 0.379121 0.260563 0.249104 0.223566 + 103.000000 0.154612 0.149840 0.146917 0.254082 0.260283 0.228387 0.260099 0.264196 0.153599 0.151743 0.142714 0.257368 0.353694 0.374057 0.249605 0.331737 0.326776 0.369784 0.257537 0.235206 0.237201 + 104.000000 0.155024 0.147746 0.143566 0.235841 0.265969 0.231667 0.252921 0.260512 0.155779 0.151179 0.137242 0.258401 0.323562 0.379539 0.249938 0.305906 0.326311 0.367457 0.260619 0.236937 0.233079 + 105.000000 0.149683 0.146193 0.151336 0.239354 0.262346 0.232660 0.254234 0.264451 0.160339 0.152925 0.136721 0.255367 0.321981 0.387969 0.268081 0.324084 0.320998 0.374721 0.258174 0.240556 0.233873 + 106.000000 0.152467 0.143111 0.148351 0.245606 0.265361 0.235409 0.254206 0.256262 0.166592 0.156234 0.136541 0.257971 0.322350 0.390750 0.271466 0.332837 0.299736 0.365863 0.264700 0.245639 0.240151 + 107.000000 0.151760 0.146162 0.149220 0.240131 0.265453 0.231497 0.253084 0.258867 0.163559 0.153162 0.136203 0.260129 0.311495 0.392315 0.261057 0.316385 0.312150 0.370135 0.256134 0.233528 0.246571 + 108.000000 0.152173 0.145448 0.143442 0.253292 0.244059 0.234319 0.257630 0.261679 0.157634 0.157914 0.135267 0.244345 0.343403 0.371924 0.280321 0.342502 0.285723 0.361569 0.267595 0.251488 0.223213 + 109.000000 0.144471 0.150630 0.147063 0.252765 0.256611 0.225575 0.247228 0.257421 0.160046 0.153682 0.139979 0.259589 0.341163 0.380955 0.243811 0.329413 0.317322 0.367547 0.244440 0.235816 0.246964 + 110.000000 0.146902 0.150181 0.144277 0.239334 0.268245 0.231308 0.256469 0.254764 0.155080 0.163988 0.134434 0.251131 0.351776 0.377792 0.267754 0.316469 0.325722 0.365942 0.270794 0.232219 0.227848 + 111.000000 0.155026 0.146905 0.146244 0.240842 0.257553 0.233067 0.256435 0.260450 0.158228 0.149266 0.136365 0.258862 0.343521 0.374887 0.257764 0.299461 0.312785 0.369980 0.249492 0.239731 0.242650 + 112.000000 0.157001 0.147972 0.148954 0.252716 0.240339 0.235013 0.252882 0.276084 0.153412 0.151094 0.134663 0.254964 0.351382 0.354677 0.254915 0.327099 0.315175 0.379338 0.253809 0.246142 0.229754 + 113.000000 0.150845 0.144278 0.139808 0.261738 0.250627 0.233346 0.250221 0.248260 0.155250 0.155671 0.135709 0.252990 0.364304 0.356215 0.258215 0.310924 0.312354 0.361574 0.255226 0.232436 0.229155 + 114.000000 0.148155 0.149130 0.148833 0.249098 0.256018 0.229582 0.258432 0.257485 0.154363 0.157076 0.138881 0.254215 0.371260 0.360774 0.265499 0.317891 0.316072 0.370350 0.257185 0.231123 0.242622 + 115.000000 0.152486 0.145127 0.148295 0.258417 0.240157 0.237824 0.250994 0.256077 0.159198 0.159437 0.136534 0.263961 0.364678 0.346539 0.261907 0.309444 0.294952 0.373011 0.269039 0.240701 0.241949 + 116.000000 0.146960 0.145991 0.150947 0.257700 0.254781 0.237585 0.253271 0.255644 0.155547 0.158904 0.139665 0.259218 0.358407 0.370299 0.272492 0.324646 0.316980 0.376935 0.259435 0.228599 0.230845 + 117.000000 0.150988 0.141073 0.149803 0.244552 0.249693 0.225059 0.255017 0.254213 0.150518 0.154956 0.135508 0.254281 0.353974 0.356728 0.256647 0.311310 0.294565 0.362484 0.257956 0.236530 0.235683 + 118.000000 0.148883 0.144278 0.149430 0.253666 0.248383 0.228464 0.256771 0.259821 0.163542 0.153339 0.134683 0.249367 0.354922 0.368185 0.266405 0.320348 0.310273 0.369607 0.266648 0.236106 0.238081 + 119.000000 0.149626 0.142274 0.148057 0.230856 0.265431 0.233334 0.247075 0.256957 0.157116 0.155671 0.136759 0.257250 0.322548 0.377785 0.256520 0.294273 0.322876 0.371324 0.260491 0.238463 0.236291 + 120.000000 0.148874 0.150422 0.149813 0.227798 0.252772 0.233681 0.255417 0.265587 0.151962 0.155096 0.138976 0.255089 0.317314 0.379199 0.267060 0.307257 0.318901 0.377007 0.266307 0.241750 0.232778 + 121.000000 0.148351 0.143742 0.146181 0.241297 0.270930 0.221120 0.248039 0.252178 0.155481 0.155237 0.134982 0.258245 0.329089 0.385745 0.241713 0.313493 0.322805 0.358355 0.247891 0.224893 0.242144 + 122.000000 0.145840 0.154018 0.146453 0.237777 0.262543 0.224833 0.258007 0.262204 0.163617 0.151659 0.137002 0.251639 0.345692 0.384097 0.256744 0.310876 0.338162 0.367299 0.260327 0.250504 0.227155 + 123.000000 0.149394 0.146601 0.146758 0.245478 0.246649 0.239828 0.255166 0.255702 0.146194 0.161550 0.139197 0.255308 0.352699 0.364046 0.273784 0.305784 0.303042 0.375558 0.255570 0.224917 0.248617 + 124.000000 0.150226 0.146079 0.147009 0.255539 0.234416 0.240151 0.254391 0.249878 0.159307 0.149699 0.137761 0.262075 0.373237 0.333020 0.274265 0.302558 0.290688 0.371435 0.264815 0.235836 0.231561 + 125.000000 0.148619 0.149345 0.141665 0.261116 0.230219 0.226052 0.255518 0.256121 0.151331 0.153898 0.138901 0.249394 0.385900 0.321173 0.254240 0.319172 0.307214 0.361870 0.254522 0.239531 0.236376 + 126.000000 0.148027 0.149362 0.140891 0.251322 0.246293 0.229588 0.255527 0.253901 0.151360 0.158011 0.135167 0.249459 0.380479 0.329183 0.268142 0.299862 0.332183 0.360129 0.261646 0.229107 0.233321 + 127.000000 0.149316 0.143499 0.151337 0.254798 0.240223 0.239000 0.244454 0.255282 0.149225 0.162072 0.139082 0.267711 0.374224 0.309766 0.262990 0.295719 0.323166 0.374166 0.261731 0.233354 0.237134 + 128.000000 0.152092 0.143724 0.142292 0.267419 0.252091 0.225637 0.253430 0.264860 0.155105 0.160028 0.135566 0.239607 0.384126 0.343209 0.253818 0.335964 0.333022 0.363208 0.254519 0.231011 0.245556 + 129.000000 0.147683 0.142868 0.146869 0.247459 0.244227 0.222007 0.248713 0.255421 0.150454 0.152367 0.136579 0.253086 0.361773 0.335298 0.245704 0.306524 0.317051 0.361590 0.258579 0.233307 0.230848 + 130.000000 0.145303 0.145414 0.148831 0.249799 0.246262 0.235452 0.255391 0.251134 0.156084 0.152659 0.138117 0.254422 0.366314 0.360566 0.276976 0.299712 0.308214 0.371513 0.248769 0.233698 0.236030 + 131.000000 0.145064 0.143741 0.146260 0.251206 0.242135 0.235025 0.250162 0.258341 0.154616 0.156182 0.139188 0.244516 0.357505 0.360230 0.268651 0.322348 0.302251 0.374774 0.249822 0.236282 0.242870 + 132.000000 0.146481 0.151356 0.151619 0.246086 0.253026 0.235948 0.258558 0.258038 0.154197 0.156850 0.137875 0.261503 0.367454 0.360054 0.275791 0.309820 0.321891 0.377096 0.261977 0.230824 0.229854 + 133.000000 0.150408 0.146686 0.149984 0.250546 0.247433 0.225900 0.261522 0.261431 0.153734 0.151473 0.137325 0.250764 0.366629 0.357281 0.263164 0.309338 0.325486 0.368063 0.259589 0.234975 0.232974 + 134.000000 0.146976 0.146066 0.147008 0.246806 0.261988 0.227274 0.256907 0.256181 0.157130 0.153199 0.143150 0.248793 0.356516 0.372528 0.258787 0.316681 0.331296 0.368312 0.258762 0.232219 0.238378 + 135.000000 0.148482 0.145412 0.157301 0.254291 0.247806 0.232226 0.251209 0.264437 0.153980 0.157267 0.136283 0.265879 0.358405 0.361490 0.260692 0.326464 0.308084 0.379291 0.254686 0.232472 0.238915 + 136.000000 0.149621 0.145716 0.147856 0.251104 0.258480 0.224329 0.256123 0.257136 0.162707 0.152240 0.137714 0.254299 0.362321 0.369860 0.253204 0.305824 0.325244 0.364647 0.257304 0.249814 0.234242 + 137.000000 0.155734 0.140609 0.146676 0.238249 0.253151 0.230303 0.258263 0.258223 0.149281 0.154473 0.133496 0.249617 0.339937 0.364719 0.264250 0.290619 0.315009 0.365613 0.262349 0.232543 0.234020 + 138.000000 0.147010 0.144662 0.151187 0.237866 0.251797 0.233376 0.255784 0.251694 0.156037 0.150711 0.136578 0.259036 0.342259 0.368753 0.273216 0.304957 0.301031 0.370476 0.260686 0.227914 0.232477 + 139.000000 0.145550 0.142259 0.149037 0.243936 0.262341 0.227665 0.241756 0.265024 0.155387 0.160293 0.138900 0.249064 0.335523 0.374200 0.244380 0.328612 0.330752 0.372541 0.253542 0.239035 0.243251 + 140.000000 0.148962 0.142853 0.151368 0.252037 0.269071 0.226637 0.253692 0.259324 0.154041 0.159757 0.137600 0.254611 0.348747 0.383450 0.258189 0.332085 0.327612 0.368270 0.254415 0.233603 0.232095 + 141.000000 0.144705 0.140609 0.145052 0.231874 0.247128 0.228739 0.251978 0.254522 0.155476 0.145401 0.142461 0.238267 0.333131 0.361907 0.262777 0.301364 0.313495 0.368201 0.258007 0.239385 0.232059 + 142.000000 0.148041 0.141599 0.147800 0.244377 0.256721 0.223432 0.254584 0.248445 0.153062 0.155933 0.139738 0.253370 0.350276 0.365347 0.254706 0.310757 0.304311 0.360558 0.263185 0.226965 0.243959 + 143.000000 0.147089 0.145225 0.148451 0.253526 0.252510 0.236599 0.246438 0.263175 0.153985 0.157851 0.131641 0.253066 0.358774 0.365847 0.267664 0.323405 0.319889 0.376740 0.239846 0.234129 0.225731 + 144.000000 0.144226 0.148068 0.149275 0.248788 0.238169 0.223372 0.249786 0.259182 0.151237 0.147966 0.140977 0.255616 0.362120 0.341824 0.244831 0.317994 0.315894 0.368008 0.250911 0.234944 0.233963 + 145.000000 0.140341 0.145826 0.147602 0.252786 0.235513 0.231087 0.258204 0.245950 0.156010 0.153026 0.139270 0.244439 0.379937 0.335566 0.285549 0.311276 0.303033 0.367405 0.265998 0.226059 0.226946 + 146.000000 0.140850 0.143557 0.145591 0.249994 0.235928 0.225624 0.244611 0.249206 0.153714 0.154429 0.136497 0.250936 0.371465 0.325261 0.255843 0.299419 0.314376 0.362318 0.254948 0.237632 0.229038 + 147.000000 0.149067 0.141392 0.147186 0.264669 0.238168 0.222485 0.243711 0.261869 0.152714 0.150292 0.133855 0.251195 0.369523 0.332236 0.238791 0.340165 0.305200 0.364293 0.246238 0.228344 0.234155 + 148.000000 0.145164 0.141363 0.142809 0.250718 0.238727 0.243837 0.251329 0.244524 0.148713 0.157670 0.140305 0.246752 0.362996 0.346385 0.285981 0.296655 0.300303 0.371699 0.253889 0.229690 0.228709 + 149.000000 0.147555 0.140819 0.145946 0.250032 0.246200 0.234946 0.245635 0.257641 0.149559 0.153377 0.136938 0.248617 0.348090 0.348963 0.260784 0.319480 0.317768 0.372501 0.257237 0.215884 0.232498 + 150.000000 0.142044 0.153684 0.143829 0.245273 0.254228 0.218908 0.258484 0.248582 0.160456 0.152368 0.136735 0.254191 0.356824 0.377928 0.255779 0.310328 0.315810 0.356117 0.257372 0.244515 0.228258 + 151.000000 0.143085 0.144130 0.147386 0.237920 0.255992 0.228922 0.244790 0.255209 0.153701 0.157625 0.136269 0.252254 0.344727 0.364230 0.255101 0.297232 0.327348 0.368980 0.254238 0.237823 0.232066 + 152.000000 0.153918 0.142280 0.147604 0.252750 0.241406 0.236739 0.254754 0.264144 0.148849 0.151941 0.134246 0.249464 0.360255 0.346620 0.268839 0.325744 0.301554 0.375338 0.253741 0.220662 0.237458 + 153.000000 0.152033 0.144072 0.151080 0.246245 0.261961 0.227593 0.260288 0.255585 0.153854 0.152283 0.132165 0.258052 0.351453 0.381002 0.268480 0.313880 0.308776 0.363908 0.247575 0.235981 0.226972 + 154.000000 0.150228 0.139951 0.150203 0.234065 0.259712 0.232014 0.251177 0.249682 0.154117 0.146948 0.141198 0.259512 0.313573 0.372828 0.258745 0.302374 0.312810 0.368371 0.264127 0.216233 0.233033 + 155.000000 0.147728 0.140737 0.147173 0.235181 0.260290 0.226144 0.258977 0.256357 0.159256 0.157239 0.133443 0.237896 0.346151 0.380590 0.273282 0.299116 0.313650 0.364881 0.256602 0.238772 0.244535 + 156.000000 0.151739 0.142965 0.141571 0.250335 0.245707 0.242120 0.248004 0.261194 0.148731 0.155282 0.139164 0.245100 0.350524 0.353547 0.265139 0.316014 0.314973 0.377028 0.251455 0.231841 0.235538 + 157.000000 0.145978 0.149511 0.142483 0.256599 0.235125 0.230277 0.249446 0.248441 0.154203 0.149662 0.135454 0.260098 0.367212 0.343257 0.255988 0.313392 0.293568 0.362407 0.250153 0.239047 0.220172 + 158.000000 0.146798 0.149271 0.142913 0.251818 0.237931 0.234763 0.257569 0.255326 0.155231 0.157534 0.132513 0.246282 0.366147 0.358027 0.278120 0.310515 0.301971 0.368655 0.258271 0.227860 0.239820 + 159.000000 0.147481 0.149412 0.142244 0.247784 0.249084 0.229987 0.249348 0.255173 0.147848 0.148213 0.142134 0.255409 0.352946 0.354354 0.245940 0.319748 0.316716 0.366877 0.244669 0.230582 0.230275 + 160.000000 0.148705 0.147069 0.141990 0.242545 0.253897 0.229221 0.259396 0.251342 0.153829 0.151848 0.134996 0.246560 0.362349 0.365247 0.269298 0.302199 0.309891 0.361993 0.250920 0.236321 0.231097 + 161.000000 0.142196 0.142206 0.146703 0.242587 0.239196 0.228259 0.248542 0.248700 0.153216 0.153027 0.141032 0.249195 0.356629 0.341940 0.260625 0.292628 0.311049 0.365013 0.260937 0.232456 0.240001 + 162.000000 0.149749 0.143956 0.149090 0.268238 0.262849 0.230861 0.255625 0.255939 0.156137 0.159270 0.136032 0.255257 0.389574 0.355259 0.267783 0.318324 0.342049 0.367611 0.243806 0.232476 0.228667 + 163.000000 0.148545 0.143715 0.147310 0.258479 0.235264 0.234165 0.245852 0.264659 0.149660 0.153440 0.137978 0.246820 0.365800 0.331671 0.254592 0.321364 0.330939 0.373024 0.252723 0.228010 0.233425 + 164.000000 0.148027 0.145884 0.141702 0.239002 0.238573 0.239065 0.252003 0.250402 0.150842 0.158300 0.134130 0.251964 0.361498 0.340657 0.275094 0.279583 0.301397 0.368488 0.254856 0.243002 0.230522 + 165.000000 0.146256 0.149078 0.146624 0.257279 0.257554 0.226878 0.249297 0.264560 0.156091 0.157747 0.136641 0.247913 0.369328 0.356097 0.249555 0.344088 0.331942 0.369933 0.255409 0.229093 0.233239 + 166.000000 0.150534 0.149335 0.142839 0.254441 0.243741 0.241079 0.259319 0.252927 0.157544 0.157104 0.135260 0.254151 0.362969 0.364774 0.281736 0.311184 0.296048 0.371374 0.262516 0.227149 0.242017 + 167.000000 0.148492 0.143221 0.147477 0.223216 0.254530 0.234057 0.245044 0.261118 0.160322 0.151017 0.136142 0.253806 0.317997 0.367911 0.256272 0.298797 0.310617 0.372478 0.261042 0.250252 0.232668 + 168.000000 0.155072 0.144963 0.146295 0.239509 0.277900 0.236491 0.251013 0.264059 0.153455 0.155985 0.143556 0.257105 0.312162 0.396119 0.253647 0.336630 0.329566 0.372254 0.246011 0.231118 0.250076 + 169.000000 0.150225 0.146479 0.147462 0.237848 0.266445 0.236359 0.262421 0.246272 0.160039 0.150459 0.139936 0.258971 0.330554 0.391982 0.280612 0.318432 0.300830 0.364022 0.261153 0.234429 0.228843 + 170.000000 0.153069 0.143088 0.150823 0.241022 0.261741 0.241813 0.251408 0.261665 0.151903 0.159052 0.144972 0.260305 0.336666 0.375974 0.262739 0.305825 0.317315 0.382760 0.256768 0.239445 0.250433 + 171.000000 0.158751 0.141527 0.143391 0.262915 0.260637 0.228359 0.251874 0.265091 0.154097 0.163042 0.131989 0.250995 0.356381 0.367140 0.247078 0.334356 0.316593 0.364101 0.262876 0.234956 0.240226 + 172.000000 0.152444 0.144352 0.147483 0.247236 0.255312 0.232335 0.258190 0.262963 0.155805 0.148615 0.134729 0.247788 0.343418 0.374259 0.268335 0.320202 0.320977 0.371937 0.255385 0.224773 0.232262 + 173.000000 0.150412 0.146375 0.147213 0.224758 0.253041 0.241565 0.259533 0.252156 0.154143 0.154666 0.132221 0.256612 0.338445 0.371795 0.288664 0.281605 0.295150 0.371285 0.258562 0.238810 0.229454 + 174.000000 0.148951 0.140726 0.145798 0.233108 0.257100 0.227526 0.250689 0.255653 0.158768 0.151578 0.137190 0.247359 0.316667 0.371293 0.256624 0.305459 0.318668 0.365383 0.274844 0.230191 0.231804 + 175.000000 0.147576 0.146430 0.142276 0.243608 0.247517 0.233189 0.251749 0.250255 0.158819 0.152446 0.134658 0.252929 0.342256 0.367620 0.265853 0.301949 0.299688 0.364883 0.259271 0.236070 0.234468 + 176.000000 0.148150 0.145658 0.144344 0.254393 0.252297 0.227583 0.247527 0.260776 0.150118 0.152566 0.137388 0.249909 0.354645 0.362552 0.246402 0.334212 0.317633 0.367224 0.240281 0.227312 0.237891 + 177.000000 0.145429 0.151856 0.143250 0.260224 0.232273 0.224843 0.263619 0.255310 0.150798 0.155981 0.139811 0.241980 0.381029 0.348210 0.266551 0.339862 0.289845 0.362515 0.259800 0.232998 0.235113 + 178.000000 0.145057 0.145350 0.148315 0.246508 0.238182 0.229836 0.245276 0.251865 0.157571 0.150384 0.133423 0.262080 0.358559 0.343644 0.256049 0.299989 0.295146 0.366544 0.252172 0.232656 0.237353 + 179.000000 0.150027 0.146663 0.146140 0.250534 0.249370 0.240327 0.253675 0.252052 0.149518 0.152271 0.140535 0.260660 0.363953 0.355692 0.269456 0.301274 0.310588 0.373694 0.244544 0.235058 0.230192 + 180.000000 0.146584 0.138965 0.145843 0.245489 0.235692 0.228007 0.248330 0.254374 0.156476 0.154411 0.135837 0.243116 0.355746 0.339354 0.259419 0.312811 0.286006 0.365492 0.263916 0.236817 0.242689 + 181.000000 0.147198 0.145485 0.147361 0.267561 0.236796 0.222106 0.254475 0.256880 0.153401 0.158317 0.138630 0.250064 0.376407 0.346914 0.250826 0.346819 0.289167 0.362275 0.259098 0.234375 0.238843 + 182.000000 0.159299 0.143831 0.146166 0.259977 0.248546 0.239872 0.257805 0.269691 0.154286 0.149287 0.135840 0.250610 0.368052 0.351704 0.266550 0.328040 0.317063 0.378361 0.252400 0.232760 0.233787 + 183.000000 0.150605 0.148054 0.145721 0.254697 0.232608 0.239795 0.246913 0.255073 0.150585 0.151274 0.137411 0.265886 0.368863 0.331791 0.258440 0.303213 0.295851 0.373447 0.243327 0.236250 0.236194 + 184.000000 0.155857 0.142411 0.147434 0.261875 0.253151 0.236362 0.244492 0.275077 0.153251 0.155795 0.136548 0.250728 0.364870 0.340050 0.247379 0.335534 0.341917 0.379032 0.254893 0.229877 0.237403 + 185.000000 0.151447 0.142111 0.144880 0.258932 0.260245 0.224916 0.259388 0.251591 0.158053 0.152864 0.140266 0.248090 0.378983 0.360627 0.260096 0.303515 0.329238 0.359742 0.251428 0.243572 0.235849 + 186.000000 0.148575 0.146716 0.142966 0.256294 0.229676 0.224944 0.258094 0.247321 0.152587 0.155180 0.137011 0.253484 0.377673 0.327695 0.260157 0.301204 0.296644 0.356813 0.267000 0.234729 0.236790 + 187.000000 0.148868 0.150146 0.142400 0.268222 0.246748 0.238311 0.245091 0.263400 0.153090 0.158986 0.140880 0.253445 0.379395 0.327891 0.252818 0.344036 0.329926 0.376471 0.254824 0.225847 0.233836 + 188.000000 0.152116 0.148666 0.144899 0.244679 0.250701 0.234580 0.251884 0.257847 0.153724 0.158269 0.135122 0.261337 0.363606 0.345612 0.257785 0.290664 0.322696 0.369197 0.262388 0.241602 0.233903 + 189.000000 0.149720 0.146417 0.142043 0.261564 0.244883 0.225905 0.254174 0.254568 0.156619 0.158163 0.139253 0.250132 0.370505 0.348751 0.250235 0.323770 0.311112 0.361435 0.268162 0.232107 0.244604 + 190.000000 0.144377 0.151935 0.142147 0.255016 0.246569 0.228443 0.242741 0.261931 0.152565 0.157118 0.137962 0.250355 0.361713 0.346111 0.239213 0.342870 0.317773 0.367360 0.253183 0.234442 0.230372 + 191.000000 0.145793 0.144800 0.142053 0.244303 0.240596 0.234198 0.251506 0.249235 0.150574 0.150583 0.138906 0.248358 0.347225 0.357014 0.267045 0.316978 0.287532 0.366568 0.253063 0.222519 0.239680 + 192.000000 0.142314 0.149984 0.147614 0.233886 0.258910 0.216732 0.252790 0.254422 0.155853 0.151521 0.133203 0.254538 0.340545 0.378577 0.248382 0.303176 0.326264 0.358615 0.250403 0.234270 0.231112 + 193.000000 0.143138 0.146711 0.147148 0.232937 0.254347 0.229427 0.243478 0.260108 0.150578 0.156337 0.136494 0.252427 0.330121 0.367180 0.251484 0.311925 0.324020 0.371519 0.255723 0.231398 0.232751 + 194.000000 0.148534 0.143867 0.140334 0.259438 0.246184 0.234356 0.258212 0.250010 0.154480 0.147557 0.143529 0.241183 0.365863 0.367267 0.271783 0.326803 0.297143 0.366321 0.239546 0.237276 0.237061 + 195.000000 0.145981 0.143384 0.147391 0.236517 0.252195 0.222364 0.243930 0.251780 0.156432 0.152780 0.135876 0.259038 0.333222 0.358060 0.239580 0.311511 0.301721 0.359907 0.265606 0.234846 0.234392 + 196.000000 0.149447 0.144733 0.150087 0.251614 0.245308 0.232556 0.257615 0.259371 0.150574 0.154138 0.134570 0.251491 0.361112 0.362961 0.273293 0.312379 0.310479 0.372533 0.248943 0.234170 0.229280 + 197.000000 0.151251 0.143843 0.145332 0.254677 0.247945 0.224681 0.247758 0.260099 0.154819 0.152898 0.138678 0.253727 0.350838 0.349517 0.238224 0.319680 0.322506 0.364452 0.265394 0.237755 0.230539 + 198.000000 0.153826 0.144809 0.137012 0.248917 0.261618 0.234981 0.252309 0.250240 0.161508 0.157305 0.135304 0.251021 0.359290 0.364441 0.260219 0.297437 0.313657 0.361143 0.262687 0.234702 0.245121 + 199.000000 0.148451 0.150685 0.147832 0.256278 0.238939 0.240229 0.252312 0.264020 0.154980 0.154385 0.137880 0.256732 0.376073 0.340295 0.268719 0.324609 0.310957 0.381100 0.253112 0.238858 0.229969 + 200.000000 0.145625 0.150438 0.143092 0.260530 0.229437 0.227235 0.252210 0.253134 0.154384 0.150594 0.133599 0.255077 0.376140 0.332808 0.257304 0.323678 0.298505 0.362626 0.256598 0.225436 0.230430 + 201.000000 0.145984 0.143024 0.148485 0.258659 0.242552 0.224869 0.259233 0.256749 0.156908 0.150196 0.135836 0.239665 0.385037 0.341374 0.272496 0.318085 0.320146 0.365881 0.253504 0.238377 0.223394 + 202.000000 0.142209 0.138056 0.147504 0.254258 0.235275 0.225513 0.250642 0.243230 0.149901 0.163847 0.137668 0.246030 0.372367 0.335394 0.268307 0.302271 0.290139 0.359853 0.259785 0.225384 0.253009 + 203.000000 0.148110 0.142842 0.146865 0.258859 0.227038 0.228154 0.255202 0.265331 0.150439 0.150324 0.134959 0.235177 0.381837 0.323747 0.266451 0.332041 0.303283 0.370891 0.246490 0.236132 0.230026 + 204.000000 0.146375 0.141301 0.148487 0.249142 0.242267 0.227555 0.242099 0.247450 0.152328 0.147553 0.138300 0.263990 0.354360 0.333955 0.244279 0.296479 0.309743 0.362986 0.254144 0.230508 0.226748 + 205.000000 0.139837 0.140340 0.148050 0.244784 0.252593 0.229030 0.242990 0.257553 0.156010 0.156630 0.138160 0.240216 0.355530 0.359159 0.260140 0.315619 0.326483 0.372242 0.247033 0.238870 0.232826 + 206.000000 0.143922 0.141764 0.147259 0.241474 0.249102 0.226092 0.251344 0.242958 0.152722 0.155121 0.134995 0.254801 0.352729 0.359694 0.264258 0.289063 0.300223 0.359041 0.255216 0.228383 0.237348 + 207.000000 0.152574 0.147850 0.143339 0.258132 0.249416 0.225992 0.259772 0.258588 0.147579 0.150229 0.137093 0.250290 0.372400 0.348399 0.255832 0.323168 0.327074 0.362658 0.251622 0.225738 0.223597 + 208.000000 0.143198 0.142304 0.145381 0.238630 0.259702 0.223063 0.239168 0.257909 0.154206 0.153140 0.140530 0.248193 0.352426 0.352403 0.237561 0.291908 0.348236 0.361402 0.243212 0.238124 0.242279 + 209.000000 0.149334 0.143842 0.142160 0.251269 0.242560 0.233302 0.250782 0.256361 0.153260 0.149007 0.137450 0.246639 0.368995 0.331894 0.264135 0.301651 0.328352 0.364819 0.256609 0.227273 0.231296 + 210.000000 0.150502 0.144730 0.141377 0.257929 0.234520 0.231290 0.249659 0.254364 0.151539 0.150660 0.134474 0.250859 0.380013 0.314430 0.261366 0.308027 0.308905 0.362639 0.250126 0.230763 0.233080 + 211.000000 0.150684 0.148785 0.144162 0.252653 0.248380 0.224037 0.253444 0.257539 0.150470 0.153551 0.137131 0.257030 0.375767 0.324137 0.253894 0.302785 0.341528 0.356142 0.263398 0.222991 0.234462 + 212.000000 0.147307 0.144373 0.143896 0.259176 0.242902 0.232550 0.246675 0.254211 0.157427 0.158791 0.137846 0.253206 0.382753 0.321770 0.259430 0.301300 0.329470 0.365122 0.257456 0.244350 0.235316 + 213.000000 0.149294 0.139715 0.145040 0.261477 0.234318 0.236041 0.244765 0.254239 0.151990 0.153336 0.144810 0.252348 0.377871 0.307478 0.259807 0.306100 0.322897 0.366852 0.255316 0.234609 0.244312 + 214.000000 0.154018 0.146356 0.143834 0.259547 0.241865 0.232105 0.248769 0.268157 0.152760 0.157049 0.137973 0.250893 0.373866 0.325620 0.248313 0.326668 0.323883 0.371037 0.261492 0.233829 0.244210 + 215.000000 0.151672 0.151522 0.145973 0.261831 0.229141 0.236713 0.267466 0.242193 0.150566 0.156200 0.139341 0.266209 0.381687 0.339907 0.281377 0.301102 0.285320 0.363814 0.269254 0.235680 0.222688 + 216.000000 0.146229 0.148726 0.147493 0.253635 0.238154 0.235947 0.251828 0.263783 0.153543 0.153444 0.142106 0.249737 0.365243 0.350876 0.262614 0.328833 0.310027 0.379105 0.251687 0.239334 0.238902 + 217.000000 0.149833 0.145234 0.150168 0.245762 0.260758 0.229208 0.250463 0.259808 0.154145 0.156284 0.135109 0.260469 0.347675 0.364902 0.253422 0.317892 0.324804 0.370285 0.262953 0.225090 0.232997 + 218.000000 0.146471 0.141942 0.149566 0.251545 0.253442 0.231970 0.251310 0.249504 0.153888 0.159194 0.139355 0.255988 0.357242 0.366886 0.264916 0.299989 0.312100 0.368689 0.253533 0.237814 0.238597 + 219.000000 0.148946 0.147105 0.151523 0.256005 0.249466 0.232123 0.253169 0.262996 0.154017 0.152818 0.137151 0.258637 0.368523 0.353787 0.260371 0.327757 0.318601 0.375761 0.251508 0.232928 0.229752 + 220.000000 0.151642 0.146206 0.144500 0.259113 0.241672 0.227899 0.253126 0.259997 0.158779 0.146891 0.134897 0.251394 0.368158 0.346006 0.252123 0.332562 0.300914 0.365103 0.255970 0.237359 0.229101 + 221.000000 0.147582 0.148021 0.151876 0.260046 0.248722 0.228031 0.248612 0.263940 0.148557 0.163103 0.137775 0.261577 0.360675 0.364037 0.248798 0.336848 0.313672 0.373696 0.248707 0.231716 0.242431 + 222.000000 0.154497 0.142974 0.145562 0.254094 0.260546 0.229633 0.258493 0.256121 0.158799 0.154305 0.135898 0.252572 0.363020 0.367068 0.261161 0.310206 0.319538 0.364737 0.261599 0.239088 0.233443 + 223.000000 0.152615 0.145808 0.145428 0.251950 0.256806 0.231636 0.257845 0.254004 0.158082 0.155560 0.136214 0.256642 0.359719 0.367344 0.263192 0.309443 0.311863 0.365857 0.263672 0.235215 0.236744 + 224.000000 0.150499 0.139778 0.147806 0.252599 0.252754 0.243972 0.242743 0.262541 0.157711 0.155331 0.139970 0.253044 0.342438 0.364155 0.264932 0.330147 0.305919 0.381779 0.251047 0.238342 0.238825 + 225.000000 0.147967 0.145190 0.142245 0.237309 0.258544 0.224616 0.250459 0.257708 0.156774 0.155686 0.136726 0.245565 0.328295 0.376446 0.249332 0.315574 0.318394 0.361757 0.264751 0.234339 0.241075 + 226.000000 0.150357 0.146595 0.147045 0.246271 0.263507 0.224276 0.257842 0.255257 0.152727 0.152474 0.132225 0.255734 0.346840 0.379969 0.259304 0.314573 0.323779 0.361391 0.252055 0.225337 0.226406 + 227.000000 0.143007 0.145107 0.144912 0.240638 0.246676 0.235979 0.247299 0.251524 0.154089 0.153888 0.141514 0.250903 0.347726 0.362414 0.264914 0.309533 0.298699 0.372504 0.248374 0.235186 0.243653 + 228.000000 0.145847 0.145377 0.146877 0.245402 0.249210 0.236384 0.251887 0.250635 0.151586 0.156850 0.135680 0.255447 0.352308 0.366549 0.274296 0.300137 0.305716 0.370402 0.250241 0.232359 0.231001 + 229.000000 0.153500 0.146496 0.145561 0.248120 0.258955 0.220669 0.264743 0.253115 0.151713 0.148610 0.133634 0.253511 0.355890 0.374450 0.259037 0.308308 0.318393 0.355932 0.253779 0.224867 0.229465 + 230.000000 0.145789 0.143267 0.143117 0.244663 0.241269 0.228429 0.244693 0.254189 0.153015 0.152336 0.137506 0.249080 0.345657 0.351990 0.249696 0.317849 0.294370 0.364099 0.253099 0.239497 0.235242 + 231.000000 0.149501 0.142753 0.142673 0.234336 0.267955 0.234561 0.253809 0.253901 0.148030 0.157455 0.135987 0.245560 0.324458 0.386394 0.270385 0.311511 0.322322 0.367563 0.255703 0.215852 0.234989 + 232.000000 0.149553 0.143064 0.150486 0.220964 0.257147 0.227961 0.257690 0.255071 0.153738 0.150534 0.131529 0.254135 0.321970 0.379485 0.269706 0.293327 0.300688 0.365166 0.255164 0.229733 0.236750 + 233.000000 0.143638 0.141903 0.147705 0.247877 0.246023 0.235762 0.252342 0.254806 0.159486 0.150854 0.143044 0.242283 0.344305 0.371162 0.278036 0.322671 0.300838 0.374499 0.252299 0.245991 0.234315 + 234.000000 0.147263 0.145717 0.144778 0.244183 0.263474 0.229312 0.243374 0.251183 0.151134 0.156659 0.135370 0.262206 0.338704 0.364796 0.245496 0.310870 0.325027 0.364053 0.256560 0.223106 0.226315 + 235.000000 0.148221 0.149301 0.142517 0.238359 0.258890 0.229620 0.256202 0.252861 0.155810 0.154545 0.136459 0.253080 0.353768 0.375717 0.261359 0.293928 0.316196 0.364032 0.247912 0.240116 0.241263 + 236.000000 0.149028 0.149255 0.146313 0.253665 0.243917 0.222915 0.257232 0.256593 0.158025 0.153254 0.138448 0.255720 0.351146 0.362708 0.250973 0.338792 0.292830 0.360496 0.272065 0.234651 0.236144 + 237.000000 0.153392 0.144761 0.151424 0.247907 0.269773 0.234973 0.257906 0.261322 0.157287 0.152698 0.136437 0.257874 0.329157 0.396464 0.273473 0.325763 0.319440 0.373939 0.241483 0.232635 0.237692 + 238.000000 0.150577 0.142638 0.148051 0.231020 0.262253 0.232636 0.252405 0.254179 0.156246 0.153463 0.134341 0.256063 0.306002 0.386337 0.269535 0.306370 0.306296 0.366728 0.261817 0.232517 0.233362 + 239.000000 0.155468 0.148318 0.143624 0.241783 0.262830 0.239131 0.261285 0.258727 0.156349 0.152144 0.144322 0.254840 0.337233 0.385382 0.267612 0.312500 0.313953 0.373650 0.257662 0.243204 0.243010 + 240.000000 0.155260 0.144415 0.146985 0.254919 0.257507 0.228437 0.256006 0.257848 0.158636 0.151688 0.139187 0.259145 0.349216 0.369672 0.250739 0.322046 0.311343 0.365608 0.263268 0.240475 0.235174 + 241.000000 0.152206 0.147383 0.149199 0.254506 0.264814 0.232345 0.259364 0.259032 0.156221 0.162195 0.135583 0.258419 0.360869 0.380422 0.266899 0.328104 0.314646 0.369898 0.261805 0.234246 0.237852 + 242.000000 0.145905 0.147554 0.145176 0.238919 0.256870 0.231909 0.249971 0.251684 0.159140 0.151819 0.138843 0.257859 0.347697 0.367780 0.257848 0.294779 0.318635 0.367967 0.255357 0.239331 0.234974 + 243.000000 0.147091 0.149279 0.147963 0.241806 0.251433 0.225143 0.248565 0.262359 0.155645 0.153763 0.134399 0.257595 0.348905 0.361049 0.245496 0.306043 0.327174 0.367937 0.256689 0.242166 0.230730 + 244.000000 0.150997 0.145251 0.145378 0.258531 0.252744 0.234250 0.255484 0.254778 0.149051 0.152863 0.140507 0.254554 0.357545 0.365788 0.263662 0.332695 0.307913 0.369439 0.249551 0.224740 0.229895 + 245.000000 0.145692 0.150531 0.137937 0.249634 0.240516 0.216549 0.254971 0.247206 0.154408 0.151459 0.131619 0.249546 0.362502 0.358153 0.247390 0.304810 0.299313 0.348079 0.251146 0.240948 0.229718 + 246.000000 0.149449 0.146938 0.143839 0.248277 0.253740 0.241032 0.258572 0.258531 0.159000 0.150534 0.138386 0.244097 0.368608 0.366262 0.281776 0.312600 0.315664 0.376115 0.246270 0.247145 0.225683 + 247.000000 0.150263 0.155955 0.142436 0.243549 0.264424 0.226365 0.253401 0.253647 0.153563 0.156426 0.135268 0.268349 0.345459 0.381737 0.242776 0.305984 0.320608 0.360621 0.250270 0.224400 0.246685 + 248.000000 0.145907 0.148463 0.145968 0.250406 0.240932 0.227746 0.259161 0.250563 0.155615 0.154875 0.139629 0.252823 0.368110 0.350774 0.265781 0.307016 0.305549 0.364891 0.267793 0.239264 0.232258 + 249.000000 0.147486 0.145267 0.145288 0.261822 0.243452 0.232468 0.256367 0.257230 0.158044 0.154621 0.138169 0.244751 0.378800 0.354522 0.270335 0.323290 0.311019 0.370180 0.250878 0.233048 0.243620 + 250.000000 0.146542 0.144028 0.147114 0.252393 0.247438 0.226676 0.249002 0.253328 0.150213 0.153638 0.133826 0.255635 0.362734 0.347246 0.254994 0.311648 0.317672 0.364219 0.251577 0.229547 0.221638 + 251.000000 0.151856 0.142826 0.150394 0.258101 0.241797 0.230413 0.255256 0.255605 0.150627 0.149538 0.132251 0.259326 0.367577 0.346477 0.264781 0.311732 0.307405 0.366592 0.250423 0.221204 0.229188 + 252.000000 0.149768 0.144932 0.143477 0.239440 0.242697 0.240197 0.249376 0.262265 0.150622 0.157783 0.141553 0.242370 0.363961 0.330097 0.266873 0.305486 0.307664 0.378298 0.256977 0.244611 0.243825 + 253.000000 0.144796 0.152908 0.147457 0.260953 0.243185 0.232597 0.259303 0.238646 0.155412 0.156970 0.135560 0.271214 0.386672 0.349910 0.275070 0.291819 0.305923 0.359765 0.254262 0.232170 0.224802 + 254.000000 0.145709 0.146864 0.147239 0.240592 0.246741 0.234532 0.248626 0.264803 0.152580 0.154460 0.140979 0.246655 0.357469 0.346792 0.261774 0.303943 0.336546 0.374731 0.256946 0.227988 0.246662 + 255.000000 0.147017 0.145160 0.149663 0.261546 0.243604 0.230202 0.242100 0.259947 0.155971 0.158045 0.137703 0.260594 0.375432 0.329552 0.244976 0.327171 0.310768 0.372615 0.253200 0.240681 0.235618 + 256.000000 0.146040 0.142694 0.145769 0.249402 0.247482 0.229939 0.253291 0.248909 0.158618 0.160180 0.133636 0.248587 0.365629 0.355072 0.270109 0.285182 0.318326 0.361296 0.264123 0.237092 0.239288 + 257.000000 0.145625 0.147839 0.150195 0.250500 0.261322 0.221059 0.249630 0.254150 0.152128 0.164275 0.136640 0.263246 0.375557 0.341850 0.249737 0.301662 0.340503 0.361376 0.261097 0.232702 0.239102 + 258.000000 0.146278 0.139983 0.150944 0.261864 0.221787 0.230807 0.247179 0.260464 0.157220 0.153597 0.135648 0.249383 0.381666 0.311423 0.264401 0.318777 0.296183 0.372563 0.255534 0.236036 0.243637 + 259.000000 0.151158 0.147616 0.146216 0.263924 0.238211 0.236023 0.258405 0.260914 0.148940 0.154962 0.136077 0.250511 0.388514 0.331146 0.273183 0.326601 0.311598 0.373875 0.245692 0.231527 0.227342 + 260.000000 0.147059 0.144331 0.143390 0.248295 0.250731 0.228430 0.256997 0.245114 0.147827 0.157122 0.141126 0.250579 0.364109 0.353227 0.264331 0.300268 0.313710 0.360969 0.259817 0.229203 0.233299 + 261.000000 0.147126 0.144590 0.148414 0.256568 0.246720 0.231441 0.247092 0.266968 0.157722 0.157840 0.134081 0.247132 0.369413 0.351903 0.257474 0.326547 0.324370 0.375315 0.248954 0.240153 0.237408 + 262.000000 0.145585 0.146929 0.151365 0.231222 0.264875 0.225858 0.252688 0.252440 0.152448 0.152026 0.138051 0.262363 0.341103 0.378515 0.256075 0.300781 0.318204 0.366852 0.245400 0.222422 0.242095 + 263.000000 0.149009 0.147757 0.143125 0.234748 0.268468 0.233449 0.259933 0.252390 0.156655 0.160777 0.141234 0.249562 0.321302 0.393407 0.274804 0.317902 0.318044 0.364737 0.278262 0.239205 0.229823 + 264.000000 0.144779 0.143544 0.155977 0.246242 0.245826 0.227106 0.246167 0.272766 0.157219 0.155403 0.138392 0.247692 0.313508 0.378404 0.266563 0.352980 0.305840 0.375272 0.251882 0.241478 0.247021 + 265.000000 0.155431 0.143876 0.143895 0.236851 0.279213 0.233796 0.258554 0.256298 0.148208 0.154929 0.138496 0.251618 0.309502 0.399515 0.269933 0.320848 0.331727 0.365464 0.254925 0.221998 0.227620 + 266.000000 0.148533 0.146217 0.153317 0.222441 0.263234 0.228324 0.252308 0.266756 0.156156 0.157683 0.138009 0.256676 0.322503 0.380106 0.254295 0.303420 0.326255 0.374972 0.266598 0.244064 0.241817 + 267.000000 0.152603 0.143931 0.146617 0.252515 0.256628 0.226866 0.249887 0.263367 0.157198 0.153229 0.137484 0.253845 0.357491 0.359263 0.243664 0.320302 0.323656 0.367817 0.255389 0.238409 0.240941 + 268.000000 0.150541 0.148038 0.140519 0.260319 0.238724 0.237272 0.252502 0.251659 0.148393 0.155701 0.139291 0.255786 0.369920 0.327436 0.261777 0.321545 0.310736 0.368106 0.266502 0.222606 0.220510 + 269.000000 0.145936 0.148287 0.146178 0.255932 0.242118 0.230601 0.242442 0.258742 0.156232 0.157302 0.134738 0.259750 0.376176 0.329923 0.249843 0.313669 0.315181 0.369523 0.247947 0.238217 0.239985 + 270.000000 0.147899 0.141170 0.148703 0.261555 0.231712 0.238038 0.244171 0.266170 0.152405 0.158223 0.140172 0.247023 0.371661 0.323461 0.259775 0.329828 0.317539 0.380699 0.257974 0.233816 0.239930 + 271.000000 0.145817 0.148515 0.147470 0.265451 0.229104 0.228341 0.246185 0.255342 0.153192 0.152469 0.136558 0.262988 0.383691 0.318088 0.248076 0.319529 0.310442 0.366898 0.245386 0.238347 0.227330 + 272.000000 0.145725 0.145810 0.147162 0.241970 0.257047 0.232088 0.254780 0.253932 0.149840 0.162363 0.144497 0.251047 0.365007 0.350417 0.269825 0.292086 0.340152 0.366999 0.266939 0.223180 0.251922 + 273.000000 0.144632 0.142733 0.144248 0.249229 0.241704 0.225382 0.245534 0.255465 0.156820 0.157707 0.133816 0.246285 0.365378 0.344604 0.251781 0.306425 0.306914 0.363577 0.251575 0.246608 0.237298 + 274.000000 0.148095 0.147138 0.147877 0.255895 0.247083 0.224488 0.255063 0.261361 0.158108 0.152286 0.131852 0.250271 0.352817 0.367745 0.259896 0.333546 0.312613 0.365708 0.260701 0.230230 0.228171 + 275.000000 0.149993 0.144236 0.146158 0.243028 0.268650 0.233217 0.249919 0.250009 0.148918 0.159875 0.140045 0.261153 0.327928 0.388552 0.259213 0.313319 0.309475 0.365892 0.247694 0.231391 0.241586 + 276.000000 0.148164 0.147679 0.147450 0.236176 0.244168 0.235458 0.251749 0.259742 0.158437 0.143754 0.142298 0.254039 0.326568 0.360702 0.260903 0.332606 0.297298 0.371015 0.266421 0.240513 0.225183 + 277.000000 0.143789 0.143668 0.145746 0.236186 0.252719 0.238191 0.247481 0.254261 0.154693 0.156563 0.138925 0.248481 0.334621 0.374377 0.271853 0.309178 0.303900 0.374955 0.249296 0.231314 0.244404 + 278.000000 0.153481 0.143140 0.141121 0.246248 0.259503 0.226961 0.257917 0.252848 0.149155 0.152095 0.131947 0.244730 0.339496 0.376880 0.264623 0.304656 0.321074 0.357943 0.253965 0.229963 0.219782 + 279.000000 0.149481 0.141729 0.149318 0.245706 0.255756 0.227027 0.251583 0.256407 0.158323 0.147613 0.133898 0.254723 0.349635 0.365088 0.257520 0.311592 0.313746 0.366108 0.250973 0.224612 0.235667 + 280.000000 0.151079 0.143346 0.146867 0.252842 0.233189 0.234369 0.254846 0.256814 0.147450 0.151221 0.141891 0.252042 0.365781 0.343793 0.263436 0.305330 0.297214 0.372373 0.242866 0.249528 0.230722 + 281.000000 0.145433 0.146612 0.152696 0.254108 0.237748 0.226856 0.247772 0.264067 0.152366 0.155678 0.134021 0.254851 0.371532 0.326504 0.256680 0.333610 0.308673 0.373264 0.261714 0.219509 0.238546 + 282.000000 0.144593 0.149291 0.145088 0.254939 0.231814 0.222632 0.251943 0.251835 0.156056 0.153154 0.134276 0.256439 0.382107 0.327419 0.252835 0.299060 0.310800 0.358882 0.253044 0.246142 0.229774 + 283.000000 0.153113 0.143379 0.150003 0.273789 0.242699 0.221104 0.259058 0.269458 0.156069 0.153365 0.132783 0.243122 0.391903 0.338015 0.254830 0.337452 0.340957 0.364034 0.252993 0.238630 0.224909 + 284.000000 0.145847 0.142844 0.146883 0.250114 0.243800 0.228648 0.248015 0.249844 0.152519 0.150829 0.136887 0.256270 0.367406 0.336837 0.256864 0.294741 0.318371 0.364067 0.250862 0.237982 0.223280 + 285.000000 0.147003 0.148964 0.148489 0.254186 0.259177 0.234653 0.258476 0.259411 0.152128 0.160179 0.139321 0.251391 0.374520 0.362986 0.274145 0.322347 0.335026 0.375386 0.256216 0.225309 0.233380 + 286.000000 0.146615 0.139869 0.145786 0.242141 0.240620 0.230774 0.245496 0.255214 0.156509 0.149524 0.139755 0.247979 0.353443 0.343439 0.254527 0.296573 0.304395 0.369137 0.251249 0.244520 0.241310 + 287.000000 0.150966 0.150940 0.145450 0.241269 0.250967 0.230621 0.267318 0.252636 0.157727 0.155762 0.131588 0.253656 0.352666 0.374241 0.280694 0.291796 0.311314 0.363517 0.273225 0.237121 0.226523 + 288.000000 0.146656 0.146989 0.147157 0.251030 0.253194 0.222879 0.252216 0.253695 0.156546 0.158704 0.135726 0.257491 0.352869 0.371567 0.250560 0.319660 0.304843 0.361661 0.258720 0.236523 0.242422 + 289.000000 0.140173 0.145967 0.145833 0.229486 0.251611 0.227563 0.246965 0.253510 0.164430 0.151528 0.132698 0.247237 0.325808 0.375585 0.263995 0.302117 0.310568 0.366244 0.258003 0.236716 0.234316 + 290.000000 0.145951 0.149546 0.149539 0.235427 0.259855 0.229958 0.257432 0.257180 0.150777 0.156577 0.135401 0.256117 0.335216 0.389019 0.270881 0.316152 0.310918 0.369272 0.248062 0.229862 0.237870 + 291.000000 0.154180 0.146062 0.145271 0.256948 0.262892 0.232738 0.252056 0.257902 0.154613 0.154630 0.141688 0.260537 0.336784 0.377775 0.251870 0.337852 0.314663 0.367774 0.259934 0.232263 0.233997 + 292.000000 0.153703 0.143707 0.149149 0.249673 0.259219 0.236596 0.247481 0.271023 0.154617 0.155128 0.136301 0.254150 0.336281 0.369715 0.254954 0.338727 0.324654 0.379212 0.258631 0.229324 0.235590 + 293.000000 0.149014 0.146291 0.150825 0.239310 0.259572 0.229156 0.257138 0.253935 0.160225 0.157735 0.134457 0.260929 0.342102 0.379519 0.267115 0.295427 0.312462 0.367046 0.267661 0.246597 0.231180 + 294.000000 0.152610 0.143258 0.147230 0.241953 0.259214 0.228820 0.261018 0.253381 0.155365 0.153569 0.139192 0.252662 0.342485 0.378821 0.264979 0.309061 0.304606 0.364729 0.261585 0.234634 0.242703 + 295.000000 0.154614 0.151203 0.148323 0.267036 0.261345 0.225718 0.260838 0.260259 0.157579 0.159203 0.135549 0.264387 0.370781 0.371710 0.251936 0.344994 0.314996 0.363478 0.265391 0.234525 0.230215 + 296.000000 0.145325 0.151491 0.145018 0.246474 0.241027 0.235447 0.259651 0.257953 0.154840 0.159857 0.146449 0.246560 0.371591 0.353218 0.270505 0.311011 0.307606 0.375895 0.263499 0.248165 0.250595 + 297.000000 0.149527 0.152859 0.143725 0.260355 0.248159 0.233149 0.263715 0.253934 0.154267 0.164390 0.130832 0.254437 0.390250 0.349806 0.281389 0.315088 0.311842 0.365322 0.262615 0.224257 0.238920 + 298.000000 0.143240 0.147179 0.147679 0.263098 0.221657 0.228847 0.243702 0.253415 0.153763 0.157103 0.135199 0.261162 0.382199 0.305651 0.252202 0.318442 0.299104 0.367344 0.257409 0.234961 0.230366 + 299.000000 0.148311 0.148665 0.147743 0.253793 0.232568 0.227336 0.261974 0.257147 0.150819 0.151066 0.139939 0.243884 0.391155 0.312754 0.275405 0.309859 0.306025 0.367785 0.253718 0.242414 0.232787 + 300.000000 0.145042 0.145148 0.149064 0.252556 0.244772 0.218732 0.242867 0.257198 0.149689 0.156022 0.132680 0.260261 0.375117 0.308892 0.251577 0.301175 0.347400 0.350629 0.255625 0.218643 0.237976 + 301.000000 0.142944 0.143225 0.151961 0.258820 0.236396 0.230468 0.237675 0.270377 0.158227 0.157119 0.137432 0.248545 0.378953 0.311469 0.251216 0.327160 0.343489 0.375736 0.251962 0.242333 0.237423 + 302.000000 0.148248 0.147790 0.142617 0.254863 0.231183 0.226045 0.252505 0.247490 0.147081 0.156685 0.137694 0.258798 0.375407 0.316315 0.253144 0.295761 0.313294 0.354769 0.262550 0.228190 0.237116 + 303.000000 0.150581 0.145718 0.143821 0.251934 0.228742 0.245754 0.255806 0.252972 0.148587 0.154784 0.140545 0.250215 0.377458 0.317305 0.284336 0.306447 0.285161 0.376921 0.257188 0.233216 0.236398 + 304.000000 0.145439 0.152189 0.142543 0.258706 0.233883 0.226375 0.253684 0.249247 0.154959 0.159617 0.132695 0.259103 0.377446 0.338366 0.257999 0.310474 0.301611 0.358731 0.265198 0.227889 0.239189 + 305.000000 0.148138 0.148502 0.141118 0.249508 0.248138 0.230852 0.252472 0.255672 0.156379 0.156885 0.134238 0.249704 0.365702 0.355592 0.259857 0.305850 0.315589 0.365148 0.256109 0.241706 0.233330 + 306.000000 0.148005 0.154097 0.148103 0.254005 0.246200 0.238084 0.255530 0.267620 0.154724 0.152007 0.139829 0.255111 0.369904 0.356073 0.266263 0.329364 0.328561 0.381627 0.252015 0.230622 0.234781 + 307.000000 0.145972 0.141811 0.144492 0.245130 0.251600 0.232681 0.244299 0.242688 0.154349 0.153584 0.140946 0.259647 0.348500 0.352929 0.253035 0.299830 0.298499 0.363539 0.257617 0.236984 0.232386 + 308.000000 0.145802 0.152500 0.147755 0.249429 0.242093 0.235212 0.260652 0.259524 0.155944 0.154508 0.138203 0.251447 0.367461 0.366322 0.277520 0.314376 0.308463 0.375834 0.252338 0.236221 0.241019 + 309.000000 0.151798 0.142797 0.143172 0.247255 0.259734 0.227718 0.247329 0.255850 0.150755 0.156730 0.136511 0.253720 0.351817 0.349624 0.244026 0.312238 0.325918 0.363036 0.263949 0.232269 0.226088 + 310.000000 0.143950 0.150325 0.149068 0.253956 0.240149 0.230312 0.252309 0.260098 0.157824 0.155250 0.135015 0.254988 0.377716 0.342903 0.264731 0.315734 0.318250 0.372417 0.255667 0.236739 0.233596 + 311.000000 0.144126 0.144865 0.145816 0.257769 0.231657 0.225005 0.251899 0.252863 0.149592 0.160254 0.134955 0.248088 0.384681 0.322566 0.262000 0.306665 0.315123 0.360846 0.247100 0.237519 0.237787 + 312.000000 0.151907 0.144414 0.147038 0.264679 0.243831 0.231263 0.251166 0.258226 0.156376 0.153894 0.138400 0.257765 0.386288 0.309135 0.264206 0.311687 0.338181 0.363626 0.268221 0.226880 0.232585 + 313.000000 0.149986 0.143994 0.155057 0.257989 0.242185 0.233698 0.255041 0.267188 0.152629 0.157675 0.137637 0.255109 0.389233 0.318894 0.275440 0.307073 0.338137 0.376660 0.245492 0.244370 0.237981 + 314.000000 0.147021 0.145157 0.146371 0.269823 0.220705 0.229219 0.248368 0.253639 0.158678 0.151880 0.130987 0.255164 0.382314 0.312256 0.261312 0.317915 0.310644 0.358387 0.267439 0.215335 0.236553 + 315.000000 0.145445 0.147535 0.144857 0.256998 0.248248 0.229258 0.263158 0.246248 0.154846 0.152638 0.141318 0.243511 0.394332 0.342577 0.283243 0.302729 0.312965 0.363458 0.244427 0.242056 0.232857 + 316.000000 0.144867 0.146762 0.142992 0.245747 0.234661 0.232441 0.247911 0.253717 0.148194 0.162318 0.139898 0.250702 0.364838 0.324644 0.257872 0.299317 0.315652 0.367641 0.268023 0.234896 0.239657 + 317.000000 0.152678 0.146700 0.145511 0.250210 0.240532 0.237598 0.261540 0.259668 0.150626 0.149575 0.132945 0.249361 0.370255 0.349139 0.280750 0.307119 0.307742 0.372464 0.249802 0.230218 0.226959 + 318.000000 0.148408 0.144894 0.148638 0.237849 0.258899 0.227103 0.246210 0.262972 0.152697 0.153504 0.134960 0.255819 0.343190 0.361409 0.246008 0.304971 0.333784 0.369829 0.253876 0.233676 0.232242 + 319.000000 0.147856 0.147922 0.145525 0.243040 0.261016 0.234787 0.253312 0.252849 0.158261 0.152984 0.140354 0.257286 0.353306 0.365958 0.262936 0.308468 0.322612 0.370536 0.262686 0.237986 0.225945 + 320.000000 0.149572 0.146221 0.144950 0.259022 0.248972 0.222329 0.250517 0.257848 0.155763 0.149061 0.134372 0.253329 0.364976 0.356987 0.243217 0.316076 0.324198 0.359844 0.244052 0.233566 0.234338 + 321.000000 0.148232 0.142918 0.150833 0.248904 0.242349 0.233359 0.250969 0.263812 0.149738 0.154013 0.136105 0.250615 0.364858 0.337925 0.265046 0.310434 0.327043 0.376413 0.255957 0.234776 0.223773 + 322.000000 0.146753 0.140703 0.152294 0.256332 0.249614 0.224265 0.250270 0.255746 0.157978 0.153733 0.131552 0.255502 0.375169 0.343234 0.262056 0.300266 0.330965 0.361754 0.254000 0.228235 0.233362 + 323.000000 0.147237 0.143189 0.148153 0.255904 0.257400 0.225372 0.247836 0.255178 0.149965 0.161848 0.134801 0.255423 0.376915 0.336910 0.254351 0.309403 0.335481 0.363898 0.250513 0.232270 0.231006 + 324.000000 0.145498 0.139784 0.151047 0.256956 0.222025 0.232944 0.244883 0.256674 0.150346 0.154838 0.136806 0.254254 0.369962 0.317162 0.261363 0.314783 0.290881 0.373782 0.254055 0.232935 0.235775 + 325.000000 0.152581 0.145763 0.149756 0.259084 0.245583 0.238534 0.257505 0.257539 0.155063 0.156959 0.140700 0.260723 0.370416 0.347974 0.269536 0.314685 0.312597 0.376047 0.268437 0.232014 0.237573 + 326.000000 0.148734 0.148385 0.145127 0.240824 0.266863 0.225416 0.258052 0.257386 0.155720 0.158676 0.134537 0.250446 0.358271 0.376034 0.259956 0.298464 0.338633 0.363633 0.259432 0.240032 0.231252 + 327.000000 0.146240 0.143893 0.146536 0.243704 0.246451 0.235218 0.251663 0.248552 0.157870 0.155862 0.138126 0.255764 0.354004 0.356123 0.269871 0.292411 0.302852 0.368563 0.265105 0.234526 0.240299 + 328.000000 0.148378 0.143858 0.147074 0.252693 0.249908 0.234647 0.249023 0.257804 0.152784 0.150714 0.135713 0.253059 0.366453 0.345956 0.263637 0.317790 0.318316 0.372547 0.247540 0.229188 0.224193 + 329.000000 0.150103 0.145908 0.142277 0.243163 0.239468 0.229268 0.258740 0.256853 0.151281 0.154922 0.138685 0.239717 0.355728 0.356541 0.263307 0.290985 0.314286 0.363004 0.257415 0.237594 0.248381 + 330.000000 0.142928 0.145709 0.143637 0.259215 0.236354 0.230855 0.246425 0.250279 0.152452 0.160321 0.141973 0.251511 0.365762 0.336716 0.254302 0.323073 0.308825 0.367615 0.267329 0.232559 0.230760 + 331.000000 0.147312 0.145135 0.147563 0.266241 0.227871 0.234479 0.249146 0.256444 0.152510 0.154883 0.135077 0.256389 0.377625 0.330997 0.263922 0.329586 0.292201 0.372080 0.251117 0.226382 0.233785 + 332.000000 0.149181 0.143953 0.141868 0.247931 0.241214 0.228103 0.258866 0.257044 0.150066 0.154381 0.136550 0.236503 0.373984 0.340302 0.269049 0.304163 0.313665 0.363850 0.252476 0.239476 0.235679 + 333.000000 0.148858 0.145009 0.147433 0.246986 0.249907 0.228443 0.247325 0.253601 0.151516 0.151694 0.144191 0.262455 0.367062 0.321403 0.249696 0.286430 0.344038 0.361299 0.264073 0.233336 0.232491 + 334.000000 0.157138 0.143694 0.145132 0.270134 0.255523 0.234068 0.256211 0.261453 0.147618 0.160395 0.137070 0.254199 0.388253 0.332676 0.261179 0.318971 0.348224 0.366073 0.247748 0.232746 0.228908 + 335.000000 0.150824 0.144902 0.144341 0.253070 0.229121 0.226672 0.255272 0.260672 0.153109 0.150900 0.133762 0.245450 0.376381 0.317848 0.260552 0.311453 0.305833 0.364349 0.262331 0.235940 0.231638 + 336.000000 0.145379 0.151251 0.143187 0.253227 0.241815 0.226915 0.254085 0.250652 0.154698 0.153595 0.132755 0.256712 0.370534 0.347349 0.260260 0.306389 0.314919 0.360433 0.258905 0.228340 0.227237 + 337.000000 0.144503 0.149860 0.144931 0.248113 0.250147 0.231091 0.252407 0.254989 0.153623 0.156729 0.136645 0.253216 0.367852 0.355022 0.263328 0.308954 0.322274 0.368846 0.253652 0.234913 0.230663 + 338.000000 0.145448 0.146318 0.144166 0.245164 0.239236 0.236104 0.251738 0.258207 0.154592 0.152631 0.142858 0.244329 0.359161 0.346177 0.265907 0.308402 0.315110 0.374986 0.260823 0.240241 0.237023 + 339.000000 0.146342 0.146658 0.144665 0.246149 0.257530 0.223242 0.247516 0.245379 0.153976 0.155912 0.136023 0.263758 0.352382 0.362650 0.242897 0.298205 0.312000 0.356821 0.254435 0.234913 0.234282 + 340.000000 0.149373 0.149253 0.148744 0.256154 0.248314 0.241709 0.253662 0.266291 0.155098 0.153658 0.141303 0.253542 0.365468 0.349294 0.270794 0.338816 0.323415 0.384402 0.264420 0.217629 0.236100 + 341.000000 0.147792 0.152832 0.140304 0.262939 0.231109 0.230216 0.251821 0.254149 0.160806 0.150159 0.141540 0.255652 0.385555 0.330840 0.247923 0.322874 0.292282 0.365228 0.253392 0.253761 0.237434 + 342.000000 0.144095 0.147889 0.146953 0.253955 0.233691 0.236708 0.254240 0.256794 0.153639 0.161434 0.135980 0.247894 0.385799 0.317343 0.283776 0.309260 0.315465 0.373764 0.264337 0.230289 0.236849 + 343.000000 0.142461 0.145636 0.146740 0.259534 0.235062 0.228766 0.246118 0.251321 0.153706 0.153704 0.137082 0.255628 0.381173 0.316224 0.260681 0.311885 0.321848 0.364297 0.254677 0.227260 0.228918 + 344.000000 0.151579 0.143540 0.141767 0.268976 0.235226 0.228083 0.244564 0.265280 0.157003 0.154360 0.135609 0.245185 0.377168 0.325697 0.241672 0.335627 0.318779 0.365095 0.255195 0.236139 0.241296 + 345.000000 0.146618 0.142724 0.146706 0.255069 0.234988 0.230594 0.250497 0.254854 0.150456 0.155275 0.137807 0.248666 0.372455 0.329865 0.261580 0.319131 0.297355 0.368776 0.255710 0.236609 0.229541 + 346.000000 0.149131 0.141392 0.148232 0.244204 0.246811 0.228495 0.251790 0.258594 0.151462 0.152899 0.134352 0.249282 0.357887 0.347823 0.260449 0.305978 0.312525 0.368194 0.255264 0.235236 0.230312 + 347.000000 0.147046 0.142738 0.147327 0.242018 0.261515 0.219252 0.252072 0.255492 0.153653 0.151992 0.137133 0.249531 0.354334 0.363040 0.247965 0.299144 0.338235 0.359184 0.253785 0.230255 0.234189 + 348.000000 0.149802 0.141242 0.144117 0.246492 0.248558 0.232580 0.253632 0.252457 0.160692 0.153700 0.136194 0.247571 0.354228 0.360587 0.266986 0.302658 0.299108 0.365976 0.261291 0.246116 0.236039 + 349.000000 0.147580 0.150718 0.151729 0.246092 0.251122 0.233068 0.249422 0.261676 0.156381 0.147490 0.134736 0.266104 0.328820 0.376010 0.262146 0.324430 0.312306 0.375050 0.247166 0.231875 0.225719 + 350.000000 0.145144 0.150289 0.144467 0.218870 0.255811 0.232177 0.240983 0.260085 0.154174 0.147871 0.138660 0.258781 0.287988 0.377053 0.250313 0.318019 0.314933 0.366469 0.252048 0.240534 0.230973 + 351.000000 0.149824 0.146611 0.142168 0.243469 0.245250 0.241901 0.259311 0.255270 0.155535 0.150439 0.134694 0.244495 0.333455 0.377032 0.292034 0.335405 0.282231 0.367385 0.255885 0.229508 0.230155 + 352.000000 0.149004 0.148631 0.143906 0.248140 0.247934 0.225265 0.260415 0.252083 0.151440 0.148443 0.137768 0.251653 0.339938 0.379188 0.265956 0.325402 0.293916 0.359089 0.248974 0.231873 0.234200 + 353.000000 0.146632 0.151830 0.142845 0.225753 0.263564 0.225292 0.250824 0.256768 0.155531 0.155342 0.138009 0.256072 0.317752 0.380230 0.246108 0.304682 0.327734 0.362407 0.269274 0.239393 0.231081 + 354.000000 0.151050 0.146670 0.144290 0.232378 0.259290 0.233047 0.248511 0.261239 0.158774 0.152326 0.134396 0.255020 0.327491 0.375906 0.254086 0.301522 0.317664 0.370112 0.253192 0.241671 0.238194 + 355.000000 0.148502 0.149516 0.144133 0.239069 0.258025 0.230908 0.252107 0.260540 0.159035 0.155714 0.136115 0.252529 0.338712 0.377375 0.256227 0.312030 0.320131 0.369476 0.259879 0.236286 0.242443 + 356.000000 0.150007 0.145577 0.146813 0.244178 0.255308 0.230027 0.251011 0.260622 0.157861 0.155079 0.137457 0.254371 0.338572 0.369706 0.256048 0.318397 0.315921 0.368500 0.265993 0.248295 0.226379 + 357.000000 0.148539 0.144191 0.144223 0.239048 0.267153 0.227717 0.257678 0.252098 0.151575 0.157887 0.135981 0.246677 0.323931 0.394382 0.270622 0.322563 0.313153 0.360670 0.257181 0.223876 0.237154 + 358.000000 0.147672 0.143655 0.149671 0.232959 0.258165 0.227288 0.251950 0.261364 0.156928 0.151171 0.141078 0.250404 0.305253 0.384913 0.256723 0.336016 0.308936 0.368354 0.260623 0.223390 0.250053 + 359.000000 0.149664 0.152084 0.149312 0.259563 0.254844 0.235017 0.258607 0.266824 0.165133 0.150070 0.139851 0.255136 0.324724 0.390452 0.282002 0.374306 0.309116 0.368108 0.264703 0.237031 0.227754 + 360.000000 0.150324 0.145427 0.146866 0.251592 0.253900 0.234712 0.257778 0.251755 0.156730 0.153970 0.141259 0.256726 0.326166 0.389592 0.285751 0.344706 0.277131 0.356819 0.246068 0.246352 0.242616 + 361.000000 0.151814 0.141835 0.143831 0.235718 0.270176 0.226946 0.252721 0.260799 0.155877 0.159310 0.137750 0.243942 0.304065 0.392858 0.258996 0.339838 0.318036 0.358210 0.270843 0.230604 0.242398 + 362.000000 0.147100 0.145995 0.152640 0.229050 0.263955 0.219801 0.242997 0.267089 0.155865 0.147004 0.131906 0.260832 0.309403 0.378145 0.238035 0.327241 0.331828 0.363296 0.244014 0.238809 0.225115 + 363.000000 0.149318 0.143287 0.144555 0.254487 0.251811 0.243578 0.253586 0.252822 0.151233 0.152813 0.140708 0.247629 0.339132 0.378994 0.286414 0.325495 0.300448 0.375280 0.244463 0.226642 0.231310 + 364.000000 0.147690 0.144773 0.144503 0.258108 0.251643 0.219278 0.247235 0.253315 0.157908 0.153511 0.135292 0.255640 0.340407 0.363767 0.240912 0.338066 0.309489 0.355533 0.267357 0.231685 0.223279 + 365.000000 0.147866 0.143807 0.145049 0.232840 0.264958 0.226527 0.253670 0.258607 0.148792 0.152408 0.138609 0.243355 0.330859 0.383143 0.257699 0.305032 0.333088 0.366264 0.244820 0.233695 0.233961 + 366.000000 0.150507 0.142127 0.145119 0.231313 0.256838 0.233611 0.244427 0.259725 0.156847 0.151601 0.134412 0.253225 0.339625 0.352024 0.254591 0.288391 0.326670 0.370116 0.262049 0.232252 0.234375 + 367.000000 0.147009 0.146223 0.148450 0.255006 0.261454 0.224628 0.252024 0.259849 0.153142 0.158929 0.137488 0.252916 0.367253 0.360491 0.251243 0.325290 0.339143 0.367286 0.255623 0.229662 0.231616 + 368.000000 0.147401 0.144267 0.148490 0.261769 0.226280 0.229811 0.247392 0.256238 0.159135 0.152761 0.135945 0.255626 0.370273 0.332462 0.253569 0.308940 0.303556 0.367862 0.260349 0.243023 0.234899 + 369.000000 0.149148 0.147254 0.148333 0.250548 0.243504 0.231292 0.261336 0.253057 0.157261 0.153299 0.137724 0.254166 0.375218 0.338034 0.274130 0.305606 0.311776 0.368227 0.274692 0.236339 0.223932 + 370.000000 0.142946 0.142088 0.152321 0.255971 0.245219 0.222575 0.247692 0.256324 0.150335 0.165053 0.135824 0.253432 0.372724 0.344954 0.252945 0.314266 0.319628 0.366950 0.252131 0.237667 0.238284 + 371.000000 0.146090 0.147101 0.155083 0.265901 0.239981 0.229875 0.254007 0.258921 0.158037 0.151500 0.137074 0.263533 0.379327 0.350514 0.263390 0.330867 0.306545 0.374632 0.249125 0.230656 0.234581 + 372.000000 0.148471 0.138713 0.155255 0.242368 0.250041 0.233727 0.253294 0.262757 0.155737 0.151522 0.138261 0.249545 0.353816 0.353049 0.271536 0.310171 0.318093 0.379199 0.262035 0.237761 0.228655 + 373.000000 0.145050 0.146422 0.146235 0.254817 0.251003 0.225435 0.249839 0.249755 0.160070 0.162375 0.137854 0.257280 0.362781 0.362800 0.251186 0.304056 0.313691 0.361062 0.265391 0.232673 0.254041 + 374.000000 0.149725 0.141558 0.144620 0.259142 0.247064 0.226376 0.249053 0.254324 0.155290 0.147682 0.141828 0.250998 0.369016 0.339497 0.244699 0.319994 0.316218 0.364058 0.252305 0.246224 0.221726 + 375.000000 0.148215 0.143523 0.155717 0.253551 0.233996 0.230997 0.255085 0.266210 0.152770 0.154423 0.131237 0.252432 0.355801 0.353966 0.273322 0.327398 0.300466 0.377317 0.260133 0.225900 0.232382 + 376.000000 0.143283 0.148671 0.150350 0.244121 0.251843 0.227921 0.251169 0.250532 0.151657 0.151535 0.138309 0.263102 0.355660 0.362859 0.257547 0.315211 0.305425 0.366793 0.246919 0.232974 0.227053 + 377.000000 0.145704 0.145937 0.145466 0.237147 0.258208 0.227388 0.258162 0.248452 0.155547 0.149484 0.139801 0.250127 0.346360 0.373105 0.266657 0.300145 0.318476 0.363315 0.258474 0.225568 0.233323 + 378.000000 0.148634 0.144321 0.145100 0.227947 0.258819 0.230700 0.241118 0.265378 0.157607 0.155077 0.132316 0.250475 0.323648 0.370110 0.247470 0.297472 0.327962 0.370928 0.252439 0.249175 0.232475 + 379.000000 0.150868 0.143724 0.142878 0.254098 0.257502 0.233709 0.244977 0.254279 0.154651 0.151218 0.140602 0.257127 0.337135 0.367177 0.247478 0.333509 0.308109 0.366924 0.252259 0.228074 0.234829 + 380.000000 0.151984 0.149513 0.145331 0.250466 0.253097 0.224436 0.257525 0.264181 0.160996 0.146950 0.128890 0.249956 0.346087 0.379148 0.258205 0.318951 0.319557 0.363798 0.246004 0.237385 0.230755 + 381.000000 0.151124 0.140727 0.144882 0.244366 0.248803 0.226162 0.246441 0.254321 0.151570 0.154777 0.137302 0.252709 0.342042 0.350826 0.242407 0.321576 0.292053 0.360318 0.263919 0.234202 0.237723 + 382.000000 0.143638 0.142761 0.151041 0.255319 0.243462 0.234093 0.246584 0.263959 0.154859 0.153902 0.142490 0.245858 0.353652 0.360318 0.263062 0.337318 0.314919 0.380339 0.249305 0.237852 0.235423 + 383.000000 0.144281 0.141622 0.152024 0.239712 0.253940 0.222592 0.249099 0.250235 0.156003 0.154448 0.137273 0.257642 0.335281 0.366547 0.253897 0.298045 0.316986 0.363758 0.267307 0.239112 0.225388 + 384.000000 0.151431 0.141171 0.149465 0.238576 0.265674 0.228151 0.256183 0.259253 0.146408 0.152929 0.135178 0.249788 0.345316 0.372661 0.262657 0.297710 0.339734 0.367894 0.249051 0.226345 0.225408 + 385.000000 0.140620 0.141883 0.150732 0.253251 0.238080 0.226733 0.241463 0.254358 0.158621 0.151850 0.136682 0.253207 0.367210 0.337111 0.252919 0.320386 0.300071 0.369596 0.249740 0.237825 0.234133 + 386.000000 0.145074 0.147332 0.144685 0.243089 0.250312 0.227585 0.253906 0.253144 0.154871 0.154862 0.137327 0.249910 0.357748 0.354250 0.262284 0.302229 0.324796 0.364032 0.267021 0.224430 0.235894 + 387.000000 0.154636 0.148360 0.139770 0.264327 0.246903 0.237984 0.256966 0.260410 0.153341 0.159122 0.136380 0.249166 0.385246 0.346046 0.265651 0.318310 0.318665 0.370401 0.246849 0.243385 0.235083 + 388.000000 0.153384 0.151880 0.146022 0.256618 0.242001 0.241526 0.256823 0.263456 0.153956 0.150721 0.138935 0.259273 0.375345 0.342753 0.268865 0.306886 0.329220 0.375332 0.253840 0.231015 0.237497 + 389.000000 0.145117 0.145764 0.146495 0.258671 0.245867 0.226353 0.247875 0.261541 0.158234 0.158095 0.135577 0.246686 0.381753 0.335756 0.253913 0.322910 0.327054 0.368366 0.253022 0.244417 0.233125 + 390.000000 0.145133 0.147361 0.147802 0.265006 0.226553 0.227601 0.252430 0.251217 0.156621 0.159369 0.137552 0.258769 0.384536 0.318072 0.259275 0.315392 0.305679 0.364188 0.272915 0.233082 0.236282 + 391.000000 0.155529 0.149169 0.151566 0.260996 0.240844 0.237357 0.261276 0.272084 0.151198 0.152903 0.132148 0.256489 0.383213 0.331720 0.274847 0.328388 0.328070 0.380321 0.260332 0.225807 0.222801 + 392.000000 0.145479 0.144123 0.151141 0.261187 0.246975 0.226000 0.241773 0.262063 0.157125 0.153455 0.139944 0.259054 0.370610 0.337497 0.238244 0.325370 0.332692 0.371593 0.250626 0.243034 0.229753 + 393.000000 0.141317 0.144178 0.148415 0.256069 0.238442 0.231027 0.250553 0.244740 0.156447 0.151932 0.144219 0.255954 0.374274 0.341201 0.265604 0.304865 0.304356 0.367479 0.253998 0.233860 0.239571 + 394.000000 0.139885 0.145804 0.150618 0.255762 0.226812 0.228915 0.253655 0.252817 0.153234 0.158631 0.134936 0.247610 0.383753 0.325236 0.276991 0.316831 0.295199 0.370120 0.258083 0.232816 0.229977 + 395.000000 0.144197 0.144597 0.147423 0.250938 0.250242 0.227194 0.252532 0.249409 0.154396 0.158682 0.136049 0.253148 0.369356 0.355454 0.265218 0.296626 0.321163 0.361426 0.254702 0.226381 0.243904 + 396.000000 0.147877 0.144034 0.142295 0.247236 0.241959 0.225464 0.244461 0.264970 0.151926 0.152351 0.137532 0.240324 0.363563 0.322822 0.242143 0.310149 0.341811 0.363413 0.260833 0.240780 0.226068 + 397.000000 0.150083 0.150517 0.148451 0.256657 0.230892 0.231112 0.257717 0.256246 0.147682 0.154225 0.136337 0.263301 0.385803 0.316677 0.266877 0.304140 0.310026 0.367153 0.252144 0.231709 0.235676 + 398.000000 0.155588 0.148608 0.147657 0.265817 0.222628 0.248202 0.259583 0.262512 0.146444 0.157729 0.136570 0.260209 0.389623 0.309359 0.285088 0.316257 0.306919 0.381295 0.255102 0.226758 0.232540 + 399.000000 0.154892 0.145721 0.142198 0.259411 0.235456 0.224327 0.256293 0.253048 0.148075 0.154297 0.141103 0.256885 0.379619 0.316973 0.247043 0.301774 0.313008 0.355218 0.260794 0.237280 0.241648 + 400.000000 0.150003 0.145185 0.146855 0.265062 0.242165 0.229326 0.262377 0.260549 0.153233 0.164807 0.134897 0.241617 0.385334 0.339764 0.274357 0.327366 0.326682 0.368147 0.275467 0.228598 0.230528 + 401.000000 0.140677 0.141029 0.148123 0.246097 0.244965 0.220435 0.238232 0.251211 0.160899 0.157351 0.138329 0.254902 0.359244 0.345444 0.236900 0.293730 0.310908 0.361351 0.252293 0.249154 0.250153 + 402.000000 0.159457 0.145595 0.147160 0.264305 0.248321 0.240122 0.265033 0.268331 0.153519 0.148507 0.133501 0.249965 0.387436 0.333933 0.283466 0.320258 0.338388 0.375099 0.259905 0.222706 0.220888 + 403.000000 0.152696 0.145704 0.147448 0.252717 0.235287 0.231796 0.246795 0.267572 0.150627 0.155341 0.134423 0.256752 0.372512 0.315679 0.252753 0.307251 0.325458 0.369496 0.253731 0.233984 0.243574 + 404.000000 0.148160 0.147640 0.139721 0.255040 0.236211 0.240983 0.245744 0.249603 0.154866 0.152771 0.137611 0.257656 0.378894 0.316834 0.268038 0.293159 0.313357 0.366724 0.250175 0.235617 0.234354 + 405.000000 0.149996 0.144388 0.139715 0.254191 0.254375 0.231741 0.256274 0.246497 0.152407 0.160733 0.132878 0.248797 0.382096 0.336124 0.274435 0.288358 0.331581 0.356466 0.260328 0.232879 0.225763 + 406.000000 0.152589 0.148627 0.146632 0.253062 0.234166 0.230402 0.258972 0.265330 0.150607 0.150825 0.139364 0.250114 0.383071 0.319815 0.263888 0.300508 0.336800 0.364159 0.253791 0.241661 0.237669 + 407.000000 0.147589 0.147374 0.146753 0.256023 0.214274 0.238133 0.256180 0.254124 0.146781 0.153400 0.135981 0.254410 0.387607 0.296434 0.284161 0.301435 0.295074 0.370449 0.247997 0.228384 0.238516 + 408.000000 0.149586 0.145778 0.148431 0.265017 0.246996 0.226462 0.255239 0.260221 0.152876 0.149323 0.140693 0.253191 0.380262 0.339944 0.253728 0.328561 0.334346 0.367591 0.250400 0.230792 0.225535 + 409.000000 0.143905 0.148436 0.143413 0.237317 0.240795 0.231988 0.247402 0.255841 0.154090 0.151546 0.143569 0.248096 0.347437 0.347539 0.252347 0.289061 0.326808 0.366713 0.261754 0.232650 0.246490 + 410.000000 0.150098 0.144315 0.138812 0.246758 0.255866 0.233659 0.250887 0.252717 0.156898 0.150657 0.132754 0.246608 0.360715 0.356825 0.263717 0.297075 0.323973 0.363400 0.250599 0.239219 0.220272 + 411.000000 0.141974 0.145995 0.145748 0.255035 0.249369 0.228035 0.246883 0.243425 0.150569 0.163171 0.134677 0.260368 0.370061 0.348010 0.259714 0.307010 0.309334 0.360514 0.253644 0.220605 0.236513 + 412.000000 0.143429 0.144513 0.150849 0.250733 0.230111 0.227257 0.248843 0.261297 0.161043 0.150263 0.135938 0.249017 0.368685 0.329349 0.260125 0.317489 0.305946 0.372209 0.266551 0.237789 0.234722 + 413.000000 0.149244 0.144953 0.145099 0.267985 0.238518 0.227900 0.254779 0.255301 0.152502 0.158993 0.141285 0.250811 0.386098 0.330872 0.255244 0.325946 0.313414 0.365735 0.258381 0.239834 0.235336 + 414.000000 0.147040 0.151715 0.144911 0.248031 0.243394 0.231183 0.248458 0.263684 0.154334 0.148919 0.139926 0.254695 0.363926 0.341489 0.248264 0.316632 0.327588 0.372212 0.253000 0.236450 0.233656 + 415.000000 0.149658 0.143105 0.142886 0.243654 0.252241 0.238063 0.249604 0.258522 0.158720 0.152569 0.132053 0.246154 0.355173 0.356165 0.271625 0.302669 0.318881 0.371803 0.256282 0.231435 0.230365 + 416.000000 0.147999 0.146179 0.142237 0.254116 0.250125 0.222176 0.250414 0.255247 0.149116 0.158064 0.135904 0.248537 0.361612 0.357865 0.244468 0.313152 0.324072 0.358761 0.249580 0.237424 0.232919 + 417.000000 0.145980 0.147414 0.142684 0.247856 0.244923 0.225386 0.255264 0.254468 0.161749 0.151375 0.136047 0.245235 0.370788 0.348721 0.262465 0.299457 0.319684 0.360492 0.262361 0.236728 0.240359 + 418.000000 0.143576 0.144881 0.140834 0.261200 0.233624 0.235522 0.247375 0.243546 0.152006 0.155537 0.136066 0.251892 0.382518 0.317378 0.270942 0.308996 0.303453 0.363460 0.251842 0.225761 0.223330 + 419.000000 0.140398 0.146232 0.140321 0.251745 0.218552 0.231257 0.243400 0.248501 0.153163 0.158671 0.136546 0.247151 0.379067 0.298684 0.261574 0.297760 0.303585 0.362759 0.257573 0.242413 0.233635 + 420.000000 0.144647 0.149999 0.143735 0.262238 0.233369 0.224149 0.255279 0.258948 0.153307 0.154270 0.131185 0.242256 0.393778 0.318929 0.268179 0.328084 0.317362 0.362184 0.247927 0.228397 0.230585 + 421.000000 0.140139 0.145618 0.144656 0.250741 0.239168 0.224688 0.242290 0.248737 0.156205 0.160486 0.133369 0.253334 0.372929 0.319290 0.254978 0.304459 0.314507 0.360497 0.268141 0.230630 0.232371 + 422.000000 0.149460 0.148502 0.139845 0.252164 0.239232 0.225541 0.261762 0.253718 0.150531 0.153184 0.138297 0.241777 0.376705 0.344139 0.261915 0.300449 0.319997 0.358669 0.255343 0.245531 0.227386 + 423.000000 0.150378 0.145232 0.141177 0.254655 0.253020 0.229535 0.249303 0.247308 0.153314 0.150809 0.134568 0.258054 0.358044 0.358196 0.251580 0.302931 0.312373 0.358225 0.247013 0.225705 0.232510 + 424.000000 0.144860 0.147835 0.147420 0.241379 0.258602 0.226095 0.253041 0.258915 0.158086 0.154887 0.133510 0.249827 0.354204 0.370617 0.261368 0.309950 0.329889 0.366438 0.256771 0.249725 0.215092 + 425.000000 0.146067 0.141484 0.145388 0.227798 0.258402 0.234531 0.245586 0.257538 0.150675 0.156139 0.141647 0.246180 0.319857 0.374206 0.257717 0.299535 0.320170 0.373756 0.254875 0.224170 0.251403 + 426.000000 0.142383 0.143356 0.146859 0.243755 0.259060 0.232794 0.253279 0.245817 0.161966 0.153196 0.143129 0.249705 0.338970 0.382833 0.274139 0.320253 0.303735 0.366521 0.257611 0.241221 0.233053 + 427.000000 0.147497 0.147279 0.150416 0.250764 0.250949 0.225896 0.247447 0.266780 0.153792 0.156615 0.136645 0.255367 0.336743 0.370541 0.249260 0.338313 0.318894 0.371040 0.259457 0.236452 0.232707 + 428.000000 0.145252 0.146941 0.147027 0.224757 0.250677 0.227115 0.256011 0.253767 0.149172 0.156157 0.136174 0.250740 0.335714 0.373615 0.265175 0.291647 0.300544 0.365679 0.252132 0.235076 0.245556 + 429.000000 0.146456 0.143269 0.148139 0.242409 0.258870 0.236186 0.249412 0.262450 0.161505 0.154301 0.133785 0.245635 0.343790 0.370707 0.271898 0.323099 0.325279 0.376110 0.262163 0.236280 0.222726 + 430.000000 0.146999 0.144331 0.145951 0.247305 0.259828 0.232637 0.248675 0.243930 0.153458 0.149859 0.143723 0.263066 0.346180 0.368207 0.253493 0.302768 0.312456 0.365558 0.246519 0.226758 0.235974 + 431.000000 0.149897 0.147303 0.145914 0.249080 0.239942 0.233455 0.256839 0.265770 0.149228 0.151136 0.134828 0.243820 0.361884 0.352011 0.268835 0.323783 0.313581 0.374321 0.250762 0.229168 0.230929 + 432.000000 0.147042 0.148531 0.141955 0.259717 0.244354 0.219787 0.250986 0.255332 0.157555 0.158234 0.134807 0.251017 0.365613 0.353148 0.241655 0.327123 0.310756 0.356894 0.265796 0.232496 0.241529 + 433.000000 0.148173 0.144078 0.148263 0.244774 0.251095 0.240073 0.253495 0.252386 0.150628 0.159078 0.136759 0.256552 0.357245 0.356370 0.278235 0.304655 0.305707 0.373984 0.261450 0.227676 0.231281 + 434.000000 0.146301 0.141805 0.144261 0.245444 0.252873 0.235396 0.245986 0.253343 0.155817 0.152568 0.142184 0.249174 0.355866 0.354217 0.258520 0.295514 0.325746 0.371528 0.250583 0.246628 0.230663 + 435.000000 0.146552 0.142492 0.148409 0.247114 0.257129 0.227809 0.252489 0.254032 0.153668 0.151671 0.138954 0.250820 0.352221 0.365087 0.259774 0.308466 0.328679 0.367127 0.254385 0.226017 0.230950 + 436.000000 0.143759 0.139637 0.146895 0.246243 0.248322 0.222501 0.243397 0.253852 0.154744 0.156292 0.133298 0.247705 0.347927 0.360791 0.249274 0.307902 0.308075 0.362090 0.247420 0.238663 0.238010 + 437.000000 0.143279 0.140754 0.153396 0.238651 0.256363 0.229094 0.245161 0.260434 0.161875 0.152669 0.134723 0.252071 0.330809 0.367137 0.260720 0.316406 0.326993 0.374424 0.268669 0.229858 0.225455 + 438.000000 0.146803 0.145770 0.152042 0.247658 0.254751 0.231473 0.255806 0.248826 0.148650 0.150081 0.145345 0.264523 0.343649 0.377532 0.263686 0.321030 0.298197 0.369944 0.242971 0.228458 0.238323 + 439.000000 0.153222 0.144520 0.146255 0.250178 0.258541 0.220755 0.253154 0.269212 0.158671 0.150883 0.138337 0.245944 0.331389 0.376280 0.243923 0.346144 0.323786 0.360451 0.263360 0.245001 0.231663 + 440.000000 0.147815 0.147362 0.146333 0.237450 0.257042 0.231418 0.254159 0.254568 0.161850 0.149230 0.138036 0.255708 0.317225 0.384347 0.266802 0.330870 0.300919 0.363550 0.261201 0.238154 0.233501 + 441.000000 0.152587 0.141047 0.147265 0.252391 0.263458 0.231551 0.252278 0.260471 0.156947 0.155050 0.140009 0.250797 0.327566 0.385911 0.265174 0.342133 0.309993 0.365666 0.254921 0.242142 0.235996 + 442.000000 0.151073 0.142113 0.152748 0.240660 0.257652 0.237812 0.247260 0.267388 0.158225 0.153222 0.134969 0.257279 0.310318 0.379904 0.268828 0.334679 0.310901 0.379014 0.259270 0.231600 0.235045 + 443.000000 0.153561 0.142440 0.150396 0.228466 0.260517 0.234672 0.253407 0.258103 0.158183 0.149986 0.136467 0.260636 0.308615 0.381853 0.264304 0.316838 0.297631 0.368811 0.260539 0.234901 0.239556 + 444.000000 0.157483 0.147199 0.143712 0.234645 0.269126 0.226474 0.258673 0.264275 0.149169 0.152512 0.140559 0.253172 0.312699 0.390923 0.250792 0.320750 0.324940 0.362521 0.257276 0.235699 0.240119 + 445.000000 0.149115 0.148236 0.144795 0.236084 0.259111 0.234241 0.253763 0.252510 0.167078 0.153001 0.136512 0.256288 0.312698 0.386953 0.267846 0.299650 0.308993 0.368039 0.271394 0.239492 0.238741 + 446.000000 0.147291 0.150219 0.145460 0.236102 0.253961 0.241500 0.259600 0.252989 0.161822 0.154216 0.139357 0.253067 0.338008 0.379170 0.284665 0.319905 0.295894 0.372993 0.271016 0.236208 0.235240 + 447.000000 0.149487 0.149189 0.144059 0.248767 0.261227 0.234432 0.254437 0.261213 0.149439 0.157116 0.147776 0.250532 0.340450 0.384759 0.256300 0.340859 0.316503 0.371851 0.247795 0.235421 0.249685 + 448.000000 0.150699 0.152019 0.144691 0.248376 0.262660 0.230851 0.251524 0.263202 0.157393 0.157348 0.138081 0.257374 0.340293 0.379057 0.247996 0.342923 0.317902 0.367373 0.262063 0.233204 0.240194 + 449.000000 0.155121 0.145567 0.149524 0.251931 0.247768 0.233085 0.262027 0.267777 0.161535 0.152860 0.131956 0.249639 0.355336 0.367793 0.272257 0.320628 0.310745 0.374346 0.266774 0.235020 0.238434 + 450.000000 0.148119 0.147009 0.151072 0.245790 0.253296 0.236348 0.257571 0.260633 0.158271 0.152301 0.136328 0.254525 0.360716 0.368860 0.276828 0.307793 0.319189 0.377556 0.252427 0.240026 0.229495 + 451.000000 0.149494 0.141126 0.144117 0.256953 0.262691 0.226970 0.247759 0.254787 0.162623 0.160325 0.137629 0.250079 0.350756 0.368951 0.249034 0.321908 0.324684 0.363317 0.271081 0.244975 0.231079 + 452.000000 0.151060 0.143850 0.149365 0.243607 0.265655 0.234888 0.253494 0.274316 0.154660 0.157755 0.139389 0.239517 0.349484 0.371938 0.263000 0.323142 0.354801 0.381013 0.260955 0.227981 0.241198 + 453.000000 0.152111 0.150364 0.141789 0.245116 0.262856 0.224141 0.258912 0.249957 0.152413 0.156277 0.128242 0.259534 0.368582 0.363260 0.258978 0.278103 0.336566 0.351146 0.253572 0.231122 0.227391 + 454.000000 0.153503 0.147703 0.144113 0.262970 0.248292 0.247606 0.254994 0.257715 0.157644 0.156903 0.140937 0.257487 0.382303 0.332926 0.278123 0.305333 0.337803 0.376620 0.268597 0.233977 0.227798 + 455.000000 0.152791 0.145482 0.140875 0.263721 0.244261 0.238650 0.251850 0.260964 0.156648 0.166825 0.138364 0.246770 0.388272 0.327601 0.265296 0.316133 0.316752 0.372560 0.257582 0.248802 0.248081 + 456.000000 0.146758 0.151409 0.145039 0.262586 0.234499 0.233505 0.261108 0.248248 0.154586 0.160694 0.134398 0.258142 0.386960 0.335556 0.278788 0.315421 0.298916 0.365285 0.270946 0.226659 0.228431 + 457.000000 0.143097 0.148059 0.151294 0.251908 0.240459 0.227091 0.247782 0.257744 0.155918 0.155890 0.138322 0.260571 0.371542 0.340317 0.251979 0.306070 0.321528 0.370403 0.254946 0.242243 0.236396 + 458.000000 0.143325 0.144369 0.148461 0.254529 0.227619 0.229135 0.253305 0.258773 0.154093 0.154996 0.139230 0.242273 0.380164 0.325179 0.268736 0.314068 0.309433 0.371013 0.256694 0.239429 0.240117 + 459.000000 0.145988 0.138215 0.152070 0.262671 0.230068 0.232726 0.241999 0.255440 0.155571 0.154846 0.134875 0.256722 0.378062 0.312792 0.262240 0.316162 0.296668 0.372031 0.252385 0.229503 0.239220 + 460.000000 0.147679 0.144267 0.149337 0.247615 0.236569 0.229470 0.252653 0.253769 0.145716 0.156033 0.139418 0.257699 0.370667 0.326830 0.259874 0.291382 0.316719 0.367273 0.253164 0.239011 0.233279 + 461.000000 0.152340 0.140714 0.141346 0.246319 0.253679 0.227122 0.254312 0.253050 0.147219 0.162564 0.136971 0.244968 0.361949 0.343124 0.256760 0.297627 0.322494 0.359650 0.268150 0.232743 0.237367 + 462.000000 0.149354 0.141548 0.144250 0.256796 0.245957 0.237422 0.248391 0.259952 0.154346 0.147960 0.141998 0.245189 0.368699 0.340420 0.262159 0.317669 0.326743 0.374640 0.247213 0.234253 0.231380 + 463.000000 0.149022 0.142946 0.143153 0.246941 0.242859 0.227449 0.249206 0.249512 0.148596 0.154916 0.135284 0.254159 0.351163 0.351509 0.252015 0.301021 0.297334 0.360176 0.253516 0.228944 0.240292 + 464.000000 0.148554 0.143928 0.146936 0.251865 0.255003 0.226026 0.250833 0.255554 0.155305 0.150685 0.139556 0.254362 0.360998 0.357383 0.248786 0.315983 0.320464 0.365596 0.251068 0.238203 0.231842 + 465.000000 0.152282 0.141131 0.147996 0.257169 0.258152 0.239930 0.252507 0.258979 0.165306 0.158799 0.137266 0.252616 0.364185 0.362512 0.271152 0.306151 0.326104 0.376022 0.269541 0.243590 0.235752 + 466.000000 0.153951 0.145994 0.149756 0.253212 0.248309 0.232692 0.256962 0.269509 0.153097 0.156375 0.139044 0.251607 0.364239 0.357858 0.258343 0.317385 0.325116 0.376633 0.256081 0.240997 0.244177 + 467.000000 0.151002 0.146380 0.148244 0.262701 0.246589 0.226742 0.248331 0.265834 0.157523 0.152571 0.138974 0.256787 0.365016 0.343516 0.239534 0.340552 0.321076 0.370442 0.263470 0.239198 0.228530 + 468.000000 0.144894 0.143937 0.145227 0.242334 0.248463 0.226812 0.255731 0.244048 0.157170 0.151549 0.135481 0.251209 0.348314 0.370488 0.268986 0.294890 0.295018 0.359292 0.253930 0.235568 0.235949 + 469.000000 0.147983 0.143821 0.144750 0.238362 0.250598 0.232606 0.251390 0.254552 0.151515 0.151438 0.140395 0.249469 0.334570 0.369204 0.262010 0.303905 0.308734 0.369310 0.252550 0.239138 0.235004 + 470.000000 0.143016 0.143886 0.148374 0.240033 0.253193 0.229617 0.252877 0.248719 0.161847 0.150089 0.133422 0.251528 0.339496 0.372499 0.273994 0.300226 0.312898 0.365466 0.262967 0.233116 0.220308 + 471.000000 0.143275 0.147500 0.139299 0.229212 0.261241 0.239271 0.254176 0.242498 0.148303 0.157350 0.139125 0.248215 0.337191 0.386571 0.281935 0.292687 0.303081 0.366089 0.239642 0.226399 0.239211 + 472.000000 0.146500 0.148289 0.139757 0.239367 0.241461 0.229651 0.245769 0.255942 0.154877 0.149561 0.135327 0.248945 0.328602 0.355459 0.249767 0.311174 0.309759 0.364447 0.266409 0.227266 0.230261 + 473.000000 0.147285 0.148485 0.139359 0.256791 0.254538 0.224021 0.254240 0.252032 0.160632 0.153124 0.136179 0.246027 0.367713 0.371779 0.252520 0.309603 0.321760 0.357587 0.244200 0.248810 0.234423 + 474.000000 0.150417 0.146292 0.142273 0.241558 0.247550 0.237472 0.251151 0.261264 0.151475 0.156715 0.135000 0.247305 0.348966 0.356651 0.265519 0.309393 0.313071 0.373248 0.259251 0.232578 0.236075 + 475.000000 0.149816 0.149164 0.143999 0.266005 0.243151 0.219926 0.256353 0.254377 0.157938 0.148698 0.136406 0.256385 0.369385 0.358328 0.245271 0.334804 0.302277 0.356946 0.253817 0.238098 0.229541 + 476.000000 0.149626 0.143696 0.147228 0.256838 0.250640 0.232715 0.251300 0.258374 0.154025 0.153562 0.135852 0.253130 0.365767 0.355354 0.261348 0.323927 0.313120 0.370954 0.249617 0.232343 0.230177 + 477.000000 0.149487 0.142594 0.149899 0.232635 0.250989 0.238343 0.245674 0.260687 0.152407 0.154585 0.138252 0.258675 0.331515 0.356983 0.259954 0.303191 0.309790 0.378475 0.263511 0.232673 0.237527 + 478.000000 0.148818 0.141833 0.146831 0.249198 0.265859 0.227480 0.246659 0.257215 0.156991 0.152825 0.136562 0.253254 0.336414 0.379117 0.250369 0.322205 0.326426 0.366168 0.245463 0.235498 0.231520 + 479.000000 0.147291 0.150895 0.147023 0.236321 0.248573 0.226112 0.255709 0.253945 0.149675 0.151015 0.143335 0.260475 0.338404 0.368062 0.251002 0.299292 0.311860 0.366139 0.257771 0.244792 0.232106 + 480.000000 0.144774 0.147663 0.141103 0.242441 0.256222 0.231660 0.260012 0.248681 0.156776 0.155070 0.136632 0.241576 0.352704 0.381881 0.279747 0.305705 0.310839 0.363808 0.252908 0.236301 0.232957 + 481.000000 0.144961 0.148572 0.145460 0.239902 0.249169 0.227937 0.248735 0.254447 0.153128 0.149170 0.141414 0.255273 0.334732 0.360946 0.247608 0.330529 0.304424 0.365725 0.261623 0.223683 0.234454 + 482.000000 0.147176 0.137882 0.151629 0.236023 0.245988 0.230824 0.250696 0.253769 0.154024 0.151653 0.133487 0.248768 0.329407 0.366796 0.272346 0.290048 0.300283 0.369174 0.253932 0.237696 0.231793 + 483.000000 0.151023 0.143476 0.148517 0.232276 0.272436 0.233518 0.262473 0.261495 0.157829 0.146331 0.145861 0.242195 0.334184 0.388740 0.271279 0.299285 0.350093 0.375783 0.255035 0.236754 0.228441 + 484.000000 0.142932 0.142522 0.151390 0.246707 0.261041 0.218825 0.241719 0.255236 0.162961 0.160650 0.136895 0.259573 0.343793 0.370110 0.235642 0.316120 0.319976 0.363272 0.264119 0.244319 0.243339 + 485.000000 0.148556 0.144327 0.147590 0.240147 0.251467 0.232641 0.252586 0.258193 0.155011 0.152757 0.138110 0.251033 0.329628 0.375759 0.266716 0.312225 0.306371 0.371414 0.255701 0.239345 0.236734 + 486.000000 0.147532 0.143757 0.149408 0.242134 0.264212 0.227312 0.253090 0.254639 0.155777 0.153519 0.135337 0.255436 0.345458 0.378977 0.260661 0.304875 0.324412 0.366478 0.249252 0.237811 0.228213 + 487.000000 0.145946 0.148463 0.151382 0.242624 0.245631 0.231899 0.255671 0.264742 0.156921 0.154361 0.134910 0.249652 0.354435 0.366370 0.270439 0.327415 0.303217 0.375532 0.255295 0.237364 0.238006 + 488.000000 0.154288 0.143902 0.142984 0.257829 0.255488 0.225921 0.253020 0.258039 0.152450 0.154090 0.137981 0.252513 0.353274 0.365647 0.244914 0.325388 0.314614 0.361935 0.254495 0.233951 0.238248 + 489.000000 0.144770 0.148281 0.147294 0.248035 0.249986 0.224809 0.263980 0.247685 0.155006 0.155645 0.136143 0.249739 0.358931 0.377466 0.276419 0.321274 0.291722 0.359708 0.259531 0.230607 0.236050 + 490.000000 0.147898 0.141179 0.146545 0.244527 0.252589 0.223486 0.242837 0.259227 0.159089 0.153258 0.133728 0.252018 0.338203 0.363503 0.240552 0.318987 0.308512 0.363631 0.254453 0.235602 0.243266 + 491.000000 0.150108 0.141702 0.146435 0.245935 0.256897 0.233577 0.250494 0.258316 0.154839 0.151656 0.134181 0.250258 0.352568 0.358091 0.263953 0.305785 0.329214 0.370500 0.257090 0.231329 0.221645 + 492.000000 0.149250 0.144815 0.141942 0.256483 0.249000 0.225438 0.255696 0.246695 0.150589 0.156093 0.134552 0.252439 0.378121 0.344616 0.259263 0.299414 0.314891 0.355949 0.249724 0.237589 0.226235 + 493.000000 0.152729 0.141740 0.144005 0.259224 0.241813 0.237513 0.245510 0.265876 0.152290 0.151789 0.143116 0.246550 0.373697 0.314790 0.255070 0.323990 0.329027 0.375996 0.257112 0.236576 0.235528 + 494.000000 0.149347 0.144749 0.145647 0.261254 0.231285 0.231030 0.251461 0.259072 0.152957 0.162048 0.132903 0.250958 0.385202 0.322696 0.262707 0.313103 0.303446 0.367937 0.250232 0.240797 0.241872 + 495.000000 0.148847 0.144702 0.146636 0.259673 0.238921 0.232540 0.255393 0.257746 0.159792 0.159084 0.135903 0.249249 0.381298 0.330793 0.271303 0.311069 0.318773 0.368515 0.274496 0.232932 0.239857 + 496.000000 0.144267 0.143443 0.144668 0.252896 0.240028 0.228372 0.246685 0.254904 0.151680 0.154929 0.143779 0.246880 0.370898 0.332462 0.250034 0.313902 0.315129 0.368179 0.251731 0.245260 0.236101 + 497.000000 0.150766 0.141227 0.147912 0.244370 0.254123 0.240755 0.248396 0.257374 0.150322 0.153446 0.137713 0.255803 0.350640 0.354491 0.267917 0.300459 0.321251 0.376621 0.252497 0.229805 0.228870 + 498.000000 0.150726 0.144296 0.148636 0.251466 0.264604 0.225529 0.256753 0.263135 0.159621 0.157846 0.130203 0.248339 0.353901 0.383647 0.262280 0.323307 0.326846 0.366731 0.253932 0.230165 0.239627 + 499.000000 0.151375 0.142165 0.145687 0.252931 0.251019 0.233066 0.250528 0.260799 0.158535 0.154138 0.142821 0.248852 0.337840 0.368121 0.256096 0.330512 0.308716 0.372115 0.266525 0.240407 0.241496 + 500.000000 0.149204 0.145189 0.146851 0.243615 0.250970 0.233242 0.253349 0.255853 0.160083 0.151795 0.134636 0.252649 0.351452 0.368224 0.266137 0.318504 0.292706 0.367216 0.250926 0.243060 0.236737 + 501.000000 0.153643 0.145819 0.147995 0.228745 0.256482 0.245047 0.260953 0.265428 0.158434 0.152468 0.133142 0.248470 0.332417 0.379495 0.290434 0.296585 0.315063 0.382141 0.259709 0.236695 0.233097 + 502.000000 0.147561 0.152299 0.142383 0.235336 0.264250 0.226684 0.260924 0.243389 0.162224 0.155173 0.134898 0.261257 0.338342 0.389701 0.264780 0.291809 0.308176 0.356240 0.266955 0.234067 0.237774 + 503.000000 0.149462 0.145926 0.144785 0.228747 0.254993 0.237705 0.253115 0.260805 0.151913 0.154150 0.141187 0.247972 0.332463 0.367661 0.265500 0.294590 0.324585 0.376062 0.263074 0.230568 0.243280 + 504.000000 0.147603 0.152994 0.140912 0.246125 0.248755 0.222491 0.255261 0.247645 0.155654 0.149581 0.135899 0.261288 0.366216 0.355274 0.246904 0.294952 0.310140 0.355003 0.252275 0.243505 0.229074 + 505.000000 0.147557 0.141807 0.140467 0.261499 0.239532 0.241545 0.252647 0.255831 0.154325 0.159248 0.133110 0.235496 0.376262 0.341622 0.285842 0.325687 0.308212 0.373052 0.258527 0.224616 0.225064 + 506.000000 0.142977 0.146456 0.147534 0.252610 0.227684 0.231100 0.245376 0.250002 0.154145 0.154922 0.139356 0.260004 0.367489 0.325578 0.255195 0.314477 0.282532 0.368881 0.262026 0.233848 0.240273 + 507.000000 0.149045 0.150703 0.142960 0.257382 0.252720 0.238789 0.255670 0.254551 0.154286 0.154357 0.136168 0.256073 0.377382 0.350614 0.273337 0.307869 0.334394 0.370110 0.253364 0.227726 0.221634 + 508.000000 0.147260 0.146855 0.148252 0.267017 0.224227 0.229919 0.253090 0.260774 0.153431 0.156841 0.138425 0.252124 0.387294 0.320071 0.259722 0.330954 0.301982 0.371485 0.256861 0.235959 0.240216 + 509.000000 0.144501 0.148466 0.149481 0.248543 0.235924 0.222649 0.258166 0.248115 0.154785 0.161002 0.134160 0.259087 0.378414 0.329115 0.265438 0.279294 0.322791 0.356807 0.274606 0.240622 0.231014 + 510.000000 0.155552 0.143512 0.146092 0.268164 0.265062 0.227041 0.262394 0.265460 0.157132 0.152309 0.134027 0.242771 0.390434 0.357772 0.269060 0.328271 0.351256 0.364202 0.246692 0.226435 0.231159 + 511.000000 0.146955 0.145031 0.146210 0.248137 0.234360 0.237809 0.249081 0.248608 0.150326 0.152259 0.142372 0.260241 0.364931 0.327780 0.263768 0.288162 0.309300 0.370294 0.258542 0.237785 0.231441 + 512.000000 0.148473 0.147379 0.149751 0.260475 0.237616 0.233215 0.261188 0.257296 0.149562 0.158889 0.137340 0.252249 0.385339 0.338209 0.276810 0.323543 0.302957 0.372891 0.257160 0.231432 0.231200 + 513.000000 0.147082 0.146948 0.147682 0.260515 0.231134 0.230245 0.254336 0.254966 0.158132 0.158219 0.134375 0.255759 0.385409 0.325425 0.266736 0.308098 0.305807 0.367158 0.265021 0.240339 0.235118 + 514.000000 0.150617 0.143548 0.143684 0.271252 0.238097 0.237972 0.248913 0.250090 0.159827 0.157217 0.138655 0.256973 0.392233 0.311354 0.267256 0.312710 0.308950 0.367747 0.261468 0.238925 0.234535 + 515.000000 0.149449 0.143975 0.147446 0.258770 0.240647 0.224118 0.250894 0.259532 0.151328 0.157013 0.140007 0.253089 0.381536 0.319434 0.250296 0.310228 0.329412 0.362419 0.256249 0.240543 0.241439 + 516.000000 0.145395 0.140774 0.146125 0.252802 0.241728 0.231840 0.248634 0.254652 0.154787 0.157178 0.134862 0.245430 0.375627 0.326428 0.268967 0.300097 0.326767 0.367711 0.259703 0.238708 0.224212 + 517.000000 0.148451 0.145191 0.143926 0.257115 0.237735 0.227505 0.246245 0.252766 0.151580 0.157609 0.137132 0.257881 0.364618 0.337155 0.244728 0.318291 0.294394 0.363117 0.258557 0.229571 0.245639 + 518.000000 0.147630 0.146389 0.144052 0.229556 0.261125 0.227394 0.253312 0.253400 0.153698 0.151063 0.133589 0.251810 0.329494 0.376557 0.259586 0.293330 0.324391 0.362838 0.257565 0.227989 0.228136 + 519.000000 0.144507 0.148415 0.146155 0.227267 0.251517 0.232784 0.247688 0.263164 0.153229 0.154696 0.133950 0.248067 0.323895 0.371940 0.263410 0.308267 0.320248 0.373724 0.258188 0.235907 0.230179 + 520.000000 0.146469 0.144217 0.142493 0.241001 0.261753 0.226650 0.247033 0.255670 0.152169 0.149805 0.142051 0.246298 0.326853 0.378125 0.246680 0.317003 0.328264 0.364619 0.243077 0.233370 0.236106 + 521.000000 0.145421 0.152077 0.148053 0.239863 0.257732 0.227656 0.259319 0.257757 0.154323 0.153930 0.134820 0.254250 0.340115 0.385126 0.269375 0.326128 0.315564 0.366638 0.257199 0.229419 0.228331 + 522.000000 0.140705 0.145094 0.150778 0.230415 0.250084 0.229147 0.250516 0.245677 0.158371 0.151993 0.140095 0.258980 0.304605 0.381370 0.273249 0.316060 0.287008 0.364138 0.266977 0.234065 0.234409 + 523.000000 0.148417 0.143236 0.156012 0.252262 0.263569 0.220752 0.251219 0.271321 0.157236 0.156722 0.135429 0.252435 0.332851 0.389542 0.257399 0.359655 0.322117 0.363518 0.245676 0.245123 0.236686 + 524.000000 0.148153 0.147711 0.147754 0.224747 0.260058 0.239900 0.260614 0.256145 0.161574 0.149036 0.141016 0.250935 0.300659 0.392502 0.287356 0.328511 0.304522 0.371492 0.268970 0.232708 0.233514 + 525.000000 0.145870 0.152207 0.147593 0.227248 0.253349 0.226608 0.258576 0.250698 0.153540 0.152500 0.137704 0.260698 0.304471 0.390203 0.269012 0.307973 0.296036 0.362752 0.263559 0.229535 0.239870 + 526.000000 0.148565 0.142973 0.141661 0.253015 0.257913 0.223315 0.251750 0.256393 0.160197 0.149660 0.139277 0.242018 0.344057 0.374680 0.252490 0.333773 0.317934 0.357178 0.253698 0.250792 0.223899 + 527.000000 0.146505 0.146263 0.147706 0.240183 0.249132 0.230934 0.244146 0.264897 0.158947 0.154088 0.133738 0.251201 0.337755 0.358161 0.251603 0.330198 0.311808 0.373051 0.266330 0.226901 0.238607 + 528.000000 0.148116 0.145712 0.145240 0.249518 0.268878 0.231747 0.248393 0.253508 0.154071 0.159170 0.138562 0.257980 0.347850 0.378900 0.253178 0.314911 0.328996 0.368024 0.249075 0.227925 0.238562 + 529.000000 0.147988 0.147400 0.142182 0.239844 0.247655 0.231286 0.259332 0.249828 0.164094 0.150249 0.134664 0.248303 0.334783 0.377368 0.276880 0.304874 0.292599 0.361815 0.265621 0.246761 0.230778 + 530.000000 0.144342 0.145203 0.147564 0.231860 0.251223 0.235105 0.252936 0.253686 0.152642 0.154176 0.138042 0.249756 0.317625 0.382309 0.277542 0.313360 0.296797 0.372048 0.253990 0.225298 0.243089 + 531.000000 0.149576 0.138648 0.142701 0.228298 0.263810 0.231075 0.249966 0.247661 0.154036 0.149930 0.138772 0.248099 0.315083 0.377909 0.260789 0.304223 0.306300 0.360027 0.256970 0.235556 0.230364 + 532.000000 0.146699 0.147481 0.147426 0.234761 0.262846 0.235237 0.261276 0.254207 0.156423 0.151912 0.138805 0.248848 0.330219 0.390399 0.282956 0.315292 0.318279 0.371918 0.259602 0.226477 0.229504 + 533.000000 0.147766 0.144487 0.144601 0.239120 0.255359 0.231566 0.241318 0.263515 0.161490 0.154841 0.139977 0.250076 0.316013 0.372399 0.246361 0.323028 0.318443 0.371295 0.264724 0.246726 0.241218 + 534.000000 0.147962 0.147761 0.147636 0.240886 0.262866 0.234012 0.251205 0.256639 0.152599 0.155664 0.140570 0.259467 0.325646 0.386272 0.262810 0.321660 0.315357 0.371446 0.251664 0.234593 0.236159 + 535.000000 0.149018 0.144882 0.149784 0.230821 0.267559 0.230642 0.255808 0.261374 0.158797 0.150417 0.132547 0.250759 0.310130 0.392439 0.272100 0.332590 0.322338 0.367031 0.257601 0.226451 0.226325 + 536.000000 0.146189 0.145382 0.146131 0.223693 0.248179 0.238789 0.244534 0.255686 0.157044 0.150877 0.136350 0.256761 0.294319 0.375439 0.269994 0.306633 0.292237 0.372984 0.256919 0.235687 0.238398 + 537.000000 0.153113 0.145885 0.146334 0.235559 0.259556 0.234088 0.259322 0.259531 0.156533 0.151376 0.132175 0.250990 0.318139 0.386675 0.277921 0.309987 0.312827 0.368657 0.262185 0.235088 0.225453 + 538.000000 0.143261 0.149683 0.142715 0.252268 0.249973 0.225688 0.249073 0.247860 0.151242 0.158374 0.141776 0.257017 0.349509 0.369334 0.247906 0.322495 0.304442 0.361434 0.253983 0.231500 0.241332 + 539.000000 0.141347 0.145112 0.148429 0.233122 0.248263 0.225770 0.248540 0.253157 0.162081 0.153001 0.136017 0.251389 0.341474 0.364808 0.258935 0.297421 0.306638 0.366672 0.261550 0.240643 0.240291 + 540.000000 0.145688 0.140953 0.151231 0.243113 0.253222 0.234506 0.243724 0.259710 0.163541 0.157562 0.132734 0.253931 0.338089 0.366570 0.264353 0.303516 0.317978 0.375434 0.265149 0.236103 0.236178 + 541.000000 0.152591 0.145909 0.147958 0.246343 0.258794 0.235026 0.249790 0.268770 0.148282 0.152503 0.140248 0.252869 0.338376 0.370061 0.252242 0.341940 0.321001 0.375717 0.248350 0.228893 0.235752 + 542.000000 0.148074 0.149217 0.150769 0.259300 0.244365 0.222868 0.266555 0.261602 0.147536 0.157987 0.133429 0.245879 0.364547 0.378371 0.278081 0.347100 0.296679 0.364344 0.251767 0.224124 0.232932 + 543.000000 0.138598 0.143856 0.149768 0.231941 0.261111 0.223421 0.243397 0.250543 0.162046 0.154458 0.132528 0.254485 0.322107 0.379421 0.256593 0.303381 0.322768 0.364078 0.259348 0.229938 0.227697 + 544.000000 0.141103 0.141291 0.145380 0.225413 0.255717 0.226477 0.242149 0.257590 0.151637 0.151901 0.141693 0.240170 0.325093 0.368194 0.247934 0.299317 0.328369 0.368811 0.246991 0.235562 0.242411 + 545.000000 0.150400 0.143107 0.143650 0.235995 0.259913 0.230956 0.255358 0.254240 0.153170 0.149872 0.134919 0.247600 0.335805 0.372655 0.265688 0.305738 0.318262 0.364924 0.258013 0.227061 0.226289 + 546.000000 0.147634 0.148126 0.137696 0.239357 0.252701 0.222941 0.256990 0.243145 0.155110 0.147528 0.136000 0.249350 0.336310 0.377219 0.256591 0.294496 0.302881 0.351388 0.251787 0.232790 0.234335 + 547.000000 0.146295 0.146887 0.142781 0.218490 0.258293 0.234275 0.251388 0.254486 0.160333 0.150716 0.134356 0.248994 0.309513 0.379717 0.269370 0.290453 0.316363 0.368294 0.266521 0.238407 0.227565 + 548.000000 0.140378 0.146498 0.148707 0.230401 0.260588 0.238805 0.241579 0.252256 0.165169 0.150387 0.141258 0.260396 0.317185 0.381172 0.264559 0.308199 0.315498 0.377080 0.245986 0.240134 0.233445 + 549.000000 0.151209 0.144690 0.147065 0.236849 0.261490 0.235800 0.257809 0.262110 0.154570 0.149763 0.138393 0.247182 0.326777 0.387067 0.275475 0.322590 0.316698 0.372429 0.247674 0.239736 0.231390 + 550.000000 0.147810 0.145122 0.149852 0.232759 0.260708 0.228510 0.267228 0.243919 0.161470 0.153562 0.134916 0.252339 0.322030 0.393052 0.288549 0.302451 0.298632 0.360398 0.278163 0.225292 0.231624 + 551.000000 0.143412 0.142439 0.151037 0.198761 0.260660 0.236238 0.244328 0.253111 0.163849 0.150847 0.130634 0.255867 0.286439 0.380840 0.272756 0.292067 0.302965 0.370098 0.263009 0.233866 0.229507 + 552.000000 0.140886 0.149948 0.146925 0.217609 0.269279 0.236521 0.241403 0.259912 0.161352 0.154846 0.137396 0.253886 0.299902 0.389991 0.262140 0.291651 0.343140 0.378060 0.247750 0.243520 0.227840 + 553.000000 0.142805 0.145146 0.152673 0.228014 0.254097 0.226580 0.251840 0.259765 0.160009 0.155959 0.130853 0.251098 0.326220 0.380897 0.268808 0.303780 0.310488 0.370674 0.258670 0.233724 0.239768 + 554.000000 0.144607 0.147330 0.147710 0.240586 0.254534 0.224857 0.256759 0.246560 0.156658 0.150592 0.139714 0.257828 0.340779 0.378576 0.261789 0.309582 0.300930 0.361068 0.255845 0.236376 0.234701 + 555.000000 0.154327 0.142563 0.147538 0.245954 0.249940 0.234749 0.254322 0.264937 0.155226 0.148032 0.141441 0.248012 0.324426 0.368165 0.261895 0.322986 0.317160 0.375691 0.267236 0.232311 0.232599 + 556.000000 0.153711 0.141498 0.146888 0.245341 0.258945 0.239927 0.256269 0.251771 0.159442 0.155740 0.133756 0.256726 0.336687 0.381677 0.281763 0.315108 0.287863 0.365395 0.257454 0.244311 0.230345 + 557.000000 0.151319 0.141850 0.149656 0.235589 0.265888 0.236321 0.246574 0.258555 0.156258 0.155587 0.139213 0.259233 0.314865 0.380130 0.257193 0.331948 0.306540 0.369701 0.262274 0.233211 0.238915 + 558.000000 0.144625 0.146513 0.145562 0.214482 0.265422 0.228057 0.257156 0.250075 0.161350 0.151143 0.139378 0.248793 0.297467 0.395032 0.271467 0.295280 0.315450 0.362752 0.265447 0.243202 0.234303 + 559.000000 0.145992 0.142789 0.145852 0.222404 0.255064 0.233891 0.243279 0.254660 0.151531 0.152641 0.133306 0.253702 0.300962 0.375330 0.263463 0.297979 0.306818 0.368933 0.254742 0.230053 0.230612 + 560.000000 0.149855 0.141643 0.154803 0.235909 0.268787 0.232983 0.251485 0.270926 0.148925 0.155434 0.134789 0.250214 0.322865 0.385868 0.268301 0.327841 0.340539 0.379715 0.250335 0.228828 0.223650 + 561.000000 0.143320 0.144338 0.143413 0.233754 0.257038 0.221415 0.246150 0.249124 0.158941 0.155467 0.138945 0.251106 0.322690 0.371869 0.242768 0.313691 0.308553 0.357983 0.271640 0.227736 0.244053 + 562.000000 0.143501 0.148787 0.146374 0.237937 0.246798 0.232052 0.263727 0.249750 0.159967 0.147889 0.138294 0.243832 0.345711 0.381199 0.287862 0.297719 0.300638 0.368342 0.250974 0.240522 0.234671 + 563.000000 0.144284 0.150647 0.144927 0.234282 0.255944 0.234721 0.243477 0.251550 0.150139 0.156746 0.136136 0.261816 0.328925 0.368281 0.255851 0.288192 0.327644 0.369512 0.257423 0.232111 0.223194 + 564.000000 0.141493 0.147041 0.149295 0.249120 0.248157 0.232449 0.242905 0.256920 0.151600 0.157237 0.144926 0.258185 0.356300 0.351318 0.248846 0.320045 0.322188 0.376418 0.252337 0.236970 0.236679 + 565.000000 0.149133 0.141689 0.144705 0.250173 0.257314 0.226225 0.247059 0.261323 0.164162 0.153733 0.133498 0.245615 0.365224 0.352599 0.250602 0.304686 0.335596 0.365005 0.258603 0.247164 0.232370 + 566.000000 0.154882 0.144210 0.150561 0.250822 0.258816 0.235172 0.266243 0.251902 0.149545 0.151250 0.141239 0.258188 0.368681 0.367947 0.276901 0.286243 0.328003 0.367958 0.249781 0.233410 0.233030 + 567.000000 0.149449 0.142384 0.149632 0.263971 0.240665 0.226282 0.248713 0.262064 0.153099 0.153130 0.137388 0.253402 0.369616 0.335923 0.247370 0.339480 0.310656 0.369326 0.258416 0.233469 0.225403 + 568.000000 0.146648 0.146481 0.144422 0.262818 0.242630 0.221927 0.247952 0.260998 0.151186 0.159258 0.132394 0.245200 0.368467 0.350290 0.244682 0.353240 0.296241 0.360697 0.250493 0.222309 0.242656 + 569.000000 0.146887 0.145507 0.143675 0.240783 0.249446 0.226036 0.248705 0.254427 0.152553 0.152691 0.136186 0.251068 0.338976 0.364610 0.252677 0.303820 0.313007 0.362559 0.254751 0.245556 0.223965 + 570.000000 0.143734 0.146190 0.139959 0.236879 0.249969 0.227460 0.251711 0.246078 0.153316 0.149049 0.136935 0.246421 0.335047 0.368576 0.260882 0.301632 0.308700 0.359201 0.256079 0.218164 0.235171 + 571.000000 0.142293 0.146529 0.146533 0.250338 0.259362 0.215507 0.249369 0.257035 0.151541 0.159755 0.131563 0.245521 0.365065 0.369690 0.245447 0.330066 0.323180 0.356634 0.238485 0.235069 0.232981 + 572.000000 0.149185 0.147361 0.145716 0.253593 0.244590 0.235645 0.249693 0.256459 0.153385 0.151068 0.138661 0.258765 0.361813 0.343684 0.258049 0.309223 0.322440 0.371519 0.258217 0.230038 0.227494 + 573.000000 0.144556 0.149152 0.143118 0.255471 0.241737 0.235325 0.250183 0.248556 0.154451 0.166038 0.135857 0.257505 0.381223 0.337925 0.269880 0.296382 0.313165 0.364793 0.256086 0.233144 0.248328 + 574.000000 0.146025 0.146860 0.144903 0.261639 0.237741 0.227916 0.250189 0.251628 0.156274 0.155781 0.139029 0.256293 0.381417 0.323470 0.253175 0.311670 0.319959 0.364124 0.264958 0.242767 0.222119 + 575.000000 0.146221 0.147015 0.149517 0.248602 0.239590 0.226439 0.252372 0.261853 0.152144 0.153088 0.136127 0.252210 0.375904 0.326699 0.261261 0.300494 0.336405 0.365635 0.255980 0.234627 0.234035 + 576.000000 0.148282 0.142610 0.146396 0.262421 0.232660 0.231386 0.250835 0.259835 0.154150 0.160002 0.127961 0.246622 0.386179 0.310662 0.274323 0.315315 0.322886 0.365100 0.262403 0.222385 0.233368 + 577.000000 0.146171 0.141284 0.149914 0.253109 0.239389 0.234096 0.244667 0.258630 0.155452 0.151055 0.139327 0.253478 0.376340 0.319943 0.261570 0.302341 0.321523 0.374931 0.246832 0.247295 0.227846 + 578.000000 0.143971 0.148765 0.147845 0.247340 0.252198 0.218607 0.251791 0.255050 0.151657 0.156758 0.136184 0.254867 0.365893 0.349962 0.246947 0.298428 0.344009 0.356126 0.258845 0.227910 0.235312 + 579.000000 0.146360 0.146151 0.146752 0.254258 0.244285 0.217803 0.257728 0.257918 0.152158 0.156093 0.135436 0.244206 0.383166 0.338742 0.257589 0.310926 0.326168 0.358174 0.252367 0.238309 0.237645 + 580.000000 0.151034 0.143303 0.148786 0.271506 0.237029 0.233460 0.254561 0.254581 0.150515 0.158780 0.143254 0.257944 0.389671 0.319125 0.262681 0.322842 0.316906 0.369957 0.257105 0.232477 0.238779 + 581.000000 0.147460 0.149893 0.147683 0.270033 0.223450 0.233669 0.261937 0.252885 0.157034 0.157154 0.137249 0.255805 0.404491 0.308633 0.281703 0.311195 0.314389 0.366379 0.260828 0.239689 0.231707 + 582.000000 0.146363 0.147097 0.143926 0.248721 0.230710 0.232093 0.249111 0.253432 0.150024 0.153218 0.135655 0.254486 0.373986 0.313072 0.265003 0.291279 0.321668 0.361736 0.257061 0.228953 0.235274 + 583.000000 0.146794 0.147910 0.149046 0.260469 0.240013 0.226510 0.255164 0.266111 0.153808 0.155067 0.134188 0.245984 0.386561 0.337042 0.263649 0.327180 0.329304 0.369553 0.246444 0.233157 0.237402 + 584.000000 0.147951 0.145240 0.144601 0.247178 0.252262 0.231446 0.253369 0.249229 0.156576 0.154883 0.139410 0.254877 0.371260 0.346881 0.265138 0.289100 0.317945 0.364242 0.257473 0.239425 0.239365 + 585.000000 0.151292 0.148770 0.146579 0.247558 0.246821 0.236860 0.258979 0.262523 0.151050 0.154752 0.135399 0.251279 0.370382 0.351163 0.273856 0.311211 0.314526 0.375380 0.252771 0.236587 0.230851 + 586.000000 0.146700 0.147262 0.144258 0.253912 0.236603 0.232435 0.241619 0.263007 0.152273 0.157235 0.137980 0.252461 0.354398 0.341276 0.244561 0.334844 0.302598 0.372966 0.258899 0.224712 0.248597 + 587.000000 0.148681 0.149337 0.138932 0.260634 0.239527 0.221502 0.257044 0.249898 0.156246 0.151081 0.135017 0.249740 0.365309 0.351577 0.251824 0.325379 0.302178 0.353489 0.265714 0.234914 0.221406 + 588.000000 0.152492 0.145228 0.146366 0.249363 0.234122 0.241418 0.260680 0.263039 0.151849 0.156114 0.131012 0.245194 0.363830 0.352900 0.289130 0.316185 0.287056 0.376602 0.253359 0.234564 0.233063 + 589.000000 0.151234 0.144448 0.138672 0.250439 0.257699 0.231359 0.243385 0.257129 0.157419 0.152471 0.137180 0.250252 0.338347 0.364539 0.241646 0.327050 0.315406 0.364436 0.256022 0.224220 0.242956 + 590.000000 0.146428 0.145893 0.144803 0.248099 0.260114 0.232808 0.257010 0.245656 0.155293 0.159428 0.135930 0.254052 0.366172 0.367398 0.274916 0.296409 0.318732 0.363832 0.259696 0.237203 0.223213 + 591.000000 0.151515 0.147366 0.146632 0.249127 0.239292 0.235887 0.257935 0.258149 0.147600 0.153300 0.146291 0.255022 0.366095 0.340416 0.262432 0.301183 0.318106 0.372727 0.259261 0.234146 0.246134 + 592.000000 0.145977 0.148825 0.149668 0.251133 0.238465 0.234772 0.247250 0.254907 0.157861 0.154398 0.138473 0.266985 0.369601 0.333593 0.259118 0.298973 0.311580 0.372349 0.262114 0.235368 0.240252 + 593.000000 0.147782 0.142255 0.144850 0.253019 0.251286 0.239546 0.259653 0.247808 0.154989 0.160455 0.139042 0.244753 0.375570 0.355557 0.289519 0.300418 0.309113 0.370264 0.260905 0.234267 0.235688 + 594.000000 0.151588 0.146351 0.145931 0.246573 0.246853 0.221420 0.254827 0.261841 0.156802 0.147657 0.136536 0.250740 0.352210 0.358046 0.243921 0.304069 0.322768 0.361873 0.257604 0.243091 0.233965 + 595.000000 0.145889 0.148912 0.143102 0.253609 0.256216 0.225344 0.250339 0.254128 0.153847 0.158064 0.135020 0.253682 0.363531 0.364721 0.250407 0.320845 0.320928 0.362115 0.250027 0.230185 0.236151 + 596.000000 0.148062 0.145016 0.143904 0.252528 0.244541 0.236174 0.257430 0.243465 0.151444 0.154621 0.141887 0.253765 0.368693 0.354517 0.273614 0.309926 0.282440 0.365424 0.252741 0.232797 0.240829 + 597.000000 0.145491 0.144082 0.149577 0.240603 0.243474 0.226480 0.254906 0.260911 0.159785 0.153797 0.135928 0.243951 0.357460 0.350194 0.265103 0.300689 0.320864 0.370019 0.270668 0.244305 0.231483 + 598.000000 0.143558 0.147514 0.141712 0.243858 0.255965 0.228062 0.247353 0.253425 0.151520 0.156365 0.136450 0.247156 0.355597 0.360806 0.253690 0.300560 0.337384 0.363225 0.249578 0.232478 0.229013 + 599.000000 0.144718 0.144970 0.146797 0.247061 0.244189 0.228143 0.250846 0.248275 0.152370 0.151671 0.135423 0.256593 0.363134 0.347778 0.261732 0.294034 0.312343 0.362758 0.251593 0.231188 0.228901 + 600.000000 0.149362 0.142915 0.145441 0.251033 0.244228 0.232017 0.249039 0.264239 0.149890 0.152602 0.134139 0.243940 0.360046 0.343938 0.259657 0.326938 0.317207 0.372196 0.252461 0.224046 0.231816 + 601.000000 0.145514 0.143347 0.147077 0.250162 0.249542 0.229677 0.255075 0.247721 0.153934 0.153678 0.138284 0.251860 0.363714 0.362842 0.268815 0.305734 0.302637 0.365039 0.248922 0.234282 0.235887 + 602.000000 0.149768 0.143960 0.155464 0.239574 0.262524 0.230607 0.260080 0.259876 0.156247 0.156740 0.137059 0.257605 0.347248 0.377970 0.271928 0.307231 0.321805 0.374244 0.265852 0.238351 0.231387 + 603.000000 0.157394 0.141475 0.138867 0.242629 0.251115 0.243859 0.255193 0.258915 0.153570 0.153218 0.140222 0.244079 0.330410 0.369188 0.271865 0.314860 0.296848 0.373015 0.262043 0.236204 0.243003 + 604.000000 0.152260 0.150106 0.144256 0.237702 0.266149 0.217913 0.256936 0.255956 0.151555 0.150588 0.134482 0.259531 0.323715 0.386612 0.243321 0.311715 0.324110 0.354418 0.254650 0.230677 0.230826 + 605.000000 0.150643 0.148441 0.142672 0.223801 0.258842 0.235112 0.259834 0.254882 0.153588 0.149673 0.135488 0.250112 0.320505 0.386316 0.276147 0.304282 0.304090 0.364707 0.252221 0.240318 0.230114 + 606.000000 0.142861 0.144071 0.141461 0.245031 0.253846 0.240005 0.243515 0.254267 0.160891 0.154224 0.134706 0.243441 0.326013 0.375465 0.277401 0.331455 0.310516 0.371586 0.257921 0.228743 0.222016 + 607.000000 0.140536 0.148698 0.142061 0.233686 0.256470 0.224013 0.251601 0.245104 0.152021 0.151997 0.144090 0.249122 0.320614 0.388576 0.262937 0.309113 0.305027 0.356737 0.240546 0.248675 0.236901 + 608.000000 0.144400 0.147875 0.145086 0.239533 0.255015 0.224641 0.254181 0.253844 0.153196 0.154386 0.136171 0.248097 0.328417 0.378554 0.261245 0.339302 0.303818 0.358141 0.265320 0.222293 0.230075 + 609.000000 0.142266 0.148409 0.145411 0.233509 0.247856 0.223615 0.249621 0.254548 0.156490 0.151407 0.134124 0.250641 0.333190 0.377507 0.257387 0.313811 0.296408 0.360119 0.238471 0.245618 0.239580 + 610.000000 0.150589 0.147390 0.140105 0.251498 0.265094 0.237958 0.249916 0.258931 0.157261 0.156480 0.139340 0.248772 0.332568 0.385921 0.263249 0.333991 0.323049 0.370983 0.252799 0.232414 0.236505 + 611.000000 0.150102 0.150676 0.146424 0.248055 0.244124 0.231597 0.255861 0.258137 0.152345 0.150984 0.139599 0.260146 0.343518 0.368967 0.260549 0.323707 0.296081 0.368747 0.254678 0.240362 0.233481 + 612.000000 0.149276 0.149426 0.145106 0.234694 0.257609 0.229340 0.258567 0.259795 0.154524 0.155871 0.137933 0.250061 0.339263 0.378827 0.261909 0.307563 0.318467 0.368463 0.262614 0.235590 0.242235 + 613.000000 0.151651 0.148494 0.147579 0.247966 0.267272 0.236490 0.249870 0.261645 0.157025 0.156653 0.138143 0.259162 0.355630 0.372035 0.254798 0.328119 0.321450 0.373837 0.250318 0.239194 0.235652 + 614.000000 0.153285 0.149707 0.155756 0.251549 0.249841 0.234961 0.258530 0.272267 0.153210 0.154000 0.138921 0.263592 0.355144 0.368042 0.262430 0.330654 0.317562 0.383745 0.257011 0.233458 0.241579 + 615.000000 0.150406 0.148290 0.145632 0.250917 0.243204 0.239986 0.264057 0.252167 0.156349 0.156767 0.138692 0.253088 0.365116 0.364374 0.287131 0.306396 0.293074 0.372216 0.264269 0.243228 0.233120 + 616.000000 0.151512 0.149932 0.148728 0.259669 0.241622 0.228938 0.262421 0.261176 0.156292 0.153697 0.136034 0.256053 0.378789 0.355098 0.264992 0.322642 0.304422 0.369674 0.255856 0.240803 0.236618 + 617.000000 0.148253 0.141799 0.147159 0.255509 0.256596 0.231116 0.246202 0.258054 0.158252 0.156621 0.135334 0.251782 0.365561 0.348034 0.256552 0.321865 0.325463 0.369960 0.261261 0.229987 0.230627 + 618.000000 0.142755 0.143027 0.144895 0.250013 0.239426 0.235182 0.245999 0.245395 0.150035 0.159994 0.145243 0.254135 0.360673 0.346392 0.260409 0.301216 0.296141 0.369856 0.253414 0.238618 0.247016 + 619.000000 0.153135 0.140956 0.150967 0.258410 0.225569 0.231162 0.247874 0.271198 0.150383 0.145522 0.138925 0.251543 0.362790 0.324315 0.247406 0.332413 0.303279 0.377481 0.251027 0.242403 0.226942 + 620.000000 0.150168 0.141676 0.150207 0.267626 0.247698 0.227692 0.251805 0.253150 0.150802 0.157003 0.136637 0.259237 0.379633 0.334663 0.257052 0.326846 0.314904 0.365510 0.255103 0.221130 0.231421 + 621.000000 0.146775 0.142883 0.144067 0.255370 0.243092 0.231155 0.243923 0.262369 0.158951 0.159352 0.137933 0.243821 0.374579 0.327189 0.255125 0.315035 0.328403 0.369327 0.262321 0.240271 0.245565 + 622.000000 0.150087 0.150775 0.145922 0.255802 0.227451 0.238582 0.265077 0.259817 0.148077 0.158538 0.138134 0.248305 0.390777 0.320736 0.285757 0.308964 0.308266 0.375665 0.256675 0.240583 0.229580 + 623.000000 0.153264 0.150913 0.146959 0.265124 0.248191 0.236590 0.254126 0.258896 0.155372 0.147396 0.141059 0.266956 0.380874 0.343122 0.256799 0.315044 0.328151 0.371291 0.244857 0.231934 0.234643 + 624.000000 0.146538 0.143382 0.142817 0.241607 0.248331 0.234969 0.244449 0.251405 0.158291 0.163906 0.134126 0.251429 0.363531 0.338276 0.263547 0.288902 0.304894 0.367293 0.264882 0.243459 0.243317 + 625.000000 0.150153 0.149006 0.142334 0.253561 0.258354 0.230971 0.264967 0.253060 0.153203 0.152537 0.141205 0.246443 0.372795 0.370996 0.271557 0.313722 0.325131 0.365602 0.251497 0.236016 0.229785 + 626.000000 0.146291 0.151114 0.145118 0.244102 0.246225 0.232528 0.259052 0.250721 0.154406 0.150991 0.139324 0.256528 0.355041 0.362644 0.270342 0.312750 0.302160 0.366918 0.262792 0.238401 0.222063 + 627.000000 0.149449 0.141673 0.152050 0.252092 0.244173 0.235670 0.243057 0.271490 0.157227 0.155480 0.136893 0.251965 0.351764 0.353698 0.253958 0.325964 0.317231 0.382835 0.250691 0.241668 0.242855 + 628.000000 0.152556 0.146898 0.146127 0.257079 0.251235 0.225753 0.261506 0.253526 0.147217 0.162284 0.132288 0.256238 0.375863 0.357126 0.263385 0.313486 0.305335 0.360345 0.254897 0.227445 0.239237 + 629.000000 0.149595 0.142090 0.144563 0.258192 0.234120 0.221671 0.246635 0.263451 0.157733 0.156416 0.137112 0.243757 0.368963 0.324522 0.238831 0.331276 0.303240 0.363046 0.270942 0.240424 0.243119 + 630.000000 0.158596 0.143173 0.144855 0.265182 0.248557 0.238687 0.265204 0.256016 0.158391 0.149479 0.134299 0.251781 0.384181 0.353073 0.279994 0.302758 0.314949 0.368470 0.252590 0.244843 0.221759 + 631.000000 0.150100 0.145915 0.147537 0.244178 0.265780 0.236963 0.255247 0.254390 0.150690 0.169774 0.134135 0.257595 0.360575 0.361359 0.274615 0.286827 0.345764 0.368136 0.275739 0.221991 0.236951 + 632.000000 0.146537 0.147188 0.145456 0.259179 0.224724 0.232016 0.246868 0.263481 0.152488 0.161962 0.138185 0.248654 0.378155 0.316964 0.254006 0.329816 0.296770 0.373493 0.260400 0.238165 0.248429 + 633.000000 0.147546 0.146869 0.149909 0.271755 0.221434 0.218141 0.258164 0.258575 0.153463 0.149858 0.137570 0.252641 0.389334 0.325419 0.250177 0.338852 0.296350 0.362138 0.255035 0.237881 0.227711 + 634.000000 0.150255 0.143236 0.144373 0.252205 0.242966 0.235610 0.249846 0.254543 0.150630 0.158983 0.135119 0.253709 0.370489 0.337831 0.264582 0.298804 0.309601 0.368513 0.250814 0.235622 0.239294 + 635.000000 0.150542 0.142755 0.149057 0.261532 0.240482 0.225219 0.251292 0.264457 0.156444 0.150044 0.135762 0.248527 0.384800 0.309764 0.257816 0.321847 0.333617 0.367122 0.263643 0.236275 0.221775 + 636.000000 0.150069 0.146169 0.139288 0.258567 0.240471 0.223275 0.256501 0.245498 0.148816 0.152391 0.136863 0.251975 0.383332 0.330246 0.254070 0.294700 0.317073 0.350612 0.246356 0.240466 0.227790 + 637.000000 0.147246 0.142670 0.142584 0.245884 0.236997 0.241339 0.245277 0.257095 0.146505 0.154543 0.141115 0.246288 0.367534 0.325425 0.270545 0.295935 0.318926 0.372894 0.238539 0.231743 0.247689 + 638.000000 0.153399 0.141083 0.137762 0.262586 0.243429 0.238112 0.245434 0.250611 0.156668 0.156736 0.134430 0.251005 0.380717 0.309243 0.264466 0.297838 0.324289 0.360667 0.263633 0.234455 0.229993 + 639.000000 0.148823 0.148099 0.143981 0.255621 0.243272 0.232587 0.255061 0.256610 0.147218 0.155381 0.138697 0.251900 0.381309 0.326616 0.267132 0.308503 0.332762 0.366087 0.251693 0.228253 0.231509 + 640.000000 0.147017 0.142698 0.144036 0.256448 0.251920 0.221827 0.240244 0.254627 0.153551 0.156334 0.135402 0.255242 0.364994 0.340414 0.234139 0.309864 0.329938 0.357647 0.248241 0.232876 0.239476 + 641.000000 0.149745 0.147321 0.144950 0.251675 0.244284 0.229578 0.256070 0.255102 0.154820 0.152138 0.139802 0.254398 0.363363 0.349345 0.257488 0.311191 0.311926 0.366633 0.264387 0.245745 0.222455 + 642.000000 0.147919 0.145666 0.141838 0.250192 0.256584 0.223864 0.253144 0.251279 0.153921 0.150737 0.134276 0.249344 0.355506 0.363687 0.253663 0.309103 0.327523 0.356926 0.253570 0.219146 0.230452 + 643.000000 0.143972 0.143636 0.142132 0.244171 0.245601 0.229163 0.239854 0.254035 0.153094 0.154317 0.140887 0.248373 0.336631 0.353798 0.244255 0.310498 0.315970 0.366496 0.258863 0.243656 0.228330 + 644.000000 0.147198 0.142152 0.149223 0.241703 0.252129 0.227611 0.246161 0.255344 0.154335 0.153667 0.138492 0.256279 0.338497 0.363797 0.248172 0.297603 0.316927 0.367466 0.255491 0.231791 0.244454 + 645.000000 0.148110 0.147214 0.144739 0.248416 0.259587 0.236877 0.252314 0.255732 0.158600 0.154592 0.141444 0.254010 0.352520 0.371117 0.264360 0.316866 0.321495 0.372988 0.258330 0.245319 0.226546 + 646.000000 0.143167 0.141788 0.145807 0.243622 0.250671 0.230504 0.242223 0.251146 0.161923 0.155564 0.142518 0.252558 0.336573 0.364792 0.250312 0.311896 0.303180 0.368674 0.262865 0.244614 0.245038 + 647.000000 0.147151 0.143594 0.147561 0.238033 0.260805 0.226722 0.250343 0.255812 0.150662 0.160040 0.132473 0.252060 0.331794 0.372821 0.258484 0.306336 0.327870 0.365206 0.268548 0.219520 0.230779 + 648.000000 0.147201 0.144306 0.150268 0.229936 0.252198 0.230731 0.249619 0.256005 0.151838 0.152417 0.136111 0.259414 0.331316 0.365720 0.258842 0.296041 0.308511 0.370690 0.257266 0.229678 0.237611 + 649.000000 0.147910 0.141279 0.152063 0.256164 0.258446 0.221364 0.253141 0.261801 0.156630 0.157163 0.137321 0.248428 0.354228 0.375413 0.252880 0.329308 0.325064 0.367306 0.254069 0.237026 0.239744 + 650.000000 0.150481 0.139911 0.149378 0.265087 0.250912 0.216365 0.246283 0.260761 0.154174 0.154222 0.138367 0.254513 0.352916 0.350581 0.229117 0.348791 0.317208 0.360148 0.263844 0.225902 0.232262 + 651.000000 0.146335 0.147084 0.145692 0.233524 0.263418 0.238648 0.258703 0.251575 0.156820 0.154864 0.142959 0.250087 0.340495 0.384014 0.280221 0.298509 0.320493 0.373894 0.260213 0.243074 0.230411 + 652.000000 0.146146 0.151069 0.148540 0.226478 0.255838 0.234769 0.248849 0.262116 0.160515 0.150610 0.136681 0.260370 0.312809 0.379423 0.259644 0.311493 0.316695 0.376265 0.261494 0.231340 0.238065 + 653.000000 0.145706 0.156843 0.142329 0.246737 0.253250 0.224248 0.252866 0.261304 0.156511 0.158167 0.132402 0.254319 0.336681 0.381497 0.254407 0.341599 0.312960 0.359199 0.263666 0.236232 0.228887 + 654.000000 0.150491 0.146683 0.141005 0.263931 0.250378 0.230138 0.250372 0.262655 0.154407 0.150100 0.146345 0.244671 0.351030 0.366781 0.245244 0.352285 0.317052 0.367837 0.248923 0.236700 0.239247 + 655.000000 0.149027 0.148478 0.142657 0.257684 0.242718 0.232872 0.254033 0.256014 0.157265 0.154772 0.136010 0.252103 0.360871 0.365414 0.263219 0.331214 0.289271 0.367079 0.251272 0.233956 0.244249 + 656.000000 0.151340 0.148336 0.147074 0.256534 0.250161 0.234198 0.254960 0.261325 0.152743 0.151328 0.136412 0.256850 0.373888 0.351743 0.262316 0.320697 0.319082 0.373185 0.244823 0.235278 0.228340 + 657.000000 0.146653 0.143760 0.144621 0.255564 0.246740 0.221702 0.261172 0.248714 0.152178 0.157722 0.137778 0.242160 0.382715 0.346649 0.268444 0.305595 0.313856 0.357063 0.256310 0.235269 0.239310 + 658.000000 0.146401 0.147642 0.144097 0.256186 0.232626 0.222854 0.256514 0.251029 0.155563 0.158486 0.141599 0.250664 0.373597 0.340302 0.251772 0.306404 0.302645 0.360245 0.268994 0.249715 0.239289 + 659.000000 0.151349 0.147943 0.143492 0.256634 0.245656 0.243357 0.253396 0.254895 0.154072 0.150276 0.136251 0.258070 0.369174 0.352363 0.274469 0.309922 0.309231 0.374294 0.245691 0.228541 0.229021 + 660.000000 0.149944 0.146933 0.144002 0.246238 0.229513 0.236761 0.248519 0.261788 0.154257 0.153524 0.139892 0.251529 0.367888 0.314106 0.259883 0.305544 0.304416 0.374560 0.266396 0.239806 0.242138 + 661.000000 0.143943 0.149209 0.140802 0.258794 0.222420 0.224933 0.259146 0.247985 0.155743 0.153582 0.136164 0.241374 0.394280 0.309676 0.275742 0.310406 0.291209 0.357280 0.261066 0.233312 0.241426 + 662.000000 0.144708 0.147781 0.147816 0.256494 0.244577 0.235172 0.248713 0.254062 0.155307 0.167408 0.133431 0.258491 0.379136 0.336318 0.269932 0.313861 0.306901 0.371688 0.264310 0.229697 0.240072 + 663.000000 0.148788 0.145685 0.147461 0.245400 0.258548 0.229684 0.253437 0.252992 0.150889 0.152352 0.141706 0.258718 0.351569 0.368845 0.254669 0.305810 0.319458 0.367893 0.248347 0.238316 0.232665 + 664.000000 0.147886 0.143801 0.143876 0.241650 0.252428 0.228212 0.250762 0.256057 0.157005 0.155830 0.139243 0.246620 0.331904 0.374538 0.255238 0.311701 0.307769 0.365952 0.261172 0.236785 0.248184 + 665.000000 0.151303 0.145497 0.140952 0.238913 0.262279 0.227120 0.254399 0.257970 0.160342 0.152535 0.133233 0.245132 0.340677 0.372206 0.256024 0.312823 0.323435 0.360710 0.267467 0.241658 0.224422 + 666.000000 0.150644 0.146454 0.144448 0.236317 0.249425 0.242060 0.253177 0.254941 0.151196 0.152632 0.137416 0.256155 0.342965 0.360198 0.273557 0.291540 0.310705 0.374242 0.258175 0.225151 0.237538 + 667.000000 0.147040 0.145911 0.146617 0.248866 0.235002 0.235203 0.253919 0.257255 0.153814 0.153174 0.133850 0.250049 0.362110 0.344780 0.274189 0.310951 0.301383 0.372370 0.260557 0.234555 0.225188 + 668.000000 0.144570 0.149467 0.150685 0.252487 0.238358 0.229153 0.246563 0.254902 0.149949 0.157327 0.132544 0.267999 0.370748 0.336589 0.254513 0.303284 0.313619 0.368268 0.247860 0.231509 0.229841 + 669.000000 0.145830 0.145259 0.143923 0.257364 0.253949 0.230041 0.249533 0.255883 0.153382 0.154798 0.141618 0.247252 0.371631 0.347110 0.254786 0.326364 0.330779 0.368711 0.252224 0.234472 0.225635 + 670.000000 0.151105 0.150458 0.147327 0.245053 0.254086 0.223252 0.257214 0.260719 0.152103 0.155227 0.132131 0.259156 0.363938 0.356362 0.252905 0.297835 0.333793 0.361239 0.259064 0.228480 0.236736 + 671.000000 0.148665 0.149344 0.146625 0.247691 0.248753 0.239394 0.252583 0.253803 0.152810 0.158630 0.138662 0.262827 0.368720 0.349165 0.268395 0.299035 0.309245 0.374251 0.255278 0.239421 0.235967 + 672.000000 0.151907 0.149265 0.142010 0.266566 0.245329 0.233731 0.259846 0.254914 0.165698 0.149352 0.137430 0.250957 0.385732 0.345990 0.268426 0.306457 0.331785 0.361720 0.266844 0.236476 0.231480 + 673.000000 0.143617 0.151805 0.146432 0.248375 0.246674 0.233908 0.250122 0.253139 0.155714 0.164256 0.133605 0.260744 0.382894 0.329529 0.270405 0.292236 0.323213 0.369523 0.257861 0.243074 0.230151 + 674.000000 0.146455 0.144110 0.146828 0.260021 0.224669 0.238374 0.250718 0.258907 0.151533 0.164038 0.135640 0.247486 0.381308 0.309719 0.277389 0.316264 0.313107 0.373506 0.270069 0.223118 0.243146 + 675.000000 0.148498 0.150157 0.144027 0.256665 0.224672 0.235163 0.251713 0.258972 0.154610 0.159880 0.133715 0.255413 0.387531 0.305700 0.267572 0.304203 0.307808 0.369759 0.257347 0.243506 0.237324 + 676.000000 0.147871 0.145722 0.151688 0.263704 0.228192 0.246415 0.250450 0.255957 0.156316 0.155664 0.140589 0.264369 0.387911 0.309684 0.283610 0.307112 0.310321 0.380544 0.259815 0.230273 0.238835 + 677.000000 0.155965 0.147766 0.151872 0.259615 0.249524 0.229606 0.265073 0.264485 0.152890 0.163361 0.136731 0.259445 0.390988 0.326180 0.270848 0.302823 0.344482 0.368186 0.274751 0.240314 0.233504 + 678.000000 0.158776 0.146851 0.150377 0.272081 0.250581 0.221827 0.251975 0.277712 0.148502 0.156069 0.142126 0.257735 0.383754 0.325323 0.232754 0.340370 0.358960 0.360305 0.249460 0.233078 0.251602 + 679.000000 0.151386 0.141832 0.147405 0.267077 0.244446 0.225466 0.253805 0.254296 0.155505 0.155003 0.141635 0.254724 0.388164 0.322931 0.253791 0.310029 0.329588 0.361121 0.259443 0.243642 0.234127 + 680.000000 0.148669 0.148831 0.147974 0.258034 0.233348 0.234191 0.255155 0.256021 0.153667 0.158362 0.138529 0.260224 0.385046 0.315746 0.268812 0.304794 0.317280 0.369973 0.267800 0.235361 0.236349 + 681.000000 0.152205 0.151502 0.144820 0.254682 0.254708 0.232364 0.263651 0.255403 0.154959 0.153567 0.134915 0.257764 0.383384 0.351129 0.275612 0.295892 0.337931 0.362003 0.258258 0.226594 0.232190 + 682.000000 0.146022 0.145292 0.147209 0.252703 0.242473 0.235675 0.248282 0.266859 0.158810 0.156047 0.142990 0.242557 0.377017 0.327190 0.261844 0.314589 0.340999 0.378286 0.263392 0.251391 0.232650 + 683.000000 0.148066 0.144417 0.147606 0.249198 0.249662 0.228308 0.257599 0.245195 0.147013 0.158258 0.138465 0.258285 0.375850 0.345265 0.269816 0.284240 0.314253 0.359216 0.248352 0.229765 0.244542 + 684.000000 0.147312 0.145868 0.147979 0.262697 0.253516 0.226233 0.244193 0.265810 0.159482 0.156656 0.132012 0.252872 0.374984 0.338369 0.248327 0.329169 0.349043 0.367047 0.259241 0.225730 0.230041 + 685.000000 0.149006 0.143246 0.145922 0.257873 0.245978 0.235055 0.254385 0.247343 0.149360 0.158167 0.147972 0.255180 0.373951 0.348445 0.261408 0.295912 0.316157 0.367421 0.249191 0.242206 0.248457 + 686.000000 0.151210 0.142596 0.146828 0.258211 0.252790 0.234084 0.248992 0.258644 0.161425 0.153074 0.136003 0.254894 0.372236 0.343202 0.260286 0.312241 0.324789 0.370801 0.261075 0.236203 0.232058 + 687.000000 0.146809 0.140312 0.146899 0.263295 0.240335 0.227248 0.249958 0.249019 0.161108 0.156509 0.134716 0.252009 0.381589 0.337122 0.262985 0.309131 0.297992 0.361306 0.256757 0.234244 0.246243 + 688.000000 0.149191 0.145461 0.147236 0.247160 0.246848 0.229790 0.251416 0.259087 0.150323 0.159640 0.142633 0.254463 0.373625 0.327533 0.252000 0.295143 0.330763 0.370466 0.259379 0.256044 0.229337 + 689.000000 0.153514 0.150619 0.144856 0.257559 0.257643 0.237882 0.261785 0.263876 0.158274 0.154037 0.141538 0.250870 0.382067 0.359634 0.272507 0.306483 0.346609 0.370835 0.254051 0.235026 0.244848 + 690.000000 0.152567 0.145973 0.144777 0.259745 0.248055 0.236719 0.246084 0.257152 0.157799 0.157256 0.132494 0.262535 0.367230 0.340693 0.255462 0.316319 0.310337 0.370001 0.263401 0.232815 0.229962 + 691.000000 0.147028 0.151971 0.147877 0.253191 0.245122 0.220697 0.254452 0.263957 0.161025 0.151972 0.138429 0.253832 0.370287 0.356105 0.242555 0.329063 0.313286 0.365455 0.256875 0.245819 0.244078 + 692.000000 0.149760 0.150217 0.149369 0.254247 0.249091 0.234938 0.253239 0.264901 0.159120 0.151453 0.138478 0.258317 0.343823 0.366267 0.260678 0.332250 0.322931 0.377889 0.268492 0.228174 0.229486 + 693.000000 0.151147 0.145290 0.143510 0.266369 0.253025 0.232954 0.244713 0.266498 0.164013 0.152544 0.138789 0.248066 0.353832 0.366196 0.247395 0.343488 0.325111 0.372871 0.251785 0.247122 0.234467 + 694.000000 0.150426 0.144457 0.154252 0.245232 0.270359 0.227854 0.257372 0.264439 0.156683 0.158007 0.141820 0.254803 0.352230 0.375964 0.257437 0.327151 0.338347 0.375085 0.267606 0.230159 0.238989 + 695.000000 0.160188 0.143926 0.150008 0.258955 0.250683 0.233456 0.259270 0.261497 0.152304 0.155613 0.136547 0.264368 0.362264 0.360436 0.257499 0.314442 0.301998 0.370587 0.257445 0.239822 0.239753 + 696.000000 0.160485 0.145140 0.150173 0.261708 0.253710 0.243889 0.263720 0.264181 0.156602 0.157116 0.135507 0.261009 0.368386 0.369125 0.279555 0.325902 0.297924 0.378728 0.258071 0.238079 0.238822 + 697.000000 0.150816 0.147670 0.145202 0.252705 0.258712 0.227010 0.250231 0.261812 0.166484 0.153951 0.134214 0.255711 0.344353 0.372270 0.246646 0.326280 0.322924 0.366335 0.269528 0.233183 0.240063 + 698.000000 0.149421 0.144079 0.145112 0.233300 0.268135 0.235883 0.250218 0.259864 0.154801 0.152619 0.139607 0.249392 0.332212 0.379935 0.261170 0.306540 0.333268 0.374043 0.249993 0.236226 0.232766 + 699.000000 0.150398 0.141170 0.146049 0.240754 0.248332 0.231702 0.245954 0.253196 0.153134 0.151094 0.132830 0.257780 0.335679 0.354938 0.255125 0.306047 0.298488 0.365046 0.259892 0.231181 0.227261 + 700.000000 0.146029 0.148021 0.145341 0.256558 0.226846 0.222307 0.255384 0.261720 0.152595 0.156576 0.134004 0.242449 0.371383 0.340235 0.256038 0.335188 0.289896 0.363844 0.260752 0.232703 0.241700 + 701.000000 0.147609 0.143497 0.145520 0.256345 0.243694 0.227311 0.248356 0.255566 0.150854 0.155742 0.135466 0.252223 0.370608 0.336402 0.252952 0.313871 0.318947 0.364621 0.253248 0.231620 0.230860 + 702.000000 0.142573 0.144592 0.146311 0.250420 0.251243 0.225463 0.243649 0.246008 0.152775 0.155901 0.136320 0.260322 0.361789 0.345035 0.249614 0.305299 0.316959 0.360669 0.254129 0.223847 0.231767 + 703.000000 0.148388 0.145560 0.152748 0.255722 0.254436 0.229773 0.257424 0.261173 0.152887 0.154348 0.140934 0.251292 0.375089 0.357260 0.264921 0.332862 0.316052 0.374620 0.249563 0.231357 0.238766 + 704.000000 0.145300 0.145868 0.149364 0.254256 0.246935 0.229409 0.249216 0.257712 0.152385 0.154723 0.141192 0.255779 0.364048 0.348186 0.253138 0.318184 0.326560 0.371837 0.256071 0.233713 0.230884 + 705.000000 0.143267 0.144551 0.153106 0.253391 0.232942 0.226878 0.249981 0.251292 0.156251 0.156028 0.133343 0.262228 0.372531 0.336550 0.263076 0.301353 0.295963 0.366811 0.257779 0.236567 0.234668 + 706.000000 0.148859 0.143332 0.145511 0.258090 0.237501 0.229650 0.249177 0.253188 0.153597 0.150473 0.144152 0.255096 0.366190 0.334667 0.247237 0.311448 0.311208 0.367442 0.259087 0.246605 0.226993 + 707.000000 0.147695 0.145824 0.150069 0.252041 0.253272 0.223567 0.258278 0.263747 0.149125 0.159914 0.134487 0.245193 0.368585 0.358445 0.262266 0.328186 0.329176 0.368313 0.259322 0.225136 0.233715 + 708.000000 0.144913 0.144906 0.145801 0.267713 0.229888 0.231537 0.246552 0.252053 0.162764 0.152332 0.138240 0.254427 0.377886 0.335351 0.256461 0.335700 0.278761 0.368061 0.257529 0.237588 0.240494 + 709.000000 0.151523 0.145558 0.146015 0.261123 0.256956 0.228242 0.250885 0.267188 0.153033 0.158004 0.136873 0.248598 0.361432 0.356973 0.247985 0.342630 0.336334 0.370420 0.261452 0.229508 0.227249 + 710.000000 0.141070 0.143493 0.147276 0.250096 0.245859 0.226315 0.250224 0.239586 0.156108 0.156174 0.143919 0.257247 0.348918 0.367089 0.259732 0.313020 0.283721 0.360668 0.259407 0.238427 0.242000 + 711.000000 0.147526 0.146014 0.150735 0.240654 0.255174 0.225869 0.257193 0.261483 0.153391 0.153316 0.134929 0.250470 0.339175 0.379568 0.264413 0.325757 0.311784 0.368551 0.254476 0.228533 0.237626 + 712.000000 0.143652 0.145201 0.154351 0.237836 0.249810 0.227778 0.247839 0.260742 0.157340 0.150909 0.136629 0.257279 0.330188 0.367608 0.257844 0.307539 0.322904 0.374528 0.262051 0.235418 0.227825 + 713.000000 0.145464 0.139237 0.146524 0.252231 0.258413 0.228891 0.248143 0.248472 0.155110 0.155745 0.143273 0.249338 0.344148 0.371158 0.258638 0.318110 0.315676 0.365434 0.256449 0.241044 0.227503 + 714.000000 0.151576 0.146805 0.149818 0.238005 0.257844 0.225665 0.262630 0.262542 0.151037 0.154475 0.137564 0.250804 0.346552 0.377550 0.262338 0.306961 0.321664 0.368683 0.257698 0.233091 0.242356 + 715.000000 0.147308 0.144276 0.150193 0.243725 0.269657 0.226491 0.250985 0.259151 0.157391 0.155929 0.139267 0.254500 0.354415 0.370108 0.252142 0.311860 0.343059 0.369881 0.258113 0.237740 0.229193 + 716.000000 0.141480 0.141104 0.150709 0.241425 0.257768 0.235106 0.242471 0.251569 0.157236 0.158180 0.142851 0.256459 0.345427 0.361676 0.260957 0.301589 0.323876 0.375630 0.261126 0.233016 0.237679 + 717.000000 0.142383 0.144001 0.151601 0.255446 0.235259 0.230143 0.251449 0.252130 0.153663 0.153460 0.136445 0.254786 0.370048 0.348268 0.269910 0.314200 0.296696 0.370556 0.247636 0.230645 0.234749 + 718.000000 0.147891 0.145405 0.145844 0.253275 0.246543 0.233537 0.249316 0.254761 0.151819 0.156436 0.138258 0.253736 0.372330 0.333627 0.260634 0.315388 0.311414 0.370349 0.257462 0.234081 0.229838 + 719.000000 0.147625 0.142528 0.140859 0.246731 0.253770 0.231227 0.244477 0.257565 0.155434 0.153854 0.139120 0.243838 0.361355 0.346222 0.254110 0.301496 0.334200 0.364239 0.250994 0.230230 0.245661 + 720.000000 0.148054 0.149500 0.147712 0.254268 0.248443 0.234748 0.244123 0.266516 0.153036 0.155238 0.137806 0.258806 0.364284 0.335888 0.249006 0.327720 0.335761 0.377687 0.259411 0.230041 0.226558 + 721.000000 0.145944 0.146806 0.147741 0.247438 0.246155 0.238627 0.255047 0.252016 0.153885 0.155311 0.138698 0.255594 0.372469 0.349409 0.279993 0.295674 0.310937 0.373608 0.250882 0.234431 0.236703 + 722.000000 0.147955 0.143613 0.146708 0.257745 0.247567 0.228387 0.254224 0.249175 0.157864 0.155558 0.141041 0.255251 0.355955 0.360026 0.258808 0.323705 0.300781 0.364448 0.270920 0.232514 0.235008 + 723.000000 0.145385 0.146597 0.146680 0.234676 0.254204 0.220908 0.255638 0.256820 0.153542 0.151298 0.138495 0.246886 0.343991 0.373591 0.252978 0.303862 0.318202 0.362698 0.250519 0.237147 0.242364 + 724.000000 0.145788 0.143980 0.149141 0.239355 0.247341 0.232149 0.250598 0.257673 0.156050 0.148383 0.136506 0.251927 0.336029 0.364197 0.265839 0.316318 0.307665 0.372385 0.258406 0.230135 0.228681 + 725.000000 0.144397 0.142732 0.145601 0.246462 0.252894 0.235251 0.247049 0.248704 0.151294 0.154731 0.135337 0.253542 0.350592 0.365471 0.270205 0.311561 0.303118 0.367002 0.243057 0.233255 0.220741 + 726.000000 0.147825 0.139171 0.141512 0.244863 0.259028 0.223350 0.251125 0.252839 0.152902 0.159285 0.136105 0.238192 0.342288 0.370187 0.254372 0.316135 0.317256 0.358534 0.264396 0.224709 0.242454 + 727.000000 0.144993 0.143182 0.148445 0.258235 0.250708 0.211638 0.259976 0.245387 0.155409 0.150225 0.141103 0.249360 0.367965 0.368683 0.250140 0.326113 0.299935 0.351147 0.250003 0.237880 0.236404 + 728.000000 0.142996 0.146576 0.152161 0.232950 0.248843 0.225165 0.247633 0.258702 0.152939 0.152255 0.135180 0.258480 0.340109 0.363055 0.253019 0.296675 0.318778 0.370175 0.251920 0.239776 0.230522 + 729.000000 0.149633 0.142839 0.145060 0.245680 0.268366 0.234082 0.247212 0.261720 0.155637 0.156411 0.138777 0.248393 0.335088 0.379018 0.254988 0.324089 0.336123 0.373416 0.254081 0.223849 0.239454 + 730.000000 0.149274 0.145995 0.144686 0.257177 0.247449 0.225699 0.256370 0.250369 0.159216 0.152712 0.132624 0.252829 0.362554 0.364174 0.262379 0.333857 0.283477 0.353228 0.258553 0.243831 0.222119 + 731.000000 0.151441 0.147039 0.144147 0.253575 0.255616 0.220980 0.261258 0.256843 0.152423 0.157637 0.134102 0.247170 0.351044 0.386838 0.257817 0.323720 0.303484 0.358205 0.245815 0.226480 0.255186 + 732.000000 0.147747 0.140896 0.143706 0.243042 0.269500 0.228301 0.243785 0.257631 0.158727 0.157011 0.131297 0.247014 0.333796 0.378329 0.253742 0.314517 0.334863 0.364330 0.253657 0.238100 0.222595 + 733.000000 0.147947 0.146381 0.144281 0.241910 0.265563 0.227143 0.251257 0.253546 0.155110 0.152725 0.139743 0.254589 0.343644 0.376427 0.249371 0.304547 0.330875 0.364265 0.250547 0.233231 0.236134 + 734.000000 0.150001 0.141139 0.151625 0.245636 0.244186 0.235986 0.250652 0.260276 0.155947 0.150409 0.140849 0.255768 0.343105 0.358394 0.263351 0.312269 0.301849 0.377907 0.257989 0.239304 0.239489 + 735.000000 0.145378 0.145086 0.142865 0.250300 0.260279 0.223175 0.255210 0.255454 0.146537 0.163541 0.137777 0.238340 0.365269 0.371133 0.258072 0.327000 0.321940 0.360444 0.246458 0.235433 0.234999 + 736.000000 0.142152 0.141648 0.154635 0.251085 0.228868 0.225131 0.251629 0.244714 0.157315 0.150299 0.132399 0.261053 0.360376 0.347032 0.269186 0.296059 0.277521 0.362316 0.255023 0.232939 0.233600 + 737.000000 0.147902 0.141896 0.152398 0.243656 0.246794 0.241829 0.259670 0.258696 0.151827 0.154827 0.140600 0.246255 0.360377 0.354921 0.291309 0.309006 0.311639 0.382365 0.263164 0.231860 0.229645 + 738.000000 0.151526 0.140992 0.146010 0.257723 0.253151 0.220811 0.247920 0.250641 0.156160 0.152164 0.136767 0.258478 0.354264 0.353574 0.237065 0.307602 0.318540 0.356599 0.260647 0.241043 0.225471 + 739.000000 0.151389 0.142545 0.147011 0.249648 0.256979 0.231571 0.250532 0.266251 0.151722 0.157252 0.133158 0.245956 0.348382 0.367732 0.258905 0.336271 0.317294 0.371773 0.253905 0.224982 0.237461 + 740.000000 0.147289 0.144127 0.148286 0.238736 0.247551 0.223194 0.247072 0.258924 0.146879 0.150247 0.136093 0.254216 0.335363 0.360543 0.243140 0.326308 0.299249 0.363701 0.247543 0.223635 0.240209 + 741.000000 0.141648 0.145787 0.140804 0.240327 0.244694 0.235639 0.251051 0.242669 0.155464 0.152220 0.136232 0.247978 0.340768 0.369925 0.280267 0.310163 0.284185 0.362008 0.251751 0.234295 0.226798 + 742.000000 0.146772 0.151230 0.144919 0.234791 0.248999 0.238704 0.256478 0.262940 0.156352 0.150075 0.140752 0.245439 0.319962 0.376805 0.274889 0.322180 0.318765 0.378922 0.269474 0.222839 0.234981 + 743.000000 0.143723 0.147110 0.143732 0.235377 0.264208 0.222347 0.247052 0.243062 0.153290 0.159163 0.135114 0.261181 0.341911 0.379356 0.247198 0.295452 0.304591 0.352412 0.245019 0.248907 0.231691 + 744.000000 0.145469 0.145036 0.150925 0.234411 0.254375 0.231503 0.251213 0.263848 0.154080 0.153999 0.135198 0.248920 0.328361 0.372027 0.266051 0.320434 0.323429 0.376190 0.265326 0.215096 0.236932 + 745.000000 0.151581 0.141652 0.144391 0.236415 0.250379 0.221267 0.249560 0.256132 0.158325 0.143225 0.132601 0.252025 0.327878 0.364620 0.243900 0.304426 0.303543 0.357210 0.252175 0.239803 0.230945 + 746.000000 0.145971 0.142847 0.149180 0.244380 0.252961 0.239623 0.249294 0.255222 0.153503 0.148471 0.139175 0.254096 0.338830 0.367412 0.274043 0.319843 0.313327 0.377294 0.250501 0.223475 0.222717 + 747.000000 0.149148 0.138482 0.145538 0.240989 0.246717 0.226604 0.243523 0.258117 0.149574 0.153203 0.137505 0.248245 0.336966 0.355395 0.243853 0.306233 0.306241 0.365794 0.249284 0.236578 0.243143 + 748.000000 0.151309 0.141219 0.150484 0.259694 0.259120 0.222420 0.255908 0.267076 0.160079 0.152036 0.133725 0.243520 0.372862 0.358001 0.255165 0.331892 0.339467 0.367524 0.258085 0.245192 0.216668 + 749.000000 0.145639 0.148958 0.148154 0.251733 0.236896 0.226308 0.254659 0.247846 0.149935 0.160454 0.135235 0.263922 0.372891 0.334609 0.261209 0.297860 0.305130 0.360677 0.266243 0.225134 0.240789 + 750.000000 0.147728 0.147351 0.152373 0.256214 0.231091 0.240684 0.258238 0.260233 0.152288 0.154052 0.139638 0.254003 0.388530 0.316725 0.286400 0.311478 0.307740 0.381974 0.255308 0.237786 0.229694 + 751.000000 0.148169 0.146064 0.145844 0.261712 0.250334 0.222560 0.260227 0.242370 0.155569 0.155795 0.139282 0.258410 0.384280 0.349261 0.260973 0.300848 0.314494 0.354079 0.259140 0.234020 0.236399 + 752.000000 0.148861 0.144729 0.149814 0.258260 0.240478 0.228083 0.254145 0.263587 0.153172 0.151324 0.140152 0.249963 0.374253 0.341614 0.255722 0.322130 0.322814 0.372281 0.252141 0.242056 0.230879 + 753.000000 0.143063 0.142263 0.141560 0.256360 0.242224 0.223430 0.248006 0.246553 0.154586 0.155567 0.136835 0.244644 0.368640 0.343990 0.253538 0.310220 0.311571 0.357103 0.255652 0.234492 0.231713 + 754.000000 0.142084 0.146872 0.143743 0.244423 0.241398 0.233685 0.244727 0.249181 0.153086 0.154395 0.133785 0.255036 0.360830 0.342307 0.265622 0.301465 0.304555 0.366856 0.252137 0.223836 0.232883 + 755.000000 0.146342 0.144872 0.145436 0.247685 0.236882 0.229528 0.252804 0.258001 0.146515 0.155232 0.137269 0.244671 0.363172 0.349758 0.262366 0.309390 0.305753 0.368823 0.242005 0.235639 0.240720 + 756.000000 0.144253 0.150265 0.141442 0.256098 0.243681 0.230311 0.256583 0.246920 0.157871 0.154688 0.135987 0.251070 0.373965 0.353525 0.269693 0.306049 0.315069 0.361725 0.261624 0.234293 0.224740 + 757.000000 0.150370 0.146320 0.141993 0.254734 0.228982 0.231826 0.257542 0.250939 0.146017 0.158186 0.140870 0.251325 0.370667 0.332135 0.262570 0.309709 0.289466 0.364554 0.262609 0.229973 0.245594 + 758.000000 0.151197 0.141953 0.143950 0.248700 0.246933 0.234025 0.251374 0.256121 0.147983 0.154046 0.135348 0.249292 0.365579 0.337933 0.264093 0.302334 0.317705 0.368189 0.251986 0.232446 0.227298 + 759.000000 0.145923 0.145665 0.144561 0.246854 0.249664 0.224417 0.250779 0.255169 0.152591 0.151957 0.133370 0.249305 0.364189 0.350100 0.256637 0.302145 0.328074 0.360259 0.249994 0.225172 0.233937 + 760.000000 0.143293 0.147076 0.141065 0.259144 0.234271 0.219408 0.248818 0.248151 0.153636 0.154773 0.134315 0.250036 0.379028 0.327621 0.246765 0.315493 0.304927 0.353840 0.254828 0.235555 0.229617 + 761.000000 0.148779 0.140753 0.143955 0.267424 0.235598 0.235555 0.256749 0.254578 0.152285 0.148780 0.139264 0.235342 0.387851 0.331600 0.277797 0.336871 0.294705 0.370283 0.243477 0.230649 0.224846 + 762.000000 0.144794 0.146919 0.148384 0.244045 0.249541 0.232054 0.253284 0.246635 0.153051 0.157494 0.139370 0.260187 0.353142 0.361629 0.265998 0.288270 0.315700 0.366562 0.263690 0.233388 0.233591 + 763.000000 0.142787 0.142226 0.150908 0.227675 0.250232 0.226531 0.241679 0.259569 0.161549 0.155739 0.135221 0.253595 0.317034 0.368004 0.250760 0.302947 0.308693 0.370591 0.266941 0.243139 0.241423 + 764.000000 0.146106 0.143610 0.144982 0.230764 0.263680 0.229945 0.249877 0.254878 0.153372 0.150525 0.137996 0.248096 0.309926 0.385065 0.264790 0.323217 0.318398 0.363242 0.252521 0.233559 0.225267 + 765.000000 0.146252 0.148756 0.145534 0.218183 0.260868 0.231842 0.255086 0.247575 0.158041 0.149280 0.138750 0.260107 0.300421 0.392470 0.269668 0.298973 0.297247 0.362173 0.248215 0.241426 0.240537 + 766.000000 0.149666 0.143762 0.145981 0.239876 0.265177 0.222605 0.253280 0.265092 0.154138 0.155307 0.137205 0.241851 0.327097 0.383489 0.250772 0.328986 0.333820 0.364249 0.260780 0.232524 0.236606 + 767.000000 0.147709 0.147917 0.148523 0.257371 0.248670 0.237608 0.246482 0.253497 0.157590 0.151687 0.140063 0.266717 0.346736 0.367658 0.259252 0.322170 0.301241 0.374270 0.248526 0.234520 0.234582 + 768.000000 0.146604 0.142021 0.143920 0.245206 0.254053 0.234884 0.250940 0.255419 0.154676 0.156043 0.138693 0.240137 0.353648 0.362428 0.268800 0.324700 0.307232 0.370401 0.257101 0.229926 0.238189 + 769.000000 0.145666 0.143072 0.143069 0.250003 0.254967 0.222982 0.250553 0.249804 0.159894 0.154019 0.142642 0.247212 0.351954 0.365435 0.246819 0.309203 0.319551 0.360003 0.262948 0.244160 0.238275 + 770.000000 0.150029 0.148585 0.148766 0.244652 0.259668 0.231590 0.259381 0.262492 0.151690 0.156900 0.131781 0.252828 0.362329 0.369871 0.271826 0.308123 0.332858 0.371674 0.253783 0.227377 0.229687 + 771.000000 0.142820 0.143312 0.148850 0.253799 0.225944 0.228940 0.253055 0.247311 0.152699 0.152753 0.144329 0.252540 0.374747 0.329961 0.263876 0.304648 0.285763 0.368036 0.255063 0.245513 0.239279 + 772.000000 0.148114 0.140081 0.153447 0.260759 0.235956 0.237635 0.247947 0.264610 0.158310 0.152772 0.134343 0.252371 0.375848 0.321799 0.272471 0.323142 0.320806 0.380754 0.265756 0.230119 0.221989 + 773.000000 0.151160 0.143947 0.146148 0.255334 0.257450 0.227085 0.257549 0.248592 0.152658 0.155197 0.139484 0.257324 0.370081 0.361286 0.258134 0.301159 0.317466 0.360741 0.251920 0.234310 0.239100 + 774.000000 0.148379 0.144807 0.141874 0.252672 0.251162 0.224537 0.253291 0.256729 0.153299 0.157517 0.134522 0.243217 0.360651 0.361095 0.254654 0.323782 0.313380 0.360673 0.257427 0.235574 0.233222 + 775.000000 0.154773 0.150504 0.143578 0.255568 0.250801 0.232328 0.262300 0.258662 0.155667 0.150662 0.135712 0.255160 0.353683 0.374223 0.266053 0.320513 0.309689 0.366979 0.257760 0.233543 0.232140 + 776.000000 0.145250 0.149866 0.140253 0.244203 0.248857 0.231765 0.258704 0.250583 0.153789 0.156907 0.132167 0.244470 0.364065 0.369728 0.277901 0.303537 0.304732 0.363258 0.248092 0.233142 0.234398 + 777.000000 0.141155 0.145351 0.148666 0.250573 0.235028 0.225763 0.242160 0.256551 0.148179 0.163448 0.133868 0.254714 0.367079 0.327616 0.250793 0.315309 0.310179 0.367708 0.256244 0.228503 0.238483 + 778.000000 0.149212 0.141698 0.145629 0.259080 0.242250 0.231234 0.244879 0.253955 0.149525 0.157073 0.137321 0.254068 0.377354 0.317440 0.254845 0.311852 0.310032 0.366970 0.247474 0.235006 0.235377 + 779.000000 0.145503 0.150871 0.144856 0.259817 0.224334 0.224787 0.260357 0.250736 0.153142 0.153868 0.136939 0.253041 0.388776 0.327018 0.266113 0.309668 0.297640 0.359734 0.257225 0.233661 0.241386 + 780.000000 0.146988 0.148403 0.146475 0.251413 0.247445 0.231396 0.247706 0.258795 0.157757 0.149732 0.132597 0.258056 0.377034 0.332202 0.260105 0.300932 0.333702 0.368639 0.249678 0.239960 0.218033 + 781.000000 0.147256 0.149125 0.145034 0.250850 0.236047 0.239627 0.252287 0.253741 0.146702 0.155517 0.140693 0.258310 0.373251 0.332396 0.271275 0.302287 0.309671 0.372814 0.248397 0.225626 0.244055 + 782.000000 0.142992 0.145197 0.148370 0.256870 0.229401 0.231768 0.249576 0.248277 0.154046 0.158528 0.140801 0.257466 0.375679 0.318710 0.264154 0.313235 0.295697 0.369137 0.271959 0.231540 0.234820 + 783.000000 0.149024 0.141447 0.142426 0.267502 0.232321 0.226814 0.241611 0.254477 0.153767 0.155910 0.131132 0.252268 0.375032 0.322646 0.244200 0.328523 0.292473 0.360952 0.249823 0.231352 0.233610 + 784.000000 0.154476 0.144934 0.145943 0.260394 0.222712 0.238448 0.256267 0.266397 0.148492 0.150748 0.136794 0.248542 0.379238 0.314955 0.268494 0.321666 0.304584 0.377122 0.254432 0.236677 0.227172 + 785.000000 0.145072 0.147145 0.146649 0.253721 0.237196 0.229814 0.254422 0.246494 0.152283 0.157781 0.135329 0.258818 0.374350 0.344895 0.267958 0.297706 0.297125 0.362514 0.253407 0.229976 0.241981 + 786.000000 0.143188 0.151458 0.145962 0.247514 0.251807 0.223642 0.244793 0.262693 0.163244 0.159239 0.136605 0.253267 0.363155 0.348346 0.241194 0.309411 0.343931 0.364464 0.272280 0.237733 0.242851 + 787.000000 0.157984 0.147700 0.146145 0.260015 0.258557 0.231865 0.266824 0.256993 0.154732 0.155302 0.138703 0.258424 0.379845 0.362289 0.266061 0.306716 0.323447 0.366392 0.259348 0.243122 0.232442 + 788.000000 0.149701 0.146287 0.150589 0.245141 0.246693 0.232551 0.253680 0.267397 0.156478 0.151870 0.137703 0.251401 0.365312 0.347518 0.262711 0.311561 0.322778 0.377425 0.256404 0.239579 0.238995 + 789.000000 0.154270 0.146718 0.149038 0.263149 0.271216 0.221419 0.254368 0.264857 0.155849 0.164667 0.133697 0.259288 0.378689 0.357992 0.243883 0.326571 0.349307 0.363465 0.262397 0.233438 0.238154 + 790.000000 0.147196 0.146108 0.151181 0.263824 0.230254 0.231705 0.247022 0.255400 0.153504 0.158098 0.138785 0.265441 0.370780 0.333248 0.251845 0.317838 0.301869 0.371948 0.261020 0.236088 0.236310 + 791.000000 0.150915 0.147769 0.140818 0.246100 0.244663 0.232157 0.246098 0.256963 0.155306 0.150000 0.132702 0.254602 0.363561 0.335116 0.252194 0.305308 0.307437 0.365259 0.252698 0.233792 0.233580 + 792.000000 0.150787 0.150306 0.143424 0.257273 0.235571 0.226713 0.249080 0.264570 0.153492 0.159394 0.127169 0.254723 0.372259 0.329783 0.248611 0.323721 0.311871 0.364802 0.264247 0.233124 0.228469 + 793.000000 0.144514 0.144710 0.142774 0.261936 0.239377 0.229969 0.248648 0.251196 0.152354 0.154367 0.144133 0.247190 0.374937 0.329560 0.254215 0.332074 0.308593 0.366880 0.258580 0.229030 0.232333 + 794.000000 0.149031 0.145496 0.148104 0.256476 0.232969 0.226757 0.247861 0.255234 0.150773 0.154714 0.134810 0.262661 0.375953 0.319099 0.250413 0.303712 0.306791 0.363338 0.252371 0.233668 0.239816 + 795.000000 0.149954 0.141763 0.150417 0.260394 0.257860 0.229848 0.262280 0.260194 0.150695 0.165708 0.139104 0.239477 0.392334 0.338843 0.281553 0.314160 0.341881 0.371194 0.257092 0.240424 0.233233 + 796.000000 0.149577 0.146859 0.143749 0.252752 0.235262 0.234233 0.252111 0.249001 0.150779 0.154260 0.144370 0.260015 0.377046 0.316024 0.262314 0.284493 0.322354 0.359339 0.260889 0.234786 0.247250 + 797.000000 0.146444 0.143790 0.151072 0.257903 0.250169 0.223281 0.248201 0.262395 0.154220 0.158996 0.134879 0.252940 0.379286 0.331600 0.253050 0.320186 0.336594 0.367255 0.256775 0.233371 0.234134 + 798.000000 0.152329 0.144589 0.149191 0.252173 0.247266 0.222787 0.260830 0.258888 0.154111 0.156670 0.131999 0.251988 0.366945 0.359422 0.260770 0.301471 0.315662 0.360971 0.259246 0.231543 0.244500 + 799.000000 0.146756 0.142952 0.149723 0.255414 0.250994 0.235083 0.254323 0.255825 0.156807 0.156734 0.137986 0.250648 0.360733 0.365896 0.275018 0.321417 0.312152 0.374128 0.258905 0.234482 0.229454 diff --git a/test_graphs/data/p.dcd b/test_graphs/data/p.dcd new file mode 100644 index 00000000..9ac637e3 Binary files /dev/null and b/test_graphs/data/p.dcd differ diff --git a/test_graphs/data/p.pdb b/test_graphs/data/p.pdb new file mode 100644 index 00000000..9928ce81 --- /dev/null +++ b/test_graphs/data/p.pdb @@ -0,0 +1,21 @@ +CRYST1 100.000 100.000 100.000 90.00 90.00 90.00 P 1 1 +ATOM 1 C UNL X 1 -2.477 -2.092 -0.388 1.00 0.00 C +ATOM 2 C UNL X 1 -3.520 -1.057 -0.204 1.00 0.00 C +ATOM 3 C UNL X 1 -2.495 -2.603 1.038 1.00 0.00 C +ATOM 4 H UNL X 1 -2.456 -1.819 1.767 1.00 0.00 H +ATOM 5 H UNL X 1 -3.448 -3.157 1.109 1.00 0.00 H +ATOM 6 H UNL X 1 -1.674 -3.291 1.255 1.00 0.00 H +ATOM 7 C UNL X 1 -2.786 -3.294 -1.306 1.00 0.00 C +ATOM 8 H UNL X 1 -2.634 -2.975 -2.351 1.00 0.00 H +ATOM 9 H UNL X 1 -2.089 -4.135 -1.164 1.00 0.00 H +ATOM 10 H UNL X 1 -3.798 -3.583 -1.079 1.00 0.00 H +ATOM 11 C UNL X 1 -1.151 -1.437 -0.717 1.00 0.00 C +ATOM 12 H UNL X 1 -0.988 -0.621 0.002 1.00 0.00 H +ATOM 13 H UNL X 1 -0.343 -2.138 -0.507 1.00 0.00 H +ATOM 14 H UNL X 1 -1.088 -1.151 -1.779 1.00 0.00 H +ATOM 15 C UNL X 1 -4.964 -1.269 -0.340 1.00 0.00 C +ATOM 16 H UNL X 1 -5.253 -1.213 -1.409 1.00 0.00 H +ATOM 17 H UNL X 1 -5.103 -2.218 0.074 1.00 0.00 H +ATOM 18 H UNL X 1 -5.607 -0.523 0.107 1.00 0.00 H +ATOM 19 F UNL X 1 -3.038 0.027 0.136 1.00 0.00 F +END diff --git a/test_graphs/data/r.dcd b/test_graphs/data/r.dcd new file mode 100644 index 00000000..c302acd2 Binary files /dev/null and b/test_graphs/data/r.dcd differ diff --git a/test_graphs/data/r.pdb b/test_graphs/data/r.pdb new file mode 100644 index 00000000..75656832 --- /dev/null +++ b/test_graphs/data/r.pdb @@ -0,0 +1,21 @@ +CRYST1 100.000 100.000 100.000 90.00 90.00 90.00 P 1 1 +ATOM 1 C UNL X 1 -2.394 -1.013 0.390 1.00 0.00 C +ATOM 2 C UNL X 1 -2.588 -1.774 -0.881 1.00 0.00 C +ATOM 3 C UNL X 1 -2.555 -1.607 1.679 1.00 0.00 C +ATOM 4 H UNL X 1 -2.178 -2.584 1.842 1.00 0.00 H +ATOM 5 H UNL X 1 -2.075 -0.998 2.471 1.00 0.00 H +ATOM 6 H UNL X 1 -3.633 -1.736 1.862 1.00 0.00 H +ATOM 7 C UNL X 1 -1.780 0.373 0.296 1.00 0.00 C +ATOM 8 H UNL X 1 -0.759 0.225 0.823 1.00 0.00 H +ATOM 9 H UNL X 1 -1.819 0.834 -0.686 1.00 0.00 H +ATOM 10 H UNL X 1 -2.358 0.965 1.025 1.00 0.00 H +ATOM 11 C UNL X 1 -1.348 -1.777 -1.672 1.00 0.00 C +ATOM 12 H UNL X 1 -1.110 -0.748 -2.010 1.00 0.00 H +ATOM 13 H UNL X 1 -0.424 -2.178 -1.122 1.00 0.00 H +ATOM 14 H UNL X 1 -1.446 -2.390 -2.576 1.00 0.00 H +ATOM 15 C UNL X 1 -3.773 -1.199 -1.601 1.00 0.00 C +ATOM 16 H UNL X 1 -3.816 -1.599 -2.581 1.00 0.00 H +ATOM 17 H UNL X 1 -4.663 -1.441 -1.003 1.00 0.00 H +ATOM 18 H UNL X 1 -3.757 -0.102 -1.693 1.00 0.00 H +ATOM 19 F UNL X 1 -2.878 -3.051 -0.412 1.00 0.00 F +END diff --git a/test_graphs/test_graph.ipynb b/test_graphs/test_graph.ipynb new file mode 100644 index 00000000..023388b8 --- /dev/null +++ b/test_graphs/test_graph.ipynb @@ -0,0 +1,460 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import torch_geometric\n", + "from mlcolvar.data import graph as gdata" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "DictModule(dataset -> DictDataset( \"data_list\": 1600, \"z_table\": [6, 9], \"cutoff\": 8.0 ),\n", + "\t\t train_loader -> DictLoader(length=0.8, batch_size=1600, shuffle=1),\n", + "\t\t valid_loader -> DictLoader(length=0.2, batch_size=1600, shuffle=0))\n", + "Class 0 dataframe shape: (800, 24)\n", + "Class 1 dataframe shape: (800, 24)\n", + "\n", + " - Loaded dataframe (1600, 24): ['time', 'd1', 'd2', 'd3', 'd4', 'd5', 'd6', 'd7', 'd8', 'd9', 'd10', 'd11', 'd12', 'd13', 'd14', 'd15', 'd16', 'd17', 'd18', 'd19', 'd20', 'd21', 'walker', 'labels']\n", + " - Descriptors (1600, 21): ['d1', 'd2', 'd3', 'd4', 'd5', 'd6', 'd7', 'd8', 'd9', 'd10', 'd11', 'd12', 'd13', 'd14', 'd15', 'd16', 'd17', 'd18', 'd19', 'd20', 'd21']\n" + ] + } + ], + "source": [ + "from mlcolvar.data.graph.datamodule import GraphDataModule\n", + "from mlcolvar.utils.io import create_dataset_from_trajectories\n", + "\n", + "dataset_graph = create_dataset_from_trajectories(\n", + " trajectories=[\n", + " 'data/r.dcd',\n", + " 'data/p.dcd'\n", + " ],\n", + " top=['data/r.pdb', \n", + " 'data/p.pdb'],\n", + " cutoff=8.0, # Ang\n", + " create_labels=True,\n", + " system_selection='all and not type H',\n", + " show_progress=False\n", + ")\n", + "\n", + "datamodule_graph = GraphDataModule(dataset_graph, shuffle=[1, 0])\n", + "print(datamodule_graph)\n", + "\n", + "\n", + "from mlcolvar.utils.io import create_dataset_from_files\n", + "from mlcolvar.data import DictModule\n", + "\n", + "dataset_ff = create_dataset_from_files(file_names=['data/colvar_r.dat',\n", + " 'data/colvar_p.dat'],\n", + " filter_args={'regex': 'd'})\n", + "\n", + "datamodule_ff = DictModule(dataset_ff, lengths=[1])\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "DictDataset( \"data_list\": 1600, \"z_table\": [6, 9], \"cutoff\": 8.0 )" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset_graph" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# a = dataset_graph['z_table']\n", + "# new = []\n", + "# for i in a:\n", + "# new.append(int(i))\n", + "# new\n", + "\n", + "# dataset_graph['z_table'] = new\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "tensor([[0.1000],\n", + " [0.1000],\n", + " [0.1000],\n", + " [0.1000],\n", + " [0.1000],\n", + " [0.1000],\n", + " [0.1000],\n", + " [0.1000],\n", + " [0.1000],\n", + " [0.1000]])" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import torch\n", + "d = {'a' : torch.zeros(10), 'b': 0.1}\n", + "\n", + "torch.tile(torch.Tensor([d['b']]), (len(d[\"a\"]), 1))" + ] + }, + { + "cell_type": "raw", + "metadata": { + "vscode": { + "languageId": "raw" + } + }, + "source": [ + "test = list(datamodule.train_loader)[0]\n", + "print(gnn_model(test))\n", + "print(model(test))" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "from mlcolvar.core.nn.graph.schnet import SchNetModel\n", + "\n", + "gnn_model = SchNetModel(n_out=1,\n", + " cutoff=dataset_graph.metadata['cutoff'],\n", + " atomic_numbers=dataset_graph.metadata['z_table'],\n", + " n_bases=6,\n", + " n_layers=2,\n", + " n_filters=32,\n", + " n_hidden_channels=32\n", + " )\n", + "\n", + "# gnn_model = SchNetModel(n_out=1,\n", + "# cutoff=dataset_graph.cutoff,\n", + "# atomic_numbers=dataset_graph.atomic_numbers,\n", + "# n_bases=6,\n", + "# n_layers=2,\n", + "# n_filters=32,\n", + "# n_hidden_channels=32\n", + "# )" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/etrizio@iit.local/Bin/miniconda3/envs/graph_mlcolvar_test/lib/python3.9/site-packages/lightning/pytorch/utilities/parsing.py:198: Attribute 'gnn_model' is an instance of `nn.Module` and is already saved during checkpointing. It is recommended to ignore them using `self.save_hyperparameters(ignore=['gnn_model'])`.\n" + ] + } + ], + "source": [ + "from mlcolvar.cvs.supervised.deeptda_merged import DeepTDA\n", + "\n", + "model_graph = DeepTDA(n_states=2,\n", + " n_cvs=1,\n", + " target_centers=[-7, 7],\n", + " target_sigmas=[0.2, 0.2],\n", + " layers=[21, 15, 10, 1],\n", + " gnn_model=gnn_model)\n", + "\n", + "model_ff = DeepTDA(n_states=2,\n", + " n_cvs=1,\n", + " target_centers=[-7, 7],\n", + " target_sigmas=[0.2, 0.2],\n", + " layers=[21, 15, 10, 1],\n", + " gnn_model=None)\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "GPU available: True (cuda), used: True\n", + "TPU available: False, using: 0 TPU cores\n", + "IPU available: False, using: 0 IPUs\n", + "HPU available: False, using: 0 HPUs\n", + "LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]\n", + "/home/etrizio@iit.local/Bin/miniconda3/envs/graph_mlcolvar_test/lib/python3.9/site-packages/lightning/pytorch/trainer/connectors/data_connector.py:441: The 'train_dataloader' does not have many workers which may be a bottleneck. Consider increasing the value of the `num_workers` argument` to `num_workers=63` in the `DataLoader` to improve performance.\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "b208643fbb814989813c3be7945691c8", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Training: | | 0/? [00:00" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "plt.hist(out_graph.detach().squeeze())\n", + "plt.hist(out_ff.detach().squeeze())\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "DataBatch(edge_index=[2, 53760], shifts=[53760, 3], unit_shifts=[53760, 3], positions=[8960, 3], cell=[3840, 3], node_attrs=[8960, 2], graph_labels=[1280, 1], n_system=[1280, 1], weight=[1280], batch=[8960], ptr=[1281])\n", + "DataBatch(edge_index=[2, 53760], shifts=[53760, 3], unit_shifts=[53760, 3], positions=[8960, 3], cell=[3840, 3], node_attrs=[8960, 2], graph_labels=[1280, 1], n_system=[1280, 1], weight=[1280], batch=[8960], ptr=[1281])\n", + "DataBatch(edge_index=[2, 53760], shifts=[53760, 3], unit_shifts=[53760, 3], positions=[8960, 3], cell=[3840, 3], node_attrs=[8960, 2], graph_labels=[1280, 1], n_system=[1280, 1], weight=[1280], batch=[8960], ptr=[1281])\n", + "DataBatch(edge_index=[2, 53760], shifts=[53760, 3], unit_shifts=[53760, 3], positions=[8960, 3], cell=[3840, 3], node_attrs=[8960, 2], graph_labels=[1280, 1], n_system=[1280, 1], weight=[1280], batch=[8960], ptr=[1281])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "{'edge_index': tensor([[ 0, 0, 0, ..., 8959, 8959, 8959],\n", + " [ 1, 4, 5, ..., 8955, 8956, 8957]], device='cuda:0'), 'shifts': tensor([[0., 0., 0.],\n", + " [0., 0., 0.],\n", + " [0., 0., 0.],\n", + " ...,\n", + " [0., 0., 0.],\n", + " [0., 0., 0.],\n", + " [0., 0., 0.]], device='cuda:0'), 'unit_shifts': tensor([[0., 0., 0.],\n", + " [0., 0., 0.],\n", + " [0., 0., 0.],\n", + " ...,\n", + " [0., 0., 0.],\n", + " [0., 0., 0.],\n", + " [0., 0., 0.]], device='cuda:0'), 'positions': tensor([[-2.6081, -2.1008, 0.3736],\n", + " [-2.4060, -1.0921, -0.7459],\n", + " [-2.4521, -3.5211, 0.1885],\n", + " ...,\n", + " [-2.1364, -3.1386, 0.5862],\n", + " [-3.5091, -0.7473, -2.1322],\n", + " [-1.6128, -0.9524, -0.9889]], device='cuda:0'), 'cell': tensor([[100., 0., 0.],\n", + " [ 0., 100., 0.],\n", + " [ 0., 0., 100.],\n", + " ...,\n", + " [100., 0., 0.],\n", + " [ 0., 100., 0.],\n", + " [ 0., 0., 100.]], device='cuda:0'), 'node_attrs': tensor([[1., 0.],\n", + " [1., 0.],\n", + " [1., 0.],\n", + " ...,\n", + " [1., 0.],\n", + " [1., 0.],\n", + " [0., 1.]], device='cuda:0'), 'graph_labels': tensor([[0.],\n", + " [0.],\n", + " [0.],\n", + " ...,\n", + " [0.],\n", + " [0.],\n", + " [1.]], device='cuda:0'), 'n_system': tensor([[7.],\n", + " [7.],\n", + " [7.],\n", + " ...,\n", + " [7.],\n", + " [7.],\n", + " [7.]], device='cuda:0'), 'weight': tensor([1., 1., 1., ..., 1., 1., 1.], device='cuda:0'), 'batch': tensor([ 0, 0, 0, ..., 1279, 1279, 1279], device='cuda:0'), 'ptr': tensor([ 0, 7, 14, ..., 8946, 8953, 8960], device='cuda:0')}" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "pytorch_geometric", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.18" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}