Repository: CERN-IT-INNOVATION/QuASK (language: python)

Issue:
Corrected Python package configuration files. 
Problem: 
- Before, there was some redundancy and the package numbers of jax and jaxlib were not specified. 
- This led to issues in the installation process. 

Solution: 
- We removed the redundancy and fixed the versions. 


Discussion / hints:

Fix patch:
diff --git a/README.md b/README.md
index 6fcce85..e3cec8f 100644
--- a/README.md
+++ b/README.md
@@ -34,14 +34,7 @@ The documentation for QuASK can be accessed on the website [Read The Docs](https
 
 The software has been tested on Python 3.9.10. We recommend using this version or a newer one. 
 
-You can install the software directly from the repository using the command:
-
-```python3 -m pip install https://github.com/CERN-IT-INNOVATION/QuASK/releases/download/1.0.0-beta/quask-1.0.0b0-py3-none-any.whl```
-
-If the software shows dependencies related problems, download the repository and 
-from the main directory run the command:
-
-```python3 -m pip install -r requirements.txt```
+The library is available on the Python Package Index (PyPI) with ```pip install quask```.
 
 ## Usage
 
diff --git a/dist/quask-0.1.0-py3-none-any.whl b/dist/quask-0.1.0-py3-none-any.whl
deleted file mode 100644
index 85fde34..0000000
Binary files a/dist/quask-0.1.0-py3-none-any.whl and /dev/null differ
diff --git a/dist/quask-1.0.0-beta.tar.gz b/dist/quask-1.0.0-beta.tar.gz
deleted file mode 100644
index e6a1ac0..0000000
Binary files a/dist/quask-1.0.0-beta.tar.gz and /dev/null differ
diff --git a/dist/quask-1.0.0b0-py3-none-any.whl b/dist/quask-1.0.0b0-py3-none-any.whl
deleted file mode 100644
index e483135..0000000
Binary files a/dist/quask-1.0.0b0-py3-none-any.whl and /dev/null differ
diff --git a/dist/quask-1.0.0b0.tar.gz b/dist/quask-1.0.0b0.tar.gz
deleted file mode 100644
index fe77ab3..0000000
Binary files a/dist/quask-1.0.0b0.tar.gz and /dev/null differ
diff --git a/dist/quask-1.0.1-py3-none-any.whl b/dist/quask-1.0.1-py3-none-any.whl
new file mode 100644
index 0000000..6c12325
Binary files /dev/null and b/dist/quask-1.0.1-py3-none-any.whl differ
diff --git a/dist/quask-1.0.1.tar.gz b/dist/quask-1.0.1.tar.gz
new file mode 100644
index 0000000..1cf2110
Binary files /dev/null and b/dist/quask-1.0.1.tar.gz differ
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 0000000..f525457
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,20 @@
+[build-system]
+requires = [
+  "setuptools>=61.0",
+  "wheel"
+]
+build-backend = "setuptools.build_meta"
+
+[project]
+name = "quask"
+version = "1.0.3"
+authors = [
+  { name="Massimiliano Incudini", email="massimiliano.incudini@univr.it" },
+  { name="Francesco Di Marcantonio", email="francesco.di.marcantonio@cern.ch" },
+  { name="Michele Grossi", email="michele.grossi@cern.ch" },
+]
+dynamic = ["dependencies"]
+
+[project.urls]
+"Homepage" = "https://github.com/CERN-IT-INNOVATION/QuASK"
+"Bug Tracker" = "https://github.com/CERN-IT-INNOVATION/QuASK/issues"
\ No newline at end of file
diff --git a/requirements.txt b/requirements.txt
deleted file mode 100644
index ccb2ad2..0000000
--- a/requirements.txt
+++ /dev/null
@@ -1,72 +0,0 @@
-absl-py==1.1.0
-appdirs==1.4.4
-autograd==1.4
-autoray==0.3.1
-cachetools==5.2.0
-certifi==2022.5.18.1
-cffi==1.15.0
-charset-normalizer==2.0.12
-click==8.1.3
-cryptography==37.0.2
-cycler==0.11.0
-dill==0.3.5.1
-fastdtw==0.3.4
-flatbuffers==2.0
-fonttools==4.33.3
-future==0.18.2
-idna==3.3
-imbalanced-learn
-imblearn==0.0
-jax==0.3.13
-jaxlib==0.3.10
-joblib==1.1.0
-kiwisolver==1.4.2
-liac-arff==2.5.0
-matplotlib==3.5.2
-minio==7.1.9
-mpmath==1.2.1
-networkx
-ninja==1.10.2.3
-ntlm-auth==1.5.0
-numpy==1.21.6
-openml==0.12.2
-opt-einsum==3.3.0
-packaging==21.3
-pandas==1.3.5
-pbr==5.9.0
-PennyLane==0.23.1
-PennyLane-Lightning==0.23.0
-Pillow==9.1.1
-ply==3.11
-psutil==5.9.1
-pyarrow==8.0.0
-pycparser==2.21
-pyparsing==3.0.9
-python-constraint==1.4.0
-python-dateutil==2.8.2
-pytz==2022.1
-qiskit==0.36.2
-qiskit-aer==0.10.4
-qiskit-ibmq-provider==0.19.1
-qiskit-ignis==0.7.1
-qiskit-machine-learning==0.4.0
-qiskit-terra==0.20.2
-requests==2.27.1
-requests-ntlm==1.1.0
-retworkx==0.11.0
-scikit-learn
-scipy==1.7.3
-semantic-version==2.6.0
-six==1.16.0
-sklearn==0.0
-stevedore==3.5.0
-symengine==0.9.2
-sympy==1.10.1
-threadpoolctl==3.1.0
-toml==0.10.2
-tweedledum==1.1.1
-typing_extensions==4.2.0
-urllib3==1.26.9
-websocket-client==1.3.2
-websockets==10.3
-xmltodict==0.13.0
diff --git a/setup.cfg b/setup.cfg
new file mode 100644
index 0000000..53c95e5
--- /dev/null
+++ b/setup.cfg
@@ -0,0 +1,49 @@
+[metadata]
+name = quask
+version = 1.0.3
+author = M. Incudini, F Di Marcantonio, M. Grossi
+author_email = massimiliano.incudini@univr.it, francesco.di.marcantonio@cern.ch, michele.grossi@cern.ch
+description = Quantum Advantage Seeker with Kernels
+long_description = file: README.md
+long_description_content_type = text/markdown
+license_files = LICENSE
+url = https://github.com/CERN-IT-INNOVATION/QuASK
+classifiers =
+    License :: OSI Approved :: Apache Software License
+    Operating System :: Unix
+    Topic :: Scientific/Engineering :: Physics
+    Programming Language :: Python :: 3.9
+
+[options]
+zip_safe = False
+package_dir =
+    = src
+packages=find:
+python_requires = >=3.9
+install_requires =
+    matplotlib
+    numpy
+    scipy
+    click
+    scikit-learn
+    imbalanced-learn
+    prince
+    openml
+    jax==0.4.10
+    jaxlib==0.4.10
+    PennyLane
+    PennyLane-qiskit
+    simanneal
+    optax
+
+[options.packages.find]
+where = src
+
+[options.extras_require]
+demo =
+    jupyter
+docs =
+    sphinx>=4.5.0
+    sphinx-rtd-theme>=1.0.0
+    sphinxcontrib-napoleon>=0.7
+    sphinx-autoapi>=2.0.1
diff --git a/setup.py b/setup.py
index 26ecaeb..c3a5aae 100644
--- a/setup.py
+++ b/setup.py
@@ -2,27 +2,5 @@
 from setuptools import setup
 
 setup(
-    name='quask',
-    version='1.0.0-beta',
-    description='Quantum Advantage Seeker withKernels',
-    url='https://github.com/CERN-IT-INNOVATION/QuASK',
-    author='Massimiliano Incudini <massimiliano.incudini@univr.it>, Francesco Di Marcantonio <francesco.di.marcantonio@cern.ch>, Michele Grossi <michele.grossi@cern.ch>',
-    license='Apache License Version 2.0',
     packages=setuptools.find_packages(),
-    python_requires='>=3.7.0',
-    install_requires=[
-        'openml',
-        'numpy',
-        'scikit-learn',
-        'scipy',
-        'PennyLane',
-        'PennyLane-qiskit',
-        'jax'
-    ],
-    classifiers=[
-        'License :: OSI Approved :: Apache Software License',
-        'Operating System :: Unix',
-        'Topic :: Scientific/Engineering :: Physics',
-        'Programming Language :: Python :: 3.9',
-    ],
 )
diff --git a/quask/__init__.py b/src/quask/__init__.py
similarity index 100%
rename from quask/__init__.py
rename to src/quask/__init__.py
diff --git a/quask/__main__.py b/src/quask/__main__.py
similarity index 100%
rename from quask/__main__.py
rename to src/quask/__main__.py
diff --git a/quask/datasets.py b/src/quask/datasets.py
similarity index 100%
rename from quask/datasets.py
rename to src/quask/datasets.py
diff --git a/quask/kernels.py b/src/quask/kernels.py
similarity index 100%
rename from quask/kernels.py
rename to src/quask/kernels.py
diff --git a/quask/metrics.py b/src/quask/metrics.py
similarity index 100%
rename from quask/metrics.py
rename to src/quask/metrics.py
diff --git a/quask/resources/X_Q_Fashion-MNIST_720_2_E1 b/src/quask/resources/X_Q_Fashion-MNIST_720_2_E1
similarity index 100%
rename from quask/resources/X_Q_Fashion-MNIST_720_2_E1
rename to src/quask/resources/X_Q_Fashion-MNIST_720_2_E1
diff --git a/quask/resources/X_Q_Fashion-MNIST_720_4_E2 b/src/quask/resources/X_Q_Fashion-MNIST_720_4_E2
similarity index 100%
rename from quask/resources/X_Q_Fashion-MNIST_720_4_E2
rename to src/quask/resources/X_Q_Fashion-MNIST_720_4_E2
diff --git a/quask/resources/X_Q_Fashion-MNIST_720_8_E3 b/src/quask/resources/X_Q_Fashion-MNIST_720_8_E3
similarity index 100%
rename from quask/resources/X_Q_Fashion-MNIST_720_8_E3
rename to src/quask/resources/X_Q_Fashion-MNIST_720_8_E3
diff --git a/quask/resources/__init__.py b/src/quask/resources/__init__.py
similarity index 100%
rename from quask/resources/__init__.py
rename to src/quask/resources/__init__.py
diff --git a/quask/resources/y_Q_Fashion-MNIST_720_2_E1 b/src/quask/resources/y_Q_Fashion-MNIST_720_2_E1
similarity index 100%
rename from quask/resources/y_Q_Fashion-MNIST_720_2_E1
rename to src/quask/resources/y_Q_Fashion-MNIST_720_2_E1
diff --git a/quask/resources/y_Q_Fashion-MNIST_720_4_E2 b/src/quask/resources/y_Q_Fashion-MNIST_720_4_E2
similarity index 100%
rename from quask/resources/y_Q_Fashion-MNIST_720_4_E2
rename to src/quask/resources/y_Q_Fashion-MNIST_720_4_E2
diff --git a/quask/resources/y_Q_Fashion-MNIST_720_8_E3 b/src/quask/resources/y_Q_Fashion-MNIST_720_8_E3
similarity index 100%
rename from quask/resources/y_Q_Fashion-MNIST_720_8_E3
rename to src/quask/resources/y_Q_Fashion-MNIST_720_8_E3
diff --git a/quask/techniques/__init__.py b/src/quask/techniques/__init__.py
similarity index 100%
rename from quask/techniques/__init__.py
rename to src/quask/techniques/__init__.py
diff --git a/quask/techniques/combinatorial_kernel.py b/src/quask/techniques/combinatorial_kernel.py
similarity index 100%
rename from quask/techniques/combinatorial_kernel.py
rename to src/quask/techniques/combinatorial_kernel.py
diff --git a/quask/techniques/combinatorial_kernel_genetic.py b/src/quask/techniques/combinatorial_kernel_genetic.py
similarity index 100%
rename from quask/techniques/combinatorial_kernel_genetic.py
rename to src/quask/techniques/combinatorial_kernel_genetic.py
diff --git a/quask/techniques/combinatorial_kernel_greedy.py b/src/quask/techniques/combinatorial_kernel_greedy.py
similarity index 100%
rename from quask/techniques/combinatorial_kernel_greedy.py
rename to src/quask/techniques/combinatorial_kernel_greedy.py
diff --git a/quask/techniques/combinatorial_kernel_simanneal.py b/src/quask/techniques/combinatorial_kernel_simanneal.py
similarity index 100%
rename from quask/techniques/combinatorial_kernel_simanneal.py
rename to src/quask/techniques/combinatorial_kernel_simanneal.py
diff --git a/quask/techniques/random_kernel.py b/src/quask/techniques/random_kernel.py
similarity index 100%
rename from quask/techniques/random_kernel.py
rename to src/quask/techniques/random_kernel.py
diff --git a/quask/techniques/scrambled_kernel.py b/src/quask/techniques/scrambled_kernel.py
similarity index 100%
rename from quask/techniques/scrambled_kernel.py
rename to src/quask/techniques/scrambled_kernel.py
diff --git a/quask/techniques/trainable_kernel.py b/src/quask/techniques/trainable_kernel.py
similarity index 100%
rename from quask/techniques/trainable_kernel.py
rename to src/quask/techniques/trainable_kernel.py
diff --git a/quask/template_pennylane.py b/src/quask/template_pennylane.py
similarity index 100%
rename from quask/template_pennylane.py
rename to src/quask/template_pennylane.py
diff --git a/quask/template_qiskit.py_old b/src/quask/template_qiskit.py_old
similarity index 100%
rename from quask/template_qiskit.py_old
rename to src/quask/template_qiskit.py_old


Test patch:
diff --git a/test_francesco/test_projected.py b/test_francesco/test_projected.py
deleted file mode 100644
index 623fc86..0000000
--- a/test_francesco/test_projected.py
+++ /dev/null
@@ -1,4 +0,0 @@
-from quask.template_pennylane import pennylane_linear_projected_kernel
-import numpy as np
-
-X_1 = np.load('x_train_higgs_100_8')
\ No newline at end of file
diff --git a/test_francesco/x_train_higgs_100_8 b/test_francesco/x_train_higgs_100_8
deleted file mode 100644
index ea70022..0000000
--- a/test_francesco/x_train_higgs_100_8
+++ /dev/null
@@ -1,100 +0,0 @@
-3.576739829844483576e-01 2.686535690617495309e-01 4.155652966364679068e-01 1.225128217428192168e-01 3.320330575968894471e-01 6.034012262618098088e-01 -3.793946951863317874e-01 2.992057558466887368e-01
-4.425925792474083575e-01 2.713675105980234425e-01 6.127777378225375271e-01 3.372174082175608545e-01 4.473599914328617033e-01 5.482977667579296277e-01 5.157352705102622448e-01 8.555601734416086179e-01
-5.206127253584003078e-01 4.288984256307334930e-01 5.458686124941989348e-01 2.045989299616371437e-01 3.804610206985263865e-01 4.228543482955403610e-01 4.266076667979949999e-01 3.792731182920529021e-01
-5.146147023968236089e-01 3.739197138588384317e-01 5.888199292766255200e-01 1.639227842684169989e-01 4.219558983946193886e-01 1.987003395342177015e-01 5.883575640899441073e-01 6.574234517666316391e-01
-0.000000000000000000e+00 0.000000000000000000e+00 2.463532978838711696e-01 0.000000000000000000e+00 2.945556550728183343e-01 0.000000000000000000e+00 1.480937578294581891e-01 3.509449607318446684e-01
-1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 4.165137013975527824e-01 8.941269095289157143e-01 5.050187995844298561e-01 1.000000000000000000e+00 9.607070589805951633e-01
-3.938393298446076773e-01 0.000000000000000000e+00 4.072690392001695470e-01 2.239019759531733211e-01 6.590048144616308390e-01 0.000000000000000000e+00 3.898683592054933422e-01 5.801877789838457700e-01
-2.670179744997827065e-01 2.809564645273678885e-01 3.147478384131706108e-01 1.709641674502915265e-01 3.677087662896926790e-01 7.350936023367237171e-01 5.766485148901703481e-04 4.659110618364610268e-01
-7.198976890070848400e-01 3.282690798077935179e-01 7.227696623319662672e-01 2.888032160843395091e-01 4.924522899429867873e-01 8.576331123422189506e-01 -3.019574878922430816e-01 4.846914852243769944e-01
-3.408177486661327360e-01 3.344800391485079905e-01 3.351749066801876231e-01 2.688330638815509266e-01 2.389333606656867393e-01 2.079155583482870662e-01 -1.789020364954737596e-01 3.416647608212355913e-01
-4.421879958282401990e-01 4.433068499079281799e-01 4.612216598297219083e-01 1.779587953557993651e-01 3.957509522226589360e-01 2.858899515802113545e-01 -1.938125138237695999e-01 4.215795492143466494e-01
-4.397970864278399339e-01 3.780394523744990409e-01 5.146180895187594251e-01 5.214932752223411239e-01 3.906666084637233638e-01 3.370554476254504217e-01 -4.636582874867538617e-01 3.713960946615044167e-01
-3.610581019685646931e-01 3.515405971128970353e-01 5.006569921133954271e-01 1.209919834656375953e-01 3.657268697080530706e-01 7.654452751296635382e-01 3.244212187733229169e-01 9.679203840326915387e-01
-4.687839275423866803e-01 4.381083920004992249e-01 4.798109736577533813e-01 1.869473574534774307e-01 4.116621425916629495e-01 2.599397298767781028e-01 2.649948339113945561e-01 5.004225752712201380e-01
-2.597719864141975199e-01 0.000000000000000000e+00 3.099706845836227576e-01 8.320221932740115567e-02 2.353574911663163238e-01 0.000000000000000000e+00 -2.526262153786021925e-01 4.880255634820666599e-01
-3.163472388680386715e-01 3.058689404350729002e-01 3.413337053869334725e-01 1.324930777126293036e-01 2.749984454789424215e-01 1.760682479614263662e-01 3.390531448880271803e-01 3.040034073033544559e-01
-5.070522384443520991e-01 3.491255482545218003e-01 6.424240795617269795e-01 1.754451352956950261e-01 4.902793364424801181e-01 2.979302599460082468e-01 -2.058098460618712766e-01 4.746148063873877332e-01
-5.976023563435325370e-01 6.168957856662955486e-01 6.089779444874354741e-01 7.304645658245266793e-01 4.883204436320457975e-01 8.054106676998271652e-01 3.179646760117555565e-02 4.264055561682639217e-01
-4.186943259046951304e-01 3.937207071746378628e-01 4.218503292428431584e-01 5.813524456306510269e-01 2.828518976383998518e-01 2.420149392140254208e-01 1.010270019134864791e-02 2.908962310697307263e-01
-4.217973331848980934e-01 4.497780057034320156e-01 4.310604253395614038e-01 1.329929157176470145e-01 3.032069769417420346e-01 4.336609536047208446e-01 4.323955693178861970e-01 6.137996946777573015e-01
-3.236566091007879731e-01 2.640207988717547249e-01 3.502233431283321430e-01 1.251963335996873761e-01 2.797616982027695265e-01 1.351365866358255896e-01 -4.432995602145954617e-02 3.187415615549377135e-01
-2.837111950918952408e-01 2.775139596541970066e-01 3.733498494100657150e-01 2.512121859713193905e-01 2.517704267599965573e-01 1.483170358101553177e-01 3.357033627229583095e-02 2.687771728089065615e-01
-3.795555316446668770e-01 0.000000000000000000e+00 5.171562036688748254e-01 1.808285281762912478e-01 3.929447276691087065e-01 0.000000000000000000e+00 -4.429757320189912084e-01 4.227006506962623922e-01
-4.736402331792075038e-01 3.297235206254848228e-01 4.779235234307692703e-01 1.852117630336936327e-01 4.032623508660801992e-01 8.108387358574068449e-01 4.642643672738816507e-01 6.114083133558164684e-01
-4.193684348768861314e-01 3.317901708410065376e-01 5.193001105543836315e-01 2.487962010576371397e-01 3.561623256011874905e-01 2.748725495984277734e-01 -7.853580211919139117e-03 4.058595459637676650e-01
-3.501846080749942414e-01 3.679258114816833514e-01 4.176608273565925455e-01 1.582307680027480179e-01 3.932901375374282527e-01 1.908927455265218842e-01 -2.199105723949158764e-01 5.089033939527620731e-01
-5.233339487764154807e-01 4.315391195604533214e-01 5.142530339173603249e-01 7.932756619371021944e-01 3.787220769155036360e-01 1.000000000000000000e+00 4.344491286482417003e-01 3.057846665544443066e-01
-3.901381292833037140e-01 4.106482655238669621e-01 4.209802180772342917e-01 1.379281231232817595e-01 2.883305048377794444e-01 5.045104027371065669e-01 2.536606364746312736e-01 3.346849260203045295e-01
-3.091215187809953080e-01 2.899731155751734124e-01 4.344836763582350936e-01 2.674885942190349808e-01 3.454371902047586596e-01 1.596113310243601757e-01 -4.323405750832555183e-01 5.194290009693690591e-01
-2.610132110697254149e-01 2.772822465375833212e-01 3.681045594580861779e-01 2.663951570094237886e-01 2.529037354198879206e-01 1.534719876815891226e-01 3.328537783927291160e-01 2.073370792386679540e-01
-4.806969134991020409e-01 3.977805278881060280e-01 4.750431471607749478e-01 2.971719092602902457e-01 3.350443140565917965e-01 2.858929665110100937e-01 2.706398356574915565e-01 3.700760693534250190e-01
-4.215207876047941116e-01 4.306761307835517694e-01 4.642749366536157996e-01 1.339779096068769992e-01 3.099280822030734961e-01 5.598308378651718487e-01 1.413285644386821638e-01 4.138419231818524779e-01
-5.959514696209260443e-01 3.039667574574452802e-01 6.159852005523460683e-01 1.894705806546448101e-01 4.200967147631294862e-01 2.001990417555988555e-01 -6.173143752041224674e-01 3.687577564039308808e-01
-8.602037398231350274e-01 4.589894310567597113e-01 8.706272580167523367e-01 3.092013188496991472e-01 5.849367930167773677e-01 3.532989670979608254e-01 8.733229466031252608e-01 4.504025203596533355e-01
-3.061234391622088546e-01 0.000000000000000000e+00 3.161979537091982317e-01 1.568847462578619179e-01 2.366356529247528595e-01 0.000000000000000000e+00 8.255333327637358332e-02 4.046688182403919143e-01
-5.738419875150371219e-01 3.420573697537189206e-01 6.177711897951423392e-01 7.666602835270808214e-01 4.543950235855389597e-01 1.784679837872261976e-01 6.111323373079202703e-01 7.488459864056141724e-01
-3.231026792647782586e-01 3.258476644756933549e-01 3.362582268722790757e-01 2.078074409103925213e-01 2.493793888722357910e-01 1.696586044766620061e-01 9.701981037939765018e-02 3.947332203370154113e-01
-4.466987049106145302e-01 3.782791235832689281e-01 6.363647923966704312e-01 5.546842000174141418e-01 4.468270969036610141e-01 2.053297085251044596e-01 6.299788735496022474e-01 3.762558553956709129e-01
-8.676605616866552850e-01 7.040544025790584914e-01 8.691370441881031139e-01 7.862751341905352964e-01 1.000000000000000000e+00 3.979675191897032449e-01 6.374425659226841123e-01 9.444059276630077937e-01
-3.989561530350994034e-01 0.000000000000000000e+00 4.521754068771412505e-01 1.883537561665871440e-01 2.978685121710362704e-01 0.000000000000000000e+00 2.322569585757431887e-01 4.598112922792944035e-01
-0.000000000000000000e+00 0.000000000000000000e+00 2.961549855972189227e-01 0.000000000000000000e+00 1.950804786543060831e-01 0.000000000000000000e+00 -1.991713078832370032e-01 2.603108946638262866e-01
-2.513570240403001921e-01 2.647198675295979742e-01 3.627962875176957147e-01 2.707456342525799697e-01 3.215129541066128471e-01 1.728553587943245373e-01 3.412385941115013699e-01 4.544337607457756834e-01
-6.533887720817126432e-01 4.886475494282077614e-01 6.413033600650885901e-01 2.420993030398217727e-01 6.751557386715063558e-01 4.682023531435490771e-01 1.935699284786139840e-01 7.187626903184987093e-01
-3.553175214160525508e-01 3.141228083497098478e-01 3.712108011350913617e-01 1.280481740917387423e-01 3.223600699440262729e-01 1.995065353429072985e-01 -6.128418893491931890e-02 5.071931250253951529e-01
-5.224740886451745281e-01 4.625544573904182277e-01 5.629468084717133003e-01 4.115554826837351521e-01 4.113980310342071345e-01 4.167300961723167663e-01 -1.985210040671666065e-01 4.068048259489078777e-01
-4.133865641900094090e-01 4.303830077224662931e-01 4.123822469250243983e-01 1.796318823091993255e-01 2.743409733594346367e-01 2.682989071306559059e-01 1.847539660831180614e-03 7.009407523929486183e-01
-5.070768706632695633e-01 4.214601295272342729e-01 5.832331869731893770e-01 2.667648032603524011e-01 4.749264389644000661e-01 7.341881954260915943e-01 5.660684729966274364e-01 5.451656344143442912e-01
-4.791178733368437470e-01 3.545210021015332003e-01 5.738521097736469789e-01 2.204200478604361468e-01 4.004848613987455064e-01 1.812080257855435417e-01 4.880855050841387821e-01 3.476717147384735251e-01
-8.699134933866374819e-01 5.431137932239630262e-01 8.576659846817007438e-01 1.000000000000000000e+00 5.736254540104366306e-01 5.990886824997579962e-01 3.342996333797916275e-01 1.000000000000000000e+00
-6.071934528121234464e-01 4.072557308376933416e-01 6.465708736615503049e-01 2.693511123436937438e-01 5.278271438533373994e-01 9.941351975810051034e-01 -3.158512111728067895e-02 5.151532125588441646e-01
-3.047562422950543248e-01 0.000000000000000000e+00 4.289493590622953656e-01 2.946203822464604771e-01 2.872631455560875069e-01 0.000000000000000000e+00 2.800055222875868499e-01 6.173084625341745957e-01
-0.000000000000000000e+00 0.000000000000000000e+00 3.814675978963535941e-01 0.000000000000000000e+00 2.920711300159016255e-01 0.000000000000000000e+00 1.091069877184757363e-02 3.165343603615108359e-01
-2.503508615747573329e-01 0.000000000000000000e+00 3.472047663809104123e-01 8.153426099400676308e-02 3.275487550406130377e-01 0.000000000000000000e+00 -2.952240936841828978e-01 2.924951966890531052e-01
-4.294236918086348220e-01 4.443566880569130850e-01 4.314619205199696772e-01 1.345194128293084879e-01 2.918168912373846346e-01 4.415461572321530692e-01 2.199097149902731196e-01 2.970204960615752676e-01
-3.609704758783172096e-01 3.268636475742972558e-01 3.724953037930212596e-01 2.733982876270461548e-01 3.431612693119799884e-01 1.950061382003195620e-01 -1.483438943523448239e-01 3.068722754633526062e-01
-3.207829019971915052e-01 0.000000000000000000e+00 3.358507034158371152e-01 1.138386961089044302e-01 2.387753569470839332e-01 0.000000000000000000e+00 -3.211437970474473880e-01 2.027139142195417965e-01
-4.738017559262074907e-01 3.511686889394655120e-01 4.935339091726548277e-01 4.315187324580951334e-01 3.397169452687680558e-01 4.684244309583166510e-01 9.768648761570751515e-02 2.608144732030392987e-01
-0.000000000000000000e+00 0.000000000000000000e+00 2.530490330375319008e-01 0.000000000000000000e+00 1.941898676317468375e-01 0.000000000000000000e+00 -1.949335929574647908e-01 2.930055956395804517e-01
-0.000000000000000000e+00 0.000000000000000000e+00 2.706036727616636384e-01 0.000000000000000000e+00 2.859462385379588079e-01 0.000000000000000000e+00 -5.921759931032175711e-02 2.847374576989383232e-01
-2.789704092812461678e-01 0.000000000000000000e+00 3.055485692201744263e-01 1.675063785765280033e-01 3.261814045992782463e-01 0.000000000000000000e+00 -3.260962189117110055e-02 3.564241889515141204e-01
-2.746028031403003888e-01 2.867111267590782275e-01 4.139873878868121082e-01 1.209750744440402370e-01 5.086360710752151348e-01 2.277161826311228099e-01 -1.524727339306725937e-01 4.635574394724774616e-01
-0.000000000000000000e+00 0.000000000000000000e+00 2.432625317811612231e-01 0.000000000000000000e+00 1.656352589557292809e-01 0.000000000000000000e+00 -1.799977695445538761e-01 2.704396117879925843e-01
-0.000000000000000000e+00 0.000000000000000000e+00 3.349644268732028252e-01 0.000000000000000000e+00 2.440404530345428591e-01 0.000000000000000000e+00 -1.846444815271116868e-01 2.536388490628464498e-01
-3.218093479923095357e-01 2.880774648648573577e-01 3.919110612746966593e-01 4.212627649616691450e-01 8.199820649095763692e-01 5.327744844352375608e-01 -2.949029730821873807e-01 7.431866122581656242e-01
-0.000000000000000000e+00 0.000000000000000000e+00 2.479642121945965783e-01 0.000000000000000000e+00 1.810200908499791372e-01 0.000000000000000000e+00 -7.306122176762059814e-03 4.988081403785763479e-01
-2.664435747617974193e-01 2.822640122273433194e-01 3.030020874630273142e-01 1.295310490125632652e-01 2.451644581214382501e-01 5.525178084673436629e-01 -1.798503824385719319e-02 3.693653244484173537e-01
-3.344883555766722250e-01 3.250944310531122539e-01 5.130723315746162916e-01 3.468953069733576311e-01 3.449859080310797577e-01 8.433980006171662991e-01 3.442461890920801015e-01 4.564849631697788790e-01
-3.574630715513464896e-01 0.000000000000000000e+00 4.003558362379526780e-01 1.123440504267513157e-01 2.894183359056207716e-01 0.000000000000000000e+00 -5.194260270835173755e-03 4.202107071750726952e-01
-3.745295339372958776e-01 3.836159859767805380e-01 3.944754179199832511e-01 1.191855813128819969e-01 2.696957032880946681e-01 5.319469687587569107e-01 4.418701012110524962e-02 4.172507357337311151e-01
-2.926152297064684160e-01 0.000000000000000000e+00 3.448731431785138080e-01 1.046604136320724854e-01 2.293433593137244875e-01 0.000000000000000000e+00 -2.827580619502231274e-01 2.482360094498975434e-01
-6.806998457582014161e-01 5.756433570389424270e-01 8.059566325222312644e-01 2.208803897072529610e-01 8.128189417919796655e-01 4.313435651470554077e-01 -1.747675109705676133e-01 8.892206156364459435e-01
-3.715808430046113608e-01 2.719562104652758494e-01 4.121219813557718825e-01 2.671034271444052144e-01 4.198030044966484242e-01 1.983104857901673013e-01 4.085834869040315676e-01 7.044070305380288888e-01
-3.241034369307099761e-01 3.450914587056919114e-01 3.211521469090269365e-01 2.110634590760417095e-01 2.185165912148205325e-01 4.751904657683763133e-01 -1.662530466444973043e-01 2.563091416730033378e-01
-3.436424398284280701e-01 0.000000000000000000e+00 3.937636014852472499e-01 1.538970262564521296e-01 4.013199454001957212e-01 0.000000000000000000e+00 -3.512192955876332623e-01 3.823365568241843260e-01
-3.883705423759896691e-01 4.140715714997110775e-01 5.414821269413373495e-01 1.748480559560977865e-01 3.709711014535400087e-01 2.224501421556437097e-01 -3.731255329446753199e-01 4.180102103008526693e-01
-2.547260002668852996e-01 0.000000000000000000e+00 2.748597556070914716e-01 3.549758912442579906e-01 1.879118597551927561e-01 0.000000000000000000e+00 2.750740617105108532e-01 2.837988530099780915e-01
-2.797132586071123250e-01 2.895498777073346464e-01 3.262423512124002500e-01 1.079210591240424982e-01 3.235614085279768792e-01 1.825856669394682052e-01 2.100671459147466710e-02 3.424278922897426858e-01
-3.308947229524569211e-01 3.367155003938924196e-01 3.956715058627533477e-01 5.053803079963823386e-01 3.104086490411195887e-01 3.629775575840186730e-01 3.532648223902828954e-01 7.136593973658700296e-01
-0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 2.395969762838184858e-01 0.000000000000000000e+00 0.000000000000000000e+00 4.861543908937350777e-01
-2.698691926670661045e-01 0.000000000000000000e+00 5.733585709158894872e-01 1.958751087710893235e-01 3.949785593860803967e-01 0.000000000000000000e+00 -3.100011355346751329e-03 3.641343011545359887e-01
-3.478917616192630513e-01 2.752840524939633160e-01 4.328488438876250122e-01 2.398930709721573129e-01 2.859929134252678362e-01 1.821217651697568385e-01 4.339569482989212301e-01 3.341904316885016546e-01
-2.506433575261275415e-01 0.000000000000000000e+00 2.474759068401618523e-01 8.206574798300629581e-02 2.983241517143462307e-01 0.000000000000000000e+00 2.302578218769231466e-01 2.588177470004701664e-01
-0.000000000000000000e+00 0.000000000000000000e+00 2.374760915873278533e-01 0.000000000000000000e+00 1.731387083437425922e-01 0.000000000000000000e+00 -8.331808557006638305e-02 3.833362840077317313e-01
-0.000000000000000000e+00 0.000000000000000000e+00 4.944005113417664909e-01 0.000000000000000000e+00 4.161995775785303775e-01 0.000000000000000000e+00 4.422708852338915753e-01 5.041111698021210064e-01
-2.847132884266963537e-01 0.000000000000000000e+00 3.093355562176328677e-01 1.896702497853884617e-01 3.083991165295678627e-01 0.000000000000000000e+00 -2.244277711498560424e-01 4.619485479779656956e-01
-3.016953862394050612e-01 3.180996659524499837e-01 3.124610223968149469e-01 3.462579698947692020e-01 2.445058672178359871e-01 3.374636891342622791e-01 -2.997626222598852030e-01 7.041080353152191496e-01
-2.493514240466616905e-01 0.000000000000000000e+00 3.269681436502788752e-01 4.260630761647886677e-01 2.848446287607436789e-01 0.000000000000000000e+00 -3.139600397691349465e-01 3.531369828822187307e-01
-3.769927558290453451e-01 2.927149104339938912e-01 5.220546428132483152e-01 1.188363627796071575e-01 3.458808175398966345e-01 6.045056186051578351e-01 -2.688240030459826402e-01 3.356184226565356865e-01
-2.991494150018848552e-01 3.102401546628683615e-01 4.601241836859494838e-01 2.068229772356368068e-01 3.183235754423986430e-01 3.968612383732175730e-01 4.255736067144470502e-01 3.488934100315190245e-01
-2.506590128077598734e-01 0.000000000000000000e+00 3.063842202406955595e-01 8.350956055747250917e-02 2.184397484125435163e-01 0.000000000000000000e+00 3.024032480533605516e-01 4.995980310778571631e-01
-3.113123574095826851e-01 0.000000000000000000e+00 3.529755060647755682e-01 9.818807590450154277e-02 2.805636308649999133e-01 0.000000000000000000e+00 -1.867812542343755544e-01 2.560160671476749417e-01
-2.682852757603310656e-01 0.000000000000000000e+00 2.680860727449164149e-01 2.258025923978735638e-01 1.981996879652277166e-01 0.000000000000000000e+00 -2.687441892032719215e-01 2.385083325110142483e-01
-0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.635983260477589796e-01 0.000000000000000000e+00 0.000000000000000000e+00 6.905815053663576508e-01
-3.567099717434591422e-01 3.700981716880127892e-01 5.362936107531968144e-01 1.172609509726292853e-01 3.658367460828031992e-01 7.431944232129262806e-01 1.369787701796951751e-01 2.995477922183460429e-01
-5.364071029255248479e-01 5.689565037872892361e-01 5.673363531497261913e-01 1.686016859971938286e-01 3.853471237670410554e-01 7.454485975171415424e-01 3.755980472594218633e-01 4.838706850014801719e-01
-4.208125103591992544e-01 3.670667354334252175e-01 5.481338046945334330e-01 3.775314463456500014e-01 5.153110902829715068e-01 3.896471384629167090e-01 5.486643019546900701e-01 5.033726498603992017e-01
-4.102215880866785791e-01 3.959058003284172123e-01 5.511646779254069095e-01 1.953791172310757884e-01 3.708830511825272902e-01 2.424955390620066598e-01 -5.384977693038789370e-01 2.969453844680369214e-01
-4.840377630242624352e-01 4.209387086974188397e-01 6.652993177011238268e-01 1.696730277236230544e-01 4.372583917050756330e-01 5.826115887181156916e-01 -6.458625201896229795e-01 4.058824161089408245e-01
-3.581395101785422863e-01 2.932250572999214877e-01 3.940820204237991953e-01 1.472698177010810516e-01 2.779205721391199146e-01 7.079643273387894453e-01 9.808726975827325445e-03 4.419798057779041889e-01
-5.075653837867442064e-01 5.331006564033362594e-01 8.191939469150611997e-01 1.781334383633578766e-01 6.586698858337751705e-01 2.704504246977300075e-01 -8.143309800935311094e-01 5.908366758185944478e-01